基于SIP协议实现终端注册的方法技术

技术编号:15695510 阅读:46 留言:0更新日期:2017-06-24 10:59
本发明专利技术提供一种基于SIP协议实现注册的方法,其包括:1)客户端发送REGISTER请求;2)服务器判断收到请求是否含有密文字段,若有,执行3),否则执行7);3)服务器判断发送请求用户是否存在,若存在,执行4),否则执行5);4)服务器判断发送请求用户是否激活,若激活,执行7),否则执行5);5)服务器产生一对公私钥预建账号,并响应收到的请求;6)客户端判断收到的响应是否含有公钥字段,若有,获取公钥并加密用户密码,重构REGISTER请求并发送,返回2),否则执行7);7)按照标准SIP完成注册认证流程。本发明专利技术可实现终端在本机自主开通用户账号,提高了工作效率,可用于网络认证注册技术领域。

【技术实现步骤摘要】
基于SIP协议实现终端注册的方法
本专利技术涉及网络认证注册
,尤其是一种实现终端注册的方法,可用于语音、视频、数据等多媒体业务。
技术介绍
在SIP协议中,网元地址采用SIPURI标识。SIPURI格式类似于E-mail地址,即user@host,包含用户逻辑账号和主机名两个部分,主机名可以是DNS域名或IP地址。SIP协议采用逻辑账号和物理联系地址相分离的机制。逻辑账号用于标识用户,物理联系地址用于表明用户当前的位置,即当前的实际地址。SIP使用逻辑账号来映射物理联系地址,这样用户发起呼叫时,不需要知道目标的真正地址,就可以达到呼叫的目的,可以很方便实现终端的移动性。注册机制用来实现逻辑账号与物理地址的绑定。在SIP网元中,所有用户代理UA都必须在服务器上完成位置注册,以便终端发起呼叫请求时服务器能够查找到被呼方的地址。按照标准SIP协议规定的注册流程,客户端在登录服务器时需要通过用户名和密码验证来确保UA的合法身份标识,所以要求系统管理员或运维系统,预先在服务器配置文件或数据库中添加所有合法的账号和密码。因此,当向系统中添加新的终端设备时,必须同时在服务器上开通新设备的用户账户信息,由此带来管理上的复杂度,增加了不必要的麻烦。
技术实现思路
本专利技术的目的在于针对SIP协议存在的不足,提出一种基于SIP协议实现终端注册的方法,以降低管理复杂度,简化添加新设备的操作复杂度,提升用户的使用体验,提高工作效率。本专利技术是在标准SIP注册流程的基础上,通过扩展SIP消息头域,利用新增字段,修改SIP服务器对REGISTER请求的处理流程,实现终端设备在本机自主开通用户账号的功能。其实现方案如下:(1)客户端发送注册REGISTER请求;(2)服务器收到REGISTER请求后,判断请求消息头域中是否含有新增字段,即密文类型字段,如果是,则在配置文件或数据库中查找此用户私钥,并用私钥对密文类型字段值进行解密,获取用户密码,将该用户密码写入用户配置文件或数据库中,再清除掉该用户私钥,执行步骤(7),否则,执行步骤(3);(3)在配置文件或数据库中检查判断该用户是否存在,如果是,则执行步骤(4),否则,执行步骤(5);(4)判断该用户是否激活,如果是,即用户密码不为空,则执行步骤(7),否则,执行步骤(5),更新私钥;(5)选取任意一种非对称加解密算法产生一对公私钥,预建账号,插入包括私钥在内的账户信息,且使该账户处于非激活状态,即用户密码为空;再向客户端发送SIP403Forbidden响应,拒绝执行REGISTER请求,并在该SIP403Forbidden响应中添加公钥类型的新增字段,并把公钥赋值给该公钥类型字段;(6)客户端收到403Forbidden响应后,判断响应消息头域中是否含有公钥类型字段,如果是,则获取响应中的公钥,对该用户密码进行加密,生成密文,并在REGISTER请求中添加密文类型字段,把密文赋值该密文类型字段,得到重新构造的REGISTER请求,发送新构的REGISTER请求,返回步骤(2),否则,按照SIP请求/应答标准,客户端自动挂断;(7)按照标准SIP的注册认证流程完成注册。本专利技术与现有技术相比,具有以下优点:本专利技术由于终端设备只需本地设置用户账号和密码,而无需手动修改服务器的配置,就可以直接注册和登录到服务器上并使用通话功能,实现终端设备在本机自主开通用户账号的功能,因此简化了添加新设备的操作复杂度,提升了用户的使用体验,提高了工作效率;同时由于本专利技术通过非对称加解密算法对密码进行加密,避免了密码作为明文在网络上传递,保证了通信的安全性。附图说明图1是本专利技术的消息交互图。图2是本专利技术中新构的403Forbidden响应抓包图。图3是本专利技术中新构的REGISTER请求抓包图。图4是利用Wireshark软件对本专利技术进行实验的消息抓包图。具体实施方式下面结合对本专利技术做进一步的详细描述。参照图1,本专利技术的实现包括客户端处理数据包和服务器处理数据包两部分,其步骤如下:步骤1,客户端发送注册REGISTER请求。注册REGISTER请求包括:SIP的消息路由Via,用户代理UA地址To和From,本次会话Session的标志Call-ID,消息序号CSeq,用户代理的地址和端口Contact,消息最多可以转发次数Max-forwards,本次注册的有效期Expires,消息体Body的长度Content-Length;客户端通过发送注册REGISTER请求,将用户的注册信息发往服务器。步骤2,服务器对收到的消息进行判断。服务器收到REGISTER请求后,判断请求消息头域中是否含有新增字段,即密文类型字段Cipher-Text:如果有,则在配置文件或数据库中查找此用户私钥,并用该私钥对密文类型字段值进行解密,获取用户密码,并将该用户密码写入用户配置文件或数据库中,再清除掉该用户私钥,执行步骤7;如果没有,则执行步骤3。步骤3,服务器判断发送请求用户的存在状况。服务器在配置文件或数据库中检查判断发送该REGISTER请求的用户是否存在:如果存在,则执行步骤4;否则,执行步骤5。步骤4,服务器判断发送请求用户的激活状况。服务器判断发送该REGISTER请求的用户是否激活,即在配置文件或数据库中判断该用户密码是否为空,若为非空,则表示激活,执行步骤7;否则,没有激活,执行步骤5。步骤5,服务器产生一对公私钥,预建账号,并对收到的消息进行响应。(5a)通过非对称加解密算法产生一对公私钥,预建账号,插入包括私钥在内的账户信息,且使该账户处于非激活状态,即用户密码为空,所述非对称加解密算法,包括RSA算法、Elgamal加密算法和椭圆曲线加密算法ECC,本实例选取但不限于最常用的RSA算法;所述账户信息包括用户名,密码,用户私钥;(5b)向客户端发送SIP403Forbidden响应,拒绝执行REGISTER请求,并在该SIP403Forbidden响应中新增公钥类型字段RSA-Pubkey,把公钥赋值给该公钥类型字段RSA-Pubkey,如图2所示,由图2可见,SIP403Forbidden响应中包含赋有公钥的新增公钥类型字段RSA-Pubkey。步骤6,客户端对收到的消息进行判断。客户端收到403Forbidden响应后,判断响应消息头域中是否含有新增字段,即公钥类型字段RSA-Pubkey:如果有,则获取响应中的公钥,对该用户密码进行加密,生成密文,并在REGISTER请求中添加密文类型字段Cipher-Text,把密文赋值该密文类型字段Cipher-Text,得到重新构造的REGISTER请求,如图3所示,由图3可见,REGISTER请求中包含赋有密文的新增密文类型字段Cipher-Text,发送新构的REGISTER请求,返回步骤2;如果没有,则按照SIP请求/应答标准,客户端自动挂断。步骤7,按照标准SIP的注册认证流程完成注册。标准SIP的认证注册流程中所需的SIP消息包括:注册REGISTER请求、401Unauthorized响应、403Forbidden响应和200OK响应,其中:注册REGISTER请求,表示用户代理UA的注册请求,401Unauthorized响应,表示服本文档来自技高网...
基于SIP协议实现终端注册的方法

【技术保护点】
基于SIP协议实现终端注册的方法,包括以下步骤:(1)客户端发送注册REGISTER请求;(2)服务器收到REGISTER请求后,判断请求消息头域中是否含有新增字段,即密文类型字段,如果是,则在配置文件或数据库中查找此用户私钥,并用私钥对密文类型字段值进行解密,获取用户密码,将该用户密码写入用户配置文件或数据库中,再清除掉该用户私钥,执行步骤(7),否则,执行步骤(3);(3)在配置文件或数据库中检查判断该用户是否存在,如果是,则执行步骤(4),否则,执行步骤(5);(4)判断该用户是否激活,如果是,即用户密码不为空,则执行步骤(7),否则,执行步骤(5),更新私钥;(5)选取任意一种非对称加解密算法产生一对公私钥,预建账号,插入包括私钥在内的账户信息,且使该账户处于非激活状态,即用户密码为空;再向客户端发送SIP 403 Forbidden响应,拒绝执行REGISTER请求,并在该SIP 403 Forbidden响应中添加公钥类型的新增字段,并把公钥赋值给该公钥类型字段;(6)客户端收到403 Forbidden响应后,判断响应消息头域中是否含有公钥类型字段,如果是,则获取响应中的公钥,对该用户密码进行加密,生成密文,并在REGISTER请求中添加密文类型字段,把密文赋值该密文类型字段,得到重新构造的REGISTER请求,发送新构的REGISTER请求,返回步骤(2),否则,按照SIP请求/应答标准,客户端自动挂断;(7)按照标准SIP的注册认证流程完成注册。...

【技术特征摘要】
1.基于SIP协议实现终端注册的方法,包括以下步骤:(1)客户端发送注册REGISTER请求;(2)服务器收到REGISTER请求后,判断请求消息头域中是否含有新增字段,即密文类型字段,如果是,则在配置文件或数据库中查找此用户私钥,并用私钥对密文类型字段值进行解密,获取用户密码,将该用户密码写入用户配置文件或数据库中,再清除掉该用户私钥,执行步骤(7),否则,执行步骤(3);(3)在配置文件或数据库中检查判断该用户是否存在,如果是,则执行步骤(4),否则,执行步骤(5);(4)判断该用户是否激活,如果是,即用户密码不为空,则执行步骤(7),否则,执行步骤(5),更新私钥;(5)选取任意一种非对称加解密算法产生一对公私钥,预建账号,插入包括私钥在内的账户信息,且使该账户处于非激活状态,即用户密码为空;再向客户端发送SIP403Forbidden响应,拒绝执行REGISTER请求,并在该SIP403Forbidden响应中添加公钥类型的新增字段,并把公钥赋值给该公钥类型字段;(6)客户端收到403Forbidden响应后,判断响应消息头域中是否含有公钥类型字段,如果是,则获取响应中的公钥,对该用户密码进行加密,生成密文,并在REGISTER请求中添加密文类型字段,把密文赋值该密文类型字段,得到重新构造的REGISTER请求,发送新构的REGISTER请求,返回步骤(2),否则,按照SIP请求/应答标准,客户端自动挂断;(7)按照标准SIP的注册认证流程完成注册。2.根据权利要求1所述的方法,其中按照标准SIP的注册认证...

【专利技术属性】
技术研发人员:张岗山亓振刘炯冯磊吴炜赵林靖
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1