国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      利用證書撤銷列表的內(nèi)容控制方法

      文檔序號:7915166閱讀:535來源:國知局

      專利名稱::利用證書撤銷列表的內(nèi)容控制方法
      技術(shù)領(lǐng)域
      :本發(fā)明一般涉及存儲(chǔ)系統(tǒng),更具體地,涉及具有多用途(versatile)內(nèi)容控制特征的存儲(chǔ)系統(tǒng)。
      背景技術(shù)
      :諸如快閃存儲(chǔ)卡(flashmemorycard)的存儲(chǔ)設(shè)備已變成用于存儲(chǔ)諸如照片的數(shù)字內(nèi)容的存儲(chǔ)介質(zhì)選擇。快閃存儲(chǔ)卡也可以用來分發(fā)(distribute)其他類型的媒體內(nèi)容。此外,目前種類不斷增加的主機(jī)設(shè)備,如計(jì)算機(jī)、數(shù)碼相機(jī)、蜂窩電話、個(gè)人數(shù)字助理(PDA)以及諸如MP3播放器的媒體播放器,具有繪制(render)存儲(chǔ)在快閃存儲(chǔ)卡中的媒體內(nèi)容的能力。因此快閃存儲(chǔ)卡以及其他種類的移動(dòng)存儲(chǔ)設(shè)備很有可能變成廣泛使用的用于分發(fā)數(shù)字內(nèi)容的媒介物。數(shù)字內(nèi)容的所有者和分發(fā)者最關(guān)心的問題之一是,在通過從諸如互聯(lián)網(wǎng)的網(wǎng)絡(luò)下載、或者通過在存儲(chǔ)設(shè)備上的內(nèi)容分發(fā),使內(nèi)容已經(jīng)被分發(fā)之后,應(yīng)當(dāng)僅允許被授權(quán)方訪問內(nèi)容。避免未授權(quán)訪問的方法之一是使用這樣一種系統(tǒng),該系統(tǒng)用于在準(zhǔn)許當(dāng)事方(party)進(jìn)行內(nèi)容訪問之前,證實(shí)當(dāng)事方的身份。為此目的,已經(jīng)開發(fā)了諸如公鑰基礎(chǔ)設(shè)施(publickeyinfrastructure,PKI)的系統(tǒng)。在PKI系統(tǒng)中,被稱為證書權(quán)威機(jī)構(gòu)(certificateauthority,CA)的可信機(jī)構(gòu)頒發(fā)用于證明個(gè)人和組織身份的證書。希望建立身份證明的諸如組織和個(gè)人的當(dāng)事方可以向證書權(quán)威機(jī)構(gòu)注冊用于證明其身份的足夠證據(jù)。在當(dāng)事方已經(jīng)向CA證明身份之后,CA將向這樣的當(dāng)事方頒發(fā)證書。證書一般包括頒發(fā)證書的CA的名稱、向其頒發(fā)證書的當(dāng)事方的名稱、當(dāng)事方的公鑰以及用CA的私鑰簽名(一般通過對公鑰的文摘加密)的當(dāng)事方的公鑰。CA的私鑰和公鑰關(guān)聯(lián),以便使用公鑰加密的任何數(shù)據(jù)均可以借助于私鑰解密,反之亦然。因此私鑰和公鑰形成密鑰對(keypair)。在來自RSASecurityInc.(RSA安全公司)的、日期為2002年6月14日的“PKCS#lv2.I:RSACryptographyStandard”(PKCS#lv2.IRSA密碼標(biāo)準(zhǔn))中提供了對于密碼的私鑰和公鑰對的解釋。CA的公鑰是公開可獲得的。所以,當(dāng)一個(gè)當(dāng)事方希望驗(yàn)證(verify)另一當(dāng)事方呈遞的證書是否是真實(shí)的證書時(shí),進(jìn)行驗(yàn)證的當(dāng)事方可以簡單地使用CA的公鑰,利用解密算法對證書中公鑰的已加密文摘進(jìn)行解密。解密算法一般在證書中也有所標(biāo)識(shí)。如果經(jīng)解密的證書中的公鑰的文摘與證書中未加密的公鑰的文摘相同,則基于對CA的信任以及CA公鑰的真實(shí)性,證明證書中的公鑰未被篡改,是真實(shí)的。為了驗(yàn)證當(dāng)事方的身份,進(jìn)行驗(yàn)證的當(dāng)事方一般將發(fā)送盤問(challenge)(例如,隨機(jī)數(shù))并要求另一當(dāng)事方發(fā)送他或她的證書以及對盤問的響應(yīng)(即,用另一當(dāng)事方的私鑰加密的該隨機(jī)數(shù))。當(dāng)接收到響應(yīng)和證書時(shí),進(jìn)行驗(yàn)證的當(dāng)事方首先通過上面的過程驗(yàn)證證書中的公鑰是否是真實(shí)的。如果驗(yàn)證公鑰是真實(shí)的,則進(jìn)行驗(yàn)證的當(dāng)事方此時(shí)能夠使用證書中的公鑰對響應(yīng)進(jìn)行解密,并且將結(jié)果與原始發(fā)送的隨機(jī)數(shù)進(jìn)行比較。如果它們匹配,則意味著另一當(dāng)事方確實(shí)具有正確的私鑰,并且由于這個(gè)原因而證明了他或她的身份。如果證書中的公鑰不是真實(shí)的,或者如果解密的響應(yīng)與盤問不匹配,則認(rèn)證(authentication)失敗。因而,希望證明他或她的身份的當(dāng)事方將需要擁有證書和關(guān)聯(lián)的私鑰兩者。借助于上述機(jī)制,在其他情況下可能彼此不信任的兩個(gè)當(dāng)事方,可以通過使用上述過程驗(yàn)證另一當(dāng)事方證書中的另一當(dāng)事方的公鑰來建立信任。國際電信聯(lián)盟(InternationalTelecommunicationUnion,ITU)電信標(biāo)準(zhǔn)化部門(ITU-T)的建議Χ·509是規(guī)定證書框架的標(biāo)準(zhǔn)。在該標(biāo)準(zhǔn)中可以找到有關(guān)證書及其使用的更詳細(xì)信息。為了方便起見,在行政機(jī)關(guān)以及大型組織中,對于被稱為根CA(rootCA)的較高級別CA而言,向若干較低級別CA授予(delegate)頒發(fā)證書的職責(zé)可能是適當(dāng)?shù)?。例如,在二級層級體系中,位于高級別的根CA向較低級別的CA頒發(fā)證書,以證明這些低級別權(quán)威機(jī)構(gòu)的公鑰是真實(shí)的。這些低級別權(quán)威機(jī)構(gòu)轉(zhuǎn)而通過上述注冊過程向當(dāng)事方頒發(fā)證書。驗(yàn)證過程從證書鏈頂端開始。進(jìn)行驗(yàn)證的當(dāng)事方將首先使用根CA的公鑰(已知是真實(shí)的)首先驗(yàn)證較低級別CA的公鑰的真實(shí)性。一旦已經(jīng)驗(yàn)證了較低級別CA的公鑰的真實(shí)性,則可以使用經(jīng)驗(yàn)證的較低級別CA的公鑰來驗(yàn)證較低級別CA向其頒發(fā)了證書的當(dāng)事方的公鑰的真實(shí)性。這樣,根CA頒發(fā)的證書和較低級別CA頒發(fā)的證書形成了正被驗(yàn)證身份的當(dāng)事方的兩個(gè)證書的證書鏈。證書層級體系當(dāng)然可以包括多于兩級,其中,除了根CA之外的較低級別的每個(gè)CA從較高級別CA取得其權(quán)力(authority),并且具有包含由較高級別CA頒發(fā)給它的公鑰的證書。因此,為了驗(yàn)證另一當(dāng)事方的公鑰的真實(shí)性,可能需要沿證書通路或證書鏈追蹤到根CA。換句話說,為了證實(shí)一個(gè)當(dāng)事方的身份,其身份需要證明的當(dāng)事方可能需要產(chǎn)生整個(gè)證書鏈,從它自己的證書一直到根CA證書。證書被頒發(fā)以用于特定有效期。然而,證書可能在有效期滿期之前因事件而變得無效,所述事件諸如改變名稱、改變與證書頒發(fā)者的關(guān)聯(lián)、相應(yīng)私鑰的泄密或疑似泄密。在這種情況下,證書權(quán)威機(jī)構(gòu)(CA)需要撤銷證書。證書權(quán)威機(jī)構(gòu)周期性地公布證書撤銷列表,列出已被撤銷的所有證書的序列號。在傳統(tǒng)的證書驗(yàn)證方法中,期望認(rèn)證實(shí)體處理或者能夠從證書權(quán)威機(jī)構(gòu)(CA)獲取證書撤銷列表,并且對照列表檢查被呈遞以進(jìn)行認(rèn)證的證書的序列號,以確定所呈遞的證書是否已經(jīng)被撤銷。如果認(rèn)證實(shí)體是存儲(chǔ)器或存儲(chǔ)設(shè)備,則該設(shè)備尚未被用于獨(dú)立地從證書權(quán)威機(jī)構(gòu)獲取證書撤銷列表。結(jié)果,呈遞以進(jìn)行認(rèn)證的證書不能被存儲(chǔ)器或存儲(chǔ)設(shè)備驗(yàn)證。因此,希望提供一種改進(jìn)的系統(tǒng),該系統(tǒng)使存儲(chǔ)器或存儲(chǔ)設(shè)備能夠驗(yàn)證證書而無需獲得證書撤銷列表。
      發(fā)明內(nèi)容存儲(chǔ)器設(shè)備尚未被用于獨(dú)立地獲得證書撤銷列表。因此,當(dāng)主機(jī)設(shè)備向存儲(chǔ)設(shè)備呈遞證書以進(jìn)行認(rèn)證但同時(shí)未呈遞與該證書有關(guān)的證書撤銷列表時(shí),存儲(chǔ)設(shè)備將不能確認(rèn)主機(jī)設(shè)備呈遞的證書是否在相關(guān)的證書撤銷列表上。因而,本發(fā)明的一個(gè)實(shí)施例基于這樣的認(rèn)識(shí)該問題可以通過這樣的系統(tǒng)來避免,在該系統(tǒng)中,主機(jī)設(shè)備除了證書之外還呈遞與該證書相關(guān)的證書撤銷列表。用這樣的方式,存儲(chǔ)設(shè)備能夠通過在主機(jī)設(shè)備發(fā)送的證書撤銷列表中核對證書的標(biāo)識(shí),如它的序列號,來驗(yàn)證證書的真實(shí)性。如果證書撤銷列表包含大量已撤銷證書的標(biāo)識(shí),如它們的序列號,則該列表可能是相當(dāng)長的。因而,在另一實(shí)施例中,設(shè)備接收證書撤銷列表的部分,并且該設(shè)備順序地處理所述部分。該設(shè)備還在列表上搜索對從主機(jī)接收的證書的引用(reference)或該證書的標(biāo)識(shí),其中處理和搜索并行進(jìn)行。由于處理和搜索并行地進(jìn)行,所以驗(yàn)證證書的過程變得更有效率。如上所述,存儲(chǔ)設(shè)備尚未被用于獲得證書撤銷列表,而主機(jī)設(shè)備已經(jīng)被用于獲得證書撤銷列表。因而,在另一實(shí)施例中,盡管主機(jī)設(shè)備需要呈遞證書撤銷列表以及證書以用于主機(jī)設(shè)備的認(rèn)證,但是存儲(chǔ)設(shè)備或存儲(chǔ)器設(shè)備不需要這樣做,而是將僅僅需要呈遞證書。因此,由主機(jī)設(shè)備負(fù)責(zé)獲得相關(guān)的證書撤銷列表以用于驗(yàn)證存儲(chǔ)器設(shè)備證書。盡管主機(jī)設(shè)備可以被用于自由地獲得證書撤銷列表,但是許多消費(fèi)者可能感到頻繁地(例如每次消費(fèi)者希望訪問存儲(chǔ)設(shè)備中的加密內(nèi)容時(shí))獲得證書撤銷列表很麻煩。因而,在另一實(shí)施例中,將至少一個(gè)證書撤銷列表存儲(chǔ)在存儲(chǔ)器的公用區(qū)域中;存儲(chǔ)器還存儲(chǔ)用戶或消費(fèi)者可能希望訪問的被保護(hù)數(shù)據(jù)或內(nèi)容。用這樣的方式,消費(fèi)者或用戶將不需要在每次希望訪問存儲(chǔ)器中存儲(chǔ)的內(nèi)容時(shí)都從證書權(quán)威機(jī)構(gòu)獲得證書撤銷列表。作為替代,消費(fèi)者或用戶可以簡單地獲取存儲(chǔ)器的公用區(qū)域中存儲(chǔ)的至少一個(gè)證書撤銷列表,然后回轉(zhuǎn)身將相同的證書撤銷列表呈遞給存儲(chǔ)器以進(jìn)行認(rèn)證和內(nèi)容訪問。許多種類的存儲(chǔ)器的公用區(qū)域一般由主機(jī)設(shè)備來管理,而不是由存儲(chǔ)器自己管理。在另一實(shí)施例中,非易失性存儲(chǔ)設(shè)備可以利用已經(jīng)存儲(chǔ)在設(shè)備中的證書撤銷列表,而不需要主機(jī)從該設(shè)備獲取證書撤銷列表并將相同的列表呈遞回設(shè)備。此處引用的所有專利、專利申請、文章、書籍、規(guī)范、標(biāo)準(zhǔn)、其他出版物、文檔等等均出于全部目的而通過全文引用合并于此。以任何一個(gè)所合并的出版物、文檔等等與本文檔的文本之間的有關(guān)術(shù)語定義或使用的任何不一致或沖突為限,將以本文檔中的術(shù)語定義或使用為準(zhǔn)。圖I是可用于圖示本發(fā)明的與主機(jī)設(shè)備通信的存儲(chǔ)系統(tǒng)的框圖。圖2是可用于圖示本發(fā)明的不同實(shí)施例的、存儲(chǔ)器的不同分區(qū)(partition)以及在不同分區(qū)中存儲(chǔ)的未加密和加密文件的示意圖,其中,對特定分區(qū)和加密文件的訪問由訪問策略和認(rèn)證過程來控制。圖3是圖示存儲(chǔ)器中的不同分區(qū)的存儲(chǔ)器的示意圖。圖4是可用于圖示本發(fā)明的不同實(shí)施例的、圖3中示出的存儲(chǔ)器的不同分區(qū)的文件位置表的示意圖,其中,分區(qū)中的一些文件被加密。圖5是可用于圖示本發(fā)明的不同實(shí)施例的、在訪問受控記錄組中的訪問控制記錄以及相關(guān)聯(lián)的密鑰引用(keyreference)的示意圖。圖6是可用于圖示本發(fā)明的不同實(shí)施例的、由訪問受控記錄組和訪問受控記錄形成的樹形結(jié)構(gòu)的示意圖。圖7是圖示訪問受控記錄組的三層樹的樹的示意圖,以圖示樹形成過程。圖8A和8B是圖不由主機(jī)設(shè)備和諸如存儲(chǔ)卡的存儲(chǔ)器設(shè)備執(zhí)行的用于創(chuàng)建和使用系統(tǒng)訪問控制記錄的過程的流程圖。圖9是圖示可用于圖示不同的實(shí)施例的、使用系統(tǒng)訪問控制記錄創(chuàng)建訪問受控記錄組的過程的流程圖。圖10是圖示用于創(chuàng)建訪問控制記錄的過程的流程圖。圖11是可用于圖示分層樹的特定應(yīng)用的兩個(gè)訪問受控記錄組的示意圖。圖12是圖示用于授予特定權(quán)限的過程的流程圖。圖13是訪問受控記錄組和訪問控制記錄的示意圖,用以圖示圖12的授予過程。圖14是圖示為了加密和/或解密的目的創(chuàng)建密鑰的過程的流程圖。圖15是圖示用于根據(jù)訪問控制記錄去除訪問權(quán)限和/或數(shù)據(jù)訪問許可的過程的流程圖。圖16是圖示用于當(dāng)訪問權(quán)限和/或訪問許可已經(jīng)被刪除或已經(jīng)期滿時(shí)請求訪問的過程的流程圖。圖17A和圖17B是圖示可用于圖示本發(fā)明的不同實(shí)施例的、用于準(zhǔn)許訪問加密密鑰的認(rèn)證和策略的規(guī)則結(jié)構(gòu)的組織的示意圖。圖18是圖示用于根據(jù)策略來控制對受保護(hù)信息的訪問的替換方法的數(shù)據(jù)庫結(jié)構(gòu)的框圖。圖19是圖示使用口令的認(rèn)證過程的流程圖。圖20是圖示多個(gè)主機(jī)證書鏈的示圖。圖21是圖示多個(gè)設(shè)備證書鏈的示圖。圖22和圖23是圖示單向和雙向認(rèn)證方案的過程的協(xié)議圖。圖24是可用于圖示本發(fā)明的一個(gè)實(shí)施例的證書鏈的示圖。圖25是圖示在證書緩沖器之前的控制區(qū)(controlsector)中的信息的表,所述信息是由用于向存儲(chǔ)器設(shè)備發(fā)送最后的證書的主機(jī)所發(fā)送的,該表示出了該證書是證書鏈中的最后的證書的指示,從而圖示了本發(fā)明的另一個(gè)實(shí)施例。圖26和圖27分別是圖示用于認(rèn)證方案(scheme)的卡和主機(jī)過程的流程圖,其中存儲(chǔ)卡正在認(rèn)證主機(jī)設(shè)備。圖28和圖29分別是圖示用于認(rèn)證方案的卡和主機(jī)過程的流程圖,其中,主機(jī)設(shè)備正在認(rèn)證存儲(chǔ)卡。圖30和圖31分別是圖示由主機(jī)設(shè)備和存儲(chǔ)器設(shè)備執(zhí)行的過程的流程圖,其中,由主機(jī)設(shè)備獲取存儲(chǔ)器設(shè)備中存儲(chǔ)的證書撤銷列表,以便圖示本發(fā)明的另一個(gè)實(shí)施例。圖32是示出列表中的字段(field)的證書撤銷列表的示圖,以圖示本發(fā)明的另一個(gè)實(shí)施例。圖33和圖34分別是圖示用于使用證書撤銷列表驗(yàn)證證書的卡和主機(jī)過程的流程圖。圖35是圖示卡對發(fā)送到主機(jī)的數(shù)據(jù)簽名以及解密來自主機(jī)的數(shù)據(jù)的卡過程的流程圖。圖36是圖示主機(jī)過程的流程圖,其中,卡對發(fā)送到主機(jī)的數(shù)據(jù)簽名。圖37是圖示主機(jī)過程的流程圖,其中,主機(jī)向存儲(chǔ)卡發(fā)送加密的數(shù)據(jù)。圖38和圖39分別是用于一般信息和謹(jǐn)慎信息(discreetinformation)查詢的過程的流程圖。圖40A是連接到主機(jī)設(shè)備的存儲(chǔ)器設(shè)備(如快閃存儲(chǔ)卡)中的系統(tǒng)架構(gòu)的功能框圖,用以圖示本發(fā)明的實(shí)施例。圖40B是圖40A的SSM核的內(nèi)部軟件模塊的功能框圖。圖41是用于生成一次性口令的系統(tǒng)的框圖。圖42是圖示一次性口令(onetimepassword,OTP)種子提供和OTP產(chǎn)生的功能框圖。圖43是圖示種子提供階段的協(xié)議圖。圖44是圖示一次性口令生成階段的協(xié)議圖。圖45是圖示DRM系統(tǒng)的功能框圖。圖46是圖示用于許可證(license)提供和內(nèi)容下載的過程的協(xié)議圖,其中密鑰在許可證對象(licenseobject)中提供。圖47是圖示用于回放操作的過程的協(xié)議圖。圖48是圖示許可證提供和內(nèi)容下載的過程的協(xié)議圖,其中,密鑰不在許可證對象中提供。圖49是圖示用于使用證書撤銷列表配置訪問控制記錄的示例性步驟的流程圖。圖50是圖示使用在非易失性存儲(chǔ)設(shè)備中高速緩存的或在認(rèn)證期間提供給設(shè)備的證書撤銷列表,向非易失性存儲(chǔ)設(shè)備進(jìn)行認(rèn)證的示例性步驟的流程圖。附示了本發(fā)明各個(gè)方面的不同實(shí)施例的特征。為描述簡單起見,本說明書中,相同的組件用相同的參考標(biāo)記標(biāo)識(shí)。具體實(shí)施例方式圖I的框示了示例的存儲(chǔ)器系統(tǒng),在該存儲(chǔ)器系統(tǒng)中,可以實(shí)現(xiàn)本發(fā)明的各個(gè)方面。如圖I中所示,存儲(chǔ)器系統(tǒng)10包括中央處理單元(CPU)12、緩沖器管理單元(buffermanagementunit,BMU)14、主機(jī)接口模塊(hostinterfacemodule,HIM)16和閃存接口模塊(flashinterfacemodule,FIM)18、快閃存儲(chǔ)器20和外圍設(shè)備訪問模塊(peripheralaccessmodule,PAM)22。存儲(chǔ)器系統(tǒng)10經(jīng)過主機(jī)接口總線26和端口26a與主機(jī)設(shè)備24通信??扉W存儲(chǔ)器20可以是NAND(與非)型存儲(chǔ)器,其為主機(jī)設(shè)備24提供數(shù)據(jù)存儲(chǔ),主機(jī)設(shè)備24可以是數(shù)碼相機(jī)、個(gè)人計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、諸如MP3播放器的數(shù)字媒體播放器、蜂窩電話、機(jī)頂盒或其他數(shù)字設(shè)備或用具。用于CPU12的軟件代碼也可以存儲(chǔ)在快閃存儲(chǔ)器20中。FM18經(jīng)過閃存接口總線28和端口28a連接到快閃存儲(chǔ)器20。HM16適用于連接到主機(jī)設(shè)備。外圍設(shè)備訪問模塊22選擇諸如FM、HIM和BMU的適當(dāng)?shù)目刂破髂K以用于與CPU12通信。在一個(gè)實(shí)施例中,所有虛線方框內(nèi)的系統(tǒng)10的組件可以包含在諸如存儲(chǔ)卡或記憶棒10’的單個(gè)單元中,并且優(yōu)選地要進(jìn)行封裝。存儲(chǔ)器系統(tǒng)10可去除地連接到主機(jī)設(shè)備24,從而使系統(tǒng)10中的內(nèi)容能夠被許多不同主機(jī)設(shè)備中的每一個(gè)訪問。在下面的描述中,存儲(chǔ)器系統(tǒng)10也被稱為存儲(chǔ)器設(shè)備10,或簡稱為存儲(chǔ)器設(shè)備或設(shè)備。盡管此處參照快閃存儲(chǔ)器圖示了本發(fā)明,但是本發(fā)明也可應(yīng)用于其他類型的存儲(chǔ)器,諸如磁盤、光學(xué)CD、以及所有其他類型的可重寫非易失性存儲(chǔ)器系統(tǒng)。緩沖器管理單元14包括主機(jī)直接存儲(chǔ)器存取(hostdirectmemoryaccess,HDMA)32、閃存直接存儲(chǔ)器存取(flashdirectmemoryaccess,FDMA)34、仲裁器(arbiter)36、緩沖隨機(jī)存取存儲(chǔ)器(bufferrandomaccessmemory,BRAM)38和加密引擎(crypto-engine)40。仲裁器36是共享總線仲裁器,從而使任何時(shí)間只有一個(gè)主設(shè)備(master)或啟動(dòng)器(initiator)(可以是HDMA32、FDMA34或CPU12)是活動(dòng)的(active),并且從設(shè)備(slave)或目標(biāo)端(target)是BRAM38。仲裁器負(fù)責(zé)將適當(dāng)?shù)膯?dòng)器請求引導(dǎo)到BRAM38。HDMA32和FDMA34負(fù)責(zé)HM16、FIM18與BRAM38或CPU隨機(jī)存取存儲(chǔ)器(CPURAM)12a之間傳輸?shù)臄?shù)據(jù)。HDMA32的操作和FDMA34的操作是傳統(tǒng)操作,此處不需要詳細(xì)描述。BRAM38用于存儲(chǔ)在主機(jī)設(shè)備24和快閃存儲(chǔ)器20之間傳遞的數(shù)據(jù)。HDMA32和FDMA34負(fù)責(zé)在HM16/FM18與BRAM38或CPURAM12a之間傳輸數(shù)據(jù),并且用于指示扇區(qū)完成(sectorcompletion)。在一個(gè)實(shí)施例中,存儲(chǔ)器系統(tǒng)10生成用于加密和/或解密的密鑰值,其中,優(yōu)選地,諸如主機(jī)設(shè)備24的外部設(shè)備基本上不能訪問所述密鑰值??商鎿Q地,密鑰值也可以在系統(tǒng)10外部生成,例如通過許可證服務(wù)器生成,并發(fā)送給系統(tǒng)10。不管密鑰值是如何生成的,一旦密鑰值存儲(chǔ)在系統(tǒng)10中,則只有經(jīng)認(rèn)證的實(shí)體將能夠訪問該密鑰值。然而,由于主機(jī)設(shè)備以文件的形式向存儲(chǔ)器系統(tǒng)10讀寫數(shù)據(jù),所以加密與解密一般是逐個(gè)文件地執(zhí)行的。像許多其他類型的存儲(chǔ)設(shè)備一樣,存儲(chǔ)器設(shè)備10不管理文件。雖然存儲(chǔ)器20存儲(chǔ)文件分配表(fileallocationtable,F(xiàn)AT),在FAT中標(biāo)識(shí)有文件的邏輯地址,但是FAT—般由主機(jī)設(shè)備24、不是由控制器12訪問和管理。因此,為了加密特定文件中的數(shù)據(jù),控制器12必須依靠主機(jī)設(shè)備來發(fā)送存儲(chǔ)器20中的文件中的數(shù)據(jù)的邏輯地址,從而使系統(tǒng)10能夠找到特定文件的數(shù)據(jù),并能夠使用只有系統(tǒng)10可獲得的密鑰值來對特定文件的數(shù)據(jù)進(jìn)行加密和/或解密。為了提供句柄(handle)以使主機(jī)設(shè)備24和存儲(chǔ)器系統(tǒng)10兩者參照相同的密鑰對文件中的數(shù)據(jù)進(jìn)行密碼處理(cryptographicallyprocess),主機(jī)設(shè)備提供用于系統(tǒng)10所生成或向系統(tǒng)10發(fā)送的每個(gè)密鑰值的引用(reference),其中,這樣的引用可以僅僅是密鑰ID。因而,主機(jī)24將由系統(tǒng)10進(jìn)行密碼處理的每個(gè)文件與密鑰ID相關(guān)聯(lián),并且系統(tǒng)10將用于對數(shù)據(jù)進(jìn)行密碼處理的每個(gè)密鑰值與主機(jī)提供的密鑰ID相關(guān)聯(lián)。因而,當(dāng)主機(jī)請求對數(shù)據(jù)進(jìn)行密碼處理時(shí),主機(jī)會(huì)將該請求與密鑰ID以及將要從存儲(chǔ)器20取出或?qū)⒁鎯?chǔ)到存儲(chǔ)器20中的數(shù)據(jù)的邏輯地址發(fā)送到系統(tǒng)10。系統(tǒng)10生成或接收密鑰值,并且將主機(jī)24提供的密鑰ID與所述值相關(guān)聯(lián),并且執(zhí)行密碼處理。用這樣的方式,無需對存儲(chǔ)器系統(tǒng)10工作的方式進(jìn)行改變,同時(shí)允許存儲(chǔ)器系統(tǒng)10完全控制使用密鑰的密碼處理,包括對密鑰值的獨(dú)占訪問。換句話說,一旦密鑰值存儲(chǔ)在系統(tǒng)10中或者由系統(tǒng)10生成,則系統(tǒng)繼續(xù)允許主機(jī)24通過具有對FAT的獨(dú)占控制而管理文件,同時(shí)它保持對用于密碼處理的密鑰值的管理的獨(dú)占控制。在密鑰值被存儲(chǔ)在存儲(chǔ)器系統(tǒng)10中之后,主機(jī)設(shè)備24與管理用于對數(shù)據(jù)進(jìn)行密碼處理的密鑰值進(jìn)行管理毫無關(guān)系。在其中一個(gè)實(shí)施例中,由主機(jī)24提供的密鑰ID以及發(fā)送給存儲(chǔ)器系統(tǒng)或者由存儲(chǔ)器系統(tǒng)生成的密鑰值形成下面被稱為“內(nèi)容加密密鑰”(contentencryptionkey)或CEK的量的兩個(gè)屬性。盡管主機(jī)24可以將每個(gè)密鑰ID與一個(gè)或多個(gè)文件相關(guān)聯(lián),但是主機(jī)24也可以將每個(gè)密鑰ID與未組織的數(shù)據(jù)或者以任何方式組織的數(shù)據(jù)相關(guān)聯(lián),而不僅限于被組織成完整文件的數(shù)據(jù)。為了使用戶或者應(yīng)用獲得對系統(tǒng)10中受保護(hù)的內(nèi)容或區(qū)域的訪問,需要使用預(yù)先向系統(tǒng)10注冊的憑證(credential)對用戶或應(yīng)用進(jìn)行認(rèn)證。憑證被綁定到具有該憑證的特定用戶或應(yīng)用被準(zhǔn)許的訪問權(quán)限。在預(yù)注冊過程中,系統(tǒng)10存儲(chǔ)如下記錄由用戶或應(yīng)用確定的、并且通過主機(jī)24提供的用戶或應(yīng)用的身份和憑證、以及與這樣的身份和憑證相關(guān)聯(lián)的權(quán)限。在預(yù)注冊完成之后,當(dāng)用戶或應(yīng)用請求向存儲(chǔ)器20寫數(shù)據(jù)時(shí),用戶或應(yīng)用將需要通過主機(jī)設(shè)備提供它的身份和憑證、用于加密數(shù)據(jù)的密鑰ID、以及加密的數(shù)據(jù)將被存儲(chǔ)的邏輯地址。系統(tǒng)10生成或接收密鑰值,并且將該值與主機(jī)設(shè)備提供的密鑰ID相關(guān)聯(lián),并且在它的用于該用戶或應(yīng)用的記錄或表中,存儲(chǔ)將用于加密將被寫入的數(shù)據(jù)的密鑰值的密鑰ID。然后,系統(tǒng)10加密數(shù)據(jù),并且將加密的數(shù)據(jù)存儲(chǔ)在由主機(jī)指定的地址,以及存儲(chǔ)它所生成或接收的密鑰值。當(dāng)用戶或應(yīng)用請求從存儲(chǔ)器20讀取加密的數(shù)據(jù)時(shí),用戶或應(yīng)用將需要提供它的身份和憑證、先前用于加密所請求的數(shù)據(jù)的密鑰的密鑰ID、以及加密的數(shù)據(jù)被存儲(chǔ)的邏輯地址。然后系統(tǒng)10會(huì)將主機(jī)提供的用戶或應(yīng)用的身份和憑證與它的記錄中存儲(chǔ)的身份和憑證進(jìn)行匹配。如果它們匹配,于是系統(tǒng)10將從其存儲(chǔ)器取得與用戶或應(yīng)用提供的密鑰ID相關(guān)聯(lián)的密鑰值,使用該密鑰值解密存儲(chǔ)在主機(jī)設(shè)備指定的地址的數(shù)據(jù),并且將解密的數(shù)據(jù)發(fā)送到用戶或應(yīng)用。通過將認(rèn)證憑證與對用于密碼處理的密鑰的管理分離,可以共享訪問數(shù)據(jù)的權(quán)限而不共享憑證。因而,一組具有不同憑證的用戶或應(yīng)用能夠訪問用來訪問相同數(shù)據(jù)的相同密鑰,同時(shí)該組之外的用戶則對此不能訪問。盡管一組內(nèi)的所有用戶或應(yīng)用可以都能夠訪問相同的數(shù)據(jù),但它們?nèi)钥梢跃哂胁煌臋?quán)限。因而,一些可以具有只讀訪問權(quán),而另一些可以只具有寫訪問權(quán),同時(shí)另外的一些可以具有這兩者。由于系統(tǒng)10維護(hù)如下記錄用戶或應(yīng)用的身份和憑證、它們能夠訪問的密鑰ID、以及與密鑰ID中的每一個(gè)相關(guān)聯(lián)的訪問權(quán)限,所以系統(tǒng)10可以添加或刪除密鑰ID并且變更與用于特定用戶或應(yīng)用的這樣的密鑰ID相關(guān)聯(lián)的訪問權(quán)限,從一個(gè)用戶或應(yīng)用向另一個(gè)用戶或應(yīng)用授予訪問權(quán)限,或者甚至刪除或添加用于用戶或應(yīng)用的記錄或表,所有這些都由被正確認(rèn)證的主機(jī)設(shè)備所控制。所存儲(chǔ)的記錄可以指定訪問特定密鑰所需的安全通道??梢允褂脤ΨQ或非對稱算法以及口令來執(zhí)行認(rèn)證。存儲(chǔ)器系統(tǒng)10中的安全內(nèi)容的可移植性是尤其重要的。在由存儲(chǔ)器系統(tǒng)控制對密鑰值的訪問的實(shí)施例中,當(dāng)存儲(chǔ)器系統(tǒng)或包括該系統(tǒng)的存儲(chǔ)設(shè)備被從一個(gè)外部系統(tǒng)轉(zhuǎn)移到另一個(gè)外部系統(tǒng)時(shí),存儲(chǔ)在其中的內(nèi)容的安全應(yīng)保持。不管密鑰是由存儲(chǔ)器系統(tǒng)生成的還是起源于存儲(chǔ)器系統(tǒng)外部,外部系統(tǒng)都不能訪問系統(tǒng)10中的這些內(nèi)容,除非已經(jīng)以完全由存儲(chǔ)器系統(tǒng)控制的方式對外部系統(tǒng)進(jìn)行了認(rèn)證。即使在這樣認(rèn)證之后,訪問也完全由存儲(chǔ)器系統(tǒng)控制,并且外部系統(tǒng)僅僅能夠以根據(jù)存儲(chǔ)器系統(tǒng)中的預(yù)設(shè)記錄進(jìn)行控制的方式進(jìn)行訪問。如果請求不符合這樣的記錄,則請求將被拒絕。為了提供保護(hù)內(nèi)容的更大靈活性,設(shè)想下面被稱為分區(qū)的存儲(chǔ)器的特定區(qū)域僅能被正確認(rèn)證的用戶或應(yīng)用訪問。當(dāng)與以上描述的基于密鑰的數(shù)據(jù)加密的特征結(jié)合時(shí),系統(tǒng)10提供了更強(qiáng)的數(shù)據(jù)保護(hù)能力。如圖2中所示,快閃存儲(chǔ)器20可以將其存儲(chǔ)容量分成多個(gè)分區(qū)用戶區(qū)域或分區(qū)以及定制分區(qū)(custompartition)0用戶區(qū)域或分區(qū)PO是所有用戶和應(yīng)用無需認(rèn)證即可訪問的。盡管存儲(chǔ)在用戶區(qū)域中的所有數(shù)據(jù)比特值能夠被任何應(yīng)用或用戶讀取或?qū)懭?,但是如果讀取的數(shù)據(jù)被加密,則無解密授權(quán)的用戶或應(yīng)用將不能訪問存儲(chǔ)在用戶區(qū)域中的比特值所代表的信息。這例如通過用戶區(qū)域PO中存儲(chǔ)的文件102和104所圖示。用戶區(qū)域中還存儲(chǔ)了未加密的文件,如106,未加密的文件能夠被所有應(yīng)用和用戶讀取和理解。因而,象征性地,加密的文件被示為有鎖與它們關(guān)聯(lián),如文件102和104。盡管用戶區(qū)域PO中加密的文件不能被未被授權(quán)的應(yīng)用或用戶所理解,但這樣的應(yīng)用或用戶仍然能夠刪除或破壞文件,這可能是一些應(yīng)用所不期望的。出于這個(gè)目的,存儲(chǔ)器20還包括受保護(hù)的定制分區(qū),如分區(qū)Pl和P2,它們不能在未經(jīng)在先認(rèn)證的情況下被訪問。下面解釋在本申請實(shí)施例中允許的認(rèn)證過程。此外,如圖2中圖示的,各種用戶或應(yīng)用可以訪問存儲(chǔ)器20中的文件。因而,圖2中示出了用戶I和用戶2以及(在設(shè)備上運(yùn)行的)應(yīng)用1-4。在允許這些實(shí)體訪問存儲(chǔ)器20中的受保護(hù)內(nèi)容之前,首先以下面解釋的方式通過認(rèn)證過程認(rèn)證這些實(shí)體。在該過程中,需要在主機(jī)側(cè)識(shí)別請求訪問的實(shí)體,以進(jìn)行基于角色的訪問控制。因而,請求訪問的實(shí)體首先通過提供諸如“我是應(yīng)用2并且我希望讀取文件I”的信息來標(biāo)識(shí)它自己。然后,控制器12對照存儲(chǔ)器20或控制器12中存儲(chǔ)的記錄,對身份、認(rèn)證信息和請求進(jìn)行匹配。如果所有要求都滿足,則準(zhǔn)許所述實(shí)體進(jìn)行訪問。如圖2中所示,用戶I被允許從分區(qū)Pl中的文件101讀取以及向分區(qū)Pl中的文件101寫入,但是用戶I除了具有從PO中的文件106讀取以及向PO中的文件106寫入的無限制的權(quán)限之外,它只能讀取文件102和104。另一方面,用戶2不允許訪問文件101和104,但是能夠?qū)ξ募?02進(jìn)行讀寫訪問。如圖2中指示的,用戶I和用戶2具有相同的登錄算法(例如,AES),而應(yīng)用I和應(yīng)用3具有不同的登錄算法(例如,RSA和001001),應(yīng)用I和應(yīng)用3的登錄算法也不同于用戶I和用戶2的登錄算法。安全存儲(chǔ)應(yīng)用(SecureStorageApplication,SSA)是存儲(chǔ)器系統(tǒng)10的安全性應(yīng)用,其圖示了本發(fā)明的實(shí)施例,可用于實(shí)現(xiàn)上面標(biāo)識(shí)的一些特征。SSA可以具體實(shí)現(xiàn)為存儲(chǔ)在存儲(chǔ)器20或CPU12中的非易失性存儲(chǔ)器(未示出)中的、具有數(shù)據(jù)庫的軟件或計(jì)算機(jī)代碼,并且被讀取到RAM12a中以由CPU12執(zhí)行。下面的表中列出了關(guān)于SSA所使用的縮寫。定義,縮寫以及簡稱ACRAccessControlRecords訪問控制記錄AGP__ACRGroupACR組_CBCChainBlockCipher鏈?zhǔn)椒謮K加密CEKContentEncryptionKey內(nèi)容力丨J密密鑰ECBElectronicCodebook電子,碼本ACAMACRAttributesManagementACR屬性管理PCRPermissionsControlRecord許可控制記錄SSASecureStorageApplication安全存儲(chǔ)應(yīng)用實(shí)體(Entity)登錄到SSA中以利用其功能的具有真實(shí)和個(gè)體存在的任_何事物(主機(jī)側(cè))_SSA系統(tǒng)描述數(shù)據(jù)安全性、完整性和訪問控制是SSA的主要角色。數(shù)據(jù)是指原本將以明文形式(plainly)存儲(chǔ)在某些種類的海量存儲(chǔ)設(shè)備上的文件。SSA系統(tǒng)位于存儲(chǔ)系統(tǒng)頂部,添加用于存儲(chǔ)的主機(jī)文件的安全層,并且通過下面描述的安全數(shù)據(jù)結(jié)構(gòu)提供安全性功能。SSA的主要任務(wù)是管理與存儲(chǔ)器中存儲(chǔ)的(而且是確保安全的)內(nèi)容相關(guān)聯(lián)的不同的權(quán)限。存儲(chǔ)器應(yīng)用需要管理多個(gè)用戶以及對多個(gè)存儲(chǔ)內(nèi)容的內(nèi)容權(quán)限。主機(jī)應(yīng)用從它們的一側(cè)看到對于這樣的應(yīng)用可見的驅(qū)動(dòng)和分區(qū)以及文件分配表(FAT),所述文件分配表管理并描述在存儲(chǔ)設(shè)備上存儲(chǔ)的文件的位置。在本例中,存儲(chǔ)設(shè)備使用被分成分區(qū)的NAND閃存芯片,盡管其他的可移動(dòng)存儲(chǔ)設(shè)備也可以被使用并且也在本發(fā)明的范圍內(nèi)。這些分區(qū)是連續(xù)的邏輯地址串(threadoflogicaladdress),其中,起始和結(jié)束地址定義了它們的邊界。因此,根據(jù)期望,可以借助于軟件(諸如存儲(chǔ)在存儲(chǔ)器20中的軟件)對訪問隱藏分區(qū)加以限制,所述軟件將這樣的限制與所述邊界內(nèi)的地址相關(guān)聯(lián)。通過由SSA進(jìn)行管理的分區(qū)的邏輯地址邊界,SSA能夠完全地識(shí)別分區(qū)。SSA系統(tǒng)使用分區(qū)來從物理上保護(hù)數(shù)據(jù),以免未授權(quán)的主機(jī)應(yīng)用訪問。對于主機(jī)而言,分區(qū)是定義專用空間(proprietaryspaces)的機(jī)制,在所述專用空間中將存儲(chǔ)數(shù)據(jù)文件。這些分區(qū)可以是公用的,或者是私有的或隱藏的,對于公用分區(qū),能夠訪問存儲(chǔ)設(shè)備的任何人都能夠看到并意識(shí)到在設(shè)備上該分區(qū)的存在,而對于私有分區(qū)或隱藏分區(qū),只有被選擇的主機(jī)應(yīng)用能夠訪問并且意識(shí)到在存儲(chǔ)設(shè)備中它們的存在。圖3是存儲(chǔ)器的示意圖,圖示存儲(chǔ)器的分區(qū)$0汴1、?2和?3(顯然可以采用比四個(gè)更多或更少的分區(qū)),其中,PO是公用分區(qū),該公用分區(qū)能夠被任何實(shí)體訪問而無需認(rèn)證。私有分區(qū)(諸如P1、P2或P3)隱藏對于該分區(qū)內(nèi)文件的訪問。通過避免主機(jī)訪問該分區(qū),閃存設(shè)備(例如,閃存卡)提供對于分區(qū)內(nèi)部的數(shù)據(jù)文件的保護(hù)。然而這種保護(hù)通過對對于在分區(qū)內(nèi)的邏輯地址存儲(chǔ)的數(shù)據(jù)的訪問加以限制,卷入(engulf)了駐留在隱藏分區(qū)中的所有文件。換句話說,所述限制是與邏輯地址的范圍相關(guān)聯(lián)的。能夠訪問該分區(qū)的所有用戶/主機(jī)將能夠無限制地訪問內(nèi)部的所有文件。為了使不同的文件或文件組相互隔離,SSA系統(tǒng)使用密鑰和密鑰引用或密鑰ID,提供了另一級別的每文件或每文件組的安全性和完整性??梢詫⒂糜诩用茉诓煌鎯?chǔ)器地址的數(shù)據(jù)的特定密鑰值的密鑰引用或密鑰ID類比為包含加密的數(shù)據(jù)的容器或域。出于這個(gè)原因,在圖4中,將密鑰引用或密鑰ID(例如,“密鑰I”和“密鑰2”)以圖形的方式示出為包圍使用與所述密鑰ID相關(guān)聯(lián)的密鑰值進(jìn)行加密的文件的區(qū)域。參照圖4,例如,文件A能夠被所有實(shí)體訪問而無需任何認(rèn)證,因?yàn)樗伙@示為未被任何密鑰ID圍繞。即使位于公用分區(qū)中的文件B能夠被所有實(shí)體讀取或?qū)懭?,但是它包含用具有ID“密鑰I”的密鑰加密的數(shù)據(jù),從而文件B中包含的信息不能被實(shí)體訪問,除非該實(shí)體能夠訪問所述密鑰。用這樣的方式,使用密鑰值和密鑰引用或密鑰ID僅僅提供邏輯保護(hù),這與如上所述的按照分區(qū)提供保護(hù)的類型相反。因此,能夠訪問分區(qū)(公用的或私有的)的任何主機(jī)都能夠在整個(gè)分區(qū)中讀取或?qū)懭霐?shù)據(jù),包括加密的數(shù)據(jù)。然而,由于數(shù)據(jù)被加密,所以未授權(quán)用戶只能破壞數(shù)據(jù)。優(yōu)選地,它們不能在不被察覺的情況下變更數(shù)據(jù)。通過限制對加密和/或解密密鑰的訪問,這一特征能夠僅僅允許被授權(quán)的實(shí)體使用該數(shù)據(jù)。在PO中,文件B和C也被使用具有密鑰ID“密鑰2”的密鑰加密。通過使用內(nèi)容加密密鑰(CEK)的對稱加密方法(每個(gè)CEK—個(gè))能夠提供數(shù)據(jù)保密性和完整性。在SSA實(shí)施例中,CEK中的密鑰值由閃存設(shè)備(例如,閃存卡)生成或接收,僅僅在內(nèi)部使用,并且對于外界保持保密。被加密或轉(zhuǎn)換成密文的數(shù)據(jù)也可以被散列(hash),或者密文可以被鏈?zhǔn)椒謮K(chainblocked),以確保數(shù)據(jù)完整性。不是分區(qū)中的所有數(shù)據(jù)都被不同的密鑰加密且與不同的密鑰ID相關(guān)聯(lián)。公用或用戶文件中的或者操作系統(tǒng)區(qū)域(即,F(xiàn)AT)中的特定邏輯地址可以不與任何密鑰或密鑰引用相關(guān)聯(lián),因而可以為能夠訪問該分區(qū)本身的任何實(shí)體所用。要求創(chuàng)建密鑰和分區(qū)的能力以及從其寫入和讀取數(shù)據(jù)或使用密鑰的實(shí)體,需要通過訪問控制記錄(ACR)登錄到SSA系統(tǒng)。SSA系統(tǒng)中的ACR的特權(quán)被稱為動(dòng)作(Action)。每個(gè)ACR可以具有執(zhí)行以下三個(gè)類別的動(dòng)作的許可創(chuàng)建分區(qū)和密鑰/密鑰ID、訪問分區(qū)和密鑰以及創(chuàng)建/更新其他ACR。ACR被組織成組,被稱為ACR組或AGP。一旦ACR已成功認(rèn)證,SSA系統(tǒng)就開放會(huì)話(Session),通過該會(huì)話能夠執(zhí)行ACR的動(dòng)作中的任何一個(gè)。ACR和AGP是安全性數(shù)據(jù)結(jié)構(gòu),用于根據(jù)策略控制對分區(qū)和密鑰的訪問。用戶分區(qū)SSA系統(tǒng)管理一個(gè)或多個(gè)公用分區(qū),也稱為用戶分區(qū)。該分區(qū)存在于存儲(chǔ)設(shè)備上,并且是能夠通過存儲(chǔ)設(shè)備的標(biāo)準(zhǔn)讀寫命令訪問的分區(qū)或多個(gè)分區(qū)。優(yōu)選地,不能向主機(jī)系統(tǒng)隱藏獲取關(guān)于所述分區(qū)的大小以及其在設(shè)備上的存在的信息。SSA系統(tǒng)使得能夠通過標(biāo)準(zhǔn)讀寫命令或者SSA命令來訪問該分區(qū)。因此,優(yōu)選地對所述分區(qū)的訪問不能受限于特定ACR。然而,SSA系統(tǒng)能夠使得主機(jī)設(shè)備能夠限制對用戶分區(qū)的訪問。讀取和寫入訪問能被單獨(dú)地使能/禁止。允許所有四個(gè)組合(例如,只寫、只讀(寫保護(hù))、讀取和寫入以及無法訪問)SSA系統(tǒng)使得ACR能夠?qū)⒚荑€ID與用戶分區(qū)內(nèi)的文件相關(guān)聯(lián),并且使用與這樣的密鑰ID相關(guān)聯(lián)的密鑰來加密各個(gè)文件。將使用SSA命令集來完成訪問用戶分區(qū)內(nèi)的加密文件以及設(shè)置對分區(qū)的訪問權(quán)限。以上特征也適用于未被組織成文件的數(shù)據(jù)。SSA分區(qū)這些是只能通過SSA命令訪問的隱藏(對未經(jīng)認(rèn)證的當(dāng)事方隱藏)的分區(qū)。優(yōu)選地,SSA系統(tǒng)將不允許主機(jī)訪問SSA分區(qū),除非通過經(jīng)由登錄到ACR建立的會(huì)話(將在下面描述)。類似地,優(yōu)選地SSA將不提供關(guān)于SSA分區(qū)的存在、大小和訪問許可的信息,除非這樣的請求是通過建立的會(huì)話到達(dá)的。對分區(qū)的訪問權(quán)限來源于ACR許可。一旦ACR被登錄到SSA系統(tǒng)中,ACR就能夠與其他ACR共享分區(qū)(將在下面描述)。在創(chuàng)建分區(qū)時(shí),主機(jī)提供該分區(qū)的引用名稱或DI(例如,圖3和圖4中的P0-P3)。該引用在進(jìn)一步的對分區(qū)的讀寫命令中使用。存儲(chǔ)設(shè)備的分區(qū)優(yōu)選地,將設(shè)備的所有可用的存儲(chǔ)容量分配給用戶分區(qū)和當(dāng)前配置的SSA分區(qū)。因此,任何重新分區(qū)(r印artition)操作都可能涉及現(xiàn)有分區(qū)的重新配置。對設(shè)備容量(所有分區(qū)的大小的和)的凈變化將為零。設(shè)備存儲(chǔ)空間中的分區(qū)的ID由主機(jī)系統(tǒng)定義。主機(jī)系統(tǒng)能夠?qū)⒁延蟹謪^(qū)之一重新分區(qū)成兩個(gè)更小的分區(qū)、或者將兩個(gè)已有分區(qū)(可能相鄰或不相鄰)合并成一個(gè)分區(qū)。劃分或合并的分區(qū)中的數(shù)據(jù)可以被擦除或者保持原樣,這由主機(jī)決定。由于存儲(chǔ)設(shè)備的重新分區(qū)可能導(dǎo)致數(shù)據(jù)損失(由于數(shù)據(jù)被擦除,或者由于在存儲(chǔ)設(shè)備的邏輯地址空間中來回移動(dòng)數(shù)據(jù)),因此SSA系統(tǒng)對重新分區(qū)施以嚴(yán)格的限制。只有駐留在根AGP(將在下面解釋)中的ACR被允許發(fā)出重新分區(qū)命令,并且他只能引用屬于它自己的分區(qū)。由于SSA系統(tǒng)不知道數(shù)據(jù)在分區(qū)中是如何組織的(FAT或其他文件系統(tǒng)結(jié)構(gòu)),所以任何時(shí)候設(shè)備被重新分區(qū)時(shí)重構(gòu)這些結(jié)構(gòu)都是主機(jī)的職責(zé)。對用戶分區(qū)的重新分區(qū)將如主機(jī)OS所見,改變該分區(qū)的大小和其他屬性。在重新分區(qū)之后,主機(jī)系統(tǒng)有責(zé)任確保SSA系統(tǒng)中的ACR不引用不存在的分區(qū)。如果這些ACR未被刪除或適當(dāng)更新,則未來代表這些ACR訪問不存在的分區(qū)的嘗試將被系統(tǒng)檢測到,并被系統(tǒng)拒絕。關(guān)于刪除的密鑰和密鑰ID也要采取類似的維護(hù)。密鑰、密鑰ID和邏輯保護(hù)當(dāng)文件被寫入特定隱藏分區(qū)時(shí),對公眾隱藏該文件。但是,一旦實(shí)體(不管是否是不友善的實(shí)體)獲知該分區(qū)并能夠訪問該分區(qū),則所述文件變得可用并且明白可見。為了更進(jìn)一步保證文件的安全,SSA能夠在隱藏分區(qū)中對其加密,其中優(yōu)選地,用于訪問用來解密該文件的密鑰的憑證不同于用于訪問該分區(qū)的憑證。由于文件被主機(jī)完全控制和管理這一事實(shí),所以將CEK與文件相關(guān)聯(lián)存在問題。將文件鏈接到SSA確認(rèn)的某些東西——密鑰ID糾正了這一問題。因而,當(dāng)SSA創(chuàng)建密鑰時(shí),主機(jī)將該密鑰的密鑰ID與使用SSA創(chuàng)建的密鑰進(jìn)行加密的數(shù)據(jù)相關(guān)聯(lián)。如果密鑰與密鑰ID—起被發(fā)送給SSA,則密鑰和密鑰ID能夠容易地相互關(guān)聯(lián)。密鑰值和密鑰ID提供邏輯安全性。與給定密鑰ID相關(guān)聯(lián)的所有數(shù)據(jù),不管其位置如何,都用內(nèi)容加密密鑰(CEK)中的相同密鑰值加密,所述CEK的引用名稱或密鑰ID由主機(jī)應(yīng)用在創(chuàng)建時(shí)唯一地提供。如果實(shí)體獲得對隱藏分區(qū)的訪問(通過經(jīng)由ACR的認(rèn)證)并且希望對該分區(qū)內(nèi)的文件進(jìn)行讀取或?qū)懭?,則該實(shí)體需要能夠訪問與該文件相關(guān)聯(lián)的密鑰ID。當(dāng)準(zhǔn)許了對該密鑰ID的密鑰的訪問時(shí),SSA加載與該密鑰ID相關(guān)聯(lián)的CEK中的密鑰值,在將數(shù)據(jù)發(fā)送給主機(jī)之前解密該數(shù)據(jù),或者在將數(shù)據(jù)寫入快閃存儲(chǔ)器20之前加密該數(shù)據(jù)。在一個(gè)實(shí)施例中,與密鑰ID相關(guān)聯(lián)的CEK中的密鑰值由SSA系統(tǒng)一次隨機(jī)創(chuàng)建并且由SSA系統(tǒng)維護(hù)。SSA系統(tǒng)外部的任何人都不知道CEK中的該密鑰值的信息或者都不能訪問CEK中的該密鑰值。外界僅僅提供并且使用引用或密鑰ID,而不是CEK中的密鑰值。該密鑰值完全由SSA管理并且優(yōu)選地僅僅能夠由SSA訪問??商鎿Q地,密鑰可以被提供到SSA系統(tǒng)。SSA系統(tǒng)使用以下加密模式中的任何一個(gè)(由用戶定義)來保護(hù)與密鑰ID相關(guān)聯(lián)的數(shù)據(jù)(所使用的實(shí)際密碼算法以及CEK中的密鑰值由系統(tǒng)控制且不向外界披露)分塊模式——數(shù)據(jù)被分成塊,每一塊被單獨(dú)加密。該模式通常被認(rèn)為安全性較低,并且對字典攻擊敏感,然而,該模式將允許用戶隨機(jī)地訪問數(shù)據(jù)塊中的任何一個(gè)。鏈?zhǔn)侥J健獢?shù)據(jù)被分成塊,在加密過程期間所述塊被鏈接。每個(gè)塊被用作下一個(gè)塊的加密過程的輸入之一。在該模式中,盡管被認(rèn)為更安全,但是數(shù)據(jù)從頭到尾順序地寫入和讀取,從而產(chǎn)生了用戶可能無法接受的開銷。散列——具有附加創(chuàng)建的數(shù)據(jù)文摘的鏈?zhǔn)侥J?所述數(shù)據(jù)文摘(datadigest)可被用于驗(yàn)證數(shù)據(jù)完整性。ACR和訪間控制SSA被設(shè)計(jì)成處理多個(gè)應(yīng)用,其中所述多個(gè)應(yīng)用中的每一個(gè)代表系統(tǒng)數(shù)據(jù)庫中的一個(gè)節(jié)點(diǎn)樹。應(yīng)用之間的相互排斥通過確保樹分支之間無串?dāng)_(crosstalk)來實(shí)現(xiàn)。為了獲得對SSA系統(tǒng)的訪問,實(shí)體需要經(jīng)由系統(tǒng)的ACR之一建立連接。登錄過程由SSA系統(tǒng)根據(jù)用戶選擇與之連接的ACR中嵌入的定義來管理。ACR是SSA系統(tǒng)的各個(gè)登錄點(diǎn)。ACR持有登錄憑證和認(rèn)證方法。該記錄中還駐留了在SSA系統(tǒng)內(nèi)的登錄許可,在所述登錄許可中包含讀取和寫入特權(quán)。這在圖5中示出,圖5圖示了相同AGP中的η個(gè)ACR。這意味著,η個(gè)ACR中的至少一些ACR可以共享對相同密鑰的訪問。因而,ACR#1和ACR#n共享對具有密鑰ID“密鑰3”的密鑰的訪問,其中,ACR#1和ACR#n是ACRID,并且“密鑰3”是用于密鑰的密鑰ID,該密鑰用于加密與〃密鑰3〃相關(guān)聯(lián)的數(shù)據(jù)。相同的密鑰還可以被用于加密和/或解密多個(gè)文件,或者多個(gè)數(shù)據(jù)集合。SSA系統(tǒng)支持若干類型的對系統(tǒng)的登錄,其中,認(rèn)證算法和用戶憑證可以變化,因?yàn)橐坏┏晒Φ卿浿笤谙到y(tǒng)中用戶的特權(quán)可以變化。圖5再次圖示了不同的登錄算法和憑證。ACR#1指定口令登錄算法和作為憑證的口令,而ACR#2指定PKI(公鑰基礎(chǔ)設(shè)施)登錄算法和作為憑證的公鑰。因而,為了登錄,實(shí)體將需要呈遞有效的ACRID以及正確的登錄算法和憑證。一旦實(shí)體登錄到SSA系統(tǒng)的ACR中,其許可——其使用SSA命令的權(quán)限——即在與該ACR相關(guān)聯(lián)的許可控制記錄(PCR)中定義。在圖5中,根據(jù)示出的PCR,ACA#1賦予對與“密鑰3”相關(guān)聯(lián)的數(shù)據(jù)的只讀許可,并且ACR#2賦予對與“密鑰5”相關(guān)聯(lián)的數(shù)據(jù)的讀寫許可。不同的ACR可以共享系統(tǒng)中的共同的利益和特權(quán),如用以讀取和寫入的密鑰中的利益和特權(quán)。為了實(shí)現(xiàn)這一點(diǎn),具有一些共同內(nèi)容的ACR被分組到AGP,即ACR組中。因而,ACR#1和ACR#n共享對具有密鑰ID“密鑰3”的密鑰的訪問。AGP以及其中的ACR被組織成分層樹,因此除了創(chuàng)建保持敏感數(shù)據(jù)安全的安全密鑰之外,優(yōu)選地,ACR還能夠創(chuàng)建與其密鑰ID/分區(qū)相對應(yīng)的其它ACR條目。這些ACR子代(ACRchild)將具有與它們的父代創(chuàng)建者相同或更少的許可,并且,這些ACR子代可以被給予對于該父代ACR自己所創(chuàng)建的密鑰的許可。無需添加,子代ACR就能獲得對于它們創(chuàng)建的任何密鑰的訪問許可。這在圖6中示出。因而,AGP120中的所有ACR都是由ACR122創(chuàng)建的,并且所述ACR中的兩個(gè)從ACR122繼承了對于訪問與“密鑰3”相關(guān)聯(lián)的數(shù)據(jù)的許可。AGP登錄到SSA系統(tǒng)是通過指定AGP和AGP內(nèi)的ACR來完成的。每個(gè)AGP具有唯一ID(引用名稱),該唯一的ID被用作在SSA數(shù)據(jù)庫中其條目的索引。當(dāng)創(chuàng)建AGP時(shí),將AGP名稱提供給SSA系統(tǒng)。如果提供的AGP名稱在系統(tǒng)中已經(jīng)存在,則SSA將拒絕該創(chuàng)建操作。AGP用于管理將在下面的部分中描述的對于授予訪問和管理許可的限制。圖6中的兩個(gè)樹所提供服務(wù)的功能之一是管理完全分離的實(shí)體,如兩個(gè)應(yīng)用或兩個(gè)不同的計(jì)算機(jī)用戶,的訪問。為了上述目的,即使同時(shí)發(fā)生,也使兩個(gè)訪問過程基本上相互獨(dú)立(基本無串?dāng)_)可能是很重要的。這意味著,在每個(gè)樹中對附加的ACR和AGP的認(rèn)證、許可以及創(chuàng)建,不連接到且不依賴于其他樹中的那些。因此,當(dāng)在存儲(chǔ)器10中使用SSA系統(tǒng)時(shí),這允許存儲(chǔ)器系統(tǒng)10同時(shí)服務(wù)多個(gè)應(yīng)用。它還允許兩個(gè)應(yīng)用相互獨(dú)立地訪問兩個(gè)分離的數(shù)據(jù)集合(例如,照片的集合和歌曲的集合)。這在圖6中示出。因而,供應(yīng)用或用戶經(jīng)由圖6上半部分的樹中的節(jié)點(diǎn)(ACR)訪問的與“密鑰3”、“密鑰X”和“密鑰Z”相關(guān)聯(lián)的數(shù)據(jù)可以包括照片。供應(yīng)用或用戶經(jīng)由圖6下半部分中的樹的節(jié)點(diǎn)(ACR)訪問的與“密鑰5”和“密鑰Y”相關(guān)聯(lián)的數(shù)據(jù)可以包括歌曲。創(chuàng)建AGP的ACR只有在該AGP沒有ACR條目時(shí)才具有刪除該AGP的許可。實(shí)體的SSA進(jìn)入點(diǎn)訪問控制記錄(ACR)SSA系統(tǒng)中的ACR描述允許實(shí)體登陸到系統(tǒng)中的方法。當(dāng)實(shí)體登陸到SSA系統(tǒng)中時(shí),實(shí)體需要指定與它即將執(zhí)行的認(rèn)證過程相對應(yīng)的ACR。ACR包括許可控制記錄(PCR),如在圖5中示出的ACR中所定義的,該P(yáng)CR示出了一旦用戶被認(rèn)證則用戶能夠執(zhí)行的被準(zhǔn)許的動(dòng)作。主機(jī)側(cè)實(shí)體提供所有ACR數(shù)據(jù)字段。當(dāng)實(shí)體已經(jīng)成功地登陸到ACR上時(shí),該實(shí)體將能夠?qū)θ吭揂CR的分區(qū)、密鑰訪問許可以及ACAM許可(將在下面解釋)進(jìn)行查詢。ACRID當(dāng)SSA系統(tǒng)實(shí)體發(fā)起登錄過程時(shí),SSA系統(tǒng)需要指定與登錄方法相對應(yīng)的(當(dāng)ACR被創(chuàng)建時(shí)由主機(jī)提供的)ACRID,從而當(dāng)所有注冊要求都已滿足時(shí)SSA將建立正確的算法并且選擇正確的PCR。在創(chuàng)建ACR時(shí)將ACRID提供給SSA系統(tǒng)。登陸/認(rèn)證算法認(rèn)證算法指定哪種登錄過程將被實(shí)體使用,以及需要哪種憑證來提供用戶身份的證明。SSA系統(tǒng)支持若干標(biāo)準(zhǔn)登錄算法,范圍從沒有過程(以及沒有憑證)以及基于口令的過程到基于對稱或非對稱密碼的雙向認(rèn)證協(xié)議。適證實(shí)體的憑證對應(yīng)于登錄算法,并且被SSA用來驗(yàn)證和認(rèn)證用戶。憑證的例子可以是用于口令認(rèn)證的口令/PIN號、用于AES認(rèn)證的AES密鑰等等。憑證(即,PIN、對稱密鑰等等)的類型/格式是預(yù)定義的,并且來源于認(rèn)證模式;在ACR被創(chuàng)建時(shí)將它們提供給SSA系統(tǒng)。SSA系統(tǒng)不參與定義、分配和管理這些憑證,例外是基于PKI的認(rèn)證,在基于PKI的認(rèn)證的情況下,設(shè)備(例如,閃存卡)可被用于生成RSA或其他類型的密鑰對,并且公鑰可以被導(dǎo)出以用于證書生成。許可控制記錄(PCR)PCR示出在實(shí)體登陸到SSA系統(tǒng)中并且成功地通過ACR的認(rèn)證過程之后被賦予實(shí)體的許可。存在三類許可類別對于分區(qū)和密鑰的創(chuàng)建許可、對于分區(qū)和密鑰的訪問許可以及對于實(shí)體-ACR屬性的管理許可。訪問分區(qū)PCR的這個(gè)部分包含當(dāng)成功完成ACR階段后實(shí)體能夠訪問的分區(qū)的列表(使用提供給SSA系統(tǒng)的它們的ID)。對于每個(gè)分區(qū),訪問類型可以被限制為只寫或只讀,或者可以指定完全地寫入/讀取訪問權(quán)限。因而,圖5中的ACR#1能夠訪問分區(qū)#2而不能訪問分區(qū)#1。PCR中指定的限制適用于SSA分區(qū)和公用分區(qū)。公用分區(qū)可以通過對托管(hosting)SSA系統(tǒng)的設(shè)備(例如,閃存卡)規(guī)則的讀寫命令、或者通過SSA命令來訪問。當(dāng)根ACR(將在下面解釋)被創(chuàng)建為具有對于限制公用分區(qū)的許可時(shí),根ACR能夠?qū)⒃撛S可傳遞到它的子代。優(yōu)選地,ACR僅僅能夠限制規(guī)則的讀寫命令訪問公用分區(qū)。優(yōu)選地,只有在SSA系統(tǒng)中的ACR創(chuàng)建后才能對SSA系統(tǒng)中的ACR進(jìn)行限制。一旦ACR具有從公用分區(qū)讀取/向公用分區(qū)寫入的許可,優(yōu)選地,該許可不能被剝奪。訪問密鑰IDPCR的這部分包含與當(dāng)ACR策略通過實(shí)體的登錄過程得到滿足時(shí)、實(shí)體能夠訪問的(由主機(jī)提供給SSA系統(tǒng)的)密鑰ID的列表相關(guān)聯(lián)的數(shù)據(jù)。指定的密鑰ID與駐留在PCR中出現(xiàn)的分區(qū)中的一個(gè)文件/多個(gè)文件相關(guān)聯(lián)。由于密鑰ID不與設(shè)備(例如,閃存卡)中的邏輯地址相關(guān)聯(lián),所以當(dāng)多于一個(gè)分區(qū)與特定ACR相關(guān)聯(lián)時(shí),文件可以處于所述分區(qū)中的任何一個(gè)中。PCR中指定的密鑰ID可以各自具有不同的訪問權(quán)限集合。對于密鑰ID所指向的數(shù)據(jù)的訪問可以被限制為只寫或只讀,或者可以指定完全的寫/讀訪問權(quán)限。ACR屬件管理(ACAM)這部分描述在特定情況下可如何改變ACR的系統(tǒng)屬性。在SSA系統(tǒng)中可以被允許的ACAM動(dòng)作是I、創(chuàng)建/刪除/更新AGP和ACR。2、創(chuàng)建/刪除分區(qū)和密鑰3、授予對密鑰和分區(qū)的訪問權(quán)限。優(yōu)選地,父代ACR不能編輯ACAM許可。這將優(yōu)選地需要ACR的刪除和重建。并且優(yōu)選地,對于ACR所創(chuàng)建的密鑰ID的訪問許可不能被剝奪。ACR可以具有創(chuàng)建其他ACR和AGP的能力。創(chuàng)建ACR還可以意味著,向它們授予它們的創(chuàng)建者所擁有的ACAM許可中的一些或全部。具有創(chuàng)建ACR的許可意味著具有對下列動(dòng)作的許可I、定義和編輯子代的憑證一優(yōu)選地,一旦通過創(chuàng)建ACR設(shè)置了認(rèn)證方法,則認(rèn)證方法不能被編輯??梢栽谝呀?jīng)為子代定義的認(rèn)證算法的邊界內(nèi)變更憑證。2、刪除ACR。3、向子代ACR授予創(chuàng)建許可(從而具有孫代)。具有創(chuàng)建其他ACR的許可的ACR,具有將解阻斷(unblocking)許可授予它創(chuàng)建的ACR的許可(盡管它可能不具有解阻斷ACR的許可)。父代ACR將在子代ACR中放置對它的解阻斷器(unblocker)的引用。父代ACR是具有刪除其子代ACR的許可的唯一ACR。當(dāng)ACR刪除他創(chuàng)建的低級別ACR時(shí),則由該低級別ACR繁衍(spawn)的所有ACR也都被自動(dòng)刪除。當(dāng)ACR被刪除時(shí),它創(chuàng)建的所有密鑰ID和分區(qū)都被刪除。存在兩個(gè)例外,通過這兩個(gè)例外ACR能夠更新它自己的記錄I、口令/PIN盡管是由創(chuàng)建者ACR設(shè)置的,但是僅僅能夠由包括它們的ACR來更新。2、根ACR可以刪除它自身和它駐留于其中的AGP。授予對密鑰和分區(qū)的訪問權(quán)限ACR和它們的AGP被組裝在分層樹中,其中,根AGP和其中的ACR位于樹的頂端(例如,圖6中的根AGP130和132)。在SSA系統(tǒng)中可以存在若干AGP樹,盡管它們完全相互分離。AGP內(nèi)的ACR可以將對其密鑰的訪問許可授予它所位于其中的同一AGP中的所有ACR,并且授予由它們所創(chuàng)建的所有ACR。優(yōu)選地,創(chuàng)建密鑰的許可包括授予使用密鑰的訪問許可的許可。對于密鑰的許可分成三個(gè)類別I、訪問一這定義了對于密鑰的訪問許可,S卩,讀取、寫入。2、所有權(quán)一通過定義,使創(chuàng)建了密鑰的ACR為密鑰所有者。這個(gè)所有權(quán)可以從一個(gè)ACR授予另一個(gè)ACR(假如它們在相同的AGP內(nèi)或者在子代AGP內(nèi))。密鑰的所有權(quán)提供了刪除它的許可以及向它授予許可的許可。3、訪問權(quán)限授予一這個(gè)許可使得ACR能夠授予它擁有的權(quán)限。ACR能夠授予對于它所創(chuàng)建的分區(qū)以及它對其具有訪問許可的其它分區(qū)的訪問許可。許可授予通過向指定的ACR的PCR添加分區(qū)和密鑰ID的名稱來完成??梢酝ㄟ^密鑰ID、或者可以通過聲明訪問許可針對進(jìn)行授予的ACR的所有已創(chuàng)建的密鑰,來授予密鑰訪問許可。ACR的阻斷(block)和解阻斷ACR可以具有阻斷計(jì)數(shù)器,當(dāng)實(shí)體與系統(tǒng)的ACR認(rèn)證過程不成功時(shí),該阻斷計(jì)數(shù)器遞增。當(dāng)達(dá)到不成功認(rèn)證的特定最大數(shù)量(MAX)時(shí),ACR將被SSA系統(tǒng)阻斷。被阻斷的ACR可以被該被阻斷的ACR所引用的另一個(gè)ACR解阻斷。對進(jìn)行解阻斷的ACR的引用由其創(chuàng)建者設(shè)置。優(yōu)選地,進(jìn)行解阻斷的ACR與被阻斷的ACR的創(chuàng)建者位于相同的AGP中,并且具有“解阻斷”許可。系統(tǒng)中沒有其他的ACR能夠解阻斷被阻斷的ACR。ACR可以被配置為具有阻斷計(jì)數(shù)器但是沒有解阻斷器ACR(blockerACR)。在這種情況下,如果該ACR被阻斷,則它不能被解阻斷。根AGP——?jiǎng)?chuàng)建應(yīng)用數(shù)據(jù)庫SSA系統(tǒng)被設(shè)計(jì)為處理多個(gè)應(yīng)用并且隔離所述多個(gè)應(yīng)用中的每一個(gè)的數(shù)據(jù)。AGP系統(tǒng)的樹狀結(jié)構(gòu)是用來識(shí)別和隔離特定于應(yīng)用的數(shù)據(jù)的主要工具。根AGP位于應(yīng)用SSA數(shù)據(jù)庫樹的尖端(tip),并且遵守多少不同的行為規(guī)則。在SSA系統(tǒng)中可以配置若干根AGP。圖6中示出了兩個(gè)不同的根AGP。顯然,可以使用更少或更多的AGP,更少或更多的AGP均在本發(fā)明的范圍內(nèi)。注冊設(shè)備(例如,存儲(chǔ)卡)以用于新應(yīng)用和/或?yàn)樵O(shè)備頒發(fā)新應(yīng)用的憑證可以通過向設(shè)備添加新的AGP/ACR樹的過程來完成。SSA系統(tǒng)支持根AGP創(chuàng)建(以及根AGP的所有ACR以及它們的許可)的三個(gè)不同的模式I、開放式不需要任何種類認(rèn)證的任何用戶或?qū)嶓w,或者通過系統(tǒng)ACR(將在下面解釋)認(rèn)證的用戶/實(shí)體,能夠創(chuàng)建新的根AGP。開放模式實(shí)現(xiàn)了在沒有任何安全措施的情況下創(chuàng)建根AGP,同時(shí)所有數(shù)據(jù)傳輸在開放通道上(即,在發(fā)行機(jī)構(gòu)(issuanceagency)的安全環(huán)境中)完成,或者,通過經(jīng)由系統(tǒng)ACR認(rèn)證(B卩,空中下載(OverTheAir,0TA)以及后發(fā)行(postissuance)過程)建立的安全通道來創(chuàng)建根AGP。如果未配置系統(tǒng)ACR(這是一個(gè)可選特征)并且根AGP創(chuàng)建模式被設(shè)置為開放,則只有開放通道選項(xiàng)是可用的。2、受控只有通過系統(tǒng)ACR認(rèn)證的實(shí)體能夠創(chuàng)建新的根AGP。如果未配置系統(tǒng)ACR,則SSA系統(tǒng)不能被設(shè)置為這個(gè)模式。3、鎖定根AGP的創(chuàng)建被禁止,并且不能向系統(tǒng)添加附加的根AGP。兩個(gè)SSA命令控制這個(gè)特征(這些命令可用于任何用戶/實(shí)體而無需認(rèn)證)I、方法配置命令-用于配置SSA系統(tǒng)使用三種根AGP創(chuàng)建模式中的任何一個(gè)。只允許下列模式改變開放_(tái)>受控,受控_>鎖定(即,如果SSA系統(tǒng)當(dāng)前被配置為受控,它只能變成鎖定)。2、方法配置鎖定命令——用于禁止方法配置命令并且永久地鎖定當(dāng)前選擇的方法。當(dāng)根AGP被創(chuàng)建時(shí),它處于特殊的初始化模式,使得能夠創(chuàng)建并配置其ACR(使用應(yīng)用于根AGP創(chuàng)建的相同的訪問限制)。在根AGP配置過程的末尾,當(dāng)實(shí)體明確地將其切換到工作模式時(shí),不能再更新已有的ACR,并且不能再創(chuàng)建附加的ACR。一旦根AGP被置于標(biāo)準(zhǔn)模式,則只有通過經(jīng)由根AGP的ACR中被分配了刪除根AGP的許可的一個(gè)ACR登錄到系統(tǒng)中,才能夠刪除根AGP。這是除了特殊的初始化模式之外,根AGP的另一個(gè)例外;優(yōu)選地,與下一個(gè)樹級別中的AGP相反,根AGP是可以包含這樣的ACR的唯一AGP,所述ACR具有刪除它自己AGP的許可。根ACR與標(biāo)準(zhǔn)ACR之間的第三個(gè)也是最后一個(gè)差別是,根ACR是系統(tǒng)中能夠具有創(chuàng)建和刪除分區(qū)的許可的唯一ACR。SSA系統(tǒng)ACR系統(tǒng)ACR可以用于下列兩個(gè)SSA操作I、在不友善的環(huán)境中,在安全通道的保護(hù)下創(chuàng)建ACR/AGP。2、識(shí)別和認(rèn)證托管SSA系統(tǒng)的設(shè)備。優(yōu)選地,在SSA中可以只有一個(gè)系統(tǒng)ACR,并且優(yōu)選地一旦定義所述的一個(gè)系統(tǒng)ACR不能被改變。當(dāng)創(chuàng)建系統(tǒng)ACR時(shí)不需要進(jìn)行系統(tǒng)驗(yàn)證;只需要SSA命令。創(chuàng)建系統(tǒng)ACR特征可以被禁止(類似于創(chuàng)建根AGP特征)。在系統(tǒng)ACR被創(chuàng)建之后,創(chuàng)建系統(tǒng)ACR命令無效,因?yàn)閮?yōu)選地只允許一個(gè)系統(tǒng)ACR。當(dāng)在創(chuàng)建過程中時(shí),系統(tǒng)ACR是非運(yùn)行的。當(dāng)結(jié)束時(shí),需要發(fā)出特殊的命令指示系統(tǒng)ACR被創(chuàng)建并且準(zhǔn)備好運(yùn)行。在這一時(shí)間點(diǎn)之后,優(yōu)選地系統(tǒng)ACR不能被更新或替換。系統(tǒng)ACR創(chuàng)建SSA中的根ACR/AGP。它具有添加/改變根級別的許可,直到主機(jī)對它滿意并阻斷它為止。阻斷根AGP實(shí)質(zhì)上切斷了它到系統(tǒng)ACR的連接,并且使它能防篡改(tamperproof)。此時(shí)沒有人能夠改變/編輯根AGP以及其中的ACR。這是通過SSA命令實(shí)現(xiàn)的。禁止創(chuàng)建根AGP具有永久的作用并且不能撤消。涉及系統(tǒng)ACR的上述特征在圖7中示出。系統(tǒng)ACR被用于創(chuàng)建三個(gè)不同的根AGP。在創(chuàng)建這些根AGP之后的特定時(shí)間,從主機(jī)發(fā)送SSA命令以將根AGP從系統(tǒng)ACR阻斷,從而禁止創(chuàng)建根AGP特征,如圖7中將系統(tǒng)ACR連接到根AGP的虛線所示。這使得三個(gè)根AGP能夠防篡改。在根AGP被阻斷之前或之后,可以使用三個(gè)根AGP來創(chuàng)建子代AGP,以形成三個(gè)分離的樹。上述特征為內(nèi)容所有者提供了配置具有內(nèi)容的安全產(chǎn)品的很大靈活性。安全產(chǎn)品需要被“發(fā)行”。發(fā)行是放置(put)標(biāo)識(shí)密鑰的過程,通過該標(biāo)識(shí)密鑰設(shè)備能夠識(shí)別主機(jī),而且反之亦然。識(shí)別設(shè)備(例如,閃存卡)使得主機(jī)能夠決定它是否能夠?qū)⑺拿孛芡懈督o該設(shè)備。另一方面,識(shí)別主機(jī)使設(shè)備能夠只有在主機(jī)被允許時(shí)才實(shí)行安全策略(準(zhǔn)許并運(yùn)行特定的主機(jī)命令)。被設(shè)計(jì)成服務(wù)多個(gè)應(yīng)用的產(chǎn)品將具有若干標(biāo)識(shí)密鑰。產(chǎn)品可以被“預(yù)發(fā)行”(pre-issued)-在裝運(yùn)之前、在制造期間存儲(chǔ)密鑰,或者被“后發(fā)行”(post_issued)-在裝運(yùn)之后添加新的密鑰。為了后發(fā)行,存儲(chǔ)器設(shè)備(例如,存儲(chǔ)卡)需要包含某種主密鑰或設(shè)備級密鑰,所述的主密鑰或設(shè)備級密鑰被用于識(shí)別被允許向所述設(shè)備添加應(yīng)用的實(shí)體。以上描述的特征使得產(chǎn)品能夠被配置成使能/禁止后發(fā)行。此外,后發(fā)行配置能夠在裝運(yùn)之后安全地進(jìn)行。設(shè)備可以作為零售產(chǎn)品被購買,該零售產(chǎn)品上除了如上所述的主密鑰或設(shè)備級密鑰之外沒有其他密鑰,然后,由新的所有者對該設(shè)備進(jìn)行配置,以使能進(jìn)一步的后發(fā)行應(yīng)用或者禁止進(jìn)一步的后發(fā)行。因而,系統(tǒng)ACR特征提供了完成以上目標(biāo)的能力-沒有系統(tǒng)ACR的存儲(chǔ)器設(shè)備將允許無限制地或非受控地添加應(yīng)用。-沒有系統(tǒng)ACR的存儲(chǔ)器設(shè)備能夠被配置成禁止系統(tǒng)ACR創(chuàng)建,這意味著沒有辦法控制新的應(yīng)用的添加(除非創(chuàng)建新的根AGP的特征也被禁止)。-具有系統(tǒng)ACR的存儲(chǔ)器設(shè)備將僅僅允許經(jīng)由使用系統(tǒng)ACR憑證、通過認(rèn)證過程建立的安全通道,受控地添加應(yīng)用。-具有系統(tǒng)ACR的存儲(chǔ)器設(shè)備可以被配置成,在已經(jīng)添加應(yīng)用之前或之后,禁止應(yīng)用添加特征。密鑰ID列表針對每個(gè)特定的ACR請求創(chuàng)建密鑰ID;然而,在存儲(chǔ)器系統(tǒng)10中,密鑰ID僅僅由SSA系統(tǒng)使用。當(dāng)密鑰ID被創(chuàng)建時(shí),由進(jìn)行創(chuàng)建的ACR提供或者向進(jìn)行創(chuàng)建的ACR提供下列數(shù)據(jù)I、密鑰ID。該ID由實(shí)體通過主機(jī)提供,用于在所有進(jìn)一步的讀取或?qū)懭朐L問中,引用密鑰以及使用該密鑰加密或解密的數(shù)據(jù)。2、密鑰加密和數(shù)據(jù)完整性模式(上面提到的分塊模式、鏈?zhǔn)侥J胶蜕⒘心J?,將在下面進(jìn)行解釋)。除了主機(jī)提供的屬性之外,SSA系統(tǒng)維護(hù)下列數(shù)據(jù)I、密鑰ID所有者。作為所有者的ACR的ID。當(dāng)密鑰ID被創(chuàng)建時(shí),創(chuàng)建者ACR是它的所有者。然而,密鑰ID所有權(quán)可以被轉(zhuǎn)移到另一個(gè)ACR。優(yōu)選地,只允許密鑰ID所有者轉(zhuǎn)移密鑰ID的所有權(quán)以及授予密鑰ID??梢杂擅荑€ID所有者或者被分配了授予許可的任何其他ACR,來授予對相關(guān)聯(lián)的密鑰的訪問許可、以及撤銷這些權(quán)限進(jìn)行管理。每當(dāng)試圖實(shí)行這些操作中的任何一個(gè)時(shí),只有請求的ACR被授權(quán),SSA系統(tǒng)才會(huì)準(zhǔn)許該操作。2XEK0這是其密鑰值被用于對與密鑰ID相關(guān)聯(lián)的、或者由密鑰ID所指向的內(nèi)容進(jìn)行加密的CEK。密鑰值可以是由SSA系統(tǒng)生成的128比特AES隨機(jī)密鑰。3、MAC和IV值。在鏈?zhǔn)椒謮K加密(ChainedBlockCipher,CBC)加密算法中使用的動(dòng)態(tài)信息(消息認(rèn)證碼和初始向量)。參照圖8A至圖16的流程圖進(jìn)一步舉例說明SSA的各種特征,其中,步驟左側(cè)的“H”表示該操作由主機(jī)執(zhí)行,而“C”表示該操作由卡執(zhí)行。盡管參照存儲(chǔ)卡舉例說明這些SSA特征,但將會(huì)理解,這些特征也適用于其他物理形式的存儲(chǔ)器設(shè)備。為了創(chuàng)建系統(tǒng)ACR,主機(jī)向存儲(chǔ)器設(shè)備10中的SSA發(fā)出創(chuàng)建系統(tǒng)ACR的命令(方框202)。設(shè)備10通過檢查系統(tǒng)ACR是否已經(jīng)存在來做出響應(yīng)(方框204,菱形框206)。如果系統(tǒng)ACR已經(jīng)存在,則設(shè)備10返回失敗并停止(橢圓框208)。如果系統(tǒng)ACR不存在,則存儲(chǔ)器10察看系統(tǒng)ACR創(chuàng)建是否允許(菱形框210),并且如果不允許則返回失敗狀態(tài)(方框212)。因而,可能存在這樣的情況,其中,設(shè)備發(fā)行者不允許創(chuàng)建系統(tǒng)ACR,例如在所需要的安全特征已經(jīng)被預(yù)定義從而不需要系統(tǒng)ACR的情況下。如果允許創(chuàng)建系統(tǒng)ACR,則設(shè)備10返回OK(確定)狀態(tài),并且等待來自主機(jī)的系統(tǒng)ACR憑證(方框214)。主機(jī)檢查SSA狀態(tài)以及設(shè)備10是否指示了允許創(chuàng)建系統(tǒng)ACR(方框216和菱形框218)。如果創(chuàng)建不允許或者如果系統(tǒng)ACR已經(jīng)存在,則主機(jī)停止(橢圓框220)。如果設(shè)備10指示了允許創(chuàng)建系統(tǒng)ACR,則主機(jī)發(fā)出用于定義其登錄憑證的SSA命令并將其發(fā)送到設(shè)備10(方框222)。設(shè)備10用接收到的憑證更新系統(tǒng)ACR,并返回OK狀態(tài)(方框224)。響應(yīng)于該狀態(tài)信號,主機(jī)發(fā)出SSA命令指示系統(tǒng)ACR就緒(方框226)。設(shè)備10通過鎖定系統(tǒng)ACR使其不能被更新或替換來做出響應(yīng)(方框228)。該步驟鎖定了系統(tǒng)ACR的特征以及其身份,所述身份用于向主機(jī)標(biāo)識(shí)設(shè)備10。用于創(chuàng)建新的樹(新的根AGP和ACR)的過程通過設(shè)備中配置這些功能的方式確定。圖9解釋了所述過程。主機(jī)24和存儲(chǔ)器系統(tǒng)10兩者均遵循該過程。如果添加新的根AGP被完全禁止,則不能添加新的AGP(菱形框246)。如果其被使能但是需要系統(tǒng)ACR,則主機(jī)在發(fā)出創(chuàng)建RootAGP(根AGP)命令(方框254)之前通過系統(tǒng)ACR進(jìn)行認(rèn)證并建立安全通道(菱形框250,方框252)。如果不需要系統(tǒng)ACR(菱形框248),則主機(jī)24能夠無需認(rèn)證而發(fā)出創(chuàng)建根AGP命令并前進(jìn)到方框254。如果系統(tǒng)ACR存在,即使不需要系統(tǒng)ACR,主機(jī)也可以使用該系統(tǒng)ACR(流程圖中未示出)。如果功能被禁止,則設(shè)備(例如,閃存卡)將拒絕任何創(chuàng)建新的根AGP的嘗試,并且如果需要系統(tǒng)ACR,則設(shè)備將拒絕在沒有認(rèn)證的情況下創(chuàng)建新的根AGP的嘗試(菱形框246和250)。在方框254中新創(chuàng)建的AGP和ACR現(xiàn)在被切換到運(yùn)行模式(OperationalMode),從而這樣的AGP中的ACR不能被更新或以其他方式改變,并且不能向它們添加ACR(方框256)。然后可選地,系統(tǒng)被鎖定從而不能創(chuàng)建附加的根AGP(方框258)。虛線方框258是指示該步驟是可選步驟的慣例。在本申請附圖的流程圖中的所有虛線的方框都是可選步驟。這允許內(nèi)容所有者阻止將設(shè)備10用于可能仿造具有合法內(nèi)容的真實(shí)存儲(chǔ)器設(shè)備的其他非法目的。為了創(chuàng)建ACR(除了如上所述的根AGP中的ACR),可以如圖10中所示,從具有創(chuàng)建ACR的權(quán)限的任何ACR開始(方框270)。實(shí)體可以通過向進(jìn)入點(diǎn)提供ACR身份,以及其希望創(chuàng)建的具有所有必要屬性的ACR,來嘗試通過主機(jī)24進(jìn)入(方框272)。SSA檢查ACR身份的匹配以及具有這樣身份的ACR是否具有創(chuàng)建ACR的許可(菱形框274)。如果請求被驗(yàn)證為已授權(quán),則設(shè)備10中的SSA創(chuàng)建ACR(方框276)。圖11示出使用圖10的方法的兩個(gè)AGP,所述兩個(gè)AGP圖示了在安全性應(yīng)用有用的樹。因而,在市場AGP中具有身份ml的ACR具有創(chuàng)建ACR的許可。ACRml還具有使用密鑰的許可,該密鑰用于讀寫與密鑰ID“市場信息”相關(guān)聯(lián)的數(shù)據(jù)以及與密鑰ID“價(jià)格列表”相關(guān)聯(lián)的數(shù)據(jù)。使用圖10的方法,創(chuàng)建了具有兩個(gè)ACR的銷售AGPsl和s2,si和s2具有對用于訪問與密鑰ID“價(jià)格列表”相關(guān)聯(lián)的定價(jià)數(shù)據(jù)的密鑰的讀取許可,但是沒有對訪問與密鑰ID“市場信息”相關(guān)聯(lián)的數(shù)據(jù)所必需的密鑰的讀取許可。用這樣的方式,具有ACRSi和s2的實(shí)體只能讀取但不能改變定價(jià)數(shù)據(jù),并且將不能訪問市場數(shù)據(jù)。另一方面,ACRm2沒有創(chuàng)建ACR的許可,并且具有對用于訪問與密鑰ID“價(jià)格列表”相關(guān)聯(lián)的數(shù)據(jù)以及與密鑰ID“市場信息”相關(guān)連的數(shù)據(jù)的密鑰的只讀許可。因而,可以以上面解釋的方式來授予權(quán)限,其中,ml向Si和s2授予讀取定價(jià)數(shù)據(jù)的權(quán)限。當(dāng)包括較大的市場組和銷售組時(shí)這特別有用。如果只有一個(gè)或幾個(gè)銷售人員,則可能不需要使用圖10的方法。作為替代,可以通過ACR將訪問權(quán)限授予相同AGP中處于較低或相同級別的一個(gè)ACR,如圖12中所示。首先,實(shí)體通過主機(jī)以上面描述的方式指定樹中的ACR,由此進(jìn)入用于所述AGP的樹(方框280)。接下來主機(jī)將指定ACR以及將要授予的權(quán)限。SSA檢查所述ACR的樹以及ACR是否具有向指定的另一個(gè)ACR授予權(quán)限的許可(菱形框282)。如果具有,則權(quán)限被授予(方框284);如果不具有,則停止。結(jié)果在圖13中示出。在本例中,ACRml具有向ACRsi授予讀許可的權(quán)限,從而在授予之后si將能夠使用密鑰訪問定價(jià)數(shù)據(jù)。如果ml具有相同的或更大的訪問定價(jià)數(shù)據(jù)的權(quán)限以及這樣進(jìn)行授予的許可,則這可以執(zhí)行。在一個(gè)實(shí)施例中,ml在授予之后保留其訪問權(quán)限。優(yōu)選地,訪問權(quán)限可以在限制條件下授予(而非永久地授予),所述限制條件例如有限的時(shí)間,有限的訪問次數(shù),坐坐寸寸ο圖14圖示了用于創(chuàng)建密鑰和密鑰ID的過程。實(shí)體通過ACR進(jìn)行認(rèn)證(方框302)。實(shí)體請求創(chuàng)建具有主機(jī)指定的ID的密鑰(方框304)。SSA查看指定的ACR是否具有這樣做的許可(菱形框306)。例如,如果密鑰將被用于訪問特定分區(qū)中的數(shù)據(jù),則SSA將查看ACR是否可以訪問這樣的分區(qū)。如果ACR被授權(quán),則存儲(chǔ)器設(shè)備10創(chuàng)建與主機(jī)提供的密鑰ID相關(guān)聯(lián)的密鑰值(方框308),并且將密鑰ID存儲(chǔ)在ACR中以及將密鑰值存儲(chǔ)在存儲(chǔ)器中(或者存儲(chǔ)在與控制器關(guān)聯(lián)的存儲(chǔ)器或存儲(chǔ)器20中),并且根據(jù)實(shí)體提供的信息分配權(quán)限和許可(方框310),并且用所分配的權(quán)限和許可修改所述ACR的PCR(方框312)。因而,密鑰的創(chuàng)建者具有所有可用的權(quán)限,諸如讀寫許可、授予和與相同AGP中的其他ACR或處于較低級別的ACR共享的權(quán)限、以及轉(zhuǎn)移密鑰所有權(quán)的權(quán)限。ACR能夠改變SSA系統(tǒng)中另一個(gè)ACR的許可(或者全部存在),如圖15中所示。實(shí)體可以如前所述通過ACR進(jìn)入樹;在一種情況下,實(shí)體被認(rèn)證,然后實(shí)體指定ACR(方框330,332)。它請求刪除目標(biāo)ACR或者目標(biāo)ACR中的許可(方框334)。如果指定的ACR或者在所述時(shí)間活動(dòng)的ACR具有這樣做的權(quán)限(菱形框336),則目標(biāo)ACR被刪除,或者目標(biāo)ACR的PCR被變更以刪除所述許可(方框338)。如果這未被授權(quán),則系統(tǒng)停止。在上述過程之后,目標(biāo)將不再能夠訪問它在過程之前曾能夠訪問的數(shù)據(jù)。如圖16中所示,實(shí)體可以嘗試在目標(biāo)ACR進(jìn)入(方框350),并且發(fā)現(xiàn)認(rèn)證過程失敗,因?yàn)樵赟SA中不再存在先前存在的ACRID,從而訪問權(quán)限被拒絕(菱形框352)。假定ACRID尚未被刪除,則實(shí)體指定ACR(方框354)和密鑰ID和/或特定分區(qū)中的數(shù)據(jù)(方框356),然后SSA根據(jù)所述ACR的PCR察看密鑰ID或分區(qū)訪問請求是否被允許(菱形框358)。如果許可已經(jīng)被刪除或已經(jīng)期滿,則請求再次被拒絕。否則,請求被準(zhǔn)許(方框360)。以上過程描述了設(shè)備(例如,閃存卡)如何管理對被保護(hù)數(shù)據(jù)的訪問,不管ACR及其PCR是否剛剛被另一個(gè)ACR改變或者是否被如此配置以開始。會(huì)適SSA系統(tǒng)被設(shè)計(jì)成處理并行地登錄的多個(gè)用戶。當(dāng)使用這個(gè)特征時(shí),SSA接收的每個(gè)命令與特定實(shí)體相關(guān)聯(lián)并且只有在用于認(rèn)證該實(shí)體的ACR具有對于所請求動(dòng)作的許可時(shí)才被執(zhí)行。通過會(huì)話概念支持多個(gè)實(shí)體。由SSA系統(tǒng)在認(rèn)證過程期間建立會(huì)話并且向會(huì)話分配會(huì)話標(biāo)識(shí)符(session-ID)。會(huì)話標(biāo)識(shí)符在內(nèi)部與用于登錄到系統(tǒng)的ACR相關(guān)聯(lián),并且被輸出到實(shí)體以供在所有進(jìn)一步的SSA命令中使用。SSA系統(tǒng)支持兩種類型的會(huì)話開放會(huì)話和安全會(huì)話。在ACR中定義了與特定認(rèn)證過程相關(guān)聯(lián)的會(huì)話類型。SSA系統(tǒng)將以與它實(shí)行認(rèn)證本身類似的方式實(shí)行會(huì)話建立。由于ACR定義實(shí)體許可,所以該機(jī)制使得系統(tǒng)設(shè)計(jì)員能夠?qū)踩淼琅c訪問特定密鑰ID相關(guān)聯(lián),或者將其與調(diào)用特定ACR管理操作卿,創(chuàng)建新的ACR以及設(shè)置憑證)相關(guān)聯(lián)。開放會(huì)話開放會(huì)話是以會(huì)話標(biāo)識(shí)符標(biāo)識(shí)但沒有總線加密的會(huì)話,所有命令和數(shù)據(jù)都以明文方式傳送。這種工作模式優(yōu)選地在多用戶或多實(shí)體環(huán)境中使用,其中,實(shí)體不是威脅模型(threatmodel)的一部分,也不在總線上竊聽。盡管不保護(hù)數(shù)據(jù)的傳輸也不在主機(jī)側(cè)的應(yīng)用之間使能高效的防火墻,但是開放會(huì)話模式使得SSA系統(tǒng)能夠允許僅僅訪問允許用于當(dāng)前認(rèn)證的ACR的信息。開放會(huì)話還能夠用于需要保護(hù)分區(qū)或密鑰的情況。然而,在有效的認(rèn)證過程之后,準(zhǔn)許主機(jī)上的所有實(shí)體訪問。為了獲得經(jīng)過認(rèn)證的ACR的許可,不同的主機(jī)應(yīng)用唯一需要共享的是會(huì)話標(biāo)識(shí)符。這在圖17A中示出。線400以上的步驟是由主機(jī)24執(zhí)行的步驟。在針對ACRl對實(shí)體進(jìn)行認(rèn)證(方框402)之后,實(shí)體請求訪問存儲(chǔ)器設(shè)備10中與密鑰IDX相關(guān)聯(lián)的文件(方框404、406和408)。如果ACRl的PCR允許這樣的訪問,則設(shè)備10準(zhǔn)許所述請求(菱形框410)。如果ACRl的PCR不允許這樣的訪問,則系統(tǒng)返回到方框402。在認(rèn)證完成之后,存儲(chǔ)器系統(tǒng)10僅僅通過所分配的會(huì)話標(biāo)識(shí)符(而非ACR憑證)來識(shí)別發(fā)出命令的實(shí)體。一旦ACRl獲得在開放會(huì)話中訪問與其PCR中的密鑰ID相關(guān)聯(lián)的數(shù)據(jù),任何其他的應(yīng)用或用戶也能夠通過指定在主機(jī)24上的不同應(yīng)用之間共享的正確的會(huì)話ID來訪問相同的數(shù)據(jù)。該特征在這樣的應(yīng)用中是有利的,在所述應(yīng)用中,如果用戶能夠僅僅登錄一次并且能夠訪問與賬戶關(guān)聯(lián)的所有數(shù)據(jù),那么對于用戶而言是更為方便的,其中用戶通過所述賬戶執(zhí)行對不同應(yīng)用的登錄。因而,蜂窩電話用戶將無需登錄多次就能訪問存儲(chǔ)器20中存儲(chǔ)的電子郵件并聆聽存儲(chǔ)器20中存儲(chǔ)的音樂。另一方面,ACRl所未涵蓋的數(shù)據(jù)將不能被訪問。因而,相同的蜂窩電話用戶可以具有可通過分離的賬戶ACR2訪問的諸如諸如游戲和照片的有價(jià)值的內(nèi)容。這是用戶不希望借用他電話的其他人訪問的數(shù)據(jù),即便他可能不介意其他人訪問通過他的第一個(gè)賬戶ACRl可獲得的數(shù)據(jù)。將對數(shù)據(jù)的訪問分成兩個(gè)分離的賬戶同時(shí)允許在開放會(huì)話中訪問ACRl提供了使用的便利并且提供了對有價(jià)值數(shù)據(jù)的保護(hù)。為了更進(jìn)一步地使在主機(jī)應(yīng)用之間共享會(huì)話標(biāo)識(shí)符的過程變得簡便,當(dāng)ACR正在請求開放會(huì)話時(shí),它能夠明確地請求該會(huì)話將被分配“O(零)”標(biāo)識(shí)符。這樣,應(yīng)用能夠被設(shè)計(jì)成使用預(yù)定的會(huì)話標(biāo)識(shí)符。出于顯而易見的原因,唯一的限制是,在特定時(shí)間,只有一個(gè)請求會(huì)話O的ACR能夠通過認(rèn)證。認(rèn)證另一個(gè)請求會(huì)話O的ACR嘗試將被拒絕。安全會(huì)話為了附加一層安全性,可以如圖17B中所示使用會(huì)話標(biāo)識(shí)符。然后存儲(chǔ)器10還存儲(chǔ)活動(dòng)的會(huì)話的會(huì)話標(biāo)識(shí)符。例如,在圖17B中,為了能夠訪問與密鑰IDX相關(guān)聯(lián)的文件,在允許實(shí)體訪問該文件之前,實(shí)體還將需要提供會(huì)話標(biāo)識(shí)符,如會(huì)話標(biāo)識(shí)符“A”(方框404、406,412和414)。用這樣的方式,除非發(fā)出請求的實(shí)體知道正確的會(huì)話標(biāo)識(shí)符,否則他不能訪問存儲(chǔ)器10。由于會(huì)話標(biāo)識(shí)符在會(huì)話結(jié)束后被刪除,并且用于每個(gè)會(huì)話的會(huì)話標(biāo)識(shí)符將是不同的,所以只有當(dāng)實(shí)體能夠提供會(huì)話編號時(shí)實(shí)體才能夠獲得訪問能力。SSA系統(tǒng)通過使用會(huì)話編號追蹤命令是否真地來自于正確認(rèn)證的實(shí)體。針對存在攻擊者試圖使用開放通道發(fā)送惡意命令的威脅的應(yīng)用和使用情況中,主機(jī)應(yīng)用使用安全會(huì)話(安全通道)。當(dāng)使用安全通道時(shí),使用安全通道加密(會(huì)話)密鑰對會(huì)話標(biāo)識(shí)符以及整個(gè)命令進(jìn)行加密,并且安全級別與主機(jī)側(cè)實(shí)現(xiàn)一樣高。終Ih會(huì)話在下列情景中的任何一個(gè)中,會(huì)話被終止,并且ACR被注銷。I、實(shí)體發(fā)出明確的結(jié)束會(huì)話(end-session)命令。2、通信超時(shí)。在被定義為ACR參數(shù)之一的時(shí)間段內(nèi)特定實(shí)體沒有發(fā)出命令。3、在設(shè)備(例如,閃存卡)復(fù)位和/或電力循環(huán)(powercycle)之后終止所有開放會(huì)話。數(shù)據(jù)完整性服務(wù)SSA系統(tǒng)驗(yàn)證SSA數(shù)據(jù)庫的完整性(該SSA數(shù)據(jù)庫包含所有ACR、PCR等等)。此外,通過密鑰ID機(jī)制提供用于實(shí)體數(shù)據(jù)的數(shù)據(jù)完整性服務(wù)。如果密鑰ID被配置為將散列作為其加密算法,則將散列值與CEK和IV—起存儲(chǔ)在CEK記錄中。在寫操作期間計(jì)算并存儲(chǔ)散列值。在讀操作期間再次計(jì)算散列值,并且將該散列值與在之前的寫操作期間存儲(chǔ)的值進(jìn)行比較。每次實(shí)體正在訪問密鑰ID時(shí),將附加的數(shù)據(jù)銜接(通過加密)到舊數(shù)據(jù),并且更新適當(dāng)?shù)?用于讀取的或用于寫入的)散列值。由于只有主機(jī)知道與密鑰ID相關(guān)聯(lián)的或者密鑰ID指向的數(shù)據(jù)文件,所以主機(jī)以下列方式明確地管理數(shù)據(jù)完整性功能的幾個(gè)方面I、從頭到尾地寫入或讀取與密鑰ID相關(guān)聯(lián)或密鑰ID指向的數(shù)據(jù)文件。任何訪問文件的部分的嘗試都會(huì)將它搞亂,因?yàn)镾SA系統(tǒng)正在使用CBC加密方法并生成整個(gè)數(shù)據(jù)的散列消息摘要。2、不需要處理連續(xù)流中的數(shù)據(jù)(數(shù)據(jù)流能夠與其他密鑰ID的數(shù)據(jù)流交錯(cuò),并且可以拆分到多個(gè)會(huì)話上),因?yàn)橹虚g散列值由SSA系統(tǒng)維護(hù)。然而,如果數(shù)據(jù)流重新開始,則實(shí)體將需要明確地指令SSA系統(tǒng)將散列值復(fù)位。3、當(dāng)讀取操作完成時(shí),主機(jī)明確地請求SSA系統(tǒng)通過將讀取散列值與在寫操作期間計(jì)算的散列值進(jìn)行比較來核實(shí)讀取散列值。4、SSA系統(tǒng)還提供“偽讀取”操作。該特征將通過加密引擎流化數(shù)據(jù),但是將不將數(shù)據(jù)發(fā)送輸出到主機(jī)。該特征能夠用于在將數(shù)據(jù)實(shí)際讀出設(shè)備(例如,閃存卡)之前驗(yàn)證數(shù)據(jù)的完整性。隨機(jī)數(shù)產(chǎn)牛SSA系統(tǒng)將使得外部實(shí)體能夠利用內(nèi)部隨機(jī)數(shù)發(fā)生器以及請求將在SSA系統(tǒng)外部使用的隨機(jī)數(shù)。該服務(wù)可用于任何主機(jī)并且不需要認(rèn)證。RSA密鑰對牛成SSA系統(tǒng)將使得外部用戶能夠利用內(nèi)部RSA密鑰對生成特征以及請求將在SSA系統(tǒng)外部使用的密鑰對。該服務(wù)可用于任何主機(jī)并且不需要認(rèn)證。替換實(shí)施例作為使用分層方法的替代,使用數(shù)據(jù)庫方法也能夠達(dá)到相同的結(jié)果,如圖18中所/Jnο如圖18中所示,可以將用于實(shí)體的憑證、認(rèn)證方法、失敗嘗試的最大數(shù)量以及解阻斷所需的憑證的最小數(shù)量的列表輸入到存儲(chǔ)于控制器12或存儲(chǔ)器20中的數(shù)據(jù)庫中,控制器12或存儲(chǔ)器20在存儲(chǔ)器10的控制器12所執(zhí)行的數(shù)據(jù)庫中,將這些憑證要求與策略(對密鑰和分區(qū)的讀取、寫入訪問,安全通道要求)關(guān)聯(lián)。存儲(chǔ)在數(shù)據(jù)庫中的還有對密鑰和分區(qū)的訪問的約束和限制。因而,一些實(shí)體(例如,系統(tǒng)管理員)可以位于白名單上,這意味著這些實(shí)體能夠訪問所有密鑰和分區(qū)。其他實(shí)體可以位于黑名單上,并且它們訪問任何信息的嘗試都將被阻斷。限制可以是全局的,或者是特定于密鑰和/或分區(qū)的。這意味著,只有某些實(shí)體能夠訪問某些特定密鑰和分區(qū),而某些實(shí)體則不能這樣做。也可以對內(nèi)容本身設(shè)置約束,而不管內(nèi)容所處于的分區(qū)或用于對該內(nèi)容加密或解密的密鑰如何。因而,特定數(shù)據(jù)(例如,歌曲)可以具有它們僅能夠被訪問它們的前五個(gè)主機(jī)設(shè)備訪問的屬性,或者其他數(shù)據(jù)(例如,電影)只能被讀取有限的次數(shù)而不管哪些實(shí)體能夠訪問。認(rèn)證口令保護(hù)-口令保護(hù)是指需要呈遞口令以訪問受保護(hù)區(qū)域。除非不能有多于一個(gè)口令,否則多個(gè)口令可以與諸如讀訪問或讀/寫訪問的不同權(quán)限相關(guān)聯(lián)。-口令保護(hù)是指設(shè)備(例如,閃存卡)能夠驗(yàn)證主機(jī)提供的口令,即,設(shè)備也具有存儲(chǔ)在設(shè)備管理的安全存儲(chǔ)區(qū)域中的口令。頒發(fā)和限制-口令易受到回放攻擊。由于口令在每次呈遞之后不改變,所以口令能夠被同樣地重新發(fā)送。這意味著,如果將要保護(hù)的數(shù)據(jù)是有價(jià)值的,并且通信總線能夠容易地被訪問,則口令不應(yīng)照原樣使用。-口令能夠保護(hù)對所存儲(chǔ)數(shù)據(jù)的訪問,但是不應(yīng)被用于保護(hù)數(shù)據(jù)(而非密鑰)。-為了增加與口令關(guān)聯(lián)的安全性級別,能夠使用主密鑰將它們多樣化,結(jié)果是竊取一個(gè)口令不會(huì)損害整個(gè)系統(tǒng)??梢允褂没跁?huì)話密鑰的安全通信通道來發(fā)送口令。圖19是圖示使用口令認(rèn)證的流程圖。實(shí)體向系統(tǒng)(例如,存儲(chǔ)卡)發(fā)送賬戶標(biāo)識(shí)符和口令。系統(tǒng)查看該口令是否與它的存儲(chǔ)器中的口令匹配。如果匹配,則返回已認(rèn)證狀態(tài)。否則,針對該賬戶將錯(cuò)誤計(jì)數(shù)器遞增,并且要求實(shí)體重新輸入賬戶ID和口令。如果計(jì)數(shù)器溢出,則系統(tǒng)返回訪問被拒絕的狀態(tài)。對稱密鑰對稱密鑰算法是指,在雙方使用相同的密鑰來加密和解密。對稱密鑰意味著在通信之前已經(jīng)預(yù)先約定密鑰。并且每一方都應(yīng)當(dāng)實(shí)現(xiàn)另一方的反算法,即,一方是加密算法,另一方是解密算法。兩方不需要實(shí)現(xiàn)兩個(gè)算法來通信。認(rèn)證-對稱密鑰認(rèn)證是指,設(shè)備(例如,閃存卡)和主機(jī)共享相同的密鑰并且具有相同的加密算法(正向和反向,例如,DES和DES-I)。-對稱密鑰認(rèn)證意味著盤問-響應(yīng)(保護(hù)以防止回放攻擊)。受保護(hù)的設(shè)備生成對于另一設(shè)備的盤問,并且兩者計(jì)算響應(yīng)。進(jìn)行認(rèn)證的設(shè)備發(fā)送回響應(yīng),并且受保護(hù)的設(shè)備檢查該響應(yīng),從而核實(shí)認(rèn)證。然后,可以準(zhǔn)許與認(rèn)證相關(guān)聯(lián)的權(quán)限。認(rèn)證可以是-外部認(rèn)證設(shè)備(例如,閃存卡)認(rèn)證外部世界,即,設(shè)備核實(shí)給定主機(jī)或應(yīng)用的憑證。-雙向認(rèn)證在兩側(cè)都生成盤問。-內(nèi)部認(rèn)證主機(jī)應(yīng)用認(rèn)證設(shè)備(例如,閃存卡),即,主機(jī)檢查對于其應(yīng)用而言設(shè)備是否是真實(shí)的。為了增加整個(gè)系統(tǒng)的安全性級別(S卩,不會(huì)破壞一個(gè)即破壞全部)-通常使用主密鑰將對稱密鑰與多樣化相結(jié)合。-雙向認(rèn)證使用來自雙方的盤問來確保盤問是真正的盤問。加密對稱密鑰密碼也被用于加密,因?yàn)樗欠浅S行实乃惴?,S卩,它不需要強(qiáng)大的CPU來處理密碼。當(dāng)用于確保通信通道安全時(shí)-兩個(gè)設(shè)備都需要知道用于確保通道安全的會(huì)話密鑰(S卩,加密所有發(fā)出的數(shù)據(jù)并且解密所有進(jìn)入的輸入)。該會(huì)話密鑰通常使用預(yù)先共享的秘密對稱密鑰或使用PKI來建立。-兩個(gè)設(shè)備都必須知道并實(shí)現(xiàn)相同的加密算法。簽名對稱密鑰也可以用于對數(shù)據(jù)簽名。在那種情況下,簽名是加密的部分結(jié)果。保持結(jié)果是一部分使得進(jìn)行簽名所需要的次數(shù)而不會(huì)暴露密鑰值。發(fā)行和限制對稱算法是非常有效率和安全的,但是對稱算法以預(yù)先共享秘密為基礎(chǔ)。發(fā)行是以動(dòng)態(tài)方式安全地共享該秘密,并且有可能使該秘密是隨機(jī)的(向會(huì)話密鑰)。想法是,共享的秘密很難長期保持安全,并且?guī)缀醪豢赡芘c多人共享。為了便利這一操作,發(fā)明了公鑰算法,公鑰算法允許交換秘密而不共享秘密。非對稱認(rèn)證過程基于非對稱密鑰的認(rèn)證使用一系列數(shù)據(jù)傳遞命令,所述的一系列數(shù)據(jù)傳遞命令最終構(gòu)造用于確保通道通信安全的會(huì)話密鑰?;緟f(xié)議向SSA系統(tǒng)認(rèn)證用戶。協(xié)議變化允許雙向認(rèn)證和雙要素認(rèn)證,在雙向認(rèn)證中,用戶對他想要使用的ACR進(jìn)行驗(yàn)證。SSA的非對稱認(rèn)證協(xié)議優(yōu)選地使用公鑰基礎(chǔ)設(shè)施(PKI)和RSA算法。如這些算法所定義的,認(rèn)證過程中的每個(gè)參與方都被允許創(chuàng)建它自己的RSA密鑰對。每一對由公鑰和私鑰組成。由于這些密鑰是匿名的,所以它們不能提供身份證明。PKI層調(diào)用可信第三方,可信第三方對每一個(gè)公鑰簽名??尚欧降墓€在將要相互認(rèn)證的參與方之間預(yù)先共享,并且被用于驗(yàn)證參與方的公鑰。一旦建立信任(兩個(gè)參與方都確定另一參與方提供的公鑰是可信的),則協(xié)議繼續(xù)進(jìn)行認(rèn)證(驗(yàn)證每個(gè)參與方持有匹配的私鑰)以及密鑰交換。這可以通過下面描述的圖22和23中圖示的盤問響應(yīng)機(jī)制來完成。包含簽名公鑰的結(jié)構(gòu)被稱為證書。對證書簽名的可信方被稱為證書權(quán)威機(jī)構(gòu)(CA)。為了使參與方通過認(rèn)證,它具有RAS密鑰對和證明公鑰真實(shí)性的證書。證書由另一(進(jìn)行認(rèn)證的)參與方信任的證書權(quán)威機(jī)構(gòu)來簽名。進(jìn)行認(rèn)證的參與方預(yù)期擁有其信任的CA的公鑰。SSA允許證書鏈。這意味著,被識(shí)別的參與方的公鑰可以由不同的CA(該CA不同于進(jìn)行識(shí)別的參與方信任的CA)來簽名。在這種情況下,被識(shí)別的參與方除了提供其自己的證書之外,還將提供對其公鑰簽名的CA的證書。如果該第二級別證書仍不被另一參與方所信任(未由其信任的CA簽名),則可以提供第三級別證書。在該證書鏈算法中,每個(gè)參與方將擁有認(rèn)證其公鑰所需的證書的完整列表。這在圖23和圖24中圖示。通過這種類型的ACR進(jìn)行雙向認(rèn)證所需的憑證是所選擇長度的RSA密鑰對。SSA證書SSA采用[X.509]版本3數(shù)字證書。[X.509]是通用標(biāo)準(zhǔn);這里描述的SSA證書概要(certificateprofile)還規(guī)定和限制證書定義的字段的內(nèi)容。證書概要還定義為管理證書鏈而定義的信任層級,SSA證書的有效性以及證書撤銷列表(CRL)概要。證書被認(rèn)為是公用信息(像內(nèi)部的公鑰一樣),因此證書不加密。然而,證書包括RSA簽名,該RSA簽名驗(yàn)證公鑰以及所有其他信息字段未被混合(temperwith)。[X.509]定義每個(gè)字段使用ASN.I標(biāo)準(zhǔn)來格式化,而ASN.I標(biāo)準(zhǔn)使用DER格式用于數(shù)據(jù)編碼。SSA證書概述圖20和圖21中描繪的SSA證書管理架構(gòu)的一個(gè)實(shí)施例由用于主機(jī)的不限級別的層級體系以及用于設(shè)備的最多三級的層級體系組成,盡管對于設(shè)備可以使用級別數(shù)量大于3或小于3的層級體系。主機(jī)證書層級設(shè)備基于兩個(gè)要素來認(rèn)證主機(jī)存儲(chǔ)在設(shè)備中的根CA證書(作為ACR憑證,在創(chuàng)建ACR時(shí)存儲(chǔ))以及由試圖訪問設(shè)備的實(shí)體提供的證書/證書鏈(用于該特定ACR)。對于每個(gè)ACR,主機(jī)證書權(quán)威機(jī)構(gòu)用作根CA(這是駐留在ACR憑證中的證書)。例如對于一個(gè)ACR,根CA可以是“主機(jī)ICA(級別2)證書”,而對于另一個(gè)ACR,根CA可以是“主機(jī)根CA證書”。對于每個(gè)ACR,如果實(shí)體具有用于末端實(shí)體證書的相應(yīng)私鑰,則持有由根CA簽名的證書(或連接根CA到末端實(shí)體證書的證書鏈)的每個(gè)實(shí)體可以登錄到該ACR。如上面提到的,證書是公用知識(shí),并且不會(huì)被保密。由根CA頒發(fā)的所有證書持有者(以及相應(yīng)的私鑰)都能夠登錄到該ACR的事實(shí)意味著,向特定ACR認(rèn)證由存儲(chǔ)在ACR憑證中的根CA的頒發(fā)者來確定。換言之,根CA的頒發(fā)者可以是管理ACR的認(rèn)證方案的實(shí)體。主機(jī)根證書根證書是SSA用于開始驗(yàn)證嘗試登錄的實(shí)體(主機(jī))的公鑰的可信CA證書。當(dāng)ACR被創(chuàng)建時(shí)提供該證書作為ACR憑證的一部分。根證書是PKI系統(tǒng)的信任的根基,因此,根證書假定由可信實(shí)體(父代ACR或進(jìn)行制造/配置的可信環(huán)境)提供。SSA使用其公鑰驗(yàn)證該證書,以驗(yàn)證證書簽名。主機(jī)根證書經(jīng)加密與優(yōu)選只有系統(tǒng)10的圖I的CPU12可訪問的設(shè)備的秘密密鑰一起,存儲(chǔ)在非易失性存儲(chǔ)器(圖I中未示出)中。主機(jī)證書鏈這些是在認(rèn)證期間提供給SSA的證書。在對鏈的處理完成之后,不應(yīng)在設(shè)備中存儲(chǔ)關(guān)于主機(jī)證書鏈的記憶。圖20是圖示多個(gè)不同的主機(jī)證書鏈的主機(jī)證書級別層級體系的示意圖。如圖20中所示,主機(jī)證書可以具有許多不同的證書鏈,其中只圖示了三個(gè)Al.主機(jī)根CA證書502,主機(jī)ICA(級別2)證書504和主機(jī)證書506;BI.主機(jī)根CA證書502,主機(jī)ηCA(級別2)證書508,主機(jī)ICA(級別3)證書510,主機(jī)證書512;Cl.主機(jī)根CA證書502,主機(jī)ηCA(級別2)證書508和主機(jī)證書514。上面的三個(gè)證書鏈AlBl和Cl圖示了可以用于證明主機(jī)的公鑰的真實(shí)性的三個(gè)可能的主機(jī)證書鏈。關(guān)于上面的和圖20中的證書鏈Al,主機(jī)ICA(級別2)證書504中的公鑰被主機(jī)根CA的私鑰簽名(即,通過加密公鑰的摘要),主機(jī)根CA的公鑰在主機(jī)根CA證書502中。主機(jī)證書506中的主機(jī)公鑰轉(zhuǎn)而由主機(jī)ICA(級別2)的私鑰簽名,主機(jī)ICA(級別2)的公鑰在主機(jī)ICA(級別2)證書504中提供。因此,具有主機(jī)根CA的公鑰的實(shí)體將能夠驗(yàn)證上面的證書鏈Al的真實(shí)性。作為第一步,實(shí)體使用其擁有的主機(jī)根CA的公鑰解密由主機(jī)發(fā)送給它的已簽名的主機(jī)ICA(級別2)證書504中的公鑰,并且將解密的簽名公鑰與由主機(jī)發(fā)送的主機(jī)ICA(級別2)證書504中的未簽名的公鑰的摘要進(jìn)行比較。如果兩者匹配,則主機(jī)ICA(級別2)的公鑰被認(rèn)證,然后實(shí)體將使用經(jīng)過認(rèn)證的主機(jī)ICA(級別2)的公鑰解密由主機(jī)發(fā)送的主機(jī)證書506中的主機(jī)ICA(級別2)的私鑰簽名的主機(jī)的公鑰。如果該解密的簽名值與主機(jī)發(fā)送的主機(jī)證書506中的公鑰的摘要的值匹配,則主機(jī)的公鑰也被認(rèn)證。證書鏈BI和Cl可以以類似的方式用于認(rèn)證。如將從涉及鏈Al的上述過程注意到的,需要被實(shí)體驗(yàn)證的來自主機(jī)的第一公鑰是主機(jī)ICA(級別2)中的公鑰,不是主機(jī)根CA證書。因此,主機(jī)需要發(fā)送給實(shí)體的全部是主機(jī)ICA(級別2)證書504和主機(jī)證書506,從而主機(jī)ICA(級別2)證書將是需要發(fā)送的鏈中的第一個(gè)。如上面圖示的,證書驗(yàn)證的順序如下。在這種情況下,進(jìn)行驗(yàn)證的實(shí)體,存儲(chǔ)器設(shè)備10首先驗(yàn)證鏈中的第一證書中的公鑰的真實(shí)性,在本例中,該第一證書是根CA之下的CA的證書504。在驗(yàn)證該證書中的公鑰是真實(shí)的之后,設(shè)備10繼續(xù)驗(yàn)證下一個(gè)證書,在本例中是主機(jī)證書506。同樣,在證書鏈包含多于兩個(gè)證書,以緊接在根證書下面的證書開始,以將要認(rèn)證的實(shí)體的證書結(jié)束的情況下,可以應(yīng)用類似的驗(yàn)證順序。設(shè)備證書層級體系主機(jī)基于兩個(gè)要素認(rèn)證設(shè)備存儲(chǔ)在主機(jī)中的設(shè)備根CA和由設(shè)備提供給主機(jī)的證書/證書鏈(其在創(chuàng)建ACR時(shí)被提供給設(shè)備作為憑證)。由主機(jī)認(rèn)證設(shè)備的過程類似于如上所述的設(shè)備認(rèn)證主機(jī)的過程。設(shè)備證書鏈這些是ACR的密鑰對的證書。當(dāng)ACR被創(chuàng)建時(shí)將它們提供給卡。SSA分別地存儲(chǔ)這些證書并且在認(rèn)證期間將把它們逐一地提供給主機(jī)。SSA使用這些證書向主機(jī)認(rèn)證。設(shè)備能夠處理3個(gè)證書的鏈,盡管也可以使用不同于3個(gè)的證書數(shù)量。證書的數(shù)量可以根據(jù)ACR而有所不同。當(dāng)ACR被創(chuàng)建時(shí)證書的數(shù)量被確定。設(shè)備能夠?qū)⒆C書鏈發(fā)送給主機(jī),然而設(shè)備不需要解析證書鏈,因?yàn)樗皇褂米C書鏈數(shù)據(jù)。圖21是圖示設(shè)備證書級別層級體系的示意圖,示出了用于諸如存儲(chǔ)設(shè)備的使用SSA的設(shè)備的I到η個(gè)不同的證書鏈。圖21中圖示的η個(gè)不同的證書鏈如下Α2.設(shè)備根CA證書520,設(shè)備ICA(制造商)證書522和設(shè)備證書524;Β2.設(shè)備根CA證書520,設(shè)備ηCA(制造商)證書526和設(shè)備證書528。SSA設(shè)備可以由I到η不同的制造商制造,每個(gè)制造商具有它們自己的設(shè)備CA證書。因此,用于特定設(shè)備的設(shè)備證書中的公鑰將由其制造商的私鑰簽名,并且制造商的公鑰轉(zhuǎn)而由設(shè)備根CA的私鑰簽名。驗(yàn)證設(shè)備的公鑰的方法與如上所述主機(jī)的公鑰的情況類似。如同驗(yàn)證如上所述的用于主機(jī)的鏈Al的情況那樣,不需要發(fā)送設(shè)備根CA證書,并且需要發(fā)送的鏈中的第一證書是設(shè)備iCA(制造商)證書,隨后是設(shè)備證書,其中i是從I到η的整數(shù)。在圖21中圖示的實(shí)施例中,設(shè)備將呈遞兩個(gè)證書設(shè)備iCA(制造商)證書,隨后是其自己的設(shè)備證書。設(shè)備iCA(制造商)證書是制造所述設(shè)備的制造商、并且是提供私鑰以便對設(shè)備的公鑰簽名的制造商的證書。當(dāng)主機(jī)接收到設(shè)備iCA(制造商)證書時(shí),主機(jī)將使用其擁有的根CA的公鑰解密并且驗(yàn)證設(shè)備iCA(制造商)公鑰。如果該驗(yàn)證失敗,主機(jī)將中止過程并且通知設(shè)備認(rèn)證已經(jīng)失敗。如果認(rèn)證成功,則主機(jī)向設(shè)備發(fā)送對下一個(gè)證書的請求。然后設(shè)備將以類似的方式發(fā)送將被主機(jī)驗(yàn)證的其自己的設(shè)備證書。圖22和圖23中也更詳細(xì)地圖示了上述驗(yàn)證過程。在圖22中,“SSM系統(tǒng)”是實(shí)現(xiàn)此處描述的SSA系統(tǒng)以及如下所述的其他功能的軟件模塊。SSM可以被具體實(shí)現(xiàn)為存儲(chǔ)在存儲(chǔ)器20中或CPU12中的非易失性存儲(chǔ)器(未示出)中的具有數(shù)據(jù)庫的軟件或計(jì)算機(jī)代碼,并且被讀取到RAM12a中且由CPU12運(yùn)行。如圖22中所示,在設(shè)備10認(rèn)證主機(jī)系統(tǒng)540的過程中存在三個(gè)階段。在第一公鑰驗(yàn)證階段,主機(jī)系統(tǒng)540在SSM命令中向SSM系統(tǒng)542發(fā)送主機(jī)證書鏈。SSM系統(tǒng)542使用位于ACR550中的主機(jī)根證書548中的根證書權(quán)威機(jī)構(gòu)公鑰驗(yàn)證主機(jī)證書544的真實(shí)性和主機(jī)公鑰546的真實(shí)性(方框552)。如果在根證書權(quán)威機(jī)構(gòu)與主機(jī)之間涉及中間證書權(quán)威機(jī)構(gòu),則中間證書549也被用于方框552中的驗(yàn)證。假定驗(yàn)證或過程(方框552)成功,則SSM系統(tǒng)542前進(jìn)到第二階段。SSM系統(tǒng)542生成隨機(jī)數(shù)554并且將它作為盤問發(fā)送給主機(jī)系統(tǒng)540。系統(tǒng)540使用主系統(tǒng)的私鑰547對隨機(jī)數(shù)554簽名(方框556)并且發(fā)送簽名的隨機(jī)數(shù)作為對盤問的響應(yīng)該響應(yīng)被使用主機(jī)公鑰546解密(方框558)并且被與隨機(jī)數(shù)554相比較(方框560)。假定解密的響應(yīng)匹配隨機(jī)數(shù)554,則盤問響應(yīng)成功。在第三階段,使用主機(jī)公鑰546加密隨機(jī)數(shù)562。然后該隨機(jī)數(shù)562成為會(huì)話密鑰。主機(jī)系統(tǒng)540能夠通過使用其私鑰解密來自SSM系統(tǒng)542的加密的數(shù)562(方框564)來獲得會(huì)話密鑰。借助于該會(huì)話密鑰,可以發(fā)起主機(jī)系統(tǒng)540與SSM系統(tǒng)542之間的安全通信。圖22圖示了單向不對稱認(rèn)證,其中,由設(shè)備10中的SSM系統(tǒng)542認(rèn)證主機(jī)系統(tǒng)540。圖23是圖示類似于圖22的單向認(rèn)證協(xié)議的雙向相互認(rèn)證過程的協(xié)議圖,其中,圖23中的SSM系統(tǒng)542也被主機(jī)系統(tǒng)540認(rèn)證。圖24是證書鏈590的示圖,用于圖示本發(fā)明的一個(gè)實(shí)施例。如上所述,需要呈遞以用于驗(yàn)證的證書鏈可以包括多個(gè)證書。因而圖24的證書鏈包括總共九個(gè)(9個(gè))證書,為了認(rèn)證,可以需要驗(yàn)證所有九個(gè)證書。如上面在
      背景技術(shù)
      部分解釋的,在現(xiàn)有的用于證書驗(yàn)證的系統(tǒng)中,發(fā)送不完全的證書鏈,或者如果發(fā)送整個(gè)證書,則該證書不是以特定次序發(fā)送的,從而在整個(gè)證書組已被接收和存儲(chǔ)之前,接收方將不能分析證書。由于預(yù)先不知道鏈中證書的數(shù)量,所以這將帶來問題。為了存儲(chǔ)不確定長度的證書鏈,需要預(yù)留大量的存儲(chǔ)空間。對于執(zhí)行驗(yàn)證的存儲(chǔ)設(shè)備而言這可能是個(gè)問題。本發(fā)明的一個(gè)實(shí)施例基于該問題能夠通過一種系統(tǒng)來緩解的認(rèn)識(shí),在所述系統(tǒng)中,主機(jī)設(shè)備以與證書鏈將被存儲(chǔ)設(shè)備驗(yàn)證的次序相同的次序發(fā)送其證書鏈。因而,如圖24中所示,證書的鏈590從證書鏈590(I)開始,并且以證書590(9)結(jié)束,其中該證書鏈590(I)是緊接在主機(jī)根證書下面的證書,而證書590(9)是主機(jī)證書。因此,設(shè)備10將首先驗(yàn)證證書590(I)中的公鑰,隨后驗(yàn)證證書590(2)中的公鑰,等等,直到驗(yàn)證證書590(9)中的主機(jī)公鑰。然后,完成了整個(gè)證書鏈590的驗(yàn)證過程。因而,如果主機(jī)設(shè)備以與證書鏈將被驗(yàn)證的次序或順序相同的次序或順序向存儲(chǔ)器設(shè)備10發(fā)送證書鏈590,則存儲(chǔ)器設(shè)備10能夠隨著接收證書開始驗(yàn)證每個(gè)證書,而不必等到鏈590中的全部9個(gè)證書都被接收。因而,在一個(gè)實(shí)施例中,主機(jī)設(shè)備一次向存儲(chǔ)器設(shè)備10發(fā)送鏈590中的一個(gè)證書。然后存儲(chǔ)器設(shè)備10將必須一次存儲(chǔ)單個(gè)證書。除了鏈中的最后一個(gè)證書之外,在證書已經(jīng)被驗(yàn)證之后,該證書能夠被主機(jī)發(fā)送的下一個(gè)證書覆寫。用這樣的方式,存儲(chǔ)器設(shè)備10在任何時(shí)候?qū)⑿枰A(yù)留用于僅僅存儲(chǔ)單個(gè)證書的空間。存儲(chǔ)器設(shè)備將需要知道何時(shí)已經(jīng)接收了整個(gè)鏈590。因而,優(yōu)選地,最后一個(gè)證書590(9)包含這是鏈中的最后一個(gè)證書的指示符或指示。該特征在圖25中圖示,圖25是圖示由主機(jī)發(fā)送給存儲(chǔ)器設(shè)備10的在證書緩存器之前的控制區(qū)段(sector)中的信息的表。如圖25中所示,證書590(9)的控制區(qū)段包含變元名稱“‘最終’標(biāo)志”。然后存儲(chǔ)器設(shè)備10能夠通過檢查“最終”標(biāo)志是否被設(shè)置來驗(yàn)證證書590(9)是鏈中的最后一個(gè)證書,以確定接收的證書是否是鏈中的最后一個(gè)。在替換實(shí)施例中,鏈590中的證書可以不被逐個(gè)地發(fā)送,而是以一個(gè)、兩個(gè)或三個(gè)證書的組被發(fā)送。顯然,也可以使用具有其他數(shù)量的證書的組,或者組中的證書數(shù)量相同的組。因而,鏈590包括五個(gè)(5個(gè))連續(xù)的證書串591、593、595、597和599。串中的每一個(gè)包含至少一個(gè)證書。連續(xù)的證書串是這樣的證書串,其包含在鏈中緊跟在正在發(fā)出的一個(gè)串之前的串之后的證書(開始證書)、在鏈中緊挨著所述一個(gè)串之后的串的證書(結(jié)束證書)和在該開始證書和結(jié)束證書之間的所有證書。例如,串593包含所有三個(gè)證書590(2),590(3)和590(4)。五個(gè)證書串由存儲(chǔ)器設(shè)備10按以下順序驗(yàn)證591、593、595、597,并且以599結(jié)束。因此,如果以與存儲(chǔ)器設(shè)備10執(zhí)行的驗(yàn)證相同的順序發(fā)送和接收五個(gè)串,則存儲(chǔ)器設(shè)備將不需要在任何串已經(jīng)被驗(yàn)證之后存儲(chǔ)該串,并且除了最后一個(gè)之外的所有串都能夠被從主機(jī)到達(dá)的下一個(gè)串覆寫。如在在前的實(shí)施例中那樣,期望鏈中的最后一個(gè)證書包含指示符,如被設(shè)置到特定值以指示它是鏈中的最后一個(gè)證書的標(biāo)志。在本實(shí)施例中,存儲(chǔ)器設(shè)備將僅需要預(yù)留足夠存儲(chǔ)五個(gè)串中最大數(shù)量證書的空間。因而,如果主機(jī)首先向存儲(chǔ)器設(shè)備10通知它打算發(fā)送的最長的串,則存儲(chǔ)器設(shè)備10將只需要預(yù)留用于最長的串的足夠的空間。優(yōu)選地,由主機(jī)發(fā)送的鏈中的每個(gè)證書的長度不超過由該證書證明的公鑰的長度的四倍。類似地,由存儲(chǔ)器設(shè)備10發(fā)送到主機(jī)設(shè)備以證明存儲(chǔ)器設(shè)備的公鑰的證書的長度優(yōu)選地不超過由該證書證明的公鑰的長度的四倍。以上描述的用于驗(yàn)證證書鏈的實(shí)施例子在圖26的流程圖中示出,其中,為簡單起見,假定每組中證書的數(shù)量為一個(gè)。如圖26中所示,主機(jī)順序地向卡發(fā)送鏈中的證書。從鏈中的第一個(gè)證書(如上面解釋的,一般是跟在根證書之后的一個(gè)證書)開始,卡順序地從正在被認(rèn)證的主機(jī)接收證書鏈(方框602)。然后,卡驗(yàn)證接收到的證書中的每一個(gè),并且如果所述證書中的任何一個(gè)驗(yàn)證失敗則中止該過程。如果證書中的任何一個(gè)驗(yàn)證失敗,則卡通知主機(jī)(方框604,606)。然后卡將檢測是否已經(jīng)接收并驗(yàn)證了最后一個(gè)證書(菱形框608)。如果尚未接收并驗(yàn)證最后一個(gè)證書,則卡返回到方框602以繼續(xù)接收和驗(yàn)證來自主機(jī)的證書。如果已經(jīng)接收并驗(yàn)證了最后一個(gè)證書,則卡進(jìn)行到證書驗(yàn)證之后的下一個(gè)階段(610)。盡管圖26和隨后的附圖中的特征參照存儲(chǔ)卡作為例子,但是將會(huì)理解這些特征也適用于具有非存儲(chǔ)卡的物理形式的存儲(chǔ)器設(shè)備。圖27中圖示了當(dāng)卡正在認(rèn)證主機(jī)時(shí)由主機(jī)執(zhí)行的過程。如圖27中所示,主機(jī)向卡發(fā)送鏈中的下一個(gè)證書(方框620)(—般從跟在根證書后的一個(gè)開始)。然后主機(jī)確定是否已經(jīng)從卡接收到指示認(rèn)證失敗的中止通知(菱形框622)。如果已經(jīng)接收到中止通知,則主機(jī)停止(方框624)。如果尚未接收到中止通知,則主機(jī)通過檢查在被發(fā)送的最后一個(gè)證書中“最終標(biāo)志”是否已經(jīng)被設(shè)置來察看鏈中的最后一個(gè)證書是否已經(jīng)被發(fā)送(菱形框626)。如果最后一個(gè)證書已經(jīng)被發(fā)送,則主機(jī)前進(jìn)到證書驗(yàn)證之后的下一個(gè)階段(方框628)。如圖22和圖23中圖示的,下一個(gè)階段可以是盤問響應(yīng),隨后是會(huì)話密鑰創(chuàng)建。如果鏈中的最后一個(gè)證書還沒有被發(fā)送,則主機(jī)返回到方框620以發(fā)送鏈中的下一個(gè)證書。圖28和圖29中圖示了當(dāng)卡正在被認(rèn)證時(shí)卡和主機(jī)采取的動(dòng)作。如圖28中所示,在開始之后,卡等待來自主機(jī)的用于發(fā)送鏈中的證書的請求(方框630,菱形框632)。如果未接收到來自主機(jī)的請求,則卡將返回到菱形框632。如果接收到來自主機(jī)的請求,則卡將從應(yīng)當(dāng)發(fā)送的第一個(gè)證書開始(一般從跟在根證書后的一個(gè)證書開始),發(fā)送鏈中的下一個(gè)證書(方框634)??ù_定是否已經(jīng)從主機(jī)接收到失敗通知(菱形框636)。如果已經(jīng)接收到失敗通知,則卡停止(方框637)。如果沒有接收到失敗通知,則卡確定是否已經(jīng)發(fā)送了最后一個(gè)證書(菱形框638)。如果尚未發(fā)送最后一個(gè)證書,則卡返回到菱形框632并且進(jìn)行等待,直到它從主機(jī)接收到用于發(fā)送鏈中的下一個(gè)證書的下一個(gè)請求。如果已經(jīng)發(fā)送了最后一個(gè)證書,則卡前進(jìn)到下一個(gè)階段(方框639)。圖29圖示了當(dāng)卡正在被認(rèn)證時(shí)由主機(jī)采取的動(dòng)作。主機(jī)從對于將被發(fā)送的第一個(gè)證書的請求開始,向卡發(fā)送對于鏈中的下一個(gè)證書的請求(方框640)。然后主機(jī)驗(yàn)證每個(gè)接收到的證書,并且如果驗(yàn)證失敗則中止過程并且通知卡(方框642)。如果驗(yàn)證通過,則主機(jī)察看是否已經(jīng)接收到并且成功地驗(yàn)證了最后一個(gè)證書(菱形框644)。如果尚未接收并且成功驗(yàn)證最后一個(gè)證書,則主機(jī)返回到方框640以發(fā)送對于鏈中的下一個(gè)證書的請求。如果已經(jīng)接收并成功驗(yàn)證了最后一個(gè)證書,則主機(jī)前進(jìn)到證書驗(yàn)證之后的下一個(gè)階段(方框646)ο證書撤銷當(dāng)證書被頒發(fā)時(shí),預(yù)期證書將在其整個(gè)有效期內(nèi)都處于使用中。然而,各種環(huán)境可能導(dǎo)致證書在有效期滿期之前變得無效。這樣的環(huán)境包括改變名稱、改變主體(subject)和CA之間的關(guān)聯(lián)(例如,雇員終止與組織的雇傭關(guān)系)、以及相應(yīng)私鑰的泄密或疑似泄密。在這些情況下,CA需要撤銷證書。SSA使得能夠以不同的方法進(jìn)行證書撤銷,每個(gè)ACR可以被配置用于特定的方法來撤銷證書。ACR可以被配置為不支持撤銷方案。在這種情況下,每個(gè)證書被認(rèn)為有效,直到其期滿日期?;蛘呖梢圆捎米C書撤銷列表(CRL)。作為再一個(gè)替換方案,撤銷方案可以特定于特定應(yīng)用,或者是應(yīng)用特定的,這將在下面解釋。ACR指定通過指定撤銷值來指定采用三個(gè)撤銷方案中的哪一個(gè)。如果ACR被創(chuàng)建而沒有撤銷方案,則該ACR可以采用ACR所有者能夠激活的撤銷方案。存儲(chǔ)器設(shè)備證書的撤銷由主機(jī)實(shí)行,不是由SSA安全性系統(tǒng)實(shí)行。ACR所有者負(fù)責(zé)管理主機(jī)根證書的撤銷,進(jìn)行該撤銷的機(jī)制是通過更新ACR的憑證。證書撤銷列表(CRL)SSA系統(tǒng)使用包括每個(gè)CA周期性地發(fā)行被稱為證書撤銷列表(CRL)的簽名的數(shù)據(jù)結(jié)構(gòu)的撤銷方案。CRL是用CA(發(fā)行所討論的證書的同一個(gè)CA)簽名的、用于標(biāo)識(shí)撤銷的證書的帶時(shí)間戳的列表,并且該CRL是公眾可自由獲得的。在CRL中用證書序列號標(biāo)識(shí)每個(gè)撤銷的證書。CRL的大小是任意的,取決于被撤銷的非期滿證書的數(shù)量。當(dāng)設(shè)備使用證書(例如,用于驗(yàn)證主機(jī)的身份)時(shí),設(shè)備不但檢查證書簽字(和有效性),而且對照通過CRL接收的序列號列表驗(yàn)證證書。如果在頒發(fā)證書的CA所發(fā)行的CRL上找到證書的諸如序列號的標(biāo)識(shí),這表明該證書已經(jīng)被撤銷并且不再有效。CRL也將需要被驗(yàn)證是真實(shí)的,以便將其用于核實(shí)證書的目的。CRL被使用發(fā)行CRL的CA的私鑰簽名,并且能夠通過使用CA的公鑰對簽名的CRL進(jìn)行解密來驗(yàn)證CRL是真實(shí)的。如果解密的CRL與未簽名的CRL的摘要匹配,這意味著CRL尚未被篡改并且是真實(shí)的。CRL被使用散列算法頻繁地進(jìn)行散列以獲得它們的摘要,并且摘要被CA的私鑰加密。為了驗(yàn)證CRL是否是有效的,簽名的CRL(即,散列并且加密的CRL)被使用CA的公鑰解密,以產(chǎn)生解密并且散列的CRL(即,CRL的摘要)。然后該CRL的摘要被與散列的CRL比較。因而,驗(yàn)證過程可以經(jīng)常地包括對CRL進(jìn)行散列以用于與解密并且散列的CRL進(jìn)行比較的步驟。CRL方案執(zhí)行特性之一是,證書的核實(shí)(對照CRL)可以與獲得CRL分離地執(zhí)行。CRL還被相關(guān)證書的頒發(fā)者簽名,并且以上面描述的方式,使用發(fā)行CRL的CA的公鑰,以類似于證書驗(yàn)證的方式進(jìn)行驗(yàn)證。存儲(chǔ)器設(shè)備驗(yàn)證簽名是CRL的并且CRL的發(fā)行者與證書的頒發(fā)者匹配。CRL方案的另一個(gè)特性是,可以通過與散布證書本身完全相同的手段,即,通過非可信服務(wù)器和非可信通信來散布CRL。在X.509標(biāo)準(zhǔn)中詳細(xì)解釋了CRL及它們的特性。用于CRL的SSA基礎(chǔ)設(shè)施SSA提供用于使用CRL方案的主機(jī)的撤銷的基礎(chǔ)設(shè)施。當(dāng)利用CRL撤銷方案向基于RSA的ACR認(rèn)證時(shí),主機(jī)向設(shè)置證書命令添加一個(gè)CRL(如果頒發(fā)者CA沒有撤銷證書,則可能為空CRL)作為附加的字段。這個(gè)字段將包含由證書的頒發(fā)者簽名的CRL。當(dāng)呈遞這個(gè)字段時(shí),存儲(chǔ)器設(shè)備10首先驗(yàn)證設(shè)置證書命令中的證書。獲得并且訪問CRL倉庫完全是主機(jī)的責(zé)任。發(fā)行的CRL具有它們有效的時(shí)間段(CRL期滿時(shí)間段或CET)。在驗(yàn)證期間,如果發(fā)現(xiàn)當(dāng)前時(shí)間不在該時(shí)間段內(nèi),則CRL被認(rèn)為是有缺陷的,并且不能用于證書驗(yàn)證。那么結(jié)果是證書的認(rèn)證失敗。在傳統(tǒng)的證書驗(yàn)證方法中,期望進(jìn)行認(rèn)證或驗(yàn)證的實(shí)體擁有或者能夠從證書權(quán)威機(jī)構(gòu)(CA)獲取證書撤銷列表,并且對照該列表檢查所呈遞以進(jìn)行認(rèn)證的證書的序列號,以確定所呈遞的證書是否已經(jīng)被撤銷。如果進(jìn)行認(rèn)證或者進(jìn)行驗(yàn)證的實(shí)體是存儲(chǔ)器設(shè)備,則存儲(chǔ)器設(shè)備本身尚未被用于從CA檢索證書撤銷列表。如果證書撤銷列表被預(yù)存儲(chǔ)在設(shè)備中,則這樣的列表可能變成是過期的,從而在安裝日期之后被撤銷的證書將不出現(xiàn)在該列表上。這將使用戶能夠使用撤銷的證書訪問存儲(chǔ)設(shè)備。這是不希望的。在一個(gè)實(shí)施例中,通過其中希望被認(rèn)證的實(shí)體將證書撤銷列表與將被認(rèn)證的證書一起呈遞給進(jìn)行認(rèn)證的實(shí)體的系統(tǒng),可以解決上述問題,其中所述進(jìn)行認(rèn)證的實(shí)體可以是存儲(chǔ)器設(shè)備10。然后,進(jìn)行認(rèn)證的實(shí)體驗(yàn)證證書的真實(shí)性以及接收到的證書撤銷列表的真實(shí)性。進(jìn)行認(rèn)證的實(shí)體通過檢查證書的標(biāo)識(shí),如證書的序列號是否出現(xiàn)在列表上,來檢查該證書是否在撤銷列表上。考慮到上述情況,可以使用不對稱的驗(yàn)證方案進(jìn)行主機(jī)設(shè)備和存儲(chǔ)器設(shè)備10之間的雙向認(rèn)證。希望向存儲(chǔ)器設(shè)備10認(rèn)證的主機(jī)設(shè)備將需要提供它的證書鏈和相應(yīng)的CRL兩者。另一方面,主機(jī)設(shè)備已經(jīng)被用于連接到CA以獲得CRL,從而當(dāng)存儲(chǔ)器設(shè)備10將被主機(jī)設(shè)備認(rèn)證時(shí),存儲(chǔ)器設(shè)備不需要與它們的證書或者證書鏈一起向主機(jī)設(shè)備呈遞CRL。近年來,存在著數(shù)量不斷擴(kuò)大的能被用于播放內(nèi)容的不同類型的便攜式設(shè)備,如不同的嵌入式或獨(dú)立音樂播放器、mp3播放器、蜂窩電話、個(gè)人數(shù)字助理和筆記本計(jì)算機(jī)。盡管可以將這樣的設(shè)備連接到萬維網(wǎng)以便訪問來自證書權(quán)威機(jī)構(gòu)的證書驗(yàn)證列表,但是許多用戶一般不是每天都連接到網(wǎng)絡(luò),而是作為替代地,僅僅為了獲得新的內(nèi)容或續(xù)訂而連接到網(wǎng)絡(luò),例如每個(gè)幾周連接一次。因此,對于這樣的用戶而言,必需更頻繁地從證書權(quán)威機(jī)構(gòu)獲得證書撤銷列表可能是麻煩的。對于這樣的用戶,需要被呈遞給存儲(chǔ)設(shè)備以訪問被保護(hù)的內(nèi)容的證書撤銷列表以及可選地,主機(jī)證書,可以被存儲(chǔ)在存儲(chǔ)設(shè)備本身的優(yōu)選為未受保護(hù)的區(qū)域中。在許多類型的存儲(chǔ)設(shè)備(例如,快閃存儲(chǔ)器)中,存儲(chǔ)設(shè)備的未受保護(hù)區(qū)域由主機(jī)設(shè)備管理,而不是由存儲(chǔ)設(shè)備本身管理。用這樣的方式,(通過主機(jī)設(shè)備)不需要用戶必須連接到網(wǎng)絡(luò)以獲得更新的證書撤銷列表。主機(jī)設(shè)備可以簡單地從存儲(chǔ)設(shè)備的不保證安全的區(qū)域中獲取這樣的信息,然后轉(zhuǎn)而將這樣的證書和列表呈遞給存儲(chǔ)設(shè)備或存儲(chǔ)器設(shè)備,以訪問存儲(chǔ)設(shè)備中的受保護(hù)內(nèi)容。由于用于訪問受保護(hù)內(nèi)容及其相應(yīng)證書撤銷列表的證書一般在特定時(shí)間段內(nèi)有效,所以只要它們?nèi)匀挥行?,用戶就將無需獲得最新的證書或證書撤銷列表。上述特征使用戶能夠在證書和證書撤銷列表兩者都仍然有效的相當(dāng)長的時(shí)段內(nèi)方便地訪問證書和證書撤銷列表,而非必須連接到證書權(quán)威機(jī)構(gòu)以獲得更新的信息。上述過程在圖30和圖31的流程圖中圖示。如圖30中所示,主機(jī)24從存儲(chǔ)器設(shè)備10的不保證安全的公共區(qū)域中讀取CRL(方框652),該CRL與主機(jī)將呈遞給存儲(chǔ)器設(shè)備以進(jìn)行認(rèn)證的證書相關(guān)。由于CRL存儲(chǔ)在存儲(chǔ)器的不保證安全的區(qū)域中,所以在主機(jī)能夠獲得CRL之前不需要進(jìn)行認(rèn)證。由于CRL被存儲(chǔ)在存儲(chǔ)器設(shè)備的公共區(qū)域中,所以CRL的讀取由主機(jī)設(shè)備24控制。主機(jī)轉(zhuǎn)而將CRL與將被驗(yàn)證的證書發(fā)送到存儲(chǔ)器設(shè)備(方框654),并且前進(jìn)到下一個(gè)階段,除非它從存儲(chǔ)器設(shè)備10接收到失敗通知(方框656)。參照圖31,存儲(chǔ)器設(shè)備接收來自主機(jī)的CRL和證書(方框658),并且檢查證書序列號是否在CRL上(方框660)以及其他方面(例如,CRL是否已經(jīng)期滿)。如果在CRL上找到證書序列號或者證書序列號因?yàn)槠渌碛啥?,則存儲(chǔ)器設(shè)備向主機(jī)發(fā)送失敗通知(方框662)。用這樣的方式,不同的主機(jī)能夠獲得存儲(chǔ)在存儲(chǔ)器設(shè)備的公共區(qū)域中的CRL,因?yàn)橄嗤腃RL能被用于不同主機(jī)的認(rèn)證。如上所述,為了用戶方便,優(yōu)選地,將被使用CRL進(jìn)行驗(yàn)證的證書也可以與CRL—起存儲(chǔ)在存儲(chǔ)器設(shè)備10的不保證安全的區(qū)域中。然而,證書只能被向其頒發(fā)該證書的主機(jī)用于向存儲(chǔ)器設(shè)備認(rèn)證。如果如圖32中所示,CRL在其字段中包含用于下次更新的時(shí)間,則設(shè)備10中的SSA還對照該時(shí)間檢查當(dāng)前時(shí)間,以查看當(dāng)前時(shí)間是否在該時(shí)間之后;如果當(dāng)前時(shí)間在該時(shí)間之后,則認(rèn)證也失敗。因而SSA優(yōu)選地對照當(dāng)前時(shí)間(或者對照CRL被存儲(chǔ)器設(shè)備10接收的時(shí)間)檢查用于下次更新的時(shí)間以及CET兩者。如上所述,如果CRL包含撤銷的證書的標(biāo)識(shí)的長列表,則處理(例如,進(jìn)行散列)列表以及在列表中搜索主機(jī)呈遞的證書的序列號可能花費(fèi)很長時(shí)間,尤其是如果該過程和搜索被順序地執(zhí)行時(shí)。因而,為了提高過程的速度,這些可以被并行地執(zhí)行。此外,如果在處理和搜索CRL之前需要接收整個(gè)CRL,則過程也可能是費(fèi)時(shí)的。申請人認(rèn)識(shí)到通過隨著CRL的部分被接收(實(shí)時(shí)地)處理和搜索CRL的部分,能夠加快該過程,從而當(dāng)接收到CRL的最后部分時(shí),該過程即將完成。圖33和圖34圖示了撤銷方案的上述特征。在進(jìn)行認(rèn)證的實(shí)體(例如,諸如存儲(chǔ)卡的存儲(chǔ)器設(shè)備),從希望被認(rèn)證的實(shí)體接收證書和CRL(方框702)。處理(例如,散列)未加密的CRL的部分并且并行地在這樣的部分上搜索呈遞的證書的標(biāo)識(shí)(例如,序列號)。已經(jīng)處理的(例如,已經(jīng)進(jìn)行散列的)CRL部分被編譯成散列完成的CRL,其與通過編譯從希望被認(rèn)證的實(shí)體接收到的CRL的部分中的解密的CRL部分所形成的完成解密和散列的CRL進(jìn)行比較。如果比較表明在比較中沒有匹配,則認(rèn)證失敗。進(jìn)行認(rèn)證的實(shí)體還對照當(dāng)前時(shí)間檢查用于下次更新的時(shí)間以及CET(方框706、708)。如果發(fā)現(xiàn)呈遞的證書的標(biāo)識(shí)在CRL上,或者如果當(dāng)前時(shí)間不在CET內(nèi),或者如果用于下次更新的CRL的時(shí)間已經(jīng)過去,則認(rèn)證也失敗(方框710)。在一些實(shí)現(xiàn)方式中,存儲(chǔ)散列的CRL部分和解密的散列CRL部分以用于編譯可以不需要大量的存儲(chǔ)空間。當(dāng)實(shí)體(例如,主機(jī))希望被認(rèn)證時(shí),實(shí)體將向進(jìn)行認(rèn)證的實(shí)體發(fā)送它的證書并且CRL(方框722),并且前進(jìn)到下一個(gè)階段(方框724)。這在圖34中示出。如果實(shí)體呈遞用于認(rèn)證的證書鏈,則可以實(shí)現(xiàn)與上面類似的過程。在這種情況下,將需要對鏈中的每個(gè)證書及其相應(yīng)的CRL重復(fù)上述過程。每個(gè)證書及其CRL可以隨著它們被接收而被處理,而不必等待證書鏈的其余部分以及它們的相應(yīng)CRL的接收。在上面討論的一些實(shí)施例中,希望被認(rèn)證的主機(jī)或?qū)嶓w將證書撤銷列表與將被認(rèn)證的證書一起呈遞到進(jìn)行認(rèn)證的實(shí)體。這些實(shí)施例允許無法從證書權(quán)威機(jī)構(gòu)獲取證書撤銷列表的非易失性存儲(chǔ)設(shè)備在認(rèn)證實(shí)體時(shí)利用更新的證書撤銷列表。然而,實(shí)施例依賴主機(jī)提供更新的證書撤銷列表,并且假定主機(jī)能夠從證書權(quán)威機(jī)構(gòu)獲取證書撤銷列表。如MP3播放器的未連接的主機(jī)可能無法獲取更新的證書撤銷列表以在認(rèn)證期間呈遞給非易失性存儲(chǔ)設(shè)備。結(jié)果,未連接的主機(jī)可能在認(rèn)證過程期間向非易失性存儲(chǔ)設(shè)備呈遞證書撤銷列表的較舊版本。在另一個(gè)實(shí)施例中,通過在將證書撤銷列表呈遞給非易失性存儲(chǔ)設(shè)備時(shí)存儲(chǔ)(高速緩存)證書撤銷列表的更新的版本來避免出現(xiàn)在這一問題。新制造的卡可以被編程為具有在制造期間最新的或者當(dāng)前的證書撤銷列表。然后,如果在認(rèn)證期間主機(jī)不提供高速緩存的撤銷列表,則非易失性存儲(chǔ)設(shè)備可以使用該高速緩存的撤銷列表。此外,當(dāng)主機(jī)設(shè)備呈遞從相同的權(quán)威機(jī)構(gòu)發(fā)行的證書撤銷列表的較舊版本時(shí),非易失性存儲(chǔ)設(shè)備可以使用其存儲(chǔ)的證書撤銷列表。非易失性存儲(chǔ)設(shè)備還可以在設(shè)法被認(rèn)證的主機(jī)或?qū)嶓w呈遞了更新的證書撤銷列表時(shí)不失時(shí)機(jī)地更新其證書撤銷列表。因而,在另一個(gè)實(shí)施例中,公開了用于確定證書是否被撤銷的方法和非易失性存儲(chǔ)設(shè)備。在本實(shí)施例中,非易失性存儲(chǔ)設(shè)備從主機(jī)接收用于嘗試向非易失性存儲(chǔ)設(shè)備認(rèn)證主機(jī)的證書。非易失性存儲(chǔ)設(shè)備包含證書撤銷列表并且可操作地耦接到主機(jī)。然后,非易失性存儲(chǔ)設(shè)備通過在證書撤銷列表中搜索對證書的引用確定證書是否被撤銷。在本實(shí)施例中,在非易失性存儲(chǔ)設(shè)備接收用于嘗試向非易失性存儲(chǔ)設(shè)備認(rèn)證主機(jī)的證書之前,證書撤銷列表被高速緩存并且是當(dāng)前的。如果搜索產(chǎn)生在證書撤銷列表中的對證書的引用,則所述主機(jī)的認(rèn)證嘗試被拒絕。如果非易失性存儲(chǔ)設(shè)備從主機(jī)接收證書撤銷列表,則非易失性存儲(chǔ)設(shè)備驗(yàn)證從主機(jī)接收的證書撤銷列表,并且確定接收到的證書撤銷列表是否比非易失性存儲(chǔ)設(shè)備中的當(dāng)前的證書撤銷列表更新。如果接收到的證書撤銷列表通過驗(yàn)證并且比非易失性存儲(chǔ)設(shè)備中的當(dāng)前的證書撤銷列表更新,則當(dāng)前的證書撤銷列表被替換為從主機(jī)接收的更新的證書撤銷列表,并且所述更新的證書撤銷列表被用于確定來自主機(jī)的證書是否被撤銷,以替代使用之前存儲(chǔ)在非易失性存儲(chǔ)設(shè)備中的當(dāng)前的證書撤銷列表。如果非易失性存儲(chǔ)設(shè)備從主機(jī)接收證書撤銷列表,并且非易失性存儲(chǔ)設(shè)備當(dāng)前未存儲(chǔ)來自進(jìn)行發(fā)行的權(quán)威機(jī)構(gòu)的證書撤銷列表,則如果接收到的證書撤銷列表被成功驗(yàn)證,則非易失性存儲(chǔ)設(shè)備存儲(chǔ)并使用該接收到的證書撤銷列表。證書撤銷列表可以存儲(chǔ)在非易失性存儲(chǔ)設(shè)備10的存儲(chǔ)器中,如存儲(chǔ)在專用于存儲(chǔ)證書撤銷列表的存儲(chǔ)器區(qū)域中。在一個(gè)實(shí)施例中,證書撤銷列表可以存儲(chǔ)在證書撤銷列表的數(shù)據(jù)庫中。所述存儲(chǔ)證書撤銷列表的數(shù)據(jù)庫、存儲(chǔ)器或存儲(chǔ)空間可以被保護(hù),以便例如避免未授權(quán)實(shí)體變更或刪除證書撤銷列表。利用目前一般描述的這些實(shí)施例,下面的段落提供能夠被使用的具體實(shí)施例。應(yīng)當(dāng)注意到,該實(shí)施例僅僅是例子,并且此處的細(xì)節(jié)不應(yīng)用于曲解權(quán)利要求,除非這些細(xì)節(jié)在權(quán)利要求中有明確敘述。在該特定實(shí)施例中,證書撤銷列表與訪問控制記錄(ACR)相關(guān)聯(lián)。當(dāng)使用ACR認(rèn)證實(shí)體時(shí),檢查關(guān)聯(lián)的證書撤銷列表以確定呈遞的證書是否已經(jīng)被撤銷。當(dāng)利用CRL的這樣的ACR被創(chuàng)建時(shí),初始CRL可以被接收并且與ACR相關(guān)聯(lián)。本實(shí)現(xiàn)方式將結(jié)合圖49進(jìn)行討論。圖49是圖示用于使用證書撤銷列表配置訪問控制記錄的示例性步驟4900的流程圖。示例性步驟4900可以是用以創(chuàng)建或配置新的ACR的過程的一部分??刂茝牟襟E4902開始??刂妻D(zhuǎn)到步驟4908,在那里,確定被創(chuàng)建的ACR是否將支持一個(gè)或多個(gè)高速緩存的CRL或者與一個(gè)或多個(gè)高速緩存的CRL相關(guān)聯(lián)。如果正在被創(chuàng)建的ACR將不支持高速緩存的CRL,則控制轉(zhuǎn)到步驟4904以完成ACR的創(chuàng)建和配置,然后在ACR被創(chuàng)建和配置之后轉(zhuǎn)到步驟4906。正在被創(chuàng)建的ACR將支持高速緩存的CRL,則控制從步驟4908轉(zhuǎn)到步驟4910,在步驟4910,從創(chuàng)建ACR的實(shí)體接收CRL數(shù)據(jù)。在步驟4912,將接收到的CRL數(shù)據(jù)高速緩存在高速緩存的CRL數(shù)據(jù)庫中??刂妻D(zhuǎn)到步驟4914,該步驟確定是否已經(jīng)接收了所有CRL數(shù)據(jù)。如果尚未接收到所有CRL數(shù)據(jù),則控制從步驟4914轉(zhuǎn)到步驟4910,并且重復(fù)步驟4910、4912和4914直到已經(jīng)接收到所有CRL數(shù)據(jù)。盡管步驟4910、4912和4914以區(qū)段為單位描述接收CRL數(shù)據(jù),但是可以以其他增量來接收CRL數(shù)據(jù),如比特、字節(jié)、字和長字。如果所有CRL數(shù)據(jù)都已被接收,則控制從步驟4914轉(zhuǎn)到步驟4916,在步驟4916將接收的CRL與ACR相關(guān)聯(lián)以作為高速緩存的CRL,并且被解析。然后控制轉(zhuǎn)到步驟4904以完成ACR的創(chuàng)建和配置,然后在ACR被創(chuàng)建和配置之后轉(zhuǎn)到步驟4906。盡管步驟4900示出將一個(gè)CRL與ACR相關(guān)聯(lián),但是用于證書鏈的多個(gè)CRL可以被接收、高速緩存和與ACR相關(guān)聯(lián)。圖50是圖示使用在非易失性存儲(chǔ)設(shè)備中高速緩存的或在認(rèn)證期間提供給設(shè)備的證書撤銷列表,向非易失存儲(chǔ)設(shè)備認(rèn)證的示例性步驟的流程圖。示例性步驟5000可以是通過非易失性存儲(chǔ)器設(shè)備認(rèn)證實(shí)體的一部分或者一方面??刂圃诓襟E5000開始,并且轉(zhuǎn)到步驟5004,在步驟5004,用于認(rèn)證的ACR或賬戶被檢查以確定它是否支持高速緩存的ACR或者與高速緩存的CRL相關(guān)聯(lián)。如果ACR未與高速緩存的CRL相關(guān)聯(lián),則控制轉(zhuǎn)到步驟5006。如果ACR未與高速緩存的CRL相關(guān)聯(lián),則尋求認(rèn)證的主機(jī)或者實(shí)體必須與證書一起提供CRL。步驟5006測試主機(jī)是否已經(jīng)提供了在處理證書時(shí)將被使用的CRL。如果主機(jī)尚未提供CRL,則控制轉(zhuǎn)到5008,并且認(rèn)證失敗,因?yàn)榉且资源鎯?chǔ)設(shè)備未被提供并且不能訪問CRL以確定證書是否仍然有效。如果主機(jī)已經(jīng)提供了CRL,則控制從步驟5006轉(zhuǎn)到步驟5010,在步驟5010,CRL被處理以確定證書是否已經(jīng)被撤銷。然后控制轉(zhuǎn)到步驟5012以繼續(xù)或者完成其他認(rèn)證過程。如果ACR被配置成支持高速緩存的CRL,則控制從步驟5004轉(zhuǎn)到步驟5014。步驟5014確定已經(jīng)從尋求認(rèn)證的主機(jī)接收了CRL首部。如果尚未從尋求認(rèn)證的主機(jī)接收到CRL首部,則控制轉(zhuǎn)到步驟5022,在步驟5022,非易失性存儲(chǔ)設(shè)備使用高速緩存的CRL(如果該CRL是可從證書權(quán)威機(jī)構(gòu)獲得的)驗(yàn)證主機(jī)呈遞的證書并且確定該證書是否已經(jīng)被撤銷。然后控制轉(zhuǎn)到步驟5012以繼續(xù)或者完成其他認(rèn)證處理。盡管圖中未示出,但是如果高速緩存的CRL不可獲得以供非易失性存儲(chǔ)設(shè)備使用,則認(rèn)證失敗。如果尋求認(rèn)證的主機(jī)已經(jīng)提供的CRL首部,則步驟5000必須確定非易失性存儲(chǔ)設(shè)備當(dāng)前是否存儲(chǔ)了來自相同證書權(quán)威機(jī)構(gòu)的CRL,并且如果存儲(chǔ)了,則確定高速緩存的CRL是否應(yīng)當(dāng)被用于認(rèn)證,因?yàn)樗戎鳈C(jī)嘗試呈遞的CRL更新。因而,控制從步驟5014轉(zhuǎn)到步驟5016。在步驟5016,CRL首部被解析以提取關(guān)于CRL的版本以及CRL的發(fā)行者的信息。在步驟5018,提取的CRL發(fā)行者信息被與高速緩存的CRL信息相比較,以確定來自相同的發(fā)行者(證書權(quán)威機(jī)構(gòu))的高速緩存的CRL是否與ACR相關(guān)聯(lián)。例如,ACR可以與多于一個(gè)CRL相關(guān)聯(lián)。當(dāng)ACR被創(chuàng)建時(shí),或者當(dāng)設(shè)備被制造時(shí),ACR應(yīng)當(dāng)具有由發(fā)行者X發(fā)行的高速緩存的CRL(或者根本沒有高速緩存的CRL)。當(dāng)非易失性存儲(chǔ)設(shè)備在應(yīng)用中時(shí),向ACR認(rèn)證的主機(jī)應(yīng)當(dāng)呈遞發(fā)行者Y發(fā)行的CRL。如本例中所應(yīng)用的,步驟5018將識(shí)別出ACR沒有由發(fā)行者Y發(fā)行的CRL,并且它將引導(dǎo)控制到步驟5024,從而可以從尋求認(rèn)證的主機(jī)接收來自發(fā)行者Y的CRL,并且如果該CRL通過驗(yàn)證且與ACR相關(guān)聯(lián),則該CRL被用于驗(yàn)證證書是否已經(jīng)被撤銷。如果非易失性存儲(chǔ)設(shè)備當(dāng)前存儲(chǔ)了來自與被呈遞以供認(rèn)證的證書相對應(yīng)的證書權(quán)威機(jī)構(gòu)的高速緩存的CRL,則控制轉(zhuǎn)到步驟5020,在步驟5020,將提取的CRL版本信息與高速緩存的CRL版本進(jìn)行比較,以確定被主機(jī)呈遞的CRL是否比高速緩存的CRL更新。如果主機(jī)呈遞的CRL比高速緩存的CRL更新,則控制轉(zhuǎn)到步驟5022,在步驟5022,非易失性存儲(chǔ)設(shè)備使用高速緩存的CRL來驗(yàn)證主機(jī)呈遞的證書,并且確定該證書是否已經(jīng)被撤銷,然后轉(zhuǎn)到步驟5012以繼續(xù)或者完成其他認(rèn)證處理。如果非易失性存儲(chǔ)設(shè)備當(dāng)前未存儲(chǔ)來自與被呈遞以供認(rèn)證的證書相對應(yīng)的證書權(quán)威機(jī)構(gòu)的高速緩存的CRL,則控制從步驟5018轉(zhuǎn)到步驟5024,從而可以從尋求認(rèn)證的主機(jī)接收CRL,并且如果該CRL通過驗(yàn)證,則該CRL被設(shè)置為新的高速緩存的CRL并被用于驗(yàn)證證書是否已經(jīng)被撤銷。類似地,如果主機(jī)提供的CRL的版本比高速緩存的版本更新,則控制轉(zhuǎn)到步驟5025以便嘗試用從主機(jī)接收的新的版本更新高速緩存的CRL。在步驟5024,從主機(jī)接收CRL數(shù)據(jù)。在步驟5026,將接收到的CRL數(shù)據(jù)高速緩存在高速緩存的CRL數(shù)據(jù)庫中??刂妻D(zhuǎn)到步驟5028,該步驟確定是否已經(jīng)接收了所有CRL數(shù)據(jù)。如果尚未接收到所有CRL數(shù)據(jù),則控制從步驟5028轉(zhuǎn)到步驟5024,并且重復(fù)步驟5024,5026和5028,直到所有CRL數(shù)據(jù)都被接收為止。當(dāng)從主機(jī)接收了所有CRL數(shù)據(jù),則控制轉(zhuǎn)到步驟5030,在該步驟,驗(yàn)證接收到的CRL的簽名以確定它是否是由證書的頒發(fā)者發(fā)行的。如果接收到的CRL是由證書的同一頒發(fā)者發(fā)行的,則控制轉(zhuǎn)到步驟5034,在該步驟,將在步驟5026接收并高速緩存的CRL與ACR相關(guān)聯(lián),并將其設(shè)置為新的高速緩存的CRL。然后,控制轉(zhuǎn)到步驟5022,在該步驟,非易失性存儲(chǔ)設(shè)備使用高速緩存的CRL驗(yàn)證主機(jī)呈遞的證書,并確定該證書是否已經(jīng)被撤銷,然后轉(zhuǎn)到步驟5012,以繼續(xù)或者完成其他認(rèn)證處理。如果在步驟5032CRL未通過驗(yàn)證,則控制轉(zhuǎn)到步驟5022,在步驟5022,非易失性存儲(chǔ)設(shè)備使用高速緩存的CRL(如果該CRL是可從證書權(quán)威機(jī)構(gòu)獲得的)驗(yàn)證主機(jī)呈遞的證書并且確定該證書是否已經(jīng)被撤銷。然后控制轉(zhuǎn)到步驟5012以繼續(xù)或者完成其他認(rèn)證處理。盡管圖中未示出,但是如果高速緩存的CRL不可獲得以供非易失性存儲(chǔ)設(shè)備使用,則認(rèn)證失敗。如上所述,SSA允許證書鏈。這意味著,被認(rèn)證的參與方的公鑰可以由不同于進(jìn)行認(rèn)證的參與方的證書權(quán)威機(jī)構(gòu)(CA)簽名。在這種情況下,被認(rèn)證的主機(jī)除了其自己的證書之外還將提供對其公鑰簽名的CA的證書。如果該第二級別證書仍然不被非易失性存儲(chǔ)設(shè)備所信任(未被與ACR相關(guān)聯(lián)的可信CA簽名),則可以提供第三級別證書。在一個(gè)實(shí)施例中,可以重復(fù)步驟5000,以允許非易失性存儲(chǔ)設(shè)備處理作為證書鏈的一部分由主機(jī)呈遞的每個(gè)證書。在本實(shí)施例中,鏈中的每個(gè)證書可以關(guān)聯(lián)分離的CRL,以用于確定該證書是否已經(jīng)被撤銷。非易失性存儲(chǔ)設(shè)備可以高速緩存與證據(jù)鏈中的每個(gè)證書相關(guān)聯(lián)的CRL的版本,并且可以根據(jù)圖5中示出的示例性步驟5000利用或者更新CRL。因而,在一個(gè)實(shí)施例中,帳戶或者ACR可以使用內(nèi)部高速緩存的CRL驗(yàn)證主機(jī)證書而不是使用主機(jī)發(fā)送的CRL驗(yàn)證主機(jī)證書。由于在認(rèn)證期間可以使用內(nèi)部高速緩存的CRL,所以在向ACR認(rèn)證期間,主機(jī)不是必須發(fā)送耦接到所呈遞的主機(jī)證書的CRL。非易失性存儲(chǔ)設(shè)備可以在制造時(shí)被編程為具有CRL(或者用于證書鏈的多個(gè)CRL),所述CRL標(biāo)識(shí)已經(jīng)被撤銷的證書。在制造之后,當(dāng)認(rèn)證主機(jī)時(shí),非易失性存儲(chǔ)設(shè)備可以被更新為具有遇到的更新的CRL。在一個(gè)實(shí)施例中,當(dāng)ACR被創(chuàng)建時(shí)可以實(shí)現(xiàn)內(nèi)部高速緩存的CRL的使用。在創(chuàng)建ACR期間,在非易失性存儲(chǔ)設(shè)備接收CRL或者用于主機(jī)證書鏈的多個(gè)CRL,所述CRL或多個(gè)CRL被高速緩存在非易失性存儲(chǔ)設(shè)備中,并且與ACR相關(guān)聯(lián)。當(dāng)主機(jī)發(fā)送CRL以嘗試向該ACR認(rèn)證時(shí),非易失性存儲(chǔ)設(shè)備將接收的CRL與先前高速緩存的CRL進(jìn)行比較。如果高速緩存的CRL版本比從主機(jī)接收的CRL新,則非易失性存儲(chǔ)設(shè)備將使用高速緩存的CRL來驗(yàn)證主機(jī)證書。如果從主機(jī)接收的CRL的版本比高速緩存的版本新,則非易失性存儲(chǔ)設(shè)備將驗(yàn)證接收到的CRL的簽名以確定它是否是證書的頒發(fā)者發(fā)行的。如果接收到的CRL是證書的同一頒發(fā)者發(fā)行的,則高速緩存的CRL被替換為新的CRL。然后非易失性存儲(chǔ)設(shè)備使用更新的撤銷證書列表驗(yàn)證主機(jī)未被撤銷。在一個(gè)實(shí)施例中,在卡驗(yàn)證證書本身之后,卡通過將證書序列號與CRL中的序列號列表進(jìn)行比較來確定主機(jī)未被撤銷。在主機(jī)的認(rèn)證期間,如果主機(jī)證書不具有在非易失性存儲(chǔ)設(shè)備中高速緩存的CRL,則非易失性存儲(chǔ)器可以使用由主機(jī)接收的CRL。如果用于高速緩存CRL的數(shù)據(jù)庫尚未充滿,則非易失性存儲(chǔ)器將高速緩存接收到的CRL以供將來使用。如果與證書相對應(yīng)的CRL未被高速緩存并且如果主機(jī)未提供CRL,則認(rèn)證失敗,因?yàn)闆]有可用于處理證書的CRL。例如,在認(rèn)證期間,在發(fā)送證書之后,主機(jī)可以向非易失性存儲(chǔ)設(shè)備發(fā)送CRL或者發(fā)送鏈中的下一個(gè)證書。在后一種情況中,非易失性存儲(chǔ)設(shè)備將使用高速緩存的CRL驗(yàn)證第一個(gè)證書。如果沒有證書的頒發(fā)者的CRL被高速緩存,則認(rèn)證失敗。因而,當(dāng)制造新的非易失性存儲(chǔ)設(shè)備時(shí),可以將更新的證書撤銷列表存儲(chǔ)在設(shè)備中。CRL可以識(shí)別不在可信的應(yīng)用中的主機(jī),從而識(shí)別在制造非易失性存儲(chǔ)設(shè)備之前其證書已經(jīng)被撤銷的主機(jī)。在本實(shí)施例中,主機(jī)不是必須向非易失性存儲(chǔ)設(shè)備發(fā)送證書撤銷列表,因?yàn)榉且资源鎯?chǔ)設(shè)備可以通過檢查其高速緩存的證書撤銷列表來驗(yàn)證主機(jī)的證書是否被撤銷。向非易失性存儲(chǔ)設(shè)備傳送CRL可以延長該認(rèn)證。因而,使用高速緩存的CRL可以縮短認(rèn)證過程。然而,隨著時(shí)間過去,證書權(quán)威機(jī)構(gòu)可以更新CRL,因而高速緩存的CRL可能隨著時(shí)間而變得過時(shí)并且被廢棄。如果主機(jī)嘗試使用更新版本的CRL向非易失性存儲(chǔ)設(shè)備認(rèn)證,非易失性存儲(chǔ)設(shè)備可以不失時(shí)機(jī)地更新高速緩存的CRL。一些尋求訪問非易失性存儲(chǔ)器的主機(jī)可以能夠連接到證書頒發(fā)權(quán)威機(jī)構(gòu)(通過有線或無線連接)并且獲得更新的CRL以在認(rèn)證期間呈遞。如果這樣連接的主機(jī)在嘗試向非易失性存儲(chǔ)設(shè)備認(rèn)證時(shí)提供更新的CRLJlJ非易失性存儲(chǔ)設(shè)備能夠高速緩存更新的CRL并且在將來利用它。使用這個(gè)過程不失時(shí)機(jī)地更新CRL能夠有效地作為更新CRL的病毒(viral)分發(fā)機(jī)制。例如,非易失性存儲(chǔ)設(shè)備可以可操作地連接到MP3播放器。在該例子中,MP3播放器沒有例如通過經(jīng)由有線或無線連接連接到證書權(quán)威機(jī)構(gòu)以訪問更新的證書撤銷列表的能力。因而,MP3播放器在每次嘗試訪問非易失性存儲(chǔ)設(shè)備時(shí)呈遞相同的證書和證書撤銷列表。隨著時(shí)間的過去,當(dāng)證書權(quán)威機(jī)構(gòu)更新其列表時(shí),MP3播放器呈遞的證書撤銷列表可能變得過時(shí)。只要非易失性存儲(chǔ)設(shè)備僅僅可操作地耦接到MP3播放器,其高速緩存的CRL副本將與MP3播放器所呈遞的CRL版本相同。因而,高速緩存的CRL也將隨著時(shí)間而變得過時(shí)。過些時(shí)候,如果非易失性存儲(chǔ)設(shè)備可操作地耦接到能夠接收更新的CRL的設(shè)備,則非易失性存儲(chǔ)設(shè)備可以不失時(shí)機(jī)地接收CRL的“病毒”更新。例如,如果非易失性存儲(chǔ)設(shè)備被從MP3播放器去除并且可操作地耦接到蜂窩電話,該蜂窩電話可以嘗試向該非易失性存儲(chǔ)設(shè)備認(rèn)證以便訪問存儲(chǔ)在該設(shè)備中的內(nèi)容。蜂窩電話可以從證書權(quán)威機(jī)構(gòu)請求更新的證書撤銷列表。更新的證書撤銷列表對應(yīng)于蜂窩電話打算使用以便訪問所述內(nèi)容的證書。蜂窩電話可以通過有線或無線連接接收更新的證書撤銷列表。當(dāng)蜂窩電話將更新的證書撤銷列表與證書一起呈遞以便向非易失性存儲(chǔ)設(shè)備認(rèn)證它自己并且獲得對所存儲(chǔ)內(nèi)容的訪問時(shí),非易失性存儲(chǔ)設(shè)備將用從蜂窩電話接收的副本更新其高速緩存的證書撤銷列表。通過這種方式,諸如蜂窩電話、個(gè)人計(jì)算機(jī)和互聯(lián)網(wǎng)設(shè)備的連接設(shè)備可以被用于向非易失性存儲(chǔ)設(shè)備分發(fā)證書撤銷列表,該非易失性存儲(chǔ)設(shè)備可能不具有接觸證書權(quán)威機(jī)構(gòu)并且獨(dú)立接收更新的證書撤銷列表的獨(dú)立的能力。身份對象(IdentityObject,IDO)身份對象是被設(shè)計(jì)為允許諸如快閃存儲(chǔ)卡的存儲(chǔ)器設(shè)備10存儲(chǔ)RSA秘鑰對或其他類型的密碼ID的受保護(hù)對象。身份對象包括能夠用于簽名和驗(yàn)證身份以及加密和解密數(shù)據(jù)的任意類型的密碼ID。身份對象也包括證明密鑰對中的公鑰是真實(shí)的、來自CA的證書(或來自多個(gè)CA的證書鏈)。身份對象可以被用于提供外部實(shí)體或內(nèi)部卡實(shí)體(即,設(shè)備自身、內(nèi)部應(yīng)用等,被稱為身份對象的所有者)的身份的證據(jù)。因此,卡不使用RSA密鑰對或其他類型的密碼ID來通過挑戰(zhàn)響應(yīng)機(jī)制而認(rèn)證主機(jī),而是通過對提供給其的數(shù)據(jù)流簽名而作為識(shí)別(identification)的證據(jù)。換句話說,身份對象包括其所有者的密碼ID。為了訪問身份對象中的密碼ID,主機(jī)將首先需要被認(rèn)證。如下所述,借助于ACR來控制認(rèn)證過程。在主機(jī)已被成功認(rèn)證之后,密碼ID可以由身份對象所有者使用來對于另一方建立所有者的身份。例如,密碼ID(例如公鑰-私鑰對的私鑰)可以被用于對由其他方通過主機(jī)呈現(xiàn)的數(shù)據(jù)進(jìn)行簽名。簽名數(shù)據(jù)和身份對象中的證書以身份對象所有者的名義被呈現(xiàn)給其他方。證書中的公鑰-私鑰對的公鑰由CA(即,可信機(jī)構(gòu))證明是真實(shí)的,從而其他方能夠信任該公鑰是真實(shí)的。然后,其他方可以使用證書中的公鑰來對簽名數(shù)據(jù)進(jìn)行解密,并且將解密的數(shù)據(jù)與其他方發(fā)送的數(shù)據(jù)進(jìn)行比較。如果解密的數(shù)據(jù)與其他方發(fā)送的數(shù)據(jù)匹配,則表示身份對象的所有者的確具有對真實(shí)私鑰的訪問權(quán),并因此是確實(shí)是其要代表的實(shí)體。身份對象的第二種用途是使用諸如其自己的RSA密鑰的密碼ID來保護(hù)被指派到IDO的所有者的數(shù)據(jù)。期望使用IDO公鑰來對數(shù)據(jù)進(jìn)行加密。諸如存儲(chǔ)卡的存儲(chǔ)器設(shè)備10將使用私鑰來對數(shù)據(jù)進(jìn)行解密。IDO是能夠?yàn)槿魏晤愋偷腁CR創(chuàng)建的對象。在一個(gè)實(shí)施例中,ACR可以僅具有一個(gè)IDO對象。數(shù)據(jù)簽名和保護(hù)特征二者是SSA系統(tǒng)提供給能夠向ACR認(rèn)證的任何實(shí)體的服務(wù)。IDO的保護(hù)級別與ACR的登錄認(rèn)證方案一樣高。可以為應(yīng)該具有IDO的ACR選擇任意認(rèn)證算法。這取決于創(chuàng)建者(主機(jī))來決定并評估哪個(gè)算法能夠更好地保護(hù)IDO使用。具有IDO的ACR響應(yīng)于獲得IDO公鑰的命令而提供其證書鏈。當(dāng)IDO正用于數(shù)據(jù)保護(hù)時(shí),從卡中輸出的解密的數(shù)據(jù)可能需要進(jìn)一步的保護(hù)。在這種情況下,鼓勵(lì)主機(jī)使用通過可用認(rèn)證算法中的任何一個(gè)而建立的安全通道。當(dāng)創(chuàng)建IDO時(shí),選擇密鑰長度以及PKCS#1版本。在一個(gè)實(shí)施例中,公鑰和私鑰使用如在PKCS#lv2.I中定義的(指數(shù),模數(shù))表示法。在一個(gè)實(shí)施例中,在IDO的創(chuàng)建期間包括的數(shù)據(jù)是依照所選長度的RSA密鑰對以及遞歸證明公鑰的真實(shí)性的證書鏈。擁有IDO的ACR將允許對用戶數(shù)據(jù)簽名。這通過兩個(gè)SSA命令來進(jìn)行設(shè)置用戶數(shù)據(jù)提供要被簽名的自由格式數(shù)據(jù)緩沖器。獲得SSA簽名??▽⑻峁㏑SA簽名(使用ACR私鑰)。依賴于對象類型,可以根據(jù)PKCS#1V1.5或V2.I來設(shè)置簽名的格式和大小。在圖35-圖37中示出了使用IDO的操作,其中存儲(chǔ)器設(shè)備10是快閃存儲(chǔ)卡,且該卡是IDO的所有者。圖35圖示由卡對發(fā)送到主機(jī)的數(shù)據(jù)進(jìn)行簽名中執(zhí)行的過程。參考圖35,在主機(jī)被認(rèn)證(塊802)(如在上述樹狀結(jié)構(gòu)的節(jié)點(diǎn)處受ACR的控制的)之后,卡等待主機(jī)對于證書的請求(菱形804)。在接收到請求之后,卡發(fā)送證書并返回菱形804以等待下一個(gè)主機(jī)請求(塊806)。如果需要發(fā)送證書鏈以證明卡所擁有的IDO的公鑰,則重復(fù)上述動(dòng)作直到已向主機(jī)發(fā)送了鏈中的所有證書為止。在已向主機(jī)發(fā)送了每個(gè)證書之后,卡等待來自主機(jī)的其他命令(菱形808)。如果在預(yù)設(shè)時(shí)間段之內(nèi)沒有從主機(jī)接收到命令,則卡返回到菱形804。在從主機(jī)接收到數(shù)據(jù)和命令時(shí),卡進(jìn)行檢查以查看命令是否用于對數(shù)據(jù)進(jìn)行簽名(菱形810)如果命令用于對數(shù)據(jù)進(jìn)行簽名,則卡利用IDO中的私鑰對數(shù)據(jù)進(jìn)行簽名,然后向主機(jī)發(fā)送簽名數(shù)據(jù)(塊812)并返回菱形804。如果來自主機(jī)的命令不是用于對來自主機(jī)的數(shù)據(jù)進(jìn)行簽名,則卡使用IDO中的私鑰解密所接收的數(shù)據(jù)(塊814),并返回菱形804。圖36圖示在卡對要發(fā)送到主機(jī)的數(shù)據(jù)進(jìn)行簽名中由主機(jī)執(zhí)行的過程。參考圖36,主機(jī)向卡發(fā)送認(rèn)證信息(塊822)。在成功認(rèn)證(如在上述樹狀結(jié)構(gòu)的節(jié)點(diǎn)處受ACR的控制的)之后,主機(jī)向卡發(fā)送對于證書鏈的請求并接收該鏈(塊824)。在已驗(yàn)證了卡的公鑰之后,主機(jī)向卡發(fā)送用于簽名的數(shù)據(jù)并接收通過卡的私鑰而簽名的數(shù)據(jù)(塊826)。圖37示出當(dāng)主機(jī)使用卡的公鑰來加密數(shù)據(jù)并向卡發(fā)送加密的數(shù)據(jù)時(shí)由主機(jī)執(zhí)行的過程。參考圖37,主機(jī)向卡發(fā)送認(rèn)證信息(塊862)。在如受到ACR的控制而成功執(zhí)行認(rèn)證之后,主機(jī)向卡發(fā)送對于需要其來驗(yàn)證IDO中的卡的公鑰的證書鏈的請求(塊864),并向卡發(fā)送對于數(shù)據(jù)的請求。在已驗(yàn)證了IDO中的卡的公鑰之后,主機(jī)使用卡的經(jīng)驗(yàn)證的公鑰來對來自卡的數(shù)據(jù)進(jìn)行加密并將其發(fā)送到卡(塊866、868)。查詢主機(jī)和應(yīng)用需要持有(posses)關(guān)于它們正與其一起工作的存儲(chǔ)器設(shè)備或卡的一些信息,以執(zhí)行系統(tǒng)操作。例如,主機(jī)和應(yīng)用可能需要知道存儲(chǔ)在存儲(chǔ)卡中的哪些應(yīng)用可被用于調(diào)用(invocation)。主機(jī)所需的信息有時(shí)并非公共知識(shí),這意味著并不是每個(gè)人都具有持有它的權(quán)限。因此,為了在授權(quán)和未授權(quán)用戶之間進(jìn)行區(qū)分,存在對于提供能夠由主機(jī)使用的兩種查詢方法的需要。一般信息查詢該查詢發(fā)表系統(tǒng)公用信息而不受限制。存儲(chǔ)在存儲(chǔ)器設(shè)備中的機(jī)密(confidential)信息包括兩個(gè)部分共享部分和非共享部分。機(jī)密信息的一部分包括可能專屬于各個(gè)實(shí)體的信息,從而每個(gè)實(shí)體應(yīng)當(dāng)被允許僅訪問他或她自己的專屬信息而不能訪問他人的專屬機(jī)密信息。這類機(jī)密信息不是共享的,并且形成機(jī)密信息的非共享部或部分。通常被認(rèn)為是公開的一些信息在某些情況下可以被當(dāng)作是機(jī)密的,諸如駐留于卡中的應(yīng)用的名稱和它們的生命周期狀態(tài)。對此的另一例子可以是根ACR名稱,它們被認(rèn)為是公開的,但是對于一些SSA用例可能是機(jī)密的。對于這些情況,系統(tǒng)應(yīng)當(dāng)提供選項(xiàng)以保持響應(yīng)于一般信息查詢而該信息僅可用于所有經(jīng)認(rèn)證的用戶而不是未經(jīng)認(rèn)證的用戶。這樣的信息構(gòu)成機(jī)密信息的共享部分。機(jī)密信息的共享部分的例子可以包括根ACR列表一在設(shè)備上當(dāng)前存在的所有根ACR的列表。通過一般信息查詢來訪問公用信息不需要主機(jī)/用戶登錄ACR。因而,對SSA標(biāo)準(zhǔn)有豐富知識(shí)的任何人能夠執(zhí)行并接收信息。在SSA術(shù)語中,處理該查詢命令而無需會(huì)話號。然而,如果希望由實(shí)體來訪問機(jī)密信息的共享部分,則實(shí)體需要首先通過任一控制結(jié)構(gòu)(例如,任一ACR)被認(rèn)證,所述控制結(jié)構(gòu)控制對存儲(chǔ)器設(shè)備中的數(shù)據(jù)的訪問。在成功認(rèn)證之后,實(shí)體將能夠通過一般信息查詢來訪問機(jī)密信息的共享部分。如上所解釋的。認(rèn)證過程將導(dǎo)致用于訪問的SSA會(huì)話號或id。謹(jǐn)慎信息查詢關(guān)于各個(gè)ACR以及它們的系統(tǒng)訪問和資源(asset)的私有信息被認(rèn)為是謹(jǐn)慎的,并需要明確認(rèn)證。因此,這類查詢在接收關(guān)于信息查詢的授權(quán)之前要求ACR登錄和認(rèn)證(如果認(rèn)證是由ACR規(guī)定的)。該查詢需要SSA會(huì)話號。在詳細(xì)描述兩類查詢之前,首先描述作為用于實(shí)施查詢的實(shí)際方案的索引組(indexgroup)的概念是有幫助的。索引組在潛在SSA主機(jī)上運(yùn)行的應(yīng)用被主機(jī)和系統(tǒng)驅(qū)動(dòng)上的操作系統(tǒng)(OS)所請求,以指定意欲讀取的扇區(qū)的號碼。這進(jìn)而意味著主機(jī)應(yīng)用需要知道對于每個(gè)SSA讀取操作需要讀取多少個(gè)扇區(qū)。因?yàn)椴樵儾僮鞯谋举|(zhì)是向請求它的人提供其通常不知道的信息,所以主機(jī)應(yīng)用很難發(fā)行查詢并且猜測該操作所需的扇區(qū)量。為解決該問題,SSA查詢輸出緩沖器每個(gè)查詢請求僅包括一個(gè)扇區(qū)(512個(gè)字節(jié))。按所謂的索引組來組織作為輸出信息部分的對象。每個(gè)類型的對象可以具有不同的字節(jié)大小,該不同的字節(jié)大小解釋(accountfor)可能適合于單個(gè)扇區(qū)的對象的數(shù)量。這定義了該對象的索引組。如果一個(gè)對象具有20字節(jié)的大小,則關(guān)于該對象的索引組將包含最多25個(gè)對象。如果存在總共56個(gè)這樣的對象,則它們將被組織到3個(gè)索引組中,其中對象“O”(第一對象)將開始第一索引組,對象“25”將開始第二索引組,且對象“50”將開始第三、SP最后的索引組。系統(tǒng)查詢(一般信息查詢)該查詢提供關(guān)于設(shè)備和當(dāng)前系統(tǒng)以及在設(shè)備上運(yùn)行的應(yīng)用中的所支持的SSA的一般公用信息,所述當(dāng)前系統(tǒng)被建立為類似于不同的樹。與下面描述的ACR查詢(謹(jǐn)慎查詢)類似,系統(tǒng)查詢被構(gòu)造為給出幾個(gè)查詢選項(xiàng)一般-SSA支持的版本,·SSA應(yīng)用-在設(shè)備上當(dāng)前存在的所有SSA應(yīng)用的列表,包括它們的運(yùn)行狀態(tài)在內(nèi)。上面列出的信息是公用信息。當(dāng)利用ACR查詢時(shí),為了摒棄需要主機(jī)知道對于查詢輸出緩沖器要讀取多少個(gè)扇區(qū),在仍然使得主機(jī)能夠進(jìn)一步查詢額外索引組的同時(shí)存在從設(shè)備發(fā)送回的一個(gè)扇區(qū)。因此,如果根ACR對象的數(shù)量超過關(guān)于索引組“O”的輸出緩沖器大小的數(shù)量,則主機(jī)能夠利用之后的索引組(“I”)來發(fā)送另一查詢請求。ACR查詢(謹(jǐn)慎信息查詢)SSAACR查詢命令意欲向ACR用戶提供關(guān)于ACR的系統(tǒng)資源的信息,比如密鑰和應(yīng)用ID、分區(qū)和子代ACR。查詢信息僅僅關(guān)于注冊ACR而不涉及系統(tǒng)樹上的其他ACR。換句話說,訪問僅限于機(jī)密信息中在所涉及的ACR的許可下可被訪問的部分。存在用戶能夠查詢的三個(gè)不同的ACR對象分區(qū)-名稱和訪問權(quán)限(所有者,讀取,寫入),密鑰ID和應(yīng)用ID-名稱和訪問權(quán)限(所有者,讀取,寫入),·子代ACR-ACR和直接子代ACR的AGP名稱,·IDO和安全數(shù)據(jù)對象(下面描述)-名稱和訪問權(quán)限(所有者,讀取,寫入)因?yàn)榕cACR連接的對象的數(shù)量可以變化,并且信息可能多于512個(gè)字節(jié)——一個(gè)扇區(qū)。如若提前不知道對象的數(shù)量,用戶則無法知道需要從設(shè)備的系統(tǒng)中讀取多少個(gè)扇區(qū)以得到完整列表。因此,與上述系統(tǒng)查詢的情況類似地,由SSA系統(tǒng)提供的每個(gè)對象列表被劃分為索引組。索引組是適合于扇區(qū)的對象的數(shù)量,即在來自設(shè)備的SSA系統(tǒng)中的一個(gè)扇區(qū)內(nèi)能夠向主機(jī)發(fā)送多少個(gè)對象。這使得設(shè)備中的SSA系統(tǒng)發(fā)送一個(gè)扇區(qū)的所請求的索引組。主機(jī)/用戶將接收所查詢的對象的緩沖器和緩沖器內(nèi)的對象的數(shù)量。如果緩沖器滿,則用戶可以查詢下一對象索引組。圖38是圖示關(guān)于包括一般信息查詢的操作的流程圖。參考圖38,當(dāng)SSA系統(tǒng)從實(shí)體接收一般信息查詢時(shí)(塊902),系統(tǒng)確定實(shí)體是否已被認(rèn)證(菱形904)。如果其已被認(rèn)證,則系統(tǒng)向該實(shí)體提供公用信息和機(jī)密信息的共享部分(塊906)。如果其未被認(rèn)證,則系統(tǒng)僅向該實(shí)體提供公用信息(塊908)。圖39是圖示關(guān)于包括謹(jǐn)慎信息查詢的操作的流程圖。參考圖39,當(dāng)SSA系統(tǒng)從實(shí)體接收謹(jǐn)慎信息查詢時(shí)(塊922),系統(tǒng)確定實(shí)體是否已被認(rèn)證(菱形924)。如果其已被認(rèn)證,則系統(tǒng)向該實(shí)體提供機(jī)密信息(塊926)。如果其未被認(rèn)證,則系統(tǒng)拒絕該實(shí)體對機(jī)密信息的訪問(塊928)。特征集擴(kuò)展(featuresetextension,FSE)在許多情況中,在卡上SSA內(nèi)運(yùn)行數(shù)據(jù)處理活動(dòng)(例如,DRM許可證對象確認(rèn)(validation))非常有利。相對于其中在主機(jī)上執(zhí)行所有的數(shù)據(jù)處理任務(wù)的替代方案相比,結(jié)果得到的系統(tǒng)更安全、更有效率且更不依賴于主機(jī)。SSA安全系統(tǒng)包括認(rèn)證算法和授權(quán)策略的集合,授權(quán)策略被設(shè)計(jì)為控制隊(duì)由存儲(chǔ)卡存儲(chǔ)、管理和保護(hù)的對象的訪問、使用和收集。一旦主機(jī)獲得訪問,則主機(jī)將對存儲(chǔ)在存儲(chǔ)卡中的數(shù)據(jù)執(zhí)行處理,其中由SSA來控制對存儲(chǔ)器設(shè)備的訪問。然而,假設(shè)數(shù)據(jù)本質(zhì)上是非常特定于應(yīng)用的,因此在SSA中既不定義數(shù)據(jù)格式也不定義數(shù)據(jù)處理,SSA不處理存儲(chǔ)在設(shè)備上的數(shù)據(jù)。本發(fā)明的一個(gè)實(shí)施例基于認(rèn)識(shí)到SSA系統(tǒng)能夠被增強(qiáng)來允許主機(jī)在存儲(chǔ)卡中執(zhí)行通常由主機(jī)執(zhí)行的一些功能。因此,主機(jī)的一些軟件功能可以被分裂為兩部分一部分仍然由主機(jī)來執(zhí)行,而另一部分現(xiàn)在由卡來執(zhí)行。對于許多應(yīng)用來說,這增強(qiáng)了數(shù)據(jù)處理的安全性和效率。為此目的,可以添加被公知為FSE的機(jī)制以增強(qiáng)SSA的能力。以此方式由卡執(zhí)行的FSE中的主機(jī)應(yīng)用這里也被稱為內(nèi)部應(yīng)用、或設(shè)備內(nèi)部應(yīng)用。增強(qiáng)SSA系統(tǒng)提供一種擴(kuò)展基礎(chǔ)SSA命令集的機(jī)制,其通過引入卡應(yīng)用而提供卡的認(rèn)證和訪問控制。假設(shè)卡應(yīng)用實(shí)現(xiàn)除SSA的服務(wù)之外的服務(wù)(例如,DRM方案、電子商務(wù)事務(wù))。SSA特征集擴(kuò)展(FSE)是被設(shè)計(jì)為利用能夠是專屬的數(shù)據(jù)處理軟件/硬件模塊來改進(jìn)標(biāo)準(zhǔn)SSA安全系統(tǒng)的機(jī)制。除了使用上述查詢能夠獲得的信息之外,由SSAFSE系統(tǒng)定義的服務(wù)使得主機(jī)設(shè)備能夠向卡查詢可用應(yīng)用、選擇特定應(yīng)用并與其通信。上述的一般和謹(jǐn)慎查詢可以用于該目的。利用兩種方法來擴(kuò)展SSAFSE中的卡特征集提供服務(wù)-通過允許授權(quán)實(shí)體使用命令通道來與內(nèi)部應(yīng)用直接通信而使能該特征,其中命令通道被公知為通信管道并能夠是專屬的?!SA標(biāo)準(zhǔn)訪問控制策略的擴(kuò)展-通過將內(nèi)部保護(hù)的數(shù)據(jù)對象(例如下面描述的CEK、安全數(shù)據(jù)對象或SD0)與內(nèi)部卡應(yīng)用相關(guān)聯(lián)來使能該特征。無論何時(shí)訪問這樣的對象,如果滿足所定義的標(biāo)準(zhǔn)SSA策略,則調(diào)用相關(guān)聯(lián)的應(yīng)用從而除了標(biāo)準(zhǔn)SSA策略之外施加至少一個(gè)條件。優(yōu)選地,該條件將不與標(biāo)準(zhǔn)SSA策略沖突。僅當(dāng)也滿足該附加條件時(shí)才準(zhǔn)許訪問。在進(jìn)一步詳述FSE的能力之前,現(xiàn)在將關(guān)注FSE以及通信管道和SDO的架構(gòu)方面。SSM模塊和相關(guān)模塊圖40A是連接到主機(jī)設(shè)備24的存儲(chǔ)器設(shè)備10(如快閃存儲(chǔ)卡)中的系統(tǒng)架構(gòu)1000的功能框圖,用以圖示本發(fā)明的實(shí)施例???0的存儲(chǔ)器設(shè)備中的軟件模塊的主要組件如下。SSA傳輸層1002SSA傳輸層依賴于卡協(xié)議。其在卡10的協(xié)議層處理主機(jī)側(cè)SSA請求(命令),并且然后將它們中繼到SSMAPI。在該模塊中進(jìn)行所有的主機(jī)-卡同步以及SSA命令識(shí)別。傳輸層也負(fù)責(zé)主機(jī)24與卡10之間的所有SSA數(shù)據(jù)傳遞。安全服務(wù)模塊核心(SSM核心)1004該模塊是SSA實(shí)施方式的重要部分。SSM核心實(shí)現(xiàn)SSA架構(gòu)。更具體地,SSM核心實(shí)現(xiàn)SSA樹和ACR系統(tǒng)以及組成系統(tǒng)的所有上述對應(yīng)規(guī)則。SSM核心模塊使用密碼庫1012來支持SSA安全性和密碼特征,諸如加密、解密和散列。SSM核心API1006這是其中主機(jī)和內(nèi)部應(yīng)用將與SSM核心相接口以執(zhí)行SSA操作的層。如圖40A中所示,主機(jī)24和內(nèi)部設(shè)備應(yīng)用1010二者將使用同一API。安全應(yīng)用管理器模塊(SAMM)1008SAMM并非SSA系統(tǒng)的一部分,但是其是控制與SSA系統(tǒng)相接口的內(nèi)部設(shè)備應(yīng)用的卡中的重要模塊。SAMM管理所有內(nèi)部設(shè)備運(yùn)行應(yīng)用,包括I.應(yīng)用生命周期監(jiān)視和控制,2.應(yīng)用初始化,3.應(yīng)用/主機(jī)/SSM接口。設(shè)備內(nèi)部應(yīng)用1010這些是被批準(zhǔn)在卡側(cè)運(yùn)行的應(yīng)用。它們由SAMM來管理,并可以訪問SSA系統(tǒng)。SSM核心也提供主機(jī)側(cè)應(yīng)用與內(nèi)部應(yīng)用之間的通信管道。關(guān)于這樣的內(nèi)部運(yùn)行應(yīng)用的例子是DRM應(yīng)用和一次性口令(onetimepassword,OTP)應(yīng)用,如下面將解釋的。設(shè)備管理系統(tǒng)(DMS)1011這是包含被需要來以后裝運(yùn)(postshipment)(通常被稱為后發(fā)行)模式更新卡的系統(tǒng)和應(yīng)用固件以及添加/去除服務(wù)的處理和協(xié)議的模塊。圖40B是SSM核心1004的內(nèi)部軟件模塊的功能框圖。如圖40B中所示,核心1004包括SSA命令處理器1022。在源自主機(jī)或源自設(shè)備內(nèi)部應(yīng)用1010的SSA命令被傳遞到SSA管理器1024之前,處理器1022解析該命令。諸如AGP和ACR的所有SSA安全性數(shù)據(jù)結(jié)構(gòu)以及所有SSA規(guī)則和策略被存儲(chǔ)在SSA數(shù)據(jù)庫1026中。SSA管理器1024通過存儲(chǔ)在數(shù)據(jù)庫1026中的ACR和AGP以及其他控制結(jié)構(gòu)來實(shí)現(xiàn)所施加的控制。諸如IDO的其他對象以及安全數(shù)據(jù)對象也被存儲(chǔ)在SSA數(shù)據(jù)庫1026中。SSA管理器1024通過存儲(chǔ)在數(shù)據(jù)庫1026中的ACR和AGP以及其他控制結(jié)構(gòu)來實(shí)現(xiàn)所施加的控制。由SSA非安全操作模塊1028來處理不涉及SSA的非安全操作。由SSA安全操作模塊1030來處理SSA架構(gòu)下的安全操作。1034是將模塊1026和1028連接到圖I中的快閃存儲(chǔ)器20的層。通信(或貫穿(Pass-Through))管道貫穿管道對象使得被授權(quán)的主機(jī)側(cè)實(shí)體能夠與內(nèi)部應(yīng)用通信,如由SSM核心和SAMM控制的。通過SEND(發(fā)送)和RECEIVE(接收)命令(下面定義)來執(zhí)行主機(jī)與內(nèi)部應(yīng)用之間的數(shù)據(jù)傳遞。實(shí)際的命令是應(yīng)用特定的。創(chuàng)建管道的實(shí)體(ACR)將需要提供管道名稱和其要對其開啟通道的應(yīng)用的ID。如與所有其他的保護(hù)對象一樣,該ACR變?yōu)槠渌姓卟⒈辉试S根據(jù)標(biāo)準(zhǔn)授予規(guī)則和約束向其他ACR授予使用權(quán)限以及所有權(quán)。如果在其ACAM內(nèi)設(shè)置CREATEPIPEPermission(創(chuàng)建管道許可),則認(rèn)證實(shí)體將被允許創(chuàng)建管道對象。僅當(dāng)在其PCR內(nèi)設(shè)置WritePipePermission(寫入管道許可)或ReadPipePermission(讀取管道許可)時(shí),才允許與內(nèi)部應(yīng)用的通信。僅當(dāng)實(shí)體是管道所有者或在其PCR內(nèi)設(shè)置Delegate(授予)訪問權(quán)限時(shí)才允許所有權(quán)和訪問權(quán)限授予。優(yōu)選地,與所有其他許可一樣,當(dāng)向另一ACR授予所有權(quán)權(quán)限時(shí),原始所有者將被剝奪其對于該設(shè)備應(yīng)用的所有許可。優(yōu)選地,對于特定應(yīng)用僅創(chuàng)建一個(gè)通信管道。優(yōu)選地,SSM系統(tǒng)1000將拒絕用于創(chuàng)建第二個(gè)管道并將其與已連接的應(yīng)用相連接的企圖。因而,優(yōu)選地,在一個(gè)設(shè)備內(nèi)部應(yīng)用1010與通信管道之間存在一對一的關(guān)系。然而,多個(gè)ACR可以與一個(gè)設(shè)備內(nèi)部應(yīng)用通信(經(jīng)由授予機(jī)制)。單個(gè)ACR可以與幾個(gè)設(shè)備應(yīng)用通信(經(jīng)由授予或連接到不同應(yīng)用的多個(gè)管道的所有權(quán))。優(yōu)選地,控制不同管道的ACR位于完全分離的樹的節(jié)點(diǎn)中,以使得在通信管道之間不存在串?dāng)_。使用下面的命令來在主機(jī)與特定應(yīng)用之間傳遞數(shù)據(jù)。·WRITEPASSTHROUGH(寫入貫穿)-將從主機(jī)向設(shè)備內(nèi)部應(yīng)用傳遞未格式化的數(shù)據(jù)緩沖器?!EADPASSTHROUGH(讀取貫穿)_將從主機(jī)向設(shè)備內(nèi)部應(yīng)用傳遞未格式化的數(shù)據(jù)緩沖器,并且一旦內(nèi)部處理完成,則將向主機(jī)輸回未格式化的數(shù)據(jù)緩沖器。寫入和讀取貫穿命令提供主機(jī)希望與其通信的設(shè)備內(nèi)部應(yīng)用1008的ID作為參數(shù)。實(shí)體許可將被使得有效,并且如果請求實(shí)體(即,托管該實(shí)體正使用的會(huì)話的ACR)具有使用連接到所請求的應(yīng)用的管道的許可,則將解釋數(shù)據(jù)緩沖器且執(zhí)行命令。該通信方法允許主機(jī)應(yīng)用通過SSAACR會(huì)話通道向內(nèi)部設(shè)備應(yīng)用傳遞供應(yīng)商(vendor)/專用特定命令。安全數(shù)據(jù)對象(SDO)能夠結(jié)合FSE來采用的一個(gè)有用對象是SD0。SDO充當(dāng)用于敏感信息的安全存儲(chǔ)的通用容器。與CEK對象類似,其由ACR所擁有,并且可以在ACR之間授予訪問權(quán)限和所有權(quán)。它包含根據(jù)預(yù)定義的策略約束而保護(hù)和使用的數(shù)據(jù),并且可選地具有到設(shè)備內(nèi)部應(yīng)用1008的鏈接。優(yōu)選地,不由SSA系統(tǒng)來使用和解釋敏感數(shù)據(jù),而是由對象的所有者和用戶來使用和解釋。換句話說,SSA系統(tǒng)并不辨別由其處理的數(shù)據(jù)中的信息。以此方式,當(dāng)在主機(jī)和數(shù)據(jù)對象之間傳遞數(shù)據(jù)時(shí),對象中的數(shù)據(jù)的所有者和用戶能夠更少地?fù)?dān)心由于與SSA系統(tǒng)的接口而導(dǎo)致的敏感信息的丟失。因此,與創(chuàng)建CEK的方式類似,SDO對象由主機(jī)系統(tǒng)(或內(nèi)部應(yīng)用)來創(chuàng)建,并被分配串ID。在創(chuàng)建后,除了名稱之外,主機(jī)提供關(guān)于鏈接到SDO的應(yīng)用的應(yīng)用ID以及將由SSA存儲(chǔ)、完整性驗(yàn)證和約束的數(shù)據(jù)塊。優(yōu)選地,與CEK類似地,僅在SSA會(huì)話內(nèi)創(chuàng)建一個(gè)(或多個(gè))SD0。用于開啟會(huì)話的ACR變?yōu)镾DO的所有者并具有刪除該SD0、寫入和讀取敏感數(shù)據(jù)以及向其他ACR(其子代或在同一AGP內(nèi))授予用于訪問該SDO的所有權(quán)和許可的權(quán)限。為SDO的所有者排他地保留寫入和讀取操作。寫入操作利用所提供的數(shù)據(jù)緩沖器來覆蓋已有SDO對象數(shù)據(jù)。讀取操作將獲取SDO的完整數(shù)據(jù)記錄。對于具有正確訪問許可的非所有者ACR允許SDO訪問操作。定義如下操作?!DO設(shè)置(SDOSet),定義了應(yīng)用ID:數(shù)據(jù)將由具有應(yīng)用ID的內(nèi)部SSA應(yīng)用來處理。通過與SDO的關(guān)聯(lián)性來調(diào)用應(yīng)用。作為可選的結(jié)果,應(yīng)用將寫入SDO對象?!DO設(shè)置,應(yīng)用ID為空該選項(xiàng)不是有效的且將提示非法命令錯(cuò)誤。設(shè)置(Set)命令需要在卡上運(yùn)行的內(nèi)部應(yīng)用?!DO獲得(SDOGet),定義了應(yīng)用ID:將由具有應(yīng)用ID的設(shè)備內(nèi)部應(yīng)用來處理該請求。通過與SDO的關(guān)聯(lián)性來調(diào)用應(yīng)用。雖然沒有被定義,但是輸出將被發(fā)送回請求方??蛇x地,應(yīng)用將讀取SDO對象?!DO獲得,應(yīng)用ID為空該選項(xiàng)不是有效的且將提示非法命令錯(cuò)誤。獲得(Get)命令需要在卡上運(yùn)行的內(nèi)部應(yīng)用。·SDO相關(guān)許可ACR可以是SDO所有者或僅僅具有訪問許可(設(shè)置、獲得或二者)。此外,可以允許ACR向另一ACR傳遞對其不擁有的SDO的訪問權(quán)限。如果ACR具有ACAM許可,則可以明確地允許ACR創(chuàng)建一個(gè)(或多個(gè))SDO和授予訪問權(quán)限。內(nèi)部ACR除了設(shè)備10的外部實(shí)體不能登錄到內(nèi)部ACR外,內(nèi)部ACR與具有PCR的任何ACR類似。相反,當(dāng)調(diào)用在圖40B的SSA管理器1024的控制下的對象或與其相關(guān)聯(lián)的應(yīng)用時(shí),該SSA管理器1024自動(dòng)登錄到內(nèi)部ACR。因?yàn)樵噲D獲得訪問的實(shí)體是卡或存儲(chǔ)器設(shè)備內(nèi)部的實(shí)體,所以不需要認(rèn)證。SSA管理器1024將會(huì)話密鑰簡單傳遞給內(nèi)部ACR以使得能夠進(jìn)行內(nèi)部通信。將使用兩個(gè)例子來舉例說明FSE的能力一次性口令生成和數(shù)字權(quán)限管理。在描述一次性口令生成例子之前,將首先關(guān)注雙因素認(rèn)證(dualfactorauthentication)的發(fā)行。OTP實(shí)施例雙因素認(rèn)證(DFA)DFA是被設(shè)計(jì)為通過向標(biāo)準(zhǔn)用戶憑證(即用戶名和密碼)添加附加秘密的“第二因素”來增強(qiáng)到例如web服務(wù)服務(wù)器的個(gè)人登錄的安全性的認(rèn)證協(xié)議。該第二秘密通常是在用戶在擁有的物理安全令牌中存儲(chǔ)的某物。在登錄的過程期間,用戶需要提供擁有(possession)的證據(jù)來作為登錄憑證的一部分。證實(shí)擁有的通用方式是使用一次性口令(0ΤΡ),這是僅用于單次登錄的口令,是由安全令牌生成并從其輸出的。因?yàn)閺拿艽a學(xué)上不能沒有令牌而計(jì)算出0ΤΡ,所以如果用戶能夠提供正確的OTP則認(rèn)為這是擁有令牌的足夠證據(jù)。因?yàn)镺TP僅用于一次登錄,所以用戶應(yīng)當(dāng)在登錄時(shí)具有令牌,因?yàn)槭褂脧南惹暗卿浿蝎@取的舊口令將無濟(jì)于事。在下面部分中描述的產(chǎn)品利用SSA安全性數(shù)據(jù)結(jié)構(gòu)加上一個(gè)FSE設(shè)計(jì)來計(jì)算OTP系列中的下一口令,以實(shí)現(xiàn)具有多個(gè)“虛擬”安全令牌的快閃存儲(chǔ)卡,每個(gè)“虛擬”安全令牌生成不同系列的口令(可被用于登錄到不同的網(wǎng)站)。在圖41中描繪了該系統(tǒng)的框圖。完整系統(tǒng)1050包括認(rèn)證服務(wù)器1052、因特網(wǎng)服務(wù)器1054和具有令牌1058的用戶1056。第一步是在認(rèn)證服務(wù)器和用戶之間關(guān)于共享秘密達(dá)成協(xié)議(也被稱為種子提供)。用戶1056將請求發(fā)行秘密或種子并將存儲(chǔ)其在安全令牌1058中。下一步是將所發(fā)行的秘密或種子與特定web服務(wù)服務(wù)器綁定。一旦如此之后,則可以發(fā)生認(rèn)證。用戶將指令令牌生成OTP。具有用戶名和口令的OTP被發(fā)送到因特網(wǎng)服務(wù)器1054。因特網(wǎng)服務(wù)器1054將OTP轉(zhuǎn)發(fā)到認(rèn)證服務(wù)器1052,請求其驗(yàn)證用戶身份。認(rèn)證服務(wù)器1052也將生成0ΤΡ,并且因?yàn)樵揙TP是利用令牌根據(jù)共享秘密而生成的,所以其應(yīng)當(dāng)與根據(jù)令牌生成的OTP相匹配。如果發(fā)現(xiàn)是匹配的,則用戶身份被驗(yàn)證且認(rèn)證服務(wù)器將向因特網(wǎng)服務(wù)器1054返回肯定確認(rèn),因特網(wǎng)服務(wù)器1054將完成用戶登錄過程。用于OTP生成的FSE實(shí)現(xiàn)具有下述特性?!TP種子被安全存儲(chǔ)(加密的)在卡內(nèi)。在卡內(nèi)執(zhí)行口令生成算法。設(shè)備10能夠仿效多個(gè)虛擬令牌并可以使用不同的口令生成算法,每個(gè)虛擬令牌存儲(chǔ)不同的種子?!ぴO(shè)備10提供安全協(xié)議,以將種子從認(rèn)證服務(wù)器傳送到設(shè)備中。在圖42中圖示了關(guān)于OTP種子提供和OTP生成的SSA特征,其中實(shí)線箭頭圖示所有權(quán)或訪問權(quán)限,而虛線箭頭圖示關(guān)聯(lián)性或鏈接。如圖42中所示,在SSAFSE系統(tǒng)1100中,可以通過由N個(gè)應(yīng)用ACR1106中的每一個(gè)控制的一個(gè)或更多個(gè)通信管道1104來訪問軟件程序代碼FSE1102。在下述實(shí)施例中,僅圖示了一個(gè)FSE軟件應(yīng)用,并且對于每一個(gè)FSE應(yīng)用僅存在一個(gè)通信管道。然而,應(yīng)當(dāng)明白,可以采用多于一個(gè)的FSE應(yīng)用。雖然在圖42中僅圖示了一個(gè)通信管道,但是應(yīng)當(dāng)明白可以使用多個(gè)通信管道。所有這樣的變型是可以的。參照圖40A、圖40B和圖42,F(xiàn)SE1102可以是用于OTP提供的應(yīng)用并形成圖40A的設(shè)備內(nèi)部應(yīng)用1010的子集??刂平Y(jié)構(gòu)(ACR1101、1103、1106、1110)是SSA中的安全性數(shù)據(jù)結(jié)構(gòu)的一部分并且被存儲(chǔ)在SSA數(shù)據(jù)庫1026中。諸如IDO1120、SDO對象1122和通信管道1104的數(shù)據(jù)結(jié)構(gòu)也被存儲(chǔ)在SSA數(shù)據(jù)庫1026中。參考圖40A和圖40B,利用接口1032和密碼庫1012的協(xié)助,由模塊1030來處理涉及ACR和數(shù)據(jù)結(jié)構(gòu)的安全性相關(guān)操作(例如,會(huì)話中的數(shù)據(jù)傳遞以及諸如加密、解密和散列的操作)。SSM核心API1006不在涉及與主機(jī)交互的ACR(外部ACR)和不涉及該交互的內(nèi)部ACR的操作之間進(jìn)行區(qū)分,因而不在涉及主機(jī)以及設(shè)備內(nèi)部應(yīng)用1010的操作之間進(jìn)行區(qū)分。以此方式,相同的控制機(jī)制被用于控制通過主機(jī)側(cè)實(shí)體的訪問和通過設(shè)備內(nèi)部應(yīng)用1010的訪問。這導(dǎo)致用于在主機(jī)側(cè)應(yīng)用和設(shè)備內(nèi)部應(yīng)用1010之間劃分?jǐn)?shù)據(jù)處理的靈活性。內(nèi)部應(yīng)用1010(例如,圖42中的FSE1102)與內(nèi)部ACR(例如,圖42中的ACR1103)的控制相關(guān)聯(lián)并通過其來調(diào)用。此外,優(yōu)選地,利用相關(guān)聯(lián)的SSA規(guī)則和策略的、諸如ACR和AGP的安全性數(shù)據(jù)結(jié)構(gòu)控制對重要信息的訪問,諸如SDO內(nèi)的內(nèi)容或能夠從SDO中的內(nèi)容導(dǎo)出的信息,從而使得外部或內(nèi)部應(yīng)用僅能夠依據(jù)SSA規(guī)則和策略來訪問該內(nèi)容或信息。例如,如果兩個(gè)不同的用戶能夠調(diào)用設(shè)備內(nèi)部應(yīng)用1010中相應(yīng)的一個(gè)來處理數(shù)據(jù),則使用位于分離的層級樹中的內(nèi)部ACR來控制兩個(gè)用戶的訪問,以使得在他們之間不存在串?dāng)_。以此方式,兩個(gè)用戶能夠?yàn)榱颂幚頂?shù)據(jù)而訪問設(shè)備內(nèi)部應(yīng)用1010的公用集合,而無需擔(dān)心SDO中的內(nèi)容或信息的部分所有者失去對該內(nèi)容或信息的控制。例如,能夠由位于分離的層級樹中的ACR來控制對于存儲(chǔ)通過設(shè)備內(nèi)部應(yīng)用1010訪問的數(shù)據(jù)的SDO的訪問,以使得在他們之間不存在串?dāng)_。該控制方式類似于上述SSA控制對數(shù)據(jù)的訪問的方式。這對內(nèi)容所有者和用戶提供了存儲(chǔ)在數(shù)據(jù)對象中的數(shù)據(jù)的安全性。參考圖42,可以在存儲(chǔ)器設(shè)備10中存儲(chǔ)(例如,在存儲(chǔ)卡發(fā)行之前預(yù)存儲(chǔ)或在存儲(chǔ)卡發(fā)行之后加載)OTP相關(guān)主機(jī)應(yīng)用所需的一部分軟件程序代碼作為FSE1102中的應(yīng)用。為了執(zhí)行這樣的代碼,主機(jī)首先將需要通過N個(gè)認(rèn)證ACR1106中的一個(gè)來認(rèn)證以獲得對管道1104的訪問,N是正整數(shù)。主機(jī)也將需要提供用于標(biāo)識(shí)其希望調(diào)用的OTP相關(guān)應(yīng)用的應(yīng)用ID。在成功認(rèn)證之后,可以通過與OTP相關(guān)應(yīng)用相關(guān)聯(lián)的管道1104來訪問這樣的代碼以用于執(zhí)行。如上面指出的,優(yōu)選地,在管道1104與特定應(yīng)用(諸如OTP相關(guān)內(nèi)部應(yīng)用)之間存在一對一關(guān)系。如圖42中所示,多個(gè)ACR1106可以共享公用管道1104的控制。ACR也可以控制多于一個(gè)的管道。在圖42中圖示了被統(tǒng)稱為對象1114的安全數(shù)據(jù)對象SDOKSDO2和SDO3,其每個(gè)包括諸如用于OTP生成的種子的數(shù)據(jù),種子是頗有價(jià)值的且優(yōu)選地被加密。三個(gè)數(shù)據(jù)對象與FSE1102之間的鏈接或關(guān)聯(lián)性1108圖示了對象的屬性,其中,當(dāng)訪問對象中的任何一個(gè)時(shí),將調(diào)用SDO的屬性中具有應(yīng)用ID的FSE1102內(nèi)的應(yīng)用,并且該應(yīng)用將由存儲(chǔ)器設(shè)備的CPU12來執(zhí)行而不需要接收任何另外的主機(jī)命令(圖I)。參考圖42,在用戶處于開始OTP過程的位置之前,已經(jīng)創(chuàng)建安全性數(shù)據(jù)結(jié)構(gòu)(ACR1101、1103、1106和1110),其中它們的PCR用于控制OTP過程。用戶將需要具有訪問權(quán)限來通過認(rèn)證服務(wù)器1106中的一個(gè)調(diào)用OTP設(shè)備內(nèi)部應(yīng)用1102。用戶也將需要具有對要通過N個(gè)用戶ACR1110中的一個(gè)生成的OTP的訪問權(quán)限。SDO1114可以在OTP種子提供過程期間被創(chuàng)建。優(yōu)選地,IDO1116已由內(nèi)部ACR1103創(chuàng)建并受其控制。在SDO1114被創(chuàng)建之后,內(nèi)部ACR1103也控制它們。當(dāng)訪問SDO1114時(shí),圖40B中的SSA管理器1024自動(dòng)登錄到ACR1103。內(nèi)部ACR1103與FSE1102相關(guān)聯(lián)。如虛線1108所示出的,SDO1114能夠在OTP種子提供過程期間變得與FSE相關(guān)聯(lián)。在關(guān)聯(lián)性適當(dāng)之后,當(dāng)通過主機(jī)訪問SDO時(shí),關(guān)聯(lián)性1108將使得FSEl102被調(diào)用,而無需來自主機(jī)的進(jìn)一步的請求。當(dāng)通過N個(gè)ACR1106中的一個(gè)來訪問通信管道1104時(shí),圖40B中的SSA管理器1024也將自動(dòng)登錄到ACR1103。在兩種情況下(訪問SDO1114和管道1104),SSA管理器將會(huì)話號傳遞到FSE1102,該會(huì)話號將標(biāo)識(shí)到內(nèi)部ACR1103的通道。OTP操作涉及兩個(gè)階段在圖43中圖示的種子提供階段和在圖44中圖示的OTP生成階段。當(dāng)有助于描述時(shí)也將參照圖40-42。圖43是圖示種子提供過程的協(xié)議圖。如圖43中所示,由諸如主機(jī)24的主機(jī)以及由卡來采取各種動(dòng)作。采取各種動(dòng)作的卡上的一個(gè)實(shí)體是圖40A和圖40B的SSM系統(tǒng),包括SSM核心1004。采取各種動(dòng)作的卡上的另一個(gè)實(shí)體是圖42中示出的FSE1102。在雙因素認(rèn)證中,用戶請求發(fā)行種子,并且一旦種子被發(fā)行,則種子被存儲(chǔ)在安全令牌中。在該例子中,安全令牌是存儲(chǔ)器設(shè)備或卡。用戶向圖42中的認(rèn)證ACR1106中的一個(gè)認(rèn)證以獲得對SSM系統(tǒng)的訪問(箭頭1122)。假設(shè)認(rèn)證成功(箭頭1124),則用戶請求種子(箭頭1126)。主機(jī)通過選擇用于對種子請求進(jìn)行簽名的特定應(yīng)用1102來向卡發(fā)送請求,以對種子請求進(jìn)行簽名。如果用戶不知道需要調(diào)用的特定應(yīng)用ID,則例如可以通過對設(shè)備的謹(jǐn)慎查詢來從設(shè)備10中獲得該信息。然后,用戶輸入應(yīng)當(dāng)被調(diào)用的應(yīng)用的應(yīng)用ID,從而也選擇了與該應(yīng)用對應(yīng)的通信管道。然后,通過對應(yīng)的通信管道,用戶命令在通過命令(passthroughcommand)中被從用戶轉(zhuǎn)發(fā)到由應(yīng)用ID指定的應(yīng)用(箭頭1128)。所調(diào)用的應(yīng)用請求借助于指定的ID0、諸如圖42中的IDO1112中的公鑰的簽名。SSM系統(tǒng)使用IDO的公鑰對種子請求進(jìn)行簽名,并向應(yīng)用通知完成簽名(箭頭1132)。然后,所調(diào)用的應(yīng)用請求IDO的證書鏈(箭頭1134)。響應(yīng)于此,SSM系統(tǒng)提供IDO的證書鏈,如由ACR1103控制的(箭頭1136)。然后,所調(diào)用的應(yīng)用通過通信管道向SSM系統(tǒng)提供簽名后的種子請求和IDO的證書鏈,該SSM系統(tǒng)將這些轉(zhuǎn)發(fā)到主機(jī)(箭頭1138)。通過通信管道的簽名后的種子請求和證書鏈的發(fā)送通過在圖40A的SAMM1008與SSM核心1004之間建立的回調(diào)(callback)功能,將在下面詳細(xì)闡述回調(diào)功能。由主機(jī)接收的簽名后的種子請求和IDO證書鏈然后被發(fā)送到圖41中示出的認(rèn)證服務(wù)器1052。由卡提供的證書鏈證明簽名后的種子請求是源自信任令牌的,以使得認(rèn)證服務(wù)器1052愿意向該卡提供秘密種子。因此,認(rèn)證服務(wù)器1052連同用戶ACR信息一起向主機(jī)發(fā)送利用IDO的公鑰加密的種子。用戶信息指示N個(gè)用戶ACR中的一個(gè),在該ACR下用戶具有訪問要生成的OTP的權(quán)限。主機(jī)通過提供應(yīng)用ID來調(diào)用FSE1102中的OTP應(yīng)用,從而也選擇了與該應(yīng)用對應(yīng)的通信管道,并且將用戶ACR信息轉(zhuǎn)發(fā)到SSM系統(tǒng)(箭頭1140)。然后,加密的種子和用戶ACR信息通過通信管道被轉(zhuǎn)發(fā)到所選擇的應(yīng)用(箭頭1142)。所調(diào)用的應(yīng)用向SSM系統(tǒng)發(fā)送用于使用IDO的私鑰來解密種子的請求(箭頭1144)。SSM系統(tǒng)對種子進(jìn)行解密并向應(yīng)用發(fā)送解密已完成的通知(箭頭1146)。然后,所調(diào)用的應(yīng)用請求創(chuàng)建安全的數(shù)據(jù)對象并在安全的數(shù)據(jù)對象中存儲(chǔ)種子。也請求與OTP應(yīng)用(可以是與正進(jìn)行請求的應(yīng)用相同的應(yīng)用)的ID相關(guān)聯(lián)的SDO生成一次性口令(箭頭1148)。SSM系統(tǒng)創(chuàng)建SDO1114中的一個(gè)且將種子存儲(chǔ)在SDO內(nèi),并將SDO與OTP應(yīng)用的ID相關(guān)聯(lián),并且向應(yīng)用發(fā)送何時(shí)完成的通知(箭頭1150)。然后,應(yīng)用基于由主機(jī)提供的用戶信息請求SSM系統(tǒng)向合適的用戶ACR授予用于通過內(nèi)部ACR1103來訪問SDO1114的訪問權(quán)限(箭頭1152)。在已完成授予后,SSM系統(tǒng)通知應(yīng)用(箭頭1154)。然后,應(yīng)用經(jīng)由通信管道通過回調(diào)功能向SSM系統(tǒng)發(fā)送SDO的名稱(時(shí)隙ID)(箭頭1156)。然后,SSM系統(tǒng)將它們轉(zhuǎn)發(fā)到主機(jī)(箭頭1158)。然后,主機(jī)將SDO的名稱與用戶ACR綁定,以使得用戶現(xiàn)在就能夠訪問SD0?,F(xiàn)在將參照圖44的協(xié)議圖來描述OTP生成的過程。為了得到一次性口令,用戶將登錄到其具有訪問權(quán)限的用戶ACR中(箭頭1172)。假設(shè)認(rèn)證成功,則SSM系統(tǒng)通知主機(jī)且主機(jī)向SSM發(fā)送“獲得SD0”命令(箭頭1174、1176)。如上面所指出的,存儲(chǔ)種子的SDO已與用于生成OTP的應(yīng)用相關(guān)聯(lián)。因此,借助于由箭頭1176中的命令訪問的SDO與OTP生成應(yīng)用之間的關(guān)聯(lián)性來調(diào)用OTP生成應(yīng)用(箭頭1178),而不是像以前那樣通過通信管道來選擇應(yīng)用。然后,OTP生成應(yīng)用請求SSM系統(tǒng)從SDO讀取內(nèi)容(B卩,種子)(箭頭1180)。優(yōu)選地,SSM并不知道在SDO的內(nèi)容中包含的信息,而是將簡單地如由FSE指令地處理SDO中的數(shù)據(jù)。如果種子是被加密的,則在由FSE命令而讀取之前這可能涉及對種子的解密。SSM系統(tǒng)從SDO讀取種子并將種子提供到OTP生成應(yīng)用(箭頭1182)。然后,OTP生成應(yīng)用生成OTP并將其提供到SSM系統(tǒng)(箭頭1184)。然后,OTP由SSM轉(zhuǎn)發(fā)到主機(jī)(箭頭1186),主機(jī)進(jìn)而將OTP轉(zhuǎn)發(fā)到認(rèn)證服務(wù)器1052以完成雙因素認(rèn)證過程?;卣{(diào)(Callback)功能在圖40A的SSM核心1004和SAMM1008之間建立一般回調(diào)功能??梢岳眠@樣的功能來注冊不同的設(shè)備內(nèi)部應(yīng)用和通信管道。因而,當(dāng)調(diào)用設(shè)備內(nèi)部應(yīng)用時(shí),應(yīng)用能夠使用該回調(diào)功能通過曾用于向該應(yīng)用傳遞主機(jī)命令的同一通信管道而向SSM系統(tǒng)傳遞處理后的數(shù)據(jù)。DRM系統(tǒng)實(shí)施例圖45是圖示DRM系統(tǒng)的功能框圖,該DRM系統(tǒng)利用了通信管道1104’、具有到FSE應(yīng)用1102’的鏈接1108’的CEK1114’以及用于控制實(shí)現(xiàn)DRM功能的功能的控制結(jié)構(gòu)1101’、1103’、1106’。如將要指出的,除了安全數(shù)據(jù)結(jié)構(gòu)現(xiàn)在包括許可證服務(wù)器ACR1106’和播放ACR1110’來代替認(rèn)證服務(wù)器ACR和用戶ACR并且包括CEK1114’來代替SDO之外,圖45中的架構(gòu)與圖42中的架構(gòu)非常類似。此外,不涉及ID0,因而在圖45中將其省略??梢栽谠S可證提供過程中創(chuàng)建CEK1114’。圖46的協(xié)議示了關(guān)于許可證提供和內(nèi)容下載的過程,其中在許可證對象中提供密鑰。如在OTP實(shí)施例中那樣,希望獲得許可證的用戶將首先需要獲得在N個(gè)ACR1106’中的一個(gè)以及N個(gè)ACR1110’中的一個(gè)下的訪問權(quán)限,以使得能夠借助于諸如媒體播放器軟件應(yīng)用的媒體播放器來呈現(xiàn)內(nèi)容。如圖46中所示,主機(jī)向許可證服務(wù)器ACR1106’認(rèn)證(箭頭1202)。假設(shè)認(rèn)證成功(箭頭1204),則許可證服務(wù)器連同CEK(密鑰ID和密鑰值)一起向主機(jī)提供許可證文件。主機(jī)也通過向卡上的SSM系統(tǒng)提供應(yīng)用ID來選擇要調(diào)用的應(yīng)用。主機(jī)也發(fā)送播放器信息(例如,關(guān)于媒體播放器軟件應(yīng)用的信息)(箭頭1206)。播放器信息將指示播放器在N個(gè)播放ACR1110’中的哪一個(gè)下具有訪問權(quán)限。SSM系統(tǒng)通過與所選擇的應(yīng)用對應(yīng)的通信管道向DRM應(yīng)用轉(zhuǎn)發(fā)許可證文件和CEK(箭頭1208)。然后,所調(diào)用的應(yīng)用請求SSM系統(tǒng)將許可證文件寫入隱藏分區(qū)(箭頭1210)。當(dāng)許可證文件已經(jīng)被這樣寫入時(shí),SSM系統(tǒng)通知應(yīng)用(箭頭1212)。然后,DRM應(yīng)用請求創(chuàng)建CEK對象1114’并在其中存儲(chǔ)來自許可證文件的密鑰值。DRM應(yīng)用也請求將CEK對象與一個(gè)DRM應(yīng)用的ID相關(guān)聯(lián),該DRM應(yīng)用核對與所提供的密鑰相關(guān)聯(lián)的許可證(箭頭1214)。SSM系統(tǒng)完成這些任務(wù)并因此通知應(yīng)用(箭頭1216)。然后,應(yīng)用基于主機(jī)發(fā)送的播放器信息來請求向播放器對其具有訪問內(nèi)容的許可的播放ACR授予對于CEK1114’的讀取訪問權(quán)限,以訪問內(nèi)容(箭頭1218)。SSM系統(tǒng)執(zhí)行授予并因而通知應(yīng)用(箭頭1220)。由應(yīng)用通過通信管道向SSM系統(tǒng)發(fā)送已經(jīng)完成許可證的存儲(chǔ)的消息,并且SSM系統(tǒng)將該消息轉(zhuǎn)發(fā)到許可證服務(wù)器(箭頭1222和1224)?;卣{(diào)功能用于通過通信管道的該動(dòng)作。在接收到該通知后,許可證服務(wù)器則向卡提供利用所提供的CEK內(nèi)的密鑰值加密的內(nèi)容文件。加密的內(nèi)容被主機(jī)存儲(chǔ)在公用卡區(qū)域中。加密的內(nèi)容文件的存儲(chǔ)不涉及安全功能,從而在該存儲(chǔ)過程中不涉及SSM系統(tǒng)。在圖47中圖示了播放操作。用戶通過主機(jī)向適當(dāng)?shù)牟シ臕CR(B卩,上面在箭頭1152和1154中已對其授予了讀取權(quán)限的播放ACR)認(rèn)證(箭頭1242)。假設(shè)認(rèn)證成功(箭頭1244),則用戶發(fā)送對于讀取與密鑰ID相關(guān)聯(lián)的內(nèi)容的請求(箭頭1246)。在接收到該請求后,SSM系統(tǒng)將發(fā)現(xiàn)DRM應(yīng)用ID與正訪問的CEK對象相關(guān)聯(lián)并因此將使得調(diào)用所識(shí)別的DRM應(yīng)用(箭頭1248)。DRM應(yīng)用請求SSM系統(tǒng)讀取與密鑰ID相關(guān)聯(lián)的數(shù)據(jù)卿,許可證)(箭頭1250)。SSM并不知道在請求其讀取的數(shù)據(jù)中的信息,并且只是簡單地處理來自FSE的請求以執(zhí)行數(shù)據(jù)讀取過程。SSM系統(tǒng)從隱藏分區(qū)中讀取數(shù)據(jù)(B卩,許可證)并將數(shù)據(jù)提供到DRM應(yīng)用(箭頭1252)。然后,DRM應(yīng)用解釋數(shù)據(jù)并檢查數(shù)據(jù)中的許可證信息,以查看許可證是否有效。如果許可證仍然有效,則DRM應(yīng)用將因此向SSM系統(tǒng)通知批準(zhǔn)內(nèi)容解密(箭頭1254)。然后,SSM系統(tǒng)使用CEK對象中的密鑰值來解密所請求的內(nèi)容,并將解密后的內(nèi)容提供到主機(jī)以用于播放(箭頭1256)。如果許可證不再有效,則拒絕對于內(nèi)容訪問的請求。在來自許可證服務(wù)器的許可證文件中沒有提供密鑰的情況下,許可證提供和內(nèi)容下載將與在圖46中示出的有些不同。在圖48的協(xié)議圖中圖示了這種不同的方案。用相同的數(shù)字來標(biāo)識(shí)在圖46和圖48之間一樣的步驟。因而,主機(jī)和SSM系統(tǒng)首先從事認(rèn)證(箭頭1202、1204)。許可證服務(wù)器向主機(jī)提供許可證文件和密鑰ID但是沒有密鑰值,并且主機(jī)將這些連同其希望調(diào)用的DRM應(yīng)用的應(yīng)用ID—起轉(zhuǎn)發(fā)到SSM系統(tǒng)。主機(jī)也順便發(fā)送播放器信息(箭頭1206’)。然后,SSM系統(tǒng)通過與所選擇的應(yīng)用對應(yīng)的通信管道向所選擇的DRM應(yīng)用轉(zhuǎn)發(fā)許可證文件和密鑰ID(箭頭1208)。DRM應(yīng)用請求將許可證文件寫入到隱藏分區(qū)中(箭頭1210)。當(dāng)已經(jīng)如此寫入了許可證文件時(shí),SSM系統(tǒng)通知DRM應(yīng)用(箭頭1212)。然后,DRM應(yīng)用請求SSM系統(tǒng)生成密鑰值、創(chuàng)建CEK對象、在其中存儲(chǔ)密鑰值以及將CEK對象與DRM應(yīng)用的ID相關(guān)聯(lián)(箭頭1214’)。在請求已被照做之后,SSM系統(tǒng)向DRM應(yīng)用發(fā)送通知(箭頭1216)。然后,DRM應(yīng)用將基于來自主機(jī)的播放器信息而請求SSM系統(tǒng)對播放ACR授予對于CEK對象的讀取訪問權(quán)限(箭頭1218)。當(dāng)完成時(shí),SSM系統(tǒng)因此通知DRM應(yīng)用(箭頭1220)。然后,DRM應(yīng)用向SSM系統(tǒng)通知許可證已經(jīng)被存儲(chǔ),其中借助于回調(diào)功能通過通信管道來發(fā)送該通知(箭頭1222)。該通知通過SSM系統(tǒng)被轉(zhuǎn)發(fā)到許可證服務(wù)器(箭頭1224)。然后,許可證服務(wù)器向SSM系統(tǒng)發(fā)送與密鑰ID相關(guān)聯(lián)的內(nèi)容文件(箭頭1226)。SSM系統(tǒng)利用通過密鑰ID標(biāo)識(shí)的密鑰值來加密內(nèi)容文件,而無需涉及任何應(yīng)用。可以使用圖47的協(xié)議來播放被這樣加密并存儲(chǔ)在卡上的內(nèi)容。在上面的OTP和DRM實(shí)施例中,F(xiàn)SE1102和1102’可以包括許多不同的OTP和DRM應(yīng)用,以便由主機(jī)設(shè)備選擇。用戶具有選擇并調(diào)用所希望的設(shè)備內(nèi)部應(yīng)用的選擇權(quán)。即便如此,SSM模塊與FSE之間的總體關(guān)系也是保持一樣的,以使得用戶和數(shù)據(jù)提供商能夠使用協(xié)議的標(biāo)準(zhǔn)集合來與SSM模塊交互并調(diào)用FSE。用戶和提供商不必變得專注于許多不同設(shè)備內(nèi)部應(yīng)用的細(xì)節(jié)(particularity),其中一些細(xì)節(jié)是專用的。此外,在圖46和圖48的情況中,提供協(xié)議可以有些許不同。在圖46的情況下,許可證對象包括密鑰值,而在圖48的情況下不包括密鑰值。該差異需要如上所示出的略微不同的協(xié)議。然而,不管如何提供許可證,圖47中的播放是一樣的。因此,該差異將僅與內(nèi)容提供商和分發(fā)商有關(guān)系,而通常與消費(fèi)者無關(guān),消費(fèi)者通常僅涉及播放階段。因而,該架構(gòu)向內(nèi)容提供商和分發(fā)商提供用于定制協(xié)議的極大靈活性,同時(shí)保持了消費(fèi)者使用的簡易性。顯然,使用第二協(xié)議,從由多于兩個(gè)的提供協(xié)議集合提供的數(shù)據(jù)中導(dǎo)出的信息仍然是可訪問的。上述實(shí)施例所提供的另一優(yōu)勢在于,雖然諸如用戶的外部實(shí)體能夠與設(shè)備內(nèi)部應(yīng)用共享由安全數(shù)據(jù)結(jié)構(gòu)控制的數(shù)據(jù)的使用,但是用戶僅能夠訪問由設(shè)備內(nèi)部應(yīng)用從存儲(chǔ)數(shù)據(jù)中導(dǎo)出的結(jié)果。因而,在OTP實(shí)施例中,用戶通過主機(jī)設(shè)備僅能夠得到OTP而不是種子值。在DRM實(shí)施例中,用戶通過主機(jī)設(shè)備僅能夠得到所呈現(xiàn)的內(nèi)容,而不能訪問許可證文件或密碼密鑰。該特征準(zhǔn)許了用戶的便捷性,而沒有對安全性做出妥協(xié)。在一個(gè)DRM實(shí)施例中,設(shè)備內(nèi)部應(yīng)用和主機(jī)皆不具有對密碼密鑰的訪問;僅僅安全數(shù)據(jù)結(jié)構(gòu)具有這樣的訪問。在其它實(shí)施例中,除了安全數(shù)據(jù)結(jié)構(gòu)之外的實(shí)體也能夠訪問密碼密鑰。密鑰也可以借助于設(shè)備內(nèi)部應(yīng)用來生成,并且然后受到安全數(shù)據(jù)結(jié)構(gòu)的控制。由同一安全數(shù)據(jù)結(jié)構(gòu)來控制對設(shè)備內(nèi)部應(yīng)用和信息(例如,OTP和所呈現(xiàn)的內(nèi)容)的訪問。這減少了控制系統(tǒng)的復(fù)雜性并降低了成本。通過從控制對設(shè)備內(nèi)部應(yīng)用的訪問的內(nèi)部ACR向控制由主機(jī)進(jìn)行的訪問的ACR授予對于通過調(diào)用設(shè)備內(nèi)部應(yīng)用而得到的信息的訪問權(quán)限,該特征使得可以實(shí)現(xiàn)上述特征和功能。應(yīng)用特定撤銷方案當(dāng)調(diào)用設(shè)備內(nèi)部應(yīng)用時(shí)也可以修改安全數(shù)據(jù)結(jié)構(gòu)的訪問控制協(xié)議。例如,證書撤銷協(xié)議可以是使用CRL的標(biāo)準(zhǔn)協(xié)議或?qū)S脜f(xié)議。因而,通過調(diào)用FSE,能夠用FSE專用協(xié)議來代替標(biāo)準(zhǔn)CRL撤銷協(xié)議。除了支持CRL撤銷方案之外,SSA使得駐留在設(shè)備中的特定內(nèi)部應(yīng)用能夠通過設(shè)備內(nèi)部應(yīng)用與CA或任何其他的撤銷權(quán)威機(jī)構(gòu)之間的私有通信通道來廢止(revoke)主機(jī)。在主機(jī)-應(yīng)用的關(guān)系中綁定內(nèi)部應(yīng)用專用撤銷方案?!ぁぎ?dāng)配置應(yīng)用特定撤銷方案時(shí),SSA系統(tǒng)將拒絕CRL(如果提供的話),否則將使用證書和專用應(yīng)用數(shù)據(jù)(通過應(yīng)用特定通信管道先前提供的)來決定是否廢止給定證書。如上面所指出的,ACR通過指定撤銷值來指定采用三個(gè)撤銷方案(無撤銷方案、標(biāo)準(zhǔn)CRL方案和應(yīng)用特定撤銷方案)中的哪一個(gè)。當(dāng)選擇應(yīng)用特定撤銷方案選項(xiàng)時(shí),ACR也將為負(fù)責(zé)撤銷方案的內(nèi)部應(yīng)用ID指定ID,并且CET/APP_ID字段中的值將對應(yīng)于負(fù)責(zé)撤銷方案的內(nèi)部應(yīng)用ID。當(dāng)認(rèn)證設(shè)備時(shí),SSM系統(tǒng)將遵守內(nèi)部應(yīng)用的專用方案。取代用一個(gè)協(xié)議集合來代替另一協(xié)議集合,設(shè)備內(nèi)部應(yīng)用的調(diào)用可以對已由SSA運(yùn)用的訪問控制施加附加的訪問條件。例如,能夠進(jìn)一步由FSE來細(xì)察(scrutinize)訪問CEK中的密鑰值的權(quán)限。在SSA系統(tǒng)確定ACR具有對于密鑰值的訪問權(quán)限之后,在準(zhǔn)予訪問前將與FSE商議。該特征給與了內(nèi)容所有者控制對內(nèi)容的訪問的極大靈活性。雖然上面已經(jīng)通過參照各種實(shí)施例描述了本發(fā)明,但是應(yīng)當(dāng)明白,可以在不脫離本發(fā)明的范圍的情況下做出各種改變和修改,由所附權(quán)利要求及其等價(jià)物來限定本發(fā)明的范圍。權(quán)利要求1.一種用于確定證書是否被撤銷的方法,該方法包括當(dāng)非易失性存儲(chǔ)設(shè)備可操作地耦接到主機(jī)時(shí)在該非易失性存儲(chǔ)設(shè)備中執(zhí)行(a)從主機(jī)接收用于嘗試向非易失性存儲(chǔ)設(shè)備認(rèn)證主機(jī)的證書;以及(b)通過在非易失性存儲(chǔ)設(shè)備中高速緩存的證書撤銷列表中搜索對該證書的引用,確定該證書是否被撤銷,其中,在非易失性存儲(chǔ)設(shè)備接收用于嘗試向非易失性存儲(chǔ)設(shè)備認(rèn)證主機(jī)的證書之前,該證書撤銷列表被高速緩存并且是當(dāng)前的。2.如權(quán)利要求I所述的方法,還包括如果搜索產(chǎn)生在證書撤銷列表中的對該證書的引用,則拒絕認(rèn)證主機(jī)的嘗試。3.如權(quán)利要求I所述的方法,還包括從主機(jī)接收證書撤銷列表;以及如果從主機(jī)接收的證書撤銷列表比非易失性存儲(chǔ)設(shè)備中的當(dāng)前證書撤銷列表更新,并且通過確定所接收的證書撤銷列表是由所述證書的頒發(fā)者發(fā)行而使所述從主機(jī)接收的證書撤銷列表通過驗(yàn)證,則執(zhí)行下列步驟以取代(b)將當(dāng)前的證書撤銷列表替換為更新的證書撤銷列表;以及使用更新的證書撤銷列表來確定來自主機(jī)的證書是否被撤銷。4.如權(quán)利要求I所述的方法,其中,在制造非易失性存儲(chǔ)設(shè)備期間將證書撤銷列表存儲(chǔ)在非易失性存儲(chǔ)設(shè)備中。5.如權(quán)利要求I所述的方法,其中,所述證書撤銷列表與帳戶相關(guān)聯(lián),并且其中,在創(chuàng)建帳戶期間存儲(chǔ)該證書撤銷列表。6.如權(quán)利要求I所述的方法,其中,如果事實(shí)上在主機(jī)嘗試向非易失性存儲(chǔ)設(shè)備認(rèn)證之前存在在非易失性存儲(chǔ)設(shè)備中存儲(chǔ)的證書撤銷列表,則執(zhí)行(b);否則執(zhí)行下列步驟從主機(jī)接收證書撤銷列表;高速緩存從主機(jī)接收的證書撤銷列表;以及使用高速緩存的從主機(jī)接收的證書撤銷列表確定來自主機(jī)的證書是否被撤銷。7.如權(quán)利要求I所述的方法,其中,如果事實(shí)上在主機(jī)嘗試向非易失性存儲(chǔ)設(shè)備認(rèn)證主機(jī)之前存在在非易失性存儲(chǔ)設(shè)備中存儲(chǔ)的證書撤銷列表,則執(zhí)行(b);否則,如果主機(jī)未提供證書撤銷列表則拒絕所述嘗試。8.如權(quán)利要求I所述的方法,其中,證書撤銷列表包括撤銷的證書的序列號。9.一種非易失性存儲(chǔ)設(shè)備,包括存儲(chǔ)器,被配置成存儲(chǔ)證書撤銷列表;以及控制器,可操作以Ca)從主機(jī)接收用于嘗試向非易失性存儲(chǔ)設(shè)備認(rèn)證主機(jī)的證書,以及(b)通過在非易失性存儲(chǔ)設(shè)備中高速緩存的證書撤銷列表中搜索對該證書的引用,確定該證書是否被撤銷,其中,在非易失性存儲(chǔ)設(shè)備接收用于嘗試向非易失性存儲(chǔ)設(shè)備認(rèn)證主機(jī)的證書之前,該證書撤銷列表被高速緩存并且是當(dāng)前的。10.如權(quán)利要求9所述的非易失性存儲(chǔ)設(shè)備,其中,所述控制器還可操作以如果所述搜索產(chǎn)生在證書撤銷列表中的對該證書的引用,則拒絕認(rèn)證主機(jī)的嘗試。11.如權(quán)利要求9所述的非易失性存儲(chǔ)設(shè)備,其中,所述控制器還可操作以從主機(jī)接收證書撤銷列表;以及如果從主機(jī)接收的證書撤銷列表比非易失性存儲(chǔ)設(shè)備中的當(dāng)前證書撤銷列表更新,并且通過確定所接收的證書撤銷列表是由所述證書的頒發(fā)者發(fā)行的而使所述從主機(jī)接收的證書撤銷列表通過驗(yàn)證,則執(zhí)行下列步驟以取代(b)將當(dāng)前的證書撤銷列表替換為更新的證書撤銷列表;以及使用更新的證書撤銷列表確定來自主機(jī)的證書是否被撤銷。12.如權(quán)利要求9所述的非易失性存儲(chǔ)設(shè)備,其中,在制造非易失性存儲(chǔ)設(shè)備期間將證書撤銷列表存儲(chǔ)在非易失性存儲(chǔ)設(shè)備中。13.如權(quán)利要求9所述的非易失性存儲(chǔ)設(shè)備,其中,所述證書撤銷列表與帳戶相關(guān)聯(lián),并且其中,在創(chuàng)建帳戶期間存儲(chǔ)該證書撤銷列表。14.如權(quán)利要求9所述的非易失性存儲(chǔ)設(shè)備,其中,如果事實(shí)上在主機(jī)嘗試向非易失性存儲(chǔ)設(shè)備認(rèn)證之前存在在非易失性存儲(chǔ)設(shè)備中存儲(chǔ)的證書撤銷列表,則所述控制器還可操作以執(zhí)行(b);否則,所述控制器還可操作以從主機(jī)接收證書撤銷列表;高速緩存從主機(jī)接收的證書撤銷列表;以及使用高速緩存的從主機(jī)接收的證書撤銷列表確定從主機(jī)接收的證書是否被撤銷。2215.如權(quán)利要求9所述的非易失性存儲(chǔ)設(shè)備,其中,如果事實(shí)上在主機(jī)嘗試向非易失性存儲(chǔ)設(shè)備認(rèn)證之前存在在非易失性存儲(chǔ)設(shè)備中存儲(chǔ)的證書撤銷列表,則所述控制器還可操作以執(zhí)行(b);否則,如果主機(jī)未提供證書撤銷列表,所述控制器可操作以拒絕所述嘗試。16.如權(quán)利要求9所述的非易失性存儲(chǔ)設(shè)備,其中,所述證書撤銷列表包括撤銷的證書的序列號。全文摘要主機(jī)設(shè)備向存儲(chǔ)器設(shè)備呈遞主機(jī)證書和相關(guān)證書撤銷列表兩者以用于認(rèn)證,從而存儲(chǔ)器設(shè)備不需要自己獲得該列表。對證書撤銷列表的處理和搜索證書標(biāo)識(shí)可以由存儲(chǔ)器設(shè)備并行地執(zhí)行。在存儲(chǔ)器設(shè)備接收主機(jī)證書之前,用于向存儲(chǔ)器設(shè)備認(rèn)證主機(jī)的證書撤銷列表被高速緩存并且是當(dāng)前的。文檔編號H04L9/32GK102906755SQ201080057808公開日2013年1月30日申請日期2010年11月19日優(yōu)先權(quán)日2009年12月17日發(fā)明者R.塞拉,R.巴齊萊,M.霍爾茲曼,A.什繆爾,J.T.林申請人:桑迪士克科技股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1