Windows文件加密和解密方法研究
2013-04-29耿红梅王艳艳陈莹
耿红梅 王艳艳 陈莹
摘 要 Windows操作系统给用户提供了加密文件系统,给用户在一定程度上提供对个人隐私的保护。但当发生意外情况,比如口令丢失、系统崩溃、磁盘损坏等,加密文件将无法打开。本文在简要分析加密原理的基础上,对不同情形下加密文件的恢复方法进行了初步研究。
关键词 加密 解密 文件系统
中图分类号:TP316.7 文献标识码:A
Windows操作系统给用户提供了加密文件系统,给用户在一定程度上提供对个人隐私的保护。但当发生意外情况,比如口令丢失、系统崩溃、磁盘损坏等,加密文件将无法打开。本文在简要分析加密原理的基础上,对不同情形下加密文件的恢复方法进行了初步研究。
1 加密原理
在Windows操作系统提供的加密文件系统中,当用户生成加密文件时,生成一个既用于加密文件,又用于解密文件的对称密钥,加密文件系统使用对称密钥加密文件中的数据。然后使用公开密钥加密对称密钥,加密文件系统将加密文件头和加密数据组合得到加密文件。为保证密钥的安全性,用主密钥加密私钥,再用用户密码加密主密钥。
加密文件系统使用对称密钥和非对称密钥技术相结合的方法来提供文件的保护,对称密钥用于加密文件,非对称密钥中的公钥用于加密对称密钥。加密文件系统对文件的加密发生在文件系统层而不是应用层,因此,其加密和解密过程对加密用户和应用程序是透明的。用户在使用加密文件时,感觉与普通文件一样。需要注意的是,加密文件系统只能对存储在NTFS磁盘格式分区的文件进行加解密,而且家庭版、简化版Windows系统是不支持的。
加密操作:在文件属性的“高级”属性对话框中勾选上“加密内容以便保护数据”完成加密,windows默认设置下加密文件是彩色显示的。加密文件在未设置故障恢复代理的情况下,其他用户是无法打开、移动的。
解密操作:打开文件属性对话框,选择“高级”,打开高级属性对话框,取消其中的“加密内容以便保护数据”勾选,即可完成解密。也可以将加密文件剪切到FAT32分区中完成解密。
2 解密方法
加密文件系统解密的关键在于加密用户的系统密码或者加密文件的私钥、用户配置。
2.1 解密其他用户加密文件
Windows提供了故障恢复代理来对加密文件系统的加密文件进行解密, 指定为故障恢复代理的用户可以对其他用户的加密文件进行解密。但如果在设置恢复代理之前就加密过数据,那么这些数据恢复代理仍然无法打开。首先用管理员用户登录操作系统,在“开始”菜单中“运行”框内输入“cmd”并执行,进入命令提示符窗口,输入“cipher/r:d:\admin”后回车,在D:\目录下创建admin.cer、admin.pfx两个文件;双击admin.pfx文件完成证书的导入;最后在组策略中设置恢复代理:在“运行”框内输入“gpedit.msc”并执行,进入组策略编辑器,在“计算机配置→Windows设置→安全设置→公钥策略→正在加密文件系统”中,选择“添加数据恢复代理”。此后,这台计算机其他用户创建的加密文件,管理员用户都可以解密。
2.2 破解本机其他用户加密文件
按照Windows设计初衷,用户是无法复制其他用户的加密文件的, 但是在WindowsXP 32位操作系统下,借助工具“冰刃”可以将同一系统下其他用户的加密文件复制,在完成复制操作的同时对原加密文件进行解密。
2.3 暴力破解本机其他用户密码
在无法使用“冰刃”工具时可以通过暴力破解本机其他用户密码来实现解密,借助强大的ophcrack结合相应的彩虹表可以很大概率破解计算机上所有用户的密码。如果用户密码不是很复杂成功率很高,获得其他用户的密码后就可以登录其账户打开加密文件了。
2.4 使用备份的私钥证书
用户对文件进行加密后,应当立即导出自己的私钥证书,当忘记密码或系统重装后,重新安装私钥证书就可以打开加密文件。
2.5 解密已删除用户的加密文件
当用户被删除后,如果配置文件未被删除,且知道被删用户的系统登录密码,就可以借助工具实现文件解密。首先用查找各个用户配置文件中存储的主密钥、私钥,利用用户的系统登录密码来解密主密钥,用主密钥解密私钥,用私钥解密对称密钥,用对称密钥解密加密文件数据。具体操作时,首先扫描密钥,可扫描指定盘符或全盘扫描,扫描完成后得到存储在本机的所有主密钥、私钥等;然后添加用户密码,输入被删除用户的登录密码,扫描加密文件所在的磁盘分区;最后选择需要解密的文件,指定存放位置。
2.6 重构已删除用户的配置文件
当系统用户及其配置文件都被删除或重装系统时,原先的加密文件将无法打开。在记得原先用户设置密码的基础上,通过重构配置文件可以实现解密。首先恢复原来用户的配置文件,然后创建一个与丢失用户相同的用户名,设置相同的密码、SID号。SID是标识用户、组和计算机账户的唯一的号码,在第一次创建账户时系统将给它发一个唯一的SID,Windows系统正是通过SID验证用户,因此如果SID号不同,即使创建了相同用户名、密码的账户,仍然无法打开原先加密文件。重启计算机创建与丢失账户相同用户名、密码的账户。用新创建的账户登录系统,加密任意一个文件后注销(加密文件后才产生密钥),使用其他管理员账户登录系统,将第一步恢复出来的配置文件替换新创建用户的配置文件。最后重启计算机使用新创建用户登录系统,就可以解密原先加密文件,因为Windows误认为这个新建用户是原来的用户。
Windows特有的加密文件系统,能够在一定程度上实现对数据的加密,阻止未授权用户访问数据,但也存在许多漏洞。本文介绍的一些解密方法和技巧对系统数据恢复有一定的帮助,但最可靠的操作还是用户自己及时备份个人证书,以保证个人的加密文件不会无法打开。