嘿大家,我们有一个厚脸皮的问题,你能帮我吗?
如果在 Web 浏览器和 Web 服务器之间的 TTP 连接上有两个中间人攻击者,将创建多少个会话密钥?攻击者会看到对方吗?解释你回答。
我认为会有 4 个键,每个连接一个。但我不确定。
嘿大家,我们有一个厚脸皮的问题,你能帮我吗?
如果在 Web 浏览器和 Web 服务器之间的 TTP 连接上有两个中间人攻击者,将创建多少个会话密钥?攻击者会看到对方吗?解释你回答。
我认为会有 4 个键,每个连接一个。但我不确定。
原文通讯:
Alice<------->Bob
截获的通讯:
Alice<-->Mallet<-->Marvin<-->Bob
如您所见,有 3 个通道,这将导致我们进入 3 个单独的通信通道,这些通道需要与使用的协议相关的密钥
例如,如果通信在每个通道上进行了 RSA 加密,则将有 2 个密钥...
既然你提到了浏览器和网络服务器之间的通信,我想 TTP 应该是指 HTTP ......现在这是一个厚颜无耻的问题:HTTP 根本没有加密功能......那将是 HTTPS ......所以如果你要求 HTTP答案是“使用 0 个会话密钥,因为没有加密。此设置中的 MITM 攻击是透明的,因此攻击者仅通过查看连接数据并不知道彼此”
在每个连接的 HTTPS 情况下,双方计算一个预主密钥,然后派生可以看作会话密钥的主密钥,因为所有相关的其他密钥都是从它派生的......所以有一个这样的主密钥每个通道,乘以 3 个通道 => 3
关于“攻击者看到对方吗?” 这里有点棘手,这取决于他们对 PKI 和网络服务器的了解:假设攻击者没有来自 PKI 的任何其他秘密信息,尤其是他们无法访问有效且受信任的 CA 密钥,并且整个场景中没有人做类似证书固定的事情。
在这种情况下,浏览器会注意到连接已被篡改并显示警告(客户端知道...连接被篡改,但不知道有多少攻击者)
从客户端看到的第一个攻击者像客户端一样知道连接正在被操纵,因为他知道他正在操纵连接,他知道至少还有一个参与方参与到服务器的上游路径上。(在外部设置中,该攻击者是唯一知道 2 次攻击的攻击者)
第二个攻击者无法区分客户端和第一个攻击者......他看到服务器流量未修改,并且很可能怀疑这是单个 MITM 场景(没有看到攻击者 1)
服务器没有看到任何这些......
让我们稍微改变一下:从现在开始,攻击者可以访问受信任的 CA 密钥
现在两个攻击者都可以颁发自己的有效证书
只要没有人真正监控证书并寻找正在使用的证书的变化,一切都像普通 HTTP 案例一样透明......客户端不会注意到任何东西......两个攻击者只会知道他们自己的操作
但是......因为这看起来像家庭作业......也许我在这里和那里添加了一个错误......也许不是......只有一种方法可以确定:检查......