專利名稱:通過校驗條件管理資源訪問和使用的方法及相應(yīng)使用條件的制作方法
版權(quán)聲明本專利文檔的部分揭示內(nèi)容包含受版權(quán)保護的材料。版權(quán)所有者不反對由專利文檔或?qū)@沂緝?nèi)容之一復(fù)制,如出現(xiàn)在專利商標事務(wù)所的專利文件或記錄中,但除此之外任何情況保留所有的版權(quán)。
背景技術(shù):
阻止數(shù)字著作(即計算機可讀形式的文檔或其他內(nèi)容)通過電子方法,特別是因特網(wǎng),廣泛發(fā)布的最重要的事項之一是目前在數(shù)字著作的發(fā)布和使用中缺乏保障內(nèi)容所有者的知識產(chǎn)權(quán)的能力。為解決這個問題所付出的努力被稱為“知識產(chǎn)權(quán)管理”(“IPRM”)、“數(shù)字產(chǎn)權(quán)管理”(“DPRM”)、“知識產(chǎn)權(quán)管理”(“IPM”)、“權(quán)利管理”(“RM”)和“電子版權(quán)管理”(“ECM”),在此統(tǒng)稱為“數(shù)字權(quán)利管理(DRM)”。在實現(xiàn)DRM系統(tǒng)時有很多事項需要考慮。例如,驗證、授權(quán)、賬目管理、支付和財務(wù)清算、權(quán)利說明、權(quán)利校驗、權(quán)利實施及文檔保護的事項都應(yīng)該考慮。美國專利5,530,235,5,634,012,5,715,403,5,638,443和5,629,940,其內(nèi)容被包含在此引用,揭示了處理這些事項的DRM系統(tǒng)。
例如,美國專利5,634,012揭示了控制數(shù)字文檔發(fā)布的系統(tǒng)。每個呈現(xiàn)設(shè)備都有與其關(guān)聯(lián)的存儲庫。預(yù)定的一組使用處理步驟定義了由存儲庫使用的協(xié)議,用于實施和文檔關(guān)聯(lián)的使用權(quán)。使用權(quán)堅持該文檔內(nèi)容。使用權(quán)說明該內(nèi)容的各種使用方式,如只讀、使用一次、發(fā)布等等。先決條件,如費用的支付、身份的證明或其他條件可以在允許訪問該內(nèi)容之前根據(jù)使用權(quán)來獲取。一旦滿足先決條件,對內(nèi)容的訪問即被授權(quán)。有條件的訪問的概念在訪問控制應(yīng)用中也是眾所周知的。例如,大家知道可以基于輸入登錄名和密碼來授權(quán)對網(wǎng)絡(luò)資源的訪問。
有條件訪問的概念是訪問控制和DRM系統(tǒng)的基礎(chǔ)。典型的先決條件,即授權(quán)訪問的條件,定義授權(quán)用戶的列表和一組對給定資源的訪問權(quán)利和條件。和給定資源關(guān)聯(lián)的先決條件可以被定義為和特定用戶關(guān)聯(lián)的資源。這被稱為“基于角色的”訪問控制。在被稱為“基于規(guī)則的”訪問控制的處理中,先決條件也可以由規(guī)則定義。兩種類型的先決條件都可以表示為訪問控制列表,訪問控制列表是一組以某種語言或數(shù)據(jù)結(jié)構(gòu)定義的資源或規(guī)則。
有條件的訪問通常由多數(shù)系統(tǒng)作為授權(quán)過程來實現(xiàn),其中,在滿足和/或校驗特定條件后,允許主體(如,人、系統(tǒng)或過程)對受保護資源進行訪問。
發(fā)明概要本發(fā)明的第一個方面是在資源系統(tǒng)中管理受保護資源的使用的方法。該方法包括當滿足和受保護資源及主體關(guān)聯(lián)的先決條件時,授權(quán)由主體對受保護資源的訪問;當滿足和受保護資源及主體關(guān)聯(lián)的訪問中條件時,允許主體繼續(xù)訪問受保護資源;以及,當發(fā)生終止事件時,終止由主體對受保護資源的訪問。終止事件可以是滿足不同于訪問中條件的訪問后條件或未能繼續(xù)滿足訪問中條件。
本發(fā)明的第二個方面是在資源系統(tǒng)中管理受保護資源的使用的方法。該方法包括準備獲得對受保護資源的訪問所必須滿足的先決條件;以及,準備繼續(xù)訪問所述受保護資源所必須滿足的訪問中條件。當所述受保護資源待用時,實施所述先決條件,直到滿足所述先決條件;且當滿足所述先決條件時,使所述受保護資源可用并實施所述訪問中條件。
本發(fā)明的第三個方面是條件說明,該條件說明適用于關(guān)聯(lián)條件和受保護資源,以便在管理受保護資源的系統(tǒng)中控制受保護資源。該說明包括指示和條件關(guān)聯(lián)的受保護資源的資源標志、根據(jù)條件來指示資源狀態(tài)的狀態(tài)變量,及指示可從設(shè)備獲取該狀態(tài)變量的值的方式的方法說明。
本發(fā)明通過較佳實施例和附圖來加以說明,附圖包括圖1為框圖,展示較佳實施例的計算機結(jié)構(gòu);圖2為示意圖,展示常規(guī)的訪問控制模型的狀態(tài);圖3為示意圖,展示較佳實施例的狀態(tài);圖4為流程圖,展示較佳實施例的授權(quán)過程;圖5為示意圖,展示較佳實施例的條件;及圖6為示意圖,展示較佳實施例的條件狀態(tài)。
詳細說明不同類型的資源要求不同類型的條件和不同的機制來保護它們以防非授權(quán)的使用。申請人擴展了常規(guī)的先決條件,以包括保護及承諾的條件,從而獲取靈活的機制來表示和實施這樣的條件。
在較佳實施例中,條件是受保護資源整個生命周期的一部分。這意味著不僅在允許訪問之前評估條件,而且在資源的實際消耗過程中也評估條件。另外,條件和受保護資源及受保護資源的狀態(tài)兩者關(guān)聯(lián)。通過將條件和受保護資源的不同狀態(tài)關(guān)聯(lián),為內(nèi)容所有者或服務(wù)提供者提供靈活的方式來保護不同類型的資源。資源可以是數(shù)字內(nèi)容、硬件、軟件程序、存儲空間、貨物、服務(wù)(包括web服務(wù))、時間、費用、使用權(quán)或許可證。
使用權(quán)指定使用的方式。例如,使用方式可以包括以指定的方法在指定的時期內(nèi)使用項目的能力。進一步來說,使用權(quán)可以指定轉(zhuǎn)讓權(quán),如發(fā)布權(quán),并可以允許授權(quán)使用權(quán)給他人或授權(quán)使用權(quán)的衍生物。
較佳實施例在受保護資源的使用或消耗之前、之中和之后校驗并驗證條件。條件可以表示為條件狀態(tài),以便每個條件的當前狀態(tài)和歷史可以被記錄并在以后使用?!盃顟B(tài)變量”跟蹤潛在動態(tài)的條件。狀態(tài)變量是具有表示資源狀態(tài)或其他動態(tài)條件的值的變量。狀態(tài)變量可以被跟蹤,且狀態(tài)變量的值可以用在條件中。例如,使用權(quán),作為資源,可以是查看內(nèi)容的權(quán)利,且條件可以是當執(zhí)行使用權(quán)時,沒有其他用戶登錄到網(wǎng)絡(luò)。在這例子中,當合適狀態(tài)的值表明其他用戶已登錄時,該條件不再被滿足,且內(nèi)容不能被查看,或者查看終止。
圖1展示較佳實施例的計算機結(jié)構(gòu)10。條件80在下面詳細說明,且可以用和項目的發(fā)布者、內(nèi)容服務(wù)提供者、企業(yè)管理者或希望控制對資源(如數(shù)字內(nèi)容)的訪問的任何其他一方關(guān)聯(lián)的準備應(yīng)用程序70來準備??梢杂萌鏧rMLTM這樣的語法來說明條件80。然而,條件80可以用任何方式說明。用戶在客戶機環(huán)境30(包括計算機或其他和該用戶關(guān)聯(lián)的設(shè)備)中操作。軟件應(yīng)用程序20,如呈現(xiàn)引擎或其他應(yīng)用程序,可以安裝在客戶機環(huán)境30中。訪問管理器40用以下所陳述的方式來控制對受保護資源100和衍生資源100a的訪問。
訪問管理器40——較佳實施例中的計算機設(shè)備,處理對資源100和衍生資源100a的訪問的安全方面。特別是,訪問管理器40可以通過校驗和驗證簽名(如加密簽名)或消息的其他標識字符,用已知的方式驗證該消息。訪問管理器40包括兩個主要部件——資源管理器42和條件驗證器44。資源管理器42負責(zé)資源注冊、資源轉(zhuǎn)換和資源終止?!稗D(zhuǎn)換”指從資源100得到衍生資源100a。例如,在資源是表示圖像或類似物的加密文件的情況下,衍生資源100a可以包括原始圖像自身和保存該圖像的存儲器的地址。在資源注冊的過程中,保存該圖像的存儲地址由資源管理器42的資源存儲庫46記錄,以便對該存儲器(即衍生資源100a)的任何訪問都可以被跟蹤。另外,跟蹤標志(如水印)可以插入圖像,使其能在任何時間被跟蹤。
條件驗證器44監(jiān)控設(shè)置的條件并管理系統(tǒng)的當前狀態(tài)。如下面的詳細說明,條件驗證器44和資源管理器46交互作用,來控制衍生資源100a。在當前系統(tǒng)狀態(tài)不再有效時,條件驗證器44請求資源管理器42刪除(或禁用)所有的衍生資源100a或通知應(yīng)用程序20不再允許使用衍生資源100a(如下面的詳細說明)。
對受保護資源100的訪問是基于條件80的。這種類型的條件被稱為訪問條件或“先決條件”。然而,通過將條件和資源100及資源100的狀態(tài)兩者關(guān)聯(lián),可能在其生命周期中的不同階段保護資源100。資源100可以在用戶被授權(quán)訪問之前、在授權(quán)訪問時、在資源100的實際使用中和在使用資源100之后受到保護。和受保護資源的整個生命周期關(guān)聯(lián)的條件80可以通過使用包括數(shù)據(jù)結(jié)構(gòu)、成組的規(guī)則或如XrMLTM這樣的語言的語法來表示。較佳實施例使用XrMLTM,作為表示條件的語言。
為了保護資源100,條件80可以被強加于資源100自身或其他任何資源——無論是有形的還是無形的——包括那些構(gòu)成任何執(zhí)行環(huán)境的資源(如客戶機環(huán)境30的應(yīng)用程序20),通過其訪問和使用受保護資源100。
條件80可以是作為主體被授權(quán)訪問并使用受保護資源100的用戶或用戶組的身份。條件80的例子在下面以XrMLTM語言的表示來闡述。例子A表示和被授權(quán)“查看”受保護數(shù)字內(nèi)容“XrML Book”的主體“Edgar”關(guān)聯(lián)的條件。例子B表示和一組主體關(guān)聯(lián)的條件,一組主體即屬于被授權(quán)打印受保護數(shù)字著作“XrML Book”的“ContentGuard employee”種類的所有人。
實例A<pre listing-type="program-listing"><![CDATA[ <license> <inventory> <digitalWorklicensePartID=”XrMLBook”/> <keyHolder licensePartID=”Edgar”/> </inventory> <grant> <keyHolder licensePartIDRef=”Edgar”/> <view/> <digitalWork licensePartIDRef=”XrMLBook”/> </grant> </license>]]></pre>實例B<pre listing-type="program-listing"><![CDATA[ ?。糽icense> <inventory> <digitalWork licensePartID=”XrMLBook”/> </inventory> <grant> <forAll varName=”ContentGuard Employee”/> <principal varRef=”ContentGuard Employee”/> <print/> <digitalWork licensePartIDRef=”XrMLBook”/> </grant> </license>]]></pre>條件80可以是主體必需擁有特定屬性(如特定頭銜,或權(quán)利,如安全許可)的條件。例子C表示主體必需擁有管理者身份的條件。
實例C<pre listing-type="program-listing"><![CDATA[ <license> ?。糹nventory> <digitalWork licensePartID=”XrMLBook”/> <keyHolder licensePartID=”Edgar”/> ?。?inventory> ?。糶rant> <forAll varName=”anyone”/> <principal varRef=”anyone”/> <possessProperty/> <badge> <title>Manager</title> </badge> <view/> <digitalWork licnsePartIDRef=”XrMLBook”/> ?。?grant> </license>]]></pre>條件80可以是對受保護項目訪問的時間間隔的條件。下面的例子D表示作為主體的密鑰持有者“Edgar”在2002年5月29日到2003年5月29日期間可以查看內(nèi)容“XrML book”的條件。
實例D<pre listing-type="program-listing"><![CDATA[ <license> <inventory> ?。糳igitalWork licensePartID=”XrMLBook”/> ?。糼eyHolder licensePartID=”Edgar”/> </inventory> <grant> ?。糼eyHolder licensePartIDRef=”Edgar”/> ?。紇iew/> <digitalWork licensePartIDRef=”XrMLBook”/> ?。紇alidityInterval> <notBefore>2002-05-29T00:00:00</notBefore> <notAfter>2003-05-29T00:00:00</notAfter> </validitylnterval> </grant> </license>]]></pre>條件80可以和被用來訪問內(nèi)容的主體或資源的物理位置相關(guān)。下面的例子E表示目前在美國的任何人都可以打印內(nèi)容“XrML Book”的條件。
實例E<pre listing-type="program-listing"><![CDATA[ <license> <inventory> <digitalWork licensePartID=”XrMLBook”/> </inventory> <grant> <forAll varName=”anyone”/> <principal varRef=”anyone”/> <print/> <digitalWork licensePartId=”XrMLBook”/> <territory> <country>US</country> </territory> </grant> ?。?license>]]></pre>條件80可以指定主體必須為訪問支付的費用。下面的例子F表示任何人在支付$3.10的費用之后都可以打印內(nèi)容“XrML book”的條件。下面的例子G表示任何人在為每次打印支付$3.10的費用之后都可以打印內(nèi)容“XrML book”的條件。下面的例子H表示任何人在為每小時的查看時間支付$10.00的費用之后都可以查看內(nèi)容“XrML book”的條件。
實例F<pre listing-type="program-listing"><![CDATA[ <license> <inventory> <digitalWork licensePartID=”XrMLBook”/> </inventory> <grant> <forAll varName=”anyone”/> <principal varRef=”anyone”/> <print/> <digitalWork licensePartId=”XrMLBook”/> <fee> <paymentFlat> <rate currency=”USD”>3.10</rate> </paymmentFlat> <to> <aba> <institution>123456789></institution> <account>987654321</account> </aba> ?。?to> </fee> </grant> </license>]]></pre>實例G<pre listing-type="program-listing"><![CDATA[ ?。糽icense> <inventory> <digitalWork licensePartID=”XrMLBook”/> </inventory> <grant> <forAll varName=”anyone”/> <principal varRef=”anyone”/> <print/> <digitalWork licensePartIDRef=”XrMLBook”/> <fee> <paymentPerUse> ?。紃ate currency=”USD”>3.10</rate> ?。?paymentPerUse> </fee></license>]]></pre>實例H<pre listing-type="program-listing"><![CDATA[ ?。糽icense> <inventory> <digitalWork licensePartID=”XrmLBook”/> </inventory><grant> <forAll varName=”anyone”/> ?。紁rincipal varRef=”anyone”/> ?。紇iew/> ?。糳igitalWork licensePartIDRef=”XrMLBook”/> <fee> <paymentMetered> ?。紃ate currenc=”USD”>10.00</rate> <per>PT1H</per> ?。紁hase>PT10M</phase> ?。?paymementMetered> ?。紅o> ?。糰ba> ?。糹nstitution>123456789></institution> ?。糰ccount>987654321</account> ?。?aba> ?。?to> </fee> ?。?grant> ?。?license>]]></pre>下面的例子I表示的條件是任何人都可以打印內(nèi)容,但打印權(quán)的執(zhí)行將由跟蹤服務(wù)在打印前跟蹤。
實例I<pre listing-type="program-listing"><![CDATA[ <license> <inventory> <digitalWork licensePartID=”XrMLBook”> <keyHolder licensePartID=”Edgar”/> </inventory> <grant> <forAll varName=”anyone”/> <principal varRef=”anyone”/> <print/> <digitalWork licensePartIDRef=”XrMLBook”/> <trackReport> <stateReference> <uddi> <serviceKey> <uuid>...</uuid> </serviceKey> </uddi> <serviceParam> </serviceParam> </stateReference> </trackReport> </grant> ?。?license>]]></pre>
條件80也可以是對在其中消耗資源100的系統(tǒng)的條件。例如,條件80可以要求系統(tǒng)有授權(quán)的安全機制或其他特定硬件或軟件,或僅有特定最大數(shù)量的用戶可以登錄。
條件80可以指定其中駐留資源100(如內(nèi)容)的存儲庫或其他設(shè)備。條件80可以和主體必須在使用受保護資源100之前獲取的批準通知相關(guān)。條件80可以在使用資源100之前或之后要求通知。條件80可以指定和受保護資源100或其他資源相關(guān)的原先的權(quán)利。條件80也可以被強加于其他條件80(如怎樣校驗條件)。
當然,條件80并不局限于上述例子,而可以是作為先決條件、訪問中條件和訪問后條件的任何和受保護資源100關(guān)聯(lián)的限制、義務(wù)或要求。同樣,即使上述例子是使用XrMLTM表示的,條件也并不局限于XrML或被XrML限制,且能夠以任何方式表示。
圖5根據(jù)較佳實施例示意性地展示條件80。條件80包括可以隱含或明確表示的資源標志42。例如,在上述的例子A中,資源標志42由“digitalWork”元素的“l(fā)icensePartID”屬性表示。條件80也包括狀態(tài)變量44,及表示如何可以獲取狀態(tài)變量44的值的方法說明46。方法說明46可以包括存儲狀態(tài)變量44的值的位置(如管理條件的遠程服務(wù)器)、用來和管理該條件的服務(wù)器進行通信的通信協(xié)議,及獲取該值所需的任何參數(shù)(如服務(wù)參數(shù)等)。替換地,該方法可以被硬編碼在系統(tǒng)中,且方法說明46可以被略去。
如上所述,狀態(tài)變量44表示條件80的狀態(tài)。關(guān)于給定權(quán)利的所有狀態(tài)變量44的集合在此稱為“權(quán)利狀態(tài)”。每個狀態(tài)變量44在任何時間對主體、權(quán)利和資源都有對應(yīng)的值。條件80的所有狀態(tài)變量44的集合在此只被稱為“條件狀態(tài)”。圖6展示包括條件80的條件狀態(tài)50,及條件80的狀態(tài)變量44的當前值52。方法說明56表示用來獲取狀態(tài)變量44的當前值52的方法,潛在地包括獲取該值的來源、憑證的數(shù)字簽名、請求的會話ID及其他任何適當?shù)男畔?。注意,方法說明56可以被視為和方法說明46冗余,且可以僅為它的重復(fù)。然而,在一些情況下,被用于實際獲取值52的方法說明56可以不同于建議在條件80中使用的方法說明46。
通過使用條件狀態(tài)50來表示關(guān)于權(quán)利的條件80,可簡化校驗條件80的過程,因為校驗條件80所需的所有信息是容易獲得的。無論何時評估和校驗對應(yīng)的條件80,都構(gòu)建并(然后)使用條件狀態(tài)50。每個條件狀態(tài)50可以包含校驗狀態(tài)變量44的值52所需的所有信息。和已驗證的主體及受保護資源100關(guān)聯(lián)的給定權(quán)利的條件狀態(tài)50的集合在此稱為“系統(tǒng)狀態(tài)”。
已驗證的主體是已由驗證用戶可靠性的系統(tǒng)處理的那個用戶,例如當用戶成功地用用戶名和密碼登錄時,該用戶成為已驗證的主體或只是“主體”。使用“系統(tǒng)狀態(tài)”概念,給定組的權(quán)利的條件80被定義為一組在其下允許主體訪問受保護資源100的所需系統(tǒng)狀態(tài)。當已驗證的主體希望訪問受保護資源100時,系統(tǒng)狀態(tài)從“初始狀態(tài)”變成“特許狀態(tài)”。
一旦系統(tǒng)處于特許狀態(tài),主體就能夠訪問受保護資源100,以進行授權(quán)操作。在很多情況下,并不是已驗證的主體自身實際訪問受保護資源100。例如,該訪問可以委托給另一已驗證的主體,如呈現(xiàn)應(yīng)用程序、服務(wù)等等。雖然受保護資源100被訪問和消耗,但授權(quán)初始訪問的那組訪問前條件80對授權(quán)繼續(xù)的訪問可能不再適用。同樣,消耗受保護資源100可以將該資源轉(zhuǎn)換為一組臨時的(即衍生的)資源100a,而從中,施于初始資源的訪問條件80也不適用。為了在訪問資源100和它的衍生資源100a時對其進行保護,較佳實施例使用被稱為“訪問中條件”的授權(quán)和保護的概念,下面對其進行詳細說明。
在常規(guī)系統(tǒng)中,資源處于兩種狀態(tài)之一。如圖2所示,當資源100待用時,系統(tǒng)處于初始狀態(tài)102,直到滿足先決條件。在那時,資源100變得可用,且系統(tǒng)進入特許或可用狀態(tài)104。為了增強對資源的控制,除“初始狀態(tài)”和“特許狀態(tài)”外,較佳實施例還定義兩種附加的狀態(tài)。如圖3所示,在受保護資源100的使用或訪問中,系統(tǒng)狀態(tài)將經(jīng)下述狀態(tài)改變初始狀態(tài)102、特許狀態(tài)104、使用狀態(tài)106和終止狀態(tài)108??梢詾槊糠N狀態(tài)定義條件80,必須滿足該條件,才能轉(zhuǎn)移到下一狀態(tài)或繼續(xù)保持同一狀態(tài)。如上述引用圖1,可以使用包括任何必要的用戶界面和編輯能力的準備應(yīng)用程序70來定義和準備條件80。需要被滿足才能進入“特許狀態(tài)”的條件80被成為“先決條件”。在使用資源100的過程中需要滿足的條件80被稱為“訪問中條件”,在使用終止時需要的條件80被稱為“訪問后條件”。條件驗證器44可以調(diào)用每種狀態(tài)的必需條件。
訪問中條件是條件80,當它們由已驗證的主體訪問和消耗時,條件80從初始資源100轉(zhuǎn)換到其自身和任何衍生資源100a。例如,如果資源100是在授權(quán)操作“查看”的過程中被顯示在客戶機環(huán)境30的屏幕上的文檔,然后,衍生資源100a可以各自包括包含來自文檔的數(shù)據(jù)的存儲器、文檔的呈現(xiàn)格式,及顯示窗口。衍生資源100a全部將由該組訪問中條件保護。換句話說,只要滿足訪問中條件,主體就將只訪問衍生資源100a。訪問中條件可以用和其他條件80相同的方式定義。
在另一例子中,應(yīng)用程序(如應(yīng)用程序20)或其他用戶請求是受保護資源100的服務(wù)。一旦該請求被授權(quán),執(zhí)行該服務(wù)的應(yīng)用程序可以被看作衍生資源并在執(zhí)行該服務(wù)時受訪問中條件的約束。訪問中條件不斷地更改系統(tǒng)狀態(tài),直到衍生資源不再被使用或系統(tǒng)狀態(tài)變?yōu)槲词跈?quán)。一旦請求的操作完成(或者強制地,或者自發(fā)地),所有由訪問中條件保護的衍生資源100a被刪除(或禁用),然后,系統(tǒng)狀態(tài)由那組訪問后條件轉(zhuǎn)換到最終狀態(tài)。
條件80在資源的使用或訪問之后或之中可以或可以不改變。有未改變狀態(tài)的那些條件稱為“無狀態(tài)條件”,而在使用資源之后或之中改變的條件稱為“有狀態(tài)條件”。先決條件80通常是無狀態(tài)條件80,且被用來控制對受保護文檔的訪問。訪問中條件和訪問后條件通常是有狀態(tài)條件80。它們被用來控制受保護資源100的生命期。(例如,一旦登錄到網(wǎng)絡(luò)的用戶超過指定數(shù)量,就不能再訪問受保護資源100。)用這些和不同階段的受保護資源100關(guān)聯(lián)的擴展類型的條件80,較佳實施例提供一種機制,該機制用于授權(quán)使用受保護資源100,并且在使用資源100時保護并跟蹤它。
如圖3所示并參照圖1中的元素,根據(jù)較佳實施例的系統(tǒng)經(jīng)歷三個階段。在“訪問授權(quán)”階段302中,訪問管理器40通過校驗滿足先決條件來授權(quán)已驗證的主體訪問受保護資源100,以進行授權(quán)操作。在資源保護階段304中,訪問管理器40通過校驗仍然被滿足的訪問中條件,在它們被使用的時候保護資源100及其衍生資源100a。在操作終止階段306中,訪問管理器40在滿足訪問后條件或停止?jié)M足訪問中條件時,終止受保護資源100和衍生資源100a對給定操作的使用。
在遞歸情況下,其中對同一資源100有多個訪問,訪問后條件可以和下一個循環(huán)的先決條件相同。在這樣的情況下,可以使用非靜態(tài)參數(shù),以防止無限循環(huán)的情況。例如依賴于時間的條件或由外部實體(如人為干預(yù))更改或強加的條件。
訪問授權(quán)將訪問受保護資源100以便進行授權(quán)操作的權(quán)利授權(quán)給已驗證的主體。圖4展示根據(jù)較佳實施例的訪問授權(quán)程序,它包括在步驟400中,基于和已驗證的主體、操作,及受保護資源100關(guān)聯(lián)的條件80的列表,來收集當前系統(tǒng)狀態(tài)。每個狀態(tài)條件50可以由訪問管理器40從本地系統(tǒng)或遠程系統(tǒng),從設(shè)備、應(yīng)用程序、存儲庫或服務(wù)來獲取。步驟400的結(jié)果是初始狀態(tài)。在步驟402中,先決條件中的每個狀態(tài)變量44的當前值52由訪問管理器40收集。當前值52可以匯編成記錄(例如,XML文檔)??梢则炞C用來構(gòu)建該記錄的信息(例如,驗證資源100的主體)。在步驟404中,根據(jù)該記錄來評估(即實施)先決條件。例如,存儲在該記錄中的信息(該信息包含先決條件的每個狀態(tài)變量44的當前值52)可以被接受并/或進行不同的處理(如校驗該記錄的簽名或重新評估所有的先決條件值)。如果成功實施,則在步驟406中,資源100和任何衍生資源100a進入特許狀態(tài)。
根據(jù)條件驗證器42在驗證該組訪問前條件時所使用的方法,授權(quán)過程可以分類為“自發(fā)的”或“強制的”。接受存儲在上述記錄中的狀態(tài)變量44的值的過程被稱為“自發(fā)的”過程,而質(zhì)詢那些值的系統(tǒng)被稱為“強制的”過程。在強制的過程中,一旦任何條件80(包括先決條件、訪問中條件或訪問后條件)不能被滿足時,受保護資源100及其所有的衍生資源100a就被禁用。當資源100或衍生資源100a被禁用(或變得無效)時,應(yīng)用程序20不能再訪問受保護資源100。在自發(fā)的過程中,如果任何條件80不能被滿足且變得無效,應(yīng)用程序20會收到通知。然后,應(yīng)用20程序負責(zé)禁用受保護資源100和衍生資源100a。是否禁用的決定可以自動作出或在人的干預(yù)下作出。實施步驟404將把系統(tǒng)從它的初始狀態(tài)改變到特許狀態(tài)(步驟406)或拒絕狀態(tài)(步驟404)。在特許狀態(tài)中,受保護資源100被釋放給所請求的主體或其委托的主體,并開始實施訪問中條件。注意,訪問中條件可以不同于先決條件,以提供對資源100的靈活的控制。
如上所述,資源保護通過實施該組訪問中條件,來保護初始受保護資源100和它的衍生資源100a。從訪問授權(quán)狀態(tài)返回的特許狀態(tài)包含將要在已授權(quán)操作中實施的訪問中條件的列表。在強制的系統(tǒng)中,當產(chǎn)生和使用衍生資源100a時,所有的衍生資源100a可以注冊資源管理器42的資源存儲庫46。如果任何訪問中條件變得無效,資源管理器42將禁用由應(yīng)用程序20對受保護資源100及衍生資源100a的訪問。
在其他類型的系統(tǒng)(例如,“跟蹤系統(tǒng)”)中,跟蹤對象(如特殊標志或ID)在資源注冊和轉(zhuǎn)換的過程中被插入衍生資源100a。這使得能夠用資源保護部件跟蹤資源。插入標志可以采用對處理衍生資源100a的應(yīng)用程序而言透明的格式。跟蹤系統(tǒng)可以是強制的系統(tǒng)或自發(fā)的系統(tǒng)。
授權(quán)操作的終止執(zhí)行那組訪問后條件(如果有的話)。執(zhí)行訪問后條件永久地改變系統(tǒng)狀態(tài)并影響訪問資源100的下一次請求。例如,如果訪問后條件是在執(zhí)行限制達到之后移除對資源100的訪問;當達到限制時,資源100被刪除或采取其他禁用或防止訪問的動作。操作終止可以包括資源終止。無論操作是被迫終止,還是應(yīng)用程序自發(fā)地終止該操作,當操作被終止時,資源管理器42都可以刪除(禁用)衍生資源100a。刪除(或禁用)衍生資源100a在保護資源100的過程中很重要。條件驗證器44保證受保護資源100的使用,并實施那組訪問后條件。作為系統(tǒng)狀態(tài)改變的結(jié)果,如果資源100變得無效,條件驗證器44將使受保護資源100無效(禁用)。
較佳實施例可利用不同的設(shè)備,如個人計算機、服務(wù)器、工作站、PDA、瘦客戶等。例如,客戶機環(huán)境可以是手持設(shè)備(如移動電話或PDA)??梢允褂貌煌耐ㄐ磐ǖ?。進一步來說,不同的功能可以集成在一個設(shè)備中。為清楚起見,所揭示的功能設(shè)備及模塊由功能來劃分。然而,不同的功能可以用任何方式合并或劃分為硬件和/或軟件模塊和設(shè)備。不同的功能模塊和設(shè)備有單獨或合并的效用。
其不同的記錄、消息、元件和部分可以被存儲在同一設(shè)備或不同設(shè)備上。不同的連接、引用、說明及類似物可以用來關(guān)聯(lián)元件。對任何類型的資源的訪問都可以被控制??梢允褂糜糜诟櫊顟B(tài)變量的值的任何機制。
已通過較佳實施例和例子對本發(fā)明進行了說明。然而,可以做出不同的修改,而不偏離由后附的權(quán)利要求和法律相等物定義的本發(fā)明的范圍。
權(quán)利要求
1.一種方法,用于管理受保護資源在資源系統(tǒng)中的使用,其特征在于,所述方法包括當滿足和受保護資源及該主體關(guān)聯(lián)的先決條件時,授權(quán)主體對該受保護資源的訪問;當滿足和該受保護資源及該主體關(guān)聯(lián)的訪問中條件時,允許該主體繼續(xù)訪問該受保護資源,所述訪問中條件和所述先決條件不同;及當終止事件發(fā)生時,終止該主體對該受保護資源的訪問,所述終止事件包括滿足不同于所述訪問中條件的訪問后條件或不能繼續(xù)滿足所述訪問中條件。
2.如權(quán)利要求1所述的方法,其特征在于,其中,所述先決條件和使用權(quán)關(guān)聯(lián);且其中,所述受保護資源包括和使用權(quán)關(guān)聯(lián)的主資源及用于連同該主資源執(zhí)行該使用權(quán)的衍生資源。
3.如權(quán)利要求2所述的方法,其特征在于,其中,所述主資源是數(shù)字內(nèi)容,且所述衍生資源是用于呈現(xiàn)所述受保護內(nèi)容的資源。
4.如權(quán)利要求1所述的方法,其特征在于,其中,所述訪問中條件指定表示該受保護資源的狀態(tài)的狀態(tài)變量;且其中,根據(jù)所述訪問中條件評估所述狀態(tài)變量的值,以確定是否滿足所述訪問中條件。
5.如權(quán)利要求2所述的方法,其特征在于,其中,所述訪問中條件應(yīng)用于所述主資源和所述衍生資源。
6.如權(quán)利要求1所述的方法,其特征在于,其中,所述訪問中條件包括其中該受保護資源被訪問的系統(tǒng)的狀態(tài)的條件。
7.如權(quán)利要求1所述的方法,其特征在于,其中,所述訪問中條件包括其中駐留該受保護資源的設(shè)備的條件。
8.如權(quán)利要求1所述的方法,其特征在于,其中,所述受保護資源是數(shù)字內(nèi)容。
9.一種方法,用于管理受保護資源在資源系統(tǒng)中的使用,其特征在于,所述方法包括準備必須滿足才能獲取對受保護資源的訪問的先決條件;準備必須滿足才能繼續(xù)訪問所述受保護資源的訪問中條件;當所述受保護資源待用時,實施所述先決條件,直到滿足所述先決條件;及當滿足所述先決條件時,使所述受保護資源可用并實施所述訪問中條件。
10.如權(quán)利要求9所述的方法,其特征在于,進一步包括這個步驟當終止事件發(fā)生時,終止該主體對該受保護資源的訪問;所述終止事件包括滿足不同于所述訪問中條件的訪問后條件或不能繼續(xù)滿足所述訪問中條件。
11.如權(quán)利要求10所述的方法,其特征在于,其中,所述先決條件和使用權(quán)關(guān)聯(lián);且其中,所述受保護資源包括和該使用權(quán)關(guān)聯(lián)的主資源及用于連同該主資源執(zhí)行該使用權(quán)的衍生資源。
12.如權(quán)利要求11所述的方法,其特征在于,其中,所述主資源是數(shù)字內(nèi)容,且所述衍生資源是用于呈現(xiàn)所述受保護內(nèi)容的資源。
13.如權(quán)利要求10所述的方法,其特征在于,其中,所述訪問中條件指定表示該受保護資源的狀態(tài)的狀態(tài)變量;且其中,根據(jù)所述訪問中條件評估所述狀態(tài)變量的值,以確定是否滿足所述訪問中條件。
14.如權(quán)利要求11所述的方法,其特征在于,其中,所述訪問中條件應(yīng)用于所述主資源和所述衍生資源。
15.如權(quán)利要求10所述的方法,其特征在于,其中,所述訪問中條件包括其中該受保護資源被訪問的系統(tǒng)的狀態(tài)的條件。
16.如權(quán)利要求10所述的方法,其特征在于,其中,所述訪問中條件包括其中駐留該受保護資源的設(shè)備的條件。
17.如權(quán)利要求8所述的方法,其特征在于,其中,所述受保護資源是數(shù)字內(nèi)容。
18.一種條件說明,用以在管理受保護資源的系統(tǒng)中將條件和受保護資源關(guān)聯(lián),以控制該受保護資源,其特征在于,所述說明包括表示和該條件關(guān)聯(lián)的該受保護資源的資源標志;表示與該條件有關(guān)的該資源的狀態(tài)的狀態(tài)變量;及表示可從設(shè)備獲取該狀態(tài)變量的值的方式的方法說明。
19.如權(quán)利要求18所述的條件說明,其特征在于,其中,所述方法說明包括其上存儲該狀態(tài)變量的值的設(shè)備的位置。
20.如權(quán)利要求18所述的條件說明,其特征在于,其中,所述方法說明包括獲取該狀態(tài)變量的值的通信協(xié)議。
21.如權(quán)利要求18所述的條件說明,其特征在于,進一步包括在滿足該條件時將要執(zhí)行的使用權(quán)。
22.如權(quán)利要求18所述的條件說明,其特征在于,其中,所述條件是在對資源的訪問得到授權(quán)之后必須滿足才能繼續(xù)使用該資源的訪問中條件。
全文摘要
一種方法和裝置,用于管理對資源的訪問,所述方法和裝置集成了對大范圍資源的授權(quán)和保護。訪問受保護資源(100)的權(quán)利是基于條件的。條件和資源及資源的狀態(tài)關(guān)聯(lián),從而在其生命周期中的不同階段保護資源。和受保護資源的整個生命周期關(guān)聯(lián)的條件可以通過使用包括數(shù)據(jù)結(jié)構(gòu)、成組的規(guī)則或語言(44)的語法來表示。
文檔編號G06F21/00GK1539217SQ02815592
公開日2004年10月20日 申請日期2002年6月7日 優(yōu)先權(quán)日2001年6月7日
發(fā)明者T·塔, T·德馬蒂尼, J·Z·豐, G·勞, M·紐耶恩, B·塔達陽, V·迪由, D·特蘭, X·王, , T 塔, 豐, 淼倌, 镅 申請人:康坦夾德控股股份有限公司