種道山,楊 靜
(上海海事大學(xué) 信息工程學(xué)院,上海 201306)
隨著網(wǎng)絡(luò)技術(shù)和多媒體技術(shù)的快速發(fā)展,各種視頻及視頻服務(wù)得到日益普及和廣泛應(yīng)用。數(shù)字多媒體產(chǎn)品具有易于傳輸、無損復(fù)制和分發(fā)等特性,這些特性給人們帶來便利的同時也帶來一些信息安全問題,如信息的竊取與泄露、數(shù)字產(chǎn)品的盜版和信息篡改等問題。因此,在利用網(wǎng)絡(luò)及多媒體技術(shù)的同時,如何保證數(shù)字信息的安全存儲與傳播及保護數(shù)字產(chǎn)品的版權(quán),已成為人們研究的重要課題,即視頻的安全性問題。由于視頻信號的數(shù)據(jù)量巨大,而網(wǎng)絡(luò)帶寬有限,因此它總是以壓縮的形式進(jìn)行傳播的。這樣,就需要結(jié)合壓縮標(biāo)準(zhǔn)來設(shè)計加密方案,一方面要使加密后的數(shù)據(jù)與解壓格式兼容,另一方面要保證不能影響到數(shù)據(jù)的壓縮效率和有效傳輸。
加密技術(shù)是傳統(tǒng)的保障信息安全方法。它大致可以分為完全加密、部分加密和基于編碼的加密3部分。其中完全加密是對整個視頻流不加區(qū)分地全部加密,即將視頻流當(dāng)作是普通的二進(jìn)制數(shù)據(jù)文件來進(jìn)行加密而不考慮視頻編碼數(shù)據(jù)的特殊格式。例如經(jīng)典的算法RSA[1]和DES[2]等。這種方法具有很高的安全性,但是由于其加密算法的計算復(fù)雜度過大,要加密的視頻數(shù)據(jù)也很多,對系統(tǒng)造成的開銷過大,實時性很差。部分加密算法是先對視頻流中的數(shù)據(jù)按照某種標(biāo)準(zhǔn)進(jìn)行劃分,選取其中的一部分視頻數(shù)據(jù)進(jìn)行加密。在H.264編碼下,文獻(xiàn)[3-4]中分別對加密層數(shù)據(jù)和基本層的數(shù)據(jù)采用不同的加密方法,對加密的強度也提供了擴展性。但基于分層的可擴展性編碼方法還沒有得到廣泛的支持和應(yīng)用,也在某種程度上限制了這種加密技術(shù)的應(yīng)用。
與編碼過程相結(jié)合的算法包括:信源數(shù)據(jù)加密算法,它是直接加密視頻數(shù)據(jù),以使視頻數(shù)據(jù)混亂而不能被理解。優(yōu)點是計算復(fù)雜度低,實時性好,但是不能在安全性要求高的場合應(yīng)用。例如歐洲電視網(wǎng)采用Eurocrypt[5]加密標(biāo)準(zhǔn)以行為單位置亂每一幀電視畫面來加密其電視信號;壓縮域加密算法主要是基于視頻信源特征加密視頻重構(gòu)中的敏感數(shù)據(jù),包括DCT系數(shù)、編碼預(yù)測模式、運動矢量信息、頭信息等。例如,Tosun[6]改進(jìn)的DCT系數(shù)加密算法,該算法顯著改善了壓縮比,同時支持分級安全級別,但其理論最大置亂空間也顯著減小,因而安全性也降低了。文獻(xiàn)[7]提出的幀內(nèi)預(yù)測模式置亂方法簡單并且直觀,但在對抗密鑰猜解方面的能力很弱,因此這種加密方法不能單獨使用,而常常與其它加密方法聯(lián)合使用。而文獻(xiàn)[8]是對運動向量差值進(jìn)行加密。這種對預(yù)測方式的加密信息在一定程度上能擾亂視頻的內(nèi)容,但在視覺安全性上仍然存在不足?;陟鼐幋a的加密算法可分為加密碼字序號和碼表重建兩種方法。前者加密算法實現(xiàn)簡單,加解密速度快,但較大的影響了熵編碼的效率。后者將標(biāo)準(zhǔn)碼表修改后使用,解密密鑰為加密碼表的內(nèi)容和順序,該方法使得編碼效率降低。
基于上面的分析,目前的加密算法在安全性、壓縮比和計算復(fù)雜度上都各自存在優(yōu)缺點,實際應(yīng)用效果不好。針對以上特點,提出一種采用混沌流密碼有選擇地對圖像編碼中起關(guān)鍵作用的數(shù)據(jù)進(jìn)行加密的加密方案,能在微量降低壓縮比的情況下加密盡可能少的數(shù)據(jù),取得盡可能好的加密效果。具體方案如下:
由于在I幀視頻幀中采用4x4預(yù)測編碼模式占了大多數(shù),對Inra 4x4預(yù)測模式字進(jìn)行加密,就已經(jīng)能夠提供足夠的安全性。另外,在H.264壓縮編碼標(biāo)準(zhǔn)中,編碼預(yù)測模式時采用Exp-Golomb(指數(shù)哥倫布)編碼方式。Exp-Golomb碼字的邏輯結(jié)構(gòu)為[Mzeros][1][INFO],INFO指的是M位的信息碼。在本文的加密方案中,只考慮對Intra 4x4的編碼模式字進(jìn)行加密操作。如表1所示,只對后面3個比特位的信息碼通過用等長偽隨機序列來進(jìn)行擾亂,這樣就使得算法的復(fù)雜度低,同時又能保持?jǐn)?shù)據(jù)格式不變。同時,再設(shè)定一個參數(shù)P1,產(chǎn)生一個0到l之間的偽隨機數(shù)列r,對應(yīng)于上面提到的9個元素,如果r≤P1時,那么對該元素進(jìn)行加密,反之則跳過這個元素,不進(jìn)行加密。
表1 幀內(nèi)編碼模式字Tab.1 Intraframe coding mode word
基于樹狀結(jié)構(gòu)運動補償,對于一個P宏塊來說,它最多需要傳送16個運動向量。為了進(jìn)一步減少比特數(shù),可以利用鄰近MV之間的相關(guān)性進(jìn)行預(yù)測編碼。后一個MV可由前面已經(jīng)編碼的MV預(yù)測,我們只需要對它們的差值MVD進(jìn)行編碼。在H.264中,MVD值是采用指數(shù)哥倫布(Exp-Golomb)進(jìn)行編碼的,這是一種變長編碼方式,如果對整個MVD值進(jìn)行加密,會破壞視頻的語義結(jié)構(gòu)。文中只對MVD的符號和位置進(jìn)行擾亂。這樣既不會破壞視頻的語義結(jié)構(gòu),也使得算法的復(fù)雜度大大降低。這種加密方法置亂前后的碼長相等,但是改變了塊運動矢量的符號以及運動矢量分量在碼流中出現(xiàn)的次序。另外,再設(shè)定一個參數(shù)P,以P的概率來控制加密的強度。具體算法如下:
1)隨機產(chǎn)生一個一位的偽隨機序列與Exp-Golomb編碼的符號位進(jìn)行擾亂。
2)對每個運動矢量殘差不相等的兩個分量(水平分量和垂直分量)進(jìn)行隨機置亂。
3)產(chǎn)生一個0到l之間的偽隨機數(shù)列r,對應(yīng)于上面提到的16個元素,如果r≤P時,那么對該元素進(jìn)行加密,反之,則跳過這個元素,不進(jìn)行加密。
H.264壓縮編碼標(biāo)準(zhǔn)采用4x4整數(shù)離散余弦變換,塊數(shù)據(jù)經(jīng)過預(yù)測、變換和量化,量化后的數(shù)據(jù)經(jīng)過Zig--Zag掃描后生成16個DCT系數(shù),低頻部分集中了主要的非零系數(shù),高頻系數(shù)大部分為零,也就是說DCT變換使得圖像塊能量主要集中在低頻部分。所以,改變低頻部分的系數(shù)對于圖像的可理解性的變化更加敏感。為了加密盡可能少的系數(shù)就可以實現(xiàn)盡可能好的加密效果,對視頻幀內(nèi)量化后的DCT系數(shù)分別采用以下加密方案。
1)低頻系數(shù)之間洗牌:為了減少密鑰的開銷,降低對壓縮比的影響,同時又能達(dá)到相對較好的加密效果,隨機置亂低頻交流系數(shù)之間進(jìn)行。
2)對所有DCT系數(shù)符號隨機翻盤:設(shè)隨機生成的密鑰為K(K=1或-1),然后與原DCT系數(shù)相乘。
在本文中,我們以QCIF 4:2:0格式的標(biāo)準(zhǔn)測試序列foreman和football作為實驗視頻序列,在普通的PC機上進(jìn)行試驗實驗。以H.264中的官方參考軟件JM12.1來實現(xiàn)上述的算法設(shè)計,利用VS2005完成對JM代碼的調(diào)試和編譯。編碼參數(shù)為:以IPPP??P方式進(jìn)行編碼,I幀刷新率為10,幀率為30幀/s。圖1為加密效果圖,其中圖片(1)、(4)為原始視頻序列,圖片(2)、(5)為將參數(shù)設(shè)置成p1=p2=0.7時的加密效果圖,圖片(3)、(6)為將參數(shù)設(shè)置成p1=p2=1時的加密效果圖。
圖1 加密效果圖Fig.1 Encryption effect diagram
1)安全性分析
從視覺上看加密視頻的前景和背景信息都異?;靵y不能理解。可見,文中的加密算法對各種類型的幀都具有很好的加密效果,因而視覺安全性很高。另外,文中分別加密了IPM、DCT系數(shù)及MVD等關(guān)鍵數(shù)據(jù),所加密的位數(shù)和關(guān)鍵數(shù)據(jù)的碼流長度一樣,所以密鑰破譯空間等于用戶密鑰窮舉空間,因此本方案可以防止窮舉攻擊。對幀內(nèi)DCT低頻系數(shù)進(jìn)行置亂幾乎不影響置亂后塊內(nèi)系數(shù)能量大小的Zig-zag排序,因而可以有效地防止FAB攻擊。LIU[9]已經(jīng)證明出僅加密MVD符號位不能防止MVR攻擊,文中除了加密MVD符號還隨機置亂了MVD不相等的水平分量與垂直分量,能夠更好的保護運動信息。
2)加密效率和計算復(fù)雜度的分析
對foreman.yuv和football.yuv的編碼時間進(jìn)行比較,序列類型為IPPP,共3幀,幀率為30 f/s,量化參數(shù)QP=28測得時間如表2。從加密前后的時間對比可以看出加密的效率很高。另外,文中置亂IPM使用了簡單的異或和判斷操作,隨機翻盤DCT系數(shù)符號和MVD符號使用了相乘操作,隨機置亂MVD不相等的兩個分量,這些操作幾乎對計算復(fù)雜度沒有影響:置亂幀內(nèi)DCT低頻系數(shù)只輕微增加計算量,這些對計算復(fù)雜度影響都很小。加密的復(fù)雜度一般用加解密過程占編解碼過程時間的百分比(τ)表示。由文獻(xiàn)[10]可知,當(dāng)τ<10%時,就可以比較好的滿足實時性要求。從表2可以看出,本方案的加密效率非常高,加密復(fù)雜度低完全符合要求,能夠滿足對視頻的實時處理。
表2 加密復(fù)雜度Tab.2 Encryption complexity
3)壓縮比分析
文中加密算法改變了DCT系數(shù)分布的統(tǒng)計特性,使得利用統(tǒng)計特性進(jìn)行壓縮的壓縮過程獲得的壓縮比有所改變。我們將編碼器的參數(shù)設(shè)黃為:Frame To Be Encoded=50,Intra Period=20。壓縮比變換率測試的結(jié)果如表3所示。
表3 壓縮比變化率Tab.3 Compression ratio of the rate of change
壓縮比變化率f定義為:
其中r1表示僅僅進(jìn)行壓縮操作后的視頻數(shù)據(jù)量,r2表示進(jìn)行壓縮和加密操作后的視頻數(shù)據(jù)量。因此,r反映了壓縮比變化量。
針對目前最新的視頻編碼標(biāo)準(zhǔn)H.264[11],提出了一種新的加密算法,實現(xiàn)了幀內(nèi)預(yù)測模式IPM、運動向量差值MVD和DCT系數(shù)的聯(lián)合加密。性能分析和實驗結(jié)果均表明,該算法可以取得良好的加密安全性和執(zhí)行效率,為H.264的實時安全應(yīng)用打下了基礎(chǔ)。隨著H.264的日益普及,相信在不久的將來,對H.264的加密應(yīng)用將會更加廣泛。
[1]BLEICHENBACHER D.Chosen ciphertext attacks against protocols based on the RSA encryption standard PKCS[J].Lecture notes in computer science,1998:1-12.
[2]BUCHMANN J.Introduction to cryptography[M].Springer Verlag,2004.
[3]WON Y G,BAE T M,RO Y M.Scalable protection andaccess control in full scalable video coding,Jeju Island,Korea,Republic of,F(xiàn),2006[c].Springer Verlag.
[4]PARK S-W,SHIN S-U.Efficient selective encryption scheme for the H.264/scalable video coding(SVC),Piscataway,NJ 08855-1331,United States,F(xiàn),2008[C]//Institute of Electrical and Electronics Engineers Computer Society.
[5]European Standard EN 50094,Access Control System for theMAC/Packet famlily:EUROCRYPT[S].
[6]Tosun A.S.,F(xiàn)eng W.C..Efficient Multi-layer Coding and Encryption of MPEG Video Streams [A].Proc.of IEEE International Conference on Multimedia and Expo(ICME)[C].2000,1:119-122.
[7]AHN J,SHIM H,JEON B,et a1.Digital video scrambling method using intra prediction mode F 2004[C].Springer.
[8]LIAN S,SUN J,LIU G,et a1.Efficient video encryption scheme based on advanced video coding[J].Multimedia Tools and Applications,2008,38(1):75-89.
[9]Liu Z.,Li X..Motion Vector Encryption in Multimedia Streaming [A].Proc.of the lOth International Multimedia Modeling Conference(MMM’04)[C],2004:1-8.
[10]廉士國,孫金生,王執(zhí)銓.幾種典型視頻加密算法的性能評估[J].中國圖象圖形學(xué)報,2004,9(4):483-490.LIAN Shi-guo,SUN Jin-sheng,WANG Zhi-quan.Several typical video encryption algorithm performance assessment[J].Journal of Image and Graphics,2004,9(4):483-490.
[11]緱新科,鄭耐琴.H.264視頻編碼技術(shù)研究[J].現(xiàn)代電子技術(shù),2012(2):58-61.GOU Xin-ke,ZHENG Nai-qin.Research of H.264 video encoding technology[J].Modern Electronics Technique,2012(2):58-61.