CN103685181A - 一种基于srtp的密钥协商方法 - Google Patents
一种基于srtp的密钥协商方法 Download PDFInfo
- Publication number
- CN103685181A CN103685181A CN201210339502.8A CN201210339502A CN103685181A CN 103685181 A CN103685181 A CN 103685181A CN 201210339502 A CN201210339502 A CN 201210339502A CN 103685181 A CN103685181 A CN 103685181A
- Authority
- CN
- China
- Prior art keywords
- key
- srtp
- aes
- aes algorithm
- pattern
- 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.)
- Pending
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于SRTP的密钥协商方法,包括发送方检索其支持的AES算法模式,并按加密有效性排序;对各AES算法模式使用随机函数生成相应的密钥;将各AES算法模式及对应的密钥,按密钥协商帧格式封装成密钥协商请求消息数据包并发送给接收方;接收方按照协商请求消息中列出的AES算法模式的顺序,检测其是否支持其中一种模式;接收方将其支持的AES算法模式及对应的密钥,按密钥协商帧格式封装成回复消息数据包并发送给发送方;若回复消息中包含发送方支持的任何一种AES算法模式及对应的密钥,则密钥协商成功;否则密钥协商失败。本发明可提高SRTP的密钥安全性,进而提高SRTP的安全性和实用性。
Description
技术领域
本发明涉及一种基于SRTP的密钥协商方法,属于信息安全技术领域。
背景技术
实时传输协议RTP(Real-time Transport Protocol)详细规定了互联网上实时传输音频、视频数据的标准数据包格式,满足了实时音频、视频的应用需求。随着网络安全问题的日益突出,为保证实时传输数据的安全性和完整性,安全实时传输协议SRTP(Secure Real-time Transport Protocol)应运而生,它是在RTP基础上定义的一个协议,旨在为单播和多播应用程序中的实时传输协议的数据提供加密、消息认证、完整性保证和重放保护。
SRTP的帧格式与RTP类似,只是在RTP数据包的最后增加了主密钥标识和认证标签,即增加了加密和认证功能。这样,SRTP一方面可以对RTP的有效负载进行AES加密以防止RTP有效负载的暴露,另一方面也可以对整个RTP数据包进行认证以防止重放攻击。
但是,由于SRTP的密钥一般是通过会话描述协议SDP(Session DescriptionProtocol)进行协商的,而SDP本身并没有得到保护,所以SRTP的密钥也就没有得到真正的保护,这也将导致SRTP的加密及认证失去意义。
发明内容
鉴于上述问题,本发明的目的在于提供一种基于SRTP的密钥协商方法,通过对SRTP的密钥协商过程进行保护,提高SRTP的密钥安全性,从而保证RTP数据包的安全性。
为实现上述目的,本发明采用以下技术方案:
一种基于SRTP的密钥协商方法,包括以下步骤:
1)发送方检索自身支持的AES算法模式,并对检索出的AES算法模式按照加密有效性进行排序;
2)针对排序好的AES算法模式,使用随机函数,产生出相应格式的密钥;
3)将排序好的AES算法模式及对应各模式产生出的密钥,按照密钥协商帧格式,封装成密钥协商请求消息数据包;
4)发送方向接收方发送该密钥协商请求消息;
5)接收方接收到该密钥协商请求消息,按照协商请求消息中列出的AES算法模式的顺序,检测其是否支持其中一种模式;
6)接收方将其支持的AES算法模式及对应生成的密钥,按照密钥协商帧格式封装成回复消息数据包,如果接收方不支持所述密钥协商请求消息中任何一种AES算法模式,则回复消息数据包中不包含任何算法和密钥的信息;
7)接收方向发送方发送该回复消息;
8)发送方接收到该回复消息,如果该回复消息中包含发送方所支持的任何一种AES算法模式及该模式对应的密钥,则密钥协商成功;否则密钥协商失败。
进一步地:
所述的基于SRTP的密钥协商方法,还包括步骤:
9)如果密钥协商成功,发送方和接收方使用协商好的AES算法模式,按照SRTP的协议流程进行通信;如果密钥协商失败,发送方和接收方可以按照RTP的协议流程进行通信,也可以结束通信。
所述AES算法是指AES加密算法及HMAC_SHA1认证算法。
所述AES算法模式包括AES_CM_128_HMAC_SHA1_80、AES_CM_128_HMAC_SHA1_32及F8_128_HMAC_SHA1_80。
所述密钥协商帧格式包括接收方IP地址、端口号,发送方IP地址、端口号、AES算法模式及密钥信息。
本发明的优点在于:
1、利用本发明可保证SRTP密钥协商过程的安全性,从而保证SRTP密钥的安全性;
2、由于提高了SRTP密钥的安全性,SRTP对RTP有效负载的加密及对整个RTP包的认证功能也就得到了保证,大大提高了SRTP的实用性;
3、由于保证了SRTP的加密及认证功能,从而最大程度的增加了RTP有效负载的保密性。
附图说明
图1是本发明基于SRTP的密钥协商方法的流程图;
图2是本发明基于SRTP的密钥协商过程的时序图;
图3是本发明的密钥协商帧格式;
图4是应用本发明的基本拓扑图。
具体实施方式
以下结合附图和实施例对本发明作进一步详细的说明。
图1是本发明基于SRTP的密钥协商方法的流程图,图2是本发明基于SRTP的密钥协商过程的时序图,如图所示,该密钥协商方法包括以下步骤:
S10:发送方检索自身支持的AES算法模式,并对检索出的AES算法模式按照加密有效性进行排序;
由于SRTP使用AES算法,所以本发明的基于SRTP的密钥协商方法同样遵从AES算法(这里的AES算法是指AES加密算法及HMAC_SHA1认证算法)。该AES算法包括三种模式:AES_CM_128_HMAC_SHA1_80、AES_CM_128_HMAC_SHA1_32及F8_128_HMAC_SHA1_80,根据密钥强度的不同,三种模式的加密有效性从高到低排序为:AES_CM_128_HMAC_SHA1_80,AES_CM_128_HMAC_SHA1_32,F8_128_HMAC_SHA1_80(其中,AES_CM_128_HMAC_SHA1_80表示使用带有128位AES的counter模式加密算法以及带有80位的HMAC-SHA1认证算法,AES_CM_128_HMAC_SHA1_32表示使用带有128位AES的counter模式加密算法以及带有32位的HMAC-SHA1认证算法,F8_128_HMAC_SHA1_80表示使用带有128位AES的f8模式加密算法以及带有80位的HMAC-SHA1认证算法)。
S11:针对排序好的AES算法模式,使用随机函数,产生出相应格式的密钥;
随机函数为可随机产生出字母、数字、其他字符及其组合字符串的函数,三种模式可使用相同的随机函数,只需设置不同的随机函数参数,即可产生出不同长度和格式的密钥字符串。
以AES_CM_128_HMAC_SHA1_80为例,对于AES_CM_128加密算法而言,利用随机函数可生成由128位主密钥和112位从密钥组成的240位(30个字节)密钥串,该密钥串经过base64编码后,形成40个字节的协商密钥;对于HMAC_SHA1_80认证算法来说,其中80是以80位为单位,对接收的或者发送的rtp包进行认证,并不产生密钥串,最终,本发明中所涉及到的三种模式的密钥串长度是一致的。
S12:将排序好的AES算法模式及对应各模式产生出的密钥,按照密钥协商帧格式,封装成密钥协商请求消息数据包;
图3是本发明的密钥协商帧格式,如图所示,按照该密钥协商帧格式,密钥协商请求消息中包括消息类型,接收方的IP地址、端口号,发送方的IP地址、端口号,发送方支持且已排序的AES算法模式及各模式对应的密钥。
S13:发送方向接收方发送该密钥协商请求消息;
S14:接收方接收到该密钥协商请求消息,按照协商请求消息中列出的AES算法模式的顺序,检测其是否支持其中一种模式;
检测某种模式时,若接收方同样支持该模式,则不再向下检测,直接按照该模式及随机函数生成相应的密钥;如果不支持该模式,则按照顺序继续检测下一种模式;如果不支持任何一种模式,则不产生任何密钥;
S15:接收方将其支持的AES算法模式及对应生成的密钥,按照密钥协商帧格式封装成回复消息数据包,如果接收方不支持任何AES算法模式,则回复消息数据包中不包含任何算法和密钥的信息;
S16:接收方向发送方发送该回复消息;
S17:发送方接收到该回复消息,如果该回复消息中包含发送方所支持的任何一种AES算法模式及该模式对应的密钥,则密钥协商成功;否则密钥协商失败;
S18:如果密钥协商成功,发送方和接收方使用协商好的AES算法模式,按照SRTP的协议流程进行通信;如果密钥协商失败,发送方和接收方可以按照RTP的协议流程进行通信,也可以结束通信。
以下结合一具体实施例对本发明的基于SRTP的密钥协商方法进行详细说明。
图4是应用本发明的基本拓扑图。如图所示,假设IP话机A与IP话机B要进行基于SRTP的会话。其中,IP话机A的IP地址为192.168.1.2,端口号为20000,其支持三种AES算法模式:即AES_CM_128_HMAC_SHA1_80、AES_CM_128_HMAC_SHA1_32及F8_128_HMAC_SHA1_80;
IP话机B的IP地址为192.168.1.3,端口号为30000,其仅支持一种AES算法模式,即AES_CM_128_HMAC_SHA1_80。
若IP话机A为主叫方,IP话机B为被叫方,按照本发明的密钥协商方法,IP话机A与IP话机B的密钥协商过程如下:
1)IP话机A检索到其共支持三种AES算法模式,并按加密有效性由高到低对这三种AES 算法模式进行排序:算法1为AES_CM_128_HMAC_SHA1_80,算法2为AES_CM_128_HMAC_SHA1_32,算法3为F8_128_HMAC_SHA1_80;
2)对于算法1:AES_CM_128_HMAC_SHA1_80,使用随机函数,产生出密钥1:WVNfX19zZW1jdGwgKCkgewkyMjA7fQp9CnVubGVz|2^20|1:4;
对于算法2:AES_CM_128_HMAC_SHA1_32,使用随机函数,产生出密钥2:MTIzNDU2Nzg5QUJDREUwMTIzNDU2Nzg5QUJjZGVm|2^20|1:4;
对于算法3:F8_128_HMAC_SHA1_80,使用随机函数,产生出密钥3:QUJjZGVmMTIzNDU2Nzg5QUJDREUwMTIzNDU2Nzg5|2^20|2:4。
3)按照密钥协商帧格式,IP话机A生成如下的密钥协商请求消息:
INVITE 192.168.1.330000192.168.1.220000
1AES_CM_128_HMAC_SHA1_80
WVNfX19zZW1jdGwgKCkgewkyMjA7fQp9CnVubGVz|2^20|1:4
2AES_CM_128_HMAC_SHA1_32
MTIzNDU2Nzg5QUJDREUwMTIzNDU2Nzg5QUJjZGVm|2^20|1:4
3F8_128_HMAC_SHA1_80
QUJjZGVmMTIzNDU2Nzg5QUJDREUwMTIzNDU2Nzg5|2^20|2:4
4)IP话机A向IP话机B发送步骤3)中生成的密钥协商请求消息;
5)IP话机B接收到该密钥协商请求消息,将按照算法1、算法2、算法3的顺序检测其支持哪种模式。检测算法1时发现其支持该模式,则不再检测算法2和算法3,而是直接按照算法1及随机函数产生出密钥4:
S1uQCVeeCFCanVmcjkpPywjNWhcYD0mXXtxaVBR|2^20|1:4;
6)按照密钥协商帧格式,IP话机B生成如下的回复消息:
ACK 192.168.1.220000192.168.1.330000
1AES_CM_128_HMAC_SHA1_80
S 1uQCVeeCFCanVmcjkpPywjNWhcYD0mXXtxaVBR|2^20|1:4
7)IP话机B向IP话机A发送步骤6)中生成的回复消息;
8)IP话机A接收到该回复消息,检测到该回复消息中包含其支持的算法1及密钥4,则密钥协商成功;
9)后续IP话机A与IP话机B使用协商好的AES算法模式,按照SRTP的协议流程进行通话。
本发明是通过通信双方对SRTP密钥进行协商,即发送方向接收方发送密钥协商请求消息,该请求消息中携带有发送方支持的AES算法模式及密钥,接收方收到该密钥协商请求消息,检测其支持的AES算法模式并生成相应的密钥,并向发送方发送回复消息,若通信双方有共同支持的算法模式,则密钥协商成功,后续使用协商好的AES算法模式按照SRTP流程通信。本发明可提高SRTP密钥的安全性,进而提高SRTP的安全性和实用性。
以上所述是本发明的较佳实施例及其所运用的技术原理,对于本领域的技术人员来说,在不背离本发明的精神和范围的情况下,任何基于本发明技术方案基础上的等效变换、简单替换等显而易见的改变,均属于本发明保护范围之内。
Claims (5)
1.一种基于SRTP的密钥协商方法,包括以下步骤:
1)发送方检索自身支持的AES算法模式,并对检索出的AES算法模式按照加密有效性进行排序;
2)针对排序好的AES算法模式,使用随机函数,产生出相应格式的密钥;
3)将排序好的AES算法模式及对应各模式产生出的密钥,按照密钥协商帧格式,封装成密钥协商请求消息数据包;
4)发送方向接收方发送该密钥协商请求消息;
5)接收方接收到该密钥协商请求消息,按照协商请求消息中列出的AES算法模式的顺序,检测其是否支持其中一种模式;
6)接收方将其支持的AES算法模式及对应生成的密钥,按照密钥协商帧格式封装成回复消息数据包,如果接收方不支持所述密钥协商请求消息中任何一种AES算法模式,则回复消息数据包中不包含任何算法和密钥的信息;
7)接收方向发送方发送该回复消息;
8)发送方接收到该回复消息,如果该回复消息中包含发送方所支持的任何一种AES算法模式及该模式对应的密钥,则密钥协商成功;否则密钥协商失败。
2.根据权利要求1所述的一种基于SRTP的密钥协商方法,其特征在于:所述的基于SRTP的密钥协商方法,还包括步骤:
9)如果密钥协商成功,发送方和接收方使用协商好的AES算法模式,按照SRTP的协议流程进行通信;如果密钥协商失败,发送方和接收方可以按照RTP的协议流程进行通信,也可以结束通信。
3.根据权利要求2所述的一种基于SRTP的密钥协商方法,其特征在于:所述AES算法是指AES加密算法及HMAC SHA1认证算法。
4.根据权利要求3所述的一种基于SRTP的密钥协商方法,其特征在于:所述AES 算法模式包括AES_CM_128_HMAC_SHA1_80、AES_CM_128_HMAC_SHA1_32及F8_128_HMAC_SHA1_80。
5.根据权利要求4所述的一种基于SRTP的密钥协商方法,其特征在于:所述密钥协商帧格式包括接收方IP地址、端口号,发送方IP地址、端口号、AES算法模式及密钥信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210339502.8A CN103685181A (zh) | 2012-09-13 | 2012-09-13 | 一种基于srtp的密钥协商方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210339502.8A CN103685181A (zh) | 2012-09-13 | 2012-09-13 | 一种基于srtp的密钥协商方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103685181A true CN103685181A (zh) | 2014-03-26 |
Family
ID=50321509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210339502.8A Pending CN103685181A (zh) | 2012-09-13 | 2012-09-13 | 一种基于srtp的密钥协商方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103685181A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104135469A (zh) * | 2014-07-04 | 2014-11-05 | 西南交通大学 | 一种提高rssp-ii协议安全性的改进方案 |
CN106131049A (zh) * | 2016-08-15 | 2016-11-16 | 福建中金在线信息科技有限公司 | 一种数据传输加解密的方法 |
CN107846567A (zh) * | 2017-11-02 | 2018-03-27 | 苏州科达科技股份有限公司 | 一种srtp能力协商方法及会议终端 |
CN107872462A (zh) * | 2017-11-22 | 2018-04-03 | 苏州科达科技股份有限公司 | 视频会议呼叫方法及装置 |
CN108040071A (zh) * | 2017-12-30 | 2018-05-15 | 深圳市潮流网络技术有限公司 | 一种VoIP音视频加密密钥动态切换方法 |
CN108833943A (zh) * | 2018-04-24 | 2018-11-16 | 苏州科达科技股份有限公司 | 码流的加密协商方法、装置及会议终端 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564514A (zh) * | 2004-03-26 | 2005-01-12 | 中兴通讯股份有限公司 | 无线局域网自组网模式共享密钥认证和会话密钥协商方法 |
US20050063544A1 (en) * | 2001-12-07 | 2005-03-24 | Ilkka Uusitalo | Lawful interception of end-to-end encrypted data traffic |
CN101102463A (zh) * | 2007-07-25 | 2008-01-09 | 中国网络通信集团公司 | 媒体流传输方法 |
US20080037775A1 (en) * | 2006-03-31 | 2008-02-14 | Avaya Technology Llc | Verifiable generation of weak symmetric keys for strong algorithms |
CN101150849A (zh) * | 2006-09-18 | 2008-03-26 | 华为技术有限公司 | 生成绑定管理密钥的方法、系统、移动节点及通信节点 |
CN101175074A (zh) * | 2006-11-01 | 2008-05-07 | 华为技术有限公司 | 一种实现端到端媒体流密钥协商的方法和系统 |
CN101207477A (zh) * | 2006-12-19 | 2008-06-25 | 中兴通讯股份有限公司 | 一种跨域多网守端到端会话密钥协商方法 |
CN101222320A (zh) * | 2007-01-11 | 2008-07-16 | 华为技术有限公司 | 一种媒体流安全上下文协商的方法、系统和装置 |
CN101267298A (zh) * | 2008-05-05 | 2008-09-17 | 华为技术有限公司 | 一种基于媒体流业务的密钥协商方法、装置及系统 |
US20110010549A1 (en) * | 2009-07-07 | 2011-01-13 | Vladimir Kolesnikov | Efficient key management system and method |
-
2012
- 2012-09-13 CN CN201210339502.8A patent/CN103685181A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050063544A1 (en) * | 2001-12-07 | 2005-03-24 | Ilkka Uusitalo | Lawful interception of end-to-end encrypted data traffic |
CN1564514A (zh) * | 2004-03-26 | 2005-01-12 | 中兴通讯股份有限公司 | 无线局域网自组网模式共享密钥认证和会话密钥协商方法 |
US20080037775A1 (en) * | 2006-03-31 | 2008-02-14 | Avaya Technology Llc | Verifiable generation of weak symmetric keys for strong algorithms |
CN101150849A (zh) * | 2006-09-18 | 2008-03-26 | 华为技术有限公司 | 生成绑定管理密钥的方法、系统、移动节点及通信节点 |
CN101175074A (zh) * | 2006-11-01 | 2008-05-07 | 华为技术有限公司 | 一种实现端到端媒体流密钥协商的方法和系统 |
CN101207477A (zh) * | 2006-12-19 | 2008-06-25 | 中兴通讯股份有限公司 | 一种跨域多网守端到端会话密钥协商方法 |
CN101222320A (zh) * | 2007-01-11 | 2008-07-16 | 华为技术有限公司 | 一种媒体流安全上下文协商的方法、系统和装置 |
CN101102463A (zh) * | 2007-07-25 | 2008-01-09 | 中国网络通信集团公司 | 媒体流传输方法 |
CN101267298A (zh) * | 2008-05-05 | 2008-09-17 | 华为技术有限公司 | 一种基于媒体流业务的密钥协商方法、装置及系统 |
US20110010549A1 (en) * | 2009-07-07 | 2011-01-13 | Vladimir Kolesnikov | Efficient key management system and method |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104135469A (zh) * | 2014-07-04 | 2014-11-05 | 西南交通大学 | 一种提高rssp-ii协议安全性的改进方案 |
CN104135469B (zh) * | 2014-07-04 | 2017-11-24 | 闫连山 | 一种提高rssp‑ii协议安全性的方法 |
CN106131049A (zh) * | 2016-08-15 | 2016-11-16 | 福建中金在线信息科技有限公司 | 一种数据传输加解密的方法 |
CN107846567A (zh) * | 2017-11-02 | 2018-03-27 | 苏州科达科技股份有限公司 | 一种srtp能力协商方法及会议终端 |
CN107846567B (zh) * | 2017-11-02 | 2020-12-29 | 苏州科达科技股份有限公司 | 一种srtp能力协商方法及会议终端 |
CN107872462A (zh) * | 2017-11-22 | 2018-04-03 | 苏州科达科技股份有限公司 | 视频会议呼叫方法及装置 |
CN107872462B (zh) * | 2017-11-22 | 2021-02-26 | 苏州科达科技股份有限公司 | 视频会议呼叫方法及装置 |
CN108040071A (zh) * | 2017-12-30 | 2018-05-15 | 深圳市潮流网络技术有限公司 | 一种VoIP音视频加密密钥动态切换方法 |
CN108040071B (zh) * | 2017-12-30 | 2023-02-17 | 深圳市潮流网络技术有限公司 | 一种VoIP音视频加密密钥动态切换方法 |
CN108833943A (zh) * | 2018-04-24 | 2018-11-16 | 苏州科达科技股份有限公司 | 码流的加密协商方法、装置及会议终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Efficient and flexible password authenticated key agreement for voice over internet protocol session initiation protocol using smart card | |
CN104158653B (zh) | 一种基于商密算法的安全通信方法 | |
CN103338215B (zh) | 基于国密算法建立tls通道的方法 | |
US8639929B2 (en) | Method, device and system for authenticating gateway, node and server | |
US9749318B2 (en) | Key management in a communication network | |
CN104735068B (zh) | 基于国密的sip安全认证的方法 | |
US20160365982A1 (en) | System and method for secure end-to-end messaging system | |
CN107888560B (zh) | 一种移动智能终端邮件安全传输系统及方法 | |
WO2015180654A1 (zh) | 一种保密通信实现方法及装置 | |
CN102065016B (zh) | 报文发送和接收方法及装置、报文处理方法及系统 | |
CN110048849B (zh) | 一种多层保护的会话密钥协商方法 | |
WO2022022009A1 (zh) | 消息处理方法、装置、设备及存储介质 | |
CN102868531B (zh) | 一种网络交易认证系统和网络交易认证方法 | |
IL202726A (en) | A system and method for creating and sending scattered and multi-purpose information | |
CN103095696A (zh) | 一种适用于用电信息采集系统的身份认证和密钥协商方法 | |
CN103685181A (zh) | 一种基于srtp的密钥协商方法 | |
US11558361B2 (en) | Communication method between mesh network and cloud server, mesh network system and node device thereof | |
CN102752269A (zh) | 基于云计算的身份认证的方法、系统及云端服务器 | |
CN101039181B (zh) | 防止通用鉴权框架中服务功能实体受攻击的方法 | |
CN101938500A (zh) | 源地址验证方法及系统 | |
CN101790160A (zh) | 安全协商会话密钥的方法及装置 | |
CN104753937A (zh) | 基于sip的安全认证注册的方法 | |
CN111970699A (zh) | 一种基于ipk的终端wifi登陆认证方法以及系统 | |
CN103220279A (zh) | 数据安全传输的方法和系统 | |
CN106549858A (zh) | 一种基于标识密码的即时通信加密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140326 |
|
WD01 | Invention patent application deemed withdrawn after publication |