多形態(tài)加密密鑰矩陣的制作方法
【專利說明】
【背景技術(shù)】
[0001 ]本發(fā)明的實施例涉及廣播加密,更具體而言,涉及廣播加密系統(tǒng)中有空間效率的密鑰分配。
【發(fā)明內(nèi)容】
[0002]問題的解決方案
[0003]根據(jù)本發(fā)明的一個實施例,提供了用于廣播加密的方法和計算機程序產(chǎn)品。在這一實施例中,讀取密鑰束。密鑰束包括第一密碼密鑰、相關(guān)聯(lián)的第一密鑰標(biāo)識符和相關(guān)聯(lián)的第一密碼函數(shù)標(biāo)識符。接收加密內(nèi)容。接收多個加密密鑰。每個加密密鑰具有相關(guān)聯(lián)的標(biāo)識符。從多個加密密鑰中選擇第一加密密鑰,使得第一加密密鑰的標(biāo)識符相當(dāng)于第一密鑰標(biāo)識符。確定對應(yīng)于第一密碼函數(shù)標(biāo)識符的第一密碼函數(shù)。利用所述第一密碼密鑰向所述第一加密密鑰應(yīng)用所述第一密碼函數(shù),以獲得第一中間密碼密鑰。使用第一中間密碼密鑰確定內(nèi)容密碼密鑰。將內(nèi)容密碼密鑰應(yīng)用到加密內(nèi)容以獲得解密內(nèi)容。
[0004]根據(jù)本發(fā)明的另一實施例,提供了一種用于廣播加密的方法和計算機程序產(chǎn)品。在這一實施例中,提供密鑰束。該密鑰束包括第一密碼密鑰、相關(guān)聯(lián)的第一密鑰標(biāo)識符和相關(guān)聯(lián)的第一密碼函數(shù)標(biāo)識符。提供加密內(nèi)容。提供多個加密密鑰。每個加密密鑰具有相關(guān)聯(lián)的密鑰標(biāo)識符。選擇所述多個加密密鑰,從而能夠通過如下方式對所述加密內(nèi)容解密:從多個加密密鑰選擇第一加密密鑰,使得第一加密密鑰的標(biāo)識符相當(dāng)于第一密鑰識別符;確定對應(yīng)于第一密碼函數(shù)標(biāo)識符的第一密碼函數(shù);利用所述第一密碼密鑰向所述第一加密密鑰應(yīng)用所述第一密碼函數(shù),以獲得第一中間密碼密鑰;利用第一中間密碼密鑰確定內(nèi)容密碼密鑰;以及向加密內(nèi)容應(yīng)用內(nèi)容密碼密鑰。
【附圖說明】
[0005]圖1是根據(jù)本公開實施例的廣播加密方案的示意圖。
[0006]圖2是根據(jù)本公開實施例的示范性裝置密鑰束。
[0007]圖3是根據(jù)本公開實施例的示范性媒體密鑰塊。
[0008]圖4是根據(jù)本公開實施例對內(nèi)容解密的方法。
[0009]圖5示出了根據(jù)本發(fā)明實施例的計算節(jié)點。
【具體實施方式】
[0010]可以將密鑰矩陣用于在廣播加密系統(tǒng)中進行有空間效率的密鑰分配。在密鑰矩陣方式中,授權(quán)的內(nèi)容消費者(例如,數(shù)字媒體播放器)應(yīng)用單向加密函數(shù),以便從列到列地遍歷密鑰矩陣。在遍歷的每個步驟,導(dǎo)出加密密鑰,并重復(fù)該過程,直到獲得目標(biāo)密鑰為止。為授權(quán)的客戶端分配與密鑰矩陣特定列中的特定行相關(guān)的唯一的較小的一組裝置秘鑰。在授權(quán)的客戶端利用其裝置密鑰之一應(yīng)用加密函數(shù)時,生成新的密鑰。這個新的密鑰適用于后續(xù)列中的單元。重復(fù)這個過程最終產(chǎn)生可用于對受保護內(nèi)容解密的最終解密密鑰。密鑰矩陣方式允許通過修改后續(xù)分發(fā)的受保護內(nèi)容包括的數(shù)據(jù)(下文討論的媒體密鑰塊)來撤消密鑰組合。
[0011]可以應(yīng)用單個預(yù)定的單向函數(shù)生成矩陣中的后續(xù)密鑰。在預(yù)先已知這個函數(shù)的情況下,攻擊者可能能夠通過暴力導(dǎo)出額外的密鑰。具體而言,可以針對所有可能的輸入計算已知單向函數(shù)的結(jié)果。一旦結(jié)果匹配任何已知的加密密鑰,攻擊者就已通過有效地后向遍歷通過密鑰矩陣而導(dǎo)出了其未被授權(quán)擁有的密鑰??梢詫⑦@種暴力計算的結(jié)果并行地與整列的密鑰進行比較。如果攻擊者具有多組破解的最終加密密鑰,那么這種并行性進一步增強。
[0012]一旦已經(jīng)破解了任一列,攻擊者就可以繼續(xù)攻擊指向其的列,以此類推,向后通過加密密鑰束中的所有列。于是,攻擊者將擁有攻擊者原來沒有的密鑰組,從而能夠?qū)?nèi)容進行未授權(quán)的解密或假冒其他解密裝置。
[0013]為了使這種攻擊的風(fēng)險最小化,可以選擇單向函數(shù),以使得暴力攻擊不可行。具體而言,可以選擇通過暴力破解需要幾乎不可能的時間量的函數(shù)。例如,一般認(rèn)為使用AES-128 的單向函數(shù)當(dāng)前是不能被破解的。不過,攻擊者可以訪問越來越大的包括多個計算機的云(或僵尸網(wǎng)絡(luò)),這些計算機的平均個體計算能力每18個月會加倍。隨著計算能力的不斷增大,攻擊者通過暴力每年能夠多破解大約一個比特的加密強度。此外,存在能夠使破解效率發(fā)生數(shù)量級的飛躍的偶爾出現(xiàn)的技術(shù)(硬件或算法)發(fā)展(例如,彩虹表、CPU對AES的支持、多核并行性、GHJ中的高度并行性、FPGA、量子計算)。有了這些正在發(fā)生的進展,當(dāng)前實際不能破解的單向函數(shù)可能在不久的將來就會被破解。
[0014]為了解決廣播加密中的暴力攻擊風(fēng)險,本公開提供了適用于矩陣中的各個密鑰的加密函數(shù)的變體。當(dāng)加密函數(shù)在系統(tǒng)之內(nèi)變化時,不能發(fā)起有效的暴力攻擊。即使有可能暴力破解單個已知函數(shù)時,也不可能在適用的加密函數(shù)未知的情況下進行暴力攻擊。此外,通過允許加密函數(shù)變化,可以減小密鑰長度,同時維持同樣有效的加密強度。
[0015]參考圖1,提供了一種廣播加密方案的示意圖。通常,加密內(nèi)容101是利用媒體密鑰102加密的。媒體密鑰(Km)102是由授權(quán)的內(nèi)容消費者通過利用一組裝置密鑰(Kd)103處理媒體密鑰塊(MKB)104確定的。媒體密鑰102是加密內(nèi)容特有的,裝置密鑰103包括在授權(quán)的內(nèi)容消費者(如數(shù)字媒體播放器)中,媒體密鑰塊104包括在加密內(nèi)容中,例如在諸如DVD的光學(xué)介質(zhì)的引導(dǎo)區(qū)中。
[0016]在這樣的廣播加密方案中,密鑰生成設(shè)施(KGF)負(fù)責(zé)生成多個加密密鑰,包括媒體密鑰102和裝置密鑰103。密鑰生成設(shè)施還負(fù)責(zé)生成媒體密鑰塊104,授權(quán)的內(nèi)容消費者可以從媒體密鑰塊104導(dǎo)出給定的媒體密鑰102。
[0017]加密內(nèi)容是在分發(fā)之前利用唯一的媒體密鑰102加密的,分發(fā)可以通過網(wǎng)絡(luò)或在諸如DVD的光學(xué)介質(zhì)上。結(jié)合加密內(nèi)容,提供適當(dāng)?shù)拿襟w密鑰塊102。在一些實施例中,媒體密鑰塊104位于具有加密內(nèi)容101的光學(xué)介質(zhì)上。在其他實施例中,在分發(fā)加密內(nèi)容之前、之后或期間,通過網(wǎng)絡(luò)分發(fā)媒體密鑰塊104。在一些實施例中,加密內(nèi)容和媒體密鑰塊104是通過不同機制分發(fā)的,而在一些實施例中,它們是通過相同機制分發(fā)的。
[0018]為加密內(nèi)容的授權(quán)的消費者(如媒體播放器)提供裝置密鑰(Kd)束103。通過利用其裝置密鑰103處理105媒體密鑰塊(MKB) 104,授權(quán)的播放器能夠確定媒體密鑰(Km) 102。然后使用媒體密鑰(Km)102對加密內(nèi)容101解密。本領(lǐng)域的技術(shù)人員會知道已知有幾種方法用于處理媒體密鑰塊104以獲得媒體密鑰102,諸如在CPRM/CPPM中實踐的那些方法。
[0019]密鑰生成設(shè)施為不同的授權(quán)的內(nèi)容消費者或消費者群組供應(yīng)不同的裝置密鑰束。媒體密鑰塊是由密鑰生成設(shè)施生成的,使得僅有授權(quán)的裝置密鑰能夠從媒體密鑰塊確定給定媒體密鑰。如果給定的消費者或媒體播放器不再被授權(quán)消費加密內(nèi)容,那么由密鑰生成設(shè)施生成的后續(xù)媒體密鑰塊將不會使這種被撤消的播放器能夠獲得媒體密鑰。這樣,撤消的消費者將不能對其被撤消之后提供的內(nèi)容解密。
[0020]圖2示出了根據(jù)本公開實施例的示范性裝置密鑰束。裝置密鑰束200包括多個條目(圖示為行),每個條目包括列標(biāo)識符201、行標(biāo)識符202和密鑰203。在一些實施例中,密鑰203是128位(16字節(jié))AES密鑰,函數(shù)標(biāo)識符204被省略,適用的函數(shù)是授權(quán)的內(nèi)容消費者事先知道的。在一些實施例中,使用替代的分組密碼(block cipher)??梢允褂酶鞣N密碼和對應(yīng)的密鑰長度,包括(但不限于)AES、Blowfish、C2分組密碼、Camellia、CAST-128、CAST-256、CLEFIA、Cryptomeria、DES、FEAL、G0ST 28147_89、ICE、IDEA、KASUM1、L0KI97、Lucifer、MacGuffin、MAGENTA、MARS、MISTY1、RC2、RC5、RC6、Skipjack、SMS4、TEA、Triple DES、Twofish和XTEA0
[0021]在一些實施例中,每個條目都包括函數(shù)標(biāo)識符204。函數(shù)標(biāo)識符204指出哪種密碼函數(shù)適用