專利名稱:根據(jù)越地區(qū)目錄信息對內(nèi)容產(chǎn)生數(shù)字權(quán)限管理(drm)許可的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字權(quán)限管理(DRM)系統(tǒng)。本發(fā)明尤其涉及利用DRM系統(tǒng)在如辦公室或公司等的組織中發(fā)表數(shù)字內(nèi)容,使得在該組織中此內(nèi)容的演示或使用能按照對應的使用或許可證項受約束。更具體而言,本發(fā)明涉及根據(jù)從來自另外地區(qū)的目錄獲得的組的信息產(chǎn)生對于對應數(shù)字內(nèi)容的數(shù)字許可證。
背景技術(shù):
在如數(shù)字聲頻節(jié)目,數(shù)字視頻節(jié)目,數(shù)字文本,數(shù)字數(shù)據(jù),數(shù)字多媒體等方面十分希望有數(shù)字權(quán)限管理和實施,在那里數(shù)字內(nèi)容向一個或多個用戶發(fā)布。數(shù)字內(nèi)容能如文本文檔那樣是靜態(tài)的,或它能如現(xiàn)場直播事件的流動聲頻/視頻節(jié)目那樣是流動的。發(fā)布的通常方式包括實物的,如磁盤(軟盤),磁帶,光(密致)盤(CD)等,和非實物的媒體,如電子公告欄,電子網(wǎng)絡,因特網(wǎng)等。用戶接收以后,借助于如個人計算上的多媒體演示器等那樣的合適的演示設(shè)備,演示或“放映”此數(shù)字內(nèi)容。
有一種情況,如作者,發(fā)行者,廣播者那樣的內(nèi)容擁有者或權(quán)限擁有者希望向許多用戶或接收者的每一個發(fā)布那樣的數(shù)字內(nèi)容以換取許可證費用或某些其它報酬。在那樣情況,內(nèi)容能是歌曲,歌集,電影等,而發(fā)布的目的是產(chǎn)生許可證費用。那樣的內(nèi)容擁有者希望具有選擇地限止用戶用那樣發(fā)布的數(shù)字內(nèi)容做什么。例如,內(nèi)容擁有者希望限止用戶拷貝此內(nèi)容,并再發(fā)布給拒絕向內(nèi)容擁有者付許可證費的第二用戶。
此外,內(nèi)容擁有者希望向用戶提供以不同的許可證費用購買不用類型的使用許可的靈活性,同時讓用戶限止在實際購買的何類許可的范圍內(nèi)。例如,內(nèi)容擁有者能希望允許發(fā)布的數(shù)字內(nèi)容只放映有限次,只放映某個總的時間,只在某類機器上,只在某類多媒體放映器,或只由某類用戶放映,等。
在另外情況,如一個組織的雇員或成員的內(nèi)容開發(fā)者希望發(fā)布那樣的數(shù)字內(nèi)容給該組織中的一個或多個其它雇員或成員,或給該組織之外的其它個人,但拒絕其他人演示該內(nèi)容。這里,內(nèi)容的發(fā)布更類似于以保密或限止方式共享的基于組織的內(nèi)容,而不是為換取許可證費用或其它報酬的廣泛基礎(chǔ)的發(fā)布。
然而,在那樣情況,內(nèi)容能是文檔報告,電子報表,數(shù)據(jù)庫,電子郵件等,使能在辦公室范圍內(nèi)交換,而內(nèi)容開發(fā)者希望該內(nèi)容停留在組織或辦公室范圍內(nèi),而不會被如競爭者或廣告商那樣的非授權(quán)個人演示。而且那樣內(nèi)容開發(fā)者希望限止接收者能用那樣的發(fā)布內(nèi)容做什么。例如,內(nèi)容擁有者希望限止用戶拷貝并至少限止以將內(nèi)容向被允許演示該內(nèi)容的人群之外暴露的方式重新發(fā)布內(nèi)容。
此外,內(nèi)容的開發(fā)者能希望向不同接收者提供不同等級的演示權(quán)限。例如,內(nèi)容開發(fā)者能希望所保護的內(nèi)容對一類人可看但不能打印,而對另一類人可看并可打印。
然而,在上述兩種情況,在發(fā)布以后,內(nèi)容的擁有者/開發(fā)者具有(若有的話)很少對數(shù)字內(nèi)容的控制。考慮到實際上每臺個人計算機包括必要的軟硬件來作出那樣數(shù)字內(nèi)容的精確的數(shù)字拷貝,并下載那樣的精確數(shù)字拷貝到可寫的磁盤或光盤,或經(jīng)過如因特網(wǎng)那樣的網(wǎng)絡將那個精確數(shù)字拷貝發(fā)送到任何目的地,這是尤其成問題。
當然,作為內(nèi)容發(fā)布交易的一部分,內(nèi)容擁有者/開發(fā)者能要求數(shù)字內(nèi)容的用戶/接收者承諾不以不良方式再發(fā)布那樣的數(shù)字內(nèi)容。然而,那樣的承諾是易做易打破的。內(nèi)容擁有者/開發(fā)者能試圖通過通常涉及加密何解密的若干已知安全裝置的任一種避免那樣的重新發(fā)布。然而,在防止一般性下決心的用戶解密被加密的數(shù)據(jù),以非加密的方式保存那樣的數(shù)字內(nèi)容,并隨后重新發(fā)布它們方面,收效甚微。
因而有需要提供數(shù)字權(quán)限管理(DRM)和實施的體系結(jié)構(gòu)和方法,允許任何形式的數(shù)字內(nèi)容的受控的演示或放映,其中那樣的控制是靈活的,并能由那樣數(shù)字內(nèi)容的內(nèi)容擁有者/開發(fā)者尤其是需要那樣的體系結(jié)構(gòu),特別在辦公室或組織等的環(huán)境中允許并方便那樣的受控演示,在那里文檔在確定的人群或確定級別的人中共享。更尤其需要那樣的體系結(jié)構(gòu),使內(nèi)容在該組織的預定分部或“地區(qū)”之間被許可。
發(fā)明內(nèi)容
上述需要通過本發(fā)明至少部分地滿足,本發(fā)明中判斷從一個組織來的用戶是否為該組織中預定的組的成員,其中該組織維持至少包括地區(qū)A和地區(qū)B的計算機網(wǎng)絡,其中地區(qū)A具有目錄A和能夠查詢目錄A的查詢實體A,并其中地區(qū)B具有目錄B和能夠查詢目錄B的查詢實體B。
在此方法中,查詢實體A從用戶接收請求,并至少部分地根據(jù)該用戶是否為該組的成員而決定是否準許該請求。于是,查詢實體A查詢地區(qū)A的目錄A,以返回關(guān)于該組的信息,并作為響應被導向地區(qū)B。然而查詢實體A聯(lián)系地區(qū)B的查詢實體B,并請求查詢實體B查詢目錄B,以確定用戶是否為該組的成員。查詢實體A從查詢實體B接收用戶實際上是否該組的成員的響應,并至少部分地根據(jù)該用戶是否為該組織成員準許用戶的請求。
對上述概述以及下面的本發(fā)明的實施例的詳述,通過結(jié)合附圖將更好地理解。為說明本發(fā)明的目的,在圖中示出較佳的實施例。然而可以理解,本發(fā)明不限于所示出的精確安排與工具。附圖為圖1是表示示例的非限止性計算環(huán)境的方框圖,其中可以實現(xiàn)本發(fā)明;圖2是表示具有各種計算設(shè)備可以實現(xiàn)本發(fā)明發(fā)明的示例性網(wǎng)絡環(huán)境的方框圖;圖3是按本發(fā)明用于發(fā)表數(shù)字內(nèi)容的系統(tǒng)和方法的較佳實施例的功能方框圖;圖4是按本發(fā)明用于發(fā)表受權(quán)限管理的數(shù)字內(nèi)容的方法的較佳實施例的流程圖;圖4A是示出由圖4的方法產(chǎn)生的簽署的權(quán)限標簽的方框圖;圖5是按本發(fā)明用于許可受權(quán)限管理的數(shù)字內(nèi)容的系統(tǒng)和方法的較佳實施例的方框圖;圖6A和6B是按本發(fā)明用于許可受權(quán)限管理的數(shù)字內(nèi)容的方法的較佳實施例的流程圖;圖7是示出按本發(fā)明的一個實施例由請求者和發(fā)許可證者組織的目錄向發(fā)許可證者發(fā)出的證明和權(quán)限標簽的方框圖;圖8是示出按本發(fā)明的一個實施例組織成多個分部或地區(qū)的組織的方框圖,其中每個地區(qū)具有至少一個DRM服務器和一個目錄;圖9是示出通過確定組成員方法聯(lián)系的各種實體的方框圖;圖10是對圖9中示出的實體示出在圖8的目錄中目錄項的方框圖;圖11是示出基于信任的系統(tǒng)的例子的實施的體系結(jié)構(gòu)的方框圖;圖12是流程圖,示出在判斷用戶是否為DRM服務器的地區(qū)本地的組成員時由圖8的DRM服務器完成的關(guān)鍵步驟;圖13是流程圖,示出按本發(fā)明的實施例,在判斷用戶是否為DRM服務器的地區(qū)本地的組成員時,由圖8的DRM服務器完成的關(guān)鍵步驟;
圖14是示出按本發(fā)明的一個實施例在高速緩存取中的各項的方框圖;圖15和16是方框圖,示出按本發(fā)明的一個實施例使用圖14的高速緩存的高速緩存體系結(jié)構(gòu)的變化情況;圖17A和17B是流程圖,示出按本發(fā)明的一個實施例結(jié)合圖15和16的高速緩存體系結(jié)構(gòu),由圖8的發(fā)許可證DRM服務器利用的算法完成的關(guān)鍵步驟,以確定用戶是否為組中的成員。
具體實施例方式
計算機環(huán)境圖1和下面的描述試圖提供能實現(xiàn)本發(fā)明的合適的計算環(huán)境的簡單的一般描述。然而須理解,手持,便攜和所有類型的其它計算設(shè)備預期能結(jié)合本發(fā)明使用。雖然下面描述通用計算機,但這僅是例子,本發(fā)明只需要具有與網(wǎng)絡服務器互操作及互動的瘦客戶。因此,本發(fā)明能在連網(wǎng)的裝備服務的環(huán)境中實現(xiàn),其中只包含很少或最少的客戶資源,如客戶設(shè)備僅用作World WideWeb的瀏覽器或界面的網(wǎng)絡環(huán)境。
雖然不必要,本發(fā)明能通過由開發(fā)者使用和/或包括在網(wǎng)絡瀏覽軟件中的應用程序界面(API)來實現(xiàn),它將以由如工作站,服務器或其它設(shè)備那樣的計算機執(zhí)行的如程序模塊那樣的計算機可執(zhí)行指令的一般情況予以描述。通常,程序模塊包括例行程序,程序,對象,組件,數(shù)據(jù)結(jié)構(gòu)等,它們完成特定任務或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。通常在各種實施例中,程序模塊的功能可以如希望那樣結(jié)合或分布。而且,本專業(yè)熟練人士得知,本發(fā)明能用其它計算機系統(tǒng)配置實施。適合于本發(fā)明使用的其它眾知的計算系統(tǒng),環(huán)境和/或配置包括個人計算機(PC),自動取款機(ATM),服務器計算機,手持或膝上設(shè)備,多處理器系統(tǒng),基于微處理器的系統(tǒng),可編程消費者電子設(shè)備,網(wǎng)絡PC,小型計算機,大型計算機等,但不限于這些。本發(fā)明也能在分布式計算環(huán)境中實施,其中任務由通過通訊網(wǎng)絡或其它數(shù)據(jù)傳輸媒體連接的遠程處理設(shè)備完成。在分布式計算環(huán)境中,程序模塊能位于包括存儲設(shè)備的本地和遠程的計算機存儲媒體中。
于是圖1示出能實現(xiàn)本發(fā)明的合適計算系統(tǒng)環(huán)境100的例子,雖然使得解釋清楚,計算系統(tǒng)環(huán)境100只是合適的計算環(huán)境的一個例子,不試圖對本發(fā)明的使用或功能的范圍提出任何限止。計算環(huán)境100不解釋成對示例性操作環(huán)境100中示出的任何組件或其組合具有任何依賴或需求。
參考圖1,實現(xiàn)本發(fā)明的示例性系統(tǒng)包括以計算機110形式的通用計算設(shè)備。計算機110的組件包括處理單元120,系統(tǒng)存儲器130,和將包括系統(tǒng)存儲器的各種系統(tǒng)組件連接到處理單元120的系統(tǒng)總線121,但不限于這些。系統(tǒng)總線121能是若干類型系統(tǒng)總線的任一種,包括存儲總線或存儲控制器,外圍總線,和使用各種總線體系結(jié)構(gòu)的任一種的局部總線。例如,那樣的體系結(jié)構(gòu)包括工業(yè)標準體系結(jié)構(gòu)(ISA)總線,微通道體系結(jié)構(gòu)(MCA)總線,增強的ISA(EISA)總線,視頻電子技術(shù)標準協(xié)會(VESA)局部總線,和外設(shè)部件互連(PCI)總線(也稱Mezzanine總線)。
計算機110通常包括各種計算機可讀媒體。計算機可讀媒體能是任何能由計算機110訪問的可得到的媒體,包括易失性媒體和非易失性媒體,可移動和不可移動媒體。例如,計算機可讀媒體能包括計算機存儲媒體和通訊媒體,但不限于這里。計算機存儲媒體包括以任何方法或技術(shù)實現(xiàn)的易失性和非易失性,可移動和不可移動媒體,用于存儲如計算機可讀指令,數(shù)據(jù)結(jié)構(gòu),程序模塊或其它數(shù)據(jù)那樣的信息。計算機存儲媒體包括RAM,ROM,EEPROM,閃存或其它存儲技術(shù),CDROM,數(shù)字視頻盤(DVD)或其它光盤存儲器,盒式磁帶,磁帶,磁盤存儲器或其它磁存儲設(shè)備,或任何其它能用于存儲希望的信息并能由計算機110訪問的媒體,但不限于這些。通訊媒體通常體現(xiàn)在計算機可讀指令,數(shù)據(jù)結(jié)構(gòu),程序模塊或以如載波或其它傳輸機制的調(diào)制數(shù)據(jù)信號形式的其它數(shù)據(jù),并包括任何信息、提交媒體。術(shù)語“調(diào)制數(shù)據(jù)信號”指的是具有一個或多個特征組成以一種方式改變以至于編碼信號中的信息的信號。例如,通訊媒體包括如有線網(wǎng)絡或直線連接那樣的有線媒體,如聲音,RF,紅外,和其它無線媒體那樣的無線媒體,但不限于這些。任何上述的組合也應包括在計算機可讀媒體范圍內(nèi)。
系統(tǒng)存儲器130包括以易失和/或非易失存儲器方式的計算機存儲媒體,如只讀存儲器(ROM)131和隨機存儲器(RAM)132。包含幫助(如在起動期間)在計算機110中各單元之間傳輸信息的基本例行程序的基本輸入/輸出系統(tǒng)133(BIOS)通常存儲在ROM131。RAM132通常包含由處理單元120即時訪問和/或當時運行的數(shù)據(jù)和/或程序模塊。例如,圖1示出操作系統(tǒng)134,應用程序135,其它程序模塊136,和程序數(shù)據(jù)137,但不限于這些。
計算機110也能包括其它可移動/不可移動,易失/非易失計算機存儲媒體。圖1僅例示了向不可移動,非易失性磁媒體讀寫的硬盤驅(qū)動器141,向可移動,非易失性磁盤152讀寫的磁盤驅(qū)動器,和向如CDROM或其它光媒體那樣的可移動非易失性光盤156讀寫的光盤驅(qū)動器155。其它能在示例性操作環(huán)境中使用的可移動/不可移動,易失/非易失性計算機存儲媒體包括盒式磁帶,閃存卡,數(shù)字視頻盤,數(shù)字視頻帶,固態(tài)RAM,固態(tài)ROM,等,但不限于這些。硬盤驅(qū)動器141通常通過如接口140那樣的不可移動存儲器接口連接到系統(tǒng)總線,而磁盤驅(qū)動器151和光盤驅(qū)動器155通常經(jīng)如接口150那樣的可移動存儲器接口連接到系統(tǒng)總線121。
上面討論并示于圖1的驅(qū)動器及其相關(guān)的計算機存儲媒體提供計算機可讀指令,數(shù)據(jù)結(jié)構(gòu),程序模塊,和用于計算機110的其它數(shù)據(jù)的存儲。例如在圖1中,硬盤驅(qū)動器141示作存儲操作系統(tǒng)144,應用程145,其它程序模塊146,和程序數(shù)據(jù)147。注意,這些組件能與操作系統(tǒng)134,應用程序135,其它程序模塊136,和程序數(shù)據(jù)相同或不同。操作系統(tǒng)144,應用程序145,其它程序模塊146,和程序數(shù)據(jù)147這里被賦予不同的序號,說明至少它們是不同的拷貝。用戶通過如鍵盤162,和通常稱為鼠標的定位設(shè)備161,跟蹤球或接觸墊那樣的輸入設(shè)備輸入命令和信息到計算機110。其它輸入設(shè)備(未示出)能包括話筒。操縱桿,游戲墊,衛(wèi)星碟,掃描器等。這些和其它輸入設(shè)備常常通過連接到系統(tǒng)總線121的用戶輸入接口160連接處理單元120,但能通過其它接口和總線結(jié)構(gòu)連接,如平行口,游戲口,或通用串口總線(USB)。
監(jiān)視器191或其它類型的顯示設(shè)備也通過如視頻接口190那樣的接口連接系統(tǒng)總線121。如Northbridge那樣的圖象接口182也能連接到系統(tǒng)總線121。Northbridge是與CPU或主處理單元120通訊的芯片集,并認為負責加速圖象端口(AGP)通訊。一個或多個圖象處理單元(GPU)184能與圖象接口182通訊。在這方面,GPU184通常包括如寄存器存儲器那樣的芯片上的存儲器,且GPU184與視頻存儲器186通訊。然而GPU184僅是協(xié)處理器的一個例子,而各種協(xié)處理設(shè)備能包括在計算機110中。監(jiān)視器191或其它類型的顯示設(shè)備也能通過如視頻接口190或其它類型的顯示設(shè)備也能通過如視頻接口190那樣的接口連接到系統(tǒng)總線121,視頻接口轉(zhuǎn)而與視頻存儲器186通訊。除了監(jiān)視器191以外,計算機還能包括如喇叭197和打印機196那樣的其它外圍輸出設(shè)備,它們能通過輸出外圍接口195連接。
計算機110能使用到如遠程計算機180那樣的一個或多個遠程計算機的邏輯連接在網(wǎng)絡環(huán)境中操作。遠程計算機180能是個人計算機,服務器,路由器,網(wǎng)絡PC,對等設(shè)備或其它公共的網(wǎng)絡節(jié)點,并通常包括上面相對于計算機110描述的許多或所有單元,雖然在圖1中只示出存儲器設(shè)備181。在圖1中畫出的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也能包括其它網(wǎng)絡。那樣的網(wǎng)絡環(huán)境在辦公室,企業(yè)范圍的計算機網(wǎng)絡,內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見的。
當在LAN網(wǎng)絡環(huán)境中使用時,計算機110通過網(wǎng)絡接口或適配器170連接到LAN171。當在WAN網(wǎng)絡環(huán)境中使用時,計算機110通常包括調(diào)制解調(diào)器172或其它用于在如因特網(wǎng)那樣的WAN173上建立通訊的其它裝置。內(nèi)置或外接的調(diào)制解調(diào)器172能通過用戶輸入接口160或其它合適的機制連接到系統(tǒng)總線121。在網(wǎng)絡環(huán)境中,相對于計算機110畫出的程序模塊或其部分能存儲在遠程的存儲設(shè)備中。例如,圖1示出駐留在存儲設(shè)備181上的遠程應用程序185,但不限于此??梢岳斫猓境龅木W(wǎng)絡連結(jié)是示例性的,可以使用在計算機之間建立通訊鏈路的其它裝置。
本領(lǐng)域的普通技術(shù)人員將認識到,計算機110或其他客戶設(shè)備能作出計算機網(wǎng)絡的一部分來配置。在這方面,本發(fā)明適合于具有任何數(shù)量的存儲器或存儲單元,以及具有占據(jù)任何數(shù)量的存儲單元或存儲卷之間的任何數(shù)量的應用或處理的任何計算機系統(tǒng)。本發(fā)明能應用于帶有配置成具有遠程或本地存儲器的網(wǎng)絡環(huán)境的服務器計算機和客戶計算機的環(huán)境。本發(fā)明也能應用于具有編程語言功能,解釋和執(zhí)行能力的獨立計算設(shè)備。
分布式計算通過在計算設(shè)備和系統(tǒng)之間直接交換便于共享計算機資源和服務。這些資源和服務包括文件的信息交換,高速緩存,和盤存儲。分布式計算得益于網(wǎng)絡連接,允許客戶利用他們的全部能力有利于整個企業(yè)。在這方面,各種設(shè)備能具有應用,對象和資源,它們能互動,以隱含用于信任的圖象管線的本發(fā)明的認證技術(shù)。
圖2提供示例性連網(wǎng)的或分布式計算環(huán)境的原理圖。分布式計算環(huán)境包括計算對象10a,10b等和計算對象或設(shè)備110a,110b,110c,等。這些對象能包括程序,方法,數(shù)據(jù)存儲,可編程邏輯等。對象能包括如PDA,電視,MP3演唱器,電視,個人計算機等的相同或不同設(shè)備的部分。每個對象能借助通訊網(wǎng)絡14與其它對象通訊。網(wǎng)絡本身能包括向圖2的系統(tǒng)提供服務的計算對象和計算設(shè)備。按照本發(fā)明的一個方面,每個對象10或110能包括一應用,它能請求本發(fā)明的認證技術(shù)用于信任的圖象管線。
可以理解,如110c那樣的對象能被包容在另外的計算設(shè)備10或110中。因此,雖然畫出的物理環(huán)境能示出如計算機那樣的連接的設(shè)備,那樣的表示僅僅是示例性的,實際的環(huán)境能另外畫出或描述,使包括如PDA,電視,MP3一演唱機等的各種數(shù)字設(shè)備,如接口,COM對象等的軟件對象。
存在各種系統(tǒng),組件,和網(wǎng)絡配置支持分布式計算環(huán)境。例如,計算系統(tǒng)能通過有線或無線系統(tǒng),通過局域網(wǎng)或廣泛分布的網(wǎng)絡連結(jié)在一起。當前,許多網(wǎng)絡連接到因特網(wǎng),后者對廣泛分布的計算提供底層架構(gòu),并包含許多不同的網(wǎng)絡。
在家庭網(wǎng)絡環(huán)境中,至少有四種根本不同的網(wǎng)絡傳輸媒體,它們每個支持各自的協(xié)議,如電源線,數(shù)據(jù)(無線和有線的),語音(如電話),和娛樂媒體。大多數(shù)家庭控制設(shè)備,如點燈開關(guān)和電器,能使用電源線連接。數(shù)據(jù)服務作為寬帶(如DSL或有線電視調(diào)制解調(diào)器)進入家庭,并在家中能使用無線(如Home RF或802.11b)或有線(如Home PNA,Cat5,甚至電源線)訪問。語音信息能作為有線(如Cat3)或無線(如手機電話)進入家庭,并能在家中使用Cat3連線分布。娛樂媒體通過衛(wèi)星或電纜進入家庭,并通常在家中使用同軸電纜分布。IEEE1394和DVI也作為對集群媒體設(shè)備的數(shù)字互連出現(xiàn)。所有這些網(wǎng)絡能夠互連,以形成內(nèi)聯(lián)網(wǎng),后者借助因特網(wǎng)連接外部世界。簡而言之,對數(shù)據(jù)的存儲和傳送存在各種全然不同的資源,因而接下去,計算設(shè)備需要在數(shù)據(jù)處理管線的所有部分保護內(nèi)容的方法。
“因特網(wǎng)”通常指的是利用在計算機網(wǎng)絡專業(yè)中眾知的TCP/IP協(xié)議的套件的網(wǎng)絡和網(wǎng)關(guān)的集合,TCP/IP是“Transport Control Protocol/InterfaceProgram”的縮寫。因特網(wǎng)能描述成由執(zhí)行網(wǎng)絡協(xié)議的計算機互連的地理上分布的遠程計算機網(wǎng)絡的系統(tǒng),它允許用戶在網(wǎng)上互動并共享信息。由于如此廣泛散布的信息共享,因此如因特網(wǎng)那樣的遠程網(wǎng)絡已演變成一個開放系統(tǒng),對它開發(fā)者能基本上不受限止地設(shè)計軟件應用,用于完成專門的操作或服務。
因此,網(wǎng)絡底層架構(gòu)使能有許多網(wǎng)絡拓撲,如客戶/服務器的,對等的,或混合體系結(jié)構(gòu)?!翱蛻簟笔且粋€級別或組的成員,該級別使用與其無關(guān)的另外級別或組的服務。因此在計算上,客戶是一個過程,即粗略地說是請求由另外程序提供的服務的一組指令或任務??蛻暨^程使用所請求的服務而不必“知道”有關(guān)其它程序或服務本身的工作細節(jié)。在客戶/服務器體系結(jié)構(gòu)中,尤其在網(wǎng)絡系統(tǒng)中,客戶通常是訪問由如服務器那樣的另外計算機提供的共享網(wǎng)絡資源的計算機。在圖2的例子中,計算機110a,110b等能看作客戶,而計算機10a,10b等能看作服務器,其中服務器等保持隨后復制到客戶計算機110a,110b等的數(shù)據(jù)。
服務器通常是經(jīng)過如因特網(wǎng)那樣的遠程網(wǎng)絡訪問的遠程計算機系統(tǒng)??蛻暨^程能在第一計算機系統(tǒng)中是活動的,服務器過程能在第二計算機系統(tǒng)中是活動的,經(jīng)通訊網(wǎng)絡互相通訊,因此提供分布式的功能,并允許多個客戶獲得服務器信息匯集能力的好處。
客戶和服務器利用由協(xié)議層提供的功能互相通訊。例如,超文本傳輸協(xié)議(HTTP)是結(jié)合World Wide Web(WWW)使用的共同協(xié)議。通常,如統(tǒng)一資源定位器(URL)或因特網(wǎng)協(xié)議(IP)地址那樣的網(wǎng)絡地址被用于服務器和客戶機的互相識別。網(wǎng)絡地址能稱為統(tǒng)一資源定位器地址。例如,通訊能經(jīng)過通訊媒體提供。尤其是客戶和服務器能經(jīng)TCP/IP連結(jié)互相連結(jié),用于大容量通訊。
因此,圖2示出服務器經(jīng)網(wǎng)絡/總線與客戶機通訊的示例性網(wǎng)絡或分布式環(huán)境,本發(fā)明能在其中實現(xiàn)。更詳細地,按本發(fā)明一系列服務器10a,10b等通過LAN,WAN,內(nèi)聯(lián)網(wǎng),因特網(wǎng)等那樣的通訊網(wǎng)絡/總線,與一系列客戶或遠程計算設(shè)備110a,110b,110c,110d,110e等互連,如便攜計算機手持式計算機,瘦客戶,連網(wǎng)電器或其它設(shè)備,如VCR,TV,電爐,電燈,加熱器等??梢灶A期,本發(fā)明能應用于希望處理,存儲或演示從信任來源來的保密內(nèi)容的任何計算設(shè)備。
例如在通訊網(wǎng)絡/總線14是因特網(wǎng)的網(wǎng)絡環(huán)境中,服務器是Web服務器,它通過若干已知的如HTTP那樣的協(xié)議的任一種與客戶110a,110b,110c,110d,110e等通訊。服務器10也能用作客戶110,能具有分布式計算環(huán)境的特征。通訊只要合適能是有線或無線的??蛻粼O(shè)備110可以或不可以經(jīng)通訊網(wǎng)絡/總線14通訊,并能具有與其相關(guān)的獨立的通訊。例如,在TV或VCR的情況,對控制可以是或不是連網(wǎng)的。每個客戶計算機110和服務器計算機10能裝有各種應用程序模塊或?qū)ο?35,裝有對各種類型存儲單元或?qū)ο蟮倪B接或訪問功能,文件能存入這些存儲單元之中,或者文件的各部分能下載或移植到那里。因此,本發(fā)明能在具有客戶計算機110a,110b等的計算機網(wǎng)絡環(huán)境中使用,客戶機能訪問計算機網(wǎng)絡/總線14和服務器計算機10a,10b,并與其互動,服務器能與客戶計算機110a,110b等及其它設(shè)備111和數(shù)據(jù)庫20互動。
數(shù)字權(quán)限管理(DRM)概貌眾所周知并參考圖11,在如數(shù)字聲頻節(jié)目,數(shù)字視頻節(jié)目,數(shù)字文本,數(shù)字數(shù)據(jù),數(shù)字多媒體等數(shù)字內(nèi)容12向用戶發(fā)布的地方,數(shù)字權(quán)限管理(DRM)和實施是非常希望與數(shù)字內(nèi)容12結(jié)合。用戶接收之后,用戶借助于如個人計算機14等上的媒體放映器那樣的合適的演示設(shè)備演示或“放映”數(shù)字內(nèi)容。
通常,發(fā)布那樣數(shù)字內(nèi)容12的內(nèi)容擁有者或開發(fā)者(這里稱為“所有者”)希望限止用戶用那樣發(fā)布的內(nèi)容能做什么。例如,內(nèi)容擁有者希望限止用戶拷貝并向第二用戶再發(fā)布那樣的內(nèi)容,或希望允許發(fā)布的數(shù)字內(nèi)容只放映限定的次數(shù),或只放映某個總的時間,只在某類機器上放映,只在某類媒體放映器上放映,只由某類型用戶放映等。
然后在發(fā)布發(fā)生之后,那樣的內(nèi)容擁有者對數(shù)字內(nèi)容12只具有很少(若有的話)的控制。然而DRM系統(tǒng)10允許控制地演示或表示任何形式的數(shù)字內(nèi)容12,其中那樣的控制是靈活的并能由那樣的數(shù)字內(nèi)容的內(nèi)容擁有者確定。通常,內(nèi)容12借助任何合適的發(fā)布通道以包13的形式發(fā)布給用戶。發(fā)布的數(shù)字內(nèi)容包13能包括用對稱加密/解密密鑰(KD)(即(KD(CONTENT))加密的數(shù)字內(nèi)容,和識別該內(nèi)容,以及如何獲取那樣的內(nèi)容的許可證的其它信息。
基于信任的DRM系統(tǒng)10允許數(shù)字內(nèi)容12的所有者規(guī)定在數(shù)字內(nèi)容12在用戶的計算設(shè)備14似的航允許演示之前必須滿足的許可證規(guī)則。那樣的許可證規(guī)則能包括上述的時間的要求,并能體現(xiàn)在數(shù)字許可證或使用文檔(以后稱“許可證”)16之中,用戶/用戶的計算設(shè)備14(此后,那樣的術(shù)語是可交換的,除非需要另外情況)必須從內(nèi)容擁有者或代理獲取許可證。那樣的許可證16還包解密密鑰(KD),用于解密可能按由用戶的計算設(shè)備可解密的密鑰加密的數(shù)字內(nèi)容。
一段數(shù)字內(nèi)容12的內(nèi)容擁有者必須確信。用戶的計算設(shè)備14將遵守由該內(nèi)容擁有者在許可證16中規(guī)定的規(guī)則和要求,即在許可證16中的規(guī)則和要求被滿足之前將不演示數(shù)字內(nèi)容12。因此最好為用戶的計算設(shè)備14提供信任的組件或機制18,使得除非遵照了體現(xiàn)在與該數(shù)據(jù)內(nèi)容12相關(guān)并由用戶獲得的許可證16中的許可證規(guī)則,將不演示該數(shù)字內(nèi)容12。
信息組件18通常具有許可證估算器20,它判斷該許可證是否有效,審查在該有效許可證16中的許可規(guī)則及要求,并根據(jù)審查的許可證規(guī)則和要求判斷,請求的用戶是否有權(quán)限以找到的方式或其它方式演示所請求的數(shù)字內(nèi)容??梢岳斫猓S可證估算器20在DRM系統(tǒng)10按照許可證16內(nèi)的規(guī)則和要求實現(xiàn)數(shù)字內(nèi)容12的所有者的希望方面是可信的,且用戶應不能夠為了任何不良或其它目的容易地更換那樣的信任的單元。
可以理解,在許可證16中的規(guī)則和要求根據(jù)下列因素的任一個規(guī)定,用戶是否有權(quán)限演示該數(shù)字內(nèi)容12,包括用戶是誰,用戶在哪里,用戶使用什么類型的計算設(shè)備,哪個演示應用調(diào)用DRM系統(tǒng),日期,時間等。此外,例如許可證16的規(guī)則和要求可以將許可證16限止預定次數(shù)的放映,或預定的放映時間。
在許可證16中能按照任何合適的語言和語法規(guī)定規(guī)則和要求。例如,語言能簡單地規(guī)定必須滿足的屬性和值(如DATE必須比X更晚),或按照執(zhí)行的腳本要求實施的功能(如IF DATE大于X,THEN DO……,)。
在許可證估算器20判定,許可證16是有效,并該用戶滿足其中的規(guī)則和要求之后,就能演示數(shù)字內(nèi)容12。尤其是為了演示內(nèi)容12解密密鑰(KD)從許可證16獲得,并應用到來自于內(nèi)容包13的(KD(CONTENT)),以得到實際的內(nèi)容12,隨后實際的內(nèi)容12真正被演示。
發(fā)表數(shù)字內(nèi)容圖3是用于發(fā)表數(shù)字內(nèi)容的系統(tǒng)及方法的功能方框圖。這里使用的術(shù)語“發(fā)表”指的是一個過程,應用或服務遵循此過程以便用可信任的實體建立該實體對那個內(nèi)容能發(fā)布的一組權(quán)限和條件,以及那些權(quán)限和條件向誰發(fā)布。按本發(fā)明,發(fā)表的過程包括加密數(shù)字內(nèi)容,和內(nèi)容的作者試圖對該內(nèi)容的所有可能的用戶的不變的可實施的權(quán)限的表。此過程能以保密方法完成,以禁止對任何權(quán)限和對內(nèi)容的訪問,除非內(nèi)容擁有者想做。
特別使用3個實體來發(fā)表安全的數(shù)字內(nèi)容在客戶300上執(zhí)行并準備擬發(fā)表的內(nèi)容的內(nèi)容準備應用302;也駐留在客戶設(shè)備300上的數(shù)字權(quán)限管理(DRM)應用程序界面(API);通過如因特網(wǎng),局域或廣域網(wǎng)其組合的通訊網(wǎng)絡330,在通訊上連接客戶300的DRM服務器320。
內(nèi)容準備應用302能是產(chǎn)生數(shù)字內(nèi)容的任何應用。例如,應用302能是文字處理器,或產(chǎn)生數(shù)字文本文件,數(shù)字音樂,視頻,或其它類似內(nèi)容的發(fā)表者。內(nèi)容有能包括流動的內(nèi)容,如現(xiàn)場直播或錄下的事件,或例子的流動的聲頻/視頻節(jié)目。向應用302提供加密密鑰以便加密數(shù)字內(nèi)容,從而形成加密的數(shù)字內(nèi)容文件304,而用戶提供與數(shù)字內(nèi)容文件304中與加密的內(nèi)容緊密相關(guān)的權(quán)限數(shù)據(jù)。權(quán)限數(shù)據(jù)包括對在數(shù)字內(nèi)容中具有權(quán)限的每個實體的身份,以及對每個已識別的實體的一組權(quán)限和條件。
例如,那樣的實體是一個人,一類個人或一個設(shè)備。那樣的權(quán)限能包括讀,編輯,拷貝,打印等該數(shù)字內(nèi)容的權(quán)限。條件能包括最小的系統(tǒng)需要,日期和時間限止,放映計數(shù)等。
客戶API306傳送加密的數(shù)據(jù)內(nèi)容和權(quán)限數(shù)據(jù)到DRM服務器320。使用下面詳述的過程,DRM服務器320判定它是否實施權(quán)限數(shù)據(jù),若是,DRM服務器簽署權(quán)限數(shù)據(jù)以形成簽署的權(quán)限標簽(SRL)308。然而通常,任何信任的實體能簽署權(quán)限數(shù)據(jù),最好使用由DRM服務器320信任的密鑰。例如客戶能使用由DRM服務器320向它提供的密鑰簽署權(quán)限數(shù)據(jù)。
權(quán)限標簽308能包括表示權(quán)限描述,加密的內(nèi)容密鑰,和根據(jù)權(quán)限描述和加密的內(nèi)容密鑰的數(shù)字簽名。若DRM服務器320簽署權(quán)限標簽,它將簽署的權(quán)限標簽308通過客戶API306送回給客戶,API306在客戶設(shè)備300上存儲簽署的權(quán)限標簽308。內(nèi)容準備應用302隨后將簽署的權(quán)限標簽308與加密的數(shù)字內(nèi)容文件相聯(lián)系,使得通過鏈接形成經(jīng)權(quán)限管理的內(nèi)容文件310。雖然應注意,SRL308能存在離開內(nèi)容文件304的已知位置,后者帶著鏈接到內(nèi)容文件308的對SRL308的參照以形成內(nèi)容文件310。
現(xiàn)參考圖4,示出用于發(fā)表經(jīng)權(quán)限管理的數(shù)字內(nèi)容的一個方法。在步驟402,應用302產(chǎn)生用于加密數(shù)字內(nèi)容的內(nèi)容密鑰(CK)。雖然任何密鑰能用于加密數(shù)字內(nèi)容,內(nèi)容密鑰(CK)通常是對稱密鑰。眾所周知,由對稱密鑰算法使用對稱密鑰既加密又解密。因而,在發(fā)送者和接收者之間共享時,(CK)應該隱藏很好的。
在步驟404,應用302用(CK)加密數(shù)字內(nèi)容以形成加密的數(shù)字內(nèi)容304(即(CK(內(nèi)容)))。因而,或者由內(nèi)容的發(fā)表者或者有另外實體產(chǎn)生對應于(CK(內(nèi)容))的權(quán)限數(shù)據(jù)。注意,那樣的權(quán)限數(shù)據(jù)能是客戶權(quán)限數(shù)據(jù)或從預定的模板獲得的權(quán)限數(shù)據(jù)。如上討論,權(quán)限數(shù)據(jù)能包括授權(quán)消費該內(nèi)容的實體的表,每個實體關(guān)于此內(nèi)容具有的特定權(quán)限,和可能加到那些權(quán)限上的任何條件。
在步驟406,API306產(chǎn)生用于加密內(nèi)容密鑰(CK)的第二加密密鑰(DES1)。(DES1)最好也是對稱密鑰。在步驟408,API306用(DES1)加密(CK)得出(DES1(CK)),在步驟410,API306舍棄(CK)結(jié)果是現(xiàn)在只能通過解密(DES1(CK))獲得(CK)。為保證(CK(內(nèi)容))對中央DRM服務器320是保護的,且對該內(nèi)容的所有“許可證請求”按照權(quán)限數(shù)據(jù)是集中地做的,在步驟412API306接觸所提供的DRM服務器320,并檢索其公用密鑰(PU-DRM)。在步驟414,API306用(PU-DRM)加密(DES1)得到(PU-DRM(DES1))。因此,(CK)能對(PU-DRM)被保護,以保證在需要解密(CK(內(nèi)容))時,DRM服務器320是能夠訪問(CK)的位移實體。在步驟416,API306用(DES1)加密權(quán)限數(shù)據(jù)(即授權(quán)實體的表和與表中每個授權(quán)的實體相關(guān)的對應權(quán)限和條件),以得到(DES1(權(quán)限數(shù)據(jù)))。
在另外的實施例中,能使用(CK)直接加密權(quán)限數(shù)據(jù),以得到(CK(權(quán)限數(shù)據(jù))),且能使用(PU-DRM)直接加密(CK),得到(PU-DRM(CK)),從而完全放棄使用(DES1)。然而,使用(DES1)加密權(quán)限數(shù)據(jù)和(CK)允許那樣的(DES1)負荷任何適合于DRM服務器的特定算法,然而(CK)能由獨立于DRM服務器的實體規(guī)定,且不能適合于那里。
在步驟418,內(nèi)容保護應用302提交(PU-DRM(DES1))和(DES1(權(quán)限數(shù)據(jù)))給DRM服務器,作為用于簽署的權(quán)限標簽。另外,客戶本身能以下面列出的方式簽署權(quán)限數(shù)據(jù)。若權(quán)限數(shù)據(jù)被提交給服務器用于簽署,則在步驟420,DRM服務器320訪問權(quán)限數(shù)據(jù),并驗證是否能實施在提交的權(quán)限標簽中能夠?qū)嵤┑臋?quán)限和條件。為了驗證可以實施的權(quán)限數(shù)據(jù),DRM服務器320應用對應于(PU-DRM)的私有密鑰(PR-DRM)于(PU-DRM(DES1)),得到(DES1),并隨后應用(DES1)于(DES1(權(quán)限數(shù)據(jù))),以得到明文的權(quán)限數(shù)據(jù)。服務器320隨后能做任何策略校驗,以驗證在權(quán)限數(shù)據(jù)中規(guī)定的用戶,權(quán)限和條件是在任何由服務器320實施的任何策略之中。服務器320簽署原先提交包括(PU-DRM(DES1))和(DES1(權(quán)限數(shù)據(jù)))的權(quán)限標簽,得到簽署的權(quán)限標簽(SRL)308,其中簽名是根據(jù)DRM服務器的私有密鑰(PR-DRM),并將SRL308返回給API306,后者隨后將返回的SRL308交給客戶應用302。
SRL308是使其防止竄改的數(shù)字簽名的文檔。此外,SRL308獨立于用于加密內(nèi)容的實際密鑰類型和算法,但保持對所保護的內(nèi)容的強的1-1的關(guān)系?,F(xiàn)在參考圖4A,在本發(fā)明的一個實施例中,SRL308能包括作為SRL308的基礎(chǔ)的內(nèi)容的信息,多半包括內(nèi)容的ID;有關(guān)簽署SRL308的DRM服務器的信息,包括(PU-DRM(DES1))和如用于確定DRM服務器在網(wǎng)絡上位置的URL那樣的分派信息,和若URL失敗時的撤退信息;描述SRL308本身的信息;(DES1(權(quán)限數(shù)據(jù)))(DES1(CK));和數(shù)字簽名(S(PR-DRM)),及其它。
通過保證信任的實體簽署權(quán)限數(shù)據(jù)以創(chuàng)建簽署的權(quán)限標簽308,DRM服務器320判定,它強按照由發(fā)表者如在權(quán)限標簽308數(shù)據(jù)中所描述那樣列出的項對該內(nèi)容發(fā)生許可證??梢岳斫?,用戶需要獲得演示內(nèi)容的許可證,尤其是因為許可證包含內(nèi)容密鑰(CK)。當用戶希望獲得對加密內(nèi)容的許可證時,用戶能向DRM服務器320或其它許可證發(fā)行實體提出包括SRL308的對內(nèi)容的許可證請求,和驗證用戶證書的證明。然后,許可證發(fā)行實體能解密(PU-DRM(DES1))和(DES1(權(quán)限數(shù)據(jù)))以產(chǎn)生權(quán)限數(shù)據(jù),列出所有由坐著(若有的話)授予學考證請求實體的所有權(quán)限,并構(gòu)成只有那些指定權(quán)限的許可證。
所上所述,在應用302接收SRL308之后,應用302鏈接帶有對應的(CK(內(nèi)容))304的簽署的權(quán)限標簽308以形成受權(quán)限管理的數(shù)字內(nèi)容。另外,權(quán)限數(shù)據(jù)存儲在已知的位置,用加密的數(shù)字內(nèi)容提供該位置的參照。因此,DRM-使能的演示應用能通過演示應用試圖演示的內(nèi)容的片斷發(fā)現(xiàn)簽署的權(quán)限標簽308。此發(fā)現(xiàn)觸發(fā)演示應用起動對DRM發(fā)許可證服務器320的請求。例如,發(fā)表應用302能將URL存到DRM發(fā)許可證服務器302,或者在數(shù)字簽名之前DRM發(fā)許可證服務器320能將其自己的URL作為元數(shù)據(jù)的片斷嵌入權(quán)限標簽中,使得由演示應用調(diào)用的DRM客戶API306能識別正確的DRM發(fā)許可證服務器320。
獲得對發(fā)表的內(nèi)容的許可證現(xiàn)參考圖5,示出用于對受權(quán)限管理的數(shù)字內(nèi)容發(fā)許可證的系統(tǒng)和方法。這里用的術(shù)語發(fā)許可證指的是一個過程,應用或服務遵循的過程,以便請求和接收一個許可證,使在該許可證中命名的實體能按照在許可證中規(guī)定的項消費該內(nèi)容。到發(fā)許可證過程的輸入能包括與請求許可證的內(nèi)容相關(guān)的簽署的權(quán)限標簽(SRL)308,和為其請求該許可證的實體的公共密鑰證明。注意,請求許可證的實體不必然是為其申請許可證的實體。通常,許可證包括從SRL308來的權(quán)限描述,能解密被加密的內(nèi)容的加密的密鑰,和在權(quán)限描述和加密的密鑰上的數(shù)字簽名,以便判定合法性并防止竄改。
主要是,客戶API306將受權(quán)限管理的內(nèi)容310的簽署的權(quán)限標簽308通過通訊網(wǎng)絡330送到DRM服務器320。如上所述,權(quán)限標簽308包含按DRM服務器320的公共密鑰(PU-DRM)加密的內(nèi)容密鑰(CK)(即(PU-DRM(CK))。然后在發(fā)行許可證的過程中,DRM服務器320將(PR-DRM)應用到(PR-DRM(CK))以獲得(CK)。然后它使用在許可證請求中拒絕的,在公共密鑰證明中的公共密鑰(PU-ENTITY)重新加密(即(PU-ENTITY(CK)))。新加密的(PU-ENTITY(CK))隨后被放在許可證中。這樣,許可證能返回到調(diào)用者而沒有暴露(CK)的危險,因為只有對應于(PU-ENTITY)的私有密鑰(PR-ENTITY)的持有者能夠從(PU-ENTITY(CK))恢復(CK)。然后客戶API306使用(CK)解密被加密的內(nèi)容以形成解密的數(shù)字內(nèi)容312。然后客戶應用302能按照在許可證中提供的權(quán)限使用解密的數(shù)字內(nèi)容312。
另外如下面詳述,如發(fā)表客戶那樣的客戶例如能發(fā)行使用許可證給它自己以消費該內(nèi)容。
現(xiàn)參考圖6A和6B,示出向受權(quán)限管理的數(shù)字內(nèi)容發(fā)許可證的方法。在步驟602,如DRM服務器320那樣的許可證發(fā)行實體接收包括公共密鑰證明或?qū)σ粋€或多個請求的領(lǐng)許可證的每一個的身份的許可證請求。估計是,若規(guī)定一身份,DRM服務器320能從目錄,數(shù)據(jù)庫等獲得相應的公共密鑰證明。若只對一個領(lǐng)許可證者請求許可證,只命名一個證明或身份。若對多個領(lǐng)許可證者請求許可證,能對每個潛在的領(lǐng)許可證者命令證明或身份。在步驟604,若需要,認證請求的實體(即作出許可證請求的實體)。在步驟606若需要時判斷,該實體是否允許請求許可證。
在步驟608,若發(fā)行實體判定,公共密鑰證明不包括在許可證請求中,則發(fā)行實體使用指定的身份實現(xiàn)在目錄服務或數(shù)據(jù)庫中對合適的公共密鑰證明的查找。在步驟610中,若發(fā)行實體判定,證明在目錄中,則在步驟612中檢索該證明。若對給定的潛在領(lǐng)許可證者在請求或目錄中不能找到證明,則對那個潛在的領(lǐng)許可證者許可證服務器不產(chǎn)生許可證,且在步驟614,向請求的實體返回一個錯誤信息。
假設(shè)DRM服務器320對至少一個潛在的領(lǐng)許可證者具有公共密鑰證明,則在步驟616,DRM服務器320驗證每個領(lǐng)許可證者證明的信任。若未能驗證,DRM服務器判定,領(lǐng)許可證者的證明的發(fā)行者不在信任的發(fā)行者表中,因而對那個領(lǐng)許可證者請求失敗,且在步驟614產(chǎn)生一個錯誤信息。因此,其證明不是由信任的發(fā)行者發(fā)行的任何潛在的領(lǐng)許可證者將不能接收許可證。
此外,DRM服務器320最好完成在從信任的發(fā)行者證明到單獨的領(lǐng)許可證者的公共密鑰證明的證明鏈中所有實體的數(shù)字簽名驗證。在一個鏈中驗證數(shù)字簽名的過程是眾知的算法。若對給定的潛在領(lǐng)許可證者的公共密鑰證明未被驗證,或在鏈中的證明未驗證,該潛在的領(lǐng)許可證者不是信任的,因而不向那個潛在領(lǐng)許可證者發(fā)行許可證。相反,在步驟618發(fā)行許可證。過程在步驟620重復,直到為其請求許可證的所有實體已被處理。
如圖6B所示,DRM320進行驗證在許可證請求中接收的簽署的權(quán)限標簽308。在一個實施例中,DRM服務器320具有每個在那里簽署的權(quán)限標簽的主拷貝。然后在許可證時間(步驟622),DRM服務器320能檢索主權(quán)限標簽的拷貝。主權(quán)限標簽能比在許可證請求中發(fā)出的權(quán)限標簽的拷貝更新,因而將是用于產(chǎn)生請求的許可證的權(quán)限標簽。若找不到主權(quán)限標簽在步驟624,DRM服務器按照預定的策略判斷,是否根據(jù)請求中的權(quán)限標簽發(fā)行一許可證。若策略不允許,在步驟626許可證請求失敗,在步驟628向API306返回一個錯誤信息。
在步驟630,DRM服務器320驗證SRL308,且特別是那里的數(shù)字簽名。若SRL308未驗證,在步驟626許可證請求失敗,且在步驟628向API306返回一個錯誤信息。
在發(fā)生所有驗證之后,DRM服務器根據(jù)SRL308對每個認可的許可證構(gòu)造一許可證。在步驟632,DRM服務器320對每個領(lǐng)許可證者產(chǎn)生對要發(fā)生的許可證的相應權(quán)限描述。對每個領(lǐng)許可證者,DRM服務器320針對在權(quán)利標簽的權(quán)限描述中命名的身份,估算在該領(lǐng)許可證者的公開密鑰證明中命名的身份。在步驟636,DRM服務器320從SRL308獲得(PU-DRM(DES1))和(DES1(CK)),并應用(PR-DRM)以獲得(CK)。然后發(fā)行實體使用從領(lǐng)許可證者的公開密鑰證明來的(PU-ENTITY),重新加密(CK)以得到(PU-ENTITY(CK))。在步驟638,DRM服務器320用(PU-ENTITY(CK)鏈接產(chǎn)生的權(quán)限描述,并使用(PR-DRM)數(shù)字簽名最終的數(shù)據(jù)結(jié)構(gòu)(即S(PR-DRM))。這樣,簽名的數(shù)據(jù)結(jié)構(gòu)成為對此特定領(lǐng)許可證者的許可證。
在步驟640,DRM服務器320判定,對特定的請求,沒有更多的許可證要產(chǎn)生。然后在步驟642,產(chǎn)生的許可證帶著合適的證明鏈返回給請求的實體,以及證明鏈將許可證往回連系到信任的機構(gòu)。
借助目錄發(fā)許可證當對保護的內(nèi)容發(fā)行許可證時,許可證發(fā)行實體(以后稱“發(fā)許可證者”)查詢從內(nèi)容發(fā)出的SRL308,以取定向哪個用戶/組/集群/分部/平臺等(以后稱為“實體”)提供權(quán)限和發(fā)送的證明,以識別許可證的請求者。據(jù)此,發(fā)許可證者判定在SRL308中列出的哪些權(quán)限被發(fā)信給請求者。在概念上,發(fā)許可證者調(diào)查在SRL308中列出的實體,并將那樣的實體與請求者比較。因此,若SRL308規(guī)定,特定組接收一許可證,且請求者是該組的成員,請求者被授予帶有對SRL308中的組列出的權(quán)限的許可證。類似地,若SRL308規(guī)定,特定的用戶接收一許可證且請求者是那樣的用戶,該請求者被授予帶有對SRL308中的那個用戶列出的權(quán)限的許可證??梢岳斫猓囟ǖ腟RL308能列出若干實體及其權(quán)限,且特定的請求者能根據(jù)是一個或多個實體的成員授予一許可證。
在本發(fā)明的一個實施例并如圖7所見,請求者在發(fā)送的證明1202中借助識別符1204識別,在那里識別符1204能是別名,在組織的目錄1206中請求者通過它被識別。因而,SRL308在其中按照那個識別符1204列出每個授以權(quán)限的實體。于是作為請求許可證1208的處理一部分,通常是DRM服務器320的發(fā)許可證者從證明1202獲得請求者的識別符1204,并將獲得的識別符1204與在發(fā)送的SRL308中列出的所有識別符1204比較。若找到匹配,發(fā)許可證者1210為請求者發(fā)行帶有在SRL308中對該請求者的識別符1204規(guī)定的權(quán)限的許可證1208。
此外,有了目錄1206的可用性,發(fā)許可證者1210在假定目錄1206保護反映在每個其它實體中的請求者的成員的狀態(tài)的前提下述判定,請求者是否在SRL308中列出的任何其它實體的成員。通常對每個請求者,目錄1206不僅列出其識別符1204,還列出該請求者作為其成員的每個組/集群/分部/平臺/其它實體等的識別符1208。注意,目錄1206能包括識別符1208如電子郵件地址,另外的郵件地址,ID,另外的ID,組成員,歷史的識別符等。
帶著從請求者接收其中的具有識別符1204的證明1202,帶著從該請求者接收的SRL308中的權(quán)限數(shù)據(jù),一般來說若除其它事情以外從目錄1206判斷,請求者是在SRL308中列出的任何實體的成員,則發(fā)許可證者1210發(fā)行許可證1208給請求者。若是,且假設(shè)對發(fā)許可證的所有其它條件均滿足,發(fā)許可證者1210向請求者發(fā)行許可證1208,它帶有對從SRL308獲得的列出的實體規(guī)定的權(quán)限和條件。
在本發(fā)明的一個實施例中,在SRL308中列出的實體代表在目錄1206中合適地表示的組或集群或某些個人的集合(以后稱為“組”)。那樣的組能包括電子郵件-使能的組,如分部表或電子郵件別名,或能結(jié)合網(wǎng)絡操作系統(tǒng)等確定的安全的組。
值得注意,按照組規(guī)定在SRL308中的權(quán)限并按照其組的成員向請求者發(fā)行的許可證1208實行在企業(yè)或組織機構(gòu)中的數(shù)字權(quán)限管理。例如,文檔或電子郵件能是DRM保護的,所以給定部門的所有成員有權(quán)閱讀文檔或電子郵件。假設(shè)對一個部門的組(如電子郵件的別名)存在于該組織的目錄1206之中(經(jīng)常是這樣),文檔或電子郵件的作者將根據(jù)組而不是根據(jù)個人授予權(quán)限。可以理解,那樣授以組范圍權(quán)限的優(yōu)點包括作者在規(guī)定具有各權(quán)限的個人等級方面使用方便。此外,通過按組規(guī)定權(quán)限,當新成員加入該組或老的成員離開該組時,規(guī)定的權(quán)限不會“過時”。相反,只要該組的成員在組織的目錄1206中保持最新,所有該組的當前成員能夠?qū)嵭惺乖摍?quán)限。
判定請求者是否為組的成員通常,目錄1206是對組織或其一部分感興趣的有用信息的倉庫。尤其是,目錄1206保存有關(guān)在組織中每個用戶的若干重要信息段,包括用戶為其中成員的每個組。實際上,對一個用戶的成員至少部分地借助在目錄1206中按用戶的列出予以確定。
注意,在組織是特別大或者需要的情況,那里的計算能以某種邏輯方式劃分成多個分部或“區(qū)域”。例如每個區(qū)域能是根據(jù)地域的,例如若該組織有一個辦公室在Wilkes-Barre Pennsylvania,而另一個辦公室在Boynton Beach,F(xiàn)lorida,在那樣情況每個辦公室?guī)в胁煌瑓^(qū)域。另選地,例如每個區(qū)域能是根據(jù)功能的,例如若該組織具有會計部門和生產(chǎn)部門,在那樣情況每個部門帶有不同的區(qū)域。當然,區(qū)域能按任何其它準則定義而不背離本發(fā)明的精神和范圍。
重要的是,每個區(qū)域具有其自己的目錄1206或目錄組1206(后面稱為“目錄1206”),且每個區(qū)域至少具有一個DRM服務器320。現(xiàn)參考圖8,對一個組織示出兩個區(qū)域,區(qū)域A和區(qū)域B,其中區(qū)域A具有目錄A和DRM服務器A,區(qū)域B具有目錄B和DRM服務器B。能夠理解,每個區(qū)域的作用好象是受保護的飛地,其中配備相應的目錄和DRM服務器。因此,至少從安全的觀點,區(qū)域A中的DRMA應相對容易地訪問目錄A中的信息,而也從安全的觀點,區(qū)域B中的DRM服務器B幾乎也能相對容易地訪問在區(qū)域A中目錄A的信息??墒亲⒁獾剑哂谢ゲ僮餍枰亩鄠€區(qū)域通常在它們之間復制信息,能可選地在它們之間建立直接的信任關(guān)系。
在區(qū)域中的組成員判斷暫時假設(shè),組織的整體由圖8的區(qū)域A表示,而圖8的區(qū)域B不存在,可以理解,區(qū)域A的目錄A保存有關(guān)該組織的所有目錄信息,包括所有用戶和那些用戶所屬的組。這里注意到,那樣的組實際上能包括多個層次的組。因此如圖9所見,能有這樣的情況,組1具有組2和組3作為直接的成員,而組3具有用戶1作為直接成員。在那樣情況,用戶1是組3的直接成員,組1的間接成員,而不是組2的成員。然后能理解,若SRL308列出對組1或組3的權(quán)限,假設(shè)所有其它條件滿足用戶1能獲得基于那些權(quán)限的許可證1208,而若SRL308只列出對組2的成員的權(quán)限,用戶1不能獲得那樣的許可證1208。更普遍地,作為SRL308中命名的組的直接或間接的成員的用戶能獲得帶有授予那個組的權(quán)限和條件的許可證1208。
如圖10所見,示出對組1到3和用戶1的每一個在目錄A中的記錄對象/記錄。注意,通常每個記錄是以對相應的實體列出的形式,它包括所有實體的直接成員,假設(shè)實體是組,還包括該實體具有的所有直接的成員資格,而不管該實體是一用戶或任何組的子組。因此,組1具有組2和組3作為直接成員,且不是任何其它組的直接成員,組2沒有成員是組1的直接成員,組3具有用戶1作為直接成員,且是組1的直接成員,而用戶1作為用戶沒有成員,但是組3的直接成員。當然,在圖9和10中示出的目錄A是過分簡單化的,因而實際上看來大得多,且?guī)в性S多用戶和組。然而,示出的目錄A適合于描述本發(fā)明的目的。
在用戶1向DRM服務器A提交SRL308的過程中提交的SRL308列出一個和多個組以及它們的權(quán)限,然后DRM服務器A至少部分地通過參考目錄A判定用戶是否為SRL308中列出的任何組的直接或間接成員來決定是否向用戶1發(fā)行許可證1208??梢岳斫?,那樣的判定能以兩個普通方式之一完成-從列出的組到用戶,或從用戶到列出的組。
通常完成從組到用戶的判定是更為直接的過程,但因為組能具有許多成員,看來要花費相當大量時間來審查所有找到的用戶以判定是否存在匹配。通常完成從用戶到組的判定是不那么直接的過程,但因為一用戶一般不是太多組的成員,看來需要花費相當少量的時間來審查所有找到的組以判定是否存在匹配。在任何情況至少從經(jīng)驗上發(fā)現(xiàn),完成從用戶到組的判定是更經(jīng)濟且總的說來是希望的。
仍然參考圖9和10,并現(xiàn)在還參考圖12,為了作出關(guān)于用戶1是否組1的成員的組成員判定,DRM服務器A如下進行。首先,DRM服務器A詢問目錄A是否存在組1(步驟1201)??梢岳斫猓魧δ菢釉儐柕捻憫境鼋M1不存在,因為用戶1不能是不存在的組的成員,過程完成(步驟1203)。因此,盡管判斷是從用戶到組的完成的,詢問該組是否存在的預先步驟被完成,以避免完成任何不必要的附加步驟。
當然,如圖所示,組1確定存在,所以響應實際上是yes。因此,DRM服務器A詢問目錄A,用戶1是其成員的所有組,且目錄A返回用戶1是組3的成員的信息(步驟1205,1207)。當然,組3不是組1,所以DRM服務器A尚未判定用戶1是否組1的成員(步驟1209)。然而,若通過用戶1是組3的直接成員而組3是組1的直接或間接成員,發(fā)現(xiàn)用戶1是組1的間接成員,則DRM服務器A需繼續(xù)。
于是DRM服務器A繼續(xù)詢問目錄A組3為其成員的所有組,且目錄A返回組3是組1的成員的信息(步驟1211,1213)。結(jié)果,DRM服務器A判定用戶1的由于是組3的成員,實際上是組1的間接成員(步驟1215)。
現(xiàn)能理解,DRM服務器A必須經(jīng)過很多組和很多次疊代循環(huán)查詢,最終判定用戶1實際上是組1的成員。相反,若情況是用戶1實際上不是組1的成員,在最終判定用戶1不是組1的成員之前,DRM服務器A必須對用戶1經(jīng)過所以可能的直接和間接的組成員資格的全體查詢。下面更詳細描述,因為那樣的查詢很花費并需連續(xù)地完成,那樣調(diào)查的結(jié)果能存入一個或多個高速緩存器。
經(jīng)過諸區(qū)域的組成員判定當一個組織具有多個配置的區(qū)域,且需要可跨越區(qū)域得到用戶和組成員資格的信息時,沒有直接的方法關(guān)于特定組判定一個用戶的組成員資格,尤其是查詢DRM服務器320處于在其目錄中不本地持有需要的信息的區(qū)域中的情況。取代地,DRM服務器320必須查詢確實本地持有那個信息的其它區(qū)域。
尤其特別重要的是那樣情況,其中請求如圖8的DRM服務器A那樣的DRM服務器320根據(jù)列出一個組的SRL308向一用戶發(fā)行許可證,其中該組對DRM服務器A駐留的區(qū)域A不是本地的。替代地,那個組對區(qū)域B是本地的,因而在區(qū)域B的目錄B中有記錄。結(jié)果,必須關(guān)于區(qū)域B的目錄B作出關(guān)于所討論的用戶是否所討論的組的成員的組成員資格判定,因為那個目錄B具有對所討論的組的帶有該組的組信息的記錄。
然而,重要的是,區(qū)域A的DRM服務器A通常不能直接查詢區(qū)域B的目錄B,以獲得真實的目錄信息,因為越區(qū)域詢問通常出于安全考慮受限止,或受保護。在本發(fā)明的一個實施例中,替代地,DRM服務器A請求區(qū)域B的DRM服務器B直接查詢區(qū)域B的目錄B,并用查詢的結(jié)果向DRM服務器A稟報。注意,DRM服務器B對目錄B的查詢不是越區(qū)域詢問,因而不受限止。
然而,必須理解,DRM服務器A在請求DRM服務器B進行查詢之前必須確定知道,因為所討論的組對區(qū)域B是本地的,DRM服務器B實際上是完成此查詢合適的DRM服務器320。簡單地說,DRM服務器A在請求DRM服務器B查詢目錄B之前必須知道,討論的組對區(qū)域B是本地的。然而,DRM服務器A只能查詢目錄A,因而不知道所討論的組的本地區(qū)域,除非目錄A具有那樣的信息。
因而在本發(fā)明的一個實施例中,如圖8所見,目錄A確實具有那樣的信息。尤其是目錄A具有所討論組的指針對象,將任何有關(guān)所討論的組的查詢實體引向區(qū)域B。例如,那樣的指針對象能包括區(qū)域B的地址,此地址在DRM服務器A請求有關(guān)所討論的組的信息時返回給查詢的DRM服務器A。預計,區(qū)域B的目錄B具有對所討論的組的記錄對象。因此,DRM服務器A利用該地址尋找區(qū)域B并由此繼續(xù)進行。
在本發(fā)明的一個實施例中,區(qū)域B的地址特定是區(qū)域B中目錄B的地址。然后DRM服務器A據(jù)此用那個地址與目錄B接觸。然而,因為DRM服務器A在區(qū)域A中,目錄B在區(qū)域B中,且如上提到,目錄B正常地不越界向DRM服務器A提供任何實質(zhì)信息。然而目錄B能向DRM服務器提供DRM服務器B的地址。
因而,在本發(fā)明的一個實施例中,DRM服務器A從目錄B接收DRM服務器B的地址,并據(jù)此請求DRM服務器B為DRM服務器A查詢目錄B。尤其是,DRM服務器A請求DRM服務器B查詢目錄B,所討論的用戶是否為所討論的組的成員,并向DRM服務器A返回答案。預計那樣的請求包括某種將DRM服務器A識別成DRM整體中的DRM服務器320,例如使得帶證明鏈的識別證明回溯到由DRM服務器B識別的可信的原始機構(gòu)。因而,只有當識別證明被驗證時,DRM服務器B為DRM服務器A執(zhí)行查詢目錄B。
假設(shè)DRM服務器B確實以上面參考圖12列出的方式執(zhí)行為DRM服務器A查詢目錄B,DRM服務器B最終判定所討論的用戶是否為所討論的組的成員,并返回那樣的信息到DRM服務器A,作為對那里來的請求的響應。
注意,當DRM服務器B查問目錄,所討論的用戶是否為所討論的組的成員時,所討論的用戶必須在目錄B中被表示,若不通過記錄對象至少要通過指針對象。而且,那樣的指針對象必須包括有關(guān)用戶為其成員的每個組的信息,尤其是因為當組成員資格信息是如上所述地從用戶到組的方法確定時,要參考那樣有關(guān)成員的信息。
現(xiàn)參考圖13作概要重述,DRM服務器A和代表DRM服務器A的DRM服務器B完成下列步驟以確定跨越區(qū)域的組成員資格首先,DRM服務器A從用戶接收對使用對應于一段內(nèi)容的許可證1208的請求(1301)。請求包括識別該用戶的證明和與該內(nèi)容相關(guān)的SRL308。在響應中假設(shè)SRL308識別其中一個組并還假設(shè)未出現(xiàn)合適的高速緩存的信息,DRM服務器A查詢目錄A以返回對識別的組的任何對象(步驟1303)。出現(xiàn)的情況假設(shè),該組對區(qū)域B是本地的,所以該組在目錄A中實際上表示成指向區(qū)域B的指針對象,且DRM服務器A從目錄A接收指向區(qū)域B的指針對象,因此表明該組對區(qū)域B是本地的(步驟1304),并從收到的指針對象檢索區(qū)域B的地址(步驟1305)。
然后,DRM服務器A利用檢索到的地址查詢在區(qū)域B中的目錄B關(guān)于DRM服務器B的地址,而作為響應目錄B返回那個地址到DRM服務器A(步驟1307,1308)。得到DRM服務器B的地址的特定機制是眾知的,或?qū)τ嘘P(guān)公眾是明白的,因此不必在此詳細討論。于是能利用任何適合的機制而不背離本發(fā)明的精神和范圍。
然后DRM服務器A用DRM服務器B的地址請求DRM服務器B查詢目錄B,該用戶是否為該組的成員(步驟1311)。由DRM服務器A利用將請求提交給DRM服務器B的特定機制又是眾知且對有關(guān)公眾是明白的,因此不必在此詳細討論。因此,能利用任何的機制而不背離本發(fā)明的精神和范圍。
再次假設(shè)未出現(xiàn)合適的高速緩存信息,用DRM服務器A,DRM服務器B查詢目錄B以返回任何對識別的組的對象(步驟1313)?,F(xiàn)在的情況假設(shè)該組對區(qū)域B是本地的,所以該組在目錄B中實際中表示成記錄對象,且DRM服務器B從目錄B接收該記錄對象,因此表明該組對區(qū)域B是本地的(步驟1315)。注意,DRM服務器B此時能審查在接收的對象中列出的組的成員,以判定該用戶是否為該組的直接成員(步驟1317)。若是,判斷是肯定的,DRM服務器B向DRM服務器A報告是肯定的(步驟1319)。若否,DRM服務器B查詢目錄B以返回對該用戶的任何對象,并從而通過以類似于結(jié)合圖12示出的方式,試圖從用戶到現(xiàn)在目錄B中搜遍來進行判斷,該用戶是否為該組的成員(步驟1323)。在結(jié)束試圖的搜索以后,DRM服務器B將判斷在該用戶和該組之間是否存在關(guān)系,并將其報告給DRM服務器A(步驟1325)。
當然,根據(jù)那樣判斷,DRM服務器A決定是否承諾從該用戶在步驟1301接收的請求(步驟1327)。能夠理解,若該用戶不是該組的成員,請求被拒絕,當然除非發(fā)現(xiàn)該用戶是在接收的SRL308中識別的另外組的成員。類似地,若用戶是該組的成員,請求被承諾,前提是對那個承諾的所有其它條件被滿足。
借助高速緩存信息判定用戶的組的成員資格如上描述,在根據(jù)SRL308向用戶發(fā)行許可證的過程中,DRM服務器320能通過參考在DRM服務器320的區(qū)域或在其它區(qū)域中的目錄判斷,該用戶是否為在SRL308中識別的組的成員。然而可以理解,參考目錄1206每次作出判斷是很大花費且很麻煩的,尤其在附加的網(wǎng)絡通信量以及必須由目錄1206完成的工作方面,以及尤其是作判斷次數(shù)變得相當高時,更是如此。
因而在本發(fā)明的一個實施例中,從一個或多個目錄1206導出的用戶-組信息在DRM服務器320可訪問的一個或多個位置上高速緩存,此外在本發(fā)明的一個實施例中,DRM服務器320在工作用戶-組判斷使用最低代價優(yōu)先(lowest-cost-first)算法,在參考目錄1206之前以最低代價到最高代價的次序?qū)彶槎鄠€高速緩存位置。因此,較高代價的操作盡可能推遲,判斷速度加快,網(wǎng)絡通訊量減少。
高速緩存用戶-組信息在如結(jié)合圖12揭示的從目錄1206判斷用戶是否為組的成員的過程中,DRN服務器320至少潛在地位于該用戶成為其直接或間接成員的某些其它組。注意,因為一旦成員資格路徑實際上被找到,搜索停止,看來不是找到用戶的所有組。例如,若在檢查對所討論的組的記錄對象時發(fā)現(xiàn),用戶是該組的直接成員,則不再尋找該用戶是其直接或間接用戶的其它組。類似度,若必須從用戶到組搜索以試圖尋找其間的成員資格路徑,則至少找到該用戶是其直接成員的組,但某些間接組可能未找到,因為成員資格路徑事先被找到。然而在本發(fā)明的一個實施例中,DRM服務器320將用戶及其所有直接或間接組資格的知識存入一個或多個高速緩存,用于未來必須的參考。
現(xiàn)參考圖14,看到高速緩存1404的多個實體1402,尤其是從高速緩存1404的一個項1402看到,對用戶3,發(fā)現(xiàn)該用戶3直接或間接地是組4,6和7的成員,而組4是組6和7的成員。類似地,從高速緩存1404中的另外項1402看出,對用戶4,發(fā)現(xiàn)用戶4只是組8的成員。用戶3和4以及組4是否該組的直接或間接成員認為是非本質(zhì)的,因而不予描述,雖然那些信息若發(fā)現(xiàn)是必要或有用的能予以描述。重要的是對用戶/組的所有組成員資格被高速緩存,因為任何特定的用戶-組關(guān)系在晚些時候?qū)ο嗤虿煌挠脩?組建立用戶-組關(guān)系時是有用的。
可以理解,高速緩存1404中從目錄1206獲得的信息在一段時間后會變成“過時的”。這是因為隨時間推移用戶能被從目錄1206刪除,附加的組和組成員資格能被定義等,而高速緩存1404尚未自動更新以反映那樣改變的信息。因此從圖14看到,高速緩存1404的每個項1402包括創(chuàng)建時間。然后根據(jù)此創(chuàng)建時間,任何查詢高速緩存1404的查詢實體能決定,該項1404是否太老,以至難以信賴。此外或另選地,高速緩存1404能自己刪除那些根據(jù)創(chuàng)建時間認為太老的每個項1402。
現(xiàn)參考圖15和16,可以看到圖14的高速緩存1404能以若干配置實現(xiàn)。在一個配置中,在一個區(qū)域中的每個許可證發(fā)行DRM服務器320具有相當基本的輕型的存儲器中的高速緩存1404,而該區(qū)域還具有帶著相當擴展的重型的存儲器中的高速緩存的專用高速緩存服務器1502(圖15)。此外,專用的高速緩存服務器1502能利用數(shù)據(jù)庫高速緩存1404,和/或在目錄1206上為許可證發(fā)行DRM服務器320完成查詢。
在另外的配置中,在一個區(qū)域中每個許可證發(fā)行DRM服務器320具有高速緩存1404,它是相當擴展的重型的存儲器中高速緩存(圖16),并完成在目錄1206上的查詢。不出現(xiàn)專用的高速緩存服務器1502,雖然數(shù)據(jù)庫高速緩存能在該區(qū)域中的所有許可證發(fā)行DRM服務器320中間共享。在任何配置中,每個基本的高速緩存1404只具有用戶信息,而每個擴展的高速緩存1404具有用戶和組信息。
最低代價優(yōu)先算法不管高速緩存1404的配置,尋求判斷用戶是否為組的成員的DRM服務器320利用本發(fā)明的最低代價優(yōu)先的算法,以最低代價到最高代價的次序搜索高速緩存1404和目錄1206。假定,與DRM服務器320相關(guān)的高速緩存1404具有與其相關(guān)的最低代價,與專門的高速緩存服務器1502和數(shù)據(jù)庫高速緩存1404相關(guān)的高速緩存1404具有與其相關(guān)的較高的代價,且目錄1206具有與其相關(guān)的最高代價。當然,代價是主觀上的,在任何速率特定的實體能具有任何特定的代價而不背離本發(fā)明的精神和范圍。
現(xiàn)參考圖17A和17B,可以看到,該算法的主要特征是在所有認為具有較低代價的操作用盡之前不嘗試認為具有較高代價的操作。通常,按增加代價的次序,操作在發(fā)許可證的DRM服務器320的存儲器中高速緩存1404中查找,在數(shù)據(jù)庫高速緩存1404或?qū)S玫母咚倬彺娣掌鞯母咚倬彺?404中查找,并在AD中查找。在實現(xiàn)算法時,提交一個用戶以及一個或多個目標組,作出用戶是否為任何目標組的直接或間接的成員的判斷。本質(zhì)上,算法借助從高速緩存和目錄1206來的所有具備的成員資格信息,從用戶到任何目標組搜索,在完成較高代價的操作之前總是完成較低代價的操作。若用戶是目標組之一的成員,算法返回結(jié)果“yes”,若用戶不是任何目標組的成員返回結(jié)果“No”,若用戶不在目錄1206中返回“user not found-用戶未找到”,若在目錄1206中找不到目標組,返回“notarget group are found-找不到目標組”。
如圖17A中所見,過程通過定義所討論的用戶和一個或多個目標組開始(步驟1701)?,F(xiàn)在假設(shè)DRM服務器320具有本地的高速緩存1404并具對遠程高速緩存1404(可以是專用高速緩存服務器1502或數(shù)據(jù)庫高速緩存1404)和目錄1206的訪問,由許可證發(fā)行的DRM服務器320使用的算法利用一系列的儲存室(bin)和隊列,包括·目標儲存室(T),其中駐留一個或多個目標組;·驗證的目標儲存室(V),其中駐留經(jīng)驗證的一個或多個目標組;·搜索儲存室(S),其中駐留等待被搜索的組;·本地隊列(Q1),其中駐留在本地高速混存1404中待搜索的組;·遠程隊列(Q2),其中駐留在遠程高速緩存1404中待搜索的組;·目錄隊列(Q3),其中駐留在目錄1206中待搜索的組;和·舍棄的儲存室(D),其中駐留已經(jīng)處理的組。
因此,算法的進行是通過驗證一個或多個(目標組或各組,通過對目標儲存室中的每個目標組搜索以尋找對目標組的記錄或項1402。因為基本上關(guān)于每個存儲設(shè)備完成相同的過程(S1,對應于本地高速緩存1404;S2,對應于遠程高速緩存1404;S3對應于目錄1206),那樣的過程只需要參照普通存儲Sx描述。
尤其是,算法首先注視S1,本地高速緩存1404,且對目標儲存室(T),中的每個目標組,若該目標組作為在本地高速緩存中的項1402被找到,則該目標組從(T)中刪除,且該目標組被放在驗證的目標儲存(V),而它的項1402被放在任何較低層高速緩存1404,這在此范例中不存在(步驟1703)。隨后算法對于S2(遠程高速緩存)重復步驟1703,且對仍留在(T)中的每個目錄組,若該目錄組作為在遠程高速緩存1404中的項被找到,則從(T)刪除該目錄組,且該目標組被放入(V),而它的項1402被放入任何較低層高速緩沖1404,這在此范例中是本地高速緩存1404。最后,算法對于S3,目錄1206再次重復步驟1703,且對仍留在(T)中的每個目標組,若該目標組作為在目錄1206中的記錄被找到,則從(T)中刪除該目標組,且目標組被放入(V),而它的項1402放在任何較低層高速緩存1404,這在此范例中是本地和遠程高速緩存1404。
在對每個存儲設(shè)備完成步驟1703之后,驗證的目標儲存室(V)應包含所有被發(fā)現(xiàn)存在于高速緩存1404或目錄1206之中的目標組。留在目錄儲存室中的所具有目標組能認為是壞的或不再存在,因而能忽略。若(V)是空的情況,算法結(jié)束,因為不存在被驗證的目標組,而算法返回“找不到目標組”的信息(步驟1705)。應該注意,通過將一個記錄或項1402從目錄或遠程高速緩存1404拷貝到所有較低層的高速緩存1404,那些較低層高速緩存1404成為裝載高速緩存信息,它們能被用于未來判定,一個用戶是否為一個組的成員。
隨后,假設(shè)在(V)中至少存在一個被驗證的目標組,算法驗證該用戶。尤其是,算法首先通過考察Si,本地高速緩沖1404,然后考察S2,遠程高速緩沖1404,然后考察S3,目錄搜索對所討論的用戶的記錄或項(步驟1709)。在步驟1709的任何疊代中找到對該用戶的記錄或項1402(以后稱為“項”)之后,算法將該用戶成為其成員的每個組放到搜索儲存室(S)(步驟1711),并此外用對該用戶的一個項1402填入所有較低層的高速緩沖1404(步驟1713)。注意,若從任何步驟1709的疊代未找到對該用戶的項,因為不存在被驗證的用戶算法結(jié)束,且算法返回“用戶未找到”(步驟1715)。
可以理解,步驟1709是以可以想象的次序疊代,對應于從最低代價的操作到最高代價的操作,在這里的情況,按照S1,再S2,再S3。因此,一旦用戶被驗證,較高代價的操作被避免。注意,用戶可以在一個或多個目標組之前確認而不背離本發(fā)明的精神和范圍。
假設(shè)找到一個被驗證的用戶,他是如由(S)中的組表示的至少一個組的成員,且至少找到一個驗證的目標組,如由(V)中對應的項表示,現(xiàn)參考圖17B,算法通過從(S)和(V)判定在(S)中的任何組是否匹配在(V)中的任何組(即驗證的一個或多個目標組)而繼續(xù)(步驟1723)。若確實找到(S)中的一個組匹配(V)中的一項,算法以匹配終止,算法返回“yes”(步驟1725)。否則,算法通過將(S)中的所有組傳送到本地隊列(Q1)而繼續(xù)(步驟1727)。
隨后,算法完成疊代過程以搜索從用戶到任何目標組的成員資格路徑。疊代過程需要在本地和遠程高速緩存1404及目錄1206中的多重搜索以確定組的成員資格。因為關(guān)于每個隊列(Q1對應于本地高速緩存1404;Q2對應于遠程高速緩存1404;Q3對應于目錄1206)基本上完成相同的過程,那樣的過程只需要參考一般的(Qx)和一般的Sx描述,如圖17B所示,其中S1是本地高速緩存1404;S2是遠程高速緩存1404;S3是目錄1206。
尤其是,現(xiàn)在假設(shè)在圖17B中的(Qx)和Sx是(Q1)和S1,本地高速緩存1404,首先作出判斷,(Q1)是否空(步驟1729)。當然,(Q1)開始應該不空,但因為過程是疊代的,可能達到(Q1)開始確實是空的點。假設(shè)(Q1)開始不空,且具有一個組,選中該組并從(Q1)中刪除,且判斷該組是否已在舍棄儲存室(D)中(步驟1731)。當然開始時,被選中并從(Q1)中刪除的組不在(D)中,因為該組尚未被處理,但當過程疊代時,其它組能放入(Q1),多半包括已被處理的組,且當每個組被處理時,它確實被傳送到(D)。
若選中并從(Q1)中刪除的組已被處理并在(D)中,算法回到步驟(1729),在那里再次判斷,(Q1)是否空。然而若選中并從(Q1)中刪除的組已被處理并因而不在(D)中,算法繼續(xù),對于在對應(Q1)的高速緩存1404或目錄(現(xiàn)在情況是本地高速緩存1404)中的選定的組搜索一個項1402(步驟1733)。
若在本地高速緩存1404對選定的組找不到那樣的項1402,過程繼續(xù),將該組從(Q1)傳送到遠程隊列(Q2)(步驟1735),然后回到步驟(1729),再次判斷(Q1)是否空。然而,如果在本地高速緩存1404中找到對選定的組的那個項1402,算法將每個新發(fā)現(xiàn)的組(選定組是其成員)放到搜索儲存室(S),并將選定的組傳送到舍棄的儲存室(D)(步驟1739),并此外將對應于選定組的項1402填入所有較低層的高速緩存1404(步驟1737)。當然應注意,關(guān)于(Q1)和本地高速緩存1404,不存在較低層的高速緩促1404。然后,算法返回到步驟1723,在那里判斷是否在(S)中的任何組(即新發(fā)現(xiàn)的組)匹配在(V)中的任何組(即驗證的一個或多個目標組)。當然若確實找到(S)中的一個組匹配(V)中的一個項,算法帶著匹配終止,在步驟1725中算法返回“yes”。否則,算法繼續(xù),在步驟1727將所有S中的組傳送到本地隊列(Q1),且算法繼續(xù)。
這樣做,通過(Q1)算法在可能用本地高速緩存1404的范圍內(nèi)開辟了從用戶倒任何驗證的目標組所有可能的路徑?,F(xiàn)能理解,假設(shè)找不到匹配,(Q1)用過程疊代時更加新發(fā)現(xiàn)的組填入,且直到(Q1)中的所有組借助本地高速緩存被處理到舍棄儲存室(D)或到通過遠程高速緩存1404處理的(Q2),(Q1)變空,因此被認為最為花費的在遠程高速緩存1404的操作在所有在本地高速緩存1404的可能操作做完以前不發(fā)生,而當在步驟1729發(fā)現(xiàn)(Q1)是空時才發(fā)生。
事實上當在步驟1729發(fā)現(xiàn)(Q1)是空時,處理才以類似于有關(guān)(Q1)發(fā)生的方式參考遠程隊列(Q2)。尤其是現(xiàn)在假設(shè),圖17B中的(Qx)和Sx是(Q2)和S2(遠程高速緩存1404),首先作出判斷,(Q2)是否為空(步驟1729)。這里(Q2)開始看來不空,雖然在本地隊列1404能自己處理從(Q1)來的所有組的情況,那樣的事件會發(fā)生。假設(shè)(Q2)開始非空,而具有一個組,該組被選中并從(Q2)中刪除,且判斷那樣的組是否由于已被處理而已經(jīng)在舍棄儲存室(D)中(步驟1731)。
若選中并從(Q2)中刪除的組已被處理并因而在(D)中,算法返回到步驟(1729),在那里再次判斷(Q2)是否空。然而,若選中且從(Q2)中刪除的組未被處理,因而不在(D)中,算法繼續(xù),在高速緩存1404或?qū)谠诖饲闆r為遠程高速緩存1404的(Q2)的目錄1206中搜索對選中的組的一個項1402(步驟1733)。
若在遠程高速緩存1404中找不到對選中的組的那樣項1402,過程繼續(xù),將該組從(Q2)傳送到目錄隊列(Q3)(步驟1735),并隨后回到步驟(1729),在那里再次判斷(Q2)是否為空。然而,若在遠程高速緩存1404中找到對選中的組的那個項1402,算法將每個新發(fā)現(xiàn)的組(選中的組是其成員)放到搜索儲存室(S)并將選中的組傳送到舍棄儲存室(D)(步驟1739),并此外將對應于選中組的項1402填入所有較低層的高速緩存1404(步驟1737)。當然應注意,對于(Q2)和遠程高速緩存1404,只有本地高速緩存1404需要被填入。然后算法返回到步驟1723,在那里判斷,是否(S)中的任何組(即新發(fā)現(xiàn)的組)匹配在(V)中的任何組(即驗證的一個或多個目標組)。當然若確實找到(S)中的一個組匹配(V)中的一項,算法帶著匹配終止,在步驟1725算法返回“yes”。否則算法繼續(xù),在步驟1727將所有S中的組傳送到本地隊列(Q1),且算法繼續(xù),(Q1)被處理。
這樣做,通過(Q2)算法在可能用遠程高速緩存1404的范圍開辟了從用戶到任何驗證的目標組所有可能的路徑?,F(xiàn)能理解,假設(shè)找不到匹配,(Q2)用過程疊代時更加新發(fā)現(xiàn)的組填入,且直到(Q2)中的所有組借助遠程高速緩存1404被處理到舍棄儲存室(D)或到通過目錄1404處理的(Q3),(Q2)變空。因此被認為更加花費的在目錄1206的操作在所有在遠程高速緩存1404的可能操作做完之前不發(fā)生,而當(Q2)是空時才發(fā)生。
重要的是,借助(Q2)和遠程高速緩存1404新發(fā)現(xiàn)的任何組首先借助(Q1)和本地高速緩存1404處理。因此在本地高速緩存1404的所有可能的操作做完之前,認為更花費的在遠程高速緩存1404的操作對于新發(fā)現(xiàn)的組不發(fā)生,當(Q1)變空時才發(fā)生。
事實上當在步驟1729發(fā)現(xiàn)(Q2)是空時,處理才以類似于有關(guān)(Q1)和(Q2)發(fā)生的方式參考目錄隊列(Q3)。尤其是現(xiàn)在假設(shè),圖17B中的(Qx)和Sx是(Q3)和S3(目錄1206),首先作出判斷,(Q3)是否為空(步驟1729)。這里(Q3)開始看來不是空,雖然在本地和遠程隊列1404能自己能處理從(Q1)和(Q2)來的所有組的情況,那樣的事件會發(fā)生。假設(shè)(Q3)開始非空,而具有一個組,該組被選中并從(Q3)中刪除,且判斷那樣的組是否由于已被處理而已經(jīng)在舍棄儲存室(D)中(步驟1731)。
如果選中并從(Q3)刪除的組已被處理并因而在(D)中,算法返回到步驟(1729),在那里再次判斷(Q3)是否空。然而若選中并從(Q3)中刪除的組尚未被處理,因而不在(D)中,算法繼續(xù),在高速緩存1404或?qū)谠诖饲闆r為目錄1206的(Q3)的目錄1206中搜索對選中的組的一個項1402(步驟1733)。
若在目錄1206中找不到對選中的組的那樣項1402,過程繼續(xù),將該組移出(Q3)到(D)(步驟1735),并隨后回到步驟(1729),在那里再次判斷(Q3)是否空。注意,因為在(Q3)之后沒有下一個隊列,選中的組不能進一步處理。然而,若在遠程高速緩存1404中找到對選中的組的那個項1402,算法將每個新發(fā)現(xiàn)的組(選中的組是其成員)放到搜索儲存室(S),并將選中的組傳送到舍棄儲存室(D)(步驟1739),并此外將對應于選中組的項1402填入所有較低層的高速緩存1404(步驟1737)。當然應注意,對于(Q3)和目錄1206,本地和遠程高速緩存1404需要如此填入。然后算法返回到步驟1723。在那里判斷,是否(S)中的任何組(即新發(fā)現(xiàn)的組)匹配在(V)中的任何組(即驗證的一個或多個目標組)。當然若確實找到(S)中的一個組匹配(V)中的一項,算法帶著匹配終止,在步驟1725算法返回“yes”。否則算法繼續(xù),在步驟1727將S中的所有組傳送到本地隊列(Q1),且算法繼續(xù),(Q1)被處理。
這樣做,通過(Q3),算法在可以用目標1206的范圍開辟了從用戶到任何驗證的目標組所有可能的路徑?,F(xiàn)能理解,假設(shè)找不到匹配,(Q3)用過程疊代時更加新發(fā)現(xiàn)的組填入,且直到(Q3)在的所有組借助目錄1206被處理到舍棄儲存室(D),(Q3)變空。
重要的是,任何借助(Q3)和目錄1206新發(fā)現(xiàn)的任何組首先借助(Q1)和本地高速緩存1404處理。因此在本地和遠程高速緩存1404的所有可能的操作做完之前,認為更花費的在目錄1206的操作對于新發(fā)現(xiàn)的組不發(fā)生,當(Q1)和(Q2)變空時才發(fā)生。
事實上當在步驟1729發(fā)現(xiàn)(Q3)是空時,過程不再進行,因為在此特定情況沒有(Q4),因而過程完成。尤其是算法不帶匹配地結(jié)束,且算法返回“No”(步驟1741)。
現(xiàn)應理解,本發(fā)明的算法設(shè)計成在完成任何較高代價操作之前首先完成最低代價的操作??梢岳斫?,通過定義類似數(shù)目的隊列,借助三層存儲(即本地和遠程高速緩存1404和目錄1206)揭示的算法能替代地應用到任何其它數(shù)目的存儲器層,包括2,4,5,6,7等。因而本發(fā)明的算法能應用到高速緩存的用戶一組信息的任何多層存儲器安排而不背離本發(fā)明的精神和范圍。
結(jié)論為實施結(jié)合本發(fā)明完成的過程所必須的編程是相當直接的且對有關(guān)的編程公眾是明白的。因而那樣的編程不附于此。然而任何特定的編程能使用來實施本發(fā)明而不背離其精神和范圍。
在本發(fā)明中,數(shù)字權(quán)限管理(DRM)和實施的體系結(jié)構(gòu)及方法允許任何形式的數(shù)字內(nèi)容受控的演示或放映。該體系結(jié)構(gòu)允許并方便了那樣的受控演示,尤其在文檔在確定組的人員或確定級別人員之間共享的辦公室或組織的環(huán)境中。那樣的體系結(jié)構(gòu)允許越過區(qū)域獲得內(nèi)容的許可證。
應該理解,對上述實施例能作為各種改變而不背離發(fā)明的概念。例如,雖然本發(fā)明的說明描述了判斷從用戶到組的組的成員資格,那樣的判斷能另作改變成從組到用戶而不背離本發(fā)明的精神和范圍。然而可以理解,本發(fā)明不限于所揭示的特定的實施例,而試圖復蓋在由附后的權(quán)利要求所定義的本發(fā)明的精神和范圍內(nèi)的各種修改。
權(quán)利要求
1.一種用于判斷來自一個組織的用戶是否為在該組織中預定的組的成員的方法,該組織包含計算機網(wǎng)絡,網(wǎng)絡至少包括區(qū)域A和區(qū)域B,區(qū)域A具有目錄A和能查詢目錄A的查詢實體A,區(qū)域B具有目錄B和能查詢目錄B的查詢實體B,該方法包括查詢實體A從用戶接收請求,查詢實體A至少部分地根據(jù)用戶是該組的成員決定是否準許該請求;查詢實體A查詢區(qū)域A的目錄A以返回關(guān)于該組的信息并在應答中導向區(qū)域B;查詢實體A接觸區(qū)域B的查詢實體B并請求查詢實體B詢問目錄B,該用戶是否該組的成員;查詢實體A接收來自詢問查詢問實體B的答復,該用戶實際上是否該組的成員;和查詢實體A至少部分地根據(jù)用戶是否該組的成員準許來自該用戶的請求。
2.如權(quán)利要求1所述的方法,其特征在于,包括查詢實體A查詢問區(qū)域A的目錄A以返回對該組的任何對象,該組對區(qū)域B是本地的,使得區(qū)域B的目錄B具有對應該組的記錄對象,對目錄B中該組的該記錄對象包括該組的所有直接成員,區(qū)域A的目錄A具有對應該組的指針對象,在目錄A中對該組的指針對象包括區(qū)域B的地址;查詢實體A在應答中從目錄A接收對該組的指針對象,從而表明該組對區(qū)域A不是本地的;查詢實體A從接收的指針對象檢索區(qū)域B的地址;查詢實體A利用檢索的地址查詢區(qū)域B的目錄B關(guān)于區(qū)域B的查詢實體B的地址;查詢實體A在應答中從區(qū)域B接收查詢問實體B的地址;和查詢實體A在那個地址接觸查詢實體B,并請求查詢實體B查詢目錄B,該用戶是否為該組的成員。
3.如權(quán)利要求1所述的方法,其特征在于,還包括,查詢實體B查詢區(qū)域B的目錄B以判定該用戶是否為該組的成員;查詢實體B查詢區(qū)域B的目錄B,以返回對該組的任何對象,該組對區(qū)域B是本地的,使得區(qū)域B的目錄B具有對應于該在的記錄對象,在目錄B中該組的記錄對象包括該組的所有直接成員;查詢實體B在應答中從目錄B接收對該組的記錄對象,從而表明該組對區(qū)域B是本地的;和查詢實體B審查在接收的記錄對象中列出的該組的直接成員,以判定該用戶是否該組的直接成員。
4.如權(quán)利要求3所述的方法,其特征在于,還包括若該用戶是該組的直接成員,查詢實體B報告查詢實體A,該用戶實際上是該組的成員;若該用戶不是該組的直接成員,查詢實體B查詢目錄B以返回對該用戶的任何對象,并通過試圖在目錄B中尋找從該用戶到該組的成員資格路徑進行判斷該用戶是否該組的間接成員,找到的從該用戶到該在的成員資格路徑證實了該用戶實際上是該組的成員;和根據(jù)是否有成員資格路徑,查詢實體B向查詢實體A報告,該用戶實際上是否該組的成員。
5.如權(quán)利要求3所述的方法,其特征在于,查詢實體A是數(shù)字權(quán)限管理(DRM)服務器,該方法包括查詢實體A從用戶接收演示數(shù)字內(nèi)容對應段的數(shù)字許可證,該請求包括用戶的識別和組的識別。
6.如權(quán)利要求5所述的方法,其特征在于,查詢實體B是DRM服務器,方法還包括查詢實體A向查詢實體B發(fā)出查詢實體A是DRM服務器的識別,且查詢實體B根據(jù)發(fā)出的識別查明查詢實體A有資格得知該用戶是否該組的成員。
7.如權(quán)利要求6所述的方法,其特征在于,包括查詢實體A向查詢實體B發(fā)出數(shù)字證明,它帶有追溯到由查詢實體識別的機構(gòu)的可信的根的證明鏈,且查詢實體B驗證該證明。
8.如權(quán)利要求1所述的方法,其特征在于,查詢實體A是數(shù)字權(quán)限管理(DRM)服務器,該方法包括查詢實體A從用戶接收對演示數(shù)據(jù)內(nèi)容的對應段的數(shù)據(jù)許可證的請求,該請求包括該用戶的識別和該組的識別。
9.具有用于實現(xiàn)一方法的存儲的計算機可執(zhí)行指令的計算機可讀媒體,該方法用于判斷,從一組織的一用戶是否該組織中預定組的成員,該組織包含計算機網(wǎng)絡,網(wǎng)絡至少包括區(qū)域A和區(qū)域B,區(qū)域A具有目錄A和能查詢目錄A的查詢實體A,區(qū)域B具有目錄B和能查詢目錄B的查詢實體B,該方法包括查詢實體A從用戶接收請求,查詢實體A至少部分地根據(jù)用戶是該組的成員決定是否準許該請求;查詢實體A查詢區(qū)域A的目錄A以返回關(guān)于該組的信息,并在應答中導向區(qū)域B;查詢實體A接觸區(qū)域B的查詢實體B,并請求查詢實體B查詢目錄B,用戶是否為該組的成員;查詢實體A從查詢實體B接收應答,該用戶實際上是否該組的成員;和查詢實體A至少部分地根據(jù)用戶是否該組的成員準許從該用戶來的請求。
10.如權(quán)利要求9所述的媒體,其特征在于,包括查詢問實體A查詢區(qū)域A的目錄A以返回對該組的任何對象,該組對區(qū)域B是本地的,使得區(qū)域B的目錄B具有對應于該組的記錄對象,在目錄B中對應該組的記錄對象包括該組的所有直接成員,區(qū)域A的目錄A具有對應該組的指針對象,在目錄A中對應該組的指針對象包括區(qū)域B的地址;查詢實體A在應答中從目錄A接收對該組的指針對象,從而表明該組對區(qū)域A不是本地的;查詢實體A從接收的指針對象檢索區(qū)域B的地址;查詢實體A利用檢索的地址詢問區(qū)域B的目錄B關(guān)于區(qū)域B的查詢實體B的地址;查詢實體A在應答中從目錄B接收查詢實體B的地址;和查詢實體A在該地址上接觸查詢實體B并請求查詢實體B查詢目錄B,該用戶是否該組的成員。
11.如權(quán)利要求9結(jié)合另外計算機可讀媒體的媒體,其中存儲計算機可執(zhí)行指令,用于實現(xiàn)一方法包括查詢實體B查詢區(qū)域B的目錄B,以判定該用戶是否該組的成員,包括查詢實體B查詢區(qū)域B的目錄B,以返回對該組的任何對象,該組對區(qū)域B是本地的,使得區(qū)域B的目錄B具有對應該組的記錄對象,目錄B中對該組的記錄對象包括該組的所有直接成員;查詢實體B在應答中從目錄B接收對該組的記錄對象,從而表明該組對區(qū)域B是本地的;和查詢實體B審查在接收的記錄對象中列出的該組的直接成員,以判定該用戶是否為該組的直接成員。
12.如權(quán)利要求11所述的另外的媒體,其特征在于,該方法還包括若該用戶是該組的直接成員,查詢實體B向查詢實體A報告,用戶實際上是該組的成員;若該用戶不是該組的直接成員,查詢實體B查詢目錄B以返回對該用戶的任何對象并通過試圖在目錄B中找從該用戶到該組的成員資格路徑進行判斷,該用戶是否該組的間接成員,找到的從該用戶到該組的成員資格路徑證實該用戶實際上是該組的成員;和根據(jù)是否有成員資格路徑,查詢實體B向查詢實體A報告,該用戶實際上是否該組的成員。
13.如權(quán)利要求11所述的媒體,其特征在于,查詢實體A是數(shù)字權(quán)限權(quán)利(DRM)服務器,該媒體的方法包括查詢實體A從用戶接收對演示數(shù)字內(nèi)容的對應段的數(shù)字許可證的請求,該請求包括該用戶的識別和該組的識別。
14.如權(quán)利要求13所述的媒體和另外媒體,其特征在于,查詢實體B是DRM服務器,該媒體的方法還包括查詢實體A問查詢實體B發(fā)送查詢實體A是DRM服務器的識別,另外媒體的方法還包括查詢實體B根據(jù)發(fā)出的識別查明,查詢實體A有資格得到該用戶是否該組的成員。
15.如權(quán)利要求14所述的媒體和另外媒體,其特征在于,該媒體的方法包括查詢實體A向查詢實體B發(fā)出數(shù)字證明,它帶有追溯到由查詢實體識別的機構(gòu)的可信人的根的證明鏈,且另外媒體的方法包括查詢實體B驗證該證明。
16.如權(quán)利要求9的媒體,其特征在于,查詢實體A是數(shù)字權(quán)限管理(DRM)服務器,該方法包括查詢實體A從該用戶接收對演示數(shù)字內(nèi)容的相應段的數(shù)字許可證的請求,該請求包括該用戶的識別和該組的識別。
全文摘要
一個組織維持至少包括區(qū)域A和區(qū)域B的計算機網(wǎng)絡,其中區(qū)域A具有目錄A和能夠查詢目錄A的查詢實體A,而區(qū)域B具有目錄B和能夠查詢目錄B的查詢實體B。查詢實體A從用戶接收請求,并至少部分地根據(jù)該用戶是否該組的成員決定是否準許該請求。于是,查詢實體A查詢目錄A以返回有關(guān)該組的信息;導向區(qū)域B;接觸查詢實體B;請求查詢實體B查詢目錄B該用戶是否該組的成員;接收應答;并至少部分地根據(jù)該用戶是否該組的成員準許從用戶來的請求。
文檔編號G06Q50/00GK1550995SQ20041000760
公開日2004年12月1日 申請日期2004年2月26日 優(yōu)先權(quán)日2003年2月26日
發(fā)明者P·D·瓦克斯曼, P D 瓦克斯曼, C·凡卡泰克, ㄌ┛, Y·(E·)羅森非爾德, 羅森非爾德, A·那林 申請人:微軟公司