李汶隆
【摘要】? ? 針對傳統(tǒng)視頻圖像數(shù)據(jù)傳輸過程中,視頻數(shù)據(jù)錯(cuò)誤檢測及抗攻擊能力弱的缺點(diǎn),本文采用了Hash及非對稱加密兩重加密方法,將待處理視頻圖像數(shù)據(jù)進(jìn)行加密,既保證了Hash散列值的安全,也保證了原始視頻數(shù)據(jù)的安全,實(shí)現(xiàn)了視頻傳輸過程中發(fā)送、接收雙方數(shù)據(jù)完整性及不可抵賴性。并且,該思想可應(yīng)用于其它多端用戶之間數(shù)據(jù)交互的安全應(yīng)用場景,具有較好的普適性。
【關(guān)鍵詞】? ? 視頻圖像? ? 錯(cuò)誤檢測? ?散列值? ?非對稱加密? ? 數(shù)據(jù)安全
引言:
隨著社會和經(jīng)濟(jì)的發(fā)展,社會總體治安形勢不斷變化,對視頻內(nèi)容的清晰度、可靠性、安全傳輸?shù)纫笤絹碓礁?。然而,視頻傳輸場景是復(fù)雜多變的,通過視頻編碼壓縮后的視頻流在減少冗余信息的同時(shí),也降低了視頻流抗擊錯(cuò)誤及防篡改的能力。所以,在傳輸信道上對視頻流進(jìn)行加密及在接收端對視頻流進(jìn)行錯(cuò)誤檢測是非常重要的。對視頻流進(jìn)行加密傳輸可以防止視頻內(nèi)容被竊取,對視頻流進(jìn)行錯(cuò)誤檢測才能采用相應(yīng)的策略對它進(jìn)行錯(cuò)誤恢復(fù)和錯(cuò)誤隱藏,因此,一種行之有效的視頻數(shù)據(jù)安全傳輸算法致關(guān)重要。
一、相關(guān)研究
目前,常規(guī)錯(cuò)誤檢測方法主要在視頻傳輸層和視頻解碼層實(shí)施。所謂視頻傳輸層,既通過在視頻流傳輸前進(jìn)行視頻數(shù)據(jù)的錯(cuò)誤檢測;在視頻解碼層,主要通過對視頻流數(shù)據(jù)進(jìn)行解碼,通過視頻壓縮標(biāo)準(zhǔn)語義信息進(jìn)行錯(cuò)誤檢測。
1.1視頻傳輸層上的錯(cuò)誤檢測
在參考文獻(xiàn)[1-2]中,作者對視頻傳輸層錯(cuò)誤檢測方法進(jìn)行了深入分析。視頻流在網(wǎng)絡(luò)上傳輸主要基于TCP或者UDP協(xié)議進(jìn)行傳輸,這種基于包交換的網(wǎng)絡(luò)中,視頻流被拆分為一個(gè)個(gè)數(shù)據(jù)包,主要包含了包頭、視頻流信息。根據(jù)傳輸協(xié)議要求,包頭中帶有數(shù)據(jù)包的順序信息,則在解碼端通過數(shù)據(jù)組包后的順序來判別傳輸過程中是否丟包,該方法主要是通過傳輸協(xié)議的維度來判別數(shù)據(jù)是否完整。
傳輸層的另一種錯(cuò)誤檢測手段是FEC。該方法主要通過視頻壓縮標(biāo)準(zhǔn)中的錯(cuò)誤校驗(yàn)編碼來判別,如果帶有校驗(yàn)編碼的比特?cái)?shù)據(jù)發(fā)生錯(cuò)誤,則可判別視頻數(shù)據(jù)在傳輸過程中發(fā)生錯(cuò)誤。以上兩種在傳輸層采用的錯(cuò)誤識別方法,從理論角度,方法可行,但在碼流中加入了非編碼數(shù)據(jù)的冗余信息,其代價(jià)是犧牲了一定的網(wǎng)絡(luò)帶寬,在實(shí)際工作中,采用的不多。
1.2視頻解碼層上的錯(cuò)誤檢測
視頻錯(cuò)誤識別技術(shù)經(jīng)過多年的發(fā)展,在視頻解碼層有多種視頻錯(cuò)誤識別技術(shù)方案。其中主要有基于語法錯(cuò)誤識別、頻域錯(cuò)誤識別及基于視頻內(nèi)容特征信息的錯(cuò)誤識別方案。
1.2.1基于視頻內(nèi)容特征的錯(cuò)誤識別方案
該方案主要通過對視頻內(nèi)容特征信息的理解進(jìn)行錯(cuò)誤識別。根據(jù)絕大多數(shù)視頻圖像內(nèi)容平滑特性,在脈沖和差分脈沖采樣編碼過程中,相鄰兩行圖像像素值接近,如果其差值大于一定的閾值,則判斷視頻圖像內(nèi)容被篡改或丟失。文獻(xiàn)[2]中采用基于宏塊為單位進(jìn)行差值判斷的方法,Mitchell和Tabatabai等提出基于DCT變換的損傷檢測方法:通過檢測該處理塊邊界像素與該處理塊相鄰的四個(gè)相鄰塊之間的像素差值,在四個(gè)方向形成四個(gè)差值矢量,并分別進(jìn)行DCT變換。如果處理塊之間的差值矢量小于一定閾值,則判斷視頻內(nèi)容沒有發(fā)生變化;如果大于一定閾值,則判斷被篡改或數(shù)據(jù)丟失。
1.2.2頻域檢測方案
文獻(xiàn)[1-2]中還提到,Lam和Reibman等研究了在頻域檢測誤碼的方法。通過在視頻塊之字形掃描后插入同步狀態(tài),由于視頻塊每行的個(gè)數(shù)是固定的,如果兩個(gè)同步狀態(tài)之間的視頻塊個(gè)數(shù)N發(fā)生變化,則進(jìn)一步確定發(fā)生錯(cuò)誤的位置。然后利用加權(quán)算法得到當(dāng)前視頻圖像塊與上一行視頻圖像塊之間的均方差,考慮人眼視覺特性,對低頻系數(shù)賦予較高的權(quán)重,對高頻系數(shù)賦予較低的權(quán)重則有最大誤差的視頻塊就被認(rèn)為是發(fā)生錯(cuò)誤的視頻圖像塊。如果N>,則將該視頻圖像塊分開;如果N<,則將該視頻圖像塊與相臨視頻塊合并。如果有更多的視頻圖像塊被篡改,則重復(fù)以上過程,直到視頻塊的個(gè)數(shù)達(dá)到。這種錯(cuò)誤識別的過程實(shí)際上就是進(jìn)行錯(cuò)誤隱藏的過程。
1.2.3基于語法的錯(cuò)誤識別方案
在文獻(xiàn)[7]中提到基于語法的錯(cuò)誤識別方案,該方案通過在解碼層檢測碼流比特中的元素是否和視頻壓縮標(biāo)準(zhǔn)相符來判斷視頻傳輸過程中是否發(fā)生篡改或者數(shù)據(jù)丟失。在碼流接收端,對視頻流進(jìn)行解碼,如果發(fā)現(xiàn)不滿足視頻壓縮標(biāo)準(zhǔn)中相應(yīng)的語法元素,則判斷在傳輸過程中發(fā)生錯(cuò)誤。該方案的優(yōu)點(diǎn)是檢測方法符合視頻壓縮標(biāo)準(zhǔn),容易理解與實(shí)現(xiàn),并且不會改變視頻流原有結(jié)構(gòu)和數(shù)據(jù),不會增加視頻冗余信息。但在實(shí)際應(yīng)用場景中,并不是所有傳輸錯(cuò)誤都會有上述特征。如果發(fā)生傳輸錯(cuò)誤以后,視頻流比特仍然滿足視頻語法要求,則該方案就會因?yàn)闆]有及時(shí)發(fā)現(xiàn)錯(cuò)誤,導(dǎo)致錯(cuò)誤累積,后續(xù)視頻數(shù)據(jù)的解碼也會錯(cuò)誤,嚴(yán)重影響后續(xù)視頻數(shù)據(jù)的解碼及畫面顯示,即為錯(cuò)誤滯后效應(yīng)。
如圖1所示,用傳統(tǒng)的基于語法錯(cuò)誤識別方案來進(jìn)行檢測的例子,圖1-(a)的第六個(gè)宏塊發(fā)生的比特錯(cuò)誤不能被識別,則解碼器就不會采取相應(yīng)的策略對它進(jìn)行處理。圖1-(b)中,第二個(gè)和第四個(gè)宏塊發(fā)生的比特錯(cuò)誤不能被識別,則繼續(xù)解碼,當(dāng)解碼到第七個(gè)宏塊時(shí),解碼器所接收碼流的語法元素不符合句法結(jié)構(gòu),則該片余下的宏塊就不會被解碼器解碼。雖然第一到第六個(gè)宏塊解碼不會發(fā)生明顯的錯(cuò)誤,但是它們的完整性也遭到破壞。
通過實(shí)驗(yàn)表明,基于語法的錯(cuò)誤識別方案的錯(cuò)誤識別成功率僅為0.1~0.4,而其正確定位率因?yàn)槭艿藉e(cuò)誤識別滯后效應(yīng)的影響,正確率僅僅在0.05~0.15之間。也就是說基于語法的錯(cuò)誤識別方案面對大多數(shù)錯(cuò)誤場景都無法做到很好地錯(cuò)誤識別。
二、基于數(shù)字簽名的視頻數(shù)據(jù)安全傳輸算法
為了克服傳統(tǒng)檢測方法的不足,現(xiàn)在很多學(xué)者提出了在編碼端嵌入水印信息的辦法,并使水印信息和視頻數(shù)據(jù)之間建立某些強(qiáng)制關(guān)系。如果在解碼時(shí)發(fā)現(xiàn)這些約定關(guān)系不被滿足,則可判斷接收到的數(shù)據(jù)遭到篡改,即發(fā)生傳輸錯(cuò)誤。
在文獻(xiàn)[5]中,作者提出了在編碼端一個(gè)DCT塊內(nèi)設(shè)置若干個(gè)檢測點(diǎn),將每個(gè)檢測點(diǎn)上的DCT系數(shù)全部圓整為鄰近的偶數(shù)。解碼端則在解碼時(shí)對這些檢測點(diǎn)位置的DCT系數(shù)進(jìn)行檢查,如果檢查到的DCT系數(shù)為奇數(shù),則說明該編碼塊出錯(cuò)。這種方法雖然能夠有效的檢測出錯(cuò)誤宏塊,但是,在網(wǎng)絡(luò)傳輸信道錯(cuò)綜復(fù)雜的今天,信道中傳輸?shù)拇a流極易遭到嚴(yán)重的破壞,極易發(fā)生遭到破壞的檢測點(diǎn)上的DCT系數(shù)在解碼端仍為偶數(shù)的這中情況,這樣就不能有效的檢測出當(dāng)前發(fā)生的錯(cuò)誤?;诖耍疚奶岢隽艘环N新的錯(cuò)誤檢測及防篡改方法。
2.1基本思想
為了克服現(xiàn)有技術(shù)上的缺點(diǎn),本發(fā)明提出了一種以Hash數(shù)字簽名為基礎(chǔ)的視頻圖像傳輸檢測方法。通過對視頻圖像處理單元(宏塊)進(jìn)行Hash函數(shù)處理,來保障視頻圖像數(shù)據(jù)在傳輸過程中不被篡改及有效檢測。
在編碼端對視頻幀處理單元DCT數(shù)據(jù)采用散列(Hash)函數(shù)進(jìn)行處理得到散列值,并對散列值采用非對稱算法進(jìn)行簽名,同時(shí)將簽名后的Hash值鏈接到當(dāng)前處理宏塊DCT的頭部成為一個(gè)新的數(shù)據(jù)。在解碼端,對該宏塊DCT系數(shù)頭部用非對稱算法進(jìn)行解密,來確定該數(shù)據(jù)塊的來源,如果能正常解密則視為合法,然后再將DCT數(shù)據(jù)進(jìn)行散列(Hash)函數(shù)處理得到一個(gè)新的散列值,將此散列值與用非對稱算法進(jìn)行解密后的舊散列值進(jìn)行對比,如果兩個(gè)散列值是相同的,說明該視頻內(nèi)容沒有被修改過。以此來確定視頻傳輸內(nèi)容的完整性,防止在傳輸過程中被篡改。
2.2算法建模
本文利用視頻圖像時(shí)間動態(tài)特性和空間相對關(guān)系進(jìn)行建模,再對不同模型得到的結(jié)果進(jìn)行融合,主要過程如下:
1.首先,在編碼端,對經(jīng)過之字變換(zia-zia)掃描之后的DCT系數(shù)M用Hash算法加密產(chǎn)生散列值Z。在數(shù)學(xué)上保證,只要改變DCT系數(shù)M,重新Hash加密產(chǎn)生的Z1與Z不相等。將散列值Z作為DCT系數(shù)M的頭部形成新的數(shù)據(jù)塊DT=(Z,M)。
2.在編碼端,對DT用非對稱加密算法進(jìn)行公鑰(IKA)加密,形成密文SA=D(DT,IKA),SA為視頻編碼端對DCT系數(shù)的簽名。
3.在接收端,用私鑰(IKB)對密文SA進(jìn)行解密得到視頻處理塊DCT系數(shù)Mdec與散列值頭部信息Zdec。用Hash算法對Mdec進(jìn)行加密產(chǎn)生散列值Zmdec。
4.將Zdec與Zmdec進(jìn)行比較,如果相等,則該視頻數(shù)據(jù)在傳輸過程中未被篡改;否則,該視頻數(shù)據(jù)在傳輸過程中發(fā)生篡改或丟失,可進(jìn)一步對視頻數(shù)據(jù)進(jìn)行錯(cuò)誤隱藏/容錯(cuò)處理,提升視覺顯示效果。
2.3算法分析
和傳統(tǒng)視頻數(shù)據(jù)錯(cuò)誤檢測方法相比,本文采用Hash及非對稱加密算法,既保證了散列值的安全,也保證了DCT系數(shù)的安全,同時(shí),利用了Hash算法不可逆的特點(diǎn),實(shí)現(xiàn)了數(shù)據(jù)的完整性和不可抵賴性,Hash算法及非對稱加密算法是業(yè)內(nèi)較為成熟的實(shí)現(xiàn)方法,因此,本文的技術(shù)實(shí)現(xiàn)較為簡便并且可靠。
三、結(jié)束語
為解決傳統(tǒng)視頻數(shù)據(jù)錯(cuò)誤檢測方法的不足,本文提出了基于數(shù)字簽名的視頻數(shù)據(jù)安全傳輸方法。該方法基本思想在于,通過Hash及非對稱加密算法,對視頻編碼數(shù)據(jù)塊進(jìn)行處理,確保了數(shù)據(jù)的完整性和不可抵賴性。在實(shí)際工程應(yīng)用中,可針對實(shí)際業(yè)務(wù)場景對視頻數(shù)據(jù)安全的等級要求,分別在圖像層、Slice層或者宏塊層實(shí)施該方法,具有較好的場景適應(yīng)性。同時(shí),本文采用的基于數(shù)字簽名的視頻數(shù)據(jù)安全傳輸方法基本思想,具有較好的實(shí)用性,可應(yīng)用于其他安全應(yīng)用場景中。
參? 考? 文? 獻(xiàn)
[1] 范文杰,H.264數(shù)字視頻差錯(cuò)控制技術(shù)的研究[D].成都,成都理工大學(xué)檔案館,2006.
[2] 范文杰,李燦平等,基于數(shù)字水印的H.264視頻傳輸錯(cuò)誤檢測,2006.(8):131-133.
[3] 鄭秋梅,劉楠,王風(fēng)華, 基于復(fù)雜攻擊的脆弱水印圖像完整性認(rèn)證算法[J],計(jì)算機(jī)科學(xué),2020.47(10):332-338.
[4]席紅旗,常曉鵬, 一種基于非對稱加密算法和哈希函數(shù)的數(shù)字簽名方案研究[J],河南教育學(xué)院學(xué)報(bào),2012.21(1):36-37.
[5] 張平,李錦濤,曹剛,基于脆弱水印的壓縮視頻錯(cuò)誤隱藏技術(shù)[J],微電子學(xué)與計(jì)算機(jī),2003.(12):61-63,67.
[6] 黃若宏,李畢詳?shù)?,基于DCT域數(shù)字水印算法的視頻流和屏幕流保護(hù)方法研究[J],計(jì)算機(jī)安全,2007.(10):22-26.
[7] 范文杰,H.264數(shù)字視頻差錯(cuò)控制技術(shù)的研究[D].成都,成都理工大學(xué)檔案館,2006