[发明专利]一种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.vipzhuanli.com/pat/books/202210791685.0/1.html,转载请声明来源钻瓜专利网。