TETRA数字集群系统研究
发布时间:2006-10-14 8:00:35   收集提供:gaoqian
戴元军 朱振荣 杨义先


  摘 要 本文研究了TETRA数字集群系统端到端保密通信,通过分析TETRA系统所面临着的安全威胁,对密钥管理中心及保密通信的终端进行了研究与设计,给出了一个完善的端到端保密通信的解决方案。

  关键词 数字集群系统 保密通信 密钥管理 TETRA

一、引言

  TETRA数字集群通信系统是基于数字时分多址(TDMA)技术的专业移动通信系统,该系统是ETSI(欧洲通信标准协会)为了满足欧洲各国的专业部门对移动通信的需要而设计、制订统一标准的开放性系统。TETRA 数字集群系统不仅提供多群组的调度功能,而且还可以提供短数据信息服务、分组数据服务以及数字化的全双工移动电话服务。TETRA 系统还支持功能强大的移动台脱网直通(DMO)方式。

  TETRA通信系统的通信保密与信息安全,是系统设计者重点关心、急需解决的重要问题。获得广泛应用的模拟集群通信系统和GSM 蜂窝网,其安全保密问题一直没有得到有效的解决。TETRA 数字集群系统所面临的威胁有:

  终端设备与网络设施之间的无线接口可能受到以下安全威胁:

  (1)非法窃听:攻击者通过对无线信道的监听来获取传输的消息,甚至进行被动或主动流量分析,这是对通信网络最常见的攻击方法,这种威胁源于无线链路的开放性。

   (2)非授权访问数据:攻击者伪装成合法用户访问网络资源,以期达到破坏目的;或者攻击者违反安全策略,利用安全系统的缺陷非法占有系统资源和访问本应受保护的信息。必须对网络设备增加认证机制,以防止非授权用户使用网络资源。

  (3)对完整性的威胁:攻击者可能修改、插入、重放或删除无线链路上合法用户的数据或信令数据。

  (4)拒绝服务攻击:攻击者通过在物理上或协议上干扰用户数据、信令数据或控制数据在无线链路上的正确传输,来实现无线链路上的拒绝服务攻击。

  针对以上的一些安全威胁,TETRA 系统实现了系统功能和安全保密功能的一体化设计,现已经具有鉴权及空中接口加密功能,并支持端到端加密,端到端加密一般由用户自行设计实现。鉴权实现用户和网络设施间的单向或双向鉴权,用于防止非法用户接入系统和合法用户接入假冒系统,可解决上述的威胁(2)及威胁(4);空中接口加密用于对基站和移动台间无线信道上的信息数据和信令加密保护,并保证信息不被重播。可以部分解决威胁(1)和(3),只能够在无线链路上对用户语音数据加密,并保护信令数据不被分析,但用户的数据信息在网络设施中是未加密的。而端到端加密则可以解决这个问题,本文给出端到端加密的详细设计,不仅有效地解决威胁(1),还解决了威胁(3)所面临的问题。

二、TETRA 端到端加密的系统框架

  TETRA数字集群系统由移动台MS、基站BS、调度台DWSx、交换机DXT及TETRA 互联服务器TCS等构成,端到端加密的密钥管理中心KMC作为TCS的应用开发系统连接到TETRA 系统中。TETRA 端到端加密的密系统框架图如图1所示。

  为在标准TETRA系统中实现端到端加密功能,必须进行以下两方面工作:

  (1)在TETRA系统中建立一个密钥管理中心KMC(Key Management Center),KMC通过TCS的API与TETRA系统相连,通过空中接口以短数据的方式为移动台端分发通信密钥TEK,此外密钥管理中心负责密钥的产生,存储及增删等功能。

   (2)对TETRA终端设备进行改造,使其能够接受并响应KMC的密钥管理OTAK消息,并利用通信密钥来进行端对端加密,这里的端到端分别指得是移动台到移动台之间和移动台到调度台之间。

三、端到端加密的算法

  在端到端加密的设计中需使用四个密码算法,即语音数据加密算法、传输密钥TEK加密算法、同步帧完整性算法以及密钥管理消息加密算法。

  (1)语音数据加密算法E1 :语音及短数据加密采用流密码算法,该加密算法中的密钥TEK和初始向量IV的长度要求不小于64位,分组数据长度为64位;

  (2)传输密钥TEK的加密算法E2 :该加密算法的加密强度应当不低于语音数据加密算法的加密强度,为此其密钥的长度不小于64位,分组数据长度为64位;

  (3)同步帧完整性算法E3:为了保证端到端加密中同步帧的完整性,在同步帧中包含一个加密的校验和,该校验和是抽取了帧中的几个部分并用校验和的生成算法CRC和密钥TEK共同计算得到的,同步帧完整性算法的密钥长度不小于64位,分组数据长度为64位;

   (4)密钥管理消息加密算法E4:该算法是一个工作于CBC模式的分组加密算法,加密密钥长度不小于64位,分组数据长度不少于64位;

  由于TETRA应用领域的特殊性,端到端加密中使用的加密算法可以是用户自行开发或是国家、军队或行业准许的加密算法,密钥长度也可由用户自行规定。

四、端到端加密的密钥管理

   端到端加密的密钥管理由密钥管理中心KMC来实现,负责通信密钥的生成,分发及增删等。

  1. 通信密钥的生成

  KMC利用用户自行设计的密钥生成算法生成通信密钥TEK,并用KEYID来标识相应的TEK。将这些KEYID每16个编成一个密码组,并将密码组与通话组相关联,这样在这个通话组的MS可以用这个密码组的当前版本的TEK对语音或短数据消息进行加密通信。

  2. 通信密钥的分发

  KMC做为TETRA互联服务器的客户端,通过空中接口以短消息的方式为移动台分发通信密钥TEK ,这种方式称为空中密钥分发OTAK(Over-the-Air-Keying)。通信密钥有几个不同版本(即以前使用的TEK,正在使用的TEK,即将使用的TEK),这些TEK由算法E2加密后进行传输,加密密钥为该移动台的主密钥KEK或组密钥(GEK ),这里的主密钥是通过带外的硬件接口载入的,它也被用来加密GEK 和信令加密密钥SEK。

  一个特定组的TEK可以使用这个组的组密钥GEK 进行加密,密钥管理消息使用信令加密密钥SEK 进行加密。OTAK使用TETRA 短数据服务进行密钥的分发,在TETRA 标准中用一个PID (protocol identifer)来指定该消息的类型。OTAK 有两类消息,第一类包括KMC装载密钥到移动台、装载后激活该密钥、删除移动台上的密钥及将通信密钥与TETRA 用户组相关联。第二类OTAK 消息是移动台对第一类OTAK消息的应答所发出消息,这类消息由单个移动台或一组用户发出。由于移动台可能关闭或不在网络内,KMC必须要判断接收到来自移动台的操作正确的应答,并记录哪些移动台已经接收到密钥更新的命令。

  MS分配新密钥和管理通信密钥时,OTAK消息是由MS的SEK作为密钥并用算法E4进行加密的。OTAK 消息集中有一个MS_SIGNAL消息,当MS开机或重新进入网络时会向KMC发送这个消息。KMC可以利用这个机会来更新MS中的密钥,因为有的MS可能长时间处于网外而错过了以前的密钥更新消息。

  MS会解密并且验证任何收到的OTAK SDS消息。每个消息都以KEYID标识(明文)用来标识着某个TEK。KEYID以明文方式放在消息的KEY字段中,使得接收端MS能够选择正确的密钥去解密收到的消息。

  3. 通信密钥的增删

  当一个通话组发生变化时,如一个新的移动台加入该通话组,则KMC将该通话组相关联的密码组通过OTAK消息分发给该移动台。若一个移动台退出通话组,则KMC将重新分发该通话组所对应的密码组。

  4. 密钥管理的安全性分析

  在安全性要求很高的场合,推荐所有KMC中保存的TEK和GEK都预先经过KEK加密。虽然这意味着密钥在分发时是经过KEK和SEK双重加密的,但是它保证了KMC中没有保存也不可能获得明文形式的通信密钥,提高了密钥存储的安全性。

  加密后的OTAK SDS消息可以被发送到特定的MS也可以广播给一组MS。所有的消息都有序列号,源与目的地址,和一个全部数据的CRC校验。这些为防御重放和假冒攻击提供了保证。

五、端到端加密的保密通信

  一个移动台可以有多个通话组,同样也有相应的密码组。该移动台可以与同一通话组的移动台进行保密通信,即在与通话组相关联密钥组中找到当前版本的TEK,对语音和短数据进行加密传送。接收端移动台则根据同步帧中的KEYID找到相应的密钥对接收的消息进行解密。

  1. 端到端语音加密通信

  具体的端到端语音加密的过程如图2所示。图2中虚线左侧是发送移动台的加密过程,右侧是接收MS的解密过程。算法E1有通信密钥(TEK)和初始向量(IV)两个输入,它生成一个连续的密钥流,该密钥流与CODEC输出的语音数据流位异或后得到在TETRA系统中传输的加密语音。为了让接收MS能够正确解密加密后的语音,在图中可以看到同步初始向量被加入到数据流中。与发送端正好相反,接收端检测到同步帧,取出同步帧中的同步向量,将该向量传给本地的密钥流产生器,从而完成与发送端的同步。

  同步帧中还包含有KEYID及加密算法标识等附加单元,使得接收端能够根据这些单元选择端到端语音加密的密钥及加密算法。另外两个单元——时间戳及密码校验和则保证防止重放攻击和同步帧的完整性。

  2. 端到端短数据加密通信

  如同在GSM中一样,TETRA系统也支持短数据服务SDS,短数据消息可以是用户自定义的消息或是状态报告(预定义的消息)。TETRA系统所定义的SDS类型4可发送最多2047的不定长位的短数据。对短数据消息进行加密和完整性校验如图3所示。加密的过程与端到端语音加密类似,明文短数据消息与密钥流生成算法E5所输出的KSS相异或得到密文消息。安全校验和(CCSUM)和其加密控制数据(Enc. Ctrl. Data)组成同步向量,该向量是不保密的,故不必加密。通过校验和CCSUM可以验证短数据的完整性,而且该校验和的生成需要TEK作为密钥,而攻击者无法获得该密钥,故他将无法伪造短数据消息并重新计算校验和。算法E6是一个工作在CBC模式的分组密码算法。

  因为输入短数据是变长的,在加密计算之前应该使短数据消息为加密分组的整数倍,同步向量中将包含所有必要的信息使得合法的接收端将能解密短数据。在Enc. Ctrl. Data 单元的数据包含算法E5和初始向量IV,并让接收端知道使用了哪个加密算法及密钥,当然直接传送的不是密钥而是一个密钥标识号。一个攻击者无法知道数据包内容,但他也许会分析这是哪类数据,许多通信协议在协议头中包含该协议的类型。在SDS类型4的协议包头中也是协议标识PID,为了防止攻击者得到相关有用的信息,未加密的短数据消息的原协议标识O-PID以一个编码的格式传送,即由一个新的协议标识ES-PID来替代。获得ES-PID对是攻击者是无用的,它所显示的只是一个编码的短数据消息被加密传送。

  为了确认一个短数据消息通信成功,在SDS机制中有一个确认服务。如果短数据通信不成功(如接收端无法解密短数据或校验和不正确),SDS消息的接收端将不发送确认消息或者发送失败消息。

六、结论

  在TETRA系统的端到端加密中,集群系统不参与密钥的产生和管理,也不规定加密算法,只提供透明传输通路。端到端加密在TETRA集群系统的用户面进行, 集群终端设备应具有和端到端加密单元间的电气接口和物理接口,以便于把端到端加密单元装入终端设备中。本文提出一种较完善的端到端加密的设计方案,包括密钥管理及移动台端到端的加密通信,它实现了TETRA集群系统内从发送端用户到接收端用户间的信息全程通信保密,实现了在TETRA集群系统的高级保密功能,可用于对通信安全有特别严格要求的场合。

  戴元军,北京邮电大学博士生,研究方向移动通信安全。杨义先,北京邮电大学教授,博士生导师,研究方向信息安全,密码学。


----《中国数据通信》
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50