專利名稱:基于射頻手機的OMA DRM Agent及其RO設(shè)計方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字版權(quán)管理(DRM)領(lǐng)域,尤其是涉及OMA DRM系統(tǒng)中駐留在手機客戶端設(shè)備的OMA DRM Agent以及其RO設(shè)計方法。
背景技術(shù):
隨著信息化時代的到來,交互式網(wǎng)絡(luò)電視IPTV、電子出版社、網(wǎng)絡(luò)教育等以提供數(shù)字信息產(chǎn)品使用服務(wù)的產(chǎn)業(yè)取得長足的發(fā)展,這些產(chǎn)業(yè)具有越來越大的價值。在這樣一個時期,有效保護數(shù)字信息產(chǎn)品的版權(quán)比以往任何一個時期都顯得非常必要,數(shù)字版權(quán)管理 DRM(Digital Rights Management)就是在這樣一個背景的產(chǎn)生的。在目前所有DRM技術(shù)標準中,開放移動聯(lián)盟所制定的OMA(Open Mobie Alliance)DRM系列最具影響力。DRM技術(shù)主要是通過數(shù)字信息產(chǎn)品內(nèi)容加密、授權(quán)管理等技術(shù)來實現(xiàn)數(shù)字版權(quán)的保護的。它的三個基本要素是加密后的數(shù)字信息產(chǎn)品、授權(quán)信息和內(nèi)容加密密鑰 CEK(Content Encryption Key),客戶端只有同時具有以上三個要素才能正常使用數(shù)字信息產(chǎn)品。數(shù)字信息產(chǎn)品內(nèi)容加密采用對稱加密算法,密鑰為CEK ;授權(quán)信息主要包括關(guān)于數(shù)字信息產(chǎn)品使用方式、使用次數(shù)、使用時間等控制信息;為了保證CEK安全傳輸,CEK—般采用客戶端設(shè)備公鑰加密保護,這樣只有具有相應(yīng)私鑰的客戶端設(shè)備才能正確解密出CEK, 并正常使用數(shù)字信息產(chǎn)品。授權(quán)信息與經(jīng)過加密的CEK相結(jié)合,成為版權(quán)對象R0(Right Object)ο目前,OMA DRM系統(tǒng)通常由OMA DRM后臺服務(wù)系統(tǒng)和手機客戶端代理OMA DRM Agent組成,后臺服務(wù)系統(tǒng)主要完成數(shù)字信息產(chǎn)品內(nèi)容加密、RO生成與發(fā)布等,手機DRM Agent則負責控制客戶端設(shè)備按照RO中授權(quán)的方式使用數(shù)字信息產(chǎn)品。在目前OMA DRM技術(shù)中,關(guān)于OMA DRM后臺服務(wù)系統(tǒng)的技術(shù)比較多,而關(guān)于OMA DRM Agent的技術(shù)則比較少,沒有一個完整有效的OMA DRM Agent技術(shù)方案;到目前為止,OMA DRM已經(jīng)發(fā)布了 OMA DRM1.0 與OMA DRM 2.0兩個版本,同時,在2.0版本的基礎(chǔ)上,增加了一些新的應(yīng)用,產(chǎn)生了 2. 1和 2. 2版本。OMA DRM 1. 0主要支持禁止轉(zhuǎn)發(fā)、組合發(fā)送、分別發(fā)送與超級分發(fā)四種應(yīng)用模型, 業(yè)務(wù)模式單一,安全性也較低;OMA DRM 2.0針對OMA DRM 1. 0進行了擴充和改進。但是OMA DRM 2.0仍存在一些問題,雖然提出了 RO超級分發(fā)模式,但該模式要求Child Device在得到加密的數(shù)字內(nèi)容后,需要重新向RI申請版權(quán),該模式只算是數(shù)字內(nèi)容共享,稱不上RO共享;對于屬于同一域下的終端Devices,提出了離線存儲和轉(zhuǎn)發(fā)模型,雖然實現(xiàn)RO的共享, 但該模型的前提是Devices仍然要事先在RI處注冊到同一域下,而現(xiàn)實中,部分Device是不具有無線上網(wǎng)功能的,也就是通常所說處于離線狀態(tài);此外,ROAP對數(shù)據(jù)包丟失問題也未給予考慮,而現(xiàn)實中出現(xiàn)這種問題的概率并非很低。
發(fā)明內(nèi)容
針對上述現(xiàn)有技術(shù)中的不足和問題,本發(fā)明提出了一種完整有效的手機客戶端 OMA DRM Agent RO設(shè)計的實現(xiàn)方法與解決方案。
本發(fā)明提出基于手機平臺的OMA DRM Agent的各個模塊,給出了完整有效的 OMADRM Agent手機客戶端實現(xiàn)方案,并深入研究了 DRM Agent初始化,提出了 RO共享模型, 設(shè)計了使用于共享的R0,同時,改進了 ROAP協(xié)議,使其適應(yīng)RO共享和解決數(shù)據(jù)包丟失問題。本發(fā)明提出的基于手機平臺的OMA DRM Agent手機客戶端OMA DRM Agent RO設(shè)計整體方案包括,無線射頻收發(fā)處理模塊、認證與登錄模塊、版權(quán)信息管理模塊、內(nèi)容處理模塊、可信計算模塊和守護進程與共享數(shù)據(jù)模塊組成。其中,無線收發(fā)模塊實現(xiàn)了離線手機之間的通信,既可用于接收RO和加密后的數(shù)字信息產(chǎn)品,同時在域中可以對Child Devices 進行廣播,以通知有RO更新或者過期。認證登錄模塊主要完成終端設(shè)備的ROAP注冊,以及 EDN登錄等;版權(quán)信息管理模塊負責版權(quán)對象RO的請求與接收、版權(quán)信息處理、RO的本地管理等;內(nèi)容處理模塊負責完成播放控制和數(shù)字內(nèi)容的解密,播放控制主要包括播前控制、 實時控制播后處理;可信計算模塊TCM用來完成存儲關(guān)鍵信息,如用戶私鑰、所有涉及到用戶設(shè)備私鑰的簽名以及加解密算法等機密信息,并負責檢查OMA DRM Agent核心代碼的完整性;守護進程與共享數(shù)據(jù)模塊負責完成OMA DRM Agent初始化,開辟共享存儲區(qū)并創(chuàng)建共享數(shù)據(jù),是OMA DRM Agent各模塊完成數(shù)據(jù)交互,最終完成OMA DRM Agent的各項工作?;诒景l(fā)明主要針對手機OMA DRM Agent的RO設(shè)計方法的改進,故而對不涉及的模塊不再贅述。下面針對本發(fā)明主要涉及到的RO設(shè)計模塊的具體結(jié)構(gòu)與實現(xiàn)作詳細描述。認證與登錄模塊主要完成客戶端設(shè)備的注冊和EDN登錄。第一.OMA DRM Agent 注冊當客戶欲通過OMA DRM系統(tǒng)使用數(shù)字作品時,需要先在手機終端安裝OMA DRM Agent程序并進行注冊,通過注冊后方能進行版權(quán)內(nèi)容RO的獲取以及數(shù)字內(nèi)容的獲取。注冊過程中用到的協(xié)議是指ROAP注冊協(xié)議。OMA DRM Agent在兩種情況下發(fā)起注冊協(xié)議,其一,當客戶端備安裝OMA DRM Agent后,首次入網(wǎng)使用時;其二,客戶在使用過程中,RI Context由于意外原因被清空或損壞。這里RI Context是注冊成功后存儲在設(shè)備的文件,其中包括ROAP的版本號、RI ID、 加密算法、RI URL等。第二.EDN 登陸當用戶每次開啟OMA DRM Agent時,將向EDN發(fā)出登陸請求,登陸成功與否,都會收到EDN發(fā)來的登錄信息結(jié)果,其中,登陸請求用到協(xié)議為Login Request,登陸應(yīng)答協(xié)議為 Login Response。邊緣發(fā)布節(jié)點EDN是OMA DRM Agent請求RO與數(shù)字信息產(chǎn)品的直接來源,OMA DRMAgent開啟后會發(fā)起登錄EDN請求,只有登錄EDN后,OMA DRM Agent才能申請R0。EDN 收到OMA DRM Agent登錄請求后,判斷該OMA DRM Agent是不是屬于本EDN所支持的范圍內(nèi);如果屬于本EDN,則發(fā)出登錄成功應(yīng)答,且把需要預(yù)發(fā)布的RO響應(yīng)信息發(fā)送給OMADRM Agent ;如果不屬于本EDN,則發(fā)出登錄失敗應(yīng)答,且應(yīng)答信息中包括OMA DRM Agent所屬 EDN的URL。OMA DRM Agent收到EDN的應(yīng)答后,判斷是否登錄成功;若登錄成功,則保持連接,并且根據(jù)預(yù)發(fā)布的RO響應(yīng)信息進行處理;若登錄不成功,OMA DRM Agent使用新的EDN URL進一步發(fā)起登錄EDN請求。手機OMA DRM Agent完成EDN注冊和登陸成功后,即要對開啟時的RO進行初始化的工作。OMA DRM Agent初始化過程中進行代碼完整性驗證是為了保證OMA DRM Agent只有在其代碼是完整的情況下才可以工作,否則停止OMA DRM Agent運行;OMA DRMAgent代碼完整性驗證是通過調(diào)用TCM中的OMA DRM Agent追蹤系統(tǒng)實現(xiàn)的。初始化過程中的RO有效性查詢是為了保證在OMA DRM Agent開啟時就清除無效的R0,保證過期的RO不被重新利用。RI Context檢查是檢查客戶端設(shè)備本地是否存在RI Context,如果沒有則要調(diào)用認證與登錄模塊發(fā)起注冊請求,注冊完成后在OMA DRM Agent本地生成RI Context.邊緣發(fā)布節(jié)點EDN是OMA DRM Agent請求RO與數(shù)字信息產(chǎn)品的直接來源,因此OMA DRM Agent初始化過程要進行邊緣發(fā)布節(jié)點登錄。登錄到EDN后,EDN會根據(jù)OMA DRM Agent的權(quán)限情況為其預(yù)發(fā)布RO響應(yīng)信息,OMA DRM Agent根據(jù)接收到響應(yīng)信息進行相應(yīng)處理。版權(quán)信息管理模塊是OMA DRM Agent的核心模塊,是版權(quán)保護的基礎(chǔ),也是本發(fā)明研究的重點,主要具有以下功能1)版權(quán)對象RO請求與接收;2)版權(quán)對象RO的本地管理;3)版權(quán)信息處理。版權(quán)信息管理模塊又由RO請求/接收、RO數(shù)據(jù)庫、版權(quán)信息處理三個子模塊組成。版權(quán)信息請求與接收子模塊主要完成RO的請求與接收。當客戶端設(shè)備欲使用OMA DRM系統(tǒng)保護的數(shù)字信息產(chǎn)品而本地又沒有該節(jié)目有效的RO時,OMA DRM Agent就會發(fā)起 RO請求;OMA DRM后臺服務(wù)系統(tǒng)對RO請求信息處理后將RO返回或者返回出錯信息,OMA DRM Agent對該信息進行接收,并進行處理。在有些情況下,OMA DRM后臺服務(wù)系統(tǒng)會以推的方式進行RO預(yù)發(fā)布或者發(fā)出RO撤銷與更新消息,此時不需要OMA DRM Agent的請求信息,OMA DRM Agent會對接收到的信息進行相應(yīng)處理。RO數(shù)據(jù)庫子模塊主要對接收到的RO進行管理,該子模塊包括RO數(shù)據(jù)庫實體與RO 數(shù)據(jù)庫操作兩部分。版權(quán)信息處理子模塊是基于RO數(shù)據(jù)庫及其相關(guān)操作的,用來完成RO有效性查詢、 RO使用次數(shù)控制、權(quán)限驗證與CEK獲取四項功能,這些功能又是數(shù)字信息產(chǎn)品內(nèi)容解密與使用控制的基礎(chǔ)。本發(fā)明通過理解OMA DRM基本原理及相關(guān)技術(shù)知識,并深入研究了 OMADRMAgent 初始化,提出了以下RO設(shè)計的思想第一.改進RO結(jié)構(gòu),適應(yīng)版權(quán)的靈活應(yīng)用。針對經(jīng)典RO的不方便性;本文將RO模塊化,具體分為四個模塊,根據(jù)需要可以快捷組成R0、PR0和CR0,且均采取簽名措施,四個模塊分別為標示RO自身信息的模塊RO Info 模塊,版權(quán)模塊Rights,加密密鑰模塊Enkey,以及對以上信息的簽名Signature。對于R0, 是對上面的三個模塊的聯(lián)合簽名,對于PRO和CR0,只對其中的兩個模塊進行聯(lián)合簽名。以上是物理層面的概念,同時,根據(jù)RO共享的需要,在概念上又分為不同的R0,與前者共同構(gòu)成九種不同的R0,通過設(shè)置RO Type加以區(qū)分。第二 .提出了一個新的RO離線共享模式在同一域下的Devices中,選出一個具有無線上網(wǎng)功能的Device來充當該域的管理者,稱為Parent Device,其他的Devices若想使用RO共享功能,則需要通過射頻接收模塊向Parent Device注冊并加入域,這些RO也成為域R0,相應(yīng)的Devices稱為Child Device。當Parent Device申請到加密的數(shù)字內(nèi)容和對應(yīng)的RO(此時稱為域R0)后,可以將該RO的使用次數(shù)分成數(shù)份,并生成新的RO (此時稱為子R0),然后將子RO和加密的數(shù)字內(nèi)容一起轉(zhuǎn)發(fā)給Child Device,這樣,Child Device就可以根據(jù)子RO對應(yīng)的權(quán)限,來使用數(shù)字內(nèi)容;對于沒有使用次數(shù)限制的域R0,系統(tǒng)會規(guī)定可以轉(zhuǎn)發(fā)的終端數(shù)量。第三.改進ROAP協(xié)議,適應(yīng)RO離線共享,并防止數(shù)據(jù)丟失情況通過在ROAP協(xié)議中,設(shè)置Domain Matus和各種Type,構(gòu)成不同組合,以區(qū)分不同的RO注冊、請求和申請。其中,注冊過程中,通過Parent Device代理Child Device進行注冊,后者無需在線聯(lián)網(wǎng),只需與Parent Device進行連接即可;在Parent Device和Child Device加入域后,前者首先通過改進RO Request申請到域R0,然后供后者通過同樣的協(xié)議申請子R0,以實現(xiàn)RO的離線共享。通過設(shè)置會話ID及發(fā)送次數(shù)N0,解決數(shù)據(jù)丟失問題。服務(wù)器首先保存會話ID,在 RO Request中加入kssion ID,在數(shù)據(jù)庫中存儲每個RO最后一次傳送給終端的Session ID。如果用戶在發(fā)送RO request—定時間后,因數(shù)據(jù)包丟失導(dǎo)致無法接收RO Response,終端將再次向RI提出申請,不過,此次申請仍使用上次的kssion ID,RI驗證上次的kssion ID以及用戶身份(必須和上次通信信息相同)后,將原RO發(fā)送給終端;通過NO的設(shè)置,可以防止重復(fù)注冊、請求和發(fā)放,提高系統(tǒng)的效率本發(fā)明提出的基于手機平臺的OMA DRM Agent RO設(shè)計方法,其特征在于以下六個方面第一設(shè)計了基于基于手機平臺的OMA DRM Agent的成功運行的四大功能模塊,并設(shè)計了用于RO離線共享的無線射頻模塊。第二,在手機OMA DRM Agent的基礎(chǔ)上,改進RO結(jié)構(gòu),適應(yīng)版權(quán)的靈活應(yīng)用;第三,本發(fā)明提出了一個新的RO離線共享模式;第四,改進ROAP 協(xié)議,適應(yīng)RO離線共享,并防止數(shù)據(jù)丟失情況。
圖1是本發(fā)明提出的手機OMA DRM Agent的整體結(jié)構(gòu)圖;圖2是本發(fā)明實施例手機OMA DRM Agent初始化的流程圖;圖3是本發(fā)明提出的R0/PR0/CR0結(jié)構(gòu)示意圖;圖4是本發(fā)明實施例中RO數(shù)據(jù)庫的結(jié)構(gòu)示意5是本發(fā)明實施例中RO數(shù)據(jù)庫的RO Type單元參數(shù)及含義列表;圖6是本發(fā)明提出的手機OMA DRM Agent的RO離線共享模型;圖7是本發(fā)明實施例中RO離線共享流程圖;圖8是本發(fā)明實施例中改進型ROAP的流程具體實施例方式以下結(jié)合
對本發(fā)明的實施例作進一步詳細描述,但本實施例并不用于限制本發(fā)明,凡是采用本發(fā)明的相似結(jié)構(gòu)及其相似變化,均應(yīng)列入本發(fā)明的保護范圍。圖1是本發(fā)明提出的手機OMA DRM Agent的整體結(jié)構(gòu)圖,該圖也表明了手機OMA DRM Agent在整個OMA OMA DRM系統(tǒng)中的位置。從圖1中可以看出,手機OMA DRM Agent由無線射頻收發(fā)處理模塊、可信計算模塊TCM、認證與登錄模塊、版權(quán)信息管理模塊、內(nèi)容處理模塊和守護進程與共享數(shù)據(jù)等五個模塊構(gòu)成。在OMA DRM整個系統(tǒng)中,手機OMA DRM Agent 與邊緣發(fā)布節(jié)點EDN通信,所有的注冊請求、RO請求與接受、數(shù)字版權(quán)信息的請求與接受都是通過EDN與OMA DRM后臺服務(wù)系統(tǒng)進行信息交互的。在圖1中,認證與登錄模塊主要完成客戶端設(shè)備的注冊和邊緣發(fā)布節(jié)點EDN(Edge Distribution Node)登陸,這是手機OMA DRM Agent獲得RO以及經(jīng)過加密的數(shù)字信息產(chǎn)品的前提條件;版權(quán)信息管理模塊主要完成RO的請求、接收與管理;內(nèi)容處理模塊主要完成加密過的數(shù)字信息產(chǎn)品解密以及使用控制;TCM保存客戶端設(shè)備私鑰等重要信息,并對OMA DRM Agent代碼完整性進行校驗;守護進程指的是OMA DRM代理在啟動之后,一直運行的程序,共享數(shù)據(jù)指的是在整個OMA DRM Agent系統(tǒng)內(nèi)部各模塊都可以訪問的數(shù)據(jù),便于各個模塊之間的數(shù)據(jù)交互。本發(fā)明提出OMA DRM Agent,其整體安全思想如下客戶端設(shè)備欲要使用數(shù)字信息產(chǎn)品,必須先進行注冊,并且取得RO和經(jīng)過加密的數(shù)字信息產(chǎn)品,進而在內(nèi)容處理模塊的控制下使用該數(shù)字信息產(chǎn)品;而這一流程安全進行的保障是TCM保證OMADRM Agent的代碼是完整的;守護進程與共享數(shù)據(jù)則完成OMA DRM Agent初始化、實時監(jiān)控,并協(xié)調(diào)各個模塊協(xié)同工作。圖2是本發(fā)明實施例手機OMA DRM Agent初始化的流程圖,該圖只是說明手機OMA DRM Agent初始化過程順序完成的各步操作,而對于每一步中具體操作沒有進行說明,詳見下面所述。步驟1.可信計算模塊TCM中OMA DRM Agent追蹤系統(tǒng)對OMA DRM Agent代碼完整性進行校驗,如果OMA DRM Agent代碼是完整的,則繼續(xù)進行后續(xù)操作;否則停止OMA DRM Agent運行,并提示客戶更換OMA DRM Agent。步驟2.調(diào)用版權(quán)信息管理模塊,進行終端開機RO有效性查詢,保證在OMA DRMAgent開啟時就清除無效的R0,防止過期的RO被重新利用。步驟3.檢查客戶端設(shè)備本地是否存在RI Context,如果沒有則要調(diào)用認證與登錄子模塊發(fā)起注冊請求,注冊流程如圖2所示。 步驟4.按照圖2所示的邊緣發(fā)布節(jié)點EDN登錄流程登錄EDN,OMA DRM Agent判斷是否登陸成功,成功則繼續(xù)進行后續(xù)操作;否則登陸中間件詢問EDUURL。步驟5.檢查EDU恢復(fù)的Login Response中是否含有新的RO Response,如果有則調(diào)用Add_R0_Response將RO數(shù)據(jù)庫內(nèi)容加一,否則調(diào)用Add_R0_Response將RO數(shù)據(jù)庫內(nèi)容加0,即不做改變。完成上述五個步驟后,對于實時性要求較高且終端具有相關(guān)RO的數(shù)字信息產(chǎn)品, OMA DRM Agent初始化還要建立一個數(shù)字信息產(chǎn)品與其對應(yīng)CEK密鑰列表。對于整個手機OMA DRM Agent初始化完成之后,則將要對RO更高效率的超級分發(fā)及共享進一步的設(shè)計。RO共享是指根據(jù)RO的權(quán)限許可,RO可以供多個用戶使用。在提出離線RO共享模型前,需要首先對RO結(jié)構(gòu)進行一定的改造。RO在存儲結(jié)構(gòu)上,分為PRO (Permission R0)禾PCR0(CEK R0);其中,同一個RO下的CRO需要PRO負責,即只有當PRO有效時,對應(yīng)的CRO才可用;對于本發(fā)明中講述的RO共享,從RO的級別上,在概念上又可分為父RO和子R0,其中,父RO是有Parent Device向RI申請到的適用于本域的可以再次派生的R0,子RO是由Parent Device從父RO中派生出并發(fā)送給Child Device的R0,父RO和子RO均可以同時包括PRO和CR0,或二者之一。RI生成RO后,被封裝為Protected RO形式,經(jīng)典的Protected RO包括RO及RO 簽名Signature,簽名可以防止RO被終端Device非法篡改,因為,終端Device在每次使用RO前,都要先驗證該RO的簽名是否成立,這點由終端代理OMA DRM Agent來保證,而 OMADRMAgent的安全性,則由可信計算模塊TCM的完整性驗證來保證。但經(jīng)典RO在使用過程具有較大的不方便性,其一,用戶不一定每次都需要完整的 R0,有可能只需要PRO和CRO中的一個,這點在在RO域共享中表現(xiàn)尤為突出,這時只能采取對PRO進行簽名的方法,而CRO沒有簽名,無法保證信息的安全;其二,RO不具有模塊化,對相同信息重復(fù)生成,效率較低;本發(fā)明針對以上問題,如圖3所示將RO模塊化,具體分為四個模塊,根據(jù)需要可以快捷組成R0、PR0和CR0,且均采取簽名措施,四個模塊分別為標示RO 自身信息的模塊RO Info模塊,版權(quán)模塊Rights,加密密鑰模塊Enkey,以及對以上信息的簽名Signature。對于R0,是對上面的三個模塊的聯(lián)合簽名,對于PRO和CR0,只對其中的兩個模塊進行聯(lián)合簽名。簽名后則成為!Protected型,這也是存儲在終端的最終形式。RO數(shù)據(jù)庫是客戶端設(shè)備本地RO管理的基礎(chǔ),包括RO數(shù)據(jù)庫實體與RO數(shù)據(jù)庫操作兩部分。RO數(shù)據(jù)庫用來存儲R0,在本實施例中是一個以結(jié)構(gòu)體的形式存儲RO的文件。RO 數(shù)據(jù)庫的結(jié)構(gòu)形式如圖4所示。其中本發(fā)明增加了一個新的RO Tpye參數(shù)類型,如圖5所示。以Domain Matus來區(qū)分設(shè)備是否為域設(shè)備。Domain Matus為1時,代表設(shè)備為域中設(shè)備。DomaiMtatus為 0時,代表設(shè)備為常規(guī)設(shè)備。如圖5所示,以三位二進制碼來具體區(qū)分父設(shè)備的R0,PRO或者CR0,還是子設(shè)備的R0,PRO或者CR0。通過上述新增的RO Type參數(shù)類型等組成的RO數(shù)據(jù)庫為基礎(chǔ),針對OMA 0MADRM2.0中,雖然提出了超級分發(fā)模式,但該模式要求Child Device在得到加密的數(shù)字內(nèi)容后,需要重新向RI申請版權(quán),該模式只算是數(shù)字內(nèi)容共享,稱不上RO共享;對于屬于同一域下終端Devices,提出了離線存儲和轉(zhuǎn)發(fā)模型,基于此,已經(jīng)有相關(guān)的研究雖然實現(xiàn)RO 的共享,但該模型的前提是Devices仍然要事先在RI處注冊到同一域下,而現(xiàn)實中,部分 Device是不具有無線上網(wǎng)功能的,此時,就無法實現(xiàn)在RI處注冊。故而本發(fā)明提出的新的手機OMADRMAgent的RO離線共享模型,如圖6所示。從圖6中可以看到,域中的Parent Device具有代那些離線手機注冊并且代其入域的功能。顯示了 Parent Devices, Child Devices和CI以及RI在整個系統(tǒng)中離線共享的模型。從對子Device是否有在線要求的角度看,RO的共享可以分為在線共享和離線共享, 其中,在線共享的復(fù)雜度低于離線共享,且離線共享對在線共享具有兼容性,故本發(fā)明主要研究了 RO離線共享模式。RO離線共享流程如圖7所述步驟1 在所有Device完成OMA DRM Agent代碼安裝及完整性驗證之后,各Child Device通過RO注冊協(xié)議RORP向Parent Device申請注冊。注冊成功后,ParentDevice 端保存注冊成功信息,主要包括各Child Device IDi和完整性信息,Child Device端生成 RI Context。轉(zhuǎn)到步驟2。步驟2 =Parent Device攜各Child Device注冊信息及自身信息,同樣按照RORP向RI申請注冊。注冊成功后,Parent Device端生成RI Context。轉(zhuǎn)到步驟3。步驟3 注冊成功后,ParentDevice通過Join Domain協(xié)議向RI申請加入域,RI 會為 ParentDevice 分配一個 Domain ID,并生成 Domain Context 發(fā)送給 Parent Device, 然后存儲到本地。若不是首次申請加入,即已經(jīng)加入該域,則跳過此步,否則,若未加入,或申請再次加入新的域,則執(zhí)行此步。轉(zhuǎn)向步驟4。步驟4 注冊成功后,Child Device按照同樣的協(xié)議向ParentDevice申請加入域, 成功后生成Domain Context并發(fā)送給Child Device,轉(zhuǎn)向步驟5。對于未注冊的新Child Device,在其申請加入域前,需先轉(zhuǎn)到步驟1。步驟5 =Parent Device注冊和加入域后,則通過RO Request向RI申請(Domain) R0, RI通過RO Request把生成的RO返回。此處,RO是否具有域功能,取決于請求協(xié)議RO Response中域參數(shù)的選擇,參數(shù)設(shè)置詳見圖5所示。若該RO具有域?qū)傩裕瑒t轉(zhuǎn)向乂印6,否則,RO的請求與獲取結(jié)束,此時為普通的RO申請。步驟6 在步驟5中,若申請的RO具有域?qū)傩?,即可以共享,則Child Device同樣通過RO Request和RO Response向Parent Device申請和獲取子R0,但具體參數(shù)要有所變化。步驟7:若Child Device需要退出域時,則可通過LeaveDomain Request申請退出,Parent Device通過Leave Domain Response給予退出域的答復(fù)。此處,Parent Device 也可以不經(jīng)過Child Device離域申請,單方面使其退出。在進行離線共享過程中,不可避免需要多次進行ROAP協(xié)議的通信。ROAP Right Object Access Protocol的縮寫,ROAP協(xié)議目的是完成終端設(shè)備注冊,版權(quán)對象的分發(fā), 撤銷以及更新。它可以分為注冊協(xié)議RO Registration、請求協(xié)議RO Request和獲取協(xié)議 RO Response。OMA DRM2. 0中的ROAP沒有考慮終端在RO注冊和RO獲取的過程中,數(shù)據(jù)包丟失或因其他因素而中斷的情況[34]。本發(fā)明基于OMA ROAP協(xié)議,針對此問題進行了改進。圖 8是改進后的ROAP流程圖。改進的ROAP通過設(shè)置會話kssion ID和發(fā)送次數(shù)N0,在RI與終端Device通話時,將kssion ID和NO—并發(fā)送給Device,若是該會話的首次發(fā)送信息,則將NO設(shè)置為0, 第二次則設(shè)置為1,以此類推;同時,在系統(tǒng)數(shù)據(jù)庫中存儲該kssion ID和N0。如果Device 在發(fā)送Registration Request和RO request 一定時間后仍無法收到相應(yīng)的Registration Reponse和RO Response,那么,終端Device將再次向RI提出相應(yīng)的申請Request,不過,此次申請仍使用中斷前的kssion ID和N0,且將NO在上次申請的基礎(chǔ)上進行加一,以表示是第幾次申請,當RI檢驗到非首次申請信息后,繼而驗證本次申請的kssion ID是否在服務(wù)器端的數(shù)據(jù)庫中,若存在且該會話在有效期(可設(shè)置成幾秒)內(nèi),且確定此NO是該會話中最大的,即最新的申請,則找出該kssion ID所對應(yīng)的Response再次發(fā)送給Device ;終端系統(tǒng)收到Response后,檢驗該Response是否有效在效期內(nèi),若有效的話,且在確保NO是該會話最大的情況下,則接受相應(yīng)的Response,若該Response是RO Response,則將相同的 RO刪除。下文所談到的R0AP,均指本發(fā)明中改進的R0AP。對NO有一點需要說明,倘若終端在一定時間內(nèi)無法收到RI的Response,則立刻再次申請并收到Response,但上次申請的有可能仍然會收到,那么,終端則接受NO較大的Response,刪除其他的。 利用本實施例方法基于Windows Mobile 6. 0,在手機模擬器上,對上述的RO共享中的改進型R0AP,域的加入與離開,以及終端使用時的RO驗證和RO管理,給予了實現(xiàn)。
權(quán)利要求
1.一種射頻手機的OMA DRM Agent,其特征在于,建立在一個完整有效的完整有效的 OMA DRM Agent手機客戶端OMA DRM Agent上,其整體設(shè)計方案包括,無線射頻收發(fā)處理模塊(101)、認證與登錄模塊(10 、版權(quán)信息管理模塊(10 、內(nèi)容處理模塊(104)、可信計算模塊(10 和守護進程與共享數(shù)據(jù)模塊(106)組成。所述無線射頻收發(fā)模塊(101)實現(xiàn)離線手機之間的通信,既可用于接收RO和加密后的數(shù)字信息產(chǎn)品,同時在域中可以對離線的Child Device進行廣播,以通知有RO更新或者過期;所述認證登錄模塊(10 主要完成終端設(shè)備的ROAP注冊,以及EDN登錄等;所述版權(quán)信息管理模塊(10 負責版權(quán)對象RO的請求與接收、版權(quán)信息處理、RO的本地管理等;所述內(nèi)容處理模塊(104)負責完成播放控制和數(shù)字內(nèi)容的解密,播放控制主要包括播前控制、 實時控制播后處理。所述可信計算模塊TCM(10 用來完成存儲關(guān)鍵信息,如用戶私鑰、所有涉及到用戶設(shè)備私鑰的簽名以及加解密算法等機密信息,并負責檢查OMA DRM Agent核心代碼的完整性; 所述守護進程與共享數(shù)據(jù)模(106)塊負責完成OMA DRM Agent初始化,開辟共享存儲區(qū)并創(chuàng)建共享數(shù)據(jù),是OMA DRM Agent各模塊完成數(shù)據(jù)交互,最終完成OMA DRM Agent的各項工作。
2.如權(quán)利要求1所述一種基于手機平臺的OMADRM Agent,其特征在于客戶端設(shè)備欲要使用數(shù)字信息產(chǎn)品,必須先通過所述認證登錄模塊(102)進行注冊, 并且取得RO和經(jīng)過加密的數(shù)字信息產(chǎn)品,進而在所述內(nèi)容處理模塊(104)的控制下使用該數(shù)字信息產(chǎn)品。
3.如權(quán)利要求1所述一種基于手機平臺的OMADRM Agent,其特征在于客戶端設(shè)備欲要使用數(shù)字信息產(chǎn)品,其安全保障是所述TCM(105)保證OMA DRMAgent 的代碼是完整的;守護進程與共享數(shù)據(jù)模塊(106)則完成OMA DRM Agent初始化、實時監(jiān)控,并協(xié)調(diào)各個模塊協(xié)同工作。
4.RO初始化設(shè)計,基于手機平臺的OMA DRM Agent,其特征在于,所述方法包括如下步驟A、可信計算模塊TCM(105)中OMADRM Agent追蹤系統(tǒng)對OMA DRM Agent代碼完整性進行校驗,如果OMA DRM Agent代碼是完整的,則繼續(xù)進行后續(xù)操作;否則停止OMA DRM Agent 運行,并提示客戶更換OMA DRM Agent。B、調(diào)用版權(quán)信息管理模塊(103),進行終端開機RO有效性查詢,保證在OMADRM Agent 開啟時就清除無效的R0,防止過期的RO被重新利用。C、檢查客戶端設(shè)備本地是否存在RIContext,如果沒有則要調(diào)用認證與登錄子模塊 (101)發(fā)起注冊請求。D、按照邊緣發(fā)布節(jié)點EDN登錄流程登錄EDN,OMADRM Agent判斷是否登陸成功,成功則繼續(xù)進行后續(xù)操作;否則登陸中間件詢問EDUURL。E、檢查EDU恢復(fù)的LoginResponse中是否含有新的RO Response,如果有則調(diào)用Add_ R0_Response將RO數(shù)據(jù)庫內(nèi)容加一,否則調(diào)用Add_R0_Response將RO數(shù)據(jù)庫內(nèi)容加0,即不做改變。完成上述五個步驟后,對于實時性要求較高且終端具有相關(guān)RO的數(shù)字信息產(chǎn)品,OMA DRM Agent初始化還要建立一個數(shù)字信息產(chǎn)品與其對應(yīng)CEK密鑰列表。
5.如權(quán)利要求4所述RO初始化完成后,則將要對RO更高效率的超級分發(fā)及共享進一步的設(shè)計。在提出離線RO共享模型前,需要首先對RO結(jié)構(gòu)進行一定的改造。其特征在于RO在存儲結(jié)構(gòu)上,分為PRO (Permission R0)禾PCR0(CEK R0);其中,同一個RO下的CRO 需要PRO負責,即只有當PRO有效時,對應(yīng)的CRO才可用;對于本發(fā)明中講述的RO共享,從 RO的級別上,在概念上又可分為父RO和子R0,其中,父RO是有Parent Device向RI申請到的適用于本域的可以再次派生的R0,子RO是由Parent Device從父RO中派生出并發(fā)送給Child Device的R0,父RO和子RO均可以同時包括PRO和CR0,或二者之一。
6.根據(jù)權(quán)利要求5所述的RO存儲結(jié)構(gòu),提出RO離線共享流程,其特征在于,所述方法包括如下步驟A、在所有Device完成OMADRM Agent代碼安裝及完整性驗證之后,各Child Device 通RO注冊協(xié)議RORP向Parent Device申請注冊。注冊成功后,ParentDevice端保存注冊成功信息,主要包括各Child Device IDi和完整性信息,Child Device端生成RIContext。 轉(zhuǎn)到B。B、ParentDevice攜各Child Device注冊信息及自身信息,同樣按照RORP向RI申請注冊。注冊成功后,Parent Device端生成RI Context。轉(zhuǎn)到C。C、注冊成功后,ParentDevice通過JoinDomain協(xié)議向RI申請加入域,RI會為 ParentDevice 分配一個Domain ID,并生成Domain Context 發(fā)送給Parent Device,然后存儲到本地。若不是首次申請加入,即已經(jīng)加入該域,則跳過此步,否則,若未加入,或申請再次加入新的域,則執(zhí)行此步。轉(zhuǎn)向D。D、注冊成功后,ChildDevice按照同樣的協(xié)議向ParentDevice申請加入域,成功后生成Domain Context并發(fā)送給Child Device,轉(zhuǎn)向Ε。對于未注冊的新Child Device,在其申請加入域前,需先轉(zhuǎn)到A。Ε、Parent Device注冊和加入域后,則通過RO Request向RI申請(Domain) R0,RI通過RO Request把生成的RO返回。此處,RO是否具有域功能,取決于請求協(xié)議RO Response 中域參數(shù)的選擇。若該RO具有域?qū)傩?,則轉(zhuǎn)向F,否則,RO的請求與獲取結(jié)束,此時為普通的RO申請。F、在E中,若申請的RO具有域?qū)傩?,即可以共享,則ChildDevice同樣通過RO Request 和RO Response向Parent Device申請和獲取子R0,但具體參數(shù)要有所變化。G、若ChildDevice需要退出域時,則可通過Leave Domain Request申請退出,Parent Device ffljl Leave Domain Response白勺胃 1。 ift^b, Parent Device ^ ! ^ 經(jīng)過Child Device離域申請,單方面使其退出。
7.根據(jù)權(quán)利要求6所述的RO離線共享流程,考慮終端在RO注冊和RO獲取的過程中, 數(shù)據(jù)包丟失或因其他因素而中斷的情況,提出改進型R0AP,其特征在于改進的ROAP通過設(shè)置會話kssion ID和發(fā)送次數(shù)N0,在RI與終端Device通話時,將 Session ID和NO —并發(fā)送給Device,若是該會話的首次發(fā)送信息,則將NO設(shè)置為0,第二次則設(shè)置為1,以此類推;同時,在系統(tǒng)數(shù)據(jù)庫中存儲該kssion ID和N0。如果Device在發(fā)送Registration Request禾口 RO request 一定時間后仍無法收至Ij相應(yīng)的Registration Reponse和RO Response,那么,終端Device將再次向RI提出相應(yīng)的申請Request,不過,此次申請仍使用中斷前Wkssion ID和N0,且將NO在上次申請的基礎(chǔ)上進行加一,以表示是第幾次申請,當RI檢驗到非首次申請信息后,繼而驗證本次申請的kssion ID是否在服務(wù)器端的數(shù)據(jù)庫中,若存在且該會話在有效期(可設(shè)置成幾秒)內(nèi),且確定此NO是該會話中最大的,即最新的申請,則找出該kssion ID所對應(yīng)的Response再次發(fā)送給Device ;終端系統(tǒng)收到Response后,檢驗該Response是否有效在效期內(nèi),若有效的話,且在確保NO是該會話最大的情況下,則接受相應(yīng)的Response,若該Response是ROResponse,則將相同的RO 刪除。
全文摘要
一種射頻手機的OMA DRM Agent,設(shè)計了OMA DRM Agent的整體方案,并且提出了一個新的RO設(shè)計方法。該方法包括對RO初始化設(shè)計;基于對RO結(jié)構(gòu)進行一定的改造,提出離線RO共享模型,并且設(shè)計RO離線共享具體流程;根據(jù)RO離線共享流程,考慮終端在RO注冊和RO獲取的過程中,數(shù)據(jù)包丟失或因其他因素而中斷的情況,提出改進型ROAP;采用本發(fā)明所述的RO設(shè)計方法可以實現(xiàn)同一域中的離線手機之間的通信;設(shè)計了改進RO結(jié)構(gòu),能夠適應(yīng)版權(quán)的靈活應(yīng)用;同時提出了一個新的RO離線共享模式和流程,使離線手機也能共享數(shù)字信息產(chǎn)品;改進ROAP協(xié)議,適應(yīng)RO離線共享,有效防止了數(shù)據(jù)丟失情況。
文檔編號H04M1/725GK102339366SQ20101023852
公開日2012年2月1日 申請日期2010年7月28日 優(yōu)先權(quán)日2010年7月28日
發(fā)明者朱相鵬, 李高峰, 洪小川, 童立新, 顧超捷 申請人:上海交泰信息科技有限公司