郭麗霞
(中國聯(lián)合網(wǎng)絡通信有限公司石家莊市分公司,河北石家莊050011)
數(shù)字權(quán)限管理(Digital Right Management,DRM)[1]系統(tǒng)是以保護數(shù)字內(nèi)容知識產(chǎn)權(quán)為目的的,其系統(tǒng)模型由3部分構(gòu)成[2]:內(nèi)容服務器、許可證服務器和客戶端。在視頻DRM系統(tǒng)框架下,視頻流分配和使用的權(quán)限控制算法是DRM系統(tǒng)需要解決的關鍵問題[2]。
可分級視頻編碼(Scalable video coding,SVC)[3]是適合于網(wǎng)絡視頻流傳輸?shù)囊曨l編碼算法。目前提出的基于RAS的加密算法和選擇式加密算法存在一定量的數(shù)學運算[4],增加了視頻傳輸系統(tǒng)的額外開銷,提出的層次化的SVC碼流的權(quán)限控制方法方案[5]沒有很好考慮到SVC碼流在網(wǎng)絡中傳輸?shù)囊蛩?,不能很好地適用于實際的DRM系統(tǒng)中。網(wǎng)絡編碼[6]技術通過在中間節(jié)點對收到的多個信息進行線性編碼的方式給DRM系統(tǒng)中權(quán)限控制算法提供了新的思路。隨機線性網(wǎng)絡編碼[6](Random Linear Network Coding,RLNC)在每條網(wǎng)絡鏈路上隨機的產(chǎn)生局部編碼向量。已有的基于RLNC算法沒有結(jié)合DRM系統(tǒng)的框架說明權(quán)限控制的方法[7],仍需研究DRM機制下權(quán)限控制方法。
為此,在RLNC的基礎上,通過基于全局編碼向量(Global Encoding Kernel,GEK)的加密和認證證書相結(jié)合的方式,提出了一種SVC視頻流的權(quán)限控制方法。
在DRM系統(tǒng)中,為了保護信息的安全性,避免非法者獲取帶有知識產(chǎn)權(quán)的數(shù)字視頻內(nèi)容,必須在傳輸前對數(shù)字內(nèi)容進行加密,在客戶端采用合理的分配方式控制視頻內(nèi)容的分配。
RLNC算法中,網(wǎng)絡中的每條邊隨機地產(chǎn)生局部編碼向量(Local Encoding Kernel,LEK),每個節(jié)點對收到的多個信息流進行線性運算后生成新的信息,LEK參與線性運算并傳輸?shù)较聜€節(jié)點。最終,目的節(jié)點收到的數(shù)據(jù)包中包括2部分內(nèi)容:全局編碼向量(GEK)和有效信息(Y),它們的矩陣形式如下式所示:
假設原始數(shù)據(jù)X包含M個行向量,RLNC算法隨機的產(chǎn)生一個M×M的初始編碼矩陣LEKS,其行向量Si(1≤i≤M)分別同發(fā)送的信息進行線性運算,其結(jié)果為RS:
RS由LEK和X的線性組合構(gòu)成。源節(jié)點把新的數(shù)據(jù)包分發(fā)出去,在任意一個中間節(jié)點,RLNC算法對收到的數(shù)據(jù)包進行線性運算后生成新的數(shù)據(jù)包,再把該數(shù)據(jù)包發(fā)送出去,假設一個中間節(jié)點收到j(1≤j≤M)個數(shù)據(jù)包,其中每個數(shù)據(jù)包中包括Si和Si·X,RLNC隨機生成j維的局部編碼向量Ij,那么該節(jié)點發(fā)送的數(shù)據(jù)包RI可以表示為:
式中,Kj表示M個Ki中任意j個向量組成的矩陣。由此遞推,結(jié)合式(1)和式(2),接收節(jié)點收到的M個數(shù)據(jù)包RD可以用下式來表示:
從RD中可以分別獲得GEK和Y,當GEK滿秩時,原始信息可以由式(4)得到:
由于RLNC在所有中間節(jié)點都采用線性算法對信息進行處理,由式(1)可知,在網(wǎng)絡中傳輸?shù)男畔⒖梢钥醋魇怯删植烤幋a向量LEK加密后的密文,且由式(4)知,目的節(jié)點只有在獲取全局編碼向量GEK后,才能恢復出原始數(shù)據(jù),此時GEK可以認為是加密密鑰。因此,考慮到RLNC算法這一特點,可以通過限制用戶對GEK的恢復,完成數(shù)據(jù)的加密算法。
在源節(jié)點中,由M個數(shù)據(jù)包組成的數(shù)據(jù)單元中包括一個M×M的單位矩陣和原始信息X,在數(shù)據(jù)單元參與線性運算之前,首先選擇一個M×M的非奇異系數(shù)矩陣KEY代替數(shù)據(jù)單元中的單位矩陣,新的數(shù)據(jù)單元包括系數(shù)矩陣KEY和原始信息,然后再對該數(shù)據(jù)單元進行如式(1)所示的線性運算后采用RLNC算法進行數(shù)據(jù)傳輸。由上述分析可知,目的接收收到的數(shù)據(jù)包ZD可以表示為:
其中Y=GEK·X,由式(5)可知,如果要得到原始信息X,必須獲得GEK,目的節(jié)點只能通過KEY矩陣解密后獲得GEK。因此,X可以通過式(6)得到:
這里的M×M的非奇異矩陣KEY就是該加密算法的密鑰。
在DRM系統(tǒng)中,內(nèi)容服務器通過KEY對原始信息進行加密,客戶端獲得加密的數(shù)據(jù)后,從許可證服務器申請KEY密鑰進行解密。
在實際的網(wǎng)絡視頻系統(tǒng)中,視頻服務器在同一時間內(nèi)可以發(fā)出多個節(jié)目流,用戶可以從這些節(jié)目中進行選擇。為了更有效地控制SVC視頻流的分配,在分級數(shù)據(jù)包結(jié)構(gòu)的基礎上,提出了基于GOP的混合多節(jié)目流的數(shù)據(jù)包結(jié)構(gòu)。假設源點同時發(fā)送m個節(jié)目流{P1,P2,…,Pm},每個節(jié)目流的K個GOP是一個GOP分組{G1,G2,…,GK},把GOP分組中m個節(jié)目流的碼流按照分層遞增的順序依次進行打包。打包算法得到的數(shù)據(jù)包的結(jié)構(gòu)如圖1示,其中Lij(1≤i≤H,1≤j≤m)表示第j個節(jié)目流中S個GOP的第i層SVC碼流的集合。
圖1 打包結(jié)構(gòu)
在DRM系統(tǒng)中,當客戶端收到具有該結(jié)構(gòu)的SVC碼流時,可以通過給用戶頒發(fā)證書的形式精確地控制用戶對SVC碼流的獲取,使客戶根據(jù)其權(quán)限恢復出相應視頻圖像。采用3種不同形式的證書就能合理地控制用戶對數(shù)據(jù)包內(nèi)視頻碼流的獲取,這3種證書分別是:品質(zhì)證書、節(jié)目證書和GOP證書。
①品質(zhì)證書:該證書用于描述給用戶分配SVC視頻流中碼流層次的權(quán)限。SVC算法提供了3種可分級形式:時間域﹑空間域和質(zhì)量域,同時這3種可分級形式碼流的恢復決定了圖像的幀率,分辨率和質(zhì)量。在1個層數(shù)為H的SVC視頻流{L1,L2,…,LH}中,定義一個H維的單位矩陣Q-PM(Quality Permission Matrix)為品質(zhì)證書,Q-PM中對角元素(1≤i≤H)用來控制用戶訪問不同層的碼流的權(quán)限,當Q-PM中的對角元素等于1時,表示用戶可以獲取H層的碼流中某層的碼流。
②節(jié)目證書:該證書用來描述用戶獲取節(jié)目的權(quán)限。假設內(nèi)容服務器發(fā)出的碼流中一共包含P個節(jié)目流{P1,P2,…,PP},定義一個P維的單位矩陣P-PM(Program Permission Matrix)為節(jié)目證書,該矩陣對角元素表示節(jié)目流的使用權(quán)限,當節(jié)目證書P-PM中對角元素時,說明用戶可以獲取某個節(jié)目的碼流。
③GOP證書:該證書描述了用戶獲取SVC視頻流中單個GOP碼流的權(quán)限。定義連續(xù)的K個GOP 為一個GOP分組{GG:G1,G2,…,GK},用一個K維的單位矩陣S-PM表示GOP證書,用S-PM對角線上的元素表示在該GOP分組中的GOP的訪問權(quán)限,當其值等于1時,表示用戶可以獲取該GOP的碼流。特別地,定義g_access(1≤g_access≤K)參數(shù)把一個GOP分組劃分成2部分,使得S-PM中的,這樣就可以控制用戶對GOP分組中連續(xù)GOP的訪問,因此,該證書還可以根據(jù)g_access的設置來選擇性的控制用戶恢復視頻圖像。
首先對SVC分層碼流進行打包和加密,生成的數(shù)據(jù)包通過基于RLNC算法的網(wǎng)絡發(fā)送,目的節(jié)點收到數(shù)據(jù)包后,根據(jù)自己的權(quán)限從第三方申請密鑰和證書,解密數(shù)據(jù)包后根據(jù)授權(quán)的證書獲取碼流。該算法的框圖如圖2所示。
圖2 DRM系統(tǒng)使用控制算法示意圖
通過對證書中的參數(shù)的控制實現(xiàn)了一種使用控制方法,參數(shù)的選擇如表1所示。A、B和C3個用戶分別獲得了KEY密鑰和不同參數(shù)的3個證書,他們對視頻碼流的使用權(quán)限受到證書的限制。視頻流中包括3個節(jié)目,每個節(jié)目的SVC碼流層數(shù)H都是5,Gsize=16。3個用戶分別獲取不同的節(jié)目,其中用戶A和B可以獲得所有GOP的碼流,但是B只能從碼流的低3層中恢復出具有一定失真的視頻圖像,用戶C只能收到節(jié)目3中每5個GOP中的1個,并且只能從SVC碼流的基本層中恢復出圖像。
表1 證書中參數(shù)的設置
權(quán)限控制算法通過密鑰和證書的發(fā)送以及證書中參數(shù)的選擇控制視頻內(nèi)容的分配。如上所述,用戶A和C分別享有最高和最低的權(quán)限,事實上,在視頻DRM系統(tǒng)中,可以通過合理地選擇這些參數(shù),靈活實現(xiàn)多種SVC碼流的分配方式。
討論了基于GOP的混合多節(jié)目流的數(shù)據(jù)包結(jié)構(gòu),提出了一種SVC碼流的DRM系統(tǒng)權(quán)限控制方法,并從加密和證書認證兩方面詳細說明了權(quán)限控制算法的原理和工作方式。提出的權(quán)限控制方法充分考慮了SVC和RLNC的特點,加密和分配算法都易于實現(xiàn)并且沒有增加額外的信息。該算法具有復雜度低和易于實現(xiàn)的特點,可以用于實際DRM系統(tǒng)中對SVC碼流權(quán)限控制方法的設計。
[1]IANNELLA R.Digital Rights Management(DRM)Architecture[J].D2Lib Magazine,2001,7(6):6-11.
[2]范科峰,莫瑋,曹山,等.數(shù)字版權(quán)管理技術及應用研究進展[J].電子學報,2007,6(35):1139-1147.
[3]SCHWARZ H,MARPE D,WIEGANDT.Overview of the Scalable Video Coding Extension of the H.264/AVC Standard[J].IEEE Trans.on Circuits and Systems for Video Technology,2007,17(9):1103-1120.
[4]PARK S U,SHIN S U.Efficient Selective Encryption Scheme for the H.264/Scalable Video Coding(SVC)[C]//Fourth International Conference on Networked Computing and Advanced information management,Gyeongju,Korea,2008:371-376.
[5]LIAN Shi-guo.Digital Rights Management for the Home TV based on Scalable Video Coding[J].IEEE Trans.On Consumer Electronics,2008,53(3):1287-1293.
[6]HO T,MEDARD M,KOETTER R,KARGER D R,et al.A Random Linear Network Coding Approach to Multicast[J].IEEE Trans.on Inf.Theory,2006,52(10):4413-4430.
[7]LU Ji,XIAO Song,WU Cheng-ke.EfficientProtection Scheme for SVC Content based on Network Coding[C]//Fifth International Conference on Information Assurance and Security,Xi’an,China,2009,2:585-588.