顾朋鹏,陈立全,顾彦杰
〔1.东南大学网络空间安全学院,江苏南京 211189;2.网络空间国际治理研究基地(东南大学),江苏南京211189〕
现代信息隐藏技术是信息安全领域的新兴技术之一,其原理是将秘密信息嵌入到数字化宿主信息中,然后通过公开信息的传输实现秘密信息的传送与安全保护[1~3]。传统的信息隐藏载体一般包括文本、图像和音视频等数字媒体,秘密信息的嵌入通常会改变这些载体的统计特征,这容易引起窃密者的怀疑。由于信道噪声的存在以及信道编码的冗余性,可以将预处理之后的秘密信息作为噪声的一部分嵌入到信道编码后的载体数据码流中,伪装载体在信道中正常传输。只要秘密信息嵌入量适当,即秘密信息造成的误码和信道干扰的误码效应小于信道编码的纠错能力,就可以在接收端准确的提取出秘密信息,同时能够保证载体信息正常通信,达到理想的可逆信息隐藏效果。
经过多年发展,基于信道编码的信息隐藏技术有了一系列研究成果。文献[4]提出一种基于信道编码的信息隐藏算法,通过密钥确定所有秘密信息的嵌入位置,经过多次嵌入操作将全部秘密信息嵌入,但是算法时间复杂度高。文献[5]分析对比了分别采用BCH码、RS码和卷积码三种信道编码下信息隐藏效果,发现采用BCH码的信息隐藏效果最好。文献[6]研究现有的基于信道编码的信息隐藏算法基本以码组为单位嵌入秘密信息,但是算法信息隐藏容量低。文献[7]提出一种基于二级定位的嵌入算法,提高了秘密信息嵌入的随机性。文献[8]提出一种提高载体信息为彩色图像的基于信道编码的信息隐藏算法容量方法。文献[9]对基于信道编码的信息隐写分析方法进行了研究,并给出了未来隐写分析方向。
通过分析现有典型的基于信道编码的信息隐藏算法缺陷,本文提出了一种基于信道编码的载体二次分组的信息隐藏算法,可以有效地避免秘密信息相互覆盖以及载体信息出现连续性错误的问题。
基于信道编码的信息隐藏算法利用信道编码的冗余性以及信道噪声的存在,将秘密信息作为噪声的一部分嵌入到载体中进行传输。针对现有典型算法存在的问题,本节提出了一种改进的算法,即基于信道编码的载体二次分组信息隐藏算法。
相关参数为:
算法以信道编码后的载体数据码流长度与经预处理后的秘密信息长度比值为依据,将编码载体重新分组,根据密钥产生的伪随机序列将秘密信息一次性按比特位分别嵌入到不同分组中。这样既不会造成秘密信息之间相互覆盖又不会使得载体信息产生连续性错误,同时算法具有较低的复杂度。
对于发送端,秘密信息的嵌入过程如图1所示。
(1)使用二进制伪随机序列,对秘密信息进行按位异或处理,得到伪随机加扰后的秘密信息。
(4)根据信道编码后的信源载体长度C与预处理之后的秘密信息长度M的比值,得到步长step,由通信双方事先约定好的密钥产生一组伪随机序列,其中范围为1~step。即替换编码后信源载体的第位,替换结束后将含秘密信息的载体数据送入信道中进行传输。
对于接收端,秘密信息的提取过程如图2所示。
图1 秘密信息嵌入过程
图2 秘密信息提取过程
(3)利用二进制伪随机序列,与纠错解码后的秘密信息进行按位异或得到秘密信息。
在信息隐藏算法中,嵌入秘密信息前后的峰值信噪比PSNR[12]用来评价秘密信息的嵌入对载体造成的影响,峰值信噪比越高,则秘密信息对载体的影响越小,不可检测性越高。通常峰值信噪比30dB为基准,高于30dB则秘密信息基本不可检测,PSNR的定义为:
其中,MAX为图像最大像素值,MSE定义为:
本节对基于信道编码的载体二次分组信息隐藏算法性能进行仿真实验分析,分析在相同码率条件下,不同信道编码条件下载体信息与秘密信息的误比特率。
载体信息是尺寸为256×256的灰度图像SEU.bmp,大小为66KB,秘密信息是采用密钥产生的二进制伪随机序列,长度为1×104。信道编码分别采用(127,64,10)BCH码,(15,7,4)RS码,(2,1,3)卷积码,(7,4,1)汉明码,采用维比特译码,具体仿真环境如表1所示。
图3显示了在不同信噪比条件下,在接收端恢复载体信息的情况,随着信道信噪比的提升,图像中的干扰点越来越少。当信噪比大于8dB时,载体图像中几乎不存在干扰点,即不会引起攻击者的怀疑,保证了信息隐藏的不可检测性。
表1 仿真环境
图3 不同信噪比条件下接收端恢复的载体图像
为了客观地评价本文信息隐藏算法的不可检测性,在RS信道编码条件下,计算了在接收端恢复的载波图像与原始图像的峰值信噪比。所得结果如图4所示,从中可以看出在信道条件不是非常恶劣的情况下,峰值信噪比可以保证大于30db,即保证信息隐藏的不可检测性,当信道信噪比达到8db以上时,峰值信噪比趋于无穷大,即恢复图像与原始图像一致。
图4 不同信道条件下图像峰值信噪比
为了计算算法对于信源载体的影响,通过实验仿真在不同信道编码条件下,信源载体误比特率性能随着信噪比变化曲线。由图5分析可知,其他条件相同时,采用卷积码和汉明码时,信源载体误比特率相对较高,可能会影响正常的载体通信。采用BCH编码和RS码时,信源载体误比特率低,当信噪比达到8dB以上时,信源载体误码率为0,即经过信道译码后,信源数据可以完全恢复,秘密信息的嵌入不会对载体正常通信造成影响。
在不同信道编码条件下,接收端提取出的秘密信息误比特率性能随着信噪比变化曲线如图6所示。
图6 不同信道编码下秘密信息误比特率
分析图6可知,在信道条件一般的情况下,各种编码方式条件下的秘密信息误比特率接近,当信道信噪比在7dB以上时,采用BCH信道编码时秘密信息的误比特率为0,可以完全恢复。当信道信噪比达到9dB以上时,四种编码条件下的秘密信息的误比特率均能达到0,即可以在接收端完全正确提取恢复秘密信息。
综合以上性能分析结果,基于信道编码的载体二次分组信息隐藏算法只要不是在信道条件特别恶劣的条件下,既能保证载体信息正常通信,又可以实现秘密信息的安全传输与准确提取恢复,实现理想的通信系统可逆信息隐藏效果。
本节从存储开销、信源载体与秘密信息误比特率以及算法时间复杂度三个方面比较本文算法与文献[4]、文献[7]中的算法。
根据信息隐藏容量分析理论,假设需要嵌入的秘密信息不超过系统的隐藏容量上限。设预处理后的秘密信息长度与采用的信道编码分组数的比值为R(当预处理后的秘密信息长度小于信道编码分组数时,R取1)。算法在密钥和伪随机序列上的开销如表2所示。
表2 三种算法存储开销比较
由表2可知,对于文献[4]中的算法,存储开销随着R增大而增大,当且仅当R=1时,即待隐藏的秘密信息预处理之后长度小于信道编码分组时,其与本文的改进的算法存储开销相当,优于文献[7]中的算法。当预处理之后的秘密信息长度大于信道编码分组时,R>1,本文改进算法存储开销优于文献[4]和文献[7]中的信息隐藏算法。综合来看,本文算法存储开销最小。
在其他条件相同时,仿真分析三种算法下信源载体与秘密信息误比特率性能。具体仿真参数设置如表3所示。
表3 算法比较的仿真参数
由表3可知,秘密信息嵌入率为0.0572,没有超过秘密信息隐藏容量上限,但是预处理后的秘密信息长度为30,000×2=60,000,显然大于载体信道编码的分组数8192。
图7为使用文献[4]与文献[7]中算法以及本文改进的信息隐藏算法下载体信息的误比特率。由图7可知,在信道条件不是很差的情况下,采用本文算法下载体信息误比特率明显低于文献[4]与文献[7]中算法情况,并且随着信噪比升高误比特率性能不断提高。而文献[4]与文献[7]中载体信息误比特率随着信噪比升高最终趋于稳定在一个值,这是由于载体信息出现了连续性错误,在接收端无法正确译码。
图7 不同信息隐藏算法下信源载体误比特率
图8 为使用文献[4]中的算法,文献[7]中算法以及本文改进的信息隐藏算法下秘密信息的误比特率。
图8 不同信息隐藏算法下秘密信息误比特率
由图8可知,在信道条件相同的情况下,文献[7]中的算法和本文改进的算法明显优于文献[4]中的算法。随着信道信噪比的增加,文献[4]中的算法情况下秘密信息误比特率最终稳定在0.0021左右,这是由于此算法的缺陷性,即在秘密信息长度大于载体信道编码分组时,产生了秘密信息之间的相互覆盖,从而使得最终秘密信息不能完全恢复,在较好的信道条件下,维持在一个值附近。本文算法下秘密信息误比特率在信道条件较好情况立刻降为0,即可以使得秘密信息能够隐藏传输并在接收端准确提取恢复。
为了直观地衡量三种算法的时间复杂度,本文在信噪比5dB的情况下,(127,64,10)BCH信道编码,测量在不同嵌入率情况下,将所有秘密信息嵌入所需要的时间,结果如图9所示。
图9 算法时间复杂度
图9 可知,本文算法嵌入所有秘密信息所需时间最短。这是因为文献[4]与文献[7]中的算法需要将秘密信息按照载体信道编码分组数量进行分组,需要进行多次嵌入,才能将秘密信息完全嵌入,在算法实现中出现了循环嵌套情况,耗时较长。本文的改进算法只需要进行单循环即可将秘密信息一次性嵌入,所需时间较短,算法时间复杂度低。
本文提出的基于信道编码的载体二次分组信息隐藏算法能够有效避免现有典型算法秘密信息出现相互覆盖以及载体信息出现连续性错误的问题。改进算法在信道环境不是特别恶劣情况下,既能够保证载体正常通信以及秘密信息安全传输与准确提取,同时具有较低存储开销以及算法时间复杂度。