專利名稱:帶有標(biāo)識(shí)碼的可信賴個(gè)人計(jì)算機(jī)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明與1992年5月27日遞交的由本發(fā)明的擁有者擁有的第889,324和第889,325號(hào)美國(guó)未決專利申請(qǐng)中描述的發(fā)明者相關(guān)。
本發(fā)明涉及個(gè)人計(jì)算機(jī)系統(tǒng),更具體地說,涉及具有能夠控制對(duì)系統(tǒng)中保存的數(shù)據(jù)進(jìn)行訪問的安全特性的系統(tǒng)。
個(gè)人計(jì)算機(jī)系統(tǒng)(具體地來說是IBM個(gè)人計(jì)算機(jī))由于能給當(dāng)今的現(xiàn)代社會(huì)的許多方面提供計(jì)算能力,因而具有廣泛的用途。個(gè)人計(jì)算機(jī)系統(tǒng)通常分為桌上型、落地型或便攜式等,一般由具有一個(gè)單獨(dú)的系統(tǒng)處理器和相關(guān)的易失性和非易失性存貯器的系統(tǒng)單元、顯示監(jiān)視器、鍵盤、一個(gè)或多個(gè)磁盤驅(qū)動(dòng)器、硬盤存貯器和可選購的打印機(jī)組成。這些系統(tǒng)的一個(gè)突出特征是使用一個(gè)母板(也稱為系統(tǒng)板)將這些部件電連接在一起。這些系統(tǒng)最初的設(shè)計(jì)思想是給單個(gè)的用戶提供計(jì)算能力,價(jià)格低廉,使個(gè)人或小企業(yè)能夠購買。這類個(gè)人計(jì)算機(jī)的例子如IBM個(gè)人計(jì)算機(jī)AT及IBM個(gè)人系統(tǒng)/225、30、35、40、L40SX、50、55、56、57、65、70、80、90及95型。
這些系統(tǒng)可以被劃分成二大類第一類通常稱為I類型號(hào),采用如同IBM個(gè)人計(jì)算機(jī)AT以及其它“IBM兼容”機(jī)中那樣的總線結(jié)構(gòu)。第二類通常稱為Ⅱ類型號(hào),采用的是如同IBM個(gè)人系統(tǒng)/2(型號(hào)為57至95)中那樣的IBM微通道總線結(jié)構(gòu)。早期的Ⅰ類型號(hào)機(jī)中一般都使用流行的INTEL(英特爾)8088或8086微處理器作為系統(tǒng)處理器。稍后一些的Ⅰ類型號(hào)以及Ⅱ類型號(hào)一般都使用高速INTEL(英特爾)80286、80386和80486微處理器,這些處理器能工作在實(shí)址方式下模擬較低速的INTEL8086微處理器,也能工作在保護(hù)方式下,使某些型號(hào)的尋址范圍以1兆字節(jié)擴(kuò)展到4吉字節(jié)。實(shí)質(zhì)上,80286、80386和80486處理器這種實(shí)址方式特征給為8086和8088微處理器編寫的軟件提供了硬件兼容性。
從Ⅰ類型號(hào)中最早的個(gè)人計(jì)算機(jī)系統(tǒng)(如IBM個(gè)人計(jì)算機(jī))開始,人們就意識(shí)到,軟件兼容是極其重要的。為了實(shí)現(xiàn)這一目標(biāo),在硬件和軟件之間建立了一個(gè)系統(tǒng)駐留碼的絕緣層,也稱作“固件”。這一固件在用戶的應(yīng)用程序/操作系統(tǒng)和放置之間提供了一個(gè)操作接口,從而減少用戶對(duì)硬件設(shè)備特征的考慮。這種碼最后被開發(fā)成一個(gè)基本輸入/輸出系統(tǒng)(BIOS),能允許新設(shè)備加入系統(tǒng)中,同時(shí)又使應(yīng)用程序和硬件特征隔離開來。BIOS的重要性馬上就體現(xiàn)了出來,原因是它使設(shè)備驅(qū)動(dòng)程序與具體設(shè)備的硬件特征相脫離,同時(shí)又給設(shè)備驅(qū)動(dòng)程序提供了一個(gè)至設(shè)備的中間接口。由于BIOS與系統(tǒng)是一個(gè)整體,控制著進(jìn)出系統(tǒng)處理器的數(shù)據(jù)的運(yùn)動(dòng),因此,它駐留在系統(tǒng)板上的只讀存貯器(ROM)中提供給用戶。舉個(gè)實(shí)例來說,最早的IBM個(gè)人計(jì)算機(jī)中的BIOS占據(jù)放在主板上的8KROM。
當(dāng)引入個(gè)人計(jì)算機(jī)系統(tǒng)中的新型號(hào)機(jī)器時(shí),BIOS也必須被更新和擴(kuò)展,以包括新的硬件和I/O設(shè)備??深A(yù)料的是,IBOS所需的存貯容量也開始增加。舉個(gè)實(shí)例來看,隨著IBM個(gè)人計(jì)算機(jī)AT的引入,BIOS需要32K字節(jié)的ROM。
今天,隨著新技術(shù)的發(fā)展,Ⅱ類型號(hào)的個(gè)人計(jì)算機(jī)系統(tǒng)變得越來越先進(jìn),用戶使用的頻度也越來越高。由于技術(shù)在迅速變化,新的I/O設(shè)備不斷地加入個(gè)人計(jì)算機(jī)系統(tǒng)中。因此,在個(gè)人計(jì)算機(jī)系統(tǒng)的開發(fā)周期內(nèi),BIOS的修改已經(jīng)變成了一個(gè)重大的問題。
比方說,在引入具有微通道結(jié)構(gòu)的IBM個(gè)人系統(tǒng)/2時(shí),開發(fā)出了一種非常新的BIOS,稱為高級(jí)BIOS或ABIOS。但是,為了保持軟件兼容性,在Ⅱ類型號(hào)機(jī)中不得不包括取自Ⅰ類型號(hào)機(jī)中的BIOS。Ⅰ類BIOS已稱作兼容BIOS或CBIOS。然而,如前面關(guān)于IBM個(gè)人計(jì)算機(jī)AT所解釋的那樣,在主板上只放有32K字節(jié)ROM。所幸的是系統(tǒng)可以擴(kuò)展成96K字節(jié)ROM。但不幸的是,由于系統(tǒng)的限制,這96K字節(jié)成了BIOS能得到的最大容量。幸運(yùn)的是即使加上ABIOS,ABIOS和CBIOS一起仍可以擠在96KROM中。然而,這96KROM中只有一小部分剩余供擴(kuò)展之用。隨著未來I/O設(shè)備的增加,CBIOS和ABIOS相信最終將超過ROM空間。這樣,新的I/O技術(shù)將不能容易地集中于CBIOS和ABIOS之中。
由于這些問題,再加上希望對(duì)Ⅱ類BIOS的修改放在發(fā)展周期的盡可能晚的時(shí)候,于是有必要從ROM中卸掉一部分BIOS。這一點(diǎn)是這樣完成的將BIOS的一部分放到海量存貯器(如固定盤)中,最好是放在這種盤上的固定部分,這部分稱作系統(tǒng)分區(qū)。系統(tǒng)分區(qū)中也存貯系統(tǒng)參考軟盤的映象,它含有在建立系統(tǒng)配置時(shí)所使用的某些實(shí)用程序及其他類似程序。由于磁盤提供了讀和寫的能力,因此在磁盤上修改實(shí)際BIOS代碼是現(xiàn)實(shí)可行的。盡管磁盤提供了快速和有效的方式存貯BIOS,然而都大大增加了使BIOS代碼受到損壞的可能性。由于BIOS是操作系統(tǒng)的組成部分,所以受損壞的BIOS會(huì)導(dǎo)致災(zāi)難性后果,在很多情況下會(huì)導(dǎo)致系統(tǒng)完全失效和不再運(yùn)行。這樣,顯然特別需要一種手段來防止未受權(quán)修改固定盤上的BIOS代碼。這是89年8月25日提交的美國(guó)專利申請(qǐng)流水號(hào)07/398,820及1991年6月4日發(fā)布的美國(guó)專利5,022,077號(hào)的主題。有興趣的讀者參考那個(gè)專利以得到更多信息可能會(huì)有助于理解這里披露的發(fā)明,這里把那個(gè)專利的披露內(nèi)容根據(jù)需要盡量引入到本說明中作為參考,以便更充分地理解這里披露的發(fā)明。
IBMPS/2微通道系統(tǒng)的引入使得從I/O適配器卡和主板上去掉了開關(guān)和跳線器。微通道結(jié)構(gòu)提供了可編程寄存器來代替它們。需要有實(shí)用程序來配置這些可編程寄存器或可編程配置選擇(POS)寄存器。這些實(shí)用程序以及改善系統(tǒng)可用性特性的實(shí)用程序與系統(tǒng)診斷程序一起放在系統(tǒng)參考軟盤上與系統(tǒng)一起發(fā)售。
在啟動(dòng)使用之前,微通道系統(tǒng)要求它的POS寄存器被初始化。例如,如果系統(tǒng)使用一個(gè)新的I/O卡來引導(dǎo),或一個(gè)槽口改成供新的I/O卡使用,則產(chǎn)生配置錯(cuò)誤并使系統(tǒng)引導(dǎo)過程中止。然后則揭示用戶裝載系統(tǒng)參考軟盤并按F1鍵。于是可從系統(tǒng)參考軟盤中引導(dǎo)裝入“設(shè)置配置實(shí)用程序”來重新配置系統(tǒng)。設(shè)置配置實(shí)用程序?qū)⒔沂居脩舨扇∷枰男袆?dòng)。如果裝載了系統(tǒng)參考軟盤上的適當(dāng)?shù)腎/O卡描述文件,則設(shè)置配置實(shí)用程序?qū)⒃诜且资源尜A器中產(chǎn)生正確的POS或配置數(shù)據(jù)。I/O卡描述文件包含I/O卡與系統(tǒng)接口的配置信息。
隨著近年來世界上個(gè)人計(jì)算機(jī)的顯著增加和廣泛使用,越來越多的數(shù)據(jù)或信息正在被收集、保留或存貯在這種系統(tǒng)中。這些數(shù)據(jù)中有許多是具有敏感性的。在錯(cuò)誤的手中,數(shù)據(jù)會(huì)使個(gè)人感到失望,使公司失去竟?fàn)巸?yōu)勢(shì),或者敏感數(shù)據(jù)會(huì)用于迫使為沉默付出代價(jià),或?qū)е箩槍?duì)個(gè)人的暴力行為。隨著更多用戶理解了數(shù)據(jù)的敏感性及其價(jià)值,越加希望防止發(fā)生這種使用錯(cuò)誤。為保護(hù)用戶本身及與所存貯數(shù)據(jù)有關(guān)的人們,用戶要求在他們購買的個(gè)人計(jì)算機(jī)中加入安全性和完整性特性。
用戶并非認(rèn)識(shí)到所收集和存貯的數(shù)據(jù)的敏感性的唯一人群。政府也在實(shí)施法律來迫使保護(hù)敏感的數(shù)據(jù)。美國(guó)政府即是這類政府之一。它已認(rèn)識(shí)到情況的嚴(yán)重性并對(duì)此做出反應(yīng)。美國(guó)聯(lián)邦政府已規(guī)定了安全等級(jí)以及為滿足這些等級(jí)的相應(yīng)要求,并為提供產(chǎn)品的個(gè)人計(jì)算機(jī)制造商提供了核查機(jī)構(gòu),以便確認(rèn)這些產(chǎn)品是否滿足由制造商宣稱的安全級(jí)別。聯(lián)邦要求的來源是國(guó)防部,DOD5200.28STD,12/85,通常稱作橙皮書(OrangeBook)。政府已規(guī)定在1992年1月1日之前所有的與政府有關(guān)的數(shù)據(jù)必須只能在具有最低安全級(jí)別為C-2的個(gè)人計(jì)算機(jī)上處理和存貯。對(duì)于計(jì)算機(jī)系統(tǒng)硬件,要求的實(shí)質(zhì)部分包含在“保證部分”的要求6“可信賴機(jī)器必須連續(xù)地防止損害性和/或未受權(quán)的改變…”。
考慮到上述計(jì)論的內(nèi)容,本發(fā)明預(yù)期目標(biāo)是保護(hù)一個(gè)有能力成為安全系統(tǒng)的個(gè)人計(jì)算機(jī),防止它落入由于攻擊一個(gè)不安全機(jī)器所造成的那種狀態(tài)。當(dāng)系統(tǒng)處于希望的不安全狀態(tài)時(shí),這種攻擊如果成功的話,將使系統(tǒng)用戶不能訪問適當(dāng)存貯于該系統(tǒng)的數(shù)據(jù)。
某些保證個(gè)人計(jì)算機(jī)系統(tǒng)安全的措施可能會(huì)涉及到使用附加部件使系統(tǒng)成為安全系統(tǒng)。本發(fā)明預(yù)期提供這種附加安全部件以及它們對(duì)前述BIOS結(jié)構(gòu)的適應(yīng)性。
網(wǎng)絡(luò)是希望會(huì)有在個(gè)人計(jì)算機(jī)系統(tǒng)中所采取的安全措施的一種使用環(huán)境,在網(wǎng)絡(luò)中多個(gè)這樣的系統(tǒng)彼此相連,而且可能還連到一個(gè)中央文件服務(wù)器系統(tǒng)上。在這樣的網(wǎng)絡(luò)中,重要的是要保持網(wǎng)絡(luò)的安全性,任何給定要入網(wǎng)的具體系統(tǒng)需要受到識(shí)別,防止以任何不安全的另一個(gè)系統(tǒng)來取代該系統(tǒng),這會(huì)使網(wǎng)絡(luò)通過一個(gè)不安全系統(tǒng)受到攻擊。本發(fā)明預(yù)期提供這種識(shí)別措施。
前已陳述了本發(fā)明的一些目標(biāo),在結(jié)合附圖進(jìn)行的描述中將說明其他目標(biāo)。這些附圖是
圖1是體現(xiàn)這一發(fā)明的個(gè)人計(jì)算機(jī)透視圖;
圖2是圖1所示個(gè)人計(jì)算機(jī)某些部件的放大圖,包括底座、上蓋、主板,并給出這些部件之間的某些關(guān)系;
圖3是圖1的圖2所示個(gè)人計(jì)算機(jī)某些部件的示意圖;
圖4和圖5是圖1和圖2中的個(gè)人計(jì)算機(jī)與本發(fā)明的安全性特性有關(guān)的一些部件的示意性表示;
圖6是圖4和圖5所示某些部件的放大尺度透視圖;以及圖7與圖6相似,給出圖1、2、4、5所示個(gè)人計(jì)算機(jī)中與本發(fā)明的安全性特性有關(guān)的某些可選部件的放大尺度透視圖;
下文中將結(jié)合附圖更充分地描述本發(fā)明,其中將給出本發(fā)明的最佳實(shí)施例。但在描述開始之前應(yīng)該理解,本技術(shù)領(lǐng)域內(nèi)的熟練人員可以修改這里描述的發(fā)明而仍然達(dá)到本發(fā)明所希望的結(jié)果。因此,下面的描述應(yīng)理解為向那些精通適當(dāng)技藝的人們提供的概括的指導(dǎo)性介紹,而不是對(duì)本發(fā)明的限制。
這里會(huì)用到某些已定義的術(shù)語,它們是受托計(jì)算基礎(chǔ)(TRUSTEDCOMPUTINGBASE)(TCB)在一個(gè)計(jì)算機(jī)系統(tǒng)內(nèi)保護(hù)機(jī)制的總體-包括硬件、固件和軟件-它們的組合負(fù)責(zé)實(shí)現(xiàn)安全政策。TCB由一個(gè)或多個(gè)部件組成,它們共同對(duì)產(chǎn)品或系統(tǒng)實(shí)施統(tǒng)一的安全政策。TCB正確實(shí)現(xiàn)安全政策的能力只依賴于TCB內(nèi)部機(jī)制及系統(tǒng)管理員正確輸入與安全政策有關(guān)的參數(shù)(例如用戶的清除)。
受托軟件(TRUSTEDSOFTWARE)受托計(jì)算基礎(chǔ)的軟件部分。
受托程序(TRUSTEDPROGRAM)受托軟件中包含的程序。
開放程序(OPENPROGRAM)在受托計(jì)算基礎(chǔ)中可以運(yùn)行的程序,但它不是受托程序。
參考監(jiān)視器概念(REFERENCEMONITORCONCEPT)一種存取控制概念,它是指能調(diào)解主體對(duì)目標(biāo)的所有訪問的一種抽象機(jī)器。
安全核(SECURITYKERNEL)受托計(jì)算基礎(chǔ)的實(shí)現(xiàn)參考監(jiān)視器概念的所有硬件、固件和軟件部件。它必須調(diào)節(jié)所有的訪問、必須受到保護(hù)防止修改,而且必須可以證明為正確的。
受托計(jì)算機(jī)系統(tǒng)(TRUSTEDCOMPUTERSYSTEM)能利用足夠的允許它使用的硬件和軟件集成措施來同時(shí)處理大量敏感的或被定有保密級(jí)別的信息。
系統(tǒng)所有者(SYSTEMOWNER)系統(tǒng)所有者是負(fù)責(zé)對(duì)系統(tǒng)進(jìn)行初始配置和置于安全方式的用戶。系統(tǒng)用戶將在初始時(shí)和每當(dāng)需要更新時(shí)控制系統(tǒng)的配置。這個(gè)人將控制特權(quán)訪問口令和保持它的完好。系統(tǒng)所有者還將保持防止顯然損壞(tanperevident)的外罩鎖鑰的安全存放。系統(tǒng)所有者將負(fù)責(zé)維持全部系統(tǒng)的安全日志。系統(tǒng)所有者還將記錄所有試圖違反安全性的行為。系統(tǒng)所有者可以擁有不只一個(gè)系統(tǒng)。系統(tǒng)所有者被認(rèn)為是一個(gè)受權(quán)用戶,但也能是一個(gè)普通用戶。
安全方式(SECUREMOOE)當(dāng)系統(tǒng)所有者在個(gè)人計(jì)算機(jī)系統(tǒng)上成功地裝入特權(quán)訪問口令并啟動(dòng)由安全性和完整性部件提供的安全保護(hù)時(shí),即為進(jìn)入了安全方式。
受權(quán)用戶(AUTHORIZEDUSER)任何得到允許使用特權(quán)訪問口令的用戶。這個(gè)人可以是也可以不是系統(tǒng)所有者。這個(gè)人也可以有一個(gè)特定系統(tǒng)或一組系統(tǒng)的鑰匙。如果此人涉及到從一安全犯規(guī)中恢復(fù)一個(gè)系統(tǒng),他有責(zé)任將這件事報(bào)告給系統(tǒng)所有者。一個(gè)受權(quán)用戶也可以是一個(gè)普通用戶。
普通用戶(NORMALUSER)受權(quán)使用系統(tǒng)設(shè)施的所有系統(tǒng)用戶。為了改變系統(tǒng)配置或修復(fù)問題,這個(gè)用戶需要系統(tǒng)所有者或一受權(quán)用戶的協(xié)助。普通用戶沒有特權(quán)訪問口令或防止明顯損壞的上蓋鎖鑰,除非他們同時(shí)屬于受權(quán)用戶或系統(tǒng)所有者一類。
未受權(quán)用戶(UNAUTHORLZEDUSER)任何未確定為系統(tǒng)所有者、受權(quán)用戶或普通用戶的人。任何未受權(quán)用戶使用已作安全保護(hù)的個(gè)人計(jì)算機(jī)系統(tǒng)都被認(rèn)為是違反安全保護(hù)(未成功打開電源除外),而且必定存在表明這種違反安全保護(hù)的檢查跟蹤。
EEPROM電可擦可編程只讀存貯器。這種存貯器技術(shù)提供了能在硬件邏輯控制下改變的非易失性數(shù)據(jù)存貯器。當(dāng)斷電時(shí)存貯器內(nèi)容不會(huì)失掉。只有當(dāng)以預(yù)定順序啟動(dòng)對(duì)模塊的適當(dāng)控制信號(hào)時(shí)才會(huì)改變內(nèi)容。
口令描述(PASSWORDDESCRIPTION)系統(tǒng)有能力受兩個(gè)口令的保護(hù)1.特權(quán)訪問口令(PAP)和通電口令(POP)。這些口令可彼此獨(dú)立使用。PAP設(shè)計(jì)成通過保護(hù)初始程序加載(IPL)設(shè)備引導(dǎo)清單、對(duì)口令設(shè)備的訪問及對(duì)系統(tǒng)參考軟盤或系統(tǒng)分區(qū)的保護(hù)來實(shí)現(xiàn)對(duì)系統(tǒng)所有者的保護(hù)。如果沒有裝入PAP或在通電序列過程中正確地初始打入PAP,則只在響應(yīng)POST錯(cuò)誤時(shí)才引導(dǎo)系統(tǒng)分區(qū)。來自軟盤的初始BIOS加載(IBL)也以引導(dǎo)系統(tǒng)參考軟盤的同樣方式加以安全保護(hù)。對(duì)于使用POP的普通用戶,PAP的存在是透明的。PAP由系統(tǒng)參考軟盤或系統(tǒng)分區(qū)內(nèi)的實(shí)用程序來裝入、改變和刪除。當(dāng)正確設(shè)置和打入PAP時(shí),PAP將給予所有者訪問整個(gè)系統(tǒng)的權(quán)力,而不考慮POP。POP象在所有的當(dāng)前的PS/2系統(tǒng)中那樣用于防止任何未受權(quán)用戶訪問DASD上的操作系統(tǒng)或系統(tǒng)設(shè)施。
現(xiàn)在更具體地參考附圖,這里給出體現(xiàn)本發(fā)明的微計(jì)算機(jī)。并總體上由數(shù)碼10表示(圖1)。如前文所提到的,計(jì)算機(jī)10可以有一個(gè)伴隨的監(jiān)視器11、鍵盤12和打印機(jī)或繪圖儀14。計(jì)算機(jī)有一個(gè)上蓋15,它和底座19一起構(gòu)成閉合的屏蔽空間用于容納電驅(qū)動(dòng)數(shù)據(jù)處理與存貯部件,用以處理和存貯數(shù)字?jǐn)?shù)據(jù),如圖2所示。在圖2所示結(jié)構(gòu)中,計(jì)算機(jī)10還有一個(gè)可選用的I/O電纜連接蓋16,它延伸出來保護(hù)I/O電纜與計(jì)算機(jī)系統(tǒng)的連接點(diǎn)。至少有一些系統(tǒng)部件裝在一個(gè)多層板20上(這里也把它稱作母板或系統(tǒng)板),該母板裝在底座19上,提供了計(jì)算機(jī)10各部件之間的電連接手段。這些部件包括上文中指出的那些,以及其他伴隨部件,如軟盤驅(qū)動(dòng)器、各種形式的直接存取存貯設(shè)備、輔助卡或板、以及其他類似部件。
底座19有一個(gè)基底和一個(gè)后面板(圖2,它可以在外部由電纜連接罩16罩住),底座19確定了至少一個(gè)開口槽用于容納數(shù)據(jù)存貯設(shè)備,如磁盤或光盤的盤驅(qū)動(dòng)器、后備磁帶驅(qū)動(dòng)器、或其他類似設(shè)備。在圖示的結(jié)構(gòu)中,上方槽22適于接受一個(gè)第一尺寸的外部設(shè)備(如3.5英寸驅(qū)動(dòng)器)。在上方槽22中可以提供一個(gè)軟盤驅(qū)動(dòng)器,這是一個(gè)可裝卸介質(zhì)直接存取存貯設(shè)備,它能夠接收一個(gè)軟盤插入其中,用軟盤接收、存貯和分發(fā)數(shù)據(jù),這是大家都知道的。
在把上述結(jié)構(gòu)和本發(fā)明連系起來之前,概括介紹個(gè)人計(jì)算機(jī)系統(tǒng)的一般運(yùn)行是值得的。參考圖3,這是個(gè)人計(jì)算機(jī)系統(tǒng)的框圖,給出如根據(jù)本發(fā)明的系統(tǒng)10那樣的計(jì)算機(jī)系統(tǒng)的各種部件,包括裝在母板20上的部件及主板與I/O槽口的連接以及該個(gè)人計(jì)算機(jī)系統(tǒng)的其他硬件。系統(tǒng)處理器32是與主板相連的。盡管任何適當(dāng)?shù)奈⑻幚砥鞫寄苡米鳛镃PU32,一種適當(dāng)?shù)奈⑻幚砥魇荌NTEL公司出售的80386。CPU32通過高速CPU局部總線34連接到總線接口控制單元35,連至易失性隨機(jī)存取存貯器(RAM36)(這里顯示的是單列直插存貯器模塊(SIMM),以及連到BIOSROM38,在BIOSROM38中存有基本輸入/輸出操作所需要的對(duì)CPU32的指令。BIOSRAM38含有的BIOS用作I/O設(shè)備和微處理器32的操作系統(tǒng)之間的介面。存貯于BIOSROM38中的指令可以拷貝到RAM36以減少BIOS執(zhí)行時(shí)間。系統(tǒng)還有一個(gè)電路部件(現(xiàn)已成為常規(guī)部件)帶有電池后援的非易失性存貯器(通常的CMOSRAM)用于接收保存關(guān)于系統(tǒng)配置的數(shù)據(jù)和實(shí)時(shí)鐘(RTC)68(圖3)。
盡管本發(fā)明的描述是具體參考圖3所示系統(tǒng)框圖,但在下面的描述開始之前應(yīng)該考慮到,根據(jù)本發(fā)明的設(shè)備和方法可以用于母板的其他硬件配置。例如,系統(tǒng)處理器可以是Intel80286或80386微處理器。
現(xiàn)在回到圖3,CPU局部總線34(由數(shù)據(jù)、地址、及控制三部分組成)也提供了微處理器32與算術(shù)協(xié)處理器39(MCPU)及小型計(jì)算機(jī)系統(tǒng)接口(SCSI)控制器40之間的連接。如精通計(jì)算機(jī)設(shè)計(jì)與操作的人們所熟知的那樣,SCSI控制器40可以與只讀存貯器(ROM)41、RAM42及適當(dāng)?shù)母鞣N類型的內(nèi)部或外部設(shè)備如圖中指向右側(cè)的那些由I/O連接所利用的設(shè)備進(jìn)行連接。SCSI控制器40的功能是作為存貯控制器去控制存貯器設(shè)備,如固定或可裝卸介質(zhì)電磁存貯設(shè)備(也稱作硬盤和軟盤驅(qū)動(dòng)器)、光電型存貯器、磁帶以及其他存貯設(shè)備。
總線接口控制器(BIC)35將CPU局部總線34與I/O總線44耦合。利用總線44,BIC35與一可選的特征總線(如微通道MICROCHANNEL)相連,該可選的特征總線有一組I/O槽口用于容納微通道適配器卡45,這些適配器卡45又進(jìn)一步與I/O設(shè)備或存貯器(圖中未畫出)相連。I/O總線44包括地址、數(shù)據(jù)及控制三個(gè)組成部分。
有多種I/O部件與I/O總線44耦合,如視頻信號(hào)處理器46,它伴有視頻RAM(VRAM)存貯圖形信息(圖中表示為48)和存貯圖象信息(圖中表示為49)。與處理器46交換的視頻信號(hào)可以經(jīng)過數(shù)模轉(zhuǎn)換器(DAC)50送到監(jiān)視器或其他顯示設(shè)備。還采取措施使VSP46直接與這里所稱的自然圖象輸入/輸出(可以是錄相和/放相機(jī)、攝象機(jī)等)相連。I/O總線44還與數(shù)字信號(hào)處理器51相連,它伴有指令RAM52和數(shù)據(jù)RAM54可用于存貯由DSP51處理信號(hào)的軟件指令及處理中涉及的數(shù)據(jù)。DSP51通過提供聲音控制器55來處理聲音的輸入和輸出,通過提供模擬接口控制器56來處理其他信號(hào)。最后,I/O總線44與輸入/輸出控制器58相連,該控制器58伴有電可擦可編程只讀存貯器(EEPROM)59,借以與通常的外部設(shè)備(包括軟盤驅(qū)動(dòng)器、打印機(jī)或繪圖儀14、鍵盤12、鼠標(biāo)器或指示設(shè)備(pointingdevice)(圖中未畫出)以及使用串行口的設(shè)備交換輸入和輸出。EEPROM在下文描述的安全措施中發(fā)揮作用。
將會(huì)理解,到此為止所描述的系統(tǒng)10可以被用于不必要和的確也不想要采取安全措施的應(yīng)用之中,也可以用于不僅僅想要而且需要安全措施的應(yīng)用之中。系統(tǒng)制造商如果知道任何一個(gè)給定系統(tǒng)可能會(huì)應(yīng)用于這兩種環(huán)境中的任何一個(gè)或者這兩種環(huán)境,那么他必須準(zhǔn)備一個(gè)為這兩種環(huán)境中的任何一個(gè)都能使用的系統(tǒng)。這里所描述的發(fā)明的焦點(diǎn)就在于使一個(gè)系統(tǒng)適應(yīng)于這兩種應(yīng)用環(huán)境。
一個(gè)具體實(shí)例是未做安全保護(hù)的系統(tǒng)必須防止不希望地變成一個(gè)安全保護(hù)系統(tǒng)。如果這種轉(zhuǎn)換發(fā)生了,那么一個(gè)結(jié)果就會(huì)是存貯在未做安全保護(hù)系統(tǒng)中的數(shù)據(jù)可能會(huì)變成不能使用的了,猶如該系統(tǒng)被秘密地轉(zhuǎn)換成一個(gè)安全保護(hù)系統(tǒng),就象是系統(tǒng)有安全保護(hù)措施但系統(tǒng)所有者可以選擇不使其生效的時(shí)候會(huì)發(fā)生的情況。
在實(shí)現(xiàn)安全保護(hù)一個(gè)如這里描述的個(gè)人計(jì)算機(jī)系統(tǒng)的某些目標(biāo)時(shí),個(gè)人計(jì)算機(jī)系統(tǒng)10有一個(gè)可擦存貯單元裝在系統(tǒng)機(jī)箱內(nèi),用于有選擇地處于有效狀態(tài)或無效狀態(tài),并在處于有效狀態(tài)時(shí)接收和存貯特權(quán)訪問口令(可稱PAP)。這個(gè)可擦存貯單元最好是至少為前述電可擦可編程只讀存貯裝置(或稱EEPROM)59(圖3)的一個(gè)段(field)或一部分。系統(tǒng)還有一個(gè)可選擇開關(guān)或安全開關(guān)。裝在機(jī)箱內(nèi)并在運(yùn)行上與可擦存貯單元59相連,用于將該存貯單元的使用段或部分設(shè)置成有效或無效狀態(tài)。選擇開關(guān)(也稱作安全開關(guān))可以是例如一個(gè)在系統(tǒng)板20上裝的跳線開關(guān),并可由能接觸主板的人手動(dòng)設(shè)置這兩種狀態(tài)。在一種狀態(tài)(這里也稱作使能寫狀態(tài)或未鎖住狀態(tài)),EEPROM59被設(shè)置成有效狀態(tài)并存貯PAP。在使能寫狀態(tài),PAP可被寫入EEPROM,或被修改或刪除。在另一狀態(tài),即無效狀態(tài)(也稱作不能寫狀態(tài)或鎖住狀態(tài)),EEPROM的存貯PAP能力被設(shè)置成無效。
根據(jù)這里描述的本發(fā)明的某些特點(diǎn),EEPROM也包含一個(gè)由制造商裝入的系統(tǒng)唯一標(biāo)識(shí)碼,并在系統(tǒng)10連入一個(gè)安全保護(hù)網(wǎng)絡(luò)并使這里描述的安全特性有效時(shí)使其可以訪問網(wǎng)絡(luò)服務(wù)器。
如上所述,系統(tǒng)10還有第二個(gè)具有可擦存貯能力的部件,即電池支持的非易失性CMOSRAM及伴隨的實(shí)時(shí)鐘(RTC),圖中標(biāo)為68。CMOSRAM存貯的數(shù)據(jù)指出系統(tǒng)的配置,根據(jù)本發(fā)明它包括系統(tǒng)10加電之后能成功打入PAP的有關(guān)數(shù)據(jù)。至少提供了一個(gè)損壞測(cè)開關(guān),它裝在機(jī)箱內(nèi)并在運(yùn)行上與CMOSRAM相連用于檢測(cè)打開機(jī)箱和用于響應(yīng)在非受權(quán)打開機(jī)箱時(shí)損壞檢測(cè)開關(guān)的任何開關(guān)動(dòng)作,從而清除或設(shè)置存貯在該存貯部件中的某些數(shù)據(jù)。
上面描述的及下文中要描述的那些安全與完整性特性不依賴于以往提供的個(gè)人計(jì)算機(jī)安全特性,即通電口令(POP)。這些增加的安全與完整性特性為在可應(yīng)用規(guī)則(如橙皮書)下的操作系統(tǒng)核查提供了一個(gè)安全平臺(tái)(platform)。需要一個(gè)附加口令使系統(tǒng)置于安全保護(hù)方式。這個(gè)新的口令在這里稱作特權(quán)訪問口令(PAP)。為了與以往的個(gè)人計(jì)算機(jī)保持兼容,仍然支持POP。
口令安全保護(hù)是由系統(tǒng)硬件特性來實(shí)現(xiàn)的EEPROM、安全保護(hù)開關(guān)及明顯損壞機(jī)蓋開關(guān)、固件、POST以及系統(tǒng)軟件口令實(shí)用程序。一旦已經(jīng)裝入了PAP,系統(tǒng)便進(jìn)入了安全保護(hù)方式。PAP保存于EEPROM。PAP的后備拷貝也存于EEPROM中。這是為了防止在裝入修改或刪除PAP的過程中因斷電造成PAP的意外丟失。POP以及至少有幾位指示PAP有效性(如果裝入PAP的話)的數(shù)據(jù)存貯于CMOSRTC中。保存于CMOSRTC中的數(shù)據(jù)及保存于EEPROM中的數(shù)據(jù)是彼此獨(dú)立改變的。
圖4給出傳統(tǒng)的電源控制或“通/斷”開關(guān)61、傳統(tǒng)的電源62、響應(yīng)機(jī)箱蓋(如主機(jī)箱蓋15和電纜接頭蓋16)的打開或移動(dòng)而改變導(dǎo)通狀態(tài)的開關(guān)、以及鑰鎖開關(guān)64之間的某些關(guān)系。當(dāng)打開或移動(dòng)機(jī)箱蓋時(shí)改變狀態(tài)的開關(guān)在本發(fā)明的圖示形式中有二個(gè)響應(yīng)主機(jī)箱蓋15的移動(dòng)的開關(guān)66(圖4、5、7)。每個(gè)開關(guān)有兩個(gè)部件,一個(gè)是常開的(分別為65及和66),一個(gè)是常閉的(分別為65b和66b)。第二個(gè)開關(guān)是可選件,這如同電纜接頭蓋16也是可選件一樣。然而,仔細(xì)考慮這里所披露的內(nèi)容就會(huì)清楚,具有可選件電纜接頭蓋和開關(guān)會(huì)保證對(duì)系統(tǒng)的更完全的安全控制。
蓋開關(guān)65和66的常開觸點(diǎn)組與主電源開關(guān)61及主電源62串聯(lián)在一起(圖4)。結(jié)果,如果在拿掉上蓋的情況下試圖使系統(tǒng)10“通電”則觸點(diǎn)組65a和66a將斷開從而阻止系統(tǒng)運(yùn)行。如果機(jī)箱蓋歸位,則該觸點(diǎn)組保持閉合,于是可以啟動(dòng)系統(tǒng)正常操作。
蓋開關(guān)65和66的常閉觸點(diǎn)組與鑰鎖開關(guān)64及RTC和CMOS存貯器68串聯(lián)。當(dāng)蓋15和16存在時(shí)常暑閉點(diǎn)組56b和66b保持打開,而當(dāng)移開這兩個(gè)機(jī)箱時(shí)它們將會(huì)閉合。當(dāng)計(jì)算機(jī)系統(tǒng)10上傳統(tǒng)提供的機(jī)箱鎖鎖住時(shí)鑰鎖開關(guān)64通常保持閉合。在系統(tǒng)處于機(jī)箱鎖住狀態(tài)而發(fā)生非受權(quán)移動(dòng)機(jī)箱蓋時(shí),這三個(gè)觸點(diǎn)組提供了另一條路徑使本應(yīng)給RTC和CMOS存貯器供電的電流接地,而且若失去供電則使那個(gè)存貯器的一段置成一個(gè)獨(dú)特狀態(tài)(例如全為“1”)。當(dāng)由POST檢驗(yàn)?zāi)莻€(gè)存貯器時(shí),將那一段置成獨(dú)特狀態(tài)將會(huì)造成“配置錯(cuò)”信號(hào)的產(chǎn)生,這個(gè)信號(hào)將告知系統(tǒng)所有者有人試圖(成功或不成功)破壞系統(tǒng)安全性。將存貯器一段設(shè)置成獨(dú)特狀態(tài)要求先前存貯的口令,以便引導(dǎo)裝入操作系統(tǒng);就是說,引導(dǎo)一個(gè)操作系統(tǒng)需要打入有效的PAP,如本描述中其他地方所說明的那樣。
鑰鎖開關(guān)64和主機(jī)箱蓋開關(guān)65最好裝在前卡導(dǎo)引部件69(圖2和圖6)上,以便相對(duì)于主機(jī)箱蓋15中提供的鎖有適當(dāng)?shù)奈恢?。前卡?dǎo)引部件裝在計(jì)算機(jī)系統(tǒng)框架上這樣的位置使蓋開關(guān)65的啟動(dòng)桿70穿過一個(gè)直立前框架部件,當(dāng)蓋15存在且其位置使系統(tǒng)機(jī)箱關(guān)閉時(shí),蓋15便推動(dòng)了啟動(dòng)桿70。
電纜蓋開關(guān)66最好裝在系統(tǒng)框架的后面板,其位置使它可由電纜蓋16上安裝的插銷部件啟動(dòng),而且可以在手工操作的鑰鎖控制下轉(zhuǎn)動(dòng),這與機(jī)箱蓋15提供的那個(gè)類似。當(dāng)使用了可選件電纜蓋16時(shí)(這是希望或要求有完全的系統(tǒng)安全保護(hù)時(shí)的情況),將電纜蓋梢住或鎖住在后面板上會(huì)使插梢部件將伴隨的常開觸點(diǎn)組66a閉合,使常閉觸點(diǎn)組66b打開。
根據(jù)本發(fā)明,系統(tǒng)10在制造出來時(shí)的約定設(shè)置狀態(tài)是在通電時(shí)使系統(tǒng)處于無安全保護(hù)狀態(tài)。為了使系統(tǒng)成為安全保護(hù)系統(tǒng),系統(tǒng)所有者必須鎖住的機(jī)箱蓋并有意地改變系統(tǒng)板20上提供的安全性開關(guān),從而啟動(dòng)系統(tǒng)安全口令,使系統(tǒng)成為一個(gè)安全保護(hù)系統(tǒng)。這樣,到此為止所描述的安全保護(hù)特性的存在使得在不知道系統(tǒng)所有者或其他受權(quán)用戶的情況下防止一個(gè)初始時(shí)為未加安全保護(hù)的系統(tǒng)變成為一個(gè)安全保護(hù)系統(tǒng)。
如前文中簡(jiǎn)要提到的那樣,本發(fā)明考慮到使用附加安全保護(hù)部件需要提供的條件。更具體地說,不同的制造商提供可以作為卡45之一的選件卡通過I/O選件總線44與系統(tǒng)相連。某些市場(chǎng)可買到的選件卡提供了與密碼“鑰匙”的連接,這種密碼鑰匙可以有不同形式,如簽字識(shí)別等、磁條卡、或含有ROM的標(biāo)記(token)。當(dāng)這種選件卡加到一個(gè)處于安全保護(hù)狀態(tài)時(shí)的系統(tǒng)(如系統(tǒng)10)中時(shí),便可以提供了附加的保護(hù)水平。再有,當(dāng)這樣增加是加系統(tǒng)所有者成為能訪問選件卡和系統(tǒng)DASD中的系統(tǒng)分所保持的參考軟盤映象中存貯的設(shè)置配置實(shí)用程序的人。
本發(fā)明還考慮到可以在EEPROM59中存貯系統(tǒng)唯一標(biāo)識(shí)碼。EEPROM中存放的標(biāo)識(shí)碼可由系統(tǒng)10連接的網(wǎng)絡(luò)服務(wù)器(或類似設(shè)備)中運(yùn)行的軟件來訪問。這樣,網(wǎng)絡(luò)能夠確認(rèn)在網(wǎng)絡(luò)中某一特定位置的系統(tǒng)是且將繼續(xù)是安全保護(hù)系統(tǒng),對(duì)于它允許進(jìn)行受控制的訪問。存于EEPROM中的標(biāo)識(shí)碼受到這樣一個(gè)事實(shí)的保護(hù)EEPROM是一個(gè)只讀設(shè)備,需要特殊的硬件使存于存貯器內(nèi)的標(biāo)識(shí)碼發(fā)生改變。
在圖件和說明中已經(jīng)給出了本發(fā)明的一個(gè)最佳實(shí)施例。雖然使用了具體的術(shù)語,但這樣給出的描述所使用的術(shù)語只是一般意義的和描述性的,并不是為了給出限制。
權(quán)利要求
1.一個(gè)接收機(jī)和保存數(shù)據(jù)并能保護(hù)系統(tǒng)中保存的數(shù)據(jù)防止未受權(quán)訪問的個(gè)人計(jì)算機(jī)系統(tǒng),該系統(tǒng)的特點(diǎn)是一個(gè)常閉的機(jī)箱;一個(gè)機(jī)箱鎖,用于正常保持所述機(jī)箱處于安全鎖住狀態(tài),阻止進(jìn)入機(jī)箱內(nèi)部,除非具有所述機(jī)箱鎖的鑰匙;一個(gè)放在所述機(jī)箱內(nèi)的可擦存貯部件,用于有選擇地啟動(dòng)有效狀態(tài)和無效狀態(tài);裝在所述機(jī)箱內(nèi)且只能從機(jī)箱內(nèi)接觸的選件開關(guān),它與所述可擦存貯部件相連,用于設(shè)置所述可擦存貯部件于有效或無效狀態(tài);以及裝在機(jī)箱內(nèi)的系統(tǒng)處理器,它在運(yùn)行上與所述可擦存貯部件相連,用于通過區(qū)分所述存貯部件的有效或無效狀態(tài)來控制至少是對(duì)某些級(jí)別數(shù)據(jù)的訪問。
2.根據(jù)權(quán)利要求1的個(gè)人計(jì)算機(jī)系統(tǒng),其特點(diǎn)在于所述選擇開關(guān)的作用是使操作員能夠通過選擇所述存貯部件的有效無效狀態(tài)來選擇系統(tǒng)處于安全保護(hù)操作狀態(tài)還是處于未加安全保護(hù)操作狀態(tài)。
3.根據(jù)權(quán)利要求2的個(gè)個(gè)計(jì)算機(jī)系統(tǒng),其特點(diǎn)在于所述選擇開關(guān)是由人工操作的,并被置于所述機(jī)箱內(nèi),從而只有在打開所述機(jī)箱后才能由人接觸這一開關(guān)。
4.根據(jù)權(quán)利要求1的個(gè)人計(jì)算機(jī)系統(tǒng),其特點(diǎn)在于所述可擦存貯部件是電可擦可編程只讀存貯器裝置,以及所述電可擦可編程只讀存貯裝置中含有唯一標(biāo)識(shí)碼,使該系統(tǒng)所連入的網(wǎng)絡(luò)服務(wù)器上運(yùn)行的軟件能確認(rèn)位于網(wǎng)絡(luò)上特定位置的該系統(tǒng)是且將繼續(xù)是允許受控制訪問的安全保護(hù)系統(tǒng)。
5.根據(jù)權(quán)利要求1的個(gè)人計(jì)算機(jī)系統(tǒng),其特點(diǎn)在于所述個(gè)人計(jì)算機(jī)系統(tǒng)具有至少一個(gè)I/O插槽用于接鈉一個(gè)選件卡并在運(yùn)行上與所述系統(tǒng)處理器相連,而且所述槽口位于所述機(jī)箱內(nèi),只有在打開所述機(jī)箱后才能由人接觸它。
6.根據(jù)權(quán)利要求5的個(gè)人計(jì)算機(jī)系統(tǒng),其特點(diǎn)在于所述個(gè)人計(jì)算機(jī)系統(tǒng)有一個(gè)裝在所述機(jī)箱內(nèi)的海量存貯設(shè)備而且是不能人工拿開的;所述海量存貯設(shè)備有一個(gè)系統(tǒng)分區(qū)而且在運(yùn)行上與所述系統(tǒng)處理器相連,以便向所述海量存貯器存貯程序和數(shù)據(jù)以及從中取出程序和數(shù)據(jù);在所述海量存貯設(shè)備的所述系統(tǒng)分區(qū)中存貯的系統(tǒng)配置設(shè)備實(shí)用程序?qū)τ谠搨€(gè)人計(jì)算機(jī)系統(tǒng)的普通用戶和非受權(quán)用戶而是不可以使用的,它用于使系統(tǒng)所有者和受權(quán)用戶之一能有選擇地使該系統(tǒng)能接受任何裝在所述插槽內(nèi)的選件卡。
全文摘要
本發(fā)明涉及計(jì)算機(jī)系統(tǒng),更具體地說,是涉及具有能控制對(duì)系統(tǒng)中所存數(shù)據(jù)進(jìn)行訪問的安全特性的系統(tǒng)。本發(fā)明考慮到防止能成為安全保護(hù)系統(tǒng)的個(gè)人計(jì)算機(jī)系統(tǒng)由于受到未加安全保護(hù)的機(jī)器的攻擊而進(jìn)入安全保護(hù)狀態(tài)。再有,在網(wǎng)絡(luò)環(huán)境中,使任何給定的具體系統(tǒng)對(duì)于網(wǎng)絡(luò)都是可被唯一識(shí)別的。通過這種唯一識(shí)別可以防止由未加安全保護(hù)的“另一個(gè)”代替物使網(wǎng)絡(luò)通過一個(gè)未加安全保護(hù)的系統(tǒng)受到攻擊。
文檔編號(hào)G06F21/02GK1091843SQ93117699
公開日1994年9月7日 申請(qǐng)日期1993年9月14日 優(yōu)先權(quán)日1992年9月17日
發(fā)明者小約漢·W·布拉克萊奇, 理查德·A·戴安, 丹尼斯·李·穆勒, 帕爾莫·E·紐曼, 肯尼斯·J·P·祖貝 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司