【技术实现步骤摘要】
实现端到端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)会话密钥协商或分发的过程基于非对称密钥对和数字证书,用于加密传送会话密钥素材的公钥是公开的,若量子计算机计算能力提升,存在被破译的可能 ...
【技术保护点】
【技术特征摘要】
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_...
【专利技术属性】
技术研发人员:罗俊,
申请(专利权)人:中电信量子科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。