为什么第三方无法解密 HTTPS 流量?

信息安全 tls http
2021-08-19 03:08:49

我真的不太了解HTTPS。但我总是听到人们说它是 100% 安全且防弹的。
我的问题是:这是真的还是可能的。

我的意思是有很多工具可以让您读取与您在同一网络中的所有其他设备的互联网流量。
那么证书和加密如何帮助实现这种防弹呢?

不是总是可以像客户端那样解密 HTTPS 数据包吗?
我的意思是双方(客户端和服务器)必须知道某种密钥才能正确加密/解密数据,因此创建密钥的人必须将其发送给另一方。网络嗅探器不应该能够拾取吗?

3个回答

好吧,在现实世界中,实际上可以对 SSL 执行中间人攻击,称为 ssl 剥离。这是最简单的例子。它取决于这样一个事实,即大多数对 HTTPS 页面的遍历是由于从不安全的纯 HTTP 重定向而发生的。

当您询问是否可以像客户端一样解密数据包时,这是您所描述的攻击类型 - 答案是肯定的,将您自己置于客户端和服务器之间并与每个客户端协商您自己的 SSL 连接他们。虽然这种攻击很老且易于缓解,但它仍然非常危险和直接。这是首次提出攻击的谈话 - http://vimeo.com/50018478

一种不同形式的 MITM 攻击,但只是此类攻击如何影响我和你的一个示例:https ://productforums.google.com/forum/#!topic/gmail/3J3r2JqFNTw/discussion和http://googleonlinesecurity。 blogspot.co.uk/2011/08/update-on-attempted-man-in-middle.html

在构成 TLS/SSL 的不同组件上还有一整套攻击,例如 RC4 流密码。更多信息:https ://www.isecpartners.com/media/106031/ssl_attacks_survey.pdf

编辑:有关 SSL 实际工作原理的出色技术描述,将我以上所有帖子置于上下文中,请参见此处:SSL/TLS 如何工作?

编辑:上面我说过可以减轻 MITM 对 SSL 的影响,但我没有提供资源,所以这是一个糟糕的答案:(有关如何使 SSL 变得更健壮的更多详细信息,请参见此处:什么是证书固定?

最终编辑:这也是您原始问题的绝佳答案https://stackoverflow.com/questions/14907581/ssl-and-man-in-the-middle-misunderstanding

为什么有人不能解密 HTTPS 流量?它在“公钥加密”中发送一个秘密“加密秘密”。

所以要回答你的问题,你需要了解

  1. 加密
  2. 公钥密码学。

大多数加密来自One Time Pad的创新,它有一些限制,您将在学习 OTP 时了解这些限制。有很多方法可以让 OTP “更好”,每种方法都有不同的成本和收益。

接下来,您需要熟悉公钥密码学。这背后的假设是,它使用非常非常困难的数学,即使是当今最好的计算机也无法破解。

当今使用的非常难的数学问题之一称为 RSA有更多公式可供选择,但要了解更多信息,您可以通过笔和纸示例保持简单。

所以简短的回答是数学保护发送给接收者的加密密钥。如果第 3 方观察者看到这种通信,他们将需要功能强大的计算机来找出那个密钥……到那时,(在 30 年、50 年或更长时间内)这些信息将一文不值。

“双方必须知道的密钥”(也称为会话密钥)源自所谓的预主密钥(随机数),该密钥使用公钥密码术进行交换证书只是带有一些额外信息的数字签名公钥。使用此公钥,客户端能够加密只有服务器才能使用相应的私钥解密的消息。