亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于組密鑰生成的方法和裝置的制作方法

文檔序號:7637098閱讀:178來源:國知局
專利名稱:用于組密鑰生成的方法和裝置的制作方法
技術領域
本發(fā)明通常涉及安全和密碼術領域,尤其涉及在內(nèi)容傳遞系統(tǒng)中的密鑰分配。

背景技術
現(xiàn)有技術中的廣播加密方法在下面的出版物中被描述,這些公開通過引用被結合于此 A.Fiat and M.Naor,Broadcast Encryption,Advances in Cryptology-CRYPTO’93 Proceedings,Lecture Notes in Computer Science,Vol.773,1994,pp.480-491.NIST.FIPS-197Advanced Encryption Standard. http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf S.Frankel.AES-XCBC-MAC-96Algorithm And Its Use With IPSec. http://www.ietf.org/rfc/rfc3566.txt NIST.FIPS-81DES Mode Of Operation. http://www.itl.nist.gov/fipspubs/fip81.htm H.Krawzyk.RFC2104-Keyed-Hashing for Message Authentication. http://www.faqs.org/rfcs/rfc2104.html NIST.FIPS 180-1Secure Hash Standard.

發(fā)明內(nèi)容
本發(fā)明的一個方面是為授權用戶的接收器集合提供一種組密鑰生成方法。該方法為具有少于k個成員的每個可能的接收器子集X提供組件密鑰(component key),其中k是預設常數(shù)。內(nèi)射排序函數(shù)按照特定的順序放置該子集X。對于授權接收器的子集來說,確定不包含特許子集成員的子集X。識別與每個這樣的子集X相關聯(lián)的組件密鑰。偽隨機函數(shù)按照所述內(nèi)射排序函數(shù)所定義的順序,將與從大小小于k的特許集合分離開的子集相關聯(lián)的組件密鑰作為輸入,并輸出組密鑰。
本發(fā)明的另一個方面就是提供一種具有執(zhí)行組密鑰生成的防篡改(tamperresistant)環(huán)境的接收器。在防篡改環(huán)境中存儲了多個組件密鑰和一個設備ID。對于每個設備,至少有一個存儲的組件密鑰對應于該設備并非其成員的每個可能子集X,其中子集X描述的是具備少于k個成員的每個接收器集合。在接收到特許組定義后,接收器的防篡改硬件確定接收器是否是特許組的成員。如果是,則在防篡改環(huán)境中的邏輯確定大小小于k的不包含特許組的成員的子集X,這些組的順序由內(nèi)射排序函數(shù)來確定。與排序組相關聯(lián)的組件密鑰按照排序函數(shù)指示的順序被作為參數(shù)應用于偽隨機函數(shù)。該偽隨機函數(shù)的輸出就是特許組密鑰。



圖1是一個所公開系統(tǒng)和方法的情況中示例性內(nèi)容分配系統(tǒng)。
圖2是示例性接收器的密鑰導出系統(tǒng)。
圖3是一個基于AES-XCBC-MAC的示例性mix()函數(shù)。
圖4是一個基于HMAC_SHA1的示例性mix()函數(shù)。
圖5是一個基于HMAC_SHA1的具有可變長度密鑰的示例性mix()函數(shù)。

具體實施例方式 在一個內(nèi)容傳遞系統(tǒng)中,如圖1所示,一個內(nèi)容提供者10通過一個傳輸介質20發(fā)送內(nèi)容到一個或多個接收器15。這種內(nèi)容傳遞系統(tǒng)的一個例子是通過空中傳送、線纜、數(shù)字視頻廣播(DVB)、衛(wèi)星或互聯(lián)網(wǎng)協(xié)議網(wǎng)絡以及其他多媒體傳遞系統(tǒng)(包括數(shù)字多媒體廣播(DMB)和MediaFLOTM)所發(fā)送的電視廣播,當然,各種其他類型的內(nèi)容和傳輸介質也適用于這種內(nèi)容傳遞模型,并且也適用于本發(fā)明的情況中??山?jīng)由這種模型分配的其他內(nèi)容類型的例子包括音頻、文本、視頻游戲或交互式媒體。其他適合的傳輸介質的例子包括無線電廣播、蜂窩、藍牙、IEEE802.11x,網(wǎng)狀網(wǎng)絡和有線/光WAN或LAN。
內(nèi)容提供者經(jīng)常提供多種服務給其用戶。這就使得用戶可以定制(tailor)他們所接收到的服務以適合他們自身的需要。在電視服務的情況中,舉例來說,用戶可以從付費頻道、按瀏覽付費項目和點播節(jié)目中進行選擇。為了便于這種多樣化,內(nèi)容提供者通常會加密一些或者其所有的內(nèi)容,并且僅僅允許所授權的接收器解密對應于用戶所購買的服務的內(nèi)容。
與加密系統(tǒng)一致,內(nèi)容提供者10會采用硬件和軟件以加密至少一些所發(fā)送的內(nèi)容,而接收器15將具有硬件和軟件以解密內(nèi)容。接收器的硬件可以包含在多種設備中,例如,電視機機頂盒、移動終端或通用計算機。為保證加密方案的安全性,接收器的硬件和/或軟件將包含一個防篡改環(huán)境16,其包含參與到加密系統(tǒng)所需的信息和邏輯。防篡改環(huán)境16有助于確保試圖破壞加密系統(tǒng)的用戶不能訪問系統(tǒng)的秘密。防篡改環(huán)境16可以通過現(xiàn)有技術中已知的任何系統(tǒng)和方法來實現(xiàn)。
然而,加密/解密系統(tǒng)的管理出現(xiàn)了許多困難。一個典型的問題就是用于實踐該系統(tǒng)的保密密鑰和算法的分布與管理。隨著系統(tǒng)接收器的數(shù)量或離散加密事件數(shù)量的增多,密鑰的管理越發(fā)棘手(daunting)。
本發(fā)明公開的系統(tǒng)和方法提供了內(nèi)容加密和解密所需要的安全有效的產(chǎn)生和分配密鑰方式。公開的系統(tǒng)和方法允許內(nèi)容提供者和授權接收器的防篡改環(huán)境16二者通過共享保密信息和邏輯的集合產(chǎn)生匹配的密鑰。并且,公開的系統(tǒng)允許內(nèi)容提供者和接收器的防篡改環(huán)境16二者為授權用戶的一個子集產(chǎn)生匹配的組密鑰。授權組的定義允許內(nèi)容提供者限制加密事件的數(shù)目,也能限制發(fā)送的信息量,因此,增強了系統(tǒng)的安全性。
特別地,公開的系統(tǒng)和方法還提供了在一個廣播環(huán)境中導出組密鑰,在該環(huán)境中組密鑰不揭示存儲在接收器的防篡改環(huán)境16中保密的信息。需要防篡改環(huán)境16以執(zhí)行密鑰導出方案并存儲組件密鑰。組件密鑰是存儲于接收器的防篡改環(huán)境16中的安全密鑰,其在設備被分布至用戶之前可以已經(jīng)放置在接收器中。優(yōu)選地,每個防篡改環(huán)境僅僅存儲為該接收器是其成員的授權集合生成組密鑰所需的密鑰。防篡改環(huán)境不需要存儲用于為接收器不是其成員的組生成組密鑰的密鑰。
例如,如圖2所示,一個接收器的防篡改環(huán)境16,包括密鑰導出方案204和安全存儲區(qū)205,用來存儲組件密鑰205a。
為產(chǎn)生一個特定組密鑰206,防篡改環(huán)境16將組定義210以及可選的鹽分參數(shù)(salt)220作為輸入,其中該鹽分參數(shù)220例如是針對特定組定義的專用全局常數(shù)、日期時間或一些其它獨立于組件密鑰的參數(shù)。為確保加密系統(tǒng)保持完整性,如果用戶是組的一個成員,則接收器的防篡改環(huán)境16將僅輸出組密鑰。這就需要在安全存儲區(qū)中存儲設備ID,以便接收器可以識別其是否是組定義210中給出的組的成員。有利地,即使一些導出的組密鑰暴露給了試圖破壞加密系統(tǒng)的用戶,在防篡改環(huán)境16中的長期秘密內(nèi)容仍能保證安全。進一步地,通過頻繁地改變鹽分參數(shù),組密鑰暴露的風險就會將低。此外,不是授權組成員的接收器將不能利用公開的方法來計算組密鑰,因為它不具備必需的參數(shù)。因而,系統(tǒng)的保護,并不單單依賴于防篡改環(huán)境確定其是否為授權組的成員。
為了討論的目的,假定集合U就是所有用戶的集合。當然,在一個完整系統(tǒng)的執(zhí)行過程中,內(nèi)容提供者可能要操控多個獨立域U。設n=|U|為這個集合的大小。內(nèi)容提供者選擇一個值k來限定系統(tǒng)的抵抗能力,其中k<n。這個抵抗能力限定了突破防篡改環(huán)境而且串通來破壞加密方案的最小用戶數(shù)目。k的選擇是一個設計決定。大的k值會導致較大數(shù)量的密鑰,但同時使得加密系統(tǒng)更難于被破壞。相反地,采用一個小的k值會導致系統(tǒng)不太穩(wěn)固,但需要相對較少數(shù)量的密鑰。舉例來說,如果k設定為2,只要防篡改環(huán)境保持安全,則系統(tǒng)就將是安全的,但是如果兩個用戶獲得防篡改環(huán)境中的秘密,他們可以串通并突破該系統(tǒng)。
第一內(nèi)射排序函數(shù)f可以將集合U中的成員轉換到集合Z,也就是,fU→Z,這樣U中的成員就被排序為Z。并且,對于U中的兩個成員a,b,a<b,當且僅當f(a)<f(b)。另一個內(nèi)射排序函數(shù)g(X)被定義用來排序U的子集。這樣函數(shù)的一個例子就是然而任何其他的能為U的子集提供內(nèi)射排序的函數(shù)都能使用,并能從現(xiàn)有技術容易地設計出來。密鑰被分配給集合U中的每個可能的組X,其中|X|<k。一個密鑰K_i被分配,其中的i=g(X)。在一個可選的設計中,所有相關于密鑰的公開創(chuàng)建密鑰的一部分,而密鑰的剩下的部分要采用另一個流程來創(chuàng)建。
對于每個設備來說,防篡改環(huán)境僅僅保存密鑰K_i,該密鑰K_i對應于大小小于k并且該設備并非其中成員的U的子集。這(和下面描述的密鑰導出一起)意味著少于k個U中的成員不能夠計算他們不屬于的組的組密鑰。
授權用戶的組被定義為Y,這是包含著授權接收器的U的子集。Y用作內(nèi)容提供者發(fā)送的組定義210??蛇x地,不在Y中的用戶的集合也能作為組定義。對于一個授權組Y來說,組密鑰206通過采用一個偽隨機函數(shù)(在本公開的上下文中稱為mix())來生成,該偽隨機函數(shù)可以采用任意次數(shù)的任意長度輸入。對于一個給定的組Y,用于mix()的參數(shù)可以從每個子集X導出,其中|X|<k,子集X中不包括Y的成員,也就是,U-Y。每個這樣的子集是X的一個成員,因此,每個子集具有存儲于每個接收器的關聯(lián)密鑰K_i。對于來自U-Y的每個X的密鑰K_i用作mix()的參數(shù),并且,它們按照g(X)所定義的順序來使用。除了排序的密鑰K_i之外,可選地,上述的鹽分參數(shù)也可以隨組定義一起來發(fā)送,并作為參數(shù)添加到mix()。
如上所述,鹽分參數(shù)可以作為除組定義之外的單獨參數(shù)來傳送。該鹽分參數(shù)要求是某種特定形式(例如,長度恰好為m位或者長度至多為m位)。因此,如果鹽分參數(shù)不滿足為它設定的標準,那么組密鑰導出就會失敗,由此,提供了額外的安全性。
下面討論三種示例性的mix()函數(shù)實施方式,其中兩個基于HMAC_SHA1,另一個基于AES_XCBC_MAC。對于所提供的公開,二元算子‖被用來描述級聯(lián)(concatenation)。當然,更多的其他合適的mix()函數(shù)的實施方式和例子可以容易地得出并不脫離本發(fā)明的實質。
基于AES_XCBC_MAC的MIX()函數(shù)的例子 這部分表述了一個基于上面引用的S.Frankel的文獻中所描述的AES_XCBC_MAC的mix()函數(shù),上面引用的NIST.FIPS-81DES Mode OfOperation中所描述的反向模式(counter mode)和密碼反饋模式。通過利用NIST.FIPS-81中所描述的CBC模式下的AES來創(chuàng)建一個消息認證碼(MAC)而使用AES_XCBC_MAC。
基于AES_XCBC_MAC,選取參數(shù)(k,x,j),以定義偽隨機函數(shù),該函數(shù)根據(jù)需要輸出共計j個AES塊。函數(shù)的輸入是一個AES密鑰、AES塊的比特串x。這些塊表示為x_1,x_2。
AES_k(x)用來表示通過AES并利用密鑰k對單個無格式文本塊x進行的加密。
AES_CBC_MAC_k(x)用來表示通過AES并利用密鑰k對無格式文本塊x進行的CBC-模式MAC計算。輸入假定為一個適當?shù)拈L度(即,AES塊大小的倍數(shù))。
所述偽隨機函數(shù)如下計算 1.令k1=AES_k(P1); 2.令k2=AES_k(P2); 3.C_1=AES_k1(AES_CBC_MAC_k1(x)XOR k2 XOR 0x01); 4.對于cnt=2至j C_cnt=AES_k1(AES_CBC_MAC_k1(x‖C_{cnt-1})XOR k2 XOR cnt). 所述偽隨機函數(shù)總是創(chuàng)建共計j個AES數(shù)據(jù)塊。mix(salt,k_1,…,k_m)函數(shù)現(xiàn)在被定義為 1.T_1=偽隨機函數(shù)(k_1,SALT,j) 2.對于cnt=2至m 3.T_cnt=偽隨機函數(shù)(k_cnt,T_{cnt-1},j) 常量P1和P2也被隨意定義,只要P1?。絇2。舉例,可以采用值 P1=0x01010101010101010101010101010101以及 P2=0x02020202020202020202020202020202 該mix()函數(shù)產(chǎn)生的比特串T_m(其中m是輸入的密鑰的數(shù)目)就是針對授權組的密鑰。
圖3示例了基于AES-XCBC-MAC的示例性混合(mix)函數(shù)的實施方式,此時i=1,cnt>1,salt是一個AES塊確切的長度。K_i301應用于AES塊302、303和304。隨意定義常量305 P1從而滿足P1?。絇2,常量305 P1隨同輸入密鑰301一起應用于AES塊302。AES塊302的輸出隨同鹽分參數(shù)309一起應用于AES塊307。T_i,{j-1}310和AES塊307的輸出的異或(XOR)311隨同AES塊302的輸出一起應用于AES塊308。密鑰301和常量P2 306應用于AES塊303。上述定義的j312,和AES塊303的輸出的異或313隨同AES塊308的輸出一起應用至異或(XOR)314。異或314的輸出和密鑰301應用于AES塊304以輸出T_i,j315。該過程產(chǎn)生了塊T_i,j。如果僅僅一個密鑰是特許集合的一個成員且j=2,那么這個塊將是輸出組密鑰的第二個塊。
基于HMAC_SHA1的MIX()函數(shù)的例子 基于HMAC_SHA1的mix()函數(shù)比上面所述的實施方式要簡單些。偽隨機函數(shù)采用參數(shù)(k,x,j),并輸出j個SHA1塊,如NIST.FIPS 180-1SecureHash Standard.中所描述的,其中數(shù)據(jù)塊(160位)由密鑰k和位比特串x給出。我們通過HMAC_SHA1(k,x)來表示采用密鑰k和輸入比特串x所計算的HMAC_SHA1。所述偽隨機函數(shù)如下 1.C_1=HMAC_SHA1(k,x‖0x01) 2.對于cnt=2至j C_cnt=HMAC_SHA1(k,x‖C_{cnt-1})‖cnt) 所述偽隨機函數(shù)總是共計創(chuàng)建j個SHA1數(shù)據(jù)塊(160位)。所述mix(salt,k_1…,k_m)函數(shù)現(xiàn)在被定義為 1.T_1=prf(k_1,salt,j) 2.對于cnt=2至m T_cnt=prf(k_cnt,T_{cnt-1},j) 該mix()過程產(chǎn)生的比特串T_m(其中m是輸入的密鑰的數(shù)目)就是針對特許組的密鑰。
圖4示例了基于HMAC_SHA1的混合(mix)函數(shù)。C_i,0被視為一個空字符串。Ipad405和K_i403的迭代的異或404隨同鹽分參數(shù)與連續(xù)j個C_i,{j-1}的級聯(lián)401一起應用于安全Hash算法1(SHA1)402。Opad 405和K_i403的迭代的異或407隨同SHA1 402的輸出一起應用于SHA1 408以產(chǎn)生C_i,j409。這個過程產(chǎn)生一個SHA1輸出塊。在所有要求的塊上對每個i值從1到j進行迭代,從而產(chǎn)生塊序列C_m,j(其中m是輸入密鑰的數(shù)目),其經(jīng)過級聯(lián)就產(chǎn)生組密鑰。
基于帶有可變長度密鑰的HMAC_SHA1的MIX()函數(shù)的例子 在HMAC_SHA1中采用可變長度密鑰就會明顯簡化并加快mix()函數(shù)。該mix(salt,k_1,...,k_n)函數(shù)從而如下計算 1.T_1=HMAC_SHA1(K_1‖…‖K_n,salt‖0x01) 2.對于cnt=2至j T_cnt=HMAC_SHA1(K_1‖…‖K_n,salt‖T_{cnt-1}‖cnt) 在這個函數(shù)中,所有的密鑰按照內(nèi)射排序函數(shù)設定的順序級聯(lián)在一起。密碼反饋和反向模式也可通過鹽分參數(shù)由HMC_SHA1結合并計算。
圖5示例了基于可變長度密鑰HMAC_SHA1的混合函數(shù)。T_0被認為是一個空字符串。Ipad 505和K_1‖…‖K_n503的異或504隨同鹽分函數(shù)與連續(xù)j個T_{j-1}的級聯(lián)501一起應用于安全Hash算法1(SHA1)502。Opad 505和K_1‖…‖K_n503級聯(lián)的異或507隨同SHA1 502的輸出一起應用于SHA1 508以產(chǎn)生T_j509。對于所公開的函數(shù),是在j>1(如果j=1那么之前的塊將被省略)的情況。如在H.Krawzyk.RFC 2104-Keyed-Hashing for MessageAuthentiction中所定義的,Ipad和Opad仍然是等于密鑰級聯(lián)長度的常量。
本發(fā)明的許多特征和優(yōu)勢方面都可從詳細的說明書明顯得到,因此,所附權利要求書覆蓋本發(fā)明落入本發(fā)明的實質和范圍內(nèi)的所有特征和優(yōu)勢方面。
進一步地,由于本領域技術人員容易進行多種修改或變形,因此本發(fā)明請求保護的范圍并不限定在這里所描述和公開的確切的指令或者操作。因此,所有可采取的適當?shù)男薷暮屯纫饬x的變換也都落入權利要求書的范圍。
權利要求
1.一種組密鑰生成方法,該方法包括
對于接收器集合,為具有少于k個成員的每個可能的接收器子集X提供組件密鑰,其中k是預設的常量;
定義對所述子集X進行排序的迭代排序函數(shù);
對于特許接收器的子集,確定不包含所述特許子集的成員的子集X,并識別與每個這樣的子集X相關聯(lián)的組件密鑰;
定義偽隨機函數(shù),其采用任意數(shù)目的組件密鑰作為輸入,并輸出組密鑰;和
使用與大小小于k且不包含所述特許子集成員的子集X相關聯(lián)的組件密鑰作為所述偽隨機函數(shù)的輸入,其中所述組件密鑰按照所述迭劃非序函數(shù)所定義的順序應用于所述偽隨機函數(shù),并且所述偽隨機函數(shù)的輸出是特許接收器的專用組密鑰。
2.如權利要求1所述的方法,進一步包括
附加的迭代排序函數(shù),用于向每個子集X分配組件密鑰。
3.如權利要求1所述的方法,其中,該方法由所述接收器執(zhí)行;并且其中,僅當接收器是所述特許子集的成員,所述接收器才執(zhí)行該方法。
4.如權利要求1所述的方法,其中,所述偽隨機函數(shù)基于AES_XCBC_MAC。
5.如權利要求1所述的方法,其中,所述偽隨機函數(shù)基于HMAC_SHA1。
6.如權利要求1所述的方法,其中,所述偽隨機函數(shù)采用附加的鹽分參數(shù)。
7.一種接收器,包括
防篡改環(huán)境,包括存儲區(qū)和邏輯;
存儲于所述防篡改環(huán)境中的多個組件密鑰和設備ID,其中至少有一個組件密鑰對應于所述接收器并非其成員的每個可能子集X,其中所述子集X描述具備少于k個成員的每個接收器集合;
其中,一旦接收到特許組定義,所述防篡改環(huán)境中的邏輯就確定不包含所述特許組成員的子集X,每個這樣的組按照內(nèi)射排序函數(shù)確定的順序而排序,與所排序的組相關聯(lián)的組件密鑰用作偽隨機函數(shù)的參數(shù)并按照所述排序函數(shù)指定的順序應用;和
其中,所述偽隨機函數(shù)的輸出是特許組密鑰。
8.如權利要求7所述的接收器,其中,所述偽隨機函數(shù)基于AES_XCBC_MAC。
9.如權利要求7所述的接收器,其中,所述偽隨機函數(shù)基于HMAC_SHA1。
10.如權利要求7所述的接收器,其中,所述偽隨機函數(shù)采用附加的鹽分參數(shù)。
11.一種提供組密鑰生成的程序產(chǎn)品,包括
計算機可讀介質;
存儲于所述計算機可讀介質中的程序代碼,其定義對子集X進行排序的內(nèi)射排序函數(shù),其中子集X是所有接收器的集合的具有少于預定數(shù)目成員的子集;
存儲于所述計算機可讀介質中的程序代碼,其在接收到組定義時,確定哪些子集X不包含組定義中的任何成員,并識別與每個這樣的子集X相關聯(lián)的組件密鑰;
存儲于所述計算機可讀介質中的程序代碼,其包括偽隨機函數(shù),該函數(shù)采用任意數(shù)目的組件密鑰作為輸入,并輸出組密鑰;和
存儲于所述計算機可讀介質中的程序代碼,其使用與不包含組定義中的成員的子集X相關聯(lián)的組件密鑰作為所述偽隨機函數(shù)的輸入,其中所述組件密鑰按照所述迭代排序函數(shù)給出的順序應用于所述偽隨機函數(shù),并且所述偽隨機函數(shù)的輸出是特許接收器的專用組密鑰。
全文摘要
公開了一種密鑰生成系統(tǒng),其是基于特許組的輸入產(chǎn)生特許的組密鑰。執(zhí)行密鑰產(chǎn)生的系統(tǒng)存儲相應于整體集合的每個可能子集X的組件密鑰,其中子集X具有k個或更少的成員。通過將不包含特許集合成員的子集X的排序的組件密鑰傳給偽隨機函數(shù),為特許集合產(chǎn)生特許組密鑰。
文檔編號H04N7/167GK101164274SQ200680013783
公開日2008年4月16日 申請日期2006年4月24日 優(yōu)先權日2005年4月25日
發(fā)明者L·塔爾克卡拉 申請人:諾基亞公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1