專利名稱:一種數(shù)字內(nèi)容分布式授權(quán)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)字版權(quán)保護(hù)技術(shù)(Digital Rights Management, DRM)領(lǐng)域,涉及一種數(shù)字內(nèi)容分布式授權(quán)方法。
背景技術(shù):
在互聯(lián)網(wǎng)用戶自主性和活躍度頗高的今天,每一位網(wǎng)民都可能是數(shù)字作品的創(chuàng)作 者和使用者,P2P文件共享系統(tǒng)以其低成本、靈活性和高擴(kuò)展性成為個(gè)人用戶之間共享數(shù)字 內(nèi)容的重要途徑。然而,由于缺乏版權(quán)保護(hù)機(jī)制,P2P文件共享系統(tǒng)中大量數(shù)字內(nèi)容被非法 傳播和使用,將DRM功能引入P2P文件共享系統(tǒng)以保護(hù)數(shù)字版權(quán)的需求日益強(qiáng)烈?,F(xiàn)階段最常見的DRM系統(tǒng)包括內(nèi)容服務(wù)器、許可證服務(wù)器和安全客戶端三個(gè)模 塊。其中內(nèi)容服務(wù)器的主要功能是加密數(shù)字內(nèi)容,設(shè)置權(quán)利信息,將數(shù)字內(nèi)容的密文及其 唯一標(biāo)識(shí)封裝成DRM數(shù)字內(nèi)容產(chǎn)品,并將權(quán)利信息和數(shù)字內(nèi)容解密密鑰發(fā)送給許可證服務(wù) 器。許可證服務(wù)器供第三方清算中心使用,主要負(fù)責(zé)許可證的生成和發(fā)放,許可證中包括數(shù) 字內(nèi)容標(biāo)識(shí),數(shù)字內(nèi)容解密密鑰以及許可證服務(wù)器的簽名信息。安全客戶端由DRM控制器 和數(shù)字內(nèi)容使用工具兩部分組成。DRM控制器負(fù)責(zé)向許可證服務(wù)器申請(qǐng)?jiān)S可證,解密數(shù)字內(nèi) 容和控制內(nèi)容的合法使用。數(shù)字內(nèi)容使用工具主要用來輔助用戶使用數(shù)字內(nèi)容。這種DRM 系統(tǒng)結(jié)構(gòu)是在傳統(tǒng)的客戶端-服務(wù)器網(wǎng)絡(luò)環(huán)境下提出的,數(shù)字內(nèi)容可以通過超級(jí)分發(fā)或內(nèi) 容服務(wù)器分發(fā)的方式傳播,所有的授權(quán)和證書頒發(fā)工作由許可證服務(wù)器負(fù)責(zé),如果把這種 結(jié)構(gòu)直接應(yīng)用于P2P文件共享系統(tǒng),許可證服務(wù)器容易成為系統(tǒng)瓶頸,不能保持P2P文件共 享系統(tǒng)的高效性和高度可擴(kuò)展性。目前針對(duì)P2P文件共享系統(tǒng)提出的DRM方案中,大多數(shù)只是依賴P2P文件共享進(jìn)行 數(shù)字內(nèi)容的傳輸,授權(quán)功能仍然集中在服務(wù)器或內(nèi)容擁有者單個(gè)節(jié)點(diǎn)上,用戶若要使用加 密的內(nèi)容,必須從由服務(wù)器或內(nèi)容擁有者獲得用用戶信息加密的內(nèi)容密鑰。文獻(xiàn)“Digital Rights Protection in BitTorrent-Iike P2P Systems,,(Songqing Chen ;Xinwen Zhang, United States Patent Application Publication,No. US2009/0210697A1)依賴檢索服務(wù) 器進(jìn)行密鑰管理,每當(dāng)數(shù)字內(nèi)容在兩個(gè)節(jié)點(diǎn)之間轉(zhuǎn)移時(shí),都需要服務(wù)器計(jì)算重加密密鑰供 源節(jié)點(diǎn)對(duì)數(shù)字內(nèi)容進(jìn)行重加密,并向目標(biāo)節(jié)點(diǎn)提供內(nèi)容解密密鑰。這種方法中,檢索服務(wù)器 在每次授權(quán)過程中都需要計(jì)算和分配密鑰,計(jì)算和存儲(chǔ)開銷大,容易成為系統(tǒng)瓶頸,存在單 點(diǎn)失效問題,沒有維持P2P文件共享系統(tǒng)原有的靈活性和高度可擴(kuò)展性。為了實(shí)現(xiàn)P2P文 件共享系統(tǒng)中數(shù)字內(nèi)容的分布式授權(quán),文獻(xiàn)“DRM Enabled P2P Architecture”(Jae-Youn Sung ;Jeong-Yeon Jeong ;Ki-Song Yoon, The 8th International Conference on Advanced Communication Technology, 2006, Volume 1, Page (s) 487-490) !出—禾中$ 須服務(wù)器參與的分布式授權(quán)模型,許可證簽發(fā)權(quán)可以通過交易在節(jié)點(diǎn)之間轉(zhuǎn)移或拷貝, 從而Ρ2Ρ網(wǎng)絡(luò)中的任何節(jié)點(diǎn)都可以簽發(fā)許可證,但是這種在沒有任何有效控制下允許任 意節(jié)點(diǎn)簽發(fā)許可證的方案是不可靠的。惡意節(jié)點(diǎn)可以在獲得許可證簽發(fā)權(quán)后,在網(wǎng)絡(luò)中 隨意簽發(fā)許可證,或拷貝許可證簽發(fā)權(quán),而正常不收取費(fèi)用,造成權(quán)利管理的失控。文獻(xiàn)“Integrated Copyright Protection in Peer-to-Peer Networks,,(Xiaosong Lou ;Kai Hwang ;Runfang Zhou,The 27th International Conference on Distributed Computing Systems Workshops, 2007, Page (s) 28-28)提出的方案中,P2P網(wǎng)絡(luò)中一組可信的代理節(jié) 點(diǎn)負(fù)責(zé)向授權(quán)用戶傳播數(shù)字內(nèi)容明文并防止數(shù)字內(nèi)容明文傳向未授權(quán)的用戶,但是該方案 只能夠在P2P系統(tǒng)內(nèi)部保護(hù)數(shù)字內(nèi)容的版權(quán),無法防止用戶購(gòu)買數(shù)字內(nèi)容后把數(shù)字內(nèi)容明 文發(fā)布到P2P系統(tǒng)之外的情況。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中的不足之處,本發(fā)明的目的在于提供一種數(shù)字內(nèi)容分布式授權(quán)方法。代理重加密技術(shù)使得代理能夠把被代理人加密的信息密文轉(zhuǎn)化為目標(biāo)用戶能夠 解密的形式而不暴露信息明文。本發(fā)明利用代理重加密技術(shù),提出了一種新穎實(shí)用的數(shù)字 內(nèi)容分布式授權(quán)方法,使得P2P網(wǎng)絡(luò)中的授權(quán)代理能夠完成數(shù)字內(nèi)容授權(quán)和數(shù)字許可證頒 發(fā)的工作,而無需服務(wù)器在數(shù)字內(nèi)容授權(quán)過程中進(jìn)行密鑰的加密封裝以及許可證的生成和 頒發(fā)操作;授權(quán)代理由P2P網(wǎng)絡(luò)的普通節(jié)點(diǎn)擔(dān)當(dāng),無需改變P2P網(wǎng)絡(luò)原有的結(jié)構(gòu);多個(gè)授權(quán) 代理存在于系統(tǒng)中,不但能夠平衡系統(tǒng)開銷,提升系統(tǒng)的可擴(kuò)展性,還能夠減少用戶授權(quán)請(qǐng) 求的響應(yīng)時(shí)間,提高數(shù)字許可證的頒發(fā)效率。本發(fā)明的系統(tǒng)參與者包括內(nèi)容擁有者、授權(quán)代理、內(nèi)容使用者、檢索節(jié)點(diǎn)和一臺(tái)可 信的注冊(cè)/交易服務(wù)器。其中內(nèi)容擁有者、授權(quán)代理和內(nèi)容使用者都安裝了安全的DRM客 戶端軟件,這三種角色由P2P系統(tǒng)中的普通節(jié)點(diǎn)擔(dān)當(dāng),一個(gè)節(jié)點(diǎn)可能同時(shí)擔(dān)任多種角色。檢 索節(jié)點(diǎn)是P2P網(wǎng)絡(luò)中負(fù)責(zé)進(jìn)行資源檢索的節(jié)點(diǎn),根據(jù)P2P網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),檢索節(jié)點(diǎn)可能是 P2P網(wǎng)絡(luò)中普通節(jié)點(diǎn)、超級(jí)節(jié)點(diǎn)或P2P服務(wù)器,在本系統(tǒng)中檢索節(jié)點(diǎn)還負(fù)責(zé)檢索可用的授權(quán) 代理地址。內(nèi)容傳播和許可證頒發(fā)在P2P網(wǎng)絡(luò)內(nèi)部進(jìn)行,只有涉及節(jié)點(diǎn)注冊(cè)、內(nèi)容注冊(cè)、授 權(quán)代理管理和交易管理時(shí)才需要與服務(wù)器通信。1)內(nèi)容擁有者負(fù)責(zé)對(duì)數(shù)字內(nèi)容加密,上傳內(nèi)容密文、權(quán)利信息和內(nèi)容密鑰密文到 服務(wù)器。2)授權(quán)代理負(fù)責(zé)響應(yīng)內(nèi)容使用者的授權(quán)申請(qǐng),對(duì)內(nèi)容使用者授權(quán)并頒發(fā)許可證。 所有的授權(quán)代理共享由服務(wù)器生成的代理密鑰。3)內(nèi)容使用者申請(qǐng)?jiān)S可證并使用數(shù)字內(nèi)容。4)檢索節(jié)點(diǎn)在P2P網(wǎng)絡(luò)中的職責(zé)是維護(hù)資源列表,并向請(qǐng)求節(jié)點(diǎn)提供資源下載地 址。在本系統(tǒng)中,檢索節(jié)點(diǎn)還負(fù)責(zé)維護(hù)授權(quán)代理列表,并向請(qǐng)求節(jié)點(diǎn)提供授權(quán)代理的地址。5)服務(wù)器主要負(fù)責(zé)節(jié)點(diǎn)注冊(cè)、內(nèi)容注冊(cè)、授權(quán)代理管理和交易管理,它運(yùn)行著網(wǎng)絡(luò) 站點(diǎn)和數(shù)據(jù)庫(kù)。本發(fā)明包括以下步驟,其中步驟⑴最先完成,步驟⑷在步驟(2)、(3)之后完 成,步驟(5)在步驟(4)之后完稱,步驟(2) (3)之間沒有先后關(guān)系(1)節(jié)點(diǎn)注冊(cè)P2P網(wǎng)絡(luò)中參與DRM系統(tǒng)的節(jié)點(diǎn)設(shè)置唯一的用戶標(biāo)識(shí),在服務(wù)器注 冊(cè)帳戶。注冊(cè)節(jié)點(diǎn)可以擔(dān)任內(nèi)容擁有者、內(nèi)容使用者和授權(quán)代理中的一個(gè)或多個(gè)角色。對(duì) 于注冊(cè)的內(nèi)容使用者節(jié)點(diǎn),服務(wù)器根據(jù)所采用的代理重加密算法,用自己的私鑰和內(nèi)容使 用者的公鑰或私鑰為其計(jì)算重加密密鑰,用代理密鑰對(duì)稱加密重加密密鑰得到重加密密鑰密文。其中代理密鑰由服務(wù)器在節(jié)點(diǎn)注冊(cè)之前生成。(2)授權(quán)代理初始化服務(wù)器給授權(quán)代理頒發(fā)代理密鑰和代理資質(zhì)證書,并把授 權(quán)代理的地址信息發(fā)送給P2P網(wǎng)絡(luò)中的檢索節(jié)點(diǎn)。其中代理資質(zhì)證書中包含授權(quán)代理的公 鑰和服務(wù)器的數(shù)字簽名信息。(3)數(shù)字內(nèi)容注冊(cè)內(nèi)容擁有者利用DRM客戶端軟件為數(shù)字內(nèi)容隨機(jī)生成內(nèi)容 鑰,用內(nèi)容密鑰對(duì)稱加密數(shù)字內(nèi)容得到數(shù)字內(nèi)容的密文,再用服務(wù)器的公鑰加密內(nèi)容密鑰 得到內(nèi)容密鑰密文,然后把數(shù)字內(nèi)容的密文、內(nèi)容密鑰密文和權(quán)利信息上傳到服務(wù)器。服務(wù) 器可以用自己的私鑰解密內(nèi)容密鑰密文得到內(nèi)容密鑰,然后用內(nèi)容密鑰解密數(shù)字內(nèi)容的密 文得到數(shù)字內(nèi)容的明文,以便根據(jù)系統(tǒng)確定的內(nèi)容審查規(guī)則對(duì)內(nèi)容進(jìn)行審查,確保數(shù)字內(nèi) 容的合法性。然后,服務(wù)器為數(shù)字內(nèi)容生成唯一的數(shù)字內(nèi)容標(biāo)識(shí),并保存數(shù)字內(nèi)容的基本信 息,包括數(shù)字內(nèi)容標(biāo)識(shí)、數(shù)字內(nèi)容的密文、內(nèi)容密鑰密文、內(nèi)容擁有者的標(biāo)識(shí)和權(quán)利信息。然 后服務(wù)器封裝數(shù)字內(nèi)容包,被封裝的信息包含數(shù)字內(nèi)容標(biāo)識(shí)、數(shù)字內(nèi)容的密文、檢索節(jié)點(diǎn)地 址、權(quán)利信息和服務(wù)器的簽名信息。數(shù)字內(nèi)容包可以通過P2P文件共享的形式傳播。(4)數(shù)字內(nèi)容授權(quán)內(nèi)容使用者收到數(shù)字內(nèi)容包后,提取出數(shù)字內(nèi)容包中的檢索 節(jié)點(diǎn)地址,向檢索節(jié)點(diǎn)請(qǐng)求授權(quán)代理的地址,收到檢索節(jié)點(diǎn)返回的授權(quán)代理地址后,向授權(quán) 代理提交授權(quán)請(qǐng)求,授權(quán)請(qǐng)求中包含數(shù)字內(nèi)容標(biāo)識(shí)。授權(quán)代理根據(jù)授權(quán)請(qǐng)求生成交易處理 請(qǐng)求,所述交易處理請(qǐng)求中包含數(shù)字內(nèi)容標(biāo)識(shí)和內(nèi)容使用者的標(biāo)識(shí),請(qǐng)求服務(wù)器處理交易。 服務(wù)器檢查內(nèi)容使用者是否履行該數(shù)字內(nèi)容包對(duì)應(yīng)的權(quán)利信息所要求的義務(wù)(例如付費(fèi)、 稱為會(huì)員或扣除積分),若內(nèi)容使用者未能成功履行所述義務(wù),服務(wù)器向授權(quán)代理返回交易 處理失敗消息;若內(nèi)容使用者成功履行所述義務(wù),服務(wù)器向授權(quán)代理返回交易處理成功消 肩、ο交易處理成功消息中包含所述內(nèi)容使用者的唯一標(biāo)識(shí)、數(shù)字內(nèi)容標(biāo)識(shí)和服務(wù)器的 數(shù)字簽名信息。收到交易處理成功消息后,授權(quán)代理利用內(nèi)容密鑰密文和重加密密鑰密文 (可以如下述“方法一”從服務(wù)器發(fā)送的交易成功消息中獲取,或者如下述“方法二”從內(nèi) 容使用者發(fā)送的授權(quán)請(qǐng)求中獲取)進(jìn)行如下操作首先,用代理密鑰對(duì)重加密密鑰密文解 密,得到內(nèi)容使用者的重加密密鑰;再用內(nèi)容使用者的重加密密鑰對(duì)內(nèi)容密鑰密文進(jìn)行重 加密,得到重加密的內(nèi)容密鑰密文,所述重加密的內(nèi)容密鑰密文可以用內(nèi)容使用者的私鑰 解密;然后授權(quán)代理為內(nèi)容使用者創(chuàng)建數(shù)字許可證,所述數(shù)字許可證包含內(nèi)容使用者的唯 一標(biāo)識(shí)、數(shù)字內(nèi)容標(biāo)識(shí)、重加密的內(nèi)容密鑰密文和授權(quán)代理的數(shù)字簽名信息;最后,授權(quán)代 理將數(shù)字許可證和自己的代理資質(zhì)證書發(fā)送給內(nèi)容使用者。交易處理失敗消息中包含內(nèi)容使用者的唯一標(biāo)識(shí)、數(shù)字內(nèi)容標(biāo)識(shí)、錯(cuò)誤說明信息 和服務(wù)器的數(shù)字簽名信息。收到交易失敗消息后,授權(quán)代理的DRM客戶端軟件首先驗(yàn)證服 務(wù)器的簽名,然后向內(nèi)容使用者轉(zhuǎn)發(fā)交易處理失敗消息,此次交易以失敗結(jié)束。上述授權(quán)代理獲得交易處理成功消息后進(jìn)行重加密操作所用的內(nèi)容密鑰密文和 重加密密鑰密文可以通過兩種方法獲取方法一從服務(wù)器返回的交易處理成功消息中獲取服務(wù)器向授權(quán)代理返回的交易處理成功消息中,除了包含所述內(nèi)容使用者的唯一 標(biāo)識(shí)、數(shù)字內(nèi)容標(biāo)識(shí)和服務(wù)器的數(shù)字簽名信息外,還包含服務(wù)器保存的所述內(nèi)容使用者的 重加密密鑰密文,以及所述數(shù)字內(nèi)容的內(nèi)容密鑰密文。
授權(quán)代理在獲得服務(wù)器返回的交易處理成功消息時(shí),可以從所述交易處理成功消 息中獲得所述內(nèi)容密鑰密文和所述重加密密鑰密文。對(duì)應(yīng)這種方法,在步驟“(1)節(jié)點(diǎn)注冊(cè)”中,服務(wù)器為內(nèi)容使用者生成重加密密鑰, 并用授權(quán)代理共享的代理密鑰對(duì)稱加密重加密密鑰得到重加密密鑰密文后,保存所述重加 密密鑰密文。方法二從內(nèi)容使用者提交的授權(quán)請(qǐng)求中獲取內(nèi)容使用者向授權(quán)代理提交的授權(quán)請(qǐng)求中除了包含數(shù)字內(nèi)容標(biāo)識(shí)外,還包含所述內(nèi)容使用者注冊(cè)時(shí)從服務(wù)器獲得的重加密密鑰密文信息,和從數(shù)字內(nèi)容包中提取的內(nèi)容密 朗笛、3Cfn息。授權(quán)代理在獲得內(nèi)容使用者提交的授權(quán)請(qǐng)求后,在生成交易處理請(qǐng)求,請(qǐng)求服務(wù) 器處理交易之前,從授權(quán)請(qǐng)求中提取出重加密密鑰密文信息和內(nèi)容密鑰密文信息,分別驗(yàn) 證其中服務(wù)器的簽名信息,驗(yàn)證通過后,分別從重加密密鑰密文信息和內(nèi)容密鑰密文信息 中提取出重加密密鑰密文和內(nèi)容密鑰密文。對(duì)應(yīng)這種方法,在步驟“(1)節(jié)點(diǎn)注冊(cè)”中,服務(wù)器為內(nèi)容使用者生成重加密密鑰, 并用授權(quán)代理共享的代理密鑰對(duì)稱加密重加密密鑰得到重加密密鑰密文后,生成重加密密 鑰密文信息并將所述重加密密鑰密文信息發(fā)送給注冊(cè)節(jié)點(diǎn)。所述重加密密鑰密文信息包含 所述內(nèi)容使用者的唯一標(biāo)識(shí)、所述重加密密鑰密文、以及服務(wù)器的簽名信息。在步驟“(3) 數(shù)字內(nèi)容注冊(cè)”中,服務(wù)器封裝數(shù)字內(nèi)容包,被封裝的信息除了包含數(shù)字內(nèi)容標(biāo)識(shí)、數(shù)字內(nèi) 容的密文、檢索節(jié)點(diǎn)地址、權(quán)利信息和服務(wù)器的簽名信息外,還包含內(nèi)容密鑰密文信息。所 述內(nèi)容密鑰密文信息包含所述數(shù)字內(nèi)容標(biāo)識(shí)、內(nèi)容密鑰密文和服務(wù)器的簽名信息。(5)數(shù)字內(nèi)容使用收到數(shù)字許可證和授權(quán)代理的代理資質(zhì)證書后,內(nèi)容使用者 的DRM客戶端軟件首先驗(yàn)證代理資質(zhì)證書中的服務(wù)器簽名是否有效,若無效,內(nèi)容使用者 的DRM客戶端拒絕使用該授權(quán)代理所簽發(fā)的數(shù)字許可證;若有效,內(nèi)容使用者的DRM客戶端 軟件從授權(quán)代理的代理資質(zhì)證書中提取出授權(quán)代理的公鑰,驗(yàn)證授權(quán)代理在數(shù)字許可證中 的簽名,然后提取出數(shù)字許可證中的內(nèi)容密鑰密文,用內(nèi)容使用者的私鑰對(duì)其解密得到內(nèi) 容密鑰,再用內(nèi)容密鑰解密數(shù)字內(nèi)容的密文,得到數(shù)字內(nèi)容的明文供內(nèi)容使用者使用。與現(xiàn)有技術(shù)相比,本發(fā)明的效果在于本發(fā)明通過可信的服務(wù)器和安全的DRM客戶端軟件保證只有獲得授權(quán)的合法內(nèi) 容使用者能夠根據(jù)許可證使用數(shù)字內(nèi)容,從而保護(hù)數(shù)字作品的版權(quán);通過一組授權(quán)代理節(jié) 點(diǎn)分別完成系統(tǒng)中的授權(quán)任務(wù),實(shí)現(xiàn)了分布式授權(quán),平衡了系統(tǒng)開銷,提升了系統(tǒng)的可擴(kuò)展 性,拓寬了用戶獲得許可證的途徑,提升了授權(quán)的效率;通過只有擁有有效代理資質(zhì)證書的 授權(quán)代理才能夠創(chuàng)建能夠被內(nèi)容使用者接受的數(shù)字許可證,且授權(quán)代理的DRM客戶端軟件 只有在服務(wù)器返回交易處理成功消息時(shí),才能按照規(guī)定的流程進(jìn)行重加密操作并創(chuàng)建許可 證,確保授權(quán)的安全。另外,本發(fā)明能為P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)提供成為內(nèi)容擁有者或者授權(quán)代 理以賺取傭金的機(jī)會(huì),對(duì)于數(shù)字內(nèi)容交易市場(chǎng)的健康發(fā)展具有積極的推動(dòng)作用。
圖1為本發(fā)明提供的系統(tǒng)結(jié)構(gòu)圖;圖2為本發(fā)明的流程圖3為本發(fā)明提供的方法一授權(quán)過程交互圖;圖4為本發(fā)明提供的第一實(shí)施例節(jié)點(diǎn)注冊(cè)流程圖; 圖5為本發(fā)明提供的第一、第二、第三實(shí)施例授權(quán)代理初始化流程圖;圖6為本發(fā)明提供的第一、第二實(shí)施例數(shù)字內(nèi)容注冊(cè)流程圖;圖7為本發(fā)明提供的第一、第二實(shí)施例數(shù)字內(nèi)容授權(quán)流程圖;圖8為本發(fā)明提供的第二實(shí)施例節(jié)點(diǎn)注冊(cè)流程圖;圖9為本發(fā)明提供的第三實(shí)施例節(jié)點(diǎn)注冊(cè)流程圖;圖10為本發(fā)明提供的第三實(shí)施例數(shù)字內(nèi)容注冊(cè)流程圖;圖11為本發(fā)明提供的方法二授權(quán)過程交互圖;圖12為本發(fā)明提供的第三實(shí)施例數(shù)字內(nèi)容授權(quán)流程圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施方式,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)描述第一實(shí)施例本實(shí)施例針對(duì)P2P網(wǎng)絡(luò)中數(shù)字內(nèi)容交易的應(yīng)用場(chǎng)景提出數(shù)字內(nèi)容分布式授權(quán)方 法,可以采用多種代理重加密算法,這類算法的特點(diǎn)是重加密密鑰根據(jù)被代理人(服務(wù)器) 的私鑰和用戶(內(nèi)容使用者)的私鑰計(jì)算而成。下面以文獻(xiàn)“Proxy Cryptography Revisited,,(Anca Ivan ;Yevgeniy Dodis, Proc. IOth annual Network and Distributed System Security Symposium(NDSS),2003) 提出的基于El Gamal算法的代理重加密算法為例,說明實(shí)施方法。重加密運(yùn)算記為RE(r, c),表示用重加密密鑰r對(duì)密文c進(jìn)行重加密。參見圖1,本系統(tǒng)的參與者包括內(nèi)容擁有者A、內(nèi)容使用者B、授權(quán)代理P、檢索節(jié)點(diǎn) X和可信的注冊(cè)/交易服務(wù)器S。A、B和P都是P2P系統(tǒng)中的普通節(jié)點(diǎn),安裝了安全的DRM 客戶端軟件。根據(jù)P2P網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),X能可能是P2P網(wǎng)絡(luò)中的普通節(jié)點(diǎn)、超級(jí)節(jié)點(diǎn)或P2P 服務(wù)器。服務(wù)器維護(hù)內(nèi)容使用者的授權(quán)記錄,授權(quán)記錄中記錄已經(jīng)付費(fèi)的授權(quán)情況,每條記 錄中包括內(nèi)容使用者的唯一標(biāo)識(shí)和數(shù)字內(nèi)容標(biāo)識(shí)。素?cái)?shù)η和小于η的隨機(jī)數(shù)g是系統(tǒng)參數(shù),服務(wù)器S選擇小于η的隨機(jī)數(shù)s作為自 己的私鑰Sks = S,并計(jì)算相應(yīng)的公鑰Pks = gs mod η。本實(shí)施例對(duì)應(yīng)發(fā)明內(nèi)容中的方法一,總體流程參見圖2 服務(wù)器S為注冊(cè)的內(nèi)容使 用者B計(jì)算重加密密鑰,并用代理密鑰加密重加密密鑰生成重加密密鑰密文,保存之。S向 授權(quán)代理P頒發(fā)代理資質(zhì)證書和代理密鑰。當(dāng)獲得包含加密內(nèi)容的數(shù)字內(nèi)容包時(shí),B向授 權(quán)代理P提交授權(quán)請(qǐng)求。P請(qǐng)求S進(jìn)行交易處理,S收費(fèi)成功后,P收到S返回的交易處理 成功消息,其中包含內(nèi)容密鑰密文和B的重加密密鑰密文。P用代理密鑰解密重加密密鑰密 文,得到B的重加密密鑰,然后用B的重加密密鑰對(duì)內(nèi)容密鑰密文進(jìn)行重加密,得到重加密 的內(nèi)容密鑰密文。最后,P根據(jù)重加密的內(nèi)容密鑰密文創(chuàng)建數(shù)字許可證,將自己的代理資質(zhì) 證書和創(chuàng)建的數(shù)字許可證發(fā)送給B。B收到許可證后,在DRM客戶端軟件中根據(jù)許可證中的 權(quán)利描述解密并使用數(shù)字內(nèi)容。本實(shí)施例的具體步驟為(1)節(jié)點(diǎn)注冊(cè)
本實(shí)施例的節(jié)點(diǎn)注冊(cè)流程如圖4所示。P2P網(wǎng)絡(luò)中參與DRM系統(tǒng)的節(jié)點(diǎn),包括A和 B,需要到服務(wù)器注冊(cè)。對(duì)于內(nèi)容使用者節(jié)點(diǎn),服務(wù)器還要為其計(jì)算重加密密鑰。以節(jié)點(diǎn)B 為例,B登錄服務(wù)器S提供的網(wǎng)站注冊(cè)賬戶,設(shè)置唯一的標(biāo)識(shí)IDB,密碼為“123”。S為B分 配私鑰skB,值為在系統(tǒng)中唯一的隨機(jī)數(shù)b,計(jì)算相應(yīng)的公鑰pkB = gb mod n,并安全地把skB 和pkB傳送給B。B的DRM客戶端安全地保存skB和pkB。下一步,S根據(jù)采用的代理重加密算法用自己的私鑰Sks和B的私鑰skB計(jì)算重加 密密鑰—B = (s-b),為s減b之差,用授權(quán)代理共享的代理密鑰aKey對(duì)稱加密—B得到 重加密密鑰密文Eafey (rs — B)。之后,S在數(shù)據(jù)庫(kù)中保存B的注冊(cè)信息,包括IDb、skB、pkB和Ealtey (rs — B)。(2)授權(quán)代理初始化
本實(shí)施例的授權(quán)代理初始化流程如圖5所示。服務(wù)器S在P2P網(wǎng)絡(luò)中選擇注冊(cè)節(jié) 點(diǎn)P作為授權(quán)代理,并為其設(shè)置恰當(dāng)?shù)拇碛行?。服?wù)器在數(shù)據(jù)庫(kù)中查找P的注冊(cè)信息, 在所述注冊(cè)信息中補(bǔ)充P的代理有效期信息,更新后的P的注冊(cè)信息包括P的標(biāo)識(shí)IDP、P的 私鑰skP、P的公鑰pkP和P的代理有效期。S采用非對(duì)稱加密算法,用pkP非對(duì)稱加密授權(quán) 代理共享的代理密鑰aKey得到代理密鑰密文E (pkP,aKey),這里假設(shè)S采用El Gamal加密 算法加密代理密鑰,那么代理密鑰密文E (pkP,aKey)的值為二元組(gk mod η, aKey Xgpk mod η),其中k為隨機(jī)數(shù);然后給P頒發(fā)代理密鑰信息APKey(P)和代理資質(zhì)證書QC(P)。其中 APKey(P)中包含代理密鑰密文E (pkP,aKey)和S的數(shù)字簽名信息;QC (P)中包括IDP、pkP、P 的代理有效期和服務(wù)器S的數(shù)字簽名信息。P驗(yàn)證APKey(P)和QC(P)中S的簽名后,保存 APKey (P)和 QC(P)。另外,S還要把P的地址、P的代理有效期和自己的數(shù)字簽名信息發(fā)送給P2P網(wǎng)絡(luò) 中的檢索節(jié)點(diǎn)X,X驗(yàn)證S的簽名后,保存P的地址和代理有效期信息。(3)數(shù)字內(nèi)容注冊(cè)本實(shí)施例的數(shù)字內(nèi)容注冊(cè)流程如圖6所示。數(shù)字內(nèi)容M的擁有者A利用DRM客戶 端軟件隨機(jī)生成內(nèi)容密鑰CEK,用CEK對(duì)稱加密數(shù)字內(nèi)容M,得到內(nèi)容密文C = Ecek (M);然后 A采用El Gamal加密算法,用服務(wù)器的公鑰pks加密CEK得到內(nèi)容密鑰密文E (pks,CEK),值 為二元組(gk mod η, CEKXgsk mod η),其中k為隨機(jī)數(shù);最后A把數(shù)字內(nèi)容的密文C、內(nèi)容 密鑰密文E(pks,CEK)和內(nèi)容的權(quán)利信息上傳到服務(wù)器S。S首先采用El Gamal算法,用私鑰s解密內(nèi)容密鑰密文E (pks,CEK)得到內(nèi)容密鑰 CEK 令 E(pks,CEK) = (gk mod ρ, CEKXgsk mod ρ) = (α,β ),那么 CEK 的值為 β X α _s ; 然后用CEK對(duì)內(nèi)容密文C進(jìn)行解密得到內(nèi)容明文M :M = Dcek (C) = Dcek (Ecek (M))。S根據(jù)系 統(tǒng)的內(nèi)容審查規(guī)則審查M :a)若審查不通過,給A返回失敗消息;b)若審查通過,給M設(shè)定唯一的數(shù)字內(nèi)容標(biāo)識(shí)CID,并在數(shù)據(jù)庫(kù)的資源列表中添加 內(nèi)容CID的信息,包括數(shù)字內(nèi)容標(biāo)識(shí)CID、數(shù)字內(nèi)容的密文C、內(nèi)容密鑰密文E(pks,CEK)、內(nèi) 容擁有者A的標(biāo)識(shí)IDa和權(quán)利信息。S將審核通過的數(shù)字內(nèi)容封裝,嵌入檢索節(jié)點(diǎn)X的地 址,得到數(shù)字內(nèi)容包,其中包含CID、C、X的地址、內(nèi)容的權(quán)利信息和S對(duì)上述信息做摘要后 的數(shù)字簽名。之后,S給A返回?cái)?shù)字內(nèi)容注冊(cè)成功消息,把內(nèi)容CID的介紹信息和數(shù)字內(nèi)容 包公布在網(wǎng)站上,供用戶任意下載數(shù)字內(nèi)容包,一旦數(shù)字內(nèi)容包進(jìn)入P2P系統(tǒng),就可以通過P2P文件共享的方式在系統(tǒng)中傳播。(4)數(shù)字內(nèi)容授權(quán)數(shù)字內(nèi)容授權(quán)過程的交互情況如圖3所示,流程如圖7所示。第一步申請(qǐng)授權(quán)當(dāng)獲得CID的數(shù)字內(nèi)容包后,內(nèi)容使用者B的DRM客戶端軟件在本地搜索CID對(duì) 應(yīng)的數(shù)字許可證,若沒有搜索到對(duì)應(yīng)的許可證,從內(nèi)容包中提取出X的地址,并向X請(qǐng)求授 權(quán)代理的地址,X提供當(dāng)前可用、且在代理有效期內(nèi)的授權(quán)代理P的地址給B。B向P申請(qǐng)內(nèi)容CID的使用權(quán)利rights。P根據(jù)B的授權(quán)請(qǐng)求生成交易處理請(qǐng)求, 請(qǐng)求S處理交易,所述交易處理請(qǐng)求包括P的標(biāo)識(shí)IDP、B的標(biāo)識(shí)IDb、內(nèi)容標(biāo)識(shí)CID、rights 以及P對(duì)上述信息做摘要后的數(shù)字簽名。第二步交易處理S收到P發(fā)送的交易處理請(qǐng)求后,在數(shù)據(jù)庫(kù)中查找P的信息,確認(rèn)當(dāng)前時(shí)間在P的 代理有效期內(nèi),提取P的公鑰,驗(yàn)證P的數(shù)字簽名。驗(yàn)證通過后,S從交易信息中提取出IDb 及其申請(qǐng)的內(nèi)容使用權(quán)利信息CID和rights,查看B的授權(quán)記錄a)若B之前沒有獲得對(duì)CID的rights授權(quán),S根據(jù)資源列表中保存的內(nèi)容CID 的權(quán)利信息向B收取相應(yīng)的費(fèi)用后,在B的授權(quán)記錄中增加當(dāng)前授權(quán)的信息,包括CID和 rights,并按比例支付傭金到P的帳戶,向P返回交易處理成功消息。b)若B之前已經(jīng)獲得對(duì)CID的rights授權(quán),S不做收費(fèi)和授權(quán)記錄更新的處理, 向P返回交易處理成功消息。c)其他情況,如收費(fèi)不成功或請(qǐng)求權(quán)利無效,S返回交易處理失敗消息。S給P返回的交易處理成功消息中包括狀態(tài)值Status、內(nèi)容標(biāo)識(shí)CID、權(quán)利信 息rights、時(shí)間戳、狀態(tài)值Status為1,還包含S從數(shù)據(jù)庫(kù)中提取的CID的內(nèi)容密鑰密文 E(pks,CEK)和B的重加密密鑰密文Eafey以及S對(duì)上述信息的數(shù)字簽名信息;交易處 理失敗消息中包括狀態(tài)值Status、內(nèi)容標(biāo)識(shí)CID、權(quán)利信息rights、時(shí)間戳、狀態(tài)值Status 為0以及S對(duì)上述信息的數(shù)字簽名信息。若收到S的交易處理失敗消息,P首先驗(yàn)證消息時(shí)間和S的簽名,然后將交易處理 失敗消息轉(zhuǎn)發(fā)給B,此次交易以失敗結(jié)束。否則,進(jìn)行下一步。第三步頒發(fā)證書S返回交易處理成功消息后,P的DRM客戶端軟件驗(yàn)證消息時(shí)間和S的數(shù)字簽名信 息,由S的交易處理成功消息(Status = 1)觸發(fā),用P的私鑰ρ解密APKey(P)中的代理密 鑰密文 E(pkP,aKey)得到代理密鑰 aKey 令 E(pkP,aKey) = (gk mod η, aKeyXgpk mod η) =(μ,ε ),那么aKey的值為ε X μ _p ;再用aKey對(duì) 交易處理成功消息中的Ealiey(rs— 解 密,得到重加密密鑰—B = DaKey(EaKey(rs —B)) = (s_b),然后根據(jù)重加密運(yùn)算RE,利用—B 對(duì)成功消息中的E(pks,CEK)進(jìn)行重加密,得到能夠被B解密的內(nèi)容密鑰密文RE(rs —B, E(pks, CEK)) = (α,β X α _(“))= (gk mod η, CEKXgbk mod η) = E(pkB, CEK)。進(jìn)一步, P提取成功消息中的CID和rights為B創(chuàng)建數(shù)字許可證L,L中包含IDB,CID, B獲得的授 權(quán)rights、能夠被B解密的內(nèi)容密鑰密文E (pkB,CEK)和授權(quán)代理P對(duì)上述信息做摘要后的 數(shù)字簽名。最后P把數(shù)字許可證L和自己的代理資質(zhì)證書QC(P)發(fā)送給B。(5)數(shù)字內(nèi)容使用
B的DRM客戶端軟件收到數(shù)字許可證L和代理資質(zhì)證書QC⑵后,先驗(yàn)證QC⑵中 S的簽名和P的代理有效期,再?gòu)腝C⑵中提取P的公鑰,驗(yàn)證P在L中的簽名。驗(yàn)證通過 后,B的DRM客戶端軟件提取B的私鑰b,用b解密L中的E (pkB,CEK)得到CEK 令E (pkB,CEK) = (μ , ε), CEK的值為ε X μ _b ;最后根據(jù)L中的權(quán)利描述,用CEK解密數(shù)字內(nèi)容的 密文C得到數(shù)字內(nèi)容的明文M供B使用。第二實(shí)施例上述第一實(shí)施例要求服務(wù)器知道內(nèi)容使用者的私鑰,重加密密鑰根據(jù)服務(wù)器的私 鑰和內(nèi)容使用者的私鑰生成。本實(shí)施例針對(duì)P2P網(wǎng)絡(luò)中數(shù)字內(nèi)容交易的應(yīng)用場(chǎng)景提出數(shù)字 內(nèi)容分布式授權(quán)方法,可以采用多種代理重加密算法,這類算法的特點(diǎn)是重加密密鑰根據(jù) 被代理人(服務(wù)器)的私鑰和用戶(內(nèi)容使用者)的公鑰計(jì)算而成。通過采用這類算法, 服務(wù)器無需知道內(nèi)容使用者的私鑰,重加密密鑰根據(jù)服務(wù)器的私鑰和內(nèi)容使用者的公鑰生 成。下面以文獻(xiàn)"Improved proxy re-encryption schemes with applications to secure distributed storage,,(Giuseppe Ateniese ;Kevin Fu ;Matthew Green ;Susan Hohenberger, Feb. ACM Transactions on Information and System Security (TIS SEC), 2006, Volume 9,Issue 1)提出的基于雙線性映射的代理重加密算法為例,說明實(shí)施方法。參見圖1,本系統(tǒng)的參與者包括內(nèi)容擁有者A、授權(quán)代理P、內(nèi)容使用者B、檢索節(jié)點(diǎn) X和一臺(tái)可信的注冊(cè)/交易服務(wù)器S。A、P和B都是P2P系統(tǒng)中的普通節(jié)點(diǎn),安裝了安全的 DRM客戶端軟件。根據(jù)P2P網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),檢索節(jié)點(diǎn)X能可能是P2P網(wǎng)絡(luò)中的普通節(jié)點(diǎn)、 超級(jí)節(jié)點(diǎn)或P2P服務(wù)器。服務(wù)器維護(hù)內(nèi)容使用者的授權(quán)記錄,授權(quán)記錄中記錄已經(jīng)付費(fèi)的 授權(quán)情況,每條記錄中包括內(nèi)容使用者的唯一標(biāo)識(shí)和數(shù)字內(nèi)容標(biāo)識(shí)。g和Z是系統(tǒng)參數(shù),它們是這樣得到的G1; G2是兩個(gè)序?yàn)樗財(cái)?shù)q的群,e =G1XG1-G2 是一個(gè)可計(jì)算的雙線性映射,對(duì)任意u,ν £61和任意整數(shù)^13,滿足6(11%/) = e(u,v)ab0 8是&的任意生成元,Z = e(g,g)是G2的生成元。服務(wù)器S擁有私鑰sks = s,公鑰pks = Zs,并把pks公布。系統(tǒng)的任意用戶U的客戶端能夠根據(jù)U在P2P網(wǎng)絡(luò)中的唯一標(biāo)識(shí)或U的 硬件設(shè)備標(biāo)識(shí)生成U的私鑰Sku = u,并得到U的公鑰Pku = gu,為系統(tǒng)參數(shù)g的u次冪。本實(shí)施例中重加密運(yùn)算記為RE (r,c),表示用重加密密鑰r對(duì)密文c進(jìn)行重加密。 所用的代理重加密算法涉及兩種非對(duì)稱加密運(yùn)算=E1和E2。非對(duì)稱加密E1得到的密文是 可以被重加密的,例如,用服務(wù)器的公鑰Pks = Zs對(duì)明文M做E1的加密運(yùn)算,可以表示為 E1(pks,M),其值為二元組(gk,MXZsk),其中k為隨機(jī)數(shù);令U為系統(tǒng)中的任一用戶,根據(jù)U的 公鑰gu和S的私鑰s可以得到S到U的重加密密鑰—u = gsu,利用—u可以把用S的公 鑰加密的M的密文,即E1(PkyM),重加密為用U的私鑰能夠解密的形式,重加密的結(jié)果可以 用非對(duì)稱加密 E2(PkipM)表示REkpipE1 (pks,M)) =E2(PkipM) = (Zsuk, MXZsk) = (Zuk,, MXZk'),其中Zsuk由e(gk,gsu)計(jì)算而得,k’等于s乘以k。E2的密文不能被再用來重加 密,即本實(shí)施例所用的重加密算法是不可傳遞的。E1和E2得到的密文都能用對(duì)應(yīng)的私鑰解 密。例如,令E1 (pks,Μ) = ( α,β ),可以用S的私鑰s解密得到M的值為β /e ( α,g)s ;又 如,令E2(PkipM) = (ο,Y),可以用U的私鑰u解密得到M的值為γ/(οιΛι)。本實(shí)施例對(duì)應(yīng)發(fā)明內(nèi)容中的方法一,總體流程參見圖2 服務(wù)器S為注冊(cè)的內(nèi)容使 用者B計(jì)算重加密密鑰,并用代理密鑰加密重加密密鑰生成重加密密鑰密文,保存之。S向授權(quán)代理P頒發(fā)代理資質(zhì)證書和代理密鑰。當(dāng)獲得包含加密內(nèi)容的數(shù)字內(nèi)容包時(shí),B向授 權(quán)代理P提交授權(quán)請(qǐng)求。P請(qǐng)求S進(jìn)行交易處理,S收費(fèi)成功后,P收到S返回的交易處理 成功消息,其中包含內(nèi)容密鑰密文和B的重加密密鑰密文。P用代理密鑰解密重加密密鑰密 文,得到B的重加密密鑰,然后用B的重加密密鑰對(duì)內(nèi)容密鑰密文進(jìn)行重加密,得到重加密 的內(nèi)容密鑰密文。最后,P根據(jù)重加密的內(nèi)容密鑰密文創(chuàng)建數(shù)字許可證,將自己的代理資質(zhì) 證書和創(chuàng)建的數(shù)字許可證發(fā)送給B。B收到許可證后,在DRM客戶端軟件中根據(jù)許可證中的 權(quán)利描述解密并使用數(shù)字內(nèi)容。本實(shí)施例的具體步驟為(1)節(jié)點(diǎn)注冊(cè) 本實(shí)施例的節(jié)點(diǎn)注冊(cè)流程如圖8所示。在P2P網(wǎng)絡(luò)中,參與DRM系統(tǒng)的節(jié)點(diǎn),包括 A和B,需要到服務(wù)器注冊(cè)。對(duì)于內(nèi)容使用者節(jié)點(diǎn),服務(wù)器還要為其計(jì)算重加密密鑰。以節(jié) 點(diǎn)B為例,B登錄服務(wù)器S提供的網(wǎng)站注冊(cè)賬戶,設(shè)置唯一的標(biāo)識(shí)IDB,密碼為123。B的DRM 客戶端保存IDb,用IDb或B的硬件設(shè)備標(biāo)識(shí)生成B的私鑰skB為b,B的公鑰pkB為gb,即系 統(tǒng)參數(shù)g的b次冪,并上傳公鑰pkB。S根據(jù)B的公鑰gb和自己的私鑰s計(jì)算得到重加密密 鑰—B = gsb,用授權(quán)代理共享的代理密鑰aKey對(duì)稱加密重加密密鑰得到重加密密鑰密文 Eaxey (rs^b)。最后,S在數(shù)據(jù)庫(kù)中保存B的注冊(cè)信息,包括IDB、pkB和Eafey (rs — B)。(2)授權(quán)代理初始化本實(shí)施例的授權(quán)代理初始化流程如圖5所示。系統(tǒng)中的注冊(cè)節(jié)點(diǎn)向S提出代理 申請(qǐng),S根據(jù)系統(tǒng)的代理資質(zhì)標(biāo)準(zhǔn)選擇P作為授權(quán)代理,并設(shè)置恰當(dāng)?shù)拇碛行凇在數(shù) 據(jù)庫(kù)中查找P的注冊(cè)信息,在所述注冊(cè)信息中補(bǔ)充P的代理有效期信息,更新后的P的注 冊(cè)信息包括P的標(biāo)識(shí)IDp、P的公鑰Pkp和P的代理有效期。S采用非對(duì)稱加密算法(例如 ElGamal算法),用P的公鑰非對(duì)稱加密授權(quán)代理共享的代理密鑰aKey得到代理密鑰密文 E (pkP, aKey),給P頒發(fā)代理密鑰信息APKey (P)和代理資質(zhì)證書QC (P)0其中APKey (P)中 包含代理密鑰密文E(pkP,aKey)和S的簽名信息;QC (P)中包括IDP、pkP、P的代理有效期和 服務(wù)器的簽名信息。P驗(yàn)證APKey (P)和QC(P)中S的簽名后,保存APKey (P)和QC(P)。另外,S還要把P的地址、P的代理有效期和自己的簽名信息發(fā)送給P2P網(wǎng)絡(luò)中的 檢索節(jié)點(diǎn)X,X驗(yàn)證S的簽名后,保存P的地址和代理有效期信息。(3)數(shù)字內(nèi)容注冊(cè)本實(shí)施例的數(shù)字內(nèi)容注冊(cè)流程如圖6所示。數(shù)字內(nèi)容M的擁有者A利用DRM客戶 端軟件隨機(jī)生成內(nèi)容密鑰CEK,用CEK對(duì)稱加密數(shù)字內(nèi)容M,得到內(nèi)容密文C = Ecek (M);然后 A采用E1,用服務(wù)器的公鑰pks加密CEK得到內(nèi)容密鑰密文E1 (pks,CEK),值為(gk,CEK X Zsk), 其中k為隨機(jī)數(shù),并把內(nèi)容密文C、內(nèi)容密鑰密文E1 (pks,CEK)和內(nèi)容的權(quán)利信息上傳到服 務(wù)器S。S首先用私鑰s解密內(nèi)容密鑰密文EJpks, CEK)得到內(nèi)容密鑰CEK 令E1 (pks,CEK) =(α , β),那么CEK的值為i3/e(a,g)s;然后用CEK對(duì)內(nèi)容密文C進(jìn)行解密得到內(nèi)容明 文M :M = Dcek(C) = Dcek(Ecek(M))0 S根據(jù)系統(tǒng)的內(nèi)容審查規(guī)則審查M a)若審查不通過,則給A返回失敗消息;b)若審查通過,給M設(shè)定唯一的內(nèi)容標(biāo)識(shí)CID,并在數(shù)據(jù)庫(kù)的資源列表中添加內(nèi)容 CID的信息,包括內(nèi)容標(biāo)識(shí)CID、內(nèi)容密文C、內(nèi)容密鑰密文E1 (pks,CEK)、內(nèi)容擁有者A的標(biāo) 識(shí)IDa和內(nèi)容的權(quán)利信息。S將審核通過的數(shù)字內(nèi)容封裝,嵌入檢索節(jié)點(diǎn)X的地址,得到數(shù)字內(nèi)容包,數(shù)字內(nèi)容包中的信息包括CID、C、X的地址、內(nèi)容的權(quán)利信息和S對(duì)上述信息做摘 要后的簽名。之后,S給A返回?cái)?shù)字內(nèi)容注冊(cè)成功消息,把內(nèi)容CID的介紹信息和數(shù)字內(nèi)容 包公布在網(wǎng)站上,供用戶任意下載數(shù)字內(nèi)容包,一旦數(shù)字內(nèi)容包進(jìn)入P2P系統(tǒng),就可以通過 P2P文件共享的方式在系統(tǒng)中傳播。(4)數(shù)字內(nèi)容授權(quán) 數(shù)字內(nèi)容授權(quán)過程的交互情況如圖3所示,流程如圖7所示。第一步申請(qǐng)授權(quán)當(dāng)獲得CID的數(shù)字內(nèi)容包后,內(nèi)容使用者B的DRM客戶端軟件在本地搜索CID對(duì) 應(yīng)的許可證,若沒有搜索到對(duì)應(yīng)的許可證,從內(nèi)容包中提取出X的地址,并向X請(qǐng)求授權(quán)代 理地址,X提供當(dāng)前可用、且在代理有效期內(nèi)的授權(quán)代理P的地址給B。B向P申請(qǐng)內(nèi)容CID的使用權(quán)利rights。P根據(jù)B的授權(quán)請(qǐng)求生成交易處理請(qǐng)求, 請(qǐng)求S處理交易,所述交易處理請(qǐng)求包括IDP、IDB、CID、rights以及P對(duì)上述信息做摘要后 的簽名。第二步交易處理S收到P發(fā)送的交易處理請(qǐng)求后,在數(shù)據(jù)庫(kù)中查找P的注冊(cè)信息,確認(rèn)當(dāng)前時(shí)間在 P的代理有效期內(nèi),提取P的公鑰,驗(yàn)證P的簽名。驗(yàn)證通過后,S從交易信息中提取出IDb 及其申請(qǐng)的內(nèi)容使用權(quán)利信息CID和rights,查看B的授權(quán)記錄a)若B之前沒有獲得對(duì)CID的rights授權(quán),S根據(jù)資源列表中保存的內(nèi)容CID 的權(quán)利信息向B收取相應(yīng)的費(fèi)用后,在B的授權(quán)記錄中增加當(dāng)前授權(quán)的信息,包括CID和 rights,并按比例支付傭金到P的帳戶,向P返回交易處理成功消息。b)若B之前已經(jīng)獲得對(duì)CID的rights授權(quán),S不做收費(fèi)和授權(quán)記錄更新的處理, 直接返回交易處理成功消息。c)其他情況,如收費(fèi)不成功或請(qǐng)求權(quán)利無效,S返回交易處理失敗消息。S給P返回的交易處理成功消息中包括狀態(tài)值Status、內(nèi)容標(biāo)識(shí)CID、權(quán)利信 息rights、時(shí)間戳、狀態(tài)值Status為1,還包含S從數(shù)據(jù)庫(kù)中提取的CID的內(nèi)容密鑰密文 E(pks,CEK)和B的重加密密鑰密文Eafey以及S對(duì)上述信息的數(shù)字簽名信息;交易處 理失敗消息中包括狀態(tài)值Status、內(nèi)容標(biāo)識(shí)CID、權(quán)利信息rights、時(shí)間戳、狀態(tài)值Status 為0以及S對(duì)上述信息的數(shù)字簽名信息。若收到S的交易處理失敗消息,P首先驗(yàn)證消息時(shí)間和S的簽名,然后將交易處理 失敗消息轉(zhuǎn)發(fā)給B,此次交易以失敗結(jié)束。否則,進(jìn)行下一步。第三步頒發(fā)證書S返回交易處理成功消息后,P的DRM客戶端軟件驗(yàn)證消息時(shí)間和S的數(shù)字簽名, 由S的交易處理成功消息(Status = 1)觸發(fā),用P的私鑰Skp解密APKey (P)中的代理密 鑰密文E (pkP, aKey)得到代理密鑰aKey,再用aKey對(duì)交易處理成功消息中的EaKey (rs^B)解 密,得到重加密密鑰—B = Daliey(EaKey(rs^b)) = gsb,然后提取成功消息中的Ejpks, CEK), 令 EJpks, CEK) = (gk,CEKXZsk) = (α , β ),用 rs — Β 對(duì) E1 (pks,CEK)進(jìn)行重加密計(jì)算,得 到能夠被 B 解密的內(nèi)容密鑰密文 AEkpwE1(PlvCEK)) =E2(pkB,CEK) = (e(rs —Β,α), β) = (Zsbk,CEKXZsk),即(Zbk,,CEKXZk,),其中 k,= sXk, Zsbk = e(gk, gsb)。進(jìn)一步,P 提取成功消息中的CID和rights為B創(chuàng)建數(shù)字許可證L,L中包含IDB,CID, B獲得的授權(quán)rights,B能夠解密的內(nèi)容密鑰密文E2 (pkB,CEK)和授權(quán)代理P對(duì)上述信息做摘要后的數(shù)字簽名。最后P把許可證L和自己的代理資質(zhì)證書QC(P)發(fā)送給B。(5)數(shù)字內(nèi)容使用B的DRM客戶端軟件收到數(shù)字許可證L和QC(P)后,先驗(yàn)證QC⑵中S的簽名和 P的代理有效期,再?gòu)腝C(P)中提取P的公鑰,驗(yàn)證P在L中的簽名。驗(yàn)證通過后,B的DRM 客戶端軟件計(jì)算B的私鑰b,用b解密L中的E2 (pkB,CEK)得到CEK 令E2 (pkB,CEK) = (σ , Y), CEK的值為γ / ( σ 1/b),然后根據(jù)L中的權(quán)利描述,用CEK解密數(shù)字內(nèi)容的密文C得到 數(shù)字內(nèi)容的明文M供B使用。第三實(shí)施例上述第一、第二實(shí)施例要求服務(wù)器在數(shù)字內(nèi)容授權(quán)過程中讀取數(shù)據(jù)庫(kù)信息,向授 權(quán)代理傳送內(nèi)容密鑰密文和重加密密鑰密文。為了進(jìn)一步減輕服務(wù)器在授權(quán)過程中的開 銷,本實(shí)施例針對(duì)P2P網(wǎng)絡(luò)中數(shù)字內(nèi)容交易的應(yīng)用場(chǎng)景提出數(shù)字內(nèi)容分布式授權(quán)方法內(nèi) 容密鑰密文和重加密密鑰密文由內(nèi)容使用者在提交授權(quán)請(qǐng)求的時(shí)候發(fā)送給授權(quán)代理,無需 服務(wù)器在交易處理成功后讀取數(shù)據(jù)庫(kù),然后向授權(quán)代理發(fā)送。另外,類似第一、第二實(shí)施例,為了防止內(nèi)容使用者在申請(qǐng)授權(quán)時(shí)對(duì)已經(jīng)付費(fèi)獲得 的授權(quán)重復(fù)付費(fèi),引入了授權(quán)記錄,只有授權(quán)記錄中沒有對(duì)應(yīng)項(xiàng)的授權(quán)請(qǐng)求才需要由服務(wù) 器收費(fèi)。不同的是,在本實(shí)施例中,授權(quán)記錄由授權(quán)代理維護(hù)和共享,只有所處理的授權(quán)請(qǐng) 求需要付費(fèi)時(shí),授權(quán)代理才向服務(wù)器發(fā)送交易處理請(qǐng)求,并在收到交易處理成功消息后更 新授權(quán)記錄,這樣避免了服務(wù)器查看和更新授權(quán)記錄的操作。這種授權(quán)記錄的維護(hù)方法是 為了迎合本實(shí)施例進(jìn)一步減輕服務(wù)器開銷的指導(dǎo)思想,具體實(shí)施中也可以采用第一、第二 實(shí)施例所用的授權(quán)記錄維護(hù)方法。本實(shí)施例米用文獻(xiàn)"Improved proxy re-encryption schemes with applications to secure distributed storage,,(Giuseppe Ateniese ;Kevin Fu ; Matthew Green ;Susan Hohenberger,Feb. ACM Transactions on Information and System Security (TIS SEC),2006,Volume 9, Issue 1)提出的基于雙線性映射的代理重加密算法。參見圖1,本系統(tǒng)的參與者包括內(nèi)容擁有者A、授權(quán)代理P、內(nèi)容使用者B、檢索節(jié)點(diǎn) X和一臺(tái)可信的注冊(cè)/交易服務(wù)器S。A、P和B都是P2P系統(tǒng)中的普通節(jié)點(diǎn),安裝了安全的 DRM客戶端軟件。根據(jù)P2P網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),檢索節(jié)點(diǎn)X能可能是P2P網(wǎng)絡(luò)中的普通節(jié)點(diǎn)、 超級(jí)節(jié)點(diǎn)或P2P服務(wù)器。授權(quán)代理通過P2P文件共享的方式共同維護(hù)內(nèi)容使用者的授權(quán)記 錄,授權(quán)記錄中記錄已經(jīng)付費(fèi)的授權(quán)情況,每條記錄中包括內(nèi)容使用者的唯一標(biāo)識(shí)、數(shù)字內(nèi) 容標(biāo)識(shí)和添加該條記錄的授權(quán)節(jié)點(diǎn)的簽名信息。g和Z是系統(tǒng)參數(shù),它們是這樣得到的G1; G2是兩個(gè)序?yàn)樗財(cái)?shù)q的群,e =G1XG1-G2 是一個(gè)可計(jì)算的雙線性映射,對(duì)任意U,ν ε G1和任意整數(shù)a,b,滿足e (ua vb) = e(u,v)ab0 8是&的任意生成元,Z = e(g,g)是G2的生成元。服務(wù)器S擁有私鑰sks = s,公鑰pks = Zs,并把Pks公布。系統(tǒng)的任意用戶U的客戶端能夠根據(jù)U在P2P網(wǎng)絡(luò)中的唯一標(biāo)識(shí)或U的 硬件設(shè)備標(biāo)識(shí)生成U的私鑰Sku = u,并得到U的公鑰Pku = gu,為系統(tǒng)參數(shù)g的u次冪。本實(shí)施例中重加密運(yùn)算記為RE (r,c),表示用重加密密鑰r對(duì)密文c進(jìn)行重加密。 所用的代理重加密算法涉及兩種非對(duì)稱加密運(yùn)算=E1和E2。非對(duì)稱加密E1得到的密文是 可以被重加密的,例如,用服務(wù)器的公鑰Pks = Zs對(duì)明文M做E1的加密運(yùn)算,可以表示為E1 (pks,Μ),其值為二元組(gk,MX Zsk),其中k為隨機(jī)數(shù);令U為系統(tǒng)中的任一用戶,根據(jù)U的 公鑰gu和S的私鑰s可以得到S到U的重加密密鑰—u = gsu,利用—u可以把用S的公 鑰加密的M的密文,即E1(PkyM),重加密為用U的私鑰能夠解密的形式,重加密的結(jié)果可以 用非對(duì)稱加密 E2(PkipM)表示REkpipE1 (pks,M)) =E2(PkipM) = (Zsuk, MXZsk) = (Zuk,, MXZk'),其中Zsuk由e(gk,gsu)計(jì)算而得,k’等于s乘以k。E2的密文不能被再用來重加 密,即本實(shí)施例所用的重加密算法是不可傳遞的。E1和E2得到的密文都能用對(duì)應(yīng)的私鑰解 密。例如,令E1 (pks,Μ) = ( α,β ),可以用S的私鑰s解密得到M的值為β /e ( α,g)s ;又 如,令E2(PkipM) = (σ , Y),可以用U的私鑰u解密得到M的值為γ/(οιΛι)。本實(shí)施例對(duì)應(yīng)發(fā)明內(nèi)容中的方法二,總體流程參見圖2 服務(wù)器S為注冊(cè)的內(nèi)容使 用者B計(jì)算重加密密鑰,并用代理密鑰加密重加密密鑰生成重加密密鑰密文,將重加密密 鑰密文發(fā)送給B。S向授權(quán)代理P頒發(fā)代理資質(zhì)證書和代理密鑰。S將內(nèi)容密鑰密文封裝在 數(shù)字內(nèi)容包中。當(dāng)獲得包含加密內(nèi)容和內(nèi)容密鑰密文的數(shù)字內(nèi)容包時(shí),B向授權(quán)代理P提 交授權(quán)請(qǐng)求,其中包含B的重加密密鑰密文和內(nèi)容包中的內(nèi)容密鑰密文。P請(qǐng)求S進(jìn)行交易 處理,S收費(fèi)成功后,P用代理密鑰解密重加密密鑰密文,得到B的重加密密鑰,然后用B的 重加密密鑰對(duì)內(nèi)容密鑰密文進(jìn)行重加密,得到重加密的內(nèi)容密鑰密文。最后,P根據(jù)重加密 的內(nèi)容密鑰密文創(chuàng)建數(shù)字許可證,將自己的代理資質(zhì)證書和創(chuàng)建的數(shù)字許可 證發(fā)送給B。B 收到許可證后,在DRM客戶端軟件中根據(jù)許可證中的權(quán)利描述解密并使用數(shù)字內(nèi)容。本實(shí)施例的具體步驟為(1)節(jié)點(diǎn)注冊(cè)本實(shí)施例的節(jié)點(diǎn)注冊(cè)流程如圖9所示。在Ρ2Ρ網(wǎng)絡(luò)中,參與DRM系統(tǒng)的節(jié)點(diǎn),包括 A和B,需要到服務(wù)器注冊(cè)。對(duì)于內(nèi)容使用者節(jié)點(diǎn),服務(wù)器還要為其計(jì)算重加密密鑰。以節(jié) 點(diǎn)B為例,B登錄服務(wù)器S提供的網(wǎng)站注冊(cè)賬戶,設(shè)置唯一的標(biāo)識(shí)IDB,密碼為123。B的DRM 客戶端保存IDb,用IDb或B的硬件設(shè)備標(biāo)識(shí)生成B的私鑰skB為b,B的公鑰pkB為gb,即系 統(tǒng)參數(shù)g的b次冪,并上傳公鑰pkB。S根據(jù)B的公鑰gb和自己的私鑰s計(jì)算得到重加密密 鑰—B = gsb,用授權(quán)代理共享的代理密鑰aKey對(duì)稱加密重加密密鑰得到重加密密鑰密文 Ealiey (rs ^b)。下一步,S生成重加密密鑰密文信息RKI,其中包含IDb,Ealiey (rs_B)和S對(duì)消息 摘要的簽名,并把RKI發(fā)送給B。最后,S在數(shù)據(jù)庫(kù)中保存B的注冊(cè)信息,包括IDb、和pkB。(2)授權(quán)代理初始化本實(shí)施例的授權(quán)代理初始化流程如圖5所示。系統(tǒng)中的注冊(cè)節(jié)點(diǎn)向S提出代理 申請(qǐng),S根據(jù)系統(tǒng)的代理資質(zhì)標(biāo)準(zhǔn)選擇P作為授權(quán)代理,并設(shè)置恰當(dāng)?shù)拇碛行凇在數(shù) 據(jù)庫(kù)中查找P的注冊(cè)信息,在所述注冊(cè)信息中補(bǔ)充P的代理有效期信息,更新后的P的注 冊(cè)信息包括P的標(biāo)識(shí)IDp、P的公鑰Pkp和P的代理有效期。S采用非對(duì)稱加密算法(例如 ElGamal算法),用P的公鑰非對(duì)稱加密授權(quán)代理共享的代理密鑰aKey得到代理密鑰密文 E (pkP, aKey),給P頒發(fā)代理密鑰信息APKey (P)和代理資質(zhì)證書QC (P)0其中APKey (P)中 包含代理密鑰密文E(pkP,aKey)和S的簽名信息;QC (P)中包括IDP、pkP、P的代理有效期和 服務(wù)器的簽名信息。P驗(yàn)證APKey (P)和QC(P)中S的簽名后,保存APKey (P)和QC(P)。另外,S還要把P的地址、P的代理有效期和自己的簽名信息發(fā)送給P2P網(wǎng)絡(luò)中的 檢索節(jié)點(diǎn)X,X驗(yàn)證S的簽名后,保存P的地址和代理有效期信息。(3)數(shù)字內(nèi)容注冊(cè)
本實(shí)施例的數(shù)字內(nèi)容注冊(cè)流程如圖10所示。數(shù)字內(nèi)容M的擁有者A利用DRM客戶 端軟件隨機(jī)生成內(nèi)容密鑰CEK,用CEK對(duì)稱加密數(shù)字內(nèi)容M,得到內(nèi)容密文C = Ecek (M);然后 A采用E1,用服務(wù)器的公鑰pks加密CEK得到內(nèi)容密鑰密文E1 (pks,CEK),值為(gk,CEK X Zsk), 其中k為隨機(jī)數(shù),并把內(nèi)容密文C、內(nèi)容密鑰密文E1 (pks,CEK)和內(nèi)容的權(quán)利信息上傳到服 務(wù)器S。 S首先用私鑰s解密內(nèi)容密鑰密文E1(PlvCEK)得到內(nèi)容密鑰CEK 令E1 (pks,CEK) =(α , β),那么CEK的值為i3/e(a,g)s;然后用CEK對(duì)內(nèi)容密文C進(jìn)行解密得到內(nèi)容明 文M :M = Dcek(C) = Dcek(Ecek(M))0 S根據(jù)系統(tǒng)的內(nèi)容審查規(guī)則審查M a)若審查不通過,則給A返回失敗消息;b)若審查通過,給M設(shè)定唯一的內(nèi)容標(biāo)識(shí)CID,并在數(shù)據(jù)庫(kù)的資源列表中添加內(nèi)容 CID的信息,包括內(nèi)容標(biāo)識(shí)CID、內(nèi)容密文C、內(nèi)容密鑰密文E1 (pks,CEK)、內(nèi)容擁有者A的標(biāo) 識(shí)IDa和內(nèi)容的權(quán)利信息。S將審核通過的數(shù)字內(nèi)容封裝,得到數(shù)字內(nèi)容包,數(shù)字內(nèi)容包中 的信息包括CID、C、X的地址、內(nèi)容的權(quán)利信息、內(nèi)容密鑰密文信息CKI和S對(duì)上述信息做摘 要后的簽名,其中CKI中包含CnKE1(PkyCEK)和S的簽名信息。之后,S給A返回?cái)?shù)字內(nèi) 容注冊(cè)成功消息,把內(nèi)容CID的介紹信息和數(shù)字內(nèi)容包公布在網(wǎng)站上,供用戶任意下載數(shù) 字內(nèi)容包,一旦數(shù)字內(nèi)容包進(jìn)入P2P系統(tǒng),就可以通過P2P文件共享的方式在系統(tǒng)中傳播。(4)數(shù)字內(nèi)容授權(quán)數(shù)字內(nèi)容授權(quán)過程的交互情況如圖11所示,流程如圖12所示。第一步申請(qǐng)授權(quán)當(dāng)獲得CID的數(shù)字內(nèi)容包后,內(nèi)容使用者B的DRM客戶端軟件在本地搜索CID對(duì) 應(yīng)的許可證,若沒有搜索到對(duì)應(yīng)的許可證,從內(nèi)容包中提取出X的地址,并向X請(qǐng)求授權(quán)代 理地址,X提供當(dāng)前可用、且在代理有效期內(nèi)的授權(quán)代理P的地址給B。B向P申請(qǐng)內(nèi)容CID的使用權(quán)利rights,提交的授權(quán)請(qǐng)求包括B從內(nèi)容包中提取 內(nèi)容密鑰密文信息CKI,B在注冊(cè)時(shí)從服務(wù)器獲得的重加密密鑰密文信息RKI和CID。P驗(yàn) 證S在CKI和RKI中的簽名信息,驗(yàn)證通過后,分別從CKI和RKI中提取出Ejpks, CEK)禾口 E-Jrp B),并暫存。然后,P查看授權(quán)記錄若授權(quán)記錄中沒有B當(dāng)前申請(qǐng)的授權(quán)信息,即B之前沒有對(duì)所申請(qǐng)授權(quán)進(jìn)行過付 費(fèi),P根據(jù)B的授權(quán)請(qǐng)求生成交易處理請(qǐng)求,請(qǐng)求S處理交易(進(jìn)入下述“第二步交易處 理”),所述交易處理請(qǐng)求包括1叫、1 、(10、1^8社8以及P對(duì)上述信息做摘要后的簽名;若授權(quán)記錄中有B當(dāng)前申請(qǐng)的授權(quán)信息,即B之前已經(jīng)對(duì)所申請(qǐng)授權(quán)進(jìn)行過付費(fèi), 實(shí)施流程跳過下述“第二步交易處理”,直接進(jìn)入下述“第三步頒發(fā)證書”。第二步交易處理S收到P發(fā)送的交易處理請(qǐng)求后,在數(shù)據(jù)庫(kù)中查找P的注冊(cè)信息,確認(rèn)當(dāng)前時(shí)間在 P的代理有效期內(nèi),提取P的公鑰,驗(yàn)證P的簽名。驗(yàn)證通過后,S根據(jù)資源列表中保存的內(nèi) 容CID的權(quán)利信息向B收取相應(yīng)的費(fèi)用后并按比例支付傭金到P的帳戶,向P返回交易處 理成功消息。若收費(fèi)失敗或請(qǐng)求的權(quán)利無效,S給B返回交易處理失敗消息。S給P返回的交易處理結(jié)果消息中包括狀態(tài)值Status、內(nèi)容使用者的標(biāo)識(shí)、內(nèi)容標(biāo) 識(shí)CID、權(quán)利信息rights、時(shí)間戳以及S對(duì)上述信息的數(shù)字簽名信息。其中交易處理成功消 息中狀態(tài)值Status為1,交易處理失敗消息中狀態(tài)值Status為0。
若收到S的交易處理失敗消息,P首先驗(yàn)證消息時(shí)間和S的簽名,然后將交易處理 失敗消息轉(zhuǎn)發(fā)給B,此次交易以失敗結(jié)束。否則,進(jìn)行下一步。第三步頒發(fā)證書 若收到S返回交易處理成功消息,P的DRM客戶端軟件驗(yàn)證消息時(shí)間和S的數(shù)字 簽名,然后在授權(quán)記錄中增加一條當(dāng)前的授權(quán)信息,包括IDB、CID、rights和P的簽名信息。P用私鑰skP解密APKey (P)中的代理密鑰密文E (pkP,aKey)得到代理密鑰aKey, 再用 aKey 對(duì)暫存 WEaxey (rs — B)解密,得到重加密密鑰 rs — B = DaKey (Ealiey (rs — B)) = gsb。令 E1(Pks5CEK) = (gk,CEKXZsk) = (α,β),然后P用 rs —B對(duì)暫存WE1(PIvCEK)進(jìn)行重加密 計(jì)算,得到能夠被B解密的內(nèi)容密鑰密文=REa^ME1(PlvCEK)) =E2 (pkB,CEK) = (e(rs^B, α), β) = (Zsbk,CEKXZsk),即(Zbk,,CEKXZk,),其中讓,=sXk,Zsbk = e(gk,gsb)。進(jìn)一 步,P提取成功消息中的CID和rights為B創(chuàng)建數(shù)字許可證L,L中包含IDb,CID,B獲得的 授權(quán)rights、B能夠解密的內(nèi)容密鑰密文E2(pkB,CEK)和授權(quán)代理P對(duì)上述信息做摘要后 的數(shù)字簽名。最后P把許可證L和自己的代理資質(zhì)證書QC(P)發(fā)送給B。(5)數(shù)字內(nèi)容使用B的DRM客戶端軟件收到數(shù)字許可證L和QC⑵后,先驗(yàn)證QC(P)中S的簽名和 P的代理有效期,再?gòu)腝C(P)中提取P的公鑰,驗(yàn)證P在L中的簽名。驗(yàn)證通過后,B的DRM 客戶端軟件計(jì)算B的私鑰b,用b解密L中的E2 (pkB,CEK)得到CEK 令E2 (pkB,CEK) = (σ , Y), CEK的值為γ / ( σ 1/b),然后根據(jù)L中的權(quán)利描述,用CEK解密數(shù)字內(nèi)容的密文C得到 數(shù)字內(nèi)容的明文M供B使用。
權(quán)利要求
一種數(shù)字內(nèi)容分布式授權(quán)方法,其步驟為1)節(jié)點(diǎn)注冊(cè)P2P網(wǎng)絡(luò)中的內(nèi)容擁有者節(jié)點(diǎn)、內(nèi)容使用者節(jié)點(diǎn)和授權(quán)代理節(jié)點(diǎn)在服務(wù)器注冊(cè)帳戶;服務(wù)器根據(jù)所采用的代理重加密算法為注冊(cè)的內(nèi)容使用者節(jié)點(diǎn)計(jì)算重加密密鑰,用授權(quán)代理共享的代理密鑰加密重加密密鑰得到重加密密鑰密文,并保存所述重加密密鑰密文;2)授權(quán)代理初始化服務(wù)器將代理密鑰和代理資質(zhì)證書發(fā)送給授權(quán)代理,并把授權(quán)代理的地址信息發(fā)送給P2P網(wǎng)絡(luò)中的檢索節(jié)點(diǎn);其中代理資質(zhì)證書中包含授權(quán)代理的公鑰和服務(wù)器的數(shù)字簽名信息;3)數(shù)字內(nèi)容注冊(cè)服務(wù)器為數(shù)字內(nèi)容生成數(shù)字內(nèi)容標(biāo)識(shí),然后將數(shù)字內(nèi)容標(biāo)識(shí)、數(shù)字內(nèi)容的密文、檢索節(jié)點(diǎn)地址、權(quán)利信息、服務(wù)器的簽名信息封裝數(shù)字內(nèi)容包;4)數(shù)字內(nèi)容授權(quán)內(nèi)容使用者根據(jù)收到的數(shù)字內(nèi)容包向授權(quán)代理提交授權(quán)請(qǐng)求;授權(quán)代理根據(jù)授權(quán)請(qǐng)求生成交易處理請(qǐng)求并將其發(fā)送給服務(wù)器;當(dāng)內(nèi)容使用者成功履行該數(shù)字內(nèi)容包對(duì)應(yīng)的權(quán)利信息所要求的義務(wù),服務(wù)器向授權(quán)代理返回交易處理成功消息;所述交易處理成功消息包含內(nèi)容使用者標(biāo)識(shí)、數(shù)字內(nèi)容標(biāo)識(shí)、內(nèi)容使用者的重加密密鑰密文、數(shù)字內(nèi)容的內(nèi)容密鑰密文、服務(wù)器的數(shù)字簽名信息;5)收到交易處理成功消息后,授權(quán)代理進(jìn)行重加密操作,得到重加密的內(nèi)容密鑰密文;然后授權(quán)代理為內(nèi)容使用者創(chuàng)建數(shù)字許可證,最后授權(quán)代理將數(shù)字許可證和自己的代理資質(zhì)證書發(fā)送給內(nèi)容使用者。
2.如權(quán)利要求1所述的方法,其特征在于所述服務(wù)器根據(jù)所采用的代理重加密算法為 注冊(cè)的內(nèi)容使用者節(jié)點(diǎn)計(jì)算重加密密鑰的方法為服務(wù)器用自己的私鑰和內(nèi)容使用者的公 鑰或私鑰計(jì)算所述重加密密鑰。
3.如權(quán)利要求1或2所述的方法,其特征在于所述授權(quán)代理進(jìn)行重加密操作的方法為 授權(quán)代理利用代理密鑰對(duì)重加密密鑰密文解密,得到內(nèi)容使用者的重加密密鑰;再用該重 加密密鑰對(duì)內(nèi)容密鑰密文進(jìn)行重加密,得到重加密的內(nèi)容密鑰密文。
4.如權(quán)利要求1或2所述的方法,其特征在于所述數(shù)字內(nèi)容的密文是用內(nèi)容密鑰加密 數(shù)字內(nèi)容的明文生成;所述內(nèi)容密鑰密文是用服務(wù)器的公鑰加密內(nèi)容密鑰生成。
5.如權(quán)利要求1所述的方法,其特征在于所述內(nèi)容使用者根據(jù)收到的數(shù)字內(nèi)容包向授 權(quán)代理提交授權(quán)請(qǐng)求的過程為內(nèi)容使用者從數(shù)字內(nèi)容包中提取檢索節(jié)點(diǎn)地址,向檢索節(jié) 點(diǎn)請(qǐng)求授權(quán)代理的地址;收到檢索節(jié)點(diǎn)返回的授權(quán)代理地址后,向授權(quán)代理提交授權(quán)請(qǐng)求; 所述授權(quán)請(qǐng)求中包含所述內(nèi)容使用者從數(shù)字內(nèi)容包中提取的數(shù)字內(nèi)容標(biāo)識(shí)。
6.如權(quán)利要求5所述的方法,其特征在于所述交易處理請(qǐng)求中包含數(shù)字內(nèi)容標(biāo)識(shí)和內(nèi) 容使用者的標(biāo)識(shí);
7.如權(quán)利要求1所述的方法,其特征在于所述數(shù)字許可證包含內(nèi)容使用者的標(biāo)識(shí)、數(shù) 字內(nèi)容標(biāo)識(shí)、重加密的內(nèi)容密鑰密文、授權(quán)代理的數(shù)字簽名信息。
8.如權(quán)利要求1所述的方法,其特征在于內(nèi)容擁有者對(duì)數(shù)字內(nèi)容加密,并上傳內(nèi)容密 文、權(quán)利信息和內(nèi)容密鑰密文到服務(wù)器。
9.一種數(shù)字內(nèi)容分布式授權(quán)方法,其步驟為1)節(jié)點(diǎn)注冊(cè)P2P網(wǎng)絡(luò)中的內(nèi)容擁有者節(jié)點(diǎn)、內(nèi)容使用者節(jié)點(diǎn)和授權(quán)代理節(jié)點(diǎn)在服務(wù) 器注冊(cè)帳戶;服務(wù)器根據(jù)所采用的代理重加密算法為注冊(cè)的內(nèi)容使用者節(jié)點(diǎn)計(jì)算重加密密鑰,用授權(quán)代理共享的代理密鑰加密重加密密鑰得到重加密密鑰密文,并將所述重加密密 鑰密文發(fā)送給內(nèi)容使用者;2)授權(quán)代理初始化服務(wù)器將代理密鑰和代理資質(zhì)證書發(fā)送給授權(quán)代理,并把授權(quán)代 理的地址信息發(fā)送給P2P網(wǎng)絡(luò)中的檢索節(jié)點(diǎn);其中代理資質(zhì)證書中包含授權(quán)代理的公鑰和 服務(wù)器的數(shù)字簽名信息;3)數(shù)字內(nèi)容注冊(cè)服務(wù)器為數(shù)字內(nèi)容生成數(shù)字內(nèi)容標(biāo)識(shí),然后將數(shù)字內(nèi)容標(biāo)識(shí)、數(shù)字 內(nèi)容的密文、內(nèi)容密鑰密文、檢索節(jié)點(diǎn)地址、權(quán)利信息、服務(wù)器的簽名信息封裝數(shù)字內(nèi)容 包;4)數(shù)字內(nèi)容授權(quán)內(nèi)容使用者根據(jù)收到的數(shù)字內(nèi)容包向授權(quán)代理提交授權(quán)請(qǐng)求;當(dāng)內(nèi) 容使用者成功履行該數(shù)字內(nèi)容包對(duì)應(yīng)的權(quán)利信息所要求的義務(wù),授權(quán)代理從所述授權(quán)請(qǐng)求 中提取出重加密密鑰密文和內(nèi)容密鑰密文,然后進(jìn)行重加密操作,得到重加密的內(nèi)容密鑰 密文;然后授權(quán)代理為內(nèi)容使用者創(chuàng)建數(shù)字許可證,最后授權(quán)代理將數(shù)字許可證和自己的 代理資質(zhì)證書發(fā)送給內(nèi)容使用者。
10.如權(quán)利要求9所述的方法,其特征在于所述服務(wù)器根據(jù)所采用的代理重加密算法 為注冊(cè)的內(nèi)容使用者節(jié)點(diǎn)計(jì)算重加密密鑰的方法為服務(wù)器用自己的私鑰和內(nèi)容使用者的 公鑰或私鑰計(jì)算所述重加密密鑰。
11.如權(quán)利要求9或10所述的方法,其特征在于數(shù)字內(nèi)容的密文是用內(nèi)容密鑰加密數(shù) 字內(nèi)容的明文生成;所述內(nèi)容密鑰密文是用服務(wù)器的公鑰加密內(nèi)容密鑰生成。
12.如權(quán)利要求9所述的方法,其特征在于所述內(nèi)容使用者根據(jù)收到的數(shù)字內(nèi)容包向 授權(quán)代理提交授權(quán)請(qǐng)求的過程為內(nèi)容使用者從數(shù)字內(nèi)容包中提取檢索節(jié)點(diǎn)地址,然后向 檢索節(jié)點(diǎn)請(qǐng)求授權(quán)代理的地址;收到檢索節(jié)點(diǎn)返回的授權(quán)代理地址后,向授權(quán)代理提交授 權(quán)請(qǐng)求;所述授權(quán)請(qǐng)求中包含所述內(nèi)容使用者的重加密密鑰密文、所述內(nèi)容使用者從數(shù)字 內(nèi)容包中提取的數(shù)字內(nèi)容標(biāo)識(shí)和內(nèi)容密鑰密文。
13.如權(quán)利要求9所述的方法,其特征在于所述授權(quán)代理進(jìn)行重加密操作的方法為授 權(quán)代理利用代理密鑰對(duì)重加密密鑰密文解密,得到內(nèi)容使用者的重加密密鑰;再用該重加 密密鑰對(duì)內(nèi)容密鑰密文進(jìn)行重加密,得到重加密的內(nèi)容密鑰密文。
14.如權(quán)利要求13所述的方法,其特征在于所述數(shù)字許可證包含內(nèi)容使用者的標(biāo)識(shí)、 數(shù)字內(nèi)容標(biāo)識(shí)、重加密的內(nèi)容密鑰密文、授權(quán)代理的數(shù)字簽名信息。
15.如權(quán)利要求11所述的方法,其特征在于內(nèi)容擁有者對(duì)數(shù)字內(nèi)容加密,并上傳內(nèi)容 密文、權(quán)利信息和內(nèi)容密鑰密文到服務(wù)器。
全文摘要
本發(fā)明公開了一種數(shù)字內(nèi)容分布式授權(quán)方法,屬于數(shù)字版權(quán)保護(hù)技術(shù)領(lǐng)域。本發(fā)明的方法為1)內(nèi)容使用者注冊(cè)時(shí),服務(wù)器為其計(jì)算重加密密鑰;2)授權(quán)代理初始化時(shí)從服務(wù)器獲得代理資質(zhì)證書;3)數(shù)字內(nèi)容授權(quán)時(shí),授權(quán)代理用內(nèi)容使用者的重加密密鑰對(duì)內(nèi)容密鑰密文進(jìn)行重加密操作,得到重加密的內(nèi)容密鑰密文,并根據(jù)其創(chuàng)建數(shù)字許可證;然后授權(quán)代理將自己的代理資質(zhì)證書和創(chuàng)建的數(shù)字許可證發(fā)送給內(nèi)容使用者。與現(xiàn)有技術(shù)相比,本發(fā)明具有授權(quán)安全、高效,系統(tǒng)開銷平衡、可擴(kuò)展性強(qiáng)的特點(diǎn),且拓寬了用戶獲得許可證的途徑。
文檔編號(hào)G06F21/00GK101883100SQ20101020460
公開日2010年11月10日 申請(qǐng)日期2010年6月11日 優(yōu)先權(quán)日2010年6月11日
發(fā)明者俞銀燕, 湯幟, 邱勤 申請(qǐng)人:北京大學(xué)