当涉及到数据的真正安全性时,单纯地谈论AES加密并没有多大意义。因为在正确的时间和正确的位置实施加密与选择强大的加密凭据和管理加密密钥一样重要。
如果你是Windows用户,那么一切都取决于你在特定使用场景中选择的最佳数据保护策略,以保护你的存储媒体和保存在其中的数据。
确定保护目标
在开始考虑加密硬盘驱动器和文件之前,一定要确定你的保护目标。比如你想保护哪些信息?你认为哪些威胁很重要,哪些不太重要?
全盘加密第一部分:保护启动设备
如果不保护启动设备,就不可能获得可靠的系统保护。未加密的启动设备(大多数系统上的磁盘C:在大多数系统上为磁盘)允许过多的攻击方式,从休眠和页面文件分析到从Web浏览器库中即时提取存储的密码。换句话说,使用BitLocker保护启动设备是绝对必要的首要步骤,也是最重要的安全层。
可用性:Windows 10 Professional及更高版本,支持TPM2.0、Intel PTT或组策略编辑;在轻型设备中用于设备加密的所有Windows版本均满足最低要求。
注意:尽管Windows 10 Home不能在本地创建新的BitLocker卷,但它可以使用完全读写访问权限解锁BitLocker加密的驱动器。
物理访问,只针对硬盘:强大的保护;
物理访问,整个计算机:非常复杂;
同一台计算机上的其他用户:不适用;
恶意软件或勒索软件:不适用;
网络攻击:不适用;
使用场景:保护数据免受物理提取;
如果你的计算机满足要求(即存在硬件TPM2.0模块或基于软件的Intel Platform Trust技术),则在计算机上启用BitLocker就像打开“控制面板”并启动BitLocker驱动器加密小程序一样容易。请注意,并非Windows 10的所有版本都可以使用BitLocker保护。我们强烈建议你阅读此文: 《BitLocker介绍:保护系统磁盘》。
在针对物理提取保护数据时,有哪些注意事项?事实是,尽管BitLocker对于保护光驱几乎是100%有效的解决方案,但如果入侵者能够访问安装了硬盘驱动器的整个计算机,它可能就不那么安全了。即使您的计算机配备了TPM2.0/Intel PTT模块,如果满足安全启动条件,Windows仍将解锁加密的硬盘驱动器。反过来,这又增加了攻击媒介,可能允许入侵者拦截正在运行的BitLocker加密密钥并解密硬盘驱动器。这些攻击途径包括:
1. 制作一个正在运行的计算机的RAM映像,并安装BitLocker卷。这可以通过Thunderbolt攻击(默认情况下,Windows不会在锁定时禁用Thunderbolt DMA访问)或冷启动攻击来实现。
2. 破解或提取你的Windows登录密码,例如从你的谷歌帐户、你的智能手机或从你已登录并同步数据的另一台计算机中提取。
3. 从你的Microsoft帐户或Active Directory获取BitLocker恢复密钥。
在此,推荐你阅读这篇文章:《BitLocker恢复指南》。
全盘加密第二部分:保护外部存储设备
BitLocker不仅可以保护启动设备,还可以加密其他卷上的数据(内置的和可移动的)。 BitLocker使用BitLocker To Go(基于密码的加密算法)保护外部存储设备,除了密码外,使用BitLocker To Go加密的外部驱动器还可以选择使用“控制面板”中的BitLocker驱动器加密来使用另一台计算机上的智能卡进行解锁。最后,用户可以选择使其加密的外部设备在连接到(受信任的)计算机时自动解锁。
加密外部设备:Windows 10专业版和企业版;
访问BitLocker加密的设备:尽管Windows 10 Home无法使用BitLocker本地加密驱动器,但它可以访问具有完全读写访问权限的BitLocker加密的驱动器;
物理访问,仅针对设备:与你的密码一样有强大的保护;
物理访问,针对整个计算机:非常复杂(如上所述);
注意:如果启用了“在此PC上自动解锁”选项,则实际上没有任何保护。
同一台计算机上的其他用户:如果脱机/未安装,则提供强大的保护;
恶意软件/勒索软件:如果离线/未安装,则提供强大的保护;
在线攻击:如果离线/未安装,则提供强大的保护;
使用场景:保护存储在外部存储设备(例如外部驱动器机箱,USB闪存驱动器等)上的数据。
与系统驱动器加密不同,BitLocker To Go不支持多因素身份验证。这意味着你不能将TPM保护用作其他身份验证形式。但是,可以将BitLocker To Go设备插入受信任的计算机时自动将其解锁,这会带来明显的安全隐患。
全盘加密第三部分:使用第三方加密容器
如果你正在考虑使用诸如VeraCrypt或PGP之类的加密容器,那么你可能知道它的优点以及如何使用它,我将添加一些在设置加密时不太明显的东西。
可用性:VeraCrypt可在大多数相关平台上使用;
物理访问,仅针对硬盘驱动器:除非配置错误,否则保护非常强;
错误配置的示例:当计算机进入休眠或休眠状态时,卷将保持挂载状态;锁定计算机后,卷将保持安装状态(安全性与便利性之间的关系);使用安全密钥(例如USB闪存盘)和没有密码(如果找到USB闪存盘)解锁的卷。
使用场景:保护数据免受物理提取;
加密算法的选择
诸如VeraCrypt之类的加密容器提供了多种(实际上是多种)加密算法的选择,范围从行业标准AES到一些非常奇特的算法(例如Serpent或Kuznyechik)。问题是,加密算法的选择不会影响你数据的安全性,除非你选择的算法存在已知或可疑的漏洞。
加密算法的选择不会影响数据的安全性,单轮AES-256加密的安全性与Serpent(AES)或Serpent(Twofish(AES))完全一样。而且,加密的选择甚至不会影响恢复速度(对你的密码进行暴力攻击的速度)!
考虑到AES是所有合理的现代处理器中唯一的硬件加速加密算法,因此选择除AES-256之外的任何加密算法都将不必要地减慢你的读写速度,而没有提供任何其他安全优势。
如果选择除AES以外的加密算法,会对安全性有什么影响呢?
哈希算法的选择
VeraCrypt加密或解密数据时,它使用二进制加密密钥执行对称加密操作。该媒体加密密钥(MEK)与加密的数据一起存储,媒体加密密钥(MEK)使用密钥加密密钥(KEK)进行加密,而密钥加密密钥又是对用户密码执行多次(数十万次)迭代哈希操作的结果。
换句话说,当你输入密码时,加密容器将执行某个哈希函数的计算,并重复该操作十万次或更多次,以故意减慢暴力攻击的速度。
如果要使加密的卷更安全,可以更改以下3项中的一项:
1. 增加哈希迭代次数;
2. 不要使用默认值;
3. 选择较慢的哈希函数。
VeraCrypt允许通过调整PIM(个人迭代乘数)来修改哈希迭代次数,具体方法请点此。 PIM值控制用于从你输入的密码派生加密密钥的迭代次数,可以通过密码对话框或在命令行中指定此值,如果你不手动指定PIM值,则VeraCrypt将使用默认的迭代次数,这很糟糕。对于SHA-512或Whirlpool(两个推荐选项),VeraCrypt默认为Iterations = 15000 +(PIM x 1000)。
为什么要更改哈希迭代次数?因为攻击者将首先尝试使用默认值来破坏你的密码。攻击者用来暴力破解密码的大多数工具都会首先使用all-defaults进行攻击:默认加密算法(AES),哈希函数(SHA-512)和PIM。更改PIM值是在不增加密码复杂性的情况下大幅提高安全性的简便方法。在这种情况下,将哈希算法从默认(SHA-512)更改为Whirlpool也很有意义。
这就是我们选择了哈希算法的原因,VeraCrypt提供以下选择:SHA-512(慢速,不错的选择),Whirlpool(慢速,甚至更好的选择),SHA-256(慢速,但不如SHA-512慢,而是使用其他哈希值)和Streebog(未经测试)。选择Whirlpool非常有意义,因为它比SHA-512慢,因此将大大降低攻击速度。另外,这是非默认选择,这大大增加了攻击的复杂性。
文件系统加密:何时以及如何使用EFS?
如果你阅读Wikipedia上有关Microsoft加密文件系统(EFS)的文章,则会发现EFS已在NTFS 3.0中引入,以便提供文件系统级加密。这项技术使得文件可以透明地加密,以保护密码数据不被物理访问计算机的攻击者窃取。
但介绍了这么多,我们还是没有理解谁应该使用EFS,最重要的是为什么要使用EFS,以及加密文件系统所要保护的对象。
可用性:Windows 10的所有版本;
物理访问,仅针对硬盘驱动器:与Windows帐户密码一样强;
物理访问,针对整个计算机:同上;
同一台计算机上的其他用户:有效的保护;
恶意软件/勒索软件:不适用;
网络攻击:不适用;
使用场景:保护文档免受计算机其他用户的攻击;受BitLocker保护的驱动器上的额外安全层;不支持BitLocker的计算机上具有相当强,非常容易且完全透明的文档加密。
EFS保护什么,谁应该使用它?
加密文件系统的目的是保护你的数据不被共享你的计算机的用户窃取。如果你的计算机有多个用户,并且每个用户都有自己的Windows登录名而不是共享一个Windows帐户,那么激活EFS加密是保护你的文件不被其他用户访问的最简单方法。
EFS和BitLocker之间是什么关系,应该使用哪一个?
BitLocker保护你的整个系统卷,任何可以登录到你的计算机的用户都将解锁系统卷。如果用户具有管理权限或可以通过利用漏洞升级非管理员帐户,则其他人还可以访问存储在该计算机上其他用户帐户中的文件和文档。
另一方面,加密文件系统只保护选定的文件夹。例如,它不会保护你的即时通讯数据库或加密你的浏览历史。它主要用于保存你帐户中的文档,图片和视频。然而,EFS将有效地保护这些文件不受其他可以登录到你的计算机的用户的攻击,即使他们具有管理权限。
如果攻击者能够实际访问计算机,BitLocker是第一道防线,但仅仅依靠EFS来保护PC免受物理访问的攻击并不是最好的主意。其实,右键点击要加密的文件或文件夹,选择属性,然后点击常规选项中的高级按钮。在“高级属性”对话框中,选择“加密内容以保护数据”,然后点击“确定”即可。
Windows现在将用你的Windows登录凭据加密所选的文件或文件夹,不需要输入密码,也不需要保存加密密钥。
使用EFS加密有一定的缺陷,如果你忘记了Windows密码并必须通过单独的Administrator帐户进行重置(或者你的域管理员为你重置密码),则EFS加密密钥将会丢失,并且你将无法通过Elcomsoft Advanced EFS解密数据。请注意,你必须恢复Windows密码才能解密文件。但是,如果你仅按照正常步骤更改Windows密码(先输入旧密码,然后再输入新密码)),就可以了。
本文,我们介绍了各种加密算法的优缺点,下文我们将介绍如何选择合适的加密方式进行加密。
本文翻译自:https://blog.elcomsoft.com/2020/01/a-comprehensive-guide-on-securing-your-system-archives-and-documents/如若转载,请注明原文地址: