一种移动通信系统密钥管理机制和端到端加密协议设计方案

邵琳,李晖

北京邮电大学信息工程学院信息安全中心,北京 (100876)

E-mail:monkshao@https://www.360docs.net/doc/7d6296815.html,

摘要:移动通信系统为了提高安全性,必须支持端到端加密功能。但是,目前GSM系统的话音传输过程由于经过了压缩语音编解码,不能将加密语音无损的传输到另一终端,因此在语音信道上实现端到端加密的困难性很大。这里我们采用数据信道来传递加密语音通话的信息。本文主要进行公众移动通信系统的端到端加密系统密钥管理机制和加密协议设计,提出了一种交互流程简单参与方较少的协议,并对协议的安全性进行分析。

关键字: 端到端加密 会话初始化协议 密钥管理中心 注册数据服务器

中图分类号:TP309

1 引言

由于移动公网用户通信的信号经由空中、基站、中继线路和交换设备等众多在安全上难以控制的环节,因此采用端到端加密方案是保证通话安全最为可靠的方法。要实现端到端的保密通信,公网必须在两个用户之间提供一条透明同时又是低时延(就语音通信而言)的信道。然而,目前的移动公网并不能为用户提供低时延的信道用于端到端加密。这是因为,话音加密后成为白噪声,不再具有话音的特征,因此,通过声码板后是无法正确还原的 [1]。

由于第二代移动通信系统移动终端作为受限设备仍然具有有限的能力,无法承担较重的计算任务,而且无线信道的带宽限制也使得消息的发送量受到限制。因此在这样的环境下设计的安全认证协议主要是基于对称加密体制的。有可信第三方参与的对称密钥认证协议多数存在安全问题,如Needham Schroeder 私钥协议[2]。

当移动用户通过通信网络安全地建立起呼叫时,其中最关键的问题是如何设计一个认证和密钥管理协议集成到呼叫建立过程中。认证过程作为安全通信的开始,在保密通信系统中有着重要的地位和作用。认证协议安全性能的好坏将直接影响到整个会话过程的安全性,以及后续会话的安全性。

互认证和密钥分发协议是具有端到端加密功能的移动通信系统的关键技术。鉴于移动终端的特点,对这类协议的要求是:轻量级(交互过程和计算复杂性)和比较好的安全特性。到目前为止国内外对这种协议的研究比较少或者没有公开,影响比较大的是Chang-Seop Park 提出的方案[3]但该方案的不足之处是交互过程复杂和参与方较多。现有的密钥协商/交换协议大多是针对用户和服务器之间的应用环境,服务端的计算量较大。

这里我们设计了基于voip技术的方案,并设计了基于对称密钥体制的端到端认证和密

2 承载端到端加密的通信平台

GPRS可向用户提供从9.6Kbps到多于150Kbps的接入速率;支持多用户共享一个信道的机制,提高了无线信道的利用率,在技术上提供了按数据量计费的可能;支持一个用户占用多个信道,提供较高的接入速率,是移动网和IP网的结合,可提供固定IP网支持的所有业务[4]。CSD (Circuit Switch Data) 是GSM网络中有专门用于传输数据服务的数据通道,要对数据进行加密、解密是很容易实现的。

我们设计的端到端加密系统是采用GPRS信道进行加密数据信息的传输,并采用方便以时间计费的CSD信道进行话音数据的传输。

3 端到端安全协议设计准则

如果在协议设计阶段能够充分考虑一些不当的协议结构可能使协议的安全性遭到破坏从而避免不必要的协议错误。Martin Abadi和Roger Needham提出了设计协议应遵守的原则[5],归纳起来有如下方面:

消息独立完整性原则、消息前提准确原则、主体身份标识原则、加密目的原则、签名原则(当主体对一个加密消息进行签名时,并不表面主体知道加密消息的内容;反之,如果主体对一个消息签名后再加密,则表明主体知道消息的内容。因此,如果需要同时使用加密与签名时,应当先对消息进行签名在对结果进行加密)、随机数的使用原则(在协议中使用随机数时,应明确其所起的作用和属性,使用随机数可提供消息的新鲜性,因此随机数的真正随机性是关键)、时戳的使用原则(当使用时戳时,必须考虑各个机器的始终与当地标准时间的差异,这种差异不能影响到协议执行的有效性。时间系统的维护成为可信任计算基础的重要部分。时戳的使用极大地依赖于时钟的同步,但这一点不容易做到)、编码原则(如果一个编码用于表示消息的含义,那么它应当指出所使用的具体的编码格式)。

这里所讨论的认证协议,不但具有一般认证协议设计时需要注意的问题,而且必须考虑到无线移动环境下的特点。在这里关注的移动通信系统对认证协议的影响因素主要是:

1 移动终端有限的计算存储资源和能源储备能力;

2 无线网络传输能力和传输质量远比不上有线网;

3 无线网络在物理访问特性上的开放性使得无线网比有线网有更高的安全脆弱性。

上述特征使得认证协议在无线移动环境下的设计更为困难。协议设计不像在有线网络环

4 端到端加密系统设计思想

我们借用了SIP协议的思想,克服了SIP协议中的安全问题[6],并加以简化,设计了一种新的能够进行密钥分发和呼叫控制的加密通话协议。为了尽量模仿无线环境以得到准确的分析结果,在设计系统时充分考虑了移动通信系统的限制和具体交互过程。

SIP利用消息头和消息体为多媒体会话提供点到点或端到端的安全机制,但是SIP 请求和响应不能在端到端的用户之间完全加密[7]。由于GPRS网络中具有转发服务器与重定向服务器所具有的功能,所以这里我们只保留了SIP服务器中的注册服务器,并将注册服务器和密钥管理中心关联在一起。这样一方面,能够实现了传输过程的端到端加密,另一方面能够控制协议的复杂度并缩短密钥分发的准备时间。

为了尽量模拟移动通信环境中用户可以与任一其他用户主动通信的需求,同时考虑系统的通用性简易性和扩展性,我们在设计中将系统的加密层面和通话层面分开。

手机终端尽可能不包含加密通信所需要的参数和信息,它基本只在通话层面工作。加密SIM保存有加密通信所需要的参数和信息,它和注册数据服务器、密钥管理中心构成了加密层面。由于密钥管理中心和注册服务器处于核心网络中,我们认为注册数据服务器和密钥管理中心之间的网路相对安全的,也就是说,注册服务器始终认为密钥管理中心是可靠的,对于从密钥管理中心下发的消息是信任的。

GSM端到端语音加密系统的加密网络包括密钥管理中心和注册数据服务器两部分。密钥管理中心(Key Management Center, KMC)和注册数据服务器(Register Data Server)通过网络中的GGSN接入核心网络,实现密钥管理的功能;在移动终端EMT中添加加密卡(ESIM),实现在移动终端中的语音加密功能。

4.1 端到端加密系统的工作方式

在密钥的管理中,带有保密功能的GSM保密手机在每次开机的时候都会向指定的密钥管理中心KMC (Key Management Center) 发送带有自身身份认证的短消息,在KMC确认了它的合法性和真实性后,会向保密终端发送密钥。保密手机收到密钥后才能打开保密功能。在每次发起保密呼叫的时候,保密机都要向密钥管理中心申请新的密钥,并由KMC将密钥传送给被叫端,双方根据密钥完成此次保密通话的加密和解密。这样每次通信的密钥都不一样,即使密钥一次被破译,下一次通话也无法使用。保密手机每隔一定的时间都要通过短信重新验证,如果保密手机不慎丢失,KMC可以通过短消息发送遥毙命令进行。

层次密钥体制的好处是当主密钥注入系统后,传输密钥的内容是变化的,从而构成了一个动态的密钥系统,提供了系统的安全性。

密钥管理中心提供密钥的产生、分发、更新、存储的管理功能,并提供对用户的认证服务。整个密钥管理体系包括手机终端、加密SIM卡、注册数据服务器和密钥管理中心。

三层密钥管理,第一层:主密钥(RK); 第二层:密钥加密密钥(KEK)第三层:会话密钥、信令保护密钥(TEK/挑战随机数CN)。

x=i, j, n

图4-1 E2EE密钥分布

密钥管理中心与其他密钥管理中心、密钥管理中心与用户、密钥管理中心与注册数据服务器间分别共享主密钥。密钥管理中心使用主密钥为实体间分发加密密钥,主密钥保护更新密钥加密密钥、信令保护密钥;密钥加密密钥保护分发会话密钥;信令保护密钥(挑战随机数)保护信令消息;会话密钥保护通信的语音。KMC中的所有密钥由加密机随机产生。

5 协议消息的设计

加密终端与注册数据服务器之间传递的所有消息分为两类,分别为请求与响应消息。请求消息是指参与通信流程的某一实体(可能包括主叫与被叫方移动台,注册数据服务器或密钥管理中心等)主动发起的,对另外一个实体提出要求并希望其处理的一类消息。响应消息是指接收到请求消息的实体对该请求消息进行分析和处理之后,回复给请求消息发送方并通知对方处理结果的一类消息。

在加密服务中需要注册数据服务器与加密终端共同完成的功能包括:加密终端的注册/注销,加密终端向注册数据服务器发起通话请求并同时申请会话密钥,以及其它的密钥管理消息等。于是,应用在本协议中的请求消息包括如下的几种:注册及申请CN消息、注销消息,以及密钥管理消息,共三种。

5.1 协议消息结构的设计

为了保证端到端加密过程中加密终端和注册数据服务器之间的通信能够顺利进行,不但要考虑所有消息都需要具备的一些信息字段,还需要考虑不同的消息可能会含有各自不同的内容,而且为了保证消息的完整性和真实性,在消息中还应该包括完整性的检验等相关内容,所以在消息体之后应该插入用于MAC校验的字段,这一校验的过程中会使用到注册过程中分发的挑战随机数CN。

基于上述考虑,每一条消息都可以分为三个部分:

1.消息首部

请求消息中包括消息类型,消息体长度,消息序列号,消息发送方ID以及消息接收方ID。响应消息除包含以上元素外还包含状态码。

2.消息体

不是所有的消息都用消息体,只有和SIM卡相关的交互消息有消息体。注册请求消息,包含注册消息子类型(用于区别是申请CN的消息,还是更新注册时间的消息)、消息应用的网络类型标识(用于区别目前所处的网络类型是CSD网络、EDGE网络、GPRS网络还是3G网络)、注册的有效时间(用于标识本次注册流程的有效时间范围)和传输至KMC的消息体及其长度标识;注册响应消息,注册消息子类型和包含用于信令保护的挑战随机数(CN)及其长度标识;密钥管理消息,包含密钥管理消息子类型和一个传输至KMC的消息体及其长度标识;密钥管理的响应消息,包含密钥管理消息子类型和KMC回复的密钥管理消息体机器长度标识。

3.消息末端

消息末端提供对消息的完整性校验和保护,在整个消息的设计中起着至关重要的作用,消息末端包括一个由CN生成的MAC校验码。在开机后注册的情况下,由于加密终端还没有得到CN,此时可以使用全0作为CN的取值,一旦加密终端获得了CN,则必须使用CN来生成MAC 校验码。

5.2 协议流程对应的消息

5.2.1 注册流程消息

终端要想使用端到端加密的业务,必须首先向注册数据服务器进行注册,这一注册过程可以在终端开机的时候立即进行,也可以在用户开启端到端加密服务时进行。在发送注册

5.2.2 注销流程消息

加密终端停止加密业务时需要向注册数据服务器发送注销消息,此消息的消息体为空,因为是一个新的请求消息,其序列号值再自增1。注册数据服务器收到之后将回复确认消息,通知加密终端本次注销已经成功。

5.2.3 密钥管理流程消息

注册数据服务器一旦接到这种类型的消息,将把该消息的消息体内与密钥管理有关的信息字段直接转发至KMC,得到KMC的回复之后将把该回复的内容封装成KMMSG的回复消息发送至加密终端。可以认为,对于这种消息,注册数据服务器端是透明传输的。

为了表示不同的密钥管理功能,这一消息同样具有不同的子类型。消息的消息体内将有一个独立的字段表示该子类型,根据该字段的取值不同,分别表示用于更新KEK的密钥管理消息,用于确认KEK的密钥管理消息,用于序列号同步的密钥管理消息,用于申请TEK 的密钥管理消息。密钥管理消息的消息体内除包含标识子类型的字段之外,还含有一个需要透明传输至KMC的消息体及其长度标识。

1. 用于序列号同步的密钥管理消息

在通信的过程中,可能会发生终端的加密SIM和KMC之间的序列号失步的情况,如果终端发现这种情况,将主动发送用于同步序列号的密钥管理消息,经由注册数据服务器发送至KMC,KMC检查后会更新序列号,并将更新结果通知终端。同样地,消息首部的序列号也要自加1作为其新的取值。

2. 用于申请TEK的密钥管理消息

申请TEK的密钥管理消息的功能是加密终端向注册数据服务器和KMC申请本次加密语音通信所使用的通信密钥TEK,这种消息是本协议中唯一的一个消息接收方ID域有意义的消息。

呼叫发起时,加密终端将发送用于申请TEK的密钥管理消息至注册数据服务器,本条消息中域是被叫方的手机号。其消息体按照密钥管理消息的消息体构造。这样,申请TEK 的密钥管理消息的消息体内包含一个密钥管理消息子类型和一个需转发至KMC的消息体及其长度字段。此时由于终端已经收到了用于保护信令的挑战随机数CN,于是使用CN产生的MAC校验码将被插入到消息尾部。由于这是一条新的请求消息,则序列号的值应该自增1,并插入到消息首部中。

如果此时主叫方终端的身份被注册数据服务器验证通过,服务器将针对这一响应发送一条临时响应,这一响应的序列号号码将与被响应的消息保持相同,目的在于通知终端其申

服务器向主叫方终端发送临时响应之后,继续向KMC转发这一请求消息,KMC收到该请求之后将生成为本次通话准备的密钥,如果失败,则发送错误消息至注册数据服务器,注册数据服务器将生成相应错误代码的响应消息,并发送至主叫方,本次流程结束。如果成功,KMC将向注册数据服务器发送正确的响应,在这条响应的消息体内会包含使用主被叫双方KEK加密的TEK,注册服务器将以密钥管理响应消息的形式向终端转发TEK。

主叫方终端收到响应消息并解析出TEK之后,将以一个独立的流程直接寻址并向被叫方转发通信密钥(TEK),然后主叫与被叫双方建立起连接共同进行通信流程,这些流程这里不进行深入讨论。

6 端到端加密协议的安全分析

6.1 协议满足的安全目标

(1) 移动终端和RDS进行双向身份认证

此处由终端和RDS之间共有的CN和序列号共同保证,如果RDS对消息的HMAC校验不通过,则认为是伪移动终端,否则通过认证。因为只有真移动终端才能使用对应该号码的CN计算出相应的HMAC值。序列号保证了消息能够抵抗重放攻击。反之亦然。而CN则是由KMC产生的,所以是安全的。

(2) 双向密钥认证

通话密钥由KMC通过注册服务器转发给呼叫方A,再由A转发相应的密钥给被叫方B。只有拥有A和B对应的KEK的SIM卡,才能解密该KMC的信息,得到通话密钥。这样就保证只有通话的双方知道会话密钥。

(3) 密钥新鲜性的保证

所有的密钥都由KMC生成,而且每次呼叫和开机注册的时候都会更新对应的TEK和CN。并且KEK是会定期更新的密钥。因此能够保证密钥的新鲜性,有效防止重放攻击。

(4) 移动用户的身份在空中接口的保密性

用户身份信息可以是经过加密后再传输的没有明文信息

(5) 交互轮次尽可能少

通话密钥请求和分发只有二轮。

(6) 虽然没有使用时间戳,但是实际实现中对于需要等待回复消息的一方都采用了定时器,避免了出现拒绝服务攻击的可能,同时也一定程度上避免了难以解决的时间同步问题。

(7) 移动终端只有对称算法的计算量。

由于对称密码协议本身的限制,不可能保证全部的安全特性,比如:移动用户的身份在空中接口的保密性,消息的非否认性(没有签名机制),消息也不能抵抗签名验证攻击。当然,这些通过设计合理的公钥加密协议是完全可以实现的。

结论

本论文主要根据现有的公众移动通信的标准和协议,进行GSM系统的密钥管理机制和系统端到端加密的协议设计,并且给出了针对不同流程的协议消息的设计。

在论文中,我们阐述了公众移动通信系统的系统特性和端到端加密机制,介绍了端到端加密的基本概念和协议设计。我们的主要工作集中在端到端加密系统的协议流程和协议的安全性分析。可以看出,在当前的公众移动通信网络中,采用本文的设计方案是可行而有效的。

参考文献

[1]姚明,汪林.移动公网转为军用的安全风险及其对策[A].中国电子学会. 2006军事电子信息学术会议

论文集[C].武汉,2006.684-687.

[2]范红,冯登国.《安全协议理论与方法》[M],北京:科学出版社,2003.10。

[3]Chang-Seop Park.On Certificate-Based security Protocols for Wireless Mobile Communication

Systems[J].IEEE Network, 11(5):50-55, September/October. 1997.

[4]ETSI EN 301 349 v6.4.0.General Packet Radio Service(GPRS); Service description Stage2. (GSM 03.60

version 6.4.0 Release 1997)[S].ETSI,1999-07.

[5]ABADI M, NEEDHAM R Prudent engineering practice for cryptographic protocols[J]. IEEE Transactions

on Software Engineering, 22(1): 6-15, Jan 1996.

[6]司端锋,韩心慧,龙勤,等. SIP标准中的核心技术与研究进展[J].软件学报,2005.16(2):239-250.

[7]马小伟,徐恪. 解密SIP协议的安全问题[J].中国教育网络,2006,10:51-53.

An approach of key management scheme and end-to-end cryptographic protocol in mobile communication

Shao Lin,Li Hui

1 Information Security Centre, School of Information Engineering, Beijing University of Posts

and Telecommunications, Beijing, PRC, (100876)

Abstract

In order to enhance system security, mobile communications system must provide the function of end-to-end encryption. However, the current GSM system has much difficulty to implement the

Keywords:End-to-end Encryption, Session Initiation Protocol(SIP),key management centre ,register data sever

作者简介:邵琳,男,1983年生,硕士研究生,主要研究方向是信息安全、端到端加密、无线网络安全。

相关主题
相关文档
最新文档