发明名称 一种VoIP实时数据安全传输的端到端密钥协商方法
摘要 本发明公开了一种适用于手机终端VoIP实时数据安全传输的端到端密钥协商方法。本方法为:1)在信令安全传输阶段,客户端和服务器端之间的SIP信令采用TLS协议进行双向认证和保护;2)在端到端密钥协商阶段,采用两层加密的方式,在第一层,通信发起方和服务器之间,服务器和通信接收方之间分别采用TLS协议进行保护,在第二层,通信发起方和通信接收方的密钥协商参数信息使用通信发起方和通信接收方的SM2公钥分别进行保护。本发明采用两层加密方法对密钥协商参数进行保护,并且在信令传输阶段对信令进行双向认证和保护,大大提高了信息传输的安全性。
申请公布号 CN104486077A 申请公布日期 2015.04.01
申请号 CN201410669878.4 申请日期 2014.11.20
申请人 中国科学院信息工程研究所 发明人 顾小卓;周卫华;朱大立;张仁军
分类号 H04L9/32(2006.01)I;H04L9/08(2006.01)I;H04L29/06(2006.01)I 主分类号 H04L9/32(2006.01)I
代理机构 北京君尚知识产权代理事务所(普通合伙) 11200 代理人 司立彬
主权项 一种VoIP实时数据安全传输的端到端密钥协商方法,其步骤为:1)信令安全传输阶段,通信方生成信令数据并利用TLS协议进行保护,然后利用自己的RSA私钥对加密后的数据进行签名后将加密数据和签名发送给服务器;服务器利用该通信方的RSA公钥对签名进行验证,验证通过后用TLS通道的加密密钥解密该加密数据,得到该通信方的信令数据;2)密钥协商阶段,通信发起方将生成的通信请求消息发送给服务器;所述通信请求消息的生成方法为:通信发起方生成会话密钥参数SK1,并用通信接收方的SM2公钥对其加密,然后用自己的SM2私钥对加密后的SK1进行签名,然后将加密后的SK1和签名生成数据包,再使用TLS通道的加密密钥对该数据包进行加密,并使用自己的RSA私钥进行签名,最后将加密后的数据包和签名数据生成该通信请求消息;3)服务器利用该通信发起方的RSA公钥对该通信请求消息中的签名进行验证,验证通过后,服务器使用与通信发起方之间的TLS通道的加密密钥解密数据包,之后再将解密的数据包使用与通信接收方的TLS通道的密钥进行加密,并使用服务器的RSA私钥签名后发送给通信接收方;4)通信接收方使用服务器的RSA公钥对接收数据中的签名进行验证,验证通过后,使用TLS通道的加密密钥解密数据包中的加密数据;然后用通信发起方的SM2公钥对通信发起方的签名进行验证,验证通过后,对通信发起方加密的数据使用通信接收方的SM2私钥进行解密,得到会话密钥参数SK1;5)通信接收方生成响应消息并发送给服务器;所述响应消息的生成方法为:通信接收方首先生成一会话密钥参数SK2并用通信发起方的SM2公钥对其进行加密,然后用自己的SM2私钥对加密后的SK2进行签名,然后将加密后的SK2和签名形成数据包,再使用与服务器之间的TLS通道的加密密钥加密数据包,并对加密后的数据包使用通信接收方的RSA私钥进行签名,最后将加密数据和签名数据生成所述响应消息;通信接收方根据SK1和SK2生成本次会话密钥SK;6)服务器使用通信接收方的RSA公钥对该响应消息中的签名进行验证,验证通过后,使用TLS通道的加密密钥解密数据包,然后将解密后的数据使用服务器与通信发起方的TLS通道进行保护,并对保护后的数据使用服务器的RSA私钥进行签名,将加密数据和签名组合后发送给该通信发起方;7)通信发起方用服务器的RSA公钥对接收数据中的签名进行验证,验证通过后,使用TLS协议的加密密钥解密数据包中的加密数据,然后用通信接收方的SM2公钥对解密后的签名进行验证,验证通过后,使用自己的SM2私钥解密加密后的数据,得到会话密钥参数SK2;通信发起方根据SK1和SK2生成本次会话密钥SK;其中,密钥管理服务器为每一通信方分配两组密钥对:RSA密钥对和SM2密钥对;通信发起方和通信接收方分别保存有对方两密钥对的公钥,以及服务器的RSA公钥;服务器保存有每一通信方的RSA公钥。
地址 100093 北京市海淀区闵庄路甲89号