《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 基于嵌入式系統(tǒng)的數(shù)字視頻信號(hào)加密技術(shù)

基于嵌入式系統(tǒng)的數(shù)字視頻信號(hào)加密技術(shù)

2009-07-22
作者:洪家平

??? 摘??要: 幾種常用數(shù)字視頻信號(hào)加密技術(shù)的原理與方法,分析了這些加密方法的優(yōu)點(diǎn)和存在的不足,。提出了一種僅對(duì)視頻碼流中解碼和視頻圖像的重建起著重要作用的少部分?jǐn)?shù)據(jù)進(jìn)行高強(qiáng)度加密的方法,,這一方法可以取得對(duì)整個(gè)視頻碼流安全加密的效果。?

??? 關(guān)鍵詞: 數(shù)字視頻; 加密技術(shù); 嵌入式系統(tǒng)

?

??? 數(shù)字視頻在許多方面與靜止圖像有相同特性,例如數(shù)據(jù)量大,、結(jié)構(gòu)性強(qiáng)、各部分?jǐn)?shù)據(jù)的重要性不同等,,視頻的幀內(nèi)編碼與靜止圖像編碼類(lèi)似,。數(shù)字視頻是由數(shù)字圖像的時(shí)間序列構(gòu)成的,每一幅圖像稱(chēng)為一幀,。為了保證流暢的視覺(jué)效果,,視頻顯示的幀速率即圖像序列的播放速率,通常為每秒25~30幀,,視頻加密在一定時(shí)間內(nèi)必須處理大量數(shù)據(jù),,因此要求有很高的處理速度。當(dāng)前的視頻加密技術(shù)還很難同時(shí)滿(mǎn)足安全,、及時(shí)等加密要求,。?

1 視頻加密的原理和方法?

1.1 視頻加密的密碼學(xué)方法?

??? 最早的視頻信號(hào)加擾方法是模擬視頻加密技術(shù),但這種方法安全級(jí)別很低,。最早的高保密級(jí)視頻加密技術(shù)是對(duì)全部視頻數(shù)據(jù)流直接用密碼技術(shù)加密和解密,,故稱(chēng)為圖像和視頻加密的密碼學(xué)方法,也稱(chēng)之為自然加密方法,。國(guó)內(nèi)大部分文獻(xiàn)稱(chēng)之為傳統(tǒng)加密方法,。其原理如圖1所示。?

?

?

??? 由于密碼技術(shù)已有許多安全可靠的成熟算法,,以二維或多維數(shù)據(jù)表示的圖像和視頻在傳輸和存儲(chǔ)時(shí)都要映射成一維數(shù)據(jù),,若不考慮具體的數(shù)據(jù)特征,很適合直接應(yīng)用已有的成熟密碼技術(shù)加密,。其研究基本是基于純密碼科學(xué)技術(shù)的研究,,安全性評(píng)價(jià)取決于所用密碼加密技術(shù),。在當(dāng)前的大多數(shù)實(shí)用圖像和視頻加密系統(tǒng)中,圖像和視頻數(shù)據(jù)被等同為一維比特流而采用DES等算法加密,。也有一些新的密碼技術(shù)用于視頻加密,同時(shí)在性能上有了進(jìn)一步的改進(jìn),。?

??? 是由于圖像和視頻信號(hào)數(shù)據(jù)量很大,所以這種加密方法計(jì)算量非常大,,不僅浪費(fèi)資源,而且難以保證實(shí)時(shí)性,。由于許多圖像信號(hào)特別是視頻信號(hào)往往要求實(shí)時(shí)在線傳輸,,且大多數(shù)應(yīng)用都要求降低成本,從而限制了這種加密方法的應(yīng)用,。另外,,若標(biāo)志信息經(jīng)加密無(wú)法識(shí)別,則不能實(shí)現(xiàn)在線傳輸和檢索功能,。?

1.2選擇性加密方法?

??? 密碼學(xué)方法雖然安全,,但這種加密方法計(jì)算量非常大,往往難以實(shí)用,。為解決這一對(duì)矛盾,,人們研究了視頻的信源特征,把密碼原理與視頻技術(shù)結(jié)合起來(lái),,取得了一些研究成果,。有人提出一種針對(duì)圖像和視頻編碼的部分?jǐn)?shù)據(jù)加密思路。圖2(a)表示密碼學(xué)方法,,對(duì)所有數(shù)據(jù)用密碼技術(shù)加密,;圖2(b)表示部分?jǐn)?shù)據(jù)加密方法,只對(duì)選擇的重要數(shù)據(jù)加密,。?

?

?

??? 在視頻加密的算法中,,除純密碼學(xué)方法之外,對(duì)選擇性加密方法研究得比較多,,其中又以對(duì)加密變換(DCT)系數(shù)的算法為多,。主要有以下幾種:?

??? (1) 僅對(duì)I幀加密算法?

??? 僅對(duì)I幀DCT系數(shù)塊加密,具有擴(kuò)散作用,,使P,、B幀利用運(yùn)動(dòng)補(bǔ)償進(jìn)行差值編碼的相應(yīng)塊不加密也難以正確解碼,達(dá)到了選擇部分?jǐn)?shù)據(jù)加密減少計(jì)算量的目的,。該算法由于減少了加密數(shù)據(jù)量,,因而節(jié)約30%~50%的加解密時(shí)間,提高了加,、解密速度,,且不改變?cè)曨l編碼數(shù)據(jù)碼流量大小,,因而不影響壓縮率。但這種算法不安全,,場(chǎng)景變換和運(yùn)動(dòng)劇烈的P,、B幀(P、B幀內(nèi)的I塊)會(huì)被正確解碼,,在保密要求高的場(chǎng)合不能單獨(dú)使用,。本算法可通過(guò)增加I幀頻率來(lái)提高密級(jí),但是I幀頻率越高,,計(jì)算量越大,,速度就越慢。有人討論了其改進(jìn)方法,,加密包括P,、B幀中I塊的所有I-block,但也存在問(wèn)題:①在P,、B幀中識(shí)別I塊需要一定的額外開(kāi)銷(xiāo),;②在某些視頻中,P,、B幀中的I塊數(shù)量與I幀中數(shù)量相近,,因此,減少數(shù)據(jù)量不明顯,,還不如改用純密碼(Naive)算法,。?

??? (2) 加密運(yùn)動(dòng)矢量算法?

??? 隨機(jī)改變運(yùn)動(dòng)矢量的符號(hào)位或同時(shí)改變符號(hào)位和數(shù)值來(lái)影響P、B幀正確解碼,。對(duì)I幀編解碼完全沒(méi)有影響,,故不能單獨(dú)使用,主要作為增強(qiáng)安全性的補(bǔ)充算法,。加密數(shù)據(jù)量小,,計(jì)算量小,因而速度快,;不降低編碼壓縮率,,只適用于視頻編碼數(shù)據(jù)。?

??? (3) DCT塊系數(shù)分層加密算法?

??? 把DCT系數(shù)從低頻到高頻分為基本層(base layer),、中間層(middle layer)和增強(qiáng)層(enhancement layer)三部分,。在0~63范圍定義兩個(gè)整數(shù)分界點(diǎn)(breakpoint),作為一個(gè)分界點(diǎn)組(breakpoint group),確定三部分之間的邊界,。定義第一個(gè)分界點(diǎn)為容損點(diǎn)(loss-tolerance breakpoint),,第二個(gè)點(diǎn)為安全點(diǎn)(security breakpoint)。在這個(gè)算法中,,只加密基本層和中間層,,可以減少計(jì)算量,;保證基本層傳送,即使中間層和增強(qiáng)層丟失,,接收方也能顯示出主要信息,。該算法可以讓用戶(hù)根據(jù)不同的安全性級(jí)別來(lái)選擇分界點(diǎn)組合,在安全性,、計(jì)算量,、容錯(cuò)能力之間進(jìn)行折中。對(duì)基本層和中間層加密的密碼算法也可以另行選擇,。該算法只對(duì)部分DCT系數(shù)加密,,減少了計(jì)算量。類(lèi)似的選擇性加密的算法有:僅加密DC系數(shù)或加密DC系數(shù)和少量低頻AC系數(shù),、隨機(jī)改變DCT系數(shù)符號(hào)等。?

??? (4) 僅加密頭信息算法?

??? 將頭信息加密,,再與其他數(shù)據(jù)隨機(jī)混合,,使接收方難以按原數(shù)據(jù)結(jié)構(gòu)區(qū)分結(jié)構(gòu)信息和視頻信息并解碼。該算法不降低壓縮率,,計(jì)算量小,。但是安全性較低,因?yàn)轭^信息所含信息量小,,加密效率低,,這種加密方式比較容易破譯。為便于合法收方解碼,,需加入同步信息,,或保留原來(lái)部分同步信息。?

1.3 針對(duì)MPEG碼流統(tǒng)計(jì)特性的算法?

??? 針對(duì)MPEG碼流統(tǒng)計(jì)特性(Statistical behavior of MPEG)的算法稱(chēng)為VEA(Video Encryption Algorithm)算法,。經(jīng)壓縮編碼的碼流因去除相關(guān)性,,具有一定的隨機(jī)性。將I幀(撇開(kāi)頭標(biāo)志等特殊碼流)分為8或16(通常16)大塊(chunk),,在任何chunk中,,沒(méi)有重復(fù)的字節(jié)模式。據(jù)此提出下面的VEA算法,。?

??? 設(shè)一個(gè)I幀的某個(gè)chunk為如下形式:a1,,a2,a3,,a4,,...,a2n-1,,a2n,。選擇奇數(shù)號(hào)的字節(jié)組成奇隊(duì)列(Odd List),,選擇偶數(shù)號(hào)的字節(jié)組成偶隊(duì)列(Even List)。將兩個(gè)新數(shù)據(jù)流異或,。選擇一種加密函數(shù)(例如DES)來(lái)加密偶隊(duì)列a2,,a4,...,,a2n,。得到的密文為:c1,c2,,…,,cn,E(a2,,a4,,…,a2n),。如果a2,,a4,…,,a2n沒(méi)有重復(fù)模式(repeated pattern),,說(shuō)明具有足夠隨機(jī)性,a2,,a4,,…,a2n對(duì)a1,a3,…,a2n-1的簡(jiǎn)單異或,是一次一密亂碼本(one-time pad)加密,這是被公認(rèn)為非常保密的,。VEA算法密級(jí)就決定于函數(shù)E,。?

??? 該方法只加密部分視頻流,待加密數(shù)據(jù)分為兩半,,一半用密碼方法(函數(shù)E)加密,,另一半用簡(jiǎn)單異或,因此總體減少了計(jì)算量,,提高了計(jì)算速度,。該方法不影響壓縮率,適用于壓縮的視頻編碼數(shù)據(jù),,而且壓縮效果越好,,加密效果也越好。?

1.4 DCT頻域系數(shù)亂序算法?

??? DCT頻域系數(shù)亂序算法(Zig-Zag Permutation Algorithm)把DCT頻域系數(shù)8×8塊按隨機(jī)的順序映射成1×64矢量,,而不按ZIG-ZAG順序,。有人首先提供了三步基本算法,但設(shè)計(jì)者自己指出,基本算法對(duì)已知明文攻擊是脆弱的,,因此提供了兩種附加方法增強(qiáng)算法的安全性,。?

??? (1) 對(duì)DC系數(shù)另用DES加密,。?

??? (2) 產(chǎn)生兩張不同的順序置亂序列表,隨機(jī)選用,。?

??? DCT頻域系數(shù)亂序算法速度很快,。但存在嚴(yán)重的安全性問(wèn)題。兩種附加方法也無(wú)法解決,。已知明文攻擊(Known-plaintext attack)和唯密文攻擊(Ciphertext only attack)都可以成功破解該算法,。另外,經(jīng)過(guò)加密的MPEG流大小將顯著增加,,最大可增加46%,,嚴(yán)重降低壓縮率。?

2 新的視頻加密方法?

??? 針對(duì)視頻數(shù)據(jù)具有層次結(jié)構(gòu)性強(qiáng),、數(shù)據(jù)量大以及實(shí)時(shí)傳輸要求高的特點(diǎn),,本系統(tǒng)采用了一種新式的視頻加密算法。其主要思想為:僅對(duì)視頻碼流中的少部分重要數(shù)據(jù)進(jìn)行高強(qiáng)度的加密,。因?yàn)橐曨l碼流中各部分?jǐn)?shù)據(jù)的重要性不同,,某些關(guān)鍵數(shù)據(jù)(如視頻宏塊中的直流分量值DC,交流分量值A(chǔ)C和位移矢量MV等)雖然數(shù)據(jù)量比較小,,但是對(duì)視頻碼流的解碼和視頻圖像的重建起著至關(guān)重要的作用,所以?xún)H對(duì)這些少量數(shù)據(jù)運(yùn)用AES,、IDEA等加密算法進(jìn)行加密,,就可以取得對(duì)整個(gè)視頻碼流安全加密的效果。該視頻加密算法原理如圖3所示,。?

?

?

??? 該視頻加密算法具有如下特點(diǎn):(1)獨(dú)立于視頻編解碼器,。(2)獨(dú)立于密碼學(xué)算法,用戶(hù)可以根據(jù)自己的要求選擇不同的加密算法,,如DES,、AES或IDEA等。(3)對(duì)不同關(guān)鍵數(shù)據(jù)的選取和組合,,可以提供高,、中、低三個(gè)不同的加密級(jí)別,,用戶(hù)可根據(jù)不同的保密要求和網(wǎng)絡(luò)帶寬進(jìn)行選擇,。(4)計(jì)算量小、加密速度快,、附加帶寬少,。?

3 新的視頻加密方法的實(shí)現(xiàn)?

3.1 新的視頻加密方法的硬件實(shí)現(xiàn)?

??? 圖4所示是基于對(duì)上述新的視頻加密算法而設(shè)計(jì)的一種采用嵌入式主處理器DM1105和加密配置芯片DM2016的數(shù)字視頻加密系統(tǒng)。?

?

?

??? DM1105主要應(yīng)用于衛(wèi)星,、有線信號(hào)以及地面?zhèn)鬏數(shù)臄?shù)字電視,、IP數(shù)據(jù)的接收,,也可以用于8/16位CCIR656標(biāo)準(zhǔn)YUV視頻信號(hào)的接收。DM1105內(nèi)集成了DVB標(biāo)準(zhǔn)解擾算法,,可以同時(shí)進(jìn)行32路解擾,,還具備遙控器接收功能,通過(guò)擴(kuò)展還能夠外接兩個(gè)PCMCIA插槽,。圖5是DM1105應(yīng)用的原理結(jié)構(gòu)框圖,。 ?

?

?

3.2 新的視頻加密方法的軟件實(shí)現(xiàn)?

??? 示例采用C語(yǔ)言實(shí)現(xiàn)基于嵌入式系統(tǒng)的AES加密運(yùn)算。?

??? (1)先定義sbox 和pbox,,并初始化,將它們放入code 中:?

??? unsigned long code sbox[18] = {?

??? 0x243F6A88L , ……, 0x8979FB1BL?

??? };?

??? unsigned long code pbox[ 4 ] [256 ] = {?

??? 0xD1310BA6L , ……?

??? };?

??? (2) 定義兩個(gè)全局變量key_pbox 和key_sbox ,存儲(chǔ)初始化后的子密鑰:?

??? unsigned long key_pbox[18 ];?

??? unsigned long key_sbox[ 4 ] [256 ];?

??? (3) 完成下列函數(shù):?

??? //AES初始化函數(shù)?

??? void AES_Constructor(void);?

??? void AES_Destructor(void);?

??? //設(shè)置AES密鑰函數(shù)?

??? BOOLEAN SetKey(const unsigned char *key, int keylen);?

??? //AES加密函數(shù)?

??? BOOLEAN Encrypt(const unsigned char *in, int inlen, ?

??? unsigned char *out, int *outlen);?

??? //AES解密函數(shù)?

??? BOOLEAN Decrypt(const unsigned char *in, int inlen, ?

??? unsigned char *out, int *outlen);?

??? ……?

??? (4) 初始化嵌入式系統(tǒng),用TESTKEY作為密鑰進(jìn)行初始化,對(duì)算法進(jìn)行測(cè)試,。?

??? 在編譯優(yōu)化后,對(duì)代碼做進(jìn)一步優(yōu)化,。首先使用TI集成開(kāi)發(fā)環(huán)境的代碼分析器(profiler)對(duì)代碼進(jìn)行分析,。在CCS中可以統(tǒng)計(jì)某段代碼的執(zhí)行時(shí)間,這被稱(chēng)作剖析(profile),。代碼剖析可以迅速地評(píng)估程序的性能以便優(yōu)化代碼,。經(jīng)過(guò)編譯優(yōu)化和代碼優(yōu)化后,AES算法在該嵌入式系統(tǒng)中具有高速數(shù)據(jù)處理能力,,在保證安全性目標(biāo)的同時(shí),,又不影響數(shù)字視頻信號(hào)對(duì)通信實(shí)時(shí)性要求,從而有助于解決數(shù)字電視傳輸控制網(wǎng)絡(luò)中實(shí)時(shí)數(shù)據(jù)加密和安全問(wèn)題,。?

??? 本文介紹了幾種常用視頻加密算法,,分析了這幾種算法的優(yōu)缺點(diǎn),提出了一種僅對(duì)視頻碼流中解碼和視頻圖像的重建起著至關(guān)重要作用的少部分?jǐn)?shù)據(jù)進(jìn)行高強(qiáng)度加密的方法,,并利用嵌入式芯片DM1105和加密配置芯片DM2016組成一個(gè)加密,、解密系統(tǒng)來(lái)實(shí)現(xiàn)上述數(shù)字視頻信號(hào)的加密。?

參考文獻(xiàn)?

[1] 張鐳,張川,徐正全.基于H.323協(xié)議的視頻加密網(wǎng)關(guān)的設(shè)計(jì)[J].計(jì)算機(jī)工程,,2006(14):138-140.?

[2] 廉士國(guó),孫金生,王執(zhí)銓.幾種典型視頻加密算法的性能評(píng)價(jià)[J].中國(guó)圖像圖形學(xué)報(bào)2004(4):483-490.?

[3] 李偉,劉樹(shù)波,徐正全.基于TM1300的嵌入式網(wǎng)絡(luò)視頻編碼器的設(shè)計(jì)[J].武漢大學(xué)學(xué)報(bào),2004(3):110-113.?

[4] 洪家平. 嵌入式系統(tǒng)加密技術(shù)在數(shù)字電視中的應(yīng)用研究[J]. 電子技術(shù)應(yīng)用,2008(9).?

[5] 洪家平.AES在嵌入式系統(tǒng)起動(dòng)加載程序中的應(yīng)用[J].信息安全與通信保密,2007(2).

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。