深入剖析EFS
efs是encrypting file system,加密文件系统的缩写,他可以被应用在windows 2000以上的操作系统且为ntfs5格式的分区上(windows xp home不支持).efs 只能对存储在磁盘上的数据进行加密,是一种安全的本地信息加密服务.efs使用核心的的文件加密技术在ntfs卷上存储加密文件.
它可以防止那些未经允许的对敏感数据进行物理访问的入侵者(偷取笔记本电脑,硬盘等)
efs是如何工作的
当一个用户使用efs去加密文件时,必须存在一个公钥和一个私钥,如果用户没有,efs服务自动产生一对。对于初级用户来说,即使他完全不懂加密,也能加密文件,可以对单个文件进行加密,也可以对一个文件夹进行加密,这样所有写入文件夹的文件将自动被加密。
一旦用户发布命令加密文件或试图添加一个文件到一个已加密的文件夹中,efs将进行以下几步:
第一步:ntfs首先在这个文件所在卷的卷信息目录下(这个目录隐藏在根目录下面)创建一个叫做efs0.log的日志文件,当拷贝过程中发生错误时利用此文件进行恢复。
第二步:然后efs调用cryptoapi设备环境.设备环境使用microsoft base cryptographic provider 1.0 产生密匙,当打开这个设备环境后,efs产生fek(file encryption key,文件加密密匙).fek的长度为128位(仅us和canada),这个文件使用desx加密算法进行加密。
第三步: 获取公有/私有密匙对;如果这个密匙还没有的话(当efs第一次被调用时),efs产生一对新的密匙.efs使用1024位的rsa算法去加密fek.
第四步:efs为当前用户创建一个数据解密块data decryptong field(ddf),在这里存放fek然后用公有密匙加密fek.
第五步:如果系统设置了加密的代理,efs同时会创建一个数据恢复块data recovery field(drf),然后把使用恢复代理密匙加密过的fek放在drf.每定义一个恢复代理,efs将会创建一个data recovery agent(dra).winxp没有恢复代理这个功能,所以没有这一步.,这个区域的目的是为了在用户解密文件的中可能解密文件不可用。这些用户叫做恢复代理,恢复代理在edrp(encryption data recovery policy,加密数据恢复策略)中定义,它是一个域的安全策略。如果一个域的edrp没有设置,本地edrp被使用。在任一种情况下,在一个加密发生时,edrp必须存在(因此至少有一个恢复代理被定义)。drf包含使用rsa加密的fek和恢复代理的公钥。如果在edrp列表中有多个恢复代理, fek必须用每个恢复代理的公钥进行加密,因此,必须为个恢复代理创建一个drf。
第六步:包含加密数据、ddf及所有drf的加密文件被写入磁盘。
第七步: 在加密文件所在的文件夹下将会创建一个叫做efs0.tmp的临时文件.要加密的内容被拷贝到这个临时文件,然后原来的文件被加密后的数据覆盖.在默认的情况下,efs使用128位的desx算法加密文件数据,但是windows还允许使用更强大的的168位的3des算法加密文件,这是fips算法必须打开,因为在默认的情况下它是关闭的.
第八步:在第一步中创建的文本文件和第七步中产生的临时文件被删除。
加密过程图片可参考
首先,系统检测用户是否具有被efs使用的私有密匙.如果有的话,系统将会在读取efs属性,同时在ddf对列中寻找当前用户的ddf.如果 ddf找到的话,用户私有密匙将会在那里解密出fek.使用解密出来的fek,efs去解密加密的文件数据.需要注意的是文件从来不会完全被加密,但是有时候会去加密一些特殊的扇区如果上层模块要求的话.
efs组成
efs由efs服务、efs驱动、efs文件系统运行库(fsrtl)和win32 api。efs服务作为一个标准系统服务运行,它是windows 2000安全子系统的一部分。它与cryptoapi接口产生钥匙、ddf和drf,efs驱动就象是ntfs的一部分,它呼叫efs服务请求钥匙, ddf和drf作为需要被创建,一个efs驱动的组成是efs fsrtl,它定义了efs驱动程序能作为ntfs的代表而执行的功能。
efs和ntfs如何共存
efs可以被认为除ntfs外的第二层防护,为访问一个被加密的文件,用户必须有访问到文件的ntfs权限。在相关ntfs权限的用户能看到文件夹中的文件,但不能打开文件除非有相应的解密钥匙。同样,一个用户有相应的钥匙但没有相应的ntfs权限也不能访问到文件。所以一个用户要能打开加密的文件,同时需要ntfs权限和解密钥匙。
然而,ntfs权限可能被大量的方法穿越,包括口令破解程序、用户在离开前没有退出系统或系统内部的ntfsdos。在nt4.0下,游戏结束了 ――硬盘上所有的数据都可以访问了。在windows 2000下,当一个文件用efs加密后,一个未授权的用户,即使访问到磁盘上的文件,但也不能访问文件上数据,因为没有授权用户的私钥。
efs 属性
当ntfs加密文件的时候,它首先会为文件设置加密标志,然后在存储ddf和ddr的地方为文件创建一个$efs属性.这个属性的属性id=0x100,它可以被加长,占有0.5k到若干k的大小,这个大小是由ddf和drf的数量决定的.
_header.gif
下面是一个详细的efs属性的例子.
_example.gif
紫色:efs属性大小
天蓝色:电脑安全标识符和用户数字.它指定efs存储证书的文件夹.为了得到文件
夹的名字,efs会做一些转换.
5a56b378 1c365429 a851ff09 d040000 - 存储在$efs中的数据.
78b3565a 2954361c 09ff15a8 000004d0 - 转换后的结果.
2025018970-693384732-167712168-1232 - 转换成十进制.
s-1-5-21-2025018970-693384732-167712168-1232 - 加上安全标识符前缀.
得到的文件夹就是:
%userprofile%\applicationdata\microsoft\crypto\rsa\s-1-5-21-2025018970-693384732167712168-1232\
粉红色:公有密匙特性
黄色:私有密匙全局唯一标识符(同时被当作容器名字).当efs从cryptoapi provider中获取设备环境的时候使用这个名字.如果$efs属性只有一个ddf,容器的名字可以从$efs中计算出来.但是当更多的用户加入这个文件的时候(就会有更多的ddf和drf),私有密匙全局唯一标识符并不是保存所有的用户,其它的必须从基于公有密匙存储特性的证书中恢复.
红色:加密提供器的名字(microsoft base cryptographic provider v.1.0)
绿色:用户的名称,ddf和drf的所有者.
蓝色:加密后的fek.通常fek是128位的,但是被1024位的rsa密匙加密后,长度变成1024位.
参考资料: http://www.ntfs.com http://www.nsfocus.net
下一篇:七大常见的集成网卡
↓相关文章:
- · 七大常见的集成网卡
- · 2004年十大网络应用漏洞
- · 传奇木马DIY
- · 遨游插件大全
- · 个人电脑日常维护指南
- · 让杀毒软件与网管步调一致
- · 实战分析一次WinRoute后门攻防
- · 网络工程师精华
- · 揭秘:钓鱼者的三种典型攻击手段
- · 网络安全防范的十个戒律
- · 网络协议简介
- · 控制网吧机器玩转主机数据库
- · QQ大盗传播技术分析及防范
- · 秘密穿过内网防火墙
- · 网页木马制作小结
- · 对iis写权限的利用(关于对第八军团写权限BUG的入侵)
- · DOS下设置文件权限
- · 妙用局域网中的“删除”功能
- · 机房管理常见三大难题的解决方法
- · 网络安全技术纵览
- · 计算机硬盘加密的几种方法
- · 个人网络安全防卫手册
- · 常用的网络测试命令
- · 图标在线生成器汇总
- · 枚举出局域网上所有网络资源
- · 如何排除上网过程中所遇到的种种故障
- · 如何把木马注册为系统服务
- · SYN flood攻击的原理及其防御
- · IP地址含义知多少
- · 校园机房安装组建过程实战讲解
- · 构筑牢固的校园网络安全体系
- · 数字证书使用一点通
- · TCP/IP头格式
- · 使用VB实现邮箱自动注册
- · 端口截听实现端口隐藏嗅探与攻击
- · 从上传webshell到突破TCP/IP筛选到3389终端登陆
- · 五个反弹后门的源代码
- · 木马客户端与服务端隐蔽通讯解析
- · Hack新手一定要知道的问题
- · Do All in Cmd Shell (一切尽在命令行)
- · httpdoor---IIS后门
- · 135网络端口,禁用有巧招
- · 建立隐藏的超级用户多种方法
- · 狙击4899肉鸡
- · 告诉大家一个小技巧 一直没人提到过的东东
- · php注入之完全版
- · 千个常用DOS命令全面收藏
- · 如何提高Linux系统安全性的十大招数
- · 网站被入侵之后 需要做的检测
- · 通过PHP v4.0.2rc1-v4.0.7RC2 exploit program 拿到root
- · 下载软件勿忘防毒:嵌入式监控确保上网无忧
- · 详述光波分复用(WDM)技术(中篇)
- · 揭开网络
- · 资深网管教你彻底揪出Windows启动蛀虫
- · 用IDS(入侵检测系统)保卫数据库安全
- · 安全防御系统新趋势 IPS筛选八大定律
- · 通过注册表优化ADSL大法之Win XP篇
- · 消除上网的恐惧:用网上隐身衣保护自己
- · 脚本图片类后门病毒的完美使用方法
- · 局域网中受ARP欺骗攻击后的解决方法

