在WireShark

时间:2018-04-17 16:01:56

标签: wireshark

我找不到确切的答案。 在类似的主题中,人们说没有私钥你就无法查看HTTPS响应,但我很惊讶,为什么需要密钥呢?例如,当浏览器请求https://example.com时,它可以读取查看它的html输出。

我想在WireShark中使用相同的内容(我的一个程序读取来自https://example.com的响应,并希望仅查看该页面的输出HTML)。但是,我无法理解为什么这个简单的任务需要私钥?

1 个答案:

答案 0 :(得分:1)

如果您不需要知道私钥,攻击者也不需要它 - 那么任何人都可以读取包括登录信息,信用卡号,照片等在内的任何HTTPS流量。和你在一起的网络(有人听wi-fi流量),或你和服务器(ISP)之间的任何地方。这将是一场灾难。

为此目的创建了HTTPS(或更具体地说是TLS) - 能够安全地与远程方通信,而无需在通往远程方的途中完全信任每个节点。它依赖于公钥加密,这使得用公钥加密消息很容易,但在不知道私钥的情况下反转加密极其困难(或几乎不可能)。

通过HTTPS与服务器通信的浏览器根据安全交换的密钥创建链接。只有服务器和浏览器知道这些密钥,因此只有服务器和浏览器才能相互发送和接收消息。

Wireshark即使在您的计算机上运行,​​也不会作为浏览器的一部分运行,因此不知道服务器和浏览器达成一致的密钥。所以它不可能读取流量。

要知道即使有人(Wireshark)可以读取浏览器与服务器交换的所有数据,也可能会有些惊讶,但它不会知道浏览器和服务器达成一致的密钥。

  

传统上,双方之间的安全加密通信要求他们首先通过某些安全的物理信道交换密钥,例如由可信赖的快递员传送的纸质密钥列表。 Diffie-Hellman密钥交换方法允许彼此不具有先验知识的两方在不安全信道上共同建立共享密钥。然后,可以使用此密钥使用对称密钥密码加密后续通信。

     

Diffie-Hellman key exchange, Wikipedia