如果攻击者在握手之前进行MIM攻击并完成攻击,请同时获得公共证书并作为听众行事。
而不是试图作为当事方的一项,只需阅读所有通信即可获得JWT令牌和其他有关用户在该网站上所做的信息的有用信息。
鉴于攻击者将能够在连接获得连接之前拦截证书,因此可以在完成握手后打开所有数据包,我错了?
可能吗?
是,是的,这取决于游戏中的其他一些元素...
在没有SSL证书的情况下,答案是肯定的!
如何?
让我们考虑一下两个同龄人是爱丽丝和鲍勃试图通过HTTPS进行交流的经典案例。
MITM只能从爱丽丝和鲍勃那里获得公共密钥。不是私钥。即使在最初的情况下,爱丽丝也只能使用鲍勃的公钥将信息加密到鲍勃,而鲍勃只能使用爱丽丝的公共密钥对爱丽丝进行加密。
"智能" MITM会做的是替换每对频道中提供的公共密钥。换句话说:爱丽丝发送了鲍勃应该收到的钥匙。MITM将拦截此键,而不是将其交付给Bob,而是将其替换为自己的钥匙(我们称之为黑客键(,然后将其交付给Bob此hacker键。
上面的同一件事将以鲍勃应该发送给爱丽丝的钥匙在另一个方向上发生。
好吧...现在爱丽丝和鲍勃都收到了一个黑客钥匙,他们认为钥匙是另一个同行的原件(因为没有证书(,但是原件由黑客保存。你有看到?黑客只能从一个方面接收信息并解密(因为它是用黑客的公钥加密的(,然后重新加入另一侧的原始公共密钥。这样简单!
...但是如果有SSL证书,答案是否。
为什么?
由于证书的目的完全是为了解决上述问题。这意味着,如果实际上属于爱丽丝和鲍勃,则可以通过数字签名来验证来自爱丽丝/鲍勃的公共密钥,因此,如果他们使用SSL证书Alice和Bob能够检测到一些MITM交换了原始键。此问题的工作范围不在此问题的范围之内,但是"作为一个简短的答案"两个网站都将拥有"预安装"的第三方证书,可用于验证交换的公共钥匙的真实性。
您的得出错误的结论:"鉴于攻击者将能够在连接获得后拦截证书"。
在用于TLS通信的经典PKI模型中,例如HTTPS,基本上只有客户端对服务器进行身份验证(也可以是共同的(,客户端有一个受信任的证书当局的列表。这些当局应仅在仔细审查后才能提供证书。
因此,"正常"仅" www.example.com"的真正所有者才能获得证书。因此,客户将验证证书,因为它在本地商店中具有可信赖的CA(其"根",最终已发行了此证书的中介证书(
不是只有证书就可以识别某些东西,因为这是公开的。这是从值得信赖的CA到最终证书的整个信任路径。
如果中间有一个男人,则证书将用于另一个名称,或者将由未知CA发行,通常是在其本身签名时(最新著名的此类案例:https://blog blog。
现在,该网络的PKI模型的整个问题是,客户需要信任数百个CA的结尾,任何CA都可以提供任何名称的证书。因此,一旦您发现一个流氓一人或毛刺,理论上您就可以拥有第二个您实际上拥有的资源的证书。这过去多次发生。
在客户端或服务器端都有多种选择。客户可以修剪其允许CA的清单。服务器可以使用DNS中的DANE准确发布哪个证书或在连接它时应查看客户的CA(并且MITM将无法击败它,因为DANE受到DNSSEC的保护(。