基于改进SHA-1 的无人机下行链路安全通信方法*

2020-08-10 00:59冯永新
火力与指挥控制 2020年6期
关键词:补位信噪比链路

冯永新,王 良,钱 博

(沈阳理工大学,沈阳 110159)

0 引言

近年来,随着无人机系统的发展,在无人机的通信过程中,保证其传输数据的完整性、可靠性愈发关键[1],就无人机数据链路而言,可分为上行链路和下行链路,其中,下行链路主要传输无人机自身状态信息以及任务传感器中的遥测数据[2]。由于无人机下行链路信息源繁多、需要传输的信息数据量较大,无人机传输数据受到非合作方截获、篡改的概率也在逐渐增大[3]。因此,保证无人机传输数据的安全性就变得越来越重要[4]。目前大多数无人机采用对传输数据加密的方式来保证其传输数据的安全性,防止数据泄密,常用的加密方式有DES、AES 等。通过加密可以提高数据可靠性,同时也可对无人机身份进行简单认证。但是,单纯的加密缺乏对无人机所传数据的完整性及真实性的认证。

一个良好的Hash 函数具有单向性、抗弱碰撞性、雪崩性、抗强碰撞性,不同的输入数据可以产生不同的消息摘要,同时无法通过消息摘要复原输入数据。因此,可以利用Hash 函数的特点,对数据的完整性进行认证[5-6]。然而,对于无人机通信而言,由于下行链路传输的数据量较大且随机性较强,直接将相关Hash 函数应用在无人机通信系统时,会影响整个系统的时效性及灵活性。为此,本文以Hash 函数中的SHA-1 算法为基础,对其进行改进研究,使其适用于无人机通信中的数据认证。

1 基于SHA-1 算法的数据认证

Hash 函数也称为杂凑函数或散列函数,函数输入为一可变长度x,输出为一固定长度字符串,该字符串被称为输入x 的Hash 值或数据摘要(Message Digest)[7]。因为Hash 函数是多对一函数,不同的输入可能对应着相同的输出,通过给定的输入计算Hash 值是很容易的,但从Hash 值逆推输入则很难,因此,也称Hash 函数为单向Hash 函数。由于Hash函数具有单向性、抗冲突性以及映射分布均匀性和差分分布均匀性,因此,其在数据认证方面有着广泛的应用[8]。

作为Hash 函数的一种,安全散列算法(Secure Hash Algorithm,SHA)是由MD5 发展而来[9]。以SHA-1 算法为例,其实现方式为:首先对输入消息进行补位及附加消息长度,使其位数为512 的整数倍,然后将整个消息拆分为一个一个的512 位的数据块,在求解消息摘要的过程中,需对每个512 位的数据块进行80 步运算,每步运算输入32 位的字Wj,其中前16 个字W0,W1,…,W15为当前数据块中的数据,对于W16~W79可通过式(1)计算得出[10]。在所有数据块运算完成后,可以得到一个160 位的消息摘要。

SHA-1 算法较为简单、易于实现。但是在对每个数据块进行运算时,只有W0~W15为数据块的数据部分,W16~W79则是为了增加消息摘要散列性由式(1)计算得出[11]。对于SHA-1 算法的数据认证,发送方将待发送数据与该数据经过SHA-1 算法计算得到的消息摘要共同发送给接收方;接收方采用相同的SHA-1 算法计算接收数据的消息摘要,将其与接收到的消息摘要进行对比,若消息摘要一致,即可证明所接收数据的完整性。

2 改进的SHA-1 算法实现

2.1 安全通信中的数据认证

为保证无人机待传输数据的安全性和可靠性,将其对应生成消息摘要,该消息摘要作为认证数据与原待传输数据共同发送,经加密、信道编码、射频处理后,经信道发送至地面站;在地面站,对所接收的信号进行解调、信道译码与解密后,即可得到原传输数据及其消息摘要。

地面站将获得的原数据按相同数据认证方法,计算生成新的消息摘要,并将接收获得的消息摘要与其进行一致性对比,即可完成真实性、完整性的判定。为进一步提高认证的效率及灵活性,可对待传输数据进行分组处理,并对各分组对应生成的消息摘要进行摘要抽取,与此相对应,接收方也通过分组摘要进行各分组传输数据的认证。

2.2 算法描述

为使SHA-1 算法更适用于无人机下行链路的数据认证,使其对随机性较大的无人机待传输数据进行更好的计算,同时提高整个系统的时效性,需要对SHA-1 算法进行改进,通过改进后的算法计算无人机待发送数据的消息摘要,步骤如下:

Step1:输入待传输数据并对其进行分组及补位。设待传输数据为S,其数据位数为m,将其等分成n 组,每组N(m/n)位数据,同时对各分组数据进行补位,使得各分组数据补位后的总长度L 为32的整数倍,在进行补位时,先在待补位数据后面补一个1,如果不满足要求,再补0 直到满足其长度为32 的倍数,分组后及补位后的数据表示为S={S1,S2,…,Sn}。

Step2:初始化中间变量A,B,C,D,E。初值设置与原算法相同,令A=H0,B=H1,C=H2,D=H3,E=H4,其中H0~H5值(十六进制)如式(2)所示[12]。

Step3:计算各分组数据的消息摘要。将补位后单个分组中L 位数据以32 为单位进行划分W0,W1,…,Wt,其中循环次数t=L/32,对初始化后的中间变量执行TEMP=Move(A,5)+ft(B,C,D)+E+Wt+Kt;E=D;D=C;C=Move(B,30);B=A;A=TEMP。计算中的逻辑函数ft和常数Kt值与原算法相同,如式(3)、式(4)所示[13]。

当总的循环次数t>=80 时,令t=t %80,即逻辑函数ft和常数Kt从0 开始依次参与运算。

Step4:输出分组消息摘要并进行抽取处理。在计算完所有的Wi(1≤i≤t)后,令H0=H0+A,H1=H1+B,H2=H2+C,H3=H3+D,H4=H4+E,得到一个160 位的消息摘要Mi={H0H1H2H3H4},将其送入摘要抽取函数f(Mi,n)中进行摘要抽取处理。摘要抽取函数如式(5)所示,抽取后的摘要为Mi'。进一步判断是否有未进行摘要计算的分组数据,若有,则跳转至步骤Step2 中,否则执行步骤Step5。

式(5)中M 为输入的消息摘要,n 为数据分组数,Mi'为抽取后的消息摘要。这里的抽取规则为抽取各分组消息摘要的前32 位。

Step5:输出消息摘要。当所有分组数据的消息摘要计算完成并抽取后,即可得到消息摘要{M1',M2',…,Mn'},将其与原待传输数据共同发送。

通过改进后的SHA-1 算法计算无人机待传输数据的消息摘要原理图如图1 所示。

图1 消息摘要生成原理

3 仿真与分析

为验证基于改进SHA-1 的数据认证方法的有效性,在MATLAB 仿真环境下对无人机认证系统进行仿真验证。所选取的待传输数据,如表1 所示。

表1 各分组的待传输数据

由表1 可知,无人机待传输数据为192 位,数据分组数为6 组,即每组32 位数据,进一步通过改进后的SHA-1 算法对各分组数据的消息摘要进行计算,如表2 所示。

表2 各分组的消息摘要

在此基础上,根据摘要抽取函数,对各个分组的消息摘要进行抽取处理,得到用于对该分组进行认证的消息摘要,如表3 所示。

表3 各分组所抽取的消息摘要

最后将抽取处理后的消息摘要组合,作为最终的消息摘要。

进一步,对改进的SHA-1 算法性能进行分析。计算摘要过程中TEMP=Move(A,5)+ft(B,C,D)+E+Wt+ Kt;E=D;D=C;C=Move(B,30);B=A;A=TEMP 所循环的次数,为影响消息摘要计算所需时间的主要原因,而循环次数与处理后的输入数据位数紧密相关(原SHA-1 算法处理后的输入数据为经过补位与补长度后的数据,改进后算法输入数据为补位后的数据)。对于原SHA-1 算法而言,其循环次数t=(处理后的输入数据)/512×80,由于输入数据是以512为单位进行分组,因此,当输入数据在处理后的基础上每增加1~512 位,循环次数需增加80 次;对于改进后SHA-1 算法而言,其循环次数t=L/32(L 为补位后数据位数),由于输入数据是以32 为单位进行分组,因此,当输入数据在处理后的基础上每增加1~32 位,循环次数仅增加1 次。设m 为待计算摘要的数据位数,L1为SHA-1 算法补位及附加消息长度的数据位数,L2为改进的SHA-1 算法补位的数据位数,SHA-1 算法与改进的SHA-1 算法相关特点对比,如表4 所示。

表4 两种算法特点对比

由表4 可知,改进的SHA-1 算法相较于原算法在输入数据的处理上更加灵活,由于减少了计算摘要过程中的循环次数,计算消息摘要所需时间也大幅减少。当输入数据的位数L<512 时,改进后算法在循环次数上比原算法减少了75%以上;当L1=L2时,改进后算法在循环次数上比原算法减少了75%。

进一步在MATLAB2015a 仿真环境下,对两种算法计算消息摘要所需时间进行仿真,其中硬件环境如下:处理器为Inter(R)Core(TM)i5-4590,安装内存(RAM)为4.00 GB,硬盘容量500 G,仿真结果如表5 所示。

表5 两种算法计算摘要所需时间

由表5 可知,当数据长度较小时,改进的SHA-1 算法所需时间远小于原SHA-1 算法;当数据量较大时,原SHA-1 算法计算消息摘要所需时间为改进后SHA-1 算法的6~7 倍。因此,改进算法的时效性相较于原算法有较大的提升,提高了系统的整体运行速度及灵活性,更适合无人机下行链路的数据认证。

在此基础上,在MATLAB 仿真环境下,对无人机下行链路认证效果进行仿真分析。仿真中的通信体制为抗干扰性能优良、传输速率高的差分跳频[14-15],其仿真参数如下:待传输数据为192 bit,跳速5 000 跳/s,工作频段2.93 MHz~7.52 MHz,码速率为10 kb/s,采样频率100 MHz,频率集中的跳频频点数16 个,跳频频点间隔为0.3 MHz,每个码元内的采样点数为10 000,采样持续时间为9.6 ms;加密部分采用DES 算法,信道编码部分采用Turbo 码编码方式。进一步利用宽带噪声信号对整个带宽内的信号进行干扰,其中信噪比为-15.3 dB~-17.1 dB,仿真结果如图2 所示。

在当前信噪比下,对无人机传输数据认证结果进行仿真,仿真结果如图3 所示。

由图3 可知,当信噪比大于-15.7 dB 时,两消息摘要完全相同,无人机传输数据均可实现认证。进一步,对信噪比为-15.9 dB~-16.5 dB 条件下的分组消息摘要认证结果进行仿真,仿真结果如图4~图7 所示。

图2 DFH 调制误码率曲线

图3 传输数据认证结果

图4 信噪比-15.9 dB 消息摘要认证结果

图5 信噪比-16.1 dB 消息摘要认证结果

当信噪比小于-15.9dB 时,无人机传输数据未能进行认证。由图3~图7 可知,对于认证失败的传输数据而言,分组处理的消息摘要仍然可对部分分组成功的进行认证。在认证性能上,进行分组处理的消息摘要可以提高对无人机待传输数据认证的认证效率。

图6 信噪比-16.3 dB 消息摘要认证结果

图7 信噪比-16.5 dB 消息摘要认证结果

4 结论

本文通过减少SHA-1 算法的循环次数对SHA-1 算法进行改进,进而提高该算法计算消息摘要的效率,使其更适合无人机下行链路的数据认证;进一步,通过改进后的SHA-1 算法对分组后待传输数据的消息摘要进行计算,同时对消息摘要进行抽取处理,以提高系统时效性。在此基础上,对基于改进SHA-1 的无人机下行链路通信认证性能进行仿真,仿真结果表明,该方法可以对无人机待传输数据进行有效认证,同时提高了对待传输数据的认证效率,为无人机安全通信发展提供理论借鉴。

猜你喜欢
补位信噪比链路
一种移动感知的混合FSO/RF 下行链路方案*
两种64排GE CT冠脉成像信噪比与剂量对比分析研究
基于经验分布函数快速收敛的信噪比估计器
天空地一体化网络多中继链路自适应调度技术
自跟踪接收机互相关法性能分析
基于深度学习的无人机数据链信噪比估计算法
一种IS?IS网络中的链路异常检测方法、系统、装置、芯片
学校教育与社会教育“补位”
韩国三名高管“补位”亚投行
缺席的父亲:孩子的成长谁能“补位”?