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