我有兴趣使用 CrashPlan 备份我的个人电脑和网络服务器。
据我了解,CrashPlan 支持 3 个级别的数据安全:
- 使用 CrashPlan 提供的密钥在本地加密文件。CrashPlan 以(本质上)纯文本形式保存密钥。因此他们可以清楚地看到您的文件。
- 使用“存档密钥”在本地加密文件(存档密钥是根据密码在本地生成的密钥)。CrashPlan 服务器只能看到哈希和加盐形式的存档密钥,因此他们大概无法查看您的文件。
- 使用自定义密钥在本地加密文件。用户定义密钥,并且该密钥永远不会离开本地计算机。
选项 2 和选项 3 之间的区别似乎在于,在选项 3 中,我需要保留此密钥文件的副本,这很麻烦(与密码相比)。我的问题是:选项 3 有多安全?
如果我有一个 448 位散列和加盐密钥,并且我有加密文件,那么攻击和解密文件有多难?
如果攻击者知道一些未加密的文件是什么样子的,这个任务会变得容易多少?(例如,如果我将我的整个磁盘上传到 CrashPlan,并且它包含一些标准的 Windows 系统文件,每个攻击者大概都知道这些文件的前后图像)。
他们使用的密码是 Blowfish。
另外,CrashPlan 是否只加密文件主体,还是也会隐藏文件名?我希望避免未来基于云的版权执法机器人起诉。
答案1
448 位是非常多熵。为了与密钥的安全性相匹配,密码必须提供类似的熵水平。如果两者之间的熵存在任何显著差异,攻击者就会选择攻击熵较小的一方。
我不记得确切的数字,它可能因语言而异,但自然语言每个字符的熵在 1 到 2 位之间。
因此,要达到与真正随机的 448 位密钥类似的安全级别,您需要一个长度约为 300 个字符的密码。它还必须不为他人所知,或未被他人使用过,因此名言、您最喜欢的书中的名言等几乎是不可能的。这可能是有人会扔出破解器试图使用的第一个东西。
相比之下,要获得所需的熵值,您需要一个长度与上一段相当的密码短语。而且您必须每次都能 100% 正确地输入它,而且很可能看不到自己输入的内容。
对于由 85 个字符组成的真正随机密码(例如 Base85 集),每个字符大约需要 log2(85) ~ 6.4 位。因此,要达到 448 位,您需要大约 70真正随机来自 85 个字符集的字符。
不管熵池是否真的有那么多熵,你都需要记住密码,并保证其安全。我敢说你甚至连一个 70 个字符的真正随机密码都记不住,这个密码几乎由 ASCII 集中的所有可打印字符组成。
还有一个问题是人们会选择什么样的攻击媒介。没有人会通过暴力破解尝试解密来攻击 448 位密钥;由于简单的物理学原理,目前,甚至可能永远,人类都无法做到这一点。对此类加密的任何攻击都将通过其他方法进行,无论是旁路攻击、橡胶软管加密(例如 XKCD)、直接盗窃(不要笑!)、比暴力破解更有效的密码攻击,还是其他什么。这是很多雇佣几个暴徒闯入你家并偷走你的笔记本电脑比攻击正确实施的 128 位对称加密更容易。
这引导我们:
选项 2 和选项 3 之间的区别似乎在于,在选项 3 中,我需要保留此密钥文件的副本,这很麻烦(与密码相比)。我的问题是:选项 3 有多安全?
实际上,对于这两种选择(安全密码在本地加密文件,安全密钥文件在本地加密文件),您都必须保护密钥材料的副本。因此,从“它有多麻烦?”的角度来看,它们大致相似。从安全的角度来看,这取决于秘密材料(密钥文件或密码)中的熵量。
所以:
如果你担心有人可以访问你在 Dropbox 上的文件,然后使用本地存储的密钥文件并在上传前加密文件。这样对您来说会更方便,但如果对手能够访问您的计算机,他们当然会拥有密钥文件。您可以通过将密钥文件与更简单的密码或密码短语相结合来部分解决这个问题。
如果你担心你的电脑被盗,然后使用一个强密码,这个密码不存在,并且除了该特定用途之外从未存在于您的计算机上。这将给攻击者带来更大的困难,因为他们需要说服您透露密码。请注意,这样做并不困难;一些关于保护恐怖分子的人会发生什么的提示,或者向一些位置良好的媒体联系人暗示一个符合您描述的人正在接受虐待儿童的调查,或者诸如此类的事情,可能就足够了。
如果你对两者都担心,然后同时使用两者,假设软件允许您这样做。
答案2
回答这个问题,我认为选项 3(自定义密钥)是最安全的,前提是自定义密钥由真正随机的字符组成。CrashPlan 也将其评为最安全的选项(见下面 CrashPlan 信息链接后的表格)。
然而,在我看来,选项 2 和选项 3 之间的三个重要区别被忽略了:
区别 1 - 更改存档键或自定义键 选项 2 允许更改存档密钥而不会使早期备份失效。这样做的原因是因为存档密钥不用于加密文件;存档密钥是存储用于加密文件的密钥的保管库的密钥。对于选项 3,如果您想更改自定义密钥,这将使所有早期备份失效。您将无法访问这些备份,并且需要重新开始。
区别 2 - 多台计算机使用同一个 CrashPlan 帐户 选项 2 要求在参与同一个 CrashPlan 备份帐户的所有计算机上使用相同的存档密钥。选项 3 允许参与同一个 CrashPlan 备份帐户的每台计算机拥有自己的自定义密钥。
区别 3-密钥的存储 当使用选项 2 和 CrashPlan for Home 帐户时,(安全)存档密钥将存储在目标位置以允许访客访问。使用选项 3,自定义密钥永远不会存储在任何地方(除非您自己决定存储它)。
来源:参见http://support.code42.com/CrashPlan/Latest/Configuring/Archive_Encryption_Key_Security
答案3
加密文件的安全性仅与密码的安全性相同。
您需要一个相当长且随机的密码才能获得与 448 位密钥相同的安全性,因此您大概还需要在某处保留一份副本。所以在我看来,选项 2 和 3 大致相同。
由于整个网络上的安全站点都遭到黑客攻击,我不会相信选项 1,因为只要您小心谨慎,CrashPlan 对黑客来说就是比您的计算机更具吸引力的目标。
这可能就是我推荐选项 3 的原因,尽管这也取决于 CrashPlan 软件是否被黑客入侵。
CrashPlan 或任何其他类似产品都无法保证绝对安全。一旦您的计算机或软件被攻破,您的安全就荡然无存。只能设置多重屏障,而对于黑客来说,这些屏障可能不值得他们费力破解。
例如,在用 CrashPlan 重新加密之前先加密文件,或者如果总卷不是太大,则将它们保存在 TrueCrypt 卷中并存档该卷(这需要一个密码,而不是两个密码)。这将避免攻击者识别其已知的文件并更容易推断出密钥的情况。