【问题标题】:Secure Native App OAuth2 Code Flow + PKCE安全原生应用 OAuth2 代码流 + PKCE
【发布时间】:2020-06-15 21:15:03
【问题描述】:

我正在研究保护原生应用登录的表单并找到它:https://auth0.com/docs/flows/concepts/auth-code-pkce

嗯,我知道在本机应用程序中使用代码流是不安全的,因为用户可以反编译应用程序并获取客户端密码。例如,有了客户端密码,用户可以在任何时候想到邮递员就可以调用授权服务器。

我看不出添加 PKCE(代码验证器和代码挑战)会变得更好。作为攻击者,我可以生成一个PKCE对并模拟与App相同的东西,因为我有客户端密码,对我来说PKCE只是给攻击者更多的工作。

我可以随机创建一个代码质询和一个代码验证器,将代码质询发送到授权服务器并使用我的代码验证器获取请求令牌。

【问题讨论】:

    标签: oauth-2.0 openid


    【解决方案1】:

    一般来说,主要的保护措施是仅在您拥有的 URL 上返回授权响应。对于 Web UI,这将是基于域的 url,例如:

    虽然很难将声称的 https 方案用于移动应用程序,但由于缺乏供应商/浏览器支持,几乎没有人使用它。

    对于自定义 URL 方案,希望环境(App / Play 商店批准)可以防止恶意第三方在注册时没有证明他们来自“我的公司”的情况下注册这样的 URL:

    • com.mycompany.myapp:/callback

    你说得对,这里有一个潜在的漏洞,虽然我没有听说过任何现实世界的漏洞。

    【讨论】:

    • Hmm .. 在我的 Android 手机中安装一些反向代理并拦截对“com.mycompany.myapp:/callback”的所有请求不是很危险吗?有了这个,我可以做任何事情并“模拟”真正的应用程序。
    • True - financial grade apps 的最新趋势 - 请参阅第 7.5 节 - 因此推荐声称的 https 方案 - 尽管我还没有弄清楚如何实现它 - 将在我得到时更新我的​​ mobile samples一段时间 - 这会解决你的问题。
    • 好,我会读你的authguidance.com/2019/09/13/android-code-sample-overview。我不明白“声称的 https 方案”是什么意思,我想我需要阅读更多相关信息。
    • Gary 我为 PKCE 目的找到了一个很好的解释,请参见此处:google.com/url?sa=t&source=web&rct=j&url=https://…
    猜你喜欢
    • 2021-01-29
    • 1970-01-01
    • 2021-05-08
    • 2021-05-12
    • 2021-12-15
    • 2023-04-01
    • 2022-11-22
    • 2020-08-31
    • 2020-11-27
    相关资源
    最近更新 更多