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

采用程控安全性訪問控制的一種安全存儲器卡的制作方法

文檔序號:6409570閱讀:146來源:國知局
專利名稱:采用程控安全性訪問控制的一種安全存儲器卡的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及便攜式計算機的領(lǐng)域,尤其涉及在便攜式數(shù)字信息環(huán)境中維護數(shù)據(jù)安全性的系統(tǒng)。
個人信息的安全性問題一直受到人們的關(guān)注。在過去,采用簽名、憑證和相片等手段來保證安全。象自動銀行業(yè)務(wù)處理機這樣的電子設(shè)備已經(jīng)把加密卡和個人標(biāo)識號碼(PINs)加到安全性工具的指令系統(tǒng)中。計算機則繼續(xù)使用口令。
最近,“智能卡”已經(jīng)被用作一種安全性工具?!爸悄芸ā笔且粋€具有可寫非易失性存儲器和簡單輸入/輸出接口的一個小型微機,被制成單個芯片并嵌入塑料的“信用卡”中。它的外部管腳使之能連接到專門設(shè)計的設(shè)備上??ㄖ形C里的程序和這種設(shè)備交互作用,根據(jù)可能包括口令交換的某種所需算法,允許其非易失性存儲器數(shù)據(jù)被讀出或被修改。特定的技術(shù)已經(jīng)用來保護存儲器數(shù)據(jù)并允許根據(jù)具體情況發(fā)生變化。例如,題目為“單片上具有可修改存儲器的單片機”的美國專利4382279公開了一種結(jié)構(gòu),這種結(jié)構(gòu)允許對非易失性存儲器自動編程,該存儲器包含在用作為處理和控制單元的相同芯片上。而在其他的系統(tǒng)中,微機只能保護同一芯片上的存儲器。
“智能卡”已經(jīng)用來便于識別處理并作為存放有價值信息的實際場所。在這種情況下,正如在以前大多數(shù)情況下一樣,物理的“密鑰”和一些特定的知識已經(jīng)被用作為驗證或鑒別處理的一部分。在這些情況下,識別包括在想要訪問的人和象安全性保護裝置和自動出納機這樣的固定工具之間的一個對話。
隨意放置計算設(shè)備的可攜帶性的現(xiàn)狀使得實際密鑰和鑒別工具都可能變得更小,更輕便,并且因此也更容易丟失或被偷走。此外,有可能通過反復(fù)嘗試計算設(shè)備來推測或推出和識別處理過程相關(guān)的特定知識或口令。如果鑒別工具或設(shè)備也在小偷的控制下,則這種情況的可能性就更大。更糟的是現(xiàn)在的技術(shù)允許并鼓勵人們隨身把大量的敏感信息攜帶到會出現(xiàn)意外事故的地方。
另外,目前的筆記本和小筆記本式的計算機提供了一種任意放置的環(huán)境,其具有強大的計算能力,并產(chǎn)生了對其他數(shù)據(jù)存儲能力的需求。這種需求已經(jīng)開始由可以存放程序和數(shù)據(jù)的小型硬盤設(shè)備來滿足。雖然口令保護通常用在這些系統(tǒng)中,但它不能完全保護敏感的數(shù)據(jù),因為首先鑒別工具是脆弱的。但是,更重要的是,保存數(shù)據(jù)的磁盤設(shè)備可以被物理地取走并且在一種更有助于分析的設(shè)置中訪問。在這種情況下,采用某些加密的形式來保護數(shù)據(jù)。磁盤訪問的性質(zhì)使得有可能不會遇到過高的費用或性能障礙的問題。這類系統(tǒng)的例子在題為“集成電路卡”的美國專利號4985920中被描述。
最近出現(xiàn)的閃速存儲器和可移動“存儲器卡”使便攜式計算機的尺寸和電源功率要求大大減少。閃速存儲器結(jié)合了隨機訪問存儲器(12AMs)的靈活性和磁盤的永久性。目前,這些技術(shù)的組合在沒有電源支持的情況下能把高達2千萬字節(jié)的數(shù)據(jù)存在一個信用卡大小的可移動的插件中。這些數(shù)據(jù)能出現(xiàn)在主機系統(tǒng)中,好象是存在常規(guī)的磁盤驅(qū)動器或主機系統(tǒng)內(nèi)存的擴充中。
這些技術(shù)的發(fā)展已經(jīng)使得系統(tǒng)的尺寸進一步減少到這樣的程度系統(tǒng)和數(shù)據(jù)都能隨身攜帶。這將使得數(shù)據(jù)及其主機系統(tǒng)更容易丟失或失竊,也更難用加密方式來保護存儲器數(shù)據(jù),因為這將會出現(xiàn)大量的費用和性能障礙問題。
因此,本發(fā)明的主要目的是提供一種具有安全存儲器子系統(tǒng)的便攜式數(shù)字系統(tǒng)。
本發(fā)明的進一步目的是提供一種存儲器卡,如果這種卡從便攜式數(shù)字系統(tǒng)中被取走時,其內(nèi)容能得到保護。
本發(fā)明的另一個目的是提供一種存儲器卡,在該卡中,如果卡上的芯片從卡中被取走時芯片的數(shù)據(jù)內(nèi)容能得到保護。
本發(fā)明的更具體的目的是提供一種安全存儲器子系統(tǒng),其由于設(shè)計上的簡單性而很容易制作。
本發(fā)明的上述和其他目的在美國的一個相關(guān)的專利申請(申請?zhí)?60748)中所描述的安全存儲器卡的最佳實施例中歸檔。安全存儲器卡包括在單個半導(dǎo)體芯片上的微處理機和一個或多個的非易失性可尋址存儲器芯片。微處理機芯片和非易失性存儲器芯片都連接到內(nèi)部總線上,以便把地址、數(shù)據(jù)和控制信息傳送到這些非易失性的存儲器芯片上。微處理機包括一個可尋址的非易失性存儲器,其存放的信息包括若干密鑰值和用于控制在內(nèi)部總線上傳送地址、數(shù)據(jù)和控制信息的程序指令信息。
根據(jù)本發(fā)明的原理,芯片存儲器被組織為若干個塊,每個塊有若干行,每個行包括多個可尋址的字節(jié)單元。每個行又進一步包括單個鎖位單元,它和其他的行鎖位單元結(jié)合起來為每個塊中的大量鎖位提供存儲器,這樣稍微增加了芯片存儲器的尺寸。鎖位被單值地編碼,以便利用能保證數(shù)據(jù)安全的非易失性存儲器的程序特性。
另外,根據(jù)本發(fā)明,每個存儲器芯片包括安全控制邏輯電路,電,路中包括一個易失性的訪問控制存儲器,該存儲器具有多個訪問控制存儲單元和一個可編程的安全訪問控制器,控制器中包括少量的電路,用于執(zhí)行密鑰驗證操作。更具體地說,在一組預(yù)定指令的控制下,安全性訪問控制器對每個被保護的塊執(zhí)行一次預(yù)定的密鑰驗證操作,即順序比較密鑰值的位和根據(jù)指令讀出的存儲器塊的鎖位位置的位的內(nèi)容。
由主機執(zhí)行的這個驗證操作做為預(yù)定鑒別過程的一部分。僅當(dāng)成功地執(zhí)行這一過程之后,微處理機才能設(shè)置每個塊的相關(guān)易失性訪問控制存儲器訪問控制單元,以便允許用戶訪問從而從被保護的塊中讀出信息。
如同在相關(guān)的專利申請的情況中一樣,周期性地要求用戶用主機成功地執(zhí)行一次鑒別過程,并且象由訪問控制存儲器允許那樣允許繼續(xù)讀出信息。在最佳實施例中,主機通過諸如符合個人計算機存儲器卡國際協(xié)會(PCMCIA)標(biāo)準(zhǔn)的一種標(biāo)準(zhǔn)接口和存儲器卡連接。
最佳實施例的安全邏輯電路包括少量的邏輯電路,電路包括若干個鎖位單元(對應(yīng)每個塊的每個存儲行)、一個結(jié)束計數(shù)器、一個比較器和比較累加觸發(fā)器,以及包括對應(yīng)每個存儲塊的一位單元或觸發(fā)器的訪問控制存儲器。結(jié)束計數(shù)器用來計數(shù)一個塊的鎖位單元中的連續(xù)“1”位,以便檢測被存儲鎖值的結(jié)束。比較器和比較累加觸發(fā)器分別對由指令提供的每個數(shù)據(jù)位和存在鎖位單元的對應(yīng)一個中的鎖位進行比較,并把連續(xù)比較的結(jié)果累加起來。
本發(fā)明不需要并行的數(shù)據(jù)路徑、不需要并行數(shù)據(jù)比較器和不需要存放被選擇用來防止猜測的長密鑰值的大寄存器寬度。在最佳實施例中,每個塊可以提供最大長度為8千位的密鑰。實現(xiàn)這一點不涉及到提供較寬并行路徑或大的寄存器寬度的問題。另外,按照目前微處理機的速度,處理大密鑰長度所需的時間仍然很好地保持在亞秒的范圍內(nèi)。而且,這種處理通常只發(fā)生在系統(tǒng)初始化期間。
根據(jù)本發(fā)明的原理,密鑰值這樣選擇,使得每個密鑰的第一位被置為利用存儲器芯片預(yù)定特性的一種預(yù)定狀態(tài)。更具體地說,在最佳實施例的存儲器中,當(dāng)存儲器被擦除時,所存的位被置“1”,并且寫入存儲器只能把“1”變?yōu)椤?”,但不能把“0”改回為“1”。本發(fā)明利用這種特性,即通過要求每個密鑰的第一位都被設(shè)置為該預(yù)定的狀態(tài)(即“0”),其將作為每個塊的保護位。此外,根據(jù)預(yù)定的協(xié)議對密鑰編碼,這將進一步保證安全。在最佳實施例中,協(xié)議所用的規(guī)則類似于在象高級鏈路控制(HDLC)通信協(xié)議這樣著名的通信協(xié)議中所用的規(guī)則。即,除了包含預(yù)定數(shù)目的連續(xù)“1”位的標(biāo)識域之外,每個密鑰值位序列被編碼為包含少于預(yù)定數(shù)目的連續(xù)“1”位。如果結(jié)尾代碼的任何位被竄改,將不能檢測到密鑰值的結(jié)尾并訪問特定的塊。并且,如果密鑰值的任何其他位被竄改,則鎖值和密鑰值之間將不能匹配來防止訪問。
另外,根據(jù)本發(fā)明,利用少數(shù)不同類型的指令來執(zhí)行密鑰驗證操作。這些指令包括第一類指令,一旦微處理機執(zhí)行該指令則開始密鑰驗證操作。如果存儲器塊不被保護,這是唯一需要執(zhí)行的指令。微處理機執(zhí)行第二類指令,對應(yīng)密鑰位序列中的每一位執(zhí)行一次。每個第二類指令把密鑰位序列的一位和存放在塊鎖位單元中的鎖位序列的一個對應(yīng)的鎖位進行比較。微處理機執(zhí)行第三類指令實現(xiàn)密鑰驗證操作。該指令對存放在累加比較觸發(fā)器中的被累加比較結(jié)果取樣,檢測結(jié)束計數(shù)器,并且僅當(dāng)結(jié)果正確時(即當(dāng)計數(shù)器和累加比較觸發(fā)器處于正確的狀態(tài)時),設(shè)置塊訪問控制存儲位。
另外,在最佳實施例中,當(dāng)同樣一組指令要求用于制作存儲器卡階段或用于選擇塊擦除操作階段時其可以被修改。即,不是讀出鍵值的位,而是在擦除操作之后,用該指令把鍵值位序列寫入到存儲器塊的鎖位地址中。
本發(fā)明為存儲器各塊提供一個獨立的鎖,從而提高了相關(guān)專利申請的安全卡的性能。另外,允許使用可變長的密鑰值作為和被保護的信息一致的保護量的函數(shù)。此外,本發(fā)明要求顯著減少的電路,使之更容易構(gòu)造而且成本更低。正如在相關(guān)專利申請的情況中一樣,它把“智能卡”和“存儲器卡”技術(shù)合并在一塊,而這正是允許實現(xiàn)大數(shù)據(jù)量保護的關(guān)鍵。通過在電子小型化所建立的“安全性要求嚴格”環(huán)境中采用閃速存儲器技術(shù)使得大數(shù)據(jù)量成為可能。
本發(fā)明還保留了相關(guān)專利申請的安全卡所具有的在安全和非安全兩種方式中都能操作的特征,不需要對數(shù)據(jù)加密和解密,并且如果該卡或其主處理機丟失、被偷、掉電或沒人照顧時能保護存儲器數(shù)據(jù)。如果被偷走,即使存儲器卡被打開并且用電子探測、或者把存儲器芯片拿走并放在其它的設(shè)備中,也能保證存儲器數(shù)據(jù)不被訪問。
本發(fā)明的上述目的和優(yōu)點將在結(jié)合附圖的以下介紹中得到更好的理解。


圖1是插有根據(jù)本發(fā)明構(gòu)造的一個存儲器卡的一個系統(tǒng)的方框圖。
圖2更詳細地說明包括其非易失性存儲器組織的圖1的訪問控制處理器(ACP)。
圖3用方塊圖的形式說明根據(jù)本發(fā)明的原理修改的圖1的標(biāo)準(zhǔn)閃速存儲器。
圖4更詳細地說明根據(jù)本發(fā)明的原理構(gòu)造的圖3的閃速存儲器。
圖5是一個表格,用來解釋本發(fā)明存儲器卡的操作。
圖6a到圖6e為流程圖,說明本發(fā)明存儲器卡的操作方式。
圖1是一種安全的便攜式手持計算系統(tǒng)1的方框圖,它可用作個人計算機或事務(wù)處理機。系統(tǒng)1包括根據(jù)本發(fā)明構(gòu)造的存儲器卡3,該卡通過總線102連接主處理機5。主處理機5可以采用掌上個人計算機的形式,如Hewlett—Packard公司制造的HP95LX。主機5包括液晶顯示器(LCD)5—2、鍵盤5—4、內(nèi)存5—8和串行接口5—10,它們都和總線106連接。內(nèi)存5—8包括1兆的只讀存儲器(120M)和512K的隨機訪問存儲器(RAM)。
存儲器卡3和主機5之間的連接通過標(biāo)準(zhǔn)總線接口建立。在最佳實施例中,總線102符合個人計算機存儲器卡國際協(xié)會(PCMCI-A)標(biāo)準(zhǔn)。接口102通過標(biāo)準(zhǔn)接口芯片104和存儲器卡總線105在主機5和存儲器卡系統(tǒng)3之間提供傳送地址、控制和數(shù)據(jù)信息的路徑。每個總線102、105和106包括數(shù)據(jù)總線、控制總線和地址總線,并通過所有類似的總線提供連續(xù)的信號路徑。例如,總線105包括地址總線105a、數(shù)據(jù)總線105b和控制總線105c。
PCMCIA總線標(biāo)準(zhǔn)是從支持存儲器卡上的磁盤標(biāo)準(zhǔn)到允許仿真以便隨機訪問存儲器數(shù)據(jù)的一種完全不同的標(biāo)準(zhǔn)中發(fā)展起來的。本發(fā)明的存儲器卡提供一種支持這種新標(biāo)準(zhǔn)的保護技術(shù),它不必求助于加密技術(shù),就能對隨機存儲器單元提供快速訪問。通過控制從存儲器陣列到主機的數(shù)據(jù)傳送路徑,本發(fā)明的存儲器卡保護這些數(shù)據(jù),不需要使用任何費時的緩沖形式、解密或在該數(shù)據(jù)路徑上的其他處理手段。
通常,用戶從鍵盤5—4上操作系統(tǒng)1來執(zhí)行象電子表格和數(shù)據(jù)庫功能這樣的一般操作,把信息顯示在顯示器5—2上,并且更新存在存儲器卡3中文的信息。主機5通過總線102傳送地址信息以便檢索信息,并且如果需要的話,修改這些信息并將其和所需的地址和控制信息一塊送回到存儲卡3中。
如圖所示,在圖1中,本發(fā)明的存儲器卡3包括一個訪問控制處理器(ACP)10,并連接到總線105和若干(n個)CMOS閃速存儲器芯片103a到103n,每個芯片都連接總線105。ACP10通常為用于“智能卡”中的同類處理元件。CNOS閃速存儲器103a—103n可采用Intel公司制作的閃速存儲器芯片的形式。例如,可以使用被標(biāo)明為Intel28F00113X 1M的Intel閃速存儲器芯片,這種芯片包括8個128K字節(jié)×8位的CMOS閃速存儲器。因此,一個4兆字節(jié)的閃速存儲器卡可以包括32個這樣的閃速存儲器(即n=32)。有關(guān)閃速存儲器組件的進一步信息,請參考題為“閃速存儲器成為主流”的文章,這篇文章1993年10月發(fā)表在IEEE的Spectrum出版物上。
訪問控制處理器10圖2用方框圖的形式給出了最佳實施例的訪問控制處理器(ACP)10。如圖所示,ACP10包括被保護的非易失性存儲器10—2、隨機訪問存儲器(RAM)10—4、微處理器10—6、區(qū)間計數(shù)器10—8和連接到總線105的接口塊10—10。非易失性存儲器10—2用作為若干編址的單元,以存放鑒別的信息和程序。更具體地說,存儲器單元10—2a存放一個或多個個人標(biāo)識號碼(PINS)、協(xié)議序列或其他識別信息,用于驗證訪問系統(tǒng)的用戶,識別用戶可能訪問的閃速存儲器103a—103n中的塊,以及用于識別重新鑒別的時間間隔值。
存儲器地址10—2b存放保護每個閃速存儲器103a—103n的密鑰值或存放保護每個閃速存儲器103a—103n的各個塊的代碼。存儲器地址10—2c存放執(zhí)行所需鑒別操作以及當(dāng)出現(xiàn)預(yù)置的故障條件時清除系統(tǒng)的程序指令序列。
一些程序指令使用戶能控制區(qū)間計數(shù)器10—8的設(shè)置,該設(shè)置確定何時進行用戶重新鑒別。重鑒別區(qū)間定義了中斷之間的間隔用于把中斷送到主機5,以通過讓用戶重新輸入,PIN或其他口令來請求驗證用戶的等同。區(qū)間計數(shù)器10—8通過總線102從主機5中接收時鐘脈沖信號,并且也可以根據(jù)工作環(huán)境由用戶設(shè)置。例如,在家里,用戶可以關(guān)閉定時器(即,把它設(shè)置為最大值),或置時間區(qū)間為1個小時。在飛機上,用戶可以把它設(shè)置為10分鐘以增加保護。在每次“啟動”時可以催促用戶重新檢測區(qū)間的設(shè)置,由此強制進行周期性的重鑒別以加強安全性。
閃速存儲器103a到103n圖3以方框圖的形式給出了閃速存儲器103a,該存儲器在結(jié)構(gòu)上和其他的存儲器103b—103n是一致的。如圖所示,存儲器103a包括兩段,根據(jù)本發(fā)明組織的存儲器段103M和包括本發(fā)明的安全性訪問控制電路的安全性邏輯段103S。圖4更詳細地介紹了這兩個段。
存儲器段103M如圖3中所示,段103M包括被組織為16個塊(如圖4所示)的存儲器陣列54、命令寄存器50、輸入/輸出邏輯電路60、地址計數(shù)器56、寫狀態(tài)機61、擦除電壓系統(tǒng)62、輸出多路轉(zhuǎn)換器53、數(shù)據(jù)寄存器55、輸入緩沖區(qū)51、輸出緩沖區(qū)52和狀態(tài)寄存器58,排列如圖所示。閃速存儲器103a的基本邏輯電路,如上所述,采用Intel公司制造的閃速存儲器中所含有的電路類型的形式。因為這些電路在設(shè)計中可以被看作常規(guī)的,因此只在所需的程度上加以介紹。有關(guān)這類電路的進一步信息,請參考題為“存儲器產(chǎn)品”的出版物,順序號210830,1992年由Intel公司出版,以及參考Intel公司的其他出版物。
如圖3所示,閃速存儲器電路分別接收多個輸入地址信號A0—A16、數(shù)據(jù)信號D000—D07、以及包括芯片使能、寫使能輸出使能、關(guān)閉電源和擦除/程序電源信號CE、WE、OE、PWD和VPP等控制信號。這些信號所實現(xiàn)的功能在附錄I中描述。
CW、WE和OE信號通過總線102和控制總線105b從主機5作用到命令寄存器50和I/O邏輯塊60上并被散布以控制所指定的邏輯塊。PWD信號也作用到命令寄存器50以使能閃速存儲器實現(xiàn)附錄I中所述的操作。另外,當(dāng)需要時,該信號還能用來清除段103S的易失性存儲單元,從而當(dāng)正常操作重新開始時,迫使用戶重新鑒別。
通常,段103M的基本邏輯單元按下述方式操作。通過數(shù)據(jù)總線105a、輸入緩沖區(qū)51和數(shù)據(jù)寄存器55把信息存放在存儲器陣列54中的一個編址單元上,該編址單元通過由地址計數(shù)器56從地址總線105C中接收到的地址規(guī)定。從存儲器陣列54的一個塊的指定編址單元中讀出信息并通過輸出多路轉(zhuǎn)換器53、輸出緩沖區(qū)52、數(shù)據(jù)總線105a和總線102把該信息送到主機5上。狀態(tài)寄存器58被用來存放寫狀態(tài)機的狀態(tài)、出錯暫停狀態(tài)、擦除狀態(tài)、程序狀態(tài)和VPP狀態(tài)。
寫狀態(tài)機61控制塊擦除和程序算法。程序/擦除電壓系統(tǒng)62用來擦除存儲器陣列54的塊或擦除作為VPP電平函數(shù)的每個塊的編程節(jié)。
安全性段103S如圖3所示,段103S包括安全性訪問控制器30(在圖4中更詳細說明)、鎖寫允許存儲單元32和如圖所示互連的易失性訪問控制存儲器43。當(dāng)存儲器陣列53任一塊的字節(jié)單元的內(nèi)容正在被讀出時,在每個存儲器讀周期中,訪問控制存儲器43的輸出做為使能輸入被作用到輸出緩沖區(qū)52。即,可能出現(xiàn)一個讀周期,然而,在沒有適當(dāng)?shù)膲K訪問控制存儲器選通信號的情況下,讀出的數(shù)據(jù)被禁止通過輸出緩沖區(qū)52。
更具體地說,在最佳實施例中,訪問控制存儲器43包括16個分別可尋址的位存儲單元、連接每個存儲單元輸入端的1個輸入地址4到16位解碼器、以及連接每個存儲單元輸出端的1個1到16位輸出多路轉(zhuǎn)接器電路。加到這里所述的這組存儲器命令上的某些類型的指令的每個地址的4個高位或最高位被解碼并用來為其內(nèi)容將被改變的塊選擇存儲單元。同樣,相同的4位被用來為包含著正在被讀的存儲器單元的塊選擇存儲單元的輸出。
應(yīng)該注意到該段從段103M的命令寄存器50中接收到由不同的16進制值(即31H—33H)表示的命令控制信號。這些信號指示由命令寄存器50通過數(shù)據(jù)總線105b從ACP10中接收到的這組命令的不同數(shù)據(jù)值。如下面所述,這些命令是對閃速存儲器所用的命令集的一個重要擴展。標(biāo)準(zhǔn)的閃速存儲器命令采用了Intel公司閃速存儲器所用的命令形式。
段103M和103S的詳細描述—圖4圖4更詳細地說明段103M和103S的組織結(jié)構(gòu)。如圖所示,存儲器陣列54有兩個段鎖位段54a和數(shù)據(jù)段54b。更詳細地,存儲器54包括1兆字節(jié)的存儲量,并且如上所述,被組織為16塊。每塊由8K的行構(gòu)成,每行由8字節(jié)的單元構(gòu)成。根據(jù)本發(fā)明,對每個行增加一位的單元以形成鎖位段54a。把每個行的位地址數(shù)從64位擴展為65位。存儲器陣列54就能存儲數(shù)據(jù)和存儲為保護這些數(shù)據(jù)的相關(guān)鎖位信息。
如圖所示,借助地址鎖存計數(shù)器56,這兩個段都是可尋址的,地址鎖存計數(shù)器56被組織為三個段。第一寄存器段用來存放最高地址位組,其指示哪個塊正在被尋址。第二段被構(gòu)造為象寄存器和計數(shù)器的功能一樣,用來存儲和自動增1中間地址位組,中間地址位組指出塊的哪一行正在被尋址。第三寄存器段用來存放最低地址位組,其指示一行中的哪個字節(jié)正在被尋址。包括塊53電路的多路轉(zhuǎn)換器/多路分配器電路53a用來選擇將被寫入或讀出的字節(jié)單元,以做為存放在地址鎖存計數(shù)器56中的最低地址位組的函數(shù)。
另外,如圖4所示,段103S的安全性訪問控制器30包括位比較器電路30—1、累加器比較觸發(fā)器30—2和結(jié)束計數(shù)器30—3,并如圖所示那樣排列。位比較器電路3—1被連接來接收作為輸入的54a鎖位單元的鎖位內(nèi)容和由ACP10通過總線105b施加的密鑰位。比較器電路30—1把由ACP10提供的每個密鑰位和從鎖位段54a讀出的對應(yīng)的鎖位進行比較,并把比較的結(jié)果作為輸入作用到累加器比較觸發(fā)器30—2,如圖所示。觸發(fā)器30—2累計連續(xù)比較的結(jié)果。結(jié)束計數(shù)器30—3是一個小型計數(shù)器(如3位),對用來檢測被存放的鍵值的結(jié)尾的鎖位串中出現(xiàn)的連續(xù)“1”位的個數(shù)進行計數(shù)。
鎖寫容許觸發(fā)單元32連接命令寄存器50和程序/擦除電壓系統(tǒng)。正如在這里所討論的,每當(dāng)執(zhí)行塊擦除操作時,觸發(fā)器32在該擦除操作完成時被置為二進制“1”狀態(tài)。觸發(fā)器32的輸出作為輸入送到命令寄存器50并確定何時允許把信息寫入到存儲器塊的鎖位單元。
如上所述,安全性訪問控制器30的不同單元從命令寄存器50中接收命令。如上所述,這些命令是對閃速存儲器54通常所用命令集的重要擴充?,F(xiàn)在介紹本發(fā)明所用的命令。這些指令在附錄II中有更詳細的介紹,現(xiàn)在將加以討論。
第一類指令或命令為一個啟動命令,在對某個設(shè)定的塊開始密鑰驗證操作時該命令由ACP10執(zhí)行。該指令使得該塊的第一位(LM130)被選通進入訪問控制存儲器43的訪問控制存儲單元。啟動指令還使得結(jié)束計數(shù)器30—3被復(fù)位為“0”,并且把累加比較觸發(fā)器30—2設(shè)置為一種預(yù)定的狀態(tài)(二進制“1”狀態(tài)),表示沒有發(fā)生比較失敗的情況。啟動指令還使得最高地址位組和中間地址位組和中間地址位組經(jīng)地址總線105a作用被裝入地址計數(shù)器56,并保證中間地址位組全“0”,以便對塊中的第一位(鎖住)尋址。最低地址位組被忽略。
第二類指令為步進指令,在塊密鑰驗證操作期間對密鑰位序列中的每一位執(zhí)行一次步進指令。如果每個被保護塊中有n個密鑰位,則ACP10將對每個密鑰驗證操作執(zhí)行n次第二類指令。第一步進指令使得地址計數(shù)器56的中間組位增1,以便從塊的鎖位單元中讀出下一個鎖位。因此,每個步進指令提供的地址被忽略。
步進指令還造成對比較邏輯電路30—1的輸出的取樣,以把由ACP10代表的密鑰位與從存儲器塊讀出的下一鎖位之間的比較結(jié)果存儲起來。此外,當(dāng)從存儲器塊中讀出的鎖位包含一個“1”時,結(jié)束計數(shù)器30—3增1并且把鎖位和ACP10提供的密鑰位比較。當(dāng)從存儲塊中讀出的鎖位為“0”時,步進指令將結(jié)束計數(shù)器30—3復(fù)位為“0”。另外,當(dāng)出現(xiàn)錯誤比較時,步進指令將累加比較觸發(fā)器復(fù)位為“0”。
第三類指令為結(jié)束指令,由ACP10執(zhí)行一次以結(jié)束密鑰驗證操作。該指令對累加比較觸發(fā)器30—2和結(jié)束計數(shù)器30—3的狀態(tài)取樣。當(dāng)這兩個元件都處于正確狀態(tài)時,結(jié)束指令設(shè)置存儲器43的塊訪問控制單元。更具體地說,當(dāng)結(jié)束計數(shù)器30—3已經(jīng)達到了由溢出輸出信號的產(chǎn)生所指示的最大計數(shù)值、而且累加比較觸發(fā)器30—2還處于表示沒有出現(xiàn)錯誤比較的二進制“1”狀態(tài)時,結(jié)束指令引起對由地址計數(shù)器56的最高地址位內(nèi)容指示的存儲器43的訪問控制單元的設(shè)置。
應(yīng)該注意到上述指令也和在卡初始裝入或制作期間以及對被選的塊擦除期間發(fā)生的塊擦除操作一塊使用。在這些操作方式期間開始的操作也在圖5的動作表和附錄II中說明。這些操作將在下面結(jié)合圖6a到圖6c討論。
操作過程描述現(xiàn)在將具體參照圖5的動作表和圖6a到6c的流程圖介紹本發(fā)明安全存儲器卡的操作。圖6a給出了存儲器卡的制作過程或初始裝入過程中所包括的步驟序列。這個序列用來對某個給定的應(yīng)用定制存儲器卡。在詳細介紹這種操作之前,首先描述密鑰值選擇和存儲器擦除處理過程。
在卡的制作期間或作為初始裝入操作的一部分,ACP10對存儲器卡上的每個存儲器芯片設(shè)置鎖值。這是通過把密鑰值裝入圖4的每個存儲器54的每個塊的鎖位單元來實現(xiàn)的。這些值被存放在ACP的被保護非易失性存儲器10—2(即圖2中的密鑰1—n)中。另外,還要對ACP10裝入有關(guān)存儲器結(jié)構(gòu)的配置信息和裝入將被作用到每個存儲器塊的保護級。
如上所述,根據(jù)和HDLC協(xié)議的規(guī)則類似的規(guī)則選擇被保護存儲器塊的密鑰值。每個密鑰值可以具有能存在被分配的塊鎖存儲區(qū)中的任意長度,并且以二進制“0”值開頭,后跟1”和“0”的被選序列,結(jié)尾為7個“1”位的串或序列。因此,除了最后7個“1”外該序列被編碼,使之不包含多于6個連續(xù)的“1”位。
在密鑰碼寫或裝入之前,閃速存儲器43必須先被擦除。這樣做是為了利用閃速存儲器固有的寫特性來保護存在其中的數(shù)據(jù)。即,它允許將被保護的每個塊的每組鎖位單元中的第一位(第0個)被置為“0”狀態(tài)。由于這些單元是非易失性的,因此,不會從“0”狀態(tài)變?yōu)椤?”狀態(tài),為了改變其內(nèi)容,整個塊必須被清除。
擦除處理過程在最佳實施例中,閃速存儲器43是在一塊接一塊的基礎(chǔ)上被擦除的。這使得能在存儲器卡制作或裝入期間并且在卡操作期間執(zhí)行選擇性的塊擦除操作時可使用同樣的擦除過程。當(dāng)一個塊被擦除時,包括存在鎖存儲區(qū)中的鎖位的所有數(shù)據(jù)都被置為“1”。如果要想保護該塊,在這時必須寫入一個新的鎖值。即,它將破壞安全性以允許在任一時刻寫入各鎖位。因此,加入鎖寫允許觸發(fā)器32來保證只能在塊擦除操作后立即寫入鎖位。
在塊擦除期間,地址寄存器計數(shù)器56的最高位組位置中保持正在被擦除的塊地址。在完成擦除操作時,觸發(fā)器32被置為二進制“1”狀態(tài)。當(dāng)設(shè)置時,該觸發(fā)器引起對啟動指令和步進指令的操作的修改,以便把由這些指令提供的各位寫入鎖住位置,來代替對它們的比較。除了啟動和步進指令外的其他指令都將造成觸發(fā)器32復(fù)位。因此,結(jié)束指令用來復(fù)位鎖寫允許觸發(fā)器32以終止鎖位寫操作。另外,在這種情況下,結(jié)束指令還把該塊的ACM存儲單元設(shè)置為二進制“1”狀態(tài)。因此,允許對該塊的訪問。
如果根據(jù)保持在ACP10存儲器中的配置信息一個塊沒有被保護,則除了啟動和步進指令外其他指令的執(zhí)行將通過復(fù)位鎖寫允許觸發(fā)器32禁止鎖位寫入。然后執(zhí)行啟動指令將把等于“1”的第0個鎖位送到ACM存儲單元,由此使能訪問。
卡的制作過程圖6a說明ACP10如何為存儲器卡上的每個存儲器芯片設(shè)置鎖值。這是通過把密鑰值裝入圖4的每個存儲器的每個塊的鎖位單元來實現(xiàn)的。如圖6a的框600和602中所示,在卡制作期間執(zhí)行的密鑰寫入/裝入操作一開始先對第一閃速存儲器塊尋址,然后擦除該存儲器塊。ACP10根據(jù)定義存儲器保護級的配置信息確定該塊是否被保護。如果它不受保護,ACP10只需裝入其內(nèi)容,如圖6a的框614中所示。
但如果該塊被保護,ACP10執(zhí)行一序列的啟動、步進和結(jié)束指令(即框606—610),來把該塊的密鑰值位寫入其鎖位單元。即,執(zhí)行啟動指令,把二進制“0”寫入第一存儲器塊的鎖位位置LM130上。如圖6a的框606所示。如圖6a的框608所示,執(zhí)行每個步進指令把存在ACP10存儲器中的下一位密鑰值寫入第一塊的下一鎖位位置上(例如LM131)。如果還有更多的密鑰位要寫入到第一塊的鎖位位置上,ACP10執(zhí)行另一條步進指令。步進指令被執(zhí)行直到ACP10確定被存儲密鑰值的所有位都已經(jīng)被寫入第一存儲器塊鎖存儲區(qū)的鎖位位置上。ACP10是通過檢測是否已經(jīng)出現(xiàn)表示密鑰值結(jié)尾的7個連續(xù)的“1”來進行這個確定的。
如圖6a的框612所示,一旦完成密鑰值的寫入,ACP10執(zhí)行一個結(jié)束指令,把第一塊對應(yīng)的ACM存儲單元設(shè)置為二進制“1”狀態(tài)以便允許對該塊的訪問。接著,把特定應(yīng)用的適當(dāng)數(shù)據(jù)或過程信息裝入第一塊。如圖6a所示,對每個塊重復(fù)執(zhí)行框602—614的操作直到所有芯片的所有存儲器塊都已經(jīng)被處理過。
和相關(guān)專利申請的情況中一樣,在用戶定制期間,用戶建立鑒別頻率和方式的參數(shù)并建立所需的特定數(shù)據(jù)(例如個人標(biāo)識號碼(PINs))。這些信息也被存在ACP的存儲器中。這時,安全存儲器卡隨時可以加電并進行一次鑒別過程。
和相關(guān)專利申請的情況中一樣,第一次鑒別對話可由ACP10啟動。即,ACP10利用其主處理機5的服務(wù),指示用戶并接收如PIN或其他識別信息這樣一些來自用戶的鑒雖信息。如果鑒別不成功,不執(zhí)行任何操作。如果鑒別成功,則由ACP10對每個被保護的塊執(zhí)行第一次密鑰驗證操作。當(dāng)驗證操作成功執(zhí)行時,ACP10通過對訪問控制存儲器43中的對應(yīng)訪問控制存儲單元置位而允許對該塊的訪問。
做為下一步,周期性地,根據(jù)用戶的配置,ACP10可以提示另一個用戶鑒別(重新鑒別)。當(dāng)出現(xiàn)失敗時,ACP10迫使所有的存儲器芯片處于接通電源的狀態(tài),因而通過清除訪問控制存儲器43的內(nèi)容禁止對存儲器數(shù)據(jù)的任何訪問。
加電處理過程現(xiàn)在結(jié)合圖6b介紹本發(fā)明的密鑰驗證操作。如圖所示,驗證操作是做為正常的加電操作的一部分來執(zhí)行的。如框620中所示,加電操作序列包括對安全性段103S不同元件,如訪問控制存儲器43,累加比較觸發(fā)器30—2和終止計數(shù)器30—3,的初始化。密鑰驗證操作是通過執(zhí)行圖6b所示的一序列指令和操作來實現(xiàn)的,這將出現(xiàn)圖5的表中所示的動作序列。
參看圖6b,可以看到在初始化之后,ACP10對第一存儲器塊尋址,并通過首先執(zhí)行一個啟動指令來實現(xiàn)框624的操作。如圖5的表中所示,這將使得啟動指令的最高地址位組被裝入地址鎖存計數(shù)器56。同時,中間地址位組也被迫置為全“0”,以便讀出對應(yīng)位LMB0的第一位單元的內(nèi)容。位LMB0的內(nèi)容可被裝入到和第一塊相關(guān)的控制存儲器43的控制訪問存儲單元中。如果第一塊被保護,控制訪問存儲單元被置為二進制“0”狀態(tài)。這將保證該塊的數(shù)據(jù)內(nèi)容在密鑰驗證處理期間仍然被保護。但如果該塊不是被保護的,該單元將置為二進制“1”狀態(tài)。另外,結(jié)束計數(shù)器30—3被復(fù)位為“0”,而累加比較觸發(fā)器30—2被置為二進制“1”狀態(tài)。
如果該塊不被保護,啟動指令是需要執(zhí)行的唯一指令。即,由啟動指令指定的ACM塊存儲觸發(fā)器被置為二進制“1”,以做為選通第一位位置(LMB0)的二進制“1”狀態(tài)進入該觸發(fā)器的結(jié)果。假定第一塊被保護,ACP10開始執(zhí)行多個步進指令,其個數(shù)對應(yīng)密鑰序列中的位數(shù),它可通過檢測被存放在其非易失性存儲器(如上所述)中的該塊的密鑰值的位數(shù)來確定。
如圖5的表中所示,每個步進指令使得被存在地址鎖存計數(shù)器30—3中的中間地址位組增1。以便讀出下一鎖位單元LMB1。單元LMB1的內(nèi)容和ACP10提供的密鑰位比較,這是被比較的序列的第一密鑰位。如果兩個比較一致,則不必改變累加比較觸發(fā)器30—2的狀態(tài),而仍然保持為設(shè)置狀態(tài)。但如果錯誤比較,則觸發(fā)器30—2被復(fù)位為二進制“0”。步進指令還使得結(jié)束計數(shù)器30—3增1,如果被讀出的鎖存儲位(LMB1)為二進制“1”并且它和被提供的密鑰位比較的話。如果沒有比較,表示比較錯誤,則結(jié)束計數(shù)器30—3復(fù)位為“0”。
此外,如果結(jié)束計數(shù)器30—3超出了導(dǎo)致溢出的最大計數(shù)值,也將使得比較觸發(fā)器30—2被復(fù)位為二進制“0”狀態(tài)。當(dāng)結(jié)束計數(shù)器30—3增加到超出其最大值時,這說明ACP10試圖在超出鎖位的范圍進行一次比較。因為這在正常的操作期間是絕不會出現(xiàn)的,因此,比較累加觸發(fā)器30—2被復(fù)位為“0”,進一步禁止發(fā)生成功的匹配以保證更大的安全性。
假定不出現(xiàn)錯誤比較,ACP10繼續(xù)執(zhí)行下一步進指令,這將重復(fù)上述的一序列動作。在這種執(zhí)行期間,每個連續(xù)的“1”位將使得結(jié)束計數(shù)器30—3增1。因此,就在執(zhí)行第n個步進指令之前,結(jié)束計數(shù)器30—3應(yīng)該已經(jīng)計算6個連續(xù)的“1”位。在不出現(xiàn)錯誤比較和溢出的情況下,第n個步進指令的執(zhí)行將使得結(jié)束計數(shù)器增加到其最大的計數(shù)7,而導(dǎo)致產(chǎn)生輸出。
在執(zhí)行第n個步進指令之后,ACP10執(zhí)行一個結(jié)束指令以完成密鑰驗證操作。該指令造成對結(jié)束計數(shù)器30—3和累加比較觸發(fā)器30—2的狀態(tài)取樣,來確定結(jié)果是否正確。如果這兩個元件都處于二進制的“1”狀態(tài),則ACP10使該塊的訪問控制單元設(shè)置為二進制“1”。如果結(jié)果不正確,則ACP10復(fù)位訪問控制單元為二進制的“0”狀態(tài)。另外,如圖5的表所示,結(jié)束指令對結(jié)束計數(shù)器30—3和累加比較觸發(fā)器30—2復(fù)位。
如圖6b所示,對每個其余的被保護塊重復(fù)上述的密鑰驗證操作。在密鑰驗證過程結(jié)束時,安全內(nèi)存卡準(zhǔn)備好開始上述的存儲器操作。如果在這些操作期間,用戶要把新的信息存在某個存儲器塊中,ACP10將執(zhí)行圖6C所示的操作序列。如圖所示,被選塊的地址將被裝入地址寄存器計數(shù)器56中。采用常規(guī)的方式對由計數(shù)器56中最高地址位組指定的塊進行擦除操作。在完成圖3的框62的電路所示的擦除操作后,產(chǎn)生一個輸出信號,把鎖寫允許觸發(fā)器32設(shè)置為二進制的“1”狀態(tài)。
接著,如圖6C的框644所示,ACP10根據(jù)被存儲的配置信息確定該被擦除塊是否被保護。如果被保護,ACP10將執(zhí)行一個啟動指令。因為寫鎖允許觸發(fā)器32被置位,它將修改啟動指令的操作,使得二進制“0”被寫入所選塊的鎖存儲區(qū)的第一位位置(LMB0)上,而不是執(zhí)行一次比較操作。接著,如框648和650所示,ACP10將執(zhí)行若干步進指令,把由步進指令提供的密鑰值位寫入所選塊的鎖位位置,直到所有的位都被寫上,其由檢測7個連續(xù)的“1”位標(biāo)識。在寫操作結(jié)束時,ACP10執(zhí)行一次結(jié)束指令,把鎖寫允許觸發(fā)器32復(fù)位為二進制的“0”狀態(tài)。另外,結(jié)束指令把和該塊相關(guān)的ACM存儲單元設(shè)置為二進制“1”狀態(tài),以便允許訪問該塊。如果根據(jù)配置信息該塊不被保護,則通過復(fù)位鎖寫允許觸發(fā)器32,任何指令的執(zhí)行將禁止鎖位的寫入。接著,如圖6C框654所示,ACP10執(zhí)行啟動指令,在常規(guī)的方式下操作,傳送從所選塊中讀出的第0個鎖位并將其選通到和該塊相關(guān)的ACM存儲單元中。
上面已經(jīng)說明了本發(fā)明如何能夠提供一種高度可制作和可程序設(shè)計的密鑰驗證系統(tǒng)。熟練的技術(shù)人員將認識到在不脫離本發(fā)明原理的情況下,能對本發(fā)明的最佳實施例進行許多改進。例如,本發(fā)明可用于不用類型的非易失性存儲器和不同的接口等等。另外,本發(fā)明能用于其塊尺寸很小的存儲器,要求每個存儲器可以有多個鎖位,以便提供包括大的密鑰,而不會顯著地增加安全訪問控制器的復(fù)雜性。
附錄附錄I信號描述符號 名稱和功能A0—A16 存儲器地址的地址輸入。在寫周期期間,地址被內(nèi)部鎖存。D00—D07 數(shù)據(jù)輸入/輸出在存儲器寫周期期間輸入數(shù)據(jù)和命令;在存儲器和狀態(tài)讀周期期間輸出數(shù)據(jù)。當(dāng)芯片設(shè)有被選中或輸出不允許時,數(shù)據(jù)引線是高態(tài)有效且浮動到三態(tài)斷開。在寫周期期間數(shù)據(jù)被內(nèi)部饋存。CE 芯片使能激活設(shè)備的控制邏輯、輸入緩沖區(qū)、解碼器和讀出放大器輸入緩沖區(qū)、彈簧器和讀出放大器。CE低態(tài)有效,CE高態(tài)不選擇存儲器設(shè)備并把功耗降至備用水平。PWD 斷電使設(shè)備處于深度斷電方式。PWD為低態(tài)有效;PWD 高態(tài)選通正常操作。PWD=VHH允許對存儲器塊編程。當(dāng)PWD低態(tài)有效時封鎖擦除操作或?qū)懖僮鳎栽诠β首儞Q期間提供數(shù)據(jù)保護。OE 輸出使能在讀周期期間通過數(shù)據(jù)緩沖區(qū)選通設(shè)備的輸出。OE為低態(tài)有效。WE 寫使能控制對命令寄存器和陣列塊的寫。WE為低態(tài)有效。
地址和數(shù)據(jù)在WE脈沖的上升邊緣被鎖存。Vpp 擦除/程序電源擦除陳列塊或?qū)γ總€塊的字節(jié)編程。注意當(dāng)Vpp<Vpp1 Max,存儲器的內(nèi)容不能改變。當(dāng)Vpp為高電平時,可以進行編程;如果Vpp為低電平,存儲器陣列54的功能如同只讀存儲器。
附錄II擴充指令表
(1)LWE為鎖寫使能。
(2)地址的最高位組為塊地址,其余位忽略。
(3)LMBO為鎖存儲器陳列中的第一位。
(4)被提供用于比較的1位密鑰數(shù)據(jù)。
(5)被提供用于寫入的1位鎖數(shù)據(jù)。
啟動指令(31H)該命令由ACP10執(zhí)行一次以開始密鑰驗證操作。若該塊不被保護(即第一鎖位為“1”),只需用該指令驗證。當(dāng)該指令被執(zhí)行且鎖寫使能觸發(fā)器處于設(shè)置狀態(tài),則把由該指令提供的位寫入被指定的某個存儲器塊的第一鎖位單元(Oth)。在這種情況下,地址的MSBs不被裝入地址寄存器,因為被尋址的塊和前面擦除操作的塊相同。
步進指令(32H)該命令對密鑰位序列中的每一位執(zhí)行一次。每個命令提供該密鑰位序列的一位以和下一個順序的鎖位進行比較。當(dāng)執(zhí)行該指令后且鎖寫使能觸發(fā)器在經(jīng)過一次擦除操作后處于設(shè)置狀態(tài)時,由該指令提供的位被寫入到某個存儲器塊的指定鎖位單元中。
結(jié)束指令(33H)該命令由ACP10執(zhí)行一次以關(guān)閉或完成密鑰驗證操作。它對累加比較觸發(fā)器的狀態(tài)取樣,檢測結(jié)束計數(shù)器,如果結(jié)果是正確的,使能對塊的訪問控制存儲單元的設(shè)置。當(dāng)執(zhí)地該指令后且寫鎖位使能觸發(fā)器處于設(shè)置狀態(tài)時,則復(fù)位鎖寫使能觸發(fā)器為二進制“0”狀態(tài),來終止鎖位寫操作,并設(shè)置該塊的訪問控制存儲單元以提供訪問。
雖然根據(jù)有關(guān)的規(guī)定和條例已經(jīng)說明和描述了本發(fā)明的最佳形式,但在不脫離下面所附權(quán)利說明書說明的精神的前提下可以進行某些修改,并且在某些情況下本發(fā)明的某些特征可以得到優(yōu)先的使用,而不必對慶于其他特征的使用。
權(quán)利要求
1.用于便攜式主機的一種安全存儲器卡,所述的存儲器卡包括和所述主機連接并用于同所述主機傳送和接收地址、數(shù)據(jù)和控制信息的微處理機,所述微處理機包括存放包括若干預(yù)先建立的密鑰值的信息的可尋址非易失性存儲器,每個密鑰值的長度不大于預(yù)定的位數(shù);連接所述微處理機的內(nèi)部總線,用于傳送地址、數(shù)據(jù)和傳送規(guī)定所述卡將執(zhí)行的存儲器操作的控制信息;以及至少一個非易失性的可尋址存儲器,和所述微處理機共同連接到所述內(nèi)部總線上,用于接收所述地址、數(shù)據(jù)和控制信息,所述存儲器包括一個存儲段和一個安全段,所述存儲段包括被組織為若干塊的非易失性存儲陣列,每個塊有多個可尋址的多位單元,預(yù)定數(shù)目的所述多個單元中的每一個中至少有一個預(yù)定的位單元被指定為存放密鑰值的不同位的鎖位單元,各鎖位單元集中在一起提供一組順序可尋址的鎖位單元,用于存放所述預(yù)定數(shù)目的位,還有一個控制邏輯裝置,用于執(zhí)行所述的存儲器操作,所述安全段連接所述控制邏輯裝置和所述存儲段,所述安全段包括具有多個可尋址存儲元件的訪問控制存儲器,不同的元件被賦給所述非易失性陣列的所述數(shù)目的塊中的每一個;以及,連接所述訪問控制存儲器、所述內(nèi)部總線和所述控制邏輯裝置的安全訪問控制器,所述安全訪問控制器響應(yīng)從所述控制邏輯裝置中接收到的信號,通過順序比較每個所述密鑰值的每個密鑰位和存放在被指定塊的所述一組鎖位單元中的每個對應(yīng)位而執(zhí)行密鑰驗證操作,并產(chǎn)生一個輸出信號,以打開所述多個可尋址存儲元件中的一個,使得僅當(dāng)所述的密鑰驗證操作被成功地執(zhí)行時,能從所述塊的對應(yīng)一個中讀出信息。
2.權(quán)利要求1的存儲器卡,其中,所述安全段包括和所述非易失性存儲器陣列、所述控制邏輯裝置和所述內(nèi)部總線連接的位比較邏輯裝置,用于順序比較所述一個密鑰值的所述密鑰位和存放在所述一組鎖位單元中的所述每個對應(yīng)位,所述位比較邏輯裝置產(chǎn)生表示每次比較結(jié)果的第一輸出信號;和用于接收所述輸出信號的所述位比較邏輯裝置、所述控制邏輯裝置和所述訪問控制存儲器連接的累加比較存儲元件,所述累加器比較存儲元件產(chǎn)生第二輸出信號,表示在由所述位比較邏輯裝置順序執(zhí)行的任一位比較操作中沒有出現(xiàn)錯誤比較,以及和所述非易失性存儲器陣列、所述控制邏輯裝置和所述訪問控制存儲器連接的結(jié)束計數(shù)器,所述結(jié)束計數(shù)器產(chǎn)生第三輸出信號,表示存放在所述鎖位單元組中的所有所述位都已經(jīng)從所述存儲器中被讀出,所述第二和第三輸出信號結(jié)合在一起,導(dǎo)致所述多個存儲元件中的所述一個的所述打開。
3.權(quán)利要求2的存儲器卡,其中,所述控制邏輯裝置包括和所述存儲器陣列和所述內(nèi)部總線連接的地址鎖存計數(shù)器和命令寄存器,分別存放從所述內(nèi)部總線接收到的地址和命令,所述寄存器響應(yīng)第一類命令,產(chǎn)生信號把所述累加比較存儲元件設(shè)置為某個預(yù)定的狀態(tài),把所述結(jié)束計數(shù)器復(fù)位為“0”,把和所述命令相關(guān)的地址的最高位組裝入所述地址鎖存計數(shù)器,并使所述地址的中間位組為“0”。
4.權(quán)利要求3的存儲器卡,其中,所述第一命令為一條啟動指令,所述預(yù)定狀態(tài)為二進制“1”狀態(tài),并且,其中的所述地址鎖存計數(shù)器有多個存儲段,以存放從所述啟動指令中得到的所述地址的所述最高位組,所述中間位組和最低位組。
5.權(quán)利要求3的存儲器卡,其中,所述命令寄存器僅當(dāng)所述第一輸出信號由所述位比較邏輯裝置產(chǎn)生時才響應(yīng)每個第二類命令,產(chǎn)生信號以便使結(jié)束計數(shù)器增1,從而在沒有所述第一輸出信號時把所述累加比較存儲元件從所述的預(yù)定狀態(tài)轉(zhuǎn)換為另一種狀態(tài),并且當(dāng)所述結(jié)束計數(shù)器超出了某個產(chǎn)生溢出條件的預(yù)定最大計數(shù)值時,復(fù)位所述的結(jié)束計數(shù)器。
6.權(quán)利要求5的存儲器卡,其中,所述第二類命令對應(yīng)一個步進指令,并且在其中,所述的最大計數(shù)值對應(yīng)密鑰值中所出現(xiàn)的表示密鑰值結(jié)尾的預(yù)定數(shù)目個“1”位。
7.權(quán)利要求3的存儲器卡,其中,所述命令寄存器響應(yīng)第三類命令產(chǎn)生信號,當(dāng)所述結(jié)束計數(shù)器已經(jīng)達到最大的計數(shù)并且所述的累加比較存儲元件處于所述的預(yù)定狀態(tài)時,這些信號把由所述最高地址位組指示的所述訪問控制存儲元件中的一個設(shè)置為某個預(yù)定的狀態(tài)。
8.權(quán)利要求7的存儲器卡,其中,所述的第三類命令對應(yīng)一條結(jié)束指令,并且其中,當(dāng)所述結(jié)束計數(shù)器還沒有達到所述的最大計數(shù)值或者所述的累加比較存儲元件沒有處在所述的預(yù)定狀態(tài)時,所述的信號把所述的結(jié)束計數(shù)器和累加比較存儲元件復(fù)位為“0”。
9.權(quán)利要求1的存儲器卡,其中,所述存儲段進一步包括連接到所述存儲器的擦除控制裝置,以對所述非易失性存儲器陣列的所述多個塊中的一個塊進行選擇性的塊清除,并且在其中,所述安全段進一步包括和所述擦除控制裝置和所述控制邏輯裝置連接的鎖寫允許存儲元件,所述鎖寫允許存儲元件在完成每次選擇性的塊擦除操作后立即被轉(zhuǎn)換到預(yù)定的狀態(tài),處于所述預(yù)定狀態(tài)的所述鎖寫允許存儲元件在其仍然保持在所述預(yù)定狀態(tài)的時間周期內(nèi),禁止所述控制邏輯裝置在所述非易失性存儲器陣列上執(zhí)行任何寫操作。
10.權(quán)利要求9的安全存儲器卡,其中,所述鎖寫允許存儲元件響應(yīng)把某個預(yù)定類型的命令送到所述內(nèi)部總線的所述微處理機,從所述預(yù)定狀態(tài)轉(zhuǎn)換為另一種狀態(tài)。
11.權(quán)利要求10的安全存儲器卡,其中,所述預(yù)定類型的命令對應(yīng)一條結(jié)束指令,其用來指示完成所述的選擇性清除操作。
12.權(quán)利要求9的安全存儲器卡,其中,存放在所述微處理機的所述可尋址非易失性存儲器中的所述信息進一步包括被編碼的配置信息,這些信息表示所述非易失性存儲器的所述塊中的哪一個將被保護,并且在其中,所述微處理機執(zhí)行一序列預(yù)定的命令,把所述預(yù)先建立的密鑰值中的一個的位寫入到由所述配置信息表示為被保護的一個被擦除塊的所述的串行地可尋址的一組鎖位單元中。
13.權(quán)利要求12的安全存儲器卡,其中,所述預(yù)定的命令序列包括第一類命令,用于把所述被擦除塊的所述鎖位單元組的第一鎖位地址設(shè)置為某個預(yù)定的狀態(tài),來保證被順序地裝入到所述被擦除塊的所述可尋址多位單元中的信息的保護。
14.權(quán)利要求13的安全存儲器卡,其中,所述預(yù)定狀態(tài)為二進制“0”狀態(tài),以要求順序地裝入所述被擦除塊中的信息必須被擦除,以便復(fù)位所述的第一鎖位地址,使能對所述信息訪問,并且其中所述第一類命令是一個啟動命令。
15.權(quán)利要求13的安全存儲器卡,其中,所述預(yù)定的命令序列包括若干第二類命令,每個第二類命令使得所述各密鑰值中一個的所述位中的不同位被順序地寫入所述組的其他鎖位單元中,直到所述各密鑰值中的所述一個的所有所述位已經(jīng)被存儲為止。
16.權(quán)利要求15中的安全存儲器卡,其中,根據(jù)某個預(yù)定的協(xié)議模式對每個所述的密鑰值編碼。
17.權(quán)利要求15的安全存儲器卡,其中,所述第二類命令是步進指令,并且所述第二類命令的所述數(shù)目對應(yīng)被包含在所述密鑰值中的位的數(shù)目。
18.權(quán)利要求15的安全存儲器卡,其中,所述預(yù)定的命令序列包括作為所述序列中的最后一個命令的所述的預(yù)定命令,所述預(yù)定命令把所述訪問控制存儲器的所述多個可尋址存儲元件中的一個置為某個預(yù)定的狀態(tài),使能對所述被擦除塊的訪問,以把信息裝入所述的存儲單元,由此完成所述的被選擇塊擦除操作。
19.權(quán)利要求16的安全存儲器卡,其中,所述的預(yù)定協(xié)議模式包括預(yù)定數(shù)目的連續(xù)的二進制“1”位,以表示所述密鑰值的結(jié)尾。
20.權(quán)利要求1的安全存儲器卡,其中,存放在所述微處理機的所述可尋址非易失性存儲器中的所述信息進一步包括被編碼的配置信息,表示所述非易失性存儲器的所述塊中的哪一些將被保護,并且其中所述微處理機進一步包括根據(jù)所述配置信息對所述非易失性存儲器陣列配置的命令,所述命令使得所述控制邏輯裝置對由所述配置信息表示為被保護的所有所述塊的第一鎖位地址進行設(shè)置,把所述各密鑰值中的對應(yīng)密鑰值的位寫入到被表示為保護的所有所述塊的鎖位單地的所述組中并置為某個預(yù)定的狀態(tài),所述訪問控制存儲器的所有所述存儲元件被分配給被保護塊,由此,使信息能被裝入其中,以完成所述非易失性存儲器陣列的初始配置。
全文摘要
一種安全存儲器卡包括在單個半導(dǎo)體芯片上的一個微處理機,微處理機通過內(nèi)部總線連接若干非易失性的可尋址存儲器陣列(103a,103b,…103n)。微處理機包括存放若干密鑰值的一個可尋址非易失性存儲器。每個芯片的存儲器被組織為若干個塊,每個塊包括若干字節(jié)單元的行。每行包括一個鎖位單元,所有這些鎖位單元存放一個鎖值。每個存儲器芯片(103a,103b,…103n)被構(gòu)造包括安全性控制邏輯電路(30),這些電路用來執(zhí)行預(yù)定的密鑰驗證操作。
文檔編號G06K19/073GK1122163SQ95190028
公開日1996年5月8日 申請日期1995年1月12日 優(yōu)先權(quán)日1994年1月14日
發(fā)明者托馬斯·O·霍爾特利 申請人:Cp8川薩克公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
缙云县| 安西县| 海安县| 班戈县| 安达市| 石门县| 克山县| 九寨沟县| 南木林县| 双江| 祁门县| 老河口市| 建水县| 金塔县| 龙川县| 瑞安市| 杭州市| 玛多县| 鄂托克前旗| 尉犁县| 永春县| 台北市| 静乐县| 应城市| 普安县| 阿鲁科尔沁旗| 托克逊县| 宜宾县| 枣庄市| 吉水县| 贵港市| 罗江县| 双峰县| 曲沃县| 芒康县| 永昌县| 岳池县| 乌海市| 资中县| 淮南市| 昌宁县|