肖 嵩 陈 哲 杨亚涛 马英杰 杨 腾
①(西安电子科技大学通信工程学院 西安 710071)
②(北京电子科技学院电子与通信工程系 北京 100070)
随着空间遥感技术的快速发展,卫星图像在军事、农业、林业和城市规划等领域发挥着重要作用[1]。卫星图像数据包含传感器参数、地理定位等涉密内容,在传输和存储过程中易受到攻击,导致数据机密性和完整性的丢失[2]。因此,研究如何保护卫星图像在传输和存储过程中的信息安全已经成为国内外研究者广泛关注的研究热点。
卫星图像保护主要通过加密来防止未经授权的访问[3]。已有的一些加密算法在安全性方面存在潜在问题。例如,Chen等人[4]提出了一种基于拉丁方的加密算法,但是由于该算法使用的混沌系统具有一组密集的周期窗口,该加密算法能够被选择明文攻击与选择密文攻击的组合攻击所破解[5]。Mondal等人[6]提出了一种基于Fridrich结构的轻量级置乱-扩散加密算法,然而由于使用与明文无关的密钥且在扩散阶段使用简单的异或运算,这种加密算法的密钥可由侧信道攻击获得[7]。Dawahdeh等人[8]提出了一种结合椭圆曲线与Hill密码技术的加密算法,但是由于该加密算法具有较小的密钥空间和弱雪崩效应,算法能够被暴力穷举攻击攻破[9]。由于卫星图像不仅具有数字图像的特征,如高冗余度、相邻像素之间的高相关性等,同时还有数据量大的特点,经典加密技术如高级加密标准(Advanced Encryption Standard, AES)等已不再适用于卫星图像加密。在考虑图像特性的基础上,混沌系统因为具有良好的伪随机性、遍历性以及对初始条件和系统参数的高敏感性[10],成为图像加密的天然候选。传统一维混沌系统具有实现简单,加密效率高等优点,但是在某些条件下,其轨道与初始参数很容易被预测,会对加密算法的安全性带来影响[11]。为了解决上述问题,一些学者提出了基于高维混沌系统的加密算法[12-14],然而高维混沌系统结构复杂,具有较大的运算难度与运算复杂度。同时由于卫星图像覆盖范围广,且通常包含复杂的光谱信息,高维混沌系统产生的大量浮点计算会降低加密效率[15]。
由于有限的精度,不可预测的混沌系统有可能变得具有周期性,只使用混沌理论的密码系统安全性较差[13]。因此,有必要引入新的加密方法提升密码系统的安全性。近年来,国内外研究者将基于脱氧核糖核酸(DeoxyriboNucleic Acid, DNA)编码规则与混沌系统相结合提出了一些图像加密算法[16,17]。例如,Li等人[18]使用超混沌系统与DNA运算构造了一种加密算法,非常适用于彩色图像。Chai等人[19]提出了一种与明文相关的DNA操作加密算法,具有较好的加密效果。Wang等人[20]基于混沌同步理论,提出了一种与DNA编码结合的加密算法,且适用于不同尺寸的图像。这些算法不需要进行生物实验,具有很高的实用性。 DNA编码具有高并行性、超低功耗等优点[21]。但是由于DNA编码规则仅有8种,算法的抗暴力攻击能力较弱。同时这种规则并不能对密码系统加扰,导致攻击者可以通过差分攻击或者选择明文攻击来获取关于加密系统有价值的线索。
通过上述分析,总结出现有加密算法的3个主要缺点:(1)传统的混沌系统混沌特性不佳,导致所提出的算法密钥安全性不足。(2)混沌系统在加密领域虽然表现出色,但其单独应用仍受到一些限制,包括周期短和精度有限等问题。(3)现有DNA编码与混沌理论相结合的加密算法中,扩散步骤多为与明文无关的静态扩散,很难抵御如暴力攻击、差分攻击等攻击。为了解决上述问题,本文针对卫星图像的特点,提出了一种安全性更高的“双置乱-扩散”框架的新型卫星图像加密算法,具体包括以下几个方面:设计了一种改进型无限折叠混沌映射,并与另一种具有复杂混沌现象的混沌映射共同构成联合混沌系统,使得混沌行为更难以预测,提高算法的抗攻击能力,同时结合哈希算法生成与明文相关的密钥来提升密钥空间与明文敏感性;引入Hilbert曲线与DNA编码技术,克服混沌密码系统可能存在的短周期问题;以混沌系统的状态值作为DNA编码的依据,将时空混沌特性与DNA编码结合在一起,实现DNA动态编码,提高算法抗穷举攻击、抗差分攻击的能力。理论分析与实验结果证明该算法的抗攻击能力与安全性等级较好,具有较高的实用性与科学性。
无限折叠混沌映射(Iterative Chaotic Map with Infinite Collapse, ICMIC)是一种一维混沌映射[22],其结构简单,易于实现。但是混沌范围小,轨道容易被预测。针对无限折叠混沌映射存在的缺陷,利用分式结构来分离相空间中两个相邻点,同时向原混沌映射引入非线性项进行加扰,得到改进型无限折叠混沌映射(Improved Iterative Chaotic Map with Infinite Collapse, IICMIC)的映射公式
其中,a为系统参数,xn+1为该映射的迭代输出值。
分岔图可以描绘系统动力学行为随着系统参数改变的规律[23]。ICMIC与IICMIC的分岔图如图1所示。由图1(b)可见,在整个系统参数的取值范围内,IICMIC均处于满映射状态且混沌区间更广,同时,ICMIC的空白窗口问题也得到解决。
图1 分岔图与功率谱
功率谱分析可以根据系统状态输出信号的频谱来判断系统是否具有混沌特性。对于一个混沌系统,其功率谱应是具有明显噪声背景和宽峰的连续谱[24]。IICMIC的功率谱如图1(c)所示。由图1(c)可以看出,系统的输出信号具有宽带性、连续性,说明系统存在复杂的混沌行为。
李雅普诺夫指数(Lyapunov Exponent, LE)用来表征动力学系统对初值的敏感程度。若一个系统存在混沌现象,那么该系统的LE值至少有1个大于0[25]。IICMIC与一些传统混沌映射的LE值比较结果如图2(a)所示。由图2(a)可看出,IICMIC的LE值在参数的整个取值范围内始终大于0,说明IICMIC始终处于混沌状态。相比于传统混沌映射,IICMIC具有较大的LE值,表现出更加复杂的混沌特性。
图2 李雅普诺夫指数比较与谱熵复杂度比较
谱熵(Spectral Entropy, SE)算法是一种基于结构复杂度的算法,其可以对混沌序列的复杂度进行分析。混沌序列越复杂,随机性越强,序列就越难恢复成原序列,混沌系统的复杂度就越高[26]。图2(b)对IICMIC与一些常见混沌映射进行了谱熵分析,可以看出,在系统参数的整个取值范围内,IICMIC都有较高的复杂度。同时相较于其他混沌映射,IICMIC恒保持高复杂度,证明其是一种广域高复杂度映射。
本文提出“双置乱-扩散”框架的新型卫星图像加密算法,具体加密算法过程如图3所示。首先,通过哈希算法生成密钥,利用密钥迭代由IICMIC与改进型Chebyshev混沌映射(Improved Chebyshev Chaotic Map, ICCM)[25]共同构成的联合混沌系统来生成混沌序列,这种混沌序列构造方式相较于高维混沌系统具有较高的计算效率,相较于传统的一维混沌系统具有较好的安全性。之后,使用混沌序列对局部置乱后的像素矩阵进行DNA动态扩散与混沌加密,从而实现对卫星图像数据的加密。
图3 加密算法过程图
在密钥生成阶段,SHA-256哈希算法可以生成与明文相关的密钥,提升密钥安全性与加密算法的明文敏感性。由于ICCM映射同样具有复杂混沌行为,将本文提出的IICMIC与ICCM联合作为混沌序列的生成器可以增强生成序列不可预测性,解决传统1维混沌系统轨迹容易被预测的问题。同时,联合混沌系统可以提升密钥的长度,提高算法的安全性。通过哈希算法与明文图像生成混沌序列的具体步骤如下所示:
(1) 将通过明文图像得到的哈希序列k划分成32个长度相等的部分,并将每一个部分转换为一个[0,255]内的十进制数,通过式(2)生成初始密钥pre_key
(2) 使用初始密钥,通过式(3)生成最终的密钥
其中,X1(1),X2(1)与a1,a2分别为IICMIC的初始值与初始参数值;Y1(1),Y2(1)与b1,b2分别为ICCM的初始值与初始参数值;S是一个和明文相关的密钥。
(3) 将得到的最终密钥值X1(1),X2(1),a1,a2与Y1(1),Y2(1),b1,b2分别迭代IICMIC与ICCMT+M×N-1(T ≥500) 次,舍弃前T个值以消除混沌系统的暂态效应。其中M,N为明文图像的宽,高值。最后获得4条长度为M×N的伪随机数序列X1(i),X2(i),Y1(i)与Y2(i) ( 1≤i ≤M×N)。
为了克服混沌系统可能产生的短周期问题,引入Fass曲线的一种:Hilbert曲线[13]对像素进行局部置乱。这种加密方法具有较大的置乱周期和较好的加密效果,实用性较高。
(1) 使用Hilbert曲线对明文图像P进行遍历。
(2) 基于遍历曲线,将像素按遍历的顺序存储至新的矩阵P1中,完成对明文图像P的局部置乱。
置乱操作能够提高算法抵抗统计分析攻击的能力,而要提高加密算法对于已知明文攻击的抵抗能力,就必须在置乱操作之后进行扩散操作。为了提升算法与明文的关联性,增强算法的雪崩效应,本文采用DNA编码技术[21]结合混沌序列完成扩散操作。
(1) 将矩阵P1按从左到右,从上到下的顺序转换成1维序列,并根据式(4),将3条混沌序列转换为整数序列
其中,Pd与Rd决定DNA编码方式,Pe决定DNA解码方式。
(2) 由ICCM的当前状态值获取对应的整数值序列R
R(i)=|floor(256×Y1(i))|,1≤i ≤M×N(5)
(3) 利用整数序列Pd与Rd对矩阵P1的1维序列与整数二进制序列R进行DNA编码,得到两条DNA序列: DNAP与D NAR。
(4) 对得到的两条DNA序列进行式(6)所示的运算,得到一条新的扩散序列P2
(5) 对P2进行DNA解码,Pe决定解码的方式。解码完成后,将P2转换为M×N的矩阵P2。
Hilbert曲线遍历适用于局部置乱,混沌系统可以实现像素矩阵的进一步全局置乱,进而降低像素之间的相关性。
(1) 将混沌序列X1进行降序排列,得到混沌序列的索引序列的新索引位置。
(2) 依据新索引位置,将矩阵P2中的像素按照每行M个进行重新排列,得到全局置乱的像素矩阵P3。
密文反馈使明文的一处微小变化影响整个密文,从而破坏明文图像与密文图像之间的联系,提高算法抵御常见密码分析学攻击的能力。具体步骤如下所示:
(1) 对密钥S进行改进,得到密文扩散操作中的参数S′
其中,P(i,j) 表 示像素矩阵第i行 第j列的元素。
(2) 利用两条伪随机数序列,根据式(8)计算扩散序列 LD 与CD
(3) 使用扩散序列 LD , 根据式(9)对像素矩阵P3进行逐行灰度加密
(4) 同理,也可以使用扩散序列 CD,在像素矩阵P4的列方向上类比式(9)完成扩散,得到加密完成的密文图像Pm。
由于本文提出的卫星图像加密算法为对称加密算法,所以卫星图像的解密算法为加密过程的逆运算。主要包含5个阶段:解密密钥流构造、密文逆反馈、全局逆置乱、DNA动态逆扩散与局部逆置乱。首先,将构造出的解密密钥流引入密文逆反馈阶段,恢复出全局置乱卫星图像。之后,通过混沌逆置乱与DNA动态逆扩散过程得到初步置乱图像。最后,经过Hilbert逆置乱得到解密卫星图像。
仿真实验在Matlab R2021b平台上进行。仿真实验所使用的测试图像主要分为两部分,第1部分为GF-2卫星获取的不同地理位置的卫星图像,分别是Shidao(1 024×1 024)全色卫星图像、Qingdao(512×512)全色卫星图像、Xi’an(256×256×4)多光谱卫星图像,第2 部分是标准L e n a 图像(256×256)。
对比测试包括抗差分攻击分析、信息熵分析、密钥空间分析与相关性分析,结果如表1、表2所示。其中,表1为本文所提出加密算法与部分数字图像加密算法加密结果对比,测试图像为标准Lena图像。表2为本文所提出加密算法与部分卫星图像加密算法加密结果对比,测试图像为Xi’an蓝波段。
表1 本文算法与部分数字图像加密算法分析对比
表2 本文算法与部分卫星图像加密算法分析对比
使用本文所提出的卫星图像加密算法对部分卫星图像进行加密,仿真结果如图4所示。从图4可看出,所有的密文图像都得不到相应明文图像的任何信息,因为明文图像与密文图像之间没有任何联系,表明加密算法的加密性能较好,且适用于不同大小、不同类型的卫星图像。
图4 部分卫星图像加密结果与直方图信息
一个好的加密算法首先应该抵御暴力穷举攻击,因此图像加密算法的密钥空间必须足够大(>2100)[3]。本文所提出的加密算法的密钥空间主要包含3部分,第1部分是哈希算法自身的密钥空间,其大小为2128,第2部分是联合混沌系统的参数值,假设计算精度为10-16,该部分的密钥空间为(108)16=10128,第3部分是密钥S,这是一个与明文相关的密钥,其大小为28。因此,总密钥空间为2128×10128×28≈2562,远远大于2100。不同加密算法的密钥空间对比结果列于表1与表2。相较于其他文献,本文所提出加密算法的密钥空间更大。因此,本加密算法可以更好地抵御穷举攻击。
直方图是衡量明文图像与密文图像中像素值分布最有效的方法之一。明文图像的直方图通常分布不均匀,优秀的加密算法会使密文图像的直方图分布更均匀。如图4所示,本文提出的加密算法可以得到直方图分布完全均匀的密文图像,表明该算法可以有效地抵抗统计分析攻击。
对于明文图像,两个相邻像素点之间的相关系数通常非常高,理想的加密算法应该将密文图像相邻像素点的相关系数减少到接近0。相关系数作为一种评估两个变量之间统计关系的数值度量,其定义如式(10)所示
其中,xi与yi分别表示图像中相邻两个像素点的灰度值,N表示从图像中选择的像素点总数。
本文沿水平、垂直和对角线方向随机选取5 000对相邻像素点进行相关性测试,图5与表3描绘了部分卫星图像水平、垂直和对角线方向的相关分布。如图5与表3所示,本文提出的加密算法可以有效地减少相邻像素点之间的相关性。同时,对比结果列于表1与表2。对比结果显示,本文提出的加密算法可以使密文图像的相关系数接近于0。因此,攻击者无法通过分析获得有用的相关信息来破解加密算法。
图5 明文图像与密文图像在水平、垂直、对角线方向上的相邻像素分布
信息熵是评估加密算法抵御统计攻击的重要方法之一,其值最大为8,最小为0。信息熵的值越大,表示图像的随机性越强,即抵御统计攻击的能力越强。信息熵的计算公式由式(11)所示
其中,p(mi)表 示mi出现的概率。测试结果列于表4,对比结果列于表1与表2。3次测试结果均显示密文图像的熵值非常接近理想值,说明本文所提出的加密算法可预测性较低,具有较高的安全性。
表4 信息熵分析
图像是一种人类视觉可以直观感受到的媒介,因此,可以基于使用最为广泛的图像质量评估方法来测量密文图像的视觉质量[10]。同时,由于卫星图像的特殊性,往往要求解密算法达到无损或近无损的解密质量。本次测试使用峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)与结构相似性(Structural SIMilarity, SSIM)两个图像质量评估指标来进行评估。PSNR与SSIM的计算公式如式(12)、式(13)所示
其中,I与I′分别为两幅待评估图像,M,N表示图像的宽度与高度,i,j是像素点的坐标,µ表示平均亮度强度,σ表示对比度的标准偏差, sc1与sc2是用于稳定的恒定参数,分别为0.01与0.03。
对于压缩、解密等图像处理质量评估而言,PSNR与SSIM越大越好。而对于加密而言,如果视觉质量恶化,就证明会得到更好的加密结果。加密评估结果列于表5的2,3列,解密评估结果列于表5的4,5列。
表5 视觉与无损分析
表5的结果表明,本加密算法具有较好的视觉性能,非常小的PSNR和SSIM值证明从明文到密文,图像的像素发生了显著改变,并且密文图像与明文图像完全不相关。同时,本算法可以实现无损的加密解密过程,解密图像与明文图像之间没有差异,重建图像质量较好。
卫星图像数据在传输、存储过程中可能会存在数据丢失的情况,因此,加密算法需要能够抵御数据丢失攻击,这就意味着如果密文图像丢失一部分数据,解密图像必须具有明文图像的大部分原始信息。本次测试将不同规格的密文数据进行裁剪,评估本文所提出的加密算法抗裁剪攻击能力。从图6可以看出,当裁剪区域达到50%时,恢复的解密图像仍然具有明文图像的重要信息。因此,本文所提出的加密算法可以抵御一定的数据丢失攻击。
图6 受到不同程度裁剪攻击的密文图像的解密效果
一个安全的加密算法应该对密钥的微小变化非常敏感,即当密钥发生轻微的变化时,密文图像将会发生显著的变化,同时,解密密钥进行轻微的修改也会使密文图像无法进行解密。本次测试针对选定密钥增加10-14,以密钥X1(1)为例,测试结果如图7所示。由图7可看出,修改密钥的密文图像与原始密钥的密文图像完全不同,并且使用轻微修改的密钥无法正确解密原始密文图像。这些结果证明所提出的加密算法对密钥的任何轻微变化都及其敏感,可以有效地抵御统计与暴力穷举攻击。
图7 密钥敏感性分析
根据密码学原理,图像加密算法必须能够抵御差分攻击,因此,优秀的图像加密算法必须对明文图像非常敏感,即明文图像进行微小的改变都会导致完全不同的密文图像。像素平均改变率(Number of Changing Pixel Rate, NPCR)与像素平均变化强度(Unified Average Changing Intensity, UACI)是抗差分攻击分析的两个指标,对于256灰度级的图像,理想的NPCR与UACI值分别为99.609 4%与33.463 5%[2]。两个指标的定义如式(14)、式(15)所示
其中,M,N表示图像的宽度与高度,i,j是像素点的坐标,C1与C2表示两个不同的密文图像,两者对应的明文图像只有1个像素发生了微小的改变。
测试结果与不同算法之间的对比结果如表1与表2所示。表1和表2的结果显示,本文提出的加密算法的NPCR与UACI值足够接近理想值,且在不同算法之间的对比中表现较好,证明本加密算法可以较强地抵御差分攻击。
本文提出一种新型卫星图像加密算法,采用双置乱-扩散框架以提高其加密效果与安全性能。首先,提出了一种改进型无限折叠混沌映射,并通过常见混沌系统分析证明其具有非常复杂的混沌行为。之后,在该映射与改进型Chebyshev混沌映射组成的联合混沌系统基础上,结合哈希算法、DNA编码等技术,完成卫星图像从局部到全局,从明文到密文的像素混淆操作,得到加密完成的卫星图像。结果分析表明,本算法具有较大的密钥空间,密文图像像素点间具有较低的相关性,可以抵御如差分攻击、统计攻击等潜在攻击。同时能够实现无损加解密与抵抗一定程度的数据丢失。因此,本算法可以保护各种类型的卫星图像在传输、存储的过程中的数据安全,并具有较好的应用前景。