專(zhuān)利名稱:對(duì)于數(shù)據(jù)安全系統(tǒng)的預(yù)引導(dǎo)保護(hù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般從屬于計(jì)算機(jī)安全系統(tǒng),特別與一種微處理器控制的系統(tǒng)有關(guān),該系統(tǒng)用于控制用戶存取和傳播存儲(chǔ)在安全計(jì)算機(jī)中的安全數(shù)據(jù)。
發(fā)明的技術(shù)背景在使用計(jì)算機(jī)方面,已取得巨大進(jìn)展的是在各種商業(yè)的和政府部門(mén)中用于處理和儲(chǔ)存敏感的信息。計(jì)算機(jī)系統(tǒng)已經(jīng)由存取受限制的大系統(tǒng)演變到便攜的并且容易被若干用戶進(jìn)行存取的小系統(tǒng)。由于部件已更易受影響以及對(duì)計(jì)算機(jī)存取易化的要求已經(jīng)擴(kuò)散,所以更需要保護(hù)敏感數(shù)據(jù),安全存取計(jì)算機(jī)系統(tǒng)的一種方法是限制對(duì)該計(jì)算機(jī)系統(tǒng)的物理存取,然而,這樣的限制對(duì)于有助于共享存取和可移植性增加的典型的計(jì)算機(jī)系統(tǒng)計(jì)算站而言是不充分的。使用限制物理存取的安全計(jì)算機(jī)系統(tǒng)的成本也是不低的。
用于提供敏感數(shù)據(jù)安全性的另一種方法是使用限制對(duì)計(jì)算機(jī)系統(tǒng)存取的程序。然而,這種方法具有缺陷。例如,一授權(quán)用戶能經(jīng)常越過(guò)要求安全性程序的安全性程序或路由獲得對(duì)該計(jì)算機(jī)系統(tǒng)的存取。即使該安全程序證實(shí)難以越過(guò),該授權(quán)用戶能簡(jiǎn)單地通過(guò)移置存儲(chǔ)器或監(jiān)視數(shù)據(jù)總線來(lái)移置儲(chǔ)存在計(jì)算機(jī)中的信息。例如,一個(gè)硬驅(qū)動(dòng)器可能從該計(jì)算機(jī)移置并安裝在另一計(jì)算機(jī)中,以便讀出該硬驅(qū)動(dòng)器的內(nèi)容。
為防止敏感信息的這種未授權(quán)的存取或檢索,敏感數(shù)據(jù)可以邏輯地或物理地使其無(wú)效。邏輯破壞要求在破壞處理發(fā)生后,任何無(wú)效的數(shù)據(jù)對(duì)另一用戶是不可理解的。儲(chǔ)存媒體通常將仍然被重復(fù)使用。作為例子,當(dāng)檢測(cè)到未授權(quán)存取時(shí),一邏輯破壞程序是擦除一硬驅(qū)動(dòng)器上的敏感文件的程序。另一方面,物理的數(shù)據(jù)破壞要求儲(chǔ)存媒體的摧毀性的破壞,以便保證在儲(chǔ)存媒體中的內(nèi)容不可挽回地遺失。
在某些應(yīng)用中,破壞該邏輯數(shù)據(jù)的程序失效,為的是完全破壞該數(shù)據(jù),并且先進(jìn)的數(shù)據(jù)檢索技術(shù)可以用來(lái)恢復(fù)被邏輯上破壞的信息的蹤跡。例如,在計(jì)算機(jī)的硬驅(qū)動(dòng)器上的信息可以通過(guò)這樣的方法來(lái)恢復(fù),即根據(jù)字的蹤跡的磁剩余量檢測(cè)在先寫(xiě)入或擦除的二進(jìn)制字。如果邏輯破壞方法只是部分地有效,則也可以要求物理破壞技術(shù),以便保證該數(shù)據(jù)被破壞并不可能恢復(fù)。
可以考慮去限制對(duì)計(jì)算機(jī)或工作站的具體外圍設(shè)備的存取,而不是限制對(duì)整個(gè)計(jì)算系統(tǒng)的存取。現(xiàn)代計(jì)算機(jī)安全系統(tǒng)未能提供這樣限制的存取。
因此,在技術(shù)上有需要禁止非授權(quán)的存取的以及回避維持在現(xiàn)代計(jì)算機(jī)系統(tǒng)中固有的可移植性及可塑性是不脆弱的計(jì)算機(jī)安全系統(tǒng)還需要提供敏感數(shù)據(jù)的充分的保護(hù),例如數(shù)據(jù)不能越過(guò)數(shù)據(jù)保護(hù)系統(tǒng)或通過(guò)物理移除數(shù)據(jù)儲(chǔ)存設(shè)備而得到恢復(fù)。最后,該系統(tǒng)還必須提供敏感數(shù)據(jù)的完全破壞,以便防止檢索數(shù)據(jù)蹤跡。
發(fā)明綜述根據(jù)閱讀并理解下列詳細(xì)說(shuō)明、為克服對(duì)技術(shù)人員明顯的這些和其他的缺陷和限制,本發(fā)明提供了用于控制對(duì)計(jì)算機(jī)敏感信息的存取而不妥協(xié)敏感數(shù)據(jù)安全性的一種系統(tǒng)。本發(fā)明限制被授權(quán)用戶對(duì)計(jì)算機(jī)的存取。此外,它檢測(cè)模仿一被授權(quán)用戶去存取的試圖。此外,本發(fā)明提供敏感數(shù)據(jù)的可組合的邏輯的和物理的破壞,還提供裝置,以便調(diào)整用于破壞的閾值要求以及破壞的電平以適應(yīng)對(duì)于儲(chǔ)存在計(jì)算機(jī)上的信息所要求的安全性程度。最后,本發(fā)明提供一種裝置,在集中授權(quán)安全性管理人員的控制下,根據(jù)每個(gè)單獨(dú)用戶形成的存取優(yōu)先權(quán),用于限制對(duì)整個(gè)計(jì)算機(jī)系統(tǒng)部分的存取。
在本發(fā)明的一個(gè)實(shí)施例中,一微處理器控制的卡片閱讀機(jī)接口邏輯上連接到計(jì)算機(jī)的CPU,從/向放置在該卡片閱讀機(jī)中的一集成電路卡片, (“卡片”或“靈活卡片”)讀/寫(xiě)信息。讀出信息提供給CPU以確定哪些外圍設(shè)備由被授權(quán)用戶存取。一卡片閱讀機(jī)接口板邏輯上連接到計(jì)算機(jī)的計(jì)算機(jī)監(jiān)視器地址總線的數(shù)據(jù)和地址總線并限制對(duì)系統(tǒng)中數(shù)據(jù)存儲(chǔ)設(shè)備和組合端的存取以及執(zhí)行一指定的檢驗(yàn)程序,以檢驗(yàn)該用戶的授權(quán)狀態(tài)。
按照本發(fā)明的一實(shí)施例,當(dāng)一有效用戶卡片放置在該卡片閱讀機(jī)中時(shí),從該卡片讀出一個(gè)或多個(gè)問(wèn)題并向該用戶顯示。該用戶的響應(yīng)同儲(chǔ)存在卡片上的正確回答比較。如果該響應(yīng)與正確回答相一致,CPU被允許存取已被授權(quán)的用戶使用的所有外圍設(shè)備。計(jì)算機(jī)的安全性通過(guò)協(xié)調(diào)從卡片,用戶,以及計(jì)算機(jī)RAM接收的識(shí)別信息加以改善,以保證適當(dāng)?shù)臋z驗(yàn)。該系統(tǒng)要求為控制存取使用相同的卡片,用戶,以及計(jì)算機(jī)。
在本發(fā)明的一實(shí)施例中,系統(tǒng)提供用一種安全性管理人員卡片初始化以及授權(quán)一用戶卡片的方法。根據(jù)放置在卡片閱讀機(jī)中的有效安全性管理人員卡片,一安全性管理人員通過(guò)向該安全管理人員顯示的菜單目錄初始化以及授權(quán)一或多個(gè)單獨(dú)用戶卡片。該安全性管理人員輸入之后被儲(chǔ)存在該用戶卡片上以便在檢驗(yàn)過(guò)程期間使用的問(wèn)題和回答的目錄。
在本發(fā)明的實(shí)施例中,該系統(tǒng)通過(guò)直接對(duì)卡片上的存取代碼進(jìn)行編碼提供存取特權(quán)的層次,該卡片允許具有上級(jí)存取特權(quán)的用戶存取具有下級(jí)存取特權(quán)的用戶的計(jì)算機(jī)上的數(shù)據(jù)。相同的編碼系統(tǒng)防止具有低級(jí)存取特權(quán)的用戶存取具有高級(jí)存取特權(quán)的那些用戶的計(jì)算機(jī)。
在本發(fā)明的一實(shí)施例中,本發(fā)明響應(yīng)用戶試圖違反該計(jì)算機(jī)系統(tǒng)的邏輯的或物理的完整性提供數(shù)據(jù)的物理上的或邏輯上的破壞。對(duì)于通過(guò)使用維護(hù)卡片維護(hù)或組合目的而言,這種數(shù)據(jù)的物理上的或邏輯上的破壞可以是禁止的。
根據(jù)下面的詳細(xì)說(shuō)明,本發(fā)明上述的和其他的特征和優(yōu)點(diǎn)將更加明顯。說(shuō)明伴隨著一組附圖,數(shù)字貫穿撰寫(xiě)說(shuō)明,附圖指出本發(fā)明的各種特征,同樣的數(shù)字系指同樣的特征。
附圖簡(jiǎn)要說(shuō)明在附圖中,同樣的數(shù)字描述同樣的貫穿若干圖的元件
圖1A是按本發(fā)明實(shí)施的一種安全計(jì)算機(jī)的第一實(shí)施例的透視圖;圖1B是表示按本發(fā)明實(shí)施的一種安全計(jì)算機(jī)系統(tǒng)的第一實(shí)施例的高層次結(jié)構(gòu)的方塊圖;圖1C是表示用于按本發(fā)明的一種安全計(jì)算機(jī)系統(tǒng)的第一實(shí)施例的微處理器控制的卡片閱讀機(jī)接口的電氣方塊圖;圖1D是按本發(fā)明實(shí)施的一種安全計(jì)算機(jī)的第二實(shí)施例的透視圖;圖1E是按本發(fā)明實(shí)施的一種安全計(jì)算機(jī)系統(tǒng)的第三實(shí)施例的透視圖;圖2A是具有硬驅(qū)動(dòng)器和接口板的一種計(jì)算機(jī)系統(tǒng)的方塊圖;
圖2B是表示一具有硬驅(qū)動(dòng)器的計(jì)算機(jī)如何修改成按本發(fā)明第二實(shí)施例的安全計(jì)算機(jī)系統(tǒng)的方塊圖;圖3是表示按本發(fā)明第二實(shí)施例的一種安全計(jì)算機(jī)系統(tǒng)的高層次結(jié)構(gòu)的方塊圖;圖4表示圖3中所示控制ASIC的一實(shí)施例的高層次結(jié)構(gòu)的方塊圖;圖5表示說(shuō)明圖3中所示的數(shù)據(jù)引導(dǎo)網(wǎng)絡(luò)的一實(shí)施例的工作的方塊圖;圖6是表示駐留在圖3的卡片閱讀機(jī)的一實(shí)施例的只讀存儲(chǔ)器(ROM)中的裝入程序和檢驗(yàn)程序的方塊圖;圖7A,7B,7C和7D是表示初始化和執(zhí)行按本發(fā)明的安全計(jì)算機(jī)系統(tǒng)程序的安全性部分的程序步驟的流程圖;圖8是表示安全計(jì)算機(jī)系統(tǒng)用戶存取的層次的方塊圖;以及圖9A和9B說(shuō)明用于共同放置卡片閱讀機(jī)和硬驅(qū)動(dòng)器的安裝方案的一實(shí)施例的圖示。
優(yōu)選實(shí)施例的詳細(xì)說(shuō)明在以下優(yōu)選實(shí)施例的詳細(xì)說(shuō)明中,參照構(gòu)成其部分的附圖,其中表示用本發(fā)明可以實(shí)踐的指定實(shí)施例的說(shuō)明的方法,但應(yīng)理解的是,可以使用其他的實(shí)施例,并且可以進(jìn)行結(jié)構(gòu)改變而不脫離本發(fā)明的范圍。
圖1A表示按本發(fā)明第一實(shí)施例的使用卡片閱讀機(jī)保安全的計(jì)算機(jī)系統(tǒng)的部件。該實(shí)施例已于1994年7月5日公布在Mooney等人的美國(guó)專(zhuān)利5,327,497中。該計(jì)算機(jī)系統(tǒng)包括一鍵盤(pán)101,通過(guò)它用戶可輸入數(shù)據(jù)到系統(tǒng)中,一計(jì)算機(jī)底盤(pán)103,它容納電氣元件和外設(shè),一屏幕顯示器105,通過(guò)它顯示信息于用戶,以及一指示裝置107,系統(tǒng)元件通過(guò)計(jì)算機(jī)內(nèi)部系統(tǒng)總線彼此連接。一卡片閱讀機(jī)111通過(guò)卡片閱讀機(jī)和接口板109連接到安全計(jì)算機(jī)系統(tǒng)。優(yōu)選的卡片閱讀機(jī)111是一種(Amphenol)電纜接頭式的“片狀卡片”接收器裝置,零件號(hào)為70210M008 5392 4794,它是同國(guó)際標(biāo)準(zhǔn)組織(ISO)規(guī)范相兼容的,雖然本專(zhuān)業(yè)技術(shù)人員容易認(rèn)可符合該ISO7816的其他卡片閱讀裝置可以代用。
對(duì)于安全的計(jì)算機(jī)系統(tǒng),卡片閱讀機(jī)接口按類(lèi)似于圖1B中所展示的方式被集成到計(jì)算機(jī)系統(tǒng)中。卡片閱讀機(jī)接口包括通過(guò)第二數(shù)據(jù)總線117連接到計(jì)算機(jī)CPU的微處理器116,通過(guò)第三數(shù)據(jù)總線131連接到RAM127,以及通過(guò)第四數(shù)據(jù)總線133連接到該卡片閱讀機(jī)111。該接口板109一般用印刷電路板技術(shù)實(shí)施,雖然其他的技術(shù)可以取代而不損害通性。在計(jì)算機(jī)103中的外設(shè)121由CPU123和具有電源控制電路119的PLD129控制,該電路119控制加到外設(shè)121的電源的通和斷。系統(tǒng)引導(dǎo)ROM126在加電源,清零,或熱引導(dǎo)恢復(fù)期間,根據(jù)計(jì)算機(jī)的初始化,邏輯上連接到CPU123,以便起動(dòng)執(zhí)行包括在PLD129中的非易失性程序。
一IC卡片115與卡片閱讀機(jī)111連接。優(yōu)選的卡片115是一種MICRO CARD或GEMPLUS卡片(例如,蘇格蘭人100,TB100,或COSIC卡片),它們與ISO7816相兼容。由于與該標(biāo)準(zhǔn)相一致,該卡片能支持?jǐn)?shù)據(jù)加密標(biāo)準(zhǔn)(DES)的數(shù)據(jù)加密和解密功能。本專(zhuān)業(yè)技術(shù)人員容易識(shí)別,其他的與該標(biāo)準(zhǔn)相一致的并提供數(shù)據(jù)加密和解密功能的卡片可以取代。加密和解密數(shù)據(jù)的能力是重要的,因?yàn)楸景l(fā)明被指定保證未加密敏感數(shù)據(jù)不能駐留在容易被未被授權(quán)用戶讀出的CPU中。
在圖1C中更詳細(xì)地描述了卡片閱讀機(jī)接口109的方案。微處理器116由電路135供電,并通過(guò)連接到系統(tǒng)數(shù)據(jù)總線125控制系統(tǒng)的功能。由清零線137起動(dòng)系統(tǒng)復(fù)位。有效的和被授權(quán)信息通過(guò)與地址或數(shù)據(jù)選擇線141選通線143和片選擇線145連接的第三數(shù)據(jù)總線131在微處理器116和RAM127之間傳輸。由+5V的鋰電池139給RAM127提供電源。
微處理器116使用CTS線147,DTR線149,10MHz時(shí)鐘線151,串行數(shù)據(jù)輸出線153,以及串行數(shù)據(jù)輸入線155作為串行連通裝置與系統(tǒng)數(shù)據(jù)總線125互通。一分開(kāi)的3.5MHz時(shí)鐘線157用于提供一時(shí)鐘信號(hào)到PLD129,該P(yáng)LD129是由微處理器116通過(guò)線159用于卡片復(fù)位控制,通過(guò)線161用于卡片串行數(shù)據(jù)控制,以及通過(guò)線163用于卡片中斷控制。PLD129依次通過(guò)卡片串行數(shù)據(jù)接點(diǎn)177,卡片時(shí)鐘接點(diǎn)179,以及卡片復(fù)位接點(diǎn)181與該卡片連接。
微處理器116還具有通過(guò)線165控制計(jì)算機(jī)系統(tǒng)內(nèi)的數(shù)據(jù)的物理破壞的能力。一物理破壞裝置可以使用用作破壞信號(hào)的線165觸發(fā)。例如,線165可以連接到包括化學(xué)溶液的機(jī)構(gòu),當(dāng)未被授權(quán)用戶試圖違反該計(jì)算機(jī)系統(tǒng)的物理的或邏輯的通性時(shí),該溶液濺射到包括在該安全計(jì)算機(jī)系統(tǒng)內(nèi)的硬盤(pán)上。在現(xiàn)有技術(shù)中曾教導(dǎo)過(guò)若干破壞機(jī)構(gòu),本領(lǐng)域普通的技術(shù)人員能認(rèn)識(shí)到其他等效的破壞的化學(xué)品和機(jī)構(gòu)可取而代之而不損害通性。
微處理器116用具有開(kāi)關(guān)171和+5V的繼電器的電源控制線173通過(guò)卡片邏輯電壓源接點(diǎn)183和卡片編程接點(diǎn)187對(duì)卡片供電。該卡片通過(guò)卡片接地接點(diǎn)185接地,并且通過(guò)用卡片檢測(cè)電源接點(diǎn)191將電源加到微處理器116由卡片檢測(cè)接點(diǎn)189檢測(cè)。卡片接點(diǎn)193和195以及線197備用于將來(lái)。
圖1D表示按本發(fā)明一種安全計(jì)算機(jī)系統(tǒng)的第二實(shí)施例的部件。安全計(jì)算機(jī)系統(tǒng)100包括鍵盤(pán)101,用戶由它可輸入數(shù)據(jù)到該系統(tǒng)中,一計(jì)算機(jī)底盤(pán)103,它容納電氣部件和外設(shè),一屏幕顯示器105,由它向用戶顯示信息,一安全硬盤(pán)113,以及一指示裝置107,系統(tǒng)部件通過(guò)計(jì)算機(jī)內(nèi)部系統(tǒng)總線彼此按邏輯連接。卡片閱讀機(jī)111通過(guò)卡片閱讀機(jī)接口板109連接到安全計(jì)算機(jī)系統(tǒng)。如第一實(shí)施例那樣,優(yōu)選的卡片閱讀機(jī)111是一個(gè)電纜接頭(Amphenol)式的“片狀卡片”接收裝置,零件號(hào)702-10M008 5392 4794,它與國(guó)際標(biāo)準(zhǔn)化組織(ISO)7816規(guī)格兼容。但是,本專(zhuān)業(yè)技術(shù)人員容易認(rèn)識(shí)到,與ISO7816一致的其他卡片閱讀裝置可以取而代之。圖1D表示一起放置在單個(gè)外設(shè)機(jī)架中的卡片閱讀機(jī)111和安全硬驅(qū)動(dòng)器113,但是也可用其他的安裝方法而不改變本發(fā)明的范圍,例如,如圖1E所示那樣,將卡片閱讀機(jī)111放置在外面。
圖2A和2B說(shuō)明要求修改一標(biāo)準(zhǔn)的個(gè)人計(jì)算機(jī)系統(tǒng)705,以便形成按本發(fā)明的一種安全計(jì)算機(jī)系統(tǒng)100,圖2A是現(xiàn)有技術(shù)中計(jì)算機(jī)系統(tǒng)705一簡(jiǎn)化的方塊圖。中央處理單元(CPU)209連接到用作計(jì)算機(jī)系統(tǒng)到硬驅(qū)動(dòng)器113接口的專(zhuān)用硬驅(qū)動(dòng)器控制邏輯710。通常硬驅(qū)動(dòng)器控制邏輯710是安裝在底板或集成在計(jì)算機(jī)100的母板上的印刷電路板。并且硬驅(qū)動(dòng)控制邏輯710使用多股導(dǎo)線電纜720連接到硬驅(qū)動(dòng)器113。硬驅(qū)動(dòng)器113可以放在計(jì)算機(jī)705的外部或內(nèi)部。
圖2B表示該標(biāo)準(zhǔn)個(gè)人計(jì)算機(jī)705如何轉(zhuǎn)換成按本發(fā)明一個(gè)實(shí)施例的安全計(jì)算機(jī)系統(tǒng)。在圖2B中,安全計(jì)算機(jī)系統(tǒng)100集成電路(IC)卡片115和卡片閱讀機(jī)111,電纜730,以及卡片閱讀機(jī)接口板109加到系統(tǒng)705構(gòu)成的。卡片閱讀機(jī)111可以通過(guò)將電纜720從硬驅(qū)動(dòng)器113中取出,并將其連接到卡片閱讀機(jī)接口板109,之后通過(guò)電纜731將卡片閱讀機(jī)111連接到卡片閱讀機(jī)接口板109這樣來(lái)加到該系統(tǒng)。硬驅(qū)動(dòng)器113用電纜730連接到卡片閱讀機(jī)接口板109。
卡片閱讀機(jī)111起與卡片閱讀機(jī)接口板109相一致的作用,以限制在硬驅(qū)動(dòng)器113和卡片閱讀機(jī)接口板109兩者上存儲(chǔ)的敏感數(shù)據(jù)的存取。IC卡片115由于檢驗(yàn)該用戶被授權(quán)存取儲(chǔ)存在硬驅(qū)動(dòng)器113上的敏感數(shù)據(jù)的信息預(yù)先編程。由為存取該敏感數(shù)據(jù)而要求授權(quán)證實(shí)信息的三個(gè)不同源的最小值提供儲(chǔ)存在硬驅(qū)動(dòng)器113上的敏感數(shù)據(jù)的安全度。為了存取儲(chǔ)存在硬驅(qū)動(dòng)器113上的敏感信息,卡片115和卡片閱讀機(jī)接口板109必須提供適當(dāng)?shù)淖R(shí)別信息,并且用戶必須輸入對(duì)一系列預(yù)定問(wèn)題的一系列預(yù)回答。如果識(shí)別信息的任一源不正確。板109可以通過(guò)凍結(jié)系統(tǒng)總線292邏輯上破壞任何在該系統(tǒng)上的敏感數(shù)據(jù)或物理上破壞包含敏感信息的儲(chǔ)存器件來(lái)阻止對(duì)安全計(jì)算機(jī)系統(tǒng)100的存取(要求循環(huán)系統(tǒng)電源以便復(fù)位計(jì)算機(jī)系統(tǒng)100)。
將用下列附圖更詳細(xì)地說(shuō)明本發(fā)明一實(shí)施例的細(xì)節(jié)。圖3是圖2B的安全計(jì)算機(jī)系統(tǒng)100的詳細(xì)的電氣方塊圖,表示在卡片閱讀機(jī)接口板109,卡片閱讀機(jī)111,安全硬驅(qū)動(dòng)器113,以及中央處理單元(CPU)290之間的連結(jié)情況。在本發(fā)明中,應(yīng)用獨(dú)立的專(zhuān)用的數(shù)據(jù)總線使卡片閱讀機(jī)接口板109通過(guò)卡片閱讀機(jī)總線225與卡片閱讀機(jī)111連通,通過(guò)硬驅(qū)動(dòng)器總線272與硬驅(qū)動(dòng)器113連通,以及通過(guò)硬驅(qū)動(dòng)器控制邏輯710和系統(tǒng)總線292與CPU290連通。(硬驅(qū)動(dòng)器總線272類(lèi)似于圖2B的電纜730,而系統(tǒng)總線292類(lèi)似于圖2B的731)。用獨(dú)立的專(zhuān)用數(shù)據(jù)總線與卡片閱讀機(jī)111,硬驅(qū)動(dòng)器113,以及CPU290相連通減少了檢索敏感數(shù)據(jù)和加密信息的機(jī)會(huì),因?yàn)橄到y(tǒng)總線292只傳輸未加密數(shù)據(jù)從卡片閱讀接口板109到計(jì)算機(jī)系統(tǒng)。一個(gè)未被授權(quán)的入侵者務(wù)必監(jiān)視所有三條總線以便試圖去破譯該安全系統(tǒng)與計(jì)算機(jī)系統(tǒng)相互作用的加密代碼和方法。
圖3還表示在卡片閱讀機(jī)接口板109上的部件的相互連結(jié)情況。在一實(shí)施例中,該卡片閱讀機(jī)接口板109包括一ZiLog Z86C6116處理器220,用于控制數(shù)據(jù)在卡片閱讀機(jī)111,硬驅(qū)動(dòng)器113,以及CPU290之間的轉(zhuǎn)輸。該Z86C6116是在此作為參考的Zilog Z8微控機(jī)手冊(cè)DC8305-01(93)是說(shuō)明的一個(gè)8位數(shù)據(jù)總線,16位時(shí)間-多路轉(zhuǎn)換地址總線微處理器。其他的微處理器也可取代而不顯著影響本發(fā)明的范圍。
處理器220通過(guò)向控制器ASIC230發(fā)布指令控制在卡片閱讀機(jī)接口板109上的數(shù)據(jù)的傳輸。控制器ASIC230起“膠質(zhì)邏輯”作用,在處理器220控制下,協(xié)調(diào)數(shù)據(jù)引導(dǎo)網(wǎng)絡(luò)240,密碼機(jī)270,以及處理器220的操作,以便控制CPU290,RAM260,以及硬驅(qū)動(dòng)器113之間的信息傳輸。
數(shù)據(jù)引導(dǎo)網(wǎng)絡(luò)240是指定許可處理器220連通RAM260和密碼機(jī)(CE)270,但卻阻止由用戶控制系統(tǒng)總線292從RAM260檢索數(shù)據(jù)的未被授權(quán)存取的8位可控輸入和輸出端電路。圖5是表示數(shù)據(jù)引導(dǎo)網(wǎng)絡(luò)240操作的方塊圖。數(shù)據(jù)引導(dǎo)網(wǎng)絡(luò)240基本上按一個(gè)八位寬雙向并行多路轉(zhuǎn)換器進(jìn)行操作,它限制數(shù)據(jù)從處理器220傳輸?shù)絉AM260,或交替地傳輸?shù)紺E270(并且,因此可能傳輸?shù)较到y(tǒng)總線292,如果CE270的端A274和端C278連接的話)。從指定給RAM260的地址空間讀出起源于系統(tǒng)總線292的信息的試圖是不可能的,因?yàn)镽AM60邏輯上是被隔離的,使得不存在地址空間由系統(tǒng)總線292去存取RAM260。
返回到圖3,在一實(shí)施例中,密碼機(jī)(CE)270是符合規(guī)范DES3的保證DES密碼機(jī)的8位NSA,這種裝置是由計(jì)算員Elektronik制造的。零件是為CE99C003。更進(jìn)一步地詳述DE270實(shí)施例的操作可以在CE Infosys 99C003數(shù)據(jù)圖表資料版本1.01中找到。
CE270根據(jù)在端口C278接收的命令由處理器220通過(guò)數(shù)據(jù)引導(dǎo)網(wǎng)絡(luò)240控制。CE可以由處理器220指令以便在端口C278和端口A274之間或者在端口A274和端口B276之間提供數(shù)據(jù)通道(由端口B276輸出的DES加密數(shù)據(jù),以及來(lái)自端口A274的未加密數(shù)據(jù))。在系統(tǒng)初始化期間,在數(shù)據(jù)引導(dǎo)網(wǎng)絡(luò)240和系統(tǒng)總線292之間的數(shù)據(jù)通道使用端口C278和端口A274形成,由此未加密數(shù)據(jù)在處理器220控制下通過(guò)硬驅(qū)動(dòng)器控制器邏輯710傳輸?shù)较到y(tǒng)總線292。一旦檢驗(yàn)用戶授權(quán)并且不存在未決安全性違反情況,CE270使用通過(guò)B276端傳輸?shù)接豺?qū)動(dòng)器113的DES加密數(shù)據(jù)關(guān)鍵字。類(lèi)似地,CE270被譯來(lái)自硬驅(qū)動(dòng)器113的加密數(shù)據(jù),并且當(dāng)端A274到端B276通道被允許時(shí),通過(guò)硬驅(qū)動(dòng)器控制邏輯710將其提供到系統(tǒng)總線292。本專(zhuān)業(yè)技術(shù)人員容易認(rèn)識(shí)到其他的符合上述標(biāo)準(zhǔn)并支持?jǐn)?shù)據(jù)加密的密碼機(jī)可取而代之而不明顯修改本發(fā)明的精神與范圍。
RAM260通過(guò)標(biāo)記保密分段的存儲(chǔ)器被細(xì)分成保密和開(kāi)放分段,以便使它們只能對(duì)處理器220存取。這將既防止偶然的又防止故意的安全信息從RAM260轉(zhuǎn)到系統(tǒng)總線292。RAM260只能由處理器220尋址,并且包括DEC基本核心關(guān)鍵字(base kernel key)加密信息以及對(duì)通過(guò)處理器220從卡片115檢索的檢驗(yàn)問(wèn)題的回答。RAM260的開(kāi)放部分包括由卡片115檢索的檢驗(yàn)問(wèn)題和其他非敏感數(shù)據(jù)。
如在圖6中能見(jiàn)到的那樣,當(dāng)對(duì)裝入以及執(zhí)行檢驗(yàn)程序初始化時(shí),ROM280包括由CPU290使用的裝入程序代碼610和檢驗(yàn)程序代碼620。因?yàn)闃?biāo)準(zhǔn)BIOS程序試圖同處理器220一致根據(jù)C驅(qū)動(dòng)器引導(dǎo)使用ROM280以及控制ASIC230模擬C驅(qū)動(dòng)器,從而允許本發(fā)明按標(biāo)準(zhǔn)IBM兼容個(gè)人計(jì)算機(jī)而不必修改系統(tǒng)BIOS(基本輸入/輸出系統(tǒng))。
卡片115在處理器220控制下與卡片閱讀機(jī)111一起使用,以便提供具有與DES加密關(guān)鍵字相關(guān)的信息,檢驗(yàn)問(wèn)題和回答,用戶存取特權(quán)等級(jí),截止日期,卡片發(fā)放起點(diǎn),以及卡片使用經(jīng)歷的計(jì)算機(jī)系統(tǒng)100。如在第一實(shí)施例中那樣,優(yōu)選卡片115是MICRO CARD或GEMPLUS卡片(例如,蘇格蘭人100,TB100,或COSIC卡片),這些卡片與ISO7816兼容。本領(lǐng)域技術(shù)人員容易認(rèn)識(shí)到同該標(biāo)準(zhǔn)一致的并提供數(shù)據(jù)加密和解密功能的其他IC卡片可以取而代之而不明顯修改本發(fā)明的精神和范圍。邏輯和物理的自毀硬件控制ASIC230還監(jiān)視試圖未授權(quán)檢索受保護(hù)的儲(chǔ)存裝置的數(shù)據(jù)并將信息提供到處理器220,只要控制ASIC230檢測(cè)到一個(gè)試圖未被授權(quán)的存取。處理器220監(jiān)視來(lái)自控制ASIC230的信號(hào)并命令控制ASIC230發(fā)出一命令以便在邏輯上或物理地在RAM260中恢復(fù)受保護(hù)的信息或保護(hù)硬驅(qū)動(dòng)器113。在該RAM260上的數(shù)據(jù)的邏輯破壞由認(rèn)定發(fā)自處理器220的觸發(fā)信號(hào)211來(lái)完成的,由此清除了RAM260的內(nèi)容。在硬驅(qū)動(dòng)器113上的敏感數(shù)據(jù)的邏輯破壞自然地隨之而來(lái),因?yàn)楫?dāng)該RAM260數(shù)據(jù)被破壞時(shí),DES加密關(guān)鍵字綜合信息被破壞,以及,缺少DES關(guān)鍵字后,在硬驅(qū)動(dòng)器113上的信息將在邏輯上不可檢索。物理地破壞數(shù)據(jù)也能由認(rèn)定發(fā)自處理器220的作為觸發(fā)物理破壞程序包213的物理破壞信號(hào)212來(lái)完成。如第一實(shí)施例那樣,某些物理破壞程序包,例如鐵氯化物噴射或可塑的爆發(fā)性的程序包在現(xiàn)有技術(shù)中曾被揭示。
卡片閱讀機(jī)接口板109還包括對(duì)物理干預(yù)的額外防衛(wèi)。在一實(shí)施例中,晶體管電路210被用來(lái)快速地擦除動(dòng)態(tài)RAM260的內(nèi)容。在這樣的實(shí)施例中,電路210將RAM260的電源引線接地,以便擦除RAM260的內(nèi)容。在正常工作情況下,并不認(rèn)定觸發(fā)信號(hào)211,因此,允許晶體管210的收集極保持接近電壓VCC上。在這種工作模式下,RAM260由電源電壓VCC供電,因此電流通過(guò)二極管261和保險(xiǎn)絲263到RAM260。如果電源中斷,電池200通過(guò)二極管262和保險(xiǎn)絲263加到RAM260。
當(dāng)處理器220認(rèn)定觸發(fā)信號(hào)211時(shí),NPN晶體管210的收集極被強(qiáng)制降到低電壓,通過(guò)二極管261的電流足以燒毀保險(xiǎn)絲263,由此使RAM260的VCC端降到0V,從而擦除RAM260的邏輯內(nèi)容。另一方面,如果電池200提供RAM260電流,觸發(fā)信號(hào)211將使足夠大的電流通過(guò)保險(xiǎn)絲263以至于燒毀保險(xiǎn)絲263,RAM260 VCC端上的電壓再次降到OV從而擦除RAM260的邏輯內(nèi)容。處理器220能啟動(dòng)邏輯破壞的零件,如果控制ASIC230使處理器220正處在一未授權(quán)存取狀態(tài)。
所述邏輯的和物理的破壞機(jī)構(gòu)提供數(shù)據(jù)安全性的某些不同的等級(jí),在本發(fā)明的一實(shí)施例中存在著五種可選擇的安全性等級(jí)1)凍結(jié)計(jì)算機(jī)系統(tǒng)總線,從而要求“冷引導(dǎo)”(電源斷開(kāi)然后接通或“復(fù)位”);2)改變集成電路卡片的內(nèi)容,使卡片必須修改以便對(duì)其他的會(huì)話授權(quán);3)清零儲(chǔ)存要點(diǎn)的ROM260用于加密關(guān)鍵字;4)邏輯破壞RAM260存儲(chǔ)器,要求在其他會(huì)話可在計(jì)算機(jī)系統(tǒng)執(zhí)行之前進(jìn)行RAM260的重新初始化;以及5)物理破壞計(jì)算機(jī)系統(tǒng)存儲(chǔ)器??赡苡衅渌陌踩燃?jí),并且本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到可能結(jié)合這些安全等級(jí)而不脫離本發(fā)明的范圍和精神。接口板控制和連通在卡片閱讀機(jī)接口板109上的激活是如下面詳述的部分地通過(guò)代碼“燒毀”處理器220中內(nèi)部ROM以及部分地通過(guò)執(zhí)行授權(quán)檢驗(yàn)程序加以協(xié)調(diào)。這允許處理器220在授權(quán)檢驗(yàn)程序執(zhí)行期間響應(yīng)由CPU290發(fā)出的命令,并且通過(guò)敏感DES加密數(shù)據(jù)和授權(quán)數(shù)據(jù)的專(zhuān)用控制器的作用仍維持在卡片閱讀機(jī)接口板109上的敏感數(shù)據(jù)的安全性。處理器220與控制ASIC230連通以便控制數(shù)據(jù)引導(dǎo)網(wǎng)絡(luò)240和ROM280,并且使用在總線222上通過(guò)數(shù)據(jù)引導(dǎo)網(wǎng)絡(luò)240向CE270發(fā)出的命令來(lái)控制CE270。處理器220單獨(dú)對(duì)連通卡片閱讀機(jī)111負(fù)責(zé),從而提高了本發(fā)明的整個(gè)安全性,因?yàn)槊舾袛?shù)據(jù)不放在對(duì)檢索是脆弱的系統(tǒng)總線292上。
控制ASIC230通過(guò)總線223連接到ROM280和數(shù)據(jù)引導(dǎo)網(wǎng)絡(luò)240,還連接到CPU290的監(jiān)視和凍結(jié)控制線,以便允許控制ASIC230當(dāng)要求凍結(jié)系統(tǒng)總線292將“冷凍”系統(tǒng)總線292,只要在監(jiān)視線上檢測(cè)了禁止的存取。當(dāng)控制ASIC230凍結(jié)系統(tǒng)總線292以便通知處理器220該總線已被凍結(jié)時(shí),它送出一個(gè)信號(hào)到處理器220的INT中斷221,因?yàn)樘幚砥?20未連接到系統(tǒng)總線292。
控制ASIC230包括一個(gè)計(jì)數(shù)器(未示),當(dāng)執(zhí)行引導(dǎo)和裝入功能(下面描述)以便模擬對(duì)CPU290的一硬驅(qū)動(dòng)接口時(shí),它計(jì)算由ROM280檢索的“扇區(qū)”數(shù)。當(dāng)最近的程序信息由CPU290從ROM280讀出時(shí),控制ASIC230通知處理器220。密碼機(jī)270的程序通過(guò)選擇由從處理器220到控制ASIC230的信號(hào)控制,還可以被編程將端A274連接到C278,以便允許處理器220同系統(tǒng)總線292(以及CPU290)連通,或者一旦如以下所述滿足安全條件時(shí)將端A274連接到端B276,以便允許CPU290同硬驅(qū)動(dòng)器113相連通。
圖4是控制ASIC230的基本部件的方塊圖。控制ASIC230包括一控制寄存器905,其位數(shù)被指定通過(guò)控制端(CP)910去控制數(shù)據(jù)引導(dǎo)網(wǎng)絡(luò)240和ROM280。這些位數(shù)控制總線222是否通過(guò)數(shù)據(jù)引導(dǎo)網(wǎng)絡(luò)240連接到RAM260或CE270。類(lèi)似地指定控制ROM280的控制位在以下詳述的BIOS初始化期間將促進(jìn)一C驅(qū)動(dòng)器的模擬。控制寄存器950由來(lái)自處理器220的指令編程,而該控制位的狀態(tài)可以由來(lái)自狀態(tài)寄存器960的處理器220的通過(guò)處理器端980的讀加以確定。INT端900還連接到該控制和狀態(tài)寄存器,并當(dāng)如上所述檢查安全性違反時(shí)指出系統(tǒng)總線292是“冷凍”的。
在本發(fā)明的一實(shí)施例中,處理器220經(jīng)處理器端980通過(guò)傳輸屏蔽字到這些寄存器對(duì)總線地址監(jiān)視器930中的寄存器(未示)編程。在授權(quán)調(diào)查期間當(dāng)由該安全性管理員配給時(shí),每個(gè)屏蔽字對(duì)于由卡片115限定的具體用戶包括識(shí)別授權(quán)外設(shè)的可編程的模板,這將在下面安全性管理員授權(quán)調(diào)查章節(jié)中描述。控制ASIC230通過(guò)總線端920連接到系統(tǒng)總線292(表示在圖3中),并因此能夠監(jiān)視在系統(tǒng)總線292上的存取企圖,以及使用結(jié)合邏輯940將它們同儲(chǔ)存在總線地址監(jiān)視器930中的模板相比較,以便確定是否已經(jīng)有未授權(quán)外部存取的企圖。如果有未授權(quán)外設(shè)存取企圖,本發(fā)明的一實(shí)施例將凍結(jié)系統(tǒng)總線292;安全性計(jì)算機(jī)系統(tǒng)100不能使用直到執(zhí)行計(jì)算機(jī)100(復(fù)位計(jì)算機(jī)100)的電源循環(huán)(power cycle)。如圖3中所示那樣,控制ASIC230的端920連接到硬驅(qū)動(dòng)控制器邏輯710,以便按技術(shù)人員了解的方式控制對(duì)硬驅(qū)動(dòng)器113的存取。
總線地址監(jiān)視器930監(jiān)視訪問(wèn)例如串行和并行端,網(wǎng)絡(luò),以及A或B軟盤(pán)這些外設(shè)的總線292。在初始化期間總線地址監(jiān)視器930監(jiān)視正常的BIOS訪問(wèn),例如復(fù)位,熱啟動(dòng),或加電源引導(dǎo),以及在授權(quán)調(diào)查期間(參照下面安全性管理員授權(quán)調(diào)查章節(jié))對(duì)在卡片115上限定的被拒絕的外設(shè)監(jiān)視檢測(cè)被禁止的存取的企圖。數(shù)據(jù)引導(dǎo)網(wǎng)絡(luò)數(shù)據(jù)引導(dǎo)網(wǎng)絡(luò)240用簡(jiǎn)化方塊圖表示在圖5中,數(shù)據(jù)引導(dǎo)網(wǎng)絡(luò)240主要起一個(gè)雙向,雙位并行的引導(dǎo)數(shù)據(jù)通道作用。控制ASIC230能控制來(lái)自處理器220的八位總線222是否通過(guò)對(duì)總線222上的地址編碼以及選擇數(shù)據(jù)引導(dǎo)網(wǎng)絡(luò)240的輸入而連接到RAM260或CE270??刂艫SIC230還能通過(guò)觸發(fā)數(shù)據(jù)引導(dǎo)網(wǎng)絡(luò)240的有效輸入端30阻塞該數(shù)據(jù)引導(dǎo)網(wǎng)絡(luò)240。該操作還保證CE270永遠(yuǎn)不能直接地通過(guò)數(shù)據(jù)引導(dǎo)網(wǎng)絡(luò)240連接到RAM260,從而增進(jìn)儲(chǔ)存在RAM260中的數(shù)據(jù)的保護(hù)。卡片類(lèi)型及它們的功能基本上存在三種卡片維護(hù)、發(fā)行人,以及用戶片。維護(hù)卡片允許用戶存取系統(tǒng)只是為了診斷目的,而用它不可存取敏感數(shù)據(jù)。發(fā)行人卡片是安全層次最高卡片。它能使調(diào)配程序形成許多附屬的用戶卡片。在一實(shí)施例中,用戶卡片能產(chǎn)生附屬的用戶卡片以及在卡片形成期間允許用戶按由發(fā)行人授予的特權(quán)存取。該用戶卡片能使用戶存取在計(jì)算機(jī)100上的保密信息。
安全性層次的一實(shí)施例表示在圖8中。邏輯單元500表示稱為發(fā)行辦公室卡片的發(fā)行人卡片。邏輯單元501也是稱為安全性管理員卡片的發(fā)行人卡片。發(fā)行辦公室卡片500習(xí)慣用來(lái)產(chǎn)生安全性管理員卡片501并按序產(chǎn)生代表圖8中剩余邏輯單元的附屬用戶卡片。在該實(shí)施例中,發(fā)行辦公室卡片500可以不存取計(jì)算機(jī)系統(tǒng)100中的數(shù)據(jù);其目的是產(chǎn)生附屬的用戶卡片,例如卡片510,530和540。安全性管理員授權(quán)調(diào)查本發(fā)明說(shuō)明書(shū)的下一章節(jié)要求討論在用戶第一次使用卡片115之前儲(chǔ)存在用戶卡片115上的信息。如圖1D中所示那樣,一指定卡片發(fā)行程序在計(jì)算機(jī)系統(tǒng)100上運(yùn)行,對(duì)遵循ISO7816規(guī)范的用戶卡片115編程。該編程一般由負(fù)責(zé)確定特定用戶授權(quán)范圍的安全管理員來(lái)進(jìn)行。這樣一種會(huì)話稱為授權(quán)調(diào)查。
用來(lái)進(jìn)行授權(quán)調(diào)查的該卡片發(fā)行程序?qū)?chǔ)存在放置在卡片115上的分開(kāi)的寄存器中卡片截止日期;同發(fā)行辦公室相關(guān)的代碼;特定用戶可以用該卡片存取的外設(shè);識(shí)別該卡片用作維護(hù)卡片,發(fā)行卡片,或用戶卡片的代碼;卡片用戶授權(quán)等級(jí)(以下參見(jiàn)圖8的存取層次討論);用來(lái)識(shí)別用戶的一系列問(wèn)題;以及它們的相關(guān)回答。
一個(gè)“第一次使用”寄存器被專(zhuān)用于指示該卡片在允許系統(tǒng)識(shí)別第一次使用之前是否已被使用。第一次使用通過(guò)儲(chǔ)存附屬于特定用戶的敏感數(shù)據(jù)于RAM260中防止形成計(jì)算機(jī)系統(tǒng)100的機(jī)會(huì),終于在RAM260上的信息被擦除,第一次使用寄存器指示卡片115至少被使用過(guò)一次,并且在安全計(jì)算機(jī)系統(tǒng)100接收它之前用戶將被要求報(bào)告安全管理員具有發(fā)行的卡片。
一再試計(jì)數(shù)器寄存器在授權(quán)調(diào)查期間也被編程,它在該系統(tǒng)終止檢驗(yàn)處理前由于回答用戶識(shí)別問(wèn)題包括一潛在用戶能形成的指定誤差量的值,此外,某些信息被自動(dòng)地在ISO7816規(guī)范下儲(chǔ)存在該卡片中,例如所用卡片的類(lèi)型(例如,MICRO CARD或GEMPLUS卡片)以及可用在具體卡片上的存儲(chǔ)器數(shù)量。本專(zhuān)業(yè)技術(shù)人員容易認(rèn)識(shí)到儲(chǔ)存在卡片上的信息可以儲(chǔ)存在其他的結(jié)構(gòu)中而不明顯地修改本發(fā)明的范圍和精神。例如,問(wèn)題的數(shù)量可以變化而不明顯改變本發(fā)明。用于識(shí)別檢驗(yàn)的問(wèn)題和回答一系列問(wèn)題按一致的格式提出,而回答被記錄,以便識(shí)別一具體的用戶,例如,該用戶能問(wèn)的一個(gè)問(wèn)題是“什么是你最喜愛(ài)的顏色?”該用戶應(yīng)當(dāng)用與預(yù)先記錄的回答一致的正文字符串輸入響應(yīng)。因此如果該用戶響應(yīng)“藍(lán)”,但預(yù)先記錄的回答為“B@L$U*S!”則該響應(yīng)將是不正確的而且有賴于設(shè)置在再試計(jì)數(shù)器中的該值,該用戶可以拒絕存取或允許回答其他問(wèn)題。本發(fā)明的一實(shí)施例使用15個(gè)問(wèn)題去識(shí)別該用戶。這樣一種方法將減少未被授權(quán)用戶通過(guò)不正當(dāng)手段得到正確響應(yīng)的機(jī)會(huì)。顯見(jiàn)的是該15個(gè)問(wèn)題的任何再組合可以用作識(shí)別目的。在本發(fā)明的一實(shí)施例中,一隨機(jī)數(shù)量產(chǎn)生器確定了提問(wèn)問(wèn)題的數(shù)量(最小為3)以及具體選擇的問(wèn)題。然而清楚的是問(wèn)題數(shù)量以及其選擇處理可以改變而不明顯改變本發(fā)明的范圍。安全計(jì)算機(jī)系統(tǒng)的初始化圖7表示詳細(xì)描述處理過(guò)程的流程圖,按此流程圖,本發(fā)明根據(jù)加電源,清零,或熱引導(dǎo)復(fù)位這些初始化達(dá)到控制計(jì)算機(jī)進(jìn)行用戶識(shí)別和檢驗(yàn)?zāi)康?。本?zhuān)業(yè)技術(shù)人員容易理解對(duì)以下步驟的順序的小修改或者正確的實(shí)施都將不改變本發(fā)明的范圍或精神。根據(jù)初始化,在步驟704標(biāo)準(zhǔn)計(jì)算機(jī)BIOS將詢問(wèn)計(jì)算機(jī)系統(tǒng),以便確定該系統(tǒng)的目前結(jié)構(gòu)。處理器220被編程以便在步驟704期間監(jiān)視和保存由該安全計(jì)算機(jī)系統(tǒng)的BIOS形成的BIOS程序呼叫。控制ASIC203幫助處于監(jiān)視并記憶該BIOS程序呼叫狀態(tài)的處理器220。之后該記憶的呼叫用作比較目的模板,以保證備有標(biāo)準(zhǔn)操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)的后來(lái)的再引導(dǎo)與最初的模式相一致。這樣一種校驗(yàn)將核實(shí)該系統(tǒng)BIOS的確是處于后來(lái)的再引導(dǎo)處理狀態(tài)。這將防止裝入其他的系統(tǒng)BIOS通過(guò)該安全系統(tǒng)去存取敏感數(shù)據(jù)。
如以上所詳述的那樣,在卡片閱讀機(jī)接口板109上存在的硬件是指定來(lái)模擬-硬驅(qū)動(dòng)器的存在。在初始化時(shí),CPU290執(zhí)行從C驅(qū)動(dòng)器裝入第一個(gè)“一和/或二扇區(qū)”的標(biāo)準(zhǔn)BIOS程序??ㄆ喿x接口板109截取由CPU290發(fā)生的讀出指令并將其指向ROM280。如在圖6中所說(shuō)明的那樣,ROM280包括裝入機(jī)程序代碼610。因此該“C驅(qū)動(dòng)器”的第一個(gè)一或二扇區(qū)從ROM280讀出。(一或二扇區(qū)是否被裝入取決于CPU的類(lèi)型,CPU290的速度,以及該計(jì)算機(jī)系統(tǒng)使用的BIOS的類(lèi)型)之后裝入機(jī)程序代碼610被CPU290在709步驟執(zhí)行檢索ROM280的剩余“扇區(qū)”。這些扇區(qū)包括用于檢驗(yàn)用戶授權(quán)存取該系統(tǒng)的檢驗(yàn)程序(圖6的620)。在步驟712當(dāng)代碼的最后字節(jié)被裝入CPU290時(shí),控制ASIC230監(jiān)視通知處理器220的裝入處理,使處理器220明白檢驗(yàn)程序在CPU290上執(zhí)行。之后,在步驟713處理器220從卡片閱讀機(jī)111產(chǎn)生未經(jīng)請(qǐng)求的卡片狀態(tài)。同時(shí),在步驟714,CPU290執(zhí)行檢驗(yàn)程序620。當(dāng)未經(jīng)請(qǐng)求的卡片狀態(tài)已被檢索時(shí),處理器220指令控制ASIC230通過(guò)數(shù)據(jù)引導(dǎo)網(wǎng)絡(luò)240,CE270,以及硬驅(qū)動(dòng)器控制器邏輯710將處理器220連接到系統(tǒng)總線292(步驟721)。之后處理器220將卡片閱讀機(jī)111的狀態(tài)傳輸?shù)紺PU290,但是檢驗(yàn)程序?qū)⒀h(huán)直到未經(jīng)請(qǐng)求的卡片狀態(tài)從處理器220接收(步驟722)。用戶授權(quán)檢驗(yàn)過(guò)程此時(shí),處理器220實(shí)際上是使用信號(hào)交換線的控制系統(tǒng)總線292,此外處理器220響應(yīng)由CPU290通過(guò)執(zhí)行檢驗(yàn)程序形成的請(qǐng)求。CPU290接收指示已插入一個(gè)卡片而不管導(dǎo)電卡片是否存在的中斷(步驟724和728)。如果無(wú)卡片存在,則消息“插入卡片”在顯示器105上向操作員閃爍(步驟726)。如果該卡片115是導(dǎo)電的,則系統(tǒng)總線292凍結(jié),并且檢索處理終止(步驟736)。如果卡片是非導(dǎo)電的,則電源加到卡片閱讀機(jī)111(步驟729)。一旦加上電源,卡片115發(fā)出通過(guò)處理器220傳輸?shù)紺PU290的一未經(jīng)請(qǐng)求的復(fù)位消息(步驟732)。處理器220對(duì)于由ISO7816-3規(guī)定的指定時(shí)間通過(guò)保持RST信號(hào)(圖3的224)為低電平(激活的)復(fù)位卡片閱讀機(jī)111,之后產(chǎn)生該信號(hào)指示對(duì)卡片115復(fù)位終止。卡片115通過(guò)卡片閱讀機(jī)111向處理器220發(fā)出識(shí)別使用的卡片的類(lèi)型是否為MICRO CARD或GEMPLUS的復(fù)位消息(按ISO7816、MICRO CARD和GEMPLUS技術(shù)手冊(cè))(步驟734)。如果該卡片115是不可接受的卡片,則處理器220凍結(jié)系統(tǒng)總線292并終止授權(quán)處理(步驟736)。如果該卡片可能有效而被接受,則檢驗(yàn)程序?qū)⒋_定是否該卡片是由正確的發(fā)行辦公室發(fā)行的(步驟742)。截止日期也通過(guò)處理器220從該卡片檢索,但是必須送到CPU290,因?yàn)樘幚砥?20不具有時(shí)鐘/日歷去比較該截止日期(步驟744)。如果在步驟742或744中的每個(gè)測(cè)試都受到故障,系統(tǒng)總線由處理器220凍結(jié)并停止檢驗(yàn)處理(步驟736)。如果卡片115符合以前的測(cè)試,CPU90指令處理器220從該卡片115讀出某些問(wèn)題和它們相關(guān)的正確響應(yīng),并將它們裝入RAM260(步驟746)。在本發(fā)明的一實(shí)施例中,該回答被儲(chǔ)存在RAM的安全區(qū)域,而不敏感的問(wèn)題被儲(chǔ)存在RAM260的開(kāi)放區(qū)域。之后用戶被質(zhì)問(wèn)以便響應(yīng)從卡片115讀出的問(wèn)題,并必須回答這些問(wèn)題,以便對(duì)計(jì)算機(jī)進(jìn)行存取。第一問(wèn)題顯示給該用戶(步驟748),操作員的響應(yīng)由CPU290接收,格式化,送到處理器220,并由處理器220同儲(chǔ)存在RAM260的安全位置中的回答比較(步驟752和754)。配置在處理器220中的再試計(jì)數(shù)器遞增每次在回答問(wèn)題過(guò)程中形成誤差,并由安全管理員進(jìn)行預(yù)編程,以便確定檢驗(yàn)程序,如果錯(cuò)誤響應(yīng)的數(shù)量超過(guò)預(yù)編程值的話(步驟758和736)。該保護(hù)被裝入,以便防止一卡片的未被授權(quán)用戶對(duì)偽裝問(wèn)題重復(fù)猜想正確的回答。
在問(wèn)最后問(wèn)題之后(步驟762),計(jì)算DES加密關(guān)鍵字(步驟764)。在本發(fā)明的一實(shí)施例中,關(guān)鍵字使用儲(chǔ)存在卡片115上和RAM260中的用戶的唯一的二進(jìn)制信息來(lái)進(jìn)行計(jì)算的。這就允許程序計(jì)算唯一的關(guān)鍵字,即使關(guān)鍵字產(chǎn)生等式從用戶到用戶是相同的,這是由于識(shí)別每個(gè)用戶的輸入將取決于由用戶給出的回答,因此,計(jì)算出的關(guān)鍵字將是唯一的。本發(fā)明的另一實(shí)施例將具有檢驗(yàn)程序去提醒用戶用附加問(wèn)題促進(jìn)關(guān)鍵字的隨機(jī)化處理。本發(fā)明的其他實(shí)施例可以在先于關(guān)鍵字產(chǎn)生步驟之前在檢驗(yàn)程序中任何位置插入一個(gè)問(wèn)題。在本發(fā)明的一實(shí)施例中,關(guān)鍵字產(chǎn)生算法由表1中所示偽代碼給出。
表1開(kāi)始從卡片115讀出與預(yù)先記錄的問(wèn)題和回答有關(guān)的二進(jìn)制數(shù)據(jù);把二進(jìn)制值縮減到二進(jìn)制值/九的倍率;儲(chǔ)存在寄存器中產(chǎn)生的進(jìn)位,以便形成隨機(jī)數(shù)字;用在上面步驟中儲(chǔ)存在安全計(jì)算機(jī)100的RAM260中的數(shù)據(jù)產(chǎn)生的獨(dú)占的或隨機(jī)數(shù)字產(chǎn)生64位的16個(gè)字符串用作可能加密的關(guān)鍵字;將16個(gè)關(guān)鍵字裝入CE270;產(chǎn)生在1-15之間的隨機(jī)數(shù)字;用該隨機(jī)數(shù)字選擇該16個(gè)關(guān)鍵字中的一個(gè);使用該關(guān)鍵字用于加密目的;結(jié)束。
然而本專(zhuān)業(yè)技術(shù)人員將清楚可使用其他的公式而不明顯修改本發(fā)明的精神和范圍。
在關(guān)鍵字產(chǎn)生之后,它將沿加密表被裝入CE270(步驟772),使CE270準(zhǔn)備用于加密,如果該裝入的測(cè)試通過(guò)的話(步驟774)。如果該表未準(zhǔn)確裝入,則檢驗(yàn)程序?qū)⒔K止(步驟736)。如果該表裝入正確,處理器220再檢查檢驗(yàn)順序的整個(gè)經(jīng)歷(776),以便保證在將系統(tǒng)總線292連接到CE270之前(782)所有要求的測(cè)試都已通過(guò)(778)。如果在778,所有要求的測(cè)試都未準(zhǔn)確地通過(guò),則檢驗(yàn)程序終止在步驟736。不然,CPU290從硬驅(qū)動(dòng)器113引導(dǎo),以便執(zhí)行用于安全計(jì)算機(jī)100的磁盤(pán)操作系統(tǒng)(步驟784)。處理器220使用控制ASIC203監(jiān)視該再引導(dǎo)處理,以便監(jiān)視BIOS程序呼叫,保證本地系統(tǒng)根據(jù)硬驅(qū)動(dòng)器113適當(dāng)?shù)卦僖龑?dǎo)該計(jì)算機(jī)(步驟786)。如果嘗試任何未授權(quán)存取,系統(tǒng)總線292被凍結(jié),而檢驗(yàn)程序終止(步驟792和736)。未授權(quán)存取包括未授權(quán)存取外設(shè)(由在控制ASIC230上的總線地址監(jiān)視器930監(jiān)視),以及嘗試從A而不是從C驅(qū)動(dòng)器引導(dǎo)由處理器220監(jiān)視,(步驟788)。如果檢測(cè)不到未授權(quán)存取,程序?qū)⒃试S用戶使用磁盤(pán)驅(qū)動(dòng)器113直到該會(huì)話由用戶通過(guò)移除卡片115或系統(tǒng)復(fù)位而終止為止(步驟794)。一旦用戶這樣進(jìn)行,系統(tǒng)總線292將被凍結(jié),而計(jì)算機(jī)100在其他會(huì)話能產(chǎn)生之前(步驟736)必須循環(huán)電流(到復(fù)位計(jì)算機(jī)100)。存取層次圖8表示在多用戶機(jī)構(gòu)中安全存取代碼的層次的實(shí)施例。本發(fā)明教導(dǎo)一種用來(lái)產(chǎn)生存取代碼系列的層次編碼方法,它允許水平和垂直分隔在存取層次中的存取代碼。如在圖8中所示那樣,存取代碼被指定一下級(jí)用戶的上級(jí)能利用下級(jí)的計(jì)算機(jī),但是只有在用戶層次的相同的垂直部分中該上級(jí)才能使用。例如,參見(jiàn)圖8,用戶520不能存取用戶510的計(jì)算機(jī)上的信息(520對(duì)510是下級(jí)),然而它能夠存取用戶522的計(jì)算機(jī)上的信息。但是用戶520不具有存取用戶550的權(quán)限(無(wú)水平存取優(yōu)先權(quán)),520用戶也不具有存取用戶552的權(quán)限(缺乏垂直公共因素)。這樣一種關(guān)鍵信息的結(jié)構(gòu)的優(yōu)點(diǎn)在于存取可以被限制在有機(jī)化的以及受限制的層次中。例如,由于某種原因安全性按圖8的中間分支折衷,則左和右分支都不可能折衷。
因此巨大的用戶陣列通過(guò)對(duì)每等級(jí)指定存取代碼字而容易地被收容在圖8所示的層次中。在這樣的一個(gè)實(shí)施例中,六十四(64)位被分配到描述510個(gè)等級(jí)的存取代碼字,這允許在510個(gè)等級(jí)上有264個(gè)唯一的代碼;六十四(64)位被分配到描述520個(gè)等級(jí)的存取代碼值,這允許在520個(gè)等級(jí)上有264個(gè)唯一的代碼;以及六十四(64)位被分配到描述522個(gè)等級(jí)的存取代碼字,允許在522個(gè)等級(jí)上有264個(gè)唯一的代碼。這些位數(shù)可以儲(chǔ)存在專(zhuān)用寄存器中的卡片115上以及在授權(quán)調(diào)查期間由安全管理員指定。
通過(guò)在檢驗(yàn)程序執(zhí)行期間提出和回答的質(zhì)問(wèn)的目錄中包括一額外問(wèn)題容易完成用戶的水平分隔?;卮鹂赡鼙活A(yù)先確定,而這在所有在一個(gè)公共垂直組的用戶中可能是共同的,并且這可能將它們同在另外垂直組的用戶分開(kāi)。例如,每個(gè)單獨(dú)的垂直組可能由對(duì)同樣問(wèn)題的一唯一的預(yù)定的響應(yīng)來(lái)識(shí)別。該響應(yīng)可以設(shè)計(jì)成一二進(jìn)制數(shù),它可以用作對(duì)于產(chǎn)生存取代碼目的的一致性補(bǔ)償。例如,如果對(duì)偏愛(ài)運(yùn)動(dòng)的同一個(gè)問(wèn)題,則為識(shí)別它們的組,所有具體垂直組的成員都可能用“高爾夫”來(lái)響應(yīng)。
在本發(fā)明的一實(shí)施例中,用15個(gè)問(wèn)題來(lái)識(shí)別用戶,一額外問(wèn)題用來(lái)識(shí)別用戶駐留的存取樹(shù)的具體的垂直的分支。這些問(wèn)題被用來(lái)選擇對(duì)用戶可利用的DES加密關(guān)鍵字。按此方法,DES加密關(guān)鍵字問(wèn)題用作用戶依賴的存取代碼的進(jìn)一步隨機(jī)化。
實(shí)質(zhì)上,存取信息分布在用戶(在由該用戶產(chǎn)生的預(yù)編程響應(yīng)中)、卡片115(當(dāng)獨(dú)立單位給出存取權(quán)限時(shí)被編程的),以及儲(chǔ)存在卡片閱讀機(jī)控制器板109上的RAM260之間。因此,在本發(fā)明的一實(shí)施例中,存取代碼是用戶,卡片,以及用戶使用的計(jì)算機(jī)的結(jié)合。這對(duì)于整個(gè)系統(tǒng)而言提供了高水平的安全性,而且每次用戶的存取特權(quán)由于不正確的或不適當(dāng)?shù)拇嫒≡噲D而遭遺失時(shí)要求用戶由安全管理員重新授權(quán)。按此方法,安全管理員能控制用戶的存取試圖,這是由于它們每時(shí)都被通知遭遇潛在的安全違犯;如果在RAM260中的識(shí)別信息因未授權(quán)的存取試圖而破壞,則用戶必須重新授權(quán)。數(shù)據(jù)的破壞駐留在計(jì)算機(jī)系統(tǒng)的各種存儲(chǔ)器儲(chǔ)存裝置上的數(shù)據(jù)的邏輯破壞可以預(yù)先進(jìn)行編程,以便在失敗的存取數(shù)量達(dá)到一定數(shù)量之后發(fā)生這種邏輯破壞(見(jiàn)圖7再試計(jì)數(shù)器的討論,步驟758)。在一實(shí)施例中,板109進(jìn)一步進(jìn)行并凍結(jié)系統(tǒng)總線292,以便在檢測(cè)可能的安全違犯以后防止敏感信息的未授權(quán)檢索。當(dāng)DES加密關(guān)鍵字因不能被入侵者重建而被擦除時(shí),儲(chǔ)存在硬驅(qū)動(dòng)器113中的數(shù)據(jù)被邏輯破壞。因此,如果在RAM260中的關(guān)鍵信息被破壞,這就相當(dāng)于在硬驅(qū)動(dòng)器113中提供的儲(chǔ)存的數(shù)據(jù)在邏輯上被破壞,因?yàn)闆](méi)有加密關(guān)鍵字它就不可能被識(shí)別。在本發(fā)明的一實(shí)施例中,儲(chǔ)存在RAM260上的DES關(guān)鍵字核心信息根據(jù)未授權(quán)存取試圖檢測(cè),使用處理器220執(zhí)行的算法通過(guò)清零RAM260,或者如在以上邏輯和物理破壞硬件章節(jié)中所描述的那樣使用晶體管210通過(guò)將RAM260的電源接線接地而遭到破壞。進(jìn)一步的障礙要求任何其卡片115因未授權(quán)存取而無(wú)效的用戶訪問(wèn)安全管理員以便得到它們的被恢復(fù)的卡片。通過(guò)在存在違犯事件情況下,在處理器220控制下認(rèn)定由控制ASIC230產(chǎn)生的物理破壞信號(hào)212,由此觸發(fā)了指定按物理方式破壞硬驅(qū)動(dòng)器113和RAM260的破壞程序包213,則也有可能物理地破壞數(shù)據(jù)儲(chǔ)存介質(zhì)。
本發(fā)明還可能有其他破壞手段實(shí)施例。在一實(shí)施例中,破壞方法選擇和處理是通過(guò)改變?cè)谔幚砥?20的內(nèi)部ROM中的代碼或通過(guò)改變?cè)诳ㄆ?15的寄存器上允許的再試值進(jìn)行編程的,通過(guò)這種處理產(chǎn)生了破壞方法。因此,本發(fā)明的一實(shí)施例不是限制,并且不明顯限制本發(fā)明的范圍。
圖9說(shuō)明本發(fā)明的一實(shí)施例,表示一個(gè)卡片閱讀機(jī)容器820同一個(gè)硬驅(qū)動(dòng)器810安裝在一起利于卡片閱讀機(jī)和駐留硬驅(qū)動(dòng)器的實(shí)際安裝。例如,硬驅(qū)動(dòng)器113能夠同卡片閱讀機(jī)111安裝在一起,以便如圖9所示形成包括安全磁盤(pán)驅(qū)動(dòng)器的一個(gè)單一單元。這種安裝方案僅說(shuō)明在本發(fā)明中的卡片閱讀機(jī)容器820的機(jī)械安裝的若干可能實(shí)施例之一。說(shuō)明卡片閱讀機(jī)820機(jī)械安裝的其他實(shí)施例是可能存在的,但并不明顯修改本發(fā)明的范圍。
本專(zhuān)業(yè)技術(shù)人員將容易想到本發(fā)明提供了超過(guò)其他裝置的若干優(yōu)點(diǎn),包括而又不局限于提供三個(gè)計(jì)算機(jī)安全等級(jí)的一個(gè)實(shí)施例的能力。例如,本發(fā)明的一個(gè)實(shí)施例用三個(gè)不同方法提供安全性(1)根據(jù)按預(yù)引導(dǎo)保護(hù)方式初始化立即要求計(jì)算機(jī)系統(tǒng)的控制,這是由于在一入侵者能中斷系統(tǒng)并由此立即采取控制CPU之前,卡片閱讀機(jī)接口板模擬C驅(qū)動(dòng)器裝入機(jī)代碼;
(2)在得到預(yù)引導(dǎo)控制之后執(zhí)行用戶檢驗(yàn)程序以保證該用戶是被授權(quán)對(duì)計(jì)算機(jī)存取的;以及(3)當(dāng)使用計(jì)算機(jī)系統(tǒng)時(shí)監(jiān)視計(jì)算機(jī)活動(dòng),以便在一入侵者能侵入該計(jì)算機(jī)之前用總線地址監(jiān)視器和破壞敏感程序以及加密關(guān)鍵字信息檢測(cè)未授權(quán)存取企圖。
本專(zhuān)業(yè)技術(shù)人員將容易理解本發(fā)明的范圍并不局限在安全個(gè)人計(jì)算機(jī),而是可以延伸到其他類(lèi)型的計(jì)算機(jī)系統(tǒng)的安全(更大的或更小的)或者小的和大的計(jì)算機(jī)系統(tǒng)兩者的特定的外設(shè)。此外,本發(fā)明可以用來(lái)加密儲(chǔ)存在任何儲(chǔ)存敏感數(shù)字信息的系統(tǒng)上的數(shù)字?jǐn)?shù)據(jù)。
本發(fā)明揭示使用與硬驅(qū)動(dòng)器113結(jié)合的卡片閱讀機(jī)接口板109。但是明顯的是相同類(lèi)型的安全度能應(yīng)用來(lái)控制其他非易失性存儲(chǔ)器的內(nèi)容,例如致密磁盤(pán)(CD)ROM系統(tǒng),個(gè)人計(jì)算機(jī)存儲(chǔ)卡片國(guó)際協(xié)會(huì)卡片(PCMCIA卡片),或者流線性磁帶備分單元。的確,本發(fā)明能應(yīng)用來(lái)控制對(duì)任何連接到計(jì)算機(jī)系統(tǒng)的外設(shè)的存取。例如,本發(fā)明能應(yīng)用來(lái)加密大量存儲(chǔ)裝置的分部,例如被劃分的硬驅(qū)動(dòng)器或PBX開(kāi)關(guān)。交替加密方法,更大或更小的數(shù)據(jù)和地址總線,交替集成電路卡片和讀出器,以及對(duì)控制本發(fā)明應(yīng)用的算法的修改都可以使用而不明顯改變本發(fā)明的范圍和精神。
但是還要理解,雖然本發(fā)明的大量的特征和優(yōu)點(diǎn)結(jié)合本發(fā)明的結(jié)構(gòu)和功能的詳述一起已在以上說(shuō)明中加以描述,但是這種公開(kāi)僅僅是說(shuō)明而已,能夠做出許多細(xì)節(jié)上的改變,特別是在形狀,尺寸,以及部件的安置方面,在本發(fā)明原理基礎(chǔ)上作出改變,而附加的權(quán)利要求表達(dá)了由術(shù)語(yǔ)的廣泛而普遍的含義所表示的全部范圍。
權(quán)利要求
1.一種操作計(jì)算機(jī)的方法,包括步驟a)先于引導(dǎo),獲得CPU的控制;b)裝入一檢驗(yàn)程序;c)用檢驗(yàn)程序檢驗(yàn)用戶是否被授權(quán);d)禁止存取計(jì)算機(jī),如果該用戶未被授權(quán);以及e)提供存取計(jì)算機(jī),如果該用戶被授權(quán),包括步驟1)監(jiān)視總線存取,以便檢測(cè)一用戶是否試圖讀或?qū)懸晃词跈?quán)外設(shè);以及2)破壞存儲(chǔ)器內(nèi)容,如果在存取狀態(tài)下檢測(cè)到未授權(quán)試圖。
2.一種保護(hù)儲(chǔ)存在具有系統(tǒng)總線的計(jì)算機(jī)系統(tǒng)的非易失性存儲(chǔ)器中的信息的方法,包括步驟a)提供多個(gè)識(shí)別信息源用于識(shí)別一授權(quán)用戶;b)用以下步驟限制對(duì)計(jì)算機(jī)系統(tǒng)的存取1)執(zhí)行該計(jì)算機(jī)的預(yù)引導(dǎo)控制;2)裝入一檢驗(yàn)程序;3)從多個(gè)源讀出識(shí)別信息;4)比較從多個(gè)源讀出的識(shí)別信息,以便檢驗(yàn)用戶的授權(quán);c)如果該用戶是被授權(quán)用戶,用以下步驟提供對(duì)該計(jì)算機(jī)的存取1)允許對(duì)計(jì)算機(jī)系統(tǒng)存取;2)根據(jù)多個(gè)源構(gòu)成加密關(guān)鍵字;以及3)使用編制的加密關(guān)鍵字加密儲(chǔ)存在該非易失性存儲(chǔ)器中的信息;以及d)如果該用戶未被授權(quán),則凍結(jié)系統(tǒng)總線使得對(duì)試圖存取計(jì)算機(jī)系統(tǒng)的另一用戶要求降低電源以便復(fù)位計(jì)算機(jī)系統(tǒng)。
3.按權(quán)利要求2的方法,其中提供多個(gè)源的步驟包括提供來(lái)自集成電路卡片的識(shí)別信息,來(lái)自一用戶輸入的識(shí)別信息,以及駐留在該計(jì)算機(jī)系統(tǒng)中的識(shí)別信息的步驟。
4.一種保護(hù)儲(chǔ)存在一計(jì)算機(jī)系統(tǒng)的非易失性存儲(chǔ)器中的信息的方法,該計(jì)算機(jī)系統(tǒng)具有一中央處理器單元(CPU),該方法包括步驟a)提供具有接口板的計(jì)算機(jī)系統(tǒng),該接口板具有駐留檢驗(yàn)程序和用來(lái)裝入該檢驗(yàn)程序的裝入機(jī)程序;b)限制對(duì)非易失存儲(chǔ)器的存取,其中限制存取包括步驟1)在初始化期間以及在引導(dǎo)該計(jì)算機(jī)之前控制該計(jì)算機(jī)系統(tǒng)中央處理單元(CPU),其中控制步驟包括步驟a.監(jiān)視和儲(chǔ)存在裝入該檢驗(yàn)程序期間由CPU形成的BIOS呼叫;b.啟動(dòng)該計(jì)算機(jī)系統(tǒng)的初始化;c.模擬引導(dǎo)磁盤(pán),使CPU裝入該裝入機(jī)程序;d.執(zhí)行裝入機(jī)程序;e.裝入檢驗(yàn)程序;以及f.執(zhí)行檢驗(yàn)程序,其中所說(shuō)程序檢驗(yàn)用戶的等同性;以及2)如果用戶檢驗(yàn)為被授權(quán)用戶,允許按以下步驟存取a.提供對(duì)非易失性存儲(chǔ)器的存??;b.按非易失性存儲(chǔ)器引導(dǎo)計(jì)算機(jī)系統(tǒng);c.監(jiān)視和儲(chǔ)存在引導(dǎo)步驟期間由CPU形成的BIOS呼叫;以及d.檢測(cè)能折衷儲(chǔ)存在非易失性存儲(chǔ)器中的信息的安全性的邏輯存取,其中檢測(cè)邏輯存取的步驟包括以下步驟1.將在裝入步驟期間儲(chǔ)存的BIOS呼叫同引導(dǎo)步驟期間產(chǎn)生的BIOS呼叫相比較;以及2.如果BIOS呼叫不匹配,凍結(jié)系統(tǒng)總線,要求計(jì)算機(jī)系統(tǒng)的電源循環(huán),以便復(fù)位計(jì)算機(jī)系統(tǒng)。
5.權(quán)利要求4的方法,其中該方法進(jìn)一步包括以下步驟編制從多個(gè)源得到的唯一的加密關(guān)鍵字;以及用該加密關(guān)鍵字加密儲(chǔ)存到非易失性存儲(chǔ)器的信息;以及其中凍結(jié)系統(tǒng)總線的步驟4.2.d.2包括通過(guò)破壞該加密關(guān)鍵字邏輯上破壞儲(chǔ)存在該非易失性存儲(chǔ)器中的數(shù)據(jù)的步驟。
6.權(quán)利要求4的方法,其中凍結(jié)系統(tǒng)總線的步驟4.2.d.2包括物理地破壞該非易失性存儲(chǔ)器的步驟,由此破壞儲(chǔ)存在該非易失性存儲(chǔ)器中的數(shù)據(jù)。
7.權(quán)利要求4的方法,其中檢測(cè)未授權(quán)邏輯存取的步驟包括檢測(cè)未授權(quán)外設(shè)存取。
8.一種用于控制用戶對(duì)儲(chǔ)存在非易失性存儲(chǔ)器中的保密信息進(jìn)行存取的計(jì)算機(jī)系統(tǒng),該系統(tǒng)包括a)-系統(tǒng)總線;b)-中央處理單元(CPU);c)-識(shí)別卡片,包括用于識(shí)別該計(jì)算機(jī)系統(tǒng)的被授權(quán)用戶的識(shí)別信息;d)-卡片閱讀機(jī),用于從識(shí)別卡片讀出識(shí)別信息;以及e)-卡片閱讀接口,連接到系統(tǒng)總線,其中接口操作以便根據(jù)計(jì)算機(jī)系統(tǒng)的初始化接受CPU的控制,該接口包括1)-專(zhuān)用數(shù)據(jù)線,用于連通非易失性存儲(chǔ)器;2)-專(zhuān)用數(shù)據(jù)線,用于連通卡片閱讀機(jī);3)-檢驗(yàn)程序,由CPU執(zhí)行,用于只限制被授權(quán)用戶對(duì)非易失性存儲(chǔ)器進(jìn)行存?。?)-存儲(chǔ)器儲(chǔ)存裝置,用于儲(chǔ)存用戶專(zhuān)用信息;5)-加密系統(tǒng),使用來(lái)自識(shí)別卡片上的數(shù)據(jù),在存儲(chǔ)器儲(chǔ)存裝置中的數(shù)據(jù),以及用戶的輸入編制的加密關(guān)鍵字對(duì)儲(chǔ)存到非易失性存儲(chǔ)器的數(shù)據(jù)進(jìn)行加密;6)-輸入/輸出總線地址監(jiān)視電路,用于檢測(cè)越過(guò)檢驗(yàn)程序的試圖;以及7)-存儲(chǔ)器擦除電路,用于破壞儲(chǔ)存在存儲(chǔ)器儲(chǔ)存裝置中的加密關(guān)鍵字,如果一未授權(quán)存取由接口檢測(cè)到。
9.一種用于保護(hù)儲(chǔ)存在一計(jì)算機(jī)的非易失性存儲(chǔ)器中的信息的方法,該方法包括步驟a)向計(jì)算機(jī)提供用于接口信息承載卡片的裝置;b)儲(chǔ)存唯一地識(shí)別信息承載卡片上的信息的各不相同的問(wèn)題和回答;c)從信息承載卡片讀出識(shí)別信息和卡片信息;d)根據(jù)初始化執(zhí)行檢驗(yàn)程序以便確定該用戶是否被授權(quán)存取儲(chǔ)存在非易失性存儲(chǔ)器中的受保護(hù)的信息,其中檢驗(yàn)程序包括詢問(wèn)用戶的各不相同的問(wèn)題以及將接收到的回答再與儲(chǔ)存的回答相比較;以及e)如果用戶準(zhǔn)確地回答問(wèn)題,允許存取儲(chǔ)存在非易失性存儲(chǔ)器中的受保護(hù)信息。
10.按權(quán)利要求9的方法,還包括步驟如果用戶回答問(wèn)題不正確,則凍結(jié)計(jì)算機(jī)并要求計(jì)算機(jī)電源循環(huán)以便復(fù)位計(jì)算機(jī)。
11.按權(quán)利要求9的方法,還包括步驟編程具有各不相同存取特權(quán)信息的信息承載卡片,以便識(shí)別用戶有特權(quán)存取哪些非易失性存儲(chǔ)器裝置。
12.按權(quán)利要求9的方法,其中允許存取步驟包括步驟a)檢驗(yàn)用戶被授特權(quán)存取儲(chǔ)存在第一儲(chǔ)存設(shè)備中的信息;以及b)如果用戶被授特權(quán)存取儲(chǔ)存在該第一儲(chǔ)存設(shè)備中的信息,則允許存取儲(chǔ)存在該第一儲(chǔ)存設(shè)備上受保護(hù)的信息。
13.按權(quán)利要求11的方法還包括步驟如果用戶試圖從一個(gè)未授特權(quán)的儲(chǔ)存設(shè)備存取信息,則凍結(jié)該計(jì)算機(jī)并強(qiáng)制該用戶復(fù)位該計(jì)算機(jī)系統(tǒng)并再次開(kāi)始授權(quán)檢驗(yàn)。
14.按權(quán)利要求9的方法,其中讀出步驟還包括步驟遞增再試計(jì)數(shù)器,如果用戶回答問(wèn)題不正確;等待接著的用戶響應(yīng),如果該再試計(jì)數(shù)器未達(dá)到預(yù)定值,否則終止授權(quán)過(guò)程。
15.按權(quán)利要求9的方法,其中讀出步驟還包括步驟a)從指定卡片類(lèi)型的卡片讀出卡片識(shí)別代碼;b)根據(jù)卡片識(shí)別代碼確定卡片類(lèi)型;以及c)如果卡片是維護(hù)卡,允許用戶存取用于維護(hù)目的計(jì)算機(jī),而不允許存取計(jì)算機(jī)的非易失性存儲(chǔ)器。
16.一種用于通過(guò)卡片閱讀機(jī)控制存取內(nèi)部裝置的安全機(jī)計(jì)算機(jī),該計(jì)算機(jī)包括-用戶輸入裝置;-卡片閱讀機(jī);-屏幕顯示器;-中央處理單元(CPU);-包含非易失性CPU程序代碼的裝置;-CPU系統(tǒng)引導(dǎo)ROM;多個(gè)外設(shè);-系統(tǒng)數(shù)據(jù)總線;-處理器用于寫(xiě)入/讀出信息到/從放置在卡片閱讀機(jī)中的卡片,該處理器和該CPU通過(guò)一專(zhuān)用數(shù)據(jù)線連接;-加密機(jī);-易失性存儲(chǔ)器裝置,用于儲(chǔ)存由處理器從卡片檢索的數(shù)據(jù);所說(shuō)CPU系統(tǒng)引導(dǎo)ROM包括用于指令該CPU啟動(dòng)執(zhí)行在該裝置中的CPU程序代碼的代碼,使得在該裝置中的CPU程序代碼取代CPU的控制,結(jié)果,根據(jù)加上電源,清零,或計(jì)算機(jī)的熱引導(dǎo)復(fù)位,在該裝置中的CPU程序代碼取得CPU的控制;以及所說(shuō)CPU響應(yīng)所說(shuō)CPU程序代碼,執(zhí)行包括下列步驟的授權(quán)檢驗(yàn)過(guò)程a)由用戶指令微處理器讀放置在卡片閱讀機(jī)中的卡片,并至少?gòu)膬?chǔ)存在該卡片中的問(wèn)題目錄得到一個(gè)問(wèn)題;b)在屏幕顯示器上對(duì)該用戶顯示問(wèn)題,并且在該輸入裝置上等待該用戶的響應(yīng)。c)通過(guò)響應(yīng)該微處理器,該微處理器至少將一個(gè)用戶的響應(yīng)同儲(chǔ)存在該卡片上的正確回答目錄相比較;d)由微處理器接收這種比較的結(jié)果,并允許存取該計(jì)算機(jī),如果至少一個(gè)用戶的響應(yīng)與相互正確回答相匹配;e)根據(jù)卡片上的數(shù)據(jù),儲(chǔ)存在易失性存儲(chǔ)器裝置中的數(shù)據(jù),以及由該用戶收到的響應(yīng)產(chǎn)生一個(gè)加密關(guān)鍵字;以及f)用該加密關(guān)鍵字加密所有儲(chǔ)存到多個(gè)外設(shè)的數(shù)據(jù)。
17.權(quán)利要求16的計(jì)算機(jī)還包括-安全電路,用于監(jiān)視計(jì)算機(jī)的未授權(quán)的存取試圖;以及-邏輯破壞電路,連接到該安全電路,用于破壞在易失性存儲(chǔ)器裝置中的數(shù)據(jù),如果未授權(quán)存取至少由微處理器和安全電路之一檢測(cè);以及其中,該微處理器執(zhí)行包括以下步驟在授權(quán)檢驗(yàn)過(guò)程期間監(jiān)視和儲(chǔ)存CPU BISO程序呼叫;在重新引導(dǎo)處理期間監(jiān)視和比較CPU BISO程序呼叫,以便由另外的程序檢測(cè)系統(tǒng)數(shù)據(jù)的控制;以及如果在授權(quán)檢驗(yàn)過(guò)程期間儲(chǔ)存的BISO呼叫與重新引導(dǎo)處理期間監(jiān)視的BIOS呼叫不相匹配,則在邏輯上破壞在易失性存儲(chǔ)器裝置中的數(shù)據(jù);以及其中CPU執(zhí)行遞增一再試計(jì)數(shù)器的數(shù)值的附加步驟,如果用戶回答一問(wèn)題不正確;并等待一接著的用戶的響應(yīng),如果再試計(jì)數(shù)器的數(shù)值小于一預(yù)定值,否則終止授權(quán)過(guò)程。
18.權(quán)利要求17的計(jì)算機(jī),其中該計(jì)算機(jī)還包括一個(gè)或多個(gè)邏輯上連接到微處理器的物理的破壞機(jī)構(gòu),用于在邏輯上破壞至少在多個(gè)外設(shè)中之一個(gè)上的數(shù)據(jù)。
19.權(quán)利要求17的計(jì)算機(jī)還包括一個(gè)物理破壞輸出和物理破壞程序包,該輸出根據(jù)檢測(cè)的未授權(quán)存取試圖通過(guò)計(jì)算機(jī)控制用于觸發(fā)安全計(jì)算機(jī)的物理破壞。
20.權(quán)利要求17的計(jì)算機(jī),其中關(guān)鍵字信息由儲(chǔ)存在卡片上易失性存儲(chǔ)器裝置中的數(shù)據(jù)以及在檢驗(yàn)進(jìn)行期間由用戶輸入的響應(yīng)產(chǎn)生。
全文摘要
一種通過(guò)卡片閱讀機(jī)控制對(duì)數(shù)據(jù)儲(chǔ)存裝置的安全計(jì)算機(jī),一邏輯上連接到該卡片閱讀機(jī)和計(jì)算機(jī)中央處理單元(CPU)的處理器控制的卡片閱讀機(jī)接口讀/寫(xiě)信息從/到放置在該卡片閱讀機(jī)中的卡片并響應(yīng)從該CPU收到的命令執(zhí)行附加功能。該卡片閱讀機(jī)接口包括用于加密數(shù)據(jù)儲(chǔ)存裝置中的數(shù)據(jù)的加密機(jī)以及包括在初始化過(guò)程執(zhí)行的檢驗(yàn)程序代碼的引導(dǎo)ROM。檢驗(yàn)程序校驗(yàn)有效用戶卡片已放置在該卡片閱讀機(jī)中,從該用戶卡片讀一或多個(gè)問(wèn)題,向用戶問(wèn)題并對(duì)照該卡片的內(nèi)容校驗(yàn)回答。如果授權(quán)被驗(yàn)證,卡片閱讀機(jī)接口允許用戶存取加密數(shù)據(jù),否則通過(guò)下列一個(gè)或多個(gè)方法拒絕用戶存取數(shù)據(jù)凍結(jié)系統(tǒng)總線,并要求用戶復(fù)位計(jì)算機(jī)以及重新輸入校驗(yàn)程序;邏輯上破壞數(shù)據(jù)儲(chǔ)存裝置中的數(shù)據(jù);以及物理地破壞數(shù)據(jù)儲(chǔ)存裝置。
文檔編號(hào)G07F7/10GK1146813SQ95192700
公開(kāi)日1997年4月2日 申請(qǐng)日期1995年3月1日 優(yōu)先權(quán)日1994年3月1日
發(fā)明者D·M·穆尼, J·A·金林格, D·E·伍德 申請(qǐng)人:美國(guó)綜合技術(shù)公司