一种端到端加密通信的密钥分发方法

文档序号:7590908阅读:150来源:国知局
专利名称:一种端到端加密通信的密钥分发方法
技术领域
本发明涉及保密通信技术,特别是指一种在基于移动分组交换网端到端加密通信系统中实现端到端加密通信的密钥分发方法。
背景技术
目前,移动通信技术已被广泛应用,但在现有的移动通信系统中,对普通民用移动电话的语音流传输大都没有经过加密处理,虽然有的运营商为了提高安全性增加了加密功能,也仅仅是在无线传输部分进行了加密处理。而对于一些特殊的行业应用,需要移动通信有更高的安全性能,不仅要防止通话在无线传输部分被监听,还要避免通话在陆地网络中传送时被截获、监听,换句话说就是,需要对移动电话的呼叫和通信进行端到端的加密处理。
由于现有的移动通信网络,如GSM、CDMA、WCDMA、CDMA2000等等,其电路交换网络都是为非加密电话设计的,这些移动网络中的移动交换中心(MSC)设备负责通信控制和语音交换;由于无线传输与MSC间的传输网络使用不同的码率和语音编码类型,所以MSC还要对语音进行编解码及码率转换。故此,如果在现有的电路交换网络上实现加密移动通信,就需要改造移动网络的MSC,使MSC不进行编解码和码率转换,而直接透传加密后的语音数据。但是,在现有的移动网络中,MSC数量众多且具有重要的地位,这种通过对MSC进行改造来实现端到端加密传输,成本非常昂贵。
为了能满足高安全性的通信需求,实现移动通信网中的端到端加密通信,本申请人在另一专利申请中提出了一种基于移动分组网的端到端加密通信系统,该端到端加密通信系统的组成结构如图1所示,主要包括移动分组接入网络、加密通信移动终端、VOIP服务器(VOIP Server)和密钥分发中心(KDC,Key Distribution Center)。
其中,移动分组接入网络是指提供分组接入能力的现有移动通信网络,包括GPRS、CDMA、WCDMA、CDMA2000无线分组域接入网络以及这些移动网络的电路域数据业务接入网络,由运营商负责提供和运营。在不同的网络中,提供有不同的服务支持节点,用以实现IP网络的接入。
加密通信移动终端是指所有适用于当前所使用移动通信网络的终端,比如在GPRS、CDMA、WCDMA、CDMA2000无线网络中,分别是GPRS终端、CDMA终端、WCDMA终端、CDMA2000终端。加密通信移动终端必须具有移动分组接入能力和语音加密能力,并且能将采样得到的语音帧加密,并将加密后的语音帧封装为IP数据进行传送。这里,语音帧可以是单帧或多帧,可使用IP/UDP/RTP协议来封装语音数据。
VOIP Server和KDC共同组成VOIP呼叫控制单元,位于IP网络侧,用来进行VOIP呼叫控制和密钥的生成、管理和分发,并负责VOIP用户的注册和鉴权,该VOIP呼叫控制单元还包括用户数据库。这里,VOIP Server负责VOIP的呼叫控制,叠加在移动网络的分组域之上,移动分组接入网络只需配置IP路由数据,让加密移动通信的用户能够正常访问VOIP呼叫控制网络的边缘入口设备。KDC用于根据用户私有信息生成加密密钥特征数据,加密通信移动终端可以根据加密密钥特征数据生成真正的密钥,并使用真正加密密钥对语音进行加解密操作。
在进行呼叫控制过程中,VOIP Server收集通信双方的加密相关信息,并通过用户数据库发送给KDC;KDC根据VOIP Server收集的通信双方的加密相关信息,产生加密通信所用的密钥,并通过用户数据库返回给VOIP Server;用户数据库用来存储用户的签约信息,即注册信息,以及存有与用户的加密模块相同的私有信息。
在保密通信中,产生加密密钥后的密钥分发方式是非常关键的,虽然已提出了上述基于移动分组交换网的端到端加密通信系统,但如何在该系统中进行密钥分发尚未提出具体的实现方案。

发明内容
有鉴于此,本发明的主要目的在于提供一种端到端加密通信的密钥分发方法,使得在基于移动分组交换网的端到端加密通信系统中能实现高安全性的密钥分发。
为达到上述目的,本发明的技术方案是这样实现的一种端到端加密通信的密钥分发方法,在每个用户终端和密钥分发中心分别存储有对应用户的用户私有数据,该方法包括以下步骤a.VOIP服务器收到主叫终端的呼叫建立请求后,向密钥分发中心发送获取密钥请求;b.密钥分发中心收到请求后,分别产生主叫加密密钥特征数据和被叫加密密钥特征数据,并将所产生的加密密钥特征数据返回给VOIP服务器;c.VOIP服务器将所得到的主叫加密密钥特征数据和被叫加密密钥特征数据分别发送给主叫终端和被叫终端。
其中,步骤c所述VOIP服务器将被叫加密密钥特征数据发送给被叫终端具体为VOIP服务器将被叫加密密钥特征数据携带于SIP信令的呼叫建立消息中发送给被叫终端。
步骤c所述VOIP服务器将主叫加密密钥特征数据发送给主叫终端具体为VOIP服务器在收到被叫终端发来的振铃消息后,将主叫加密密钥特征数据携带于SIP信令的被叫振铃消息中发送给主叫终端。或者,步骤c所述VOIP服务器将主叫加密密钥特征数据发送给主叫终端具体为VOIP服务器在收到被叫终端发来的被叫应答消息后,将主叫加密密钥特征数据携带于SIP信令的被叫应答消息中发送给主叫终端。
步骤c所述VOIP服务器将主叫和被叫加密密钥特征数据发送给主叫和被叫终端具体为VOIP服务器将主叫加密密钥特征数据和被叫加密密钥特征数据携带于SIP信令的通知消息中分别发送给主叫终端和被叫终端。
该方法进一步包括用户终端预先订阅加密呼叫事件,则步骤c所述VOIP服务器将主叫和被叫加密密钥特征数据发送给主叫和被叫终端具体为VOIP服务器收到主叫和被叫加密密钥特征数据后,判断当前主叫终端和被叫终端是否订阅加密呼叫事件,如果是,则将相应的加密密钥特征数据携带于SIP信令的通知消息中发送给订阅加密呼叫事件的用户终端;否则,通过SIP信令的呼叫建立消息将被叫加密密钥特征数据发送给被叫终端,通过SIP信令的被叫振铃消息或/和被叫应答消息将主叫加密密钥特征数据发送给主叫终端。
该方法进一步包括主叫终端或被叫终端收到通过SIP信令的通知消息发来的加密密钥特征数据后,向VOIP服务器返回应答消息。
上述方案中,所述主叫加密密钥特征数据至少包括主叫密钥掩码,所述被叫加密密钥特征数据至少包括被叫密钥掩码。其中,步骤b中密钥分发中心随机产生分别用于主叫计算本次通信密钥和用于被叫计算本次通信密钥的随机数,再分别通过主叫终端和被叫终端各自的随机数、各自的用户私有数据以及本次呼叫的加密通信密钥产生主叫密钥掩码和被叫密钥掩码,则VOIP服务器向主叫终端和被叫终端发送携带有加密密钥特征数据的消息时,所述加密密钥特征数据进一步包括用于主叫或用于被叫计算本次通信密钥的随机数。
该方法进一步包括d.主叫终端和被叫终端分别通过当前得到的加密密钥特征数据和自身存储的用户私用数据产生本次呼叫的加密通信密钥,并通过所产生的加密通信密钥进行双方的加密语音通话。其中,所述加密密钥特征数据至少包括密钥掩码。步骤b中密钥分发中心随机产生分别用于主叫计算本次通信密钥和用于被叫计算本次通信密钥的随机数,则发送给主叫终端和被叫终端的加密密钥特征数据中分别进一步包括所产生的随机数;则步骤d中主叫终端和被叫终端分别通过当前得到的密钥掩码、随机数和自身存储的用户私用数据产生本次呼叫的加密通信密钥。
上述方案中,每次呼叫所采用的加密通信密钥均不同。
本发明所提供的端到端加密通信的密钥分发方法,在基于移动分组交换网络端到端加密通信系统中,完成加密密钥的分发。由于对于每次呼叫,密钥分发中心都会产生不同的主叫和被叫加密密钥特征数据,使每次加密通信中使用不同的加密密钥对语音进行加密处理,具有非常高的安全可靠性。并且,本发明的密钥分发方式不涉及在信令网络传输中传递未加密的密钥,保证了密钥的安全性。
本发明的密钥分发方式具有高兼容性和扩展性,能够适应于不同的加密算法,而且能满足移动加密通信网络与其他网络的互通时的加密密钥分发需求。
本发明可基于已有的呼叫流程发起获取密钥请求,并完成密钥分发,实现简单方便。本发明的方法对已有处理流程改动很小,基本不会影响正常的通信处理过程。另外,本发明进行密钥分发时,可利用正常传输的信令消息携带所需的参数或增加传输信令发送所需参数,实现方式灵活多样。


图1为实现本发明方法的系统组成结构示意图;图2为本发明方法具体实现的处理流程图。
具体实施例方式
本发明的核心思想是利用已有的端到端呼叫流程,VOIP服务器在收到主叫终端的呼叫建立请求后,向密钥分发中心发起获取密钥的请求,由密钥分发中心产生主叫和被叫加密密钥特征数据,所产生的加密密钥特征数据再由VOIP服务器通过SIP信令消息分别下发给主叫终端或被叫终端,主叫和被叫终端通过得到的加密密钥特征数据产生本次呼叫的真正的加密通信密钥,双方进行加密语音通信。这里,所述的加密密钥特征数据可以是一组数据,至少包括用户终端的密钥掩码。
基于图1所示的端到端加密通信系统,本发明提出了一种加密密钥的发送方式,分发过程涉及加密通信移动终端、VOIP Server和密钥分发中心。其中,加密通信移动终端中保存有用户私有加密信息,加密通信移动终端根据私有加密信息和加密密钥特征数据生成真正的加密密钥,VOIP Server在密钥分发过程中承担密钥转发功能,密钥分发中心负责加密密钥特征数据的生成。
假定主叫用户和被叫用户均为移动分组网络的普通用户,都签约了移动网络的相关数据业务,并且都签约了VOIP加密通信业务。那么,主叫用户和被叫用户在签约VOIP加密通信业务时,在VOIP Server和密钥分发中心同时保存了每个用户的私有数据,即指定的用户个人信息,如用户加密标识、用户密码、其它特定数据等;并且在用户使用的加密通信移动终端中也保存了加密相关私有数据,比如用户开户时,在加密通信移动终端的加密模块中写入一些特定数据。
以两个加密通信移动终端之间进行端到端加密通信为例,这里,主叫加密通信移动终端简称为主叫终端,被叫加密通信移动终端简称为被叫终端。本发明中,密钥分发过程是在加密通信的呼叫流程基础上实现的。
具体的密钥分发过程如图2所示,包括以下步骤步骤201移动用户成功附着移动分组交换网络,并在VOIP Server上登记,也就是说,用户已建立分组域(PS)连接并注册,在登记过程中VOIP Server和密钥分发中心都会对当前附着的用户进行鉴权。
步骤202~203当主叫终端要发起加密呼叫时,主叫终端向VOIP Server发出起始会话协议(SIP)信令的呼叫建立消息INVITE,发起呼叫建立过程。
步骤204VOIP Server收到INVITE消息后,向密钥分发中心发送获取密钥请求,请求密钥分发中心生成本次呼叫的主叫加密密钥特征数据和被叫加密密钥特征数据,该获取密钥请求中携带有主叫用户号码和被叫用户号码。
步骤205密钥分发中心根据所收到请求中的主叫用户号码和被叫用户号码以及用户私有数据,分别产生主叫加密密钥特征数据和被叫加密密钥特征数据。这里,加密密钥特征数据是指与加密通信所用真正密钥Key相关的数据,主叫或被叫终端能够根据所得到的特征数据和自身保存的用户私有数据生成当前加密通信所用的真正密钥Key,该加密密钥特征数据至少包括主叫或被叫的密钥掩码,还可以包括用于计算本次通信密钥的随机数。当然,也可以携带其它与本次呼叫所用的加密通信密钥相关的信息参数。
其中,密钥掩码的具体产生过程可以是这样密钥分发中心根据主叫用户号码和被叫用户号码,到用户数据库中查找主叫和被叫所对应的用户私有数据;同时,分别随机产生两个随机数,采用一个随机数、主叫用户私有数据和本次呼叫的加密通信密钥Key通过预先设定的已有标准加密算法,如MD5算法等,生成主叫密钥掩码,同样,再利用另一随机数、被叫用户私有数据和本次呼叫的加密通信密钥Key通过预先设定的已有标准加密算法,生成被叫密钥掩码。当然,密钥掩码的生成过程并不仅限于此。
由于加密密钥特征数据是每次呼叫时随机产生的,所以能够保证每次加密通话所采用的加密通信密钥均不一致。
步骤206生成主叫密钥掩码和被叫密钥掩码后,密钥分发中心将主叫加密密钥特征数据和被叫加密密钥特征数据,通过获取密钥响应传送给VOIPServer,该响应的加密密钥特征数据中还包括有密钥分发中心随机产生的、用于计算本次通信密钥的随机数。
步骤207~209VOIP Server收到获取密钥响应后,将主叫终端发送的INVITE消息发送给被叫终端,该消息中携带有包括被叫密钥掩码、用于被叫计算本次通信密钥的随机数的被叫加密密钥特征数据。被叫终端根据所得到的加密密钥特征数据和自身存储的用户私有数据,通过预先设定的加密算法计算本次呼叫真正的加密通信密钥,比如被叫终端将被叫密钥掩码、随机数和用户私有数据按照设定的加密算法计算得到本次呼叫的加密通信密钥;之后,利用所产生的密钥对语音数据进行加密和解密操作。
同时,被叫终端收到INVITE请求消息后,如果自身空闲,就会产生振铃,并向VOIP Server返回SIP信令的被叫振铃消息180 Ringing,表示被叫振铃。
步骤210VOIP Server收到180 Ringing消息后,获知被叫振铃,则将180Ringing消息转发给主叫终端,通知主叫终端被叫振铃;并在转发180 Ringing消息时,在消息中携带有包括主叫密钥掩码和用于主叫计算本次通信密钥的随机数的主叫加密密钥特征数据。
主叫终端收到主叫密钥掩码和随机数后,结合自身存储的用户私有数据,通过预先设定的加密算法产生本次呼叫的加密通信密钥Key,比如主叫终端将主叫密钥掩码、随机数和用户私有数据按照设定的加密算法计算得到本次呼叫的加密通信密钥;之后,利用所产生的密钥对语音数据进行加密和解密操作。
这里,选择在180 Ringing消息中下发主叫加密密钥特征数据,能够避免因终端计算真正加密密钥过程的时间对会话的影响。
步骤211~213此时,如果被叫摘机接听电话,则被叫终端向VOIP Server发送SIP信令的被叫应答消息200OK,表示被叫已摘机应答。
VOIP Server收到后,会将200OK消息转发给主叫终端。由于180 Ringing为不可靠消息,故在VOIP Server向主叫终端前转200OK消息中,可再次携带主叫加密密钥特征数据,以避免因180 Ringing消息丢失,导致主叫终端不能获取本次呼叫的加密密钥特征数据。
步骤214~215主叫终端收到主叫密钥特征数据后,如果因180 Ringing消息丢失导致没有获得本次呼叫的加密密钥特征数据,那么,就根据200OK消息中的加密密钥特征数据,结合自身存储的用户私有数据,通过预先设定的加密算法产生本次呼叫的加密通信密钥Key,并使用密钥对语音进行加密和解密操作;同时,通过VOIP Server向被叫终端发送SIP信令的确认消息ACK。
如果主叫终端已从180 Ringing消息获取本次呼叫的加密密钥特征数据并产生本次呼叫的加密通信密钥,则在这里可以不作任何处理,直接向被叫终端返回ACK消息。
如果主叫终端已从180 Ringing消息获取本次呼叫的加密密钥特征数据并产生本次呼叫的加密通信密钥,在这里也可以再次核对上一次所获得加密密钥特征数据的准确性,选择重新产生本次呼叫的加密通信密钥Key或不作处理;同时向被叫终端返回ACK消息。
如果主叫终端已从180 Ringing消息获取本次呼叫的加密密钥特征数据但并未产生本次呼叫的加密通信密钥,则在这里结合自身存储的用户私有数据,通过预先设定的加密算法产生本次呼叫的加密通信密钥Key,并使用密钥对语音进行加密和解密操作;同时向被叫终端返回ACK消息。
步骤216主叫终端和被叫终端建立媒体流,进行加密语音通信。
为了保证主叫终端和被叫终端能够准确获得密钥分发中心生成主叫和被叫加密密钥特征数据,VOIP Server可以在收到密钥分发中心发来的主叫和被叫加密密钥特征数据后,主动通过SIP信令中的通知消息Notify,分别将主叫加密密钥特征数据和被叫加密密钥特征数据发送给主叫终端和被叫终端,如步骤206’所示。这种情况下,就不需要再通过INVITE消息将被叫加密密钥特征数据送给被叫终端,也不用通过180 Ringing消息和200OK消息将主叫加密密钥特征数据送给主叫终端。
VOIP Server这种通过通知消息向主叫和被叫终端分发加密密钥特征数据的方式,也可以是由用户终端事先订阅的加密呼叫事件触发的。比如某个用户终端事先订阅了加密呼叫事件,也就是说,该用户终端要求VOIP Server在获得给自己的加密密钥特征数据后,就通过通知消息发给自己。那么,在实际应用中,VOIP Server收到密钥分发中心发来的加密密钥特征数据后,判断一下该加密密钥特征数据对应的用户终端是否订阅了加密呼叫事件,如果订阅了,就通过通知消息将当前得到的加密密钥特征数据发给相应用户终端,如果未订阅,VOIP Server可以选择主动通过通知消息发送,也可以选用180 Ringing以及200OK消息发送给主叫终端或通过INVITE消息发送给被叫终端。
对于VOIP Server通过通知消息向主叫或被叫终端发送加密密钥特征数据的情况,主叫终端或被叫终端在收到加密密钥特征数据后,可以向VOIP Server返回针对通知消息的应答消息200OK,表示成功接收加密密钥特征数据,如步骤206”所示。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种端到端加密通信的密钥分发方法,在每个用户终端和密钥分发中心分别存储有对应用户的用户私有数据,其特征在于,该方法包括以下步骤a.VOIP服务器收到主叫终端的呼叫建立请求后,向密钥分发中心发送获取密钥请求;b.密钥分发中心收到请求后,分别产生主叫加密密钥特征数据和被叫加密密钥特征数据,并将所产生的加密密钥特征数据返回给VOIP服务器;c.VOIP服务器将所得到的主叫加密密钥特征数据和被叫加密密钥特征数据分别发送给主叫终端和被叫终端。
2.根据权利要求1所述的方法,其特征在于,步骤c所述VOIP服务器将被叫加密密钥特征数据发送给被叫终端具体为VOIP服务器将被叫加密密钥特征数据携带于SIP信令的呼叫建立消息中发送给被叫终端。
3.根据权利要求1所述的方法,其特征在于,步骤c所述VOIP服务器将主叫加密密钥特征数据发送给主叫终端具体为VOIP服务器在收到被叫终端发来的振铃消息后,将主叫加密密钥特征数据携带于SIP信令的被叫振铃消息中发送给主叫终端。
4.根据权利要求1或3所述的方法,其特征在于,步骤c所述VOIP服务器将主叫加密密钥特征数据发送给主叫终端具体为VOIP服务器在收到被叫终端发来的被叫应答消息后,将主叫加密密钥特征数据携带于SIP信令的被叫应答消息中发送给主叫终端。
5.根据权利要求1所述的方法,其特征在于,步骤c所述VOIP服务器将主叫和被叫加密密钥特征数据分别发送给主叫和被叫终端具体为VOIP服务器将主叫加密密钥特征数据和被叫加密密钥特征数据携带于SIP信令的通知消息中分别发送给主叫终端和被叫终端。
6.根据权利要求1所述的方法,其特征在于,该方法进一步包括用户终端预先订阅加密呼叫事件,则步骤c所述VOIP服务器将主叫和被叫加密密钥特征数据发送给主叫和被叫终端具体为VOIP服务器收到主叫和被叫加密密钥特征数据后,判断当前主叫终端和被叫终端是否订阅加密呼叫事件,如果是,则将相应的加密密钥特征数据携带于SIP信令的通知消息中发送给订阅加密呼叫事件的用户终端;否则,通过SIP信令的呼叫建立消息将被叫加密密钥特征数据发送给被叫终端,通过SIP信令的被叫振铃消息或/和被叫应答消息将主叫加密密钥特征数据发送给主叫终端。
7.根据权利要求5或6所述的方法,其特征在于,该方法进一步包括主叫终端或被叫终端收到通过SIP信令的通知消息发来的加密密钥特征数据后,向VOIP服务器返回应答消息。
8.根据权利要求1、2、3、5或6所述的方法,其特征在于,所述主叫加密密钥特征数据至少包括主叫密钥掩码,所述被叫加密密钥特征数据至少包括被叫密钥掩码。
9.根据权利要求8所述的方法,其特征在于,步骤b中密钥分发中心随机产生分别用于主叫计算本次通信密钥和用于被叫计算本次通信密钥的随机数,再分别通过主叫终端和被叫终端各自的随机数、各自的用户私有数据以及本次呼叫的加密通信密钥产生主叫密钥掩码和被叫密钥掩码,则VOIP服务器向主叫终端和被叫终端发送携带有加密密钥特征数据的消息时,所述加密密钥特征数据进一步包括用于主叫或用于被叫计算本次通信密钥的随机数。
10.根据权利要求1所述的方法,其特征在于,该方法进一步包括d.主叫终端和被叫终端分别通过当前得到的加密密钥特征数据和自身存储的用户私用数据产生本次呼叫的加密通信密钥,并通过所产生的加密通信密钥进行双方的加密语音通话。
11.根据权利要求10所述的方法,其特征在于,所述加密密钥特征数据至少包括密钥掩码。
12.根据权利要求11所述的方法,其特征在于,步骤b中密钥分发中心随机产生分别用于主叫计算本次通信密钥和用于被叫计算本次通信密钥的随机数,则发送给主叫终端和被叫终端的加密密钥特征数据中分别进一步包括所产生的随机数;则步骤d中主叫终端和被叫终端分别通过当前得到的密钥掩码、随机数和自身存储的用户私用数据产生本次呼叫的加密通信密钥。
13.根据权利要求1或10所述的方法,其特征在于,每次呼叫所采用的加密通信密钥均不同。
全文摘要
本发明公开了一种端到端加密通信的密钥分发方法,在每个用户终端和密钥分发中心分别存储有对应用户的用户私有数据,该方法包括VOIP服务器收到主叫终端的呼叫建立请求后,向密钥分发中心发送获取密钥请求;密钥分发中心收到请求后,分别产生主叫加密密钥特征数据和被叫加密密钥特征数据,并将所产生的加密密钥特征数据返回给VOIP服务器;VOIP服务器将所得到的主叫和被叫加密密钥特征数据分别发送给主叫终端和被叫终端;主叫终端和被叫终端分别通过当前得到的加密密钥特征数据和自身存储的用户私用数据产生本次呼叫的加密通信密钥,并通过所产生的加密通信密钥进行双方的加密语音通话。该方法能在端到端加密通信系统中实现高安全性的密钥分发。
文档编号H04L9/14GK1681241SQ20041003085
公开日2005年10月12日 申请日期2004年4月7日 优先权日2004年4月7日
发明者漆宝剑, 赵建国, 谢国军 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1