PKCE 如何帮助公共客户?

问题描述 投票:0回答:1

根据 https://www.linkedin.com/advice/0/how-does-pkce-prevent-authorization-code-interception-attacks#why-use-pkce?

攻击者可以使用窃取的代码来请求访问令牌 从令牌端点冒充合法客户端。这是 对于公共客户来说尤其危险,这些应用程序 无法安全地存储客户端机密,例如本机或单页 应用程序。

如果攻击者以可以阻止使用授权代码的方式控制用户,那么如何阻止他们获得 PKCE 质询?

他们显然对客户有完全的控制权。

oauth-2.0 openid-connect pkce
1个回答
0
投票

PKCE 的作用是确保是同一个客户端(应用程序)执行初始身份验证请求和使用授权代码的请求。

例如,在移动应用程序或浏览器扩展中,如果“邪恶”应用程序获得了授权码,那么它应该无法使用它。

问题在于,例如,多个应用程序可能会尝试在手机中注册相同的redirect_uri。

黑客如何捕获重定向?

移动应用程序通常会注册一个自定义方案来接收从STS返回的重定向请求:

app-name://?access_token=??????

例如:

com.googleusercontent.apps.123504760640ip7qq628i6dreavptfk981d9ji6x:/oauth2callback
com.googleusercontent.apps.5996697-7obf9q7equ9msfakdcg8iveqgn3sck1s:/oauth2callback
fb19884028963vimeo://authorize/fb1592193007691679://authorize/
x-msauth-azureiosapp://com.microsoft.azure
ms-whiteboard-iosauth://com.microsoft.whiteboard
mevo://vimeooauth
oreilly://oauth/complete

如果黑客也注册了相同的方案怎么办?

clientID,黑客可以轻松地从移动应用程序捕获示例请求。

© www.soinside.com 2019 - 2024. All rights reserved.