一種對(duì)磁盤(pán)進(jìn)行保護(hù)的方法及系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種磁盤(pán)保護(hù)及還原的方法及系統(tǒng)。對(duì)磁盤(pán)進(jìn)行保護(hù)時(shí)首先設(shè)置保護(hù)裝置,在磁盤(pán)上備份磁盤(pán)前63個(gè)扇區(qū)的代碼,利用保護(hù)裝置對(duì)磁盤(pán)進(jìn)行加密。加密后的磁盤(pán)啟動(dòng)時(shí),首先運(yùn)行第一引導(dǎo)模塊,第一引導(dǎo)模塊對(duì)保護(hù)裝置進(jìn)行校驗(yàn),從保護(hù)裝置中讀取第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼,把控制權(quán)交給第二引導(dǎo)模塊。第二引導(dǎo)模塊替換磁盤(pán)讀寫(xiě)中斷,讀取磁盤(pán)時(shí)解密,寫(xiě)入磁盤(pán)時(shí)加密,第二引導(dǎo)模塊讀取活動(dòng)分區(qū)的引導(dǎo)記錄,對(duì)引導(dǎo)記錄進(jìn)行解密,執(zhí)行引導(dǎo)記錄從而啟動(dòng)操作系統(tǒng)。操作系統(tǒng)啟動(dòng)后通過(guò)磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)讀操作解密,對(duì)寫(xiě)操作加密,完成磁盤(pán)的保護(hù)。對(duì)磁盤(pán)進(jìn)行還原時(shí),對(duì)整個(gè)磁盤(pán)進(jìn)行解密,將前63個(gè)扇區(qū)原始數(shù)據(jù)進(jìn)行還原。
【專(zhuān)利說(shuō)明】一種對(duì)磁盤(pán)進(jìn)行保護(hù)的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息安全【技術(shù)領(lǐng)域】,特別涉及一種對(duì)磁盤(pán)進(jìn)行保護(hù)的方法和系統(tǒng)。
【背景技術(shù)】
[0002]在信息安全領(lǐng)域中,數(shù)據(jù)作為一種寶貴的財(cái)富,數(shù)據(jù)的安全性越來(lái)越受到單位、企業(yè)和個(gè)人的關(guān)注。目前的數(shù)據(jù)的保護(hù)主要是基于文件的保護(hù),這用保護(hù)的方法很容易被破解,并且伴隨文件的增多,這種保護(hù)的方法也會(huì)非常繁瑣。
[0003]本發(fā)明對(duì)整個(gè)磁盤(pán)進(jìn)行加密,并且修改了系統(tǒng)的啟動(dòng)流程,加密后的系統(tǒng)只有擁有合法的保護(hù)裝置才能進(jìn)入系統(tǒng),進(jìn)入系統(tǒng)后用戶對(duì)文件讀取時(shí)在內(nèi)存中解密,對(duì)文件寫(xiě)入后進(jìn)行加密保存在磁盤(pán)上。磁盤(pán)上永遠(yuǎn)不會(huì)出現(xiàn)明文數(shù)據(jù),從而達(dá)到保護(hù)磁盤(pán)的目的。
[0004]另外本發(fā)明為了方便用戶可以對(duì)保護(hù)后的磁盤(pán)進(jìn)行還原,只要用戶插入合法的保護(hù)裝置,進(jìn)入保護(hù)后的磁盤(pán)的系統(tǒng)后,可以對(duì)整個(gè)磁盤(pán)進(jìn)行還原至未保護(hù)前的狀態(tài)。
[0005]Windows的啟動(dòng)過(guò)程如下:系統(tǒng)上電后,BIOS根據(jù)用戶指定的啟動(dòng)順序從軟、光、硬盤(pán)或其它存儲(chǔ)設(shè)備啟動(dòng),同時(shí)讀取并執(zhí)行啟動(dòng)盤(pán)上的主引導(dǎo)記錄,硬盤(pán)將磁頭定位在物理扇O柱O面I扇上,接著先后讀取扇區(qū)結(jié)束標(biāo)志55AAH、主引導(dǎo)記錄、硬盤(pán)分區(qū)表,然后根據(jù)硬盤(pán)分區(qū)表提供的數(shù)據(jù),硬盤(pán)將磁頭定位在活動(dòng)分區(qū)的引導(dǎo)扇區(qū)上,接著先后讀取扇區(qū)結(jié)束標(biāo)志55AAH和操作系統(tǒng)參數(shù)。該過(guò)程將操作系統(tǒng)讀取內(nèi)存中,然后將控制權(quán)交給操作系統(tǒng)。
[0006]在Windows內(nèi)核中,驅(qū)動(dòng)設(shè)計(jì)采用分層結(jié)構(gòu)設(shè)計(jì)。磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊是位于在磁盤(pán)驅(qū)動(dòng)程序上,可以監(jiān)視,攔截和修改系統(tǒng)發(fā)送給磁盤(pán)驅(qū)動(dòng)的I/O請(qǐng)求包,從而達(dá)到修改系統(tǒng)執(zhí)行流程的目的。
[0007]軟件保護(hù)裝置是一種通過(guò)計(jì)算機(jī)接口(包括但不限于并口或者USB接口)連接到計(jì)算機(jī)主機(jī)上的硬件設(shè)備。該設(shè)備內(nèi)部具有非易失性存儲(chǔ)空間可供讀寫(xiě),通常還具有單片機(jī)或者微處理控制芯片等計(jì)算處理單元。軟件開(kāi)發(fā)者可以通過(guò)接口函數(shù)和軟件保護(hù)裝置進(jìn)行數(shù)據(jù)交換(即對(duì)軟件保護(hù)裝置進(jìn)行讀寫(xiě)),來(lái)檢查軟件保護(hù)裝置是否插在接口上;或者直接用軟件保護(hù)裝置附帶的工具進(jìn)行加密。這樣,軟件開(kāi)發(fā)者可以在軟件中設(shè)置多處軟件鎖,利用軟件保護(hù)裝置作為鑰匙來(lái)打開(kāi)這些鎖;如果沒(méi)插軟件保護(hù)裝置或軟件保護(hù)裝置不對(duì)應(yīng),軟件將不能正常執(zhí)行。
[0008]此外,軟件保護(hù)裝置內(nèi)部包含特定的功能,例如一部分存儲(chǔ)空間、一些密碼算法或者一些用戶自定義的算法或者功能。在軟件發(fā)行之前,軟件開(kāi)發(fā)者修改自己的軟件代碼,使得軟件在運(yùn)行過(guò)程中需要使用到軟件保護(hù)裝置內(nèi)部的一些功能,這樣軟件離開(kāi)軟件保護(hù)裝置之后就會(huì)無(wú)法運(yùn)行,而軟件保護(hù)裝置作為一種硬件設(shè)備復(fù)制的難度較大,從而起到防止盜版軟件非法傳播的作用。
[0009]當(dāng)前市場(chǎng)上主要的軟件保護(hù)裝置包括:美國(guó)SafeNet公司的Sentinel Superpro>以色列Aladdin公司的Hasp HL、中國(guó)北京深思洛克軟件股份有限公司的精銳系列、德國(guó)W1-Bu公司的WIBU-Key等。所有這些軟件保護(hù)裝置都提供了內(nèi)置的存儲(chǔ)空間、私有或公開(kāi)的密碼算法,當(dāng)軟件運(yùn)行過(guò)程中可以調(diào)用這些功能來(lái)檢驗(yàn)是否屬于正版。這些軟件保護(hù)裝置采用了智能卡芯片作為硬件的基礎(chǔ),而且支持用戶將自己定義的功能寫(xiě)入到軟件保護(hù)裝置內(nèi)部,甚至可以直接將軟件的部分功能移植到軟件保護(hù)裝置內(nèi)部完成,從而大大提高了軟件被盜版的難度,通常稱(chēng)這種將自己定義的功能或者軟件的部分功能移植到軟件保護(hù)裝置內(nèi)部的技術(shù)為代碼移植。本發(fā)明人現(xiàn)在對(duì)應(yīng)網(wǎng)站為http://www.sense, com.cn/,其中詳細(xì)公開(kāi)了本發(fā)明人開(kāi)發(fā)的軟件保護(hù)裝置的具體參數(shù)性能和工作原理。
[0010]在現(xiàn)有技術(shù)中,磁盤(pán)本身在啟動(dòng)過(guò)程中未進(jìn)行加密,因此目前的技術(shù)需求在于:操作系統(tǒng)對(duì)整個(gè)磁盤(pán)進(jìn)行加密,并且操作系統(tǒng)的啟動(dòng)流程保證加密后的操作系統(tǒng)只有擁有合法的軟件保護(hù)裝置(下文稱(chēng)為保護(hù)裝置)才能進(jìn)入操作系統(tǒng),在進(jìn)入操作系統(tǒng)后用戶對(duì)文件讀取時(shí)在內(nèi)存中解密,對(duì)文件寫(xiě)入后進(jìn)行加密保存在磁盤(pán)上,使得磁盤(pán)上不會(huì)出現(xiàn)明文數(shù)據(jù)。
【發(fā)明內(nèi)容】
[0011]有鑒于此,本發(fā)明提供了一種磁盤(pán)保護(hù)和還原的方法,以解決磁盤(pán)數(shù)據(jù)安全的問(wèn)題。
[0012]根據(jù)本發(fā)明的一個(gè)方面,提供一種通過(guò)保護(hù)裝置對(duì)磁盤(pán)進(jìn)行保護(hù)的系統(tǒng),所述保護(hù)裝置為具有智能卡芯片的信息安全設(shè)備,提供軟件、數(shù)據(jù)保護(hù)功能,所述保護(hù)裝置還包括:
保護(hù)裝置設(shè)置模塊、全盤(pán)加密模塊、第一引導(dǎo)模塊、第二引導(dǎo)模塊、磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊;其中,所述第二引導(dǎo)模塊位于所述保護(hù)裝置中;
所述保護(hù)裝置設(shè)置模塊,用于對(duì)所述保護(hù)裝置進(jìn)行設(shè)置,將第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼放入所述保護(hù)裝置;
所述全盤(pán)加密模塊,將第一引導(dǎo)模塊寫(xiě)入磁盤(pán)的前63個(gè)扇區(qū),對(duì)磁盤(pán)進(jìn)行全盤(pán)加密,采用磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)磁盤(pán)進(jìn)行保護(hù);
所述第一引導(dǎo)模塊,對(duì)保護(hù)裝置進(jìn)行校驗(yàn),從保護(hù)裝置中讀取第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼,把控制權(quán)交給第二引導(dǎo)模塊;
所述第二引導(dǎo)模塊,替換掉磁盤(pán)讀寫(xiě)中斷,對(duì)磁盤(pán)讀取時(shí)進(jìn)行解密,對(duì)磁盤(pán)寫(xiě)入時(shí)進(jìn)行加密,第二引導(dǎo)模塊讀取活動(dòng)分區(qū)的引導(dǎo)記錄,此時(shí)對(duì)讀取的引導(dǎo)記錄進(jìn)行解密,解密后執(zhí)行活動(dòng)分區(qū)的引導(dǎo)記錄從而啟動(dòng)操作系統(tǒng);
所述磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊,用于對(duì)磁盤(pán)進(jìn)行全盤(pán)保護(hù);其中,操作系統(tǒng)啟動(dòng)后通過(guò)磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)讀取的數(shù)據(jù)在內(nèi)存中進(jìn)行解密,對(duì)寫(xiě)入的數(shù)據(jù)進(jìn)行加密后保存在磁盤(pán)上。
[0013]根據(jù)本發(fā)明的一個(gè)方面,提供一種通過(guò)保護(hù)裝置對(duì)磁盤(pán)進(jìn)行保護(hù)的系統(tǒng),所述保護(hù)裝置為具有智能卡芯片的信息安全設(shè)備,提供軟件、數(shù)據(jù)保護(hù)功能,所述保護(hù)裝置還包括:
保護(hù)裝置設(shè)置模塊、全盤(pán)加密模塊、第一引導(dǎo)模塊、第二引導(dǎo)模塊、磁盤(pán)還原模塊;其中,所述第二引導(dǎo)模塊位于所述保護(hù)裝置中;
所述保護(hù)裝置設(shè)置模塊,用于對(duì)所述保護(hù)裝置進(jìn)行設(shè)置,將第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼放入所述保護(hù)裝置,其中所述密碼由用戶輸入;
所述全盤(pán)加密模塊,將第一引導(dǎo)模塊寫(xiě)入磁盤(pán)的前63個(gè)扇區(qū),對(duì)磁盤(pán)進(jìn)行全盤(pán)加密,采用磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)磁盤(pán)進(jìn)行保護(hù);
所述第一引導(dǎo)模塊,對(duì)保護(hù)裝置進(jìn)行校驗(yàn),從保護(hù)裝置中讀取第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼,把控制權(quán)交給第二引導(dǎo)模塊;
所述第二引導(dǎo)模塊,替換掉磁盤(pán)讀寫(xiě)中斷,對(duì)磁盤(pán)讀取時(shí)進(jìn)行解密,對(duì)磁盤(pán)寫(xiě)入時(shí)進(jìn)行加密,第二引導(dǎo)模塊讀取活動(dòng)分區(qū)的引導(dǎo)記錄,此時(shí)對(duì)讀取的引導(dǎo)記錄進(jìn)行解密,解密后執(zhí)行活動(dòng)分區(qū)的引導(dǎo)記錄從而啟動(dòng)操作系統(tǒng);
所述磁盤(pán)還原模塊,包括應(yīng)用層程序和磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊;
其中,所述應(yīng)用層程序首先讀取整個(gè)磁盤(pán)的最大扇區(qū)數(shù),然后依次向所述磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊發(fā)送還原命令及需要還原的扇區(qū)號(hào);
其中,所述磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊,用于對(duì)磁盤(pán)進(jìn)行全盤(pán)保護(hù);其中,操作系統(tǒng)啟動(dòng)后通過(guò)磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)讀取的數(shù)據(jù)在內(nèi)存中進(jìn)行解密,對(duì)寫(xiě)入的數(shù)據(jù)進(jìn)行加密后保存在磁盤(pán)上;所述磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)磁盤(pán)上的加密后的數(shù)據(jù)進(jìn)行還原時(shí),讀取磁盤(pán)上的加密數(shù)據(jù),對(duì)加密的數(shù)據(jù)在內(nèi)存中解密,將解密后的數(shù)據(jù)寫(xiě)入磁盤(pán);
所述磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊讀取特定扇區(qū)的內(nèi)容,并對(duì)讀取的內(nèi)容進(jìn)行解密,將解密后的數(shù)據(jù)寫(xiě)入磁盤(pán)上的扇區(qū);
其中,磁盤(pán)上的所有扇區(qū)解密完成后,所述應(yīng)用層程序向所述磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊發(fā)送卸載磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊的命令,磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊調(diào)用自身的卸載例程卸載磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊;應(yīng)用層程序?qū)⒋疟P(pán)的前63個(gè)扇區(qū)的內(nèi)容恢復(fù)為沒(méi)有保護(hù)前的數(shù)據(jù)。
[0014]根據(jù)本發(fā)明的一個(gè)方面,所述加密算法采用對(duì)稱(chēng)加密算法或者非對(duì)稱(chēng)加密算法。
[0015]根據(jù)本發(fā)明的一個(gè)方面,所述校驗(yàn)包括通過(guò)校驗(yàn)PIN碼、保護(hù)裝置序列號(hào)等標(biāo)識(shí)信息進(jìn)行身份認(rèn)證。
[0016]根據(jù)本發(fā)明的一個(gè)方面,其中密碼由用戶自定義輸入。
[0017]根據(jù)本發(fā)明的一個(gè)方面,提供一種通過(guò)所述的保護(hù)裝置對(duì)磁盤(pán)進(jìn)行保護(hù)的方法,所述方法包括:
對(duì)保護(hù)裝置進(jìn)行設(shè)置,將第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼放入保護(hù)裝置;
將第一引導(dǎo)模塊寫(xiě)入磁盤(pán);
對(duì)磁盤(pán)進(jìn)行全盤(pán)加密,采用磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)磁盤(pán)進(jìn)行保護(hù);
在磁盤(pán)上安裝磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊。
[0018]根據(jù)本發(fā)明的一個(gè)方面,所述方法還包括:
加密后的磁盤(pán)啟動(dòng)時(shí),首先運(yùn)行第一引導(dǎo)模塊,第一引導(dǎo)模塊對(duì)保護(hù)裝置進(jìn)行校驗(yàn),從保護(hù)裝置中讀取第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼,把控制權(quán)交給第二引導(dǎo)模塊;
第二引導(dǎo)模塊替換掉磁盤(pán)讀寫(xiě)中斷,對(duì)磁盤(pán)讀取時(shí)進(jìn)行解密,對(duì)磁盤(pán)寫(xiě)入時(shí)進(jìn)行加密,第二引導(dǎo)模塊讀取活動(dòng)分區(qū)的引導(dǎo)記錄,對(duì)讀取的引導(dǎo)記錄進(jìn)行解密,解密后執(zhí)行活動(dòng)分區(qū)的引導(dǎo)記錄從而啟動(dòng)操作系統(tǒng);
操作系統(tǒng)啟動(dòng)后通過(guò)磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)讀操作進(jìn)行解密,對(duì)寫(xiě)操作進(jìn)行加密。
[0019]根據(jù)本發(fā)明的一個(gè)方面,所述方法還包括:
對(duì)加密后的磁盤(pán)進(jìn)行還原時(shí),插入所述保護(hù)裝置,啟動(dòng)加密后的磁盤(pán),用戶選擇對(duì)加密后的磁盤(pán)進(jìn)行還原的操作;
應(yīng)用層程序首先讀取整個(gè)磁盤(pán)的最大扇區(qū)數(shù),然后依次向磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊發(fā)送還原命令及需要還原的扇區(qū)號(hào),所述磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊讀取特定扇區(qū)的內(nèi)容,并對(duì)讀取的內(nèi)容進(jìn)行解密,將解密后的數(shù)據(jù)寫(xiě)入磁盤(pán)上的扇區(qū);
磁盤(pán)上的所有扇區(qū)解密完成后,應(yīng)用層程序向磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊發(fā)送卸載磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊的命令,磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊調(diào)用自身的卸載例程卸載磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊;
應(yīng)用層程序?qū)⒋疟P(pán)的前63個(gè)扇區(qū)的內(nèi)容恢復(fù)為沒(méi)有保護(hù)前的數(shù)據(jù)。
[0020]根據(jù)本發(fā)明的一個(gè)方面,在將第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼放入保護(hù)裝置的步驟中,密碼由用戶輸入。
[0021]一種磁盤(pán)保護(hù)的方法,該方法具體步驟包括:
對(duì)保護(hù)裝置進(jìn)行設(shè)置,將第二引導(dǎo)模塊(第二引導(dǎo)模塊用于啟動(dòng)操作系統(tǒng),該第二引導(dǎo)模塊位于保護(hù)裝置中,操作系統(tǒng)啟動(dòng)時(shí)由第一引導(dǎo)模塊讀入內(nèi)存并執(zhí)行,其作用在第二引導(dǎo)模塊部分有詳細(xì)描述)的代碼、啟動(dòng)參數(shù)、密碼放入保護(hù)裝置;
對(duì)磁盤(pán)的前63個(gè)扇區(qū)的數(shù)據(jù)進(jìn)行備份,其中數(shù)據(jù)直接備份到磁盤(pán)上;
將第一引導(dǎo)模塊寫(xiě)入磁盤(pán)的前63個(gè)扇區(qū);
對(duì)磁盤(pán)進(jìn)行全盤(pán)加密,采用磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊(磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊是掛載到操作系統(tǒng)的磁盤(pán)驅(qū)動(dòng)程序上面的驅(qū)動(dòng)程序,該磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊位于磁盤(pán)上,該磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊的作用詳見(jiàn)磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊描述)對(duì)磁盤(pán)進(jìn)行保護(hù),加密算法可以采用對(duì)稱(chēng)加密算法或者非對(duì)稱(chēng)加密算法;
加密后的磁盤(pán)啟動(dòng)時(shí),首先運(yùn)行第一引導(dǎo)模塊,第一引導(dǎo)模塊對(duì)保護(hù)裝置進(jìn)行校驗(yàn),從保護(hù)裝置中讀取第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼,把控制權(quán)交給第二引導(dǎo)模塊;
第二引導(dǎo)模塊替換掉磁盤(pán)讀寫(xiě)中斷,對(duì)磁盤(pán)讀取時(shí)進(jìn)行解密,對(duì)磁盤(pán)寫(xiě)入時(shí)進(jìn)行加密,第二引導(dǎo)模塊讀取活動(dòng)分區(qū)的引導(dǎo)記錄,對(duì)讀取的引導(dǎo)記錄進(jìn)行解密,解密后執(zhí)行活動(dòng)分區(qū)的引導(dǎo)記錄從而啟動(dòng)操作系統(tǒng);
操作系統(tǒng)啟動(dòng)后通過(guò)磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)讀操作進(jìn)行解密,對(duì)寫(xiě)操作進(jìn)行加密,從而完成磁盤(pán)的保護(hù)功能。
[0022]對(duì)加密后的磁盤(pán)進(jìn)行還原時(shí),需要插入正確的保護(hù)裝置,啟動(dòng)加密后的磁盤(pán),用戶選擇對(duì)加密后的磁盤(pán)進(jìn)行還原的操作,此時(shí)由存儲(chǔ)在磁盤(pán)上的磁盤(pán)還原模塊利用磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)整個(gè)磁盤(pán)上加密的數(shù)據(jù)進(jìn)行解密,解密時(shí)采用的算法和對(duì)磁盤(pán)加密時(shí)使用的算法一致,將解密后的數(shù)據(jù)寫(xiě)入磁盤(pán),解密完成后,卸載磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊(其中,根據(jù)本發(fā)明的一個(gè)實(shí)施例,由磁盤(pán)還原模塊中的應(yīng)用層程序向磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊發(fā)送卸載命令,磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊的卸載例程完成自身的卸載),將磁盤(pán)的前63個(gè)扇區(qū)的內(nèi)容恢復(fù)為沒(méi)有保護(hù)前的數(shù)據(jù)。
[0023]本發(fā)明還提供了一種對(duì)磁盤(pán)進(jìn)行保護(hù)的系統(tǒng),所述系統(tǒng)包括:
保護(hù)裝置、裝置設(shè)置模塊、全盤(pán)加密模塊、第一引導(dǎo)模塊、第二引導(dǎo)模塊、磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊、磁盤(pán)還原模塊;其中,所述第二引導(dǎo)模塊位于所述保護(hù)裝置中;
所述保護(hù)裝置為具有智能卡芯片的信息安全設(shè)備,提供軟件、數(shù)據(jù)保護(hù)功能。根據(jù)一個(gè)【具體實(shí)施方式】,所述保護(hù)裝置包括但不限于加密鎖。
[0024]所述保護(hù)裝置設(shè)置模塊,用來(lái)對(duì)保護(hù)裝置進(jìn)行設(shè)置,將第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼放入保護(hù)裝置,其中密碼由用戶自定義輸入;
所述全盤(pán)加密模塊,對(duì)磁盤(pán)的前63個(gè)扇區(qū)數(shù)據(jù)進(jìn)行備份,將第一引導(dǎo)模塊寫(xiě)入磁盤(pán)的前63個(gè)扇區(qū),對(duì)磁盤(pán)進(jìn)行全盤(pán)加密,采用磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)磁盤(pán)進(jìn)行保護(hù),加密算法可以采用對(duì)稱(chēng)加密算法或者非對(duì)稱(chēng)加密算法。根據(jù)一個(gè)【具體實(shí)施方式】,所述對(duì)稱(chēng)加密算法包括AES、DES、TDES ;非對(duì)稱(chēng)加密算法包括ECC、RSA。
[0025]所述第一引導(dǎo)模塊,對(duì)保護(hù)裝置進(jìn)行校驗(yàn),從保護(hù)裝置中讀取第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼,把控制權(quán)交給第二引導(dǎo)模塊;
所述第二引導(dǎo)模塊,替換掉磁盤(pán)讀寫(xiě)中斷,對(duì)磁盤(pán)讀取時(shí)進(jìn)行解密,對(duì)磁盤(pán)寫(xiě)入時(shí)進(jìn)行加密,第二引導(dǎo)模塊讀取活動(dòng)分區(qū)的引導(dǎo)記錄,對(duì)讀取的引導(dǎo)記錄進(jìn)行解密,解密后執(zhí)行活動(dòng)分區(qū)的引導(dǎo)記錄從而啟動(dòng)操作系統(tǒng);
所述磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊,用于對(duì)磁盤(pán)進(jìn)行全盤(pán)保護(hù),保護(hù)后的磁盤(pán),操作系統(tǒng)啟動(dòng)后通過(guò)磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)讀取的數(shù)據(jù)在內(nèi)存中進(jìn)行解密,對(duì)寫(xiě)入的數(shù)據(jù)進(jìn)行加密后保存在磁盤(pán)上,磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)磁盤(pán)上的加密后的數(shù)據(jù)進(jìn)行還原時(shí),讀取磁盤(pán)上的加密數(shù)據(jù),對(duì)加密的數(shù)據(jù)在內(nèi)存中解密,將解密后的數(shù)據(jù)寫(xiě)入磁盤(pán)。
[0026]所述磁盤(pán)還原模塊,由應(yīng)用層程序和磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊兩部分組成,應(yīng)用層程序首先讀取整個(gè)磁盤(pán)的最大扇區(qū)數(shù),然后依次向磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊發(fā)送還原命令及需要還原的扇區(qū)號(hào),所述磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊讀取特定扇區(qū)的內(nèi)容,并對(duì)讀取的內(nèi)容進(jìn)行解密,解密時(shí)采用的算法和對(duì)磁盤(pán)保護(hù)時(shí)所用的算法一致,將解密后的數(shù)據(jù)寫(xiě)入磁盤(pán)上的扇區(qū)。磁盤(pán)上的所有扇區(qū)解密完成后,應(yīng)用層程序向磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊發(fā)送卸載磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊的命令,磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊調(diào)用自身的卸載例程卸載磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊。應(yīng)用層程序?qū)⒋疟P(pán)的前63個(gè)扇區(qū)的內(nèi)容恢復(fù)為沒(méi)有保護(hù)前的數(shù)據(jù)。
[0027]根據(jù)本發(fā)明的一個(gè)方面,所述第一引導(dǎo)模塊對(duì)保護(hù)裝置進(jìn)行校驗(yàn),具體為通過(guò)校驗(yàn)PIN碼、保護(hù)裝置序列號(hào)等標(biāo)識(shí)信息對(duì)保護(hù)裝置進(jìn)行身份認(rèn)證。
[0028]根據(jù)本發(fā)明提供的方法,所取得的有益效果在于:被保護(hù)的磁盤(pán)只有插入正確的保護(hù)裝置才能正常啟動(dòng)系統(tǒng),系統(tǒng)啟動(dòng)后,用戶對(duì)文件進(jìn)行讀取時(shí),磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊會(huì)臨時(shí)在內(nèi)存中解密返回給用戶,用戶寫(xiě)入的數(shù)據(jù)會(huì)被加密后存入磁盤(pán),磁盤(pán)中的數(shù)據(jù)永遠(yuǎn)是加密的,即使磁盤(pán)被非法獲取,沒(méi)有正確的保護(hù)裝置無(wú)法進(jìn)入系統(tǒng),也無(wú)法解密磁盤(pán)上的內(nèi)容。
[0029]為了方便用戶可以對(duì)保護(hù)后的磁盤(pán)進(jìn)行還原,只要用戶插入合法的保護(hù)裝置,進(jìn)入保護(hù)后的磁盤(pán)的系統(tǒng)后,可以對(duì)整個(gè)磁盤(pán)進(jìn)行還原至未保護(hù)前的狀態(tài)。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0030]圖1為按照本發(fā)明的一優(yōu)選實(shí)施例的保護(hù)過(guò)程的流程示意圖。
[0031]圖2為按照本發(fā)明的一優(yōu)選實(shí)施例中的被保護(hù)后的磁盤(pán)運(yùn)行時(shí)示意圖。
[0032]圖3為按照本發(fā)明的一優(yōu)選實(shí)施例中的對(duì)保護(hù)后的磁盤(pán)進(jìn)行還原時(shí)的示意圖。
[0033]圖4為按照本發(fā)明的一優(yōu)選實(shí)施例中的磁盤(pán)還原模塊的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0034]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
[0035]根據(jù)本發(fā)明的一個(gè)實(shí)施方式,提供一種磁盤(pán)保護(hù)及還原的方法,具體包括: 1.對(duì)保護(hù)裝置進(jìn)行設(shè)置,將第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼放入保護(hù)裝置;
2.將磁盤(pán)的前63個(gè)扇區(qū)的數(shù)據(jù)進(jìn)行備份;
3.將第一引導(dǎo)模塊寫(xiě)入磁盤(pán)的前63個(gè)扇區(qū);
4.對(duì)磁盤(pán)進(jìn)行全盤(pán)加密,采用磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)磁盤(pán)進(jìn)行保護(hù),加密算法可以采用對(duì)稱(chēng)加密算法或者非對(duì)稱(chēng)加密算法;
5.加密后的磁盤(pán)啟動(dòng)時(shí),首先運(yùn)行第一引導(dǎo)模塊,第一引導(dǎo)模塊對(duì)保護(hù)裝置進(jìn)行校驗(yàn),從保護(hù)裝置中讀取第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼,把控制權(quán)交給第二引導(dǎo)模塊;
6.第二引導(dǎo)模塊替換掉磁盤(pán)讀寫(xiě)中斷,對(duì)磁盤(pán)讀取時(shí)進(jìn)行解密,對(duì)磁盤(pán)寫(xiě)入時(shí)進(jìn)行加密,第二引導(dǎo)模塊讀取活動(dòng)分區(qū)的引導(dǎo)記錄,對(duì)讀取的引導(dǎo)記錄進(jìn)行解密,解密后執(zhí)行活動(dòng)分區(qū)的引導(dǎo)記錄從而啟動(dòng)操作系統(tǒng);
7.操作系統(tǒng)啟動(dòng)后通過(guò)磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)讀取的數(shù)據(jù)在內(nèi)存中進(jìn)行解密,對(duì)寫(xiě)入的數(shù)據(jù)進(jìn)行加密后保存在磁盤(pán)上,從而完成磁盤(pán)的保護(hù)功能。
[0036]8.對(duì)磁盤(pán)進(jìn)行還原時(shí),需要插入正確的保護(hù)裝置,啟動(dòng)加密后的磁盤(pán),用戶選擇對(duì)加密后的磁盤(pán)進(jìn)行還原的操作,此時(shí)磁盤(pán)還原模塊利用磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)整個(gè)磁盤(pán)上加密的數(shù)據(jù)進(jìn)行解密,解密時(shí)采用的算法和對(duì)磁盤(pán)加密時(shí)使用的算法一致,將解密后的數(shù)據(jù)寫(xiě)入磁盤(pán),解密完成后,卸載磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊,將磁盤(pán)的前63個(gè)扇區(qū)的內(nèi)容恢復(fù)為沒(méi)有保護(hù)前的數(shù)據(jù)。
[0037]根據(jù)本發(fā)明的一個(gè)實(shí)施方式,一種對(duì)磁盤(pán)進(jìn)行保護(hù)的系統(tǒng),包括:
保護(hù)裝置、保護(hù)裝置設(shè)置模塊、全盤(pán)加密模塊、第一引導(dǎo)模塊、第二引導(dǎo)模塊、磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊,磁盤(pán)還原模塊,其中,
所述保護(hù)裝置為具有智能卡芯片的信息安全設(shè)備,提供軟件、數(shù)據(jù)保護(hù)功能。根據(jù)一個(gè)【具體實(shí)施方式】,所述保護(hù)裝置包括但不限于加密鎖。
[0038]所述保護(hù)裝置設(shè)置模塊,用來(lái)對(duì)保護(hù)裝置進(jìn)行設(shè)置,將第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼放入保護(hù)裝置,其中密碼由用戶自定義輸入。
[0039]所述全盤(pán)加密模塊,對(duì)磁盤(pán)的前63個(gè)扇區(qū)數(shù)據(jù)進(jìn)行備份,將第一引導(dǎo)模塊寫(xiě)入磁盤(pán)的前63個(gè)扇區(qū),對(duì)磁盤(pán)進(jìn)行全盤(pán)加密,采用磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)磁盤(pán)進(jìn)行保護(hù),加密算法可以采用對(duì)稱(chēng)加密算法或者非對(duì)稱(chēng)加密算法。
[0040]所述第一引導(dǎo)模塊,對(duì)保護(hù)裝置進(jìn)行校驗(yàn),從保護(hù)裝置中讀取第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼,把控制權(quán)交給第二引導(dǎo)模塊。根據(jù)一個(gè)【具體實(shí)施方式】,所述校驗(yàn)包括通過(guò)校驗(yàn)PIN碼、保護(hù)裝置序列號(hào)等標(biāo)識(shí)信息進(jìn)行身份認(rèn)證。
[0041]所述第二引導(dǎo)模塊,替換掉磁盤(pán)讀寫(xiě)中斷,對(duì)磁盤(pán)讀取時(shí)進(jìn)行解密,對(duì)磁盤(pán)寫(xiě)入時(shí)進(jìn)行加密,第二引導(dǎo)模塊讀取活動(dòng)分區(qū)的引導(dǎo)記錄,此時(shí)會(huì)對(duì)讀取的引導(dǎo)記錄進(jìn)行解密,解密后執(zhí)行活動(dòng)分區(qū)的引導(dǎo)記錄從而啟動(dòng)操作系統(tǒng)。
[0042]所述磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊,用于對(duì)磁盤(pán)進(jìn)行全盤(pán)保護(hù),保護(hù)后的磁盤(pán),操作系統(tǒng)啟動(dòng)后通過(guò)磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)讀取的數(shù)據(jù)在內(nèi)存中進(jìn)行解密,對(duì)寫(xiě)入的數(shù)據(jù)進(jìn)行加密后保存在磁盤(pán)上,磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)磁盤(pán)上的加密后的數(shù)據(jù)進(jìn)行還原時(shí),讀取磁盤(pán)上的加密數(shù)據(jù),對(duì)加密的數(shù)據(jù)在內(nèi)存中解密,將解密后的數(shù)據(jù)寫(xiě)入磁盤(pán)。
[0043]所述磁盤(pán)還原模塊由應(yīng)用層程序和磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊兩部分組成,應(yīng)用層程序首先讀取整個(gè)磁盤(pán)的最大扇區(qū)數(shù),然后依次向磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊發(fā)送還原命令及需要還原的扇區(qū)號(hào),所述磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊讀取特定扇區(qū)的內(nèi)容,并對(duì)讀取的內(nèi)容進(jìn)行解密,將解密后的數(shù)據(jù)寫(xiě)入磁盤(pán)上的扇區(qū)。磁盤(pán)上的所有扇區(qū)解密完成后,應(yīng)用層程序向磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊發(fā)送卸載磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊的命令,磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊調(diào)用自身的卸載例程卸載磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊。應(yīng)用層程序?qū)⒋疟P(pán)的前63個(gè)扇區(qū)的內(nèi)容恢復(fù)為沒(méi)有保護(hù)前的數(shù)據(jù)。
[0044]根據(jù)本發(fā)明的一個(gè)實(shí)施方式,下面給出一個(gè)實(shí)施例來(lái)說(shuō)明本發(fā)明。
[0045]實(shí)施例1
該實(shí)施例以保護(hù)安裝有微軟Windows 7 32位系統(tǒng)的磁盤(pán)為例,來(lái)描述根據(jù)本申請(qǐng)一個(gè)具體實(shí)施例實(shí)現(xiàn)磁盤(pán)保護(hù)的具體過(guò)程。
[0046]保護(hù)裝置為加密鎖,提供數(shù)據(jù)安全保護(hù)功能。
[0047]保護(hù)裝置設(shè)置模塊,對(duì)保護(hù)裝置進(jìn)行設(shè)置,將第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼放入保護(hù)裝置,其中密碼的長(zhǎng)度為64字節(jié),其中密碼由用戶自定義輸入,密碼相同的鎖可以互相啟動(dòng)加密后的磁盤(pán);
全盤(pán)加密模塊,首先將磁盤(pán)的前63個(gè)扇區(qū)的數(shù)據(jù)進(jìn)行備份,在系統(tǒng)上安裝磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊,并把過(guò)濾驅(qū)動(dòng)設(shè)置為隨操作系統(tǒng)啟動(dòng)而啟動(dòng),將第一引導(dǎo)模塊寫(xiě)入磁盤(pán)的前63個(gè)扇區(qū),利用磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)磁盤(pán)進(jìn)行加密保護(hù),此處的加密算法采用AES算法,加密密鑰隨機(jī)生成;
如圖1所示,對(duì)磁盤(pán)進(jìn)行保護(hù)的詳細(xì)步驟為:
1.插入保護(hù)裝置;
2.用戶輸入自定義的密碼;
3.將第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼放入保護(hù)裝置;
4.將磁盤(pán)的前63個(gè)扇區(qū)的數(shù)據(jù)進(jìn)行備份;
5.在磁盤(pán)上安裝磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊;
6.將第一引導(dǎo)模塊寫(xiě)入磁盤(pán)的前63個(gè)扇區(qū);
7.對(duì)磁盤(pán)進(jìn)行全盤(pán)加密。
[0048]在受保護(hù)裝置保護(hù)的磁盤(pán)啟動(dòng)時(shí):
第一引導(dǎo)模塊,首先對(duì)保護(hù)裝置進(jìn)行校驗(yàn),利用特定的命令,從保護(hù)裝置中讀取第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼,把控制權(quán)交給第二引導(dǎo)模塊。
[0049]第二引導(dǎo)模塊,替換掉磁盤(pán)讀寫(xiě)中斷,根據(jù)本發(fā)明的一個(gè)實(shí)施例,替換掉int 13中斷,當(dāng)寄存器AH的值為02時(shí),為讀操作,當(dāng)寄存器AH的值為03時(shí)為寫(xiě)操作。讀寫(xiě)中斷被替換后,對(duì)磁盤(pán)進(jìn)行讀取時(shí)進(jìn)行解密,對(duì)磁盤(pán)進(jìn)行寫(xiě)入時(shí)進(jìn)行加密,第二引導(dǎo)模塊讀取活動(dòng)分區(qū)的引導(dǎo)記錄,此時(shí)會(huì)對(duì)讀取的引導(dǎo)記錄進(jìn)行解密,解密后執(zhí)行活動(dòng)分區(qū)的引導(dǎo)記錄從而啟動(dòng)操作系統(tǒng)。
[0050]磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊,保護(hù)后的磁盤(pán)操作系統(tǒng)啟動(dòng)后,通過(guò)磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)讀磁盤(pán)操作進(jìn)行解密,對(duì)寫(xiě)磁盤(pán)操作進(jìn)行加密,磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)磁盤(pán)上的加密后的數(shù)據(jù)進(jìn)行還原時(shí),讀取磁盤(pán)上的加密數(shù)據(jù),對(duì)加密的數(shù)據(jù)在內(nèi)存中解密,將解密后的數(shù)據(jù)寫(xiě)入磁盤(pán)。
[0051]如圖2所示,加密后的磁盤(pán)運(yùn)行時(shí),包括如下步驟:
1.插入保護(hù)裝置;
2.對(duì)保護(hù)裝置進(jìn)行校驗(yàn),校驗(yàn)通過(guò)則執(zhí)行步驟3,否則提示錯(cuò)誤信息; 3.從保護(hù)裝置中讀取第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼;
4.替換磁盤(pán)的int13讀寫(xiě)中斷;
5.讀取活動(dòng)分區(qū)的引導(dǎo)記錄,對(duì)引導(dǎo)記錄進(jìn)行解密;
6.執(zhí)行引導(dǎo)記錄,啟動(dòng)操作系統(tǒng);
7.對(duì)讀磁盤(pán)操作在內(nèi)存中進(jìn)行解密,對(duì)寫(xiě)磁盤(pán)操作進(jìn)行加密后寫(xiě)入磁盤(pán)。
[0052]在對(duì)保護(hù)后磁盤(pán)進(jìn)行還原時(shí),磁盤(pán)還原模塊利用磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)整個(gè)磁盤(pán)上加密的數(shù)據(jù)進(jìn)行解密,將解密后的數(shù)據(jù)寫(xiě)入磁盤(pán),卸載磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊,將磁盤(pán)的前63個(gè)扇區(qū)的內(nèi)容恢復(fù)為沒(méi)有保護(hù)前的數(shù)據(jù)。
[0053]如圖3所示,對(duì)保護(hù)后的磁盤(pán)進(jìn)行還原時(shí)的步驟如下:
1.插入保護(hù)裝置;
2.啟動(dòng)保護(hù)后的磁盤(pán),詳細(xì)啟動(dòng)步驟參見(jiàn)圖2;
3.用戶選擇對(duì)磁盤(pán)進(jìn)行還原;
4.對(duì)磁盤(pán)上的加密的數(shù)據(jù)進(jìn)行解密,解密后寫(xiě)入磁盤(pán),此處解密算法采用AES算法;
5.卸載磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊;
6.將磁盤(pán)的前63個(gè)扇區(qū)的內(nèi)容恢復(fù)為沒(méi)有保護(hù)前的數(shù)據(jù)。
[0054]磁盤(pán)還原模塊由應(yīng)用層程序和磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊兩部分組成,其工作流程如圖4所示。
[0055]如圖4所示,應(yīng)用層程序向磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊發(fā)送還原扇區(qū)的命令及需要還原的扇區(qū)號(hào);
磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊讀取特定扇區(qū)的內(nèi)容,并對(duì)讀取的內(nèi)容進(jìn)行解密,將解密后的數(shù)據(jù)寫(xiě)入磁盤(pán)上的扇區(qū);
磁盤(pán)上的所有扇區(qū)解密完成后,應(yīng)用層程序向磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊發(fā)送卸載磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊的命令;
磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊調(diào)用自身的卸載例程卸載磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊;
應(yīng)用層程序?qū)⒋疟P(pán)的前63個(gè)扇區(qū)的內(nèi)容恢復(fù)為沒(méi)有保護(hù)前的數(shù)據(jù)。
[0056]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換以及改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種通過(guò)保護(hù)裝置對(duì)磁盤(pán)進(jìn)行保護(hù)的系統(tǒng),所述保護(hù)裝置為具有智能卡芯片的信息安全設(shè)備,提供軟件、數(shù)據(jù)保護(hù)功能,其特征在于,所述保護(hù)裝置還包括: 保護(hù)裝置設(shè)置模塊、全盤(pán)加密模塊、第一引導(dǎo)模塊、第二引導(dǎo)模塊、磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊;其中,所述第二引導(dǎo)模塊位于所述保護(hù)裝置中; 所述保護(hù)裝置設(shè)置模塊,用于對(duì)所述保護(hù)裝置進(jìn)行設(shè)置,將第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼放入所述保護(hù)裝置; 所述全盤(pán)加密模塊,將第一引導(dǎo)模塊寫(xiě)入磁盤(pán)的前63個(gè)扇區(qū),對(duì)磁盤(pán)進(jìn)行全盤(pán)加密,采用磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)磁盤(pán)進(jìn)行保護(hù); 所述第一引導(dǎo)模塊,對(duì)保護(hù)裝置進(jìn)行校驗(yàn),從保護(hù)裝置中讀取第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼,把控制權(quán)交給第二引導(dǎo)模塊; 所述第二引導(dǎo)模塊,替換掉磁盤(pán)讀寫(xiě)中斷,對(duì)磁盤(pán)讀取時(shí)進(jìn)行解密,對(duì)磁盤(pán)寫(xiě)入時(shí)進(jìn)行加密,第二引導(dǎo)模塊讀取活動(dòng)分區(qū)的引導(dǎo)記錄,此時(shí)對(duì)讀取的引導(dǎo)記錄進(jìn)行解密,解密后執(zhí)行活動(dòng)分區(qū)的引導(dǎo)記錄從而啟動(dòng)操作系統(tǒng); 所述磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊,用于對(duì)磁盤(pán)進(jìn)行全盤(pán)保護(hù);其中,操作系統(tǒng)啟動(dòng)后通過(guò)磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)讀取的數(shù)據(jù)在內(nèi)存中進(jìn)行解密,對(duì)寫(xiě)入的數(shù)據(jù)進(jìn)行加密后保存在磁盤(pán)上。
2.一種通過(guò)保護(hù)裝置對(duì)磁盤(pán)進(jìn)行保護(hù)的系統(tǒng),所述保護(hù)裝置為具有智能卡芯片的信息安全設(shè)備,提供軟件、數(shù)據(jù)保護(hù)功能,其特征在于,所述保護(hù)裝置還包括: 保護(hù)裝置設(shè)置模塊、全盤(pán)加密模塊、第一引導(dǎo)模塊、第二引導(dǎo)模塊、磁盤(pán)還原模塊;其中,所述第二引導(dǎo)模塊位于所述保護(hù)裝置中; 所述保護(hù)裝置設(shè)置模塊,用于對(duì)所述保護(hù)裝置進(jìn)行設(shè)置,將第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼放入所述保護(hù)裝置,其中`所述密碼由用戶輸入; 所述全盤(pán)加密模塊,將第一引導(dǎo)模塊寫(xiě)入磁盤(pán)的前63個(gè)扇區(qū),對(duì)磁盤(pán)進(jìn)行全盤(pán)加密,采用磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)磁盤(pán)進(jìn)行保護(hù); 所述第一引導(dǎo)模塊,對(duì)保護(hù)裝置進(jìn)行校驗(yàn),從保護(hù)裝置中讀取第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼,把控制權(quán)交給第二引導(dǎo)模塊; 所述第二引導(dǎo)模塊,替換掉磁盤(pán)讀寫(xiě)中斷,對(duì)磁盤(pán)讀取時(shí)進(jìn)行解密,對(duì)磁盤(pán)寫(xiě)入時(shí)進(jìn)行加密,第二引導(dǎo)模塊讀取活動(dòng)分區(qū)的引導(dǎo)記錄,此時(shí)對(duì)讀取的引導(dǎo)記錄進(jìn)行解密,解密后執(zhí)行活動(dòng)分區(qū)的引導(dǎo)記錄從而啟動(dòng)操作系統(tǒng); 所述磁盤(pán)還原模塊,包括應(yīng)用層程序和磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊; 其中,所述應(yīng)用層程序首先讀取整個(gè)磁盤(pán)的最大扇區(qū)數(shù),然后依次向所述磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊發(fā)送還原命令及需要還原的扇區(qū)號(hào); 其中,所述磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊,用于對(duì)磁盤(pán)進(jìn)行全盤(pán)保護(hù);其中,操作系統(tǒng)啟動(dòng)后通過(guò)磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)讀取的數(shù)據(jù)在內(nèi)存中進(jìn)行解密,對(duì)寫(xiě)入的數(shù)據(jù)進(jìn)行加密后保存在磁盤(pán)上;所述磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)磁盤(pán)上的加密后的數(shù)據(jù)進(jìn)行還原時(shí),讀取磁盤(pán)上的加密數(shù)據(jù),對(duì)加密的數(shù)據(jù)在內(nèi)存中解密,將解密后的數(shù)據(jù)寫(xiě)入磁盤(pán); 所述磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊讀取特定扇區(qū)的內(nèi)容,并對(duì)讀取的內(nèi)容進(jìn)行解密,將解密后的數(shù)據(jù)寫(xiě)入磁盤(pán)上的扇區(qū); 其中,磁盤(pán)上的所有扇區(qū)解密完成后,所述應(yīng)用層程序向所述磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊發(fā)送卸載磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊的命令,磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊調(diào)用自身的卸載例程卸載磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊;應(yīng)用層程序?qū)⒋疟P(pán)的前63個(gè)扇區(qū)的內(nèi)容恢復(fù)為沒(méi)有保護(hù)前的數(shù)據(jù)。
3.根據(jù)權(quán)利要求1或2所述的通過(guò)保護(hù)裝置對(duì)磁盤(pán)進(jìn)行保護(hù)的系統(tǒng),其特征在于,所述加密算法采用對(duì)稱(chēng)加密算法或者非對(duì)稱(chēng)加密算法。
4.根據(jù)權(quán)利要求1或2所述的通過(guò)保護(hù)裝置對(duì)磁盤(pán)進(jìn)行保護(hù)的系統(tǒng),其特征在于,所述校驗(yàn)包括通過(guò)校驗(yàn)PIN碼、保護(hù)裝置序列號(hào)等標(biāo)識(shí)信息進(jìn)行身份認(rèn)證。
5.根據(jù)權(quán)利要求1-4所述的通過(guò)保護(hù)裝置對(duì)磁盤(pán)進(jìn)行保護(hù)的系統(tǒng),其特征在于,其中密碼由用戶自定義輸入。
6.一種通過(guò)權(quán)利要求1-5所述的保護(hù)裝置對(duì)磁盤(pán)進(jìn)行保護(hù)的方法,其特征在于,所述方法包括: 對(duì)保護(hù)裝置進(jìn)行設(shè)置,將第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼放入保護(hù)裝置; 將第一引導(dǎo)模塊寫(xiě)入磁盤(pán); 對(duì)磁盤(pán)進(jìn)行全盤(pán)加密,采用磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)磁盤(pán)進(jìn)行保護(hù); 在磁盤(pán)上安裝磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊。
7.根據(jù)權(quán)利要求6所述保護(hù)裝置對(duì)磁盤(pán)進(jìn)行保護(hù)的方法,其特征在于,所述方法還包括: 加密后的磁盤(pán)啟動(dòng)時(shí),首先運(yùn)行第一引導(dǎo)模塊,第一引導(dǎo)模塊對(duì)保護(hù)裝置進(jìn)行校驗(yàn),從保護(hù)裝置中讀取第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼,把控制權(quán)交給第二引導(dǎo)模塊;` 第二引導(dǎo)模塊替換掉磁盤(pán)讀寫(xiě)中斷,對(duì)磁盤(pán)讀取時(shí)進(jìn)行解密,對(duì)磁盤(pán)寫(xiě)入時(shí)進(jìn)行加密,第二引導(dǎo)模塊讀取活動(dòng)分區(qū)的引導(dǎo)記錄,對(duì)讀取的引導(dǎo)記錄進(jìn)行解密,解密后執(zhí)行活動(dòng)分區(qū)的引導(dǎo)記錄從而啟動(dòng)操作系統(tǒng); 操作系統(tǒng)啟動(dòng)后通過(guò)磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊對(duì)讀操作進(jìn)行解密,對(duì)寫(xiě)操作進(jìn)行加密。
8.根據(jù)權(quán)利要求6或7所述的保護(hù)裝置對(duì)磁盤(pán)進(jìn)行保護(hù)的方法,其特征在于,所述方法還包括: 對(duì)加密后的磁盤(pán)進(jìn)行還原時(shí),插入所述保護(hù)裝置,啟動(dòng)加密后的磁盤(pán),用戶選擇對(duì)加密后的磁盤(pán)進(jìn)行還原的操作; 應(yīng)用層程序首先讀取整個(gè)磁盤(pán)的最大扇區(qū)數(shù),然后依次向磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊發(fā)送還原命令及需要還原的扇區(qū)號(hào),所述磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊讀取特定扇區(qū)的內(nèi)容,并對(duì)讀取的內(nèi)容進(jìn)行解密,將解密后的數(shù)據(jù)寫(xiě)入磁盤(pán)上的扇區(qū); 磁盤(pán)上的所有扇區(qū)解密完成后,應(yīng)用層程序向磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊發(fā)送卸載磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊的命令,磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊調(diào)用自身的卸載例程卸載磁盤(pán)過(guò)濾驅(qū)動(dòng)模塊; 應(yīng)用層程序?qū)⒋疟P(pán)的前63個(gè)扇區(qū)的內(nèi)容恢復(fù)為沒(méi)有保護(hù)前的數(shù)據(jù)。
9.根據(jù)權(quán)利要求6-8所述的保護(hù)裝置對(duì)磁盤(pán)進(jìn)行保護(hù)的方法,其特征在于,在將第二引導(dǎo)模塊的代碼、啟動(dòng)參數(shù)、密碼放入保護(hù)裝置的步驟中,密碼由用戶輸入。
【文檔編號(hào)】G06F21/80GK103870769SQ201410057760
【公開(kāi)日】2014年6月18日 申請(qǐng)日期:2014年2月20日 優(yōu)先權(quán)日:2014年2月20日
【發(fā)明者】孫吉平, 韓勇 申請(qǐng)人:北京深思數(shù)盾科技有限公司