專(zhuān)利名稱:在安全可移動(dòng)媒介之間共享許可的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字版權(quán)管理(Digital Rights Management, DRM)技術(shù)領(lǐng)域, 尤其涉及一種在安全可移動(dòng)i某介(Secure Removable Media, SRM)之間共享 許可的方法及裝置。
背景技術(shù):
為了保護(hù)內(nèi)容所有者的合法權(quán)益,DRM通過(guò)內(nèi)容保護(hù)和權(quán)限控制方案管 理數(shù)字內(nèi)容的使用。
典型的DRM方案包括數(shù)字內(nèi)容發(fā)行者(Content Issuer, CI)用內(nèi)容加 密密鑰(Content Encryption Key, CEK)對(duì)數(shù)字內(nèi)容進(jìn)行加密打包為內(nèi)容數(shù)據(jù) 包(DRM Content Format, 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)訪問(wèn)的可移動(dòng)媒介。通過(guò)使用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卡之間共享許可的需求更加普遍。
開(kāi)放移動(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í)體。現(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)過(guò)將許可首先從SRMl轉(zhuǎn)移到DRM Agent,然后再由DRM Agent 轉(zhuǎn)移給SRM2,也就是說(shuō)至少需要扣除兩次共享權(quán)限。本發(fā)明人在發(fā)明的過(guò)程 中發(fā)現(xiàn),現(xiàn)有技術(shù)中對(duì)許可的轉(zhuǎn)移需要多次權(quán)限,對(duì)用戶而言造成不必要的 權(quán)限浪費(fèi)
發(fā)明內(nèi)容
本發(fā)明提供一種在SRM之間共享許可的方法及裝置,以解決現(xiàn)有方案存 在的過(guò)多消耗共享權(quán)限的問(wèn)題。
為此,本發(fā)明實(shí)施例采用如下技術(shù)方案
一種在SRM之間共享許可的方法,包括DRM Agent從第一 SRM獲取 許可,并將所述許可在本地設(shè)置為中轉(zhuǎn)狀態(tài);所述DRM Agent將所述許可的 共享權(quán)限扣除一次;所述DRM Agent將所述許可發(fā)送給第二 SRM。
一種共享許可的方法,包括DRMAgent觸發(fā)第一SRM和第二SRM協(xié) 商共享密鑰;所述第一 SRM使用所述共享密鑰加密所述許可的部分或全部信 息;所述第一 SRM將所述許可發(fā)送給第二 SRM。
一種共享許可的方法,包括第一 DRM Agent從第一 SRM獲取許可后, 發(fā)送給版權(quán)發(fā)行者RI;第二 DRM Agent從RI獲取所述許可,并發(fā)送給第二 SRM。
一種共享許可的方法,包括DRM Agent確定所述第一 SRM和第二 SRM 屬于相同用戶時(shí),將從第一SRM獲取的許可發(fā)送給第二SRM。
一種共享許可的裝置,其特征在于,包括獲取單元,用于從第一SRM 獲取許可;中轉(zhuǎn)設(shè)置單元,用于將所述獲取的許可設(shè)置為中轉(zhuǎn)狀態(tài);發(fā)送單 元,用于將所獲取的許可發(fā)送給第二SRM;控制單元,扣除一次共享權(quán)限。
一種共享許可的裝置,其特征在于,包括SRM交互單元,用于觸發(fā)第 一 SRM和第二 SRM進(jìn)行密鑰協(xié)商;轉(zhuǎn)發(fā)單元,用于將所述第一 SRM的許可 轉(zhuǎn)發(fā)給第二SRM。。一種在第一 SRM和第二 SRM之間共享許可的裝置,位于第一 SRM中, 包括密鑰協(xié)商單元,用于與第二SRM進(jìn)行密鑰協(xié)商;處理單元,用于利用 與第二SRM協(xié)商的共享密鑰對(duì)許可的部分或全部信息加密;發(fā)送單元,用于 將許可發(fā)送給第二 SRM。
一種共享許可的裝置,位于第二SRM中,包括密鑰協(xié)商單元,用于與 第一SRM進(jìn)行密鑰協(xié)商;接收單元,用于接收第一SRM發(fā)送的許可;權(quán)限 扣除單元,用于在所述接收單元接收到正確的許可后,扣除一次操:作權(quán)限。
一種共享許可的裝置,包括獲取單元,用于從笫一DRM Agent獲取第 一SRM的許可;發(fā)送單元,用于向第二DRMAgent發(fā)送所述許可,通過(guò)第 二 DRM Agent提供給第二 SRM。
一種共享許可的裝置,包括確定單元,確定所述第一SRM和第二SRM 是否屬于相同用戶;獲取單元,用于在所述確定單元確定第一SRM和第二 SRM屬于相同用戶時(shí),從所述第一SRM獲取許可;執(zhí)行單元,用于將所述 許可發(fā)送給第二SRM。
與現(xiàn)有方案在許可從SRM1轉(zhuǎn)移到設(shè)備過(guò)程中需要扣除一次Move權(quán)限、 在設(shè)備轉(zhuǎn)移到SRM2過(guò)程中需要扣除另一次Move權(quán)限相比,本發(fā)明實(shí)施例 通過(guò)將DRM Agent中轉(zhuǎn)的許可設(shè)置為中轉(zhuǎn)狀態(tài),由此僅扣除一次Move權(quán)限, 減少了 Move權(quán)限的消耗,有利于維護(hù)用戶權(quán)益。
在本發(fā)明另 一實(shí)施例中,在SRM2確定可以安裝Rights后,才將SRM1 中的Rights刪除,這在SRM2無(wú)法安裝Rights的情況下,DRM Agent恢復(fù)SRM1 上的原Rights操作比較簡(jiǎn)單,僅需將Rights恢復(fù)為可用狀態(tài)。
在本發(fā)明另 一實(shí)施例中,是通過(guò)SRM1和SRM2之間建立SAC,由該SAC 將許可進(jìn)行轉(zhuǎn)移,其中的DRM Agent僅是執(zhí)行轉(zhuǎn)發(fā)功能,由于轉(zhuǎn)發(fā)的Rights 是經(jīng)過(guò)SRM1和SRM2協(xié)商的密鑰加密的,DRM Agent無(wú)法對(duì)其執(zhí)行操作, 這在一定程度上提高了 Rights安全性。
在本發(fā)明另一實(shí)施例中,由于是RI向SRM2提供許可,因此可能不需要 消耗Move權(quán)限或Copy權(quán)限,因此實(shí)施例四也適用于同一用戶的SRM之間 許可的共享。
9在本發(fā)明另外實(shí)施例中,在屬于相同用戶的SRM之間共享許可,DRM Agent均向RI查詢SRM所屬的用戶,如果RI無(wú)法獲知SRM所屬的用戶, 可能需要向其它實(shí)體,如用戶管理器,查詢SRM所屬的用戶,或者DRM Agent 可以直接向管理SRM和用戶關(guān)系的實(shí)體,如用戶管理器,查詢SRM所屬的 用戶,此時(shí)由于是在屬于相同用戶的SRM之間共享許可,因此不需要扣除共 享權(quán)限,節(jié)省了用戶資源。
圖1為本發(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之間共享許可的方案,通過(guò)DRM Agent 或RI等設(shè)備將SRM1中的許可共享給SRM2,僅消耗一次共享權(quán)限。
上述所謂的共享許可,包括轉(zhuǎn)移許可和復(fù)制許可等情況,下面著重以轉(zhuǎn) 移許可為例對(duì)方法實(shí)施例進(jìn)行說(shuō)明。
下面介紹在SRM之間共享許可方法的各個(gè)實(shí)施例。 概括而言,實(shí)施例一和實(shí)施例二方法包括以下步驟 [1] DRM Agent從第一 SRM獲取許可,并將所述許可在本地設(shè)置為中轉(zhuǎn) 狀態(tài);所述DRM Agent將所述許可的共享4又限扣除一次;[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í)施例一。
參見(jiàn)圖1,是在SRM1和SRM2之間共享許可方法實(shí)施例一流程圖,包
括
S101: DRM Agent和SRM Agentl相互認(rèn)證并建立安全認(rèn)證通道(Secure Authenticated Channel, SAC),認(rèn)證過(guò)程中DRM Agent和SRM Agentl互相交 換證書(shū)并驗(yàn)證對(duì)方證書(shū)的有效性,交換隨機(jī)數(shù)并根據(jù)隨機(jī)數(shù)生成通信密鑰, 包括加密密鑰和完整性保護(hù)密鑰。
在DRM Agent和SRM Agent之間建立SAC為現(xiàn)有技術(shù),此處不過(guò)多描述。
S102-S103: DRMAgent發(fā)起將SRM1上的Rights直接轉(zhuǎn)移到另一 SRM: SRM2,該操作可由用戶通過(guò)和DRM Agent的交互觸發(fā),DRM Agent從SRM1 獲取Rights信息和REK,具體為現(xiàn)有技術(shù)。
S104: DRM Agent驗(yàn)證Rights信息及Move權(quán)限,并在驗(yàn)證通過(guò)后扣除 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指示SRMAgentl刪除該Rights,具體步驟為現(xiàn)有 技術(shù)。
S107-S108: DRMAgent查詢SRM2是否有足夠的空間安裝該Rights,具 體為現(xiàn)有技術(shù)。
在S107之前DRM Agent和SRM Agent2互相認(rèn)證并建立SAC通道。圖 1中以S107a表示。如果DRM Agent可同時(shí)和兩個(gè)SRM Agent交互,則SI07a 在S107之前任意時(shí)刻執(zhí)行即可。
如果DRM Agent不能同時(shí)和兩個(gè)SRM Agent交互,則在S107之前可先 和SRM1斷開(kāi)連接,再和SRM2連接執(zhí)行后續(xù)步驟。執(zhí)行后續(xù)步驟的過(guò)程可 由用戶操作設(shè)備觸發(fā),具體的可以將Rights在設(shè)備處存儲(chǔ)為特殊格式的文件, 用戶瀏覽確定該Rights處于中轉(zhuǎn)狀態(tài),選擇將該文件轉(zhuǎn)移到另一 SRM完成中 轉(zhuǎn),或者設(shè)備將Rights信息提示給用戶,用戶選擇是否繼續(xù)轉(zhuǎn)移?;蛘咴O(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ù)。
Sill:如果SRM2成功安裝Rights,則DRM Agent刪除本地的Rights。
可選地,在S104中不扣除Move權(quán)限,而在將Rights安裝到SRM2時(shí)再 在設(shè)備上執(zhí)行扣除Move權(quán)限的操作。
另外,在S106之后,設(shè)備可以保留該中轉(zhuǎn)Rights的源SRM即SRM1的 記錄,這樣如果在Rights安裝到SRM2的過(guò)程中發(fā)生意外而導(dǎo)致失敗,例如 SRM2沒(méi)有足夠的空間安裝該Rights,可以將Rights重新恢復(fù)到SRM1上, 從而保證用戶的權(quán)益不受損害。
實(shí)施例一是以轉(zhuǎn)移(Move)許可為例對(duì)共享許可進(jìn)行說(shuō)明,如前所述,
12共享還包括復(fù)制(Copy ),將SRM1中的許可復(fù)制到SRM2的過(guò)程與圖1類(lèi)似, 不同在于,在復(fù)制過(guò)程中消耗的是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無(wú)需刪除該許可。
可見(jiàn),與現(xiàn)有方案在許可從SRMl轉(zhuǎn)移到設(shè)備過(guò)程中需要扣除一次共享 權(quán)限、在許可從設(shè)備轉(zhuǎn)移到SRM2過(guò)程中需要扣除另一次共享權(quán)限相比,本 發(fā)明實(shí)施例通過(guò)將DRM Agent中轉(zhuǎn)的Rights設(shè)置為中轉(zhuǎn)狀態(tài),由此僅扣除一 次Move權(quán)限,減少了 Move權(quán)限的消耗,有利于維護(hù)用戶權(quán)益。
下面介紹在SRM之間共享許可方法的實(shí)施例二。
在上述實(shí)施例一中圖1的S107-S108中,如果Rights安裝到SRM2的過(guò) 程失敗,將Rights重新恢復(fù)到SRMl則較為復(fù)雜,較佳的方案是在確認(rèn)SRM2 有足夠的空間安裝Rights后,再刪除SRMl上的Rights。
參見(jiàn)圖2,實(shí)施例二流程包括
S201: DRM Agent分別和SRM Agentl 、 SRM Agent2互相認(rèn)證并建立SAC 通道,DRM Agent和SRM Agent2的認(rèn)證可以在S205之前任何時(shí)候進(jìn)行。
S202-S203: DRM Agent發(fā)起將SRMl上的Rights直接轉(zhuǎn)移到SRM2,該 操作可由用戶通過(guò)和DRM Agent的交互觸發(fā),DRM Agent從SRMl獲取Rights 信息和REK。
S204: DRM Agent -驗(yàn)證Rights信息以及Move權(quán)限,并在驗(yàn)i正通過(guò)后扣 除Move ^又限??鄢齅ove權(quán)限的梯:作可以在S406之后再執(zhí)4亍。
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的過(guò)程中發(fā)生錯(cuò)誤,例如SRM2空間不夠, 則DRM Agent可以取消Move操作,恢復(fù)SRM1上的原Rights。如果DRM Agent 和某一 SRM連接中斷,則DRM Agent可記錄中斷日志,中斷日志具體包括 才喿作類(lèi)型、當(dāng)前狀態(tài)、許可標(biāo)識(shí)、SRM1標(biāo)識(shí)、許可在SRM1上對(duì)應(yīng)的handlel、 SRM2標(biāo)識(shí)、許可在SRM2上對(duì)應(yīng)的handle2。下次連接時(shí)根據(jù)中斷日志中的 信息進(jìn)行恢復(fù)繼續(xù)將許可發(fā)送到SRM2,完成操作;或者取消操作,將許可 恢復(fù)到SRM1。
為了從一定程度上提高REK的安全性,可以由DRM Agent將SRM2的 公鑰或證書(shū)提供給SRMAgentl , SRMAgentl使用SRM2的公鑰對(duì)REK進(jìn)行 加密后通過(guò)DRM Agent傳輸給SRM2。
可見(jiàn),實(shí)施例二與實(shí)施例 一相比,在SRM2確定可以安裝Rights后,才 將SRM1中的Rights刪除,這在SRM2無(wú)法安裝Rights的情況下,DRM Agent 恢復(fù)SRMl上的原Rights操作比較簡(jiǎn)單,僅需將Rights恢復(fù)為可用狀態(tài)。
下面介紹在SRM之間共享許可方法的實(shí)施例三。
在實(shí)施例三中,通過(guò)DRM Agent協(xié)助,在SRMl和SRM2之間建立SAC, 并使用SAC密鑰共享許可。下面仍以轉(zhuǎn)移許可為例介紹實(shí)施例三,對(duì)于復(fù)制 許可,與其類(lèi)似。
概括而言,實(shí)施例三包括以下步驟 DRM Agent觸發(fā)第一 SRM和第二 SRM協(xié)商共享密鑰;第一 SRM使用協(xié)商的共享密鑰加密許可的部分或全部信息;第一 SRM將許可發(fā)送給第二 SRM。
下面結(jié)合附圖對(duì)實(shí)施例三詳細(xì)流程進(jìn)行介紹。
參見(jiàn)圖3,為實(shí)施例三流程圖,包括
S301: DRM Agent分別和SRMAgentl和SRMAgent2交換各自支持的信任錨(Trust anchor )。
S302: DRM Agent觸發(fā)SRM Agentl和SRM Agent2認(rèn)證。消息中包含選 擇的Trust anchor, DRM Agent可根據(jù)待轉(zhuǎn)移的Rights來(lái)選擇。可選的,觸發(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證書(shū)鏈、SRMAgentl支持的算法等。如果SRMAgentl和SRM Agent2之間可以直接通信,則消息可不經(jīng)過(guò)DRM Agent,否則所有的消息都 需要DRM Agent代為中轉(zhuǎn)。
S304: SRM Agent2向SRM Agentl返回認(rèn)證響應(yīng)。響應(yīng)中包含SRM Agent2 證書(shū)鏈、SRM2選擇的算法、用于生成密鑰的隨機(jī)數(shù)RNl,其中RN1需要使 用SRM2的公鑰加密傳輸。
S305: SRM Agentl向SRM Agent2發(fā)送密鑰交換請(qǐng)求。請(qǐng)求中包含用于 生成密鑰的隨機(jī)數(shù)RN2,其中RN2需要使用SRM1的公鑰加密傳輸。
S306: SRM Agent2向SRM Agentl返回密鑰交換響應(yīng)。響應(yīng)中可能包含 RN1和RN2的連接值的Hash用于確i人隨機(jī)凄t。至此,SRM1和SRM2均獲 得RN1和RN2,分別4吏用RN1和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 中SRM Agentl發(fā)送了 Handle,貝'J SRM Agent2需要^r查該Handle和SRM2 上已有的Handle是否重復(fù)。并在向SRM Agentl返回的初始化轉(zhuǎn)移響應(yīng)中包 含^r查結(jié)果。如果S308中SRM Agentl沒(méi)有發(fā)送Handle,則SRM Agent2可 自動(dòng)生成一個(gè)和本地其他Handle不同的Handle,并可在響應(yīng)中返回。
S310: SRM Agentl向SRM Agent2發(fā)送轉(zhuǎn)移請(qǐng)求,請(qǐng)求中包含Rights信
15息、REK、 Rights關(guān)聯(lián)的內(nèi)容標(biāo)識(shí)等,如果SRM Agentl獲知Rights在SRM2 上關(guān)聯(lián)的Handle,則可在請(qǐng)求消息中包含該Handle。
S311: SRMAgent2驗(yàn)證Rights信息,驗(yàn)證通過(guò)后扣減Move權(quán)限,并將 Rights存放在SRM2中。
可選的,也可由SRM Agentl在步驟S310之前檢查Move權(quán)限并扣減, 這樣,在步驟S311中SRMAgent2無(wú)需扣減Move權(quán)限
與實(shí)施例一或?qū)嵤├啾?,?shí)施例三中是通過(guò)SRM1和SRM2之間建 立SAC,由該SAC將許可進(jìn)行轉(zhuǎn)移,其中的DRM Agent僅是執(zhí)行轉(zhuǎn)發(fā)功能, 由于轉(zhuǎn)發(fā)的Rights是經(jīng)過(guò)SRMl和SRM2協(xié)商的密鑰加密的,DRM Agent無(wú) 法對(duì)其執(zhí)行操作,這在一定程度上提高了 Rights安全性。
但是如果SRMl和SRM2由于能力問(wèn)題無(wú)法-驗(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é)商共享密鑰的過(guò)程為本發(fā)明實(shí)
施例新提出的,概括而言包括以下步驟 DRM Agent向第一 SRM發(fā)起認(rèn)證過(guò)程,獲取第一 SRM證書(shū)鏈; DRM Agent向第二 SRM發(fā)起認(rèn)證過(guò)程,將所獲取的第一 SRM證書(shū)鏈
發(fā)送給第二 SRM,并從第二 SRM獲取第二 SRM證書(shū)鏈和第一 SRM公鑰加
密的第二隨機(jī)數(shù); DRM Agent向第一 SRM發(fā)起密鑰交換過(guò)程,將所獲取的第二 SRM證 書(shū)鏈和第一 SRM公鑰加密的第二隨機(jī)數(shù)發(fā)送給第一 SRM,并從第一 SRM獲 取第二 SRM公鑰加密的第一隨機(jī)數(shù); DRM Agent向第二 SRM發(fā)起密鑰交換過(guò)程,將所獲取的第二 SRM公 鑰加密的第一隨機(jī)數(shù)發(fā)送給第二 SRM;第一 SRM和第二 SRM利用所述第一隨機(jī)數(shù)和第二隨機(jī)數(shù),確定共享 密鑰。
該過(guò)程可以和DRM Agent和兩個(gè)SRM協(xié)商共享密鑰的過(guò)程一起完成, 下面結(jié)合圖4,對(duì)其進(jìn)一步描述S401: DRM Agent分別和SRM Agentl和SRM Agent2交換各自支持的 Trust anchor。
S402: DRM Agent向SRM Agentl發(fā)起認(rèn)證請(qǐng)求。消息中包含選擇的Trust anchor,對(duì)應(yīng)該Trust anchor的i殳備i正書(shū)鏈等。DRM Agent可才艮據(jù)4寺轉(zhuǎn)移的 Rights來(lái)選捧Trust anchor。
S403: SRM Agentl返回認(rèn)證響應(yīng)。響應(yīng)消息中包含SRMl證書(shū)鏈,使用 設(shè)備/>鑰加密的隨機(jī)數(shù)RNsld。
S404: DRM Agent向SRM Agent2發(fā)起三方i人i正請(qǐng)求。消息中包含選擇 的Trust anchor,對(duì)應(yīng)該Trust anchor的設(shè)備證書(shū)鏈和SRMl i正書(shū)鏈等。
S405: SRM Agent2返回三方認(rèn)證響應(yīng)。響應(yīng)消息中包含SRM2證書(shū)鏈, 使用設(shè)備公鑰加密的隨機(jī)數(shù)RNs2d和使用SRMl公鑰加密的隨機(jī)數(shù)RNs2sl。
S406: DRM Agent向SRM Agentl發(fā)送三方密鑰交換請(qǐng)求。消息中包含 SRM2證書(shū)鏈,使用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: SRMAgent2返回三方密鑰交換響應(yīng)。響應(yīng)消息中可能包含RNsls2 和RNs2sl的連接值的哈希以及RNds2和RNs2d的連接值的哈希。
至此,DRM Agent和SRM Agentl 、 SRM Agent2兩兩之間共享了 一對(duì)隨 機(jī)數(shù),可各自獨(dú)立用其生成密鑰。這樣,SRM1向SRM2轉(zhuǎn)移Rights時(shí),重 要信息如REK可以使用與SRM2之間的共享密鑰加密,而其他信息可以使用 和DRM Agent間的共享密鑰加密或進(jìn)行完整性保護(hù)以方便DRM Agent處理。
17DRM Agent向SRM Agentl和SRM Agent2提供的隨機(jī)數(shù)可以一樣,這樣 三方可以使用此公共隨機(jī)數(shù)生成三方公共密鑰。
或者,DRM Agent可以將SRM Agentl提供的RNsld作為RNds2提供給 SRM Agent2,將SRM Agent2提供的RNs2d作為RNds 1提供給SRM Agentl,
也可生成三方共享密鑰。
目前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的順序連接。在不影響密鑰的 一致性 的情況下,也可^f吏用其它方式生成密鑰。
通過(guò)DRM Agent將Rights從SRMl轉(zhuǎn)移到SRM2的過(guò)程中,為了安全起 見(jiàn),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í)施例四。
以上方案中通過(guò)DRM Agent在兩個(gè)SRM之間轉(zhuǎn)移Rights,某些情況下可 能兩個(gè)SRM位于不同的地方,無(wú)法直接連接到同一個(gè)DRM Agent,則可能需 要經(jīng)過(guò)多個(gè)DRM Agent代為中轉(zhuǎn)。例如,可由DRM Agentl從SRMl獲取 Rights,轉(zhuǎn)移到DRM Agent2并指明給SRM2, DRM Agent2將該Rights轉(zhuǎn)移 到SRM2。
此外,也可以通過(guò)RI在兩個(gè)SRM之間轉(zhuǎn)移Rights,概括而言,包括以 下步驟在第一 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等信息,并包 括布爾類(lèi)型的roRequested,用于表示RI是否需要SRM上報(bào)待upload的rights, 如果RI緩存了下發(fā)的許可,則該屬性為false,否則為true。觸發(fā)器中可選的 包含SRM1標(biāo)識(shí)和許可標(biāo)識(shí)。本步驟是可選的,用戶可以通過(guò)人機(jī)界面操作 設(shè)備upload SRM1上的許可,直接從S502開(kāi)始。
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替換步驟1中的handle,并將Rights置為不可用。SRM Agentl向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è)備1標(biāo)識(shí)、RI標(biāo)識(shí)、nonce、時(shí)間戳、設(shè)備1 證書(shū)鏈等之外,還包含upload信息
/人SRM Agentl獲取的Rights信息中的RightsObjectContainer部分
(即原RI下發(fā)的許可中的々ights〉和〈signature〉)或?qū)ζ洳鸥魇睫D(zhuǎn)換后的結(jié)果, 如果RI在ROAP trigger {SRMROUpload}中標(biāo)記roRequested為false,則該參 數(shù)可省略;
如果該許可為有狀態(tài)的,則包括從SRM Agentl獲取的Rights信息 中的狀態(tài)信息; RI公鑰加密的REK和Kmac;
SRM1標(biāo)識(shí)、SRM1證書(shū)鏈、SRMRightsUpload響應(yīng)消息中的時(shí)間戳、SRM Agentl對(duì){指明upload的標(biāo)志、REK、 RI標(biāo)識(shí)、時(shí)間戳}的簽名;
以及使用Kmac對(duì)上述參數(shù)進(jìn)行MAC操作的結(jié)果。
DRMAgentl需對(duì)請(qǐng)求消息中的參數(shù)進(jìn)行簽名,并將簽名在請(qǐng)求消息中一起發(fā)送給RI。
S506: RI對(duì)請(qǐng)求消息中的各參數(shù)進(jìn)行驗(yàn)證
如果請(qǐng)求消息中有DRMAgentl證書(shū)鏈,則驗(yàn)證其有效性(可能需要
通過(guò)OCSP或CRL實(shí)現(xiàn)),并使用請(qǐng)求消息中的設(shè)備1證書(shū)鏈或RI本地的設(shè)備上下文中的設(shè)備1證書(shū)鏈驗(yàn)證請(qǐng)求消息中DRMAgentl的簽名;
解密得到REK和Kmac,使用Kmac驗(yàn)證請(qǐng)求消息中的MAC值;
驗(yàn)證SRM1證書(shū)鏈的有效性,可能需要通過(guò)OCSP或CRL實(shí)現(xiàn),并使用SRM1證書(shū)鏈驗(yàn)證SRM1簽名信息的有效性;
驗(yàn)證請(qǐng)求消息中的時(shí)間戳早于當(dāng)前時(shí)間,驗(yàn)證SRMRightsUpload響應(yīng)消息中的時(shí)間戳早于請(qǐng)求消息中的時(shí)間戳;
驗(yàn)i正〈rights〉和〈signature〉的正確性(如果請(qǐng)求消息中有的話),如果許可為有狀態(tài)的,還需驗(yàn)證狀態(tài)信息在原始許可范圍內(nèi);
嘗試使用REK解密々ights〉元素中的加密的CEK驗(yàn)證REK和Rights的正確性。
S507: DRMAgentl向SRM Agentl發(fā)送RightsRemovalRequest消息,消息中包含標(biāo)識(shí)Rights的handle,此handle即S502中的新handle。
S508:SRM Agentl刪除RightsRemovalR叫uest消息中的handle對(duì)應(yīng)的Rights,并向DRM Agentl返回RightsRemovalResponse消息,其中包含處理結(jié)果。S509:RI向DRM Agent2發(fā)送觸發(fā)器ROAP trigger{SRMROAcquisition},觸發(fā)DRM Agent2協(xié)助SRM2獲取Upload的許可,觸發(fā)器中包含RI標(biāo)識(shí)、RI別名、RI URL、許可標(biāo)識(shí)、許可別名、內(nèi)容標(biāo)識(shí)、以及RI是否保存了設(shè)備2和SRM2的證書(shū)鏈等參數(shù)。DRM Agent2和DRM Agentl可以為同一 DRMAgent。本步驟是可選的,用戶可以通過(guò)人機(jī)界面操作設(shè)備代理SRM2獲取許可,直接從S510開(kāi)始。
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證書(shū)鏈及SRM2的證書(shū)鏈等,如果trigger中指示RI已保存設(shè)備2或SRM2的證書(shū)鏈,則無(wú)需重復(fù)發(fā)送。在步驟10之前DRM Agent2和SRM Agent2之間需要互相認(rèn)證和建立SAC通道。
S511: RI向DRM Agent2返回許可響應(yīng),響應(yīng)消息中包含設(shè)備2標(biāo)識(shí)、RI標(biāo)識(shí)、nonce 、受保護(hù)的許可、RI證書(shū)鏈(如果DRM Agent2在請(qǐng)求消息中標(biāo)識(shí)其已經(jīng)保存了 RI證書(shū)鏈,則此參數(shù)不需要)。許可可以綁定SRM2,也可以綁定DRM Agent2,但指定必須提供給SRM2。
S512: DRM Agent2將RI下發(fā)的許可寫(xiě)入SRM2。如果許可綁定SRM2,則DRM Agent2可先將加密的REK和Kmac的連4妄值發(fā)送給SRM Agent2,由SRM Agent2提供Kmac,并用其驗(yàn)證許可的完整性,再由DRM Agent2將rights和signature等寫(xiě)入SRM2。如果許可綁定DRM Agent2,則由DRM Agent2解密出REK后和rights、 signature等一起寫(xiě)入SRM2。
上述流程中S507-S508和S509-512沒(méi)有時(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)限。
21雖然在同一用戶的SRM之間共享Rights不會(huì)消耗Rights的Move權(quán)限,但是RI需要驗(yàn)證SRM2和SRM1屬于同一用戶,驗(yàn)證方法包括多種可以是RI根據(jù)本地保存的SRM標(biāo)識(shí)和用戶標(biāo)識(shí)的對(duì)應(yīng)關(guān)系驗(yàn)證,或者RI向另一實(shí)體(如用戶管理器)查詢,或者RI根據(jù)用戶使用SRM提供的信息(如密碼、問(wèn)題答案等)來(lái)驗(yàn)證。
用戶可以一次性Upload多個(gè)許可到RI,也可以一次性安裝多個(gè)許可到SRM2。這種批量處理方式尤其適用于用戶更換SRM卡的情況。
作為在同一用戶的SRM之間共享Rights的替代方案,可以由DRM Agent向RI查詢SRMl和SRM2是否屬于同 一用戶,并直接進(jìn)行Rights的共享,無(wú)需RI重新生成許可。
概括而言,本發(fā)明實(shí)施例提供的在屬于相同用戶的SRM之間共享許可的方法包括以下步驟 DRM Agent確定第一 SRM和第二 SRM屬于相同用戶時(shí),將從第一SRM獲取的許可發(fā)送給第二 SRM;
其中,在實(shí)施例五和實(shí)施例六中,區(qū)別主要在所述DRM Agent向RI或用戶管理器查詢第一 SRM和第二 SRM所屬用戶的過(guò)程不同。
下面詳細(xì)介紹在屬于相同用戶的SRM之間共享許可的各個(gè)實(shí)施例。
首先介紹在屬于相同用戶的SRM之間共享許可的實(shí)施例五。
概括而言,實(shí)施例五中查詢第一 SRM和第二 SRM所屬用戶的過(guò)程為 DRM Agent向RI或用戶管理器發(fā)送包含第二 SRM標(biāo)識(shí)的查詢消息,
查詢所述第二 SRM所屬用戶; DRM Agent驗(yàn)證第一 SRM和第二 SRM是否屬于相同用戶。參見(jiàn)圖6,為實(shí)施例五流程圖,包括
S601: DRM Agent根據(jù)用戶請(qǐng)求發(fā)起將SRMl上的Rights共享給同一用戶的另一 SRM, DRM Agent從SRMl獲取Rights信息和REK。在S601之前DRM Agent和SRM Agent 1之間需要互相認(rèn)證和建立SAC通道。
S602-S603: DRM Agent向RI查詢SRM1所屬的用戶。請(qǐng)求中包含SRM1標(biāo)識(shí),RI在響應(yīng)消息中返回用戶標(biāo)識(shí)。
S604: DRM Agent檢查Rights信息中的RI簽名以及狀態(tài)信息是否超出Rights中的原始權(quán)限并在馬全證通過(guò)后安裝該Rights, DRM Agent在安裝該Rights時(shí)標(biāo)識(shí)該Rights不可用,并指定關(guān)聯(lián)到S603中RI返回的用戶標(biāo)識(shí)。
S605:如果共享才喿作為轉(zhuǎn)移,則DRM Agent指示SRM1刪除該Rights,具體步驟如圖i中S105-S106。
S606-S607: DRM Agent將Rights共享給SRM2。由于Rights綁定用戶標(biāo)識(shí),DRM Agent向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綁定的用戶是否一致,即和SRM1所屬的用戶是否一致。如果一致則執(zhí)行S609,否則拒絕將Rights共享給SRM2。
S609: DRM Agent將Rights安裝到SRM2,具體步驟如圖1中S107-S110。S610:如果SRM2成功安裝Rights,則DRM Agent刪除本地的Rights。
下面介紹在屬于相同用戶的SRM之間共享許可的實(shí)施例六。
與實(shí)施例五中DRM Agent分別查詢SRM1和SRM2所屬的用戶并自行進(jìn)行比4交不同,該實(shí)施例六中由DRM Agent將SRM1和SRM2的標(biāo)識(shí)上才艮給RI,由RI進(jìn)行比較后返回比較結(jié)果。這種情況下DRM Agent無(wú)需了解用戶標(biāo)識(shí)細(xì)節(jié)。
概括而言,實(shí)施例六中查詢第一 SRM和第二 SRM所屬用戶的過(guò)程為[1] DRM Agent向RI或用戶管理器發(fā)送包含第一 SRM標(biāo)識(shí)和第二 SRM標(biāo)識(shí)的查詢消息,查詢所述第一 SRM和所述第二 SRM是否屬于相同用戶;[2]RI或用戶管理器向DRMAgent返回查詢響應(yīng),告知所述第一 SRM和第二 SRM是否屬于相同用戶。
參見(jiàn)圖7,實(shí)施例六包括
S701: DRM Agent根據(jù)用戶請(qǐng)求發(fā)起將SRM1上的Rights共享給同 一用戶的另一 SRM, DRM Agent從SRM1獲取Rights信息和REK,具體步驟如圖1中S102-S103。在S701之前DRM Agent和SRM Agentl之間需要互相認(rèn)證和建立SAC通道。
S702: DRM Agent檢查Rights信息中的RI簽名以及狀態(tài)信息是否超出Rights中的原始權(quán)限并在-驗(yàn)證通過(guò)后安裝該Rights, DRM Agent在安裝該Rights時(shí)標(biāo)識(shí)該Rights不可用,并指定關(guān)聯(lián)到SRM1的用戶。
S703:如果共享4喿作為轉(zhuǎn)移,則DRM Agent指示SRM1刪除該Rights,具體步驟如圖i中S105-S106。
S704-S705: DRM Agent將Rights共享給SRM2。由于Rights綁定SRM1的用戶,DRMAgent向RI查詢SRM1和SRM2是否屬于同一用戶。請(qǐng)求中包含SRM1和SRM2的標(biāo)識(shí),RI檢查SRM1和SRM2關(guān)聯(lián)的用戶是否一致并在響應(yīng)消息中返回結(jié)果。如果結(jié)果表明SRM1和SRM2屬于同一用戶,則執(zhí)行S706,否則DRMAgent拒絕將Rights共享給SRM2。在S904之前DRMAgent和SRM Agent2之間需要互相認(rèn)證和建立SAC通道。
S706: DRM Agent將Rights安裝到SRM2,具體步驟如圖1中S107-S110。
S707:如果SRM2成功安裝Rights,則DRMAgent刪除本地的Rights。
該實(shí)施例六中DRM Agent先從SRM1獲取許可后再向RI查詢SRM1和SRM2是否屬于同一用戶。如果用戶發(fā)起共享時(shí)已經(jīng)確定目的SRM,可選的,DRM Agent也可以先向RI查詢SRM1和SRM2是否屬于同 一用戶再?gòu)腟RM1獲取許可。此外,DRMAgent也可以在確認(rèn)SRM2上有足夠的空間安裝Rights后再刪除SRM1上的Rights。
上述在屬于相同用戶的SRM之間共享許可的兩個(gè)實(shí)施例中,DRM Agent均向RI查詢SRM所屬的用戶,如果RI無(wú)法獲知SRM所屬的用戶,可能需
24要向其它實(shí)體,如用戶管理器,查詢SRM所屬的用戶,或者DRMAgent可以直接向管理SRM和用戶關(guān)系的實(shí)體,如用戶管理器,查詢SRM所屬的用戶。
另外,上述在屬于相同用戶的SRM之間共享許可的兩個(gè)實(shí)施例中,都是以SRM1和SRM2連接于同 一個(gè)DRM Agent為例進(jìn)行說(shuō)明的,某些情況下,可能兩個(gè)SRM位于不同的地方,無(wú)法直接連接到同一個(gè)DRMAgent,則可能需要多個(gè)DRM Agent代為中轉(zhuǎn)。例如,需對(duì)圖6改動(dòng)的是,DRM Agent實(shí)際為兩個(gè)DRM Agent: DRM Agentl和DRM Agent2,分別連4妄SRM1和SRM2,在具體流程上,可由DRM Agentl查詢SRM1所屬用戶,并在將許可轉(zhuǎn)移給DRM Agent2時(shí)指明該Rights只能共享給該用戶的SRM, DRM Agent2確定SRM2同屬于該用戶后,才能將該Rights安裝到SRM2;或者DRM Agentl確定SRM1和SRM2同屬一個(gè)用戶時(shí),將許可共享給DRMAgent2并指明共享給SRM2,再由DRM Agent2安裝到SRM2;或者DRM Agent將許可共享給DRMAgent2并指明共享給與SRM1同一用戶的SRM, DRM Agent在確定SRM1和SRM2同屬一個(gè)用戶后,才能將該Rights安裝到SRM2。需對(duì)圖7改動(dòng)的是,DRM Agentl向RI進(jìn)行SRM1和SRM2所屬用戶查詢,并且,在RI確定SRM1和SRM2同屬一個(gè)用戶時(shí),由DRM Agentl將許可共享給DRMAgent2,再由DRMAgent2安裝到SRM2;或者由DRM Agentl將許可共享給DRM Agent2,由DRM Agent2向RI進(jìn)行SRM1和SRM2所屬用戶查詢,并且,在RI確定SRM1和SRM2同屬一個(gè)用戶時(shí),再由DRM Agent2安裝到SRM2??梢?jiàn),在實(shí)施例五和實(shí)施例六中,由于是對(duì)同屬一個(gè)用戶的兩個(gè)SRM的許可的共享,無(wú)需消耗共享權(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í)行圖1或圖2中DRM Agent功能,該裝置包括獲:f又單元, 用于從第一SRM獲取許可;中轉(zhuǎn)設(shè)置單元,用于將所述獲取的許可設(shè)置為中 轉(zhuǎn)狀態(tài);發(fā)送單元,用于將所獲取的許可發(fā)送給第二SRM;控制單元,扣除 一次共享權(quán)限。優(yōu)選地,該裝置還包括請(qǐng)求刪除單元,用于請(qǐng)求所述第一 SRM刪除所述許可;刪除響應(yīng)接收單元,用于接收所述第一SRM返回的刪 除i午可響應(yīng)。
另外,本發(fā)明實(shí)施例提供的第二裝置是指DRM Agent或位于DRM Agent 內(nèi)的功能實(shí)體,該裝置執(zhí)行圖3中DRMAgent功能,該裝置包括SRM交互 單元,用于觸發(fā)第一SRM和第二SRM進(jìn)行密鑰協(xié)商;轉(zhuǎn)發(fā)單元,用于將所 述第一 SRM的許可轉(zhuǎn)發(fā)給第二 SRM。
另外,本發(fā)明實(shí)施例提供的第三裝置是指第一 SRM或位于第一 SRM中 的功能實(shí)體,該裝置實(shí)現(xiàn)圖3中SRM1的功能,該裝置包括密鑰協(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)管理終端DRMAgent獲取第一SRM的許可;發(fā)送 單元,用于向第二 DRM Agent發(fā)送所述許可,通過(guò)所述第二 DRM Agent提供 給第二SRM。
另外,本發(fā)明實(shí)施例提供的第六裝置是指DRM Agent或位于DRM Agent 內(nèi)的功能實(shí)體,該裝置執(zhí)行圖6或圖7中DRMAgent功能,該裝置包括確定單元,確定所述第一SRM和第二SRM是否屬于相同用戶;獲取單元,用 于在所述確定單元確定第一 SRM和第二 SRM屬于相同用戶時(shí),從所述第一 SRM獲取許可;執(zhí)行單元,用于將所述許可發(fā)送給第二SRM。另外
需要說(shuō)明的是,上述各個(gè)實(shí)施例僅是以在兩個(gè)SRM之間共享許可為例進(jìn) 行說(shuō)明的,本領(lǐng)域人員可毫無(wú)疑問(wèn)地獲知,本發(fā)明實(shí)施例可以實(shí)現(xiàn)在三個(gè)或 三個(gè)以上SRM之間共享許可。本發(fā)明實(shí)施例也可應(yīng)用于通過(guò)DRM Agent將 SRM上的許可共享到另一 DRM Agent。
本領(lǐng)域普通技術(shù)人員可以理解,實(shí)現(xiàn)上述實(shí)施例的方法的過(guò)程可以通過(guò) 程序指令相關(guān)的硬件來(lái)完成,所述的程序可以存儲(chǔ)于可讀取存儲(chǔ)介質(zhì)中,該 程序在執(zhí)行時(shí)執(zhí)行上述方法中的對(duì)應(yīng)步驟。所述的存儲(chǔ)介質(zhì)可以如 ROM/RAM、磁碟、光盤(pán)等。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普 通技術(shù)人員來(lái)說(shuō),在不脫離本發(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);所述DRM Agent將所述許可的共享權(quán)限扣除一次;所述DRM Agent將所述許可發(fā)送給第二SRM。
2、 根據(jù)權(quán)利要求1所述方法,其特征在于,所述共享許可是指復(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終端將第一 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)利要求l所述方法,其特征在于,所述DRM Agent將所述許 可發(fā)送給第二SRM后,還包括所述DRM Agent刪除本地的所述許可。
4、 根據(jù)權(quán)利要求l所述方法,其特征在于,所述DRM Agent在中轉(zhuǎn)操 作過(guò)程中記錄日志,所述日志包含才喿作類(lèi)型、當(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)利要求4所述方法,其特征在于,當(dāng)共享許可操作發(fā)生中斷時(shí), 還包括所述DRM Agent才艮據(jù)所述日志將許可繼續(xù)發(fā)送到第二 SRM; 或者,所述DRM Agent根據(jù)所述日志將許可恢復(fù)到第一 SRM。
6、 根據(jù)權(quán)利要求1所述方法,其特征在于,所述DRM Agent從第一 SRM 獲取許可前,還包括所述DRM Agent將所述第二 SRM的公鑰或證書(shū)提供給第一 SRM,第一 SRM使用第二 SRM的公鑰加密許可中的權(quán)限加密密鑰或內(nèi)容加密密鑰。
7、 根據(jù)權(quán)利要求l所述方法,其特征在于,所述DRM Agent將所述許 可發(fā)送給第二 SRM具體包括所述DRM Agent將所述許可通過(guò)其它DRM Agent中轉(zhuǎn)給第二 SRM。
8、 一種共享許可的方法,其特征在于,包括數(shù)字版權(quán)管理終端DRM Agent觸發(fā)第一 SRM和第二 SRM協(xié)商共享密鑰; 所述第一SRM使用所述共享密鑰加密所述許可的部分或全部信息; 所述第一 SRM將所述許可發(fā)送給第二 SRM。
9、 根據(jù)權(quán)利要求8所述方法,其特征在于,所述許可的部分或全部信息 包括權(quán)限加密密鑰或內(nèi)容加密密鑰。
10、 根據(jù)權(quán)利要求8所述方法,其特征在于,在所述第一SRM將所述許 可發(fā)送給第二SRM之前,還包括所述第一SRM使用所述共享密鑰對(duì)許可的部分或全部信息進(jìn)行完整性保護(hù)。
11、 根據(jù)權(quán)利要求8所述方法,其特征在于,在所述第一SRM將所述許 可發(fā)送給第二SRM之后,還包括所述第二 SRM驗(yàn)證所述許可,并在通過(guò)后扣除一次共享權(quán)限。
12、 根據(jù)權(quán)利要求8所述方法,其特征在于,在所述第一SRM將所述許 可發(fā)送給第二SRM之前,還包括所述第一 SRM將許可的共享權(quán)限扣除一次。
13、 根據(jù)權(quán)利要求8所述方法,其特征在于,所述第一SRM將所述許可 發(fā)送給第二 SRM具體包括所述第一 SRM通過(guò)所述DRM Agent將所述許可發(fā)送給第二 SRM; 所述DRM Agent在中轉(zhuǎn)過(guò)程中驗(yàn)證許可并扣除一次共享權(quán)限。
14、 根據(jù)權(quán)利8至13任一項(xiàng)所述方法,其特征在于,當(dāng)所述共享許可是 指轉(zhuǎn)移許可時(shí),還包括所述第一SRM在確認(rèn)所述第二SRM接收到許可后, 刪除本地的所述許可。
15、 根據(jù)權(quán)利要求8所述方法,其特征在于,所述DRM Agent觸發(fā)第一 SRM和第二SRM協(xié)商共享密鑰的過(guò)程包括所述DRM Agent向第一 SRM發(fā)起認(rèn)證過(guò)程,獲取第一 SRM證書(shū)鏈; 所述DRM Agent向第二 SRM發(fā)起認(rèn)證過(guò)程,將所獲取的第一 SRM證書(shū)鏈發(fā)送給第二 SRM,并從第二 SRM獲取第二 SRM證書(shū)鏈和第一 SRM公鑰加密的第二隨機(jī)數(shù);所述DRM Agent向第一 SRM發(fā)起密鑰交換過(guò)程,將所獲取的第二 SRM 證書(shū)鏈和第一 SRM公鑰加密的第二隨機(jī)數(shù)發(fā)送給第一 SRM,并從第一 SRM 獲取第二 SRM公鑰加密的第一隨機(jī)數(shù);所述DRMAgent向第二 SRM發(fā)起密鑰交換過(guò)程,將所獲取的第二 SRM 公鑰加密的第一隨機(jī)數(shù)發(fā)送給第二 SRM;第一 SRM和第二 SRM利用所述第一隨機(jī)數(shù)和第二隨機(jī)數(shù),確定共享密鑰。
16、 一種共享許可的方法,其特征在于,包括第 一數(shù)字版權(quán)管理終端DRM Agent從第一 SRM獲取許可后,發(fā)送給版 權(quán)發(fā)行者RI;第二 DRM Agent從RI獲取所述許可,并發(fā)送給第二 SRM。
17、 根據(jù)權(quán)利要求16所述方法,其特征在于,當(dāng)所述共享許可是指轉(zhuǎn)移 許可時(shí),還包括所述第一SRM刪除所述許可。
18 、根據(jù)權(quán)利要求16所述方法,其特征在于,所述第二 DRM Agent從 RI獲^^所述許可前,還包括RI根據(jù)從第一 SRM獲取的許可生成綁定第二 SRM的許可。
19、 根據(jù)權(quán)利要求16所述方法,其特征在于,所述第二DRMAgent從 RI獲取所述許可前,還包括RI驗(yàn)證第一 SRM和第二 SRM屬于相同用戶。
20、 一種共享許可的方法,其特征在于,包括數(shù)字版權(quán)管理終端DRM Agent確定第一 SRM和第二 SRM屬于相同用戶 時(shí),將從第一 SRM獲取的許可發(fā)送給第二 SRM。
21、 根據(jù)權(quán)利要求20所述方法,其特征在于,所述DRM Agent確定所 述第——一 SRM和第二 SRM屬于相同用戶的過(guò)程為所述DRM Agent向所述RI或用戶管理器發(fā)送包含第一 SRM標(biāo)識(shí)的查詢 消息,查詢所述第一 SRM所屬用戶;所述DRM Agent向所述RI或用戶管理器發(fā)送包含第二 SRM標(biāo)識(shí)的查詢 消息,查詢所述第二SRM所屬用戶;所述DRM Agent驗(yàn)證所述第一 SRM和第二 SRM是否屬于相同用戶;或者,所述DRM Agent向所述RI或用戶管理器發(fā)送包含第一 SRM標(biāo)識(shí)和第二 SRM標(biāo)識(shí)的查詢消息,查詢所述第一 SRM和所述第二 SRM是否屬于相同用 戶;所述RI或用戶管理器向所述DRM Agent返回查詢響應(yīng),告知所述第一 SRM和第二 SRM是否屬于相同用戶。
22、 一種共享許可的裝置,其特征在于,包括 獲取單元,用于從第一SRM獲取許可; 中轉(zhuǎn)設(shè)置單元,用于將所述獲取的許可設(shè)置為中轉(zhuǎn)狀態(tài); 發(fā)送單元,用于將所獲取的許可發(fā)送給第二 SRM; 控制單元,扣除一次共享權(quán)限。
23、 根據(jù)權(quán)利要求22所述裝置,其特征在于,還包括 請(qǐng)求刪除單元,用于請(qǐng)求所述第一 SRM刪除所述許可; 刪除響應(yīng)接收單元,用于接收所述第一 SRM返回的刪除許可響應(yīng)。
24、 一種共享許可的裝置,其特征在于,包括 SRM交互單元,用于觸發(fā)第一SRM和第二SRM進(jìn)行密鑰協(xié)商; 轉(zhuǎn)發(fā)單元,用于將所述第一 SRM的許可轉(zhuǎn)發(fā)給第二 SRM。
25、 一種在第一安全可移動(dòng)媒介SRM和第二 SRM之間共享許可的裝置, 位于第一SRM中,其特征在于,包括密鑰協(xié)商單元,用于與第二SRM進(jìn)行密鑰協(xié)商;處理單元,用于利用與第二 SRM協(xié)商的共享密鑰對(duì)許可的部分或全部信 息加密;發(fā)送單元,用于將許可發(fā)送給第二SRM。
26、 根據(jù)權(quán)利要求25所述裝置,其特征在于,還包括刪除單元,用于在確認(rèn)所述第二SRM接收到許可后,刪除本地的所述許可。
27、 一種共享許可的裝置,位于第二SRM中,其特征在于,包括 密鑰協(xié)商單元,用于與第一SRM進(jìn)行密鑰協(xié)商;接收單元,用于接收第一SRM發(fā)送的許可;權(quán)限扣除單元,用于在所述接收單元接收到正確的許可后,扣除一次操 作權(quán)限。
28、 一種共享許可的裝置,其特征在于,包括獲取單元,用于從第一數(shù)字版權(quán)管理終端DRM Agent獲取第一 SRM的 許可;發(fā)送單元,用于向第二 DRM Agent發(fā)送所述許可,通過(guò)所述第二DRM Agent提供給第二 SRM。
29、 一種共享許可的裝置,其特征在于,包括 確定單元,確定第一SRM和第二SRM是否屬于相同用戶; 獲取單元,用于在所述確定單元確定第一 SRM和第二 SRM屬于相同用戶時(shí),從所述第一SRM獲取許可;執(zhí)行單元,用于將所述許可發(fā)送給所述第二 SRM。
全文摘要
本發(fā)明公開(kāi)了一種在SRM之間共享許可的方法及裝置,其中的方法包括DRM Agent從第一SRM獲取許可,并將所述許可在本地設(shè)置為中轉(zhuǎn)狀態(tài);所述DRM Agent將所述許可的共享權(quán)限扣除一次;所述DRM Agent將所述許可發(fā)送給第二SRM。與現(xiàn)有方案在許可從SRM1轉(zhuǎn)移到設(shè)備過(guò)程中需要扣除一次Move權(quán)限、在許可從設(shè)備轉(zhuǎn)移到SRM2過(guò)程中需要扣除另一次Move權(quán)限相比,本發(fā)明實(shí)施例通過(guò)將DRM Agent中轉(zhuǎn)的許可設(shè)置為中轉(zhuǎn)狀態(tài),由此僅扣除一次共享權(quán)限,減少了共享權(quán)限的不必要的消耗,有利于維護(hù)用戶權(quán)益。
文檔編號(hào)G06F21/10GK101640589SQ20081013476
公開(kāi)日2010年2月3日 申請(qǐng)日期2008年7月29日 優(yōu)先權(quán)日2008年7月29日
發(fā)明者周志鵬, 張仁宙, 袁衛(wèi)忠, 晨 黃 申請(qǐng)人:華為技術(shù)有限公司