linux透明加密系统,基于Linux的透明加密系统的设计与实现

摘要:

随着互联网时代的到来,人们用于接触事物的方式不仅仅局限于简单的通讯工具了,如:口语交流,书信传递等等,现在已经越来越多地通过手机,电脑,平板等电子设备进行信息的交流和信息的存储.但是在我们享受便捷交流方式的同时,我们的个人信息以及需要的重要信息都有被泄露的可能,因此,保证数据的安全性已经成为一个迫切的研究方向.Linux作为一个开源的操作系统,开发相较于Windows操作系统来说更加的方便,在不修改内核源代码的情况下,此次设计的目的是实现一个基于Linux的透明加密文件系统,其中主要包含两个部分:压缩部分和加解密部分.压缩部分主要是在用户空间上进行完成,将文件进行压缩后向下传递给虚拟文件系统(VFS),然后由虚拟文件系统向下传递给加解密文件系统,最后由加解密文件系统处理后向下传递给真实文件系统,即磁盘.反之亦然,形成一种堆栈式的信息传递结构.在这种模式下,并不会影响原来的文件流走向,而且保证了文件的安全性.最终得到了一个可压缩可加密的基于Linux的透明加密系统.用户空间中使用gzip与LZMA结合的方式进行压缩,堆栈式加密文件系统主要使用Blowfish算法进行加密.在以上的结果基础上,得到了经过设计的系统处理后的文件,有较好的安全性,较快的读取速率以及可信度.但是相较于其它较便捷的文件系统来说,会牺牲一定的时间和空间复杂度,也可以实现相对于用户使用来说的透明加密过程.

展开

现在很多做透明解密的初学者都比较困惑,不知从何下手,我也是如此,从什么都不会开始,慢慢肯文件系统内幕,到OSR上面请教,四个月的时间还是收获颇丰。其实真正研究以后会发现,很多都是体力活,要不断的去跟踪文件的操作流程。在这里发一个基于minifilter的透明解密的驱动源码仅供大家参考,其中也实现了对文件标识的处理,文件标识放在文件尾部。算是抛砖引玉吧。坦白的说,这个代码并不稳定(偶尔与norton杀毒软件会有冲突),但是我觉得整个流程是正确的,可能有些细节还没有考虑清楚,我觉得对初学者还是有一定帮助吧,当然大虾们可以跳过,呵呵。另外,有关加解密算法的代码由于不是我写的,也不好公开,所以我把相关代码用“\\\”给注释掉了(但没有去掉),请大家见谅,不过不会对整个流程产生影响。大家可以重点看一下各个派遣函数的实现。 欢迎大家拍砖,觉得有点意思就顶一下啊,在看代码的过程中如果有什么好的建议,也希望能告诉我。 最后非常感谢XiangXiangRen,zzbwang,neak47等网友在这段时间内对我的帮助。XiangXiangRen的书以及zzbwang的帖子对我完成这项工作有很大的帮助和参考价值,在此谨与大家分享。 编译环境:WDK6001.18002 XP x86 PS: 您可以将附件中的代码进行修改和转发,但转发时请注明出处。 http://bbs.driverdevelop.com/htm_data/39/1001/119736.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值