專利名稱:計(jì)算機(jī)硬盤保護(hù)卡的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及一種計(jì)算機(jī)擴(kuò)展卡,更準(zhǔn)確的說,是涉及一種用于保護(hù)計(jì)算機(jī)硬盤上的一定范圍的數(shù)據(jù)不被更改、以及系統(tǒng)設(shè)置(CMOS)不被更改的計(jì)算機(jī)系統(tǒng)擴(kuò)展卡。
目前針對硬盤保護(hù)的系統(tǒng)擴(kuò)展卡主要可以分為兩種類型,一種是通過軟件實(shí)現(xiàn)保護(hù)功能的軟保護(hù)卡,另一種是通過硬件實(shí)現(xiàn)的硬保護(hù)卡。
軟保護(hù)卡主要包括一個(gè)系統(tǒng)總線接口和一片只讀存儲器。雖然它也有硬件,但是它對硬盤的保護(hù)卻是通過存儲在只讀存儲器中的計(jì)算機(jī)程序來修改硬盤中斷來實(shí)現(xiàn)的。硬盤中斷(INT13H)是一種應(yīng)用程序的底層接口,它接受應(yīng)用程序?qū)τ脖P的讀寫請求,然后通過適當(dāng)?shù)亩丝诓僮鱽硗瓿稍撜埱?。通常,DOS環(huán)境下的應(yīng)用程序都是通過硬盤中斷來讀寫硬盤的。軟保護(hù)卡截獲了硬盤中斷,通過自己嵌入的程序來對應(yīng)用程序的服務(wù)請求進(jìn)行判斷如果應(yīng)用程序要進(jìn)行非法的操作,例如寫硬盤一定范圍內(nèi)的數(shù)據(jù),格式化等,則終止該操作,同時(shí)返回一個(gè)操作成功的信號,讓應(yīng)用程序誤以為操作成功,繼續(xù)執(zhí)行而不報(bào)告出錯(cuò);相反,如果應(yīng)用程序的操作合法,則轉(zhuǎn)入到正確的硬盤中斷入口繼續(xù)執(zhí)行。這種結(jié)構(gòu)的基礎(chǔ)是應(yīng)用程序必須要通過中斷來進(jìn)行硬盤的操作,但是現(xiàn)在的主流操作系統(tǒng)中,只有DOS是基本滿足要求的,而對于其他的操作系統(tǒng),基本上已經(jīng)摒棄了16位的基本輸入輸出系統(tǒng)(BIOS)程序而是用自己的接口,所以,對于Windows 95、Windows 98可以簡單的禁止32位保護(hù)模式磁盤操作程序而使系統(tǒng)使用BIOS的中斷,以降低系統(tǒng)性能的方法來獲得對保護(hù)卡的支持,但是對于Unix、Windows NT等32位的操作系統(tǒng)則無能為力了。另一方面,同樣是因?yàn)樗僭O(shè)應(yīng)用程序使用中斷來操作硬盤,使它的保護(hù)功能非常不可靠。因?yàn)?,作為軟件的一部分,中斷的入口是可以被隨意更改的,保護(hù)卡可以更改入口,應(yīng)用程序同樣也可以更改,所以一旦應(yīng)用程序?qū)⒅袛嗳肟诨謴?fù)成原始值,使得對硬盤的操作不經(jīng)過保護(hù)卡而直接進(jìn)入BIOS內(nèi)部,那么保護(hù)卡的保護(hù)功能就不可能起到任何作用了。同樣,如果應(yīng)用程序根本不使用中斷而象BIOS一樣直接用端口對硬盤進(jìn)行操作,那么保護(hù)卡也將形同虛設(shè)。
軟保護(hù)卡還可以通過備份/還原的方法來實(shí)現(xiàn)硬盤保護(hù)。這種卡將硬盤的一部分作為備份分區(qū),當(dāng)需要對系統(tǒng)進(jìn)行恢復(fù)的時(shí)候再使用備份分區(qū)中的數(shù)據(jù)進(jìn)行還原。這種卡不一定依賴于硬盤中斷的保護(hù),而主要依賴于備份分區(qū)。所以,它可以支持各種操作系統(tǒng),就仿佛沒有保護(hù)卡一樣——因?yàn)楸Wo(hù)卡并沒有對操作系統(tǒng)所在的分區(qū)進(jìn)行保護(hù)。但是,這是以犧牲大量的硬盤空間作為代價(jià)的。同時(shí),因?yàn)樗鼪]有對硬盤進(jìn)行寫保護(hù),任何備份分區(qū)的數(shù)據(jù)一樣是有可能被改寫的,還原也就是去了意義。
總的來說,軟保護(hù)卡實(shí)現(xiàn)簡單,但是對硬盤保護(hù)的可靠性卻很差。
硬保護(hù)卡主要包括硬盤數(shù)據(jù)接口,判斷邏輯電路,接口控制部件等部分,需要有硬盤的數(shù)據(jù)線接到保護(hù)卡上。由于對硬盤的任何讀寫指令都是通過硬盤數(shù)據(jù)線傳輸?shù)?,硬保護(hù)卡就可以通過對數(shù)據(jù)線上的數(shù)據(jù)流進(jìn)行分析來判斷當(dāng)前對硬盤的操作是否為非法操作從而采取相應(yīng)的動作。現(xiàn)階段的硬保護(hù)卡只是對非法的操作進(jìn)行干擾,而不進(jìn)行其他的操作。這也就意味著,當(dāng)BIOS要寫硬盤數(shù)據(jù)時(shí),它會向硬盤發(fā)送一個(gè)命令,但是這個(gè)命令卻被保護(hù)卡給干擾了,硬盤將會忽略掉這個(gè)命令,但是BIOS卻會等待硬盤的數(shù)據(jù)請求信號。當(dāng)BIOS等待超時(shí)后,它會向操作系統(tǒng)返回一個(gè)出錯(cuò)信號,使應(yīng)用程序不能正常的進(jìn)行下去。所以現(xiàn)階段的硬保護(hù)卡仍然需要附加軟保護(hù)卡的功能,由軟件從相對較高的層次屏蔽掉非法硬盤操作,由硬件來實(shí)現(xiàn)硬盤保護(hù)的高可靠性。與軟保護(hù)卡一樣,這樣做的結(jié)果是降低了系統(tǒng)的兼容性,因?yàn)樗匀灰蕾囉贐IOS提供的中斷程序。
對于系統(tǒng)CMOS的保護(hù),現(xiàn)在通用的做法是將原始的CMOS參數(shù)備份到硬盤上的特定扇區(qū),在系統(tǒng)啟動過程中,會初始化擴(kuò)展卡上的存儲器中的計(jì)算機(jī)程序,該程序檢查當(dāng)前的CMOS參數(shù)與硬盤上的參數(shù)是否一致,如果不一致,則將使用硬盤上的數(shù)據(jù)進(jìn)行恢復(fù)。由于CMOS參數(shù)是各個(gè)廠商自己定義的,大部分沒有統(tǒng)一的含義,而且在系統(tǒng)初始化的過程中,即使沒有人為的更改,其中的某些值也有可能發(fā)生變化,這樣,當(dāng)保護(hù)卡檢測時(shí)就會發(fā)現(xiàn)不一致,于是恢復(fù)原始值,然后重新啟動計(jì)算機(jī),但是重啟的過程中這些值又會改變,所以計(jì)算機(jī)將會不停的重啟,不能正常工作。另一方面,還存在“口令屏蔽”問題。也就是說,如果系統(tǒng)定義了用戶口令,當(dāng)系統(tǒng)自檢完畢后立即會要求輸入口令,然后才會初始化保護(hù)卡,所以如果口令遺失或者他人更改了口令,保護(hù)卡就不可能恢復(fù)CMOS參數(shù)了。
所以,總的來說,現(xiàn)階段的硬保護(hù)卡可以在保護(hù)的可靠性上達(dá)到最高級別,但是卻嚴(yán)重影響了系統(tǒng)的兼容性,降低了系統(tǒng)性能,還存在口令屏蔽的問題。
本實(shí)用新型的目的在于克服現(xiàn)有技術(shù)的不足,提供一種保護(hù)計(jì)算機(jī)硬盤的硬保護(hù)卡。它相對于軟保護(hù)卡具有硬保護(hù)卡對硬盤保護(hù)的最高的可靠性,相對于現(xiàn)有的硬保護(hù)卡具有更高的兼容性和更快的速度,并能有效解決口令屏蔽的問題。它不僅可對非法的硬盤操作進(jìn)行識別、屏蔽,同時(shí)又能模擬硬盤工作返回正確的信號;同時(shí)保護(hù)系統(tǒng)CMOS參數(shù)的設(shè)置,通過對CMOS放電和增加屏蔽碼的方法,克服口令屏蔽和反復(fù)啟動的問題。
為了實(shí)現(xiàn)上述目的,本實(shí)用新型包括至少一個(gè)集成了監(jiān)視系統(tǒng)及控制系統(tǒng)的中央邏輯單元、至少一個(gè)用于存儲計(jì)算機(jī)程序的存儲單元、至少一個(gè)用于選擇硬盤數(shù)據(jù)連接的雙向開關(guān)和兩個(gè)硬盤接口插槽;所述中央邏輯單元按如下步驟控制存儲單元的讀寫以及雙向開關(guān)的開合,并向硬盤接口產(chǎn)生數(shù)據(jù)輸出(a)中央邏輯單元通過檢測與硬盤控制器相連的硬盤插槽的數(shù)據(jù)流來判斷當(dāng)前的命令是否合法,當(dāng)產(chǎn)生了非法的硬盤操作時(shí),將雙向開關(guān)斷開,同時(shí)將偽指令驅(qū)動到與硬盤相連的硬盤接口插槽而使實(shí)際的指令被屏蔽掉;(b)然后在中央邏輯單元的內(nèi)部開始進(jìn)行硬盤的模擬,根據(jù)當(dāng)前的狀態(tài)反饋數(shù)據(jù)請求信號,以及中斷請求信號(INTRQ’);(c)中央邏輯單元進(jìn)行地址解析,將程序存儲器的程序映射到內(nèi)存空間D000段以及C000段。
本實(shí)用新型的技術(shù)方案,在確保最高可靠性的基礎(chǔ)上,成功的解決了操作系統(tǒng)兼容性的問題,能夠有效的支持WindowsNT,Unix,Linux等操作系統(tǒng),同時(shí)不占用任何常規(guī)內(nèi)存、中斷、端口,絲毫不影響系統(tǒng)性能,并且在保護(hù)CMOS的基礎(chǔ)上,能有效的解決口令屏蔽和反復(fù)啟動的問題。
以下通過其具體實(shí)施例和附圖對本實(shí)用新型加以詳細(xì)說明。
圖1是本實(shí)用新型的結(jié)構(gòu)模塊圖。
圖2是本實(shí)用新型的電路原理圖。
圖3是本實(shí)用新型的邏輯單元中的邏輯結(jié)構(gòu)模塊圖。
圖4是本實(shí)用新型邏輯單元系統(tǒng)控制器的主工作狀態(tài)流程圖。
圖5是本實(shí)用新型的硬盤非法指令屏蔽部分的流程圖。
圖6是本實(shí)用新型的硬盤模擬部件工作流程圖。
圖1為本實(shí)用新型的結(jié)構(gòu)模塊圖,包括了一個(gè)集成了監(jiān)視系統(tǒng)及控制系統(tǒng)的中央邏輯單元(1),一個(gè)用于存儲計(jì)算機(jī)程序的存儲單元(2),一個(gè)用于選擇硬盤數(shù)據(jù)連接的雙向開關(guān)(3)和兩個(gè)硬盤接口插槽(4、5)。通常,雙向開關(guān)將與硬盤控制器相連的硬盤接口插槽(4)和與硬盤相連的硬盤接口插槽(5)的數(shù)據(jù)信號(DATA)直接相連,以保證正常的硬盤操作不受影響。中央邏輯單元(1)通過檢測數(shù)據(jù)線上的數(shù)據(jù)流來判斷當(dāng)前的命令是否合法。當(dāng)產(chǎn)生了非法的硬盤操作時(shí),將雙向開關(guān)(3)斷開,同時(shí)將偽指令驅(qū)動到與硬盤相連的硬盤接口插槽(5)而使實(shí)際的指令被屏蔽掉。在中央邏輯單元(1)的內(nèi)部則開始進(jìn)行硬盤的模擬,根據(jù)當(dāng)前的狀態(tài)反饋數(shù)據(jù)請求信號,以及中斷請求信號(INTRQ’)。為了實(shí)現(xiàn)硬件保護(hù)的關(guān)閉功能,在保護(hù)卡上設(shè)置了一個(gè)接口,只要將相應(yīng)的密鑰插入即可關(guān)閉保護(hù)。密鑰將向中央邏輯單元(1)輸入當(dāng)前的值(OUT_KEY),同時(shí),內(nèi)部的跳線組也向中央邏輯單元(1)輸入當(dāng)前設(shè)定的值(INT_KEY),中央邏輯單元(1)將比較這兩組值是否相等來確定是否關(guān)閉保護(hù)功能。在中央邏輯單元(1)中同時(shí)還集成了程序地址解析單元(19)。輸入相應(yīng)的ISA總線信號將根據(jù)需要進(jìn)行地址解析,將存儲單元(2)中的程序映射到內(nèi)存空間中。
本實(shí)用新型的中央邏輯單元(1)和/或存儲單元(2)和/或雙向開關(guān)(3)可以做成一個(gè)集成電路模塊。
本實(shí)用新型的中央邏輯單元(1)或存儲單元(2)或雙向開關(guān)(3)可以由多個(gè)半導(dǎo)體集成電路組成。
在圖2中,兩個(gè)硬盤接口插槽(4、5),除腳3、腳5、腳7、腳11、腳31外直接相連。兩個(gè)硬盤接口插槽(4、5)的腳3、腳5、腳7、腳11分別連接雙向開關(guān)(3)的相應(yīng)的數(shù)據(jù)端。雙向開關(guān)(3)的控制端與中央邏輯單元(1)相連。從ISA總線輸入的端口ISA_AD[19..0]、MEMR、MEMW、ALE連接到中央邏輯單元(1)的輸入端口,產(chǎn)生輸出信號到存儲單元(2)的地址端口A[0..16]、片選CE、讀信號OE、寫信號WE。存儲單元(2)的數(shù)據(jù)端D[0..7]連接到ISA總線的數(shù)據(jù)接口DATA。
圖3為本實(shí)用新型的邏輯單元中的結(jié)構(gòu)模塊圖,包括一個(gè)系統(tǒng)控制器(11),兩個(gè)地址寄存器(14、15),一個(gè)地址比較單元(16),一個(gè)密鑰比較單元(13),一個(gè)計(jì)數(shù)器(18),一個(gè)中斷請求產(chǎn)生單元(17)以及一個(gè)程序地址解析單元(19)。由系統(tǒng)控制器(11)來控制系統(tǒng)各個(gè)部分的同步工作。地址寄存器(14、15)中的參數(shù)在初始化時(shí)加載,存放的是當(dāng)前的硬盤保護(hù)范圍,地址比較單元(16)將比較當(dāng)前硬盤操作地址與地址寄存器(14、15)中的值,然后判斷當(dāng)前的操作是否為非法的操作。密鑰比較單元(13)用于比較外部密鑰與內(nèi)部密鑰的值,當(dāng)兩個(gè)值相同時(shí),將禁止保護(hù)卡的保護(hù)功能。計(jì)數(shù)器(18)則用于進(jìn)行硬盤模擬,如果有非法操作產(chǎn)生,將根據(jù)需要操作的扇區(qū)數(shù)設(shè)置相應(yīng)的計(jì)數(shù)值,并根據(jù)計(jì)數(shù)器的值來決定是否產(chǎn)生偽數(shù)據(jù)請求信號。中斷請求產(chǎn)生單元(17)則根據(jù)硬盤的實(shí)際中斷請求情況以及當(dāng)前的計(jì)數(shù)器(18)的值來決定是否產(chǎn)生中斷請求。程序地址解析單元(19)將存儲單元(2)中的程序映射到計(jì)算機(jī)內(nèi)存地址空間中。為了能夠模擬顯示適配器,需要將程序存儲器的一部分解析到地址C000段;另一方面,為了完成保護(hù)卡的初始化,又需要將程序存儲器的一部分解析到地址D000段。地址解析單元(19)將根據(jù)當(dāng)前系統(tǒng)控制器(11)的要求進(jìn)行適當(dāng)?shù)牡刂方馕觥?br>
本實(shí)用新型的中央邏輯單元(1)應(yīng)包括至少一個(gè)系統(tǒng)控制器(11),至少一個(gè)地址寄存器(14),至少一個(gè)地址比較單元(16),至少一個(gè)密鑰比較單元(13),至少一個(gè)計(jì)數(shù)器(18),至少一個(gè)中斷請求產(chǎn)生單元(17)以及至少一個(gè)程序地址解析單元(19)。
參考圖4邏輯單元系統(tǒng)控制器的主工作狀態(tài)流程圖,包括五個(gè)系統(tǒng)狀態(tài)。初始態(tài)是系統(tǒng)剛剛上電時(shí)的工作狀態(tài),只有在這種情況下才允許從存儲單元(2)到內(nèi)存地址C000段的地址解析,以保證系統(tǒng)的顯示適配器能夠正常工作,而在其他狀態(tài)下將只完成從存儲單元(2)到內(nèi)存地址D000段的地址解析。從狀態(tài)1到狀態(tài)3是中間狀態(tài),系統(tǒng)在這個(gè)過程中產(chǎn)生配置周期,對地址寄存器(14、15)進(jìn)行初始化。只有向其發(fā)送特定的觸發(fā)信號才能使?fàn)顟B(tài)一級一級前進(jìn),這樣可以保證屏蔽掉干擾信號。終止?fàn)顟B(tài)是中央邏輯單元(1)正常工作時(shí)的狀態(tài),只有在這個(gè)狀態(tài)系統(tǒng)才能開始進(jìn)行硬盤的保護(hù),同時(shí)禁止配置。
參考圖5,在一個(gè)硬盤數(shù)據(jù)傳輸指令周期中,首先寄存該傳輸指令要操作的地址,然后判斷當(dāng)前是否為寫盤指令,包括寫硬盤扇區(qū)、格式化等。如果不是寫盤指令則正常結(jié)束當(dāng)前的監(jiān)測,否則繼續(xù)判斷操作的地址是否為被保護(hù)范圍。如果不是被保護(hù)范圍則正常結(jié)束當(dāng)前的監(jiān)測,否則將允許硬盤模擬部件進(jìn)行硬盤模擬,然后向硬盤發(fā)送偽指令碼,最后結(jié)束當(dāng)前的監(jiān)測返回。
參考圖6硬盤模擬部件工作流程圖,當(dāng)開始一個(gè)硬盤模擬周期后,硬盤模擬部件等待數(shù)據(jù)寫入。如果由數(shù)據(jù)寫入,則將計(jì)數(shù)器減1,然后判斷當(dāng)前的計(jì)數(shù)值是否為零。如果不為零,則繼續(xù)等待數(shù)據(jù)寫入;如果為零,則產(chǎn)生中斷請求信號,然后退出硬盤模擬周期。
權(quán)利要求1.一種計(jì)算機(jī)硬盤保護(hù)卡,其特征在于包括至少一個(gè)集成了監(jiān)視系統(tǒng)及控制系統(tǒng)的中央邏輯單元1、至少一個(gè)用于存儲計(jì)算機(jī)程序的存儲單元2、至少一個(gè)用于選擇硬盤數(shù)據(jù)連接的雙向開關(guān)3和兩個(gè)硬盤接口插槽4、5;所述中央邏輯單元1按如下步驟控制存儲單元2的讀寫以及雙向開關(guān)3的開合,并向硬盤接口4、5產(chǎn)生數(shù)據(jù)輸出(a)中央邏輯單元1通過檢測與硬盤控制器相連的硬盤插槽4的數(shù)據(jù)流來判斷當(dāng)前的命令是否合法,當(dāng)產(chǎn)生了非法的硬盤操作時(shí),將雙向開關(guān)3斷開,同時(shí)將偽指令驅(qū)動到與硬盤相連的硬盤接口插槽5而使實(shí)際的指令被屏蔽掉;(b)然后在中央邏輯單元1的內(nèi)部開始進(jìn)行硬盤的模擬,根據(jù)當(dāng)前的狀態(tài)反饋數(shù)據(jù)請求信號,以及中斷請求信號;(c)中央邏輯單元1進(jìn)行地址解析,將程序存儲器2的程序映射到內(nèi)存空間D000段以及C000段。
2.如權(quán)利要求1所述的計(jì)算機(jī)硬盤保護(hù)卡,其特征在于所述的中央邏輯單元1和/或存儲單元2和/或雙向開關(guān)3可以做成一個(gè)集成電路模塊。
3.如權(quán)利要求1所述的計(jì)算機(jī)硬盤保護(hù)卡,其特征在于所述的中央邏輯單元1或存儲單元2或雙向開關(guān)3可以由多個(gè)半導(dǎo)體集成電路組成。
4.如權(quán)利要求1所述的計(jì)算機(jī)硬盤保護(hù)卡,其特征在于所述的中央邏輯單元1包括至少一個(gè)系統(tǒng)控制器11,至少一個(gè)地址寄存器14,至少一個(gè)地址比較單元16,至少一個(gè)密鑰比較單元13,至少一個(gè)計(jì)數(shù)器18,至少一個(gè)中斷請求產(chǎn)生單元17以及至少一個(gè)程序地址解析單元19。
5.如權(quán)利要求1所述的計(jì)算機(jī)硬盤保護(hù)卡,其特征在于所述的兩個(gè)硬盤接口插槽4、5除腳3、腳5、腳7、腳11、腳31外直接相連。兩個(gè)硬盤接口插槽4、5的腳3、腳5、腳7、腳11分別連接雙向開關(guān)的相應(yīng)的數(shù)據(jù)端。
6.如權(quán)利要求1所述的計(jì)算機(jī)硬盤保護(hù)卡,其特征在于所述的雙向開關(guān)3的控制端與中央邏輯單元1相連。
專利摘要本實(shí)用新型涉及一種計(jì)算機(jī)擴(kuò)展卡。包括至少一個(gè)集成了監(jiān)視系統(tǒng)及控制系統(tǒng)的中央邏輯單元、至少一個(gè)用于存儲計(jì)算機(jī)程序的存儲單元、至少一個(gè)用于選擇硬盤數(shù)據(jù)連接的雙向開關(guān)和兩個(gè)硬盤接口插槽;所述中央邏輯單元控制存儲單元的讀寫以及雙向開關(guān)的開合,并向硬盤接口產(chǎn)生數(shù)據(jù)輸出實(shí)現(xiàn)計(jì)算機(jī)硬盤的保護(hù)。具有最高的可靠性,解決了操作系統(tǒng)兼容性的問題,并且在保護(hù)CMOS的基礎(chǔ)上,能有效的解決口令屏蔽和反復(fù)啟動的問題。
文檔編號G06F12/14GK2368081SQ99200160
公開日2000年3月8日 申請日期1999年1月7日 優(yōu)先權(quán)日1999年1月7日
發(fā)明者李聯(lián)凱 申請人:北京航力電子產(chǎn)品貿(mào)易公司