◆唐金藝 蒲 江
?
針對(duì)H.264/AVC視頻流的加密研究
◆唐金藝 蒲 江
(91977部隊(duì) 北京 100084)
H.264/AVC視頻壓縮編碼標(biāo)準(zhǔn)已成為當(dāng)前的主流標(biāo)準(zhǔn),隨著人們對(duì)視頻清晰度要求的不斷提高,視頻流的數(shù)據(jù)量也在不停增大。利用H.264/AVC壓縮編碼標(biāo)準(zhǔn)中幀分類的特性,針對(duì)不同等級(jí)的用戶應(yīng)用數(shù)據(jù)分級(jí)保護(hù)傳輸?shù)姆椒?,進(jìn)行差異化數(shù)據(jù)加密。結(jié)合序列密碼ZUC算法,給出密鑰同步設(shè)計(jì)方法進(jìn)行實(shí)時(shí)亂數(shù)流和視頻幀流同步的加密,有效的降低了視頻加密的開(kāi)銷,并解決了視頻流和密碼流的加密同步問(wèn)題。
視頻加密;H.264/AVC;ZUC
隨著互聯(lián)網(wǎng)消費(fèi)模式日新月異的變化,傳統(tǒng)的影視消費(fèi)越來(lái)越趨于家庭化個(gè)人化,人們無(wú)需再像傳統(tǒng)的方式那樣走入影院進(jìn)行消費(fèi)。坐在家中通過(guò)網(wǎng)絡(luò)進(jìn)行在線視頻的需求也日益增多,人們更愿意通過(guò)支付一些費(fèi)用在自己的客廳里享受高清晰度的影視頻作品。這樣的高視覺(jué)感知度的視頻數(shù)據(jù)加密帶來(lái)的開(kāi)銷是十分巨大的。面對(duì)這樣的用戶需求,如何有效地降低服務(wù)端的加密開(kāi)銷變得尤為重要。
本文充分研究分析了當(dāng)前主流的H.264/AVC視頻壓縮編碼標(biāo)準(zhǔn),提出了以I幀為加密對(duì)象,結(jié)合序列密碼ZUC算法,給出密鑰同步設(shè)計(jì)方法進(jìn)行實(shí)時(shí)亂數(shù)流和視頻幀流同步的加密,有效的降低了視頻加密的開(kāi)銷,并解決了視頻流和密碼流的加密同步問(wèn)題。
H.264/AVC是ISO/IEC(國(guó)際標(biāo)準(zhǔn)化組織)和ITU-T(國(guó)際電信聯(lián)盟)于2003年共同提出制定的視頻壓縮編碼格式標(biāo)準(zhǔn)[1]。設(shè)計(jì)和提出的目的是為了解決在互聯(lián)網(wǎng)環(huán)境下提高對(duì)誤碼率的抵抗能力,同時(shí)保證較高的Qos。有效的解決好穩(wěn)定性、可管理性和安全性。新的標(biāo)準(zhǔn)相比較于H.263和MPEG-4擁有了更高的壓縮比;同時(shí)對(duì)各種網(wǎng)絡(luò)的親和性大大提升。
傳統(tǒng)方式去理解視頻,每一幀就是一張畫(huà)面,很多張畫(huà)面構(gòu)成動(dòng)態(tài)的視頻。而實(shí)際視頻H.264/AVC的處理是會(huì)通過(guò)壓縮編碼算法來(lái)降低數(shù)據(jù)體量。H.264/AVC壓縮編碼后的數(shù)據(jù)就是用I、P、B幀來(lái)構(gòu)成。一組連續(xù)的I、P、B幀就可以構(gòu)成一個(gè)GOP(Group of Pictures)畫(huà)面組,很多個(gè)GOP構(gòu)成一段完整的視頻文件。
I幀:稱之為關(guān)鍵幀,可以將其理解為一張完整描述畫(huà)面的數(shù)據(jù)包,I幀是一個(gè)GOP中的第一個(gè)幀,通常來(lái)說(shuō)一個(gè)GOP中也就只有唯一一個(gè)I幀,I幀的壓縮只能是適度的,其壓縮方法是幀內(nèi)壓縮,I幀是通過(guò)DCT(Discrete Cosine Transform)離散余弦轉(zhuǎn)化法來(lái)進(jìn)行壓縮的,壓縮方法類似于JPG圖片壓縮。
P幀:用來(lái)描述這一幀和之前一個(gè)I幀或P幀的差別,P幀的壓縮是根據(jù)當(dāng)前幀和之前一個(gè)I幀或P幀的運(yùn)動(dòng)變化軌跡來(lái)進(jìn)行運(yùn)算的。解碼時(shí)需要結(jié)合之前畫(huà)面疊加上本幀的差別后進(jìn)行呈現(xiàn)。
B幀:是更復(fù)雜的雙向差別描述,B幀的壓縮需要通過(guò)相鄰的前一幀、后一幀和本幀的運(yùn)動(dòng)軌跡來(lái)進(jìn)行運(yùn)算。其壓縮率較高,但CPU編碼開(kāi)銷會(huì)增大。
I、P、B幀的依賴關(guān)系如圖1所示。
圖1 I、P、B幀關(guān)系圖
I幀對(duì)視頻視覺(jué)感知度的分析
分析得出H.264/AVC視頻壓縮編碼標(biāo)準(zhǔn)中I幀的數(shù)據(jù)大小占比在20.06%-32.32%之間。同時(shí),對(duì)I幀按照各種比例進(jìn)行加密處理,得到各種加密比例下量化的PSNR值,通過(guò)PSNR值衡量用戶視覺(jué)感知的差異,三類視頻加密前后分別用PSNR進(jìn)行量化分析,如表1所示。分析發(fā)現(xiàn)PSNR隨I幀加密比例增加而急速降低,在I幀全加密的情況下會(huì)極大的影響視頻的視覺(jué)感知度,I幀的加密具有非常大的視覺(jué)感知安全保證。[2]
表1 I幀加密對(duì)PSNR值的影響(q為加密I幀的比例)
密碼學(xué)是一種研究如何將信息通過(guò)隱秘手段進(jìn)行傳輸?shù)膶W(xué)科,密碼學(xué)是信息安全控制的重要支撐技術(shù)。當(dāng)今主流的密碼學(xué)是基于計(jì)算機(jī)科學(xué)和數(shù)學(xué)的信息加密技術(shù)。其中現(xiàn)代密碼學(xué)分了三個(gè)主要分支:分組密碼(塊密碼)、序列密碼(流密碼)和公鑰密碼。
序列密碼(流密碼)是密碼學(xué)的主要研究分支。正如命名可以看出該算法具有數(shù)據(jù)流化的特征。又因其安全強(qiáng)度大被主要用于軍事、政府部門(mén)和商業(yè)安全領(lǐng)域。常見(jiàn)的序列密碼算法有:3GPP標(biāo)準(zhǔn)中使用的Snow 3G和ZUC算法、GSM上使用的A5/1算法、WEP上使用的RC4算法和藍(lán)牙標(biāo)準(zhǔn)上使用中的E0算法。
序列密碼的加解密過(guò)程是將密碼算法生成的亂數(shù)流與明文數(shù)據(jù)逐個(gè)比特異或處理的,所以其錯(cuò)誤的傳播性極低,甚至可以說(shuō)是完全不存在錯(cuò)誤傳播。又因其算法邏輯對(duì)軟硬件的開(kāi)銷需求較低所以加密性能較高。
序列密碼對(duì)數(shù)據(jù)的處理流程是:
圖2 序列密碼加解密處理流程
ZUC(祖沖之)序列密碼算法[3]
序列密碼ZUC算法是中國(guó)人自主設(shè)計(jì)的高性能序列密碼,它和其他序列密碼一樣具有很好的數(shù)據(jù)流化特征。又由于其錯(cuò)誤的傳播性極低,甚至可以說(shuō)是完全不存在錯(cuò)誤傳播。所以選擇ZUC算法來(lái)進(jìn)行加密同樣以流形式進(jìn)行編碼的視頻數(shù)據(jù)非常合適。
圖3 ZUC算法總體結(jié)構(gòu)
(1)視頻組Gop加密與密鑰同步設(shè)計(jì)
圖4 密鑰同步設(shè)計(jì)
(2)收發(fā)方加密同步設(shè)計(jì)
無(wú)論是視頻直播還是視頻點(diǎn)播,視頻的數(shù)據(jù)流都是源源不斷的傳遞過(guò)來(lái)的。如何做好被加密數(shù)據(jù)與亂數(shù)流的同步問(wèn)題非常重要。無(wú)論是網(wǎng)絡(luò)的不可靠傳輸還是一些用戶的操作行為都會(huì)帶來(lái)數(shù)據(jù)流的不同步問(wèn)題,一旦發(fā)生了數(shù)據(jù)不同步,快速的將其同步回來(lái)顯得尤為重要。
前面提到本方案的加密策略是選擇將需要加密的I幀明文和序列密碼算法ZUC產(chǎn)生的亂數(shù)進(jìn)行異或操作來(lái)獲取密文的。同時(shí)網(wǎng)絡(luò)中通過(guò)命名規(guī)則可以知道當(dāng)前視頻播放的幀組號(hào)時(shí)多少,序列密碼算法ZUC也是通過(guò)基礎(chǔ)的密鑰Key加上組號(hào)來(lái)決定密鑰。所以用戶端可以快速通過(guò)數(shù)據(jù)包的名稱得到組號(hào),再結(jié)合約定的基數(shù)的密鑰Key計(jì)算得到相應(yīng)密文所需的亂數(shù)。這樣可以快速實(shí)現(xiàn)解密數(shù)據(jù)的同步,因?yàn)槊恳唤M幀組所對(duì)應(yīng)的播放時(shí)間相當(dāng)短暫的,用戶端是完全可以接受的。
隨著視頻消費(fèi)需求的不斷增加,數(shù)據(jù)安全有效控制的需求正逐步凸顯。如何將網(wǎng)絡(luò)下的視頻類消費(fèi)進(jìn)行有效的安全管理控制需要不斷的完善。對(duì)視頻安全控制的研究正在逐步深入,伴隨用戶體驗(yàn)的需求提高,視頻流體量也日趨增大,授權(quán)視頻的安全控制開(kāi)銷隨之增加,針對(duì)主流的H.264/AVC視頻壓縮編碼標(biāo)準(zhǔn)高效的控制視頻流安全,將成為未來(lái)降低服務(wù)端開(kāi)銷的主要突破口。
[1]Wiegand T, Sullivan G J, Bjontegaard G, et al. Overview of the H.264/AVC video coding standard[J]. IEEE Transactions on Circuits & Systems for Video Technology, 2003.
[2]唐金藝.NDN下一種基于I幀加密的在線視頻安全訪問(wèn)控制研究[D].清華大學(xué)碩士學(xué)位論文,2017.
[3]馮秀濤.3GPP LTE國(guó)際加密標(biāo)準(zhǔn)ZUC算法[J].信息安全與通信保密,2011.
網(wǎng)絡(luò)安全技術(shù)與應(yīng)用2018年10期