專利名稱:Windows環境下基于USB設備的硬盤加密方法
技術領域:
本發明涉及計算機安全領域,具體的說是提供了一種防止硬盤數據泄露的方法。
背景技術:
隨著信息化程度越來越高,信息安全顯得格外重要。計算機的數據一般存儲 在本地硬盤上,未授權的數據拷貝甚至直接盜走硬盤會給計算機用戶帶來嚴重的 損失。在眾多防止硬盤數據泄露的方案中,對硬盤數據進行加密不失為一種有效 方法。目前存在的硬盤加密方案普遍需要結合復雜的硬件設備,如在計算機主板和 硬盤之間增加額外的硬件設備,使用成本較高。另外,由于和硬件結合比較緊密, 存在兼容性的問題。發明內容本發明的目的在于提供一種低成本的基于USB設備的硬盤加密方法。 本發明的技術方案是包括一個支持從USB啟動的USB設備, 一段存放在USB設備O扇區的加載程序, 一段存放在USB設備隱藏扇區的硬盤加密解密程序;加載程序監控Windows操作系 統通過頂T13H中斷讀寫目標硬盤,完成對目標硬盤數據的加密和解密;同時在計 算機啟動時把硬盤加密解密程序嵌入Windows操作系統;硬盤加密解密程序監控 Windows操作系統通過驅動程序讀寫目標硬盤,完成對目標硬盤數據的加密和解 密;加載程序和硬盤加密解密程序獲取USB設備的硬件序列號UID和目標硬盤的硬 件序列號HID,通過函數f(UID,HID)計算出目標硬盤加密和解密需要的密鑰。加載程序存放在USB設備的O扇區。當計算機從USB設備啟動時,BI0S將加載 程序讀入內存執行;加載程序監控Windows操作系統通過INT13H中斷讀寫目標硬 盤,解密從目標硬盤讀取的數據,加密寫入目標硬盤的數據;同時在內存中修改讀取的注冊表信息和文件系統信息,把硬盤加密解密程序作為磁盤過濾驅動程序 嵌入Windows操作系統。硬盤加密解密程序存放在USB設備的隱藏扇區;它是一個工作在Windows操作 系統內核的磁盤過濾驅動程序;當Windows操作系統放棄使用INT13H中斷改用驅 動程序讀寫目標硬盤時,硬盤加密解密程序接管對目標硬盤數據的加密和解密。當計算機從USB設備啟動時,BIOS把存放在USB設備0扇區的加載程序讀入內 存0000: 7C00并執行。加載程序通過修改INT13H的中斷服務程序來監控計算機對 目標硬盤的讀寫。加載程序完成修改后,把硬盤0扇區的內容讀入內存0000: 7C00 并執行,從硬盤上啟動Windows操作系統。在隨后的啟動過程中,硬盤上的Windows 引導程序(Osloader. exe)通過INT13H讀取注冊表信息和文件系統信息。加載程序 監測到引導程序對注冊表的讀寫,調用原始的INT13H中斷服務程序讀取硬盤上的 注冊表到內存,并在內存中修改讀取的內容,讓引導程序加載一個硬盤上并不存 在的內核驅動程序。當引導程序通過INT13H來讀取該內核驅動程序時,加載程序 把讀操作重定向到USB設備,讀取存放在USB設備隱藏扇區上的硬盤加密解密程 序。至此,引導程序獲得了硬盤加密解密程序的內容,并根據注冊表的指示將它 裝入Windows操作系統。引導程序完成系統初始化工作后,Windows操作系統將放 棄使用INT13H中斷改用驅動程序訪問硬盤等存儲設備。作為磁盤過濾驅動程序嵌 入到Windows操作系統內核的硬盤加密解密程序接管對目標硬盤讀寫操作的監 控,解密讀操作獲取的數據,加密寫操作的數據。本發明的有益效果是1) 設計新穎。不需要在計算機主板和硬盤之間增加額外的硬件設備。2) 使用成本低。僅需要一個支持從USB啟動的USB設備。3) 使用方便。USB設備的硬件序列號和目標硬盤的硬件序列號產生加密解密 需要的密鑰。該密鑰將USB設備和目標硬盤綁定為鑰匙和鎖的關系,插入匹配的 USB設備即可,不需要輸入用戶名和密碼。
圖l一磁盤存儲驅動程序層次示意圖。圖2—USB設備扇區的使用示意圖。圖3—從USB設備啟動的工作流程圖。
具體實施方式
下面結合附圖和具體實施方式
對本發明作進一步詳細描述。本發明不僅限于 以下實施例,凡是利用本發明的設計思路,做一些簡單變化的設計都應進入本發 明的保護范圍之內。USB設備作為加載程序和硬盤加密解密程序的載體。加載程序存放在USB設備 的0扇區,硬盤加密解密程序存放在USB設備的隱藏扇區。USB設備進行普通的數 據拷貝使用正常分區,即圖2中USB數據區。硬盤加密解密程序(DiskSecure. sys)工作在Windows操作系統內核,位于 磁盤驅動程序(Disk, sys)和分區驅動程序(PartMgr. sys)之間,如圖1。 Windows 操作系統啟動后,計算機對硬盤的讀寫操作通過輸入輸出請求包(IRP)來完成。 當Windows操作系統需要訪問硬盤時,構造相應的IRP并且層層下傳。硬盤加密 解密程序對分區驅動程序傳下來的IRP進行分析如果IRP為讀操作,硬盤加密 解密程序先將該IRP發送給磁盤驅動程序,磁盤驅動程序完成讀操作后將該IRP 返回給硬盤加密解密程序。硬盤加密解密程序使用密鑰解密IRP中的數據;完成 解密后將IRP返回給Windows操作系統。如果IRP為寫操作,硬盤加密解密程序 根據該IRP重新創建一個新的IRP,且使用密鑰加密新創建的IRP中的數據;完 成加密后,將新創建的IRP發送給磁盤驅動程序。Windwos操作系統啟動時需要很多初始化數據,這些數據保存在注冊表中。 系統啟動時,引導程序讀取注冊表來完成初始化操作。加載程序監控引導程序對 注冊表和文件系統的讀操作,在內存中修改引導程序讀取的數據。HKEY—LOCAL—MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E9 67-E325-11CE-BFQ-08002BE10318l中U卯erFilters鍵指示磁盤存儲驅動程序 的層次順序PartMgr. sys, Diskperf. sys。其中Diskperf. sys為Windows 2000 獨有。這里我們需要將內存中的UpperFilters鍵值進行修改,層次順序變為 DiskSecure. sys, PartMgr. sys, Diskperf. sys。除此之夕卜,我們還需要在內存 中的HKEY—LOCAL—MACHINE\SYSTEM\CurrentControlSet\Services鍵下面增加 DiskSecure鍵,且在HKEY—LOCAL—MACHINE\SYSTEM\CurrentControlSet\Servic es\DiskSecure鍵下增加Start, Group等鍵值并且賦予相應的值。其中Start=0表示DiskSecure. sys在計算機啟動時裝入。對內存中注冊表數據的修改生效后, 引導程序需要從文件系統獲取DiskSecure. sys文件的信息。加載程序截獲引導 程序對SYSTEM32\DRIVERS目錄信息的訪問,在內存中增加DiskSecure. sys的信 息,如文件大小、文件位置等等。當引導程序根據這些信息讀取DiskSecure. sys (DiskSecure. sys在硬盤上并不存在)時,加載程序把讀操作且重定向到USB 設備,讀取存放在USB設備隱藏扇區的DiskSecure. sys。至此,引導程序獲得 了 DiskSecure. sys的內容,并根據注冊表的指示將DiskSecure. sys裝入 Windows操作系統,如圖3所示。
權利要求
1. Windows環境下基于USB設備的硬盤加密方法,其特征在于包括一個支持從USB啟動的USB設備,一段存放在USB設備0扇區的加載程序,一段存放在USB設備隱藏扇區的硬盤加密解密程序;加載程序監控Windows操作系統通過INT13H中斷讀寫目標硬盤,完成對目標硬盤數據的加密和解密;同時在計算機啟動時把硬盤加密解密程序嵌入Windows操作系統;硬盤加密解密程序監控Windows操作系統通過驅動程序讀寫目標硬盤,完成對目標硬盤數據的加密和解密;加載程序和硬盤加密解密程序獲取USB設備的硬件序列號UID和目標硬盤的硬件序列號HID,通過函數f(UID,HID)計算出目標硬盤加密和解密需要的密鑰。
2. 如權利要求1所述的基于USB設備的硬盤加密方法,其特征在于所述 的加載程序存放在USB設備的O扇區。當計算機從USB設備啟動時,BIOS將加 載程序讀入內存執行;加載程序監控Windows操作系統通過INT13H中斷讀寫目 標硬盤,解密從目標硬盤讀取的數據,加密寫入目標硬盤的數據;同時在內存中 修改讀取的注冊表信息和文件系統信息,把硬盤加密解密程序作為磁盤過濾驅動 程序嵌入Windows操作系統。
3. 如權利要求1所述的基于USB設備的硬盤加密方法,其特征在于所述 的硬盤加密解密程序存放在USB設備的隱藏扇區;它是一個工作在Windows操作 系統內核的磁盤過濾驅動程序;當Windows操作系統放棄使用INT13H中斷改用 驅動程序讀寫目標硬盤時,硬盤加密解密程序接管對目標硬盤數據的加密和解 密。
全文摘要
本發明涉及計算機安全領域,具體的說是提供了一種防止硬盤數據泄露的方法。本發明包括一個USB設備,一段存放在USB設備O扇區的加載程序,一段存放在USB設備的隱藏扇區的硬盤加密解密程序。加載程序監控Windows操作系統通過INT13H中斷讀寫目標硬盤,完成對目標硬盤數據的加密和解密;同時在計算機啟動時把硬盤加密解密程序嵌入Windows操作系統。硬盤加密解密程序監控Windows操作系統通過驅動程序讀寫目標硬盤,完成對目標硬盤數據的加密和解密。本發明設計新穎,不需要在計算機主板和硬盤之間增加額外的硬件設備;使用成本低,僅需要一個支持從USB啟動的USB設備;使用方便,USB設備的硬件序列號和目標硬盤的硬件序列號產生加密解密需要的密鑰。該密鑰將USB設備和目標硬盤綁定為鑰匙和鎖的關系,插入匹配的USB設備即可,不需要輸入用戶名和密碼。
文檔編號G06F21/00GK101236532SQ200710119809
公開日2008年8月6日 申請日期2007年7月31日 優先權日2007年7月31日
發明者佐 王, 譚毓安 申請人:北京理工大學