Windows系统EFS加密/解密原理介绍
作者:互联网
EFS加密是windows系统自带的加密方式,一个系统用户对文件加密后,只有以该用户的身份登陆才能读取该文件。EFS加密的文件和文件夹名字颜色是绿色,或者在该文件或文件夹的高级属性是加密属性。这样做在很大程度尚提高了数据的安全性,但是如果秘钥文件丢失或者重装系统就会导致加过密的文件不能打开,今天的教程主要介绍的就是如果电脑使用ESF加密后却因为其他原因导致无法打开文件,我们应该怎么解密。
EFS加密原理介绍
- 要想解密,我们首先要了解是怎么加的密,下面介绍EFS加密原理。
- 当我们使用EFS对一个NTFS文件进行加密时,Windows系统会生成一个伪随机数FEK(也就是文件加密的钥匙),用这个FEK对文件进行加密同时将文件的原位进行覆写,随后系统利用公钥再进行一次对FEK的加密,加密后的FEK存储在加密文件的EFS属性中。
- 用户访问被加密的文件时,系统是利用私钥先解密FEK,再使用FEK解密文件,这里我们所说的公钥和私钥统称为秘钥,如果用户登录到了域环境中使用,那么决定秘钥生成的是域控制器,如果用户没有登录域环境,那么秘钥的生成依赖于本地机器。
- 通常情况下要解密EFS加密的文件需要依赖于用户私钥,私钥保存在Windows分区的Documents and Settings\%UserName%\Application Data\Microsoft\Crypto\RSA\%UserSID%路径下,这个SID是一个安全的标识符,用来表示账号唯一特征,在账号创建时由Windows系统分配。Windows系统为保护私钥还会对私钥再进行一次加密,称为主密钥,主密钥位于Windows分区的Documents and Settings\%UserName%\Application Data\Microsoft\Protect\%UserSID%,然后再用用户密码生成的密钥对主密钥进行加密。
- 简单对上述这一加密过程进行归纳就形成了“用户密码->主密钥->私钥->FEK->EFS加密文件”的加密链。如果想要对EFS进行解密,我们需要得到的信息包括用户密码、主密钥、私钥。
EFS无秘钥情况下解密思路
- 查看现有系统占用空间情况,查找或重组加密FEK的私钥、主密钥、
- 查看现有mft文件目录的占用空间,根据用户密码进行校验匹配,解密用户文件,
- 对解密出来的文件进行校验和逻辑分析,提取所需数据即可。
- 如果使用EFS对文件进行了加密,应该及时将秘钥进行备份并妥善保管。
- 如果EFS秘钥文件丢失应停止继续使用计算机,降低秘钥被覆盖的可能。
标签:文件,私钥,Windows,EFS,解密,FEK,加密 来源: https://blog.51cto.com/sun510/2456317