專利名稱:密鑰產(chǎn)生的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及數(shù)字內(nèi)容保護,具體地,涉及根據(jù)初始密鑰產(chǎn)生加密和解密密 鑰。
背景技術(shù):
本節(jié)旨在向讀者介紹可能與以下將描述和/或要求保護的本發(fā)明的各個方面有 關(guān)的技術(shù)的各個方面。相信此處的討論有助于為讀者提供背景知識,以便讀者能夠更好的 理解本發(fā)明的各個方面。因此,應(yīng)當理解的是應(yīng)該據(jù)此閱讀這些說明,而不應(yīng)將后者看成對 現(xiàn)有技術(shù)的認可。WO 2008/055900示教了一種根據(jù)初始‘主’密鑰產(chǎn)生加密和解密密鑰的系統(tǒng)。有 利地,該系統(tǒng)可以使用在MPEG-4中,以向接收機提供單一密鑰,根據(jù)該單一密鑰可以產(chǎn)生 針對較低增強層的解密密鑰。圖1示出了針對2乘2(即,4)個增強層的密鑰產(chǎn)生。有權(quán) 使用密鑰2,2的接收機可以通過對‘主’密鑰的特定部分應(yīng)用單向函數(shù)(有利地,散列),產(chǎn) 生密鑰1,2 ;2,1 ;和1,1。例如,為了產(chǎn)生密鑰2,1,接收機將密鑰2,2的左側(cè)L2,2與與密鑰 2,2的右側(cè)R2,2的散列值H(R2,2)拼接。類似地,為了產(chǎn)生密鑰1,2,接收機將密鑰2,2的右側(cè)1 2,2與密鑰2,2的左側(cè)L2,2的 散列值H(L2,2)拼接。密鑰1,1可以根據(jù)密鑰1,2 ;2,1 ;和1,1中的任一個產(chǎn)生。本領(lǐng)域技 術(shù)人員將認識到經(jīng)由密鑰1,2所計算的密鑰1,1 = Lu2 IH(Ru) = H(L2,2) Ι |H(R2,2)等于 經(jīng)由密鑰 2,1 所計算的密鑰 1,1 = H(R2a) I R2a = H(L2j2) | H(R2j2)。本領(lǐng)域技術(shù)人員還將認識到,用于修改密鑰的函數(shù)是單向的,該單向函數(shù)根據(jù)密 鑰2,2或密鑰3,1來產(chǎn)生密鑰3,2在計算上是不可行的(盡管反過來是可能的,即,根據(jù)密 鑰3,2產(chǎn)生密鑰2,2或3,1是可能的)。如所見,WO 2008/055900存在缺陷。因此,應(yīng)認識到,需要一種克服現(xiàn)有技術(shù)缺陷 的內(nèi)容保護系統(tǒng)。本發(fā)明提供了這樣的解決方案。
發(fā)明內(nèi)容
在第一方面中,本發(fā)明涉及一種在η維密鑰空間中產(chǎn)生目標密鑰的方法,η是大于 或等于2的整數(shù),每個密鑰與密鑰空間的坐標相對應(yīng),目標密鑰與坐標(X,y,...)相對應(yīng)。 獲得具有由η個值組成的坐標(Χ,Υ,...)的開始基本密鑰Kmt,并且將該開始基本密鑰拆分 成η個密鑰部分,每個密鑰部分與一個維度相對應(yīng)。對于每個維度,單向函數(shù)多次應(yīng)用到與 維度相對應(yīng)的密鑰部分,所述多次等于維度的最大坐標值減去目標密鑰的維度坐標,以獲 得目標基本密鑰部分。組合η個目標基本密鑰部分以獲得目標基本密鑰。獲得開始修改密 鑰K’ 。產(chǎn)生將開始修改密鑰K’ 與目標密鑰Kmt之間的密鑰空間距離表示為整數(shù)的距離 值。單向函數(shù)多次應(yīng)用到開始修改密鑰Κ’ΜΤ,所述多次次等于距離值,以便獲得目標修改密 鑰。然后將目標基本密鑰與目標修改密鑰相組合以獲得目標密鑰。在第一優(yōu)選實施例中,η等于2。
在第二優(yōu)選實施例中,對目標基本密鑰和目標修改密鑰進行異或O(OR)。在第三優(yōu)選實施例中,通過將每個維度的開始基本密鑰與目標密鑰的坐標之間的 差值相加來計算距離值。 在第四優(yōu)選實施例中,所有密鑰部分的長度是相同的。在第五優(yōu)選實施例中,開始基本密鑰和開始修改密鑰包括在開始全局密鑰中。在第二方面中,本發(fā)明涉及一種用于在η維密鑰空間中產(chǎn)生目標密鑰的設(shè)備,η是 大于或等于2的整數(shù),每個密鑰與密鑰空間的坐標相對應(yīng),目標密鑰與坐標(X,y,...)相 對應(yīng)。該設(shè)備包括處理器,該處理器適于獲得具有由η個值組成的坐標(X,Y,...)的開 始基本密鑰Kmt,并且將該開始基本密鑰Kmt拆分成η個密鑰部分,每個密鑰部分與一個維度 相對應(yīng);對于每個維度,將單向函數(shù)多次應(yīng)用到與一個維度相對應(yīng)的密鑰部分所述多次等 于維度的最大坐標值減去目標密鑰的維度坐標,以獲得目標基本密鑰部分;組合η個目標 基本密鑰部分以獲得目標基本密鑰;獲得開始修改密鑰K’ ;產(chǎn)生將開始修改密鑰K’ ΜΤ與 目標密鑰Kmt之間的密鑰空間距離表示為整數(shù)的距離值;單向函數(shù)多次應(yīng)用到開始修改密 鑰K’ ΜΤ,所述多次等于距離值,以便獲得目標修改密鑰;將目標基本密鑰與目標修改密鑰相 組合以獲得目標密鑰。
現(xiàn)在參照附圖,通過非限制示例描述本發(fā)明的優(yōu)選特征,在附圖中圖1示出了現(xiàn)有技術(shù)文獻WO 2008/055900中所示教的密鑰產(chǎn)生;圖2示出了根據(jù)本發(fā)明優(yōu)選實施例的如何根據(jù)主基本密鑰K33和主修改密鑰K’ 33 來計算密鑰;圖3示出了根據(jù)本發(fā)明優(yōu)選實施例的密鑰產(chǎn)生的系統(tǒng)。
具體實施例方式本發(fā)明人發(fā)現(xiàn)現(xiàn)有的解決方案易受串通攻擊。假定攻擊者闖入兩個接收機,并且重新獲得了至少兩個保護的許可證密鑰(或者 得到這些密鑰)。進一步假定這些密鑰之一是密鑰2,1 = (L2,2| |H(R2,2)),并且其他密鑰是 密鑰1,2= (H(L2j2) I I&,2)。設(shè)備不能產(chǎn)生密鑰2,2。然而,通過使用密鑰2,1 = (L2j2 H(R2, 2))的左側(cè)值和密鑰1,2= (H(L2,2) I IR2,2)的右側(cè)值,攻擊者能夠重構(gòu)密鑰2,2= (L2,2 R2, 2)。這是串通攻擊;本發(fā)明利用兩個實施例提出了一般密鑰產(chǎn)生方案,來克服該串通攻擊。本發(fā)明的總體方案發(fā)展了 W02008/055900中的方案,通過利用修改密鑰修改其中 的密鑰(在下文中被稱作‘基本密鑰’)來產(chǎn)生分段密鑰。在下文中使用以下注釋-密鑰空間包括M*T個不同分段密鑰(即,M在一個維度,T在其他維度),每個分 段密鑰表示為 KSmt,其中,m e {l,...,M},te {1,...,T}。-2k比特密鑰Kmt是一種密鑰,使得< Kfflt < 22k。Kfflt的k個最高有效位(即,左 側(cè)部分)表示為Lmt,并且k個最低有效位(S卩,右側(cè)部分)表示為Rmt ;換言之,Kmt = LnJ Rfflt, 并且被寫成Lmt*2k+Rmt。不能在密鑰Kmt與其表示Lmt I I Rfflt之間進行區(qū)分。-優(yōu)選地,如WO2008/055900公開的一樣,密鑰Kmt是業(yè)比特主基本密鑰,根據(jù)該
4主基本密鑰產(chǎn)生其他基本密鑰。-HpH2和H3表示單向函數(shù),其中H1和H2的輸出大小是k個比特,H3的輸出大小是 2k個比特。有利地,H1和H2相同,但是不要求H1和H2相同。對于H1、H2,適當?shù)纳⒘泻瘮?shù)例 如是MD5,其輸出1 個比特,對于H3,適當?shù)纳⒘泻瘮?shù)例如是SHA-256,其輸出是256個比 特。K’ 表示業(yè)比特的主修改密鑰,下面將對其進行描述。盡管所描述的修改密鑰與基本密鑰不同,但是也可能在全局密鑰中提供這兩個密 鑰,根據(jù)需要將全局密鑰拆分成修改密鑰和基本密鑰。分段密鑰KSmt由以下操作產(chǎn)生-將Kmt拆分成兩個部分,優(yōu)選地,平分拆分,使得Kmt= (Lmt I I Rmt)。-計算第一和第二距離值;χ= M_m,y = T_t。距離值表示特定維度中主密鑰與當 前密鑰之間的‘級別’差。-計算總距離值ζ。根據(jù)實施例以不同方式計算總距離值。-通過計算KSmt = OV(Lmt) I H/(Rmt))XORH32(K' mt)產(chǎn)生分段密鑰 KSmt,或?qū)⑸鲜?簡化為 KSmt = KJCORK' 。在第一實施例中,ζ = x+y。在第二實施例中,ζ計算如下-如果x = 0 且 y = 0,貝 IJ z = 0;-如果x = 0 且 y 乒 0,則 ζ = 2y-l ;-如果χ乒0且y= 0,則ζ = 2X_1 ;以及-如果χ 乒 0 且 y 乒 0,則 ζ = 2x+2y_2。下文中將通過示例示意密鑰產(chǎn)生方案。針對示例假定以下情況-M = 3, T = 3 ;-具有k比特輸出的H1= H2 ;具有濁比特輸出的H3。-根據(jù)第二實施例計算ζ。圖2示出了如何根據(jù)主基本密鑰K33和主修改密鑰K^3來計算密鑰KS32、KS31、KS23、 KS22, KS21, KS13、KS12和KSn。本領(lǐng)域技術(shù)人員將認識到,優(yōu)選地,在前端設(shè)備處的設(shè)備隨機 或偽隨機地產(chǎn)生主基本密鑰K33和主修改密鑰K’ 33。任何設(shè)備(在前端設(shè)備處或在接收機端)然后可以根據(jù)主基本密鑰K33和主修過 密鑰K’ 33產(chǎn)生任何密鑰。用一般方式表達,設(shè)備可以根據(jù)‘較大’密鑰來產(chǎn)生任何‘較小’ 密鑰(較小密鑰在兩個維度具有相等或較小值),但是反之不成立。自然,還能夠根據(jù)次大密鑰之一產(chǎn)生較小密鑰,例如根據(jù)K32、K’ 32、Μ和T或者 K23> K,23、M和T通過類似計算來產(chǎn)生KS22 0例如,根據(jù)K32和K,32, KS22 = (H1 (L32) | | R32) XORH3 (K' 32)。為了更加清楚起見,現(xiàn)在說明如何計算圖2中ζ的不同值-m = 3, t = 2 :χ = M-m = 3-3 = 0 ;y = T_t = 3-2 = 1 ;z = 2y_l = 2^1 = 1 ;-m = 3, t = 1 :x = M-m = 3-3 = 0 ;y = T_t = 3-1 = 2 ;z = 2y_l = 22_1 = 3 ;-m = 2, t = 3 :x = M-m = 3-2 = 1 ;y = T_t = 3-3 = 0 ;z = 2X_1 = 21-! = 1 ;-m = 2, t = 2 :χ = M-m = 3-2 = 1 ;y = T_t = 3-2 = 1 ;z = 2x+2y_l = 2^2-2 -m = 2, t = 1 :x = M-m = 3-2 = 1 ;y = T_t = 3-1 = 2 ;z = 2x+2y_l = 2J+22-2 -m = 1, t = 2 :x = M-m = 3-1 = 2 ;y = T_t = 3-2 = 1 ;z = 2x+2y_l = 22+2-2 -m = 1, t = 1 :x = M-m = 3-1 = 2 ;y = T_t = 3-1 = 2 ;z = 2x+2y_l = 22+22-2
=2 ; =4 ; =4 ; =6。本領(lǐng)域技術(shù)人員將認識到,異或以外的其他適合組合函數(shù)也是可能的。例如,可以 通過對修改密鑰和基本密鑰的拼接進行散列來獲得目標密鑰。根據(jù)所提出的方案,具有‘較小’分段密鑰的兩個接收機的串通不能計算‘較大’分 段密鑰。假設(shè)兩個接收機Rl和R2,Rl接收K31和K,31,而R2接收K13和K,13。Rl因此可以 產(chǎn)生分段密鑰KS31、KS21和KSn。R2可以產(chǎn)生分段密鑰、KS13、KS12和KSn。共享的分段密鑰 是KS11,而KS31和KS21是Rl專有的,KS13和KS12是R2專有的。根據(jù)WO 2008/055900的解決方案,能夠通過將來自Rl的L31與來自R2的R13相組
合,來產(chǎn)生KS33 = K33。然而,這在根據(jù)本發(fā)明的方案中是不可能的。為了計算KS33,必須計 算兩個密鑰I^3和K’ 33。如WO 2008/055900的方案,通過將來自Rl的K31的L31和來自R2的K13的R13相
組合容易獲得K33。然而,在計算方面,很難通過將來自Rl的K’ 33與來自R2的K’ 31相組合 來計算K’ 33 ο實際上,為了計算Κ’33,并從而獲得KS33,要求氏的反向操作,這是由于=Κ’13 = Η33(κ’33)。仍假定單向函數(shù)是不可逆的。即使不能計算K,32 = H31OT 33), K' 23 = H31OT 33),K,22 = H32OT 33),并因此不能 通過將來自Rl的K,31與來自R2的K,13相組合來產(chǎn)生分段密鑰KS32、KS23> KS22。因此,修改密鑰K’ mt的使用使得阻止對方案的串通攻擊。因此將認識到,不能通過‘較小’分段密鑰的特征的組合來產(chǎn)生‘較大’分段密鑰。本發(fā)明的密鑰產(chǎn)生方案特別適合于MPEG-FGS (細粒度縮放),MPEG-FGS特別適于 DRM(數(shù)字版權(quán)管理)技術(shù)所提供的靈活服務(wù)。可縮放加密技術(shù)如果與適合的密鑰管理方案相結(jié)合,就會實現(xiàn)改善的訪問控制過程。盡管在兩個實施例中描述了本發(fā)明,但是本領(lǐng)域技術(shù)人員將認識到,可以通過將 基本密鑰拆分成η個部分來概括為η個維度,其中優(yōu)選地η是2的冪。圖3示出了根據(jù)本發(fā)明優(yōu)選實施例的密鑰產(chǎn)生和分發(fā)系統(tǒng)。系統(tǒng)200包括適于至 少產(chǎn)生主基本密鑰Kmt和主修改密鑰K’ ΜΤ的內(nèi)容提供器210。這兩個密鑰允許產(chǎn)生所有分 段密鑰。內(nèi)容提供器210還適于計算所有分段密鑰并且使用這些分段密鑰來加密內(nèi)容。然 后,將加密的內(nèi)容傳送261至適合的分發(fā)服務(wù)器230(例如,web服務(wù)器)以進行分發(fā)。然 后,內(nèi)容提供器210向許可證服務(wù)器240發(fā)送262主基本密鑰Kmt、主修改密鑰K’ 以及必 要的使用規(guī)則。使用規(guī)則說明如何使用規(guī)則,典型地說明質(zhì)量級別和可能的分辨率。許可證服務(wù)器240負責(zé)產(chǎn)生內(nèi)容許可證,并向用戶分發(fā)內(nèi)容許可證。在另一端,用戶設(shè)備220從 分發(fā)服務(wù)器230下載沈3、沈4內(nèi)容。為了能夠使用加密的內(nèi)容,用戶設(shè)備220從許可證服 務(wù)器240請求265許可證。許可證服務(wù)器240產(chǎn)生包含基本密鑰Kmt和修改密鑰K,MT的有 效許可證。許可證服務(wù)器240對這兩個密鑰進行計算,以適合用戶設(shè)備220所請求的質(zhì)量。 最后,通常在付費之后將許可證安全地傳遞266至用戶設(shè)備220,并且可以根據(jù)許可證中的 使用規(guī)則來解密和使用加密的內(nèi)容。例如,如果用戶設(shè)備獲取優(yōu)質(zhì)視頻的版權(quán),則許可證包 含基本密鑰Kmt和修改密鑰K’MT。許可證服務(wù)器240包括用于通信的接口單元M2、至少一 個處理器(下文中為“處理器” )244,以及適于產(chǎn)生許可證的存儲器M6。在第一和第二實施例中,也可以以相對方式(即根據(jù)修改密鑰K’ mt,其中K’ mt不 一定是主修改密鑰K’MT)來計算ζ的值。這非常適合于第一實施例,由于對于用戶設(shè)備220 而言容易計算應(yīng)當將單向函數(shù)應(yīng)用于修改密鑰K’mt的次數(shù),以獲得任何較小修改密鑰K’u。 然而,在第二實施例中有點復(fù)雜。在實際中,相對于另一修改密鑰K’ mt的任何修改密鑰K’ ,j的ζ的計算要求獲知M 和T。在這種情況下,可以如下執(zhí)行ζ的計算1.首先計算針對K,,j的Z1,例如,Z1 = 2"+2"_2,2.接著計算針對 K’ mt 的 z2,例如,Z2 = 2M_m+2T_t-2,3.最后,ζ = Z1-Z2,并且 K,= H3z(K,mt)。假定M = 3,T = 3,接收到的修改密鑰是K’ 22,用戶設(shè)備220計算最小修改密鑰 K,n。然后用戶設(shè)備220針對K,n計算Z1 =Z1 = 2^+2^-2 = 22+22_2 = 6,并且針對K,22 計算 z2 =Z2 = 2μ_2+2τ_2-2 = 2^2-2 = 2。K,n 相對于 K,22 的 ζ 值是 ζ = Z1-Z2 = 6-4 = 4。 因此,K’ n = H3Z(K’ 22) =H34H因此,可以看出,用戶設(shè)備需要知道密鑰空間的M和 Τ。因此,如果用戶設(shè)備220還沒有M和T的值(例如,可以是用戶設(shè)備在注冊階段期間或 者利用下載的內(nèi)容獲得這些值的情況,假定這些值沒有變化),則然后利用許可證266在消 息中將這些值傳遞至用戶設(shè)備。這種模型的優(yōu)點在于,用戶可以將接收到的加密內(nèi)容通過超級分發(fā)重新分配給其 他用戶250,超級分發(fā)允許向具有各種設(shè)備(蜂窩電話、電視機、高端PC等)的大量用戶分 發(fā)可縮放內(nèi)容,而無需涉及分發(fā)服務(wù)器。盡管可以自由分發(fā)可縮放內(nèi)容,但是為了訪問可縮 放內(nèi)容,接收方必須聯(lián)系許可證服務(wù)器(并且付費),以獲得分段解密所需的基本和修改密 鑰。內(nèi)容提供器210和用戶設(shè)備包括用于通信的接口單元212、222、至少一個處理器 (下文為“處理器” )214、224、以及存儲器216、226。內(nèi)容供應(yīng)器210的處理器214適于至 少產(chǎn)生基本密鑰Kmt和修改密鑰K’ ,但是有利地還適于產(chǎn)生所有分段密鑰KSmt,并且使用 分段密鑰加密內(nèi)容。用戶設(shè)備220的處理器222適于根據(jù)在許可證中接收到的密鑰來產(chǎn)生 分段密鑰,并且使用這些密鑰來解密內(nèi)容。在說明書和權(quán)利要求和附圖(適當?shù)牡胤?中所公開的每個特征可以獨立或以任 何適當組合的方式來提供。在硬件中實現(xiàn)的所描述的特征也可以以軟件來實現(xiàn),反之亦然。 連接適當?shù)乜梢詫崿F(xiàn)為無線連接或有線連接(不必直接或?qū)S眠B接)。權(quán)利要求中出現(xiàn)的附圖標記僅作為示意,并不應(yīng)對權(quán)利要求的范圍起到限制作用。
權(quán)利要求
1.一種在η維密鑰空間中產(chǎn)生目標密鑰的方法,η是大于或等于2的整數(shù),每個密鑰與 密鑰空間的坐標相對應(yīng),目標密鑰與坐標(X,y,...)相對應(yīng),所述方法在設(shè)備處包括以下 步驟-獲得具有由η個值組成的坐標(X,Y,...)的開始基本密鑰Kmt ; -將所述開始基本密鑰Kmt拆分成η個密鑰部分,每個密鑰部分與一個維度相對應(yīng); -對于每個維度,單向函數(shù)多次應(yīng)用到與維度相對應(yīng)的密鑰部分,所述多次等于維度的 最大坐標值減去目標密鑰的維度坐標,以獲得目標基本密鑰部分;以及 -組合η個目標基本密鑰部分以獲得目標基本密鑰; 還包括-獲得開始修改密鑰K’ ΜΤ ;-產(chǎn)生將開始修改密鑰K’ ΜΤ與目標密鑰之間的密鑰空間距離表示為整數(shù)的距離值; -單向函數(shù)多次應(yīng)用到開始修改密鑰K’ ΜΤ,所述多次等于距離值,以便獲得目標修改密 鑰;以及-將目標基本密鑰與目標修改密鑰相組合以獲得目標密鑰。
2.根據(jù)權(quán)利要求1所述的方法,其中,η等于2。
3.根據(jù)權(quán)利要求1所述的方法,其中,對目標基本密鑰和目標修改密鑰進行異或M)R。
4.根據(jù)權(quán)利要求1所述的方法,其中,通過將每個維度的開始基本密鑰Kmt與目標密鑰 的坐標之間的差值相加來計算距離值。
5.根據(jù)權(quán)利要求1所述的方法,其中,所有密鑰部分的長度是相同的。
6.根據(jù)權(quán)利要求1所述的方法,其中,開始基本密鑰和開始修改密鑰包括在開始全局 密鑰中。
7.一種用于在η維密鑰空間中產(chǎn)生目標密鑰的設(shè)備,η是大于或等于2的整數(shù),每個密 鑰與密鑰空間的坐標相對應(yīng),目標密鑰與坐標(x,y,...)相對應(yīng),該設(shè)備包括處理器014 ; 224 ; 244)-獲得具有由η個值組成的坐標(X,Y,...)的開始基本密鑰Kmt ; -將所述開始基本密鑰Kmt拆分成η個密鑰部分,每個密鑰部分與一個維度相對應(yīng); -對于每個維度,單向函數(shù)多次應(yīng)用到與一個維度相對應(yīng)的密鑰部分,所述多次等于維 度的最大坐標值減去目標密鑰的維度坐標,以獲得目標基本密鑰部分; -組合η個目標基本密鑰部分以獲得目標基本密鑰; 所述處理器(214 ;224 ;244) -獲得開始修改密鑰K’ ΜΤ ;-產(chǎn)生將開始修改密鑰K’ ΜΤ與目標密鑰之間的密鑰空間距離表示為整數(shù)的距離值; -單向函數(shù)多次應(yīng)用到開始修改密鑰K’ ΜΤ,所述多次等于距離值,以便獲得目標修改密 鑰;以及-將目標基本密鑰與目標修改密鑰相組合以獲得目標密鑰。
全文摘要
一種根據(jù)給定基本密鑰KMT和給定修改密鑰K’MT在具有M*T個密鑰密鑰空間中產(chǎn)生分段密鑰KSmt的方法。將基本密鑰KMT拆分成兩個部分LMT、RMT,對這兩個部分分別以M-m和T-t次應(yīng)用單向函數(shù),并在此組合結(jié)果以形成目標基本密鑰。將單向函數(shù)多次應(yīng)用于修改密鑰K’MT,所述多次與給定基本密鑰與分段密鑰之間的距離值z相對應(yīng);在一個優(yōu)選實施例中,z=(M-m)+(T-t)。將該結(jié)果與目標基本密鑰進行異或,以獲得分段密鑰KSmt。同樣提供了一種設(shè)備。
文檔編號H04N7/16GK102100078SQ200980127955
公開日2011年6月15日 申請日期2009年7月13日 優(yōu)先權(quán)日2008年7月18日
發(fā)明者穆罕默德·卡羅米, 阿尤布·馬蘇迪 申請人:湯姆森許可貿(mào)易公司