CN106878305B - 基于sip协议实现终端注册的方法 - Google Patents

基于sip协议实现终端注册的方法 Download PDF

Info

Publication number
CN106878305B
CN106878305B CN201710082298.9A CN201710082298A CN106878305B CN 106878305 B CN106878305 B CN 106878305B CN 201710082298 A CN201710082298 A CN 201710082298A CN 106878305 B CN106878305 B CN 106878305B
Authority
CN
China
Prior art keywords
response
user
client
server
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710082298.9A
Other languages
English (en)
Other versions
CN106878305A (zh
Inventor
张岗山
亓振
刘炯
冯磊
吴炜
赵林靖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian University of Electronic Science and Technology
Original Assignee
Xian University of Electronic Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian University of Electronic Science and Technology filed Critical Xian University of Electronic Science and Technology
Priority to CN201710082298.9A priority Critical patent/CN106878305B/zh
Publication of CN106878305A publication Critical patent/CN106878305A/zh
Application granted granted Critical
Publication of CN106878305B publication Critical patent/CN106878305B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1073Registration or de-registration

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

基于SIP协议实现终端注册的方法
技术领域
本发明涉及网络认证注册技术领域,尤其是一种实现终端注册的方法,可用于语音、视频、数据等多媒体业务。
背景技术
在SIP协议中,网元地址采用SIP URI标识。SIP URI格式类似于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)选取任意一种非对称加解密算法产生一对公私钥,预建账号,插入包括私钥在内的账户信息,且使该账户处于非激活状态,即用户密码为空;再向客户端发送SIP 403Forbidden响应,拒绝执行REGISTER请求,并在该SIP 403 Forbidden响应中添加公钥类型的新增字段,并把公钥赋值给该公钥类型字段;
(6)客户端收到403 Forbidden响应后,判断响应消息头域中是否含有公钥类型字段,如果是,则获取响应中的公钥,对该用户密码进行加密,生成密文,并在REGISTER请求中添加密文类型字段,把密文赋值该密文类型字段,得到重新构造的REGISTER请求,发送新构的REGISTER请求,返回步骤(2),否则,按照SIP请求/应答标准,客户端自动挂断;
(7)按照标准SIP的注册认证流程完成注册。
本发明与现有技术相比,具有以下优点:
本发明由于终端设备只需本地设置用户账号和密码,而无需手动修改服务器的配置,就可以直接注册和登录到服务器上并使用通话功能,实现终端设备在本机自主开通用户账号的功能,因此简化了添加新设备的操作复杂度,提升了用户的使用体验,提高了工作效率;同时由于本发明通过非对称加解密算法对密码进行加密,避免了密码作为明文在网络上传递,保证了通信的安全性。
附图说明
图1是本发明的消息交互图。
图2是本发明中新构的403 Forbidden响应抓包图。
图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)向客户端发送SIP 403 Forbidden响应,拒绝执行REGISTER请求,并在该SIP403 Forbidden响应中新增公钥类型字段RSA-Pubkey,把公钥赋值给该公钥类型字段RSA-Pubkey,如图2所示,由图2可见,SIP 403 Forbidden响应中包含赋有公钥的新增公钥类型字段RSA-Pubkey。
步骤6,客户端对收到的消息进行判断。
客户端收到403 Forbidden响应后,判断响应消息头域中是否含有新增字段,即公钥类型字段RSA-Pubkey:
如果有,则获取响应中的公钥,对该用户密码进行加密,生成密文,并在REGISTER请求中添加密文类型字段Cipher-Text,把密文赋值该密文类型字段Cipher-Text,得到重新构造的REGISTER请求,如图3所示,由图3可见,REGISTER请求中包含赋有密文的新增密文类型字段Cipher-Text,发送新构的REGISTER请求,返回步骤2;
如果没有,则按照SIP请求/应答标准,客户端自动挂断。
步骤7,按照标准SIP的注册认证流程完成注册。
标准SIP的认证注册流程中所需的SIP消息包括:注册REGISTER请求、401Unauthorized响应、403 Forbidden响应和200OK响应,其中:
注册REGISTER请求,表示用户代理UA的注册请求,
401 Unauthorized响应,表示服务器要求对客户端进行用户认证,
403 Forbidden响应,表示服务器拒绝客户端的注册REGISTER请求,
200OK响应,表示注册REGISTER请求已经处理成功。
本步骤按照标准SIP进行注册认证的具体实现如下:
(7a)服务器返回401 Unauthorized响应,并通过WWW-Authenticate类型字段携带服务器支持的认证方式,产生本次认证的唯一随机字符串nonce;
(7b)客户端将用户名、密码以及服务器发送过来的认证信息进行摘要认证MD5运算,生成加密后的密码response,再重新发送携带有Authorization类型字段的REGISTER请求;该认证信息包括:特定被保护区域realm、请求方法、本次请求的资源位置URI、唯一随机字符串nonce、认证的次数nc、唯一随机字符串cnonce和认证方式qop;
(7c)服务器收到客户端的REGISTER请求后,首先检查Authorization类型字段中随机字符串nonce是否与401 Unauthorized响应中产生的nonce相同,如果相同,则执行步骤(7d),否则,直接返回403 Forbidden响应,客户端认证失败;
(7d)服务器根据本地配置文件或数据库中的用户名及用户密码与认证信息,采用与客户端相同的算法生成加密后的密码response,并将此密码response与REGISTER请求消息中的密码response进行比较,如果二者一致,则用户认证成功,并返回200 OK响应消息,完成注册,否则,认证失败,返回403 Forbidden响应,客户端自动挂断。
本发明的效果通过以下实验进一步说明:
1.实验条件
测试环境:
服务器:操作系统CentOS 6.5,内存为4G,开发环境Vim、FreeSWITCH
1.4.20,编程语言为C;
客户端:操作系统Windows 7,内存为4G,开发环境VS2015、PJSIP2.5.5,编程语言为C。
2.实验内容及结果
客户端在服务器的配置文件或数据库中不包含账户信息的前提下,发起注册REGISTER请求给服务器,请求开通用户账号,其交互过程和结果如图4所示。
图4中,No指该消息报文的发送序号,Time指该消息报文的发送时间,Source指发送该消息报文的源IP地址,Destination指接收该消息的目的IP地址,Protocol指该消息报文所属协议为SIP协议,Length指该消息报文的长度,Info指该消息报文的具体信息。
客户端所在的IP地址为192.168.0.118,服务器所在的IP地址为192.168.0.106,消息交互过程如下:
1)客户端向服务器发送REGISTER请求,请求开通用户账号;
2)服务器收到REGISTER请求后发现本地并不存在发送请求用户的账号信息,通过非对称加解密算法产生一对公私钥,预建账号,并通过新增公钥类型字段构造403Forbidden响应,返回新构的403 Forbidden响应;
3)客户端收到新构的403 Forbidden响应后,获取响应中的公钥,将用户密码进行加密生成密文,通过新增密文类型字段构造REGISTER请求,发送新构的REGISTER请求;
4)服务器收到REGISTER请求后,获取请求中的密文,在配置文件或数据库中查找此用户私钥,并用该私钥对密文类型字段值进行解密,获取用户密码,并将该用户密码写入用户配置文件或数据库中,再返回401 Unauthorized响应,需要对客户端进行用户认证;
5)客户端收到401 Unauthorized响应后,将用户名、密码以及服务器发送过来的认证信息进行摘要认证MD5运算,生成加密后的密码response,再重新发送携带有Authorization类型字段的REGISTER请求;
6)服务器收到REGISTER请求后,根据本地配置文件或数据库中的用户名及用户密码与认证信息,采用与客户端相同的算法生成加密后的密码response,并将此密码response与REGISTER请求消息中的密码response进行比较,二者一致,则用户认证成功,并返回200OK响应消息,完成注册。
实验结果表明:最终客户端注册认证成功,且服务器中自动添加了该用户的账户信息和密码。
综上所述,本发明可实现终端设备在本机自主开通用户账号的功能。

Claims (4)

1.基于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的注册认证流程完成注册。
2.根据权利要求1所述的方法,其中按照标准SIP的注册认证流程完成注册,包括以下步骤:
1)服务器返回401 Unauthorized响应,表明要求对客户端进行用户认证,并通过WWW-Authenticate类型字段携带服务器支持的认证方式,产生本次认证的唯一随机字符串nonce;
2)客户端将用户名、密码以及服务器发送过来的认证信息进行摘要认证MD5运算,生成加密后的密码response,再重新发送携带有Authorization类型字段的REGISTER请求;
3)服务器收到客户端的REGISTER请求后,首先检查Authorization类型字段中随机字符串nonce是否与401 Unauthorized响应中产生的nonce相同,如果相同,则执行步骤4),否则,直接返回403 Forbidden响应,客户端认证失败;
4)服务器根据本地配置文件或数据库中的用户名及用户密码与认证信息,采用与客户端相同的算法生成加密后的密码response,并将此密码response与REGISTER请求消息中的密码response进行比较,如果二者一致,则用户认证成功,并返回200 OK响应消息,完成注册,否则,认证失败,返回403 Forbidden响应,客户端自动挂断。
3.根据权利要求2所述的方法,其中所述的认证信息,包括:
特定被保护区域realm、请求方法、本次请求的资源位置URI、唯一随机字符串nonce、认证的次数nc、唯一随机字符串cnonce和认证方式qop。
4.根据权利要求1所述的方法,其中所述的非对称加解密算法,包括RSA算法、Elgamal加密算法和椭圆曲线加密算法ECC。
CN201710082298.9A 2017-02-16 2017-02-16 基于sip协议实现终端注册的方法 Active CN106878305B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710082298.9A CN106878305B (zh) 2017-02-16 2017-02-16 基于sip协议实现终端注册的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710082298.9A CN106878305B (zh) 2017-02-16 2017-02-16 基于sip协议实现终端注册的方法

Publications (2)

Publication Number Publication Date
CN106878305A CN106878305A (zh) 2017-06-20
CN106878305B true CN106878305B (zh) 2019-12-24

Family

ID=59166411

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710082298.9A Active CN106878305B (zh) 2017-02-16 2017-02-16 基于sip协议实现终端注册的方法

Country Status (1)

Country Link
CN (1) CN106878305B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110881040B (zh) * 2019-11-27 2022-05-27 成都铂锡金融信息技术有限公司 一种呼叫方法及装置
CN112039878B (zh) * 2020-08-28 2024-02-09 北京飞讯数码科技有限公司 一种设备注册方法、装置、计算机设备及存储介质
CN112235240B (zh) * 2020-09-07 2022-09-27 福建星网智慧科技有限公司 一种基于序列号的sip认证方法、装置、设备和介质
CN113098836A (zh) * 2021-02-08 2021-07-09 智洋创新科技股份有限公司 基于Redis视频设备信息管理的注册信令智能化响应方法
CN114301881B (zh) * 2021-12-10 2023-09-15 迈普通信技术股份有限公司 注册方法、装置、电子设备和计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1855805A (zh) * 2005-03-28 2006-11-01 株式会社日立制作所 Sip消息的加密方法和加密通信系统
CN101674178A (zh) * 2008-09-12 2010-03-17 中国移动通信集团公司 一种用户信息保存方法、用户信息验证方法及装置
CN103618709A (zh) * 2013-11-25 2014-03-05 深圳联友科技有限公司 一种sip电话系统的注册方法及sip电话系统
CN102932364B (zh) * 2012-11-12 2016-03-02 华为软件技术有限公司 一种注册方法、装置及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100785297B1 (ko) * 2005-11-09 2007-12-12 삼성전자주식회사 SIP를 이용하는 VoIP 시스템과 그 시스템에서의SIP 단말기 등록 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1855805A (zh) * 2005-03-28 2006-11-01 株式会社日立制作所 Sip消息的加密方法和加密通信系统
CN101674178A (zh) * 2008-09-12 2010-03-17 中国移动通信集团公司 一种用户信息保存方法、用户信息验证方法及装置
CN102932364B (zh) * 2012-11-12 2016-03-02 华为软件技术有限公司 一种注册方法、装置及系统
CN103618709A (zh) * 2013-11-25 2014-03-05 深圳联友科技有限公司 一种sip电话系统的注册方法及sip电话系统

Also Published As

Publication number Publication date
CN106878305A (zh) 2017-06-20

Similar Documents

Publication Publication Date Title
CN106878305B (zh) 基于sip协议实现终端注册的方法
US7730309B2 (en) Method and system for key management in voice over internet protocol
US11336641B2 (en) Security enhanced technique of authentication protocol based on trusted execution environment
CN107040513B (zh) 一种可信访问认证处理方法、用户终端和服务端
WO2015180654A1 (zh) 一种保密通信实现方法及装置
US20060236091A1 (en) Encryption method for SIP message and encrypted SIP communication system
US11689514B2 (en) User authentication in communication systems
CN105850073A (zh) 信息系统访问认证方法及装置
WO2011088658A1 (zh) 对dns报文中的身份信息进行认证的方法、服务器和系统
CN104135494A (zh) 一种基于可信终端的同账户非可信终端登录方法及系统
US20140380059A1 (en) Authentication of email servers
WO2018177385A1 (zh) 一种传输数据的方法、装置和设备
US11496319B2 (en) Method of identity authentication for voice over internet protocol call and related device
US7055170B1 (en) Security mechanism and architecture for collaborative software systems using tuple space
CN105490997B (zh) 安全校验方法、装置、终端及服务器
CN110213247B (zh) 一种提高推送信息安全性的方法及系统
WO2018010150A1 (zh) 一种认证方法和认证系统
WO2017185978A1 (zh) 一种报文解析方法及设备
CN109257387A (zh) 用于断线重连的方法和装置
CN112261059B (zh) 一种基于java网关技术平台通用性的接口方法及系统
US11070978B2 (en) Technique for authenticating a user device
WO2015081560A1 (zh) 即时通信客户端的识别方法和识别系统
CN113347157B (zh) 一种基于SM系列加密算法的Web应用加密系统及方法
CN111404680B (zh) 口令管理方法和装置
CN105871788B (zh) 一种登录服务器的密码生成方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant