实现端到端VoIP一话多密的加密通话方法及系统技术方案

技术编号:36291216 阅读:12 留言:0更新日期:2023-01-13 10:04
本发明专利技术公开一种实现端到端VoIP一话多密的加密通话方法及系统,应用于VoIP终端,包括向与其同属一密话专网的被叫方发起SIP会话请求;随机选取属于被叫方所属密话专网的两个主密钥;利用主密钥分别对n个会话密钥素材N1进行加密和对INVITE消息指令加密,得到INVITE密文;发送INVITE密文,以使被叫方基于所述INVITE密文生成INVITE响应报文;接收INVITE响应报文并解密得到n个会话密钥素材N2,然后生成n个会话密钥和n个初始化向量,与被叫方进行加密通话。本发明专利技术可保障同一次通话的每个通话时段使用不同的会话密钥,避免单一会话密钥使用时间过长带来的破解风险,实现一话多密的安全保障。全保障。全保障。

【技术实现步骤摘要】
实现端到端VoIP一话多密的加密通话方法及系统


[0001]本专利技术涉及密码应用
,具体涉及一种实现端到端VoIP一话多密的加密通话方法及系统。

技术介绍

[0002]随着5G技术和即时通信技术的发展,针对VoIP(Voice over Internet Protocol,IP电话)的加解密需求场景越来越多。目前针对VoIP加密需求的解决方案一般都是基于数字证书和公私钥密码体系,我国的密码行业标准GM/T0098

2020《基于IP网络的加密语音通信密码技术规范》也提出了一套基于数字证书和非对称密码体系的SIP协议加密语音通信技术标准。基于数字证书和公私钥密码体系的VoIP加密系统目前在实际使用中存在以下困难:
[0003](1)移动用户的数量是非常巨大的,而数字证书和非对称密码体系的复杂度也是很高的,涉及到数字证书和非对称密钥对的产生、分发、注册、签发、验证、撤销等多个环节,有密钥管理系统KMS、证书中心CA、证书注册中心RA、在线证书验证OCSP服务、证书撤销列表CRL/LDAP目录服务等多个组件,而我国自己的非对称密码体系还采用了双证书双密钥对体系,需要管理的证书和密钥对数量更是成倍增长。
[0004](2)会话密钥协商或分发的过程采用的都是长期有效的非对称加密密钥对和签名密钥对,没有做到保护过程的一次一密。
[0005](3)会话密钥协商或分发的过程基于非对称密钥对和数字证书,用于加密传送会话密钥素材的公钥是公开的,若量子计算机计算能力提升,存在被破译的可能性,从而导致需传递的会话密钥被破译窃取。
[0006](4)加密通话过程中无法更换会话密钥,通话时间较长的情况下存在一定风险,也减弱了一话一密的安全性。
[0007]相关技术中,公布号为CN104683291A的中国专利技术专利文献记载了一种基于IMS系统的会话密钥协商方法,终端在多媒体服务器中配置有对称加密算法及密钥;主叫方利用第一对称加密算法及密钥对会话密钥进行加密生成第一密文会话密钥,第一密文会话密钥以SIP消息经CSCF服务器传输给多媒体服务器;多媒体服务器接收到该SIP消息,利用第一对称加密算法及密钥对第一密文会话密钥进行解密得到会话密钥,多媒体服务器利用被叫方配置的第二对称加密算法及密钥对会话密钥进行加密生成第二密文会话密钥,第二密文会话密钥以SIP消息经CSCF服务器传输给被叫方,被叫方接收到SIP消息利用第二对称加密算法及密钥对第二密文会话密钥进行解密得到会话密钥。
[0008]该方案应用于IP多媒体子系统中多媒体服务器,CSCF服务器及若干终端,INVITE报文的SDP消息体中扩展参数a承载有会话密钥的加密算法和媒体流的加密算法,其利用加密算法E1及密钥P1对会话密钥进行加密,得到会话密钥的base64编码。但从标准化的角度来讲,一般同一类型的密码算法在某个体系内只会确定一种,例如对称加密算法,国际算法采用AES,国内商密算法采用SM4,采用不同的密码算法,只要加密强度一样,没有太大意义;
且该方案无法实现长时间加密通话过程中,不间断通话更换会话密钥,实现一话多密的高安全强度。
[0009]公布号为CN109274480A的中国专利技术专利文献记载了一种基于HMAC

SM3算法的数据认证方法及量子密钥分发系统,密钥缓存区中存储了预先分配的密钥数据以及QKD系统输出的量子密钥数据,两个QKD终端均利用相同密钥采用HMAC

SM3算法对同一时段内的终端交互数据进行哈希运算(相当于主叫方和被叫方分别计算HMAC),以分别得到一个哈希值。
[0010]该方案是对两个QKD终端均利用相同密钥采用HMAC

SM3算法对同一时段内的终端交互数据进行哈希运算,以提高量子密钥分发(Quantum Key Distribution,QKD)系统数据完整性认证的准确性,而非是两个VoIP终端之间的加密通话。

技术实现思路

[0011]本专利技术所要解决的技术问题在于如何实现长时间加密通话过程中,不间断通话更换会话密钥,实现一话多密的高安全强度。
[0012]本专利技术通过以下技术手段实现解决上述技术问题的:
[0013]一方面,本专利技术提出了一种实现端到端VoIP一话多密的加密通话方法,所述方法应用于VoIP终端,所述VoIP终端集成安全存储介质,所述安全存储介质中存储有属于不同密话专网的主密钥,在所述VoIP终端作为主叫方时,包括以下步骤:
[0014]向与其同属一密话专网的被叫方发起SIP会话请求,所述SIP会话请求的INVITE消息指令包括SIP消息头和SDP消息体;
[0015]从其集成的所述安全存储介质中随机选取属于所述被叫方所属密话专网的两个主密钥ID号及相应的主密钥;
[0016]利用一个所述主密钥分别对所述SDP消息体中的n个会话密钥素材N1进行加密得到n个第一会话密钥密文,利用另一个所述主密钥对所述INVITE消息指令计算第一密码杂凑值,得到本次SIP会话的INVITE密文,所述INVITE密文的SDP消息体中设置扩展参数a字段来承载密钥协商信息和通话时段信息,n个所述会话密钥素材N1为所述主叫方实时产生的硬件随机数,分别与主叫方当前时钟所划分的各通话时段对应;
[0017]向所述被叫方发送本次SIP会话的所述INVITE密文,以使所述被叫方基于所述INVITE密文生成INVITE响应报文;
[0018]接收所述INVITE响应报文,解密得到n个会话密钥素材N2,并基于n个所述会话密钥素材N1和n个所述会话密钥素材N2,生成n个会话密钥和n个初始化向量,n个所述会话密钥素材N2为所述被叫方实时产生的硬件随机数,分别与被叫方当前时钟所划分的各通话时段对应;
[0019]基于n个所述会话密钥和n个所述初始化向量,与被叫方进行加密通话。
[0020]本专利技术通过使用多个和通话时段序列绑定的会话密钥实现较长时间通话过程的不中断通话密钥更换,随着通话时间增加,可保障同一次通话的每个通话时段使用不同的会话密钥,避免单一会话密钥使用时间过长带来的破解风险,实现一话多密的安全保障。基于预充注的大量预共享主密钥的办法解决VoIP端到端透明加密通话问题,降低了常用的基于数字证书和非对称密码体制进行VoIP加密通话的复杂度。
[0021]进一步地,所述利用一个所述主密钥分别对n个会话密钥素材N1进行加密,利用另一个所述主密钥对所述INVITE消息指令计算密码杂凑值,得到本次SIP会话的INVITE密文,包括:
[0022]利用一个所述主密钥keyid_enc1分别对n个所述会话密钥素材N1进行加密,得到n个所述会话密钥素材N1对应的base64编码;其中,n个所述会话密钥素材N1分别对应的各通话时段以呼叫方本地当前时间戳为起始时刻,以每次会话密钥使用时长minutes为间隔值依次递增;
[0023]在所述INVITE消息指令的SDP消息体中设置扩展参数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实现端到端VoIP一话多密的加密通话方法,其特征在于,所述方法应用于VoIP终端,所述VoIP终端集成安全存储介质,所述安全存储介质中存储有属于不同密话专网的主密钥,在所述VoIP终端作为主叫方时,包括以下步骤:向与其同属一密话专网的被叫方发起SIP会话请求,所述SIP会话请求的INVITE消息指令包括SIP消息头和SDP消息体;从其集成的所述安全存储介质中随机选取属于所述被叫方所属密话专网的两个主密钥ID号及相应的主密钥;利用一个所述主密钥分别对所述SDP消息体中的n个会话密钥素材N1进行加密得到n个第一会话密钥密文,利用另一个所述主密钥对所述INVITE消息指令计算第一密码杂凑值,得到本次SIP会话的INVITE密文,所述INVITE密文的SDP消息体中设置扩展参数a字段来承载密钥协商信息和通话时段信息,n个所述会话密钥素材N1为所述主叫方实时产生的硬件随机数,分别与主叫方当前时钟所划分的各通话时段对应;向所述被叫方发送本次SIP会话的所述INVITE密文,以使所述被叫方基于所述INVITE密文生成INVITE响应报文;接收所述INVITE响应报文,解密得到n个会话密钥素材N2,并基于n个所述会话密钥素材N1和n个所述会话密钥素材N2,生成n个会话密钥和n个初始化向量,n个所述会话密钥素材N2为所述被叫方实时产生的硬件随机数,分别与被叫方当前时钟所划分的各通话时段对应;基于n个所述会话密钥和n个所述初始化向量,与被叫方进行加密通话。2.如权利要求1所述的实现端到端VoIP一话多密的加密通话方法,其特征在于,所述利用一个所述主密钥分别对n个会话密钥素材N1进行加密,利用另一个所述主密钥对所述INVITE消息指令计算密码杂凑值,得到本次SIP会话的INVITE密文,包括:利用一个所述主密钥分别对n个所述会话密钥素材N1进行加密,得到n个所述会话密钥素材N1对应的base64编码;其中,n个所述会话密钥素材N1分别对应的各通话时段以呼叫方本地当前时间戳为起始时刻,以每次会话密钥使用时长minutes为间隔值依次递增;在所述INVITE消息指令的SDP消息体中设置扩展参数a字段来承载密钥协商信息和通话时段信息;利用另一个所述主密钥对所述INVITE消息指令采用带密钥的密码杂凑算法计算密码杂凑值,得到本次SIP会话的INVITE密文。3.如权利要求1所述的实现端到端VoIP一话多密的加密通话方法,其特征在于,所述INVITE响应报文的SDP消息体内容包括主被叫双方共同所属的密话专网标识netID、用于加密被叫方产生的n个会话密钥素材N2的主密钥ID及加密得到的n个第二会话密钥密文、用于加密被叫方整个响应消息的主密钥ID及加密得到的第二密码杂凑值、被叫方当前时钟所划分的各通话时段所对应会话密钥素材N2、会话密钥、初始化向量、验证随机数和验证随机数密文,其中,n个所述会话密钥素材N2为被叫方实时产生的硬件随机数;所述接收所述INVITE响应报文,解密得到n个会话密钥素材N2,并基于n个所述会话密钥素材N1和n个所述会话密钥素材N2,生成n个会话密钥和n个初始化向量,包括:接收所述INVITE响应报文,并通过所述密话专网标识netID和用于加密被叫方整个响应消息的主密钥ID,取出对应的主密钥来验证所述第二密码杂凑值;
在验证通过时,通过所述密话专网标识netID和用于加密被叫方产生的n个会话密钥素材N2的主密钥ID,取出对应的主密钥来解密所述第二会话密钥密文,得到n个所述会话密钥素材N2;基于n个所述会话密钥素材N1和n个所述会话密钥素材N2,产生n个所述会话密钥及n个所述初始化向量。4.如权利要求3所述的实现端到端VoIP一话多密的加密通话方法,其特征在于,所述基于n个所述会话密钥素材N1和n个所述会话密钥素材N2,产生n个所述会话密钥及n个所述初始化向量,包括:SKEY_k=HMAC(HASH(N1_k|N2_k),call_id_xxx|sessionid_xxx)SKEY_key_k=HMAC(SKEY_k,call_id_xxx|sessionid_xxx|0)SKEY_iv_k=HMAC(SKEY_key_k,call_id_xxx|sessionid_xxx|1)式中:SKEY_k为中间结果;N1_k为第k个所述会话密钥素材N1;N2_k为第k个会话密钥素材N2;call_id_xxx为SIP的呼叫ID;sessionid_xxx为SIP的任务ID;HASH(N1_k|N2_k)为N1_k和N2_k拼接后计算哈希值;SKEY_key_k为第k个会话密钥;SKEY_iv_k为第k个初始化向量。5.如权利要求3所述的实现端到端VoIP一话多密的加密通话方法,其特征在于,所述基于n个所述会话密钥和n个所述初始化向量,与被叫方进行加密通话,包括:基于n个所述会话密钥和n个所述初始化向量,对所述验证随机数密文进行解密,得到验证随机数;将解密得到的所述验证随机数与明文中的所述验证随机数进行对比验证;在验证通过时,回复所述被叫方ACK消息,完成密话SIP三次握手通信;基于n个所述会话密钥和n个所述初始化向量,与被叫方进行加密通话,其中加密模式采用CBC算法结合CFB算法。6.如权利要求1所述的实现端到端VoIP一话多密的加密通话方法,其特征在于,与被叫方进行加密通话时,采用RTP进行音视频流的传输,包括:发送RTP流,由主叫方发送RTP报文中的通话时段采样域确定所对应主叫方通话时段序列区间下边沿,将主叫方通话时段序列区间下边沿对应的会话密钥和初始化向量作为实际加密使用的会话密钥和初始化向量;接收被叫方发送的RTP流,由被叫方发送RTP报文的通话时段采样域确定所对应被叫方通话时段序列区间下边沿,并将被叫方通话时段序列区间下边沿对应的会话密钥和初始化向量作为实际解密使用的会话密钥和初始化向量。7.如权利要求1所述的实现端到端VoIP一话多密的加密通话方法,其特征在于,所述安全存储介质的存储空间划分为多个相互隔离的子空间,每个所述子空间内存储属于同一所述密话专网的主密钥,且同一所述密话专网内存储具有相同密钥ID标识的所述主密钥;所述主密钥由量子密钥分发网络充注或由密钥代理充注。8.如权利要求7所述的实现端到端VoIP一话多密的加密通话方法,其特征在于,在所述向与其同属一密话专网的被叫方发起SIP会话请求之前,所述方法还包括:运行初始化程序对所述安全存储介质进行完整性检查,获得对所述安全存储介质内部存储的主密钥的使用授权。9.一种实现端到端VoIP一话多密的加密通话方法,其特征在于,所述方法应用于VoIP
终端,所述VoIP终端内集成安全存储介质,所述安全存储介质中存储有属于不同密话专网的主密钥,在所述VoIP终端作为被叫方时,包括以下步骤:接收主叫方发送的INVITE密文;通过主被叫双方所属的密话专网标识netID和用于加密主叫方INVITE消息的主密钥ID,取出对应的主密钥来验证第一密码杂凑值;在验证通过时,通过主被叫双方所属的密话专网标识netID和用于加密主叫方产生的n个会话密钥素材N1的主密钥ID,取出对应的主密钥来解密第一会话密钥密文,得到n个会话密钥素材N1,所述会话密钥素材N1为所述主叫方产生的硬件随时数,分别对应于所述主叫方当前时钟所划分的各通话时段;从其自身集成的安全存储介质中获取n个硬件随机数作为会话密钥素材N2,n个所述会话密钥素材N2分别对应于被叫方当前时钟所划分的各通话时段;基于n个所述会话密钥素材N1和n个所述会话密钥素材N2,生成INVITE响应报文。10.如权利要求9所述的实现端到端VoIP一话多密的加密通话方法,其特征在于,所述基于n个所述会话密钥素材N1和n个所述会话密钥素材N2,生成INVITE响应报文,包括:基于n个所述会话密钥素材N1和n个所述会话密钥素材N2,生成n个会话密钥和n个初始化向量;基于n个所述会话密钥、n个所述初始化向量和n个所述会话密钥素材N2,生成所述INVITE响应报文。11.如权利要求10所述的实现端到端VoIP一话多密的加密通话方法,其特征在于,所述基于n个所述会话密钥素材N1和n个所述会话密钥素材N2,生成n个会话密钥和n个初始化向量,包括:SKEY_k=HMAC(HASH(N1_k|N2_k),call_id_xxx|sessionid_xxx)SKEY_key_k=HMAC(SKEY_k,call_id_xxx|sessionid_xxx|0)SKEY_iv_k=HMAC(SKEY_key_k,call_id_xxx|sessionid_xxx|1)式中:SKEY_k为中间结果;N1_k为第k个所述会话密钥素材N1;N2_k为第k个会话密钥素材N2;call_id_xxx为SIP的呼叫ID;sessionid_xxx为SIP的任务ID;HASH(N1_k|N2_k)为N1_k和N2_k拼接后计算哈希值;SKEY_key_k为第k个会话密钥;SKEY_...

【专利技术属性】
技术研发人员:罗俊
申请(专利权)人:中电信量子科技有限公司
类型:发明
国别省市:

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

1