[发明专利]Linux操作系统的文件读写透明加解密的方法在审
申请号: | 201810574682.5 | 申请日: | 2018-06-06 |
公开(公告)号: | CN109002726A | 公开(公告)日: | 2018-12-14 |
发明(设计)人: | 刘轶斌;谢永胜 | 申请(专利权)人: | 浙江华途信息安全技术股份有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62 |
代理公司: | 杭州裕阳联合专利代理有限公司 33289 | 代理人: | 姚宇吉 |
地址: | 310000 浙江省杭州市西*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 加解密 匹配 读取 匹配成功 文件读写 系统调用 内存 内存起始地址 文件加密 透明 兼容性 防护 查找 失败 | ||
本发明公开了一种Linux操作系统的文件读写透明加解密的方法,包括如下步骤:步骤一,找到sys_close函数的地址;步骤二,从内存起始地址开始,读取内存中的数据,进行匹配,如果内容为系统调用sys_close的地址,则匹配成功,进行下一步;若不是,则匹配失败,继续读取下一块内存中的数据,并进行匹配;步骤三,匹配成功后,在hook上系统调用open,read,write,mmap,msync函数,从而对数据进行加解密;步骤四,达成文件加密防护的功能。本方法步骤流程简单,平台兼容性广,不仅适用于Mips处理器,同时还适用于Arm处理器;查找方式简单;代码简单易懂。
技术领域
本发明涉及Linux操作系统领域,特别是一种Linux操作系统的文件读写透明加解密的方法。
背景技术
X86平台上的Linux操作系统可以通过访问特定寄存器来hook系统调用函数(open,read,write,mmap,msync),从而达成透明加解密的效果。
现有技术大多采用如下方法:X86平台的Linux操作系统的系统调用hook技术,是基于X86平台(芯片)的独特的构造---中断描述符表(IDT)---来寻找系统调用表的,找到系统调用表,便可hook系统调用函数,从而截取open,read,write,mmap,msync系统调用中的数据流,进行加解密。
但是这样的方法无法兼容Arm平台(芯片),且代码复杂度较高;市场需要一种能够适用于Arm平台的且代码简单的文件读写透明加解密的方法;本发明解决这样的问题。
发明内容
为解决现有技术的不足,本发明的目的在于提供一种Linux操作系统的文件读写透明加解密的方法,本方法步骤流程简单,平台兼容性广,不仅适用于Mips处理器,同时还适用于Arm处理器;查找方式简单;代码简单易懂。
为了实现上述目标,本发明采用如下的技术方案:
Linux操作系统的文件读写透明加解密的方法,包括如下步骤:
步骤一,找到sys_close函数的地址;
步骤二,从内存起始地址开始,读取内存中的数据,进行匹配,如果内容为系统调用sys_close的地址,则匹配成功,进行下一步;若不是,则匹配失败,继续读取下一块内存中的数据,并进行匹配;
步骤三,匹配成功后,在hook上系统调用open,read,write,mmap,msync函数,从而对数据进行加解密;
步骤四,达成文件加密防护的功能。
前述的Linux操作系统的文件读写透明加解密的方法,步骤三,匹配成功后,在hook上系统调用open,read,write,mmap,msync函数,从而对数据进行加解密;
加解密的具体过程包括如下步骤:
步骤a,通过截取的open中的数据流,检查进程白名单和文件后缀名白名单,获取文件信息,并将文件信息添加至私有表单中;
步骤b,通过截取的read/mmap数据流,结合open中设置的表单,判断文件是否为密文,将数据流进行解密;
步骤c,通过截取的write/msync数据流,结合open中设置的表单,判断文件是否需要加密,并在需要时进行加密;
步骤d,通过截取exit系统调用,在进程退出时清理掉私有的表单;
步骤e,通过截取stat系列系统调用,获取加密后文件的长度,所述加密后文件的长度包含文件加密头;
步骤f,通过截取lseek系统调用,使文件指针偏移到正确的位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江华途信息安全技术股份有限公司,未经浙江华途信息安全技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810574682.5/2.html,转载请声明来源钻瓜专利网。