基于不改變碼流格式的保密性可分級的視頻加密方案

現(xiàn)有的大部分視頻加密方案通常采用某種單一的方法,只能提供一種安全性級別,不能適應對不同應用場合提供不同保密級別現(xiàn)實需求。另一方面,現(xiàn)有的可分級視頻加密方案往往安全性不夠高而且破壞了視頻碼流格式,加密后的碼流不能被非合法終端順利解碼顯示加密效果,顯然更無法滿足上述有些場合允許非授權用戶得到一定視頻信息的商業(yè)需要。本文就是針對這種矛盾性需求,對視頻碼流中的各種信息進行深入分析,找出那些對視頻解碼重建非常重要而且不影響視頻格式的關鍵信息,進而提出一種新的保密性可分級的加密方案。

一、現(xiàn)有的可分級加密方案

現(xiàn)有的可分級視頻加密方案只有Meyer等提出的SECMPEG方案和Tosun等提出多層加密Multt-layer Encyp tiorD方案。

1、SECMPEG加密方案

Meyer和Gadegast為視頻加密設計了一種新的MPEG比特流,稱之為SECMPEG流已SECMPEG使用標準加密算法DES或RSA通過選取不同的視頻數(shù)據(jù)加密實現(xiàn)四個級別的密級:

第一級:加密所有的頭信息(Headers);

第二級:加密所有的頭信息(Headers)和I-lock中的DC系數(shù);

第三級:加密I幀和PB幀中的所有I-Bock;

第四級:加密所有的視頻流。

由于SECM PEG加密了視頻碼流中的頭信息,而且在MPEG碼流中添加了自定義的一些關于加密的標志信息,需要設計專門的編解碼器,因此SECMPEG流的格式不符合MPEG標準語法,密文碼流不能被標準的MPEG解碼器順利解碼和播放。第四級加密所有視頻流顯然計算量巨大,不能滿足視頻處理的實時性要求。而除第四級外視頻碼流中的運動有關信息是沒有被加密的,不加密運動矢量而僅加密DCT系數(shù)的視頻效果如圖1,可以根據(jù)運動信息看出運動物體的大致輪廓。第二級以下甚至沒有考慮AC系數(shù)加密,而如果將加密后視頻碼流中的DC置為常數(shù)可得出圖像效果如圖1,可以看出視頻圖像整體的色度和亮度變得單調但是圖像細節(jié)非常清晰。因此該方案整體上安全性也不夠好。

 

2、多層加密

Tosun和Feng提出了一種能夠調節(jié)密級的多層加密MultHayer EncIyp tion)的方法,該方法是將每個塊的64個DCT系數(shù)通過一個分界點組①reakpoht gIOup)分成三層?;緦影ǖ皖l率的也是包含信息量最多的DCT系數(shù),中間層包括中間頻率的系數(shù),增強層則對應那些高頻率的含有信息最少的系數(shù)。例如分界點組為(6,15)時,起始的7個DCT系數(shù)(0一6)就是基本層,中間的12個DCT系數(shù)屬于中間層(0——18),剩下的45個系數(shù)(19,63)則屬于增強層。三層被分別傳輸,其中基本層必定傳輸,中間層的傳輸級別比增強層高,以動態(tài)適應網(wǎng)絡帶寬,客戶端解碼顯示前將三層碼流合成田。該方法使用VEA算法來加密基本層和中間層,增強層不加密。VEA算法是基于壓縮后的視頻比特流已經(jīng)具有一定的隨機性,按照奇偶字節(jié)將待加密數(shù)據(jù)分為兩半,一半與另一半簡單異或,另一半再使用密碼學算法例如DES)加密。

該方案通過調整分界點組的大小來實現(xiàn)多種保密級別,例如使用(5,50)作為分界點加密顯然比使用(5,15)提供的密級要高。但是由于它使用的VEA算法是改變碼流格式的,所以使用這種加密方案仍然不能保持碼流格式不變。從安全性的角度來看這種方法同樣沒有考慮視頻中的運動信息的加密。

二、基于不改變碼流格式的保密性可分級的視頻加密方案

現(xiàn)實需求的視頻加密方案是保密性可分級且加密不改變視頻碼流格式的,所以首先應該對視頻碼流中的圖像內容相關的重要信息進行分析得出改變那些不會影響視頻碼流格式的關鍵信息。

1、選取關鍵信息分析

按照視頻壓縮標準例如(MPEG-4和H263編碼得到的視頻碼流都是遵循協(xié)議規(guī)定的固定格式和語法結構來分層組織壓縮后的視頻信息的。各層都由一個標志字信息頭開始塊層除外),后接其他格式信息或視頻壓縮后的有關圖像內容數(shù)據(jù)。代表圖像內容信息的主要是DCT系數(shù)及運動矢量MVa標志字及格式信息都是一些很容易從數(shù)據(jù)流中分辨出來的特殊碼字,起同步和指示視頻信息結構的作用,沒有這些標志字或者這些標志字被破壞時將無法解碼,而且加密這些標志字還被認為是不利于安全性的。因此要保持加密后的視頻碼流格式不變,標志信息是不能被加密的。從另一方面來看,標志信息不含任何視頻圖像內容,加密的意義也不大。因此對于需要加密什么信息應對有關圖像內容的DCT系數(shù)和MV進行分析。

除DCT系數(shù)中的幀內塊DC外,其他的DCT系數(shù)(H.263中表示為TCOEF)和MV采用變長編碼,但是變長碼字被加密后得到的隨機碼字在變長碼表中很可能是不存在的,于是解碼器在變長碼表中搜索不到該碼字,密文碼流將會解碼出錯。而通常變長碼表中每個碼字都有正負兩種情況,變長碼字的最后一位為符號位,因此僅改變符號位后得到的變長碼字仍然在變長碼表中,所以加密符號位不會出現(xiàn)上述情況。幀內塊的DC系數(shù)采用定長八位編碼,加密后得到的隨機碼字除了兩個非法碼字外都在其碼表中,所以通過避免加密后取值為非法碼字,加密幀內塊DC是可行的。

因此可以從碼流中提取加密的關鍵信息有幀內塊DC碼字(htraDC)、除幀內塊DC外其他DCT變長碼字符號位(ICOEFs)、MV符號位MV畝。對這幾種關鍵信息在標準序列壓縮編碼后碼流中的比例統(tǒng)計結果如表1。

 

2、多種保密級別設定

由于DCT變換后將像素塊的64個像素的平均值由直流系數(shù)DC表示,DC含有圖像的大致信息,所以對幀內塊DC的最高位加密就能得到一定的效果。AC系數(shù)則對應圖像中的細節(jié),而且AC和DC是相關的,對每個塊AC系數(shù)的和大約是DC的整數(shù)倍甩因此在高保密級別的場合需要對AIC系數(shù)的符號位也進行加密,否則可以從AC系數(shù)來破譯DC系數(shù)。運動矢量代表了視頻圖像中非常重要的運動信息,而且Shi.C和B.BhaIgava通過試驗認為加密MV符號是非常有效的,這是由于MV是差分編碼的,改變符號位不僅改變了MV的方向還改變了MV的大小。以H263為例,為了適應不同的保密性需求,可以根據(jù)選取的關鍵信息的類型的不同組合及數(shù)量將保密性按如下分級:

第一級:加密幀內塊DC碼字最高位;

第二級:加密幀內塊DC碼字最高位和MV符號位;

第三級:加密幀內塊DC碼字、MV符號位和前幾個TCOEF符號位;

第四級:加密幀內塊DC碼字、MV符號位和全部TCOEF符號位。

對不同的保密級別加密的關鍵信息數(shù)量占碼流的比例是隨著密級的提高而提高的,這里假設第三級加密前五個TCOEF的符號位,如表2所示。

 

對于第一級僅加密幀內塊DC碼字最高位的效果如圖2b和圖3b,得到的視頻密文圖像是能夠看出大致而模糊的視頻動態(tài)內容的,這樣設計是為了適應在視頻付費點播或數(shù)字電視付費頻道等一些商業(yè)場合需要非合法用戶能夠順利解碼視頻密文碼流獲得一定程度的視頻信息,從而使沒有具備解密能力的用戶對該視頻內容產生興趣和購買欲望。

 

第二級僅加密DC碼字和MV符號效果如圖2b和圖3b可以看出對于含有運動信息的P幀,由于MV符號位被加密了,其視頻加密效果相對第一級有了很大的提高,但是由于AC都沒有加密所以其安全性是不夠的。

第三級還加密了前幾個AC,大大提高了保密性,加密效果也有了提高,圖像相對變得更加模糊了,但由于僅加密了幾個AC依然可以分辨出對應高頻的圖像細節(jié)。例如對于加密5個AC的效果,圖2d和中I幀依稀可以看出背景建筑的線條,圖3d中P幀加密的效果非常好。

第四級加密了本文定義的所有關鍵信息,保密性最高,加密效果如圖2(e)和圖3(e),無論是I幀還是P幀加密后幾乎都無法識別任何視頻信息。但是由于AC符號位所占碼流的比例很大,所以其保密性是以犧牲計算量為代價的。

本加密算法方案采用國際標準的分組加密算法(例如AES或IDEA)加密提取的關鍵信息來提高加密方案整體的安全性。具體實現(xiàn)時視頻加密及解密方案被設計成獨立于視頻編解碼器的軟件模塊。加密模塊嵌在視頻編碼和網(wǎng)絡打包之間,解密模塊則嵌在網(wǎng)絡解包和視頻解碼之間。

三、性能分析

1、保密性分析

本加密方案可以根據(jù)需求對不同的應用場合選用不同的安全級別。第一級的保密方案特別適用于付費電視等需要顯示部分內容以吸引用戶的應用場合。第四級加密了所有的DCT系數(shù)符號位、幀內塊DC碼字和運動矢量MV符號,因此加密后的視頻圖像不可識別任何信息,達到了高保密性的視覺效果。對于本加密方案總體上的保密性,從攻擊者的角度來看,完全破解本加密方案的難度在理論上同破解本加密方案中采用的分組加密算法(AES或IDEA)相當,而AES,IDEA等分組加密算法目前被公認是難以破解的。因此本加密方案的保密性是根據(jù)需求靈活可變而又十分可靠的。

2、加密速度

由于本加密方案僅選取碼流中少量的關鍵信息加密,加密或解密的速度是非??斓?。即使選用計算量較大的第四級加密,相對于傳統(tǒng)的全部加密方法也可節(jié)約90%左右的時間。以P4為試驗平臺,對H.263視頻碼流,在各種網(wǎng)絡帶寬下平均每幀圖像的加密時間不超過2ns所以本加密方案產生附加延時極小,不影響視頻的正常實時應用。

3、對碼流大小的影響

加密關鍵信息使用的分組加密算法加密后的密文長度和明文長度相等,本加密方案又不需要在碼流中附加傳送其他任何信息,所以本加密方案不會產生額外的碼流數(shù)據(jù),不增加碼流大小,即不會增加附加的網(wǎng)絡帶寬需求。

小知識之編解碼器

編解碼器(codec)指的是一個能夠對一個信號或者一個數(shù)據(jù)流進行變換的設備或者程序。這里指的變換既包括將信號或者數(shù)據(jù)流進行編碼(通常是為了傳輸、存儲或者加密)或者提取得到一個編碼流的操作,也包括為了觀察或者處理從這個編碼流中恢復適合觀察或操作的形式的操作。編解碼器經(jīng)常用在視頻會議和流媒體等應用中,通常主要還是用在廣電行業(yè),作前端應用。