国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      無狀態(tài)接收機的廣播加密和密鑰撤銷方法

      文檔序號:7723005閱讀:199來源:國知局
      專利名稱:無狀態(tài)接收機的廣播加密和密鑰撤銷方法
      技術領域
      本發(fā)明一般涉及使用加密密鑰的廣播數據加密。
      背景技術
      美國專利號6,118,873公開了一種用于對廣播音樂、視頻及其他內容進行加密的系統(tǒng)。正如其中所述,只有授權的播放-記錄設備才能播放和/或拷貝該內容,并且只能遵循內容提供商所建立的規(guī)則。這樣,才能防止內容的盜版拷貝,而盜版拷貝通常每年都要耗費內容提供商數十億美元的資金。
      在上面提及的專利所公開的加密方法中,從設備密鑰矩陣中為授權播放-記錄設備發(fā)放軟件實現的設備密鑰。各密鑰可彼此同時發(fā)放或隨時發(fā)放,但在任何情況下,播放-記錄設備在矩陣的每列中都不應該有一個以上的設備密鑰。盡管兩個設備可以共用同一列中的相同密鑰,然而當密鑰被隨機分配時,任意兩個設備恰好共用矩陣所有列中的同一集合密鑰的可能性非常小。這些密鑰通常用來將內容解密。
      如果故意或因失誤而使設備(及其密鑰)泄密,則有必要撤銷該設備的密鑰。撤銷一個密鑰集合可有效地致使泄密設備(及其任何克隆)無法播放撤銷以后所產生的內容。在以上所公開的專利中,每一撤銷都需要約320個消息字節(jié)。盡管這種撤銷是有效的,但出于效率的考慮,還是希望更進一步減小撤銷消息的長度。
      盡管上述引用專利中所公開的系統(tǒng)是有效的,但由于消息報頭區(qū)(在該專利中稱為“媒體密鑰塊”)的長度限制,在系統(tǒng)的使用期內只能做出相對有限個(比如DVD-音頻,3M報頭可有10,000個)撤銷。這一數字可隨報頭大小的增加而增加,但增加的撤銷只能應用于新建設備,而不能應用于報頭長度增加前的已有設備。希望能執(zhí)行“新”、“老”設備的大量撤銷,即解決無狀態(tài)接收機問題。同樣,由于在上述引用專利發(fā)明中一個以上的設備可與泄密設備共用任意特定的密鑰,因此,撤銷一個設備密鑰集合可能導致撤銷無辜設備所擁有的某些密鑰。希望進一步減小意外撤銷“善良”設備的可能性,最好減小到零。
      此外,本發(fā)明還可用于解決“無狀態(tài)”(stateless)接收機(即,在廣播之間未必更新其加密狀態(tài)以接受針對泄密設備的對策的接收機)的難題。例如,一臺預訂付費頻道的電視機可能使其機頂盒切斷一段時間,而在所述時間內在系統(tǒng)上廣播了更新的加密數據。這種設備如果在被重新接通后碰巧無法進行自身更新,則將變成為是“無狀態(tài)”的,從而不具備將來進行內容解密所必需的更新。
      另外,保護諸如CD和DVD的媒體的內容的需求越來越迫切,因為這種媒體內容被出售給公眾后希望防止其非法拷貝。這類系統(tǒng)中的記錄設備通常不與播放機交互,并且沒有播放機能得到每一條可能的加密數據更新,這是因為,沒有播放機能得到每一出售盤片。因此,正如這里所述,所出售媒體的內容保護是對無狀態(tài)接收機的廣播加密問題的一個例子。
      再者,很多“惡意”制造商(即那些合法或非法得到密鑰但總是制造許多具有這些密鑰的非法設備的制造商)的存在也可能帶來問題。因此,希望能解決潛在的許多“惡意”制造商的問題。
      廣播加密的其他方法包括“Fiat et al.,‘BroadcastEncryption’,Crypto’93,LNCS vol.839,pp.257-270(1994)”中所公開的方法。該方法設想只要某些接收機中至多有“t”個相互勾結,就將清除所有這些接收機。然而,Fiat等人的方法需要相對較長的消息長度,相對較多的密鑰存儲在接收機中,并且每個接收機都必須執(zhí)行一個以上的解密操作。再者,Fiat等人的方法并未設想無狀態(tài)接收機情況。應當避免假定有多少個接收機可能勾結的推測。另外,為了優(yōu)化性能,必須最大限度地減小消息長度和所存儲的密鑰數,并最大限度地減少接收機所必須執(zhí)行的解密操作次數。
      與Fiat等人的系統(tǒng)一樣,其他加密系統(tǒng)也沒有提供無狀態(tài)接收機的情況,因此無法有效地應用于所記錄媒體的內容保護。這類系統(tǒng)的例子包括樹形邏輯密鑰分層系統(tǒng),如“Wallner et al.,‘KeyManagement for MulticastIssues and Architectures’,IETF draftwallner-key,1997”、“Wong et al,‘Secure GroupCommunication Using Key Graphs’,SIGCOMM 1998”、“Canetti et al.,‘Multicast SecurityA Taxonomy and SomeEfficient Constructions’,Proc.of INFOCOM’99,vol.2,pp.708-716(1999)”、“Canetti et al.,‘Efficient Communication-StorageTradeoffs for Multicast Encryption’,Eurocrypt 1999,pp.459-474”和“McGrew et al.,‘Key Establishment in Large DynamicGroups Using One-Way Function Trees’,submitted to IEEETransactions on Software Engineering(1998)”中所公開。
      為了更明確地說明Wallner等人和Wong等人的方法,通過向二叉樹中的每個節(jié)點分配獨立標記的方法來分配密鑰。不幸的是,在這些所引用方法中,每次撤銷時都有一些標記發(fā)生變化。顯然,這樣的話,這種方法將不適合于無狀態(tài)接收機情況。即使對于與每個節(jié)點的單個標記變化相關聯的一批撤銷,所引用的Wallner等人和Wong等人的方法都需要在接收機中進行至少logN個解密以及rlogN個加密的傳輸(其中,r是所要撤銷的設備數,而N是系統(tǒng)中的接收機總數),不幸的是,這是一個相對較大的數。

      發(fā)明內容
      為此,本發(fā)明提供了一種用于廣播加密的方法,包括為一組用戶中的每個用戶分配相應的個人信息Iu;選擇至少一個會話加密密鑰K;將不在撤銷集合R中的用戶劃分成具有相關聯的子集密鑰Li1,…Lim的分離子集Si1,…Sim;和用子集密鑰Li1,…Lim將會話密鑰K加密以提供會話密鑰K的m種加密形式。
      該方法最好還包括將用戶劃分成一些組S1,…Sw,其中“ w”是整數,而這些組在某一樹中建立一些子樹。
      這種樹最好是全二叉樹(complete binary tree)。
      該方法最好還包括利用個人信息Iu將會話密鑰解密。
      解密動作最好包括利用信息ij以使用戶屬于子集Sij,和利用用戶的個人信息來檢索子集密鑰Lij。
      每個子集Si1,…Sim最好都包括在以某個節(jié)點vi為根的子樹中的所有葉,子樹中的至少每個節(jié)點都與相應的子集密鑰相關聯。
      最好在至少一個定義了報頭的消息中為用戶提供內容,并且該報頭包括至多r*log(N/r)個子集密鑰和加密,其中,r是撤銷集合R中的用戶數,而N是用戶總數。
      每個用戶最好都必須存儲logN個密鑰,其中,N是用戶總數。
      最好在至少一個消息中為用戶提供內容,并且其中每個用戶都利用至多l(xiāng)oglogN個運算加上單個解密運算來處理該消息,其中,N是用戶總數。
      撤銷集合R最好定義一個生成樹(spanning tree),并且具有與生成樹的節(jié)點連接的根的子樹定義這些子集。
      該樹最好包括一個根和多個節(jié)點,每個節(jié)點都具有至少一個相關聯的標記,并且其中每個子集都包括在以某個節(jié)點vi為根的子樹中但不在以vi之下的其他某個節(jié)點vj為根的子樹中的所有葉。
      最好在至少一個定義了報頭的消息中為用戶提供內容,并且該報頭包括至多2r-1個子集密鑰和加密,其中,r是撤銷集合R中的用戶數。
      每個用戶最好都必須存儲.5log2N+.5logN+1個密鑰,其中,N是用戶總數。
      最好在至少一個消息中為用戶提供內容,并且其中每個用戶都利用至多l(xiāng)ogN個運算加上單個解密運算來處理該消息,其中,N是用戶總數。
      撤銷集合R最好定義一個生成樹,并且該方法包括將覆蓋樹T初始化為生成樹;反復地從覆蓋樹T中去除節(jié)點和在覆蓋中增加節(jié)點直到覆蓋樹T中具有至多一個節(jié)點。
      每個節(jié)點最好都具有至少一個可能由其祖先節(jié)點的至少之一所引出的標記,并且其中每個用戶都被分配以一些標記,這些標記來自于該用戶與根之間的直達通路之外的所有節(jié)點而不是來自于該直達通路上的節(jié)點。
      最好利用偽隨機序列發(fā)生器將標記分配給子集,并且解密動作包括估算偽隨機序列發(fā)生器。
      最好在至少一個具有含密碼函數EL的報頭的消息中為用戶提供內容,并且該方法包括對密碼函數EL進行截頭(prefix-truncating)。
      該樹最好包括一個根和多個節(jié)點,每個節(jié)點都具有相關聯的密鑰,并且其中每個用戶都被分配以一些密鑰,這些密鑰來自于代表該用戶的葉與根之間的直達通路上的所有節(jié)點。
      最好在至少一個定義了多個部分的消息中為用戶提供內容,并且每個部分都用相應的會話密鑰加密。
      本發(fā)明很好地提供了一種計算機程序設備,包括含有計算機可用的指令的程序的計算機程序存儲設備,包括用于訪問樹以識別多個子集密鑰的邏輯裝置;用會話密鑰將消息加密的邏輯裝置;至少一次用子集密鑰中的每一個密鑰將會話密鑰加密以提供會話密鑰的加密形式的邏輯裝置;和在消息的報頭中將會話密鑰的加密形式發(fā)送到多個無狀態(tài)接收機的邏輯裝置。
      計算機程序設備最好還包括將不在撤銷集合R中的接收機劃分成具有相應子集密鑰Li1,…Lim的分離子集Si1,…Sim的邏輯裝置。
      計算機程序設備最好還包括將用戶劃分成一些組S1,…Sw的邏輯裝置,其中“w”是整數,而這些組在某一樹中建立一些子樹。
      計算機程序設備最好還包括利用個人信息Iu將會話密鑰解密的邏輯裝置。
      解密裝置最好包括利用信息ij以使接收機屬于子集Sij并從接收機的個人信息中檢索密鑰Lij的邏輯裝置。
      每個子集Si1,…Sim最好都包括在以某個節(jié)點vi為根的子樹中的所有葉,子樹中的至少每個節(jié)點都與相應的子集密鑰相關聯。
      邏輯裝置最好在至少一個定義了報頭的消息中為接收機提供內容,并且該報頭包括至多r*log(N/r)個子集密鑰和加密,其中,r是撤銷集合R中的接收機數,而N是接收機總數。
      每個接收機最好都必須存儲logN個密鑰,其中,N是接收機總數。
      邏輯裝置最好在至少一個消息中為接收機提供內容,并且其中每個接收機都利用至多l(xiāng)oglogN個運算加上單個解密運算來處理該消息,其中,N是接收機總數。
      撤銷集合R最好定義一種生成樹,并且具有與生成樹的節(jié)點連接的根的子樹定義這些子集。
      該樹最好包括一個根和多個節(jié)點,每個節(jié)點都具有至少一個相應的標記,并且其中每個子集都包括在以某個節(jié)點vi為根的子樹中但不在以vi之下的其他某個節(jié)點vj為根的子樹中的所有葉。
      裝置最好在至少一個定義了報頭的消息中為接收機提供內容,并且該報頭包括至多2r-1個子集密鑰和加密,其中,r是撤銷集合R中的接收機數。
      每個接收機最好都必須存儲.5log2N+.5logN+1個密鑰,其中,N是接收機總數。
      邏輯裝置最好在至少一個消息中為接收機提供內容,并且其中每個接收機都利用至多l(xiāng)ogN個運算加上單個解密運算來處理該消息,其中,N是接收機總數。
      撤銷集合R最好定義一個生成樹,并且該計算機程序設備包括將覆蓋樹T初始化為生成樹的邏輯裝置;和反復地從覆蓋樹T中去除節(jié)點和在覆蓋中增加節(jié)點直到覆蓋樹T中具有至多一個節(jié)點的邏輯裝置。
      邏輯裝置最好利用偽隨機序列發(fā)生器將標記分配給接收機,并且標記含有子集密鑰。
      解密裝置最好包括估算偽隨機序列發(fā)生器。
      邏輯裝置最好在至少一個具有含密碼函數EL的報頭的消息中為接收機提供內容,并且該計算機程序設備包括對密碼函數EL進行截頭的邏輯裝置。
      該樹最好包括一個根和多個節(jié)點,每個節(jié)點都具有相應的密鑰,并且其中邏輯裝置為每個接收機都分配一些密鑰,這些密鑰來自于代表該接收機的葉與根之間的直達通路上的所有節(jié)點。
      邏輯裝置最好在至少一個定義了多個部分的消息中為接收機提供內容,并且每個部分都用各自的會話密鑰加密。
      本發(fā)明很好地提供了一種用指令編程的計算機,使得計算機可以執(zhí)行方法的動作,這些動作包括加密廣播內容;和將廣播內容發(fā)送到多個無狀態(tài)的善良接收機和發(fā)送到至少一個撤銷接收機,這樣,每個無狀態(tài)的善良接收機都能將內容解密而撤消接收機無法將內容解密。
      方法動作最好還包括為一組接收機中的每個接收機分配相應的個人信息Iu;選擇至少一個會話加密密鑰K;將不在撤銷集合R中的接收機劃分成具有相關聯的子集密鑰Li1,…Lim的分離子集Si1,…Sim;和用子集密鑰Li1,…Lim將會話密鑰K加密以提供會話密鑰K的m種加密形式。
      該計算機所采取的方法動作最好還包括將用戶劃分成一些組S1,…Sw,其中“w”是整數,而這些組在某一樹中建立一些子樹。
      這種樹最好是全二叉樹。
      方法動作最好包括利用個人信息Iu將會話密鑰解密。
      該計算機所采取的解密動作最好包括利用信息ij以使接收機屬于子集Sij,和利用接收機的個人信息來檢索密鑰Lij。
      每個子集Si1,…Sim最好都包括在以某個節(jié)點vi為根的子樹中的所有葉,子樹中的至少每個節(jié)點都與相應的子集密鑰相關聯。
      最好在至少一個定義了報頭的消息中為接收機提供內容,并且該報頭包括至多r*log(N/r)個子集密鑰和加密,其中,r是撤銷集合R中的接收機數,而N是接收機總數。
      每個接收機最好都必須存儲logN個密鑰,其中,N是接收機總數。
      最好在至少一個消息中為接收機提供內容,并且其中每個接收機都利用至多l(xiāng)oglogN個運算加上單個解密運算來處理該消息,其中,N是接收機總數。
      撤銷集合R最好定義一種生成樹,并且具有與生成樹的節(jié)點連接的根的子樹定義這些子集。
      該樹最好包括一個根和多個節(jié)點,每個節(jié)點都具有至少一個相應的標記,并且其中每個子集都包括在以某個節(jié)點vi為根的子樹中但不在以vi之下的其他某個節(jié)點vj為根的子樹中的所有葉。
      最好在至少一個定義了報頭的消息中為接收機提供內容,并且該報頭包括至多2r-1個子集密鑰和加密,其中,r是撤銷集合R中的接收機數。
      每個接收機最好都必須存儲.5log2N+.5logN+1個密鑰,其中,N是接收機總數。
      最好在至少一個消息中為接收機提供內容,并且其中每個接收機都利用至多l(xiāng)ogN個運算加上單個解密運算來處理該消息,其中,N是接收機總數。
      撤銷集合R最好定義一種生成樹,并且其中計算機采取的方法動作還包括將覆蓋樹T初始化為生成樹;迭代地從覆蓋樹T中去除節(jié)點和在覆蓋中增加節(jié)點直到覆蓋樹T中具有至多一個節(jié)點。
      該計算機最好利用偽隨機序列發(fā)生器將節(jié)點標記分配給樹中的接收機。
      計算機采取的解密動作最好包括估算偽隨機序列發(fā)生器。
      最好在至少一個具有含密碼函數EL的報頭的消息中為接收機提供內容,并且計算機采取的方法動作包括對密碼函數EL進行截頭。
      最好在至少一個定義了多個部分的消息中為接收機提供內容,并且每個部分都由該計算機用各自的會話密鑰加密。
      每個節(jié)點最好都具有多個標記,其節(jié)點的各自祖先引出各自標記,并且其中每個用戶都被分配以一些標記,這些標記來自于該用戶與根之間的直達通路之外的所有節(jié)點而不是來自于該直達通路上的節(jié)點。
      本發(fā)明很好地提供了一種用于廣播加密的方法,包括為一組用戶中的每個用戶分配相應的個人信息Iu;選擇至少一個會話加密密鑰K;將所有用戶劃分成一些組S1,…Sw,其中“w”是整數,而這些組在某一樹中建立一些子樹;將不在撤銷集合R中的用戶劃分成具有相應子集密鑰Li1,…Lim的分離子集Si1,…Sim;和用子集密鑰Li1,…Lim將會話密鑰K加密以提供會話密鑰K的m種加密形式,其中該樹包括一個根和多個節(jié)點,每個節(jié)點都具有至少一個相應的標記,并且其中每個子集都包括在以某個節(jié)點vi為根的子樹中但不在以vi之下的其他某個節(jié)點vj為根的子樹中的所有葉。
      本發(fā)明最好包括多點廣播系統(tǒng)中的一種潛在無狀態(tài)接收機,包括至少一個數據存儲設備,用于存儲不在該接收機與具有代表該接收機的葉的樹的根之間的直達通路上而在該直達通路之外的并由某個節(jié)點vi(代表接收機的葉的祖先)所引出的節(jié)點的多個標記,其中,這些標記建立該接收機可用的接收機的個人信息Iu,以便對從這些標記得出的子集密鑰進行解密。
      該接收機最好通過估算偽隨機函數來計算除了以節(jié)點vi為根的直達通路集合之外的所有集合的子集密鑰,但不能計算其他子集密鑰。
      該接收機最好利用至少一個子集密鑰將會話密鑰解密,該會話密鑰可用于將內容解密。
      本發(fā)明最好包括一種內容接收機,包括存儲相應的個人信息Iu的裝置;接收至少一個用多個子集密鑰加密的會話加密密鑰K的裝置,該會話密鑰將內容加密;和利用個人信息得到至少一個子集密鑰,使得可將會話密鑰K解密以便播放內容的裝置。
      該接收機最好被劃分為組S1,…Sw的集合之一,其中“w”是整數,而這些組在某一定義了節(jié)點和葉的樹中建立一些子樹。
      從組S1,…Sw的集合中得到的子集Si1,…Sim最好定義一個覆蓋。
      該接收機最好在至少一個定義了報頭的消息中接收內容,并且該報頭包括至多r*log(N/r)個子集密鑰和加密,其中,r是撤銷集合R中的接收機數,而N是接收機總數。
      該接收機最好必須存儲logN個密鑰,其中,N是接收機總數。
      該接收機最好在至少一個定義了報頭的消息中接收內容,并且其中接收機利用至多l(xiāng)oglogN個運算加上單個解密運算來處理該消息,其中,N是接收機總數。
      撤銷集合R最好定義一個生成樹,并且具有與生成樹的節(jié)點連接的根的子樹定義這些子集。
      該樹最好包括一個根和多個節(jié)點,每個節(jié)點都具有至少一個相應的標記,并且其中每個子集都包括在以某個節(jié)點vi為根的子樹中但不在以vi之下的其他某個節(jié)點vj為根的子樹中的所有葉。
      該接收機最好在一個具有報頭的消息中接收內容,該報頭包括至多2r-1個子集密鑰和加密,其中,r是撤銷集合R中的接收機數。
      該接收機最好必須存儲.5log2N+.5logN+1個密鑰,其中,N是接收機總數。
      最好在至少一個消息中為該接收機提供內容,并且其中接收機利用至多l(xiāng)ogN個運算加上單個解密運算來處理該消息,其中,N是接收機總數。
      該接收機最好通過估算偽隨機序列發(fā)生器將子集密鑰解密。
      本發(fā)明最好包括一種內容接收機,包括存儲相應的個人密鑰Iu的數據存儲器;接收至少一個用多個子集密鑰加密的會話加密密鑰K的處理設備,該會話密鑰將內容加密,該處理設備利用個人信息得到至少一個子集密鑰,使得可將會話密鑰K解密以便播放內容。
      該接收機最好被劃分為組S1,…Sw的集合之一,其中“w”是整數,而這些組在某一樹中建立一些子樹。
      從組S1,…Sw的集合中得到的子集Si1,…Sim最好定義一個覆蓋。
      該接收機最好在至少一個定義了報頭的消息中接收內容,并且該報頭包括至多r*log(N/r)個子集密鑰和加密,其中,r是撤銷集合R中的接收機數,而N是接收機總數。
      該接收機最好必須存儲logN個密鑰,其中,N是接收機總數。
      該接收機最好在至少一個定義了報頭的消息中接收內容,并且其中接收機利用至多l(xiāng)oglogN個運算加上單個解密運算來處理該消息,其中,N是接收機總數。
      一個撤銷集合R最好定義一種生成樹,并且具有與生成樹的節(jié)點連接的根的子樹定義這些子集。
      該樹最好包括一個根和多個節(jié)點,每個節(jié)點都具有至少一個相應的標記,并且其中每個子集都包括在以某個節(jié)點vi為根的子樹中但不在以vi之下的其他某個節(jié)點vj為根的子樹中的所有葉。
      該接收機最好在一個具有報頭的消息中接收內容,該報頭包括至多2r-1個子集密鑰和加密,其中,r是撤銷集合R中的接收機數。
      該接收機最好必須存儲.5log2N+.5logN+1個密鑰,其中,N是接收機總數。
      最好在至少一個消息中為該接收機提供內容,并且其中接收機利用至多l(xiāng)ogN個運算加上單個解密運算來處理該消息,其中,N是接收機總數。
      該接收機最好通過估算偽隨機序列發(fā)生器將子集密鑰解密。
      本發(fā)明最好包括一種可以保持內容消息的媒體,消息的一般格式為&lt;[i1,i2,…,im,ELi1(K),ELi2(K),…,ELim(K)],FK(M)&gt;,其中,K是會話密鑰,FK是加密原函數(encryption primitive),EK是加密原函數,Li是與加密廣播系統(tǒng)中接收機的子集相關聯的子集密鑰,M是消息主體,而i1,i2,…,im是定義了一種覆蓋的樹節(jié)點子集。
      加密原函數FK最好通過將消息主體M與由會話密鑰K所產生的流密碼進行“異”運算來實現。
      EL最好是塊密碼的截頭特性,1表示其長度等于EL的塊長度的隨機串,而K是用于FK的短密鑰,于是消息的格式為&lt;[i1,i2,…,im,U,[Prefix-K-ELi1(U)]/K,…,[Prefix-K-ELim(U)]/K],FK(M)&gt;。
      最好加密1/ij,于是消息的格式為&lt;[i1,i2,…,im,U,[Prefix-L-ELi1(U/i1)]/K,…,[Prefix-L-ELim(U/im)]/K],FK(M)&gt;。
      最好從含有一個根和多個節(jié)點的樹中得到子集密鑰,每個節(jié)點都具有至少一個相關聯的標記,并且其中每個子集都包括在以某個節(jié)點vi為根的子樹中但不在以vi之下的其他某個節(jié)點vj為根的子樹中的所有葉。
      最好從含有一個根和多個節(jié)點的樹中得到子集密鑰,每個節(jié)點都具有至少一個相關聯的標記,并且其中每個子集都包括在以某個節(jié)點vi為根的子樹中的所有葉,該子樹中的至少每個節(jié)點都與相應的子集密鑰相關聯。
      劃分動作最好由接收機的系統(tǒng)中的系統(tǒng)計算機來承擔,接收機與系統(tǒng)計算機是分離的。
      劃分動作最好由接收機計算機來承擔。
      接收機最好取自覆蓋中的子集。
      本發(fā)明最好包括一種計算機系統(tǒng),用于承擔這里所述的本發(fā)明的邏輯。本發(fā)明還可以在一種計算機程序產品中實施,這種計算機程序產品可存儲本邏輯,并可以被處理器所存取以執(zhí)行該邏輯。此外,本發(fā)明最好還可以包括一種計算機實現的方法,該方法遵循以下所公開的邏輯。
      本發(fā)明最好包括一種將用戶分類成用戶子集(可能有重疊)的方法,每個子集都具有一個獨特的最好是長期使用的子集密鑰,并為每個用戶分配各自的個人信息Iu。這種方法最好還包括選擇至少一個最好是短期使用的會話加密密鑰K,并將不在撤銷集合R中的用戶劃分成具有相應子集密鑰Li1,…Lim的分離子集Si1,…Sim。會話密鑰K最好用子集密鑰Li1,…Lim來加密以提供會話密鑰K的m種加密形式。一方面,用戶可以在諸如全二叉樹的樹中建立一些葉,并且該樹包含這些子集Si1,…Sim。
      在一種優(yōu)選實施方式中,用戶首先被劃分為一些組S1,…Sw,其中“w”是整數。某一給定的傳輸最好選擇m個這種組作為非撤銷用戶的“覆蓋”,這種覆蓋由撤銷用戶的集合來定義?!案采w”組最好在某一樹中建立一些子樹(可以是完整的子樹或者是兩個子樹之間的差)。用戶的個人信息Iu最好被認為是所傳送消息中的信息ij,該信息ij表示某個用戶屬于組S1,…Sw之一中的某個子集Sij。然后,利用該用戶的個人信息可以得到或得出子集密鑰Lij。
      在第一實施方式中,這里稱為“完整子樹”方法,各個組與完整樹中的所有可能的子樹相應。每個用戶都被分配以一些密鑰,這些密鑰來自于代表該用戶的葉與該樹的根之間的直達通路上的所有節(jié)點。換言之,每個子集Si都包括在以某個節(jié)點vi為根的子樹中的所有葉,子樹中的至少每個節(jié)點都與各自的子集密鑰相關聯。在這一實施方式中,在一個定義了報頭的消息中為用戶提供內容,并且該報頭包括至多r*log(N/r)個子集密鑰和加密,其中,r是撤銷集合R中的用戶數,而N是用戶總數。此外,每個用戶都必須存儲logN個密鑰,并且每個用戶都利用至多l(xiāng)oglogN個運算加上單個解密運算來處理該消息。
      在第二實施方式中,這里稱為“子集差”方法,各個用戶組與集合S1,…Sw的域(universe)相應,這可被描述為“第一子樹A減去完全包含在A中的第二子樹B”。這一樹中的每個節(jié)點都有一個標記集合,對該節(jié)點唯一的一個節(jié)點以及祖先節(jié)點所引出的其他節(jié)點。每個用戶都被分配以一些標記,這些標記來自于接收機與根之間的直達通路上的節(jié)點之外的所有節(jié)點(每個這種節(jié)點至多得到logN個標記),而不是來自于直達通路本身的節(jié)點。換言之,每個子集都包括在以某個節(jié)點vi為根的子樹中但不在以vi之下的其他某個節(jié)點vj為根的子樹中的所有葉。一個特定用戶的子集差節(jié)點的標記之一可以在傳輸中提供給該用戶,作為該用戶的個人信息。利用這些標記,用戶可以產生解密所需的子集密鑰。
      在這一實施方式中,消息報頭包括至多2r-1(平均1.25r)個子集密鑰和加密,每個用戶都必須存儲.5log2N+.5logN+1個密鑰,并且每個用戶都利用至多l(xiāng)ogN個運算(最好是偽隨機發(fā)生器的應用)加上單個解密運算來處理該消息。
      如下關于子集差方法的進一步所公開,撤銷集合R定義一個生成樹。將覆蓋樹T初始化為生成樹,然后,該方法迭代地從覆蓋樹T中去除節(jié)點和在覆蓋樹T中增加子樹直到覆蓋樹T中具有至多一個節(jié)點。覆蓋樹T用來識別在特定傳輸中所要使用的子集密鑰,用戶估算偽隨機序列發(fā)生器以便從這些標記中得到子集密鑰。為了有效處理撤銷,最好從左至右進行處理,這樣,每次在存儲器中只須保持兩個撤消。
      在某些具體的實施方式中,消息報頭包含密碼函數EL,并且該方法包括對密碼前綴函數EL進行截頭。需要的話,消息的一些部分可以用各自的會話密鑰進行加密。
      另一方面,計算機程序設備最好包括本身含有計算機可用的指令的程序的計算機程序存儲設備。該程序包括用于訪問樹以得到多個子集密鑰的邏輯裝置,和用會話密鑰將消息加密的邏輯裝置。還可以提供一些至少一次用子集密鑰中的每一個密鑰將會話密鑰加密的邏輯裝置,以提供會話密鑰的加密形式。然后,邏輯裝置在消息的報頭中將會話密鑰的加密形式發(fā)送到多個無狀態(tài)接收機。
      另一方面,計算機最好用指令來編程,使得計算機可以加密廣播內容,并將廣播內容發(fā)送到多個無狀態(tài)的善良接收機和發(fā)送到至少一個撤銷接收機,這樣,每個無狀態(tài)的善良接收機都能將內容解密而撤消接收機無法將內容解密。
      另一方面,廣播加密系統(tǒng)中的潛在無狀態(tài)接收機u最好包括一個存儲各自個人信息Iu的數據存儲器,和一個接收用多個子集密鑰加密的會話加密密鑰K的處理設備。會話密鑰將內容加密,處理設備利用個人信息得到至少一個子集密鑰,這樣,可以將會話密鑰K解密以便播放內容。在一種優(yōu)選實施方式中,接收機被劃分為組S1,…Sw的集合之一,其中“w”是整數,而這些組在某一樹中建立一些子樹。從組S1,…Sw的集合得到的子集Si1,…Sim定義一種覆蓋,這種覆蓋可由接收機或者由系統(tǒng)計算機計算出。該樹最好包括一個根和多個節(jié)點,每個節(jié)點都具有至少一個相應的標記。每個子集都包括在以某個節(jié)點vi為根的子樹中但不在以vi之下的其他某個節(jié)點vj為根的子樹中的所有葉。
      另一方面,媒體最好保持一種內容消息,消息的一般格式為&lt;[i1,i2,…,im,ELi1(K),ELi2(K),…,ELim(K)],FK(M)&gt;,其中,K是會話密鑰,FK是加密原函數,EK是加密原函數,Li是與加密廣播系統(tǒng)中接收機的子集相關聯的子集密鑰,M是消息主體,而i1,i2,…,im是定義了一種覆蓋的樹節(jié)點子集。


      下面,將參照附圖只通過舉例來描述本發(fā)明的一些優(yōu)選實施方式,其中圖1是本系統(tǒng)的框圖;圖2是總加密邏輯的流程圖;圖3是總解密邏輯的流程圖;圖4是完整子樹方法的密鑰分配部分的流程圖;圖5是完整子樹方法的加密部分的流程圖;圖6是完整子樹方法的解密部分的流程圖;圖7是完整子樹的子集的示圖;
      圖8是子集差方法中的子集的示圖;和圖9是子集差方法中的子集的示圖的另一種形式。
      圖10是子集差方法中用于定義覆蓋的邏輯的流程圖;圖11是子集差方法中的樹的子集的示圖,圖中示出了密鑰分配;圖12是子集差方法的解密部分的流程圖;圖13是子集差方法中用于分配密鑰的邏輯的流程圖;和圖14是子集差方法中的樹的子集的示圖。
      具體實施例方式
      首先參照圖1,圖中示出了一種系統(tǒng)(通常用10表示),用于產生廣播內容防護系統(tǒng)中的一些密鑰集合,這種系統(tǒng)比如是上述引用專利中所公開的系統(tǒng)(但并不局限于此)。“廣播”的意思是,將內容提供者的程序同時通過電纜(從衛(wèi)星源)、或有線、或射頻(包括從衛(wèi)星源)或從大量上市的內容盤片廣泛傳播給許多用戶。
      如圖中所示,系統(tǒng)10包括一個可以訪問密鑰集合定義模塊14的密鑰集合定義計算機12,該模塊的作用如以下所述。計算機12所定義的密鑰集合被潛在的無狀態(tài)播放-記錄設備16(這里也稱為“接收機”和“用戶”)所使用,這些播放-記錄設備內含有將內容解密的處理器。內容以及以下所述的某些密鑰經由比如設備制造商16通過媒體17提供給各自的設備。播放-記錄設備可以訪問其密鑰集合以便將媒體上的內容解密或者通過無線通信對其進行廣播。這里所使用的“媒體”可包括DVD、CD、硬盤驅動器和閃存設備(但并不局限于此)。在另一實施方式中,每個接收機16可以執(zhí)行模塊14,以承擔以下步驟通過給出撤銷接收機的集合計算出下述“覆蓋”,并承擔下述邏輯。
      應當理解,與模塊14相應的處理器可以訪問這些模塊,以承擔以下所說明和討論的邏輯,該邏輯可以由處理器將其作為一系列計算機可執(zhí)行指令來執(zhí)行。這里公開了兩種方法(完整子樹方法和子集差方法),它們可以利用系統(tǒng)10有選擇地使有危害的接收機16喪失解密廣播內容的能力,而不會使任何沒有危害的接收機16喪失解密廣播內容的能力。
      指令可以包含在數據存儲設備以及計算機可讀媒體中,比如存儲有計算機可用媒介及計算機可讀代碼單元的計算機磁盤?;蛘?,指令可以存儲在DASD列陣、磁帶、通用硬盤驅動器、電子只讀存儲器、光存儲器件或其他適當的數據存儲器件中。在本發(fā)明的一種說明性的實施方式中,計算機可執(zhí)行指令可以是多行編譯的C++兼容代碼。
      實際上,這里的流程圖說明了正如計算機程序軟件中所實施的本發(fā)明的一種優(yōu)選實施方式的邏輯的結構。熟練技術人員可以明白,這些流程圖說明了包括集成電路上的邏輯電路的計算機程序代碼單元的結構,其作用如本發(fā)明所述。顯然,本發(fā)明可以通過一種機器部件以其基本的實施方式來實現,這種機器部件可以提供程序代碼單元,其提供方式是指令數字處理設備(即計算機)執(zhí)行與所述功能動作相應的功能動作序列。
      子集差方法和完整子樹方法所實施的本發(fā)明的一種優(yōu)選實施方式的總邏輯可以參見圖2。為了便于本公開的說明,假定,在系統(tǒng)10中存在N個接收機16,并且希望即使被撤銷的接收機子集R中的r個接收機(通過共用加密方法)聯合行動,也能使這些撤銷接收機喪失解密內容的能力,從而任何接收機都還能解密內容。從塊19開始,通過向子集S1,…Sw(按以下公開方式將接收機分類成子集)域中的相應子集分配長期使用的子集密鑰L1,…Lw來啟動系統(tǒng),因此每個子集Sj都具有與其相關聯的長期使用的子集密鑰Lj。在第一種(“完整子樹”)方法中,覆蓋了不在撤銷集合中的接收機的子集只是按以下公開方式所產生的子樹。在第二種(“子集差”)方法中,覆蓋了不在撤銷集合中的接收機的子集由第一子樹與完全包含在第一子樹中的較小子樹的差來定義,進一步情況如下所述。
      在塊20中,還可以通過向每個接收機u提供用于解密內容的個人信息Iu來啟動系統(tǒng)。個人信息Iu的詳細情況如以下進一步所述。如果Iu是提供給接收機u的秘密信息,那么Sj中的每個接收機u都可以從其Iu中得出Lj。如下所詳述,給定撤銷集合R,將非撤銷接收機劃分成m個分離子集Si1,…Sim,并用與各自子集Si1,…Sim相關聯的長期使用的子集密鑰Li1,…Lim將短期使用的會話密鑰K加密m次。子集密鑰在完整子樹方法中是明確的子集密鑰,而在子集差方法中則由子集標記引出。
      具體地說,在塊22中,選擇至少一個會話密鑰K,用于將消息M中所廣播(通過無線或有線通信通道或者通過諸如CD和DVD等存儲媒體)的內容加密。會話密鑰K是一種針對每個消息都要重新選擇的隨機比特串。需要的話,可以使用多個會話密鑰來加密消息M的各個部分。
      在下述兩種方法中,在塊24中,利用一種樹將非撤銷接收機劃分成分離子集Si1,…Sim。這些子集在這里有時稱為“子樹”,第一種方法明確地考慮了子樹,而第二種方法則認為子樹具有“第一子樹減去完全包含在第一子樹中的第二子樹”的形式。每個子集Si1,…Sim都與各自的子集密鑰Li1,…Lim相關聯。盡管這里考慮到了任何數據樹形結構,然而,為了便于說明,假定該樹是全二叉樹。
      進至塊26,每次用每個子集密鑰Li1,…Lim,將會話密鑰K加密m次。所得到的廣播密文可按如下方式表示(其中括號之間的部分表示消息M的報頭,而i1,i2,…,im則表示分離子集的指數)&lt;[i1,i2,…,im,ELi1(K),ELi2(K),…,ELim(K)],FK(M)&gt;
      在一種實施方式中,加密原函數FK通過將消息M與會話密鑰K所產生的流密碼進行“異”運算來實現。加密原函數EL是一種利用長期使用的子集密鑰將會話密鑰K傳送給接收機16的方法。應當理解,FK、EL的所有加密算法都在本發(fā)明的優(yōu)選實施方式的范圍內。EL的一種優(yōu)選實施方式可以是塊密碼的截頭特性。假定1表示其長度等于EL的塊長度的隨機串,并假定K是用于密碼FK的其長度例如為56比特的短密鑰。那么,[Prefix-K-EL(l)/K]提供一種強加密。相應地,截頭報頭便成為&lt;[i1,i2,…,im,U,[Prefix-K-ELi1(U)]/K,…,[Prefix-K-ELim(U)]/K],FK(M)&gt;
      這很好地將報頭長度減小到約m-k-比特,而不是m-L-比特。在EL的密鑰長度最小的情況下,可以用如下方式去除對手在強力攻擊時(由于用m個不同的密鑰加密同一個串1所造成)所具有的系數m優(yōu)勢。對串1/ij進行加密。即&lt;[i1,i2,…,im,U,[Prefix-L-ELi1(U/i1)]/K,…,[Prefix-L-ELim(U/im)]/K],FK(M)&gt;
      雖然描述了優(yōu)選實施方式,然而也可以非限定方式來實現加密原函數E和F,下面參照圖3,圖中說明了接收機16所承擔的解密邏輯。從塊28開始,每個非撤消接收機u找出密文中的子集標識符ij,這樣該接收機屬于子集Sij。如下所詳述,如果該接收機在撤銷集合R中,那么,塊28的結果將為空。接著,在塊30中,接收機利用個人信息Iu提取出與子集Sij相應的子集密鑰Lij。利用該子集密鑰,在塊32中確定會話密鑰K,然后在塊34中利用會話密鑰K將消息解密。
      承擔上述總邏輯的兩種優(yōu)選方法如下所述。在每種方法中,指定子集的集合,如將密鑰分配給這些子集以及利用該集合中的分離子集來覆蓋非撤銷接收機那樣。在每種方法中,系統(tǒng)中接收機的集合建立諸如全二叉樹(但并不局限于此)的樹的葉。
      所要討論的第一種方法是圖4-7中所示的完整子樹方法。從圖4中的塊36開始,將獨立且隨機的子集密鑰Li分配給該樹中的每個節(jié)點vi。這一子集密鑰Li與一個含有以節(jié)點vi為根的所有葉的子集相應。然后,在塊38中,為每個接收機u提供從接收機到根的直達通路中的所有子集密鑰。如參照圖7所簡述,為子集節(jié)點Si中的接收機u提供與節(jié)點vi相關聯的子集密鑰Li以及與位于Si中的接收機與樹的根之間的節(jié)點P相關聯的密鑰。
      當需要發(fā)送消息并使某些接收機喪失解密消息的能力時,調用圖5的邏輯將非撤銷接收機劃分成分離子集。從塊40開始,找出撤銷接收機的集合R中的葉所定義的生成樹。生成樹是連接“撤銷”葉的全二叉樹的最小子樹,它可以是一種Steiner樹。進至塊42,識別出具有與樹中的第一級的節(jié)點(即與最小樹直接相鄰的節(jié)點)鄰近的根的子樹。這些子樹定義了“覆蓋”并建立子集Si1,…Sim。該覆蓋包圍了所有非撤銷接收機。相應地,在塊44中,利用該覆蓋所定義的子集密鑰將會話密鑰K加密。
      為了將消息解密,每個接收機都調用圖6中的邏輯。從塊46開始,通過確定任意祖先節(jié)點是否在消息報頭中的集合i1,i2,…,im中來判斷接收機的任意祖先節(jié)點是否與覆蓋的子集密鑰相關聯??捎媒邮諜C的個人信息Iu(在完整子樹方法中,該信息包括接收機在樹中的位置以及與祖先節(jié)點相關聯的子集密鑰)來進行這種確定。如果在消息報頭中找到了一個祖先節(jié)點(表示該接收機是非撤銷接收機),那么,在塊48中利用子集密鑰將會話密鑰K解密,然后,在塊50中利用會話密鑰K將該消息解密。
      在完整子樹方法中,報頭包括至多r*log(N/r)個子集密鑰和加密。這也是密鑰和加密的平均個數。此外,每個接收機都必須存儲logN個密鑰,并且,每個接收機都利用至多l(xiāng)oglogN個運算加上單個解密運算來處理該消息。
      下面參照圖8-13,可以看到用于撤銷接收機的子集差方法。在子集差方法中,與完整子樹方法不同,每個接收機都必須存儲相對更多的密鑰(.5log2N+.5logN+1個密鑰),但消息報頭只包括至多2r-1個子集密鑰和加密(平均1.25r),實際上這要比完整子樹方法中的短。此外,在子集差方法中,利用偽隨機數發(fā)生器的至多l(xiāng)ogN個應用加上單個解密運算來處理該消息。
      參照圖8和9,子集差方法認為子集是較大子集A與完全包含在A中的較小子集B的差。相應地,如圖中所示,較大子樹以節(jié)點vi為根,而較小子樹以vi之下的節(jié)點vj為根。結果子集Si,j包括了vi之下的所有葉“yes”,但vj之下標記為“no”(顏色比標記為“yes”的葉更深)的那些葉除外。圖9說明了這種情況,其中子集vj,j用較大三角形中除較小三角形之外的面積來表示。
      當在子集差方法中需要發(fā)送消息并使某些接收機喪失解密消息的能力時,使用上述結構,如圖10中所示。從塊52開始,找出R(撤銷接收機的集合)中的葉所定義的生成樹。生成樹是連接“撤銷”葉的全二叉樹的最小子樹,它可以是一種Steiner樹。進至塊54,將覆蓋樹T初始化為生成樹。然后開始迭代循環(huán),其中,從覆蓋樹中去除節(jié)點和在覆蓋中增加子樹直到覆蓋樹T中具有至多一個節(jié)點。其輸出界定了非撤銷接收機的覆蓋。
      具體地說,從塊54進至塊56,從覆蓋樹T中找到葉vi和vj,這樣,它們最小的共同祖先節(jié)點v不包括T中的其他葉。在判決菱形57中,判斷覆蓋樹T中是否只有一個葉。如果有多于單個葉存在,那么,邏輯進至塊58,找出v中的節(jié)點vl和vk,這樣,vi在vl之下而vj在vk之下,并且,vl、vk是v的子節(jié)點(即是v的直接后代,在v與vl、vk之間沒有任何插入節(jié)點)。反之,當T中只有單個葉時,邏輯從判決菱形57進至塊60,設vi=vj=唯一余下的葉,設置v為T的根,并設vl=vk=根。
      邏輯可以從塊58或60進至判決菱形62。在判決菱形62中,判斷vl是否等于vi。同樣可以判斷vk是否等于vj。如果vl不等于vi,那么邏輯進至塊64,在T中增加子集Sl,i,從T中去除v的所有后代,并使v成為葉。同樣,如果vk不等于vj,那么邏輯進至塊64,在T中增加子集Sk,j,從T中去除v的所有后代,并使v成為葉。邏輯循環(huán)從塊64或者當沒有判定不相等時從判決菱形62返回到塊56。
      鑒于子集差密鑰分配方法的以上總體情況,下面將陳述一種特別優(yōu)選的實現方式。當接收機所屬的子集的總數等于N時,這些子集可以被分類為由第一子集i(從其可減掉另一個子集)所定義的logN個群集。對于與全樹中的內部節(jié)點相應的每個1<i<N,可以選擇獨立且隨機的標記LABELi,該標記可以引出形式為Si,j的所有合理子集的標記。根據這些標記得到子集密鑰。圖11示出了以下所討論的優(yōu)選的標記方法。標記為Li的節(jié)點是子樹Ti的根,而其后代根據本原則進行標記。
      如果G是輸入長度三倍的密碼偽隨機序列發(fā)生器,那么,G_L(S)表示種子S上G的輸出的左邊第三個,G_R(S)表示右邊第三個,而G_M(S)表示中間第三個。下面考慮以標記為LABELi的節(jié)點vi為根的覆蓋樹T的子樹Ti。如果這一節(jié)點被標記為S,那么,它的兩個子節(jié)點分別被標記為G_L(S)和G_R(S)。分配給集合Si,j的子集密鑰Li,j是在子樹Ti中得到的節(jié)點vj的標記LABELi,j的G_M。注意,每個標記S都引出三個部分,即左子節(jié)點和右子節(jié)點的標記以及節(jié)點的密鑰。因此,給定節(jié)點的標記,就可以計算出其所有后代的標記和密鑰。在一種優(yōu)選實施方式中,函數G是一種密碼散列,比如安全散列算法-1,當然也可以采用其他函數。
      圖12示出了在子集差方法中接收機如何將消息解密。從塊66開始,接收機找到它所屬的子集Si,j以及相應的標記(它是接收機的個人信息的一部分,這種信息使得接收機可以得到LABELi,j和子集密鑰Li,j)。利用這種標記,在塊68中,接收機通過至多N次估算函數G就可以計算出子集密鑰Li,j。然后,在塊70中,接收機利用該子集密鑰來解密會話密鑰K,用于后續(xù)消息解密。
      圖13示出了在子集差方法中如何將標記以及此后的子集密鑰分配給接收機。利用這里所公開的標記方法可以使每個接收機所必須存儲的密鑰個數最少。
      從塊72開始,為每個接收機提供不在該接收機與根之間的直達通路上而在該直達通路之外的并由某個節(jié)點vi(即u的祖先)所引出的節(jié)點的標記。在塊74中,這些標記建立該接收機的個人信息Iu,在塊76中,利用從這些標記得出的子集密鑰對后續(xù)消息會話密鑰進行加密。
      下面簡要參照圖14來說明上述原理。對于具有接收機u的標記S的每個vi祖先,接收機u接收在從節(jié)點vi到接收機u的直達通路之外的所有節(jié)點71上的標記。如下所詳述,這些標記最好都是從S得出的。與完整子樹方法形成鮮明對照,在圖8-14中所述的子集差方法中,接收機u沒有接收來自從接收機u到節(jié)點vi的直達通路上的任何節(jié)點73的標記。利用這些標記,接收機u通過估算上述函數G可以計算以節(jié)點vi為根的所有集合(直達通路集合除外)的子集密鑰,但不能計算其他子集密鑰。
      常規(guī)多點廣播系統(tǒng)缺乏反向保密性,即已被撤銷的經常收聽的接收機仍然可以記錄所有加密內容,然后在未來某一時候獲得有效新密鑰(例如通過重新注冊),使得可以將過去的內容解密。針對這種情形,可以利用本發(fā)明的一種優(yōu)選實施方式,通過在撤銷接收機的集合中包含所有尚未被分配的接收機身份來消除這種缺乏反向保密性的缺陷。如果所有接收機都按連續(xù)的次序被分配給葉,這就可以被實現。在這種情況下,撤銷所有未分配的身份將適度增加消息報頭的大小,但不會與這些身份的個數成比例。
      本發(fā)明的一種優(yōu)選實施方式還認識到,希望在消息報頭中具有子集ij的簡明編碼,并為接收機提供一種判斷它是否屬于子集ij的快速方法。假定,一個節(jié)點用它到根的通路來表示,其中,0表示左分支而1表示右分支。通路的終點用1后面跟零或多個0比特來表示。因此,根為1000…000b,根的最右邊子節(jié)點為01000…000b,最左邊子節(jié)點為11000…000b,而葉為xxxx…xxxx1b。
      如這里所述,較大子樹的根的通路為較小子樹的根的通路的子集,這樣,子集差可以用較小子樹的根加上到較大子樹的根的通路的長度來表示。鑒于此,接收機通過執(zhí)行以下Intel Pentium處理器環(huán),可以快速地判斷它是否在給定子集中。
      在該環(huán)外面,可以安裝下列寄存器ECX包括接收機的葉節(jié)點,ESI指向消息緩沖器(第一個字節(jié)是到較大子樹根的通路的長度,而其后的四個字節(jié)是較小樹的根),并且,靜態(tài)表輸出32比特(當用通路的長度索引時),其中第一個長度比特為1,而其他比特為0。
      loopMOV BYTE EBX,[ESI++]MOV DWORD EAX,[ESI++]XOR EAX,ECXAND EAX,TABLE[EBX]JNZ loop如果接收機離開該環(huán)路,那么,未必意味著它屬于該特定子集。它可能在較小的除外子樹中,如果是這樣,那么必須返回到環(huán)路中。然而,由于在絕大多數情況下,接收機甚至不在較大子樹中,因此,在環(huán)中幾乎沒有浪費處理時間。
      在子集差方法的進一步的優(yōu)化中,系統(tǒng)服務器不必記住每個標記(可能多達上百萬個)。第i個節(jié)點的標記可以作為該節(jié)點的保密函數。保密函數可以是三重DES加密,以便當應用于編號i時利用秘密密鑰提供第i個節(jié)點的標記。
      權利要求
      1.一種用于廣播加密的方法,包括為一組用戶中的每個用戶分配相應的個人信息Iu;選擇至少一個會話加密密鑰K;將不在撤銷集合R中的用戶劃分成具有相關聯的子集密鑰Li1,…Lim的分離子集Si1,…Sim;和用子集密鑰Li1,…Lim將會話密鑰K加密以提供會話密鑰K的m種加密形式。
      2.權利要求1的方法,還包括將用戶劃分成一些組S1,…Sw,其中“w”是整數,并且這些組在某一樹中建立一些子樹。
      3.權利要求2的方法,其中,每個子集Si1,…Sim都包括在以某個節(jié)點vi為根的子樹中的所有葉,子樹中的至少每個節(jié)點都與一個相應的子集密鑰相關聯。
      4.權利要求3的方法,其中,在至少一個定義了報頭的消息中為用戶提供內容,并且該報頭包括至多r*log(N/r)個子集密鑰和加密,其中,r是撤銷集合R中的用戶數,而N是用戶總數。
      5.權利要求3的方法,其中,撤銷集合R定義一種生成樹,并且具有與生成樹的節(jié)點連接的根的子樹定義所述子集。
      6.權利要求2至5任一的方法,其中,該樹包括一個根和多個節(jié)點,每個節(jié)點都具有至少一個相關聯的標記,并且其中每個子集都包括在以某個節(jié)點vi為根的子樹中但不在以vi之下的其他某個節(jié)點vj為根的子樹中的所有葉。
      7.權利要求6的方法,其中,在至少一個定義了報頭的消息中為用戶提供內容,并且該報頭包括至多2r-1個子集密鑰和加密,其中,r是撤銷集合R中的用戶數。
      8.權利要求6或7的方法,其中,每個用戶都必須存儲.5log2N+.5logN+1個密鑰,其中,N是用戶總數。
      9.權利要求6至8任一的方法,其中,在至少一個消息中為用戶提供內容,并且其中每個用戶都利用至多l(xiāng)ogN個運算加上單個解密運算來處理該消息,其中,N是用戶總數。
      10.權利要求6至9任一的方法,其中,撤銷集合R定義一個生成樹,并且其中該方法包括將覆蓋樹T初始化為生成樹;迭代地從覆蓋樹T中去除節(jié)點和在覆蓋中增加節(jié)點直到覆蓋樹T中具有至多一個節(jié)點。
      11.權利要求6至10任一的方法,其中,每個節(jié)點都具有至少一個可能由其祖先節(jié)點的至少之一所引出的標記,并且其中每個用戶都被分配以標記,所述標記來自于該用戶與根之間的直達通路之外的所有節(jié)點而不是來自于該直達通路上的節(jié)點。
      12.一種包括計算機程序代碼的計算機程序,當它被裝載到計算機系統(tǒng)中并被執(zhí)行時,可以使所述計算機系統(tǒng)完成權利要求1-11任一中所述的方法的步驟。
      13.用于廣播加密的設備,包括用于為一組用戶中的每個用戶分配相應的個人信息Iu的裝置;用于選擇至少一個會話加密密鑰K的裝置;用于將不在撤銷集合R中的用戶劃分成具有相關聯的子集密鑰Li1,…Lim的分離子集Si1,…Sim的裝置;和用于用子集密鑰Li1,…Lim將會話密鑰K加密以提供會話密鑰K的m種加密形式的裝置。
      全文摘要
      一種樹用于將廣播內容加密系統(tǒng)中的無狀態(tài)接收機劃分成一些子集。這里公開了兩種不同的劃分方法。當識別出一個撤銷接收機集合時,這些撤銷接收機用分離子集來定義一個相對較小的非撤銷接收機的覆蓋。然后,利用一些與這些子集相關聯的子集密鑰來加密會話密鑰,會話密鑰又用來加密廣播內容。只有非撤銷接收機可以解密這種會話密鑰,并因此來解密內容。
      文檔編號H04L12/18GK1489847SQ0280413
      公開日2004年4月14日 申請日期2002年1月23日 優(yōu)先權日2001年1月26日
      發(fā)明者杰弗里·B·魯特斯皮奇, 達里特·納歐, 西門·納歐, 納歐, 杰弗里 B 魯特斯皮奇, 納歐 申請人:國際商業(yè)機器公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1