專利名稱:數據保護管理裝置和數據保護管理方法
技術領域:
本發明涉及一種用于保護數字數據的裝置和方法,更加具體地說涉及在使用許可證發布數據時保護發布數據、許可數據和電子票據的裝置和方法。
背景技術:
使用戶能夠通過網絡從內容提供商下載和播放數字內容的數字內容發布服務正在日漸發展。當確定他們的知識產權不會遭受版權侵犯或非法再現或使用時,提供這些服務的內容提供商允許使用他們的數字內容。
用于提供數字內容安全性的一種方法通過使用對于每個用戶專用的秘密算法結合用戶識別符(參見,例如專利參考文獻1)來防止非法使用數字內容。這使其能夠將數字內容再現僅僅限制在具有唯一ID(依設備而定)的專用設備或兼容PC硬件,這能防止非法拷貝數據。
圖18為傳統數據發布系統的示意圖。該系統包括內容提供商服務器100(下面稱作服務器)、個人計算機(PC)104、和客戶機106。服務器100和PC 104通過網絡進行連接,而客戶機106是用于存儲和處理(包括播放)通過網絡從服務器100發布的內容。當從服務器100的內容存儲裝置102獲取內容時,服務器100使用從客戶機106報告的序列號(或設備號)作為加密密鑰101以加密用于發布的內容(103)。不一定使用序列號本身作為加密密鑰,并且可使用序列號來產生加密所需的密鑰或密碼。通過PC104將加密的內容發送給客戶機106。當PC104接收加密的內容時,PC104可在期望的時間通知客戶機106,而不是立即通知客戶機106。所述內容也可在PC104上進行存檔。因此可將所述發布的加密內容存儲在PC104的加密內容存儲裝置105中。然后客戶機106使用內藏的解密密鑰109解密和處理(107)所述接收的加密內容,并將解密的內容存儲在內容存儲裝置108中。也可以在處理中播放解密的內容而不將其存儲在內容存儲裝置108中。
因此如上所述,可通過客戶機將序列號發送給服務器,然后服務器將服務器根據接收的序列號進行加密的內容數據發送給客戶機來發布內容。
圖19也是傳統數據發布系統的示意圖。該系統也包括內容提供商服務器201(下面稱作服務器)、PC205、和客戶機211。為了發布存儲在服務器201的內容存儲裝置202中的內容,服務器201產生與內容、用戶或客戶機211相關的密鑰(203),并使用該密鑰加密內容(204)。當PC205將內容請求發送給服務器201時,它從服務器201接收加密的數據和有關密鑰,并將所述內容存儲到內容存儲裝置206中和將所述密鑰存儲到密鑰存儲裝置207中。在將存儲在內容存儲裝置206中的內容發送給客戶機211之前,PC205使用存儲在密鑰存儲裝置207中的相關密鑰解密內容(208),并使用從客戶機211或從報告給客戶機211的會話獲取的密鑰210對所述內容進行重新編碼(209)。客戶機211將接收的加密內容存儲到內容存儲裝置212中。在播放內容或運行其它媒體輸出處理之前,使用存儲在會話密鑰存儲裝置214中的會話密鑰解密所述內容(215)。可首先解密該接收的加密內容,然后將其存儲在內容存儲裝置212中。
因此,能夠通過將使用服務器產生的密鑰加密的內容和所述密鑰發送給PC、然后使用PC和客戶機之間的不同密鑰(會話密鑰)對所述內容重新進行加密來發布內容。
日本專利申請公開文本第H7-295800號披露了一種相關發明。
發明內容
(本發明將要解決的技術問題)然而,為了防止使用上述的現有技術非法拷貝數據,只能播放已經下載到專用重放設備或具有唯一設備相關ID的兼容PC硬件上的內容。這可能意味著當用戶更新操作系統(OS)或硬件時,可能不再能夠播放更新之前可以播放的內容。另外,如果對于內容重放需要專用重放設備,則用戶就不能在他們喜歡的任何地點和任何時間享受內容數據。
另外,因為內容只能使用專用的重放設備才能播放,所以使用不同的重放設備不能播放存儲在存儲卡、IC卡、SD卡、CD-R盤和其它可拆除存儲介質上的內容。
此外,未將PC連接到網絡上的用戶不能通過現有的系統來使用可從內容提供商獲得的內容。
本發明就是為了解決現有技術中的這些問題,本發明的目的是防止數字內容的非法使用和濫用,給用戶提供選擇重放設備的選擇自由度,和在使用數字內容時加強數字內容的保護。本發明的另一個目的是能夠通過各種發布渠道進行數據發布使得內容發布裝置不僅僅依賴于網絡。
(解決問題的手段)為了解決上述問題,根據本發明的數據保護管理系統為允許在保護和管理通信數據的同時,在發送器和接收器之間進行許可證和加密內容的數據通信的數據保護管理系統,其包括會話管理器,用于執行從發送器獲取許可證和加密內容的處理;許可證管理引擎,用于存儲和管理通過會話管理器獲取的許可證;和存儲器,用于存儲許可證。當接收到詢問時,其被提供作為用于許可證驗證的請求的一部分,會話管理器產生一個校驗許可證的證書并將該產生的證書發送給接收器。
根據本發明的數據保護管理系統還包括使用規則管理器,用于確定與許可證相關的使用規則,并應用使用規則以處理許可證和內容中的至少一個。
在根據本發明的數據保護管理系統中,會話管理器對證書進行加密。
在根據本發明的數據保護管理系統中,會話管理器將一任選項從許可證添加至證書。
在根據本發明的數據保護管理系統中,其中使用包含在許可證中的密鑰來加密所述任選項數據。
在根據本發明的數據保護管理系統中,使用規則包括用于根據許可證確定將被添加到證書中的數據的信息。
在根據本發明的數據保護管理系統中,當從發送器接收到許可證變化時,會話管理器在變化之前從許可證管理引擎讀取許可證,改變許可證,并使用許可證管理引擎保存改變的許可證。
在根據本發明的數據保護管理系統中,會話管理器使用與許可證相關的密鑰來解密內容。
在根據本發明的數據保護管理系統中,會話管理器對解密的內容重新進行加密。
根據本發明的數據保護管理系統的特征在于根據來自發送器的信息產生用于重新加密的密鑰。
根據本發明的數據保護管理系統的特征在于具有會話管理單元,用于運行管理連接、與連接方交換用于相互驗證的信任證書、和對此后在打開的連接上傳送的許可證和數據應用訪問限制的處理;許可證管理引擎單元,用于在會話管理單元打開的會話中獲取許可證、并存儲和管理獲取的許可證;使用規則管理單元,用于確定與許可證管理引擎單元管理的許可證相關的使用規則,并應用該使用規則以處理許可證和數據;加密引擎單元,具有加密、解密和標記數據所需的公共密鑰或共享密鑰加密算法和散列算法,并為開啟的會話提供加密協議功能;存儲器管理單元,用于控制存儲器訪問,并為加密引擎單元進行的加密和解密提供空間;和存儲器,用于存儲數據、許可證和連接條件。該數據保護管理系統在下面將被稱作為“安全容器”。
因此通過提供用于安全保存、接收和發送數字許可證數據的加密算法和協議而能夠確保許可證數據的安全管理。
根據本發明的數據保護管理系統的進一步的特征在于保留有至少一個對于系統唯一的加密/解密密鑰。因此對于系統唯一的密鑰可用于內容加密,并且能夠更加安全和可靠的防止數據偷盜和篡改。
根據本發明的數據保護管理系統的進一步的特征在于具有日志管理引擎,用于根據數據發布處理存儲與規則變化相關的信息,并控制讀取和寫入該日志信息。這能夠使安全容器記錄交易并執行其它涉及安全的操作,并能夠使系統制造商或可信的第三方識別出安全容器或存儲在其中的數字許可數據是否已經被篡改或濫用。
根據本發明的數據保護管理方法的特征在于包括存儲由發送器使用與用于發布的數據相關的密鑰加密的數據的步驟;用于將加密的數據從發送器發送至數據處理裝置的步驟;用于將包含一個或多個控制命令的命令集從發送器發送至數據處理裝置的步驟;用于打開數據處理裝置和接收器之間的安全數據通道的步驟;用于將包含一個或多個控制命令的命令集從發送器發送至數據處理裝置的步驟;和數據處理裝置根據命令集使用密鑰對加密的數據進行解密并通過安全數據通道將解密的數據發送給接收器的步驟。
該命令集也稱作使用規則。另外,發送器還稱作“信源”,接收器還稱作“接收器”。該數據處理裝置也是上面所指的安全容器。因此在應用必須的操作和控制的同時,通過安全容器發送數據而能夠將數據從信源安全地發送至接收器。
本發明的數據保護管理方法的特征在于在命令集中包括指定在安全數據通道上所使用的加密強度的控制命令。這允許使用控制命令來管理加密強度(即,安全容器和接收器之間的安全通道的強度),并能夠根據數據通道的類型靈活地改進數據安全性。
本發明的數據保護管理方法的進一步的特征在于在命令集中包括用于公布安全數據通道是有效的周期的控制命令。這能夠使用于管理加密(安全容器和接收器之間的安全通道)的控制命令定義能夠進行重新加密的周期,并且能夠構造允許用戶復制和保存廣播數據以例如在某一購買周期內供個人使用或允許有計劃的使用數據的采購系統。
本發明的數據保護管理方法的進一步的特征在于在命令集中包括指示將數據的多少個拷貝發送給接收器的控制命令。因此用于管理加密(安全容器和接收器之間的安全通道)的命令集通過規定能夠將數據的多少個拷貝發送給接收器而能夠用于數據備份和共享。因為內容與特定的用戶相聯系,所以進行監視和審核也是可能的。
本發明的數據保護管理方法的進一步的特征在于在命令集中包括從發送器發送給數據處理裝置的控制命令。這能夠將從信源發送的控制命令集添加到安全容器中,并且具有能夠使信源指定安全條件的優點。然而,在附加到許可證或密鑰中的命令集中定義的缺省條件永遠不會被削弱。
本發明的數據保護管理方法的進一步的特征在于在命令集中包括從接收器發送給數據處理裝置的控制命令。這能夠將從接收器發送的控制命令集添加到安全容器中,并且具有接收器能夠指定安全條件的優點。然而,在附加到許可證或密鑰中的命令集中定義的缺省條件永遠不會被削弱。
本發明的數據保護管理方法的進一步的特征在于在命令集中包括指示將由接收器應用的條件的控制命令。這能夠使用于管理加密(安全容器和接收器之間的安全通道)的控制命令定義用于接收器的條件,其結果是能夠使信源指定用于接收器的規則。例如,信源能夠指定接收器必須遵從某一安全標準,例如要求用戶確認高價數據,以便完成購買。
根據本發明的另一種數據保護管理方法的特征在于包括發送器使用與用于發布的數據相關的密鑰加密數據的步驟;將加密的數據從發送器發送至數據處理裝置的步驟;將用于加密的密鑰從發送器發送至數據處理裝置的步驟;將包含一個或多個控制命令的命令集從發送器發送至數據處理裝置的步驟;和數據處理裝置根據所述命令集使用密鑰解密加密的數據、然后使用與接收器相關的密鑰對所述數據進行重新加密的步驟。
結果,能夠在重新加密處理中對與接收器相關的數據分別加以考慮,使得在對數據進行加密之后,只能通過相應的接收器對數據進行解密,由此進一步改善了數據安全性。
本發明的這種數據保護管理方法的特征在于在命令集中包括指定允許用于重新加密的計算時間的控制命令。這允許構造使用戶能夠復制和保存廣播數據以例如在一特定采購周期內供個人使用的商業系統。
本發明的這種數據保護管理方法的特征在于在命令集中包括指示能夠產生數據的多少個重新加密拷貝的控制命令。這能夠使用于管理重新加密的控制命令指定允許拷貝的數量。這對于數據備份和共享是有用的,并且因為內容與唯一的用戶相聯系,所以能夠進行監視和審核。
本發明的這種數據保護管理方法的特征在于在命令集中包括指示必須由接收器應用的條件的控制命令。這能夠使用于管理重新加密的控制命令定義用于接收器的特定條件,其結果是信源能夠定義將由接收器應用的條件。例如,信源能夠指定接收器必須遵從一特定安全標準,以便購買某一高價數據。
本發明的這種數據保護管理方法的特征在于在命令集中包括從接收器發送給數據處理裝置的控制命令。這能夠使管理重新加密處理的控制命令保存在接收器中,其提供的優點是接收器能夠獨立地運行重新加密處理。另外,如果所述控制命令保存在信源中并且在信源上完成重新加密,則與數據創建者或所有者相應的信源能夠完全控制重新加密處理。因為通過本發明能夠對用戶分別考慮內容,所以不能由另外的人使用所述內容。也可對內容進行加密以使其不通過重新加密處理分別加以考慮。
根據本發明的另一種數據保護管理方法的特征在于包括通過發送器和數據處理裝置進行相互驗證的步驟;打開發送器和數據處理裝置之間的安全數據通道的步驟;將請求驗證特定許可證的所有權的詢問從信源發送給數據處理裝置的步驟;數據處理裝置使用所述詢問和特定的許可證根據命令集產生唯一的驗證的步驟;數據處理裝置將產生的驗證發送給發送器的步驟;和發送器對接收的驗證進行校驗的步驟。
因此能夠在未向信源提供詳細的許可證信息的情況下證實特定的許可證存儲在于接收器中。換句話說,為了得到許可證被存儲在接收器的許可證池(pool)中的驗證,信源使用一個安全通道請求接收器發布驗證的證書。接收器(安全容器)參照從信源發送給接收器的請求(詢問)產生證書。然后通過所述安全通道將產生的證書發送給信源。發布對于許可證唯一的證書的優點在于接收器不需要向信源發送詳細的許可證信息。另外,這種證書也可用在代替電子票據使用該許可證的電子票據系統中。此外,通過使用來自信源的命令集,許可證發布者能夠控制產生證書的方法。
本發明的這種數據保護管理方法的特征在于數據處理裝置在產生證書時使用發送器的公共密鑰對詢問和驗證進行加密。這允許使用公共密鑰加密方法加密驗證,并因此不需要信源和安全容器之間的連接是安全的。在該情況下通過公共密鑰加密方法來獲得安全性。在該情況下可將信源的公共密鑰嵌入到許可證中。
本發明的數據保護管理方法的進一步的特征在于數據處理裝置在產生驗證時使用嵌入到許可證中的密鑰對產生的驗證進行加密。因此可將許可證的一部分用作密鑰,并且只有許可證發布者或信任的第三方能夠解密驗證。另外,如果信源能夠解密證書,則可將信源看作是信任方,并且因此信源不需要對安全容器校驗其本身。
本發明的數據保護管理方法的進一步的特征在于在將產生的驗證發送給發送器時,將驗證連同許可證中包含的附加數據一起發送給發送器。這能夠在將來自許可證的附加數據添加到驗證中之后將驗證發送給信源。該方法由此就提供一種電子票。
本發明的數據保護管理方法的進一步的特征在于使用許可證中包含的密鑰來加密附加數據。這能夠將來自許可證的附加數據添加到驗證中,并且能夠在對信源傳送之前加密驗證或附加數據或二者。因此通過該方法就獲得了一種電子票。
本發明的數據保護管理方法的進一步的特征在于在命令集中包括用于根據許可證確定將什么樣的數據添加給證書的信息數據。這使得能夠在用于管理驗證產生的控制命令中包括指示應將來自許可證的什么樣的數據添加給證書的信息。結果,可將附加到許可證中的數據的特定子集添加到驗證中。
本發明的數據保護管理方法為用于改變存儲在數據處理裝置中的特定許可證的條件信息的方法,并且其特征在于包括通過發送器和數據處理裝置進行相互驗證的步驟;用于打開發送器和數據處理裝置之間的安全數據通道的步驟;將改變特定許可證的條件信息的請求連同請求驗證駐存有許可證的詢問一起從發送器發送給數據處理裝置的步驟;數據處理裝置根據請求改變特定許可證的條件信息的步驟;數據處理裝置使用所述詢問和特定的許可證根據命令集產生唯一的驗證的步驟;數據處理裝置將產生的驗證發送給發送器的步驟;發送器對接收的驗證進行校驗的步驟。
由此可根據需要將與許可證相關的條件信息分配給許可證或將其嵌入到許可證中。即,為了改變許可證規則,首先試圖進行信源和安全容器之間的相互驗證,并且如果驗證成功,則打開安全通道。接著,將改變許可證條件的請求從信源發送給安全容器,并且安全容器根據請求進行操作。如果改變許可證條件成功,則安全容器將驗證發送給信源。然后信源從接收的驗證確認請求變更的結果。該方法的優點在于通過改變許可證條件信息而能夠獲得雙向或多向電子票據,并能夠限制使用與許可證相應的數字數據。
根據本發明的數據保護管理方法是用于將特定的許可證存儲在數據處理裝置中的方法,并且其特征在于包括在發送器和數據處理裝置之間進行相互驗證的步驟;打開發送器和數據處理裝置之間的安全數據通道的步驟;將特定的許可證從發送器發送給數據處理裝置的步驟;和數據處理裝置根據命令集存儲接收的特定許可證的步驟。
即,安全容器和信源試圖進行相互驗證,并且如果驗證成功,則打開安全容器和信源之間的安全通道。所接收的許可證數據被存儲在安全容器的內部存儲器中。結果,當在安全容器中存儲許可證時,可將許可證數據從信源安全的發送到一個裝置并能夠將其安全地存儲在該裝置的存儲器中。許可證數據作為純文本永遠不會被泄漏出去。
根據本發明的數據保護管理方法是用于將特定的許可證存儲在數據處理裝置中的方法,并且其特征在于包括在發送器和數據處理裝置之間進行相互驗證的步驟;將與接收器相關的公共密鑰從數據處理裝置發送給信源的步驟;信源使用接收的公共密鑰對特定的許可證進行加密并將加密的許可證發送給數據處理裝置的步驟;和數據處理裝置使用與接收器相關的私密密鑰解密加密的許可證的步驟。
即,安全容器和信源試圖進行相互驗證,并且如果驗證成功,則分派給所述裝置的公共密鑰就被發送給信源。然后信源使用接收的公共密鑰加密許可證數據,并將加密的數據發送給安全容器。然后安全容器將接收的數據存儲在內部存儲器中。結果,當在安全容器中存儲許可證時,可將許可證數據從信源安全地發送到所述裝置并能夠將其安全地存儲在裝置存儲器中。許可證數據作為純文本永遠不會被泄漏出去。
圖1為表示本發明第一實施例中的安全容器的結構的例子的框圖。
圖2為表示本發明第二實施例中的安全容器的結構的例子的框圖。
圖3A表示用于將解密內容傳送給接收器的過程。
圖3B概略表示本發明第一實施例中的安全容器的代碼轉換處理。
圖4為用于根據本發明第一實施例的安全容器的代碼轉換處理的例子的流程圖。
圖5為用于根據本發明第一實施例的安全容器的代碼轉換處理的例子的流程圖。
圖6A表示用于將解密內容傳送給安全容器的過程。
圖6B表示用于根據本發明第一實施例的安全容器的重新加密處理。
圖7為表示用于根據本發明第一實施例的安全容器的重新加密處理的例子的流程圖。
圖8為表示用于根據本發明第一實施例的安全容器的周期性重新加密處理的例子的流程圖。
圖9A表示信源接收許可證驗證的過程。
圖9B表示產生用于根據本發明第一實施例的安全容器的許可證的驗證的處理。
圖10為產生用于根據本發明第一實施例的安全容器的許可證的驗證的處理的例子的流程圖。
圖11A表示信源接收許可證變更校驗的過程。
圖11B表示對于根據本發明第一實施例的安全容器用于產生許可證驗證,然后改變許可證的處理。
圖12為對于根據本發明第一實施例的安全容器用于產生許可證驗證,然后改變許可證的處理的例子的流程圖。
圖13A表示用于存儲許可證的過程。
圖13B表示對于根據本發明第二實施例的安全容器用于存儲許可證的處理。
圖14為對于根據本發明第二實施例的安全容器用于存儲許可證的處理的例子的流程圖。
圖15為根據本發明第一實施例的數據發布系統的示意圖。
圖16為根據本發明第一實施例的數據發布系統的另一個例子的示意圖。
圖17為根據本發明第一實施例的數據發布系統的網絡環境的示意圖。
圖18為根據現有技術的數據發布系統的示意圖。
圖19為根據現有技術的另一個數據發布系統的示意圖。
具體實施例方式
下面將參照
本發明的優選實施例。
(第一實施例)在使用網絡獲取存儲在例如通過內容提供商操作的服務器上的內容數據的數據發布系統中需要限制非法使用內容和保護其數據的能力。根據本發明第一實施例的數據保護管理裝置為安全容器例如IC卡或其它防篡改硬件中的DRM(數字權限管理)系統,并提供通常的數字許可證管理和涉及數字許可證和其它許可證的數字數據存儲控制。注意,這些可以是硬件或軟件結構。
許可證通常包含有關的使用規則。使用規則定義了許可證和有關涉及許可證的數字數據的使用情況的規則。如果涉及特定處理的規則未被使用規則定義,則應用預定的缺省設置。如果缺省設置和使用規則不同,則必須應用具有更強限制的更安全規則。
圖17為表示一數據發布系統的網絡環境的示意圖。根據本發明第一實施例的DRM系統被并入到通過網絡從內容提供商或內容服務器下載數字數據的客戶機設備中。所述網絡可以是有線或無線網絡,互聯網或內部網,與服務器的1∶1直接連接,至互聯網和局域LAN二者的連接或其它結構。
下面將詳細說明根據本發明第一實施例的DRM系統。
DRM系統通過提供用于安全存儲和傳送許可證數據的加密算法和協議來確保安全許可證數據管理。通過用作數據發送器(源)和接收器(接收裝置)之間的附加數據安全層的卡來發送數字數據也是可應用的。
包括該DRM系統和安全管理許可證和數字數據的設備在下面稱作“安全容器”。該安全容器是一安全的、防篡改設備。從一個信源獲取的許可證數據(或內容數據)被存儲在該安全容器的存儲器中。
“信源”指的是從其獲取內容數據并代表內容提供商和內容服務器二者的任何信源。“信源”還包括內容介質,例如CD-ROM和DVD。
“接收裝置”為從信源獲取內容并代表諸如客戶機設備和重放設備的設備的任何接收器。接收器可具有能夠記錄的介質,例如存儲卡、IC卡、SD(安全數字)卡、或CD-R盤,并具有對可記錄介質進行讀取和寫入的功能。也能夠通過將記錄介質裝載到重放設備中在單獨的只讀設備上播放內容數據。
圖1為表示根據本發明第一實施例的安全容器的結構的功能框圖。
所述安全容器500具有I/O端口501、會話管理器502、許可證管理引擎506、使用規則管理器505(使用規則也稱作命令集)、加密引擎507、存儲器管理單元503、和存儲器504。與I/O端口501連接的是從其傳送內容的信源510、和向其發送內容的接收器511。接收器511包括諸如記錄器、重放設備、顯示器、音頻輸出設備和打印機之類的這種設備中的一個或全部。接收器511還可包含安全容器500。
會話管理器502管理通過I/O端口501的連接。此處所使用的連接并不局限于通常的連接,并且包括使用加密引擎507的安全連接。會話管理器502通過與連接方交換和相互校驗證書來開始會話,并且然后能夠管理受限的訪問,例如允許對許可證數據和有關的內容數據進行訪問。
許可證管理引擎506在由會話管理器502打開的會話中通過I/O端口501獲取許可證數據,并將其存儲在存儲器504中和對獲取的許可證數據進行管理。
使用規則管理器505確定涉及通過許可證管理引擎506管理的并通過使用規則管理器505處理的許可證數據的使用規則,并應用所述使用規則以處理許可證數據和內容數據。這些使用規則可包含各種規則,包括控制內容能被拷貝多少次的拷貝限制和部分解碼許可。
加密引擎507包含用于標記、加密和解密內容數據所需的公共密鑰或共享密鑰的加密算法和散列算法,并對會話管理器502打開的會話提供加密協議函數。
存儲器管理單元503控制對存儲器504的訪問,并為加密引擎507進行的加密和解密提供工作區。存儲器504存儲內容數據、許可證數據和連接狀態信息。
如此構成,安全容器可提供用于安全存儲和發送數字許可證數據的加密算法和協議,并因此能確保安全許可數據管理。
所有需要的操作也是在安全容器內部執行的,以便確保數字許可證不能以純文本格式留在安全容器中。
該安全容器的全部或部分可以由軟件來構成,并且可將安全容器安裝在諸如蜂窩電話的設備中。另外,基本上還能夠制造通過將該安全容器嵌入到存儲卡型存儲裝置中來進行數字許可和數據管理的存儲卡型裝置,由此能夠將安全容器放置在SD卡或其它類型的存儲卡裝置中。還能夠制造通過對傳統的數據存儲裝置添加新功能來進行數字許可和數據管理的存儲卡型裝置。
另外,通過將ISO/IEC 9293適應FAT文件系統建立到根據本發明第一實施例的安全容器的存儲器中而能夠將數字許可證數據以標準化的文件格式而非專有格式存儲在存儲器中,并能夠提供用于數字許可證數據管理任務的公眾API,所述數字許可證數據管理任務包括存儲和搜索數字許可證數據。
下面將參照圖3A、圖3B、圖4和圖5說明通過本發明第一實施例的安全容器將數字數據(內容)從特定的信源發送給特定的接收器的方法。
當通過安全容器500將內容從一個信源發送給接收器時,在代碼轉換處理中定義了四個數據集。這四個數據集是內容901(通過相應的密鑰對其進行加密)、用于加密內容的密鑰(其是許可證的一部分)、在安全容器500和接收器之間的安全通道上使用的會話密鑰、和與特定的密鑰相對應并用于安全容器500的內部控制操作的命令集(其是許可證的一部分)。這些命令集被從信源或接收器發送給安全容器500,但發送它們的定時和通信裝置不需要是相同的,并能夠在不同的總線上進行發送。
如圖3A所示,信源至接收器的傳送處理被分解為下述的六個步驟。即,(a)信源存儲通過直接或間接涉及內容的密鑰加密的內容901,(b)將加密的內容從信源發送至安全容器,(c)將命令集從信源發送至安全容器,(d)打開安全容器和接收器之間的安全數據通道,(e)將命令集從接收器發送至安全容器,和(f)使用相關的密鑰解密內容901,對所述數據進行代碼轉換,然后在所述安全數據通道上傳遞數據。
圖3B表示在根據本發明第一實施例的安全容器中于上面的步驟(f)中進行的代碼轉換處理。
從信源510發送的加密內容901通過I/O端口501輸入給會話管理器502。會話管理器502具有代碼轉換處理器902和會話密鑰產生器910,所述代碼轉換處理器902由解密單元903和加密單元904構成。來自許可證管理引擎506的解密密鑰905和來自使用規則管理器505的使用規則906被輸入給解密單元903。通過解密單元903使用解密密鑰905來解密加密的內容901。解密內容被作為有條件的內容輸出,對所述有條件的內容已經施加了特定的限制,例如內容能夠播放的次數或內容能夠播放的部分。根據使用規則,解密的輸出被從I/O端口501發送給接收器511,或者發送給加密單元904,或者根本不輸出。
使用會話密鑰907,加密單元904對內容重新進行加密,并將結果作為經代碼轉換的輸出908從I/O端口501輸出至接收器511。在本發明的該實施例中,通過會話密鑰產生器910基于來自接收器511的信息產生會話密鑰907。接收器511對重新加密的內容進行解密使得所述內容可播放。通過加密單元904對內容重新進行加密以改進內容保護。代碼轉換處理器902由此改變內容的編碼格式。還能夠根據來自接收器511的信息配置會話密鑰產生器910以產生詢問(權標)。
圖4為表示根據本發明第一實施例的安全容器的代碼轉換處理的例子的流程圖。
首先,會話管理器502通過I/O端口501從信源接收加密的內容(1001)。
許可證管理引擎506從存儲器504得到與接收的內容連接起來的許可證數據,并將獲取的許可證數據報告給使用規則管理器505。然后使用規則管理器505基于該許可證數據確定使用規則,并應用該使用規則以確定是否需要解密(1002)。
如果需要解密(1002回答是),則加密引擎507基于許可證數據使用解密密鑰對加密的內容進行解密(1003)。如果不需要解密(1002回答否),則控制進行至步驟1004,而不用進行解密。
然后使用規則管理器505應用先前確定的使用規則以確定是否需要加密(1004)。
如果需要加密(1004回答是),則加密引擎507使用會話密鑰對內容進行加密(1005),然后會話管理器502通過I/O端口501將經代碼轉換的內容(重新加密的內容)輸出給接收器511(1006)。如果不需要加密(1004回答否),則會話管理器502通過I/O端口501將解密的內容輸出給接收器511(1007)。
圖5為表示根據本發明第一實施例的安全容器的代碼轉換處理的另一個例子的流程圖。步驟1201、1202、1203和1204與圖4中的步驟1001、1002、1003和1004相同,因此將省略其進一步的說明。在圖5的步驟1205中確定對正在處理的內容進行代碼轉換是否完成。如果處理繼續(1205回答否),則控制返回至步驟1202,并重復代碼轉換處理。因此能夠對流和循環內容應用代碼轉換。
另外,使用開放源能夠建立安全連接,開放源是通過使用Diffie-Hellman密鑰一致性協議來開啟安全容器500接收器511之間的安全連接所廣泛使用的方法。
在用于將數據發送給接收器511的步驟(f)中也可以將定義用于將數據發送給接收器的安全數據通道的加密強度的控制命令包括在命令集(使用規則)中。這允許使用命令集來管理加密強度(即,安全容器500和接收器之間的安全通道的強度),并且能夠根據數據通道類型更加靈活的改善安全性。
在用于將數據發送給接收器的步驟(f)中也可以將指示用于將數據發送給接收器的安全通道為有效的周期的命令集包含在所述命令集(使用規則)中。因此用于管理加密(安全容器500和接收器之間的安全通道)的命令集能夠指定步驟1004中的加密在多長時間內是有效的。這就使其能夠創立允許用戶復制和保存廣播數據例如在某一采購周期內供個人使用的采購系統,或允許有計劃的使用數據的采購系統。
在用于將數據發送給接收器的步驟(f)中也可以將指示將數據的多少個拷貝發送給接收器的命令集包括在所述命令集(使用規則)中。因此用于管理加密(安全容器500和接收器之間的安全通道)的命令集能夠管理這樣的限制,例如指定能夠發送多少個拷貝,能夠產生多少個備份拷貝,和能夠將數據共享多少次。
也可以將在步驟(c)中從信源發送的命令集的一部分或全部包括在于步驟(f)中發送給接收器的命令集中。這能夠將從信源發送的命令加入到安全容器中,并且具有能夠使信源指定安全條件的效果。然而,在附屬于許可證或密鑰的命令集中定義的缺省條件永遠不會被削弱。
另外,也可以將指示在將數據發送給接收器之前將由接收器應用的條件的控制命令包括在于步驟(f)中發送給接收器的命令集中。這能夠使用于管理加密(安全容器和接收器之間的安全通道)的控制命令定義用于接收器的條件,其結果是能夠使信源指定用于接收器的條件。例如,信源能夠指定接收器必須遵從某一安全標準,例如要求用戶確認高價數據,以便完成購買。
使用CPRM(可記錄介質的內容保護)也可打開安全容器和接收器之間的安全連接(d)。使用CPRM允許在兼容CPRM的環境中使用該系統,包括SD卡。
也可省略將命令集從信源發送給安全容器的步驟(c)。這允許在信源僅僅是一個基本的存儲裝置或記錄介質的情況下使用該系統。
下面將參照圖6A、圖6B、圖7和圖8說明用于借助根據本發明第一實施例的安全容器將重新加密的數字數據(內容)從信源發送給接收器的方法的例子。
當通過安全容器500將內容從信源發送給接收器時,在重新加密處理中定義了三個數據集。這三個數據集是內容1401(使用特殊密鑰加密了)、用于加密內容的密鑰1407、和用于控制安全容器500中的操作的命令集。這些命令集被從信源發送給安全容器500,但發送它們的定時和通信裝置不需要是相同的,并能夠在不同的總線上進行發送。安全容器500使用這些數據集來進行重新加密,并且因為對于接收器來說特定的密鑰被用于在重新加密處理中進行重新加密,所以只有那個接收器能夠解密內容。
如圖6A所示,用于重新加密內容的從信源至接收器的傳遞處理由下列五個步驟構成。即,(a)信源使用與內容相聯系的密鑰加密內容,(b)將加密的內容1401從信源發送至安全容器,(c)將在步驟(a)中用于加密的密鑰發送至安全容器,(d)將命令集從接收器發送至安全容器,和(e)使用分派給所述內容的密鑰解密內容1401,然后使用與分派給接收器的密鑰對所述內容重新進行加密。通過存儲在安全容器中的命令集來控制解密和重新加密步驟(e)。步驟(c)中的密鑰也可進行發送作為較早發送或接收的相關許可證的一部分。
圖6B表示在根據本發明第一實施例的安全容器中執行的步驟(e)中的重新加密處理。安全容器500接收加密的內容1401、運行重新加密處理1402、并輸出重新加密的內容1408。該重新加密處理1402包括解密1403和加密1404。使用與許可證(即,解密密鑰1405)相聯系的密鑰加密的內容1401輸入給會話管理器502并使用解密密鑰1405進行解密。然后應用相關的使用規則1406以使用與許可證相聯系的重新加密密鑰1407對解密的內容重新加密,其后述鋤信加密的內容。該重新加密密鑰1407是基于許可證產生,并且因此被從許可證管理引擎506獲取。通過I/O端口501將重新加密的內容1408輸出給接收器511。然后接收器511記錄該重新加密的內容,或解碼和播放所述內容。
圖7為表示由根據本發明第一實施例的安全容器運行的重新加密處理的例子的流程圖。
首先,會話管理器502通過I/O端口501從信源接收加密的內容,并將接收的內容存儲到存儲器504中(1501)。
然后許可證管理引擎506從存儲器504得到與所述內容連接起來的許可證數據,并將許可證發送給使用規則管理器505。使用規則管理器505基于該許可證確定使用規則,并應用該使用規則以確定是否允許進行重新加密(1502)。
如果不允許進行重新加密(1502回答否),則處理結束。如果重新加密被允許(1502回答是),則加密引擎507使用解密密鑰對加密的內容進行編碼(1503)。
加密引擎507應用相關的使用規則并使用來自許可證的解密密鑰對解碼的內容重新進行加密(1504)。然后會話管理器502通過I/O端口501輸出該重新加密的內容(1505)。
圖8為表示由根據本發明第一實施例的安全容器運行的用于循環內容的重新加密處理的例子的流程圖。首先,會話管理器502通過I/O端口501從信源接收加密的內容,并將所述內容保存在存儲器504中,或將所述內容發送給接收器511。
然后許可證管理引擎506從存儲器504讀取用于加密內容的許可證數據,并將許可證數據發送給使用規則管理器505。使用規則管理器505基于該許可證數據確定使用規則,并應用這些使用規則以確定是否允許重新加密(1601)。
如果重新加密不被允許(1601回答否),則處理結束。如果允許重新加密(1601回答是),則加密引擎507從存儲器504讀取部分加密內容,并使用解密密鑰對所述讀取的加密內容進行解碼(1602)。
然后加密引擎507應用相關的使用規則以對所述內容的解碼部分重新進行加密,并且會話管理器502通過I/O端口501輸出該重新加密的內容。
接著,使用規則管理器505再次應用使用規則以確定是否允許對下一部分內容進行重新加密(1604)。如果允許對下一部分內容進行重新加密(1604回答否),則控制返回至步驟1602并且處理繼續。然而,如果重新加密不被允許(1604回答是),則處理結束。注意,當對最后一部分內容進行的處理已經結束時,步驟1604確定重新加密不被允許并且因此處理結束。
因此作為用戶重新加密內容的結果,能夠對特定用戶個別考慮內容,并且因此內容不能由不同方使用。重新加密處理也可對內容進行匿名加密。
也可將定義允許重新加密的計算時間的控制命令包括在步驟(e)的命令集(使用規則)中。這能夠使用于管理重新加密的控制命令指定允許進行重新加密的周期。這就允許構造使用戶能夠復制和保存廣播數據例如在特定采購周期內供個人使用的商業系統。
另外,也可以將指示能夠產生數據的多少個重新加密拷貝的控制命令包括在步驟(e)的命令集中。這能夠使用于管理加密的控制命令指定允許拷貝的數量,并因此限制和管理能夠產生用于數據備份和共享的有效拷貝的數量。另外,因為內容與唯一的用戶相聯系,所以能夠進行監視和審核。
另外,也可以將指示在允許重新加密之前必須由接收器應用的條件的控制命令包括在步驟(e)的命令集中。這能夠使用于管理重新加密的控制命令定義用于接收器的特定條件,其結果是信源能夠定義將由接收器應用的條件。例如,信源能夠指定接收器必須遵從一特定安全標準,以便購買某一高價數據。
也可將在步驟(c)中發送的加密密鑰包括在步驟(e)的命令集中。指定重新加密數據能被復制的次數的控制命令必須從信源發送出來并且不是接收器內置控制命令集的一部分。可通過將其包括在所述命令集中來有效定義這些控制命令。
可通過信源的命令集至少部分的控制步驟(e)。在該情況下,控制命令被存儲在信源中并且加密發生在信源側。這能夠使對應于數據創建者或所有者的信源能夠完全控制重新加密處理。另外,在接收器中存儲用于管理重新加密的控制命令具有能夠使接收器獨立的控制重新加密的效果。
下面將參照圖9A、9B和圖10說明用于檢驗許可證在根據本發明第一實施例的安全容器中的存在情況的方法的示例。注意通過該方法,安全容器被裝配在接收器中,并且是在沒有向信源披露存儲在接收器中的許可證細節的情況下來檢驗許可證的存在情況。
如果信源想要獲得在接收器的許可證池中存儲有有效許可證的驗證,則信源必須請求接收器使用安全通道發送驗證證書。接收器511(安全容器500)產生涉及從信源510發送至接收器511的請求(詢問)的驗證證書。然后接收器511通過安全通道將產生的證書發送給信源510。
該詢問用于詢問響應協議,其是一種驗證協議。客戶機(接收器)DRM系統使用嵌入到許可證中的私密密鑰來簽名詢問。服務器(信源)使用也是許可證一部分并且還可與許可證相關聯的公共密鑰來校驗簽名。因此服務器能夠檢驗DRM系統是否具有許可證和是否響應具有正確信任度的請求。例如,用戶能夠在智能卡中鍵入他自己的私密代碼(詢問)并獲取登錄另一個系統的新代碼(應答)。
如圖9A所示,用于證實存在許可證的處理被分成六個步驟(a)信源和接收器進行的共同驗證;(b)打開信源和接收器之間的安全數據通道;(c)發送為用于許可驗證的請求的詢問;(d)接收器使用詢問和許可證數據產生唯一的驗證;(e)將唯一的驗證發送給信源;和(f)信源校驗在應答中接收的驗證。
圖9B表示在根據本發明第一實施例的安全容器中進行的上述步驟(d)中的用于產生許可證驗證的處理。會話管理器502在請求許可證驗證的會話中從信源510接收詢問,并且處理器1801運行用于產生許可證驗證的處理并輸出結果得到的許可證驗證1804。產生證實許可證存在的許可證驗證的處理器1801由證書產生器1802和數據附加單元1803構成,所述證書產生器1802用于產生包含來自許可證所必需的信息的證書(應答),所述數據附加單元用于為許可證中的任選項添加數據。當信源510請求驗證許可證時,會話密鑰產生器910產生會話密鑰和詢問。從許可證管理引擎506輸出的許可證被發送給證書產生器1802。應該注意許可證假定存儲在存儲器504中。證書產生器1802使用所述會話密鑰和詢問產生驗證證書。然后根據需要對獲得的證書應用來自使用規則管理器505的使用規則。如果許可證包含任選項,則數據附加單元1803將來自許可證管理引擎506的元數據和附加許可證數據添加給證書。然后使用可能是必須的會話密鑰對該新的證書進行加密,然后輸出經加密的許可證驗證1804。該輸出的許可證驗證1804并不傳達許可證本身的內容,而僅證實許可證的內容是正確的。通過I/O端口501將所述輸出的許可證驗證1804發送給信源510。因此信源510通過執行圖9A中的步驟(c)、(d)和(e)而能夠確定接收器或安全容器500具有適當的許可證。
在需要時于該證書的驗證中披露許可證內容以顯示擁有許可證可能會導致非法使用或篡改內容。結果,當不要揭露許可證的內容時,該驗證或證書僅顯示存在有效許可證的證據。例如,對于電子票據重要的是保持有效票據的證據,并且因此不需要揭露加密的內容。
元數據為與許可證或驗證證書不直接相關的數據。在電影院使用電子票的情況下,例如,使用元數據來表示諸如座位號和免費飲料之類的附加信息,但并不局限于此。
圖10為表示用于在根據本發明第一實施例的安全容器中產生許可證驗證的處理的例子的流程圖。首先,會話管理器502通過I/O端口501從信源510接收請求許可證驗證的詢問并開始處理所述詢問。
許可證管理引擎506從存儲器504(許可證池)得到請求的許可證,并將獲取的許可證數據傳送給使用規則管理器505。使用規則管理器505基于該接收的許可數據確定使用規則,應用使用規則,并確定詢問是否為有效的(1901)。
如果詢問是無效的(1901回答否),則處理結束。如果未將請求的許可證存儲在存儲器504中,則請求(詢問)也被看作是無效的并且處理結束。如果請求是有效的(1901回答是),則證書產生器1802和數據附加單元1803使用許可證和詢問產生驗證證書(1902,1903,1904,1905,1906)。更加具體地說,首先產生包含基本許可項的證書(1902)。然后確定是否有任何任選許可項(1903),并且如果有任選許可項,則添加那些項(1904)。然后確定是否需要對產生的證書進行加密(1905),如果需要則對證書進行加密(1906)。應該注意,數據附加單元1803可省略,并且證書產生器1802可被配置用于產生包含基本許可項和任選項的證書。
然后使用規則管理器505應用使用規則并確定是否需要將附加數據添加到證書中(1903)。如果需要添加附加數據(1903回答是),則許可證管理引擎506從許可證中提取將被添加的數據并將所述數據添加到證書中(1904)。
然后使用規則管理器505應用使用規則以確定是否需要對證書進行加密(1905)。如果需要加密(1905回答是),則加密引擎507使用會話密鑰對證書進行加密(1906)。最后,會話管理器502通過I/O端口將產生的證書輸出給信源510。
應該注意請求基于使用規則是否為有效的在使用電子票的情況下指的是寫在使用規則中的票能夠使用的截止有效期和次數,并且如果適用,則確定票是否為有效可用票。許可證是否為有效在該例子中是使用使用規則確定的,但許可證數據文件的名字和創建日期可通過系統或外部設備來評估。
使用電影院的電子票,例如,任選數據可以是用于選擇觀眾以調查電影觀后評論的標記,但任選數據不應被如此限制。
發布對于特定許可證唯一的證書的優點為接收器不需要向信源發送詳細的許可證信息。該證書也可用在使用許可證而非電子票的電子票據系統中。
另外,通過使用Diffie-Hellman密鑰一致性協議打開安全容器和接收器之間的安全連接(b),但使用通常的開啟信源方法也能夠打開安全連接。
可使用CPRM打開安全容器和接收器之間的安全連接(b)。使用CPRM允許在所有兼容CPRM的環境中使用該系統,包括SD卡。
通過命令集來控制用于產生證書的步驟(d)。這能夠使用于管理證書產生的控制命令對如何產生證書產生影響,并能夠使許可證發布者控制如何產生證書。
在用于產生證書的步驟(d)中可使用單向散列函數,由此使其能夠產生加密的安全證書。
可在用于產生證書的步驟(d)中使用來自信源的公共密鑰對詢問和證書進行加密。其優點是信源和安全容器之間的連接不需要是安全的。在該情況下的安全性通過公共密鑰加密方法來提供。在該情況下,可將信源的公共密鑰嵌到許可證中。
在用于產生證書的步驟(d)中將證書發送給信源之前,可使用嵌入到許可證中的密鑰來加密證書。在該情況下,只有許可證發布者和可信的第三方才能解密證書。另外,如果信源能夠解碼證書,則可將信源看作是允許方,并且信源并不需要對安全容器校驗本身。
另外,在用于將證書發送給信源的步驟(d)中,可將證書連同嵌入到許可證中的附加數據一起發送給信源。由此就提供了電子票。
此外,在將其中已經附加了包含于許可證中的附加數據的證書發送給信源之前,能夠使用嵌入到許可證中的密鑰(會話密鑰)來加密證書或附加數據,或二者都加密。由此就提供了電子票。
也可以將指示應將許可證中包含的什么數據添加給證書的信息包括在命令集中。這允許在管理證書產生的控制命令中包括指示許可證中包含的什么數據應包括在證書中的信息,因此使其能夠將嵌入到許可證中的特定元數據(例如內容有效期數據和有效區域碼)附加到證書中。
在命令集中還可以包括隨機數據。更加具體地說,將隨機數據添加到證書中,然后對證書進行加密。其優點是可使經加密的隨機證書看起來像隨機數據,由此能夠消除與另一個先前遞交的許可證書的任何明顯關聯。
下面將參照圖11A、圖11B和圖12說明在根據本發明第一實施例的安全容器中改變許可條件信息的方法的例子。該許可條件信息按照需要分配給許可證或者被嵌入到許可證中。為了改變許可條件信息,首先通過相互驗證在信源和安全容器之間建立安全通道。然后將改變許可條件信息的請求從信源發送給安全容器,并且安全容器對接收的請求進行處理。如果改變許可條件信息成功,則安全容器將改變的證書發送給信源。使用該證書,信源能夠校驗請求變化的結果。注意安全容器假定是在接收器中。
如圖11A所示,用于改變許可條件信息的處理包括七個步驟(a)通過信源和接收器進行相互驗證,(b)打開信源和接收器之間的安全數據通道,(c)將改變許可條件信息的請求和詢問發送給接收器,(d)接收器對許可證應用請求的變化,(e)信源使用詢問和許可證數據產生唯一的證書,(f)將獲得的唯一的證書發送給信源,和(g)信源對接收的證書進行檢驗。
圖11B示意地表示由根據本發明第一實施例的安全容器運行的用于產生許可驗證然后改變那個許可證的處理。會話管理器502在許可證的會話請求驗證中從信源510接收詢問,運行產生許可證驗證的處理,運行處理2101以改變許可證,并輸出產生的證書2105。產生該許可證驗證然后改變許可證的處理器2101由用于改變許可條件信息的處理器2102、用于產生驗證的處理器2103和用于添加數據的處理器2104構成。改變許可條件信息的請求和詢問被發送給會話管理器502,從許可證管理引擎506獲取許可證,然后根據接收的變化請求修改許可證數據。存儲在許可證管理引擎506中的許可證被更新為該修改的許可證,并使用該詢問產生一個證書。然后應用來自使用規則管理器505的相關使用規則,并且如果有請求,則就將來自許可證的數據和元數據添加到證書中。如果需要,新產生的證書也由加密單元2106使用會話密鑰進行加密,并輸出該證書2105。注意也對輸出數據包(指示證書2105)應用使用規則。
圖12為由根據本發明第一實施例的安全容器運行的用于改變許可證和產生許可證驗證的示例性處理的流程圖。首先,會話管理器502從信源接收并開始處理改變許可條件信息的請求和用于許可證驗證的請求。
許可證管理引擎506從存儲器504(許可證池)讀取相應的許可證,并將取還的許可數據傳送給使用規則管理器505。使用規則管理器505基于該接收的許可數據確定使用規則,應用使用規則,并確定詢問是否為有效(2201)。
如果詢問(請求)無效(2201回答否),則處理結束。如果相應的許可證未存儲在存儲器504中,則也可以確定請求無效和處理結束。如果請求有效(2201回答是),則許可證管理引擎506基于接收的改變許可條件信息的請求改變許可條件信息(2202),并將存儲在存儲器504(許可證池)中的許可證更新為改變的許可證(2203)。
然后加密引擎507使用許可證和詢問產生證書(2204)。
然后使用規則管理器505應用使用規則以確定是否必須將附加數據添加到證書中(2205)。如果附加數據是必需的(2205回答是),則許可證管理引擎506從許可證提取將被添加的數據并將所述數據添加到證書中(2206)。如果添加數據不是必需的(2205回答否),則不附加所述數據。
使用規則管理器505應用使用規則以確定是否需要對證書進行加密(2207)。如果需要加密(2207回答是),則加密引擎507使用會話密鑰加密證書(2208)。最后,會話管理器502通過I/O端口501將得到的證書發送給信源510。
何時需要改變許可條件的例子包括年度許可證和會員服務,對此例如通過支付年度會員費來延長許可證的有效性。特定的例子包括軟件許可證和在線雜志訂閱。涉及多種電子票據的其它例子例如包括在某一周期內能夠使用十次的訓練票的應用程序。在該情況下,許可條件被改變以在每次使用票據時減少剩余使用的數目,并且在到達截止日期使使所述票據無效。
該方法的優點包括通過改變許可條件信息而能夠提供雙向或多樣電子票,并能夠限制許可證所涵蓋的數字數據的使用。這些益處將在下面進一步說明。
在允許改變許可證的系統中,未由所述系統管理的許可證變化的可能性增加,且涉及安全的危險增加。然而,通過在許可證中包括一個或多個可變化的值,和在使用規則中定義改變許可證的方法和有效變化的范圍,這些涉及安全的危險能被降低,并且能夠安全改變許可證。
許可條件的一個例子是往返票,其中外出啟程部分是一個許可證條件,而返回部分是第二個條件。一旦使用了返程票,則自動使往返票作廢。如果允許只改變許可證條件,則通過保護用于解碼內容的密鑰而能夠改進安全性。另一個例子是將即電影內容能夠被重放的次數和時間周期定義為條件的許可證。如果數字數據用于電影內容,則許可證條件信息被更新直到滿足定義的條件。當重放數和時間滿足定義的條件時,許可證變成無效并且不能再使用數字數據。
另外,通過使用Diffie-Hellman密鑰一致性協議來打開安全容器和接收器之間的安全連接(b),能夠使用普通的開啟信源方法打開一個安全連接。
還可使用CPRM打開安全容器和接收器之間的安全連接(b)。使用CPRM允許在所有兼容CPRM的環境中使用該系統,包括SD卡。
通過命令集來控制用于產生證書的步驟(e)。這能夠使用于管理證書產生的控制命令對如何產生證書產生影響,并能夠使許可證發布者控制如何產生證書。
在用于產生證書的步驟(e)中可使用單向散列函數,由此使其能夠產生加密的安全證書。
可在用于產生證書的步驟(e)中使用來自信源的公共密鑰對詢問和證書進行加密。其優點是信源和安全容器之間的連接不需要是安全的。在該情況下的安全性通過公共密鑰加密方法來提供。在該情況下,可將信源的公共密鑰嵌到許可證中。
在用于產生證書的步驟(e)中將證書發送給信源之前,可使用嵌入到許可證中的密鑰來加密證書。在該情況下,只有許可證發布者和可信的第三方才能解密證書。另外,如果信源能夠解碼證書,則可將信源看作是允許方,并且信源并不需要對安全容器校驗其本身。
另外,在用于將證書發送給信源的步驟(e)中,可將證書連同嵌入到許可證中的附加數據一起發送給信源。由此就提供了電子票。
此外,在將其中已經附加了包含于許可證中的附加數據的證書發送給信源之前,能夠使用嵌入到許可證中的密鑰(會話密鑰)來加密證書或附加數據,或二者都加密。由此就提供了電子票。
也可以將指示應將許可證中包含的什么數據添加給證書的信息包括在命令集中。這能夠將包含許可證中的特定元數據附加到證書中。
在命令集中還可以包括隨機數據。更加具體地說,將隨機數據添加到證書中,然后對證書進行加密。其優點是可使經加密的隨機證書看起來像隨機數據,由此能夠消除與另一個先前遞交的許可證書的任何明顯關聯。
圖15為根據本發明第一實施例的系統的示意圖。該系統至少由兩個組件構成,即內容提供商300,其是并在下面稱作為服務器,和包含DRM(數字權限管理)終端308的客戶機318。還可以包括PC319,用于存儲從服務器接收的內容。服務器300和客戶機318可通過網絡進行連接,并且客戶機318是用于處理(包括存儲和播放)通過網絡從服務器300獲得的內容的裝置。當從服務器300的內容存儲裝置301獲取內容時,服務器300使用與內容聯系起來的許可證(密鑰)303對將要分發的內容進行加密。該許可證303使用在DRM終端308和服務器300之間的會話中定義的會話密鑰304進行加密(305),然后將加密的許可證發送給DRM終端308。DRM終端308接收加密的許可證,使用會話密鑰311解碼許可證(309),并將解密的許可證存儲在許可證存儲裝置310中。應該注意在本例子中許可證是使用會話密鑰進行解密的,但可將加密的許可證存儲在許可證存儲裝置310中。
從服務器300獲得的內容被存儲在客戶機318的內容存儲裝置317中。注意,可將所述內容存儲在PC319的內容存儲裝置307中。為了播放從服務器300獲得的該內容,把要播放的內容傳送給DRM終端308,然后使用存儲在許可證存儲裝置310中的有關許可證解密內容(312)。還能夠使用在解密之后對內容進行重新加密的代碼轉換(312)。在DRM終端308和客戶機318之間進行的會話中定義的會話密鑰313用于進行代碼轉換。客戶機318從DRM終端308獲取內容,根據需要使用會話密鑰314解密內容,并將解密的內容輸出給某一種介質,例如以便播放獲取的內容。
許可證301包括使用規則或加密的部分。許可證密鑰302是涉及許可證301加密的一個部分,在一個許可證中可包括一個以上的許可證密鑰。
客戶機318可以是終端用戶設備或任何其它用于獲取內容的設備。DRM終端308是布置在客戶機318中的DRM系統,并且可將其固定在客戶機318中,或者它是可拆除的。包含DRM系統的存儲卡是可拆除結構的一個例子。
會話密鑰是用于加密和解密以確保安全連接的臨時密鑰。會話密鑰只對于作為通信連接的會話被開啟的時間和場合才是有效的。
圖16為根據本發明第一實施例的另一個系統的示意圖。該系統至少由三個組件構成,即內容提供商300,其是并在下面稱作為服務器,包含DRM終端308的客戶機318,和外部存儲介質400。該系統與圖15中所示的系統基本相同,不同之處在于內容數據僅被存儲在外部存儲介質400(或外部存儲裝置)上。為了播放從服務器300獲取的內容,把要播放的內容被從外部存儲介質400發送至客戶機318的DRM終端308,并使用存儲在許可證存儲裝置310中的相關許可證進行解密(312)。
還能夠使用在解密之后對內容進行重新加密的代碼轉換(312)。在DRM終端308和客戶機318之間進行的會話中定義的會話密鑰313用于進行代碼轉換。客戶機318從DRM終端308獲取內容,根據需要使用會話密鑰314解密內容,并將解密的內容輸出給某一種介質,例如以便播放獲取的內容。
用戶可例如使用基于卡的系統在線購買許可證。當完成進行采購的驗證時,所述系統打開與許可證發布器(服務器300)的安全連接。然后對請求的許可證數據進行加密并將其發送給所述系統。然后所述系統對加密的許可證數據進行解密(309),確認它是否有效,然后將所述許可證數據存儲在許可證存儲裝置310中。如果命令集,即使用規則指示以加密的狀態存儲許可證,則使用系統內置的唯一私密設備密鑰對許可證進行加密,然后將加密的數據存儲在許可證存儲裝置310中。
如果用戶想要播放音頻內容,例如DRM終端308首先試圖進行驗證,并且如果驗證成功,則打開與用戶客戶機重放裝置(客戶機318)的安全連接,并準備會話密鑰(313,314)。當發布會話密鑰(313,314)時,將期望的內容發送給DRM終端308。使用嵌入到許可證中的密鑰對內容進行解密(312)并使用會話密鑰對其進行重新加密(312),然后將其發送給客戶機重放裝置(客戶機318)。使用特定的會話密鑰314對從DRM終端308發送給客戶機318的內容進行解密,對客戶數據路徑(315)進行處理,然后將解密的內容發送給客戶機318的介質輸出端316。
如果需要對與新許可證相關的特許數據重新進行加密,則首先將內容從客戶機318發送至DRM終端308,使用現有的許可證對其進行解密,然后使用新發布的許可證重新進行加密,再然后將其返回給客戶機318。在該情況下,使用與原始許可證相關的命令集(使用規則)來控制和檢驗內容重新加密處理。
如果作為電子票據服務的一部分,例如,權利所有者要求將許可證的驗證發給DRM系統,則通過本發明就不需要向客戶機發送比證實擁有許可證所需的許可證數據多的許可證數據。當客戶機或權利所有者通過DRM系統成功地進行了驗證時,它們之間的安全連接就被打開并創建一會話密鑰。當權利所有者或客戶機向DRM系統請求驗證時,DRM系統就產生一個證書。在該證書中還可包括任選數據。如果附加至許可證的控制命令集,即使用規則能夠證實有許可證,則可對產生證書產生影響。控制命令集可例如要求對每個證書請求發布不同的證書,或者證書是隨機的,并由此能夠對證書的創建產生影響。
如果權利所有者請求改變許可證條件,例如請求多種電子票據,則用于請求的變化的控制命令就被包括在用于許可證驗證的請求中。在這些控制命令中定義了將對許可證條件應用什么種類的變化。DRM系統應用請求的變化,并將已經添加了更新的規則數據的許可證書返回給請求證書的一方。
(第二實施例)圖2為表示根據本發明第二實施例的安全容器的結構的功能框圖。
該安全容器600與根據第一實施例的安全容器的相同之處在于具有I/O端口501、會話管理器502、許可證管理引擎506、使用規則管理器505、加密引擎507、存儲器管理單元503和存儲器504,不同之處在于另外具有設備相關密鑰存儲器601和日志管理引擎602。
下面將說明本發明第二實施例的附加組件。
設備相關密鑰存儲器601不僅能存儲一個而且能存儲多個用于加密和解密的密鑰,所述密鑰對于每個客戶機系統是唯一的。當加密引擎507使用共享的密鑰加密算法加密和解密許可證數據時,它就使用來自該設備相關密鑰存儲器601的設備相關密鑰。設備相關密鑰對于每個設備是唯一的,并且難于編碼或預先存儲在設備中。如果設備相關密鑰并不涉及用戶信息,則將其看作是匿名的。如果以匿名的方式存儲許可證,則使用設備相關密鑰或內置密鑰。
日志管理引擎602記錄并存儲通過安全容器處理的許可證條件的變化作為日志數據。從會話管理器502接收在由加密引擎507運行的會話、加密和解密處理期間來自通信交易的日志數據,并被記錄和存儲為日志數據。
這允許使用對于系統唯一的密鑰加密內容,并能夠對數據偷盜和篡改提供更強的保護。另外,系統制造商或可信的第三方能夠識別出安全容器或存儲在安全容器中的數字許可證數據何時已經被篡改了或濫用了。
下面將參照圖13A、圖13B和圖14說明在根據本發明第二實施例的安全容器中進行的存儲許可證的方法的例子。當通過安全容器和信源成功的進行了相互驗證時,建立一個安全通道。將通過該安全通道接收的許可數據存儲在安全容器內部的內部存儲器中。假定安全容器在接收器中。
如圖13A所示,用于存儲許可證的處理具有四個步驟(a)通過信源和接收器進行相互驗證,(b)打開信源和接收器之間的安全數據通道,(c)通過所述安全數據通道將許可證從信源發送至接收器,和(d)將許可證存儲在接收器中。
圖13B示意地表示在根據本發明第二實施例的安全容器中存儲許可證的處理。會話管理器502接收加密的許可證,并執行用于保存許可證的處理2402。通過許可證管理引擎506和存儲器管理單元503將許可證存儲到存儲器504中。用于保存許可證的處理2402由解密2403和加密2404組成。
從信源510發送的加密許可證被輸入給會話管理器502。會話密鑰產生器910基于與信源510進行的會話產生一會話密鑰,并使用該會話密鑰對加密的許可證進行解密。所述解密的內容還包含使用規則,并應用這些使用規則。如果需要,然后就對解密的許可證重新進行加密。來自設備相關密鑰存儲器601的設備相關密鑰用于進行重新加密。將該解密的或重新加密的許可證存儲在許可證池中(未示出)。
圖14為表示在根據本發明第二實施例的安全容器中存儲許可證的處理的一個例子的流程圖。會話管理器502首先通過I/O端口501從信源510接收加密的許可證,并開始處理。可使用從信源510通過不同路線(例如郵件)發送的用戶私密密鑰(唯一ID)對接收的許可證進行解密,或者可使用設備相關密鑰(匿名的)對其進行解密。
許可證管理引擎506確定所接收的許可證是否為唯一可識別的,即是否具有唯一的ID(2501)。如果許可證是唯一可識別的(2501回答“唯一ID”),則加密引擎507使用具有相應ID的用戶的私密密鑰來解碼許可證(2502)。如果許可證是匿名的(2501回答“匿名的”),則加密引擎507使用設備相關私密密鑰(設備相關密鑰601)來解碼許可證(2503)。許可證管理引擎506確定解碼的許可證是否有效(2504),如果許可證無效(2504回答否),則處理結束。
許可證管理引擎506將解碼的許可證發送給使用規則管理器505。使用規則管理器505基于接收的許可證確定使用規則,應用這些使用規則,并確定是否需要進行許可證加密(2505)。
如果需要進行許可證加密(2505回答是),則加密引擎507使用設備相關私密密鑰(設備相關密鑰601)對解碼的許可證進行加密(2506)。如果不需要進行加密(2505回答否),則不應用加密。許可證管理引擎506將解密的許可證或重新加密的許可證存儲到存儲器504(許可證池)中(2507)。
唯一ID許可證是使用用戶私密密鑰加密的并存儲在許可證池(許可證管理引擎)中的許可證。用戶私密密鑰包含涉及用戶的信息,例如密碼,并且被登記為屬于系統用戶的信息。然而,用于加密的用戶私密密鑰不是公用的,甚至用戶不能保留除存儲在系統中的密鑰之外的拷貝。該私密密鑰由內容提供商、系統制造商或可信的第三方來提供,或者由所述設備在內部產生。
也可使用其中用于加密的密鑰和用于解密的密鑰不同的公共密鑰加密。如果使用公共密鑰,則用于加密的公共密鑰由設備來提供。然而,涉及加密密鑰的解密密鑰不能在任何期望的時間僅使用加密密鑰來計算。
為了將許可證保存在安全容器中,由此通過一個安全數據通道將許可證數據從信源發送給接收器,并將其存儲在接收器的存儲器中。許可證數據作為純文本永遠不會泄漏出去。
另外,通過使用Diffie-Hellman密鑰一致性協議打開安全容器和接收器之間的安全連接,就能夠使用普通的開啟信源方法來打開一個安全連接。
另外,也可使用CPRM來打開安全容器和接收器之間的安全連接。使用CPRM允許在所有兼容CPRM的環境中使用該系統,包括SD卡。
用于保存許可證的另一種方法包括下列步驟(a)通過信源和接收器進行相互驗證,(b)將有關接收器的公共密鑰發送給信源,(c)將使用有關接收器的公共密鑰加密的許可證從信源發送給接收器,和(d)接收器使用有關接收器的私密密鑰解密許可證。在該情況下,當通過安全容器和信源成功進行了相互驗證時,將有關設備的公共密鑰發送給信源。信源使用接收的公共密鑰對許可證數據進行加密,并將加密的數據發送給安全容器。然后安全容器將接收的數據存儲在內部存儲器中。
也可結合地使用上述的實施例。
因此,為了在安全容器中保存許可證,將許可證數據從信源安全地發送給接收器,并將其安全的保存在接收器的存儲器中。許可證數據作為純文本永遠不會被泄漏。
(本發明的有益效果)因此,借助本發明能夠自由播放合法獲得的內容,而不會被限制使用專用重放硬件或具有唯一ID的兼容PC硬件,并通過提供加密算法和安全存儲和傳送數字許可證數據的協議確保了許可證數據的安全管理。
另外,對于系統唯一的密鑰可用于內容加密,由此能夠對數據偷盜和篡改提供加強的保護。另外,系統制造商或可信的第三方能夠識別出對安全容器或存儲在其中的數字許可證數據的篡改或濫用。
另外,本發明可用于連線和未連線的所有類型的媒體發布,并且不局限于任何特定的平臺或媒體類型。除了數字內容和媒體權限保護外,本發明還可應用于軟件、編程發布和其它基于許可證的保護方案。
(工業應用)本發明可用于數據保護管理設備和數據保護管理方法。
權利要求
1.一種數據保護管理系統,允許在保護和管理通信數據的同時,在發送器和接收器之間進行許可證和加密內容的數據通信,所述數據保護管理系統包括會話管理器,用于執行從發送器獲取許可證和加密內容的處理;許可證管理引擎,用于存儲和管理通過會話管理器獲取的許可證;和存儲器,用于存儲許可證;其中當接收到詢問時,其為用于許可證驗證的請求,會話管理器產生一個校驗許可證的證書并將產生的證書發送給接收器。
2.如權利要求1所述的數據保護管理系統,還包括使用規則管理器,用于確定與許可證相關的使用規則,并應用使用規則以處理許可證和內容中的至少一個。
3.如權利要求1所述的數據保護管理系統,其中所述會話管理器對證書進行加密。
4.如權利要求1所述的數據保護管理系統,其中所述會話管理器將一任選項從許可證添加至證書。
5.如權利要求4所述的數據保護管理系統,其中使用包含在許可證中的密鑰來加密所述任選項數據。
6.如權利要求2所述的數據保護管理系統,其中使用規則包括用于根據許可證確定將被添加到證書中的數據的信息。
7.如權利要求1所述的數據保護管理系統,其中當從接收器接收到許可證變化時,會話管理器在變化之前從許可證管理引擎讀取許可證,改變許可證,并將改變的許可證保存在許可證管理引擎中。
8.如權利要求1所述的數據保護管理系統,其中會話管理器使用所述密鑰來解密內容。
9.如權利要求1所述的數據保護管理系統,其中會話管理器對解密的內容重新進行加密。
10.如權利要求9所述的數據保護管理系統,其中用于進行重新加密的密鑰是根據來自發送器的信息產生的。
11.一種數據保護管理方法,允許在保護和管理通信數據的同時,在發送器和接收器之間進行許可證和加密內容的數據通信,所述數據保護管理方法包括用于執行從發送器獲取許可證和加密內容的處理的會話步驟;用于存儲和管理通過會話管理器獲取的許可證的步驟;用于存儲解密加密的內容所需的密鑰的步驟;和用于存儲許可證的步驟;其中當接收到詢問時,其為用于許可證驗證的請求,會話步驟產生一個校驗許可證的證書并將該產生的證書發送給接收器。
12.如權利要求11所述的數據保護管理方法,還包括用于確定與許可證相關的使用規則的步驟,和應用使用規則以處理許可證和內容中的至少一個的步驟。
13.如權利要求11所述的數據保護管理方法,其中所述會話步驟對證書進行加密。
14.如權利要求11所述的數據保護管理方法,其中所述會話步驟將一任選項從許可證添加至證書。
15.如權利要求14所述的數據保護管理方法,其中使用包含在許可證中的密鑰來加密所述任選項數據。
16.如權利要求12所述的數據保護管理方法,其中使用規則包括用于根據許可證確定將被添加到證書中的數據的信息。
17.如權利要求11所述的數據保護管理方法,其中會話步驟包括當從接收器接收到許可證變化時,在變化之前從許可證管理引擎讀取許可證,改變許可證,并將改變的許可證保存在許可證管理引擎部分中。
18.如權利要求11所述的數據保護管理方法,其中會話步驟使用所述密鑰來解密內容。
19.如權利要求18所述的數據保護管理方法,其中會話步驟對解密的內容重新進行加密。
20.如權利要求19所述的數據保護管理方法,還包括根據來自發送器的信息產生用于進行重新加密的密鑰的步驟。
全文摘要
數據保護管理裝置保護數字許可證和數字數據,使得數字數據的濫用和非法使用得以防止。所述裝置具有I/O端口、會話管理器、許可證管理引擎、使用規則管理器、加密引擎、存儲器管理器和存儲器。許可證管理引擎獲取、存儲和管理由會話管理器打開的會話中的許可證,和使用規則管理器通過應用使用規則來提供用于安全存儲和發送數字許可證數據的加密算法和協議以使用由許可證管理引擎管理的許可證。
文檔編號G06F21/10GK1764883SQ200480008248
公開日2006年4月26日 申請日期2004年3月23日 優先權日2003年3月24日
發明者丹尼爾·韋伯, 斯蒂芬·沃爾特, 洼田憲一 申請人:松下電器產業株式會社