【发布时间】:2018-06-19 15:09:19
【问题描述】:
我正在尝试找出 state 和 nonce 在 OpenID Connect 代码流中的用途。
从我目前阅读的内容来看,主要攻击似乎是攻击者可以拦截身份验证响应,包括授权码。 但是,如果攻击者重放身份验证响应,则身份验证代码将已被使用,并且 OP 将拒绝令牌请求。 我看到,规范不要求将身份验证代码作为一次性密码,在这种情况下,我知道如何进行重放。但是,我们会在使用后使验证码失效。
我还了解到,使用 CSRF,攻击者可以使用不同的身份验证代码调用我的客户端 redirect-uri。我还没有看到该代码在 OP 中如何有效。攻击者可以猜测一个有效的验证码吗?
谁能给我看一个攻击向量,用状态和/或随机数解决?
【问题讨论】:
-
在 Wanpeng Li(B) 和 Chris J. Mitchell 的“Analysing the Security of Google’s Implementation of OpenID Connect”中,如果客户端未能发送
state值(第 366 页),则有一个会话交换攻击示例)。 -
谢谢你,有趣的论文!然而,它只给出了状态的解释。有人知道随机数有什么用吗? – elactic 4 小时前
标签: openid-connect