欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

使用多用途控制結(jié)構(gòu)的內(nèi)容控制系統(tǒng)和方法

文檔序號:6455431閱讀:336來源:國知局
專利名稱:使用多用途控制結(jié)構(gòu)的內(nèi)容控制系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明大體涉及存儲器系統(tǒng),且明確地說涉及一種具有通用內(nèi)容控制特征的存儲器 系統(tǒng)。
背景技術(shù)
例如快閃存儲器卡的存儲裝置已成為用于存儲例如照片等數(shù)字內(nèi)容的首選存儲媒 體??扉W存儲器卡還可用于分配其它類型的媒體內(nèi)容。此外,越來越多種類的主機裝置, 例如計算機、數(shù)碼相機、蜂窩式電話、個人數(shù)字助理(PDA)和媒體播放器(例如,MP3 播放器),現(xiàn)具有呈現(xiàn)存儲在快閃存儲器卡中的媒體內(nèi)容的能力。因此,快閃存儲器卡以 及其它類型的移動存儲裝置存在巨大潛力變?yōu)橛糜诜峙鋽?shù)字內(nèi)容的廣泛使用的媒介物。
隨著用于各種用途的存儲裝置(例如智能卡)的使用不斷增長,需要存儲裝置具備 更多控制和處理能力。因此,在一些應(yīng)用中,可能需要在存儲裝置中存儲某些控制結(jié)構(gòu)。 這些控制結(jié)構(gòu)使存儲裝置能夠控制對存儲于裝置中的數(shù)據(jù)的存取。舉例來說,智能卡已 經(jīng)被用于存儲銀行業(yè)務(wù)相關(guān)信息,例如用于存取銀行賬戶或健康保險相關(guān)信息的憑證。 控制結(jié)構(gòu)安裝于智能卡中,以防止對此類信息的未經(jīng)授權(quán)存取。關(guān)于智能卡的信息,可 參閱2003年英格蘭約翰威立父子(John Wiley & Sons)有限公司Rankl和Effing所著的 智能卡手冊第三版。目前,智能卡已經(jīng)主要用于單一用法或用途,例如為預(yù)付費電話卡、 銀行卡或健康保險卡的形式。
在其它應(yīng)用中,可能希望在存儲裝置中存儲軟件應(yīng)用程序。這些軟件應(yīng)用程序使存 儲裝置能夠處理存儲于裝置中的數(shù)據(jù)。舉例來說,稱為JAVA卡的某些智慧卡含有用于 支持服務(wù)(例如銀行業(yè)務(wù)服務(wù))的軟件應(yīng)用程序。關(guān)于JAVA卡的信息可參閱C.Enrique Ortiz在2003年5月29日公開于升陽開發(fā)者網(wǎng)絡(luò)(Sun Developer Network)上的"Java 卡技術(shù)簡介,第一部分"的文章。然而,通過其設(shè)計,包含JAVA卡的智慧卡用于控制 存取數(shù)據(jù)或存取應(yīng)用程序,然而并非兩者。
由于上述各種爭議和問題的緣故,目前在存儲裝置和主機裝置中使用的系統(tǒng)均不完 全令人滿意。因此,需要提供具有較好特性的改進的系統(tǒng)。

發(fā)明內(nèi)容
在許多應(yīng)用中,在存儲裝置上運行數(shù)據(jù)處理活動是有利的。與在主機上執(zhí)行所有數(shù) 據(jù)處理任務(wù)的解決方案相比,所得系統(tǒng)將為較安全、較有效且較不依賴于主機。在一個 實施例中,至少一個軟件應(yīng)用程序存儲于非易失性存儲器系統(tǒng)中,其中所述至少一個軟 件應(yīng)用程序能夠被主機調(diào)用,以執(zhí)行存儲器系統(tǒng)中的數(shù)據(jù)的處理。存儲于存儲器系統(tǒng)中 的安全性數(shù)據(jù)結(jié)構(gòu)控制對可從所述數(shù)據(jù)獲得的信息和對所述至少一個軟件應(yīng)用程序的存 取。
在另一實施例中, 一種數(shù)據(jù)存儲設(shè)備用于向主機提供數(shù)據(jù)處理服務(wù)。存儲于數(shù)據(jù)存 儲設(shè)備的非易失性存儲器系統(tǒng)中的至少一個軟件應(yīng)用程序能夠被主機調(diào)用,以執(zhí)行存儲 器系統(tǒng)內(nèi)的數(shù)據(jù)的處理。存儲于存儲器系統(tǒng)內(nèi)的一組協(xié)議用于主機與數(shù)據(jù)存儲設(shè)備之間 的通信。當(dāng)所述至少一個軟件應(yīng)用程序被調(diào)用時,所述協(xié)議中的至少一者被修改。此特 征使主機與數(shù)據(jù)存儲設(shè)備之間的通信能夠較靈活地由所述至少一個軟件應(yīng)用程序的調(diào)用 來控制。
在又一實施例中,存儲于非易失性存儲器系統(tǒng)內(nèi)的安全性數(shù)據(jù)結(jié)構(gòu)根據(jù)存取策略而 控制主機對存儲于存儲器系統(tǒng)內(nèi)的數(shù)據(jù)的存取。當(dāng)存儲于存儲器系統(tǒng)內(nèi)的軟件應(yīng)用程序 被調(diào)用時,強加不同于存取策略的至少一額外條件,以用于主機對數(shù)據(jù)的存取。
.在本發(fā)明的又一個實施例中,至少一個軟件應(yīng)用程序和至少一個數(shù)據(jù)對象存儲于非 易失性存儲器系統(tǒng)中。建立所述至少一個數(shù)據(jù)對象與所述至少一個軟件應(yīng)用程序之間的 關(guān)聯(lián),使得當(dāng)存取所述至少一個數(shù)據(jù)對象時,調(diào)用所述至少一個軟件應(yīng)用程序'以處理 所述至少一個數(shù)據(jù)對象內(nèi)的數(shù)據(jù)。
在又一實施例中,多個軟件應(yīng)用程序存儲于非易失性存儲器裝置中。響應(yīng)于主機請 求,調(diào)用所述多個應(yīng)用程序中的第一軟件應(yīng)用程序,以創(chuàng)建用于存儲從來源接收的數(shù)據(jù) 或衍生數(shù)據(jù)的數(shù)據(jù)對象。所述數(shù)據(jù)對象與所述多個軟件應(yīng)用程序中的第二軟件應(yīng)用程序 相關(guān)聯(lián)。當(dāng)存取所述數(shù)據(jù)對象時,調(diào)用所述第二軟件應(yīng)用程序。
在又一實施例中,至少一個軟件應(yīng)用程序存儲于非易失性存儲器系統(tǒng)中,其中所述 至少一個軟件應(yīng)用程序能夠被主機調(diào)用,以執(zhí)行存儲于或待存儲于存儲器系統(tǒng)內(nèi)的數(shù)據(jù) 的處理,以獲得信息。存儲于所述存儲器系統(tǒng)內(nèi)的安全性數(shù)據(jù)結(jié)構(gòu)包括第一控制結(jié)構(gòu), 其用于控制主機對所述信息的存?。灰约暗诙刂平Y(jié)構(gòu),其用于控制所述至少一個軟件 應(yīng)用程序的調(diào)用,其中所述第一和第二控制結(jié)構(gòu)采用實質(zhì)上相同的控制機制。
在本發(fā)明的又一個實施例中,至少一個數(shù)據(jù)對象存儲于非易失性存儲器系統(tǒng)中。多個第一組不同的協(xié)議也存儲于存儲器系統(tǒng)中,其中所述第一組協(xié)議中的個別組協(xié)議可供 主機選擇,以使來自主機的數(shù)據(jù)或從所述數(shù)據(jù)導(dǎo)出的衍生數(shù)據(jù)能夠被提供到并存儲于所 述至少一個數(shù)據(jù)對象中。存儲于存儲器系統(tǒng)中的第二組協(xié)議使得能夠從所述至少一個數(shù)
據(jù)對象檢索所述數(shù)據(jù)或衍生數(shù)據(jù)。第二組協(xié)議能夠?qū)崿F(xiàn)檢索所述數(shù)據(jù)或衍生數(shù)據(jù),而不 管所述第一組協(xié)議的哪一者實現(xiàn)了所述數(shù)據(jù)或衍生數(shù)據(jù)的所述提供和存儲。
在存儲系統(tǒng)中,可個別使用上述特征,或可以任何組合來組合上述特征,以為內(nèi)容 所有者提供控制和/或保護的較廣的多用途。
本文參考的所有專利、專利申請案、論文、書籍、說明書、標(biāo)準(zhǔn)、其它出版物、文 獻和內(nèi)容全文出于所有目的以引用的方式并入本文中。在所并入的出版物、文獻或內(nèi)容 的任一者與本文獻的原文之間的術(shù)語的定義或使用中的任何不一致或沖突的范圍內(nèi),所 述術(shù)語在本文獻中的定義或使用將為主導(dǎo)。


圖1是與主機裝置通信的存儲器系統(tǒng)的方框圖,其可用于說明本發(fā)明。
圖2是存儲器的不同分區(qū)以及存儲在不同分區(qū)中的未加密和加密文件的示意圖,其
中對某些分區(qū)和加密文件的存取由存取策略和驗證程序控制,所述示意圖可用于說明本
發(fā)明的不同實施例。
圖3是說明存儲器中的不同分區(qū)的存儲器的示意圖。
圖4是用于圖3所示的存儲器的不同分區(qū)的文件位置表的示意圖,其中分區(qū)中的一 些文件經(jīng)加密,所述示意圖可用于說明本發(fā)明的不同實施例。
圖5是存取受控記錄群組中的存取控制記錄和相關(guān)聯(lián)密鑰參考的示意圖,其可用于 說明本發(fā)明的不同實施例。
圖6是由存取受控記錄群組和存取受控記錄形成的樹結(jié)構(gòu)的示意圖,其可用于說明 本發(fā)明的不同實施例。
圖7是說明存取受控記錄群組的三個層級樹的樹的示意圖,其用以說明樹的形成過程。
圖8A和8B是說明由主機裝置和存儲器裝置實行的過程的流程圖,所述存儲器裝置 例如為用于創(chuàng)建并使用系統(tǒng)存取控制記錄的存儲器卡。
圖9是說明使用系統(tǒng)存取控制記錄來創(chuàng)建存取受控記錄群組的過程的流程圖,其可 用于說明不同實施例。
圖10是說明用于創(chuàng)建存取控制記錄的過程的流程圖。
14圖11是兩個存取控制記錄群組的示意圖,其可用于說明層級樹的特定應(yīng)用。 圖12是說明特定權(quán)利的授權(quán)過程的流程圖。
圖13是存取受控記錄群組和存取控制記錄的示意圖,其用以說明圖12的授權(quán)過程。 圖14是說明創(chuàng)建用于加密和/或解密目的的密鑰的過程的流程圖。 圖15是說明用于根據(jù)所存取受控記錄移除存取權(quán)和/或?qū)?shù)據(jù)存取的準(zhǔn)許的過程的 流程圖。
圖16是說明用于當(dāng)存取權(quán)和/或?qū)Υ嫒〉臏?zhǔn)許已被刪除或已期滿時請求存取的過程 的流程圖。
圖17A和17B是說明針對用于準(zhǔn)予對密碼密鑰的存取的驗證和策略的規(guī)則結(jié)構(gòu)的組 織的示意圖,其可用于說明本發(fā)明的不同實施例。
圖18是說明用于根據(jù)策略控制對受保護信息的存取的替代方法的數(shù)據(jù)庫結(jié)構(gòu)的方 框圖。
圖19是說明使用密碼的驗證過程的流程圖。 圖20是說明若干主機證書鏈的圖。 圖21是說明若干裝置證書鏈的圖。
圖22和23是說明用于單向和相互驗證方案的過程的協(xié)議圖。 圖24是可用于說明本發(fā)明的一個實施例的證書鏈的圖。
圖25是說明處于證書緩沖器之前的控制扇區(qū)中的由主機為將最后證書發(fā)送到存儲 器裝置而發(fā)送的信息的表,其展示所述證書是證書鏈中的最后證書的指示,所述表用以 說明本發(fā)明的另一實施例。
圖26和27是說明分別針對其中存儲器卡正驗證主機裝置的驗證方案的卡和主機過 程的流程圖。
圖28和29是說明分別針對其中主機裝置正驗證存儲器卡的驗證方案的卡和主機過 程的流程圖。
圖30和31是說明分別由主機裝置和存儲器裝置實行的過程的流程圖,其中存儲在 存儲器裝置中的證書撤回列表由主機裝置檢索,所述流程圖用以說明本發(fā)明的又一實施 例。
圖32是展示列表中的字段的證書撤回列表的圖,其用以說明本發(fā)明的再一實施例。 圖33和34是說明分別用于使用證書撤回列表檢驗證書的卡和主機過程的流程圖。 圖35是說明用于卡對發(fā)送到主機的數(shù)據(jù)進行簽署以及用于解密來自主機的數(shù)據(jù)的卡過程的流程圖。
圖36是說明其中卡對發(fā)送到主機的數(shù)據(jù)進行簽署的主機過程的流程圖。 圖37是說明其中主機將經(jīng)加密數(shù)據(jù)發(fā)送到存儲器卡的主機過程的流程圖。 圖38和39是說明分別用于一般信息查詢和謹(jǐn)慎信息査詢的過程的流程圖。 圖40A是連接到主機裝置的存儲器裝置(例如,快閃存儲器卡)中的系統(tǒng)結(jié)構(gòu)的功 能方框圖,其用以說明本發(fā)明的一實施例。
圖40B是圖40A的SSM核心的內(nèi)部軟件模塊的功能方框圖。 圖41是用于產(chǎn)生一次性密碼的系統(tǒng)的方框圖。
圖42是說明一次性密碼(OTP)種子供應(yīng)和OTP產(chǎn)生的功能方框圖。
圖43是說明種子供應(yīng)階段的協(xié)議圖。
圖44是說明一次性密碼產(chǎn)生階段的協(xié)議圖。
圖45是說明DRM系統(tǒng)的功能方框圖。
圖46是說明用于許可證供應(yīng)和內(nèi)容下載的過程的協(xié)議圖,其中密鑰在許可證對象中 提供。
圖47是說明用于重放操作的過程的協(xié)議圖。
圖48是說明用于許可證供應(yīng)和內(nèi)容下載的過程的協(xié)議圖,其中密鑰不在許可證對象 中提供。
圖式說明本發(fā)明各方面的各種實施例中的特征。為了描述的簡單起見,本申請案中, 相同組件由相同標(biāo)號標(biāo)記。
具體實施例方式
其中可實施本發(fā)明各方面的實例存儲器系統(tǒng)由圖1的方框圖說明。如圖1所示,存 儲器系統(tǒng)IO包含中央處理單元(CPU) 12、緩沖器管理單元(BMU) 14、主機接口模塊 (HIM) 16和快閃接口模塊(FIM) 18、快閃存儲器20以及外圍存取模塊(PAM) 22。 存儲器系統(tǒng)10通過主機接口總線26和端口 26a與主機裝置24通信??赡転镹AND型 的快閃存儲器20為主機裝置24提供數(shù)據(jù)存儲裝置,主機裝置24可以是數(shù)碼相機、個人 計算機、個人數(shù)字助理(PDA)、數(shù)字媒體播放器(例如,MP-3播放器)、蜂窩式電話、 機頂盒或其它數(shù)字裝置或器具。用于CPU 12的軟件代碼也可存儲在快閃存儲器20中。 FIM 18通過快閃接口總線28和端口 28a連接到快閃存儲器20。 HIM 16適于連接到主機 裝置。外圍存取模塊22選擇適當(dāng)?shù)目刂破髂K(例如,F(xiàn)IM、 HIM和BMU)以用于與 CPU 12通信。在一個實施例中,虛線框內(nèi)的系統(tǒng)IO的所有組件可封閉在單一單元中(例如,存儲器卡或棒IO'中)且優(yōu)選地被囊封。存儲器系統(tǒng)IO可移除地連接到主機裝置24, 使得系統(tǒng)10中的內(nèi)容可由許多不同主機裝置的每一者存取。
在下文的描述中,存儲器系統(tǒng)10也稱為存儲器裝置10,或簡單地稱為存儲器裝置 或裝置。雖然本文中參考快閃存儲器說明本發(fā)明,但本發(fā)明也可應(yīng)用于其它類型的存儲 器,例如磁盤、光學(xué)CD,以及所有其它類型的可重寫非易失性存儲器系統(tǒng)。
緩沖器管理單元14包含主機直接存儲器存取(HDMA) 32、快閃直接存儲器存取 (FDMA) 34、仲裁器36、緩沖器隨機存取存儲器(BRAM) 38和加密引擎40。仲裁器 36是共享總線仲裁器,使得在任何時間僅一個主控裝置或起始器(其可為HDMA 32、 FDMA34或CPU 12)可為處于活動狀態(tài)的,且從屬裝置或目標(biāo)為BRAM 38。仲裁器負 責(zé)將適當(dāng)起始器請求多路傳輸?shù)紹RAM 38。 HDMA32和FDMA34負責(zé)在HIM 16、 FIM 18與BRAM 38或CPU隨機存取存儲器(CPU RAM) 12a之間傳送的數(shù)據(jù)。HDMA 32 和FDMA 34的操作是常規(guī)的且本文中不需要詳細描述。BRAM 38用于存儲主機裝置24 與快閃存儲器20之間傳遞的數(shù)據(jù)。HDMA 32和FDMA 34負責(zé)在HIM 16/FIM 18與BRAM 38或CPU RAM 12a之間傳遞數(shù)據(jù)且用于指示扇區(qū)完成。
在一個實施例中,存儲器系統(tǒng)10產(chǎn)生用于加密和/或解密的密鑰值,其中此值優(yōu)選 地實質(zhì)上不可由例如主機裝置24等外部裝置存取?;蛘?,也可在系統(tǒng)10外部(例如由 許可證服務(wù)器)產(chǎn)生密鑰值,并將其發(fā)送到系統(tǒng)IO。不管如何產(chǎn)生密鑰值, 一旦密鑰值 存儲在系統(tǒng)10中,就只有經(jīng)驗證實體將能夠存取密鑰值。然而,通常逐個文件地進行加 密和解密,因為主機裝置以文件的形式讀取數(shù)據(jù)和將數(shù)據(jù)寫入到存儲器系統(tǒng)10。如同許 多其它類型的存儲裝置那樣,存儲器裝置IO不管理文件。雖然存儲器20確實存儲文件 分配表(FAT)(其中識別文件的邏輯地址),但FAT通常由主機裝置24而不由控制器12 存取和管理。因此,為了加密特定文件中的數(shù)據(jù),控制器12必須依賴于主機裝置來發(fā)送 存儲器20中的文件中的數(shù)據(jù)的邏輯地址,使得系統(tǒng)IO可使用僅可由系統(tǒng)IO使用的密鑰 值找到并加密和/或解密特定文件的數(shù)據(jù)。
為了向主機裝置24和存儲器系統(tǒng)10兩者提供句柄以參考相同密鑰來用密碼方法處 理文件中的數(shù)據(jù),主機裝置提供針對由系統(tǒng)10產(chǎn)生或發(fā)送到系統(tǒng)10的密鑰值的每一者 的參考,其中此類參考可簡單地為密鑰ID。因此,主機24將由系統(tǒng)IO用密碼方法處理 的每一文件與密鑰ID相關(guān)聯(lián),且系統(tǒng)10將用于用密碼方法處理數(shù)據(jù)的每一密鑰值與由 主機提供的密鑰ID相關(guān)聯(lián)。因此,當(dāng)主機請求用密碼方法處理數(shù)據(jù)時,其將把所述請求 連同密鑰ID連同待從存儲器20獲取或存儲在存儲器20中的數(shù)據(jù)的邏輯地址一起發(fā)送到系統(tǒng)10。系統(tǒng)10產(chǎn)生或接收密鑰值并將由主機24提供的密鑰ID與此值相關(guān)聯(lián),且執(zhí) 行密碼處理。以此方式,不需要在存儲器系統(tǒng)IO操作的方式方面作出變化,同時允許其 使用密鑰完全控制密碼處理,包含對密鑰值的專有存取。換句話說, 一旦密鑰值存儲在 系統(tǒng)IO中或由系統(tǒng)10產(chǎn)生,系統(tǒng)就繼續(xù)允許主機24通過擁有對FAT的專有控制來管理 文件,同時其維持針對對用于密碼處理的密鑰值的管理的專有控制。在密鑰值存儲在存 儲器系統(tǒng)10中之后,主機裝置24與對用于數(shù)據(jù)的密碼處理的密鑰值的管理無關(guān)。
由主機24提供的密鑰ID和發(fā)送到存儲器系統(tǒng)或由存儲器系統(tǒng)產(chǎn)生的密鑰值形成一 量的兩個屬性,下文在實施例的一者中稱為"內(nèi)容加密密鑰"或CEK。雖然主機24可使 每一密鑰ID與一個或一個以上文件相關(guān)聯(lián),但主機24也可使每一密鑰ID與未經(jīng)組織的 數(shù)據(jù)或以任何方式組織的數(shù)據(jù)相關(guān)聯(lián),且不限于組織為完整文件的數(shù)據(jù)。
為了使用戶或應(yīng)用程序獲得對系統(tǒng)10中的受保護內(nèi)容或區(qū)域的存取,其將需要使用 向系統(tǒng)IO預(yù)先注冊的憑證來驗證。憑證與以此憑證準(zhǔn)予給特定用戶或應(yīng)用程序的存取權(quán) 相聯(lián)系。在預(yù)先注冊過程中,系統(tǒng)IO存儲用戶或應(yīng)用程序的身份和憑證以及由用戶或應(yīng) 用程序確定并通過主機24提供的與此身份和憑證相關(guān)聯(lián)的存取權(quán)的記錄。在預(yù)先注冊已 完成之后,當(dāng)用戶或應(yīng)用程序請求將數(shù)據(jù)寫入到存儲器20時,其將需要通過主機裝置提 供其身份和憑證、用于加密數(shù)據(jù)的密鑰ID,以及經(jīng)加密數(shù)據(jù)將被存儲到的邏輯地址。系 統(tǒng)IO產(chǎn)生或接收密鑰值并使此值與由主機裝置提供的密鑰ID相關(guān)聯(lián),且將針對用于加 密待寫入的數(shù)據(jù)的密鑰值的密鑰ID存儲在其針對此用戶或應(yīng)用程序的記錄或表中。其接 著加密數(shù)據(jù)并將經(jīng)加密數(shù)據(jù)及其產(chǎn)生或接收的密鑰值存儲在由主機指定的地址處。
當(dāng)用戶或應(yīng)用程序請求從存儲器20讀取經(jīng)加密數(shù)據(jù)時,其將需要提供其身份和憑 證、針對先前用于加密所請求的數(shù)據(jù)的密鑰的密鑰ID,以及經(jīng)加密數(shù)據(jù)被存儲到的邏輯 地址。系統(tǒng)IO將接著將由主機提供的用戶或應(yīng)用程序身份和憑證與存儲在其記錄中的用 戶或應(yīng)用程序身份和憑證進行匹配。如果它們匹配,那么系統(tǒng)io將接著從其存儲器中獲 取與由用戶或應(yīng)用程序提供的密鑰ID相關(guān)聯(lián)的密鑰值,使用密鑰值解密存儲在由主機裝 置指定的地址處的數(shù)據(jù),并將經(jīng)解密數(shù)據(jù)發(fā)送到用戶或應(yīng)用程序。
通過將驗證憑證與對用于密碼處理的密鑰的管理分離,則有可能在不共享憑證的情 況下共享存取數(shù)據(jù)的權(quán)利。因此,具有不同憑證的用戶或應(yīng)用程序的群組可存取用于存 取相同數(shù)據(jù)的相同密鑰,而此群組外的用戶不具有存取權(quán)。雖然群組內(nèi)的所有用戶或應(yīng) 用程序可存取相同數(shù)據(jù),但其可能仍具有不同權(quán)利。因此, 一些用戶或應(yīng)用程序可能具 有只讀存取權(quán),而其它用戶或應(yīng)用程序可能僅具有寫入存取權(quán),而另外其它用戶或應(yīng)用程序可能具有兩者。由于系統(tǒng)IO維持用戶或應(yīng)用程序身份和憑證、其能夠存取的密鑰ID 以及與密鑰ID的每一者相關(guān)聯(lián)的存取權(quán)的記錄,所以系統(tǒng)10有可能針對特定用戶或應(yīng) 用程序添加或刪除密鑰ID并改變與此類密鑰ID相關(guān)聯(lián)的存取權(quán),從一個用戶或應(yīng)用程 序向另一用戶或應(yīng)用程序授權(quán)存取權(quán),或甚至刪除或添加用于用戶或應(yīng)用程序的記錄或 表,所有均如經(jīng)適當(dāng)驗證的主機裝置所控制。所存儲的記錄可指定需要安全通道用于存 取某些密鑰。可使用對稱或不對稱算法以及密碼來完成驗證。
尤其重要的是,存儲器系統(tǒng)IO中的安全內(nèi)容的便攜性。在其中對密鑰值的存取由存 儲器系統(tǒng)控制的實施例中,當(dāng)存儲器系統(tǒng)或并入有所述系統(tǒng)的存儲裝置從一個外部系統(tǒng) 轉(zhuǎn)移到另一外部系統(tǒng)時,維持存儲在其中的內(nèi)容的安全性。不管密鑰由存儲器系統(tǒng)產(chǎn)生 還是源自存儲器系統(tǒng)外部,外部系統(tǒng)均不能存取系統(tǒng)IO中的此類內(nèi)容,除非其已用完全 由存儲器系統(tǒng)控制的方式經(jīng)驗證。即使在如此經(jīng)驗證之后,存取也完全由存儲器系統(tǒng)控 制,且外部系統(tǒng)僅可以根據(jù)存儲器系統(tǒng)中的預(yù)設(shè)記錄而控制的方式存取。如果請求不遵 守此類記錄,那么請求將被拒絕。
為了提供保護內(nèi)容方面的較大靈活性,預(yù)想下文中稱為分區(qū)的存儲器的某些區(qū)域僅 可由經(jīng)適當(dāng)驗證的用戶或應(yīng)用程序來存取。當(dāng)與基于密鑰的數(shù)據(jù)加密的上述特征組合時, 系統(tǒng)IO提供較大的數(shù)據(jù)保護能力。如圖2所示,快閃存儲器20可將其存儲容量劃分為 若干分區(qū)用戶區(qū)域或分區(qū)和定制分區(qū)。用戶區(qū)域或分區(qū)PO可由所有用戶和應(yīng)用程序在 不驗證的情況下存取。雖然存儲在用戶區(qū)域中的數(shù)據(jù)的所有位值可由任何應(yīng)用程序或用 戶讀取或?qū)懭?如果數(shù)據(jù)讀取經(jīng)加密的話),但沒有解密權(quán)限的用戶或應(yīng)用程序?qū)⒉荒艽?取由存儲在用戶區(qū)域中的位值表示的信息。這(例如)由存儲在用戶區(qū)域PO中的文件 102和104說明。同樣存儲在用戶區(qū)域中的是未加密文件(例如,106),其可由所有應(yīng) 用程序和用戶讀取和理解。因此,象征性地,經(jīng)加密的文件展示為具有與其相關(guān)聯(lián)的例 如用于文件102和104的鎖。
雖然用戶區(qū)域PO中的經(jīng)加密文件無法由未經(jīng)授權(quán)應(yīng)用程序或用戶理解,但此類應(yīng)用 程序或用戶可能仍能夠刪除或破壞文件,這對于一些應(yīng)用來說可能是不合需要的。出于 此目的,存儲器20還包含受保護定制分區(qū),例如分區(qū)P1和P2,其不能在沒有預(yù)先驗證
的情況下被存取。下文中闡釋本申請案中的實施例中準(zhǔn)許的驗證過程。
同樣如圖2中所說明,多種用戶或應(yīng)用程序可存取存儲器20中的文件。因此,用戶 1和2以及應(yīng)用程序1-4 (在裝置上運行)在圖2中展示。在允許這些實體存取存儲器20 中的受保護內(nèi)容之前,其首先以下文中闡釋的方式由驗證過程驗證。在此過程中,正請
19求存取的實體需要在主機側(cè)被識別以實現(xiàn)基于角色的存取控制。因此,請求存取的實體 首先通過供應(yīng)例如"我是應(yīng)用程序2,且我希望讀取文件1"等信息來識別其自身。控制 器12接著將身份、驗證信息和請求與存儲在存儲器20或控制器12中的記錄進行匹配。 如果滿足所有要求,那么接著向此實體準(zhǔn)予存取權(quán)。如圖2中所說明,允許用戶l從分 區(qū)Pl中的文件101讀取和向其進行寫入,但除了用戶1具有從PO中的文件106讀取和 向其進行寫入的不受限權(quán)利外,用戶1僅可讀取文件102和104。另一方面,不允許用 戶2存取文件101和104但用戶2具有對文件102的讀取和寫入存取權(quán)。如圖2中所指 示,用戶1和2具有相同登錄算法(AES),而應(yīng)用程序1和3具有不同登錄算法(例如, RSA和001001),其也不同于用戶1和2的登錄算法。
安全存儲應(yīng)用程序(SSA)是存儲器系統(tǒng)10的安全性應(yīng)用,且說明本發(fā)明的一實施 例,其可用于實施上文識別的特征中的許多特征。SSA可體現(xiàn)為軟件或計算機代碼,其 中數(shù)據(jù)庫存儲在存儲器20或CPU 12中的非易失性存儲器(未圖示)中,且被讀取到RAM 12a中并由CPU 12執(zhí)行。下表中陳述參考SSA使用的首字母縮略詞
定義、首字母縮略詞和縮寫
ACR存取控制記錄
AGPACR群組
CBC鏈區(qū)塊密碼
CEK內(nèi)容加密密鑰
ECB電子密碼本
ACAMACR屬性管理
PCR許可控制記錄
SSA安全存儲應(yīng)用程序
實體登錄SSA并因此利用其功能性的具有真實和個體存在狀態(tài)(主機側(cè))的任何事物。
SSA系統(tǒng)描述
數(shù)據(jù)安全性、完整性和存取控制是SSA的主要作用。數(shù)據(jù)是原本會清楚地存儲在某 種大容量存儲裝置上的文件。SSA系統(tǒng)位于存儲系統(tǒng)的頂部且為所存儲的主機文件添加 安全性層,并通過下文描述的安全性數(shù)據(jù)結(jié)構(gòu)提供安全性功能。
SSA的主要任務(wù)是管理與存儲器中存儲(且安全)的內(nèi)容相關(guān)聯(lián)的不同權(quán)利。存儲 器應(yīng)用程序需要管理多個用戶和對多個所存儲內(nèi)容的內(nèi)容權(quán)利。主機應(yīng)用程序從其側(cè)看 到此類應(yīng)用程序可見的驅(qū)動程序和分區(qū),以及管理并描繪存儲裝置上所存儲文件的位置 的文件分配表(FAT)。在此情況下,存儲裝置使用劃分為分區(qū)的NAND快閃芯片,但也可使用其它移動存 儲裝置且其在本發(fā)明的范圍內(nèi)。這些分區(qū)是連續(xù)的邏輯地址線程,其中開始和結(jié)束地址 界定其邊界。因此,可視需要借助軟件(例如,存儲在存儲器20中的軟件)向?qū)﹄[藏分 區(qū)的存取強加限制,所述軟件使此類限制與此類邊界內(nèi)的地址相關(guān)聯(lián)。SSA可通過由其 管理的分區(qū)的邏輯地址邊界來完全辨別分區(qū)。SSA系統(tǒng)使用分區(qū)來物理上保護數(shù)據(jù)使其 免于未經(jīng)授權(quán)的主機應(yīng)用程序的影響。對于主機,分區(qū)是界定在其中存儲數(shù)據(jù)文件的專 門空間的機制。這些分區(qū)可為公共的,其中具有對存儲裝置的存取權(quán)的任何人均可了解 并意識到裝置上分區(qū)的存在;或者分區(qū)為專用或隱藏的,其中僅選定的主機應(yīng)用程序可 存取并意識到其存在于存儲裝置中。
圖3是說明存儲器的分區(qū)PO、 Pl、 P2和P3 (顯然,可使用少于或多于四個分區(qū)) 的存儲器的示意圖,其中PO是可由任何實體在不驗證的情況下存取的公共分區(qū)。
專用分區(qū)(例如,Pl、 P2或P3)隱藏對其內(nèi)部的文件的存取。通過防止主機存取所 述分區(qū),快閃裝置(例如,快閃卡)給予對分區(qū)內(nèi)部的數(shù)據(jù)文件的保護。然而,這種保 護通過向?qū)Υ鎯υ诜謪^(qū)內(nèi)的邏輯地址處的數(shù)據(jù)的存取強加限制而涵蓋了駐存在隱藏分區(qū) 中的所有文件。換句話說,所述限制與某一邏輯地址范圍相關(guān)聯(lián)。能夠存取所述分區(qū)的 所有用戶/主機將具有對內(nèi)部所有文件的不受限存取權(quán)。為了將不同文件(或文件群組) 彼此隔離,SSA系統(tǒng)使用密鑰和密鑰參考或密鑰ID提供每文件或文件群組的另一水平的 安全性和完整性。用于加密不同存儲器地址處的數(shù)據(jù)的特定密鑰值的密鑰參考或密鑰ID 可類推到含有經(jīng)加密數(shù)據(jù)的容器或域。出于這個原因,在圖4中,密鑰參考或密鑰ID(例 如,"密鑰1"和"密鑰2")用圖形展示為圍繞使用與密鑰ID相關(guān)聯(lián)的密鑰值加密的文 件的區(qū)域。
參看圖4,舉例來說,文件A可由所有實體在不驗證的情況下存取,因為其展示為 未被任何密鑰ID封閉。盡管公共分區(qū)中的文件B可由所有實體讀取或重寫,但其含有以 具有ID"密鑰1"的密鑰加密的數(shù)據(jù),使得文件B中所含的信息不可由實體存取,除非 此實體具有對此密鑰的存取權(quán)。以此方式,使用密鑰值和密鑰參考或密鑰ID僅提供邏輯 保護,這與由上文描述的分區(qū)提供的保護類型形成對比。因此,可存取分區(qū)(公共或?qū)?用)的任何主機能夠讀取或?qū)懭胝麄€分區(qū)中的數(shù)據(jù),包含經(jīng)加密數(shù)據(jù)。然而,由于數(shù)據(jù) 經(jīng)加密,所以未經(jīng)授權(quán)的用戶僅可破壞它。其優(yōu)選地不能在不被檢測到的情況下改變數(shù) 據(jù)。通過限制對加密和/或解密密鑰的存取權(quán),此特征可僅允許經(jīng)授權(quán)的實體使用所述數(shù) 據(jù)。文件B和C也在PO中使用具有密鑰ID "密鑰2"的密鑰加密??赏ㄟ^使用內(nèi)容加密密鑰(CEK)的對稱加密方法(每CEK—種方法)來提供數(shù)據(jù) 機密性和完整性。在SSA實施例中,CEK中的密鑰值由僅在內(nèi)部使用的快閃裝置(例如, 快閃卡)產(chǎn)生或接收,并對于外界保持作為秘密。經(jīng)加密或譯成密碼的數(shù)據(jù)也可為散列 的或密碼被鏈?zhǔn)椒謮K以確保數(shù)據(jù)完整性。
并非分區(qū)中的所有數(shù)據(jù)由不同密鑰加密并與不同密鑰ID相關(guān)聯(lián)。公共或用戶文件中 或操作系統(tǒng)區(qū)域(即,F(xiàn)AT)中的某些邏輯地址可能不與任何密鑰或密鑰參考相關(guān)聯(lián),且 因此可由可存取分區(qū)本身的任何實體使用。
調(diào)用創(chuàng)建密鑰和分區(qū)以及從其中進行數(shù)據(jù)寫入和讀取或使用密鑰的能力的實體需要 通過存取控制記錄(ACR)登錄SSA系統(tǒng)。SSA系統(tǒng)中的ACR的特權(quán)稱為動作。每個 ACR可具有許可以執(zhí)行以下三個類別的動作創(chuàng)建分區(qū)和密鑰/密鑰ID、存取分區(qū)和密 鑰,以及創(chuàng)建/更新其它ACR。
ACR以群組來組織,稱為ACR群組或AGP。 一旦ACR已經(jīng)成功驗證,SSA系統(tǒng)就 打幵一對話,通過所述對話可執(zhí)行ACR的動作的任一者。ACR和AGP是用于根據(jù)策略 控制對分區(qū)和密鑰的存取的安全性數(shù)據(jù)結(jié)構(gòu)。
用戶分區(qū)
SSA系統(tǒng)管理一個或一個以上公共分區(qū),也稱為用戶分區(qū)。此分區(qū)存在于存儲裝置
上,且是可通過存儲裝置的標(biāo)準(zhǔn)讀取寫入命令存取的分區(qū)。獲得關(guān)于分區(qū)大小以及其在
裝置上的存在狀態(tài)的信息優(yōu)選地不能向主機系統(tǒng)隱藏。
SSA系統(tǒng)使得能夠通過標(biāo)準(zhǔn)讀取寫入命令或SSA命令存取此分區(qū)。因此,存取分區(qū)
優(yōu)選地不可限于特定ACR。然而,SSA系統(tǒng)可使主機裝置能夠?qū)⒋嫒∠抻谟脩舴謪^(qū)。可 個別地啟用/停用讀取和寫入存取。允許所有四個組合(例如,僅寫入、僅讀取(寫入保 護)、讀取和寫入,以及無存取)。
SSA系統(tǒng)使ACR能夠?qū)⒚荑€ID與用戶分區(qū)內(nèi)的文件相關(guān)聯(lián),并使用與此類密鑰ID 相關(guān)聯(lián)的密鑰來加密個別文件。存取用戶分區(qū)內(nèi)的經(jīng)加密文件以及設(shè)定對分區(qū)的存取權(quán) 將使用SSA命令集來完成。以上特征也適用于未組織為文件的數(shù)據(jù)。
SSA分區(qū)
這些是僅可通過SSA命令存取的隱藏(對未經(jīng)授權(quán)方隱藏)分區(qū)。除了通過借助登 錄到ACR上建立的對話(下文描述)來存取SSA分區(qū)之外,SSA系統(tǒng)將優(yōu)選地不允許 主機裝置存取SSA分區(qū)。類似地,優(yōu)選地,SSA將不提供關(guān)于SSA分區(qū)的存在、大小和 存取許可的信息,除非此請求通過所建立的對話而到來。
22對分區(qū)的存取權(quán)是從ACR許可導(dǎo)出的。 一旦ACR登錄到SSA系統(tǒng)中,其就可與其 它ACR共享分區(qū)(下文描述)。當(dāng)創(chuàng)建分區(qū)時,主機為分區(qū)提供參考名稱或ID (例如, 圖3和4中的P0-P3)。此參考用于對分區(qū)的進一步讀取和寫入命令中。
存儲裝置的分割
裝置的所有可用存儲容量優(yōu)選地分配到用戶分區(qū)和當(dāng)前配置的SSA分區(qū)。因此,任 何再分割操作可能涉及現(xiàn)有分區(qū)的重新配置。對裝置容量(所有分區(qū)的大小之和)的凈 變化將為零。裝置存儲器空間中的分區(qū)的ID由主機系統(tǒng)界定。
主機系統(tǒng)可將現(xiàn)有分區(qū)的一者再分割為兩個較小分區(qū)或?qū)蓚€現(xiàn)有分區(qū)(其可能或 可能不鄰近)合并為一個。經(jīng)劃分或合并的分區(qū)中的數(shù)據(jù)可由主機斟酌而擦除或保持不 受影響。
由于存儲裝置的再分割可能導(dǎo)致數(shù)據(jù)損失(因為其在存儲裝置的邏輯地址空間中被 擦除或到處移動),所以SSA系統(tǒng)管理對再分割的嚴(yán)格限制。僅允許駐存在根AGP(下 文闡釋)中的ACR發(fā)布再分割命令,且其僅可參考其所擁有的分區(qū)。由于SSA系統(tǒng)不 知道數(shù)據(jù)在分區(qū)中如何組織(FAT或其它文件系統(tǒng)結(jié)構(gòu)),所以主機的責(zé)任是在再分割裝 置的任何時間重建這些結(jié)構(gòu)。
用戶分區(qū)的再分割將改變主機OS所看到的此分區(qū)的大小和其它屬性。
再分割之后,主機系統(tǒng)的責(zé)任是確保SSA系統(tǒng)中的任何ACR不在參考非現(xiàn)有分區(qū)。 如果這些ACR未被適當(dāng)刪除或更新,那么代表這些ACR存取非現(xiàn)有分區(qū)的將來嘗試將 被系統(tǒng)檢測到并拒絕。關(guān)于刪除的密鑰和密鑰ID予以類似注意。
密鑰、密鑰ID和邏輯保護
當(dāng)將文件寫入到某一隱藏分區(qū)時,其向一般公眾隱藏。但是, 一旦一實體(敵對或 不敵對)獲得了解和對此分區(qū)的存取權(quán),文件就變得可用且容易看見。為了進一步保護 文件,SSA可在隱藏分區(qū)中對其進行加密,其中用于存取用于對文件進行解密的密鑰的 憑證優(yōu)選地不同于那些用于存取分區(qū)的憑證。由于文件完全由主機控制和管理的事實, 所以使CEK與文件相關(guān)聯(lián)成為問題。將文件鏈接到SSA確認(rèn)的某一內(nèi)容(密鑰ID)將 對此進行校正。因此,當(dāng)SSA創(chuàng)建密鑰時,主機使此密鑰的密鑰ID與使用由SSA創(chuàng)建 的密鑰加密的數(shù)據(jù)相關(guān)聯(lián)。如果所述密鑰連同密鑰ID—起被發(fā)送到SSA,那么所述密鑰 和密鑰ID可容易地彼此相關(guān)聯(lián)。
密鑰值和密鑰ID提供邏輯安全性。與給定密鑰ID相關(guān)聯(lián)的所有數(shù)據(jù)(不管其位置 如何)用內(nèi)容加密密鑰(CEK)中的相同密鑰值譯成密碼,所述CEK的參考名稱或密鑰ID在由主機應(yīng)用程序創(chuàng)建時唯一地提供。如果一實體獲得對隱藏分區(qū)的存取權(quán)(通過經(jīng) 由ACR驗證)并希望讀取或?qū)懭氪朔謪^(qū)內(nèi)的經(jīng)加密文件,那么其需要能夠存取與所述文 件相關(guān)聯(lián)的密鑰ID。當(dāng)準(zhǔn)予對針對此密鑰ID的密鑰的存取時,SSA將密鑰值加載于與 此密鑰ID相關(guān)聯(lián)的CEK中,并在將數(shù)據(jù)發(fā)送到主機之前對數(shù)據(jù)進行解密,或在將數(shù)據(jù) 寫入到快閃存儲器20之前對數(shù)據(jù)進行加密。在一個實施例中,SSA系統(tǒng)隨機創(chuàng)建與密鑰 ID相關(guān)聯(lián)的CEK中的密鑰值一次,并由SSA系統(tǒng)維持所述密鑰值。SSA系統(tǒng)外部沒有 任一方了解或能夠存取CEK中的此密鑰值。外界僅提供并使用參考或密鑰ID,而不是 CEK中的密鑰值。密鑰值完全由SSA管理且優(yōu)選地僅可由SSA存取。或者,可將密鑰 提供給SSA系統(tǒng)。
SSA系統(tǒng)使用以下密碼模式中的任一者(用戶定義)來保護與密鑰ID相關(guān)聯(lián)的數(shù)據(jù) (所使用的實際密碼算法以及CEK中的密鑰值由系統(tǒng)控制且不揭示給外界)
區(qū)塊模式-數(shù)據(jù)劃分為區(qū)塊,每一區(qū)塊經(jīng)個別加密。此模式通常視為不太安全且容易 受字典攻擊。然而,其將允許用戶隨機存取數(shù)據(jù)區(qū)塊中的任一者。
鏈接模式-數(shù)據(jù)劃分為區(qū)塊,所述區(qū)塊在加密過程期間鏈接。每個區(qū)塊被用作對下一 區(qū)塊的加密過程的輸入中的一個輸入。在此模式中(盡管視為較安全的),從開始到結(jié)束 循序?qū)懭牒妥x取數(shù)據(jù),從而創(chuàng)建可能不可被用戶接受的額外開銷。
散列的-額外創(chuàng)建了可用于證實數(shù)據(jù)完整性的數(shù)據(jù)摘要的鏈模式。
ACR和存取控制
SSA經(jīng)設(shè)計以處置多個應(yīng)用程序,其中所述應(yīng)用程序的每一者在系統(tǒng)數(shù)據(jù)庫中表示 為節(jié)點樹。通過確保樹分支之間無串?dāng)_來實現(xiàn)應(yīng)用程序之間的相互排斥。
為了獲得對SSA系統(tǒng)的存取權(quán),實體需要經(jīng)由系統(tǒng)的ACR的一者建立連接。SSA 系統(tǒng)根據(jù)用戶選擇與其連接的ACR中內(nèi)嵌的定義來管理登錄程序。
ACR是到達SSA系統(tǒng)的個別登錄點。ACR保持登錄憑證和驗證方法。同樣駐存在 記錄中的是SSA系統(tǒng)內(nèi)的登錄許可,其中是讀取和寫入特權(quán)。這在圖5中說明,圖5說 明同一 AGP中的n個ACR。這意味著n個ACR中的至少一些可共享對同一密鑰的存取 權(quán)。因此,ACR#1和ACR弁n共享對具有密鑰ID "密鑰3"的密鑰的存取權(quán),其中ACR #1和ACR #n是ACR ID,且"密鑰3"是用于加密與"密鑰3"相關(guān)聯(lián)的數(shù)據(jù)的密鑰的 密鑰ID。同一密鑰還可用于加密和/或解密多個文件,或多個數(shù)據(jù)集。
SSA系統(tǒng)支持到系統(tǒng)上的若干類型的登錄,其中驗證算法和用戶憑證可變化,如一 旦用戶成功登錄則用戶在系統(tǒng)中的特權(quán)可變化那樣。圖5再次說明不同的登錄算法和憑證。ACRS1指定密碼登錄算法且密碼作為憑證,而ACR弁2指定PKI(公共密鑰基礎(chǔ)結(jié)構(gòu)) 登錄算法且公共密鑰作為憑證。因此,為了登錄,實體將需要提供有效的ACRID,以及 正確的登錄算法和憑證。
一旦實體已登錄到SSA系統(tǒng)的ACR中,就在與ACR相關(guān)聯(lián)的許可控制記錄(PCR) 中界定其許可(其使用SSA命令的權(quán)利)。在圖5中,根據(jù)所展示的PCR, ACR弁1準(zhǔn)予 對與"密鑰3"相關(guān)聯(lián)的數(shù)據(jù)的僅讀取許可,且ACRft2準(zhǔn)予讀取和寫入與"密鑰5"相 關(guān)聯(lián)的數(shù)據(jù)的許可。
不同的ACR可在系統(tǒng)中共享共同興趣和特權(quán),例如用以讀取和寫入的密鑰方面的共 同興趣和特權(quán)。為了實現(xiàn)這一目的,具有共同之處的ACR分組為AGP—ACR群組。因 此,ACR#1和ACR井n共享對具有密鑰ID "密鑰3"的密鑰的存取權(quán)。
AGP和其內(nèi)部的ACR以層級樹組織,且因此除了創(chuàng)建保持敏感數(shù)據(jù)安全的安全密 鑰以外,ACR可優(yōu)選地還創(chuàng)建對應(yīng)于其密鑰ID/分區(qū)的其它ACR實體。這些ACR子代 將具有與其父代(創(chuàng)建者)相同或少于其父代的許可,且可被給予針對父代ACR自身創(chuàng) 建的密鑰的許可。不言而喻,子代ACR獲得對其所創(chuàng)建的任何密鑰的存取許可。這在圖 6中說明。因此,AGP 120中的所有ACR均由ACR 122創(chuàng)建,且此類ACR中的兩個從 ACR122繼承對存取與"密鑰3"相關(guān)聯(lián)的數(shù)據(jù)的許可。
AGP
通過指定AGP和AGP內(nèi)的ACR來完成到SSA系統(tǒng)上的登錄。 每個AGP具有唯一ID (參考名稱),其用作針對其在SSA數(shù)據(jù)庫中的條目的索引。 當(dāng)創(chuàng)建AGP時,AGP名稱提供到SSA系統(tǒng)。如果所提供的AGP名稱已存在于系統(tǒng)中, 那么SSA將拒絕創(chuàng)建操作。
AGP用于管理對如以下段落中將描述的存取和管理許可的授權(quán)的限制。圖6中的兩 個樹所提供的功能之一是管理完全分離實體(例如,兩個不同應(yīng)用程序,或兩個不同計 算機用戶)的存取。出于此類目的,可能重要的是,兩個存取過程大體彼此獨立(即, 實質(zhì)上無串?dāng)_),即使兩者同時發(fā)生。這意味著每一樹中的驗證、許可以及額外ACR和 AGP的創(chuàng)建不連接到且不依賴于另一樹的驗證、許可以及額外ACR和AGP的創(chuàng)建。因 此,當(dāng)SSA系統(tǒng)用于存儲器IO中時,這允許存儲器系統(tǒng)IO同時服務(wù)于多個應(yīng)用程序。 其還允許兩個應(yīng)用程序彼此獨立地存取兩個單獨數(shù)據(jù)集(例如,照片集和歌曲集)。這在 圖6中說明。因此,與針對經(jīng)由圖6的頂部部分中的樹中的節(jié)點(ACR)的應(yīng)用程序或 用戶存取的"密鑰3"、"密鑰X"和"密鑰Z"相關(guān)聯(lián)的數(shù)據(jù)可包括照片。與針對經(jīng)由圖 6的底部部分中的樹的節(jié)點(ACR)的應(yīng)用程序或用戶存取的"密鑰5"和"密鑰Y"相關(guān)聯(lián)的數(shù)據(jù)可包括歌曲。創(chuàng)建AGP的ACR具有僅當(dāng)AGP沒有ACR條目時刪除所述AGP 的許可。
實體的SSA入口點存取控制記錄(ACR)
SSA系統(tǒng)中的ACR描述準(zhǔn)許實體登錄到系統(tǒng)中的方式。當(dāng)實體登錄到SSA系統(tǒng)中 時,其需要指定對應(yīng)于其即將執(zhí)行的驗證過程的ACR。 ACR包含許可控制記錄(PCR), 其說明一旦如圖5中說明的ACR中所定義而經(jīng)驗證用戶就可執(zhí)行的所準(zhǔn)予的動作。主機 側(cè)實體提供所有ACR數(shù)據(jù)字段。
當(dāng)實體已成功登錄到ACR上時,實體將能夠查詢所有ACR的分區(qū)以及密鑰存取許 可和ACAM許可(下文闡釋)。
ACR ID
當(dāng)SSA系統(tǒng)實體啟始登錄過程時,其需要指定對應(yīng)于登錄方法的ACR ID (由主機 當(dāng)創(chuàng)建ACR時提供),使得當(dāng)已滿足所有登錄要求時SSA將設(shè)置正確算法并選擇正確 PCR。當(dāng)創(chuàng)建ACR時,將ACR ID提供到SSA系統(tǒng)。
登錄/驗證算法
驗證算法指定什么種類的登錄程序?qū)⒈粚嶓w使用,以及需要什么種類的憑證來提供 用戶身份的證明。SSA系統(tǒng)支持若千標(biāo)準(zhǔn)登錄算法,在從無程序(以及無憑證)和基于 密碼的程序到基于對稱或不對稱密碼術(shù)的雙向驗證協(xié)議的范圍內(nèi)變化。
憑證
實體的憑證對應(yīng)于登錄算法,且由SSA使用以檢驗并驗證用戶。憑證的實例可以是 用于密碼驗證的密碼/PIN數(shù)字、用于AES驗證的AES密鑰等。憑證的類型/格式(即' PIN、對稱密鑰等)經(jīng)預(yù)先定義并從驗證模式導(dǎo)出當(dāng)創(chuàng)建ACR時,將其提供到SSA系 統(tǒng)。SSA系統(tǒng)與定義、分配和管理這些憑證無關(guān),基于PKI的驗證除外,其巾裝置(例 如,快閃卡)可用于產(chǎn)生RSA或其它類型的密鑰對,且公共密鑰可被導(dǎo)出以用于證書產(chǎn) 生。
許可控制記錄(PCR)
PCR展示在登錄到SSA系統(tǒng)中并成功通過ACR的驗證過程之后準(zhǔn)予實體的內(nèi)容。 存在三種類型的許可類別用于分區(qū)和密鑰的創(chuàng)建許可、針對分區(qū)和密鑰的存取許可, 以及用于實體-ACR屬性的管理許可。
存取分區(qū)
PCR的此段落含有實體在成功完成ACR階段后可存取的分區(qū)的列表(使用如提供到 SSA系統(tǒng)的其ID)。對于每一分區(qū),存取類型可限于僅寫入或僅讀取,或可指定完全寫入/讀取存取權(quán)。因此,圖5中的ACR弁1能夠存取分區(qū)#2而不是分區(qū)#1。 PCR中指定的 限制適用于SSA分區(qū)和公共分區(qū)。
可通過到達代管SSA系統(tǒng)的裝置(例如,快閃卡)的規(guī)則讀取和寫入命令或通過SSA 命令來存取公共分區(qū)。當(dāng)以限制公共分區(qū)的許可創(chuàng)建根ACR (下文闡釋)時,其可將所 述許可傳遞到其子代。ACR可優(yōu)選地僅限制規(guī)則讀取和寫入命令存取公共分區(qū)。SSA系 統(tǒng)中的ACR可優(yōu)選地僅在其創(chuàng)建后被限制。 一旦ACR具有從公共分區(qū)讀取/向公共分區(qū) 寫入的許可時,優(yōu)選地其不能被取走。
存取密鑰ID
PCR的此段落含有與當(dāng)實體的登錄過程已滿足ACR策略時實體可存取的密鑰ID(如 由主機提供到SSA系統(tǒng))的列表相關(guān)聯(lián)的數(shù)據(jù)。所指定的密鑰ID與駐存在PCR中出現(xiàn) 的分區(qū)中的文件相關(guān)聯(lián)。由于密鑰ID不與裝置(例如,快閃卡)中的邏輯地址相關(guān)聯(lián), 所以當(dāng)一個以上分區(qū)與特定ACR相關(guān)聯(lián)時,文件可為分區(qū)中的任一者。PCR中指定的密 鑰ID每一者可具有不同的存取權(quán)集。存取由密鑰ID指向的數(shù)據(jù)可限于僅寫入或僅讀取, 或可指定完全寫入/讀取存取權(quán)。
ACR屬性管理(ACAM)
此段落描述在某些情況下可如何改變ACR的系統(tǒng)屬性。 SSA系統(tǒng)中可準(zhǔn)許的ACAM動作是
1. 創(chuàng)建廣lj除/更新AGP和ACR。
2. 創(chuàng)建/刪除分區(qū)和密鑰。
3. 授權(quán)對密鑰和分區(qū)的存取權(quán)。
父代ACR優(yōu)選地不能編輯ACAM許可。這將優(yōu)選地需要刪除和重新創(chuàng)建ACR。并 且,對由ACR創(chuàng)建的密鑰ID的存取許可優(yōu)選地不能被取走。
ACR可具有創(chuàng)建其它ACR和AGP的能力。創(chuàng)建ACR也可意味著向其授權(quán)由其創(chuàng) 建者擁有的一些或所有ACAM許可。具有創(chuàng)建ACR的許可意味著具有對于以下動作的 許可
1. 定義和編輯子代的憑證一驗證方法優(yōu)選地一旦通過創(chuàng)建ACR設(shè)定就不能被編輯。 可在已針對子代定義的驗證算法的邊界內(nèi)改變憑證。
2. 刪除ACR。
3. 授權(quán)對子代ACR的創(chuàng)建許可(因此具有孫代)。
具有創(chuàng)建其它ACR的許可的ACR具有向其所創(chuàng)建的ACR授權(quán)解除封鎖許可的許可(盡管其可能不具有對ACR進行解除封鎖的許可)。父代ACR將把對其解除封鎖者的參 考放置在子代ACR中。
父代ACR是具有刪除其子代ACR的許可的唯一 ACR。當(dāng)ACR刪除其創(chuàng)建的較低 層的ACR時,接著由此較低層ACR產(chǎn)生的所有ACR也自動刪除。當(dāng)刪除ACR時,接 著刪除其創(chuàng)建的所有密鑰ID和分區(qū)。
存在ACR可更新其自身的記錄的兩個例外情況
1. 密碼/PIN (盡管由創(chuàng)建者ACR設(shè)定)僅可由包含其的ACR更新。
2. 根ACR可刪除其本身和其所駐存在的AGP。 授權(quán)對密鑰和分區(qū)的存取權(quán)
ACR及其AGP組合在層級樹中,其中根AGP和其內(nèi)部的ACR處于樹的頂部(例 如,圖6中的根AGP130和132)。 SSA系統(tǒng)中可存在若干AGP樹,但其完全彼此分離。 AGP內(nèi)的ACR可向其所處的同一 AGP內(nèi)的所有ACR以及向由其創(chuàng)建的所有ACR授權(quán) 對其密鑰的存取許可。創(chuàng)建密鑰的許可優(yōu)選地包含授權(quán)使用密鑰的存取許可的許可。
對密鑰的許可劃分為三個類別
1. 存取一這定義對于密鑰的存取許可,即讀取、寫入。
2. 所有權(quán)一依據(jù)定義,創(chuàng)建密鑰的ACR是其所有者。此所有權(quán)可從一個ACR授權(quán) 給另一 ACR (倘若其處于同一 AGP中或子代AGP中)。密鑰的所有權(quán)提供刪除密鑰以及 授權(quán)對于所述密鑰的許可的許可。
3. 存取權(quán)授權(quán)一此許可使ACR能夠授權(quán)其所持有的權(quán)利。 ACR可授權(quán)對其所創(chuàng)建的分區(qū)以及其具有存取許可的其它分區(qū)的存取許可。 通過將分區(qū)的名稱和密鑰ID添加到所指定的ACR的PCR來完成許可授權(quán)。授權(quán)密
鑰存取許可可通過密鑰ID或通過陳述存取許可是針對授權(quán)ACR的所有所創(chuàng)建密鑰來進 行。
ACR的封鎖和解除封鎖
ACR可具有封鎖計數(shù)器,其當(dāng)實體向系統(tǒng)進行的ACR驗證過程不成功時遞增。當(dāng) 達到不成功驗證的某一最大數(shù)目(MAX)時,SSA系統(tǒng)將封鎖ACR。
被封鎖ACR可由被封鎖ACR所參考的另一 ACR解除封鎖。對解除封鎖ACR的參 考由其創(chuàng)建者設(shè)定。解除封鎖ACR優(yōu)選地處于與被封鎖ACR的創(chuàng)建者相同的AGP中, 且具有"解除封鎖"許可。
系統(tǒng)中沒有其它ACR可對被封鎖ACR解除封鎖。ACR可能配置有封鎖計數(shù)器但沒
28有解除封鎖者ACR。在此情況下,如果此ACR被封鎖,那么其無法被解除封鎖。 根AGP—創(chuàng)建應(yīng)用程序數(shù)據(jù)庫
SSA系統(tǒng)經(jīng)設(shè)計以處置多個應(yīng)用程序并使其每一者的數(shù)據(jù)隔離。AGP系統(tǒng)的樹結(jié)構(gòu) 是用于識別并隔離應(yīng)用程序特定數(shù)據(jù)的主要工具。根AGP處于應(yīng)用程序SSA數(shù)據(jù)庫樹 的尖端處并遵守稍許不同的行為規(guī)則。若干根AGP可配置于SSA系統(tǒng)中。兩個根AGP130 和132展示于圖6中。顯然,可使用更少或更多AGP,且其在本發(fā)明的范圍內(nèi)。
通過將新AGP/ACR樹添加到裝置的過程,針對新應(yīng)用程序和/或裝置的新應(yīng)用程序 的發(fā)布憑證來注冊裝置(例如,快閃卡)。
SSA系統(tǒng)支持根AGP創(chuàng)建(以及根AGP的所有ACR及其許可)的三種不同模式
1. 開放不要求任何種類的驗證的任何用戶或?qū)嶓w或通過系統(tǒng)ACR (下文闡釋)驗 證的用戶/實體可創(chuàng)建新的根AGP。開放模式使得能夠在當(dāng)所有數(shù)據(jù)傳遞在開放通道上完 成(即,在發(fā)布代理的安全環(huán)境中)時沒有任何安全性措施的情況下,或通過經(jīng)由系統(tǒng) ACR驗證建立的安全通道(即,在空中(OTA))和發(fā)布后程序)創(chuàng)建根AGP。
如果系統(tǒng)ACR未經(jīng)配置(這是可選特征)且根AGP創(chuàng)建模式設(shè)定為開放,那么僅 開放通道選項可用。
2. 受控只有通過系統(tǒng)ACR驗證的實體可創(chuàng)建新的根AGP。如果系統(tǒng)ACR未經(jīng)配 置,那么不可將SSA系統(tǒng)設(shè)定到此模式。
3. 鎖定停用根AGP的創(chuàng)建,且不可將額外根AGP添加到系統(tǒng)。 兩個SSA命令控制此特征(這些命令可由任何用戶/實體在不驗證的情況下使用)
1. 方法配置命令一用于配置SSA系統(tǒng)使用三種根AGP創(chuàng)建模式中的任一者。僅允 許以下模式變化開放->受控、受控->鎖定(即,如果SSA系統(tǒng)當(dāng)前配置為受控,那么 其僅可改變?yōu)殒i定)。
2. 方法配置鎖定命令一用于停用方法配置命令,并永久鎖定當(dāng)前選擇的方法。 當(dāng)創(chuàng)建根AGP時,其處于使得能夠創(chuàng)建和配置其ACR (使用施加到根AGP的創(chuàng)建
的相同存取限制)的特殊初始化模式中。在根AGP配置過程結(jié)束時,當(dāng)實體明確地將其 切換到操作模式時,現(xiàn)有ACR不再可被更新且不再可創(chuàng)建額外ACR。
一旦根AGP被置于標(biāo)準(zhǔn)模式中,其僅可通過經(jīng)由其ACR中被指派有刪除根AGP的 許可的一個ACR登錄到系統(tǒng)中而被刪除。除了特殊初始化模式外,這是根AGP的另一 例外情況;其優(yōu)選地是可含有具有刪除其自身的AGP的許可的ACR的唯一 AGP,與下 一樹層中的AGP形成對比。根ACR與標(biāo)準(zhǔn)ACR之間的第三且最終差異是,其是系統(tǒng)中可具有創(chuàng)建和刪除分區(qū) 的許可的唯一 ACR。 SSA系統(tǒng)ACR
系統(tǒng)ACR可用于以下兩種SSA操作
1. 在敵對環(huán)境內(nèi)的安全通道的保護下創(chuàng)建ACR/AGP樹。
2. 識別并驗證代管SSA系統(tǒng)的裝置。
優(yōu)選地,SSA中僅可存在一個系統(tǒng)ACR,且一旦經(jīng)界定,其就優(yōu)選地不能改變。當(dāng) 創(chuàng)建系統(tǒng)ACR時不需要系統(tǒng)驗證;僅需要SSA命令。可停用創(chuàng)建系統(tǒng)ACR特征(類似 于創(chuàng)建根AGP特征)。創(chuàng)建系統(tǒng)ACR之后,創(chuàng)建系統(tǒng)ACR命令沒有效果,因為優(yōu)選地 僅允許一個系統(tǒng)ACR。
當(dāng)處于創(chuàng)建過程中時,系統(tǒng)ACR不操作。完成后,需要發(fā)布特殊命令,其指示系統(tǒng) ACR已創(chuàng)建且準(zhǔn)備執(zhí)行。在此點之后,系統(tǒng)ACR優(yōu)選地不能被更新或替代。
系統(tǒng)ACR在SSA中創(chuàng)建根ACR/AGP。其具有添加/改變根層的許可,直到主機對其 滿意并將其封鎖時為止。封鎖根AGP本質(zhì)上切斷其到系統(tǒng)ACR的連接且致使其防竄改。 此時,沒有一方可改變/編輯根AGP和內(nèi)部的ACR。這通過SSA命令來完成。停用根 AGP的創(chuàng)建具有永久影響且不能顛倒。以上涉及系統(tǒng)ACR的特征在圖7中說明。系統(tǒng) ACR用于創(chuàng)建三個不同的根AGP。在創(chuàng)建這些根AGP之后的某一時間,從主機發(fā)送SSA 命令以封鎖來自系統(tǒng)ACR的根AGP,藉此停用創(chuàng)建根AGP特征,如圖7中將系統(tǒng)ACR 連接到根AGP的虛線所指示。這致使三個根AGP防竄改。在根AGP被封鎖之前或之后, 三個根AGP可用于創(chuàng)建子代AGP以形成三個單獨樹。
上述特征為內(nèi)容所有者在配置具有內(nèi)容的安全產(chǎn)品方面提供較大靈活性。需要"發(fā) 布"安全產(chǎn)品。發(fā)布是提出識別密鑰的過程,裝置可借助識別密鑰來識別主機,且反之 亦然。識別裝置(例如,快閃卡)使主機能夠決定其是否可信任其與裝置的秘密。另一 方面,識別主機使裝置能夠只有當(dāng)主機被允許時才實行安全性策略(準(zhǔn)予和執(zhí)行特定主 機命令)。
經(jīng)設(shè)計以服務(wù)于多個應(yīng)用程序的產(chǎn)品將具有若干識別密鑰。產(chǎn)品可"預(yù)先發(fā)布"一 在裝運之前在制造期間存儲密鑰,或"之后發(fā)布" 一在裝運之后添加新密鑰。對于之后 發(fā)布,存儲器裝置(例如,存儲器卡)需要含有某種主控裝置或裝置層密鑰,其可用于 識別經(jīng)允許以將應(yīng)用程序添加到裝置的實體。
上述特征使得產(chǎn)品能夠經(jīng)配置以啟用/停用之后發(fā)布。另外,之后發(fā)布配置可在裝運之后安全地完成。裝置可被作為零售產(chǎn)品購買,其上除了上述主控裝置或裝置層密鑰外 沒有其它密鑰,且接著所述裝置由新的所有者配置以啟用進一步的之后發(fā)布應(yīng)用程序或 將其停用。
因此,系統(tǒng)ACR特征提供實現(xiàn)以上目的的能力
-不具有系統(tǒng)ACR的存儲器裝置將允許應(yīng)用程序的無限制和不受控添加。
-不具有系統(tǒng)ACR的存儲器裝置可經(jīng)配置以停用系統(tǒng)ACR創(chuàng)建,這意味著沒有辦 法控制新應(yīng)用程序的添加(除非創(chuàng)建新的根AGP的特征也被停用)。
-具有系統(tǒng)ACR的存儲器裝置將僅允許經(jīng)由使用系統(tǒng)ACR憑證通過驗證程序建立 的安全通道受控地添加應(yīng)用程序。
-具有系統(tǒng)ACR的存儲器裝置可經(jīng)配置以在已添加應(yīng)用程序之前或之后停用應(yīng)用 程序添加特征。
密鑰ID列表
根據(jù)特定ACR請求創(chuàng)建密鑰ID;然而,在存儲器系統(tǒng)10中,其僅由SSA系統(tǒng)使用。 當(dāng)創(chuàng)建密鑰ID時,創(chuàng)建ACR提供以下數(shù)據(jù)或?qū)⒁韵聰?shù)據(jù)提供到創(chuàng)建ACR:
1. 密鑰ID。所述ID由實體通過主機提供,且用于在所有進一步讀取或?qū)懭氪嫒≈?參考密鑰和使用密鑰加密或解密的數(shù)據(jù)。
2. 密鑰密碼和數(shù)據(jù)完整性模式(上文中以及如下文所闡釋的分塊、鏈接和散列模式)。
除了主機提供的屬性外,以下數(shù)據(jù)由SSA系統(tǒng)維持
1. 密鑰ID所有者。作為所有者的ACR的ID。當(dāng)創(chuàng)建密鑰ID時,創(chuàng)建者ACR是 其所有者。然而,密鑰ID所有權(quán)可轉(zhuǎn)移到另一 ACR。優(yōu)選地,僅允許密鑰ID所有者轉(zhuǎn) 移密鑰ID的所有權(quán)以及授權(quán)密鑰ID。授權(quán)對相關(guān)聯(lián)密鑰的存取許可以及撤回這些權(quán)利 可由密鑰ID所有者或被指派有授權(quán)許可的任何其它ACR來管理。每當(dāng)試圖實行這些操 作中的任一者時,SSA系統(tǒng)將僅當(dāng)請求ACR經(jīng)授權(quán)時才準(zhǔn)予所述操作。
2. CEK。這是密鑰值被用于將與密鑰ID相關(guān)聯(lián)的或由密鑰ID指向的內(nèi)容譯成密碼 的CEK。密鑰值可以是由SSA系統(tǒng)產(chǎn)生的128位AES隨機密鑰。
3. MAC和IV值。鏈接區(qū)塊密碼(CBC)加密算法中使用的動態(tài)信息(消息驗證代 碼和啟始向量)。
還參看圖8A-16的流程圖說明SSA的各種特征,其中步驟左側(cè)的"H"意味著操作 由主機執(zhí)行,且"C"意味著操作由卡執(zhí)行。雖然參考存儲器卡說明這些SSA特征,但將了解,這些特征也適用于其它物理形式的存儲器裝置。為了創(chuàng)建系統(tǒng)ACR,主機向存 儲器裝置10中的SSA發(fā)布創(chuàng)建系統(tǒng)ACR的命令(方框202)。裝置10通過檢查系統(tǒng)ACR 是否已存在來作出響應(yīng)(方框204,菱形206)。如果其已存在,那么裝置10傳回失敗并 停止(橢圓形208)。如果其不存在,那么存儲器IO檢查是否允許系統(tǒng)ACR創(chuàng)建(菱形 210),且在不允許的情況下傳回失敗狀態(tài)(方框212)。因此,可存在裝置發(fā)布者不允許 創(chuàng)建系統(tǒng)ACR的實例,例如在所需的安全性特征已經(jīng)預(yù)定使得不需要任何系統(tǒng)ACR的 情況下。如果允許系統(tǒng)ACR創(chuàng)建,那么裝置10傳回OK狀態(tài)并等待來自主機的系統(tǒng)ACR 憑證(方框214)。主機檢査SSA狀態(tài)以及裝置IO是否已指示允許創(chuàng)建系統(tǒng)ACR (方框 216和菱形218)。如果不允許創(chuàng)建或如果系統(tǒng)ACR已存在,那么主機停止(橢圓形220)。 如果裝置10已指示允許創(chuàng)建系統(tǒng)ACR,那么主機發(fā)布SSA命令以界定其登錄憑證并將 其發(fā)送到裝置10 (方框222)。裝置IO用所接收的憑證更新系統(tǒng)ACR記錄并傳回OK狀 態(tài)(方框224)。響應(yīng)于此狀態(tài)信號,主機發(fā)布指示系統(tǒng)ACR準(zhǔn)備就緒的SSA命令(方 框226)。裝置IO通過鎖定系統(tǒng)ACR使得其不能被更新或替代來作出響應(yīng)(方框228)。 這鎖住系統(tǒng)ACR的特征及其用于向主機識別裝置10的身份。
用于創(chuàng)建新樹(新的根AGP和ACR)的程序通過這些功能在裝置中配置的方式而 確定。圖9闡釋所述程序。主機24和存儲器系統(tǒng)10兩者均遵循此程序。如果完全停用 添加新的根AGP,那么不能添加新的根AGP(菱形246)。如果其被啟用但需要系統(tǒng)ACR, 那么主機在發(fā)布創(chuàng)建根—AGP命令(方框254)之前通過系統(tǒng)ACR驗證并建立安全通道 (菱形250,方框252)。如果不需要系統(tǒng)ACR (菱形248),那么主機24可在不驗證的情 況下發(fā)布創(chuàng)建根AGP命令并行進到方框254。如果系統(tǒng)ACR確實存在,那么即使不需 要系統(tǒng)ACR主機也可使用所述系統(tǒng)ACR (流程圖中未展示)。裝置(例如,快閃卡)將 拒絕任何創(chuàng)建新的根AGP的嘗試(如果所述功能被停用),且其將拒絕在不驗證的情況 下創(chuàng)建新的根AGP的嘗試(如果需要系統(tǒng)ACR)(菱形246和250)。方框254中新創(chuàng)建 的AGP和ACR現(xiàn)切換到操作模式,使得此類AGP中的ACR不能被更新或以另外的方 式改變,且不可將任何ACR添加到所述ACR (方框256)。系統(tǒng)接著被任選地鎖定,使 得不能創(chuàng)建額外的根AGP (方框258)。虛線框258是指示此步驟為任選步驟的慣例。本 說明書的圖式的流程圖中的所有虛線框均是任選步驟。這允許內(nèi)容所有者封鎖出于可能 模仿具有合法內(nèi)容的真實存儲器裝置的其它非法目的而對裝置io的使用。
為了創(chuàng)建ACR (不同于上述根AGP中的ACR),可以具有創(chuàng)建ACR的權(quán)利的任何 ACR開始(方框270),如圖IO所示。實體可試圖通過提供入口點ACR身份和具有其希
32望創(chuàng)建的所有必要屬性的ACR來通過主機24輸入(方框272)。 SSA檢査與ACR身份 的匹配以及具有此身份的ACR是否具有創(chuàng)建ACR的許可(菱形274)。如果請求被檢驗 為經(jīng)授權(quán),那么裝置IO中的SSA創(chuàng)建ACR (方框276)。
圖ll展示說明在使用圖IO的方法的安全性應(yīng)用中有用的樹的兩個AGP。因此,營 銷AGP中具有身份ml的ACR具有創(chuàng)建ACR的許可。ACR ml還具有使用密鑰的許可, 所述密鑰用于讀取和寫入與密鑰ID"營銷信息"相關(guān)聯(lián)的數(shù)據(jù)以及與密鑰ID"價格列表" 相關(guān)聯(lián)的數(shù)據(jù)。使用圖10的方法,其創(chuàng)建具有兩個ACR sl和s2的銷售AGP,其僅具 有對用于存取與密鑰ID "價格列表"相關(guān)聯(lián)的定價數(shù)據(jù)的密鑰的讀取許可,而不具有對 存取與密鑰ID "營銷信息"相關(guān)聯(lián)的數(shù)據(jù)所必需的密鑰的讀取許可。以此方式,具有 ACR sl和s2的實體僅可讀取而不能改變定價數(shù)據(jù),且將不具有對營銷數(shù)據(jù)的存取權(quán)。 另一方面,ACR m2不具有創(chuàng)建ACR的許可,且僅具有對用于存取與密鑰ID"價格列表" 相關(guān)聯(lián)以及與密鑰ID "營銷信息"相關(guān)聯(lián)的數(shù)據(jù)的密鑰的讀取許可。
因此,可以上文闡釋的方式授權(quán)存取權(quán),其中ml向sl和s2授權(quán)讀取定價數(shù)據(jù)的權(quán) 利。這在涉及較大營銷和銷售群組的情況下尤其有用。在僅存在一個或幾個銷售人員的 情況下,可能不需要使用圖IO的方法。事實上,可由ACR向同一 AGP內(nèi)的較低或相同 層處的ACR授權(quán)存取權(quán),如圖12中所說明。首先,實體通過以上文描述的方式經(jīng)由主 機指定樹中的ACR而進入此類AGP的樹(方框280)。接下來,主機將指定要授權(quán)到的 ACR和權(quán)利。SSA檢查樹以查看此類ACR以及所述ACR是否具有將權(quán)利授權(quán)給指定的 另一ACR的許可(菱形282)。如果是,那么授權(quán)所述權(quán)利(方框284);如果不是,那 么其停止。結(jié)果在圖13中說明。此情況下的ACR ml具有將讀取許可授權(quán)給ACR sl的 許可,使得在授權(quán)之后sl將能夠使用密鑰來存取定價數(shù)據(jù)。這可在ml具有相同或更大 權(quán)利存取定價數(shù)據(jù)和如此授權(quán)的許可的情況下執(zhí)行。在一個實施例中,在授權(quán)之后ml 保留其存取權(quán)。優(yōu)選地,可在例如持續(xù)有限的時間、有限的存取次數(shù)等受限條件(而不 是永久地)下授權(quán)存取權(quán)。
用于創(chuàng)建密鑰和密鑰ID的過程在圖14中說明。實體通過ACR驗證(方框302)。 所述實體請求創(chuàng)建具有由主機指定的ID的密鑰(方框304)。 SSA檢查所指定的ACR是 否具有如此做的許可(菱形306)。舉例來說,如果密鑰將用于存取特定分區(qū)中的數(shù)據(jù), 那么SSA將檢査ACR是否可存取此分區(qū)。如果ACR經(jīng)授權(quán),那么存儲器裝置10創(chuàng)建 與由主機提供的密鑰ID相關(guān)聯(lián)的密鑰值(方框308),并將密鑰ID存儲在ACR中且將 密鑰值存儲在其存儲器中(控制器相關(guān)聯(lián)存儲器或存儲器20中),并根據(jù)實體供應(yīng)的信息指派權(quán)利和許可(方框310),且以此類指派的權(quán)利和許可修改此類ACR的PCR (方 框312)。因此,密鑰的創(chuàng)建者具有所有可用權(quán)利,例如讀取和寫入許可、授權(quán)和與同一 AGP中的其它ACR或處于較低層的ACR共享的權(quán)利,以及轉(zhuǎn)移密鑰的所有權(quán)的權(quán)利。
ACR可改變SSA系統(tǒng)中的另一 ACR的許可(或完全改變其存在),如圖15中所說 明。實體可如之前一樣通過ACR進入樹;在一種情況下,實體經(jīng)驗證且接著其指定ACR (方框330、 332)。其請求刪除目標(biāo)ACR或目標(biāo)ACR中的許可(方框334)。如果所指定 的ACR或此時處于活動狀態(tài)的ACR具有如此做的權(quán)利(菱形336),那么刪除目標(biāo)ACR, 或改變目標(biāo)ACR的PCR以刪除此類許可(方框338)。如果這未經(jīng)授權(quán),那么系統(tǒng)停止。
在上述過程之后,目標(biāo)將不再能夠存取其在過程之前能夠存取的數(shù)據(jù)。如圖16所示, 實體可試圖在目標(biāo)ACR處進入(方框350)并發(fā)現(xiàn)驗證過程失敗,因為先前現(xiàn)有的ACR ID不再存在于SSA中,使得存取權(quán)被拒絕(菱形352)。假定ACRID尚未被刪除,實體 指定ACR(方框354)以及特定分區(qū)中的密鑰ID和/或數(shù)據(jù)(方框356),且SSA接著檢 査密鑰ID或根據(jù)此類ACR的PCR準(zhǔn)許分區(qū)存取請求(菱形358)。如果許可已被刪除或 已期滿,那么再次拒絕請求。否則,準(zhǔn)予所述請求(方框360)。
上述過程描述裝置(例如,快閃卡)如何管理對受保護數(shù)據(jù)的存取,而不管ACR及 其PCR是否剛剛由另一 ACR改變或如此經(jīng)配置以作為開始。
對話
SSA系統(tǒng)經(jīng)設(shè)計以處置同時登錄的多個用戶。當(dāng)使用此特征時,SSA接收的每個命 令與特定實體相關(guān)聯(lián),且只有當(dāng)用于驗證此實體的ACR具有對所請求動作的許可時才被執(zhí)行。
通過對話概念來支持多個實體。對話在驗證過程期間建立且由SSA系統(tǒng)指派得到對 話id。對話id在內(nèi)部與用于登錄到系統(tǒng)中的ACR相關(guān)聯(lián),且經(jīng)導(dǎo)出到實體以用于所有 進一步SSA命令中。
SSA系統(tǒng)支持兩種類型的對話開放式對話和安全對話。在ACR中界定與特定驗證 過程相關(guān)聯(lián)的對話類型。SSA系統(tǒng)將以類似于其本身實行驗證的方式實行對話建立。由 于ACR界定實體許可,所以此機制使系統(tǒng)設(shè)計者能夠?qū)踩┧砼c存取特定密鑰ID或 調(diào)用特定ACR管理操作(即,創(chuàng)建新的ACR和設(shè)定憑證)相關(guān)聯(lián)。
開放式對話
開放式對話是以對話id但沒有總線加密來識別的對話,所有命令和數(shù)據(jù)不受阻礙地 通過。此操作模式優(yōu)選地用于多用戶或多實體環(huán)境中,其中實體不是威脅模型的一部分,也不在總線上竊聽。
盡管不保護數(shù)據(jù)的傳輸也不啟用主機側(cè)上的應(yīng)用程序之間的有效防火墻,但開放式 對話模式使SSA系統(tǒng)能夠允許僅存取允許用于當(dāng)前經(jīng)驗證ACR的信息。
開放式對話還可用于分區(qū)或密鑰需要受保護的情況。然而,在有效驗證過程之后, 向主機上的所有實體準(zhǔn)予存取權(quán)。為了獲得經(jīng)驗證ACR的許可,各種主機應(yīng)用程序唯一 需要共享的是對話id。這在圖17A中說明。線400上方的步驟是由主機24采取的步驟。 在實體針對ACR l經(jīng)驗證(方框402)之后,其請求對與存儲器裝置IO中的密鑰ID X 相關(guān)聯(lián)的文件的存取(方框404、 406和408)。如果ACR 1的PCR允許此存取,那么裝 置10準(zhǔn)予所述請求(菱形410)。如果不,那么系統(tǒng)返回到方框402。在驗證完成之后, 存儲器系統(tǒng)10僅通過所指派的對話id (而不是ACR憑證)來識別發(fā)布命令的實體。在 開放式對話中, 一旦ACR 1獲得對與其PCR中的密鑰ID相關(guān)聯(lián)的數(shù)據(jù)的存取權(quán),任何 其它應(yīng)用程序或用戶就可通過指定在主機24上的不同應(yīng)用程序之間共享的正確對話ID 來存取相同數(shù)據(jù)。此特征在以下應(yīng)用中較有利用戶僅能夠登錄一次并能夠存取與針對 不同應(yīng)用程序執(zhí)行登錄所通過的賬戶聯(lián)系的所有數(shù)據(jù)是較為便利的。因此,蜂窩式電話 用戶可能能夠存取所存儲的電子郵件,并收聽存儲器20中存儲的音樂,而不必登錄多次。 另一方面,未被ACR1包含的數(shù)據(jù)將不可存取。因此,相同蜂窩式電話用戶可具有可通 過單獨賬戶ACR2存取的有價值的內(nèi)容,例如游戲和照片。這是其不希望借走其電話的 其他人存取的數(shù)據(jù),盡管其可能不介意其他人通過其第一賬戶ACR1存取可用的數(shù)據(jù)。 將對數(shù)據(jù)的存取分為兩個單獨賬戶同時允許在開放式對話中存取ACR1提供了使用的方 便性以及提供對有價值數(shù)據(jù)的保護。
為了更進一步使在主機應(yīng)用程序之間共享對話id的過程方便,當(dāng)ACR請求開放式 對話時,其可明確地請求對話將被指派得到"0 (零)"id。以此方式,應(yīng)用程序可經(jīng)設(shè) 計以使用預(yù)先定義的對話id。由于明顯的原因,唯一的限制是僅一個請求對話O的ACR 可在特定時間被驗證。驗證另一請求對話0的ACR的嘗試將被拒絕。
安全對話
為了添加安全性層,可如圖HB所示而使用對話id。存儲器IO接著還存儲處于活動 狀態(tài)的對話的對話id。舉例來說,在圖17B中,為了能夠存取與密鑰IDX相關(guān)聯(lián)的文件, 實體在被允許存取文件之前將還需要提供對話id (例如,對話id"A")(方框404、 406、 412和414)。以此方式,除非請求實體知道正確的對話id,否則其不能存取存儲器10。 由于在對話結(jié)束之后刪除對話id且對話id對于每一對話將不同,所以實體僅在其已能夠提供對話號時才可獲得存取權(quán)。
SSA系統(tǒng)通過使用對話號跟蹤命令是否真的來自正確的經(jīng)驗證實體。對于存在攻擊 者將試圖使用開放式通道來發(fā)送惡意命令的威脅的應(yīng)用和使用情況,主機應(yīng)用程序使用 安全對話(安全通道)。
當(dāng)使用安全通道時,用安全通道加密(對話)密鑰對對話id以及整個命令加密,且 安全性等級與主機側(cè)實施方案一樣高。
終止對話
在以下情形的任一者中,終止對話,且注銷ACR:
1. 實體發(fā)布明確的結(jié)束對話命令。
2. 通信超時。特定實體在界定為ACR參數(shù)的一者的時間周期內(nèi)未發(fā)布命令。
3. 所有開放式對話在裝置(例如,快閃卡)重設(shè)和/或功率循環(huán)之后終止。 數(shù)據(jù)完整性服務(wù)
SSA系統(tǒng)檢驗SSA數(shù)據(jù)庫(其含有所有ACR、 PCR等)的完整性。另外,通過密 鑰ID機制為實體數(shù)據(jù)提供數(shù)據(jù)完整性服務(wù)。
如果密鑰ID配置為將散列作為其加密算法,那么散列值與CEK和IV —起存儲在 CEK記錄中。在寫入操作期間計算和存儲散列值。在讀取操作期間再次計算散列值,并 將其與先前寫入操作期間存儲的值進行比較。每次實體正存取密鑰ID時,將額外數(shù)據(jù)連 接(以密碼方式)到舊數(shù)據(jù)且更新適當(dāng)?shù)纳⒘兄?針對讀取或針對寫入)。
由于只有主機知道與密鑰ID相關(guān)聯(lián)或由密鑰ID指向的數(shù)據(jù)文件,所以主機以以下 方式明確地管理數(shù)據(jù)完整性功能的若干方面
1. 從開始到結(jié)尾寫入或讀取與密鑰ID相關(guān)聯(lián)或由密鑰ID指向的數(shù)據(jù)文件。任何存 取文件的部分的嘗試將使文件混亂,因為SSA系統(tǒng)正使用CBC加密方法并產(chǎn)生整個數(shù) 據(jù)的散列消息摘要。
2. 不需要以鄰接流處理數(shù)據(jù)(所述數(shù)據(jù)流可與其它密鑰Id的數(shù)據(jù)流交錯且可分割在 多個對話上),因為中間散列值由SSA系統(tǒng)維持。然而,如果數(shù)據(jù)流重新開始,那么實 體將需要明確地指示SSA系統(tǒng)重設(shè)散列值。
3. 當(dāng)讀取操作完成時,主機明確地請求SSA系統(tǒng)通過將所讀取的散列與寫入操作期 間計算的散列值進行比較來驗證所述讀取的散列。
4. SSA系統(tǒng)還提供"虛設(shè)讀取"操作。此特征將使數(shù)據(jù)串流通過加密引擎但將不會 將其發(fā)出到主機。此特征可用于在實際上從裝置(例如,快閃卡)讀出數(shù)據(jù)之前檢驗數(shù)據(jù)完整性。
隨機數(shù)產(chǎn)生
SSA系統(tǒng)將使外部實體能夠利用內(nèi)部隨機數(shù)產(chǎn)生器并請求在SSA系統(tǒng)外部使用隨機 數(shù)。此服務(wù)可由任何主機使用且不需要驗證。 RSA密鑰對產(chǎn)生
SSA系統(tǒng)將使外部用戶能夠利用內(nèi)部RSA密鑰對產(chǎn)生特征并請求在SSA系統(tǒng)外部 使用密鑰對。此服務(wù)可由任何主機使用且不需要驗證。 替代實施例
替代于使用層級方法,可使用數(shù)據(jù)庫方法來實現(xiàn)類似結(jié)果,如圖18中所說明。 如圖18所示,可將實體的憑證列表、驗證方法、失敗嘗試的最大數(shù)目和解除封鎖所 需的憑證的最小數(shù)目輸入到存儲在控制器12或存儲器20中的數(shù)據(jù)庫中,所述數(shù)據(jù)庫將 此類憑證要求與由存儲器10的控制器12實行的數(shù)據(jù)庫中的策略(對密鑰和分區(qū)的讀取、 寫入存取、安全通道要求)相關(guān)。還存儲在數(shù)據(jù)庫中的是對密鑰和分區(qū)的存取的約束和 限制。因此, 一些實體(例如,系統(tǒng)管理員)可能在白列表上,這意味著這些實體可存 取所有密鑰和分區(qū)。其它實體可能在黑列表上,且其存取任何信息的嘗試將被封鎖。限 制可為全局的或密鑰和/或分區(qū)特定的。這意味著僅某些實體可存取某些特定密鑰和分 區(qū),且某些實體不能這樣做。還可對內(nèi)容本身施加約束,不管其所處的分區(qū)或用于對其 進行加密或解密的密鑰如何。因此,某些數(shù)據(jù)(例如,歌曲)可能具有僅可被存取其的 前五個主機裝置存取的屬性,或其它數(shù)據(jù)(例如,電影)僅可被讀取有限次數(shù),而不管 哪些實體具有存取權(quán)。 驗證
密碼保護
密碼保護意味著需要提供密碼來存取受保護區(qū)域。除非其不能為一個以上密碼,否 則密碼可與不同權(quán)利(例如,讀取存取權(quán)或讀取/寫入存取權(quán))相關(guān)聯(lián)。
密碼保護意味著裝置(例如,快閃卡)能夠檢驗由主機提供的密碼,即裝置還具有 存儲在裝置管理的安全存儲器區(qū)域中的密碼。
發(fā)布和限制
密碼經(jīng)受重放攻擊。因為密碼在每次提供之后不變,所以其可相同地再發(fā)送。這意 味著如果待保護的數(shù)據(jù)有價值且通信總線容易存取,那么不應(yīng)按現(xiàn)狀使用密碼。 密碼可保護對所存儲數(shù)據(jù)的存取但不應(yīng)用于保護數(shù)據(jù)(不是密鑰)。為了增加與密碼相關(guān)聯(lián)的安全性等級,可使用主密鑰使其多樣化,結(jié)果是竊取一個密碼不會使整個系統(tǒng)崩潰?;趯υ捗荑€的安全通信通道可用于發(fā)送密碼。
圖19是說明使用密碼進行驗證的流程圖。實體將賬戶id和密碼呈遞給系統(tǒng)10 (例如,快閃存儲器卡)。系統(tǒng)檢査所述密碼是否與其存儲器中的密碼匹配。如果其匹配,那么傳回經(jīng)驗證狀態(tài)。否則,錯誤計數(shù)器針對所述賬戶遞增,且要求實體重新輸入賬戶id和密碼。如果計數(shù)器溢出,那么系統(tǒng)傳回存取被拒絕的狀態(tài)。
對稱密鑰
對稱密鑰算法意味著相同密鑰用于兩側(cè)以進行加密和解密。這意味著在通信之前已預(yù)先同意密鑰。并且,每一側(cè)應(yīng)實施彼此的反向算法,即一側(cè)上為加密算法且另一側(cè)上為解密算法。兩側(cè)不需要實施兩種算法來進行通信。
驗證
對稱密鑰驗證意味著裝置(例如,快閃卡)和主機共享相同密鑰且具有相同密碼算法(直接和反向,例如DES和DES-1)。
對稱密鑰驗證意味著詢問-響應(yīng)(防護重放攻擊)。受保護裝置針對其它裝置產(chǎn)生詢問且兩者均計算響應(yīng)。驗證裝置發(fā)送回響應(yīng),且受保護裝置檢査響應(yīng)并相應(yīng)地確認(rèn)驗證。接著可準(zhǔn)予與驗證相關(guān)聯(lián)的權(quán)利。
驗證可為
外部的裝置(例如,快閃卡)驗證外界,即裝置確認(rèn)給定主機或應(yīng)用程序的憑證。
相互的在兩側(cè)均產(chǎn)生詢問。
內(nèi)部的主機應(yīng)用程序驗證裝置(例如,快閃卡),即主機檢査裝置對于其應(yīng)用程序是否為真的。
為了增加整個系統(tǒng)的安全性等級(即,破壞一部分不會破壞全部)通常將對稱密鑰與使用主密鑰的多樣化進行組合。相互驗證使用來自兩側(cè)的詢問以確保詢問為真實詢問。加密
對稱密鑰密碼術(shù)還用于加密,因為其是非常有效的算法,即其不需要強大的CPU來
處置密碼術(shù)。
當(dāng)用于保護通信通道時
兩個裝置均必須知道用于保護通道的對話密鑰(即,加密所有傳出數(shù)據(jù)并解密所有傳入數(shù)據(jù))。此對話密鑰通常是使用預(yù)先共享的秘密對稱密鑰或使用PKI來建立。兩個裝置均必須知道并實施相同密碼算法。簽名
對稱密鑰還可用于簽署數(shù)據(jù)。在所述情況下,簽名是加密的部分結(jié)果。保持結(jié)果為部分的允許在不暴露密鑰值的情況下簽署與所需一樣多的次數(shù)。發(fā)布和限制
對稱算法非常有效且安全,但其基于預(yù)先共享的秘密。發(fā)布是以動態(tài)方式安全地共享此秘密且可能使其為隨機的(如同對話密鑰)。觀點是共享的秘密難以長期保持安全且?guī)缀醪豢赡芘c多個人共享。
為了促進此操作,已發(fā)明公共密鑰算法,其允許在不共享秘密的情況下交換秘密。
不對稱驗證程序
基于不對稱密鑰的驗證使用最終構(gòu)成用于安全通道通信的對話密鑰的一系列數(shù)據(jù)傳遞命令。基本協(xié)議向SSA系統(tǒng)驗證用戶。協(xié)議變化允許相互驗證(其中用戶檢驗其希望使用的ACR)和雙因數(shù)驗證。
SSA的不對稱驗證協(xié)議優(yōu)選地使用公共密鑰基礎(chǔ)結(jié)構(gòu)(PKI)和RSA算法。如這些算法所定義,允許驗證過程中的每一方創(chuàng)建其自身的RSA密鑰對。每對密鑰由公共和專用密鑰組成。由于密鑰是匿名的,所以其不能提供身份的證明。PKI層調(diào)用第三置信方,其簽署公共密鑰的每一者。置信方的公共密鑰在將驗證彼此的各方之間預(yù)先共享,且用于檢驗各方的公共密鑰。 一旦建立信任(兩方均確定可信任另一方提供的公共密鑰),協(xié)議就繼續(xù)驗證(檢驗每一方持有匹配的專用密鑰)和密鑰交換。這可通過下文描述的圖22和23中說明的詢問響應(yīng)機制來完成。
含有經(jīng)簽署公共密鑰的結(jié)構(gòu)稱為證書。簽署證書的置信方稱為證書授權(quán)方(CA)。為了驗證 一 方,其具有R S A密鑰對和證實公共密鑰的真實性的證書。所述證書由另 一 (驗證)方所信任的證書授權(quán)方簽署。驗證方預(yù)期擁有其置信CA的公共密鑰。
SSA允許證書鏈接。這意味著被識別方的公共密鑰可由不同的CA (不同于識別方所信任的CA)來簽署。在此情況下,被識別方將除了其自身的證書外還提供簽署其公共密鑰的CA的證書。如果此第二級證書仍不為另一方所信任(未由其置信CA簽署),那么可提供第三級證書。在此證書鏈接算法中,每一方將擁有驗證其公共密鑰所需的證書的完整列表。這在圖23和24中說明。此類型的ACR進行相互驗證所需的憑證是選定長度中的RSA密鑰對。
SSA證書SSA使用[X.509]版本3數(shù)字證書。[X.509]是通用標(biāo)準(zhǔn);此處描述的SSA證書簡檔進一步指定并限制證書的所定義字段的內(nèi)容。證書簡檔還定義為證書鏈的管理定義的信任層級、SSA證書的確認(rèn)以及證書撤回列表(CRL)簡檔。
證書被認(rèn)為是公共信息(作為內(nèi)部的公共密鑰)且因此不被加密。然而,其包含檢驗公共密鑰以及所有其它信息字段未被竄改的RSA簽名。定義使用ASN.l標(biāo)準(zhǔn)格式化每一字段,所述ASN.l標(biāo)準(zhǔn)又使用DER格式進行數(shù)據(jù)編碼。
SSA證書概述
圖20和21中描繪的SSA證書管理結(jié)構(gòu)的一個實施例由針對主機的無限制層級層和針對裝置的至多二個層級層組成,但可針對裝置使用多于或少于三個的層級層數(shù)。主機證書層級
裝置基于兩個因素驗證主機存儲在裝置中的根CA證書(作為在創(chuàng)建ACR時存儲的ACR憑證),和由試圖存取裝置的實體供應(yīng)的證書/證書鏈(針對所述特定ACR)。
對于每一ACR,主機證書授權(quán)方用作根CA (這是駐存在ACR憑證中的證書)。舉例來說對于一個ACR,根CA可以是"主機l CA (層2)證書",且對于另一ACR,其可以是"主機根CA證書"。對于每一ACR,持有由根CA簽署的證書(或?qū)⒏鵆A連接到終端實體證書的證書鏈)的每個實體可登錄到所述ACR中,只要其具有針對終端實體證書的相應(yīng)專用密鑰。如上文所提及,證書是公共知識,且不保持為秘密的。
由根CA發(fā)布的所有證書持有者(和相應(yīng)專用密鑰)可登錄到所述ACR中的事實意味著對特定ACR的驗證由存儲在ACR憑證中的根CA的發(fā)布者確定。換句話說,根CA的發(fā)布者可以是管理ACR的驗證方案的實體。
主機根證書
根證書是SSA用于開始檢驗試圖登錄(主機)的實體的公共密鑰的置信CA證書。此證書在ACR被創(chuàng)建作為ACR憑證的一部分時提供。其是PKI系統(tǒng)的信任的根源,且因此假定其由置信實體(父代ACR或制造/配置置信環(huán)境)提供。SSA使用其公共密鑰檢驗此證書以檢驗證書簽名。主機根證書以加密狀態(tài)存儲在非易失性存儲器(圖l未圖示)中,其中裝置的秘密密鑰優(yōu)選地僅可由系統(tǒng)10的圖1的CPU 12存取。
主機證書鏈
這些是驗證期間提供給SSA的證書。鏈的處理完成之后,主機證書鏈的再收集不應(yīng)存儲在裝置中。圖20是說明若干不同主機證書鏈的主機證書層層級的示意圖。如圖20中所說明,主機證書可具有許多不同證書鏈,其中僅說明三個
Al. 主機根CA證書502、主機1 CA (層2)證書504和主機證書506;
Bl. 主機根CA證書502、主機n CA (層2)證書508、主機1 CA (層3)證書510、主機證書512;
CI. 主機根CA證書502、主機n CA (層2)證書508和主機證書514。
以上三個證書鏈Al、 Bl和CI說明可用于證明主機的公共密鑰為真的三個可能的主機證書鏈。參考以上證書鏈Al且在圖20中,主機1CA(層2)證書504中的公共密鑰由主機根CA的專用密鑰簽署(即,通過加密公共密鑰的摘要),所述主機根CA的公共密鑰在主機根CA證書502中。主機證書506中的主機公共密鑰又由主機1 CA (層2)的專用密鑰簽署,主機1CA (層2)的公共密鑰提供在主機1 CA (層2)證書504中。因此,具有主機根CA的公共密鑰的實體將能夠檢驗以上證書鏈Al的真實性。作為第一步驟,所述實體使用其擁有物中的主機根CA的公共密鑰來解密由主機發(fā)送到其處的主機1CA (層2)證書504中的所簽署的公共密鑰,并將經(jīng)解密的所簽署的公共密鑰與由主機發(fā)送的主機1 CA (層2)證書504中的未簽署的公共密鑰的摘要進行比較。如果兩者匹配,那么主機1 CA (層2)的公共密鑰經(jīng)驗證,且實體將接著使用主機1 CA (層2)的經(jīng)驗證的公共密鑰來解密由主機所發(fā)送的主機證書506中的主機1 CA (層2)的密鑰簽署的主機的公共密鑰。如果此經(jīng)解密的所簽署值與由主機發(fā)送的主機證書506中的公共密鑰的摘要的所簽署值匹配,那么接著主機的公共密鑰也經(jīng)驗證。證書鏈Bl和Cl可用于以類似方式進行驗證。
如從以上涉及鏈Al的過程中將注意到,來自需要由實體檢驗的主機的第一公共密鑰是主機l CA (層2)而不是主機根CA證書中的公共密鑰。因此,主機需要發(fā)送到實體的全部內(nèi)容是主機i CA (層2)證書504和主機證書506,使得主機1 CA (層2)證書將是鏈中需要發(fā)送的第一個證書。如上文所說明,證書檢驗序列如下。檢驗實體(在此情況下為存儲器裝置10)首先檢驗鏈中第一證書(其在此情況下為根CA下的CA的證書504)中的公共密鑰的真實性。在此證書中的公共密鑰檢驗為真之后,裝置10接著繼續(xù)檢驗下一證書(在此情況下為主機證書506)。出于同樣的原因,在證書鏈含有兩個以上證書的情況下可應(yīng)用類似的檢驗序列,從緊接在根證書下方的證書開始并以待驗證的實體的證書結(jié)束。
裝置證書層級主機基于兩個因數(shù)驗證裝置存儲在主機中的裝置根CA,和由裝置供應(yīng)到主機的證 書/證書鏈(其在創(chuàng)建ACR作為憑證時供應(yīng)到裝置)。主機驗證裝置的過程類似于上文描 述的裝置驗證主機的過程。
裝置證書鏈
這些是ACR的密鑰對的證書。其在創(chuàng)建ACR時提供到卡。SSA個別地存儲這些證 書,且將在驗證期間將它們逐個提供到主機。SSA使用這些證書來向主機驗證。裝置能 夠處置3個證書的鏈,但可使用不同于3個的證書數(shù)目。證書的數(shù)目可依據(jù)ACR不同而 變化。其在創(chuàng)建ACR時確定。裝置能夠?qū)⒆C書鏈發(fā)送到主機,然而,其不需要對它們進 行解析,因為其不使用證書鏈數(shù)據(jù)。
圖21是說明裝置證書層層級的示意圖,所述層級用于說明針對使用SSA的裝置(例 如,存儲裝置)的l到n個不同證書鏈。圖21中說明的n個不同證書鏈如下
A2. 裝置根CA證書520、裝置1CA (制造商)證書522和裝置證書524;
B2. 裝置根CA證書520、裝置nCA (制造商)證書526和裝置證書528。
SSA裝置可由l到n個不同制造商制造,每一制造商具有其自身的裝置CA證書。 因此,針對特定裝置的裝置證書中的公共密鑰將由其制造商的專用密鑰簽署,且制造商 的公共密鑰又由裝置根CA的專用密鑰簽署。裝置的公共密鑰被檢驗的方式類似于上文 描述的主機的公共密鑰的情況下的方式。與上文針對主機描述的鏈Al的檢驗的情況下一 樣,不需要發(fā)送裝置根CA證書,且鏈中將需要發(fā)送的第一證書是裝置i CA (制造商) 證書,之后是裝置證書,i是從l到n的整數(shù)。
在圖21中說明的實施例中,裝置將提供兩個證書裝置iCA (制造商)證書,之后 是其自身的裝置證書。裝置iCA (制造商)證書是制造此裝置的制造商的證書,且所述 制造商是提供專用密鑰以簽署裝置的公共密鑰的制造商。當(dāng)主機接收到裝置iCA (制造 商)證書時,主機將使用其擁有物中的根CA的公共密鑰來解密和檢驗裝置i CA (制造 商)公共密鑰。如果此檢驗失敗,那么主機將中止過程并通知裝置驗證已失敗。如果驗 證成功,那么主機接著將對下一證書的請求發(fā)送到裝置。裝置將接著發(fā)送其自身的裝置 證書以由主機以類似方式檢驗。
上述檢驗過程還在圖22和23中更詳細說明。在圖22中,"SSM系統(tǒng)"是實施本文 描述的SSA系統(tǒng)以及下文描述的其它功能的軟件模塊。SSA可實施為軟件或計算機代碼, 其具有存儲在存儲器20或CPU 12中的非易失性存儲器(未圖示)中的數(shù)據(jù)庫,且被讀 取到RAM 12a中并由CPU 12執(zhí)行。如圖22所示,在過程中存在三個階段,其中在裝置10中的SSM系統(tǒng)542驗證主機 系統(tǒng)540。在第一公共密鑰檢驗階段,主機系統(tǒng)540在SSM命令中將主機證書鏈發(fā)送到 SSM系統(tǒng)542。 SSM系統(tǒng)542使用位于ACR 550中的主機根證書548中的根證書授權(quán)方 公共密鑰來檢驗(方框552)主機證書544和主機公共密鑰546的真實性。當(dāng)涉及到根 證書授權(quán)方與主機之間的中間證書授權(quán)方的情況下,中間證書549也用于方框552中的 檢驗。假定檢驗或過程(方框552)成功,那么SSM系統(tǒng)542接著行進到第二階段。
SSM系統(tǒng)542產(chǎn)生隨機數(shù)554并將其作為詢問發(fā)送到主機系統(tǒng)540。系統(tǒng)540使用 主機系統(tǒng)的專用密鑰547來簽署隨機數(shù)554 (方框556)并作為對詢問的響應(yīng)而發(fā)送經(jīng)簽 署的隨機數(shù)。使用主機公共密鑰546來解密響應(yīng)(方框558),并將響應(yīng)與隨機數(shù)554進 行比較(方框560)。假定經(jīng)解密響應(yīng)與隨機數(shù)554匹配,那么詢問響應(yīng)成功。
在第三階段,使用主機公共密鑰546來加密隨機數(shù)562。此隨機數(shù)562接著為對話 密鑰。主機系統(tǒng)540可通過使用其專用密鑰來解密(方框564)來自SSM系統(tǒng)542的經(jīng) 加密隨機數(shù)562而獲得對話密鑰。借助此對話密鑰,接著可啟始主機系統(tǒng)540與SSM系 統(tǒng)542之間的安全通信。圖22說明其中主機系統(tǒng)540由裝置10中的SSM系統(tǒng)542驗證 的單向不對稱驗證。圖23是說明類似于圖22的單向驗證協(xié)議的雙向相互驗證過程的協(xié) 議圖,其中圖23中的SSM系統(tǒng)542也由主機系統(tǒng)540驗證。
圖24是用于說明本發(fā)明的一個實施例的證書鏈590的圖。如上所述,需要呈現(xiàn)以用 于檢驗的證書鏈可包含若干證書。因此,圖24的證書鏈包含總共九(9)個證書,其全 部可能需要經(jīng)檢驗以用于驗證。如上文背景部分中所闡釋,在用于證書檢驗的現(xiàn)有系統(tǒng) 中,發(fā)送不完整證書鏈,或在發(fā)送完整證書的情況下,不以任何特定次序發(fā)送證書使得 接收者將在己接受并存儲整個群組的證書后才能分析證書。由于鏈中證書的數(shù)目事先不 知道,所以這可引起問題??赡苄枰A舸罅看鎯臻g以用于存儲不確定長度的證書鏈。 這對于執(zhí)行檢驗的存儲裝置可能成問題。
本發(fā)明的 一 個實施例是基于以下認(rèn)識 一 其中主機裝置以與證書鏈將被存儲裝置檢 驗的次序相同的次序發(fā)送其證書鏈的系統(tǒng)可減輕所述問題。因此,如圖24所示'證書的 鏈590以作為緊接在主機根證書下的證書的證書鏈590 (1)開始,且以作為主機證書的 證書590 (9)結(jié)束。因此,裝置IO將首先檢驗證書590 (1)中的公共密鑰,之后檢驗 證書590 (2)中的公共密鑰等等,直到證書590 (9)中的主機公共密鑰經(jīng)檢驗為止。這 接著完成整個證書鏈590的檢驗過程。因此,如果主機裝置以與證書鏈將被檢驗的次序 或序列相同的次序或序列將證書鏈590發(fā)送到存儲器裝置10,那么存儲器裝置10可在接收到每一證書時開始檢驗每一證書,而不必等到已接收鏈590中的全部9個證書為止。
因此,在一個實施例中,主機裝置一次將鏈590中的一個證書發(fā)送到存儲器裝置10。存儲器裝置IO將接著必須一次存儲單一證書。在已檢驗證書之后,其可由主機所發(fā)送的下一證書(鏈中的最后一個證書除外)重寫。以此方式,存儲器裝置IO將需要保留空間以用于在任何時間僅存儲單 一證書。
存儲器裝置將需要知道何時己接收整個鏈590。因此,優(yōu)選地,最后一個證書590(9)含有這是鏈中的最后一個證書的指示符或指示。此特征在圖25中說明,圖25是說明處于證書緩沖器之前的控制扇區(qū)中的由主機發(fā)送到存儲器裝置10的信息的表。如圖25所示,證書590 (9)的控制扇區(qū)含有自變量名稱"'為最終'旗標(biāo)"。存儲器裝置10可接著通過檢查"為最終"旗標(biāo)是否經(jīng)設(shè)定來檢驗證書590 (9)是鏈中最后一個證書,以確定所接收的證書是否為鏈中最后一個證書。
在替代實施例中,鏈590中的證書可不逐個發(fā)送,而是以一個、兩個或三個證書的群組發(fā)送。顯然,可使用具有其它數(shù)目的證書的群組或群組中相同數(shù)目的證書。因此,鏈590包含證書591、 593、 595、 597和599的五(5)個連續(xù)串。所述串的每一者含有至少一個證書。證書的連續(xù)串是含有緊接于鏈中討論中的一個串之前的串的證書(開始證書)、緊接于鏈中一個串之后的串的證書(結(jié)束證書)和開始證書與結(jié)束證書之間的所有證書的串。舉例來說,串593含有所有三個證書590 (2) ,590 (3)和590 (4)。五個證書串由存儲器裝置10以以下序列檢驗591、 593、 595、 597,并以599結(jié)束。因此,如果五個串以與存儲器裝置IO所執(zhí)行的檢驗相同的序列發(fā)送和接收,那么存儲器裝置在串已被檢驗之后將不需要存儲串的任一者,且除最后一個串以外的所有串可由從主機到達的下一個串重寫。如在先前實施例中一樣,鏈中最后一個證書需要含有設(shè)定為特定值以指示其為鏈中最后一個證書的指示符(例如,旗標(biāo))。在此實施例中,存儲器裝置將僅需要保留足以存儲五個串中最大數(shù)目的證書的空間。因此,如果主機首先通知存儲器裝置IO其打算發(fā)送的最長串,那么存儲器裝置IO將僅需要保留足夠的空間用于最長串。
優(yōu)選地,由主機發(fā)送的鏈中每一證書的長度不大于由證書鑒定的公共密鑰的長度的四倍。類似地,由存儲器裝置IO發(fā)送到主機裝置以鑒定存儲器裝置的公共密鑰的證書的長度優(yōu)選地不大于由證書鑒定的公共密鑰的長度的四倍。
上述用于檢驗證書鏈的實施例在圖26的流程圖中說明,在圖26中為了簡單起見,每一群組中的證書數(shù)目假定為一。如圖26所示,主機將鏈中的證書循序發(fā)送到卡。以鏈中的第一證書(通常是緊跟如上文所闡釋的根證書之后的證書)開始,卡循序地從正被驗證的主機接收證書鏈(方框602)??ń又鴻z驗所接收的證書的每一者并在證書的任一者未能被檢驗的情況下中止過程。如果證書的任一者未能被檢驗,那么卡通知主機(方框604、 606)??▽⒔又鴻z測最后一個證書是否己被接收和檢驗(菱形608)。如果最后一個證書未被接收和檢驗,那么卡接著返回到方框602以繼續(xù)接收和檢驗來自主機的證書。如果最后一個證書已被接收和檢驗,那么卡接著在證書檢驗之后行進到下一階段(610)。雖然圖26和以下的后續(xù)圖式中的特征參考存儲器卡作為實例,但將了解,這些特征也可應(yīng)用于具有非存儲器卡的物理形式的存儲器裝置。
當(dāng)卡正驗證主機時主機實行的過程在圖27中說明。如圖27所示,主機將鏈中的下一證書發(fā)送到卡(方框620)(通常以緊跟根證書之后的一個證書開始)。主機接著確定是否已從卡接收指示驗證失敗的中止通知(菱形622)。如果已接收中止通知,那么主機停止(方框624)。如果尚未接收中止通知,那么主機通過檢查所發(fā)送的最后一個證書中是否已設(shè)定"為最終旗標(biāo)"來檢査是否已發(fā)送鏈中的最后一個證書(菱形626)。如果已發(fā)送最后一個證書,那么主機接著在證書檢驗之后行進到下一階段(方框628)。如圖22和23中所說明,下一階段可以是詢問響應(yīng),之后是對話密鑰創(chuàng)建。如果尚未發(fā)送鏈中的最后一個證書,那么主機返回到方框620以發(fā)送鏈中的最后一個證書。
當(dāng)卡正被驗證時卡和主機采取的動作在圖28和29中說明。如圖28所示,在開始之后,卡等待來自主機的發(fā)送鏈中的證書的請求(方框630、菱形632)。如果未接收到來自主機的請求,那么卡將返回到菱形632。如果接收到來自主機的請求,那么卡將接著發(fā)送鏈中的下一證書,以應(yīng)發(fā)送的第一證書開始(通常以緊跟根證書之后的一個證書開始)(方框634)??ù_定是否已從主機接收失敗通知(菱形636)。如果已接收失敗通知,那么卡停止(方框637)。如果未接收失敗通知,那么卡接著確定是否已發(fā)送最后一個證書(菱形638)。如果尚未發(fā)送最后一個證書,那么卡返回到菱形632并等待直到其從主機接收到發(fā)送鏈中的下一證書的下一請求為止。如果已發(fā)送最后一個證書,那么卡接著行進到下一階段(方框639)。
圖29說明當(dāng)卡正被驗證時主機采取的動作。主機將對鏈中的下一證書的請求發(fā)送到卡,以對待發(fā)送的第一證書的請求開始(方框640)。主機接著檢驗所接收的每一證書,并中止過程且通知卡檢驗是否失敗(方框642)。如果檢驗通過,那么主機檢査是否已接收并成功檢驗最后一個證書(菱形644)。如果尚未接收和成功檢驗最后一個證書,那么主機接著返回到方框640以發(fā)送對鏈中的下一證書的請求。如果已接收和成功檢驗最后一個證書,那么主機接著在證書檢驗之后行進到下一階段(方框646)。
45證書撤回
當(dāng)發(fā)布證書時,預(yù)期其用于其整個有效性周期。然而,各種情形可導(dǎo)致證書在有效性周期期滿之前變得無效。此類情形包含名稱改變、主題與CA之間的關(guān)聯(lián)改變(例如,職員終止與機構(gòu)的雇用關(guān)系),以及相應(yīng)專用密鑰的泄密或可疑泄密。在此類情形下,CA需要撤回證書。
SSA以不同方式實現(xiàn)證書撤回,每一 ACR可經(jīng)配置以用于特定的撤回證書的方法。ACR可經(jīng)配置以不支持撤回方案。在此情況下,認(rèn)為每一證書有效直到其期滿日期為止?;蛘呖墒褂米C書撤回列表(CRL)。作為又一替代方案,撤回方案可特定針對特定應(yīng)用,或為應(yīng)用特定的,其將在下文中闡釋。ACR通過指定撤回值而指定采用三種撤回方案中的哪一種。如果在無撤回方案的情況下創(chuàng)建ACR,那么其有可能采用可由ACR所有者激活的撤回方案。存儲器裝置證書的撤回由主機而不是由SSA安全性系統(tǒng)實行。ACR所有者負責(zé)管理主機根證書的撤回,完成此動作所借助的機制是通過更新ACR的憑證來進行。
證書撤回列表(CRL)
SSA系統(tǒng)使用撤回方案,其涉及每一 CA周期性地發(fā)布稱為證書撤回列表(CRL)的經(jīng)簽署數(shù)據(jù)結(jié)構(gòu)。CRL是經(jīng)時間戳記的列表,其識別由CA (發(fā)布討論中的證書的同一CA)簽署的撤回的證書,且可由公眾自由使用。每一撤回的證書在CRL中由其證書序列號識別。CRL的大小是任意的且依賴于被撤回的未期滿證書的數(shù)目。當(dāng)裝置使用證書(例如,用于檢驗主機的身份)時,裝置不僅檢査證書簽名(和有效性),而且對照通過CRL接收的序列號的列表對其進行檢驗。如果在由發(fā)布證書的CA發(fā)布的CRL上發(fā)現(xiàn)例如證書的序列號等識別信息,那么這指示證書已被撤回且不再有效。
CRL還將需要被檢驗為真的以便使其可用于驗證證書的目的。使用發(fā)布CRL的CA的專用密鑰來簽署CRL,且可通過使用CA的公共密鑰對經(jīng)簽署CRL進行解密而將CRL檢驗為真的。如果經(jīng)解密CRL與未經(jīng)簽署的CRL的摘要匹配'那么這意味著CRL尚未被竄改且是真的。CRL使用散列算法頻繁地經(jīng)散列以獲得其摘要,且摘要通過CA的專用密鑰加密。為了檢驗CRL是否有效,使用CA的公共密鑰解密經(jīng)簽署CRL (即'散列和經(jīng)加密CRL)以得到經(jīng)解密和散列的CRL (即,CRL的摘要)。這接著與散列CRL進行比較。因此,檢驗過程可能頻繁地涉及散列CRL以與經(jīng)解密和散列的CRL進行比較的步驟。 '
CRL方案的特性之一是,證書的確認(rèn)(對照CRL)可與獲得CRL分離執(zhí)行。CRL也由相干證書的發(fā)布者簽署,且以類似于證書的檢驗的方式使用以上述方式發(fā)布CRL的 CA的公共密鑰而被檢驗。存儲器裝置檢驗簽名是CRL的,且CRL的發(fā)布者與證書的發(fā) 布者匹配。CRL方案的另一特性是,可借助與證書本身完全相同的手段,即經(jīng)由非置信 服務(wù)器和非置信通信來分布CRL。 CRL及其特性在X.509標(biāo)準(zhǔn)中詳細闡釋。 CRL的SSA基礎(chǔ)結(jié)構(gòu)
SSA為使用CRL方案的主機的撤回提供基礎(chǔ)結(jié)構(gòu)。當(dāng)以CRL撤回方案向基于RSA 的ACR驗證時,主機向設(shè)定證書命令添加一個CRL (如果發(fā)布者CA未撤回任何證書, 那么可能為空的CRL)作為額外字段。此字段將含有由證書的發(fā)布者簽署的CRL。當(dāng)此 字段存在時,存儲器裝置10首先檢驗設(shè)定證書命令中的證書。獲得和存取CRL儲存庫 完全是主機的責(zé)任。CRL以其在期間有效的時間周期(CRL期滿時間周期或CET)來發(fā) 布。在檢驗期間,如果發(fā)現(xiàn)當(dāng)前時間不在此時間周期內(nèi),那么認(rèn)為CRL有缺陷,且不能 用于證書檢驗。因而結(jié)果是,證書的驗證失敗。
在常規(guī)證書檢驗方法中,驗證或檢驗實體預(yù)期擁有或能夠從證書授權(quán)方(CA)檢索 證書撤回列表,并對照列表檢査經(jīng)呈現(xiàn)用于驗證的證書的序列號以確定所呈現(xiàn)的證書是 否已被撤回。在驗證或檢驗實體為存儲器裝置的情況下,存儲器裝置可能未獨立地用于 從CA檢索證書撤回列表。如果證書撤回列表預(yù)先存儲在裝置中,那么此列表町變得過 期使得安裝日期之后撤回的證書將不會出現(xiàn)在列表上。這將使用戶能夠使用撤回的證書 存取存儲裝置。這是不合需要的。
在一個實施例中,上述問題可由一系統(tǒng)解決,其中希望被驗證的實體將證書撤回列 表連同待驗證的證書一起提供到驗證實體(其可為存儲器裝置10)。驗證實體接著檢驗 證書和所接收的證書撤回列表的真實性。驗證實體通過檢查證書的識別信息(例如證書 的序列號)是否存在于列表上來檢查證書是否在撤回列表上。
鑒于以上內(nèi)容,不對稱驗證方案可用于主機裝置與存儲器裝置IO之間的相互驗證。 希望向存儲器裝置IO驗證的主機裝置將需要提供其證書鏈和相應(yīng)CRL兩者。另一方面, 主機裝置已用于連接到CA以獲得CRL,使得當(dāng)存儲器裝置IO將由主機裝置驗證時,存 儲器裝置不需要將CRL連同其證書或證書鏈一起呈現(xiàn)給主機裝置。
近年來,存在可用于播放內(nèi)容的擴增數(shù)目的不同類型的便攜式裝置,例如不同內(nèi)嵌 式或獨立音樂播放器、mp3播放器、蜂窩式電話、個人數(shù)字助理和筆記本計算機。雖然 有可能將此類裝置連接到環(huán)球網(wǎng)以便存取來自證書授權(quán)方的證書檢驗列表,但許多用戶 通常不每日連接到網(wǎng)絡(luò),而是將連接到網(wǎng)絡(luò)僅為了獲得新內(nèi)容或更新預(yù)訂(例如每隔幾個星期)。因此,此類用戶必須較頻繁地從證書授權(quán)方獲得證書撤回列表可能是麻煩的。 對于此類用戶,證書撤回列表以及(任選地)將需要呈現(xiàn)到存儲裝置以存取受保護內(nèi)容 的主機證書可存儲在存儲裝置本身的優(yōu)選未受保護區(qū)域中。在許多類型的存儲裝置(例 如,快閃存儲器)中,存儲裝置的未受保護區(qū)域由主機裝置而不是由存儲裝置本身管理。 以此方式,用戶不需要(通過主機裝置)必須連接到網(wǎng)絡(luò)以獲得更多最新證書撤回列表。 主機裝置可簡單地從存儲裝置的未受保護區(qū)域檢索此類信息,并接著轉(zhuǎn)向且將此類證書 和列表呈現(xiàn)到存儲裝置或存儲器裝置以存取存儲裝置中的受保護內(nèi)容。由于用于存取受 保護內(nèi)容的證書及其相應(yīng)證書撤回列表通常在某些時間周期內(nèi)有效,所以只要其仍有效, 用戶就將不必獲得最新證書或證書撤回列表。以上特征使用戶能夠在適當(dāng)長的周期期間 在證書和證書撤回列表兩者均仍有效的情況下便利地存取證書和證書撤回列表,而不必 連接到證書授權(quán)方來獲得更新的信息。
上述過程在圖30和31的流程圖中說明。如圖30所示,主機24從存儲器裝置10的 未受保護的公共區(qū)域讀取關(guān)于主機將呈現(xiàn)給存儲器裝置以用于驗證的證書的CRL (方框 652)。由于CRL存儲在存儲器的未受保護區(qū)域中,所以在主機可獲得CRL之前不需要 驗證。因為CRL存儲在存儲器裝置的公共區(qū)域中,所以CRL的讀取受主機裝置24控制。 主機又將CRL和待檢驗的證書一起發(fā)送到存儲器裝置(方框654),且除非其從存儲器裝 置10接收到失敗通知,否則行進到下一階段(方框656)。參看圖31,存儲器裝置從主 機接收CRL和證書(方框658)并檢查證書序列號是否在CRL上(方框660),以及檢 查其它方面(例如,CRL是否已期滿)。如果發(fā)現(xiàn)證書序列號在CRL上或由于其它原因 而失敗,那么存儲器裝置接著將失敗通知發(fā)送到主機(方框662)。以此方式,不同的主 機可獲得存儲在存儲器裝置的公共區(qū)域中的CRL,因為所述同一CRL可用于不同主機的 驗證。如上所述,為了用戶的便利,將使用CRL檢驗的證書也可與CRL—起優(yōu)選地存 儲在存儲器裝置IO的未受保護區(qū)域中。然而,證書可用于僅由證書被發(fā)布到的主機向存 儲器裝置驗證。
在CRL在其字段中含有下一更新的時間(如圖32中所說明)的情況下,裝置10中 的SSA還對照此時間檢查當(dāng)前時間以查看當(dāng)前時間是否在此時間之后如果是,那么驗 證也失敗。SSA因此優(yōu)選地對照當(dāng)前時間(或?qū)φ沾鎯ζ餮b置IO接收到CRL時的時間) 檢查下一更新的時間以及CET兩者。
如上所述,如果CRL含有被撤回證書的識別信息的長列表,那么處理(例如散列) 和搜索列表以獲得由主機呈現(xiàn)的證書的序列號可能花費較長時間,尤其是在處理和搜索依序?qū)嵭械那闆r下。因此,為了加速過程,這些可同時實行。此外,如果需要在處理和 搜索整個CRL之前接收整個CRL,那么過程也可能耗時。申請人認(rèn)識到,可通過處理和 搜索CRL的若干部分(在其被接收時(在進行中))來加速過程,使得當(dāng)接收到CRL的 最后部分時,過程即將完成。
圖33和34說明撤回方案的以上特征。在驗證實體(例如,存儲器裝置,比如存儲 器卡)處,從希望被驗證的實體接收證書和CRL (方框702)。處理(例如散列)未加密 CRL的若干部分,且對這些部分同時執(zhí)行搜索以用于所呈現(xiàn)的證書的識別(例如,序列 號)。將經(jīng)處理(例如散列)的CRL部分編譯為完整的散列CRL,其與通過用從希望被 驗證的實體接收的部分編譯經(jīng)解密CRL部分而形成的完整的經(jīng)解密和散列的CRL進行 比較。如果比較指示比較中不存在匹配,那么驗證失敗。驗證實體還對照當(dāng)前時間檢査 下一更新的時間以及CET兩者(方框706、 708)。如果發(fā)現(xiàn)所呈現(xiàn)的證書的識別信息在 CRL上或當(dāng)前時間不在CET內(nèi),或如果下一更新的CRL的時間已過去,那么驗證也失 敗(方框710)。在一些實施方案中,為編譯而存儲散列CRL部分和經(jīng)解密散列CRL部 分可能不需要大量存儲器空間。
當(dāng)實體(例如,主機)希望被驗證時,其將把其證書和CRL發(fā)送到驗證實體(方框 722),并行進到下一階段(方框724)。這在圖34中說明。
如果實體呈現(xiàn)用于識別的證書鏈,那么可實施與上文類似的過程。在此情況下,將 需要針對鏈中每一證書以及其相應(yīng)CRL重復(fù)上述過程。每一證書及其CRL可在其被接 收時處理,而不用等待接收證書鏈的其余部分以及其相應(yīng)CRL。
身份對象(IDO)
身份對象是經(jīng)設(shè)計以允許存儲器裝置10 (例如,快閃存儲器卡)存儲RSA密鑰對或 其它類型的密碼ID的受保護對象。身份對象包含可用于簽署和檢驗身份以及加密和解密 數(shù)據(jù)的任何類型的密碼ID。身份對象還包含來自CA的證書(或來自多個CA的證書鏈), 其鑒定密鑰對中的公共密鑰為真。身份對象可用于提供外部實體或內(nèi)部卡實體(即,裝 置本身、內(nèi)部應(yīng)用程序等,稱為身份對象的所有者)的身份的證明。因此,卡不使用RSA 密鑰對或其它類型的密碼ID來通過詢問響應(yīng)機制驗證主機,而是作為通過簽署提供到其 處的數(shù)據(jù)流進行識別的證明。換句話說,身份對象含有其所有者的密碼ID。為了存取身 份對象中的密碼ID,主機將首先需要被驗證。如下文所描述,借助ACR來控制驗證過 程。在主機已被成功驗證之后,身份對象所有者可使用密碼ID向另一方建立所有者的身 份。舉例來說,密碼ID (例如,公共-專用密鑰對的專用密鑰)可用于簽署由另一方通過主機呈現(xiàn)的數(shù)據(jù)。代表身份對象所有者向另一方呈現(xiàn)身份對象中的經(jīng)簽署的數(shù)據(jù)和證書。 證書中的公共-專用密鑰對的公共密鑰由CA (即,置信授權(quán)方)鑒定為真,使得另一方 可確信此公共密鑰為真。另一方可接著使用證書中的公共密鑰解密經(jīng)簽署的數(shù)據(jù),且將 經(jīng)解密數(shù)據(jù)與另一方所發(fā)送的數(shù)據(jù)進行比較。如果經(jīng)解密數(shù)據(jù)與另一方所發(fā)送的數(shù)據(jù)匹 配,那么這展示身份對象的所有者確實能夠存取真實的專用密鑰,且因此確實是其所代 表的實體。
身份對象的第二用途是保護使用密碼ID (例如RSA密鑰本身)向IDO的所有者指 定的數(shù)據(jù)。所述數(shù)據(jù)預(yù)期使用IDO公共密鑰來加密。存儲器裝置IO (例如,存儲器卡) 將使用所述專用密鑰來解密所述數(shù)據(jù)。
IDO是可針對任何類型的ACR創(chuàng)建的對象。在一個實施例中,ACR可僅具有一個 IDO對象。數(shù)據(jù)簽署和保護特征均是SSA系統(tǒng)正提供給能夠向ACR驗證的任何實體的 服務(wù)。IDO的保護等級與ACR的登錄驗證方案一樣高??舍槍Ρ厝痪哂蠭DO的ACR選 擇任何驗證算法。由創(chuàng)建者(主機)來決定和評估哪一算法可較好地保護IDO使用。具 有IDO的ACR響應(yīng)于獲取IDO公共密鑰的命令而提供其證書鏈。
當(dāng)IDO正用于數(shù)據(jù)保護時,從卡輸出的經(jīng)解密數(shù)據(jù)可能需要進一步保護。在此情況 下,鼓勵主機使用通過可用驗證算法的任一者建立的安全通道。
當(dāng)創(chuàng)建IDO時,選擇密鑰長度以及PKCS弁1版本。在一個實施例中,公共和專用密 鑰使用如PKCS#1 v2.1中定義的(指數(shù),模數(shù))表示形式。
在一個實施例中,創(chuàng)建IDO期間所包含的數(shù)據(jù)是選定長度中的RSA密鑰對,以及遞 歸地證實公共密鑰的真實性的證書鏈。
擁有IDO的ACR將允許簽署用戶數(shù)據(jù)。這通過兩個SSA命令來完成
設(shè)定用戶數(shù)據(jù)提供待簽署的自由格式數(shù)據(jù)緩沖器。
獲取SSA簽名??▽⑻峁㏑SA簽名(使用ACR專用密鑰)。所述簽名的格式和 大小可依據(jù)對象類型根據(jù)PKCS#1 V1.5或V2.1來設(shè)定。
使用IDO的操作在圖35-37中說明,其中存儲器裝置IO為快閃存儲器卡,且所述卡 是IDO的所有者。圖35說明卡簽署發(fā)送到主機的數(shù)據(jù)所實行的過程。參看圖35,在主 機如由上述樹結(jié)構(gòu)的節(jié)點處的ACR所控制而被驗證(方框802)之后,卡等待主機對于 證書的請求(菱形804)。在接收到請求之后,卡發(fā)送證書并返回到菱形804以進行下一 主機請求(方框806)。如果需要發(fā)送證書鏈以證明卡所擁有的IDO的公共密鑰,那么重 復(fù)以上動作直到鏈中所有證書已發(fā)送到主機為止。在每一證書已發(fā)送到主機之后,卡等待來自主機的其它命令(菱形808)。如果在預(yù)設(shè)時間周期內(nèi)未從主機接收到命令,那么 卡返回到菱形804。在從主機接收數(shù)據(jù)和命令后,卡檢査確認(rèn)命令是否用于簽署數(shù)據(jù)(菱 形810)。如果命令是用于簽署數(shù)據(jù),那么卡用IDO中的專用密鑰簽署數(shù)據(jù)并將經(jīng)簽署數(shù) 據(jù)發(fā)送到主機(方框812)且返回到菱形804。如果來自主機的命令不是用于簽署來自主 機的數(shù)據(jù),那么卡使用IDO中的專用密鑰來解密所接收的數(shù)據(jù)(方框814)并返回到菱 形804。
圖36說明在卡簽署待發(fā)送到主機的數(shù)據(jù)時主機所實行的過程。參看圖36,主機將 驗證信息發(fā)送到卡(方框822)。在如由上述樹結(jié)構(gòu)的節(jié)點處的ACR所控制而成功驗證 之后,主機將對證書鏈的請求發(fā)送到卡并接收鏈(方框824)。在已檢驗卡的公共密鑰之 后,主機將數(shù)據(jù)發(fā)送到卡以用于簽署并接收由卡的專用密鑰簽署的數(shù)據(jù)(方框826)。
圖37說明當(dāng)主機使用卡的公共密鑰加密數(shù)據(jù)并將經(jīng)加密數(shù)據(jù)發(fā)送到卡時主機所實 行的過程。參看圖37,主機將驗證信息發(fā)送到卡(方框862)。在由ACR控制的驗證成 功執(zhí)行之后,主機將對檢驗IDO中卡的公共密鑰所需的證書鏈的請求發(fā)送到卡(方框864) 并將對數(shù)據(jù)的請求發(fā)送到卡。在已檢驗IDO中卡的公共密鑰之后,主機使用卡的經(jīng)檢驗 公共密鑰加密來自卡的數(shù)據(jù)并將其發(fā)送到卡(方框866、 868)。
查詢
主機和應(yīng)用程序需要擁有關(guān)于正與其一起工作的存儲器裝置或卡的某些信息以便執(zhí) 行系統(tǒng)操作。舉例來說,主機和應(yīng)用程序可能需要知道存儲在存儲器卡上的哪些應(yīng)用程 序可用于調(diào)用。主機所需的信息有時不是公共知識,這意味著并非每個人有權(quán)擁有所述 信息。因此,為了區(qū)分經(jīng)授權(quán)和未經(jīng)授權(quán)用戶,需要提供可由主機使用的兩種查詢方法。
一般信息查詢。此查詢給出沒有限制的系統(tǒng)公共信息。存儲在存儲器裝置中的機密 信息包括兩個部分共享部分和非共享部分。機密信息的一個部分包含可由個別實體專 有的信息,使得應(yīng)允許每一實體僅存取其自身的專有信息,而不能存取其它方的專有機 密信息。此類型的機密信息不共享,且形成機密信息的非共享部分。
通常認(rèn)為是公共的某些信息在 一 些情況下可能被視為機密的,例如駐存在卡中的應(yīng) 用程序的名稱及其生命周期狀態(tài)。此情形的另一實例可能是根ACR名稱,其被認(rèn)為是公 共的但對于一些SSA使用情況可能是機密的。對于這些情況,系統(tǒng)將響應(yīng)于一般信息查 詢提供保持此信息僅可由所有經(jīng)驗證用戶而不可由未經(jīng)驗證用戶使用的選項。此類信息 組成機密信息的共享部分。機密信息的共享部分的實例可包含根ACR列表一當(dāng)前存在于 裝置上的所有根ACR的列表。通過一般信息查詢對公共信息的存取不需要主機/用戶登錄到ACR中。因此已知SSA 標(biāo)準(zhǔn)的任何人可執(zhí)行和接收所述信息。根據(jù)SSA術(shù)語,此査詢命令在無對話號的情況下 被處置。然而,如果需要實體對機密信息的共享部分的存取,那么所述實體需要首先通 過控制對存儲器裝置中的數(shù)據(jù)的存取的控制結(jié)構(gòu)的任一者(例如,ACR的任一者)經(jīng)驗 證。在成功驗證之后,實體將能夠通過一般信息査詢存取機密信息的共享部分。如上文 所闡釋,驗證過程將產(chǎn)生用于存取的SSA對話號或id。
謹(jǐn)慎信息查詢
關(guān)于個別ACR及其系統(tǒng)存取和資產(chǎn)的專用信息視為謹(jǐn)慎的且需要明確驗證。因此, 這種查詢要求在接收對信息查詢的授權(quán)之前進行ACR登錄和驗證(如果驗證由ACR指 定的話)。此査詢需要SSA對話號。
在詳細描述兩種類型的查詢之前,首先描述索引群組的概念作為用于實施查詢的實 踐解決方案將是有用的。
索引群組
主機上的操作系統(tǒng)(OS)和系統(tǒng)驅(qū)動程序請求在潛在SSA主機上運行的應(yīng)用程序以 指定既定被讀取的扇區(qū)數(shù)目。這又意味著主機應(yīng)用程序需要知道對于每個SSA讀取操作 需要讀取多少扇區(qū)。
因為查詢操作的性質(zhì)是供應(yīng)一般不為請求信息的人知道的信息,所以主機應(yīng)用程序 發(fā)布查詢和猜測此操作所需的扇區(qū)數(shù)目較困難。
為了解決此問題,SSA査詢輸出緩沖器每查詢請求僅由一個扇區(qū)(512字節(jié))組成。 作為輸出信息的一部分的對象以稱為索引群組的群組來組織。每一類型的對象可具有不 同字節(jié)大小,這慮及可適合單一扇區(qū)的對象的數(shù)目。這定義此對象的索引群組。如果對 象具有20字節(jié)大小,那么此對象的索引群組將含有至多達25個對象。如果存在總共56 個此類對象,那么其原本將組織在3個索引群組中,其中對象"0"(第一對象)將開始 第一索引群組,對象"25"將開始第二索引群組,且對象50將開始第3 (最后一個)索 引群組。
系統(tǒng)查詢(一般信息查詢)
此査詢提供關(guān)于裝置中所支持的SSA系統(tǒng)和如同在裝置上運行的不同樹和應(yīng)用程序 被設(shè)置的當(dāng)前系統(tǒng)的一般公共信息。類似于下文描述的ACR查詢(謹(jǐn)慎査詢),系統(tǒng)査 詢將經(jīng)構(gòu)造以給出若千查詢選項
一般一支持SSA的版本。
SSA應(yīng)用程序一當(dāng)前存在于裝置上的所有SSA應(yīng)用程序(包含其運行狀態(tài))的 列表。
上文列舉的信息是公共信息。與ACR查詢一樣,為了排除主機需要知道針對查詢輸 出緩沖器讀取多少扇區(qū),將有一個扇區(qū)從裝置發(fā)送回,同時仍使主機能夠進一步査詢額 外索引群組。因此,如果根ACR對象的數(shù)目超過針對索引群組"0"的輸出緩沖器大小, 那么主機可關(guān)于隨后的索引群組("1")發(fā)送另一查詢請求。
ACR查詢(謹(jǐn)慎信息查詢)
SSAACR查詢命令希望向ACR用戶供應(yīng)關(guān)于ACR的系統(tǒng)資源(比如密鑰和應(yīng)用程 序ID、分區(qū)和子代ACR)的信息。查詢信息僅關(guān)于登錄的ACR且沒有關(guān)于系統(tǒng)樹上的 其它ACR的信息。換句話說,存取僅限于機密信息的在所涉及的ACR的許可下可存取 的所述部分。
存在用戶可查詢的三種不同的ACR對象
分區(qū)一名稱和存取權(quán)(所有者、讀取、寫入)。
密鑰ID和應(yīng)用程序ID—名稱和存取權(quán)(所有者、讀取、寫入)。
子代ACR—直接子代ACR的ACR和AGP名稱。
IDO和安全數(shù)據(jù)對象(下文描述) 一名稱和存取權(quán)(所有者、讀取、寫入)。
因為與ACR連接的對象的數(shù)目可變化且信息可能多于512字節(jié)(一個扇區(qū))。在事 先不知道對象的數(shù)目的情況下,用戶沒有辦法知道需要從裝置中的SSA系統(tǒng)讀取多少扇 區(qū)以便獲取完全列表。因此,SSA系統(tǒng)提供的每一對象列表劃分為索引群組,類似于上 述系統(tǒng)査詢的情況。索引群組是配合到一個扇區(qū)中的對象的數(shù)目,即可在一個扇區(qū)中將 多少對象從裝置中的SSA系統(tǒng)發(fā)送到主機。這使裝置中的SSA系統(tǒng)發(fā)送所請求索引群組 的一個扇區(qū)。主機/用戶將接收所查詢對象的緩沖器,緩沖器中的對象的數(shù)目。如果緩沖 器已滿,那么用戶可查詢下一對象索引群組。
圖38是說明涉及一般信息查詢的操作的流程圖。參看圖38,當(dāng)SSA系統(tǒng)從實體接 收一般信息査詢時(方框902),系統(tǒng)確定實體是否已被驗證(菱形904)。如果其已被驗 證,那么系統(tǒng)向?qū)嶓w供應(yīng)公共信息和機密信息的共享部分(方框906)。如果其未被驗證, 那么系統(tǒng)僅向?qū)嶓w供應(yīng)公共信息(方框908)。
圖39是說明涉及謹(jǐn)慎信息査詢的操作的流程圖。參看圖39,當(dāng)SSA系統(tǒng)從實體接 收謹(jǐn)慎信息査詢時(方框922),系統(tǒng)確定實體是否已被驗證(菱形924)。如果其已被驗 證,那么系統(tǒng)向?qū)嶓w供應(yīng)機密信息(方框926)。如果其未被驗證,那么系統(tǒng)拒絕實體對
53特征集延伸(FSE)
在許多情況下,非常有利的是在卡上的SSA內(nèi)部運行數(shù)據(jù)處理活動(例如,DRM 許可證對象確認(rèn))。所得系統(tǒng)相對于其中所有數(shù)據(jù)處理任務(wù)均在主機上執(zhí)行的替代解決方 案來說將較安全、較有效,且較不依賴于主機。
SSA安全性系統(tǒng)包括一組驗證算法和授權(quán)策略,其經(jīng)設(shè)計以控制對由存儲器卡存儲、 管理和保護的對象的集合的存取及其使用。 一旦主機獲得存取權(quán),主機就將接著對存儲 在存儲器裝置中的數(shù)據(jù)實行處理,其中對存儲器裝置的存取由SSA控制。然而,假定數(shù) 據(jù)在性質(zhì)上極大程度上為應(yīng)用特定的,且因此SSA中未定義數(shù)據(jù)格式也未定義數(shù)據(jù)處理, 所述SSA不處理存儲在裝置上的數(shù)據(jù)。
本發(fā)明的一個實施例基于以下認(rèn)識SSA系統(tǒng)可經(jīng)增強以允許主機執(zhí)行通常由主機 在存儲器卡中執(zhí)行的功能中的一些功能。因此,主機的一些軟件功能可分為兩個部分 一個部分仍由主機執(zhí)行且另一部分現(xiàn)由卡執(zhí)行。這增強了針對許多應(yīng)用程序的數(shù)據(jù)處理 的安全性和效率。出于這個目的,可添加稱為FSE的機制以增強SSA的能力。FSE中由 卡以此方式執(zhí)行的主機應(yīng)用程序在本文中也稱為內(nèi)部應(yīng)用程序或裝置內(nèi)部應(yīng)用程序。
增強的SSA系統(tǒng)提供用以延伸基本SSA命令集的機制,其經(jīng)由卡應(yīng)用程序的引入提 供對卡的驗證和存取控制。假定卡應(yīng)用程序除了 SSA的那些服務(wù)以外還實施其它服務(wù)(例 如,DRM方案、電子商務(wù)交易)。SSA特征集延伸(FSE)是經(jīng)設(shè)計以增強具有數(shù)據(jù)處 理軟件/硬件模塊(其可為專有的)的標(biāo)準(zhǔn)SSA安全性系統(tǒng)的機制。由SSAFSE系統(tǒng)定 義的服務(wù)使主機裝置除了可使用上述査詢獲得的信息外還能夠向卡査詢可用應(yīng)用程序, 選擇特定應(yīng)用程序并與特定應(yīng)用程序通信。上文描述的一般和謹(jǐn)慎查詢可用于此目的。
利用延伸SSA FSE中的卡特征集的兩種方法
提供服務(wù)一通過允許經(jīng)授權(quán)實體使用稱為通信管道的命令通道(其可為專有的) 直接與內(nèi)部應(yīng)用程序通信來啟用此特征。
SSA標(biāo)準(zhǔn)存取控制策略的延伸一通過使內(nèi)部受保護數(shù)據(jù)對象(例如,CEK、安全 數(shù)據(jù)對象或下文描述的SDO)與內(nèi)部卡應(yīng)用程序相關(guān)聯(lián)來啟用此特征。每當(dāng)存取此對象 時,如果滿足所定義的標(biāo)準(zhǔn)SSA策略,那么調(diào)用相關(guān)聯(lián)的應(yīng)用程序以借此除了標(biāo)準(zhǔn)SSA 策略外還強加至少一個條件。此條件優(yōu)選地將不與標(biāo)準(zhǔn)SSA策略沖突。僅當(dāng)同樣滿足此 額外條件時才準(zhǔn)予存取權(quán)。在進一步詳細闡述FSE的能力之前,現(xiàn)將敘述FSE的結(jié)構(gòu)方 面以及通信管道和SDO。SSM模塊和相關(guān)模塊
圖40A是連接到主機裝置24的存儲器裝置10 (例如,快閃存儲器卡)中的系統(tǒng)結(jié) 構(gòu)1000的功能方框圖,其用以說明本發(fā)明的一實施例???0的存儲器裝置中的軟件模 塊的主要組件如下
SSA傳送層1002
SSA傳送層依賴于卡協(xié)議。其在卡IO的協(xié)議層上處置主機側(cè)SSA請求(命令),且 接著將其中繼到SSMAPI。所有主機-卡同步和SSA命令識別均在此模塊處完成。傳送層 還負責(zé)主機24與卡IO之間的所有SSA數(shù)據(jù)傳遞。
安全服務(wù)模塊核心(SSM核心)1004
此模塊是SSA實施方案的重要部分。SSM核心實施SSA結(jié)構(gòu)。更明確地說,SSM 核心實施SSA樹和ACR系統(tǒng)以及上文描述的組成系統(tǒng)的所有相應(yīng)規(guī)則。SSM核心模塊 使用密碼庫1012來支持SSA安全性和密碼特征,例如加密、解密和散列。
SSM核心API 1006
這是其中主機和內(nèi)部應(yīng)用程序?qū)⑴cSSM核心介接以實行SSA操作的層。如圖40A 所示,主機24和內(nèi)部裝置應(yīng)用程序1010兩者將使用相同API。 安全應(yīng)用程序管理器模塊(SAMM) 1008
SAMM不是SSA系統(tǒng)的一部分,但其是卡中控制與SSA系統(tǒng)介接的內(nèi)部裝置應(yīng)用 程序的重要模塊。
SAMM管理所有內(nèi)部裝置運行應(yīng)用程序,其包含
1. 應(yīng)用程序生命周期監(jiān)視和控制。
2. 應(yīng)用程序初始化。
3. 應(yīng)用程序/主機/SSM接口。 裝置內(nèi)部應(yīng)用程序1010
這些是經(jīng)批準(zhǔn)在卡側(cè)運行的應(yīng)用程序。其由SAMM管理且可能夠存取SSA系統(tǒng)。 SSM核心還提供主機側(cè)應(yīng)用程序與內(nèi)部應(yīng)用程序之間的通信管道。此類內(nèi)部運行應(yīng)用程 序的實例是DRM應(yīng)用程序和一次性密碼(OTP)應(yīng)用程序,如下文進一步闡釋。
裝置管理系統(tǒng)(DMS) 1011
這是含有在運輸后(通常稱為發(fā)布后)模式中更新卡的系統(tǒng)和應(yīng)用程序固件以及添 加/去除服務(wù)所需的過程和協(xié)議的模塊。
圖40B是SSM核心1004的內(nèi)部軟件模塊的功能方框圖。如圖40B所示,核心1004
55包含SSA命令處置器1022。處置器1022在源自主機或源自裝置內(nèi)部應(yīng)用程序1010的 SSA命令傳遞到SSA管理器1024之前解析所述命令。所有SSA安全性數(shù)據(jù)結(jié)構(gòu)(例如 AGP和ACR)以及所有SSA規(guī)則和策略均存儲在SSA數(shù)據(jù)庫1026中。SSA管理器1024 實施由ACR和AGP以及存儲在數(shù)據(jù)庫1026中的其它控制結(jié)構(gòu)施加的控制。例如IDO 和安全數(shù)據(jù)對象等其它對象也存儲在SSA數(shù)據(jù)庫1026中。SSA管理器1024實施由ACR 和AGP以及存儲在數(shù)據(jù)庫1026中的其它控制結(jié)構(gòu)施加的控制。不涉及SSA的非安全操 作由SSA非安全操作模塊1028處置。SSA結(jié)構(gòu)下的安全操作由SSA安全操作模塊1030 處置。模塊1032是將模塊1030連接到密碼庫1012的接口 。 1034是將模塊1026和1028 連接到圖1中的快閃存儲器20的層。 通信(或通過)管道
通過管道對象使經(jīng)授權(quán)主機側(cè)實體能夠與如由SSM核心和SAMM控制的內(nèi)部應(yīng)用 程序通信。主機與內(nèi)部應(yīng)用程序之間的數(shù)據(jù)傳遞在發(fā)送和接收命令(下文定義)上實行。 實際命令是應(yīng)用程序特定的。創(chuàng)建管道的實體(ACR)將需要提供管道名稱和其將開放 通道到的應(yīng)用程序的ID。與所有其它受保護對象一樣,ACR變成其所有者且被允許根據(jù) 標(biāo)準(zhǔn)授權(quán)規(guī)則和限制向其它ACR授權(quán)使用權(quán)以及所有權(quán)。
如果在經(jīng)驗證實體的ACAM中已設(shè)定創(chuàng)建—管道許可,那么經(jīng)驗證實體將被允許創(chuàng) 建管道對象。僅當(dāng)在內(nèi)部應(yīng)用程序的PCR中已設(shè)定寫入或讀取管道許可時,才允許與內(nèi) 部應(yīng)用程序的通信。僅當(dāng)實體是管道所有者或在其PCR中已設(shè)定授權(quán)存取權(quán)時,才允許 所有權(quán)和存取權(quán)授權(quán)。與當(dāng)向另一 ACR授權(quán)所有權(quán)權(quán)利時的所有其它許可一樣,原始所 有者將優(yōu)選地從所有其對此裝置應(yīng)用程序的許可剝離。
優(yōu)選地,僅針對特定應(yīng)用程序創(chuàng)建一個通信管道。創(chuàng)建第二管道并將其連接到已連 接的應(yīng)用程序的嘗試將優(yōu)選地被SSM系統(tǒng)1000拒絕。因此,優(yōu)選地,裝置內(nèi)部應(yīng)用程 序1010的一者與通信管道之間存在一對一關(guān)系。然而,多個ACR可與一個裝置內(nèi)部應(yīng) 用程序通信(經(jīng)由授權(quán)機制)。單一 ACR可與若干裝置應(yīng)用程序通信(經(jīng)由授權(quán)或連接 到不同應(yīng)用程序的多個管道的所有權(quán))??刂撇煌艿赖腁CR優(yōu)選地位于完全分離的樹 的節(jié)點中,使得通信管道之間不存在串?dāng)_。
使用以下命令在主機與特定應(yīng)用程序之間傳遞數(shù)據(jù)
寫入通過(WRITE PASS THROUGH)—將從主機將未格式化數(shù)據(jù)緩沖器傳遞到裝 置內(nèi)部應(yīng)用程序。
讀取通過(READ PASS THROUGH) —將從主機將未格式化數(shù)據(jù)緩沖器傳遞到裝置內(nèi)部應(yīng)用程序,且一旦內(nèi)部處理完成,就將未格式化數(shù)據(jù)緩沖器輸出回到主機。
寫入和讀取通過命令提供主機希望與其通信的裝置內(nèi)部應(yīng)用程序1008的ID作為參 數(shù)。將確認(rèn)實體許可,且如果請求實體(即,代管此實體正使用的對話的ACR)具有使 用連接到所請求應(yīng)用程序的管道的許可,那么數(shù)據(jù)緩沖器將被解譯且執(zhí)行命令。
此通信方法允許主機應(yīng)用程序?qū)①u主/專有特定命令通過SSA ACR對話通道傳遞到 內(nèi)部裝置應(yīng)用程序。
安全數(shù)據(jù)對象(SDO)
可結(jié)合FSE使用的有用對象是SDO。
SDO充當(dāng)用于敏感信息的安全存儲的通用容器。類似于CEK對象,其為ACR所有, 且可在ACR之間授權(quán)存取權(quán)和所有權(quán)。其含有根據(jù)預(yù)定義策略限制而受保護和使用的數(shù) 據(jù),且任選地具有到裝置內(nèi)部應(yīng)用程序1008的鏈接。敏感數(shù)據(jù)優(yōu)選地不由SSA系統(tǒng)使 用或解譯,而是由對象的所有者和用戶使用或解譯。換句話說,SSA系統(tǒng)不辨出由其處 置的數(shù)據(jù)中的信息。以此方式,對象中的數(shù)據(jù)的所有者和用戶可較不關(guān)注于當(dāng)在主機與 數(shù)據(jù)對象之間傳遞數(shù)據(jù)時由于與SSA系統(tǒng)介接而引起的敏感信息的損失。因此,SDO對 象由主機系統(tǒng)(或內(nèi)部應(yīng)用程序)創(chuàng)建,且被指派有串ID,與創(chuàng)建CEK的方式類似。 在創(chuàng)建后,主機除了名稱外還提供鏈接到SDO的應(yīng)用程序的應(yīng)用程序ID,和將由SSA 存儲、進行完整性檢驗以及檢索的數(shù)據(jù)區(qū)塊。
類似于CEK,優(yōu)選地僅在SSA對話內(nèi)創(chuàng)建SDO。用于打開對話的ACR變成SDO 的所有者且有權(quán)將其刪除、寫入和讀取敏感數(shù)據(jù)以及向另一 ACR (其子代或在同一 AGP 內(nèi))授權(quán)所有權(quán)和存取SDO的許可。
專門為SDO的所有者保留寫入和讀取操作。寫入操作用所提供的數(shù)據(jù)緩沖器重寫現(xiàn) 有SDO對象數(shù)據(jù)。讀取操作將檢索SDO的完整數(shù)據(jù)記錄。
向具有適當(dāng)存取許可的非所有者ACR允許SDO存取操作。定義以下操作
設(shè)定SDO,應(yīng)用程序ID己定義數(shù)據(jù)將由具有應(yīng)用程序ID的內(nèi)部SSA應(yīng)用程 序處理。應(yīng)用程序通過與SDO的關(guān)聯(lián)而被調(diào)用。作為任選結(jié)果,應(yīng)用程序?qū)懭隨DO 對象。
設(shè)定SDO,應(yīng)用程序ID為空此選項無效且將提示非法命令錯誤。設(shè)定命令需 要在卡中運行的內(nèi)部應(yīng)用程序。
獲取SDO,應(yīng)用程序ID已定義請求將由具有應(yīng)用程序ID的裝置內(nèi)部應(yīng)用程序 處理。應(yīng)用程序通過與SDO的關(guān)聯(lián)而被調(diào)用。輸出(盡管未定義)將被發(fā)送回到請求者。應(yīng)用程序?qū)⑷芜x地讀取SDO對象。
獲取SDO,應(yīng)用程序ID為空此選項無效且將提示非法命令錯誤。獲取命令需要在卡中運行的內(nèi)部應(yīng)用程序。
SDO相關(guān)許可ACR可以是SDO所有者或僅具有存取許可(設(shè)定、獲取或兩者)。另外,可準(zhǔn)許ACR將其存取權(quán)傳遞到其不擁有的SDO,傳遞到另一ACR。可明確地準(zhǔn)許ACR創(chuàng)建SDO并在其具有ACAM許可的情況下授權(quán)存取權(quán)。
內(nèi)部ACR
內(nèi)部ACR類似于任何具有PCR的ACR,只是裝置10的外部實體不能登錄到此ACR。事實上,當(dāng)調(diào)用處于其控制下的對象或與其相關(guān)聯(lián)的應(yīng)用程序時,圖40B的SSA管理器1024自動登錄到內(nèi)部ACR。由于試圖獲取存取權(quán)的實體是卡或存儲器裝置內(nèi)部的實體,所以不需要驗證。SSA管理器1024將簡單地將對話密鑰傳遞到內(nèi)部ACR以啟用內(nèi)部通信。
將使用兩個實例說明FSE的能力 一次性密碼產(chǎn)生和數(shù)字權(quán)利管理。在描述一次性密碼產(chǎn)生實例之前,將首先敘述雙因素驗證的問題。OTP實施例雙因素驗證(DFA)
D F A是驗證協(xié)議,其經(jīng)設(shè)計以通過將額外秘密"第二因素"添加到標(biāo)準(zhǔn)用戶憑證(即,用戶名稱和密碼)來增強向(作為一實例)網(wǎng)絡(luò)服務(wù)服務(wù)器的個人登錄安全性。第二秘密通常是存儲在用戶所擁有的物理安全令牌中的某一內(nèi)容。在登錄過程期間,用戶需要提供所擁有的證明作為登錄憑證的一部分。證明擁有的通常使用的方式是使用一次性密碼(OTP),即僅適于單一登錄的密碼,其由安全令牌產(chǎn)生并從安全令牌輸出。如果用戶能夠提供正確的OTP,那么其被認(rèn)為是擁有令牌的充分證明,因為其不能以密碼方式實行在沒有令牌的情況下計算OTP。由于OTP僅適于一次登錄'所以用戶應(yīng)在登錄時具有令牌,因為從先前登錄俘獲的舊密碼的使用將不再有效。
以下段落中描述的產(chǎn)品利用SSA安全性數(shù)據(jù)結(jié)構(gòu),加上一個FSE設(shè)計以計算OTP序列中的下一密碼,從而以多個"虛擬"安全令牌實施快閃存儲器卡,每一 "虛擬"安全令牌產(chǎn)生不同序列的密碼(其可用于登錄到不同網(wǎng)站)。此系統(tǒng)的方框圖在圖41中描繪。
完整的系統(tǒng)1050包括驗證服務(wù)器1052、因特網(wǎng)服務(wù)器1054和用戶1056以及令牌1058。第一步驟是約定驗證服務(wù)器與用戶之間的共享秘密(也稱為種子供應(yīng))。用戶1056
58將請求發(fā)布秘密或種子且將把它存儲在安全令牌1058中。下一步驟是將所發(fā)布的秘密或 種子與特定網(wǎng)絡(luò)服務(wù)服務(wù)器聯(lián)系。一旦這完成,就可發(fā)生驗證。用戶將指示令牌產(chǎn)生OTP。 OTP和用戶名稱及密碼發(fā)送到因特網(wǎng)服務(wù)器1054。因特網(wǎng)服務(wù)器1054將OTP轉(zhuǎn)發(fā)到驗 證服務(wù)器1052,從而要求其檢驗用戶身份。驗證服務(wù)器也將產(chǎn)生OTP,且由于其是從與 令牌共享的秘密產(chǎn)生,所以其應(yīng)與從令牌產(chǎn)生的OTP匹配。如果找到匹配,那么檢驗用 戶身份且驗證服務(wù)器將把肯定確認(rèn)傳回到因特網(wǎng)服務(wù)器1054,因特網(wǎng)服務(wù)器1054將完 成用戶登錄過程。
用于OTP產(chǎn)生的FSE實施方案具有以下特性
OTP種子安全地存儲(加密)在卡中。
在卡內(nèi)部執(zhí)行密碼產(chǎn)生算法。
裝置10可模仿多個虛擬令牌,其每一者存儲不同種子,且可使用不同的密碼產(chǎn) 生算法。
裝置10提供安全協(xié)議以將種子從驗證服務(wù)器傳送到裝置中。 用于OTP種子供應(yīng)和OTP產(chǎn)生的SSA特征在圖42中說明,其中實線箭頭說明所有 權(quán)或存取權(quán),且虛線箭頭說明關(guān)聯(lián)或鏈路。如圖42所示,在SSAFSE系統(tǒng)IIOO中,可 通過由N個應(yīng)用程序ACR 1106的每一者控制的一個或一個以上通信管道1104存取軟件 程序代碼FSE1102。在下文描述的實施例中,僅說明一個FSE軟件應(yīng)用程序,且對于每 一FSE應(yīng)用程序,僅存在一個通信管道。然而,將了解,可利用一個以上FSE應(yīng)用程序。 雖然圖42中僅說明一個通信管道,但將了解,可使用多個通信管道。所有此類變化均是 可能的。參看圖40A、 40B和42, FSE 1102可以是用于OTP供應(yīng)的應(yīng)用程序并形成圖 40A的裝置內(nèi)部應(yīng)用程序1010的子集??刂平Y(jié)構(gòu)(ACR 1101、 1103、 1106、 1110)是 SSA中的安全性數(shù)據(jù)結(jié)構(gòu)的一部分且存儲在SSA數(shù)據(jù)庫1026中。例如IDO 1120、 SDO 對象1122和通信管道1104等數(shù)據(jù)結(jié)構(gòu)也存儲在SSA數(shù)據(jù)庫1026中。
參看圖40A和40B,涉及ACR和數(shù)據(jù)結(jié)構(gòu)的安全性相關(guān)操作(例如,對話中的數(shù)據(jù) 傳遞,和例如加密、解密和散列等操作)由模塊1030在接口 1032和密碼庫1012的輔助 下處置。SSM核心API 1006不區(qū)分涉及與主機交互的ACR (外部ACR)和不與主機交 互的內(nèi)部ACR的操作,且因此不區(qū)分涉及主機與裝置內(nèi)部應(yīng)用程序1010的操作。以此 方式,相同控制機制用于控制主機側(cè)實體的存取和裝置內(nèi)部應(yīng)用程序1010的存取。這提 供在主機側(cè)應(yīng)用程序與裝置內(nèi)部應(yīng)用程序1010之間劃分?jǐn)?shù)據(jù)處理的靈活性。內(nèi)部應(yīng)用程 序1010(例如,圖42中的FSE 1102)與內(nèi)部ACR (例如,圖42中的ACR 1103)相關(guān)聯(lián)且通過內(nèi)部ACR的控制被調(diào)用。
此外,具有相關(guān)聯(lián)SSA規(guī)則和策略的安全性數(shù)據(jù)結(jié)構(gòu)(例如,ACR和AGP)優(yōu)選 地控制對例如SDO中的內(nèi)容或可從SDO中的內(nèi)容導(dǎo)出的信息等重要信息的存取,使得 外部或內(nèi)部應(yīng)用程序僅可根據(jù)SSA規(guī)則和策略存取此內(nèi)容或信息。舉例來說,如果兩個 不同用戶可調(diào)用裝置內(nèi)部應(yīng)用程序1010中的個別一者來處理數(shù)據(jù),那么位于單獨層級樹 中的內(nèi)部ACR用于控制所述兩個用戶的存取,使得其間沒有串?dāng)_。以此方式,兩個用戶 可存取裝置內(nèi)部應(yīng)用程序1010的共同集來處理數(shù)據(jù),而不會在SDO中的內(nèi)容或信息的 所有者方面擔(dān)心失去對內(nèi)容或信息的控制。舉例來說,對存儲由裝置內(nèi)部應(yīng)用程序1010 存取的數(shù)據(jù)的SDO的存取可由位于單獨層級樹中的ACR控制,使得其間沒有串?dāng)_。此 控制方式類似于上文描述的SSA控制對數(shù)據(jù)的存取的方式。這向內(nèi)容所有者和用戶提供 存儲在數(shù)據(jù)對象中的數(shù)據(jù)的安全性。
參看圖42,OTP相關(guān)主機應(yīng)用程序所需的軟件應(yīng)用程序代碼的一部分有可能存儲(例 如,在存儲器卡發(fā)布之前預(yù)先存儲或在存儲器卡發(fā)布之后加載)在存儲器裝置io中作為 FSE 1102中的應(yīng)用程序。為了執(zhí)行此代碼,主機將需要首先通過N個驗證ACR 1106的 一者驗證,N是正整數(shù),以便獲取對管道1104的存取權(quán)。主機還將需要提供應(yīng)用程序ID 以便識別其希望調(diào)用的OTP相關(guān)應(yīng)用程序。在成功驗證之后,可存取此代碼用于通過與 OTP相關(guān)應(yīng)用程序相關(guān)聯(lián)的管道1104執(zhí)行。如上所述,管道1104與特定應(yīng)用程序(例 如,OTP相關(guān)內(nèi)部應(yīng)用程序)之間優(yōu)選地存在一對一關(guān)系。如圖42所示,多個ACR1106 可共享對共同管道1104的控制。ACR也可控制一個以上管道。
圖42中說明統(tǒng)稱為對象1114的安全數(shù)據(jù)對象SDO 1、 SD0 2和SD0 3,其每一者 含有數(shù)據(jù),例如用于OTP產(chǎn)生的種子,所述種子有價值且優(yōu)選經(jīng)加密。三個數(shù)據(jù)對象與 FSEU02之間的鏈路或關(guān)聯(lián)1108說明對象的屬性,即當(dāng)存取對象中的任一者時,具有在 SDO的屬性中的應(yīng)用程序ID的FSE 1102中的應(yīng)用程序?qū)⒈徽{(diào)用,且所述應(yīng)用程序?qū)⒂?存儲器裝置的CPU12執(zhí)行而不需要接收任何進一步主機命令(圖1)。
參看圖42,在用戶能夠開始OTP過程之前,已創(chuàng)建安全性數(shù)據(jù)結(jié)構(gòu)(ACR 1101、 1103、 1106和1110),其PCR用于控制OTP過程。用戶將需要具有存取權(quán)以通過驗證服 務(wù)器ACR 1106的一者調(diào)用OTP裝置內(nèi)部應(yīng)用程序1102。用戶還將需要具有通過N個用 戶ACR 1110的一者對將產(chǎn)生的OTP的存取權(quán)??稍贠TP種子供應(yīng)過程期間創(chuàng)建SDO 1114。 IDO 1116優(yōu)選地已創(chuàng)建且由內(nèi)部ACR 1103控制。內(nèi)部ACR 1103還在創(chuàng)建SDO 1114之后控制所述SDO 1114。當(dāng)存取SDOU14時,圖40B中的SSA管理器1024自動登錄到ACR 1103。內(nèi)部ACR 1103與FSE 1102相關(guān)聯(lián)。在如虛線1108展示的OTP種子 供應(yīng)過程期間,SD0 1114可變得與FSE相關(guān)聯(lián)。在關(guān)聯(lián)處于適當(dāng)位置之后,當(dāng)主機存取 SDO時,關(guān)聯(lián)1108將促使調(diào)用FSE 1102,而沒有來自主機的進一步請求。當(dāng)通過N個 ACR 1106的一者存取通信管道1104時,圖40B中的SSA管理器1024也將自動登錄到 ACR1103。在兩種情況(存取SDO 1114和管道1104)下,SSA管理器將把對話號傳遞 到FSE 1102,所述對話號將識別到達內(nèi)部ACR 1103的通道。
OTP操作涉及兩個階段圖43中說明的種子供應(yīng)階段和圖44中說明的OTP產(chǎn)生階 段。還將參看圖40-42,其輔助描述。圖43是說明種子供應(yīng)過程的協(xié)議圖。如圖43所示, 主機(例如,主機24)以及卡采取各種動作。采取各種動作的卡上的一個實體是圖40A 和40B的SSM系統(tǒng),包含SSM核心1004。采取各種動作的卡上的另一實體是圖42所 示的FSE 1102。
在雙因素驗證中,用戶請求發(fā)布種子,且一旦發(fā)布種子,所述種子就將存儲在安全 令牌中。在此實例中,安全令牌是存儲器裝置或卡。用戶向圖42中的驗證ACR1106的 一者驗證以獲得對SSM系統(tǒng)的存取權(quán)(箭頭1122)。假定驗證成功(箭頭1124),用戶 接著請求種子(箭頭1126)。主機通過選擇用于簽署種子請求的特定應(yīng)用程序1102將簽 署種子請求的請求發(fā)送到卡。如果用戶不知道需要調(diào)用的特定應(yīng)用程序ID,那么可(例 如)通過對裝置的謹(jǐn)慎査詢從裝置IO獲得此信息。用戶接著輸入應(yīng)調(diào)用的應(yīng)用程序的應(yīng) 用程序ID,借此還選擇對應(yīng)于應(yīng)用程序的通信管道。用戶命令接著在通過命令中通過相 應(yīng)通信管道轉(zhuǎn)發(fā)到由來自用戶的應(yīng)用程序ID指定的應(yīng)用程序(箭頭1128)。所調(diào)用的應(yīng) 用程序請求借助所指定IDO (例如,圖42中的IDO 1112)中的公共密鑰進行簽名。
SSM系統(tǒng)使用IDO的公共密鑰簽署種子請求并通知應(yīng)用程序簽署完成(箭頭1132)。 所調(diào)用的應(yīng)用程序接著請求ID O的證書鏈(箭頭1134)。作為響應(yīng),S S M系統(tǒng)提供由A C R 1103控制的IDO的證書鏈(箭頭1136)。所調(diào)用的應(yīng)用程序接著將經(jīng)簽署的種子請求和 IDO的證書鏈通過通信管道提供到SSM系統(tǒng),所述SSM系統(tǒng)將其轉(zhuǎn)發(fā)到主機(箭頭 1138)。經(jīng)簽署的種子請求和IDO證書鏈通過通信管道的發(fā)送是通過在圖40A的SAMM 1008與SSM核心1004之間建立的回叫功能來進行,其中將在下文中詳細闡述所述回叫 功能。
主機所接收的經(jīng)簽署的種子請求和IDO證書鏈接著發(fā)送到圖41所示的驗證服務(wù)器 1052。由卡提供的證書鏈鑒定經(jīng)簽署的種子請求是源自置信令牌,使得驗證服務(wù)器1052 愿意向卡提供秘密種子。驗證服務(wù)器1052因此將以IDO的公共密鑰加密的種子連同用戶ACR信息一起發(fā)送到主機。用戶信息指示產(chǎn)生用戶在其下有權(quán)存取OTP的N個用戶 ACR中的哪一者。主機通過供應(yīng)應(yīng)用程序ID來調(diào)用FSE 1102中的OTP應(yīng)用程序,借此 還選擇對應(yīng)于應(yīng)用程序的通信管道,并將用戶ACR信息轉(zhuǎn)發(fā)到SSM系統(tǒng)(箭頭1140)。 經(jīng)加密種子和用戶ACR信息接著通過通信管道轉(zhuǎn)發(fā)到選定的應(yīng)用程序(箭頭1142)。所 調(diào)用的應(yīng)用程序?qū)⑹褂肐DO的專用密鑰解密種子的請求發(fā)送到SSM系統(tǒng)(箭頭1144)。 SSM系統(tǒng)解密種子并將解密已完成的通知發(fā)送到應(yīng)用程序(箭頭1146)。所調(diào)用的應(yīng)用 程序接著請求創(chuàng)建安全數(shù)據(jù)對象和將種子存儲在安全數(shù)據(jù)對象中。其還請求使SDO與用 于產(chǎn)生一次性密碼的OTP應(yīng)用程序(其可以是正作出請求的同一應(yīng)用程序)的ID相關(guān) 聯(lián)一次性密碼(箭頭1148)。 SSM系統(tǒng)創(chuàng)建SDO 1114的一者并將種子存儲在所述SDO 內(nèi)部且使所述SDO與OTP應(yīng)用程序的ID相關(guān)聯(lián),并在完成時將通知發(fā)送到應(yīng)用程序(箭 頭1150)。應(yīng)用程序接著請求SSM系統(tǒng)基于主機供應(yīng)的用戶信息向適當(dāng)?shù)挠脩鬉CR授權(quán) 內(nèi)部ACR 1103存取SDO 1114的存取權(quán)(箭頭1152)。在授權(quán)已完成之后,SSM系統(tǒng)通 知應(yīng)用程序(箭頭1154)。應(yīng)用程序接著通過回叫功能將SDO的名稱(槽ID)通過通信 管道發(fā)送到SSM系統(tǒng)(箭頭1156)。 SSM系統(tǒng)接著將其轉(zhuǎn)發(fā)到主機(箭頭1158)。主機 接著使SDO的名稱與用戶ACR聯(lián)系,使得用戶現(xiàn)可存取SDO。
現(xiàn)將參考圖44中的協(xié)議圖描述OTP產(chǎn)生的過程。為了獲得一次性密碼,用戶將登 錄到其有存取權(quán)的用戶ACR (箭頭1172)。假定驗證成功,SSM系統(tǒng)通知主機且主機將 "獲取SDO"命令發(fā)送到SSM (箭頭1174、 1176)。如上所述,存儲種子的SDO已與用 于產(chǎn)生OTP的應(yīng)用程序相關(guān)聯(lián)。因此,代替于與之前一樣通過通信管道選擇應(yīng)用程序, 借助由箭頭1176中的命令存取的SDO與OTP產(chǎn)生應(yīng)用程序之間的關(guān)聯(lián)來調(diào)用OTP產(chǎn)生 應(yīng)用程序(箭頭1178)。 OTP產(chǎn)生應(yīng)用程序接著請求SSM系統(tǒng)從SDO讀取內(nèi)容(即, 種子)(箭頭1180)。優(yōu)選地,SSM不知道包含在SDO的內(nèi)容中的信息,且將簡單地如 FSE所指示處理SDO中的數(shù)據(jù)。如果種子經(jīng)加密,那么這可能涉及如FSE所命令在讀取 之前解密種子。SSM系統(tǒng)從SDO讀取種子,并將種子提供到OTP產(chǎn)生應(yīng)用程序(箭頭 1182)。 OTP產(chǎn)生應(yīng)用程序接著產(chǎn)生OTP并將其提供到SSM系統(tǒng)(箭頭1184)。 OTP接 著由SSM轉(zhuǎn)發(fā)到主機(箭頭1186),主機又將OTP轉(zhuǎn)發(fā)到驗證服務(wù)器1052以完成雙因 素驗證過程。
回叫功能
在圖40A的SSM核心1004與SAMM 1008之間建立一般回叫功能。可以此功能注 冊不同的裝置內(nèi)部應(yīng)用程序和通信管道。因此,當(dāng)調(diào)用裝置內(nèi)部應(yīng)用程序時,應(yīng)用程序可使用此回叫功能在處理之后將數(shù)據(jù)通過曾用于將主機命令傳遞到應(yīng)用程序的相同通信 管道傳遞到SSM系統(tǒng)。 DRM系統(tǒng)實施例
圖45是說明DRM系統(tǒng)的功能方框圖,所述DRM系統(tǒng)使用通信管道1104'、具有到 FSE應(yīng)用程序1102'的鏈路1108'的CEK 1114',以及用于控制實施DRM功能的功能的控 制結(jié)構(gòu)1101'、 1103'、 1106'。如將注意到,圖45中的結(jié)構(gòu)相當(dāng)類似于圖42的結(jié)構(gòu),只是 安全性數(shù)據(jù)結(jié)構(gòu)現(xiàn)包含許可證服務(wù)器ACR 1106'和重放ACR 1110'以代替驗證服務(wù)器 ACR禾口用戶ACR,及CEK H14'以代替SDO。另外,不涉及IDO,且因此在圖45中省 略IDO。可在許可證供應(yīng)過程中創(chuàng)建CEK 1114'。協(xié)議46說明用于許可證供應(yīng)和內(nèi) 容下載的過程,其中密鑰在許可證對象中提供。如OTP實施例中一樣,希望獲取許可證 的用戶將首先需要在N個ACR U06'的一者以及N個ACR 1110'的一者下獲取存取權(quán),
使得可借助例如媒體播放器軟件應(yīng)用程序等媒體播放器來呈現(xiàn)內(nèi)容。
如圖46所示,主機向許可證服務(wù)器ACR 1106'驗證(箭頭1202)。假定驗證成功(箭 頭1204),許可證服務(wù)器將許可證文件連同CEK (密鑰ID和密鑰值) 一起提供給主機。 主機還通過將應(yīng)用程序ID供應(yīng)到卡上的SSM系統(tǒng)來選擇待調(diào)用的應(yīng)用程序。主機還發(fā) 送播放器信息(例如,關(guān)于媒體播放器軟件應(yīng)用程序的信息)(箭頭1206)。播放器信息 將指示播放器在N個重放ACR 1110'的哪一者下具有存取權(quán)。SSM系統(tǒng)將許可證文件和 CEK通過對應(yīng)于選定的應(yīng)用程序的通信管道轉(zhuǎn)發(fā)到DRM應(yīng)用程序(箭頭1208)。所調(diào)用 的應(yīng)用程序接著請求SSM系統(tǒng)將許可證文件寫入到隱藏分區(qū)(箭頭1210)。當(dāng)已如此寫 入許可證文件時,SSM系統(tǒng)通知應(yīng)用程序(箭頭1212)。 DRM應(yīng)用程序接著請求創(chuàng)建 CEK對象1114'并將來自許可證文件的密鑰值存儲在其中。DRM應(yīng)用程序還請求使CEK 對象與檢查與所提供的密鑰相關(guān)聯(lián)的許可證的DRM應(yīng)用程序的ID相關(guān)聯(lián)(箭頭1214)。 SSM系統(tǒng)完成這些任務(wù)且因此通知應(yīng)用程序(箭頭1216)。應(yīng)用程序接著請求基于主機 所發(fā)送的播放器信息將對CEK 1114'的讀取存取權(quán)授權(quán)給播放器經(jīng)許可存取其內(nèi)容的重 放ACR (箭頭1218)。 SSM系統(tǒng)執(zhí)行授權(quán)且因此通知應(yīng)用程序(箭頭1220)。應(yīng)用程序 通過通信管道將許可證的存儲己完成的消息發(fā)送到SSM系統(tǒng),且SSM系統(tǒng)將其轉(zhuǎn)發(fā)到 許可證服務(wù)器(箭頭1222和1224)?;亟泄δ芡ㄟ^通信管道用于此動作。在接收此通知 后,許可證服務(wù)器接著提供用提供到卡的CEK中的密鑰值加密的內(nèi)容文件。經(jīng)加密內(nèi)容 由主機存儲在公共卡區(qū)域中。經(jīng)加密內(nèi)容文件的存儲不涉及安全性功能,使得SSM系統(tǒng) 不參與到所述存儲中。圖47中說明重放操作。用戶通過主機向適當(dāng)?shù)闹胤臕CR (即,上文在箭頭152和 1154中已將讀取權(quán)授權(quán)到的重放ACR)驗證(箭頭1242)。假定驗證成功(箭頭1244), 用戶接著發(fā)送讀取與密鑰ID相關(guān)聯(lián)的內(nèi)容的請求(箭頭1246)。當(dāng)接收請求后,SSM系 統(tǒng)將發(fā)現(xiàn)DRM應(yīng)用程序ID與正被存取的CEK對象相關(guān)聯(lián),且因此將促使調(diào)用經(jīng)識別 的DRM應(yīng)用程序(箭頭1248)。 DRM應(yīng)用程序請求SSM系統(tǒng)讀取與密鑰ID相關(guān)聯(lián)的 數(shù)據(jù)(即,許可證)(箭頭1250)。 SSM不知道其被請求讀取的數(shù)據(jù)中的信息,且簡單地 處理來自FSE的執(zhí)行數(shù)據(jù)讀取過程的請求。SSM系統(tǒng)從隱藏分區(qū)讀取數(shù)據(jù)(即,許可證) 并將數(shù)據(jù)提供到DRM應(yīng)用程序(箭頭1252)。 DRM應(yīng)用程序接著解譯數(shù)據(jù)并檢查數(shù)據(jù) 中的許可證信息以査看許可證是否有效。如果許可證仍有效,那么DRM應(yīng)用程序?qū)⒁虼?通知SSM系統(tǒng)批準(zhǔn)內(nèi)容解密(箭頭1254)。 SSM系統(tǒng)接著使用CEK對象中的密鑰值解 密所請求的內(nèi)容并將經(jīng)解密內(nèi)容供應(yīng)到主機以進行重放(箭頭1256)。如果許可證不再 有效,那么拒絕對內(nèi)容存取的請求。
在來自許可證服務(wù)器的許可證文件中未提供密鑰的情況下,許可證供應(yīng)和內(nèi)容下載 將稍許不同于圖46中說明的許可證供應(yīng)和內(nèi)容下載。此不同方案在圖48的協(xié)議圖中說 明。圖46與48之間的相同步驟由相同標(biāo)號識別。因此,主機和SSM系統(tǒng)首先參與驗證 (箭頭1202、 1204)。許可證服務(wù)器將許可證文件和密鑰ID (沒有密鑰值)提供到主機, 且主機將把這些與其希望調(diào)用的DRM應(yīng)用程序的應(yīng)用程序ID —起轉(zhuǎn)發(fā)到SSM系統(tǒng)。 主機還發(fā)送播放器信息(箭頭1206')。 SSM系統(tǒng)接著將許可證文件和密鑰ID通過對應(yīng)于 選定的應(yīng)用程序的通信管道轉(zhuǎn)發(fā)到選定的DRM應(yīng)用程序(箭頭1208)。 DRM應(yīng)用程序 請求將許可證文件寫入到隱藏分區(qū)(箭頭1210)。當(dāng)已如此寫入許可證文件時,SSM系 統(tǒng)通知DRM應(yīng)用程序(箭頭1212)。 DRM應(yīng)用程序接著請求SSM系統(tǒng)產(chǎn)生密鑰值,創(chuàng) 建CEK對象,將密鑰值存儲在其中并使CEK對象與DRM應(yīng)用程序的ID相關(guān)聯(lián)(箭頭 1214')。在己遵照請求之后,SSM系統(tǒng)將通知發(fā)送到DRM應(yīng)用程序(箭頭1216)。 DRM 應(yīng)用程序?qū)⒔又埱骃SM系統(tǒng)基于來自主機的播放器信息向重放ACR授權(quán)對CEK對 象的讀取存取權(quán)(箭頭1218)。當(dāng)此完成時,SSM系統(tǒng)因此通知DRM應(yīng)用程序(箭頭 1220)。 DRM應(yīng)用程序接著通知SSM系統(tǒng)已存儲許可證,其中借助回叫功能通過通信管 道發(fā)送所述通知(箭頭1222)。此通知由SSM系統(tǒng)轉(zhuǎn)發(fā)到許可證服務(wù)器(箭頭1224)。 許可證服務(wù)器接著將與密鑰ID相關(guān)聯(lián)的內(nèi)容文件發(fā)送到SSM系統(tǒng)(箭頭1226)。 SSM 系統(tǒng)在不涉及任何應(yīng)用程序的情況下用由密鑰ID識別的密鑰值加密內(nèi)容文件。如此加密 并存儲在卡上的內(nèi)容可使用圖47的協(xié)議重放。在上文的OTP和DRM實施例中,F(xiàn)SE 1102和1102'可含有許多不同OTP和DRM 應(yīng)用程序供主機裝置選擇。用戶可具有選擇和調(diào)用所需裝置內(nèi)部應(yīng)用程序的選擇。然而, SSM模塊與FSE之間的總體關(guān)系保持相同,使得用戶和數(shù)據(jù)提供者可使用標(biāo)準(zhǔn)集的協(xié)議 來與SSM模塊交互并調(diào)用FSE。用戶和提供者不必涉及到許多不同裝置內(nèi)部應(yīng)用程序(其 中一些可能為專用的)的特殊性中。
此外,供應(yīng)協(xié)議可能稍許不同,如圖46和48中的情況一樣。在圖46的情況中許可 證對象含有密鑰值,但在圖48的情況中沒有密鑰值。此差異要求如上文說明的稍許不同 的協(xié)議。然而,圖47中的重放是相同的,不管如何供應(yīng)許可證。因此,此差異將僅關(guān)系 到內(nèi)容提供者和分配者,而通常不關(guān)系到消費者,消費者通常僅在重放階段中涉及。此 結(jié)構(gòu)因此為內(nèi)容提供者和分配者定制協(xié)議提供巨大靈活性,同時仍容易由消費者使用。 顯然,從通過兩組以上供應(yīng)協(xié)議供應(yīng)的數(shù)據(jù)導(dǎo)出的信息可能仍可使用第二協(xié)議存取。
以上實施例提供的另一優(yōu)點是,雖然例如用戶的外部實體與裝置內(nèi)部應(yīng)用程序可共 享由安全性數(shù)據(jù)結(jié)構(gòu)控制的數(shù)據(jù)的使用,但用戶僅能夠存取由裝置內(nèi)部應(yīng)用程序從所存 儲數(shù)據(jù)導(dǎo)出的結(jié)果。因此,在OTP實施例中,用戶通過主機裝置僅能夠獲得OTP,而不 能獲得種子值。在DRM實施例中,用戶通過主機裝置僅能夠獲得所呈現(xiàn)的內(nèi)容,而不能 獲得對許可證文件或密碼密鑰的存取權(quán)。此特征在不危及安全性的情況下為消費者提供 便利。
在一個DRM實施例中,裝置內(nèi)部應(yīng)用程序或主機均不具有對密碼密鑰的存取權(quán);僅 安全性數(shù)據(jù)結(jié)構(gòu)具有此存取權(quán)。在其它實施例中,除安全性數(shù)據(jù)結(jié)構(gòu)以外的實體也可存 取密碼密鑰。所述密鑰也可借助裝置內(nèi)部應(yīng)用程序產(chǎn)生,且接著由安全性數(shù)據(jù)結(jié)構(gòu)控制。
對裝置內(nèi)部應(yīng)用程序以及對信息(例如,OTP和所呈現(xiàn)的內(nèi)容)的存取由相同安全 性數(shù)據(jù)結(jié)構(gòu)控制。這減小了控制系統(tǒng)的復(fù)雜性和成本。
通過提供向控制主機對通過調(diào)用裝置內(nèi)部應(yīng)用程序獲得的信息的存取的ACR授權(quán) 來自控制對裝置內(nèi)部應(yīng)用程序的存取的內(nèi)部ACR的存取權(quán)的能力,此特征使得可能實現(xiàn) 上文的特征和功能。
應(yīng)用程序特定撤回方案
當(dāng)調(diào)用裝置內(nèi)部應(yīng)用程序時,還可修改安全性數(shù)據(jù)結(jié)構(gòu)的存取控制協(xié)議。舉例來說, 證書撤回協(xié)議可以是使用CRL的標(biāo)準(zhǔn)協(xié)議或?qū)S脜f(xié)議。因此,通過調(diào)用FSE,標(biāo)準(zhǔn)CRL 撤回協(xié)議可由FSE專用協(xié)議代替。
除了支持CRL撤回方案外,SSA還使駐存在裝置中的特定內(nèi)部應(yīng)用程序能夠通過裝置內(nèi)部應(yīng)用程序與CA或任何其它撤回授權(quán)方之間的專用通信通道調(diào)用主機。內(nèi)部應(yīng)用 程序?qū)S贸坊胤桨冈谥鳈C-應(yīng)用程序的關(guān)系方面是受限制的。
當(dāng)配置應(yīng)用程序特定撤回方案時,SSA系統(tǒng)將拒絕CRL(如果提供的話),否則將使 用證書和專用應(yīng)用程序數(shù)據(jù)(先前通過應(yīng)用程序特定通信管道提供)來決定是否撤回給 定的鑒定。
如上所述,ACR通過指定撤回值來指定采用三種撤回方案(無撤回方案、標(biāo)準(zhǔn)CRL 方案和應(yīng)用程序特定撤回方案)中的哪一種。當(dāng)選擇應(yīng)用程序特定撤回方案選項時,ACR 還將針對負責(zé)撤回方案的內(nèi)部應(yīng)用程序ID指定一 ID,且CET/APP一ID字段中的值將對 應(yīng)于負責(zé)撤回方案的內(nèi)部應(yīng)用程序ID。當(dāng)驗證裝置時,SSA系統(tǒng)將接著遵守內(nèi)部應(yīng)用程 序的專用方案。
代替于用另一協(xié)議集代替一個協(xié)議集,裝置內(nèi)部應(yīng)用程序的調(diào)用可向SSA已施加的 存取控制強加額外存取條件。舉例來說,存取CEK中的密鑰值的權(quán)利可由FSE進一步審 査。在SSA系統(tǒng)確定ACR具有對密鑰值的存取權(quán)之后,將在準(zhǔn)予存取之前咨詢FSE。 此特征允許內(nèi)容所有者控制對內(nèi)容的存取方面的巨大靈活性。
雖然上文已參考各種實施例描述本發(fā)明,但將了解,可在不脫離本發(fā)明的范圍的情 況下作出變化和修改,本發(fā)明的范圍將僅由所附權(quán)利要求書及其等效物界定。
權(quán)利要求
1. 一種向主機提供數(shù)據(jù)處理服務(wù)的數(shù)據(jù)存儲設(shè)備,其包括非易失性存儲器系統(tǒng),其經(jīng)配置以可移除地連接到所述主機中的個別主機,且能夠存儲數(shù)據(jù);安全性數(shù)據(jù)結(jié)構(gòu),其存儲于所述非易失性存儲器系統(tǒng)中;以及至少一個軟件應(yīng)用程序,其存儲于所述非易失性存儲器系統(tǒng)中,所述至少一個軟件應(yīng)用程序能夠被所述主機調(diào)用以執(zhí)行所述數(shù)據(jù)的處理,所述安全性數(shù)據(jù)結(jié)構(gòu)控制所述存儲器系統(tǒng)通過驗證過程所連接到的所述主機中的一者對可從所述數(shù)據(jù)獲得的信息和對所述至少一個軟件應(yīng)用程序的存取。
2. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)存儲設(shè)備,其中已在所述驗證過程中驗證所述主機中的 至少一個主機之后,由所述至少一個主機調(diào)用的所述至少一個軟件應(yīng)用程序可存取 所述數(shù)據(jù)。
3. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)存儲設(shè)備,其中所述至少一個軟件應(yīng)用程序處理至少一 些所述數(shù)據(jù),以獲得所述信息。
4. 根據(jù)權(quán)利要求3所述的數(shù)據(jù)存儲設(shè)備,其中已在所述驗證過程中驗證所述主機中的 至少一個主機之后,所述信息可披露給所述至少一個主機。
5. 根據(jù)權(quán)利要求4所述的數(shù)據(jù)存儲設(shè)備,所述安全性數(shù)據(jù)結(jié)構(gòu)包含第一和第二控制結(jié)構(gòu),所述第一控制結(jié)構(gòu)與所述至少一個軟件應(yīng)用程序相關(guān)聯(lián),其中所述第一控制結(jié) 構(gòu)具有向所述第二控制結(jié)構(gòu)授權(quán)對所述信息的存取控制的權(quán)利,所述第二控制結(jié)構(gòu)通過所述驗證過程控制所述主機對所述信息的存取。
6. 根據(jù)權(quán)利要求4所述的數(shù)據(jù)存儲設(shè)備,其中所述至少一個主機不可存取所述數(shù)據(jù)的 存取權(quán)。
7. 根據(jù)權(quán)利要求3所述的數(shù)據(jù)存儲設(shè)備,其中所述數(shù)據(jù)包含種子值,用于由所述至少 一個軟件應(yīng)用程序產(chǎn)生一次性密碼,且所述信息包含所述一次性密碼。
8. 根據(jù)權(quán)利要求3所述的數(shù)據(jù)存儲設(shè)備,其中所述數(shù)據(jù)關(guān)于至少一個許可證,所述至 少一個許可證用于存取存儲于或待存儲于所述非易失性存儲器系統(tǒng)內(nèi)的經(jīng)加密內(nèi) 容,且所述信息指示所述至少一個許可證是否有效。
9. 根據(jù)權(quán)利要求8所述的數(shù)據(jù)存儲設(shè)備,其中所述非易失性存儲器系統(tǒng)存儲經(jīng)加密數(shù) 據(jù),且所述安全性數(shù)據(jù)結(jié)構(gòu)響應(yīng)于所述信息來控制所述經(jīng)加密數(shù)據(jù)的解密。
10. 根據(jù)權(quán)利要求8所述的數(shù)據(jù)存儲設(shè)備,所述設(shè)備包含存儲于所述非易失性存儲器系統(tǒng)內(nèi)的多個DRM軟件應(yīng)用程序,所述DRM軟件應(yīng)用程序可由所述主機選擇且能夠 由所述主機調(diào)用,以用于處理所述數(shù)據(jù)。
11. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)存儲設(shè)備,所述設(shè)備包括存儲于所述非易失性存儲器系 統(tǒng)內(nèi)的多個軟件應(yīng)用程序。
12. 根據(jù)權(quán)利要求ll所述的數(shù)據(jù)存儲設(shè)備,其中所述主機通過數(shù)據(jù)處理請求而調(diào)用所述 多個軟件應(yīng)用程序,所述設(shè)備進一步包括對應(yīng)于所述多個軟件應(yīng)用程序中的每一者 的通信通道,以用于將來自所述主機的所述數(shù)據(jù)處理請求傳遞到所述應(yīng)用程序,所 述安全性數(shù)據(jù)結(jié)構(gòu)控制所述通信通道,以通過對應(yīng)于所述應(yīng)用程序中的一者的所述 通信通道將來自所述主機中的至少一者的所述數(shù)據(jù)處理請求的一者傳遞到所述一 個應(yīng)用程序。
13. 根據(jù)權(quán)利要求12所述的數(shù)據(jù)存儲設(shè)備,其中當(dāng)所述一個數(shù)據(jù)處理請求在對應(yīng)于所 述一個應(yīng)用程序的所述通信通道內(nèi)時,所述安全性數(shù)據(jù)結(jié)構(gòu)不辨識所述一個數(shù)據(jù)處 理請求內(nèi)的信息。
14. 根據(jù)權(quán)利要求12所述的數(shù)據(jù)存儲設(shè)備,所述安全性數(shù)據(jù)結(jié)構(gòu)控制所述通信通道, 使得所述通信通道之間無串?dāng)_。
15. 根據(jù)權(quán)利要求12所述的數(shù)據(jù)存儲設(shè)備,其中所述軟件應(yīng)用程序中的至少一些的每 一者可由所述主機通過選擇對應(yīng)于所述每一軟件應(yīng)用程序的所述通信通道而選擇。
16. 根據(jù)權(quán)利要求15所述的數(shù)據(jù)存儲設(shè)備,其中,已在所述驗證過程中通過所述安全 性數(shù)據(jù)結(jié)構(gòu)驗證所述主機之后,所述通信通道中的至少一些的每一者可由所述主機 選擇。
17. 根據(jù)權(quán)利要求12所述的數(shù)據(jù)存儲設(shè)備,所述安全性數(shù)據(jù)結(jié)構(gòu)包括至少一個控制結(jié) 構(gòu),所述至少一個控制結(jié)構(gòu)控制所述主機對所述通信通道中的至少一者的存取。
18. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)存儲設(shè)備,其進一步包括所述安全性數(shù)據(jù)結(jié)構(gòu)與所述主 機之間以及所述安全性數(shù)據(jù)結(jié)構(gòu)與所述至少一個軟件應(yīng)用程序之間的接口。
19. 根據(jù)權(quán)利要求18所述的數(shù)據(jù)存儲設(shè)備,其中所述至少一個軟件應(yīng)用程序?qū)⒄埱蟀l(fā) 送到所述安全性數(shù)據(jù)結(jié)構(gòu),且所述接口不區(qū)別來自所述主機的請求與來自所述至少 一個軟件應(yīng)用程序的請求,使得所述安全性數(shù)據(jù)結(jié)構(gòu)不知道所述請求來自所述主機 還是來自所述至少一個應(yīng)用程序。
20. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)存儲設(shè)備,其進一步包括至少一個數(shù)據(jù)對象,所述至少 一個數(shù)據(jù)對象可由所述主機存取且存儲于所述非易失性存儲器系統(tǒng)中,所述至少一個數(shù)據(jù)對象存儲所述數(shù)據(jù),及所述至少一個數(shù)據(jù)對象與所述至少一個軟件應(yīng)用程序 之間的至少一個關(guān)聯(lián)性,使得當(dāng)所述主機中的一者將對所述信息的請求發(fā)送到所述 安全性數(shù)據(jù)結(jié)構(gòu)時,通過所述至少一個關(guān)聯(lián)性調(diào)用所述至少一個軟件應(yīng)用程序。
21. 根據(jù)權(quán)利要求20所述的數(shù)據(jù)存儲設(shè)備,其進一步包括存儲于所述非易失性存儲器 系統(tǒng)內(nèi)的經(jīng)加密內(nèi)容,其中所述數(shù)據(jù)包含解密密鑰值,且所述信息包含通過所述至 少 一 個軟件應(yīng)用程序從所述經(jīng)加密內(nèi)容獲得的經(jīng)解密內(nèi)容和所述解密密鑰值。
22. 根據(jù)權(quán)利要求20所述的數(shù)據(jù)存儲設(shè)備,所述數(shù)據(jù)包含種子值,用于由所述至少一 個軟件應(yīng)用程序產(chǎn)生一次性密碼,且所述信息包含所述一次性密碼。
23. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)存儲設(shè)備,其進一步包括對象,所述對象包含密鑰對, 所述密鑰對包括專用密鑰和公共密鑰,至少一個證書含有所述公共密鑰,其中所述 至少一個軟件應(yīng)用程序采用所述至少一個證書以用于向所述主機中的至少一者鑒 定所述公共密鑰是真實的,以及用于獲得用所述公共密鑰加密的數(shù)據(jù)。
24. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)存儲設(shè)備,其進一步包括存儲于所述非易失性存儲器系 統(tǒng)內(nèi)的經(jīng)加密數(shù)據(jù),其中經(jīng)加密數(shù)據(jù)可通過存儲于所述非易失性存儲器系統(tǒng)內(nèi)的至 少一個解密密鑰的值而被解密,且所述安全性數(shù)據(jù)結(jié)構(gòu)專門控制對所述至少一個解 密密鑰的所述值的存取。
25. 根據(jù)權(quán)利要求24所述的數(shù)據(jù)存儲設(shè)備,其中所述至少一個軟件應(yīng)用程序和所述主 機不可存取所述至少一個解密密鑰的所述值。
26. —種向主機提供數(shù)據(jù)處理服務(wù)的數(shù)據(jù)存儲設(shè)備,其包括非易失性存儲器系統(tǒng),其經(jīng)配置以可移除地連接到所述主機中的個別主機; 安全性數(shù)據(jù)結(jié)構(gòu),其存儲于所述非易失性存儲器系統(tǒng)中,所述安全性數(shù)據(jù)結(jié)構(gòu)控制所述存儲器系統(tǒng)所連接到的所述主機對存儲于所述非易失性存儲器系統(tǒng)內(nèi)的數(shù)據(jù)的存?。恢辽僖粋€軟件應(yīng)用程序,其存儲于所述非易失性存儲器系統(tǒng)中,所述至少一個軟 件應(yīng)用程序能夠被所述主機調(diào)用以執(zhí)行所述數(shù)據(jù)的處理;以及一組協(xié)議,其存儲于所述非易失性存儲器系統(tǒng)內(nèi),所述組協(xié)議用于所述主機與所 述數(shù)據(jù)存儲設(shè)備之間的通信;其中所述協(xié)議中的至少 一 者可通過所述至少 一 個軟件應(yīng)用程序的調(diào)用而加以修 改。
27. 根據(jù)權(quán)利要求26所述的數(shù)據(jù)存儲設(shè)備,其中所述至少一個軟件應(yīng)用程序的所述調(diào)用以不同的協(xié)議取代所述至少一個協(xié)議。
28. 根據(jù)權(quán)利要求27所述的數(shù)據(jù)存儲設(shè)備,其中所述不同的協(xié)議關(guān)于憑證撤回方案。
29. —種向主機提供數(shù)據(jù)處理服務(wù)的數(shù)據(jù)存儲設(shè)備,其包括非易失性存儲器系統(tǒng),其經(jīng)配置以可移除地連接到所述主機中的個別主機;安全性數(shù)據(jù)結(jié)構(gòu),其存儲于所述非易失性存儲器系統(tǒng)中,所述安全性數(shù)據(jù)結(jié)構(gòu)控 制對存儲于或待存儲于所述非易失性存儲器系統(tǒng)內(nèi)的數(shù)據(jù)的存取;以及至少一個軟件應(yīng)用程序,其存儲于所述非易失性存儲器系統(tǒng)中,所述至少一個軟 件應(yīng)用程序能夠被所述存儲器系統(tǒng)所連接到的所述主機中的一者調(diào)用;其中所述安全性數(shù)據(jù)結(jié)構(gòu)通過執(zhí)行存取策略而控制對所述數(shù)據(jù)的存取,且所述至 少一個軟件應(yīng)用程序的所述調(diào)用強加不同于所述存取策略的用于由所述主機存取 所述數(shù)據(jù)的至少一額外條件。
30. 根據(jù)權(quán)利要求29所述的數(shù)據(jù)存儲設(shè)備,其中所述至少一額外條件關(guān)于許可證。
31. 根據(jù)權(quán)利要求29所述的數(shù)據(jù)存儲設(shè)備,其中在準(zhǔn)予對所述數(shù)據(jù)的存取之前,所述 主機將需要符合第一和第二存取策略兩者。
32. —種向主機提供數(shù)據(jù)處理服務(wù)的數(shù)據(jù)存儲設(shè)備,其包括非易失性存儲器系統(tǒng),其經(jīng)配置以可移除地連接到所述主機中的個別主機 , 安全性數(shù)據(jù)結(jié)構(gòu),其存儲于所述非易失性存儲器系統(tǒng)中,所述安全性數(shù)據(jù)結(jié)構(gòu)控制對存儲于或待存儲于所述非易失性存儲器系統(tǒng)內(nèi)的數(shù)據(jù)的存??;至少一個軟件應(yīng)用程序,其存儲于所述非易失性存儲器系統(tǒng)中,所述至少一個軟件應(yīng)用程序能夠被所述存儲器系統(tǒng)所連接到的所述主機調(diào)用,以執(zhí)行所述數(shù)據(jù)的處理;以及至少一個數(shù)據(jù)對象,其存儲于所述非易失性存儲器系統(tǒng)中且含有至少一些所述數(shù) 據(jù),及所述至少一個數(shù)據(jù)對象與所述至少一個軟件應(yīng)用程序之間的至少一個關(guān)聯(lián) 性,使得當(dāng)所述至少一個數(shù)據(jù)對象被所述存儲器系統(tǒng)所連接到的所述主機存取時, 通過所述至少一個關(guān)聯(lián)性而調(diào)用所述至少一個軟件應(yīng)用程序,以處理所述至少一個 數(shù)據(jù)對象內(nèi)的所述至少一些數(shù)據(jù),以獲得信息。
33. 根據(jù)權(quán)利要求32所述的數(shù)據(jù)存儲設(shè)備,所述安全性數(shù)據(jù)結(jié)構(gòu)通過驗證過程控制所 述至少一個主機對存儲于所述非易失性存儲器系統(tǒng)內(nèi)的所述數(shù)據(jù)的存取,其中在所述安全性數(shù)據(jù)結(jié)構(gòu)已通過所述驗證過程驗證所述至少一個主機之后,所述信息可披 露給所述至少一個主機,而無需進一步調(diào)用所述至少一個應(yīng)用程序。
34. 根據(jù)權(quán)利要求33所述的數(shù)據(jù)存儲設(shè)備,其中所述至少一個主機不可存取所述至少 一個數(shù)據(jù)對象內(nèi)的所述至少一些數(shù)據(jù)。
35. —種向主機提供數(shù)據(jù)處理服務(wù)的數(shù)據(jù)存儲設(shè)備,其包括-非易失性存儲器系統(tǒng),其經(jīng)配置以可移除地連接到所述主機中的個別主機; 安全性數(shù)據(jù)結(jié)構(gòu),其存儲于所述非易失性存儲器系統(tǒng)中,所述安全性數(shù)據(jù)結(jié)構(gòu)包 括第一控制結(jié)構(gòu),所述第一控制結(jié)構(gòu)用于控制所述存儲器系統(tǒng)所連接到的所述主機 對可從存儲于或待存儲于所述非易失性存儲器系統(tǒng)內(nèi)的數(shù)據(jù)獲得的信息的存??;以 及至少一個軟件應(yīng)用程序,其存儲于所述非易失性存儲器系統(tǒng)中,所述至少一個軟 件應(yīng)用程序能夠被所述主機調(diào)用以執(zhí)行所述數(shù)據(jù)的處理以獲得所述信息,所述安全 性數(shù)據(jù)結(jié)構(gòu)包括第二控制結(jié)構(gòu),所述第二控制結(jié)構(gòu)用于控制所述至少一個軟件應(yīng)用 程序的調(diào)用,其中所述第一和第二控制結(jié)構(gòu)采用實質(zhì)上相同的控制機制。
36. —種向主機提供數(shù)據(jù)處理服務(wù)的數(shù)據(jù)存儲設(shè)備,其包括非易失性存儲器系統(tǒng),其經(jīng)配置以可移除地連接到所述主機中的個別主機目.能夠 存儲數(shù)據(jù);安全性數(shù)據(jù)結(jié)構(gòu),其存儲于所述非易失性存儲器系統(tǒng)中 至少一個數(shù)據(jù)對象,其存儲于所述非易失性存儲器系統(tǒng)中;多個第一組不同的協(xié)議,其存儲于所述非易失性存儲器系統(tǒng)中,所述第一組協(xié)議 可由所述存儲器系統(tǒng)所連接到的所述主機中的一者個別選擇,以在所述安全性數(shù)據(jù) 結(jié)構(gòu)的控制下,使來自所述主機的數(shù)據(jù)或從所述數(shù)據(jù)導(dǎo)出的衍生數(shù)據(jù)能夠被提供到 和存儲于所述至少一個數(shù)據(jù)對象中;第二組協(xié)議,其存儲于所述非易失性存儲器系統(tǒng)中,且其在所述安全性數(shù)據(jù)結(jié)構(gòu) 的控制下,使得能夠從所述至少一個數(shù)據(jù)對象檢索所述數(shù)據(jù)或衍生數(shù)據(jù)其中所述第二組協(xié)議能夠?qū)崿F(xiàn)所述數(shù)據(jù)或衍生數(shù)據(jù)的所述檢索,而不管所述第一 組協(xié)議中哪一者實現(xiàn)了所述數(shù)據(jù)或衍生數(shù)據(jù)的所述提供和存儲。
37. 根據(jù)權(quán)利要求36所述的設(shè)備,其中所述第一組協(xié)議之間的差異是關(guān)于所述非易失 性存儲器系統(tǒng)的驗證或所述數(shù)據(jù)的加密。
38. 根據(jù)權(quán)利要求36所述的設(shè)備,其進一步包括多個不同的軟件應(yīng)用程序,所述多個 不同的軟件應(yīng)用程序存儲于所述非易失性存儲器系統(tǒng)中,其中所述不同的軟件應(yīng)用 程序中的至少一些的每一者對應(yīng)于所述第一組協(xié)議的一者,使得當(dāng)所述第一組協(xié)議的一者經(jīng)選擇以實現(xiàn)所述數(shù)據(jù)或衍生數(shù)據(jù)的所述提供和存儲時,調(diào)用對應(yīng)于所述一 第一組協(xié)議的所述軟件應(yīng)用程序來處理所述數(shù)據(jù)或衍生數(shù)據(jù)。
39. 根據(jù)權(quán)利要求38所述的設(shè)備,其中所述至少一些不同的軟件應(yīng)用程序從處理所述 數(shù)據(jù)或衍生數(shù)據(jù)中產(chǎn)生不同的結(jié)果。
40. 根據(jù)權(quán)利要求38所述的數(shù)據(jù)存儲設(shè)備,其中所述數(shù)據(jù)或衍生數(shù)據(jù)包含多個種子值 中的一者,其中所述至少一些軟件應(yīng)用程序的每一者處理所述多個種子值中的相應(yīng) 一者,以產(chǎn)生相應(yīng)的一次性密碼。
41. 根據(jù)權(quán)利要求38所述的數(shù)據(jù)存儲設(shè)備,其中所述非易失性存儲器系統(tǒng)存儲經(jīng)加密 數(shù)據(jù),所述數(shù)據(jù)或衍生數(shù)據(jù)包含用于解密所述經(jīng)加密內(nèi)容的多個解密密鑰中的一 者,且所述至少一些軟件應(yīng)用程序中的每一者采用所述多個解密密鑰中的相應(yīng)一者 以用于解密所述經(jīng)加密內(nèi)容。
42. —種通過一設(shè)備向主機提供數(shù)據(jù)處理服務(wù)的方法,所述設(shè)備包括非易失性存儲器 系統(tǒng),其中存儲有數(shù)據(jù);安全性數(shù)據(jù)結(jié)構(gòu),其存儲于所述非易失性存儲器系統(tǒng)中; 以及至少一個軟件應(yīng)用程序,其存儲于所述非易失性存儲器系統(tǒng)中;所述方法包括可移除地將所述非易失性存儲器系統(tǒng)連接到所述主機;使用所述主機調(diào)用所述至少一個軟件應(yīng)用程序,以處理所述數(shù)據(jù)以獲得信息;以及由所述主機存取所述信息,其中所述調(diào)用和所述存取由所述安全性數(shù)據(jù)結(jié)構(gòu)控 制。
43. 根據(jù)權(quán)利要求42所述的方法,所述安全性數(shù)據(jù)結(jié)構(gòu)包含第一和第二控制結(jié)構(gòu), 所述第一控制結(jié)構(gòu)與所述至少一個軟件應(yīng)用程序相關(guān)聯(lián),所述第二控制結(jié)構(gòu)控制所 述主機對所述信息的存取,所述方法進一步包括所述第一控制結(jié)構(gòu)向所述第二控制 結(jié)構(gòu)授權(quán)對所述信息的存取控制。
44. 根據(jù)權(quán)利要求42所述的方法,其中所述主機無法存取所述數(shù)據(jù)。
45. 根據(jù)權(quán)利要求42所述的方法,其中所述數(shù)據(jù)包含種子值,且所述信息包含一次性 密碼,所述調(diào)用促使所述至少一個軟件應(yīng)用程序從所述種子中產(chǎn)生一次性密碼。
46. 根據(jù)權(quán)利要求42所述的方法,其中所述數(shù)據(jù)關(guān)于至少一個許可證,所述至少一個 許可證用于存取存儲于或待存儲于所述非易失性存儲器系統(tǒng)內(nèi)的經(jīng)加密內(nèi)容,所述 調(diào)用促使所述至少一個軟件應(yīng)用程序產(chǎn)生關(guān)于所述至少一個許可證是否有效的指 示。
47. 根據(jù)權(quán)利要求46所述的方法,其中所述非易失性存儲器系統(tǒng)存儲經(jīng)加密數(shù)據(jù),所 述方法進一步包括所述安全性數(shù)據(jù)結(jié)構(gòu)響應(yīng)于所述信息而確定是否準(zhǔn)許所述經(jīng)加 密數(shù)據(jù)的解密。
48. —種通過非易失性存儲器裝置向主機提供數(shù)據(jù)處理服務(wù)的方法,所述裝置在其中存 儲多個軟件應(yīng)用程序,所述方法包括在所述非易失性存儲器裝置處通過所述主機中的一者接收來自數(shù)據(jù)來源的數(shù)據(jù) 響應(yīng)于來自所述一個主機的請求,調(diào)用所述多個軟件應(yīng)用程序中的第一軟件應(yīng)用程序,以在所述非易失性存儲器裝置內(nèi)創(chuàng)建數(shù)據(jù)對象,且在所述數(shù)據(jù)對象中存儲所述數(shù)據(jù)或從所述數(shù)據(jù)導(dǎo)出的衍生數(shù)據(jù);以及使所述數(shù)據(jù)對象與所述多個軟件應(yīng)用程序中的第二軟件應(yīng)用程序相關(guān)聯(lián),使得當(dāng)存取所述數(shù)據(jù)對象時,調(diào)用所述第二軟件應(yīng)用程序。
49. 根據(jù)權(quán)利要求48所述的方法,其中所述第一軟件應(yīng)用程序和所述第二軟件應(yīng)用程 序是相同的軟件應(yīng)用程序。
50. 根據(jù)權(quán)利要求48所述的方法,所述非易失性存儲器裝置經(jīng)配置以可移除地連接到 所述主機中的每一者,所述方法進一步包括可移除地連接所述非易失性存儲器裝置 與所述主機中的一者。
51. 根據(jù)權(quán)利要求48所述的方法,所述非易失性存儲器裝置包含安全性數(shù)據(jù)結(jié)構(gòu),其 中所述安全性數(shù)據(jù)結(jié)構(gòu)包括第一和第二控制結(jié)構(gòu),所述第一控制結(jié)構(gòu)與所述第一軟 件應(yīng)用程序相關(guān)聯(lián)且控制對所述數(shù)據(jù)對象的存取,所述方法進一步包括所述第一控 制結(jié)構(gòu)向所述第二控制結(jié)構(gòu)授權(quán)對所述數(shù)據(jù)對象的存取控制。
52. 根據(jù)權(quán)利要求51所述的方法,其進一步包括通過所述主機中的一者存取所述數(shù)據(jù) 對象,其中所述存取受所述第二控制結(jié)構(gòu)控制。
53. 根據(jù)權(quán)利要求48所述的方法,其中所述數(shù)據(jù)關(guān)于用于產(chǎn)生一次性密碼的種子值, 所述方法進一步包括所述第一軟件應(yīng)用程序創(chuàng)建所述數(shù)據(jù)對象且在所述數(shù)據(jù)對象 中存儲所述種子值。
54. 根據(jù)權(quán)利要求53所述的方法,其進一步包括由不同于所述來源的實體存取所述數(shù) 據(jù)對象,其中調(diào)用所述第二軟件應(yīng)用程序以使用所述種子值來執(zhí)行數(shù)據(jù)處理以產(chǎn)生 所述一次性密碼,所述方法進一步包括將所述一次性密碼提供給所述實體。
55. 根據(jù)權(quán)利要求48所述的方法,其中所述數(shù)據(jù)包含許可證對象,所述方法進一步包 括所述第一軟件應(yīng)用程序創(chuàng)建所述數(shù)據(jù)對象且在所述數(shù)據(jù)對象中存儲解密密鑰,所述解密密鑰能夠用于解密存儲于或待存儲于所述非易失性存儲器裝置內(nèi)的經(jīng)加密 內(nèi)容。
56. 根據(jù)權(quán)利要求55所述的方法,其中所述許可證對象包含所述解密密鑰,其中所述 存儲在所述數(shù)據(jù)對象中存儲所述許可證對象內(nèi)的所述解密密鑰。
57. 根據(jù)權(quán)利要求55所述的方法,所述非易失性存儲器裝置包含安全性數(shù)據(jù)結(jié)構(gòu),其 中所述許可證對象不包含所述解密密鑰,所述方法進一步包括所述第一軟件應(yīng)用程 序請求所述安全性數(shù)據(jù)結(jié)構(gòu)產(chǎn)生所述解密密鑰,其中所述存儲在所述數(shù)據(jù)對象中存 儲由所述安全性數(shù)據(jù)結(jié)構(gòu)產(chǎn)生的所述解密密鑰。
58. —種使用數(shù)據(jù)存儲設(shè)備向主機提供數(shù)據(jù)處理服務(wù)的方法,所述數(shù)據(jù)存儲設(shè)備包括非易失性存儲器系統(tǒng),其經(jīng)配置以可移除地連接到所述主機中的個別主機且能夠 存儲數(shù)據(jù);安全性數(shù)據(jù)結(jié)構(gòu),其存儲于所述非易失性存儲器系統(tǒng)中;至少一個數(shù)據(jù)對象,其存儲于所述非易失性存儲器系統(tǒng)中;多個第一組不同的協(xié)議,其存儲丁'所述非易失性存儲器系統(tǒng)中;第二組協(xié)議,其存儲于所述非易失性存儲器系統(tǒng)中且其在所述安全性數(shù)據(jù)結(jié)構(gòu)的控制下,使得能夠從所述至少一個數(shù)據(jù)對象檢索所述數(shù)據(jù)或從所述數(shù)據(jù)導(dǎo)出的衍生數(shù)據(jù);所述方法包括選擇所述第一組協(xié)議的一者,以在所述安全性數(shù)據(jù)結(jié)構(gòu)的控制下,使來自所述存 儲器系統(tǒng)所連接到的所述主機的數(shù)據(jù)或衍生數(shù)據(jù)能夠被提供到且存儲于所述至少 一個數(shù)據(jù)對象中;以及使用所述第二組協(xié)議,以實現(xiàn)所述數(shù)據(jù)或衍生數(shù)據(jù)的所述檢索,而不管所述第一 組協(xié)議的哪一者實現(xiàn)了所述數(shù)據(jù)或衍生數(shù)據(jù)的所述提供和存儲。
59. 根據(jù)權(quán)利要求58所述的方法,其中所述第一組協(xié)議之間的差異是關(guān)于所述非易失 性存儲器系統(tǒng)的驗證或所述數(shù)據(jù)的加密。
60. 根據(jù)權(quán)利要求58所述的方法,所述數(shù)據(jù)存儲設(shè)備進一步包括多個不同的軟件應(yīng)用 程序,所述多個不同的軟件應(yīng)用程序存儲于所述非易失性存儲器系統(tǒng)中,其中所述 不同的軟件應(yīng)用程序中的至少一些的每一者對應(yīng)于所述第一組協(xié)議的一者,使得所 述選擇所述第一組協(xié)議的所述一者調(diào)用對應(yīng)于所述一第一組協(xié)議的所述軟件應(yīng)用 程序,以處理所述數(shù)據(jù)或衍生數(shù)據(jù)。
61. 根據(jù)權(quán)利要求60所述的方法,其中所述至少一些不同的軟件應(yīng)用程序從處理所述 數(shù)據(jù)或衍生數(shù)據(jù)中產(chǎn)生不同的結(jié)果。
62. 根據(jù)權(quán)利要求60所述的數(shù)據(jù)存儲方法,其中所述數(shù)據(jù)或衍生數(shù)據(jù)包含多個種子值 中的一者,其中所述被調(diào)用的軟件應(yīng)用程序處理所述多個種子值中的相應(yīng)一者,以產(chǎn)生相應(yīng)的一次性密碼。
63. 根據(jù)權(quán)利要求60所述的數(shù)據(jù)存儲方法,其中所述非易失性存儲器系統(tǒng)存儲經(jīng)加密 數(shù)據(jù),所述數(shù)據(jù)或衍生數(shù)據(jù)包含用于解密所述經(jīng)加密內(nèi)容的多個解密密鑰中的一 者,其中所述被調(diào)用的軟件應(yīng)用程序采用所述多個解密密鑰中的相應(yīng)一者以用于解 密所述經(jīng)加密內(nèi)容。
全文摘要
至少一個軟件應(yīng)用程序存儲于存儲器裝置中,其中安全性數(shù)據(jù)結(jié)構(gòu)控制對可從存儲于所述裝置中的數(shù)據(jù)獲得的信息和對所述至少一個軟件應(yīng)用程序的存取。一組協(xié)議控制主機與存儲器裝置之間的通信。存儲于所述存儲器裝置中的至少一個軟件應(yīng)用程序的調(diào)用修改所述協(xié)議。安全性數(shù)據(jù)結(jié)構(gòu)根據(jù)存取策略而控制對存儲于所述存儲器裝置中的數(shù)據(jù)的存取。存儲于所述存儲器裝置中的至少一個軟件應(yīng)用程序的調(diào)用除了所述存取策略外還強加用于存取所述數(shù)據(jù)的至少一個條件。存儲所述存儲器裝置中的數(shù)據(jù)的數(shù)據(jù)對象與至少一個軟件應(yīng)用程序相關(guān)聯(lián)。存取所述對象將調(diào)用所述至少一個軟件應(yīng)用程序,所述至少一個軟件應(yīng)用程序處理所述對象中的所述數(shù)據(jù)。多個第一組協(xié)議的個別組協(xié)議可被選擇用于使數(shù)據(jù)能夠被提供并存儲在數(shù)據(jù)對象中。第二組協(xié)議可被用于從所述數(shù)據(jù)對象檢索數(shù)據(jù)或從此類數(shù)據(jù)導(dǎo)出的數(shù)據(jù)。
文檔編號G06F21/00GK101484904SQ200780025736
公開日2009年7月15日 申請日期2007年6月28日 優(yōu)先權(quán)日2006年7月7日
發(fā)明者法布里斯·約剛-庫侖, 羅恩·巴爾齊萊, 邁克爾·霍爾茨曼 申請人:桑迪士克股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
久治县| 神农架林区| 湾仔区| 汉川市| 田东县| 天门市| 永康市| 米林县| 桐城市| 南部县| 渭南市| 山阴县| 崇州市| 夏河县| 黄大仙区| 廊坊市| 图片| 盐边县| 台南市| 射阳县| 扶风县| 平和县| 武宣县| 昌邑市| 西贡区| 澎湖县| 漠河县| 霍林郭勒市| 内丘县| 凤城市| 祁门县| 长岭县| 杭锦后旗| 通海县| 理塘县| 南澳县| 怀来县| 新民市| 临高县| 和硕县| 迁西县|