TTEFS-基于LayerFsd的透明加密SDK

1 产品综述

1.1 产品简介

    TTEFS(True Transparent Encryption File System)是一款文件透明加密开发包。基于LayerFsd模型设计,采用文件系统过滤驱动技术实现。产品的目标是使客户可快速和稳定开发基于TTEFS的文档安全管理系统、文档防泄密系统、文档权限管理系统等。

2 技术原理与优势

    透明加密技术已有10余年的发展历程。它是针对企业文件保密需求应运而生的一种文件加密技术。透明,是指对用户而言加解密过程不会被觉察。当用户打开或编辑受保护文件时, 系统将自动对未加密的文件进行加密, 对已加密的文件解密。文件在硬盘上以密文形式存储, 在内存中则为明文。

     Windows允许程序设计人员在内核和用户两个级别操作文件。基于用户级别的透明加密方案大多采用API Hook。基于内核级别的透明加密方案采用文件系统过滤驱动,根据过滤驱动操作文件缓存的模式,分为刷缓存模型和双缓存模型,也即LayerFsd模型。

    ApiHook的工作原理是先将已加密的文件拷贝到临时目录中,并隐藏和解密该文件,然后将临时文件返回给打开文件的进程。 这样应用程序打开的就是磁盘上的明文文件, 用户程序可以进行正常的处理; 在文件关闭时,该事件被钩子拦截, 钩子将临时文件加密, 然后再拷贝回来覆盖掉原文件。这种加密实质上是通过临时文件来实现的, 必须在每次用户存盘或者系统自动存盘的时候,存在效率低,安全性不高,兼容性差的特点。 

    刷缓存模式是基于文件系统过滤驱动实现。过滤驱动能实时拦截所有的文件系统操作,在效率上具有明显优势。由于文件系统与内存管理器和缓存管理器互相依赖,细节繁多,而文件系统过滤驱动模型不能处理与缓存管理器的交互,导致过滤驱动只能采用暴力手法不停地清除缓存,导致系统蓝屏和文件损坏。

     LayerFsd模型是基于文件系统过滤驱动和文件系统驱动实现。使用过滤驱动截获所有文件操作事件。文件系统驱动分别与缓存管理器和内存管理器正常交互,维持缓存的正常状态,避免了使用暴力的方法清除缓存。从原理上解决了系统蓝屏和文件损坏的问题。其工作原理图如下所示:

3.1功能项

文档透明加密

    透明加密是指加密的动作不需要人工干预,由加密软件软件自动完成的。比如:用WORD建立文档的时候,软件能自动把新建的文件加密,对用户完全透明,不影响用户的操作习惯。TTEFS内置Office、WPS、CAD、Photoshop、Solid Works等常见应用程序。

安全软件兼容模块

    TTEFS的可执行模块是内核模式的驱动程序。安全软件也大量使用内核驱动程序截获事件,所以安全软件和TTEFS存在一定的竞争性。TTEFS设计了专用兼容模块,从原理上解决了与安全软件兼容共存问题。TTEFS在实践过程中,保证了与12款安全软件的兼容性。如下表所示:

 

序号

安全软件名称

1

360安全卫士

2

360杀毒软件

3

瑞星杀毒软件"

4

金山毒霸(悟空)

5

金山卫士

6

江民杀毒软件

7

ESET Nod32 AntiVirus

8

Symantec Endpoint Protection

9

QQ电脑管家

10

小红伞Avira Free Antivirus

11

卡巴斯基安全软件

12

迈克菲杀毒软件

 

 

一文一密

    TTEFS支持为每一份文件生成一个随机密钥。同样的一分文档,使用不同的密钥,产生不同的密文。使用一文一密的好处是抗已知明文攻击。相对于传统的单一固定密钥模式,安全性得到了极大提升。

自定义头数据

    TTEFS支持自定义头数据,用户可将文档的权限控制信息(如过期时间、密级、打开次数限制、打印控制)存入自定义数据区。自定义头数据数据可永久驻留在文件中。例如OFFICE文件经过编辑之后,虽然原始文件被临时文件覆盖,但原始文件的自定义数据仍然保留。

手动文件加密

    在某些应用场景中,用户并不需要所有的文档都被加密,只希望某些重要的文档被加密。TTEFS支持手动加密模式,被加密的文件一直处于被加密的状态,未加密的文件将被TTEFS忽略。

自定义应用策略

    TTEFS提供添加应用的接口,用户自行定制策略,加密专有应用程序生成的文档。

自定义加密算法

    TTEFS内置XTEA和AES算法,用户可将自定义加密算法植入到TTEFS中。支持流加密和块加密模式。

文件夹白名单

    TTEFS提供文件夹白名单接口,用户可设置文件夹白名单。此类文件夹下的文档将不被加密。

驱动主动通信框架

    TTEFS支持由驱动发起的通信,可将关键事件通知应用程序。框架支持同步模式和异步模式。

3.2版本对比

    TTEFS提供基础版和高级版。基础版提供基本的透明加密功能,高级版包括所有功能特性。列表如下:

4 合作方式和服务

TTEFS支持源代码和SDK级别合作。并且提供附加服务,直到客户完成产品开发。具体细节可详谈。

联系QQ: 7_6_2_1_8_8_3_3_6

更多产品信息,请访问 http://www.byte2code.com

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
现在很多做透明加解密的初学者都比较困惑,不知从何下手,我也是如此,从什么都不会开始,慢慢肯文件系统内幕,到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、付费专栏及课程。

余额充值