【问题标题】:Can you decrypt incoming SSL traffic?您可以解密传入的 SSL 流量吗?
【发布时间】:2014-08-05 14:17:56
【问题描述】:

有一个与此类似的问题,但它询问您是否可以简单地使用证书解密 SSL。

所以我的问题是,如果您使用 Wireshark 从设备捕获所有流量,那么您是否应该至少有足够的信息来解密传入流量?我听说的是服务器发送了一个公钥,计算机使用该公钥生成一个对称密钥来加密只能在服务器上解密的数据。但是,如果一切都是加密的,浏览器如何解密传入的流量呢?那不能被拦截吗,或者浏览器如何能够解密服务器发送的内容?

我也使用了 Fiddler,当我在 facebook 和其他东西上时,Fiddler 似乎可以读取 https 流量,那么它到底是如何工作的呢?

【问题讨论】:

  • 实际上并未发送密钥。它们嵌入在浏览器本身中。因此,我们需要在共享新 ssls 时定期更新浏览器。
  • 这只是一些基本信息.. 我希望有人为您的问题提供一个很好的描述
  • 这个问题似乎离题了,因为它与编程无关。也许Super UserInformation Security Stack Exchange 会是一个更好的提问地点。
  • Secure Socket Layer (SSL) 上查看 Wireshark 维基。您需要 premaster secret 来派生连接中使用的六个密钥(加密密钥、HMAC 密钥和初始 IV)。

标签: ssl encryption cryptography fiddler wireshark


【解决方案1】:

公钥和私钥(非对称加密)用于生成双方相同的共享密钥(对称加密)。造成这种情况的原因之一是对称加密比非对称加密快得多。

Wireshark 可以解密 SSL 流吗?是的 - 即使数据是为浏览器准备的,Wireshark 也可以解密它,如果加密密钥 can be provided:

SSL 解析器功能齐全,甚至支持高级 如果加密密钥可以是 SSL 的解密等功能 提供并且 Wireshark 是针对 GnuTLS(而不是 OpenSSL 或 bsafe)。这适用于 RSA 私钥。

这可能有点麻烦,但这是必要的,因为 SSL 旨在用于端到端加密,这意味着只有浏览器和服务器应该能够解密消息。

编辑: Fiddler 能够通过充当您的请求的代理来解密您的 SSL(wireshark 不这样做)。

【讨论】:

  • 抱歉,我的对称密钥语法搞错了。我也刚刚修复了那部分。所以我的理解是浏览器有一些内置的解密代码来解密其他程序没有的传入流量?
  • 我误解了那个问题的上下文,但是你是对的。我将删除该部分以避免任何混淆。
【解决方案2】:

Fiddler 充当中间人:它将自己生成的证书连同自己的私钥/公钥对发送给客户端。因此,当客户端向 Fiddler 发送对称密钥时,它会使用与 Fiddler 本身已经拥有的私钥匹配的公钥。请参阅What is point of SSL if fiddler 2 can decrypt all calls over HTTPS? 以了解如何将浏览器配置为允许此操作。

Fiddler 获得解密后的流量后,将请求重新发送到服务器,将服务器伪装成客户端,使用服务器的公钥加密一个新的对称密钥,用于从 Fiddler 与服务器通信。

[Client] -FiddlerPublicKey(SymmetricKey1)--> [Fiddler] -ServerPublicKey(SymmetricKey2)--> [Server]

相比之下,Wireshark 可以在您向其提供服务器的私钥时解密流量;它可以查找客户端发送对称密钥的消息,并使用服务器通常持有的(通常是秘密的)私钥对其进行解密。

【讨论】:

    【解决方案3】:

    没有。如果您拥有所有流量,则无法解密。即使您拥有证书的私钥,私钥也仅用于身份验证。通信程序(服务器和您的浏览器)在握手期间生成用于加密流量的密钥。因此,您的浏览器在内存中拥有加密密钥,它允许它解密流量。在同一台机器上运行的其他程序不会拥有它们。这包括 Wireshark。

    如果您有私钥,那么您可以发起中间人攻击(即您本质上是一个代理)。在这种情况下,您(或任何程序,例如 Fiddler)将生成加密密钥,因此它可以解密流量。

    总而言之,您需要主动攻击者而不是被动攻击者。刚刚复制了会话期间传输的所有数据的被动攻击者即使给出了双方的长期私钥(即证书的私钥)也无法对其进行解密。

    编辑:澄清一下,如果使用错误的密码套件,那么知道 RSA 私钥确实可以解密流量。这就是为什么应该使用临时 DH 套件的原因。发布 Heartbleed,这有望成为常态。

    【讨论】:

    • 如果您拥有服务器私钥、所有记录的流量以及未使用 PFS 密码套件(例如 DHE),您可以解密通信。跨度>
    • 是的,这取决于 AKE 协议。我假设服务器正在使用相当现代的服务器。
    • 这不是真正的现代问题。即使是现在,也不是所有服务器都启用 DHE。
    • 不幸的是,这是真的。从纯密码学的角度来看,很遗憾在实践中大量使用了相当古老的算法。换句话说,我指的是现代 AKE 协议中的现代,而不是服务器中的现代。
    猜你喜欢
    • 2013-05-27
    • 1970-01-01
    • 1970-01-01
    • 2013-07-22
    • 1970-01-01
    • 1970-01-01
    • 2017-01-15
    • 2016-12-03
    • 1970-01-01
    相关资源
    最近更新 更多