本发明涉及一种数据安全领域,尤其涉及一种用于语音通信加密的系统与方法。
背景技术:
语音通话的加密方法伴随着固定电话/移动通话等技术的诞生而诞生,在固定电话通话的时代,专用的通话线路,模拟信号加密设备是相对较好的解决方案。在移动通话时代,信道加密/语音数字信号加密是相对较好的解决方案。与此同时,通话功能的加密性能和使用效率来说是相互对立的,良好的加密性能和高效的资源利用之间存在着一个权衡的选择问题。
现有技术中主要存在以下几种语音通话加密技术,分别由以下专利申请所公开:
cn200710073838,移动通信语音加密系统及其加密方法;
cn200910105294,加密语音呼叫的编解码协商的方法、通信系统及设备;
cn200910091818,voip语音加密保护方法、节点及系统;
cn201110173832,一种集群呼叫语音加密的方法、终端和系统;
cn201310219661,一种面向andriod系统的端到端语音加密的方法;
cn201510045144,一种终端通话语音加密方法及语音加密系统。
上述现有技术存在的缺点是:
(1)不能与现有的sipphone/h232会议系统相兼容,增加部署成本。
(2)语音通话数据加密的安全性不够好。
(3)整个语音通信系统的安全性不够好。。
技术实现要素:
为解决上述技术问题,本发明提出了一种用于语音通信加密的系统,该系统包括:至少两个通信终端,其特征在于,该系统还包括用于管理所述通信终端密钥的密钥管理服务器;
在各通信终端之间进行通信之前,所述各通信终端向所述密钥管理服务器发送注册协议信令;
如果认证成功,所述密钥管理服务器向所述各通信终端返回“注册成功”的协议信令;
所述各通信终端收到所述“注册成功”的协议信令后,各自启动一后台服务;
所述各通信终端通过各自的所述后台服务主动向所述密钥管理服务器上报加密密钥;
所述各通信终端互相通信时,从所述密钥管理服务器获取对方通信终端的加密密钥,同时在本地生成一个临时会话密钥,并采用该临时会话密钥加密语音编码码流数据,同时利用 获取的所述对方通信终端的加密密钥加密所述临时会话密钥,将经加密的所述语音编码码流数据和经加密的所述临时会话密钥发送给对方通信终端。
优选的,所述通信终端包括通信终端a和b,所述通信终端a和b分别向所述密钥管理服务器请求所述通信终端b和a的所述加密密钥,所述通信终端a生成一个临时会话密钥,然后调用所述通信终端b的加密密钥对所述临时会话密钥进行对称加密,加密后得到数据块ck,同时利用所述临时会话密钥对语音编码码流数据加密得到语音编码码流数据d,将所述数据块ck和语音编码码流数据d按照预定格式数据包进行封包发送给所述通信终端b。
优选的,所述通信终端b对接收到的所述预定格式数据包进行格式解析,得到所述数据块ck和语音编码码流数据d,用所述通信终端b的解密密钥解密所述数据块ck得到所述临时会话密钥,并利用所述临时会话密钥解密所述语音编码码流数据d获得编码后的音频数据,进而解码播放。
优选的,该系统还包括:中转服务器,所述各通信终端之间通过所述中转服务器的转发进行通信。
为解决上述技术问题,本发明提出了一种用于语音通信加密的方法,该方法包括以下步骤:
在各通信终端之间进行通信之前,所述各通信终端向所述密钥管理服务器发送注册协议信令;
如果认证成功,所述密钥管理服务器向所述各通信终端返回“注册成功”的协议信令;
所述各通信终端收到所述“注册成功”的协议信令后,各自启动一后台服务;
所述各通信终端通过各自的所述后台服务主动向所述密钥管理服务器上报加密密钥;
所述各通信终端的所述后台服务在探测到通信终端本身状态变化时,记录日志,并向所述密钥管理服务器同步所述各通信终端的状态数据;
所述密钥管理服务器根据所述各通信终端同步过来的状态数据,判断所述通信终端是否存在越权行为并按照相应的策略进行处理;
从所述密钥管理服务器获取对方通信终端的加密密钥,同时在本地生成一个临时会话密钥,并采用该临时会话密钥加密语音编码码流数据,同时利用获取的所述对方通信终端的加密密钥加密所述临时会话密钥,将经加密的所述语音编码码流数据和经加密的所述临时会话密钥发送给对方通信终端。
优选的,所述通信终端包括通信终端a和通信终端b,所述通信终端a和b分别向所述密钥管理服务器请求所述通信终端b和a的所述加密密钥,所述通信终端a生成一个临时会话密钥,然后调用所述通信终端b的加密密钥对所述临时会话密钥进行对称加密,加密后得到数据块 ck,同时利用所述临时会话密钥对语音编码码流数据加密得到语音编码码流数据d,将所述数据块ck和语音编码码流数据d按照预定格式数据包进行封包发送给所述通信终端b。
优选的,所述通信终端包括通信终端a、b和c,所述通信终端a、b和c分别向所述密钥管理服务器请求除自身之外的其他通信终端的所述加密密钥,所述通信终端a生成一个临时会话密钥,然后分别调用所述通信终端b和c的加密密钥对所述临时会话密钥进行对称加密,加密后得到数据块ck1和ck2,同时利用所述临时会话密钥对语音编码码流数据加密得到语音编码码流数据d1和d2,将所述数据块ck1和语音编码码流数据d1,所述数据块ck2和语音编码码流数据d2按照预定格式数据包进行封包分别发送给所述通信终端b和c。
优选的,所述通信终端b对接收到的所述预定格式数据包进行格式解析,得到所述数据块ck和语音编码码流数据d,用所述通信终端b的解密密钥解密所述数据块ck得到所述临时会话密钥,并利用所述临时会话密钥解密所述语音编码码流数据d获得编码后的音频数据,进而解码播放。
优选的,所述通信终端b和c对接收到的所述预定格式数据包进行格式解析,得到所述数据块ck1和ck2,以及语音编码码流数据d1和d2,用所述通信终端b和c的解密密钥解密所述数据块ck1和ck2得到所述临时会话密钥,并利用所述临时会话密钥解密所述语音编码码流数据d1和d2获得编码后的音频数据,进而解码播放。
对上述用于语音通信加密的方法,所述各通信终端之间均可以通过所述中转服务器的转发进行通信。
进一步,所述各通信终端之间通过所述中转服务器的转发进行通信。
通过本发明提出的方案,取得了以下技术效果:
1)该方案可以兼容企业原有的基于sip/h232的voip会议系统与ca系统等,降低企业it部署成本。
2)通过密钥服务器对各个会话终端的状态监测能够保证各个会话终端的合法性,提升通话系统整体的安全性。
3)通过带内传输非对称加密的会话密钥信息,提升语音通信系统的端到端的安全性能。
附图说明
图1是本发明通信终端间通信的框架图;
图2是本发明三方通信终端直接通信的框图;
图3是本发明两方通过中转服务器进行通信的框图;
图4是本发明三方通过中转服务器进行通信的框图。
具体实施方式
公钥(publickey)与私钥(privatekey)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
对称加密:是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secretkey),这种方法在密码学中叫做对称加密算法。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。
非对称加密:它使用了一对密钥,公钥(publickey)和私钥(privatekey)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。
会话密钥:(sessionkey)它是保证用户跟其它计算机或者两台计算机之间安全通信会话而随机产生的加密和解密密钥。会话密钥有时称对称密钥,因为同一密钥用于加密和解密。
rtp:实时传输协议(real-timetransportprotocol)是一个网络传输协议,它是由ietf的多媒体传输工作小组1996年在rfc1889中公布的,后在rfc3550中进行更新。该协议详细说明了在互联网上传递音频和视频的标准数据包格式。rtp广泛应用于流媒体相关的通讯和娱乐,包括电话、视频会议、电视和基于网络的一键通业务(类似对讲机的通话)。rtp报文由两部分组成:报头和有效载荷。
dtmf:双音多频(dualtonemulti-frequency),双音多频,由高频群和低频群组成,高低频群各包含4个频率。一个高频信号和一个低频信号叠加组成一个组合信号,代表一个数字。dtmf信号有16个编码。利用dtmf信令可选择呼叫相应的对讲机。电话系统中电话机与交换机之间的一种用户信令,通常用于发送被叫号码。
带内传输:主要是将dtmf数字信号按照一定的规则和格式组成一个数据包,然后封装到rtp中发送。接收端接收后进行解析,再还原成相应的dtmf信号,这种方式的优点是对丢包的容错性强以及识别差错率低。
sip:(sessioninitiationprotocol,会话初始协议)是由ietf(internetengineeringtaskforce,因特网工程任务组)制定的多媒体通信协议。它是一个基于文本的应用层控制协议,用于创建、修改和释放一个或多个参与者的会话。广泛应用于cs(circuitswitched,电路交换)、ngn(nextgenerationnetwork,下一代网络)以及ims(ipmultimedia subsystem,ip多媒体子系统)的网络中,可以支持并应用于语音、视频、数据等多媒体业务,同时也可以应用于presence(呈现)、instantmessage(即时消息)等特色业务。
zuc加密算法:
1:算法设计背景:
zuc算法,即祖冲之算法,是3gpp机密性算法eea3和完整性算法eia3的核心,为中国自主设计的流密码算法。2009年5月zuc算法获得3gpp安全算法组sa立项,正式申请参加3gpplte第三套机密性和完整性算法标准的竞选工作。历时两年多的时间,zuc算法经过评估,于2011年9月正式被3gppsa全会通过,成为3gpplte第三套加密标准核心算法。zuc算法是中国第一个成为国际密码标准的密码算法。
2:算法原理:
zuc是一个面向字的流密码。它采用128位的初始密钥作为输入和一个128位的初始向量(iv),并输出关于字的密钥流(从而每32位被称为一个密钥字)。密钥流可用于对信息进行加密/解密。
zuc的执行分为两个阶段:初始化阶段和工作阶段。在第一阶段,密钥和初始向量进行初始化,即不产生输出。第二个阶段是工作阶段,在这个阶段,每一个时钟脉冲产生一个32比特的密钥输出。
mcu:多点控制单元(multi-pointcontrolunit),是视频会议系统中的核心组成部分,主要作用是视频会议中控制音视频转发策略。
ca:认证服务器,也叫密钥服务器(certificationauthority),主要负责终端设备的认证管理,策略分发,密钥管理等功能。在本发明方案中,负责ca功能的服务器又叫v3服务器/密钥服务器。
图1是本发明通信终端间通信的框架图。
根据图1所示,会话终端与密钥(v3)服务器状态同步流程包括:
1.所有的会话终端(phonea/b/c...)向v3服务器发送“注册”协议信令。
2.认证成功后v3服务器向终端返回“注册成功”的协议信令。(认证失败后做相应处理如加入黑名单)
3.终端收到认证成功的协议信令后,终端启动本身的检测探针服务在后台运行。
4.所有的终端通过探针服务主动向密钥服务器上报自己加密的公钥。
5.终端在后台运行检测探针服务在探测到终端本身状态变化时,记录日志,并向v3服务器同步终端状态数据。
6.v3服务器根据终端同步过来的状态数据,来判断终端是否存在越权行为并按照相应 的策略进行处理。
语音通信数据加密流程包括:
1.phonea从v3服务器获取phoneb的公钥
2.phonea与phoneb进行握手协商,确定通话是否加密
3.phoneb从v3服务器获取phonea的公钥
4.达成一致后,phonea本地临时生成一个临时会话密钥,然后调用phoneb的公钥对临时会话密钥进行对称加密,加密后得到数据块ck,同时利用临时会话密钥对音频编码后的数据调用zuc加密算法进行加密得到加密后的语音编码码流数据d。
5.phonea对步骤4中获得的数据ck和数据d一起按照rtp包的格式进行封包并发送到phoneb,加密后的临时会话密钥ck通过带内传输的方式进行传输。
6.phoneb对收到的rtp数据包进行格式解析,得到步骤4中的数据ck和数据d,对数据c用phoneb本地的私钥对加密后的临时会话密钥进行解密,获取临时会话密钥。
7.phoneb利用步骤6中获得的临时会话密钥,对解析后得到的数据d进行解密,获得编码后的音频数据,进而解码播放。
实施例一
当会话的参与方有两方扩展到三方甚至是多方,通话的连接方式由点对点直连变成经由mcu转发时,具体参见图2所示,在sipphone直连模式中,当会话终端由两方变成三方或者以上时,会话终端之间的连接会以fullmesh的网状网结构连接。这种情况时的技术方案跟上述发明中讲到的点对点方案的不同主要有以下两点:
1:终端ca向v3服务器请求除自身以外的其它所有终端(cbcc……)的公钥,同理也适用于其它的终端如cbcc……
2:会议发起终端ca在生成临时会话密钥后,利用不同终端cbcc等的公钥来对临时会话密钥进行加密,生成不同的数据块ckbckc等,然后把这些数据块打包到对应的rtp包中发送给终端cbcc等。
实施例二
如图3所示:这种通话模式是通话的双方经过会议中转服务器mcu来进行通信,这种通话模式下通话的流程为:
1.终端ca向mcu发送要求与客户端cb进行加密通话的请求.
2.mcu将请求转发给终端cb。终端cb同意请求后,向mcu发送确认信息。
3.媒体服务器mcu将通话的信息同步到密钥v3服务器上。
4.v3服务器分别向终端cacb发送cbca的公钥。
5.终端ca在本地临时生成一个临时会话密钥,然后调用cb的公钥对临时会话密钥进行对称加密,加密后得到数据块ck,同时利用临时会话密钥对音频编码后的数据调用zuc加密算法进行加密得到加密后的语音编码码流数据d。
6.终端ca将步骤5中得到的数据块ck和数据d按照rtp的格式进行打包,并发送到mcu服务器上。
7.mcu将步骤6发送的数据转发给终端cb。
剩余的步骤可以参考申请图2中后面的步骤,即接收端接收数据后解密得到临时会话密钥然后,利用临时会话密钥解密码流,并解码播放。
终端cb发送数据给ca也按照上述的步骤进行,对称进行。
实施例三
如图4所示,多方mcu通话系统的加密方案总体来说跟两方的类似,这种通话模式下通话的流程为:
1.终端ca向mcu发送要求与终端cb、cc进行加密通话的请求.
2.mcu将请求转发给终端cb、cc。终端cb、cc同意请求后,向mcu发送确认信息。
3.媒体服务器mcu将通话的信息同步到密钥v3服务器上。
4.v3服务器分别向终端ca、cb、cc发送除自身之外的其他终端的公钥。
5.终端ca在本地临时生成一个临时会话密钥,然后调用客户端cb、cc的公钥对临时会话密钥进行对称加密,加密后得到数据块ck1和ck2,同时利用临时会话密钥对音频编码后的数据调用zuc加密算法进行加密得到加密后的语音编码码流数据d1和d2。
6.终端ca将步骤5中得到的数据块ck1、ck2和数据d1、d2按照rtp的格式进行打包,并发送到mcu服务器上。
7.mcu将步骤6发送的数据转发给终端cb、cc。
剩余的步骤可以参考图2中后面的步骤,即接收端接收数据后解密得到临时会话密钥然后,利用临时会话密钥解密码流,并解码播放。
终端cb发送数据给ca、cc也按照上述的步骤进行,对称进行。
通过本发明的实施例,本发明可以兼容企业原有的基于sip/h232的voip会议系统与ca系统等,降低企业it部署成本。通过密钥服务器对各个会话终端的状态监测能够保证各个会话终端的合法性,提升通话系统整体的安全性。通过带内传输非对称加密的会话密钥信息,提升语音通信系统的端到端的安全性能。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应保护在本发明的保护范围 之内。