專利名稱:一種磁盤全盤加密系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)系統(tǒng)安全領(lǐng)域,特別是涉及一種磁盤全盤加密系統(tǒng)及方法。
背景技術(shù):
目前,為了提高計(jì)算機(jī)系統(tǒng)的安全性,許多計(jì)算機(jī)廠家均推出了帶有各種安全措 施的電腦產(chǎn)品,如指紋鎖等,這些保密措施的原理參見圖l所示,主要由用戶提供驗(yàn)證物 (密碼、指紋鎖等),之后系統(tǒng)驗(yàn)證驗(yàn)證物是否正確,若正確,則繼續(xù)執(zhí)行,否則提示用戶重 新提供驗(yàn)證物。由于這些保密措施一般只是驗(yàn)證用戶提供的驗(yàn)證物是否正確,因而,其安全 性非常有限。對(duì)于這種類型的保密措施,只需簡單地修改系統(tǒng)運(yùn)行流程即可實(shí)現(xiàn)破解,其原 理參見圖2所示,破解后可跳過由用戶提供驗(yàn)證物(密碼、指紋鎖等)以及系統(tǒng)驗(yàn)證驗(yàn)證物 是否正確的步驟,直接繼續(xù)執(zhí)行。 因此,這些安全措施雖然能夠增加一定的安全性,但很容易被破解,即使這些安全 措施能夠做到其他用戶無法破解(從理論上看,根本無法做到),這些安全措施也有其致命 弱點(diǎn),即只能保證在沒有合法授權(quán)(如沒有合法的指紋輸入等)的情況下,其他用戶無法啟 動(dòng)計(jì)算機(jī),但無法防止存儲(chǔ)在磁盤上的數(shù)據(jù)不被泄密,其他用戶只需將該計(jì)算機(jī)上的磁盤 掛到其它計(jì)算機(jī)上,即可輕易拷貝其中的數(shù)據(jù)。這些安全措施只是限制了其他用戶使用該 計(jì)算機(jī),卻無法防止存儲(chǔ)在該計(jì)算機(jī)上數(shù)據(jù)的泄密。
發(fā)明內(nèi)容
本發(fā)明提供了一種磁盤全盤加密系統(tǒng)及方法,用以解決現(xiàn)有計(jì)算機(jī)系統(tǒng)的保密措 施只是限制了其他用戶使用計(jì)算機(jī),卻無法防止存儲(chǔ)在該計(jì)算機(jī)上的數(shù)據(jù)泄密的問題。
本發(fā)明的磁盤全盤加密系統(tǒng),包括攔截單元,用于攔截對(duì)本地磁盤的數(shù)據(jù)讀寫請(qǐng) 求;獲取單元,用于獲取用戶提供的驗(yàn)證物;加密解密單元,用于通過驗(yàn)證物對(duì)所述讀請(qǐng)求 指向的文件解密,以及對(duì)所述寫請(qǐng)求指向的文件加密;數(shù)據(jù)存取單元,用于從本地磁盤讀取 所述讀請(qǐng)求指向的未解密文件,并交由加密解密單元解密;以及向本地磁盤寫入所述寫請(qǐng) 求指向的經(jīng)加密解密單元加密后的文件。
本發(fā)明的磁盤全盤加密方法,包括下列步驟攔截步驟攔截對(duì)本地磁盤的數(shù)據(jù) 讀寫請(qǐng)求;獲取步驟獲取用戶提供的驗(yàn)證物;加密解密步驟通過驗(yàn)證物對(duì)所述讀請(qǐng)求指 向的文件解密,以及對(duì)所述寫請(qǐng)求指向的文件加密;存取步驟從本地磁盤讀取所述讀請(qǐng) 求指向的未解密文件;以及向本地磁盤寫入所述寫請(qǐng)求指向的經(jīng)加密后的文件。
本發(fā)明有益效果如下 由于本發(fā)明提出了攔截對(duì)本地磁盤讀寫請(qǐng)求的機(jī)制,并在攔截后,通過用戶提供 的驗(yàn)證物對(duì)讀取的文件解密,以及對(duì)寫入的文件加密,從而實(shí)現(xiàn)本地磁盤的全盤加密,進(jìn)而 防止了本地磁盤數(shù)據(jù)的泄露。
圖1為現(xiàn)有計(jì)算機(jī)保密措施的原理圖; 圖2為現(xiàn)有破解計(jì)算機(jī)保密措施的原理圖; 圖3為本發(fā)明實(shí)施例1的系統(tǒng)結(jié)構(gòu)示意圖; 圖4為本發(fā)明實(shí)施例4的步驟流程圖; 圖5為本發(fā)明實(shí)施例5的流程圖; 圖6為本發(fā)明實(shí)施例6的流程圖。
具體實(shí)施例方式
為了防止存儲(chǔ)在計(jì)算機(jī)上的數(shù)據(jù)泄密,本發(fā)明提供了一種磁盤全盤加密系統(tǒng)及方 法,主要原理是通過攔截操作系統(tǒng)或應(yīng)用軟件等對(duì)磁盤數(shù)據(jù)的讀寫請(qǐng)求,實(shí)現(xiàn)對(duì)磁盤數(shù)據(jù) 的實(shí)時(shí)加密和解密操作,當(dāng)系統(tǒng)向磁盤寫入數(shù)據(jù)時(shí),首先獲得控制權(quán),以用戶輸入的密碼或 其它驗(yàn)證物對(duì)要寫入的數(shù)據(jù)進(jìn)行加密操作,然后將加密后的數(shù)據(jù)寫入磁盤的指定位置,反 之,當(dāng)程序讀取磁盤數(shù)據(jù)時(shí),同樣能夠獲得優(yōu)先控制權(quán),到磁盤的指定位置讀取加密數(shù)據(jù)并 根據(jù)用戶輸入的密碼或其它驗(yàn)證物進(jìn)行解密操作,然后將解密后的數(shù)據(jù)提交給相應(yīng)的程 序。這樣,在操作系統(tǒng)或應(yīng)用軟件看來,磁盤上存儲(chǔ)的數(shù)據(jù)和未加密時(shí)的數(shù)據(jù)完全一樣,能 夠以正常的方式直接使用。同樣,用戶也感覺不到本發(fā)明系統(tǒng)及方法的存在,可以不改變?nèi)?何習(xí)慣而直接使用計(jì)算機(jī)。以下通過若干實(shí)施例詳細(xì)說明。 實(shí)施例1 :本實(shí)施例提供的系統(tǒng),參見圖3所示,包括攔截單元、獲取單元、加密解 密單元和數(shù)據(jù)存取單元。 攔截單元,用于攔截對(duì)本地磁盤的數(shù)據(jù)讀寫請(qǐng)求。
獲取單元,用于獲取用戶提供的驗(yàn)證物。 加密解密單元,用于通過驗(yàn)證物對(duì)讀請(qǐng)求指向的文件解密,以及對(duì)寫請(qǐng)求指向的 文件加密。 數(shù)據(jù)存取單元,用于從本地磁盤讀取讀請(qǐng)求指向的未解密文件,并交由加密解密
單元解密;以及向本地磁盤寫入寫請(qǐng)求指向的經(jīng)加密解密單元加密后的文件。
實(shí)施例2 :基于上述實(shí)施例1,以流程的方式詳述在計(jì)算機(jī)啟動(dòng)過程中,各個(gè)單元
的處理過程。 首先、在計(jì)算機(jī)啟動(dòng)后,會(huì)加載操作系統(tǒng)程序,即向本地磁盤發(fā)出讀請(qǐng)求,指向操 作系統(tǒng)文件。此時(shí)攔截單元會(huì)攔截該讀請(qǐng)求,并提示用戶輸入密碼,在密碼輸入階段,雖然 類似于現(xiàn)有技術(shù)的表象,但其驗(yàn)證密碼的主要目的并不是阻止其他人使用該計(jì)算機(jī),而是 將該密碼作為驗(yàn)證物用于后續(xù)的解密過程。 其次,用戶輸入密碼后,獲取單元獲取該密碼并作為驗(yàn)證物。 其后,數(shù)據(jù)存取單元從本地磁盤讀取未解密的操作系統(tǒng)文件,并交由加密解密單 元解密。 之后,加密解密單元對(duì)獲取單元獲取的驗(yàn)證物作單向散列運(yùn)算,得到散列值。并用 該散列值以預(yù)設(shè)的加密解密策略(即磁盤級(jí)或文件級(jí)的解密方式)對(duì)未解密的操作系統(tǒng)文 件進(jìn)行解密。 最后,若用戶輸入的密碼與最初加密操作系統(tǒng)文件所用密碼一致(即散列值一致),則可完整還原操作系統(tǒng)文件,進(jìn)而成功加載操作系統(tǒng),實(shí)現(xiàn)計(jì)算機(jī)正常開機(jī);否則,由
于密碼不一致,還原的操作系統(tǒng)文件為亂碼(或不可用),導(dǎo)致無法正常開機(jī)。 實(shí)施例3、接續(xù)實(shí)施例2,在計(jì)算機(jī)正常啟動(dòng)后,用戶向本地磁盤存儲(chǔ)影音文件時(shí)
各個(gè)單元的處理過程。 首先、用戶向本地磁盤拷貝影音文件,此時(shí)攔截單元會(huì)攔截該寫請(qǐng)求。 其次,獲取單元以正常啟動(dòng)計(jì)算機(jī)時(shí)用戶提供的密碼作為驗(yàn)證物。 其后,加密解密單元對(duì)該驗(yàn)證物作單向散列運(yùn)算,得到散列值。并用該散列值以預(yù)
設(shè)的加密解密策略(即磁盤級(jí)或文件級(jí)的解密方式)對(duì)未加密的影音文件進(jìn)行加密。 之后,數(shù)據(jù)存取單元向本地磁盤的指定位置寫入經(jīng)由加密解密單元加密后的影音文件。 最后,本地磁盤存儲(chǔ)加密后的影音文件,以備后續(xù)調(diào)用。
實(shí)施例4、本實(shí)施例的方法,參見圖4所示,包括下列主要步驟
Sl、攔截對(duì)本地磁盤的數(shù)據(jù)讀寫請(qǐng)求。
S2 、獲取用戶提供的驗(yàn)證物。 S3、通過驗(yàn)證物對(duì)讀請(qǐng)求指向的文件解密,以及對(duì)寫請(qǐng)求指向的文件加密。 S4、從本地磁盤讀取讀請(qǐng)求指向的未解密文件;以及向本地磁盤寫入所述寫請(qǐng)求
指向的經(jīng)加密后的文件。 實(shí)施例5、基于上述實(shí)施例4,以流程的方式詳述計(jì)算機(jī)啟動(dòng)過程。
在計(jì)算機(jī)上安裝了本發(fā)明的系統(tǒng)后,會(huì)執(zhí)行本發(fā)明方法的流程,相應(yīng)的計(jì)算機(jī)的 啟動(dòng)過程會(huì)被改變,本實(shí)施例中稱本發(fā)明系統(tǒng)為Disk Lock。參見圖5所示,計(jì)算機(jī)的實(shí)際 啟動(dòng)過程如下 首先、在啟動(dòng)計(jì)算機(jī)的初始階段,即在調(diào)用操作系統(tǒng)文件之前,先執(zhí)行Disk Lock。
其次、Disk Lock要求用戶輸入密碼。在密碼輸入階段,雖然類似于現(xiàn)有技術(shù)的表 象,但其驗(yàn)證密碼的主要目的并不是阻止其他人使用該計(jì)算機(jī),而是將該密碼作為驗(yàn)證物 用于后續(xù)的解密過程。 其后、將用戶輸入的密碼作單向散列運(yùn)算,得到散列值。 之后,判斷上述得到散列值與本地磁盤存儲(chǔ)的散列值是否相同。如果相同,則讀取 未解密的操作系統(tǒng)文件后,用該散列值以預(yù)設(shè)的加密解密策略(即磁盤級(jí)或文件級(jí)的解密 方式)對(duì)未解密的操作系統(tǒng)文件進(jìn)行解密,可完整還原操作系統(tǒng)文件,進(jìn)而成功加載操作 系統(tǒng),實(shí)現(xiàn)計(jì)算機(jī)正常開機(jī),用戶可正常使用該計(jì)算機(jī);如果不同,則讀取未解密的操作系 統(tǒng)文件后,用該散列值以預(yù)設(shè)的加密解密策略(即磁盤級(jí)或文件級(jí)的解密方式)對(duì)未解密 的操作系統(tǒng)文件進(jìn)行解密,還原的操作系統(tǒng)文件為亂碼(或不可用),導(dǎo)致無法正常開機(jī), 用戶只能重新啟動(dòng)計(jì)算機(jī),重復(fù)上述步驟。 實(shí)施例6、接續(xù)實(shí)施例5,在計(jì)算機(jī)正常啟動(dòng)后,用戶向本地磁盤讀寫純文本文件 時(shí)的過程。 在計(jì)算機(jī)上安裝了本發(fā)明的系統(tǒng)后,會(huì)執(zhí)行本發(fā)明方法的流程,相應(yīng)的本地磁盤 讀寫過程會(huì)被改變,本實(shí)施例中稱本發(fā)明系統(tǒng)為Disk Lock。參見圖6所示,讀寫過程如下
首先、用戶通過應(yīng)用程序向本地磁盤拷貝純文本文件。 其次,上述純文本文件作為明文數(shù)據(jù),經(jīng)操作系統(tǒng)處理后,提交寫入本地磁盤的請(qǐng)求。
其后,Disk Lock攔截上述寫入請(qǐng)求,以正常啟動(dòng)計(jì)算機(jī)時(shí)用戶輸入的密碼作為驗(yàn)
證物,并對(duì)該驗(yàn)證物作單向散列運(yùn)算,得到散列值。用該散列值以預(yù)設(shè)的加密解密策略(即
磁盤級(jí)或文件級(jí)的解密方式)對(duì)未加密的純文本文件進(jìn)行加密,得到密文數(shù)據(jù)。 之后,向本地磁盤的指定位置寫入上述密文數(shù)據(jù)。 最后,本地磁盤存儲(chǔ)該密文數(shù)據(jù),以備后續(xù)調(diào)用上述純文本文件。
讀取純文本文件的流程與上述內(nèi)容相應(yīng),包括讀取密文數(shù)據(jù);攔截并解密為明
文數(shù)據(jù);經(jīng)由操作系統(tǒng)處理后,由應(yīng)用軟件向用戶提供純文本文件的過程。在此不再贅述。 上述各個(gè)實(shí)施例中涉及的加密算法,有多種加密算法供用戶選擇,根據(jù)現(xiàn)代密碼
學(xué)的原理我們可知,在沒有密鑰的情況下,即使破解者在知道加密算法等各種前提下,要想
解密加密后的數(shù)據(jù),也是非常困難的,當(dāng)用戶設(shè)置的密鑰長度達(dá)到16個(gè)字符以上時(shí),在現(xiàn)
有計(jì)算機(jī)運(yùn)算速度的條件下,從理論上分析,要想解密加密后的數(shù)據(jù),所需的時(shí)間也是以
百萬年為計(jì)數(shù)單位的。所以本發(fā)明可確保本地磁盤的讀寫安全。 上述各個(gè)實(shí)施例中對(duì)磁盤數(shù)據(jù)的加密,從加密的層次上來劃分,有磁盤級(jí)(扇區(qū) 級(jí))加密方法和文件級(jí)加密方法兩大類。各實(shí)施例優(yōu)選磁盤級(jí)的加密,這一級(jí)別的加密方 法與文件級(jí)別的加密方式相比,主要優(yōu)點(diǎn)是加密強(qiáng)度高,安全性好。由于這一級(jí)別的加 密方式直接對(duì)磁盤物理扇區(qū)進(jìn)行加密,不考慮文件等存儲(chǔ)數(shù)據(jù)的邏輯概念,在這種加密方 式下,任何存儲(chǔ)在磁盤上的數(shù)據(jù)均是加密的。操作系統(tǒng)一般會(huì)在臨時(shí)目錄等地方臨時(shí)存儲(chǔ) 這些文件的備份文件,雖然一般情況下,這些臨時(shí)文件在使用后均會(huì)被刪除,但由于各種原 因,系統(tǒng)在創(chuàng)建臨時(shí)文件后,有可能會(huì)遺漏臨時(shí)文件而沒有及時(shí)刪除這些臨時(shí)文件。另外, 從理論上來說,即使臨時(shí)文件被刪除,只要這些臨時(shí)文件存儲(chǔ)的數(shù)據(jù)區(qū)沒有被覆蓋或做過 加密處理等操作,就能容易地通過反刪除等手段重新獲得,因此,采用磁盤級(jí)的加密方式要 較文件級(jí)的加密方式安全。 綜上,在密碼輸入階段,雖然提供了類似于現(xiàn)有技術(shù)的表象,但其驗(yàn)證密碼的主要 目的并不是想阻止其他人使用該計(jì)算機(jī)。即使其他用戶通過修改計(jì)算機(jī)啟動(dòng)流程,實(shí)現(xiàn)了 不需輸入密碼即可繼續(xù)執(zhí)行的目的,但由于沒有正確的密碼,系統(tǒng)會(huì)用不正確的密碼去解 密磁盤數(shù)據(jù),在這種情況下,"解密"后的數(shù)據(jù)只會(huì)更混亂(因?yàn)橛貌徽_的密碼去解密相當(dāng) 于用這個(gè)不正確的密碼去加密),因此,通過修改流程的方法是無法破解的。
由于磁盤數(shù)據(jù)被加密,要想使用磁盤數(shù)據(jù),必須對(duì)其進(jìn)行解密操作,為方便用戶操 作和不改變用戶的計(jì)算機(jī)使用習(xí)慣,本發(fā)明采用的是動(dòng)態(tài)加密和解密的方法。在具體實(shí)現(xiàn) 中,在操作系統(tǒng)和磁盤之間安裝了一個(gè)數(shù)據(jù)加密和解密程序,該程序不需要用戶的干預(yù),自 動(dòng)對(duì)存儲(chǔ)到磁盤的數(shù)據(jù)作加密運(yùn)算,對(duì)從磁盤讀取的數(shù)據(jù)做解密操作,用戶在正常使用計(jì) 算機(jī)的時(shí)候,根本感覺不到異常。 顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
一種磁盤全盤加密系統(tǒng),其特征在于,包括攔截單元,用于攔截對(duì)本地磁盤的數(shù)據(jù)讀寫請(qǐng)求;獲取單元,用于獲取用戶提供的驗(yàn)證物;加密解密單元,用于通過驗(yàn)證物對(duì)所述讀請(qǐng)求指向的文件解密,以及對(duì)所述寫請(qǐng)求指向的文件加密;數(shù)據(jù)存取單元,用于從本地磁盤讀取所述讀請(qǐng)求指向的未解密文件,并交由加密解密單元解密;以及向本地磁盤寫入所述寫請(qǐng)求指向的經(jīng)加密解密單元加密后的文件。
2. 如權(quán)利要求1所述的磁盤全盤加密系統(tǒng),其特征在于,加密解密單元對(duì)寫入本地磁 盤的數(shù)據(jù)進(jìn)行磁盤級(jí)或文件級(jí)的加密;相應(yīng)的,加密解密單元對(duì)讀出本地磁盤的數(shù)據(jù)進(jìn)行 磁盤級(jí)或文件級(jí)的解密。
3. 如權(quán)利要求1所述的磁盤全盤加密系統(tǒng),其特征在于,加密解密單元對(duì)獲取單元獲 取的驗(yàn)證物作單向散列運(yùn)算,并以得到的散列值進(jìn)行加密解密操作。
4. 如權(quán)利要求1所述的磁盤全盤加密系統(tǒng),其特征在于,獲取單元獲取的驗(yàn)證物是在 系統(tǒng)啟動(dòng)時(shí)由用戶提供。
5. —種磁盤全盤加密方法,其特征在于,包括下列步驟 攔截步驟攔截對(duì)本地磁盤的數(shù)據(jù)讀寫請(qǐng)求; 獲取步驟獲取用戶提供的驗(yàn)證物;加密解密步驟通過驗(yàn)證物對(duì)所述讀請(qǐng)求指向的文件解密,以及對(duì)所述寫請(qǐng)求指向的 文件加密;存取步驟從本地磁盤讀取所述讀請(qǐng)求指向的未解密文件;以及向本地磁盤寫入所述 寫請(qǐng)求指向的經(jīng)加密后的文件。
6. 如權(quán)利要求1所述的磁盤全盤加密方法,其特征在于,加密解密步驟中,對(duì)寫入本地 磁盤的數(shù)據(jù)進(jìn)行磁盤級(jí)或文件級(jí)的加密;相應(yīng)的,對(duì)讀出本地磁盤的數(shù)據(jù)進(jìn)行磁盤級(jí)或文 件級(jí)的解密。
7. 如權(quán)利要求1所述的磁盤全盤加密方法,其特征在于,加密解密步驟中,對(duì)所述獲取 的驗(yàn)證物作單向散列運(yùn)算,并以得到的散列值進(jìn)行加密解密操作。
8. 如權(quán)利要求1所述的磁盤全盤加密方法,其特征在于,獲取步驟中,所述獲取的驗(yàn)證 物是在系統(tǒng)啟動(dòng)時(shí)由用戶提供。
全文摘要
本發(fā)明公開了一種磁盤全盤加密系統(tǒng)及方法,涉及計(jì)算機(jī)系統(tǒng)安全領(lǐng)域,用以解決現(xiàn)有計(jì)算機(jī)系統(tǒng)的保密措施只是限制了其他用戶使用計(jì)算機(jī),卻無法防止存儲(chǔ)在該計(jì)算機(jī)上的數(shù)據(jù)泄密的問題。系統(tǒng)包括攔截單元,獲取單元,加密解密單元,數(shù)據(jù)存取單元。方法包括攔截步驟,獲取步驟,加密解密步驟,存取步驟。由于本發(fā)明提出了攔截對(duì)本地磁盤讀寫請(qǐng)求的機(jī)制,并在攔截后,通過用戶提供的驗(yàn)證物對(duì)讀取的文件解密,以及對(duì)寫入的文件加密,從而實(shí)現(xiàn)本地磁盤的全盤加密,進(jìn)而防止了本地磁盤數(shù)據(jù)的泄露。
文檔編號(hào)G06F12/14GK101763319SQ20101001942
公開日2010年6月30日 申請(qǐng)日期2010年1月15日 優(yōu)先權(quán)日2010年1月15日
發(fā)明者柯宗慶, 柯宗貴 申請(qǐng)人:藍(lán)盾信息安全技術(shù)股份有限公司