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