密钥强化的原因是密码没有密钥预期的那么多熵。破解密钥所需的时间与可能的密钥数量成正比。加强密码使用的算法通过增加比例常数来补偿较差的熵。但差距如此之大,强化无法弥补。具有 64 位熵的密码很难记住——即 10 个随机可打印的 ASCII 字符(如果您开始强加令人难忘的功能,熵会下降)或 14 个随机小写字母,但要达到 128 位的“破解难度”,这对应于对称加密最常见的密钥大小,你需要一个惊人的 2^64——大约一个世纪的 CPU 时间。
在您的场景中,一个容易记住的密码是错误的方法。这将是您很少使用的密码,但需要非常强大,因此难以记住。
使用随机密钥,而不是密码派生密钥,并将其打印出来。将打印输出存放在安全的地方。
如果您使用的软件需要密码,请生成一个熵与密钥一样多的随机密码。20 个 ASCII 可打印字符,或 28 个随机小写字母,或类似的东西,给你 128 位的熵。如果技术发展到可以破解的程度,那么您加密的密钥可能无论如何都不再安全了。由于您的密码具有足够的密钥熵,因此您无需加强它。再次打印出来。
一旦你走这条路,你还不如打印出原始密钥而忘记上传它。但是添加间接级别确实有优势。这意味着攻击者需要获取加密密钥的副本和密钥加密密钥的副本。通过这种分离,如果其中一个部分受到损害,您可能有时间在第二个部分也受到损害之前采取行动。您还可以将密钥加密密钥存储在几个单独的部分中。有一些秘密共享算法允许将密钥分成n块,以便可以从任何k块中恢复它件,但不少。如果您想保持简单,您可以生成多个密钥加密密钥,上传使用每个密钥加密的主密钥,然后拆分密钥加密密钥并分派各个部分,以便恢复整个事物需要多个地方.