【发布时间】:2017-12-28 06:28:09
【问题描述】:
我想知道为什么ssl加密的数据一旦被截获就不能轻易破解。据我了解,当您连接到像 facebook 这样的网站时,浏览器和网站就密码达成一致,是什么阻止了嗅探器看到他们同意的密码?
【问题讨论】:
我想知道为什么ssl加密的数据一旦被截获就不能轻易破解。据我了解,当您连接到像 facebook 这样的网站时,浏览器和网站就密码达成一致,是什么阻止了嗅探器看到他们同意的密码?
【问题讨论】:
SSL 使用非对称加密,这意味着解密密钥与加密密钥不同。因此,如果您作为客户端使用服务器的公钥加密您的数据包,则只能由保留在服务器上的私钥解密。当然,这是对 SSL 事务中发生的所有事情的简化,但这是概念的基础。
【讨论】:
想象一下向对方发送一个带有打开挂锁的盒子 - 当对方想要发送消息时,他们将其放入盒子内,锁上挂锁并将其发送回您,在那里您使用您的(私人)钥匙来解锁它。即使拦截方看到挂锁,他们仍然没有钥匙。
【讨论】:
有很多方式来描述它。对我来说,我啊哈哈的时刻是我发现,在信息被多次加密后,它可以以任何顺序解密。
嗅探器会看到以三种不同方式加密的消息:[A]、[AB] 和 [B]。
这是交换一条消息的三个消息传递,但是一旦通过并且双方都有唯一信息来解密进一步的通信,以后的消息只需要一次。
如果您想要一个简单的示例来说明如何以任意顺序解密消息,您可以使用 XOR 作为示例加密方法。对于key A和B,message M,XOR是^,那么
【讨论】:
Facebook 使用 Facebook 从 RapidSLL 等证书颁发机构获得的证书对其包进行签名。
只要您相信他们为 facebook.com 颁发的所有证书确实属于 facebook.com 的证书颁发机构,连接就是安全的。
Facebook 然后通过签名消息向您发送公共加密密钥,您可以使用它来加密您的消息以供 Facebook 阅读。
【讨论】:
是的,密码是公开的。但是,客户端使用 Facebook 的公钥对随机会话密钥(或者更确切地说是前体)进行非对称加密(他们通过检查它是否由受信任的人签名来验证它确实是 Facebook 的密钥)。因此,只有 Facebook(拥有私钥)才能推导出用于交换网站数据的实际对称密钥。
看到这个detailed walk-through。在该示例中,窃听者可以判断连接使用 RSA、RC4 和 MD5。但他们没有 Amazon 的私钥,因此无法派生会话密钥。
【讨论】:
就像 Derek H 所说,对称加密和非对称加密之间存在根本区别。查找 DH 密钥交换协议和 RSA 密码之类的东西,它们是 SSL/TLS 的基础。另一方面,解密嗅探到的数据相对容易(ROBOT attack)。
如果您只需要确保您的通信是安全的,您可以简单地使用SSL/TLS Server Test,在那里您可以查看您是否没有使用推荐的算法或查看您的 SSL/TLS 配置是否为 PCI-DSS/HIPAA/符合 NIST 标准。
【讨论】: