是否有可能有一个不能用于解密的加密密钥?

信息安全 加密 密钥交换
2021-09-03 04:54:42

例如,服务器可能有一些加密的日志或存储或诸如此类的东西,仅供以后参考。这样即使服务器被黑客入侵,一切仍然正常,直到黑客想出一种在加密前拦截数据的方法。

另一个例子是基本的浏览器 HTTPS/TLS 模型,它需要安全地与未知服务器通信,并且它们没有事先的密钥交换,没有窃听者获得必要的密钥。我几乎在这个问题上得到了答案:SSL 有多安全?,但在我理解之前我还有更多的阅读要做,但最引起我注意的是最后一个答案(没有赞成或评论,只是一个高代表用户)

无论它是否与 SSL 有关,以及最后一个答案是否正确,我还想知道是否可以创建一个需要蛮力解密的仅加密密钥。我还不明白这怎么可能。

这个问题是本周的 IT 安全问题
阅读 2011 年 9 月 30 日的博客文章了解更多详情或提交您自己的本周问题。

2个回答

您指的是非对称加密。密钥用于加密,单独的密钥用于解密。

您将使用加密密钥(即公钥)来加密传入的日志文件,而解密密钥(即私钥)存储在不同的服务器/系统/等上,因此无法解密日志。

一些很好的引物:

  1. 非对称与对称加密
  2. 对称密码和摘要算法的安全声明背后的数学模型是什么?
  3. 什么是私钥加密和公钥加密,它们在哪里有用?

我想添加到SteveS的答案......

简单地使用公钥/私钥对来加密您的日志可能会使您面临许多您意想不到的潜在问题。例如:

  • 您使用传统的 PGP 方法:文件的开头是对称密钥,然后进行对称加密。如果在应用程序打开时从应用程序中恢复对称密钥,则日志是可逆的。不过,这可能是最好的选择。
  • 仅使用非对称加密,如果您不填充消息,您将处于危险之中。通常对于日志,您希望在消息进入时立即写入消息,因此您将为每个条目执行写入。如果没有某种填充或初始化(非对称加密几乎从来没有任何类型的 IV),人们可以通过利用日志条目的常规格式和测试可能的条目以确定它们是否存在来攻击日志条目。
    • 如果填充,所有条目都是固定大小。有人可以判断日志条目的可能数量。
    • 如果您使用对称分组密码,可能会出现相同的填充问题和信息泄漏。
      • 您可以通过将最后一个块存储在内存中并用新日志条目重写旧日志条目的填充区域并在磁盘上重写该块来解决这个问题。
      • 您可以通过使用流密码来解决这个问题。

我认为最简单的情况是使用带有对称流密码的 PGP 样式加密和每个日志文件的新对称密钥。