專利名稱:使用可信時間的數字權利管理的制作方法
技術領域:
本發明涉及用于內容保護的數字權利管理。更具體而言,本發明涉及使用從可信機構接收的可信時間的數字權利管理。
背景技術:
數字視頻內容、音頻內容和計算機應用程序等的供應商經常不愿在沒有有效保護的情況下通過互聯網或其他方式傳遞這些項目。雖然存在讓供應商通過互聯網來傳遞內容的技術,但是數字內容根據其特質在得到或未得到所有者授權的前提下很容易復制。互聯網允許來自所有者的內容的傳遞,但同一技術還允許未授權的被復制內容的廣泛分發。數字權利管理(DRM)是近年來已逐漸作為用于保護文件分發的手段被使用的數字內容保護模式。DRM通常包含一系列復雜的技術和商業模式,以保護數字介質、計算機應用程序或其他數據(所有這些在本文中一般被稱為“內容”)并向內容所有者提供收益。很多已知的DRM系統使用諸如計算機的硬盤驅動器組件之類的存儲設備,存儲設備包含由內容所有者提供的未加密內容的集合。存儲設備中的內容駐留在防火墻后的可信區域內。在可信區域內,駐留在存儲設備上的內容可以被加密。內容服務器接收來自存儲設備的加密內容并將加密內容打包以供分發。許可證服務器持有與加密內容相關的權利和使用規則的說明以及相關的加密密鑰。(內容服務器和許可證服務器有時是歸內容供應商 (如工作室)或服務供應商所有或控制的內容供應系統的一部分)。回放設備或客戶端從內容服務器接收加密內容用于顯示或其他用途,并從許可證服務器接收指定訪問權利的許可證。一些DRM過程包括請求內容項目、利用內容密鑰加密項目、在內容數字許可證中存儲內容密鑰、將加密內容分發給回放設備、向回放設備傳遞包含內容密鑰的數字許可證文件、以及在數字許可證指定的使用規則下解密和播放內容文件。一些數字許可證包括基于時間的規則,這些規則例如控制許可證的有效期或者在初次使用內容后客戶端設備可繼續使用該內容的時間長度。為了檢查這類規則,客戶端或其他設備必須使用時鐘。但是,客戶端系統時鐘經常容易被篡改,從而在某些情況下可能會繞開基于時間的規則。因此,希望改進的保護方法和系統完成由具有時間要求的許可證管理的受保護內容的傳遞。
發明內容
本發明的實施例包括用于監控時間以便受保護內容的使用可以被控制的方法和系統。本發明不是依賴于容易被用戶篡改的客戶端的系統時鐘,而是使用從客戶端設備外CN 102595194 A
部的可信機構接收的正確的“可信”時間值。當客戶端不再與可信機構通信時,通過使用客戶端的操作系統計數器來更新先前收到的可信時間值,以便獲得更新的算出可信時間值用于內容許可證評估目的。在一個方面,當可信機構經由網絡與客戶端通信時,從客戶端外部的可信機構獲得第一時間值。第一時間值被安全地存儲。與相應于第一時間值的時間點相對應的第一計數值也被安全地存儲。當客戶端不與可信機構通信時,時間偏移值與第一時間值相組合來獲得算出時間值。時間偏移值是第二計數值與第一計數值之差的函數。具有時間規則的內容許可證根據所述算出時間值被評估。在另一方面,第一和第二計數值由適于提供最小計數值和最大計數值之間的多個計數值的計數器生成。該計數器“翻轉”使得最小計數值在最大計數值之后生成。若第一計數值小于第二計數值,則時間偏移值是第二計數值減去第一計數值的函數。另一方面,若第一計數值大于第二計數值,則時間偏移值是第二計數值加上最大計數值減去第一計數值的函數。 在替代實施例中,與內容在第一場合被客戶端使用的時間點相對應的第一算出時間值被計算。第一算出時間值是由客戶端在第一通信會話期間從客戶端外部的可信機構接收的第一可信時間值的函數。與第二可信時間值和第二算出時間值之差相對應的第一時間偏移值被計算。第二可信時間值由客戶端在第二通信會話期間從可信機構接收。第二算出時間值對應于第二可信時間值被客戶端接收時的時間點,并且是第一可信時間值的函數。與第三算出時間值和修訂的第一算出時間值之差相對應的已流逝時間值被計算。 第三算出時間值對應于客戶端嘗試用于第二會話的內容的使用的時間點,并且是第二可信時間值的函數。修訂的第一算出時間值對應于第一算出時間值和第一時間偏移值的組合。 具有時間規則的內容許可證根據已流逝時間值被評估。根據本發明的一個方面,提供了一種控制內容的使用的方法,包括安全地存儲與第一客戶端最近和可信機構通信時的時間點相對應的第一時間值;安全地存儲與應用程序的至少一個子系統最近被初始化時的時間點相對應的第二時間值,所述應用程序適于使用所述內容;若所述第一時間值大于所述第二時間值,則從所述第一客戶端向第二客戶端發送標志;以及若所述第二客戶端已收到所述標志,則允許所述第二客戶端對所述內容的使用。根據本發明的一個方面,提供了一種控制內容的使用的方法,包括從第一客戶端向第二客戶端發送第一時間值和第二時間值,其中所述第一時間值對應于所述第一客戶端最近和可信機構通信時的時間點,并且其中所述第二時間值對應于應用程序的至少一個子系統最近被初始化時的時間點,所述應用程序適于使用所述內容;以及若所述第一時間值大于所述第二時間值,則允許所述第二客戶端對所述內容的使用。根據本發明的一個方面,提供了一種用于控制內容的使用的系統,包括用于安全地存儲與第一客戶端最近和可信機構通信時的時間點相對應的第一時間值的裝置;用于安全地存儲與應用程序的至少一個子系統最近被初始化時的時間點相對應的第二時間值的裝置,所述應用程序適于使用所述內容;用于若所述第一時間值大于所述第二時間值,則從所述第一客戶端向第二客戶端發送標志的裝置;以及用于若所述第二客戶端已收到所述標
6志,則允許所述第二客戶端對所述內容的使用的裝置。根據本發明的一個方面,提供了一種監控時間的方法,包括計算與內容在第一場合被客戶端使用時的時間點相對應的第一算出時間值,其中所述第一算出時間值是第一可信時間值的函數,所述第一可信時間值由客戶端在第一通信會話期間從所述客戶端外部的可信機構接收;計算與第二可信時間值和第二算出時間值之差相對應的第一時間偏移值, 其中所述第二可信時間值由所述客戶端在第二通信會話期間從所述可信機構接收,并且其中所述第二算出時間值對應于所述第二可信時間值被所述客戶端接收時的時間點,并且其中所述第二算出時間值是所述第一可信時間值的函數;以及計算與第三算出時間值和修訂的第一算出時間值之差相對應的已流逝時間值,其中所述第三算出時間值對應于所述客戶端嘗試在第二場合使用所述內容時的時間點,并且其中所述第三算出時間值是所述第二可信時間值的函數,并且其中所述修訂的第一算出時間值對應于所述第一算出時間值和所述第一時間偏移值的組合。根據本發明的一個方面,提供了一種用于監控時間的裝置,包括用于計算與內容在第一場合被客戶端使用時的時間點相對應的第一算出時間值的裝置,其中所述第一算出時間值是第一可信時間值的函數,所述第一可信時間值由所述客戶端在第一通信會話期間從所述客戶端外部的可信機構接收;用于計算與第二可信時間值和第二算出時間值之差相對應的第一時間偏移值的裝置,其中所述第二可信時間值由所述客戶端在第二通信會話期間從所述可信機構接收,并且其中所述第二算出時間值對應于所述第二可信時間值被所述客戶端接收時的時間點,并且其中所述第二算出時間值是所述第一可信時間值的函數; 以及用于計算與第三算出時間值和修訂的第一算出時間值之差相對應的已流逝時間值的裝置,其中所述第三算出時間值對應于所述客戶端嘗試在第二場合使用所述內容時的時間點,并且其中所述第三算出時間值是所述第二可信時間值的函數,并且其中所述修訂的第一算出時間值對應于所述第一算出時間值和所述第一時間偏移值的組合。本發明存在附加方面。因此應該理解,前面僅是本發明的一些實施例和方面的概要。本發明的附加實施例和方面在下面提及。還應理解,可以對公開的實施例做出多種修改而不脫離本發明的精神或范圍。因此前面的概要不打算限制本發明的范圍。而是,由所附權利要求及其等同物確定本發明的范圍。
結合附圖通過以下描述,本發明實施例的這些和/或其他方面及優勢將變得明顯而更容易理解,附圖中圖I是可應用本發明的多個方面的內容供應系統的示例性配置的簡化框圖;圖2是圖I的客戶端設備的簡化框圖;圖3是根據本發明的一個實施例用于監控時間的處理的簡化流程圖;圖4是一個過程的簡化流程圖,其中根據本發明的另一個實施例,一個客戶端設備中的同步可信時間的狀態可以被發送到另一個客戶端設備;圖5是根據本發明的另一個實施例的用于監控時間的另一個過程的簡化流程圖;圖6a和6b是根據本發明的另一個實施例的用于監控時間的又一個過程的簡化流程圖;并且
圖7a和7b是根據本發明的另一個實施例的用于監控時間的又一個過程的簡化流程具體實施例方式現在詳細參考本發明的實施例,本發明的示例在附圖中示出,圖中相似的參考標號在各處指代相似的元素。應該理解,可以采用其他實施例并且可以進行結構和操作改動而不脫離本發明的范圍。本發明的實施例包括用于監控數據以便受保護內容的使用可以被控制的方法和系統。客戶端設備從客戶端外部的可信機構接收可信時間值,而不是依賴于容易被用戶篡改的客戶端的系統時鐘。當客戶端不再與可信機構通信時,通過使用客戶端的操作系統計數器來更新先前收到的可信時間值,以便獲得算出的更新后的可信時間值,用于內容許可證評估目的。根據一個實施例,客戶端在一個或多個防篡改的安全存儲裝置中安全地存儲從可信機構接收的可信時間值。另外,被安全存儲的還有對應于與可信時間值相關的時間點的系統計數值。當客戶端不再與可信機構通信時,算出的更新的可信時間值通過組合時間偏移值(當前系統計數值與存儲的系統計數值之差的函數)與存儲的可信時間值來生成。算出的可信時間值然后用于許可證評估。雖然該算出的可信時間值可以在客戶端不再與可信機構通信時的時間點生成,然而該時間值表示對用戶篡改有抵抗力的仍然適用于內容許可證評估的更新的時間點。參考圖1,示出可應用本發明的實施例的內容供應系統100的示例性配置。內容供應系統100處理可包括視頻數據、音頻數據、圖像數據、文本數據、計算機應用程序等在內的受保護內容。許可證服務器102、內容服務器104和計費服務器106經由網絡120各自連接到客戶端108并相互連接,網絡120例如是互聯網。在本例中,只示出了一個客戶端 108,但本領域技術人員將理解任何數目的客戶端都可連接到網絡120。內容服務器104向客戶端108提供內容。許可證服務器102授予內容被客戶端 108使用所必需的許可證122。計費服務器106用于當客戶端108被授予了許可證122時, 向客戶端108收費。雖然所示實施例示出三個服務器與客戶端108通信,但是應理解所有這些服務器功能可被包含在比這里示出的三個更少或更多數目的服務器中。圖2示出客戶端108的示例性配置。參考圖2,中央處理單元(CPU) 130執行由只讀存儲器(ROM) 132中存儲的或從存儲單元134加載到隨機存取存儲器(RAM) 136中的程序引導的各種處理操作。RAM136還存儲CPU 130按要求執行各種處理操作所必需的數據等
坐寸οCPU 130、ROM 132和RAM 136經由總線138互連。總線138還連接例如由鍵盤和鼠標組成的輸入設備140、例如由基于CRT或IXD的顯不單兀和揚聲器組成的輸出設備142, 例如基于硬盤驅動器的存儲單元134,以及例如基于調制解調器、網卡(NIC)或其他終端適配器的通信設備414。ROM 132、RAM 136和/或存儲單元134存儲操作軟件用來實現客戶端108的操作。緩沖器146經由網絡120接收和緩沖來自內容服務器104 (圖I)的流加密(streaming encryted)內容的順序部分,同時使用對加密內容進行解密所需的相關解密密鑰(未示出)。加密內容和相關的解密密鑰被發送到解碼器148。解碼器148使用與內容相關的解密密鑰來對內容進行解密和解碼。通信設備144經由網絡120執行通信處理、發送從CPU 130提供的數據,并向CPU 130,RAM 136和存儲單元134輸出從網絡120接收的數據。存儲單元134利用CPU 130傳送信息以存儲和刪除信息。通信設備還與其他客戶端交流模擬信號或數字信號。總線138也按要求與驅動器150相連,驅動器150上例如加載磁盤、光盤、磁光盤或半導體存儲器,以便從這些記錄介質的任一個中讀出的計算機程序或其他數據被安裝到存儲單元134中。雖然未示出,但是內容服務器104、許可證服務器102和計費服務器106 (圖I)也各自被配置為具有基本上與圖2所示客戶端108相同配置的計算機。雖然圖2示出客戶端 108的一個配置,但是替代實施例包括機頂盒、個人計算機、便攜回放設備或任何其他類型的計算機設備。在內容供應系統100中,許可證和內容服務器102、104將許可證122和內容發送到客戶端108(圖I)。為了使客戶端108能夠使用(即呈現、再現、復制、執行等)常常是加密形式的受保護內容,需要許可證122。每項內容由服務供應商組織使用一個或多個加密密鑰來配置和加密。客戶端108 在許可證信息和內容的基礎上解密并再現收到的內容項。在某些實施例中,許可證信息包括使用權利,例如超過之后內容項不可再被使用的有效期、內容可被使用的次數、內容可被復制到諸如CD之類的記錄介質的次數,內容可被登出到便攜設備的次數,初次使用后內容可被使用的時間長度等等。 如前所述,本發明的實施例涉及從客戶端外部的可信機構接收可信時間值的客戶端。可信機構可以是任何實體,例如經由諸如互聯網、WAN、LAN等之類的網絡與客戶端通信的服務器。可信機構根據一些可用時間規范中的任一個來維護可信時間。當客戶端不再與可信機構通信時,通過使用客戶端的操作系統計數器來更新先前收到的可信時間值,以便獲得算出可信時間值用于具有基于時間的規則的內容許可證的評估。從可信機構收到可信時間值后,客戶端安全地將該值存儲在一個或多個安全的、 防篡改的存儲器中。另外安全地存儲的還有對應于與可信時間值相關的時間點的系統計數值。系統計數值從客戶端的適于提供最小計數值和最大計數值之間的多個計數值的操作系統計數器中獲得。例如,在具有32比特分辨率的操作系統計數器中,最大計數值為 Oxffffffff0 一旦達到該最大值,計數器便“翻轉”使得最小計數值在最大計數值之后生成。這些存儲的計數器和時間值用于獲取所述算出可信時間值。為了生成該值,時間偏移值與存儲的可信時間值相組合。該時間偏移值是當前系統計數值與先前存儲的系統計數值之差的函數。雖然這一算出可信時間值可以在客戶端不再與可信機構通信時的時間點生成,然而該時間值表示對用戶篡改有抵抗力并且適用于內容許可證評估的更新的當前時間點。圖3描繪了當客戶端設備不與可信機構通信時用于通過計算該可信時間值 (TTE(calc))來監控時間的處理的簡化流程圖。在步驟202中,開始時客戶端與可信機構通信并從可信機構接收經驗證的可信時間值。利用適于使用受保護內容的應用程序的DRM子系統部分,客戶端將該經驗證的可信時間值(Ttj)安全地存儲在一個或多個安全存儲器中。通過客戶端的操作系統,客戶端還取得與對應于Ttj的時間點相對應的參考系統計數值(Ctj), 并將Q安全地存儲在同樣的或另一個安全存儲器中。步驟204。在稍后某一時間點,客戶端斷開或以另外的方式不再與可信機構通信。步驟206。DRM子系統隨后關閉(步驟208), 并在稍后時間點重啟。步驟210。接下來DRM子系統評估內容許可證(步驟212),并確定該許可證是否是基于時間的。步驟214。若許可證不是基于時間的,則應用程序繼續提供或以另外的方式使用內容。 步驟216。另一方面若內容許可證是基于時間的,則確定存儲的參考計數值(Ctj)是否小于一般對應于當前時間點的操作系統當前計數值(C。)。步驟218。如下所述,為了確認自從 C0從可信機構獲得的時間點開始操作系統計數器是否翻轉,該確定必不可少。若存儲的參考計數值(Ctj)小于當前計數值(C。),則根據步驟220,作為這兩個計數值之差(Cc-Ctj)的函數的時間偏移值與Ttj相組合,以根據下面的算法獲得算出可信時間值TTE(calc) — T0+(Cc-C0),其中Ττκ(Μ 。)為所述算出可信時間,Ttj為經驗證的存儲可信時間,C。為當前計數值, 且Q為存儲的參考計數值。僅為了注解方便,時間偏移值在這里以及本說明書剩余部分各處被表示為計數值之差(例如,-(Q-Q)),而非它們的差的函數;可以理解,為了通過系統計數值獲得時間值,必須應用函數關系,例如將計數器差值乘以常數因子。仍參考圖3,若存儲的計數值Ctj不小于當前計數值C。,則根據步驟222使用下面的算法來獲取所述算出可信時間TTE(calc) — T0+Cc+ (Cmax-C0),其中Ττκ(Μ 。)為所述算出可信時間,Ttj為經驗證的存儲可信時間,CcS當前計數值, C0為存儲的參考計數值,且Cmax為在計數器翻轉到O或其他最小計數值之前該計數器的最大計數值。在根據步驟220或222之一獲得所述算出可信時間值TTK(eal。)之后,確定所述算出可信時間值是否位于內容許可證的規則之內。步驟224。若所述算出可信時間值不在許可證規則之內,則應用程序將不提供或以另外的方式使用該內容。步驟226。另一方面,若所述算出可信時間值在許可證規則之內,則內容可以被提供或以另外的方式使用。步驟228。 但是應注意,對于客戶端關閉時計數器回零的那些操作系統,圖3的實施例在客戶端保持開啟時適用。在本發明的替代實施例中,在一個客戶端設備中的同步可信時間的狀態可以被發送到另一個客戶端設備。該處理涉及屬于“上一可信連接時間”(LTC)和“會話開始時間”(SST)的值的使用。LTC對應于客戶端設備上次連接到可信時間機構(并與之通信)的日期時間值。SST對應于組件、模塊或其他子系統最新被初始化的日期時間值,其中組件、模塊或其他子系統是包含DRM特征并適合于使用內容的應用程序的一部分。本實施例與具有如下要求的許可證一起使用,所述要求為當應用程序的DRM組件、模塊或其他子系統正在運行并能夠獲取、保證或以另外的方式使用可信時間時,客戶端在給定時間幀內與可信時間機構進行通信(并可能從該可信機構獲得更新的可信時間值)。另一方面,若DRM子系統在與可信機構的最新連接或通信時間之后的時間點被初始化,則受保護內容的使用或提供不被允許,因為系統時鐘篡改或其他與時間有關的篡改的風險增加而DRM子系統關閉并無法檢測或防備這類篡改。
圖4是一個客戶端設備中的該同步可信時間的狀態可以被發送到其他客戶端設備的簡化處理流程圖。在步驟302中,第一客戶端(Cl1)設備在一個或多個安全存儲器中安全地存儲LTC和SST值二者。在稍后某一時間點,第二客戶端(Cl2)設備向第一客戶端發送狀態請求。步驟304。作為響應,第一客戶端確定LTC是否大于SST,即是否存在時間上比應用程序的至少一個子系統的會話初始化更近的與可信機構的連接和通信。步驟306。若不是,則處理停止且第一客戶端不響應狀態請求。步驟308。由于LTC不大于SST,因此這意味著子系統會話在第一客戶端與可信機構同步之后且在客戶端從可信機構獲得經驗證的可信時間值Ttj之后的某一時間點被初始化。另一方面,若LTC大于SST,則這意味著當應用程序的DRM子系統部分已準備好并運行時,第一客戶端與可信機構通信并獲得更新的可信時間值I。因此在步驟310中,第一客戶端向第二客戶端發送標志,指示第一客戶端具有比應用程序會話開始時間更近的經驗證、更新的可信時間值。收到標志后,假設滿足其他許可條件,第二客戶端隨后被允許使用內容數據。步驟312。圖4還示出在第二客戶端如步驟304所示向第一客戶端發送了狀態請求之后可以繼續的替代處理。或者,收到狀態請求后,第一客戶端將LTC和SST值發送到第二客戶端。 步驟314。接著,第二客戶端評估LTC是否大于SST。步驟316。若不是,則停止處理且沒有內容被提供或使用。步驟318。另一方面,若LTC大于SST,假設滿足其他許可條件,則第二客戶端可以提供或以另外的方式使用數據。步驟320。在本發明的替代實施例中,在算出可信時間值可用于內容許可證評估目的之前, 許可證規則可要求客戶端在應用程序的DRM子系統準備好并運行時與可信機構通信。換言之,在某一時間點要求DRM子系統和可信機構之間的同步。當DRM子系統關閉且無法檢測或防備系統時鐘篡改或其他與時間有關的篡改時,該同步降低了這類篡改的危險。當與可信機構的通信加重之后要求稍后的計算生成算出可信時間值時,則產生的算出可信時間值更有可能精確。用于獲取所述算出可信時間值的潛在系統計數值和可信時間值在這些情況下被變更或篡改的可能性更小。圖5是用于該替代實施例的簡化處理流程圖。在步驟401中,提供或使用內容的應用程序開始(或者至少應用程序的一個子系統初始化)且相應的會話開始時間(SST)被安全地存儲在一個或多個安全存儲器中。當與可信機構通信時,客戶端從可信機構接收經驗證的可信時間值Cg并將該值安全地存儲在同一個或另一個安全存儲器中。步驟402。 另外,客戶端安全地存儲與對應于可信時間值的時間點相對應的更新的系統計數值(Ctj), 還安全地存儲LTC值。步驟404和406。在稍后時間點,客戶端斷開或以另外的方式不再與可信機構通信。步驟407。應用程序評估許可證(步驟408)并確定LTC是否對應于發生在例如過去20分鐘內之類的預定時間段之內的時間點。步驟409。若LTC未發生在該時間段內,則處理終止且不允許內容的使用。步驟411。若LTC發生在該時間段內,則確定許可證是否要求可信時間計算基于同步可信時間。步驟410。若不要求,則這兩個值中較大的一個被選擇用于許可證評估。這些值是當前系統時鐘時間值(Tsys)或根據前述算法Ττκ(μ1。)= V(Cc-C0)或根據算法TTK(eal。)=TQ+Cc+(Cmax-Cq)計算的當前算出可信時間值(Tmealc0),其中Cc小于C。。步驟412。MAX(TSYS,Tte(calc))即Tsys和TTK(c;al。)中的較大者用于針對許可證時間要求進行評估。若用戶翻轉系統時鐘,則TTK(c;al。)可能是較大值并將用于許可證評估。另一方面,若系統時間篡改導致Tsys值大于Ττκ(Μ 。),則這可能不利于用戶(有利于內容供應商),因為Tsys將用于評估許可證并可能導致許可證使用權利的過早終止。另一方面,若內容許可證要求可信時間計算基于同步的可信機構時間,則確定LTC 是否大于SST。步驟414。若不是,則處理終止且不允許內容的使用,因為在與可信機構的通信丟失之前同步尚未出現。步驟416。另一方面,若LTC大于SST,則許可證時間段根據算出可信時間值來評估,所述算出可信時間值是根據前述算法TTK(c;al。)= V(Cc-C0)或者當 Ce小于Ctj時根據算法
TTR(calc)
T0+Cc+(Cmax-C0)來計算的。步驟 418。根據本發明的再一個實施例,內容許可在如下情況中被控制,所述情況即許可證允許在內容初次被客戶端使用后的某幾個小時或其他時間段使用內容。例如,若內容是音樂且其許可證允許72小時的回放時間段,則當音樂初次被客戶端播放時,72小時的時間段將開始運行。本發明的該實施例允許在客戶端不再與可信機構進行通信時監控允許時間段。根據該實施例,當內容在第一場合被使用時,算出可信時間值,即“標記”時間生成。當與可信機構的通信被重建且從可信機構收到新的、更新的可信時間時,計算偏移時間值。該偏移時間值是從可信機構收到的新的、更新的可信時間與在如下時間點計算的第二算出可信時間值之間的時間差值,所述時間點是與更新的可信時間相同的時間點。換言之, 作為系統計數器的函數來計算的時間與新收到的可信時間相比較,且差值或時間偏移值被安全地存儲。該時間偏移值被應用到原始“標記”時間以調整起始時間,以便為了許可證評估的目的得到更精確的、仍然抗篡改的已流逝時間段的計算結果。圖6a和6b示出當允許某幾個小時或其他時間段(N)的內容使用時,用于控制內容的使用的簡化流程圖,所述時間段開始于內容初次被使用的時間點。在步驟502,客戶端在第一通信會話期間與可信機構通信并從可信機構獲得經驗證的可信時間值。客戶端將該驗證的可信時間值(T0)以及與對應于Ttj的時間點相對應的系統計數值(Ctj)安全地存儲在一個或多個安全存儲器中。客戶端稍后從可信機構斷開(或以另外的方式停止與可信機構通信)。步驟504。雖然從可信機構斷開,但是客戶端開始在第一場合提供或以另外的方式使用受保護內容。步驟505。在這一開始時間點附近,客戶端計算算出可信開始時間“標記”值 (TTE(fflarker))并將其安全地存儲在同一個或另一個安全存儲器中。步驟506。這是根據前述
算法 TtR (marker)
V(Cci-C0)(或者當Cci小于C。時,根據算法
^TE (marker) =VCci+(Cmax-C0))
來計算的,其中Ca是在計算Immarireri時記錄的系統計數值。在稍后某個時間點,客戶端在第二通信會話期間重建與可信機構的通信并從可信機構獲得更新的、經驗證的可信時間值
(T〇(updated)) 0
該值與對應于收到To(update;d)的時間點的更新的系統計數值(Co(update;d)) —起被置于同一個或另一個安全存儲器中。步驟508。在步驟510中,通過采用更新的、經驗證的可信時間值(T一dated))和在從可信機構獲得(TtKupdated))的時間點計算的算出可信時間值(Ττκ(μ1η))之差來計算時間偏移值
(Toffset) °TTR(caic-i)
是利用算法= T0+ (Cc2-C0)(或者若Ce2小于Q3,則利用算法 =T0+Cc2+ (Cmax-C0))來計算的,其中Cc2是在計算
TTR((calc-l) 時記錄的系統計數值。接著,系統將該偏移時間值(Tcwset)安全地存儲在同一個或另一個安全存儲器中并設置指示客戶端現在具有時間偏移值的標志。步驟512。最后,根據算法
^TE (rev. s. t)^TE (marker)
+Toffset 計算
許可證的修訂的算出可信開始時間(TTK(MV.S..)),其中TTK(maAert是在步驟506中算出的值,且 Toffset是在步驟510算出的值。該TTK(Mv.s.t.)值隨后被放在同一個或另一個安全存儲器中。 步驟513。在稍后某個時間點,針對應用程序輸入命令以在第二場合開始提供或使用相同的內容。步驟514。響應于該命令并且在系統做出決定嘗試使用內容的時間點附近,確定是否設置了標志。步驟516。若未設置標志,則使用前述可信時間計算算法,即TTK(c;alc;_2)= V(Cc3-C0)(或者在Cc3小于C。的情況下,TTK(c;alc;_2) = T0+Cc3+(Cmax-C0))來進行許可證時限評估,其中Ce3是在計算
Tte (calc-2) 時記錄的系統計數值。步驟518。另一方面,若已設置了標志,則根據算法
Telapsed 一 TTR(now)_TTR(rev. s. t.) 計算已流逝時間(Teupsed)。步驟522。Telapsed是自從內容被初次使用的開始時間起已經流逝的時間量。
Ttr (now) 是當前時間點根據算法 Ttr(Iiow) T()(Updated)+ ^C4 (updated) )(或者在Ce4小于
C〇(updated)
的情況下, Ttr(Iiow) T()(Updated)+Cq4+ (OviAX (updated) ))計算的算出可信時間,其中Cw是在計算 Ttr (now) 時記錄的系統計數值。 r^TEtrev. s. t.) 是先前計算出的修訂的許可證開始時間。接著確定許可證已流逝時間(Teupsed)是否超過允許使用時間N。步驟524。若已超過允許使用時間 (N),則不再允許內容的提供或使用。步驟526。若未超過允許使用時間(N),則應用程序可繼續提供或使用該內容。步驟528。根據本發明的再一個實施例,允許應用程序提供或以另外的方式多次使用內容, 只要在所要求的時間段內存在與可信機構的同步。應用程序會話開始時間(SST)被安全地存儲在一個或多個安全存儲器中。當客戶端與可信機構通信時,可信時間值從可信機構被接收,并和對應于可信時間值時間點的系統計數值一起被安全地存儲在同一個或另一個安全存儲器中。另外,與客戶端最近與可信機構通信時的時間點相對應的最近可信連接時間值(LTC)被安全地存儲。當用戶想提供或使用受保護內容時,生成算出可信時間值并且從安全存儲器取得 LTC值。這兩個時間值之差代表自從存在與可信機構通信開始已經流逝的時間量。若這一已流逝時間量小于在內容許可證中提出的預定時間段,則內容的使用被允許。圖7a和7b是示出該同步要求的簡化流程圖。在步驟602中,適于使用受保護內容的應用程序開始,或者至少這類應用程序的子系統被初始化。對應于該時間點的會話開始時間(SST)被安全地存儲在一個或多個存儲器中。步驟604。此時,應用程序內的兩個線程同時運行。但是在替代實施例中,分離的應用程序而不是在同一應用程序內運行的兩個線程可以運行。在步驟606中,第一線程開始,其上與可信時間機構建立通信。步驟608。第一線程隨后令客戶端從可信機構獲得經驗證的可信時間值(T0),并將該值以及與獲得Ttj的時間點相對應的操作系統計數值(Cd —起安全地放在一個或多個安全存儲器中。步驟610。另外,與客戶端與可信機構建立通信的最近時間點相對應的最近可信連接時間值(LTC)被安全地存儲在同一個或另一個安全存儲器中。步驟612。在本發明的某些實施例中,LTC與Ttj 相同或幾乎相同。接著,客戶端與可信機構之間的通信終止。步驟614。等待預定時間間隔 (步驟616)之后,控制返回步驟608,其中第一線程令客戶端再次與可信機構通信。該過程隨后被重復,藉此用于I、(^和LTC的更新值周期性地以預定時間間隔被獲得并安全地存儲。當第一線程運行時,第二線程在其想要提供或者以另外的方式使用受保護內容時開始(步驟622)。從一個或多個安全存儲器取得Tq和C。值(步驟624),并根據前述算法 TTE(calc) = V(Cc-C0)(或者在 Cc 小于 C。的情況下根據算法 TTK(c;al。)= T0+Cc+(Cmax-C0))來計算當前可信時間值,其中C。是在計算Ττκ(Μ 。)時記錄的當前系統計數值(步驟626)。接著, 評估許可證以確定是否存在取決于LTC值的時間性內容使用約束。步驟628。若不存在,則確定在步驟626中確定的算出可信時間值(Ττκ(Μ 。))是否位于內容許可證的規則之內。步驟630。若不在,則處理停止且內容的使用不被允許。步驟631。另一方面,若所述算出可信時間值位于內容許可證的規則之內,則控制跳到步驟638且內容的使用被允許。返回步驟628,若另一方面許可證具有取決于LTC值的時間性內容使用約束,則從一個或多個安全存儲器中取得LTC值。步驟632。接下來,TTE(calc)值與LTC值之差與許可證中提出的預定時間段相比較。步驟634。TTK(eal。)與LTC之差表示自從存在與可信機構的通信開始已經流逝的時間量。若這一已流逝時間量大于許可證預定的時間段,則內容的使用不被允許。步驟636。另一方面,若已流逝時間量小于許可證預定的時間段,則內容的使用被允許。步驟638。因此例如,許可證具有20分鐘的預定時間段要求,在此期間客戶端應與可信機構通信并獲得用于TrQj和LTC的的更新值。若用于Ττκ(Μ 。)的值減去LTC小于 20分鐘時間段,則可以推斷在被許可證允許的時間段內存在與可信機構的同步,且內容的使用被允許。反之,內容使用不被允許。另外,在步驟634中使用的許可證預定時間段是大于步驟616的預定等待時間間隔的值。通過使用這類更大的值,第一線程將在落入許可證要求內的時間段中獲得更新的I、C0和LTC值。內容的使用結束后,第二線程關閉。步驟640。控制返回步驟622,并且當想再次使用受保護內容時,所述處理在被重復。這樣公開了用于監控時間以便受保護內容的使用能夠被控制的方法和系統。本發明的實施例從客戶端設備外部的可信機構接收正確的“可信”時間值,而不是依賴于容易被用戶篡改的客戶端的系統時鐘。當客戶端不再與可信機構通信時,通過使用客戶端的操作系統計數器來更新先前收到的可信時間值,以便獲得算出可信時間值用于內容許可證評估目的。雖然上面的描述參考了本發明的特定實施例,但是應該理解,可以做出許多修改而不脫離本發明的精神。權利要求旨在涵蓋落入本發明的真實范圍和精神內的修改。因此目前公開的實施例在所有方面都應被理解為說明性的而非限制性的,本發明的范圍由權利要求而非前面的描述指定,因此打算將在權利要求的等同物的含義和范圍之內的所有變動包含在內。
權利要求
1.一種控制內容的使用的方法,包括安全地存儲與第一客戶端最近和可信機構通信時的時間點相對應的第一時間值; 安全地存儲與應用程序的至少一個子系統最近被初始化時的時間點相對應的第二時間值,所述應用程序適于使用所述內容;若所述第一時間值大于所述第二時間值,則從所述第一客戶端向第二客戶端發送標志;以及若所述第二客戶端已收到所述標志,則允許所述第二客戶端對所述內容的使用。
2.如權利要求I所述的方法,還包括從所述第二客戶端向所述第一客戶端發送請求,所述請求用于所述標志從所述第一客戶端向所述第二客戶端的發送,其中若所述第一時間值大于所述第二時間值則從所述第一客戶端向所述第二客戶端發送所述標志包括響應于所述第一客戶端對所述請求的接收而發送所述標志。
3.—種控制內容的使用的方法,包括從第一客戶端向第二客戶端發送第一時間值和第二時間值,其中所述第一時間值對應于所述第一客戶端最近和可信機構通信時的時間點,并且其中所述第二時間值對應于應用程序的至少一個子系統最近被初始化時的時間點,所述應用程序適于使用所述內容;以及若所述第一時間值大于所述第二時間值,則允許所述第二客戶端對所述內容的使用。
4.如權利要求3所述的方法,還包括安全地存儲所述第一時間值和所述第二時間值。
5.如權利要求3所述的方法,還包括從所述第二客戶端向所述第一客戶端發送請求,所述請求用于所述第一和第二時間值從所述第一客戶端向所述第二客戶端的發送,其中從所述第一客戶端向所述第二客戶端發送所述第一時間值和所述第二時間值包括響應于所述第一客戶端對所述請求的接收而發送所述第一時間值和所述第二時間值。
6.一種用于控制內容的使用的系統,包括用于安全地存儲與第一客戶端最近和可信機構通信時的時間點相對應的第一時間值的裝置;用于安全地存儲與應用程序的至少一個子系統最近被初始化時的時間點相對應的第二時間值的裝置,所述應用程序適于使用所述內容;用于若所述第一時間值大于所述第二時間值,則從所述第一客戶端向第二客戶端發送標志的裝置;以及用于若所述第二客戶端已收到所述標志,則允許所述第二客戶端對所述內容的使用的>j-U ρ α裝直。
7.—種監控時間的方法,包括計算與內容在第一場合被客戶端使用時的時間點相對應的第一算出時間值,其中所述第一算出時間值是第一可信時間值的函數,所述第一可信時間值由客戶端在第一通信會話期間從所述客戶端外部的可信機構接收;計算與第二可信時間值和第二算出時間值之差相對應的第一時間偏移值,其中所述第二可信時間值由所述客戶端在第二通信會話期間從所述可信機構接收,并且其中所述第二算出時間值對應于所述第二可信時間值被所述客戶端接收時的時間點, 并且其中所述第二算出時間值是所述第一可信時間值的函數;以及計算與第三算出時間值和修訂的第一算出時間值之差相對應的已流逝時間值,其中所述第三算出時間值對應于所述客戶端嘗試在第二場合使用所述內容時的時間點,并且其中所述第三算出時間值是所述第二可信時間值的函數,并且其中所述修訂的第一算出時間值對應于所述第一算出時間值和所述第一時間偏移值的組合。
8.如權利要求7所述的方法還包括根據所述已流逝時間值來評估具有時間性規則的許可證。
9.如權利要求7所述的方法,還包括安全地存儲所述第一可信時間值;安全地存儲所述第一算出時間值;安全地存儲所述第二可信時間值;以及安全地存儲所述第一時間偏移值。
10.如權利要求7所述的方法,其中計算所述已流逝時間值包括在設置了標志的情況下計算所述已流逝時間值,所述標志指示在所述客戶端中存在所述第一時間偏移值。
11.如權利要求7所述的方法,其中計算所述第一算出時間值包括將第二時間偏移值與所述第一可信時間值相組合,其中所述第二時間偏移值是第二計數值與第一計數值之差的函數,所述第一計數值對應于所述第一可信時間值被從所述可信機構接收時的時間點, 并且所述第二計數值對應于所述第一算出時間值被計算時的時間點。
12.如權利要求11所述的方法,其中所述第二算出時間值還是第三時間偏移值與所述第一可信時間值的組合的函數,其中所述第三時間偏移值是第三計數值與所述第一計數值之差的函數,所述第三計數值對應于所述第二可信時間值被從所述可信機構接收時的時間
13.如權利要求12所述的方法,其中所述第三算出時間值還是第四時間偏移值與所述第二可信時間值的組合的函數,其中所述第四時間偏移值是第四計數值與所述第三計數值之差的函數,所述第四計數值對應于所述客戶端嘗試在所述第二場合使用所述內容時的時間點。
14.如權利要求13所述的方法,還包括根據所述已流逝時間值來評估具有時間性規則的許可證。
15.如權利要求13所述的方法,還包括安全地存儲所述第一可信時間值;安全地存儲所述第一算出時間值;安全地存儲所述第二可信時間值;以及安全地存儲所述第一時間偏移值。
16.如權利要求13所述的方法,其中計算所述已流逝時間值包括在設置了標志的情況下計算所述已流逝時間值,所述標志指示在所述客戶端中存在所述第一時間偏移值。
17.一種用于監控時間的裝置,包括用于計算與內容在第一場合被客戶端使用時的時間點相對應的第一算出時間值的裝置,其中所述第一算出時間值是第一可信時間值的函數,所述第一可信時間值由所述客戶端在第一通信會話期間從所述客戶端外部的可信機構接收;用于計算與第二可信時間值和第二算出時間值之差相對應的第一時間偏移值的裝置, 其中所述第二可信時間值由所述客戶端在第二通信會話期間從所述可信機構接收,并且其中所述第二算出時間值對應于所述第二可信時間值被所述客戶端接收時的時間點, 并且其中所述第二算出時間值是所述第一可信時間值的函數;以及用于計算與第三算出時間值和修訂的第一算出時間值之差相對應的已流逝時間值的裝置,其中所述第三算出時間值對應于所述客戶端嘗試在第二場合使用所述內容時的時間點,并且其中所述第三算出時間值是所述第二可信時間值的函數,并且其中所述修訂的第一算出時間值對應于所述第一算出時間值和所述第一時間偏移值的組合。
全文摘要
本公開涉及使用可信時間的數字權利管理。一種用于監控時間以便受保護內容的使用可以被控制的方法包括從客戶端設備外部的可信機構接收可信時間值。當客戶端不再與可信機構通信時,通過使用客戶端的操作系統計數器來更新先前收到的可信時間值,以便獲得算出可信時間值用于內容許可證評估目的。
文檔編號H04N7/167GK102595194SQ20111039921
公開日2012年7月18日 申請日期2006年11月28日 優先權日2005年11月28日
發明者后藤禮史, 埃里克·約翰·斯文森, 奧斯卡·H·斯蒂爾三世, 川本洋志, 皮埃爾·查瓦南, 長野元彥, 馬克·E·斯特惠格 申請人:索尼株式會社, 索尼電子有限公司