PKI、证书、证书颁发机构、前向保密的安全性

信息安全 密码学 tls 证书 公钥基础设施 证书颁发机构
2021-09-04 09:10:05

我想了解证书如何增加信息交换的安全性。

假设我在 Alice 和 Bob 之间有一个加密的双向连接,使用公钥/私钥对。只要我通过安全渠道确认公钥实际上属于预期的隧道末端,我就已经保护了来自 MITM 的连接。

证书带来什么安全性?理论上,我需要来自 CA 本身的证书,以确保来自该 CA 的其他证书实际上来自同一个 CA

另一个疑问;它还声明 SSL/TLS 支持完美的前向保密,因为 IKE 定期发生;我完全不明白这如何允许完美的前向保密;似乎如果您保存两个端点之间的所有数据包交换并且您碰巧强制发送接收密钥,这将暴露该会话期间发生的所有 IKE。可能这可以通过在多个会话中执行 IKE 来缓解,即在多个会话密钥下交换每个密钥,这意味着您需要破解多个密钥才能获取其他密钥

编辑我在这里添加了一个后续问题

2个回答

是的,如果您能确保使用正确的公钥,MITM 攻击就会被阻止。证书是一种公开密钥分发方法,可以准确地实现这一点。

证书的要点是,您只需要“知道” CA 公钥,以便能够验证 CA 颁发的所有证书——可能有数百万个证书,它也适用于由 CA 颁发的证书。 CA 将在下周发布因此,虽然证书并没有完全消除对信任源(先验已知的公钥)的需求,但它们充分集中了这种需求,从而解决了密钥分配的实际问题。

可以通过证书以外的其他方案来获得对公钥的信任;例如,SSH 通过缓存来实现(您信任服务器公钥,因为您可以验证它与您上次联系它时的密钥相同;在某种程度上,SSH 实现了时间信任集中,而证书则实现了空间信任)。

当您使用“DHE”套件(用于“Diffie-Hellman Ephemeral”)时,可以使用 SSL 实现完美的前向保密。这里重要的词是“短暂的”:保护会话对称密钥的实际私钥是动态生成的,从不存储(这些是 Diffie-Hellman 密钥);因此,这些密钥应该不会被泄露。存储的密钥(例如,在私钥文件中)仅用于签名,因此窃取它们并不能解密过去的对话(但它可以冒充服务器进行不可告人的对话)。PFS 不是关于实际的密钥破坏,而是关于密钥窃取,在实践中,这是一种更合理的攻击路径。

什么安全性将证书带到桌面上?理论上我需要来自 CA 本身的证书

是的,默认情况下,您的浏览器中已经存在(大量)CA 证书。当您下载包含浏览器的操作系统(或用于下载浏览器的分发包系统的证书)时,这仍然会留下初始引导问题。

我认为这种妥协比该列表中的 CA 签署伪造的服务器证书更容易注意到,除非它是链接案例中的高知名度站点。

另一个疑问;它还声明 SSL/TLS 支持完美的前向保密,因为 IKE 定期发生

请注意,虽然 SSL 支持完全前向保密,但出于性能原因,它通常被禁用。

安全属性不是基于频繁生成新会话密钥,而是基于使用Diffie-Hellman进行密钥交换。

如果攻击者既不能修改数据流两端的内容也不能修改目的地,DH 允许通过不安全的线路协商密钥。链接的 Wikipedia 文章很好地解释了 DH 的工作原理。很少有数学背景知识是可以理解的。

完美前向保密背后的想法是防止攻击者在将来可能会泄露私钥时解码旧记录的数据流。证书确保 Alice 正在与正确的 Bob 交谈。因此,在 PFS 场景中满足了 DH 的要求(无修改,无错误目标)。