无人机说白了就是一种由无线电遥控设备或自身程序控制装置操纵的无人驾驶飞行器但由于无人机飞行环境的复杂性和无线传输信息的开放性,在数据的下行链路传输过程中,遥测信息的传输会受到各种各样的干扰和破坏。遥测数据中含有大量的图像侦察信息,若没有任何安全措施保护这些信息很容易被第三方窃取。为此针对无人机无线通信遥测数据帧的结构特点,以及传输实时性和高质量的需求,我们提出了一种适合无人机遥测数据帧特点基于自同步流密码的数据文件加密和解密方法。

一、无人机遥测数据文件加密原理

1、序列密码

密码按加密形式分为序列密码和分组密码,分组密码用固定的变换处理明文序列的分组数据,加密较复杂,而且存在误码扩散和一定的延时,一般用于通信传输信道质量较好或具有数据重发等功能的场合:序列密码对明文序列逐位或逐块地加以随时间变化的变换。其硬件加密速度快,且实现容易,对信号加密具有低延时,无误码扩散等特点,因此序列密码在实际中得到广泛的应用。

无人机系统通信对数据传输的实时性要求很高,例如地面控制站是每20ms接收一帧的遥测数据,每80ms发送一帧的遥控指令,所以必须采用具有低延时特性的序列密码加密方法。

将序列密码分为自同步序列密码和同步序列密码。密钥序列与己经产生的一定数量的密文有关的序列密码被称为自同步序列密码,而密钥序列与明密文无关的序列密码被称为同步序列密码。

采用同步序列密码加解密时,收发双方的密钥发生器必须同步,因此就需要精确的同步电路;如果在密文数据传输中丢失一个或若干字符,收发双方必须重新同步密钥发生器才能保持继续通信,同时也会造成错误扩散;此外,采用同步法时要保证密钥序列不能含有重复的部分,这样就导致了密钥规模过大。给密钥管理带来了一定的难度。

采用自同步序列密码加解密时,收发双方不需要精确的同步电路,接收方的每个解密密钥都是由它前面的n个密文导出,如果在传输过程中丢失或改变了一个密文比特,将导致错误向后扩散n个分块,但在连续正确接收到n个密文后,系统又能自动的恢复同步,因此只要台理地选择n的大小,就能将错误扩散限制在容许的范围内。因此,本文提出了对无人机数据链路通信保密系统中的遥测帧使用自同步序列加密算法。

二、遥测数据文件如何加密和解密

无人机在数据终端系统中的链路层进行遥测数据文件的加密操作,使用面向位的链路控制协议,根据协议内容,遥测帧主要由标志段、数据段和帧校验段组成。标志段主要用于遥测帧的搜索捕获及帧的分离存储,数据段主要包括飞机的状态信息和图像数据信息,帧校验段采取RS码的校验方式。

1、无人机遥测数据文件加密实现

在无人机数据链路通信中使用的自同步加密算法中充分利用了遥测数据帧结构的特点,以帧长为单位更新初始密钥,以字长为分块单位进行序列加密,遥测数据经过信道编码后字长均为m比特,帧长为N,约束长度取n,其加密过程如图2所示。

在每帧数据开始时,先由初始密钥发生器产生初始密钥K1,K2,K3,…,Kn,并与保密字To生成初始密文Co;同时该初始密钥控制密码发生器产生密码数据Z1;Z1与第一个明文字Mi模2加生成密文Ci;Ci与Ti模2加生成Ri,Ri与K2,K3,…,Kn构成新的n个密钥去控制密码发生器产生新的密码数据22;22与第二个明文字M2模2加产生密文C2;C2与T2模2加生成R2,R2与K3,K4,…,Kn Ri构成新的n个密钥去控制密码发生器产生新的密码数据块23,如此类推,直到由CN-n,CN-n+1---CN-1构成的密钥去控制密码发生器产生密码数据模块ZN,ZN与MN模2加产生密文CN,从而完成对一帧数据的加密。其中的Mi、Ki、Ci、Zi、Ti均为一个字长m比特。

初始密钥发生器是由噪声源产生乱数,每次加密都需要更新。密码发生器主要由若干个数据存储器构成,其复杂的算法用C语言编程来实现,加密算法存储与密码芯片外部的FLASH中,进行加密操作时由DSP控制密码芯片调用该加密算法。Ki、Ci、Ti经过具体算法运算由密码发生器产生密码数据Zi,Zi与Mi模2加产生密文Ci。为了防止初始密钥被截获,本文用保密字To对其加密,中间的密文反馈也没有直接利用密文,而是先用保密字Ti进行加密之后再移位反馈。保密字Ti是存在密码芯片SRAM中,该密码芯片使用Altera公司的低成本Cyclone系列FPGA芯片来实现,使设计资源得到了极大的优化利用,降低了整个的设计成本。

2、解密实现

遥测数据的解密过程与加密过程基本相同,首先对收到的密码字Co进行解密,从而恢复初始密Ki,K2,K3,…,Kn,由该密钥控制密码发生器产生密码数据Z1,Z1与密文Ci模2加生成明文Mi,如果在信道传输的过程中密文Ci出错,而Z1是正确的,错误则同样反应在Mi中,对Mi进行纠错译码产生Mi',Mi'与Z1模2加生成Ci',由选择器判断Mi中的出错数是否大于纠错能力,若出错数大于纠错能力,令Ci''=Ci',这样可以消除Ci"出错带来的影响:否则令Ci''=Ci,从而消除Z1出错带来的影响。

三、遥测数据加密解密方法的特点

(1)实现简单

硬件上主要是使用FPGA和DSP芯片来完成控制和加密操作。软件只需要完成一些读取、控制操作,以及一些复杂的运算。

(2)加密强度高

在加密过程中,尽管每个密钥都是从它前n个密文计算得到,但从原理上讲,每个密钥都依赖于它之前的全部明文和初始密钥,因此每个密文也都依赖于它之前的全部明文和初始密钥。这样明文和初始密钥的统计特性分散到全部的密文上,即所谓“置乱扩展”,从而使得密码分析者难以破译。通过使用保密字对初始密钥和中间密钥进行加密,降低了密码分析者截获分析初始密钥和中间密钥的概率。在字长为m比特,并且约束长度为n的情况下,密钥被截获的概率为2-mn。并且为加强保密性,在无人机每次升空执行任务前,都要更新保密字Ti。

由于每帧数据都更新初始密钥,并且下次的初始密钥由密文Cl随机化,这实际上利用了以前全部明文和初始密钥的统计信息。由于不同的初始密钥将产生不同的密码数据流,从而使得每帧密码数据流各不相同,呈现随机性。即使每路明文数据没有任何变化,对应的密文也将表现为随机或伪随机,致使第三方难以根据密文推断各路遥测数据的性质,加之不具备帧格式的相关信息,所以难以对遥测数据进行侦破。

虽然密钥存储器的容量有限,但由于在该加密方法中,对地址的产生具有足够的随机性。不同的地址组合将导致不同的密码数据流产生,也就保证了密码数据流的随机性。另外,即使密码破译者根据密文序列能够解出对应的部分密钥(其可信度仅为2-mn),也会由于不知道对应的明文性质和加密过程,也就难以形成对密钥存储器的查找表,因而无益于保密工作。

(3)错误扩散小

密文在传输过程中发生了错误,如果错误数在信道编码的纠错能力以内,就不会造成错误扩散:如果超出了纠错能力,错误扩散也不会造成一帧数据被丢失,只会向后扩散n个字长,这对遥测来讲,是可以容忍的.并且,这种错误扩散也并并不一定是缺点,适当应用这一特性,可以用于鉴别密文的真伪,以防第三方的篡改。

(4)无信息扩散

该遥测加密方法仅仅对明文和密码作模2加运算,没有增加任何冗余数据,故没有信息扩散,从而降低了信息传输速率,节省了信道资源。

本文介绍的无人机遥测数据文件加密方法充分考虑了遥测数据字、帧结构的特点以及遥测信道编码的因素,在保证了高加密强度的同时,还具有数据文件加密解密实现简单,错误扩散小,无信息扩散等特点。我们将该方法应用到硬件中,可行性和可靠性还是具备的。

小知识之通信链路通信链路是指网络中两个结点之间的物理通道。