專利名稱:內(nèi)容分發(fā)系統(tǒng)和跟蹤系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)通信系統(tǒng),該數(shù)據(jù)通信系統(tǒng)用于從內(nèi)容分發(fā) 系統(tǒng)向多個用戶系統(tǒng)發(fā)送已加密內(nèi)容和報頭信息,該報頭信息用于對 已加密內(nèi)容進行解密。
背景技術(shù):
通常,在廣播類內(nèi)容分發(fā)行業(yè)中,將廣播節(jié)目內(nèi)容加密,并將己 加密內(nèi)容分發(fā)給用戶。例如,用戶通過使用分發(fā)商租出的已授權(quán)解密 單元對己加密內(nèi)容進行解密,通過得到的內(nèi)容觀看/收聽廣播節(jié)目。 但是,在廣播類內(nèi)容分發(fā)行業(yè)中存在未授權(quán)用戶,這些未授權(quán)用戶通 過復(fù)制授權(quán)解密單元的內(nèi)部信息(解密密鑰等)來產(chǎn)生盜版解密單元 (未授權(quán)解密單元),從而能夠?qū)σ鸭用軆?nèi)容進行非法解密。目前己知有各種未授權(quán)用戶識別方法,這些方法能夠識別這種未 授權(quán)用戶。根據(jù)用戶的解密密鑰生成方法,這些未授權(quán)用戶識別方法 可以分為三類。第一類是基于組合排列的方法。第二類是基于樹狀結(jié) 構(gòu)的方法。第三類是基于代數(shù)排列的方法。第一類未授權(quán)用戶識別方法有一個問題這種方法需要非常大的 發(fā)送開銷,以充分降低將不涉嫌產(chǎn)生未授權(quán)解密單元的授權(quán)用戶錯誤 地檢測為未授權(quán)用戶的概率。第二和第三類未授權(quán)用戶識別方法能夠解決這個問題,并獲得較 低的發(fā)送開銷。未授權(quán)解密單元可以儲存涉及與多個未授權(quán)用戶同謀的多個解 密密鑰或者功能等效于解密密鑰的數(shù)據(jù)。有時對這個未授權(quán)解密單元 進行黑匣子跟蹤,僅僅通過觀察這個單元的輸入/輸出而不將它打開 來識別未授權(quán)用戶。更加具體地說,執(zhí)行黑匣子跟蹤的跟蹤方假定一個未授權(quán)用戶候選對象(在下文中稱為嫌疑對象),僅僅通過觀察這 個未授權(quán)解密單元的輸入/輸出,來檢查未授權(quán)解密單元是否持有嫌 疑對象的解密密鑰。在第二和第三類未授權(quán)用戶識別方法中,有下面兩個問題未解決問題l:在黑匣子跟蹤中,未授權(quán)解密單元知道每一輸入(假設(shè) 的嫌疑對象)的意圖。如果智能未授權(quán)解密單元讀解了輸入的意圖, 并阻攔識別未授權(quán)用戶,那么黑匣子跟蹤就會失敗。這個失敗導(dǎo)致一 個問題不能識別未授權(quán)用戶,或者錯怪了無辜用戶。問題2:雖然未授權(quán)解密單元不能讀解輸入的意圖,但正確識別 未授權(quán)用戶的概率因為發(fā)送開銷而大打折扣。因此,如果提高發(fā)送開 銷效率,那么正確識別未授權(quán)用戶的概率就會大幅度降低。黑匣子進 行跟蹤所需要的處理步驟的數(shù)量以指數(shù)規(guī)律增長,因此,由于必須檢查nCk^n!(k!(n-k)!)個嫌疑對象,這種黑匣子跟蹤是不現(xiàn)實的,其 中n是用戶總數(shù),k是共同同謀者的最大數(shù)量。如上所述,對于智能未授權(quán)解密單元,通常的未授權(quán)用戶識別方 法在黑匣子跟蹤過程中會失敗。考慮到這個問題,參考文件1 (T. Matsushita禾口 H. Imai, "Hierarchical Key Assignment for Efficient Public-key Black-Box Tracing against Self-Defensive Pirates",正ICE Information Security Research, ISEC2006-52,第91 98頁,2006年7 月)公開了一種未授權(quán)用戶識別方法,這種識別方法能夠可靠地進行 黑匣子跟蹤,即使是針對智能未授權(quán)解密單元,同時不會讓智能未授 權(quán)解密單元知道輸入的意圖。參考文件1公開的未授權(quán)用戶識別方法中的發(fā)送開銷更加有效。 但是,這個方法并不針對能夠儲存以往輸入的更加智能化的未授權(quán)解 密單元。使用能夠儲存以往輸入的更加智能化的解密單元有可能猜出 當(dāng)前輸入的意圖。也就是說,參考文件1中的未授權(quán)用戶識別方法需 要假設(shè)沒有任何未授權(quán)解密單元儲存任何以往輸入。假設(shè)由軟件(程 序)來實現(xiàn)未授權(quán)解密單元。在這種情況下,產(chǎn)生程序副本,副本的 數(shù)量對應(yīng)于所作測試的數(shù)量,將不同的(復(fù)制的)程序用于相應(yīng)的測試。此外,將提供給一個程序的輸入的數(shù)量限定為1。這樣做能夠防 止未授權(quán)解密單元儲存以往輸入,因此能夠在上述假設(shè)下識別未授權(quán) 用戶。但最好是即使針對儲存以往輸入,并據(jù)此阻攔未授權(quán)用戶識別的 更加智能化的解密單元,也能夠進行黑匣子跟蹤。參考文件2 (A. Kiayias和M. Yung, "On Crafty Pirates and Foxy Tracers", Security and Privacy in Digital Rights Management, Revised Paper from the ACM CCS-8 \Vorkshop DRM 2001, LNCS 2320,第 22~39頁,Spring-Verlag, 2002年)公開了一種未授權(quán)用戶識別方法, 這種方法針對的是能夠儲存以往輸入的未授權(quán)解密單元。但是,這種 方法屬于上述第一種類型,因此這種方法需要大幅度增加發(fā)送開銷。 即使是在針對這種未授權(quán)解密單元的這種未授權(quán)用戶識別方法中,也 最好是能夠減少發(fā)送開銷。此外,最好在識別未授權(quán)用戶之后,能夠 更新解密密鑰,從而將未授權(quán)用戶完全排除在系統(tǒng)之外。如上所述,通常的未授權(quán)用戶識別方法不能以很小的發(fā)送開銷, 從能夠儲存輸入未授權(quán)解密單元用來識別未授權(quán)用戶的輸入數(shù)據(jù),并 據(jù)此阻攔識別的智能未授權(quán)解密單元,來識別未授權(quán)用戶。發(fā)明內(nèi)容一種內(nèi)容分發(fā)系統(tǒng),包括內(nèi)容加密單元,配置成使用多個不同的會話密鑰Sj(j=l、2、……、 n)來對內(nèi)容進行加密,以獲得多個已加密內(nèi)容;會話密鑰加密單元,配置成用公鑰對每一會話密鑰進行加密,以 獲得多個已加密會話密鑰,該公鑰對應(yīng)于每一用戶系統(tǒng)的唯一解密密 鑰;報頭信息產(chǎn)生單元,配置成為包含多個用戶標(biāo)識信息項的群組產(chǎn) 生報頭信息,該用戶標(biāo)識信息項用于分別標(biāo)識分配了會話密鑰的多個 用戶系統(tǒng),該報頭信息允許通過使用解密密鑰對分配給每一用戶系統(tǒng) 的每一已加密會話密鑰進行解密,該解密密鑰對于屬于上述群組的每一用戶系統(tǒng)是唯一的,該報頭信息包括(a) 己加密會話密鑰,禾口(b) 第一矢量(LQ、 L,、 L2、……、Lk),對應(yīng)于所述會話密鑰 中的一個會話密鑰,被分配給群組中任意用戶標(biāo)識信息項u,設(shè)置該 第一矢量,使得關(guān)于用戶標(biāo)識信息項u的第一矢量和第二矢量(l,u,U2, ...,Uk)的內(nèi)積等于Z,(其中k是預(yù)定正整數(shù),Zj是恒定值,該恒定值是對應(yīng)于會話密鑰的多個不同恒定值之一,并且對應(yīng)于分配給用 戶標(biāo)識信息項U的會話密鑰Sj, v是分配給群組的群組標(biāo)識信息項, 并且是不小于O并不大于k的整數(shù));以及發(fā)送器,用于向用戶系統(tǒng)發(fā)送己加密內(nèi)容中的至少一個和報頭信息。
圖1是說明數(shù)據(jù)通信系統(tǒng)組成的方框圖,本發(fā)明第一實施例中的內(nèi)容分發(fā)系統(tǒng)、用戶系統(tǒng)等應(yīng)用于該數(shù)據(jù)通信系統(tǒng)中; 圖2說明用戶集合的子群組; 圖3說明用戶集合的子群組; 圖4是說明跟蹤系統(tǒng)組成的方框圖; 圖5是說明數(shù)據(jù)通信系統(tǒng)總體工作過程的流程圖; 圖6是說明加密階段工作過程的流程圖; 圖7說明報頭產(chǎn)生單元所進行的處理; 圖8是說明解密階段工作過程的流程圖; 圖9是說明跟蹤階段工作過程的流程圖; 圖IO說明大概的測試過程; 圖11說明測試結(jié)果;圖12是說明數(shù)據(jù)通信系統(tǒng)一個變形的方框圖; 圖13說明樹狀結(jié)構(gòu);圖14是說明解密密鑰產(chǎn)生處理過程的流程圖; 圖15說明在內(nèi)容中嵌入數(shù)字水印信息的方法;圖16說明用戶集合中的多個用戶段;圖17是說明解密密鑰更新處理的流程圖。
具體實施方式
(第一實施例)圖1說明數(shù)據(jù)通信系統(tǒng)的組成,這個數(shù)據(jù)通信系統(tǒng)包括包含有 編碼裝置10和數(shù)字水印嵌入裝置101的內(nèi)容分發(fā)系統(tǒng)1通過網(wǎng)絡(luò)3連接到n個用戶系統(tǒng)2,每一用戶系統(tǒng)2都具有內(nèi)容分發(fā)系統(tǒng)1和解密單元20。跟蹤裝置30連接到網(wǎng)絡(luò)3。內(nèi)容分發(fā)系統(tǒng)1對內(nèi)容進行加密,并通過網(wǎng)絡(luò)3廣播或多播內(nèi)容。 n個用戶系統(tǒng)2接收內(nèi)容分發(fā)系統(tǒng)1通過網(wǎng)絡(luò)3廣播或多播的已加密內(nèi)容并進行解密。雖然圖1只畫出了一個內(nèi)容分發(fā)系統(tǒng)1,但是也可以有多個內(nèi)容分發(fā)系統(tǒng)l。此外, 一個節(jié)點可能具有內(nèi)容分發(fā)系統(tǒng)1的功能和用戶系統(tǒng)2的 功能。另外,通過使所有節(jié)點都具有內(nèi)容分發(fā)系統(tǒng)l的功能和用戶系 統(tǒng)2的功能,可以讓所有節(jié)點彼此間進行密碼通信。如圖1所示,數(shù)字水印嵌入裝置101可存在于內(nèi)容分發(fā)系統(tǒng)1中, 并且加密裝置10可以具有數(shù)字水印嵌入功能。只要將內(nèi)容加密單元 14配置成對嵌有數(shù)字水印信息的內(nèi)容進行加密,對數(shù)字水印嵌入功 能存在于哪個裝置并沒有限制。第三方裝置也可以向內(nèi)容分發(fā)系統(tǒng)1 提供嵌入了數(shù)字水印信息的內(nèi)容。網(wǎng)絡(luò)3可以是有線網(wǎng)絡(luò)或無線網(wǎng)絡(luò)。網(wǎng)絡(luò)3也可以同時使用聯(lián)網(wǎng) 網(wǎng)絡(luò)和無線網(wǎng)絡(luò)。此外,網(wǎng)絡(luò)3可以是雙向或單向網(wǎng)絡(luò)。網(wǎng)絡(luò)3可以 是離線的。也就是說,網(wǎng)絡(luò)3可以用DVD這種介質(zhì)來實現(xiàn)。下面描述數(shù)字水印嵌入裝置101和加密裝置10。根據(jù)來自用戶段管理單元12的信息(例如,表明需要多少條數(shù) 字水印信息),數(shù)字水印嵌入裝置101將多條數(shù)字水印信息分別嵌入 輸入內(nèi)容中,并輸出嵌有不同條數(shù)字水印信息的多個嵌入了數(shù)字水印的內(nèi)容。數(shù)字水印嵌入裝置101在人類感知外的范圍中將數(shù)字水印信息嵌入輸入內(nèi)容中。 一旦將數(shù)字水印信息嵌入內(nèi)容中,就很難消除或篡改這些數(shù)字水印信息。數(shù)字水印嵌入裝置101通過使用類似于參考 文件3 (I. Cox、 J. Kilian、 T. Leighton和T. Shamoon, " A Secure, Robust Watermark for Multimedia", Pfoc. Information Hiding, LNCS 1174,第 185~206頁,Springer-Verlag, 1996)中公開的已知方法來嵌入數(shù)字水 印。在輸入內(nèi)容中嵌入不同條數(shù)字水印信息A和B時,數(shù)字水印嵌 入裝置101輸出嵌有數(shù)字水印信息A的第一內(nèi)容和嵌有數(shù)字水印信 息B的第二內(nèi)容。注意,可以輸出分別嵌有三種不同條數(shù)字水印信 息的多個(三個或更多個)內(nèi)容。如圖15 (a)所示,可以將多條數(shù) 字水印信息嵌入一個內(nèi)容的多個部分,并輸出嵌有多條數(shù)字水印信息 的整個內(nèi)容。如圖15 (b)所示,也可以將多條數(shù)字水印信息嵌入一 個內(nèi)容的多個部分,僅輸出全部內(nèi)容中嵌有所述多條數(shù)字水印信息的 部分(圖15 (b)中用虛線表示的部分),而不輸出沒有嵌入數(shù)字水 印信息的剩余部分。加密裝置IO包括公鑰存儲單元11、用戶段管理單元12、會話密 鑰產(chǎn)生單元13、內(nèi)容加密單元14、報頭產(chǎn)生單元15和用戶段信息存 儲單元16。公鑰存儲單元11是儲存公鑰的存儲器,會話密鑰產(chǎn)生單元13和 報頭產(chǎn)生單元15可以讀出該公鑰。針對用于分別標(biāo)識多個用戶系統(tǒng)2的多條用戶標(biāo)識信息中的每 一條,用戶段信息存儲單元16儲存表明多個會話密鑰中一個會話密 鑰的信息,以及表明對應(yīng)用戶是不是無效對象用戶的信息,該會話密 鑰可以由對應(yīng)于用戶標(biāo)識信息的用戶系統(tǒng)來進行解密。這個實施例將 多條用戶標(biāo)識信息劃分為多個用戶段,并且將多個不同的會話密鑰分 別與多個用戶段相關(guān)聯(lián)。多個會話密鑰分別對應(yīng)于嵌有不同條數(shù)字水 印信息的多個內(nèi)容。從外部收到用戶段信息的時候,用戶段管理單元12將用戶段信 息儲存在用戶段信息存儲單元16中,這一用戶段信息包含關(guān)于上述用戶段的信息和關(guān)于無效對象用戶的信息。根據(jù)用戶段信息存儲單元16中儲存的信息,用戶段管理單元12還將必要的信息輸出給報頭產(chǎn) 生單元15、會話密鑰產(chǎn)生單元13和數(shù)4^水印嵌入裝置101。會話密鑰產(chǎn)生單元13根據(jù)公鑰存儲單元11中的公鑰產(chǎn)生多個會 話密鑰。根據(jù)由會話密鑰產(chǎn)生單元13產(chǎn)生的會話密鑰,通過對獲自數(shù)字 水印嵌入裝置101,分別嵌有不同條數(shù)字水印信息的多個內(nèi)容進行加 密,內(nèi)容加密單元14產(chǎn)生多個已加密內(nèi)容。注意,每一已加密內(nèi)容 都可以根據(jù)對應(yīng)的會話密鑰進行解密。報頭產(chǎn)生單元15根據(jù)公鑰、會話密鑰(作為其基礎(chǔ)的信息)、無 效對象用戶信息(如果存在無效對象用戶)和必要的其它參數(shù)(在下 面即將描述的情況中的p、 q、 k禾BT)等等,產(chǎn)生報頭信息。更加具體地說,報頭產(chǎn)生單元15產(chǎn)生已加密的會話密鑰和兩種 報頭信息。報頭產(chǎn)生單元15通過使用公鑰對會話密鑰進行加密來產(chǎn) 生已加密會話密鑰。第一報頭信息對應(yīng)于一個群組,這個群組包含屬于多個用戶段的 用戶系統(tǒng),這多個用戶段分別對應(yīng)不同的會話密鑰。也就是說,該群 組包含可以從中獲得嵌有多條不同數(shù)字水印信息之一的內(nèi)容的用戶 系統(tǒng)(具有用戶標(biāo)識信息),以及可以從中獲得嵌有另一條數(shù)字水印 信息的內(nèi)容的用戶系統(tǒng)(具有用戶標(biāo)識信息),并且進一步包含可以 從中獲得嵌有其它條數(shù)字水印信息的內(nèi)容的用戶系統(tǒng)(具有用戶標(biāo)識 信息)。第一報頭信息包含(a)通過對相應(yīng)的會話密鑰進行加密而得到 的多個己加密會話密鑰和(b)與分配給群組中任意用戶標(biāo)識信息項 u的會話密鑰對應(yīng)的第一矢量(LQ、 L,、 L2、……、Lk)。設(shè)置第一矢量,使得與用戶標(biāo)識信息u有關(guān)的第一矢量和第二矢量(1、 U、 U2……Uk)的內(nèi)積等于ZjUV,其中k是預(yù)定正整數(shù),Zj是恒定值,該恒定值是與多個會話密鑰對應(yīng)的多個恒定值中與分配給用戶 標(biāo)識信息U的會話密鑰Sj對應(yīng)的一個,并且v是群組的群組標(biāo)識信息, 并且是等于或大于0并且等于或小于k的整數(shù)。具體地說,當(dāng)k'表示事先設(shè)置的多條未授權(quán)用戶標(biāo)識信息的數(shù)量的最大值(共同同謀者的最大數(shù)量),并且k和k'滿足k=2k'-l時, 設(shè)置第一矢量,使得第一矢量和第二矢量的以下內(nèi)積等于zuvm°d2k'。<formula>formula see original document page 18</formula>注意,可以根據(jù)每一用戶系統(tǒng)唯一的解密密鑰對已加密會話密鑰 進行解密,可以解密的會話密鑰隨著用戶系統(tǒng)所屬的用戶段(分配給 用戶系統(tǒng)所屬用戶段的會話密鑰)不同而不同。第二報頭信息對應(yīng)于一個群組,這個群組僅包含屬于分配了給定 會話密鑰的用戶段的用戶系統(tǒng)。也就是說,屬于該群組的用戶系統(tǒng)獲 得嵌有相同數(shù)字水印信息的內(nèi)容。第二報頭信息包含通過用公鑰對會 話密鑰進行加密而獲得的已加密會話密鑰。注意,第二報頭信息不包 含基于上述Li的任何值。但是要注意,第二報頭信息可以包括基于 上述Li的值。假設(shè)內(nèi)容分發(fā)系統(tǒng)1包含需要的各種單元,例如報頭信息和已加 密內(nèi)容的通信接口,儲存內(nèi)容的單元,輸入內(nèi)容的單元和解密密鑰產(chǎn) 生單元(未畫出)。將相應(yīng)條報頭信息發(fā)送到對應(yīng)的用戶系統(tǒng)時,從 減少數(shù)據(jù)量的角度出發(fā),內(nèi)容分發(fā)系統(tǒng)1最好是發(fā)送相應(yīng)條報頭信 息,同時共享一共有部分。但是,本發(fā)明不限于此。不必共享共有部 分。在這種情況下,解密密鑰產(chǎn)生裝置產(chǎn)生對于每一用戶系統(tǒng)唯一的 解密密鑰,并且具有通過將分別標(biāo)識多個用戶系統(tǒng)的多條用戶標(biāo)識信 息劃分成子群組來形成樹狀結(jié)構(gòu)的功能,向相應(yīng)的子群組分配不同密 鑰產(chǎn)生多項式和共有密鑰產(chǎn)生多項式的功能,以及替代和設(shè)置功能, 該替代和設(shè)置功能用于將每一用戶系統(tǒng)的用戶標(biāo)識信息代入分配給 用戶標(biāo)識信息所屬的子群組的密鑰產(chǎn)生多項式中,并將所獲得的值設(shè) 置為對應(yīng)用戶系統(tǒng)唯一的解密密鑰。具體地說,通過將用戶標(biāo)識信息,即用戶ID (從預(yù)定范圍(例 如從1到n的順序數(shù))選擇出來的正整數(shù)),代入密鑰產(chǎn)生多項式,解密密鑰產(chǎn)生裝置為給定用戶產(chǎn)生解密密鑰。在這種情況下,如圖13所示,所述裝置將用戶集合U劃分為多個子群組,并將相應(yīng)的子 群組分配給樹狀結(jié)構(gòu)的樹葉。圖13畫出了具有八片樹葉的一棵完整 二叉樹的實例。假設(shè)L是樹葉的總數(shù),D是樹的深度,T是樹狀結(jié)構(gòu), 其中包含每一節(jié)點ID和表明每一子群組被分配給哪一樹葉的信息。如圖13所示,樹狀結(jié)構(gòu)T具有分配給相應(yīng)節(jié)點的ID (在這種情 況下是0、 1、 2、……、13)。假設(shè)Uv是一個用戶集合,這個用戶集 合被分配給具有給定節(jié)點v作為祖先節(jié)點的樹葉。注意,"祖先節(jié)點" 指的是父節(jié)點,父節(jié)點的父節(jié)點、父節(jié)點的父節(jié)點的父節(jié)點……也作 為樹根。參考圖13,例如U^U。+Up其中+表示合集。參考圖13, 裝置將整個用戶集合U劃分為子群組Uo、……、U7。圖2是子群組U,、 112和113的實例。如圖3所示,這個裝置將用 戶集合劃分為多個子群組,并按照下面的方式向相應(yīng)子群組分配密鑰 產(chǎn)生多項式。例如,這個裝置將A,(x)和B(x)分配給子群組U,,將A"x)和B(x)分配給子群組U2,將A3(x)和B(x)分配給子群組U3。接下來,這個裝置以相同方式將Aj(x)和B(x)分配給子群組Uj。 在這種情況下,Ai(x)表示對于子群組Ui(換句話說,就是節(jié)點i) 而言唯一的密鑰產(chǎn)生多項式(單個密鑰產(chǎn)生多項式),B(x)表示相應(yīng) 子群組(換句話說,就是相應(yīng)節(jié)點)共有的密鑰產(chǎn)生多項式(共有密 鑰產(chǎn)生多項式)。注意,上述分配方式只是一個實例。例如,可以隨 機和唯一地分配密鑰產(chǎn)生多項式Ai(x),而不與任何子群組數(shù)量i有任 何對應(yīng)關(guān)系,或者存在不分配給任何子群組的密鑰產(chǎn)生多項式Aj(x)。 通過這種方式,這個裝置給相應(yīng)子群組分配不同的密鑰產(chǎn)生多項 式和相應(yīng)子群組共有的密鑰產(chǎn)生多項式,并通過使用分配給用戶ID 所屬子群組的密鑰產(chǎn)生多項式來產(chǎn)生用戶ID的解密密鑰。注意,D 表示用戶ID所屬子群組的數(shù)量(不包括樹根)。例如,參考圖13, 分配給樹葉0的用戶也屬于子群組Ug和U12。通過使用分配給相應(yīng)子 群組的密鑰產(chǎn)生多項式來產(chǎn)生用戶ID的解密密鑰。通過這種操作,不同于在參考文件4 (US2005/0157878A1)中公 開的常規(guī)黑匣子跟蹤方法(在該方法中,對于每一節(jié)點,密鑰產(chǎn)生多 項式Aj(x)和Bj(x)都是不同的密鑰產(chǎn)生多項式),本發(fā)明引入一種密鑰 產(chǎn)生多項式,即使其它密鑰產(chǎn)生多項式B(x)對于節(jié)點來說是共有的, 這個密鑰產(chǎn)生多項式也允許對智能未授權(quán)解密單元進行黑匣子跟蹤, 從而減小解密密鑰數(shù)據(jù)的尺寸,解密單元應(yīng)當(dāng)保持解密密鑰數(shù)據(jù)的一 小半。假設(shè)從內(nèi)容分發(fā)系統(tǒng)1或可靠第三方事先向用戶系統(tǒng)2提供通過 將分配給用戶系統(tǒng)2的用戶ID代入分配給用戶ID所屬子群組的密鑰 產(chǎn)生多項式獲得的解密密鑰,供用戶系統(tǒng)2保存。注意,圖13、 2和3所示的分組方法是一個實例,除了這一方法 以外,本發(fā)明可以使用各種分組方法。根據(jù)以上描述,用戶ID和節(jié)點ID都是從預(yù)定范圍內(nèi)挑選出的正 整數(shù)(例如,從l到n的序數(shù))。但是,每一用戶ID都不限于正整數(shù) (也可以是字母數(shù)字)。也就是說,可以將從預(yù)定范圍內(nèi)選出的正整 數(shù)唯一分配給包含字母數(shù)字之類的用戶ID,并且可以根據(jù)唯一地分 配給用戶ID的正整數(shù)和對應(yīng)的密鑰產(chǎn)生多項式來計算解密密鑰。以 上情況也適用于節(jié)點ID。下面將描述安裝在用戶系統(tǒng)2中的解密單元20。如圖1所示,解密單元20包含用戶信息存儲單元21、會話密鑰 解密單元22和內(nèi)容解密單元23。用戶信息存儲單元21是一個存儲器,用于儲存解密必需的參數(shù) (在以下情況中的參數(shù)p、 q和k)、自身系統(tǒng)2所屬的子群組ID和 對應(yīng)于用戶ID的解密密鑰,會話密鑰解密單元22可以讀出上述信息。 注意,解密密鑰是通過將用戶ID代入分配給用戶ID所屬子群組的密 鑰產(chǎn)生多項式而獲得的值。從內(nèi)容分發(fā)系統(tǒng)1收到已加密內(nèi)容和報頭信息的時候,會話密鑰 解密單元22根據(jù)用戶信息存儲單元21中的解密密鑰,從報頭信息獲 得會話密鑰(對它解密)。內(nèi)容解密單元23根據(jù)從會話密鑰解密單元22獲得(解密)的會話密鑰,對收自內(nèi)容分發(fā)系統(tǒng)l中的已加密內(nèi)容進行解密。假設(shè)用戶系統(tǒng)2包含各種所需的設(shè)備,例如,從內(nèi)容分發(fā)系統(tǒng)l 接收已加密內(nèi)容和報頭信息的通信接口,儲存內(nèi)容的設(shè)備和顯示內(nèi)容 的設(shè)備。下面參考圖4描述跟蹤裝置30。跟蹤裝置30包含公鑰存儲單元31、報頭產(chǎn)生單元32、數(shù)字水印 嵌入單元34、內(nèi)容加密單元35和控制單元33。注意,跟蹤裝置30 不必總是包含數(shù)字水印嵌入單元34,數(shù)字水印嵌入功能可以存在于 任何地方,只要內(nèi)容解密單元35被配置成對嵌有數(shù)字水印信息的內(nèi) 容進行加密就行??梢詫⑦@個系統(tǒng)配置為使得內(nèi)容解密單元35從位 于跟蹤裝置30外的裝置接收嵌有數(shù)字水印信息的內(nèi)容。內(nèi)容解密單元35還接收分別嵌有不同條數(shù)字水印信息的多類內(nèi)容。內(nèi)容解密單元35具有通過使用與相應(yīng)內(nèi)容對應(yīng)的會話密鑰,對 多種類型的內(nèi)容進行加密,產(chǎn)生多個已加密內(nèi)容的功能;以及向測試 對象輸入多類已加密內(nèi)容的功能。與上述內(nèi)容分發(fā)系統(tǒng)相同,多個不 同的會話密鑰與多類內(nèi)容相關(guān)聯(lián)。此外,還將多個會話密鑰分別分配 給多個用戶段。公鑰存儲單元31是儲存公鑰的存儲器,報頭產(chǎn)生單元32可以讀 出這個公鑰。報頭產(chǎn)生單元32具有根據(jù)公鑰和其它必要參數(shù)(例如,在這種 情況下的參數(shù)p、 q、 k和T),按照每一用戶標(biāo)識信息(每一用戶系 統(tǒng))所屬的用戶段產(chǎn)生報頭信息的功能,其中用戶標(biāo)識信息由控制單 元33指定;還具有將報頭信息輸入測試對象的功能。注意,會話密 鑰(其所根據(jù)的信息)可以由控制單元33產(chǎn)生,并指定用于報頭產(chǎn) 生單元32,或者可以由報頭產(chǎn)生單元32產(chǎn)生,并通知控制單元33。 此外,產(chǎn)生報頭信息以包含基于上述值Lj的值??刂茊卧?識別裝置)33控制整個跟蹤裝置30,并具有識別功 能,例如,對于多個用戶段中給定的用戶段,根據(jù)屬于所述用戶段的 用戶系統(tǒng)的數(shù)量從0開始一個一個地增加時產(chǎn)生的多條報頭信息和輸入每條報頭信息時得到的加密結(jié)果之間的關(guān)系,識別一個或多個用 戶系統(tǒng)中的一個或多個未授權(quán)用戶(用戶標(biāo)識信息),據(jù)此指定測試 對象用戶系統(tǒng)。例如,控制單元33具有指定功能、接收和檢查功能以及識別功 能。其中指定功能是向報頭產(chǎn)生單元32指定能夠用于對嵌有數(shù)字水 印信息A的第一內(nèi)容進行解密的多條用戶標(biāo)識信息(用戶系統(tǒng))的 集合(第一用戶段xl)以及能夠用于對嵌有數(shù)字水印信息B的第二 內(nèi)容進行解密的多條用戶標(biāo)識信息(用戶系統(tǒng))的集合(第二用戶段 x2);接收和檢查功能是接收由測試對象解密單元2(k解密的內(nèi)容, 并檢查該內(nèi)容是第一內(nèi)容還是第二內(nèi)容;識別功能是根據(jù)屬于第一用 戶段xl的用戶標(biāo)識信息的數(shù)量一個一個地增加時,通過重復(fù)類似處 理而獲得的整個確定結(jié)果,來識別未授權(quán)用戶的用戶標(biāo)識信息。根據(jù)對輸入測試對象解密單元2(k的多類己加密內(nèi)容中的哪一 個被解密(例如,多條數(shù)字水印信息A和B中的哪一個被嵌入已加 密內(nèi)容),控制單元33識別未授權(quán)用戶的用戶標(biāo)識信息。對控制單元 33的操作不限于這種情況。在會話密鑰本身就是內(nèi)容的情況下,控 制單元33可以僅將會話密鑰輸入測試對象解密單元20x,并確定測 試對象解密單元20x得到的對會話密鑰的解密結(jié)果(確定嵌有哪條數(shù) 字水印信息)。跟蹤裝置30可以包含在,例如,內(nèi)容分發(fā)系統(tǒng)l中,也可以是 獨立于內(nèi)容分發(fā)系統(tǒng)1并具有連接到網(wǎng)絡(luò)3的功能的裝置。跟蹤裝置 30不必總是具有連接到網(wǎng)絡(luò)3的功能。下面將描述具有上述組成的網(wǎng)絡(luò)通信系統(tǒng)的工作過程。圖5是說 明這個系統(tǒng)總體工作過程的流程圖。假設(shè)給每一用戶系統(tǒng)2分配唯一的用戶標(biāo)識信息(用戶ID)。內(nèi)容分發(fā)系統(tǒng)1產(chǎn)生多個會話密鑰sl、 s2、……、sj (步驟ST1), 并根據(jù)用戶段xi通過對會話密鑰si (i=l、 2、……、j)進行加密來 產(chǎn)生報頭信息H(x),其中用戶段xi獲得嵌有數(shù)字水印信息i (i=l、 2、……、j)的內(nèi)容(步驟ST2)。接下來,內(nèi)容分發(fā)系統(tǒng)1通過使用會話密鑰si對嵌有數(shù)字水印信息i的內(nèi)容進行加密(步驟ST3),并在將上述報頭信息加到獲得 的已加密內(nèi)容后,廣播或多播獲得的這些已加密內(nèi)容(步驟ST4)??梢园凑张c上述順序相反的順序執(zhí)行步驟ST2和ST3,也可以同 時執(zhí)行這兩個步驟。此外,如果每一操作不改變會話密鑰,那么步驟 ST1有時可以省略(使用之前的會話密鑰)。在收到報頭信息/已加密內(nèi)容的時候,根據(jù)自己的用戶ID和子群 組ID,每一用戶系統(tǒng)2按照與用戶段xi的關(guān)系,對報頭信息進行解 密,其中用戶段:d獲得嵌有數(shù)字水印信息i的內(nèi)容(步驟ST5)。也 就是說,如果用戶系統(tǒng)2屬于獲得嵌有數(shù)字水印信息i的內(nèi)容的用戶 段xi,那么用戶系統(tǒng)2在步驟ST5得到解密處理中的會話密鑰si (步 驟ST6),并且使用會話密鑰si對已加密內(nèi)容進行解密(步驟ST7)。如同下面將詳細描述的一樣,根據(jù)獲得嵌有數(shù)字水印信息i的內(nèi) 容用戶段xi,內(nèi)容分發(fā)系統(tǒng)l產(chǎn)生報頭信息,因此能夠?qū)δ膫€用戶獲 得嵌有哪個數(shù)字水印信息的內(nèi)容進行靈活控制。下面將詳細描述要事先經(jīng)歷的密鑰產(chǎn)生階段,步驟ST2中的加 密階段,以及步驟ST5和ST6中的解密階段。首先定義參數(shù)。令n為用戶總數(shù),k是共同同謀者的最大數(shù)量。假設(shè)p和q表示素數(shù),p - 1可以被q除,并且q等于或大于n + 2k-L假設(shè)Zq={0, l,...,q-l}。 假設(shè)Zp承H…,p-l)。假設(shè)Gq是Zpf的子群組,并且是具有階數(shù)q的乘法群 (multiplicative group ) , g是Gq的發(fā)生器(generator)。假設(shè)U (U^Zq- {0})是所有用戶的用戶ID (用戶標(biāo)識信息) 的集合(在后文中稱為用戶集合)。注意Zq-(0)指的是從Zq中去掉 {0}得到的值。p、q和g的值是公開的。假設(shè)在Zp+上進行計算,除非另外說明。注意,Gq不限于上述 描述,可以是在有限域內(nèi)橢圓曲線上點的加性群組。這一描述適用于下面的每一實施例。 (密鑰生成階段)。這個實施例將用戶集合u (用戶群組)劃分為多個子群組,這個 用戶集合U包含用于分別標(biāo)識多個用戶系統(tǒng)的多個用戶ID。這個實 施例使用了二叉樹結(jié)構(gòu),其中相應(yīng)的子群組被分配給樹葉。更加具體 地說,將密鑰產(chǎn)生多項式分配給相應(yīng)節(jié)點,多條路徑通過這些節(jié)點從 二叉樹的樹根延伸到多片樹葉。這就將密鑰產(chǎn)生多項式劃分為多個等 級。下面以實例說明使用二叉樹結(jié)構(gòu)的情況。但是,本發(fā)明并不限于 此。并沒有具體限制分支的數(shù)量, 一個樹狀結(jié)構(gòu)可以包含具有不同數(shù) 量的分支的節(jié)點。此外,路徑從樹根到所有樹葉通過的節(jié)點的數(shù)量(等 級數(shù))不必相同,并且樹葉可以存在于不同等級處。下面將描述與公鑰和每一用戶ID對應(yīng)的用戶系統(tǒng)的解密密鑰產(chǎn) 生過程。注意,圖14中所示的流程圖說明了與相應(yīng)用戶ID對應(yīng)的用 戶系統(tǒng)的解密密鑰產(chǎn)生過程。內(nèi)容分發(fā)系統(tǒng)1將用戶集合U劃分為L個或更少的子集(子群 組),這些子集沒有任何共用的元素(ST101)。為了簡單起見,假設(shè) 子群組的數(shù)量是L,并且L是以2的冪來表示的數(shù)。內(nèi)容分發(fā)系統(tǒng)l 產(chǎn)生樹葉總數(shù)為L并且樹深度由D=log2L表示的完整的二叉樹,并將 L個子群組分配給不同的樹葉(ST102)。在下面的描述中,T表示包 含了信息的樹狀結(jié)構(gòu),這些信息表明哪些子群組被分配給哪些樹葉以 及相應(yīng)節(jié)點ID。 T是公開的。另一方面,內(nèi)容分發(fā)系統(tǒng)l從Zq中隨機地選擇參數(shù)ao、……、 a^、 bQ、……、b2k.P公鑰基于上述參數(shù)。關(guān)于屬于N的每一元素i, 內(nèi)容分發(fā)系統(tǒng)1還從Zq中隨機地選擇Cj和、。在這種情況下,N由 下面給出的等式(1)來定義。接下來,內(nèi)容分發(fā)系統(tǒng)1計算公鑰e。公鑰e由下式給出<formula>formula see original document page 24</formula> ( 1 )假設(shè)N是樹狀結(jié)構(gòu)T中節(jié)點ID和樹葉(樹根除外)的集合。為了簡單起見,假設(shè)將樹葉總數(shù)為L的完整二叉樹中的N表示為 N={0, ...,2L-3}。在圖13所示的情況下,N={0, ..., 13}。內(nèi)容分發(fā)系統(tǒng)1給樹狀結(jié)構(gòu)T的節(jié)點和樹葉(v)分配單個的密 鑰產(chǎn)生多項式Av(x)和共用密鑰產(chǎn)生多項式B(x),其中相應(yīng)樹根、節(jié) 點和樹葉的密鑰產(chǎn)生多項式AvOO都不相同,共用密鑰產(chǎn)生多項式B(x) 對于相應(yīng)的樹根、節(jié)點和樹葉相同(ST103)。注意,不必為相應(yīng)樹 根、節(jié)點和樹葉分配對于相應(yīng)樹根、節(jié)點和樹葉來說共用的共用密鑰 產(chǎn)生多項式B(X)。內(nèi)容分發(fā)系統(tǒng)1進一步給相應(yīng)的子群組分配單個的密鑰產(chǎn)生多 項式,這些密鑰產(chǎn)生多項式被分配給樹葉和它們的祖先節(jié)點,這些祖 先節(jié)點被分配給相應(yīng)的子群組(ST104)。假設(shè)Uv是分配給樹葉的用戶集合,這些樹葉具有給定節(jié)點v作 為祖先節(jié)點。例如,參考圖13, Us-Uo+U,,其中+表示合集。最后,通過將x^u代入密鑰產(chǎn)生多項式Av(x)和B(x),內(nèi)容分發(fā) 系統(tǒng)l為屬于用戶集合(子集)Uv的用戶ID^計算解密密鑰(ST105), 這個用戶集合Uv被分配給具。有節(jié)點v作為祖先節(jié)點的樹葉。在這種 情況下,密鑰產(chǎn)生多項式Av(x)和B(x)被分配給用戶u所屬的子集 Uv,并且由等式(2)來表示,其中、是唯一并被分配給節(jié)點v的恒 定值。2k-lAv(x) = Z(av,i -入vbi) ci mod q i=0bix丄mod qi=0一 J"aj_(i ;t v mod 2k) v'1 lcv(i - v mod 2k)假設(shè)Ui是用戶集合,這個用戶集合被分配給具有給定節(jié)點i作為 祖先節(jié)點的樹葉,Ai(x)是分配給節(jié)點i的單個密鑰產(chǎn)生多項式,例如, 下面給出了用戶集合Ui的解密密鑰產(chǎn)生多項式A丄(x)十入丄B (x) ,+c丄x+a2x2+…+a2Hx2k-l此外,假設(shè)Uj是用戶集合,這個用戶集合被分配給具有節(jié)點j作為祖先節(jié)點的樹葉,這個節(jié)點j不同于樹狀結(jié)構(gòu)上的節(jié)點i,并且假設(shè)Aj(x)是分配給節(jié)點j的單個密鑰產(chǎn)生多項式,例如,下面給出用戶集合Ui的解密密鑰產(chǎn)生多項式如上所述,在用戶集合U的解密密鑰產(chǎn)生多項式和用戶集合Uj的解密密鑰產(chǎn)生多項式中,除了對于樹狀結(jié)構(gòu)上的樹根、節(jié)點和樹葉而言唯一的一個或多個系數(shù)(例如,在這種情形中的Cj和Cj),不管對于i還是j,同階項的系數(shù)都是恒定的,其中,用戶集合u被分配給具有節(jié)點i作為祖先節(jié)點的樹葉,用戶集合Ui被分配給具有節(jié)點j作為祖先節(jié)點的樹葉。也就是說,在分配給節(jié)點i的單個密鑰產(chǎn)生多項式Ai(x)和對于樹 狀結(jié)構(gòu)上的樹根、節(jié)點和樹葉是共用的共用密鑰產(chǎn)生多項式B(x)中, 同階項系數(shù)的線性和中的至少一個對于樹狀結(jié)構(gòu)上的樹根、節(jié)點和樹 葉是唯一的系數(shù),其它系數(shù),也就是"Aj(x)的m階系數(shù)"+"XiB(x)的m 階系數(shù)",不管對于i還是j,都是恒定的。通過將解密密鑰產(chǎn)生多項式Aj(x) +、B(x)中的"x"替換成"u"得 到用戶ID=u的解密密鑰,其中用戶ID^u屬于用戶集合Ui而,而用 戶集合Ui被分配給具有節(jié)點i作為祖先節(jié)點的樹葉。在上述實例中,將共同同謀者的最大數(shù)量設(shè)為k時,從安全的角 度考慮,最好將密鑰產(chǎn)生多項式的階數(shù)設(shè)為2k-l或更大,因此在這 里將它設(shè)為2k-l。但是,本發(fā)明并不限于此,可以將密鑰產(chǎn)生多項式 的階數(shù)設(shè)為任意值。此外,分配給節(jié)點i的密鑰產(chǎn)生多項式Aj(x)的 階數(shù)與分配給節(jié)點j的密鑰產(chǎn)生多項式Aj(x)的階數(shù)可以不同,并且密 鑰產(chǎn)生多項式Ai(x)的階數(shù)與B(x)的階數(shù)也可以不同。這個結(jié)論也適 用于下面描述的其它實施例。假設(shè)du是用戶ID^的用戶的解密密鑰,那么du由等式(3)表參考圖13,例如,加果將用戶u分配給樹葉0,那么du由等式(4)表示<formula>formula see original document page 27</formula>如圖12所示,內(nèi)容分發(fā)系統(tǒng)1之外的可靠第三方裝置10b可以 在密鑰產(chǎn)生階段進行上述處理。根據(jù)等式(4),不將分配給樹根(節(jié) 點v: "14")的單個密鑰產(chǎn)生多項式分配給樹葉O的子群組。但是, 分配給樹根的單個密鑰產(chǎn)生多項式也可以分配給樹葉0的子群組。在 這種情況下,將使用樹根的密鑰產(chǎn)生多項式的解密密鑰(u, 14, A14(u), B(u))加入等式(4)中,等式(4)表示用戶ID=u的用戶的解密密 鑰。此外,即使有一個節(jié)點沒有分配任何單個密鑰產(chǎn)生多項式也可以 進行上述操作。在這種情況下,當(dāng)計算公鑰e時,不需要產(chǎn)生對應(yīng)的 Cj和、i。這些也適用于下面的每一實施例。(加密階段)根據(jù)來自用戶段管理單元12的信息(表明需要多少條數(shù)字水印 信息的信息),內(nèi)容分發(fā)系統(tǒng)1的會話密鑰產(chǎn)生單元13隨機從Gq中 選擇作為會話密鑰基礎(chǔ)的信息s,從Zq中選擇zi。將獲得嵌有數(shù)字 水印信息i的內(nèi)容的用戶標(biāo)識信息(用戶系統(tǒng))的集合定義為用戶段 xi。內(nèi)容分發(fā)系統(tǒng)1的運營商(或外部第三方)將用戶集合U劃分 為多個用戶段,并將關(guān)于用戶段的信息輸入用戶段管理單元12。(用 戶段信息管理單元儲存輸入信息。)根據(jù)來自用戶段管理單元12的輸 入,會話密鑰產(chǎn)生單元13產(chǎn)生多條信息,并將這些產(chǎn)生的信息提供 給報頭產(chǎn)生單元15,這些信息被分配給相應(yīng)的用戶段,并且作為多 個會話密鑰的基礎(chǔ)。報頭產(chǎn)生單元15將不同的會話密鑰分別分配給 這些用戶段。例如,報頭產(chǎn)生單元15將會話密鑰S,分配給第一用戶 段:cl,并將會話密鑰S2分配給第一用戶段x2。會話密鑰產(chǎn)生單元13 也可以進行這種分配。為了簡單起見,假設(shè)在下面的描述中,報頭產(chǎn) 生單元15將主要進行上述處理。如圖16所示,報頭產(chǎn)生單元15從用戶段U確定多個用戶段xl, x2,…,xj,并選擇log2L+l個節(jié)點ID,這些節(jié)點ID包含至少一個樹 葉ID并滿足下面兩個條件。注意,在下面的描述中,有時p用來表示log2L。條件l:用V。, ...,Vp來表示所選節(jié)點時,合集UV()+, ...,+Uvp等 于用戶集合U。條件2:滿足等式E1或不等式E2。<formula>formula see original document page 28</formula> (El)對于任意i (lSSm)都不滿足等式E1,并且Uvj \ Vvj| 5 2k (E2)在這種情況下,給出下列定義<formula>formula see original document page 28</formula> (E3)參考圖13,確定三個用戶段(m=3) ;d、 x2和x3,選擇四個節(jié) 點ID ("0"、 "1"、 "9"和"13")。接下來,報頭產(chǎn)生單元15選擇隨機數(shù)ro和n,并針對0^^1og2L ((3),即每一選定節(jié)點(包括屬于每一節(jié)點的一個或多個子群組的群 組),重復(fù)下列處理,來計算每一選定節(jié)點(圖6中的ST2-1到ST2-8) 的多條報頭信息Hvo、……、Hvp。報頭產(chǎn)生單元15確定集合xi和Uvj的乘積集合是不是Uvj (ST2-4)。下面是和Uvj的乘積集合是Uvj的情形。在這種情況下,屬于 Uvj的所有用戶都獲得嵌有一條數(shù)字水印信息i的內(nèi)容。例如,圖2 中的U,對應(yīng)于這個情況。報頭產(chǎn)生單元15根據(jù)下面給出的等式(5) 計算Hvj (ST2-5):<formula>formula see original document page 29</formula> (5)其中分別從Gq和Zq中隨機地選擇s和Zi。假設(shè)進行下列處理時(針 對滿足不等式E2的節(jié)點的處理),rVj=r()。否則,rvj是ro或r,。例如,可以事先僅執(zhí)行步驟ST2-4和步驟ST2-6中的確定。如果 很清楚步驟ST2-4的結(jié)果沒有其它可能性(ST2-4;否),那么可以用 ro或n代入r。否則,用i"o代入r。下面描述步驟ST2-4是其它結(jié)果(ST2-4;否)的情況。在這種 情況下,屬于Uvj的至少一個用戶不屬于集合xi,并且至少一個這些 用戶屬于集合xi。例如,這種情況對應(yīng)于圖2中的U2。報頭產(chǎn)生單元15將如下集合設(shè)置為Uvj-VVj={ai, ..., am}:從屬 于用戶集合Uvj的用戶ID的群組中去除屬于用戶集合Vvj的用戶ID 獲得的集合。下面描述Vvj。假設(shè)關(guān)于相應(yīng)的選定節(jié)點Vj,屬于Uvj的所有用 戶都沒有共用元素。根據(jù)定義表達式(E3),由于Uvj-Vvj:Uvj,因此 這種情況等同于將屬于用戶集合Uvj的用戶ID的群組表示為(a"..., am}。另一方面,如圖13所示,例如,如果屬于U,的k個用戶屬于 xl,并且剩余的k個用戶屬于;c2,那么可以選擇節(jié)點0、 1、 9和13。 代替這樣做,也可以選擇節(jié)點0、 8、 9和13。在后一種情況下,由 于U。和U8具有共用元素,因此,要設(shè)定ai、……、am時,設(shè)定 Uvj-Vvr(a!, ...,am}。例如,Us-VfUsKUo+Us+UJ-U^如上所述, 定義符號Vvj來處理兩個集合Uvj具有共用元素的情況。如果2k-m>0,那么報頭產(chǎn)生單元15從Zq-(U+(0))中隨機選擇 am+1、 、 a2k。注意,Zq-(U+(0))表明從Zq減去U和((n的合集而獲得的值。報頭產(chǎn)生單元15獲得lSS2k時Zq中滿足等式(8a)的元素 Lo、……、L^。如果滿足等式(8a)中atE;d的元素at的數(shù)量M 小于2k,那么可以將條件表達式加入等式(8a)中,使得條件表達 式的數(shù)量等于2k (元素Li的數(shù)量),如等式(8b)所示,或者條件表 達式的數(shù)量會減少,如等式(8c)所示。如同將在第二個實施例中描 述的一樣,條件表達式的數(shù)量也可以大于2k。<formula>formula see original document page 30</formula>〉(8c)其中,z't是Zq上的任意值。接下來,通過按照等式(9)將n代入r,報頭產(chǎn)生單元15計算 Hvj (ST2-6)。<formula>formula see original document page 30</formula>(9)如等式(8a)、 (8b)和(8c)所示,假設(shè)關(guān)于用戶段的值{ L0,... L2k.,)是第一矢量,將屬于用戶段xi的用戶ID (xw)設(shè)為第(2k-l) 階多項式的變量,得到的值是第二矢量(1、 xw、 xw2、……、xv2k-1),那么值(L。、……、L2kJ是滿足以下等式所表示的關(guān)系的第一矢量, 也就是說,第一矢量和第二矢量的內(nèi)積等于基于屬于用戶ID的群組 (選定節(jié)點)的群組標(biāo)識信息(節(jié)點ID) Vj,將用戶ID取Vjmod2k次冪得到的值和常數(shù)zi的乘積,其中對于每一用戶段,zi不同。ao,I^,L2,…,;L2h) , (l,xw,xw2, .:,Xw2k_l)=z i x—w" mod 2k mo d q其中Xw是屬于用戶段xi的用戶ID。雖然上述情況是基于n^2k的假設(shè)的,但是也可以通過增加密鑰 產(chǎn)生多項式的階數(shù)而允許值m在m5 (密鑰產(chǎn)生多項式階數(shù)+U的范 圍內(nèi)。對于用戶ID,上述情況將Vj mod 2k用作基于用戶ID所屬的群 組(選定節(jié)點)的群組標(biāo)識信息(節(jié)點ID)的值。但是,本發(fā)明并不限于此,可以使用按照如下方式獲得的值將Vj代入一個函數(shù),這個函數(shù)將Vj唯一地映射成一個值,這個值等于或大于0并且等于或小 于密鑰產(chǎn)生多項式的階數(shù)。在上述情況中,r=r,,即使步驟ST2-4中所獲得的結(jié)果兩次或兩 次以上都是其它結(jié)果(ST2-4:否)。但是,本發(fā)明并不限于此,可以 準(zhǔn)備三個或更多個隨機數(shù)來代入r,并在每次步驟ST2-4中的結(jié)果是 其它結(jié)果時,使用不同隨機數(shù)之一來代入r。除了上述兩個條件(條 件1和2)之外,還可以引入一個條件選擇滿足條件2的至少一個 節(jié)點。在這種情況下,步驟ST2-4中的結(jié)果至少一次是其它結(jié)果。在上述情況中,當(dāng)步驟ST2-4中的結(jié)果是其它結(jié)果(ST2-4:否) 時,根據(jù)等式(9)計算H" (ST2-6)。但是本發(fā)明并不限于此,即使 xi和Uvj的乘積集合為Uvj (ST2-4:是),只要Uvj的元素數(shù)量等于 或小于2k (在下面描述的第二實施例中等于或小于2 (d+l) k),也 可以根據(jù)等式(9)計算H"。以上所有描述都適用于下面要描述的其 它實施例。將上述重復(fù)過程中獲得的Hvc、……、Hvp設(shè)為報頭H(:c)(ST2-9)。 在這種情況下,可以使用公鑰e來計算報頭,任何人都可以管理內(nèi)容 分發(fā)系統(tǒng)l。此夕卜,通過將以上重復(fù)處理獲得的構(gòu)成H、、……、Hvp的相應(yīng) 元素中相同的元素分組為報頭H(x)中的共享元素,可以進一步降低發(fā)送開銷。這個結(jié)論也適用于下面的每一實施例。雖然上面的情形選擇了 log2L+l個節(jié)點,但是本發(fā)明并不限于此, 可以選擇更多或更少的節(jié)點。也就是說,(3可以是log2L以外的其它 值。雖然上面的情形選擇至少一片樹葉ID,但是只要滿足上面兩個 條件(條件1和2),也可以不選擇樹葉。這些也適用于下面描述的 每一實施例。在上述情形中,不存在被禁止對內(nèi)容進行解密的用戶(不存在解 密密鑰無效的用戶)。但是,使用參考文件5(T. Matsushita, "Black-Box Traitor Tracing Schemes for Copyright Protection"博士論文,The University of Tokyo,日本,2006)中公開的解密密鑰無效方法,就能 夠使特定用戶的解密密鑰無效。這些也適用于下面的每一實施例。通過使用會話密鑰si,內(nèi)容加密單元14對嵌有數(shù)字水印信息i 的內(nèi)容進行加密,并將這些內(nèi)容廣播或多播。(解密階段)考慮屬于用戶標(biāo)識信息的群組Uvj的用戶u,其中群組Uvj包括 分配給節(jié)點Vj下一級樹葉的子群組。如圖8所示,在收到報頭H(;c) 的時候(ST5-1),用戶ID=u的用戶系統(tǒng)2使用Hvj來計算等式(10)。<formula>formula see original document page 32</formula>并且按照如下方式進一步計算上一等式的右邊:mod 2k如果不等式(E2)成立<formula>formula see original document page 32</formula>下面將簡單描述從報頭信息對會話密鑰進行解密獲得的結(jié)果。根據(jù)用戶段xi和Uvj的乘積集合是不是Uvj,選擇性地處理用戶 系統(tǒng)2的會話密鑰解密單元22所獲得的解密結(jié)果(ST5-4)。注意, 用戶系統(tǒng)2的會話密鑰解密單元22并不執(zhí)行這個確定步驟,并且在 任何情況下都使用Hvj來計算等式(10),而不改變解密程序。首先描述xi和Uvj的乘積集合是Uvj的情況(ST5-2:是)。在這 種情況中,屬于Uvj的所有用戶都獲得嵌有相同數(shù)字水印信息i的內(nèi) 容。會話密鑰解密單元22根據(jù)等式(10)進行計算(ST-5),以獲得 對應(yīng)于數(shù)字水印信息i的會話密鑰si (ST-8)。通過使用會話密鑰si, 屬于Uvj的所有用戶都獲得嵌有數(shù)字水印信息i的內(nèi)容,用會話密鑰 si對這些內(nèi)容進行加密(ST-9)。下面描述xi和Uvj的乘積集合是Uvj (ST5-4:否)的情況。在 這種情況中,屬于Uvj的至少一個用戶不屬于用戶段xi,并且這些用 戶的至少一個屬于用戶段xi。例如,圖2中的U2就對應(yīng)于這種情況。 同樣是在這種情況下,由于等式(ll)成立,因此會話密鑰解密單元 22根據(jù)等式(10)計算會話密鑰si (ST5-3)。結(jié)果,屬于每一用戶 段xi的用戶系統(tǒng)都獲得對應(yīng)于用戶段;d的會話密鑰si (ST8),并且 通過使用會話密鑰si,獲得嵌有數(shù)字水印信息i的內(nèi)容,用會話密鑰 si對這些內(nèi)容進行加密(ST-9)。<formula>formula see original document page 33</formula>(跟蹤階段)下面描述跟蹤算法程序的實例。在進行這個描述之前,將簡述跟 蹤裝置30和作為跟蹤對象的未授權(quán)用戶。査收到盜版解密單元時(未 授權(quán)解密單元),跟蹤裝置30通過黑匣子跟蹤來識別未授權(quán)用戶(他 的/她的用戶ID),根據(jù)這些未授權(quán)用戶非法產(chǎn)生了盜版解密單元。盜版解密單元僅根據(jù)一個授權(quán)解密單元產(chǎn)生,或者根據(jù)多個授權(quán) 解密單元產(chǎn)生。在后一種情況中,將解密單元的未授權(quán)用戶稱為同謀者。僅根據(jù)一個解密單元產(chǎn)生的盜版解密單元可以使用與解密單元 相同的解密密鑰。根據(jù)多個解密單元產(chǎn)生的盜版解密單元可以使用與 多個解密單元相同的解密密鑰中的任意一個。在后一種情況中,可以獲得會話密鑰,除非對應(yīng)于同謀者的所有解密密鑰都無效。與進行nCk次測試的傳統(tǒng)方法相比,即使多個未授權(quán)用戶彼此 同謀,跟蹤裝置30也能很快執(zhí)行測試,并識別一個或多個未授權(quán)用 戶。(程序?qū)嵗?在實際中,可以用各種不同程序來應(yīng)用跟蹤算法。本發(fā)明并不限于下面圖9所示的程序。查收到盜版解密單元D時,通過以下處理來識別未授權(quán)用戶 注意,在樹狀結(jié)構(gòu)T中,給每一樹葉都分配包含了 2k個用戶的子群組。假設(shè)相應(yīng)樹葉ID從最左邊的樹葉開始依次用1、……、t來表示,并且子群組U,、……、Ut的元素(用戶ID)按照等式(13)所表明的方式來標(biāo)注<formula>formula see original document page 34</formula>(13)在這種情況下,子群組U,、……、Ut的元素數(shù)量(屬于相應(yīng)樹 葉的用戶數(shù)量)不必都等于2k。例如,子群組U,的元素數(shù)量可以不 同于子群組U2的元素數(shù)量。這種情況適用于下面的每一實施例。對于j=l、……、n (n:用戶總數(shù),j用戶編號),跟蹤裝置30 執(zhí)行下面的處理(ST11到ST21)。控制單元33設(shè)置C/=0,其中Cj 表示獲得嵌有數(shù)字水印信息A的內(nèi)容的次數(shù),控制單元33還將獲得 嵌有數(shù)字水印信息A的第一內(nèi)容的用戶集合設(shè)置為用戶段xA。假設(shè)將獲得嵌有數(shù)字水印信息B的第二內(nèi)容的用戶集合設(shè)置為用戶段XB,其中數(shù)字水印信息B不同于數(shù)字水印信息A。跟蹤裝置30將對相同用戶段xa和;cB進行的測試次數(shù)設(shè)置為'T',并且將下面的處理重復(fù)m 次(直到所進行的測試次數(shù)變成m) (ST12)。假設(shè)使用會話密鑰sA 對嵌有數(shù)字水印信息A的第一內(nèi)容進行加密,使用會話密鑰Sb対嵌 有數(shù)字水印信息B的第二內(nèi)容進行加密。控制單元33將屬于用戶段化的用戶ID設(shè)置為W,,…,Uj},并且 將其它用戶ID設(shè)置為用戶段;cB (ST13)。因此,屬于最初的用戶段 :cB的用戶ID為(u^,并且屬于最初的用戶段:cA的用戶ID為(U2, uj??刂茊卧?3控制報頭產(chǎn)生單元32,通過將要加密的會話密鑰的 數(shù)量設(shè)置為"2",即將Sa和SB作為會話密鑰,來產(chǎn)生報頭H(x)(ST14)。 注意,這一報頭產(chǎn)生方法與加密階段的報頭產(chǎn)生方法一樣,為每一操 作選擇隨機數(shù)。當(dāng)報頭產(chǎn)生單元32向未授權(quán)解密單元D輸入報頭H(x)和已加密 內(nèi)容時,控制單元33觀察來自未授權(quán)解密單元D的輸出,其中已加 密內(nèi)容是通過使用Sa対嵌有數(shù)字水印信息A的第一內(nèi)容進行加密, 使用Sb対嵌有數(shù)字水印信息B的第二內(nèi)容進行加密來獲得的。在這時,控制單元33檢測未授權(quán)解密單元D是否已經(jīng)輸出第一 內(nèi)容或第二內(nèi)容(ST16)。如果未授權(quán)解密單元D已經(jīng)輸出第一內(nèi)容 (ST16:是),那么控制單元33將Cj加"l" (ST17)。如果未授權(quán)解 密單元D已經(jīng)輸出第二內(nèi)容(ST16:否),那么控制單元33不改變 Cj的值。假設(shè)會話密鑰本身就是內(nèi)容,BP,會話密鑰Sa嵌有數(shù)字水印信 息A,會話密鑰SB嵌有數(shù)字水印信息B。在這種情況下,可以僅向未 授權(quán)解密單元D輸入報頭,如果嵌有數(shù)字水印信息A的內(nèi)容被解密, 就將Cj加"l",否則保持Cj的值不變。在任何情況下,完成對Cj的更新時,控制單元33判斷測試計數(shù) z是否小于m (ST18)。如果測試計數(shù)z小于m,那么控制單元33將 z力口"l" (ST19)。程序返回步驟ST14以重復(fù)測試。在步驟ST18中一確定測試計數(shù)z等于m,控制單元33判斷屬于 用戶段XB的用戶編號j是否小于用戶總數(shù)n (ST20)。如果用戶編號 j小于n,那么控制單元33將j加'T, (ST21)。接下來,程序回到步驟ST12重復(fù)以上測試。在步驟ST20中一確定屬于用戶段:cB的用戶Uj的用戶編號j等于 用戶總數(shù)n,控制單元33就結(jié)束測試。計算對于j-l、……、n所獲得的Cj.j-Cj并檢測使Cj.,-Cj最大的 整數(shù)j時(ST22),控制單元33將Uj識別為未授權(quán)用戶并輸出其用戶 ID (ST23)。如圖10和11所示,這個跟蹤方法逐一增加屬于用戶段XB的未 授權(quán)用戶候選對象的數(shù)量,并且當(dāng)未授權(quán)用戶候選對象包含在用戶段義B中時,測試是否每一未授權(quán)用戶候選對象輸出嵌有數(shù)字水印信息B的第二內(nèi)容(換句話說,是否每一候選對象不輸出嵌有數(shù)字水印信息A的第二內(nèi)容)。通過將這個測試總共重復(fù)mn次,這個方法可以識 別一個或多個未授權(quán)用戶。注意,這mn次測試可以按照隨機順序執(zhí) 行而不是以上順序。這種情況也適用于下面的實施例。假設(shè)用戶ID的集合是(u,, ..., un},并且測試對象解密單元20x的同謀者具有用戶ID= U2和U4。在這種情況下,收到利用屬于用戶段XB的用戶ID^U,、 112和u3, 以及屬于用戶段XA的剩余用戶ID產(chǎn)生的報頭信息時,由于測試對象 解密單元2(k對應(yīng)于用戶ID= U4,因此測試對象解密單元2(k獲得會 話密鑰SA并輸出嵌有數(shù)字水印信息A的第一內(nèi)容。因此,在將這個 過程重復(fù)m次后,設(shè)置C3-m。到利用屬于用戶段XB的用戶ID=Ul、 U2、 U3和U4,以及屬于用 戶段義A的剩余用戶ID產(chǎn)生的報頭信息時,由于測試對象解密單元不能獲得會話密鑰SA而是獲得會話密鑰SB,因此這個單元輸出嵌有數(shù)字水印信息B的第二內(nèi)容。因此,在將這個過程重復(fù)m次后,設(shè)置 C4=0。由于C3-C4提供了最大值m,因此能夠知道測試對象解密單元2(k 的同謀者之一的用戶ID是U4。此外,改變用戶的標(biāo)記順序能夠識別 所有同謀者的用戶ID??傊?,由于當(dāng)用戶10=11;的用戶不是未授權(quán)用戶時,存在至少一 個整數(shù)j滿足Cj-rC^m/n并且Ci.rCf-m/n,因此檢測使Cj.rCj最大的整數(shù)j就能夠識別未授權(quán)用戶ID。由于嵌有多條數(shù)字水印信息A和B的第一和第二內(nèi)容都是正常 內(nèi)容,即使測試對象解密單元儲存以往輸入,這個單元也不能實施黑 匣子跟蹤,因此總是輸出嵌有數(shù)字水印信息A或B的內(nèi)容。因此, 上述方法能夠可靠地識別未授權(quán)用戶。在這種情況中,可以通過使用公鑰e來計算報頭,任何人都可以 使用跟蹤裝置30來跟蹤未授權(quán)用戶。在上述情況中,逐一測試嫌疑對象。但是本發(fā)明并不限于此,也 可以實施下面描述的兩分支搜索。首先,這個方法將用戶集合劃分為兩個子群組,產(chǎn)生報頭信息和已加密內(nèi)容,第一子群組是用戶段JCA,第二子群組是用戶段XB,將它們輸入測試對象解密單元。如果來自測 試對象解密單元輸出端的輸出是嵌有數(shù)字水印信息A的內(nèi)容,就將 用戶段;cA劃分為兩個子群組。將所獲得的兩個子群組之一從用戶段 Xa中去除,加入用戶段XB。如果來自測試對象解密單元的輸出是嵌有數(shù)字水印信息B的內(nèi)容,就將用戶段XB劃分為兩個子群組。將所 獲得的兩個子群組之一從用戶段XB中去除,并加入用戶段;cA。針對 新設(shè)置的用戶段XA和用戶段XB實施上述測試。重復(fù)這個過程直到只 剩一個嫌疑對象。最后,屬于用戶段CA (或用戶段XB)的用戶減少到1個。如果這個測試對象解密單元輸出嵌有數(shù)字水印信息A(或數(shù) 字水印信息B)的內(nèi)容,就將這一個用戶識別為未授權(quán)用戶。此外,也可以通過將要準(zhǔn)備的會話密鑰的數(shù)量(要嵌入的數(shù)字水 印信息的數(shù)量)設(shè)置為三個或更多,來進行J分支搜索。這種情況也 適用于下面的實施例。如上所述,在向多個用戶系統(tǒng)提供己加密內(nèi)容和用于對已加密內(nèi) 容進行解密的報頭信息的內(nèi)容分發(fā)系統(tǒng)中,通過使用多個不同的會話密鑰Sj (j=l、 2........ n)對內(nèi)容進行加密,內(nèi)容加密單元14獲得多個已加密內(nèi)容,并且通過使用與每一用戶系統(tǒng)唯一的解密密鑰對應(yīng) 的公鑰對多個會話密鑰進行加密,報頭產(chǎn)生單元15獲得多個己加密會話密鑰,其中多個不同的會話密鑰Sj被分配給用于分別標(biāo)識多個用戶系統(tǒng)的多條用戶標(biāo)識信息。對于群組,報頭產(chǎn)生單元15進一步產(chǎn)生報頭信息,該報頭信息包含(a)多個已加密會話密鑰和(b)與分 配給群組中任意用戶標(biāo)識信息u的會話密鑰對應(yīng)的第一矢量(LQ、 L,、 L2、……、La.,),將它設(shè)置成使得第一矢量和關(guān)于用戶標(biāo)識信息u的第二矢量(1、 U、 U2........ 的內(nèi)積等于ZjUvm。d2k (其中Zj是對應(yīng)于多個會話密鑰的多個不同恒定值中對應(yīng)于會話密鑰Sj的恒定值,會話密鑰Sj被分配給用戶標(biāo)識信息u, v是群組標(biāo)識信息,K 是預(yù)定正整數(shù)值)。接下來,報頭產(chǎn)生單元15向多個用戶系統(tǒng)發(fā)送多個已加密內(nèi)容中的至少一個和報頭信息。報頭信息包含多個正確的會話密鑰,用戶系統(tǒng)總能獲得這些正確 的會話密鑰之一。因此,在黑匣子跟蹤中,這一方法能防止任何未授 權(quán)解密單元知道輸入的意圖,并且能夠可靠地進行跟蹤,即使是面對 通過儲存以往輸入并使用所存輸入讀解輸入意圖,試圖阻止對未授權(quán) 用戶進行識別的智能未授權(quán)解密單元。此外,與進行類似的黑匣子跟 蹤的傳統(tǒng)方法相比,將用戶集合形成樹狀結(jié)構(gòu),根據(jù)所形成的樹狀結(jié) 構(gòu)引入密鑰產(chǎn)生多項式,能夠減少發(fā)送開銷。另外,只有特定用戶(例 如未授權(quán)用戶)能夠被排除在該系統(tǒng)外,通過暫時使特定用戶(例如 未授權(quán)用戶)無效并更新密鑰產(chǎn)生多項式而不改變所形成的樹狀結(jié) 構(gòu),能夠更新其它用戶的解密密鑰。根據(jù)上述實施例,報頭信息包含多個已加密會話密鑰,使用這些 會話密鑰對嵌有不同條數(shù)字水印信息的多個內(nèi)容進行加密。通過測試 嵌入的每條數(shù)字水印信息進行黑匣子跟蹤。因此,不可能識別在黑匣 子跟蹤時的報頭信息(和己加密內(nèi)容)以及正常廣播的報頭信息(和 已加密內(nèi)容)。這樣就能夠可靠地進行黑匣子跟蹤,即便面對智能未 授權(quán)解密單元通過讀解輸入的意圖來阻止對未授權(quán)用戶的識別,這是 因為即使是未授權(quán)解密單元儲存以往輸入,未授權(quán)解密單元也無法知 道每一輸入的意圖。具有類似跟蹤性能的常規(guī)黑匣子跟蹤方法是第一類方法(其方案 基于組合邏輯排列),并因此需要極大地增加發(fā)送開銷。相反,通過 將用戶集合形成樹狀結(jié)構(gòu)并向相應(yīng)節(jié)點分配密鑰產(chǎn)生多項式,這個實 施例基于算術(shù)排列來產(chǎn)生報頭,從而能夠減少發(fā)送開銷。上述實施例能夠可靠地進行黑匣子跟蹤,即便面對儲存以往輸入 并根據(jù)這些輸入來阻止對未授權(quán)用戶的識別的智能解密單元,使未授 權(quán)解密單元不知道輸入的意圖。這個實施例還能夠減少發(fā)送開銷。此 外, 一識別出未授權(quán)用戶,這個實施例就能夠?qū)⑦@個未授權(quán)用戶從系 統(tǒng)中排除出去。(第二實施例)下面描述第二實施例。第二實施例將舉例說明一種方法,在第一實施例的加密階段,在圖6的步驟ST2-4中,當(dāng)屬于Uvj的至少一個 用戶不屬于集合Xi并且至少一個所述用戶屬于集合:ci (ST2-4:否) 時,該方法消除了n^2k的限制而不增加密鑰產(chǎn)生多項式的階數(shù)。第 二實施例與第一實施例的不同之處僅在于,在步驟ST2-4中確定了屬 于Uvj的至少一個用戶不屬于集合Xi并且至少一個所述用戶屬于集合 Xi時,使用的加密方法和解密方法。因此,下面僅描述這些方法。 假設(shè)q是素數(shù),p-l可以由q整除,q等于或大于n+2k。(加密階段)在下面的實例中,在步驟ST2-4中確定了屬于Uvj的至少一個用 戶不屬于集合Xi并且其中至少一個用戶屬于集合;ci (ST2-4:否)。如圖7所示,通過將集合Vvj從Uvj中去除,報頭產(chǎn)生單元15 獲得子集^1,...,乂 1}。在這種情況下,m是屬于UVj的用戶集合中不 屬于集合Vvj的用戶總數(shù)。報頭產(chǎn)生單元15尋找滿足2dk+lSmS2(d+l)k的整數(shù)d,并且如 果2(d+l)k-m>0,就從Zq-(U+(0))中選擇x^、……、x2(d+1)k。注意, Zq-(U+(0))表明通過從Zq中去除U和{0}的合集來獲得這個值。對于lStS2(d+l)k,報頭產(chǎn)生單元15獲得Zq中滿足等式(14)的兀素Lq、 、 L2(d+l)k-l。<formula>formula see original document page 40</formula>(14)其中Zt,是Zq上的任意值。接下來,通過將^代入r,報頭產(chǎn)生單元15根據(jù)等式(15)計算Hvj<formula>formula see original document page 40</formula>(15)如上所述,可以準(zhǔn)備三個或更多隨機數(shù)來代入r,并且每次步驟 ST2-4的結(jié)果是其它結(jié)果時將不同隨機數(shù)之一代入r。(解密階段)考慮屬于子集U"的用戶u。在圖8的步驟ST5-6中,使用 來計算等式(16)。<formula>formula see original document page 41</formula>(16)如果用戶u屬于集合斗就根據(jù)等式(14)獲得會話密鑰si(ST8)。 如上所述,利用消除了n^2k限制的排列,如果屬于Uvj的至少一個用戶不屬于集合Xj并且它們中至少一個屬于集合A,與第一實施例相比,第二實施例就能夠?qū)儆诩蟄vj-Vvj的用戶數(shù)量增加2dk (等式(14)中xt的階數(shù)從等式(8)的"2k-l"增加到"2(d+l)k-l",其結(jié)果是,報頭信息Hvj的元素數(shù)從等式(9)的"2k+2"增加到"2(d+l)k+2")。除了第一實施例的效果之外,第二實施例還能夠處理下列情況 當(dāng)步驟ST2-4的結(jié)果是其它結(jié)果(ST2-4:否)時,屬于集合Uvj-Vvj的用戶數(shù)量超過第一實施例中描述的限制。此外,即使對于消除了 mS2k限制的排列,第二實施例也能獲得與第一實施例相同的效果。(第三實施例)下面描述第三實施例。第三實施例舉例說明更新第一和第二實施 例中解密密鑰的情況。對于所有用戶系統(tǒng),要更新相應(yīng)解密密鑰或者 跟蹤裝置30識別出每一未授權(quán)用戶的用戶ID時,第三實施例的解密 密鑰更新方法用以更新授權(quán)用戶系統(tǒng)的解密密鑰,但是不更新未授權(quán)用戶的解密密鑰,以防止具有用戶ID的未授權(quán)用戶系統(tǒng)對內(nèi)容進行 解密。注意,除非有其它說明,第三實施例使用第一實施例中所定義的 相同的符號。下面將簡述密鑰更新程序。如上所述,通過使用等式(2)所示. 的密鑰產(chǎn)生多項式Av(x)和B(x)并將密鑰產(chǎn)生多項式Av(x)+、B(x)中 的"x"替換為"u",獲得用戶ID^的解密密鑰,這個用戶ID^u屬于用 戶集合Uv,這個用戶集合Uv被分配給具有節(jié)點v作為祖先節(jié)點的 樹葉或樹葉v。因此,通過利用av,i+a'v,i、 ?w+Vv、和bj+b'i更新等式 (2)中密鑰產(chǎn)生多項式Av(x)和B(x)的系數(shù)群組av,i、 ?w和b;(更新 密鑰產(chǎn)生多項式本身),來更新每一用戶系統(tǒng)的解密密鑰。例如,對于需要更新解密密鑰的用戶ID的集合(用戶段),通過 使用分配給用戶段的會話密鑰對包含了密鑰更新信息的內(nèi)容進行加 密,從而產(chǎn)生已加密密鑰更新信息,其中密鑰更新信息包含更新系數(shù) 群組所需要的多條信息a'v,i、 X'v和bV如同使上述內(nèi)容分發(fā)裝置產(chǎn) 生報頭信息和已加密內(nèi)容的技術(shù)一樣,這個實施例產(chǎn)生已加密密鑰更 新信息和用于對已加密密鑰更新信息進行解密的報頭信息,并發(fā)送這 些信息。對于需要更新解密密鑰的用戶ID的集合(用戶段),不發(fā)送利用 分配給用戶段的會話密鑰加密的密鑰更新信息。結(jié)果,屬于前一用戶段的用戶ID的用戶系統(tǒng)能夠獲得上述密鑰 更新信息,并且能夠更新解密密鑰。相反,屬于后一用戶段的用戶ID 的用戶系統(tǒng)不能獲得上述密鑰更新信息,不能更新解密密鑰。下面將參考圖17中的流程圖,詳細描述內(nèi)容分發(fā)系統(tǒng)中的處理 過程和用戶系統(tǒng)中的處理過程。除了系統(tǒng)利用會話密鑰對密鑰更新信息進行加密,而不是利用會 話密鑰對內(nèi)容進行加密之外,內(nèi)容分發(fā)系統(tǒng)的處理操作幾乎與圖5所 示的處理操作相同。參考圖17,內(nèi)容分發(fā)系統(tǒng)將表明開始密鑰更新處理的密鑰更新 起始信息發(fā)送給用戶系統(tǒng)(ST201)。在這種情況下,內(nèi)容分發(fā)系統(tǒng)可以一對一地將信息發(fā)送給用戶系統(tǒng),或者可以向多個用戶系統(tǒng)廣播 或多播信息。這種情況也適用于下面的操作。內(nèi)容分發(fā)系統(tǒng)從Gq中隨機地選擇L個(j=l、 2、……、L)隨 機數(shù)sj-s,、……、Sl。 L個隨機數(shù)分別對應(yīng)L片樹葉。此外,系統(tǒng)使 用公鑰存儲單元ll中儲存的公鑰對隨機數(shù)s,、……、SL進行加密, 并且根據(jù)等式(5)計算每一樹葉Vj的Hvj (ST202)。注意,除了下 面兩點外,步驟ST202中報頭產(chǎn)生單元15的報頭信息產(chǎn)生過程與第 一實施例中的報頭信息產(chǎn)生過程是一樣的(見圖6等)。(1)要選擇的節(jié)點是L片樹葉。(2)對于每一樹葉Vj,根據(jù)等 式(5)計算H"。<formula>formula see original document page 43</formula>其中t二0、 ......、 2k-l。內(nèi)容分發(fā)系統(tǒng)從Zq中隨機地選擇隨機數(shù)a'。、……、a'2k.,,b,O、 、 b'w C,0、 、 C,2L-3,人V 、 X,2L-3,并針對1SJSL重復(fù)下面的過程。內(nèi)容分發(fā)系統(tǒng)產(chǎn)生密鑰更新信息MVj并進行秘密密 鑰加密,其中秘密密鑰加密使用對應(yīng)于樹葉Vj的隨機數(shù)(即會話密鑰Sj)對密鑰更新信息Mvj進行加密(ST203)。由MVj表示已加密密鑰 更新信息。密鑰更新信息Mvj包含用于更新密鑰產(chǎn)生多項式Av(x)和 B(x)的系數(shù)群組的信息,其中系數(shù)群組信息即選定的隨機數(shù)a'。、……、a,2k-l, b,o、 、 b,2k-l, C,o、 、 C,2L-3, X,O、、 入,2L-3。在下面將描述密鑰更新信息Mvj。如果將樹葉Vj重寫為Vj,p并且用Vj,2、……、Vp。^來表示從樹葉Vj,,到樹根的相應(yīng)節(jié)點,將密鑰 更新信息MVj表示為<formula>formula see original document page 44</formula>其中l(wèi)l表示數(shù)據(jù)串聯(lián)。將由上述重復(fù)過程獲得的信息M'Vl、……、M'"設(shè)置為已加密 密鑰更新信息M'。內(nèi)容分發(fā)系統(tǒng)將這些已加密密鑰更新信息M'發(fā)送 到用戶系統(tǒng)(ST204)。如果已知作為發(fā)送目的地的用戶系統(tǒng)屬于Uvj, 就可以僅發(fā)送M'Vj。此外,內(nèi)容分發(fā)系統(tǒng)將報頭信息H發(fā)送給用戶系統(tǒng)(ST204)。 如果已知作為發(fā)送目的地的用戶系統(tǒng)是Uvj,就可以僅發(fā)送Hvj。根據(jù)下面的等式,內(nèi)容分發(fā)系統(tǒng)計算新公鑰enew (ST205)。<formula>formula see original document page 44</formula>下面描述屬于一子群組,用戶ID為u,并且被分配給Uvj (Vj是 一片樹葉)的用戶系統(tǒng)中的過程。在收到密鑰更新起始信息時 (ST206),用戶系統(tǒng)對內(nèi)容分發(fā)系統(tǒng)發(fā)送過來的報頭信息H(或Hvj) 進行解密,并獲得Sj (ST207)。在這種情況下,報頭信息H的解密 方法與第一實施例中描述的方法相同。用戶系統(tǒng)選擇用戶系統(tǒng)能夠利用從內(nèi)容分發(fā)系統(tǒng)發(fā)送來的已加 密密鑰更新信息M'進行解密的M'Vj (或者僅接收M'Vj),使用Sj對 MVj進行解密并獲得Mvj。假設(shè)將樹葉"重寫為vu,并且從樹葉Vj,,到達樹根的相應(yīng)節(jié)點是 Vj,2、……、vP。g2"在這種情況下,根據(jù)下面的等式,用戶系統(tǒng)針對 13£log2L計算新解密密鑰A,和Bnew (ST209)。2k-l ,'Anew,Vj,i(u) = A",i(u) + E aVj,i,tut mod q,2k-l ,Bnew(u) = B(u) + J] b'tut mod q (20)t-0在這種情況下,用戶系統(tǒng)按照如下方式更新密鑰產(chǎn)生多項式的相應(yīng)系 數(shù)2k—1 , , , ,Anew, v(x) = S { (av,i + av,i) - (人v +入v〉 (bi + bll) )x1 mod q, i=0 2k-l , Bnew(x) = S (b丄+ bj_) )x1 mod q, i=0=' jaj_ (i * v mod 2k)av,i = J ,丄 (21) Lcv' (i = v mod 2k)從等式(19)和(21)中可以看出,更新過的公鑰和用戶解密密 鑰彼此對應(yīng)。在以上情形中,更新系數(shù)av,i、 ?w和bi。但是,可以僅更新av,i和 bj而不更新^(設(shè)置Vv=0時)。也可能僅更新av,i而不更新、和M設(shè) 置人VK)并且b'i-0時)。在這種情況下,不必在等式(18)的密鑰更 新信息Mvj中包含bV在以上情形中,通過將密鑰更新起始信息發(fā)送到用戶系統(tǒng),內(nèi)容 分發(fā)系統(tǒng)開始密鑰更新過程。但是,也可以通過讓用戶系統(tǒng)將信息發(fā) 送到內(nèi)容分發(fā)系統(tǒng)表明更新密鑰的請求來開始密鑰更新過程。此外, 取代上述的順序,內(nèi)容分發(fā)系統(tǒng)可以以任意順序而不是以上順序產(chǎn)生 報頭信息、已加密密鑰更新信息和新公鑰,或者可以在將密鑰更新起 始信息發(fā)送到用戶系統(tǒng)之前,產(chǎn)生報頭信息、已加密密鑰更新信息和 新公鑰。使用參考文件5 (T. Matsushita, "Black-Box Traitor Tracing Schemes for Copyright Protection",博士論文,The University of Tokyo, 日本,2006)公開的解密密鑰無效方法,能夠禁止特定用戶系統(tǒng)更新 密鑰,并將該特定用戶系統(tǒng)排除在這個數(shù)據(jù)通信系統(tǒng)以外。更加具體地說,除了上述報頭信息H之外,內(nèi)容分發(fā)系統(tǒng)從Gq 中隨機選擇s,使用參考文件5公開的加密方法對s進行加密,產(chǎn)生 報頭信息H,,并將這一信息發(fā)送到用戶系統(tǒng)。只有被允許對s解密 的用戶系統(tǒng)能夠獲得報頭信息H'中的s,但是被禁止對s解密的用戶 系統(tǒng)(無效對象用戶系統(tǒng))不能獲得s。內(nèi)容分發(fā)系統(tǒng)產(chǎn)生密鑰更新 信息Mvj,并對秘密密鑰加密,針對給定的函數(shù)使用s'j=F(Sj, s)來對 密鑰更新信息MVj進行加密。下面就是函數(shù)F的一個實例F(Sj, s)='Sj s其中e表示逐位異或。用戶系統(tǒng)對報頭信息H和H'進行解密,并獲得Sj和s。用戶系統(tǒng)使用S,j對已加密密鑰更新信息進行解密并更新解密密鑰。這樣就能禁止無效對象用戶系統(tǒng)獲得s,并從而禁止這一系統(tǒng)更新解密密鑰。在以上情形中,在內(nèi)容分發(fā)系統(tǒng)和用戶系統(tǒng)之間進行密鑰更新處 理。但是,也可以在用戶系統(tǒng)和可靠第三方而不是內(nèi)容分發(fā)系統(tǒng)之間 進行密鑰更新,并將更新過的公鑰通知內(nèi)容分發(fā)系統(tǒng)。上述實施例、內(nèi)容分發(fā)系統(tǒng)和跟蹤系統(tǒng)能夠以很小的發(fā)送開銷, 可靠地識別未授權(quán)用戶,即使是面對更加智能化的未授權(quán)解密單元。 注意,主要以"系統(tǒng)"類別來描述上面的所有實施例。但是很顯 然,本發(fā)明并不限于這樣,可以將這些實施例表示成任意其它類別, 例如"裝置"、"方法"、"計算機可讀存儲介質(zhì)"或"程序"。也可以 提取系統(tǒng)的部分,并將它表述成其它類別,也可以改變系統(tǒng)的整體類 別。此外,上述所有實施例中的加密單元、解密單元和跟蹤裝置可以 由硬件(例如半導(dǎo)體集成器件)或軟件(使計算機實現(xiàn)預(yù)定方法的程 序,使計算機實現(xiàn)預(yù)定裝置的程序,或者使計算機實現(xiàn)預(yù)定功能的程 序)來實現(xiàn)。顯然,這些裝置和單元可以由硬件和軟件兩者實施。將上述裝置和單元作為程序來實現(xiàn)時,這些程序可以通過儲存在 存儲介質(zhì)上而來分發(fā),這些介質(zhì)可以是,例如,磁盤(磁盤(注冊商 標(biāo))、硬盤等),光盤(CD-ROM、 DVD等)和半導(dǎo)體存儲器。此外,這些存儲介質(zhì)可以具有任意形式,只要它們是能夠儲存程 序的計算機可讀存儲介質(zhì)就行。此外,基于從存儲介質(zhì)安裝到計算機中的程序的指令,在計算機上工作的OS (操作系統(tǒng)),MW (中間件),例如數(shù)據(jù)庫管理軟件或 網(wǎng)絡(luò)軟件等,可以執(zhí)行某些處理過程,來實現(xiàn)上述實施例。本發(fā)明中的存儲介質(zhì)不僅包括獨立于計算機的介質(zhì),還包含能夠 下載和儲存或暫時儲存通過LAN、英特網(wǎng)等發(fā)送的程序的存儲介質(zhì)。此外,存儲介質(zhì)的數(shù)量不限于一個,本發(fā)明的存儲介質(zhì)還包含用 于執(zhí)行上述實施例的過程的多個介質(zhì)。也就是說,本發(fā)明并不限于任 何具體存儲布局。注意,本發(fā)明中的計算機根據(jù)儲存在存儲介質(zhì)中的程序,在上述 實施例中執(zhí)行相應(yīng)處理,本發(fā)明可以采用任何組成,例如,包含單個 裝置(例如個人計算機)的裝置,或者包含通過網(wǎng)絡(luò)彼此連接的多 個設(shè)備。另外,本發(fā)明的計算機并不限于個人計算機,計算機只是能夠根 據(jù)程序?qū)崿F(xiàn)本發(fā)明的功能的設(shè)備和裝置的上位名詞,它可以包含數(shù)據(jù) 處理設(shè)備中的處理單元、微型計算機等。
權(quán)利要求
1.一種內(nèi)容分發(fā)系統(tǒng),包括內(nèi)容加密單元,配置成使用多個不同的會話密鑰sj(j=1、2、……、n)對內(nèi)容進行加密,獲得多個已加密內(nèi)容;會話密鑰加密單元,配置成用公鑰對所述會話密鑰中的每一個進行加密,獲得多個已加密會話密鑰,所述公鑰與對于每一用戶系統(tǒng)唯一的解密密鑰對應(yīng);報頭信息產(chǎn)生單元,配置成針對包含多個用戶標(biāo)識信息項的群組產(chǎn)生報頭信息,所述用戶標(biāo)識信息項用于分別標(biāo)識分配了所述會話密鑰的多個用戶系統(tǒng),通過使用對于屬于所述群組的每一用戶唯一的解密密鑰,所述報頭信息允許對分配給每一用戶系統(tǒng)的每一已加密會話密鑰進行解密,所述報頭信息包含(a)所述已加密會話密鑰,和(b)第一矢量(L0,L1,L2,...,Lk),與所述會話密鑰的一個會話密鑰對應(yīng),并被分配給所述群組中的任意用戶標(biāo)識信息項u,設(shè)置所述第一矢量,使得所述第一矢量和關(guān)于所述用戶標(biāo)識信息項u的第二矢量(1、u、u2、……、uk)的內(nèi)積等于zjuv(其中k是預(yù)定正整數(shù),zj是恒定值,所述恒定值是與所述會話密鑰對應(yīng)的多個不同恒定值之一,并且與分配給所述用戶標(biāo)識信息項u的會話密鑰sj對應(yīng),并且v是分配給所述群組的群組標(biāo)識信息項,并且是不小于“0”并且不大于k的整數(shù));和發(fā)送器,用于給所述用戶系統(tǒng)發(fā)送所述已加密內(nèi)容中的至少一個和所述報頭信息。
2. 如權(quán)利要求1所述的系統(tǒng),其中所述報頭信息產(chǎn)生單元設(shè)置所述第一矢量,使得所述第一矢量和第二矢量的內(nèi)積2k'-l ,Z Liul i=0等于Zjlivm^k'(其中k'是事先設(shè)置的未授權(quán)用戶標(biāo)識信息項數(shù)量的最大值,并且滿足k-2k'-l)。
3. 如權(quán)利要求1所述的系統(tǒng),其中對于每一用戶系統(tǒng)唯一的所 述解密密鑰是通過下列步驟獲得的值(a)分別給樹狀結(jié)構(gòu)的樹根、 多個節(jié)點和多片樹葉分配不同的單個密鑰產(chǎn)生多項式,(b)給所述樹 狀結(jié)構(gòu)上的不同樹葉分配多個子群組,其中通過劃分包含所述群組的 用戶標(biāo)識信息項的集合來獲得所述多個子群組,和(c)用所述用戶 系統(tǒng)的所述用戶標(biāo)識信息項代入所述單個密鑰產(chǎn)生多項式之一,并用 所述用戶系統(tǒng)的所述用戶標(biāo)識信息項代入所述樹根、所述節(jié)點和所述 樹葉共用的共用密鑰產(chǎn)生多項式,其中所述單個密鑰產(chǎn)生多項式與分 配給所述子群組之一的樹葉之一或所述樹葉之一的祖先節(jié)點對應(yīng),與 所述用戶系統(tǒng)對應(yīng)的所述用戶標(biāo)識信息項屬于所述子群組之一。
4. 如權(quán)利要求3所述的系統(tǒng),其中對于所述樹狀結(jié)構(gòu)上的樹根、 節(jié)點和樹葉中的每一個,所述單個密鑰產(chǎn)生多項式和所述共用密鑰產(chǎn) 生多項式的同階項系數(shù)的線性和中的至少一個是不同的,其它同階項 系數(shù)的線性和是恒定的。
5. 如權(quán)利要求3所述的系統(tǒng),其中分配給所述樹狀結(jié)構(gòu)的樹根、節(jié)點和樹葉之一 (v)的所述單個 密鑰產(chǎn)生多項式Av(x)和所述共用密鑰產(chǎn)生多項式B(x)由下式給出<formula>formula see original document page 3</formula>(其中、是對于所述樹根、節(jié)點和樹葉中的每一個唯一的恒定值, ka和kb是任意正整數(shù)值,q是預(yù)定正整數(shù)值),并且所述單個密鑰產(chǎn)生多項式Av(x)的系數(shù)av,i (i=0、 1、……、ka)的至少一個系數(shù)av,n (滿足o《n《ka的整數(shù))是對于所述樹根、節(jié)點和樹葉中的每一個唯一的恒定值。
6. 如權(quán)利要求1所述的系統(tǒng),其中通過使用相應(yīng)的會話密鑰,所述內(nèi)容加密單元對嵌有不同數(shù)字水印信息項的多個內(nèi)容進行加密, 以獲得所述已加密內(nèi)容。
7. 如權(quán)利要求l所述的系統(tǒng),其中所述群組包含第一用戶系統(tǒng)群組和第二用戶系統(tǒng)群組,所述第一 用戶系統(tǒng)群組分配有所述會話密鑰的第一會話密鑰slf所述第二用戶系統(tǒng)群組分配有所述會話密鑰的第二會話密鑰S2,并且所述內(nèi)容加密單元使用所述第一會話密鑰對嵌有所述數(shù)字水印 信息項中第一數(shù)字水印信息項的第一內(nèi)容進行加密,并使用所述第二 會話密鑰對嵌有所述數(shù)字水印信息項中第二數(shù)字水印信息項的第二內(nèi)容進行加密。
8. —種跟蹤系統(tǒng),用于通過測試作為用戶系統(tǒng)之一的測試對象, 從用于分別標(biāo)識多個用戶系統(tǒng)的多個用戶標(biāo)識信息項中識別未授權(quán) 用戶標(biāo)識信息項,所述系統(tǒng)包括內(nèi)容加密單元,配置成使用多個不同的會話密鑰Sj(j=l、2、……、 n)中的每一個,對嵌有不同數(shù)字水印信息項的多個內(nèi)容進行加密, 以獲得多個己加密內(nèi)容;分配單元,配置成通過以下步驟將所述會話密鑰分配給包含多個 用戶標(biāo)識信息項的群組(a)將所述群組劃分為多個用戶段,和(b) 對所述會話密鑰的每次分配都將所述會話密鑰分別分配給所述用戶 段;報頭信息產(chǎn)生單元,配置成每次改變所述會話密鑰的分配時,產(chǎn) 生所述群組的報頭信息項,所述報頭信息項允許使用對于屬于所述群 組的每一用戶系統(tǒng)唯一的所述解密密鑰對分配給每一用戶系統(tǒng)的每 一已加密會話密鑰進行解密,所述報頭信息包 含(a) 多個已加密會話密鑰,所述多個已加密會話密鑰中的每一 個都是通過利用公鑰對會話密鑰中的每一個進行加密來獲得的,所述 公鑰與對于每一用戶系統(tǒng)唯一的解密密鑰對應(yīng),和(b) 第一矢量(Lo,L,,L2,…,Lk),與所述會話密鑰中的一個會 話密鑰對應(yīng),并被分配給所述群組中的任意用戶標(biāo)識信息項u,設(shè)置 所述第一矢量,使得所述第一矢量和關(guān)于所述用戶標(biāo)識信息項u的第二矢量(1、 U、 U2、……、的內(nèi)積等于ZjUV (其中k是預(yù)定正整 數(shù),Zj是恒定值,所述恒定值是與所述會話密鑰對應(yīng)的多個不同恒定值之一,并且與分配給所述用戶標(biāo)識信息項U的會話密鑰Sj對應(yīng),v是分配給所述群組作為群組標(biāo)識信息項,不小于"0"并且不大于k的 整數(shù)之一),以獲得在每次改變所述會話密鑰的分配時,所產(chǎn)生的多 個報頭信息項;輸入單元,配置成向所述測試對象輸入所述己加密內(nèi)容和每一報 頭信息項;獲取單元,配置成獲取已解密內(nèi)容作為測試對象對所述已加密內(nèi) 容進行解密的結(jié)果,以獲得與所述報頭信息項對應(yīng)的解密結(jié)果;和控制單元,配置成根據(jù)所述報頭信息項和所述解密結(jié)果之間的關(guān) 系來識別所述測試對象擁有的不少于一個的未授權(quán)用戶標(biāo)識信息項。
9. 如權(quán)利要求8所述的系統(tǒng),其中所述報頭信息產(chǎn)生單元設(shè)置 所述第一矢量,使得所述第一矢量和第二矢量的內(nèi)積E Liul i=0等于ZjUv^^k'(其中k'是事先設(shè)置的未授權(quán)用戶標(biāo)識信息項的數(shù)量的 最大值,并且滿足k-2k,-l)。
10. 如權(quán)利要求8所述的系統(tǒng),其中對于每一用戶系統(tǒng)唯一的所 述解密密鑰是通過下列步驟獲得的值(a)分別給樹狀結(jié)構(gòu)的樹根、多個節(jié)點和多片樹葉分配不同的單個密鑰產(chǎn)生多項式,(b)給所述樹 狀結(jié)構(gòu)上的不同樹葉分配多個子群組,其中通過劃分包含所述群組的用戶標(biāo)識信息項的集合來獲得所述多個子群組,和(C)用所述用戶 系統(tǒng)的所述用戶標(biāo)識信息項代入所述單個密鑰產(chǎn)生多項式之一,并用 所述用戶系統(tǒng)的所述用戶標(biāo)識信息項代入所述樹根、所述節(jié)點和所述 樹葉共用的共用密鑰產(chǎn)生多項式,其中所述單個密鑰產(chǎn)生多項式與分 配給所述子群組之一的樹葉之一或所述樹葉之一的祖先節(jié)點對應(yīng),與 所述用戶系統(tǒng)對應(yīng)的所述用戶標(biāo)識信息項屬于所述子群組之一。
11. 如權(quán)利要求IO所述的系統(tǒng),其中對于所述樹狀結(jié)構(gòu)上的樹根、每一節(jié)點和每一樹葉,所述單 個密鑰產(chǎn)生多項式和所述共用密鑰產(chǎn)生多項式的同階項系數(shù)的線性 和中的至少一個是不同的,其它同階項系數(shù)的線性和是恒定的。
12. 如權(quán)利要求8所述的系統(tǒng),其中所述分配單元通過以下步驟 給所述群組分配兩個不同的會話密鑰(a)將所述群組劃分為兩個用 戶段,和(b)每次分配都給所述用戶段分別分配所述會話密鑰。
13. 如權(quán)利要求l所述的系統(tǒng),其中所述內(nèi)容是更新對于每一用 戶系統(tǒng)唯一的所述解密密鑰所需要的密鑰更新信息。
14. 如權(quán)利要求3所述的系統(tǒng),其中所述內(nèi)容是更新所述單個密 鑰產(chǎn)生多項式的系數(shù)所需要的密鑰更新信息。
15. 如權(quán)利要求3所述的系統(tǒng),其中所述內(nèi)容是更新所述單個密 鑰產(chǎn)生多項式和所述共用密鑰產(chǎn)生多項式的系數(shù)所需要的密鑰更新 信息。
16. 如權(quán)利要求5所述的系統(tǒng),其中所述內(nèi)容是更新下列內(nèi)容所 需要的密鑰更新信息(a)系數(shù)a、i或(b)系數(shù)av,i和系數(shù)bi,或(c) 系數(shù)av,i、恒定值、和系數(shù)bi。
17. 如權(quán)利要求5所述的系統(tǒng),其中所述內(nèi)容是密鑰更新信息, 所述密鑰更新信息包含將所述單個密鑰產(chǎn)生多項式Av(x)和所述共用 密鑰產(chǎn)生多項式B00更新為新的單個密鑰產(chǎn)生多項式Anew, v (x)和新 的共用密鑰產(chǎn)生多項式B。^(x)所需的系數(shù)a'v,i和系數(shù)b'i:<formula>formula see original document page 7</formula><formula>formula see original document page 7</formula>
18. —種內(nèi)容分發(fā)方法,包括使用多個不同的會話密鑰Sj (j=l、 2、 、 n)對內(nèi)容進行加密,以獲得多個已加密內(nèi)容;用公鑰對所述會話密鑰中的每一個進行加密,以獲得多個己加密 會話密鑰,所述公鑰與對于每一用戶系統(tǒng)唯一的解密密鑰對應(yīng);針對包含多個用戶標(biāo)識信息項的群組產(chǎn)生報頭信息,所述用戶標(biāo) 識信息項分別標(biāo)識分配有所述會話密鑰的多個用戶系統(tǒng),通過使用對 于屬于所述群組的每一用戶唯一的所述解密密鑰,所述報頭信息允許 對分配給每一用戶系統(tǒng)的每一已加密會話密鑰進行解密,所述報頭信 息包含(a) 所述己加密會話密鑰,和(b) 第一矢量(L。,L,L2,…,Lk),與所述會話密鑰的一個會話 密鑰對應(yīng),并被分配給所述群組中的任意用戶標(biāo)識信息項u,設(shè)置所 述第一矢量,使得所述第一矢量和關(guān)于所述用戶標(biāo)識信息項u的第二矢量(1、 U、U2、……、Uk)的內(nèi)積等于ZjllV (其中k是預(yù)定正整數(shù),Zj是恒定值,所述恒定值是與所述會話密鑰對應(yīng)的多個不同恒定值之一,并且與分配給所述用戶標(biāo)識信息項U的會話密鑰Sj對應(yīng),v是分酉己給所述群組的群組標(biāo)識信息項,并且是不小于"O"并不大于k的整 數(shù));和給所述用戶系統(tǒng)發(fā)送所述已加密內(nèi)容中的至少一個和所述報頭信息。
19. 如權(quán)利要求18所述的方法,其中產(chǎn)生所述報頭信息設(shè)置所述第一矢量,使得所述第一矢量和第二矢量的內(nèi)積<formula>formula see original document page 8</formula>等于ZjllV^"k'(其中k'是事先設(shè)置的未授權(quán)用戶標(biāo)識信息項的數(shù)量的最大值,并且滿足k-2k'-l)。
20. 如權(quán)利要求18所述的方法,其中對于每一用戶系統(tǒng)唯一的 所述解密密鑰是通過下列步驟獲得的值(a)向樹狀結(jié)構(gòu)的樹根、多 個節(jié)點和多片樹葉分別分配不同的單個密鑰產(chǎn)生多項式,(b)向所述 樹狀結(jié)構(gòu)上的不同樹葉分配多個子群組,其中通過劃分包含所述群組 的用戶標(biāo)識信息項的集合來獲得所述多個子群組,和(c)用所述用 戶系統(tǒng)的所述用戶標(biāo)識信息項代入所述單個密鑰產(chǎn)生多項式之一,并 用所述用戶系統(tǒng)的所述用戶標(biāo)識信息項代入所述樹根、所述節(jié)點和所 述樹葉共用的共用密鑰產(chǎn)生多項式,其中所述單個密鑰產(chǎn)生多項式與 分配給所述子群組之一的樹葉之一或所述樹葉之一的袓先節(jié)點對應(yīng), 與所述用戶系統(tǒng)對應(yīng)的所述用戶標(biāo)識信息項屬于所述子群組之一。
21. 如權(quán)利要求20所述的方法,其中對于所述樹狀結(jié)構(gòu)上的樹 根、節(jié)點和樹葉中的每一個,所述單個密鑰產(chǎn)生多項式和所述共用密 鑰產(chǎn)生多項式的同階項系數(shù)的線性和中的至少一個是不同的,其它同 階項系數(shù)的線性和是恒定的。
22. —種跟蹤方法,用于通過測試屬于用戶系統(tǒng)之一的測試對象, 從用于分別標(biāo)識多個用戶系統(tǒng)的多個用戶標(biāo)識信息項中識別未授權(quán) 用戶標(biāo)識信息項,所述方法^括使用多個不同的會話密鑰Sj (j=l、 2、……、n)中的每一個,對 嵌有不同數(shù)字水印信息項的多個內(nèi)容進行加密,以獲得多個已加密內(nèi)谷;通過以下步驟將所述會話密鑰分配給包含多個用戶標(biāo)識信息項 的群組(a)將所述群組劃分為多個用戶段,和(b)對所述會話密 鑰的每次分配都將所述會話密鑰分別分配給所述用戶段;每次改變所述會話密鑰的分配時,產(chǎn)生所述群組的報頭信息項, 所述報頭信息項允許使用對于屬于所述群組的每一用戶系統(tǒng)唯一的 所述解密密鑰對分配給每一用戶系統(tǒng)的每一己加密會話密鑰進行解 密,所述報頭信息包含(a) 多個己加密會話密鑰,所述多個已加密會話密鑰中的每一 個都是通過利用公鑰對會話密鑰中的每一個進行加密來獲得的,所述 公鑰與對于每一用戶系統(tǒng)唯一的解密密鑰對應(yīng),和(b) 第一矢量(Lo,L,,L2,…,Lk),與所述會話密鑰中的一個會 話密鑰對應(yīng),并被分配給所述群組中的任意用戶標(biāo)識信息項u,設(shè)置 所述第一矢量,使得所述第一矢量和關(guān)于所述用戶標(biāo)識信息項u的第二矢量(1、 U、 U2、……、Uk)的內(nèi)積等于ZjllV (其中k是預(yù)定正整 數(shù),Zj是恒定值,所述恒定值是與所述會話密鑰對應(yīng)的多個不同恒定值之一,并且與分配給所述用戶標(biāo)識信息項U的會話密鑰Sj對應(yīng),v是分配給所述群組作為群組標(biāo)識信息項,不小于"0"并且不大于k的整數(shù)之一),以獲得在每次改變所述會話密鑰的分配時,所產(chǎn)生的多個報頭信息項;向所述測試對象輸入所述已加密內(nèi)容和每一報頭信息項; 獲取已解密內(nèi)容作為測試對象對所述已加密內(nèi)容進行解密的結(jié)果,以獲得與所述報頭信息項對應(yīng)的解密結(jié)果;和根據(jù)所述報頭信息項和所述解密結(jié)果之間的關(guān)系來識別所述測試對象擁有的不少于一個的未授權(quán)用戶標(biāo)識信息項。
23.如權(quán)利要求22所述的方法,其中產(chǎn)生所述報頭信息項設(shè)置所述第一矢量,使得所述第一矢量和所述第二矢量的內(nèi)積<formula>formula see original document page 9</formula>等于ZjUvm。d,其中k,是事先設(shè)置的未授權(quán)用戶標(biāo)識信息項的數(shù)量的最大值,并且滿足k-2k'-l)。
24. 如權(quán)利要求18所述的方法,其中所述內(nèi)容是更新對于每一用戶系統(tǒng)唯一的所述解密密鑰所需要的密鑰更新信息。
25. 如權(quán)利要求20所述的方法,其中所述內(nèi)容是更新下列內(nèi)容 所需要的密鑰更新信息(a)所述單個密鑰產(chǎn)生多項式的系數(shù),或(b) 所述單個密鑰產(chǎn)生多項式和所述共用密鑰產(chǎn)生多項式的系數(shù)。
全文摘要
一種內(nèi)容分發(fā)系統(tǒng),通過使用分配給用戶系統(tǒng)的不同會話密鑰對內(nèi)容進行加密;用公用密鑰對每一所述會話密鑰進行加密,所述公鑰與對于每一用戶系統(tǒng)唯一的解密密鑰對應(yīng);針對用戶標(biāo)識信息項的群組,產(chǎn)生報頭信息,所述報頭信息包含已加密會話密鑰和第一矢量,所述第一矢量與所述會話密鑰的一個會話密鑰對應(yīng)并被分配給所述群組中的任意用戶標(biāo)識信息u,設(shè)置所述第一矢量,使得所述第一矢量和關(guān)于用戶標(biāo)識信息u的第二矢量的內(nèi)積等于z<sub>j</sub>u<sup>v</sup>(其中z<sub>j</sub>是分配給用戶標(biāo)識信息u的會話密鑰s<sub>j</sub>的恒定值,v是群組的群組標(biāo)識信息);并將已加密內(nèi)容之一和報頭信息發(fā)送給所述用戶系統(tǒng)。
文檔編號H04L9/08GK101222321SQ20081000283
公開日2008年7月16日 申請日期2008年1月9日 優(yōu)先權(quán)日2007年1月10日
發(fā)明者松下達之 申請人:株式會社東芝