專利名稱:在安全可移動(dòng)媒介之間共享許可的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字版權(quán)管理(Digital Rights Management, DRM)技術(shù)領(lǐng)域,尤其涉及一種在安全可移動(dòng)媒介(Secure Removable Media, SRM)之間共享許可的方法及裝置。
背景技術(shù):
為了保護(hù)內(nèi)容所有者的合法權(quán)益,DRM通過內(nèi)容保護(hù)和權(quán)限控制方案管理數(shù)字內(nèi) 容的使用。典型的DRM方案包括數(shù)字內(nèi)容發(fā)行者(Content Issuer,Cl)用內(nèi)容加密密鑰(Content Encryption Key, CEK)對(duì)數(shù)字內(nèi)容進(jìn)行加密打包為內(nèi)容數(shù)據(jù)包(DRM ContentFormat, DCF)分發(fā)給設(shè)備,并將數(shù)字內(nèi)容的內(nèi)容標(biāo)識(shí)與對(duì)應(yīng)的CEK提供給版權(quán)發(fā)行者(Rights Issuer, RI);RI生成與數(shù)字內(nèi)容對(duì)應(yīng)的許可并發(fā)送給設(shè)備中執(zhí)行DRM功能的代理DRM Agent,許可中包括加密的CEK和使用內(nèi)容的權(quán)利和限制,權(quán)利包括執(zhí)行、播放和轉(zhuǎn)移等,限制包括次數(shù)、累積時(shí)間和有效期等。DRM Agent獲得DCF和許可后,可解密得到CEK,進(jìn)而解密得到內(nèi)容,并按照許可中的權(quán)限使用數(shù)字內(nèi)容。SRM是可以保護(hù)內(nèi)部數(shù)據(jù)不被未授權(quán)訪問的可移動(dòng)媒介。通過使用SRM存儲(chǔ)和轉(zhuǎn)移DCF和許可,擴(kuò)大了存儲(chǔ)空間,提供了許可的可移動(dòng)性。在某些場(chǎng)景下,用戶希望將許可贈(zèng)送給他人或者更換SRM,這就需要將許可從一個(gè)SRM轉(zhuǎn)移(Move )或復(fù)制(Copy )到另一個(gè)SRM上。隨著一機(jī)多卡的普及,用戶對(duì)在SRM卡之間共享許可的需求更加普遍。開放移動(dòng)聯(lián)盟(Open Mobile Alliance)的SRM標(biāo)準(zhǔn)中給出了許可從設(shè)備轉(zhuǎn)移到SRM中和許可從SRM中轉(zhuǎn)移到設(shè)備的協(xié)議。SRM Agent為SRM中執(zhí)行DRM相關(guān)功能的實(shí)體?,F(xiàn)有方案提供了將許可從DRM Agent轉(zhuǎn)移到SRM的方案,也提供了將許可從SRM轉(zhuǎn)移到DRM Agent的方案,不論在哪種轉(zhuǎn)移方案中,每次轉(zhuǎn)移都需要扣除共享權(quán)限,那么,如果要實(shí)現(xiàn)將許可從SRMl轉(zhuǎn)移到SRM2,至少需要經(jīng)過將許可首先從SRMl轉(zhuǎn)移到DRM Agent,然后再由DRM Agent轉(zhuǎn)移給SRM2,也就是說至少需要扣除兩次共享權(quán)限。本發(fā)明人在發(fā)明的過程中發(fā)現(xiàn),現(xiàn)有技術(shù)中對(duì)許可的轉(zhuǎn)移需要多次權(quán)限,對(duì)用戶而言造成不必要的權(quán)限浪費(fèi)
發(fā)明內(nèi)容
本發(fā)明提供一種在SRM之間共享許可的方法及裝置,以解決現(xiàn)有方案存在的過多消耗共享權(quán)限的問題。為此,本發(fā)明實(shí)施例采用如下技術(shù)方案一種在SRM之間共享許可的方法,包括數(shù)字版權(quán)管理終端DRM Agent從第一 SRM獲取許可,并將所述許可在本地設(shè)置為中轉(zhuǎn)狀態(tài),指定轉(zhuǎn)移給第二 SRM,不可用所述許可消費(fèi)內(nèi)容;所述DRM Agent將所述許可的共享權(quán)限扣除一次;所述DRM Agent將所述許可發(fā)送給第二 SRM。一種共享許可的裝置,包括獲取單元,用于從第一安全可移動(dòng)媒介SRM獲取許可;中轉(zhuǎn)設(shè)置單元,用于將所述獲取的許可設(shè)置為中轉(zhuǎn)狀態(tài),指定轉(zhuǎn)移給第二 S RM,不可用所述許可消費(fèi)內(nèi)容;發(fā)送單元,用于將所獲取的許可發(fā)送給第二 SRM ;控制單元,扣除一次共享權(quán)限。與現(xiàn)有方案在許可從SRMl轉(zhuǎn)移到設(shè)備過程中需要扣除一次Move權(quán)限、在設(shè)備轉(zhuǎn)移到SRM2過程中需要扣除另一次Move權(quán)限相比,本發(fā)明實(shí)施例通過將DRM Agent中轉(zhuǎn)的許可設(shè)置為中轉(zhuǎn)狀態(tài),由此僅扣除一次Move權(quán)限,減少了 Move權(quán)限的消耗,有利于維護(hù)用戶權(quán)益。
圖I為本發(fā)明在SRM之間共享許可方法實(shí)施例一流程圖;圖2為本發(fā)明在SRM之間共享許可方法實(shí)施例二流程圖;圖3為本發(fā)明在SRM之間共享許可方法實(shí)施例三流程圖;圖4為本發(fā)明圖3中SRM之間協(xié)商共享密鑰的流程圖;圖5為本發(fā)明在SRM之間共享許可方法實(shí)施例四流程圖;圖6為本發(fā)明在屬于相同用戶的SRM之間共享許可方法實(shí)施例五流程圖;圖7為本發(fā)明在屬于相同用戶的SRM之間共享許可方法實(shí)施例六流程圖。
具體實(shí)施例方式本發(fā)明實(shí)施例提供一種在SRM之間共享許可的方案,通過DRM Agent或RI等設(shè)備將SRMl中的許可共享給SRM2,僅消耗一次共享權(quán)限。上述所謂的共享許可,包括轉(zhuǎn)移許可和復(fù)制許可等情況,下面著重以轉(zhuǎn)移許可為例對(duì)方法實(shí)施例進(jìn)行說明。下面介紹在SRM之間共享許可方法的各個(gè)實(shí)施例。概括而言,實(shí)施例一和實(shí)施例二方法包括以下步驟[1]DRM Agent從第一 SRM獲取許可,并將所述許可在本地設(shè)置為中轉(zhuǎn)狀態(tài);[2]所述DRM Agent將所述許可的共享權(quán)限扣除一次;[3]所述DRM Agent將所述許可發(fā)送給第二 SRM。其中,所述共享許可是指復(fù)制許可,所述共享權(quán)限是指復(fù)制權(quán)限;或者,所述共享許可是指轉(zhuǎn)移許可,所述共享權(quán)限是指轉(zhuǎn)移權(quán)限。當(dāng)所述共享許可是指轉(zhuǎn)移許可時(shí),還需要執(zhí)行以下步驟所述DRM Agent觸發(fā)所述第一 SRM刪除許可。實(shí)施例一與實(shí)施例二主要區(qū)別即在于執(zhí)行該步驟的時(shí)機(jī)不同,在實(shí)施例一中,是在所述DRM Agent將獲取的許可設(shè)置為中轉(zhuǎn)狀態(tài)后,執(zhí)行所述DRM Agent觸發(fā)所述第一SRM刪除許可的步驟;而在實(shí)施例二中,是在所述DRM Agent確定所述第二SRM接收到所述許可后,執(zhí)行所述DRM Agent觸發(fā)所述第一 SRM刪除許可的步驟。下面首先介紹實(shí)施例一。參見圖1,是在SRMl和SRM2之間共享許可方法實(shí)施例一流程圖,包括SlOl DRM Agent和SRM Agentl相互認(rèn)證并建立安全認(rèn)證通道(SecureAuthenticated Channel, SAC),認(rèn)證過程中 DRM Agent 和 SRM Agent I 互相交換證書并驗(yàn)證對(duì)方證書的有效性,交換隨機(jī)數(shù)并根據(jù)隨機(jī)數(shù)生成通信密鑰,包括加密密鑰和完整性保護(hù)密鑰。在DRM Agent和SRM Agent之間建立SAC為現(xiàn)有技術(shù),此處不過多描述。
S102-S103 DRM Agent 發(fā)起將 SRMl 上的 Rights 直接轉(zhuǎn)移到另一 SRM :SRM2,該操作可由用戶通過和DRM Agent的交互觸發(fā),DRM Agent從SRMl獲取Rights信息和REK,具體為現(xiàn)有技術(shù)。S104 DRM Agent驗(yàn)證Rights信息及Move權(quán)限,并在驗(yàn)證通過后扣除Move權(quán)限,具體為現(xiàn)有技術(shù)??鄢齅ove權(quán)限具體可表現(xiàn)為將Rights對(duì)應(yīng)的狀態(tài)信息中Move權(quán)利的剩余次數(shù)扣減一次;或者,將Rights對(duì)應(yīng)的狀態(tài)信息中Move權(quán)利的已使用次數(shù)增加一次。Rights在設(shè)備上設(shè)置為中轉(zhuǎn)狀態(tài),即指定必須轉(zhuǎn)移給另一 SRM,即DRM Agent不可用其消費(fèi)內(nèi)容。如果此時(shí)DRM Agent已獲知轉(zhuǎn)移的目的設(shè)備為SRM2,則可指定具體SRM2標(biāo)識(shí)。S105-106 DRM Agent指示SRM Agentl刪除該Rights,具體步驟為現(xiàn)有技術(shù)。S107-S108 DRM Agent查詢SRM2是否有足夠的空間安裝該Rights,具體為現(xiàn)有技術(shù)。在S107之前DRM Agent和SRM Agent2互相認(rèn)證并建立SAC通道。圖I中以S107a表示。如果DRM Agent可同時(shí)和兩個(gè)SRM Agent交互,則S107a在S107之前任意時(shí)刻執(zhí)行即可。如果DRM Agent不能同時(shí)和兩個(gè)SRM Agent交互,則在S107之前可先和SRMl斷開連接,再和SRM2連接執(zhí)行后續(xù)步驟。執(zhí)行后續(xù)步驟的過程可由用戶操作設(shè)備觸發(fā),具體的可以將Rights在設(shè)備處存儲(chǔ)為特殊格式的文件,用戶瀏覽確定該Rights處于中轉(zhuǎn)狀態(tài),選擇將該文件轉(zhuǎn)移到另一 SRM完成中轉(zhuǎn),或者設(shè)備將Rights信息提示給用戶,用戶選擇是否繼續(xù)轉(zhuǎn)移。或者設(shè)備可根據(jù)Rights關(guān)聯(lián)的目的設(shè)備的標(biāo)識(shí)自動(dòng)執(zhí)行,例如在連接到SRM2時(shí)搜索本地處于中轉(zhuǎn)狀態(tài)且關(guān)聯(lián)的目的設(shè)備為SRM2的Rights,并自動(dòng)執(zhí)行S107后續(xù)步驟。S109-S110 DRM Agent向SRM Agent2發(fā)送Rights安裝請(qǐng)求消息,消息中包含handle、REK、內(nèi)容標(biāo)識(shí)的hash的列表、Rights信息,SRM2安裝Rights并返回響應(yīng),即不必進(jìn)行第二次Move權(quán)限的扣除,因此減少了扣除Move權(quán)限的次數(shù)。Slll :如果 SRM2 成功安裝 Rights,則 DRM Agent 刪除本地的 Rights??蛇x地,在S104中不扣除Move權(quán)限,而在將Rights安裝到SRM2時(shí)再在設(shè)備上執(zhí)行扣除Move權(quán)限的操作。另外,在S106之后,設(shè)備可以保留該中轉(zhuǎn)Rights的源SRM即SRMl的記錄,這樣如果在Rights安裝到SRM2的過程中發(fā)生意外而導(dǎo)致失敗,例如SRM2沒有足夠的空間安裝該Rights,可以將Rights重新恢復(fù)到SRMl上,從而保證用戶的權(quán)益不受損害。實(shí)施例一是以轉(zhuǎn)移(Move)許可為例對(duì)共享許可進(jìn)行說明,如前所述,共享還包括復(fù)制(Copy),將SRMl中的許可復(fù)制到SRM2的過程與圖I類似,不同在于,在復(fù)制過程中消耗的是Copy權(quán)限D(zhuǎn)RM Agent將SRMl上的所述許可的Copy權(quán)限扣除一次,DRM Agent發(fā)送給SRM2的許可不包含Copy權(quán)限;或者DRM Agent將發(fā)送給SRM2的許可的Copy權(quán)限扣除一次,并將SRMl上的許可的Copy權(quán)限全部扣除。SRMl無需刪除該許可??梢?,與現(xiàn)有方案在許可從SRMl轉(zhuǎn)移到設(shè)備過程中需要扣除一次共享權(quán)限、在許可從設(shè)備轉(zhuǎn)移到SRM2過程中需要扣除另一次共享權(quán)限相比,本發(fā)明實(shí)施例通過將DRMAgent中轉(zhuǎn)的Rights設(shè)置為中轉(zhuǎn)狀態(tài),由此僅扣除一次Move權(quán)限,減少了 Move權(quán)限的消耗,有利于維護(hù)用戶權(quán)益。下面介紹在SRM之間共享許可方法的實(shí)施例二。在上述實(shí)施例一中圖I的S107-S108中,如果Rights安裝到SRM2的過程失敗,將Rights重新恢復(fù)到SRMl則較為復(fù)雜,較佳的方案是在確認(rèn)SRM2有足夠的空間安裝Rights后,再刪除SRMl上的Rights。
參見圖2,實(shí)施例二流程包括S201 DRM Agent 分別和 SRM AgentU SRM Agent2 互相認(rèn)證并建立 SAC 通道,DRMAgent和SRM Agent2的認(rèn)證可以在S205之前任何時(shí)候進(jìn)行。S202-S203 DRM Agent發(fā)起將SRMl上的Rights直接轉(zhuǎn)移到SRM2,該操作可由用戶通過和DRM Agent的交互觸發(fā),DRM Agent從SRMl獲取Rights信息和REK。S204 DRM Agent驗(yàn)證Rights信息以及Move權(quán)限,并在驗(yàn)證通過后扣除Move權(quán)限??鄢齅ove權(quán)限的操作可以在S406之后再執(zhí)行。S205-S206 DRM Agent查詢SRM2是否有足夠的空間安裝該Rights。S207-S208 DRM Agent向SRM Agent2發(fā)送Rights安裝請(qǐng)求消息,消息中包含handle、REK、內(nèi)容標(biāo)識(shí)的hash的列表、Rights信息,SRM2安裝Rights并返回響應(yīng)。如果SRM2成功安裝Rights,則DRM Agent刪除本地的Rights。S209-S210 :如果 SRM2 成功安裝 Rights,則 DRM Agent 指示 SRM Agentl 刪除該Rights。其中,S209-S210也可以在S206之后執(zhí)行。如果在將Rights安裝到SRM2的過程中發(fā)生錯(cuò)誤,例如SRM2空間不夠,則DRMAgent可以取消Move操作,恢復(fù)SRMl上的原Rights。如果DRM Agent和某一 SRM連接中斷,則DRM Agent可記錄中斷日志,中斷日志具體包括操作類型、當(dāng)前狀態(tài)、許可標(biāo)識(shí)、SRMl標(biāo)識(shí)、許可在SRMl上對(duì)應(yīng)的handle I、SRM2標(biāo)識(shí)、許可在SRM2上對(duì)應(yīng)的handle2。下次連接時(shí)根據(jù)中斷日志中的信息進(jìn)行恢復(fù)繼續(xù)將許可發(fā)送到SRM2,完成操作;或者取消操作,將許可恢復(fù)到SRMl。為了從一定程度上提高REK的安全性,可以由DRM Agent將SRM2的公鑰或證書提供給SRM Agentl, SRM Agentl使用SRM2的公鑰對(duì)REK進(jìn)行加密后通過DRM Agent傳輸給SRM2。可見,實(shí)施例二與實(shí)施例一相比,在SRM2確定可以安裝Rights后,才將SRMl中的Rights刪除,這在SRM2無法安裝Rights的情況下,DRM Agent恢復(fù)SRMl上的原Rights操作比較簡(jiǎn)單,僅需將Rights恢復(fù)為可用狀態(tài)。下面介紹在SRM之間共享許可方法的實(shí)施例三。
在實(shí)施例三中,通過DRMAgent協(xié)助,在SRMl和SRM2之間建立SAC,并使用SAC密鑰共享許可。下面仍以轉(zhuǎn)移許可為例介紹實(shí)施例三,對(duì)于復(fù)制許可,與其類似。概括而言,實(shí)施例三包括以下步驟[I]DRM Agent觸發(fā)第一 SRM和第二 SRM協(xié)商共享密鑰;[2]第一 SRM使用協(xié)商的共享密鑰加密許可的部分或全部信息; [3]第一 SRM將許可發(fā)送給第二 SRM。下面結(jié)合附圖對(duì)實(shí)施例三詳細(xì)流程進(jìn)行介紹。 參見圖3,為實(shí)施例三流程圖,包括S301 DRM Agent分別和SRM Agentl和SRM Agent2交換各自支持的信任錨(Trustanchor)。S302 DRM Agent 觸發(fā) SRM Agentl 和 SRM Agent2 認(rèn)證。消息中包含選擇的 Trustanchor,DRM Agent可根據(jù)待轉(zhuǎn)移的Rights來選擇??蛇x的,觸發(fā)消息中還可包含SRM2標(biāo)識(shí)。本步驟可由用戶選擇在兩個(gè)SRM之間轉(zhuǎn)移Rights的操作觸發(fā)。S303 SRM Agentl 向 SRM Agent2 發(fā)送認(rèn)證請(qǐng)求。請(qǐng)求中包含 Trust anchor>SRMl證書鏈、SRM Agentl支持的算法等。如果SRM Agentl和SRM Agent2之間可以直接通信,則消息可不經(jīng)過DRM Agent,否則所有的消息都需要DRM Agent代為中轉(zhuǎn)。S304 SRM Agent2向SRM Agentl返回認(rèn)證響應(yīng)。響應(yīng)中包含SRM Agent2證書鏈、SRM2選擇的算法、用于生成密鑰的隨機(jī)數(shù)RNl,其中RNl需要使用SRM2的公鑰加密傳輸。S305 SRM Agentl向SRM Agent2發(fā)送密鑰交換請(qǐng)求。請(qǐng)求中包含用于生成密鑰的隨機(jī)數(shù)RN2,其中RN2需要使用SRMl的公鑰加密傳輸。S306 SRM Agent2向SRM Agentl返回密鑰交換響應(yīng)。響應(yīng)中可能包含RNl和RN2的連接值的Hash用于確認(rèn)隨機(jī)數(shù)。至此,SRMl和SRM2均獲得RNl和RN2,分別使用RNl和RN2生成會(huì)話密鑰和MAC密鑰。S307 DRM Agent 觸發(fā) SRM Agentl 向 SRM2 轉(zhuǎn)移 Rights,消息中可包含該 Rights在SRMl上對(duì)應(yīng)的Handle或者許可標(biāo)識(shí)。S308 SRM Agentl向SRM Agent2發(fā)送初始化轉(zhuǎn)移請(qǐng)求,請(qǐng)求中包含Rights的大小,可能包含該Rights在SRM2上對(duì)應(yīng)的Handle。S309 SRM Agent2檢查本地是否有足夠的空間安裝該Rights,如果S508中SRMAgentl發(fā)送了 Handle,則SRM Agent2需要檢查該Handle和SRM2上已有的Handle是否重復(fù)。并在向SRM Agentl返回的初始化轉(zhuǎn)移響應(yīng)中包含檢查結(jié)果。如果S308中SRM Agentl沒有發(fā)送Handle,則SRM Agent2可自動(dòng)生成一個(gè)和本地其他Handle不同的Handle,并可在響應(yīng)中返回。S310 :SRM Agentl向SRM Agent2發(fā)送轉(zhuǎn)移請(qǐng)求,請(qǐng)求中包含Rights信息、REK、Rights關(guān)聯(lián)的內(nèi)容標(biāo)識(shí)等,如果SRM Agentl獲知Rights在SRM2上關(guān)聯(lián)的Handle,則可在請(qǐng)求消息中包含該Handle。S311 SRM Agent2驗(yàn)證Rights信息,驗(yàn)證通過后扣減Move權(quán)限,并將Rights存放在SRM2中??蛇x的,也可由SRM Agentl在步驟S310之前檢查Move權(quán)限并扣減,這樣,在步驟S311中SRM Agent2無需扣減Move權(quán)限
與實(shí)施例一或?qū)嵤├啾?,?shí)施例三中是通過SRMl和SRM2之間建立SAC,由該SAC將許可進(jìn)行轉(zhuǎn)移,其中的DRM Agent僅是執(zhí)行轉(zhuǎn)發(fā)功能,由于轉(zhuǎn)發(fā)的Rights是經(jīng)過SRMl和SRM2協(xié)商的密鑰加密的,DRM Agent無法對(duì)其執(zhí)行操作,這在一定程度上提高了 Rights
安全性。但是如果SRMl和SRM2由于能力問題無法驗(yàn)證Rights,則可由DRM Agent代為驗(yàn)證,并扣減Move權(quán)限,可在S310中執(zhí)行,這需要SRM Agentl或SRM Agent2將MAC密鑰告知 DRM Agent。圖3中S301-S306完成的在兩個(gè)SRM間協(xié)商共享密鑰的過程為本發(fā)明實(shí)施例新提出的,概括而言包括以下步驟[I]DRM Agent向第一 SRM發(fā)起認(rèn)證過程,獲取第一 SRM證書鏈;
[2] DRM Agent向第二 SRM發(fā)起認(rèn)證過程,將所獲取的第一 SRM證書鏈發(fā)送給第二SRM,并從第二 SRM獲取第二 SRM證書鏈和第一 SRM公鑰加密的第二隨機(jī)數(shù);[3] DRM Agent向第一 SRM發(fā)起密鑰交換過程,將所獲取的第二 SRM證書鏈和第一SRM公鑰加密的第二隨機(jī)數(shù)發(fā)送給第一 SRM,并從第一 SRM獲取第二 SRM公鑰加密的第一隨機(jī)數(shù);[4] DRM Agent向第二 SRM發(fā)起密鑰交換過程,將所獲取的第二 SRM公鑰加密的第一隨機(jī)數(shù)發(fā)送給第二 SRM ;[5]第一 SRM和第二 SRM利用所述第一隨機(jī)數(shù)和第二隨機(jī)數(shù),確定共享密鑰。該過程可以和DRM Agent和兩個(gè)SRM協(xié)商共享密鑰的過程一起完成,下面結(jié)合圖4,對(duì)其進(jìn)一步描述S401 DRM Agent 分別和 SRM Agentl 和 SRM Agent2 交換各自支持的 TrustanchorοS402 DRM Agent向SRM Agentl發(fā)起認(rèn)證請(qǐng)求。消息中包含選擇的Trust anchor,對(duì)應(yīng)該Trust anchor的設(shè)備證書鏈等。DRM Agent可根據(jù)待轉(zhuǎn)移的Rights來選擇TrustanchorοS403 SRM Agentl返回認(rèn)證響應(yīng)。響應(yīng)消息中包含SRMl證書鏈,使用設(shè)備公鑰加密的隨機(jī)數(shù)RNsId。S404 DRM Agent向SRM Agent2發(fā)起三方認(rèn)證請(qǐng)求。消息中包含選擇的Trustanchor,對(duì)應(yīng)該Trust anchor的設(shè)備證書鏈和SRMl證書鏈等。S405 SRM Agent2返回三方認(rèn)證響應(yīng)。響應(yīng)消息中包含SRM2證書鏈,使用設(shè)備公鑰加密的隨機(jī)數(shù)RNs2d和使用SRMl公鑰加密的隨機(jī)數(shù)RNs2sl。S406 DRM Agent向SRM Agentl發(fā)送三方密鑰交換請(qǐng)求。消息中包含SRM2證書鏈,使用SRMl公鑰加密的隨機(jī)數(shù)RNs2sl,使用SRMl公鑰加密的隨機(jī)數(shù)RNdsl(可以和RNsld的哈希連接后再使用SRMl公鑰加密)。S407 SRM Agentl返回三方密鑰交換響應(yīng)。響應(yīng)消息中包含使用SRM2公鑰加密的隨機(jī)數(shù)RNsls2 (可以和RNs2sl的哈希連接后再使用SRM2公鑰加密),可能包含RNdsl和RNsld的連接值的哈希。S408 DRM Agent向SRM Agent2發(fā)起三方密鑰交換請(qǐng)求。消息中包含使用SRM2公鑰加密的隨機(jī)數(shù)RNsls2 (可以和RNs2sl的哈希連接后再使用SRM2公鑰加密),使用SRM2公鑰加密的隨機(jī)數(shù)RNds2 (可以和RNs2d的哈希連接后再使用SRM2公鑰加密)。S409 SRM Agent2返回三方密鑰交換響應(yīng)。響應(yīng)消息中可能包含RNsls2和RNs2sl的連接值的哈希以及RNds2和RNs2d的連接值的哈希。至此,DRM Agent和SRM AgentUSRM Agent2兩兩之間共享了一對(duì)隨機(jī)數(shù),可各自獨(dú)立用其生成密鑰。這樣,SRMl向SRM2轉(zhuǎn)移Rights時(shí),重要信息如REK可以使用與SRM2之間的共享密鑰加密,而其他信息可以使用和DRM Agent間的共享密鑰加密或進(jìn)行完整性保護(hù)以方便DRM Agent處理。DRM Agent向SRM Agentl和SRM Agent2提供的隨機(jī)數(shù)可以一樣,這樣三方可以使用此公共隨機(jī)數(shù)生成三方公共密鑰?;蛘?,DRMAgent 可以將 SRM Agentl 提供的 RNsld作為 RNds2提供給 SRM Agent2,將SRM Agent2提供的RNs2d作為RNdsl提供給SRM Agent I,也可生成三方共享密鑰。 目前SRM Agent和DRM Agent使用隨機(jī)數(shù)生成密鑰時(shí)是按照RNd和RNs的順序連接,但在本方案中為了保證密鑰的一致性,可以默認(rèn)對(duì)于每對(duì)隨機(jī)數(shù)按照傳輸?shù)捻樞蜻B接,即SRM Agentl使用RNsld和RNdsl的順序連接,而SRM Agent2則使用RNds2和RNs2d的順序連接。在不影響密鑰的一致性的情況下,也可使用其它方式生成密鑰。通過DRM Agent將Rights從SRMl轉(zhuǎn)移到SRM2的過程中,為了安全起見,SRMl可在獲得SRM2收到Rights的確認(rèn)后才刪除Rights。具體的,SRM2的確認(rèn)可以是使用私鑰對(duì)安裝信息(如REK)的簽名,或者使用僅由SRMl和SRM2共享的密鑰對(duì)安裝信息(如REK)進(jìn)行加密的結(jié)果;或者由SRMl向SRM2提供確認(rèn)信息(如隨機(jī)數(shù)),該確認(rèn)信息可以使用SRM2的公鑰或者SRMl和SRM2共享的密鑰加密傳輸,SRM2向SRMl表示獲知該確認(rèn)信息,例如使用私鑰對(duì)其簽名或?qū)υ摯_認(rèn)信息進(jìn)行某種轉(zhuǎn)換(如哈希或簡(jiǎn)單的加一操作)后使用SRMl和SRM2共享的密鑰加密返回。下面介紹在SRM之間共享許可方法的實(shí)施例四。以上方案中通過DRM Agent在兩個(gè)SRM之間轉(zhuǎn)移Rights,某些情況下可能兩個(gè)SRM位于不同的地方,無法直接連接到同一個(gè)DRM Agent,則可能需要經(jīng)過多個(gè)DRM Agent代為中轉(zhuǎn)。例如,可由DRM Agentl從SRMl獲取Rights,轉(zhuǎn)移到DRM Agent2并指明給SRM2,DRMAgent2 將該 Rights 轉(zhuǎn)移到 SRM2。此外,也可以通過RI在兩個(gè)SRM之間轉(zhuǎn)移Rights,概括而言,包括以下步驟[I]在第一 DRM Agent從第一 SRM獲取許可后,發(fā)送給RI ;[2]所述第二 DRM Agent從RI獲取許可并發(fā)送給第二 SRM。具體流程如圖5所示S501 RI 向 DRM Agentl 發(fā)送觸發(fā)器 ROAP trigger {SRMROUpload},觸發(fā)設(shè)備Upload SRM上的許可。觸發(fā)器包括RI標(biāo)識(shí)、RIURL等信息,并包括布爾類型的roRequested,用于表示RI是否需要SRM上報(bào)待upload的rights,如果RI緩存了下發(fā)的許可,則該屬性為false,否則為true。觸發(fā)器中可選的包含SRMl標(biāo)識(shí)和許可標(biāo)識(shí)。本步驟是可選的,用戶可以通過人機(jī)界面操作設(shè)備upload SRMl上的許可,直接從S502開始。S502 DRM Agentl 向 SRM Agentl 發(fā)送 RightsUpload 請(qǐng)求消息,消息中包含標(biāo)識(shí)Rights 的 handle、用于替換該 handle 的新 handle。在 S502 之前DRM Agentl 和 SRM Agentl之間需要互相認(rèn)證和建立SAC通道。
S503 SRM Agentl判斷新handle是否和本地其它handle重復(fù),如果不重復(fù),則使用新handle替換步驟I中的handle,并將Rights置為不可用。SRMAgentl向DRM Agentl返回RightsUpload響應(yīng)消息,如果handle不重復(fù),則消息中還包含Rights信息,REK, Kmac,時(shí)間戳,以及SRM Agentl對(duì){指明upload的標(biāo)志、REK、RI標(biāo)識(shí)、時(shí)間戳}的簽名。S504 DRM Agentl檢查Rights信息中的RI簽名以及狀態(tài)信息是否超出Rights中的原始權(quán)限。S505 DRM Agentl向RI發(fā)送SRMROUpload請(qǐng)求消息,其中除了請(qǐng)求消息包含的一些公共參數(shù),如設(shè)備I標(biāo)識(shí)、RI標(biāo)識(shí)、nonce、時(shí)間戳、設(shè)備I證書鏈等之外,還包含upload
信息·從 SRM Agentl 獲取的 Rights 信息中的 RightsObjectContainer 部分(即原 RI 下發(fā)的許可中的〈rights〉和〈signature〉)或?qū)ζ涓袷睫D(zhuǎn)換后的結(jié)果,如果RI在ROAPtrigger {SRMROUpload}中標(biāo)記 roRequested 為 false,則該參數(shù)可省略;·如果該許可為有狀態(tài)的,則包括從SRM Agentl獲取的Rights信息中的狀態(tài)信息;· RI公鑰加密的REK和Kmac ;· SRMl標(biāo)識(shí)、SRMl證書鏈、SRMRightsUpload響應(yīng)消息中的時(shí)間戳、SRM Agentl對(duì){指明upload的標(biāo)志、REK、RI標(biāo)識(shí)、時(shí)間戳}的簽名;·以及使用Kmac對(duì)上述參數(shù)進(jìn)行MAC操作的結(jié)果。DRM Agentl需對(duì)請(qǐng)求消息中的參數(shù)進(jìn)行簽名,并將簽名在請(qǐng)求消息中一起發(fā)送給RI0S506 RI對(duì)請(qǐng)求消息中的各參數(shù)進(jìn)行驗(yàn)證·如果請(qǐng)求消息中有DRM Agentl證書鏈,則驗(yàn)證其有效性(可能需要通過OCSP或CRL實(shí)現(xiàn)),并使用請(qǐng)求消息中的設(shè)備I證書鏈或RI本地的設(shè)備上下文中的設(shè)備I證書鏈驗(yàn)證請(qǐng)求消息中DRM Agentl的簽名;·解密得到REK和Kmac,使用Kmac驗(yàn)證請(qǐng)求消息中的MAC值; 驗(yàn)證SRMl證書鏈的有效性,可能需要通過OCSP或CRL實(shí)現(xiàn),并使用SRMl證書鏈驗(yàn)證SRMl簽名信息的有效性;·驗(yàn)證請(qǐng)求消息中的時(shí)間戳早于當(dāng)前時(shí)間,驗(yàn)證SRMRightsUpload響應(yīng)消息中的時(shí)間戳早于請(qǐng)求消息中的時(shí)間戳;·驗(yàn)證〈rights〉和〈signature〉的正確性(如果請(qǐng)求消息中有的話),如果許可為有狀態(tài)的,還需驗(yàn)證狀態(tài)信息在原始許可范圍內(nèi); 嘗試使用REK解密〈rights〉元素中的加密的CEK驗(yàn)證REK和Rights的正確性。S507 DRM Agentl 向 SRM Agentl 發(fā)送 RightsRemovalRequest 消息,消息中包含標(biāo)識(shí) Rights 的 handle,此 handle 即 S502 中的新 handle。S508: SRM Agentl 刪除 RightsRemovalRequest 消息中的 handle 對(duì)應(yīng)的 Rights,并向DRM Agentl返回RightsRemovalResponse消息,其中包含處理結(jié)果。S509:RI 向 DRM Agent2 發(fā)送觸發(fā)器 ROAPtrigger {SRMROAcquisition},觸發(fā) DRMAgent2協(xié)助SRM2獲取Upload的許可,觸發(fā)器中包含RI標(biāo)識(shí)、RI別名、RI URL、許可標(biāo)識(shí)、許可別名、內(nèi)容標(biāo)識(shí)、以及RI是否保存了設(shè)備2和SRM2的證書鏈等參數(shù)。DRM Agent2和DRM Agentl可以為同一 DRM Agent。本步驟是可選的,用戶可以通過人機(jī)界面操作設(shè)備代理SRM2獲取許可,直接從S510開始。S510 DRM Agent2向RI發(fā)送獲取許可請(qǐng)求,請(qǐng)求消息中包含設(shè)備2標(biāo)識(shí)、RI標(biāo)識(shí)、nonce、時(shí)間戳、許可標(biāo)識(shí)、SRM2標(biāo)識(shí)、設(shè)備2證書鏈及SRM2的證書鏈等,如果trigger中指示RI已保存設(shè)備2或SRM2的證書鏈,則無需重復(fù)發(fā)送。在步驟10之前DRM Agent2和SRMAgent2之間需要互相認(rèn)證和建立SAC通道。S511 RI向DRM Agent2返回許可響應(yīng),響應(yīng)消息中包含設(shè)備2標(biāo)識(shí)、RI標(biāo)識(shí)、nonce、受保護(hù)的許可、RI證書鏈(如果DRM Agent2在請(qǐng)求消息中標(biāo)識(shí)其已經(jīng)保存了 RI證書鏈,則此參數(shù)不需要)。許可可以綁定SRM2,也可以綁定DRM Agent2,但指定必須提供給 SRM2。S512 DRM Agent2將RI下發(fā)的許可寫入SRM2。如果許可綁定SRM2,則DRM Agent2可先將加密的REK和Kmac的連接值發(fā)送給SRM Agent2,由SRM Agent2提供Kmac,并用其驗(yàn)證許可的完整性,再由DRM Agent2將rights和signature等寫入SRM2。如果許可綁定DRM Agent2,則由 DRM Agent2 解密出 REK 后和 rights、signature 等一起寫入 SRM2。上述流程中S507-S508和S509-512沒有時(shí)間上的順序關(guān)系。以上是對(duì)在SRM之間共享許可方法的各個(gè)實(shí)施例的介紹,其中的實(shí)施例一至實(shí)施例三,僅需要消耗一次Move權(quán)限或Copy權(quán)限,而實(shí)施例四,由于是RI向SRM2提供許可,因此可能不需要消耗Move權(quán)限或Copy權(quán)限,因此實(shí)施例四也適用于同一用戶的SRM之間許可的共享。如果在同一用戶的SRM之間共享許可還需要消耗共享權(quán)限,對(duì)用戶而言則是ー種損失,因此,本發(fā)明實(shí)施例還提供一種在相同用戶的SRM之間共享許可的方案,此時(shí)不需要消耗共享權(quán)限。雖然在同一用戶的SRM之間共享Rights不會(huì)消耗Rights的Move權(quán)限,但是RI需要驗(yàn)證SRM2和SRMl屬于同一用戶,驗(yàn)證方法包括多種可以是RI根據(jù)本地保存的SRM標(biāo)識(shí)和用戶標(biāo)識(shí)的對(duì)應(yīng)關(guān)系驗(yàn)證,或者RI向另ー實(shí)體(如用戶管理器)查詢,或者RI根據(jù)用戶使用SRM提供的信息(如密碼、問題答案等)來驗(yàn)證。用戶可以一次性Upload多個(gè)許可到RI,也可以一次性安裝多個(gè)許可到SRM2。這種批量處理方式尤其適用于用戶更換SRM卡的情況。作為在同一用戶的SRM之間共享Rights的替代方案,可以由DRM Agent向RI查詢SRMl和SRM2是否屬于同一用戶,并直接進(jìn)行Rights的共享,無需RI重新生成許可。概括而言,本發(fā)明實(shí)施例提供的在屬于相同用戶的SRM之間共享許可的方法包括以下步驟[1]DRM Agent確定第一 SRM和第二 SRM屬于相同用戶時(shí),將從第一 SRM獲取的許可發(fā)送給第二 SRM ;其中,在實(shí)施例五和實(shí)施例六中,區(qū)別主要在所述DRM Agent向RI或用戶管理器查詢第一 SRM和第二 SRM所屬用戶的過程不同。下面詳細(xì)介紹在屬于相同用戶的SRM之間共享許可的各個(gè)實(shí)施例。首先介紹在屬于相同用戶的SRM之間共享許可的實(shí)施例五。概括而言,實(shí)施例五中查詢第一 SRM和第二 SRM所屬用戶的過程為[1]DRM Agent向RI或用戶管理器發(fā)送包含第一 SRM標(biāo)識(shí)的查詢消息,查詢所述第一 SRM所屬用戶;[2]DRM Agent向RI或用戶管理器發(fā)送包含第二 SRM標(biāo)識(shí)的查詢消息,查詢所述第ニ SRM所屬用戶;[3] DRM Agent驗(yàn)證第一 SRM和第二 SRM是否屬于相同用戶。參見圖6,為實(shí)施例五流程圖,包括 S601 DRM Agent根據(jù)用戶請(qǐng)求發(fā)起將SRMl上的Rights共享給同一用戶的另一SRM, DRM Agent 從 SRMl 獲取 Rights 信息和 REK。在 S601 之前 DRM Agent 和 SRM Agentl之間需要互相認(rèn)證和建立SAC通道。S602-S603 DRM Agent向RI查詢SRMl所屬的用戶。請(qǐng)求中包含SRMl標(biāo)識(shí),RI在響應(yīng)消息中返回用戶標(biāo)識(shí)。S604 DRM Agent檢查Rights信息中的RI簽名以及狀態(tài)信息是否超出Rights中的原始權(quán)限并在驗(yàn)證通過后安裝該Rights, DRM Agent在安裝該Rights時(shí)標(biāo)識(shí)該Rights不可用,并指定關(guān)聯(lián)到S603中RI返回的用戶標(biāo)識(shí)。S605 :如果共享操作為轉(zhuǎn)移,則DRM Agent指示SRMl刪除該Rights,具體步驟如圖 I 中 S105-S106。S606-S607 DRM Agent 將 Rights 共享給 SRM2。由于 Rights 綁定用戶標(biāo)識(shí),DRMAgent向RI查詢SRM2所屬的用戶。請(qǐng)求中包含SRM2標(biāo)識(shí),RI在響應(yīng)消息中返回用戶標(biāo)識(shí)。在S606之前DRM Agent和SRM Agent2之間需要互相認(rèn)證和建立SAC通道。S608 DRM Agent驗(yàn)證SRM2所屬的用戶與Rights綁定的用戶是否一致,即和SRMl所屬的用戶是否一致。如果一致則執(zhí)行S609,否則拒絕將Rights共享給SRM2。S609 DRM Agent 將 Rights 安裝到 SRM2,具體步驟如圖 I 中 S107-S110。S610 :如果 SRM2 成功安裝 Rights,則 DRM Agent 刪除本地的 Rights。下面介紹在屬于相同用戶的SRM之間共享許可的實(shí)施例六。與實(shí)施例五中DRM Agent分別查詢SRMl和SRM2所屬的用戶并自行進(jìn)行比較不同,該實(shí)施例六中由DRM Agent將SRMl和SRM2的標(biāo)識(shí)上報(bào)給RI,由RI進(jìn)行比較后返回比較結(jié)果。這種情況下DRM Agent無需了解用戶標(biāo)識(shí)細(xì)節(jié)。概括而言,實(shí)施例六中查詢第一 SRM和第二 SRM所屬用戶的過程為[1]DRM Agent向RI或用戶管理器發(fā)送包含第一 SRM標(biāo)識(shí)和第二 SRM標(biāo)識(shí)的查詢消息,查詢所述第一 SRM和所述第二 SRM是否屬于相同用戶;[2]RI或用戶管理器向DRM Agent返回查詢響應(yīng),告知所述第一 SRM和第二 SRM是否屬于相同用戶。參見圖7,實(shí)施例六包括S701 DRM Agent根據(jù)用戶請(qǐng)求發(fā)起將SRMl上的Rights共享給同一用戶的另一SRMjDRM Agent從SRMl獲取Rights信息和REK,具體步驟如圖I中S102-S103。在S701之前DRM Agent和SRM Agentl之間需要互相認(rèn)證和建立SAC通道。S702 DRM Agent檢查Rights信息中的RI簽名以及狀態(tài)信息是否超出Rights中的原始權(quán)限并在驗(yàn)證通過后安裝該Rights, DRM Agent在安裝該Rights時(shí)標(biāo)識(shí)該Rights不可用,并指定關(guān)聯(lián)到SRMl的用戶。S703 :如果共享操作為轉(zhuǎn)移,則DRM Agent指示SRMl刪除該Rights,具體步驟如圖 I 中 S105-S106。S704-S705 DRM Agent 將 Rights 共享給 SRM2。由于 Rights 綁定 SRMl 的用戶,DRM Agent向RI查詢SRMl和SRM2是否屬于同一用戶。請(qǐng)求中包含SRMl和SRM2的標(biāo)識(shí),RI檢查SRMl和SRM2關(guān)聯(lián)的用戶是否一致并在響應(yīng)消息中返回結(jié)果。如果結(jié)果表明SRMl和SRM2屬于同一用戶,則執(zhí)行S706,否則DRM Agent拒絕將Rights共享給SRM2。在S904之前DRM Agent和SRM Agent2之間需要互相認(rèn)證和建立SAC通道。S706 DRM Agent 將 Rights 安裝到 SRM2,具體步驟如圖 I 中 S107-S110。S707 :如果 SRM2 成功安裝 Rights,則 DRM Agent 刪除本地的 Rights。該實(shí)施例六中DRM Agent先從SRMl獲取許可后再向RI查詢SRMl和SRM2是否屬于同一用戶。如果用戶發(fā)起共享時(shí)已經(jīng)確定目的SRM,可選的,DRM Agent也可以先向RI 查詢SRMl和SRM2是否屬于同一用戶再從SRMl獲取許可。此外,DRM Agent也可以在確認(rèn)SRM2上有足夠的空間安裝Rights后再刪除SRMl上的Rights。上述在屬于相同用戶的SRM之間共享許可的兩個(gè)實(shí)施例中,DRM Agent均向RI查詢SRM所屬的用戶,如果RI無法獲知SRM所屬的用戶,可能需要向其它實(shí)體,如用戶管理器,查詢SRM所屬的用戶,或者DRM Agent可以直接向管理SRM和用戶關(guān)系的實(shí)體,如用戶管理器,查詢SRM所屬的用戶。另外,上述在屬于相同用戶的SRM之間共享許可的兩個(gè)實(shí)施例中,都是以SRMl和SRM2連接于同一個(gè)DRM Agent為例進(jìn)行說明的,某些情況下,可能兩個(gè)SRM位于不同的地方,無法直接連接到同一個(gè)DRM Agent,則可能需要多個(gè)DRM Agent代為中轉(zhuǎn)。例如,需對(duì)圖6改動(dòng)的是,DRM Agent實(shí)際為兩個(gè)DRM Agent DRM Agentl和DRM Agent2,分別連接SRMl和SRM2,在具體流程上,可由DRM Agentl查詢SRMl所屬用戶,并在將許可轉(zhuǎn)移給DRMAgent2時(shí)指明該Rights只能共享給該用戶的SRM,DRM Agent2確定SRM2同屬于該用戶后,才能將該Rights安裝到SRM2 ;或者DRM Agentl確定SRMl和SRM2同屬一個(gè)用戶時(shí),將許可共享給DRM Agent2并指明共享給SRM2,再由DRM Agent2安裝到SRM2 ;或者DRM Agent將許可共享給DRM Agent2并指明共享給與SRMl同一用戶的SRM,DRM Agent在確定SRMl和SRM2同屬一個(gè)用戶后,才能將該Rights安裝到SRM2。需對(duì)圖7改動(dòng)的是,DRM Agentl向RI進(jìn)行SRMl和SRM2所屬用戶查詢,并且,在RI確定SRMl和SRM2同屬一個(gè)用戶時(shí),由DRM Agentl將許可共享給DRM Agent2,再由DRM Agent2安裝到SRM2 ;或者由DRM Agentl將許可共享給DRM Agent2,由DRM Agent2向RI進(jìn)行SRMl和SRM2所屬用戶查詢,并且,在RI確定SRMl和SRM2同屬一個(gè)用戶時(shí),再由DRM Agent2安裝到SRM2??梢?,在實(shí)施例五和實(shí)施例六中,由于是對(duì)同屬一個(gè)用戶的兩個(gè)SRM的許可的共享,無需消耗共享權(quán)限,進(jìn)一步保證了用戶權(quán)益。綜上,針對(duì)用戶發(fā)起的在兩個(gè)SRM間共享許可,設(shè)備可先判斷兩個(gè)SRM是否屬于同一用戶如果屬于同一用戶則直接共享,不檢查共享權(quán)限,如實(shí)施例五和實(shí)施例六所示;如果不屬于同一用戶則檢查共享權(quán)限并扣除一次,如實(shí)施例一和實(shí)施例二所示。與上述各個(gè)方法實(shí)施例相對(duì)應(yīng),本發(fā)明實(shí)施例還提供各種裝置。本發(fā)明實(shí)施例提供的第一裝置是指DRM Agent或位于DRM Agent內(nèi)的功能實(shí)體,該裝置執(zhí)行圖I或圖2中DRM Agent功能,該裝置包括獲取單元,用于從第一 SRM獲取許可;中轉(zhuǎn)設(shè)置單元,用于將所述獲取的許可設(shè)置為中轉(zhuǎn)狀態(tài);發(fā)送單元,用于將所獲取的許可發(fā)送給第二 SRM ;控制單元,扣除一次共享權(quán)限。優(yōu)選地,該裝置還包括請(qǐng)求刪除單元,用于請(qǐng)求所述第一 SRM刪除所述許可;刪除響應(yīng)接收單元,用于接收所述第一 SRM返回的刪除許可響應(yīng)。另外,本發(fā)明實(shí)施例提供的第二裝置是指DRM Agent或位于DRM Agent內(nèi)的功能實(shí)體,該裝置執(zhí)行圖3中DRM Agent功能,該裝置包括SRM交互單元,用于觸發(fā)第一 SRM和第二 SRM進(jìn)行密鑰協(xié)商;轉(zhuǎn)發(fā)單元,用于將所述第一 SRM的許可轉(zhuǎn)發(fā)給第二 SRM。另外,本發(fā)明實(shí)施例提供的第三裝置是指第一SRM或位于第一 SRM中的功能實(shí)體,該裝置實(shí)現(xiàn)圖3中SRMl的功能,該裝置包括密鑰協(xié)商單元,用于與第二 SRM進(jìn)行密鑰協(xié)商;處理單元,用于利用與第二 SRM協(xié)商的共享密鑰對(duì)許可的部分或全部信息加密;發(fā)送單元,用于將許可發(fā)送給第二 SRM。優(yōu)選地,該裝置還包括刪除單元,用于在確認(rèn)所述第二SRM接收到許可后,刪除本地的所述許可。另外,本發(fā)明實(shí)施例提供的第四裝置是指第二 SRM或位于第一 SRM中的功能實(shí)體,該裝置實(shí)現(xiàn)圖3中SRM2的功能,該裝置包括密鑰協(xié)商單元,用于與第一 SRM進(jìn)行密鑰協(xié)商;接收單元,用于接收第一 SRM發(fā)送的許可;權(quán)限扣除單元,用于在所述接收單元接收到正確的許可后,扣除一次操作權(quán)限。另外,本發(fā)明實(shí)施例提供的第五裝置是指RI或用戶管理器或位于RI或用戶管理器內(nèi)的功能實(shí)體,該裝置執(zhí)行圖5中RI功能,該裝置包括獲取單元,用于從第一數(shù)字版權(quán)管理終端DRM Agent獲取第一 SRM的許可;發(fā)送單元,用于向第二 DRM Agent發(fā)送所述許可,通過所述第二 DRM Agent提供給第二 SRM。另外,本發(fā)明實(shí)施例提供的第六裝置是指DRM Agent或位于DRM Agent內(nèi)的功能實(shí)體,該裝置執(zhí)行圖6或圖7中DRM Agent功能,該裝置包括確定單元,確定所述第一 SRM和第二 SRM是否屬于相同用戶;獲取單兀,用于在所述確定單兀確定第一 SRM和第二 SRM屬于相同用戶時(shí),從所述第一 SRM獲取許可;執(zhí)行單元,用于將所述許可發(fā)送給第二 SRM。另外需要說明的是,上述各個(gè)實(shí)施例僅是以在兩個(gè)SRM之間共享許可為例進(jìn)行說明 的,本領(lǐng)域人員可毫無疑問地獲知,本發(fā)明實(shí)施例可以實(shí)現(xiàn)在三個(gè)或三個(gè)以上SRM之間共享許可。本發(fā)明實(shí)施例也可應(yīng)用于通過DRM Agent將SRM上的許可共享到另一 DRM Agent。本領(lǐng)域普通技術(shù)人員可以理解,實(shí)現(xiàn)上述實(shí)施例的方法的過程可以通過程序指令相關(guān)的硬件來完成,所述的程序可以存儲(chǔ)于可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí)執(zhí)行上述方法中的對(duì)應(yīng)步驟。所述的存儲(chǔ)介質(zhì)可以如R0M/RAM、磁碟、光盤等。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種在安全可移動(dòng)媒介SRM之間共享許可的方法,其特征在于,包括 數(shù)字版權(quán)管理終端DRM Agent從第一 SRM獲取許可,并將所述許可在本地設(shè)置為中轉(zhuǎn)狀態(tài),指定轉(zhuǎn)移給第二 SRM,不可用所述許可消費(fèi)內(nèi)容; 所述DRM Agent將所述許可的共享權(quán)限扣除一次; 所述DRM Agent將所述許可發(fā)送給第二 SRM。
2.根據(jù)權(quán)利要求I所述方法,其特征在于,所述共享許可是指復(fù)制許可,所述共享權(quán)限是指復(fù)制權(quán)限;或者,所述共享許可是指轉(zhuǎn)移許可,所述共享權(quán)限是指轉(zhuǎn)移權(quán)限; 當(dāng)所述共享許可是指轉(zhuǎn)移許可時(shí),還包括所述DRM Agent觸發(fā)所述第一 SRM刪除所述許可; 當(dāng)所述共享許可是指復(fù)制許可時(shí),所述DRM Agent將所述許可的共享權(quán)限扣除一次具體包括 所述DRM Agent將第一 SRM上的所述許可的復(fù)制權(quán)限扣除一次,所述DRM Agent將所述許可發(fā)送給第二 SRM時(shí)許可不包含復(fù)制權(quán)限; 或者, 所述DRM Agent將發(fā)送給第二 SRM的所述許可的復(fù)制權(quán)限扣除一次,并將第一 SRM上的所述許可復(fù)制權(quán)限全部扣除。
3.根據(jù)權(quán)利要求I所述方法,其特征在于,所述DRMAgent將所述許可發(fā)送給第二 SRM后,還包括 所述DRM Agent刪除本地的所述許可。
4.根據(jù)權(quán)利要求I所述方法,其特征在于,所述DRMAgent在中轉(zhuǎn)操作過程中記錄日志,所述日志包含操作類型、當(dāng)前狀態(tài)、許可標(biāo)識(shí)、第一 SRM標(biāo)識(shí)、許可在第一 SRM上對(duì)應(yīng)的第一句柄、第二 SRM標(biāo)識(shí)、許可在第二 SRM上對(duì)應(yīng)的第二句柄中的部分或全部。
5.根據(jù)權(quán)利要求I所述方法,其特征在于,所述DRMAgent從第一 SRM獲取許可前,還包括 所述DRM Agent將所述第二 SRM的公鑰或證書提供給第一 SRM,第一 SRM使用第二 SRM的公鑰加密許可中的權(quán)限加密密鑰或內(nèi)容加密密鑰。
6.根據(jù)權(quán)利要求I所述方法,其特征在于,所述DRMAgent將所述許可發(fā)送給第二 SRM具體包括 所述DRM Agent將所述許可通過其它DRM Agent中轉(zhuǎn)給第二 SRM。
7.一種共享許可的裝置,其特征在于,包括 獲取單元,用于從第一安全可移動(dòng)媒介SRM獲取許可; 中轉(zhuǎn)設(shè)置單元,用于將所述獲取的許可設(shè)置為中轉(zhuǎn)狀態(tài),指定轉(zhuǎn)移給第二 SRM,不可用所述許可消費(fèi)內(nèi)容; 發(fā)送單元,用于將所獲取的許可發(fā)送給第二 SRM ; 控制單元,扣除一次共享權(quán)限。
8.根據(jù)權(quán)利要求7所述裝置,其特征在于,還包括 請(qǐng)求刪除單元,用于請(qǐng)求所述第一 SRM刪除所述許可; 刪除響應(yīng)接收單元,用于接收所述第一 SRM返回的刪除許可響應(yīng)。
全文摘要
本發(fā)明公開了一種在SRM之間共享許可的方法及裝置,其中的方法包括DRM Agent從第一SRM獲取許可,并將所述許可在本地設(shè)置為中轉(zhuǎn)狀態(tài),指定轉(zhuǎn)移給第二SRM,不可用所述許可消費(fèi)內(nèi)容;所述DRM Agent將所述許可的共享權(quán)限扣除一次;所述DRM Agent將所述許可發(fā)送給第二SRM。與現(xiàn)有方案在許可從SRM1轉(zhuǎn)移到設(shè)備過程中需要扣除一次Move權(quán)限、在許可從設(shè)備轉(zhuǎn)移到SRM2過程中需要扣除另一次Move權(quán)限相比,本發(fā)明實(shí)施例通過將DRM Agent中轉(zhuǎn)的許可設(shè)置為中轉(zhuǎn)狀態(tài),由此僅扣除一次共享權(quán)限,減少了共享權(quán)限的不必要的消耗,有利于維護(hù)用戶權(quán)益。
文檔編號(hào)G06F21/00GK102752105SQ20121021821
公開日2012年10月24日 申請(qǐng)日期2008年7月29日 優(yōu)先權(quán)日2008年7月29日
發(fā)明者周志鵬, 張仁宙, 袁衛(wèi)忠, 黃晨 申請(qǐng)人:華為技術(shù)有限公司