什么阻止MIM发送加密的API令牌

时间:2015-09-09 20:04:44

标签: php authentication

我试图了解如何使用API​​令牌来验证对服务器的请求。我理解与每个请求一起发送令牌的一般概念,并与存储在某种会话中的令牌进行比较以验证请求。我也明白,令牌永远不应该在野外发送,"所以它通常使用SSL加密。

我不明白的是它如何阻止人在中间攻击。考虑以下情况。

我们说我登录某个系统并希望更改我的电子邮件。当我登录时,为我生成一个令牌,让我们说令牌= 1234.所以我要发送以下命令https://example.com/updateEmail?email=newemail@live.com&token=1234

为简单起见,我们假设newemail@live.com = xyz(由SSL加密),evilemail @ live.com = abc(由SSL加密)和1234 = 4321(由SSL加密)。

因此,MIM会收到类似https://example.com/updateEmail?email=xyz&token=4321的内容。

什么阻止MIM获取并将其更改为https://example.com/updateEmail?email=abc&token=4321?服务器不会解密4321到1234,说匹配并将电子邮件更新到evilemail@live.com?

注意:我没有传递用户ID,因为它存储在服务器上的会话变量中。

0 个答案:

没有答案