[發明專利]基于minifilter和usbkey的透明加解密文件驅動的方法有效
| 申請號: | 202010873281.7 | 申請日: | 2020-08-26 |
| 公開(公告)號: | CN112035885B | 公開(公告)日: | 2023-03-28 |
| 發明(設計)人: | 姚金龍;董仲舒;程杰;谷晶中;張陽光 | 申請(專利權)人: | 山谷網安科技股份有限公司 |
| 主分類號: | G06F21/64 | 分類號: | G06F21/64;G06F21/60 |
| 代理公司: | 鄭州大通專利商標代理有限公司 41111 | 代理人: | 張立強 |
| 地址: | 450000 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 minifilter usbkey 透明 解密 文件 驅動 方法 | ||
1.基于minifilter和usbkey的透明加解密文件驅動的方法,其特征在于,包括:
步驟1:加載驅動層,當驅動層加載時,調用DriverEntry函數,初始化用于申請內核緩沖區的數據結構鏈表、用于存儲指定監控文件信息的鎖,注冊用于對文件進行操作的回調函數,以建立驅動通信監聽服務;
步驟2:用戶層解析用戶配置文件,獲取待監控信息;所述用戶配置文件包括:加密的文件類型和加密的文件名中的至少一個、打開文件時的進程名以及用戶設置的密碼長度;
步驟2:用戶層檢測usbkey是否插入,若檢測到usbkey,則與其建立連接;
步驟3:用戶層與驅動層建立通信連接,所述驅動層為基于minifilter框架的驅動;
步驟4:用戶層將待監控信息逐個發送至驅動層,驅動層根據所述待監控信息在文件創建回調函數內判斷文件是否為指定監控文件,若為指定監控文件,則向用戶層發送命令;用戶層接收驅動層發送的命令并在usbkey中進行相應操作,將操作結果發送至驅動層;其中,所述命令包括創建密碼命令和解開密碼命令;
步驟4中,所述的若為指定監控文件,則向用戶層發送命令,用戶層接收驅動層發送的命令并在usbkey中進行相應操作,將操作結果發送至驅動層,具體包括:
步驟4.1:若為指定監控文件,驅動層則創建文件流結構體,并讀取文件加密標志;
步驟4.2:若文件加密標志匹配,驅動層則讀取文件尾數據中的加密的密碼,向用戶層發送解開密碼命令和加密的密碼,用戶層將加密的密碼放入usbkey對密碼進行解密以獲取源密碼并將源密碼發送至驅動層;
步驟4.3:驅動層將源密碼和文件尾數據中的其他數據填充到文件流結構體中;
步驟4.4:若文件加密標志不匹配,驅動層則向用戶層發送創建密碼命令,用戶層隨機生成一個密碼,將密碼放入usbkey對密碼進行加密,并將加密的密碼和源密碼發送至驅動層;
步驟4.5:驅動層將加密后的密碼填充到文件流結構體中;
步驟5:驅動層在指定監控文件被執行打開操作、讀操作、寫操作和關閉操作中的一個或多個操作時對被執行操作進行攔截進而根據文件流結構體和操作結果對指定監控文件進行加解密,具體包括:
當指定監控文件被執行讀操作時,在讀操作完成之前,獲取文件流結構體,若文件流結構體中包含已加密標志,則創建一個內核緩沖區;在讀操作完成之后,根據源密碼對內核緩沖區的數據進行解密,并將解密后的數據拷貝到用戶緩沖區;
當指定監控文件被執行寫操作時,在寫操作完成之前,將用戶緩沖區的數據進行加密,并將加密后的數據拷貝到內核緩沖區;
當指定監控文件被執行關閉操作時,在關閉操作完成之前,清理緩存,將文件流結構體寫至文件尾指定偏移處。
2.根據權利要求1所述的方法,其特征在于,步驟4中的接收驅動層發送的命令并在usbkey中進行相應操作,包括:
若為創建密碼命令,則隨機生成一個密碼,將密碼放入usbkey對密碼進行加密,并把加密的密碼和源密碼發送給驅動層;
若為解開密碼命令,則將加密的密碼放入usbkey對密碼進行解密,獲取源密碼,將源密碼發送至驅動層。
3.根據權利要求1所述的方法,其特征在于,所述命令還包括退出命令;
對應地,還包括:卸載驅動層,當卸載驅動層時,向用戶層發送退出命令;
對應地,步驟4中,接收驅動層發送的命令并在usbkey中進行相應操作,包括:若為退出命令,則斷開與驅動層的通信連接,并斷開usbkey鏈接,釋放資源。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于山谷網安科技股份有限公司,未經山谷網安科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010873281.7/1.html,轉載請聲明來源鉆瓜專利網。





