您好, 访客   登录/注册

基于NTFS加密文件的安全保障

来源:用户上传      作者: 李智慧

  【 摘 要 】 基于NTFS文件加密是一种相对比较安全的本地信息保护功能。本文从NTFS文件加密的实质以及证书文件、账户许可、管理员账户和数据恢复代理等几个方面,分析了基于NTFS文件加密后的安全保障及可能存在的问题。
  【 关键词 】 EFS加密;安全保障;管理员权限;数据恢复代理 【 中图分类号 】 G644
  1 引言
  目前,在微软正式发布的所有操作系统中,NTFS是其支持的文件系统中最强大的一种。而基于NTFS文件加密就是Windows系统下提供的一种相对比较安全的本地信息保护功能。本文讨论的是在Windows系统下NTFS文件加密的实质和NTFS加密文件后的安全保障及可能存在的问题。
  (注:文中给出的详细操作或位置关系均以Window 7为例。)
  2 NTFS文件加密的实质
  NTFS文件加密技术的核心是基于EFS(Encrypting File System,加密文件系统)。而EFS技术又是一种综合了对称加密和非对称加密的技术,简单解释之就是EFS先随机生成一个密钥FEK,用于加密和解密文件内容;再用账户拥有的公钥对FEK加密,其加密结果随加密文件一起保存。解密文件时要用账户拥有的私钥先解密出PEK,然后,再用FEK去解密文件。
  在实际应用中,启用NTFS加密功能,其加密/解密过程如同普通文件操作,系统不需要用户提供具体的公钥或私钥进行认证,这使得很多用户往往忽略了这一密钥对(即公钥和私钥)的存在,也不清楚这一密钥对是何时生成的、存放在哪里、与什么有关、又该如何保管等一系列问题。
  2.1 密钥对生成
  在Windows系统下,当第一次启用NTFS文件加密功能且当前账户还没有密钥对时,EFS会自动根据当前账户的SID(Security Identifiers,安全标示符)产生一个唯一的密匙对。这一密钥对的唯一性保证了加密文件内容的绝对安全,即便是原账户名、原登录密码且原SID,重新启用NTFS文件加密功能(即原密钥对删除后)再次产生的密钥对也是不同的,所以,用于加密/解密文件的密钥对保管是非常重要的。
  2.2 密钥对管理
  在Windows系统里,密钥对是以证书的形式被管理着。执行certmgr.msc命令打开“证书”管理窗口,在个人-->证书的右端窗口里即可看到当前账户用于加密文件的证书,其中,公钥证书文件存放于%UserName%\AppData\ Roaming\ Microsoft\ SystemCertificates\ My\ Certificates\里,而私钥文件是存放于%UserName%\AppData\ Roaming\ Microsoft\ Crypto\ RSA\的SID里。一旦这里的“证书”或公钥/私钥对应的文件被删除,且证书又没事先导出或备份,那加密文件将面临着永久无法访问的危险。
  2.3 私钥保护
  为了确保加密文件的安全,Windows系统又对EFS产生的私钥增加了两层保护。第一层保护是系统自动用一个Master Key对账户拥有的“私钥”进行加密,加密的结果放回原位置%UserName%\AppData\ Roaming\ Microsoft\ Crypto\ RSA\的SID里;第二层保护是系统又用由当前账户登录密码派生的Key对Master Key再进行加密,加密的结果存放在%UserName%\AppData\ Roaming\ Microsoft\ Protect\ SID里。
  也就是说,NTFS用于解密文件的密码链共有五层,即帐户登录密码→派生的Key→Master Key→EFS私钥→FEK,如果其中任一对应的文件被删除,甚至最外层的账户登录密码被无端更改,那么对文件的解密都将是徒劳的。另外,这种额外保护也增加了那些试图通过底层访问的非法用户或未授权用户攻击的难度。
  3 NTFS加密文件的安全保障
  基于NTFS加密/解密文件的过程,Windows系统内部是需要经过严格的认证的。在严格认证的背后,我们更关心的是文件加密后的安全保障,有四个方面的问题值得关注。
  3.1 证书文件
  启用NTFS文件加密功能后,首要做的一件事情就是导出含有密钥对的数字证书。方法是在“证书”管理窗口中,右键点击“预期目的”为“加密文件系统”证书,选择-->所有任务-->导出-->其中选择“导出私钥”即可。导出含有私钥的证书文件类型为 *.pfx,而只含有公钥的证书文件类型为*.cer。
  证书导出目的是防止系统管理员清理账户或系统重装等而导致加密的文件拒绝打开,或账户密码被篡改或遗忘以至于含有私钥的证书将无法导出等问题发生。除此之外,EFS技术还支持多用户共享,这意味着导出的密钥证书也可共享给可信赖的用户,只要授权账户导入证书即可直接解密文件。因此,证书文件的安全管理又是非常重要的另一件事情,所以,在导出证书时必须“启用加强保护”(Win7系统默认),再通过一层密码以确保证书文件的安全。否则,一旦证书文件遗失或被盗用,那么加密文件不是拒绝打开就是无密可言。
  3.2 账户许可
  基于NTFS上存储的文件,Windows系统在其“访问控制列表”中都明确给出了不同账户拥有的许可权限。然而,在Windows系统默认下,那些未获得密钥的普通账户却可在许可权限范围内具有查看,特别是删除的权限,这一点是不可忽视的。所以,在NTFS上加密重要文件的同时,一定要将NTFS的UAC(User Account Control,用户账户控制)和EFS并用,使受保护的文件夹(文件)得到必要的安全保障。具体操作:右键点击受保护的文件夹(文件)-->属性-->安全,指定授权的组和用户名以及相应的许可,以此拒绝一切未授权的用户进行任何操作。   3.3 管理员账户
  无论是Windows XP、Windows 2000/2003或Windows 7,其系统管理员对系统拥有最高和完全的控制权限,这就意味着管理员账户有很多的操控能力是普通账户所不及的。如系统管理员可以重设任何账户的登录密码,可直接获得其他账户文件的所有权,可以操控其他账户的配置文件,特别是那些与密钥对应的文件;又如系统管理员还有权启用“数据恢复代理”来掌控所有用户的加密文件等等。
  也就是说,基于NTFS加密文件的安全,除了确保证书以及加密文件本身的安全外,还直接掌控于系统管理员手中。要保证加密文件的安全,一定要确保管理员账户的可信或完全受控于自己,否则,其NTFS上将不适于保存加密文件,因为管理员账户一旦被攻击利用,或本身的别有用心,那加密的文件将面临着很大的危险。
  3.4 数据恢复代理
  由于EFS技术提供了可选的数据恢复能力,所以,基于NTFS文件加密的Windows系统均存在着一个潜在的“数据恢复代理”,它可以替任何账户恢复其加密的文件。如在Windows 2000工作组下,管理员账户administrator就是所有用户NTFS下文件加密的“数据恢复代理”。
  在Windows XP/2003以及Windows 7工作组的缺省设置下,系统虽没有指定“数据恢复代理”,但系统管理员可以随时启用。如希望lee用户成为“数据恢复代理”,可在DOS下执行cipher /r: lee命令申请一个“加密恢复代理”的密钥(lee.pfx)和证书(lee.cer)。然后,由lee用户登录系统并安装密钥文件lee.pfx,而系统管理员只负责将“加密恢复代理”的公钥证书lee.cer进行发布,方法是执行gpedit.msc命令打开“本地组策略编辑器”,依次展开计算机配置-->Windows设置-->安全设置-->公钥策略,右键点击“加密文件系统”-->添加数据恢复代理程序,在向导下选择lee.cer即完成“加密恢复代理”证书的发行。
  一旦Windows系统启用“数据恢复代理”,任何用户只要打开过一次NTFS加密文件,那么,有关文件加密/解密时当前账户的公钥加密FEK和私钥两层保护等处理过程,系统同样用“数据恢复代理”的公钥和私钥也一并处理并保存,这就是为什么“数据恢复代理”可直接解密任何用户加密文件的原因。
  4 结束语
  本文从四个方面指出了NTFS文件加密后可能存在的问题,万万不能大意。总结以下三点:
  1)首先,证书的安全比加密的文件更重要,否则文件加密了却无法解密的窘境就成为必然;
  2)文件加密并不等于文件安全,还需要整个系统的安全,特别是系统管理员账户的安全;
  3)“数据恢复代理”是把双刃剑,它可帮助我们预防万一,但也可被恶意使用。总之,Windows系统基于NTFS文件加密给我们提供了严格的验证和保护机制,而我们需要清楚的是哪些事情必要做的,哪些问题需要防范,只有这样才能保证基于NTFS加密的文件安全可靠。
  参考文献
  [1] 刘树聃,李邦.NTFS分区数据安全管理与恢复[J].电脑知识与技术, 2010年35期.
  [2] 黄敢为.基于Windows XP的EFS加密文件系统研究[J].科学技术与工程,2008年第15期.
  [3] 潘爱民译.深入解析Windows操作系统(第4版).电子工业出版社, 2007年4月 ISBN: 978-7-121-03969-0.
  [4] 魏为民.袁仲雄.网络攻击与防御技术的研究与实践[J].信息网络安全,2012,(12):53-56.
  [5] 向永谦,陈建华.一种基于身份的三方认证密钥交换协议[J].信息网络安全,2012,(11):32-35.
  [6] 韩水玲,马敏,王涛等.数字证书应用系统的设计与实现[J].信息网络安全,2012,(09):43-45.
  作者简介:
  李智慧 (1960-),女,北京交通大学,硕士,副教授;研究方向:网络技术与信息安全。
转载注明来源:https://www.xzbu.com/8/view-5941869.htm