專利名稱:Dos文件系統(tǒng)安全存取控制方法及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于DOS和Windows系統(tǒng)中的文件和目錄安全存取方法及設(shè)備,屬于計算機系統(tǒng)和信息安全技術(shù)。
DOS系統(tǒng)依賴它的大量前端用戶和眾多應(yīng)用軟件,在相當(dāng)長的一段時間內(nèi)仍將發(fā)揮作用,而且,擁有廣泛支持的Windows3.x和Windows95也依賴于DOS文件系統(tǒng)。建立一個良好的應(yīng)用環(huán)境,需要多種系統(tǒng)軟件和工具軟件,并經(jīng)過復(fù)雜的勞動才能完成。這樣的軟件系統(tǒng)環(huán)境包含了大量的資金、技術(shù)和人力,必須得到保護,不能讓它輕易被破壞。一個系統(tǒng)中的絕大多數(shù)文件都是用于構(gòu)造系統(tǒng)環(huán)境的,用戶應(yīng)用程序?qū)λ鼈兊脑L問都是以讀方式進行的,對這些文件的任何有意或無意更改都會造成系統(tǒng)環(huán)境的破壞。因此,需要文件系統(tǒng)提供對文件的讀寫保護機制來保證系統(tǒng)環(huán)境的安全與可靠。
可惜的是,雖然DOS文件系統(tǒng)提供了文件或目錄的隱藏屬性“Hide”和只讀屬性“ReadOnly”,但由于DOS系統(tǒng)沒有權(quán)限管理,也沒有實現(xiàn)安全管理的基礎(chǔ)設(shè)施,所以具有“Hide”屬性的文件或目錄同樣可以被任一用戶查看,具有“ReadOnly”屬性的文件或目錄也同樣可以被任一用戶修改或刪除。由此可見,僅僅設(shè)置文件屬性并不能防止病毒侵襲和人為破壞那些需要保護的文件;已有的各種第三方工具也沒有滿足用戶在應(yīng)用中的實際需要,所提供的DOS文件系統(tǒng)保護還存在如下的局限1.以文件或目錄為單位時,只能提供隱含保護,不能提供只讀保護;2.只能以整個硬盤或DOS分區(qū)作為基本單位提供只讀保護;3.不能全面地兼容DOS和Windows應(yīng)用環(huán)境。
那種“要么將整個硬盤或硬盤分區(qū)變?yōu)椴豢梢姷幕蛑蛔x的,要么將整個硬盤或硬盤分區(qū)開放”的做法是不可取的。應(yīng)當(dāng)允許用戶自由決定每一個文件的安全控制方法或存取權(quán)限,并由系統(tǒng)提供徹底的安全保護措施。
在本發(fā)明之前,已經(jīng)有了公開號為CN1109609A的發(fā)明專利。雖然該專利可以對存儲器進行選擇性的(禁止/允許) (讀/寫)控制,但它至少存在如下缺陷1.對存儲器的區(qū)域選擇是通過授權(quán)者在參數(shù)記憶部件中填寫參數(shù)實現(xiàn)的,(禁止/允許)(讀/寫)是通過授權(quán)者在控制部件中填寫操作代碼實現(xiàn)的。但是,該專利沒有機制來決定誰可以是授權(quán)者。這樣,任何用戶都可以通過先修改參數(shù)記憶部件的參數(shù)和控制部件中的操作代碼,再對存儲器進行存取,進而使該專利設(shè)計對存儲器的控制失去實際意義。
2.受總線時序的限制,采用硬件部件來存儲選擇參數(shù)和操作代碼難以實現(xiàn)對存儲器的多個區(qū)域同時進行選擇性的(禁止/允許)(讀/寫)控制。
3.由于沒有完善的硬件設(shè)備支持,不能在文件系統(tǒng)上建立對原有環(huán)境完全兼容的安全存取控制體系。
本發(fā)明的目的是根據(jù)實際應(yīng)用環(huán)境的需求,發(fā)明了一種DOS文件系統(tǒng)安全存取控制方法及設(shè)備,為授權(quán)者提供一種硬盤控制管理手段。它通過一種與應(yīng)用環(huán)境完全兼容的硬盤空間隔離方法賦予不同用戶對各個硬盤空間的存取權(quán)限;通過復(fù)位鎖機制與存儲在非易失性器件中的用戶信息和硬盤隔離信息實施了用戶授權(quán)管理;通過被硬盤存取審核程序控制的硬盤鎖實現(xiàn)對DOS文件系統(tǒng)的安全存取,防止非法讀寫硬盤數(shù)據(jù),保護重要信息不被破壞,并可以阻止計算機病毒的污染和破壞。依賴特定的硬件設(shè)備和軟件的支持,硬盤空間隔離方法對DOS文件系統(tǒng)的硬盤空間使用自由度加以了限制;但這種限制并不影響文件本身的邏輯結(jié)構(gòu),也不影響文件系統(tǒng)的邏輯組織,更不改變文件的數(shù)據(jù)內(nèi)容。對所有應(yīng)用軟件來講,經(jīng)該方法加強了存取安全管理的DOS文件系統(tǒng)與傳統(tǒng)的DOS文件系統(tǒng)沒有區(qū)別。因此,本發(fā)明能夠以簡潔、實用的方式為一個擁有大量用戶,已有眾多軟件的DOS系統(tǒng)的文件存取提供安全控制,并兼容已有的應(yīng)用環(huán)境。
本發(fā)明所采用的技術(shù)方法是在DOS FAT(File Allocation Table)結(jié)構(gòu)文件系統(tǒng)的硬盤空間分配的基礎(chǔ)上,按“可讀寫、只讀、不可讀寫”應(yīng)用需求,將對應(yīng)于硬盤主引導(dǎo)扇區(qū)、各個DOS分區(qū)的保留扇區(qū)、引導(dǎo)扇區(qū)、FAT表項、目錄表項和文件數(shù)據(jù)的硬盤存儲空間隔離成屬于不同用戶擁有的、由連續(xù)扇區(qū)組成的空間塊。然后根據(jù)用戶標識信息和用戶啟動系統(tǒng)時提交的身份信息,并利用復(fù)位鎖和存儲在參數(shù)存儲器中的硬盤空間隔離信息,為不同用戶提供不同的系統(tǒng)運行狀態(tài)和硬盤存取權(quán)限;并依靠擴充且固化的硬盤存取審核程序操縱硬盤鎖設(shè)備和硬盤適配卡控制器,實現(xiàn)符合權(quán)限要求的硬盤分塊禁止/允許讀寫控制。最終實現(xiàn)對DOS應(yīng)用完全兼容的、以文件為基本單位的、具有多組用戶權(quán)限的DOS文件安全存取控制。
此方法的具體步驟如下1.在DOS分區(qū)設(shè)定三級權(quán)限模式。在硬盤審核運行方式下,每一個DOS分區(qū)中的所有硬盤空間按照“可讀寫、只讀、不可讀寫”的應(yīng)用需要按比例分為三類一類空間作為用戶空間,以一個授權(quán)用戶作為所有者,可以被該授權(quán)用戶按照傳統(tǒng)的DOS方式存取,是該授權(quán)用戶的“可讀寫”硬盤空間;另一類空間作為系統(tǒng)空間,以對應(yīng)的系統(tǒng)用戶作為所有者,只能被授權(quán)用戶讀取,但可以被特權(quán)用戶和對應(yīng)的管理用.戶讀和寫,是該授權(quán)用戶的“只讀”硬盤空間;還有一類空間作為專用空間,以對應(yīng)的管理用戶作為所有者,只能被特權(quán)用戶和該管理用戶讀和寫,不能被授權(quán)用戶讀或?qū)懀窃撌跈?quán)用戶的“不可讀寫”硬盤空間。通過將每一個DOS分區(qū)與一個授權(quán)用戶相聯(lián)系,就可以在由多個分區(qū)組成的整個DOS文件系統(tǒng)上實現(xiàn)多用戶存取權(quán)限管理。
用戶是系統(tǒng)的使用者,每一個用戶都有自己的用戶標識信息。用戶標識信息包括用戶標識碼、用戶名和用戶口令,其中的用戶標識碼由用戶組號與用戶號構(gòu)成。用戶組號表示用戶的優(yōu)先級別。在所有組號中,組號最小的是管理用戶組號,具有管理用戶組號的用戶是管理用戶;組號最大的是系統(tǒng)用戶組號,具有系統(tǒng)用戶組號的用戶是系統(tǒng)用戶;具有其它組號的用戶是授權(quán)用戶。一個管理用戶與一個系統(tǒng)用戶和多個授權(quán)用戶相對應(yīng);而一個授權(quán)用戶總是對應(yīng)一個管理用戶和一個系統(tǒng)用戶。用戶號最小的管理用戶是特權(quán)用戶,用戶號最大的系統(tǒng)用戶是普通用戶。系統(tǒng)用戶沒有對應(yīng)的用戶標識信息,不提交用戶名和口令就啟動系統(tǒng)的用戶只能是普通用戶。管理用戶和授權(quán)用戶啟動系統(tǒng)必須提交對應(yīng)的用戶名和口令。
用戶標識碼占1字節(jié)、用戶名占11字節(jié)、口令的密碼占4字節(jié)。保存50個用戶標識信息需要不到1KB的存儲空間。
2.用硬盤空間隔離信息描述硬盤空間的隔離。將每一DOS分區(qū)的保留扇區(qū)和引導(dǎo)區(qū)劃為一個隔離空間,屬于一個用戶所有;將該分區(qū)的數(shù)據(jù)空間劃為多個由連續(xù)扇區(qū)組成的隔離空間,分別屬于多個用戶所有;對應(yīng)數(shù)據(jù)空間的劃分,將分區(qū)的文件分配表表項占用的空間相應(yīng)地分為多個隔離空間,屬于對應(yīng)的多個用戶。分區(qū)的根目錄表項占用的空間也分為多個隔離空間,分別屬于這多個用戶。
本發(fā)明參照LBA(Logic Block Address)格式提出如下的硬盤空間隔離信息表示方法[用戶組號+用戶號+硬盤號+扇區(qū)數(shù)],用戶組號和用戶號合在一起構(gòu)成用戶標識碼,每一個硬盤隔離空間都有一個用戶標識碼作為所有者標識碼。參照LBA格式存儲的描述硬盤隔離空間的數(shù)據(jù)項按不同硬盤分組,同一組內(nèi)的空間隔離數(shù)據(jù)按對應(yīng)的隔離空間起始扇區(qū),從小至大排列。硬盤上各個DOS分區(qū)的引導(dǎo)扇區(qū)、FAT表項、目錄項和文件對應(yīng)的硬盤存儲空間都按“可讀寫、只讀、不可讀寫”的存取控制需求被劃歸到或隔離成屬于不同用戶擁有的、由連續(xù)扇區(qū)組成的空間塊。
硬盤空間隔離信息的每一項占4個字節(jié),其中的“用戶組號”占用3位,可以取值0~7,最大支持7個用戶組;“用戶號”占用3位,可以取值0~7,每組最多有8個用戶,用戶組號和用戶號合在一起構(gòu)成用戶標識碼;隨后的“硬盤號”占2位,能夠區(qū)分最多4個不同的ATA/IDE接口硬盤;最后的“扇區(qū)數(shù)”占用24位,表示該硬盤隔離空間以扇區(qū)為單位的大小,可以支持容量高達8GB的硬盤。
以每個硬盤64個硬盤空間隔離信息進行計算,最多4個AT/IDE兼容接口硬盤的隔離信息需要1KB的存儲空間。
3.用戶的硬盤存取權(quán)限依賴于用戶標識碼和硬盤空間隔離信息。用戶啟動微機系統(tǒng)時,必須提交用戶名和用戶口令來證明自己,并得到相應(yīng)的用戶標識碼。如果用戶提交了特權(quán)用戶口令,復(fù)位鎖處于“解鎖”狀態(tài),系統(tǒng)運行于硬盤非審核環(huán)境,特權(quán)用戶可以存取全部硬盤空間的數(shù)據(jù);如果用戶不提交任何口令,系統(tǒng)啟動后進入審核狀態(tài)運行,此用戶作為普通用戶,具有指定的用戶標識碼;如果用戶提交自己的用戶名和口令來啟動微機,系統(tǒng)同樣進入審核狀態(tài)運行,此用戶作為授權(quán)用戶或管理用戶,得到對應(yīng)的用戶標識碼。
在硬盤審核運行環(huán)境下,如果用戶標識碼是特權(quán)用戶,或者用戶標識碼與對應(yīng)的隔離空間的所有者標識碼相等,或者所有者標識碼為普通用戶標識碼,或者用戶標識碼的組號為管理用戶組號且用戶標識碼的用戶號與所有者標識碼的用戶號相等,則該用戶可以讀,也可以寫此硬盤隔離空間的數(shù)據(jù);否則,如果用戶標識碼組號小于對應(yīng)的隔離空間的所有者標識碼的組號,則該用戶可以讀,但不能寫此硬盤隔離空間的數(shù)據(jù);否則,如果用戶標識碼組號大于或等于對應(yīng)的隔離空間的所有者標識碼的組號,則該用戶既不能讀,也不能寫此硬盤隔離空間的數(shù)據(jù)。硬盤存取審核程序流程表示在附圖4中。
4.采用復(fù)位鎖控制DOS用戶權(quán)限。復(fù)位鎖有兩種狀態(tài)“解鎖”狀態(tài)由復(fù)位電信號設(shè)置,它決定系統(tǒng)進入硬盤非審核狀態(tài)運行;“閉鎖”狀態(tài)由特定指令設(shè)置,它決定系統(tǒng)進入硬盤審核狀態(tài)運行。每次開機啟動或硬件復(fù)位后,復(fù)位電信號使復(fù)位鎖處于“解鎖”狀態(tài),系統(tǒng)重新引導(dǎo)ROM BIOS,并執(zhí)行擴充的ROM BIOS附加程序。這個附加程序根據(jù)用戶是否提交了特權(quán)口令,決定是否執(zhí)行特定指令使復(fù)位鎖進入“閉鎖”狀態(tài)。一旦復(fù)位鎖進入“閉鎖”狀態(tài),就不能通過任何指令使復(fù)位鎖再進入“解鎖”狀態(tài),只有使微機重新啟動的復(fù)位電信號才能使復(fù)位鎖處于“解鎖”狀態(tài)。
擴充ROM BIOS初始化流程圖表示在附圖2中。特權(quán)用戶握有特權(quán)口令,可以向系統(tǒng)提交特權(quán)口令來保持復(fù)位鎖的“解鎖”狀態(tài),從而進入硬盤非審核狀態(tài)運行,讀寫所有硬盤空間的文件和目錄。一般用戶沒有特權(quán)口令,復(fù)位鎖總會在系統(tǒng)啟動時“閉鎖”并記錄用戶的標識碼,系統(tǒng)進入審核運行環(huán)境。此時,用戶讀寫硬盤審核空間中的文件和目錄必須先接受硬盤安全存取審核,只有通過了安全審核的硬盤存取操作才可以正常執(zhí)行。
5.采用硬盤鎖防止用戶程序越過擴充BIOS的硬盤安全存取審核進行越權(quán)的硬盤存取操作,保證用戶對硬盤的操作都是經(jīng)過擴充BIOS的硬盤安全存取審核的。硬盤鎖有“允許”和“禁止”兩種狀態(tài),每次系統(tǒng)啟動后的初始狀態(tài)為“禁止”。當(dāng)處于“允許”狀態(tài)時,程序可以對硬盤適配卡的任務(wù)寄存器進行操作;當(dāng)處于“禁止”狀態(tài)時,所有企圖修改硬盤內(nèi)容而對硬盤適配卡任務(wù)寄存器進行的操作都無效。硬盤安全存取審核流程圖表示附圖3中,硬盤安全存取審核程序作為系統(tǒng)BIOS的擴充,被固化在只讀存儲器中。
指令執(zhí)行監(jiān)視器通過監(jiān)視擴充BIOS的特定指令序列的執(zhí)行來操縱硬盤鎖狀態(tài)的切換。具體的操作邏輯是當(dāng)從擴充BIOS存儲塊的特定地址取特定指令時,硬盤鎖打開“狀態(tài)切換開關(guān)”,并等待有限的幾個時鐘周期。如果在等待期間內(nèi)該特定指令序列沒有被執(zhí)行,硬盤鎖關(guān)閉“狀態(tài)切換開關(guān)”。如果特定的關(guān)鎖指令序列被執(zhí)行,硬盤鎖進入“禁止”狀態(tài);如果特定的開鎖指令序列被執(zhí)行,硬盤鎖進入“允許”狀態(tài)。
6.為了與DOS的空間分配兼容,所有未被占用的系統(tǒng)空間劃歸一個臨時文件或作為保留簇;所有未被占用的專用空間也劃歸一個臨時文件或作為保留簇。同時具有“只讀”和“隱含”屬性的文件和目錄屬于專用空間的存儲對象;具有“只讀”屬性,但無“隱含”屬性的文件和目錄屬于系統(tǒng)空間的存儲對象;具有“隱含”屬性,但無“只讀”屬性,或者既無“隱含”屬性,又無“只讀”屬性的文件和目錄屬于用戶空間的存儲對象。
文件和子目錄的存取權(quán)限受其父目錄的存取權(quán)限的限制;如果一個目錄是可以讀寫的,則該目錄下的所有文件和子目錄都是可以讀和寫的;如果一個目錄是不可以讀,也不可以寫的,則該目錄下的所有文件和子目錄都是不可以讀或?qū)懙?;如果一個目錄是可以讀,但不可以寫的,則該目錄下的所有文件和子目錄可以具有任何存取權(quán)限。
普通文件的數(shù)據(jù)存放在硬盤用戶空間中,它的文件入口項所在的目錄數(shù)據(jù)簇也在對應(yīng)的硬盤用戶空間中,DOS系統(tǒng)的使用者可以讀寫該文件數(shù)據(jù)或刪改該文件。當(dāng)一個普通文件所在的目錄是只讀目錄時,可以由特權(quán)用戶或?qū)?yīng)的管理用戶把該普通文件改為只讀文件或不可讀寫文件。為此,首先要把該文件的入口從對應(yīng)目錄的普通簇移到只讀簇中;其次,再把文件的數(shù)據(jù)移入硬盤系統(tǒng)空間或硬盤專用空間中。反之,當(dāng)特權(quán)用戶或?qū)?yīng)的管理用戶把任一個只讀文件改為普通文件時,首先要把文件的入口從對應(yīng)目錄的只讀數(shù)據(jù)簇移到普通數(shù)據(jù)簇中;其次,再把文件的數(shù)據(jù)移到硬盤用戶空間中。
目錄是一個按記錄格式組織起來的特殊文件,它的每一個記錄項或表示一個文件的入口信息,或表示一個子目錄的入口信息,或是一個因刪除操作產(chǎn)生的無效記錄項。所謂目錄空間隔離,是指利用FAT空間隔離,以FAT中的簇為單位將目錄文件的一部分記錄項放入硬盤用戶空間,用來存放普通文件或子目錄的入口;另一部分記錄項放入硬盤系統(tǒng)空間,用來存放只讀文件和子目錄的入口;還有一部分記錄放入硬盤專用空間,用來存放不可讀寫文件和子目錄的入口信息。
當(dāng)特權(quán)用戶或?qū)?yīng)的管理用戶將一個普通目錄改為只讀目錄時,并不把目錄文件的記錄項數(shù)據(jù)移動,而只將該目錄在其父目錄或根目錄的目錄入口項從父目錄或根目錄的普通簇移動到只讀簇即可。反之,要將只讀目錄改為普通目錄,必須保證該目錄中沒有只讀文件或子目錄,才能將該目錄在父目錄或根目錄的記錄項從父目錄或根目錄的只讀簇移動到普通簇。
DOS文件系統(tǒng)安全存取控制設(shè)備可以是一個專用集成電路模塊。它包含有地址譯碼器[H1]、地址計數(shù)器[H8]、復(fù)位鎖[H2]、硬盤鎖[H4]、指令執(zhí)行監(jiān)視器[H7]、參數(shù)存儲器[H9]、裝有擴充BIOS程序的ROM存儲器[H6]、硬盤適配卡控制器[H5]、CMOS控制器[H3]。這些設(shè)備協(xié)作工作完成對硬盤的選擇性(允許/禁止)(讀/寫)控制。
復(fù)位鎖設(shè)備[H2]是一個狀態(tài)寄存器,只能由復(fù)位信號置“解鎖”狀態(tài),此時系統(tǒng)在硬盤非審核方式下運行。當(dāng)在“解鎖”狀態(tài)下向特定I/O口輸出數(shù)據(jù)時,復(fù)位鎖狀態(tài)變?yōu)椤伴]鎖”,此時系統(tǒng)在硬盤審核方式下運行;此后,輸出的數(shù)據(jù)被鎖存,只能被讀取。一旦復(fù)位鎖進入“閉鎖”狀態(tài),就不能通過任何指令使復(fù)位鎖再進入“解鎖”狀態(tài),只有使微機重新啟動的復(fù)位電信號才能使復(fù)位鎖處于“解鎖”狀態(tài)。
參數(shù)存儲器[H9]是一個非易失性數(shù)據(jù)存儲器。它能夠在停電期間保持存儲其中的信息。在復(fù)位鎖狀態(tài)為“解鎖”時,其中的信息可通過特定的I/O口被讀和寫,而當(dāng)復(fù)位鎖狀態(tài)為“閉鎖”時,其中的信息只能被讀取。程序按照地址計數(shù)器提供的地址.通過特定的I/O口存取參數(shù)存儲器中的參數(shù)。每一次存取參數(shù)存儲器時的I/O操作都會使地址計數(shù)器自動計數(shù)。
ROM存儲器[H6]是一個只讀的存儲器,只能通過特定的內(nèi)存地址讀取其中的數(shù)據(jù)或執(zhí)行其中的擴充BlOS程序。固化的擴充ROM BIOS包含硬盤安全操作審核程序,它根據(jù)硬盤空間隔離信息對所有硬盤讀寫操作進行審核,保證只有符合硬盤隔離存取要求的硬盤操作才可以執(zhí)行,違反硬盤隔離空間存取要求的硬盤存取操作都將被處理成失敗的硬盤操作。
指令執(zhí)行監(jiān)視器[H7]由一組寄存器、計數(shù)器和譯碼器構(gòu)成。它能夠識別存儲在ROM存儲器中的特定指令序列是否被執(zhí)行。如果特定的開鎖指令序列被執(zhí)行,則置硬盤鎖狀態(tài)為“允許”;如果特定的關(guān)鎖指令序列被執(zhí)行,則置硬盤鎖狀態(tài)為“禁止”。
硬盤鎖設(shè)備[H4]是一個狀態(tài)寄存器,由復(fù)位信號置其初始狀態(tài)為“禁止”,并由指令執(zhí)行監(jiān)視器根據(jù)存儲在ROM存儲器的特定指令序列的執(zhí)行來重新設(shè)置其狀態(tài)為“允許”或“禁止”。硬盤鎖裝置可以防止用戶程序越過擴充BIOS的硬盤安全存取審核進行越權(quán)的硬盤存取操作,保證用戶對硬盤的操作都是經(jīng)過擴充BIOS的硬盤安全存取審核的。當(dāng)硬盤鎖處于“允許”狀態(tài)時,程序可以對硬盤任務(wù)寄存器進行有效操作;當(dāng)處于“禁止”狀態(tài)時,所有企圖修改硬盤內(nèi)容而對硬盤任務(wù)寄存器進行的操作將會無效。
硬盤適配卡控制設(shè)備[H5]是一組半導(dǎo)體器件。當(dāng)硬盤鎖狀態(tài)為“禁止”,且復(fù)位鎖狀態(tài)為“閉鎖”時,它使程序?qū)τ脖P適配卡的存取無效。如果以附加插卡的形式實現(xiàn),硬盤適配卡控制裝置根據(jù)復(fù)位鎖和硬盤鎖的狀態(tài)去控制用戶程序?qū)τ脖P任務(wù)寄存器組的寫操作。當(dāng)復(fù)位鎖狀態(tài)為“解鎖”,或者硬盤鎖狀態(tài)為“允許”時,硬盤適配卡控制裝置不工作。當(dāng)復(fù)位鎖狀態(tài)為“閉鎖”,并且硬盤鎖狀態(tài)為“禁止”時,硬盤適配卡控制裝置采用總線信號干擾技術(shù)(篡改總線數(shù)據(jù)信號為全0或全1等),阻止對硬盤適配卡命令寄存器的輸出操作。
如果硬盤鎖與硬盤適配卡都做在系統(tǒng)主板上,則可以利用復(fù)位鎖和硬盤鎖的狀態(tài)直接控制硬盤適配卡的寫允許信號來阻止對硬盤適配卡任務(wù)寄存器的越權(quán)操作。當(dāng)復(fù)位鎖狀態(tài)為“解鎖”,或者硬盤鎖狀態(tài)為“允許”時,硬盤適配卡的寫允許信號可以進入“允許”狀態(tài)。當(dāng)復(fù)位鎖狀態(tài)為“閉鎖”,并且硬盤鎖狀態(tài)為“禁止”時,硬盤適配卡的寫允許信號不能進入“允許”狀態(tài)。
CMOS控制器[H3]是一組半導(dǎo)體器件。當(dāng)復(fù)位鎖狀態(tài)為“閉鎖”時,它使程序?qū)MOS RAM的數(shù)據(jù)修改無效。當(dāng)復(fù)位鎖狀態(tài)為“解鎖”狀態(tài)時,用戶可以對CMOS信息進行修改。當(dāng)復(fù)位鎖狀態(tài)為“閉鎖”狀態(tài)時,用戶只能讀取CMOS信息而不能修改CMOS信息。此時,或者由復(fù)位鎖的“閉鎖”狀態(tài)信號直接封鎖位于系統(tǒng)主板的CMOS寫允許信號,保護CMOS RAM信息;或者由插卡上的CMOS控制器采用總線地址干擾技術(shù),阻止對CMOS RAM的寫操作,保護CMOS RAM信息,或者采用總線數(shù)據(jù)干擾技術(shù)(不允許在I/O口070H寫入范圍為010H~07FH的數(shù)據(jù)值),阻止對位于CMOS RAM地址010H以后的系統(tǒng)配置信息的讀寫。
本發(fā)明提出的方法和設(shè)備具有如下的有益效果1.可以以文件或目錄作為基本單位進行存取權(quán)限控制。
2.提供真正的文件只讀控制和不可讀寫控制。防止計算機病毒的傳染、避免無意的操作失誤可能產(chǎn)生的數(shù)據(jù)破壞、阻止對硬盤數(shù)據(jù)的蓄意破壞。
3.對DOS應(yīng)用環(huán)境完全兼容。
4.不占用內(nèi)存,不搶占CPU處理時間。
附
圖1是DOS文件系統(tǒng)安全存取控制組成方框圖。其中IO總線輸入/輸出信號,Reset是系統(tǒng)復(fù)位信號,DataBUS表示總線數(shù)據(jù)流,AddressBUS表示總線地址信息。
H1地址譯碼器。它捕獲多個特定的地址信息,產(chǎn)生相應(yīng)的控制信號到對應(yīng)的部件。
H2復(fù)位鎖裝置。它有“解鎖”和“閉鎖”兩種狀態(tài)。當(dāng)線路電復(fù)位信號“Reset”產(chǎn)生時,H2進入“解鎖”狀態(tài);當(dāng)對特定地址輸出一個一字節(jié)數(shù)據(jù)時,由總線上的IO信號和H1的地址譯碼信號使H2進入“閉鎖”狀態(tài),并鎖存該字節(jié)數(shù)據(jù),使它只可經(jīng)特定I/O口被讀取。
H3CMOS存取控制裝置。它受復(fù)位鎖狀態(tài)控制,當(dāng)復(fù)位鎖狀態(tài)為“解鎖”狀態(tài)時,該CMOS存取控制裝置不工作;當(dāng)復(fù)位鎖狀態(tài)為“閉鎖”狀態(tài)時,H3根據(jù)總線IO信號和H1地址譯碼信號,阻止對CMOS的寫操作。
H4硬盤鎖裝置。它有“允許”和“禁止”兩種狀態(tài)。Reset信號使H4的初始狀態(tài)為“禁止”。H4的狀態(tài)切換只能由位于H6中特定地址的特定指令序列的執(zhí)行來控制。其中一組特定指令序列的執(zhí)行設(shè)置H4的狀態(tài)為“允許”,另一個特定指令序列的執(zhí)行設(shè)置H4的狀態(tài)為“禁止”。
H5硬盤適配卡控制裝置。它根據(jù)復(fù)位鎖和硬盤鎖的狀態(tài)控制對硬盤任務(wù)寄存器組的命令寄存器的寫操作。當(dāng)復(fù)位鎖狀態(tài)為“解鎖”,或者硬盤鎖狀態(tài)為“允許”時,H5不工作。當(dāng)復(fù)位鎖狀態(tài)為“閉鎖”,并且硬盤鎖狀態(tài)為“禁止”時,H5阻止對硬盤適配卡的訪問。
H6擴充BIOS程序存儲器。它占用地址范圍C8000H~DFFFFH以內(nèi)的2048字節(jié),存儲擴充BIOS的初始化代碼和硬盤安全存取審核代碼。
H7指令執(zhí)行監(jiān)視裝置,它監(jiān)視H6中的特定指令序列是否執(zhí)行,如果執(zhí)行,則發(fā)出信號使H4處于“開鎖”狀態(tài)或“關(guān)鎖”狀態(tài)。
H8地址計數(shù)器。它為對H9的I/O尋址提供地址值,可以通過對特定I/O口地址的輸出操作給H7預(yù)置值。當(dāng)對特定地址進行一次I/O操作時,H7自動“加1”計數(shù)。
H9用非易失性器件構(gòu)成的參數(shù)存儲器。它保存用戶信息和硬盤空間隔離信息。當(dāng)復(fù)位鎖狀態(tài)為“解鎖”時,可以通過I/O操作讀寫其中的信息;當(dāng)復(fù)位鎖狀態(tài)為“閉鎖”時,只能通過I/O操作讀其中的信息。
附圖2是擴充BIOS的初始化工作流程圖。
附圖3是硬盤安全存取審核流程圖。
附圖4是用戶存取硬盤權(quán)限判斷流程圖。
本發(fā)明最佳實施方案1,可以采用主板部件功能擴充,并配置相應(yīng)的軟件,為新的微機提供可靠的DOS文件系統(tǒng)安全存取控制機制。
可以將復(fù)位鎖、硬盤鎖、地址譯碼器、組合邏輯電路、計數(shù)器、非易失性存儲單元等器件的專用集成電路塊以附件的形式直接連接在主板上。把用于硬盤安全存取審核的擴充BIOS與原有的系統(tǒng)ROM BIOS合并到一起。由復(fù)位鎖的狀態(tài)電信號直接控制CMOS RAM的寫操作。當(dāng)復(fù)位鎖狀態(tài)為“閉鎖”時,CMOSRAM中的信息不能被用戶修改。每次系統(tǒng)啟啟動時,硬盤鎖總是處于“禁止”狀態(tài),如果用戶對硬盤的操作通過了硬盤安全存取審核,BIOS中的特定代碼將設(shè)置硬盤鎖狀態(tài)為“允許”,并執(zhí)行用戶要求的硬盤操作,然后在操作完畢時,重新設(shè)置硬盤鎖狀態(tài)為“禁止”。由復(fù)位鎖的狀態(tài)和硬盤鎖的狀態(tài)電信號直接控制用戶對硬盤適配卡的讀寫操作。當(dāng)復(fù)位鎖狀態(tài)為“閉鎖”,且硬盤鎖狀態(tài)為“禁止”時,用戶不能存取硬盤數(shù)據(jù);當(dāng)復(fù)位鎖狀態(tài)為“解鎖”,或者硬盤鎖的狀態(tài)為“允許”時,用戶可以存取硬盤數(shù)據(jù)。
本發(fā)明最佳實現(xiàn)方案2,可以采用附加總線硬插卡方式實現(xiàn),為用戶已有的微機,或沒有在主板上附加硬盤存取控制裝置的新微機,增加可靠的文件和目錄安全存取控制功能。
可以在ISA或VESA總線插卡上安裝一個包含復(fù)位鎖、硬盤鎖、地址譯碼器、組合邏輯電路、計數(shù)器、非易失性存儲單元等器件的專用集成電路塊。將用于硬盤安全存取審核的擴充BIOS存放在專用集成電路塊的只讀存儲單元中,占用介于C8000~DFFFF之間的2KB內(nèi)存地址。由復(fù)位鎖的狀態(tài)電信號控制一組總線數(shù)據(jù)信號干擾器。當(dāng)復(fù)位鎖狀態(tài)為“閉鎖”時,干擾器受專用集成電路塊的邏輯控制,不允許用戶讀寫CMOS RAM中地址介于010H~07FH的信息。在每次系統(tǒng)啟動時,硬盤鎖總是處于“禁止”狀態(tài),如果用戶對硬盤的操作通過了硬盤安全存取審核,BIOS中的特定代碼將設(shè)置硬盤鎖狀態(tài)為“允許”,并執(zhí)行用戶要求的硬盤操作,然后在操作完畢時,重新設(shè)置硬盤鎖狀態(tài)為“禁止”。由復(fù)位鎖的狀態(tài)和硬盤鎖的狀態(tài)電信號控制一組總線地址信號干擾器。當(dāng)復(fù)位鎖狀態(tài)為“閉鎖”,且硬盤鎖狀態(tài)為“禁止”時,地址信號干擾器將阻止對硬盤適配卡的任務(wù)寄存器的寫操作,禁止用戶直接存取硬盤;當(dāng)復(fù)位鎖狀態(tài)為“解鎖”,或者硬盤鎖的狀態(tài)為“允許”時,地址信號干擾器不工作,用戶可以存取硬盤。
權(quán)利要求
1.一種DOS文件系統(tǒng)安全存取控制方法,其特征是在DOS FAT(FileAllocation Table)結(jié)構(gòu)文件系統(tǒng)的硬盤空間分配的基礎(chǔ)上,按“可讀寫、只讀、不可讀寫”審核需求,將對應(yīng)于硬盤主引導(dǎo)扇區(qū)、各個DOS分區(qū)的保留扇區(qū)、引導(dǎo)扇區(qū)、FAT表項、目錄表項和文件的硬盤空間隔離成屬于不同用戶擁有的、由連續(xù)扇區(qū)組成的空間塊;然后根據(jù)用戶標識信息和用戶啟動系統(tǒng)時提交的身份信息,并利用復(fù)位鎖和存儲在參數(shù)存儲器中的硬盤空間隔離信息,為不同用戶提供不同的系統(tǒng)運行狀態(tài)和硬盤存取權(quán)限;并依靠擴充且固化的硬盤存取審核程序操縱硬盤鎖設(shè)備和硬盤適配卡控制器,實現(xiàn)符合權(quán)限要求的硬盤分塊禁止/允許讀寫審核;最終實現(xiàn)對DOS應(yīng)用完全兼容的、以文件為基本單位的、具有多組用戶權(quán)限的DOS文件安全存取控制;此方法具體步驟如下a)在DOS分區(qū)設(shè)定三級權(quán)限模式;在硬盤審核運行方式下,每一個DOS分區(qū)中的所有硬盤空間按照“可讀寫、只讀、不可讀寫”的存取控制需求,按比例分為三類第一類空間作為用戶空間,以一個授權(quán)用戶作為所有者,可以被該授權(quán)用戶按照傳統(tǒng)的DOS方式存取;第二類空間作為系統(tǒng)空間,以對應(yīng)的系統(tǒng)用戶作為所有者,只能被授權(quán)用戶讀取,不能被授權(quán)用戶寫入,但可以被特權(quán)用戶和對應(yīng)的管理用戶讀和寫;第三類空間作為專用空間,以對應(yīng)的管理用戶作為所有者,只能被特權(quán)用戶和該管理用戶讀和寫,不能被授權(quán)用戶讀或?qū)懀辉谡麄€DOS文件系統(tǒng)上實現(xiàn)多用戶存取權(quán)限管理;b)用硬盤空間隔離信息描述硬盤空間的隔離;將每一DOS分區(qū)的保留扇區(qū)和引導(dǎo)扇區(qū)劃為一個隔離空間,屬于一個用戶所有;將該分區(qū)的數(shù)據(jù)空間劃為多個由連續(xù)扇區(qū)組成的隔離空間,分別屬于多個用戶所有;對應(yīng)數(shù)據(jù)空間的劃分,將分區(qū)的文件分配表表項占用的空間相應(yīng)地分為多個隔離空間,屬于對應(yīng)的多個用戶;分區(qū)的根目錄表項占用的空間也分為多個隔離空間,分別屬于這多個用戶;本發(fā)明參照LBA格式提出如下的硬盤空間隔離信息表示方法[用戶組號+用戶號+硬盤號+扇區(qū)數(shù)],用戶組號和用戶號合在一起構(gòu)成用戶標識碼,每一個硬盤隔離空間都有一個用戶標識碼作為所有者標識碼;參照LBA格式存儲的描述硬盤隔離空間的數(shù)據(jù)項按不同硬盤分組,同一組內(nèi)的空間隔離數(shù)據(jù)按對應(yīng)的隔離空間起始扇區(qū),從小至大排列;硬盤上各個DOS分區(qū)的引導(dǎo)扇區(qū)、FAT表項、目錄項和文件對應(yīng)的硬盤存儲空間都按“可讀寫、只讀、不可讀寫”的存取控制需求被劃歸到或隔離成屬于不同用戶擁有的、由連續(xù)扇區(qū)組成的空間塊;c)用戶的硬盤存取權(quán)限依賴于用戶標識碼和硬盤空間隔離信息;一個用戶的描述信息包括用戶標識碼、用戶名和用戶口令,不同用戶在硬盤審核運行環(huán)境下將具有不同的存取權(quán)限;用戶啟動微機系統(tǒng)時,必須提交用戶名和用戶口令來證明自己,并得到相應(yīng)的用戶標識碼,由硬盤存取審核程序控制該用戶對硬盤的存取,硬盤存取審核程序表示在附圖4中;如果用戶提交了特權(quán)用戶口令,復(fù)位鎖處于“解鎖”狀態(tài),系統(tǒng)運行于硬盤非審核環(huán)境,特權(quán)用戶可以存取全部硬盤空間的數(shù)據(jù);如果用戶不提交任何口令,系統(tǒng)啟動后進入硬盤審核狀態(tài)運行,此用戶作為普通用戶,具有指定的用戶標識碼;如果用戶提交自己的用戶名和口令來啟動微機,系統(tǒng)同樣進入審核狀態(tài)運行,此用戶作為授權(quán)用戶或管理用戶,得到與用戶名對應(yīng)的用戶標識碼;在硬盤審核運行環(huán)境下,如果用戶標識碼是特權(quán)用戶,或者用戶標識碼與對應(yīng)的隔離空間的所有者標識碼相等,或者所有者標識碼為普通用戶標識碼,或者用戶標識碼的組號為管理用戶組號且用戶標識碼的用戶號與所有者標識碼的用戶號相等,則該用戶可以讀,也可以寫此硬盤隔離空間的數(shù)據(jù);否則,如果用戶標識碼的組號小于對應(yīng)的隔離空間的所有者標識碼的組號,則該用戶可以讀,但不能寫此硬盤隔離空間的數(shù)據(jù);否則,如果用戶標識碼組號大于或等于對應(yīng)的隔離空間的所有者標識碼的組號,則該用戶既不能讀,也不能寫此硬盤隔離空間的數(shù)據(jù);d)采用復(fù)位鎖控制DOS用戶權(quán)限;復(fù)位鎖有兩種狀態(tài)“解鎖”狀態(tài)由復(fù)位電信號設(shè)置,它決定系統(tǒng)進入硬盤非審核狀態(tài)運行;“閉鎖”狀態(tài)由特定指令設(shè)置,它決定系統(tǒng)進入硬盤審核狀態(tài)運行;每次開機啟動或硬件復(fù)位后,復(fù)位電信號使復(fù)位鎖處于“解鎖”狀態(tài),系統(tǒng)重新引導(dǎo)ROM BIOS,并執(zhí)行擴充的ROM BIOS附加程序;這個附加程序根據(jù)用戶是否提交了特權(quán)口令,決定是否執(zhí)行特定指令使復(fù)位鎖進入“閉鎖”狀態(tài);一旦復(fù)位鎖進入“閉鎖”狀態(tài),就不能通過任何指令使復(fù)位鎖再進入“解鎖”狀態(tài),只有使微機重新啟動的復(fù)位電信號才能使復(fù)位鎖處于“解鎖”狀態(tài);擴充ROM BIOS初始化流程圖表示在附圖2中;特權(quán)用戶握有特權(quán)口令,可以向系統(tǒng)提交特權(quán)口令,保持復(fù)位鎖的“解鎖”狀態(tài),從而進入非審核狀態(tài),讀寫所有硬盤空間的文件和目錄;一般用戶沒有特權(quán)口令,復(fù)位鎖總會在系統(tǒng)啟動時“閉鎖”并記錄用戶的標識碼,系統(tǒng)進入審核運行環(huán)境;此時,用戶讀寫硬盤審核空間中的文件和目錄必須先接受硬盤安全存取審核,只有通過了安全審核的硬盤存取操作才可以正常執(zhí)行;e)采用硬盤鎖防止用戶程序越過擴充BIOS的硬盤安全存取審核進行越權(quán)的硬盤存取操作,保證用戶對硬盤的操作都是經(jīng)過擴充BIOS的硬盤安全存取審核的;硬盤鎖有“允許”和“禁止”兩種狀態(tài),每次系統(tǒng)啟動后的初始狀態(tài)為“禁止”;當(dāng)處于“允許”狀態(tài)時,程序可以對硬盤適配卡任務(wù)寄存器進行操作;當(dāng)處于“禁止”狀態(tài)時,所有企圖修改硬盤內(nèi)容而對硬盤適配卡任務(wù)寄存器進行的操作都無效;指令執(zhí)行監(jiān)視器通過監(jiān)視擴充BIOS的特定指令序列的執(zhí)行來操縱硬盤鎖狀態(tài)的切換;硬盤安全存取審核流程圖表示在附圖3中,硬盤安全存取審核程序作為系統(tǒng)BIOS的擴充,被固化在只讀存儲器中,指令執(zhí)行監(jiān)視器通過監(jiān)視擴充BIOS的特定指令的執(zhí)行來操縱硬盤鎖狀態(tài)的切換;f)文件和子目錄的存取權(quán)限受其父目錄的存取權(quán)限的限制;如果一個目錄是可以讀寫的,則該目錄下的所有文件和子目錄都是可以讀和寫的;如果一個目錄是不可以讀寫的,則該目錄下的所有文件和子目錄都是不可以讀寫的;如果一個目錄是只讀的,則該目錄下的所有文件和子目錄可以具有任何存取權(quán)限。
2.如權(quán)利要求1所述的用戶標識信息,其特征是包括用戶標識碼、用戶名和用戶口令密碼;其中用戶標識碼占1個字節(jié),由用戶組號和用戶號構(gòu)成,用戶名占11字節(jié),口令密碼占4字節(jié)。
3.如權(quán)利要求1所述的硬盤空間隔離信息,其特征是每一項占4個字節(jié);其中用戶組號占3位、用戶號占3位、硬盤號占2位、扇區(qū)數(shù)占24位。
4.一種DOS文件系統(tǒng)安全存取控制設(shè)備,包含有地址譯碼器[H1]、地址計數(shù)器[H8],其特征是還具有復(fù)位鎖[H2]、硬盤鎖[H4]、指令執(zhí)行監(jiān)視器[H7]、參數(shù)存儲器[H9]、裝有擴充BIOS程序的ROM存儲器[H6]、硬盤適配卡控制器[H5]、CMOS控制器[H3]。
5.如權(quán)利要求4所述的指令執(zhí)行監(jiān)視器[H7],其特征是由一組寄存器、計數(shù)器和譯碼器構(gòu)成。
6.如權(quán)利要求4所述的復(fù)位鎖設(shè)備[H2],其特征是一個狀態(tài)寄存器。
7.如權(quán)利要求4所述的參數(shù)存儲器[H9],其特征是一個非易失性數(shù)據(jù)存儲器。
8.如權(quán)利要求4所述的ROM存儲器[H6],其特征是一個只讀的存儲器。
9.如權(quán)利要求4所述的硬盤鎖設(shè)備[H4],其特征是一個狀態(tài)寄存器。
10.如權(quán)利要求4所述的硬盤適配卡控制設(shè)備[H5],其特征是一組半導(dǎo)體器件。
11.如權(quán)利要求4所述的CMOS控制器[H3],其特征是一組半導(dǎo)體器件。
12.如權(quán)利要求4所述的DOS文件系統(tǒng)安全存取控制設(shè)備,可以制成一個專用集成電路模塊。
全文摘要
一種DOS文件系統(tǒng)安全存取控制方法和設(shè)備,是在DOS FAT結(jié)構(gòu)的硬盤空間分配基礎(chǔ)上,按照可讀寫、只讀、不可讀寫存取控制需求,將硬盤各分區(qū)的存儲空間隔離成具有不同用戶權(quán)限的隔離空間;并利用復(fù)位鎖和硬盤鎖提供的不同系統(tǒng)運行狀態(tài)和用戶權(quán)限,實現(xiàn)對DOS應(yīng)用完全兼容的、以文件為基本單位的、具有多級用戶權(quán)限的DOS文件安全存取控制。
文檔編號G06F12/00GK1170160SQ9611545
公開日1998年1月14日 申請日期1996年7月9日 優(yōu)先權(quán)日1996年7月9日
發(fā)明者李志淮 申請人:李志淮