本發(fā)明涉及信息安全技術領域,特別涉及一種實現(xiàn)移動存儲設備保護的方法及系統(tǒng)。
背景技術:
隨著計算機信息以及存儲技術的快速發(fā)展,移動存儲設備已成為人們?nèi)粘V械囊环N重要的存儲設備。通過將文件存放到移動存儲設備來進行傳遞,可以使文件的傳遞變得十分方便、快捷;但同時也很容易引發(fā)數(shù)據(jù)安全問題,因為通常移動存儲設備都不具備加密和身份認證功能,移動存儲設備內(nèi)的數(shù)據(jù)很容易被竊取。
現(xiàn)有技術中對移動存儲設備的保護措施主要包括:通過秘鑰對移動存儲設備數(shù)據(jù)進行軟加密,或者利用證書對移動存儲設備進行身份認證。但現(xiàn)有的移動存儲設備保護措施存在有以下缺陷:1、秘鑰是無保護功能的,直接暴露在外部,很容易被惡意程序竊取;2、對移動存儲設備數(shù)據(jù)的加解密過程也暴露在外部,使用起來也不安全;3、利用軟件算法對移動存儲設備的大量數(shù)據(jù)進行加密,速度較慢,需要花費較多時間。
技術實現(xiàn)要素:
本發(fā)明要解決的技術問題之一,在于提供一種實現(xiàn)移動存儲設備保護的方法,該方法采用過濾驅(qū)動與可信平臺模塊相結合來實現(xiàn)對移動存儲設備的保護,可以大大增加移動存儲設備使用的安全性。
本發(fā)明是這樣實現(xiàn)技術問題之一的:一種實現(xiàn)移動存儲設備保護的方法,所述方法包括如下步驟:
步驟1、通過計算機的可信平臺模塊生成密鑰和證書,將證書寫入到移動存儲設備的獨立分區(qū),將密鑰存儲在可信平臺模塊中;
步驟2、將移動存儲設備插入計算機進行掛載,從移動存儲設備獲取證書并發(fā)送到可信平臺模塊進行身份認證;
步驟3、將對移動存儲設備的讀寫操作數(shù)據(jù)先發(fā)送到可信平臺模塊中進行加解密,然后執(zhí)行對移動存儲設備的讀寫操作。
進一步地,所述步驟2具體為:
將移動存儲設備插入到計算機進行掛載,移動存儲設備過濾驅(qū)動程序從移動存儲設備的獨立分區(qū)中獲取證書,并將證書發(fā)送到可信平臺模塊進行身份認證,且如果可信平臺模塊認證成功,則正常掛載移動存儲設備;如果可信平臺模塊認證失敗,則卸載移動存儲設備。
進一步地,所述“如果可信平臺模塊認證失敗,則卸載移動存儲設備”為:
如果可信平臺模塊認證失敗,則通過系統(tǒng)監(jiān)控程序?qū)碛泄芾頇嘞薜挠脩籼崾臼欠駥σ苿哟鎯υO備添加信任,若是,則將證書寫入到移動存儲設備的獨立分區(qū)中,并正常掛載移動存儲設備;若否,則卸載移動存儲設備。
進一步地,所述步驟3具體包括:
步驟31、對移動存儲設備發(fā)起操作請求,通過USB Mass Storage驅(qū)動程序判斷發(fā)出的是讀取數(shù)據(jù)請求還是寫入數(shù)據(jù)請求,如果是讀取數(shù)據(jù)請求,則進入步驟32;如果是寫入數(shù)據(jù)請求,則進入步驟33;
步驟32、USB Mass Storage驅(qū)動程序?qū)⒆x取數(shù)據(jù)請求發(fā)送給USB總線驅(qū)動程序,USB總線驅(qū)動程序從移動存儲設備中獲取請求讀取的數(shù)據(jù),并將請求讀取的數(shù)據(jù)返回給移動存儲設備過濾驅(qū)動程序,由移動存儲設備過濾驅(qū)動程序?qū)⒄埱笞x取的數(shù)據(jù)發(fā)送到可信平臺模塊進行解密處理;完成解密后,將解密的數(shù)據(jù)發(fā)送給USB Mass Storage驅(qū)動程序,并由USB Mass Storage驅(qū)動程序?qū)⒔饷艿臄?shù)據(jù)顯示到計算機中;
步驟33、移動存儲設備過濾驅(qū)動程序從USB Mass Storage驅(qū)動程序中截取請求寫入的數(shù)據(jù),并將請求寫入的數(shù)據(jù)發(fā)送到可信平臺模塊進行加密處理;完成加密后,將加密的數(shù)據(jù)發(fā)送給USB總線驅(qū)動程序,并由USB總線驅(qū)動程序?qū)⒓用艿臄?shù)據(jù)寫入到移動存儲設備中。
本發(fā)明要解決的技術問題之二,在于提供一種實現(xiàn)移動存儲設備保護的系統(tǒng),該系統(tǒng)采用過濾驅(qū)動與可信平臺模塊相結合來實現(xiàn)對移動存儲設備的保護,可以大大增加移動存儲設備使用的安全性。
本發(fā)明是這樣實現(xiàn)技術問題之二的:一種實現(xiàn)移動存儲設備保護的系統(tǒng),所述包括秘鑰證書生成模塊、身份認證模塊以及數(shù)據(jù)讀寫模塊;
所述秘鑰證書生成模塊,用于通過計算機的可信平臺模塊生成密鑰和證書,將證書寫入到移動存儲設備的獨立分區(qū),將密鑰存儲在可信平臺模塊中;
所述身份認證模塊,用于將移動存儲設備插入計算機進行掛載,從移動存儲設備獲取證書并發(fā)送到可信平臺模塊進行身份認證;
所述數(shù)據(jù)讀寫模塊,用于將對移動存儲設備的讀寫操作數(shù)據(jù)先發(fā)送到可信平臺模塊中進行加解密,然后執(zhí)行對移動存儲設備的讀寫操作。
進一步地,所述身份認證模塊具體為:
將移動存儲設備插入到計算機進行掛載,移動存儲設備過濾驅(qū)動程序從移動存儲設備的獨立分區(qū)中獲取證書,并將證書發(fā)送到可信平臺模塊進行身份認證,且如果可信平臺模塊認證成功,則正常掛載移動存儲設備;如果可信平臺模塊認證失敗,則卸載移動存儲設備。
進一步地,所述“如果可信平臺模塊認證失敗,則卸載移動存儲設備”為:
如果可信平臺模塊認證失敗,則通過系統(tǒng)監(jiān)控程序?qū)碛泄芾頇嘞薜挠脩籼崾臼欠駥σ苿哟鎯υO備添加信任,若是,則將證書寫入到移動存儲設備的獨立分區(qū)中,并正常掛載移動存儲設備;若否,則卸載移動存儲設備。
進一步地,所述數(shù)據(jù)讀寫模塊具體包括請求判斷單元、數(shù)據(jù)讀取單元以及數(shù)據(jù)寫入單元;
所述請求判斷單元,用于對移動存儲設備發(fā)起操作請求,通過USB Mass Storage驅(qū)動程序判斷發(fā)出的是讀取數(shù)據(jù)請求還是寫入數(shù)據(jù)請求,如果是讀取數(shù)據(jù)請求,則進入所述數(shù)據(jù)讀取單元;如果是寫入數(shù)據(jù)請求,則進入所述數(shù)據(jù)寫入單元;
所述數(shù)據(jù)讀取單元,用于USB Mass Storage驅(qū)動程序?qū)⒆x取數(shù)據(jù)請求發(fā)送給USB總線驅(qū)動程序,USB總線驅(qū)動程序從移動存儲設備中獲取請求讀取的數(shù)據(jù),并將請求讀取的數(shù)據(jù)返回給移動存儲設備過濾驅(qū)動程序,由移動存儲設備過濾驅(qū)動程序?qū)⒄埱笞x取的數(shù)據(jù)發(fā)送到可信平臺模塊進行解密處理;完成解密后,將解密的數(shù)據(jù)發(fā)送給USB Mass Storage驅(qū)動程序,并由USB Mass Storage驅(qū)動程序?qū)⒔饷艿臄?shù)據(jù)顯示到計算機中;
所述數(shù)據(jù)寫入單元,用于移動存儲設備過濾驅(qū)動程序從USB Mass Storage驅(qū)動程序中截取請求寫入的數(shù)據(jù),并將請求寫入的數(shù)據(jù)發(fā)送到可信平臺模塊進行加密處理;完成加密后,將加密的數(shù)據(jù)發(fā)送給USB總線驅(qū)動程序,并由USB總線驅(qū)動程序?qū)⒓用艿臄?shù)據(jù)寫入到移動存儲設備中。
本發(fā)明具有如下優(yōu)點:1、移動存儲設備在接入計算機系統(tǒng)時,可信平臺模塊會對移動存儲設備進行證書認證,且如果認證失敗,就將移動存儲設備卸載掉,即可以有效攔截非法移動存儲設備的接入;2、移動存儲設備加解密的密鑰受可信平臺模塊保護,可以確保密鑰的安全性,防止密鑰被非法竊?。?、采用硬件加密引擎來對數(shù)據(jù)進行加密,在同樣的算法下,其加密速度將遠遠優(yōu)于軟件加密;4、在使用時,用戶或者上層應用程序不能夠感知到存儲在移動存儲設備內(nèi)的文件是被加密的,看起來與正常的移動存儲設備(即無加解密功能的移動存儲設備)沒任何區(qū)別,使用起來極其方便。
附圖說明
下面參照附圖結合實施例對本發(fā)明作進一步的說明。
圖1為本發(fā)明一種實現(xiàn)移動存儲設備保護的方法的原理框圖。
圖2為本發(fā)明一種實現(xiàn)移動存儲設備保護的方法的具體實施流程框圖。
圖3為本發(fā)明一種實現(xiàn)移動存儲設備保護的系統(tǒng)的結構框圖。
具體實施方式
請參照圖1和圖2所示,一種實現(xiàn)移動存儲設備保護的方法,所述方法包括如下步驟:
步驟1、通過計算機的可信平臺模塊(TPM)生成密鑰和證書,將證書寫入到移動存儲設備(例如U盤)的獨立分區(qū),在掛載移動存儲設備時可以通過證書來對移動存儲設備進行身份認證,將密鑰存儲在可信平臺模塊中,這可以使密鑰受到可信平臺模塊的保護,確保密鑰的安全性;
步驟2、將移動存儲設備插入計算機進行掛載,從移動存儲設備獲取證書并發(fā)送到可信平臺模塊進行身份認證;
該步驟2具體為:
將移動存儲設備插入到計算機進行掛載,移動存儲設備過濾驅(qū)動程序從移動存儲設備的獨立分區(qū)中獲取證書,并將證書發(fā)送到可信平臺模塊進行身份認證,且如果可信平臺模塊認證成功,則正常掛載移動存儲設備;如果可信平臺模塊認證失敗,則卸載移動存儲設備。這里通過移動存儲設備過濾驅(qū)動程序獲取證書并發(fā)送給可信平臺模塊進行身份認證,可以有效攔截非法移動存儲設備的接入,確保數(shù)據(jù)的安全。
為了方便管理,具有管理權限的用戶還可以通過系統(tǒng)監(jiān)控程序?qū)χ付ǖ囊苿哟鎯υO備添加信任,在此時,所述“如果可信平臺模塊認證失敗,則卸載移動存儲設備”可以替換為:
如果可信平臺模塊認證失敗,則通過系統(tǒng)監(jiān)控程序(系統(tǒng)監(jiān)控程序可以對接入的移動存儲設備進行實時監(jiān)控,以判斷接入的移動存儲設備是否添加了信任)對擁有管理權限的用戶提示是否對移動存儲設備添加信任,若是,則將證書寫入到移動存儲設備的獨立分區(qū)中,并正常掛載移動存儲設備;若否,則卸載移動存儲設備。
步驟3、將對移動存儲設備的讀寫操作數(shù)據(jù)先發(fā)送到可信平臺模塊中進行加解密,然后執(zhí)行對移動存儲設備的讀寫操作。
該步驟3具體包括:
步驟31、在移動存儲設備正常掛載后,用戶就可以對移動存儲設備發(fā)起操作請求,且通過USB Mass Storage驅(qū)動程序判斷發(fā)出的是讀取數(shù)據(jù)請求還是寫入數(shù)據(jù)請求,如果是讀取數(shù)據(jù)請求,則進入步驟32;如果是寫入數(shù)據(jù)請求,則進入步驟33;
步驟32、USB Mass Storage驅(qū)動程序?qū)⒆x取數(shù)據(jù)請求發(fā)送給USB總線驅(qū)動程序,USB總線驅(qū)動程序(bus driver)從移動存儲設備中獲取請求讀取的數(shù)據(jù),并將請求讀取的數(shù)據(jù)返回給移動存儲設備過濾驅(qū)動程序,由移動存儲設備過濾驅(qū)動程序?qū)⒄埱笞x取的數(shù)據(jù)發(fā)送到可信平臺模塊進行解密處理;完成解密后,將解密的數(shù)據(jù)發(fā)送給USB Mass Storage驅(qū)動程序,并由USB Mass Storage驅(qū)動程序?qū)⒔饷艿臄?shù)據(jù)顯示到計算機中;
步驟33、移動存儲設備過濾驅(qū)動程序從USB Mass Storage驅(qū)動程序中截取請求寫入的數(shù)據(jù),并將請求寫入的數(shù)據(jù)發(fā)送到可信平臺模塊進行加密處理,且采用硬件加密引擎來執(zhí)行具體的加密工作;完成加密后,將加密的數(shù)據(jù)發(fā)送給USB總線驅(qū)動程序,并由USB總線驅(qū)動程序?qū)⒓用艿臄?shù)據(jù)寫入到移動存儲設備中。
請重點參照圖1和圖3所示,一種實現(xiàn)移動存儲設備保護的系統(tǒng),所述包括秘鑰證書生成模塊、身份認證模塊以及數(shù)據(jù)讀寫模塊;
所述秘鑰證書生成模塊,用于通過計算機的可信平臺模塊生成密鑰和證書,將證書寫入到移動存儲設備的獨立分區(qū),在掛載移動存儲設備時可以通過證書來對移動存儲設備進行身份認證,將密鑰存儲在可信平臺模塊中,這可以使密鑰受到可信平臺模塊的保護,確保密鑰的安全性;
所述身份認證模塊,用于將移動存儲設備插入計算機進行掛載,從移動存儲設備獲取證書并發(fā)送到可信平臺模塊進行身份認證;
該身份認證模塊具體為:
將移動存儲設備插入到計算機進行掛載,移動存儲設備過濾驅(qū)動程序從移動存儲設備的獨立分區(qū)中獲取證書,并將證書發(fā)送到可信平臺模塊進行身份認證,且如果可信平臺模塊認證成功,則正常掛載移動存儲設備;如果可信平臺模塊認證失敗,則卸載移動存儲設備。這里通過移動存儲設備過濾驅(qū)動程序獲取證書并發(fā)送給可信平臺模塊進行身份認證,可以有效攔截非法移動存儲設備的接入,確保數(shù)據(jù)的安全。
為了方便管理,具有管理權限的用戶還可以通過系統(tǒng)監(jiān)控程序?qū)χ付ǖ囊苿哟鎯υO備添加信任,在此時,所述“如果可信平臺模塊認證失敗,則卸載移動存儲設備”可以替換為:
如果可信平臺模塊認證失敗,則通過系統(tǒng)監(jiān)控程序(系統(tǒng)監(jiān)控程序可以對接入的移動存儲設備進行實時監(jiān)控,以判斷接入的移動存儲設備是否添加了信任)對擁有管理權限的用戶提示是否對移動存儲設備添加信任,若是,則將證書寫入到移動存儲設備的獨立分區(qū)中,并正常掛載移動存儲設備;若否,則卸載移動存儲設備。
所述數(shù)據(jù)讀寫模塊,用于將對移動存儲設備的讀寫操作數(shù)據(jù)先發(fā)送到可信平臺模塊中進行加解密,然后執(zhí)行對移動存儲設備的讀寫操作。該數(shù)據(jù)讀寫模塊具體包括請求判斷單元、數(shù)據(jù)讀取單元以及數(shù)據(jù)寫入單元;
所述請求判斷單元,用于在移動存儲設備正常掛載后,用戶就可以對移動存儲設備發(fā)起操作請求,且通過USB Mass Storage驅(qū)動程序判斷發(fā)出的是讀取數(shù)據(jù)請求還是寫入數(shù)據(jù)請求,如果是讀取數(shù)據(jù)請求,則進入所述數(shù)據(jù)讀取單元;如果是寫入數(shù)據(jù)請求,則進入所述數(shù)據(jù)寫入單元;
所述數(shù)據(jù)讀取單元,用于USB Mass Storage驅(qū)動程序?qū)⒆x取數(shù)據(jù)請求發(fā)送給USB總線驅(qū)動程序,USB總線驅(qū)動程序(bus driver)從移動存儲設備中獲取請求讀取的數(shù)據(jù),并將請求讀取的數(shù)據(jù)返回給移動存儲設備過濾驅(qū)動程序,由移動存儲設備過濾驅(qū)動程序?qū)⒄埱笞x取的數(shù)據(jù)發(fā)送到可信平臺模塊進行解密處理;完成解密后,將解密的數(shù)據(jù)發(fā)送給USB Mass Storage驅(qū)動程序,并由USB Mass Storage驅(qū)動程序?qū)⒔饷艿臄?shù)據(jù)顯示到計算機中;
所述數(shù)據(jù)寫入單元,用于移動存儲設備過濾驅(qū)動程序從USB Mass Storage驅(qū)動程序中截取請求寫入的數(shù)據(jù),并將請求寫入的數(shù)據(jù)發(fā)送到可信平臺模塊進行加密處理,且采用硬件加密引擎來執(zhí)行具體的加密工作;完成加密后,將加密的數(shù)據(jù)發(fā)送給USB總線驅(qū)動程序,并由USB總線驅(qū)動程序?qū)⒓用艿臄?shù)據(jù)寫入到移動存儲設備中。
總之,本發(fā)明具有如下優(yōu)點:1、移動存儲設備在接入計算機系統(tǒng)時,可信平臺模塊會對移動存儲設備進行證書認證,且如果認證失敗,就將移動存儲設備卸載掉,即可以有效攔截非法移動存儲設備的接入;2、移動存儲設備加解密的密鑰受可信平臺模塊保護,可以確保密鑰的安全性,防止密鑰被非法竊?。?、采用硬件加密引擎來對數(shù)據(jù)進行加密,在同樣的算法下,其加密速度將遠遠優(yōu)于軟件加密;4、在使用時,用戶或者上層應用程序不能夠感知到存儲在移動存儲設備內(nèi)的文件是被加密的,看起來與正常的移動存儲設備(即無加解密功能的移動存儲設備)沒任何區(qū)別,使用起來極其方便。
雖然以上描述了本發(fā)明的具體實施方式,但是熟悉本技術領域的技術人員應當理解,我們所描述的具體的實施例只是說明性的,而不是用于對本發(fā)明的范圍的限定,熟悉本領域的技術人員在依照本發(fā)明的精神所作的等效的修飾以及變化,都應當涵蓋在本發(fā)明的權利要求所保護的范圍內(nèi)。