TETRA数字集群系统一直以强大的调度功能而著称,作为系统重要组成部分的调度台为调度员进行指挥调度提供一个操作平台,可以极大提高工作效率。设计功能丰富、性能可靠、人机界面良好的调度台软件对TETRA系统的开发与应用有重要的意义。为此,我们设计了一款基于TETRA数字集群系统的调度台加密系统。
一、TETRA数字集群系统
TETRA数字集群通信系统是基于数字时分多址(TDMA)技术的专业移动通信系统,可在同一技术平台上提供指挥调度、数据传输和电话服务,它不仅提供多群组的调度功能,而且还可以提供短数据信息服务、分组数据服务以及数字化的全双工移动电话服务。TETRA数字集群系统还支持功能强大的移动台脱网直通(DMO)方式,可实现鉴权、空中接口加密和端对端加密。TETRA数字集群系统同时还具有虚拟专网功能,可以使一个物理网络为互不相关的多个组织机构服务。TETRA数字集群系统具有丰富的服务功能、更高的频率利用率、高通信质量、灵活的组网方式,许多新的应用(如车辆定位、图像传输、移动互联网、数据库查询等)都已在TETRA中得到实现。因此,近两年TETRA数字集群系统在欧洲乃至世界得到了快速的发展。
二、TETRA数字集群系统端到端安全原理
在TETRA系统中通过采用端到端加密机制,实现系统内从发端用户到收端用户间信息的全程通信保密。根据TETRA MoU SFPG组织对端到端加密机制实施的一些建议和要求,TETRA端到端加密系统结构如图1所示,其中阴影部分用以实现端到端安全,是端到端加密系统的核心。
TETRA系统为通信终端或调度台提供透明的通信线路和标准的通信接口。端到端的安全通信是通过在TETRA终端或调度台中增加端到端加密模块来实现的,它负责终端或调度台之间话音及数据通信的加密保护。它采用流密码算法来完成话音通信的加解密功能;采用分组加密算法为系统中的数据通信提供端到端加解密和完整性校验功能。端到端加密密钥的生成、分配和管理则由端到端密钥管理中心采用OTAK方式Over The Air Keying)和OOB方式(Out Of Band)来实现。
三、基于TETRA数字集群系统的调度台加密系统如何设计
1、调度台语音加密技术
TETRA调度台在整个TETRA系统中扮演着非常重要的角色,同时肩负着通信和管理两大功能。在通信方面,它可以同时进行多达16路的群组通信以方便用户进行调度和监听,也可以针对某个用户进行单呼;在管理方面,它负责终端参数配置、通话组划分与组成员管理等等。因此,要实现TETRA系统的端到端安全,必须使调度台也具备完善的端到端安全能力。
为表述方便,将IETRA中端到端语音加解密采用的算法称为EA,其类似一个流密码算法。加密时,加密密钥(KEY)和初始向量(IV)作为算法EA的两个输入,进而生成一个用于加密的密钥流,该密钥流与语音编码器输出的明文语音流异或后,得到在系统中传输的密文流。为了接收端能够同步解密密文流,还必须将生成的同步向量(S.V)注入到密文流中。解密时,接收端检测到同步帧,从中解出SV,用于解密的同步;SV和本地存储的KEY被输入到算法EA中,得到用于解密的密钥流,该密钥流与传送过来的密文流异或后得到明文的语音流,发送给语音编码器。
2、调度台语音加密的算法
在TETRA调度台语音加密系统中,EA算法采用密钥长度为128bits分组大小为64bits的分组算法运行4次来实现。
TETRA系统中每半帧语音数据的长度为137bits同步帧长度为119bits其中有64bits是同步向量(S.I)。在通信发起时,64bits的随机初始向量(Iv)被预先存放在寄存器R中,并以128bits的KEY为密钥,将采用64bits分组的加密算法运行4次,生成256bits的数据,其中高192bits作为密钥流,低64bits作为同步向量8D。Sv与其它一些附加信息,如用于接收方选择正确的解密密钥及算法的密钥编号与算法编号、防止重放攻击的时间戳、提供完整性保证的校验等,一同封装为同步帧,发送给接收端。由于半个语音帧的长度只有137bits因此192bits的密钥流只有高37bits被使用,其余部分将被丢弃。
同步帧的传输采用窃取半个语音数据帧的方法,实践证明该方法对话音质量的影响可以忽略。如表1所示,Ri代表算法的第i次输出,Ru是随机初始向量Ⅳ,Ri=EA [ri-1]key (i=1,2...n)。在第o、1、3个半帧发生同步,该半帧用于传输同步帧;其余半帧仍旧用于传输语音数据。
接收端检测到同步帧,取出同步帧中的同步向量(sv),将其发送给本地的密钥流产生器,以完成与发送端的同步,进而完成语音的解密。
实际应用中的EA算法可以采用多种加密算法予以实现,例如,可以直接采用流密码算法对语音进行加密,这样可以简化算法的实现。但是,随之而来的是如何解决重入问题,即当一个组呼已经建立,当前的组内成员正在通话,这时如果又有一个用户试图加入组呼,就必须引入流算法重新同步的机制,以使新到来的用户也能正常解密。为了提高加密强度,也可以采用128bit分组的加密算法,这样的加密算法运行2次就可以实现EA算法。由于这时同步帧的长度达到了183bits,超过了半个语音帧的长度,必须窃取2个语音半帧才能完成同步帧的传输,会对语音质量造成一定影响,试验中发现,在合理安排偷帧频率的情况下,同样可以获得很好的语音质量。
3、调度台加密模块的设计与实现
基于上述原理,我们自主研发了加密调度台系统,其中的语音加解密处理是通过硬件系统实现的,其核心是加密模块。如图4所示,数字信号处理芯片DSP是加密模块的主控芯片,它接收到语音流后向算法芯片请求密钥流,并将两者异或,以完成语音加解密工作;同时它从PCI接口接收相关的管理消息,进行密钥、关联表等信息的管理。随机数发生器为算法芯片提供初始向量(IV)。Flash用于存储加密模块的软件,该软件在模块启动时被加载到DSP芯片的片内存储器中运行。RAM用于存储通信相关的密钥、关联表等信息,这些信息在模块掉电后自行丢失。CPLD负责选通Flash和RAM的相关引脚,以便DSP使用相应的存储空间。加密模块通过E1接口和PCI接口分别与IETRA交换机和调度台连接。
4、调度台加密模块管理接口的设计与实现
加密模块的管理接口采用COM技术设计与实现。
EMUser组件是加密模块客户端首先建立的COM组件,它包括两个接口:ⅢMUser接口,它包括Login和Logout两个方法,用于实现加密调度台用户的登录和注销操作;Wvlobject-Facloy接口,它包括Crea t20 bject方法,用于实现对其它组件的访问。
EMManage组件负责管理加密模块的工作状态,它包括IHvIM anager接口,该接口包括StarUp Reset Shutdown三个方法,分别用于启动、重置、关闭加密模块。
EMKeyManager组件负责管理加密模块中的各种密钥,它包括JEMKe:SM anager接口,该接口包括SelecKey SelKey;D ele~Ke3R UpdakKey方法,分别用于查询、存入、删除、更新密钥信息。
EMA ssoc iatiorix4 anage组件负责管理加密模块中的关联表信息,它包括vIA ssocia tionM anager接口,该接口包括Se lec- rA ssoc ia tiorx SeA ssocia tion,Delete A ssoc ia tion UpdaleA ssoc ia tion方法,分别用于查询、存入、删除、更新关联表信息。
EMCGM anager组件负责管理加密模块中的加密组信息,它包括EM CGM anager接口,该接口包括SejecICG SelCG,DeleteCG、UpdakCG方法,分别用于查询、存入、删除、更新加密组信息。
小知识之调度台调度台为电力调度系统专用的调度电话进行交换的语音前台设备。