[發明專利]一種linux操作系統環境下文件加密密鑰的存儲方法在審
| 申請號: | 202210791685.0 | 申請日: | 2022-07-07 |
| 公開(公告)號: | CN115098034A | 公開(公告)日: | 2022-09-23 |
| 發明(設計)人: | 姚述源;章翔凌;李升平 | 申請(專利權)人: | 北京雙洲科技有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06;G06F21/62 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100020 北京市朝*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 linux 操作系統 環境 文件 加密 密鑰 存儲 方法 | ||
1.一種linux操作系統環境下文件加密密鑰的存儲方法,其特征在于,包括如下步驟:
1)、文件加密與加密密鑰存儲,其過程如下:
第一步:應用程序使用工具(硬件或軟件)生成隨機的文件密鑰key;
第二步:應用程序使用文件密鑰key對明文文件file進行加密,生成密文文件efile;
第三步:應用程序使用密鑰加密密鑰key對文件密鑰key進行加密保護,生成文件加密密鑰ekey;
第四步:應用程序在用戶態調用Linux操作系統提供的標準API接口setxattr()函數,對密文文件的擴展屬性進行設置;
第五步:setxattr()函數對傳入的參數進行合法性檢查,如合法則繼續,不合法則錯誤返回;
第六步:執行進程調用strncpy_from_user()函數或copy_from_user()函數將參數從用戶空間拷貝到內核空間;
第七步:調用vfs_setxattr()函數,將擴展屬性信息寫入實際文件系統;
第八步:文件加密密鑰被寫入擴展屬性,成功存儲,返回;
2)、密文加密密鑰與文件解密,其過程如下:
第一步:應用程序獲取預解密的密文文件efile路徑path;
第二步:應用程序在用戶態調用Linux操作系統提供的標準API接口getxattr()函數,對密文文件的擴展屬性進行獲取;
第三步:getxattr()函數對傳入的參數進行合法性檢查;
第四步:執行進程調用strncpy_from_user()函數或copy_from_user()函數將參數從用戶空間拷貝到內核空間;
第五步:調用vfs_getxattr()函數,從文件系統記錄獲取將擴展屬性信息,即文件加密密鑰ekey;
第六步:獲取到文件加密密鑰,將其返回用戶態;
第七步:應用程序將密鑰加密密鑰key對文件加密密鑰ekey進行解密還原,生成key;
第八步:使用key對efile進行解密,生成明文文件file;
第九步:解密結束。
2.根據權利要求1所述的一種linux操作系統環境下文件加密密鑰的存儲方法,其特征在于,所述函數setxattr包含五個參數:第一個是指向目標對象對應的目錄項,即/path/efile;第二個參數表示用戶空間的擴展屬性名稱,即user.key;第三個表示用戶空間的擴展屬性的值,即ekey;第四個表示擴展屬性值的長度;第五個表示傳遞給文件系統相關操作的標志。
3.根據權利要求1所述的一種linux操作系統環境下文件加密密鑰的存儲方法,其特征在于,所述getxattr()函數包括四個參數,第一個表示目標對象對應的目錄項,即/path/efile,第二個表示用戶空間的擴展屬性名稱,即user.key,第三個為保存用戶空間的擴展屬性的值的緩沖區,第四個表示擴展屬性的長度。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京雙洲科技有限公司,未經北京雙洲科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210791685.0/1.html,轉載請聲明來源鉆瓜專利網。





