一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种文件透明加解密方法和系统与流程

2022-06-11 12:28:37 来源:中国专利 TAG:

技术特征:
1.一种文件透明加解密方法,其特征在于,包括:在内核态创建共享缓存,用于缓存文件的读写内容;在内核态拦截文件读操作,获取读操作参数;根据所述读操作参数判断所述文件是否为加密文件,若是,则根据读操作参数从共享缓存中读取文件内容发送至用户态进程;否则,采用系统函数读取文件内容将所述文件内容发送至用户态进程;在内核态拦截文件写操作,获取写操作参数;将写入内容存储在共享缓存中;当共享缓存空间已满或写入内容为文件尾时,根据所述写操作参数判断所述文件是否为加密文件,若是,则在用户态对共享缓存中存储的文件内容进行加密,在内核态将加密后的内容写入文件,否则,直接在内核态将写入内容写入文件。2.根据权利要求1所述的文件透明加解密方法,其特征在于,所述读操作参数包括:文件描述符、读取偏移量和读取长度;所述写操作参数包括:文件描述符、写入偏移量和写入长度;根据所述读操作参数或写操作参数判断所述文件是否为加密文件,包括:根据所述文件描述符得到文件名、文件类型和打开文件的进程,若所述文件类型为监控类型或所述打开文件的进程为监控进程,则根据所述文件名获取扩展属性或文件头,根据所述文件扩展属性或文件头判断所述文件是否为加密文件;否则,判断所述文件为非加密文件。3.根据权利要求2所述的文件透明加解密方法,其特征在于,根据读操作参数从共享缓存中读取文件内容发送至用户态进程,包括:根据所述读操作参数判断读取的文件内容是否在共享缓存中,若存在,则从共享缓存中直接读取所述文件内容发送至用户态进程;否则,在用户态读取加密文件内容,调用解密算法进行解密,将解密内容写入共享缓存,在内核态根据读取偏移量和读取长度从共享缓存中读取解密的文件内容发送至用户态进程。4.根据权利要求3所述的文件透明加解密方法,其特征在于,根据所述读操作参数判断读取的文件内容是否在共享缓存中,包括:根据所述文件名判断共享缓存中是否存在该文件,若不存在,则判断所述读取的文件内容不在共享缓存中;否则,判断读取偏移量是否大于等于共享缓存区中缓存的偏移量并且读取长度小于读取偏移量到缓存内容结尾的长度,若是,则判断所述读取的文件内容在共享缓存中,否则,判断所述读取的文件内容不在共享缓存中。5.根据权利要求3所述的文件透明加解密方法,其特征在于,在用户态读取加密文件内容,调用解密算法进行解密,将解密内容写入共享缓存,包括:在内核态向用户态加解密进程发送消息,消息包括文件名、读取偏移量、读取长度、共享缓存地址;用户态加解密进程根据文件名、读取偏移量和读取长度读取加密的文件内容,根据解密算法对加密的文件内容进行解密,将解密的内容存入共享缓存地址中。6.根据权利要求2所述的文件透明加解密方法,其特征在于,将写入内容存储在共享缓存中,包括:根据所述文件名判断共享缓存中是否存在该文件,若不存在,则将写入内容直接存入
共享缓存中;若存在,则:若共享缓存区中缓存的偏移量小于等于写入偏移量且写入偏移量与缓存偏移量的差与写入长度的和小于等于缓存区大小,则将写入内容存入共享缓存中写入偏移量对应的位置;若共享缓存区中缓存的偏移量小于等于写入偏移量且写入偏移量与缓存偏移量的差与写入长度的和大于缓存区大小,则将缓存内容写入文件,删除共享缓存中该文件的内容,将写入内容存入共享缓存;若共享缓存区中缓存的偏移量大于写入偏移量,则删除共享缓存中该文件的内容,将写入内容存入共享缓存。7.根据权利要求2所述的文件透明加解密方法,其特征在于,在用户态对共享缓存中存储的文件内容进行加密,在内核态调用系统函数将加密内容写入文件,包括:在内核态向用户态加解密进程发送消息,消息包括未加密文件内容的共享缓存地址、文件内容长度和加密文件内容的共享缓存地址;用户态加解密进程从共享缓存中未加密文件内容的存储地址中读取文件内容长度的未加密内容,根据加密算法对未加密内容进行加密,将加密后的内容存入加密文件内容的共享缓存地址中;在内核态根据文件描述符、写入偏移量将加密内容写入文件。8.根据权利要求5或7所述的文件透明加解密方法,其特征在于,所述用户态加解密进程为守护进程,所述用户态加解密进程采用多线程并行的方式进行加密或解密。9.一种文件透明加解密系统,其特征在于,包括:共享缓存创建模块,用于在内核态创建共享缓存,用于缓存文件的读写内容;文件读模块,用于在内核态拦截文件读操作,获取读操作参数;根据所述读操作参数判断所述文件是否为加密文件,若是,则根据读操作参数从共享缓存中读取文件内容发送至用户态进程;否则,采用系统函数读取文件内容将所述文件内容发送至用户态进程;文件写模块,用于在内核态拦截文件写操作,获取写操作参数;将写入内容存储在共享缓存中;当共享缓存空间已满或写入内容为文件尾时,根据所述写操作参数判断所述文件是否为加密文件,若是,则在用户态对共享缓存中存储的文件内容进行加密,在内核态将加密后的内容写入文件,否则,直接在内核态将写入内容写入文件。10.根据权利要求9所述的文件透明加解密系统,其特征在于,所述文件读模块,根据读操作参数从共享缓存中读取文件内容发送至用户态进程,包括:根据所述读操作参数判断读取的文件内容是否在共享缓存中,若存在,则从共享缓存中直接读取所述文件内容发送至用户态进程;否则,在用户态读取加密文件内容,调用解密算法进行解密,将解密内容写入共享缓存,在内核态根据读取偏移量和读取长度从共享缓存中读取解密的文件内容发送至用户态进程。

技术总结
一种文件透明加解密方法和系统,方法包括:在内核态创建共享缓存,用于缓存文件的读写内容;在内核态拦截文件读操作,获取读操作参数;根据所述读操作参数判断所述文件是否为加密文件,若是,则根据读操作参数从共享缓存中读取文件内容发送至用户态进程;否则,采用系统函数读取文件内容将所述文件内容发送至用户态进程;在内核态拦截文件写操作,获取写操作参数;将写入内容存储在共享缓存中;当共享缓存空间已满或写入内容为文件尾时,根据所述写操作参数判断所述文件是否为加密文件,若是,则在用户态对共享缓存中存储的文件内容进行加密,在内核态将加密后的内容写入文件,否则,直接在内核态将写入内容写入文件。直接在内核态将写入内容写入文件。直接在内核态将写入内容写入文件。


技术研发人员:朱盼盼 石春刚 张永静 郑宇宁 李静
受保护的技术使用者:北京京航计算通讯研究所
技术研发日:2022.03.08
技术公布日:2022/6/10
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献