顧朋鵬,陳立全,顧彥杰
〔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]中的算法需要將秘密信息按照載體信道編碼分組數量進行分組,需要進行多次嵌入,才能將秘密信息完全嵌入,在算法實現中出現了循環嵌套情況,耗時較長。本文的改進算法只需要進行單循環即可將秘密信息一次性嵌入,所需時間較短,算法時間復雜度低。
本文提出的基于信道編碼的載體二次分組信息隱藏算法能夠有效避免現有典型算法秘密信息出現相互覆蓋以及載體信息出現連續性錯誤的問題。改進算法在信道環境不是特別惡劣情況下,既能夠保證載體正常通信以及秘密信息安全傳輸與準確提取,同時具有較低存儲開銷以及算法時間復雜度。