0

我正在设计一个系统,其中有可能将 SSL 证书丢失给攻击者。

但我不清楚如果证书被泄露,所有的攻击都是可能的?

  1. 中间人攻击
  2. 冒充攻击

我想继续使用 SSL 证书来加密通信通道(即防止中间人攻击)

对于身份验证,我想根据查询用户异步将数据发送到预定义的端点(非常类似于我们或攻击者尝试重置登录凭据时获取电子邮件通知的方式)

这来自于一个进程如何进行身份验证并与同一主机上的另一个进程安全通信

4

2 回答 2

1

据推测,您不仅在谈论丢失证书,而且在谈论其私钥被泄露。

在这种情况下,拥有私钥的人可以执行 MITM 攻击,前提是他们也有能力这样做。

我将澄清我的问题,用户和攻击者使用相同的公钥和私钥对是否会导致每次生成相同的对称密钥,或者密钥对用于为每个通信通道生成随机对称密钥,在这种情况下中间人攻击被阻止

为每个连接生成随机对称密钥(除非重复使用 SSL/TLS 会话,但这更多的是关于优化,不同的客户端或在一段时间后完成的连接将具有不同的对称密钥)。每次都拥有新的对称密钥当然不能单独防止 MITM 攻击,因为新对称密钥的协商是通过证书进行身份验证的:这就是防止 MITM 攻击的原因。

如果您真的担心从您的机器上复制您的私钥,您可以使用 HSM 模块(Java 支持 PKCS#11)。

话虽这么说,因为您似乎假设有人可以对您的机器执行 MITM 攻击,使用同一台机器上的两个进程之间的通信,听起来您假设您的机器受到了损害。在这种情况下,您成功使用 SSL/TLS 保护您要保护的内容的机会是有限的。听起来一般方法存在更大的问题。

于 2012-10-08T08:45:09.733 回答
0

我将澄清我的问题,用户和攻击者使用相同的公钥和私钥对是否会导致每次生成相同的对称密钥,或者密钥对用于为每个通信通道生成随机对称密钥,在这种情况下中间人攻击被阻止

根据客户端和服务器选择的随机数,为每个 SSL 会话生成新的对称密钥。(实际上在一个 TLS 会话中使用了几种不同的对称密钥,用于不同的加密服务,以及用于每个通信方向。)

于 2012-10-08T16:17:13.110 回答