gpt4 book ai didi

android - 我应该混淆 Android 应用程序存储的 OAuth 消费者 secret 吗?

转载 作者:IT王子 更新时间:2023-10-28 23:54:59 26 4
gpt4 key购买 nike

我的 Android 应用程序包含 Twitter API 的 OAuth 使用者密码。目前它以纯文本形式存在于 .properties 文件中,因此人们可以在 APK 中轻松查找它。

我是否应该采取措施来隐藏它(例如,rot13 或存储在混淆的 Java 代码中)?还是我应该避免这样做,因为它会产生虚假的安全感?

人们通常如何在 Android 应用中分发/存储 OAuth secret ? secret 被窃取和滥用的情况有多普遍?

最佳答案

真正的问题是攻击者通过窃取它会得到什么......

您应该尽最大努力保护 secret ,但最终,一个积极主动的黑客总能在已安装的应用中找到它。所以这是 secret 的值(value)与提取的难度。

客户端密码的值是模拟应用程序。它不提供对用户数据的任何访问权限。但是,由于 Twitter 支持向以前批准的应用程序自动颁发凭据(他们使用 Twitter 流登录),因此攻击者可能会使用您的 secret 构建 Web 应用程序并使用盲重定向窃取用户数据。

Twitter 实现的问题在于他们没有向开发人员询问应用程序的性质。如果他们这样做了,他们一开始就不会向您发布 secret ,并且会阻止任何人使用您的客户端凭据构建 Web 应用程序并从已经批准它的用户那里窃取数据。

混淆是一种选择,但也是一种较弱的选择。将 key 移至充当 API 代理的 Web 服务器是另一回事,但这只是将问题转移到其他地方,因为现在您的应用程序必须针对代理服务器进行身份验证。但是,如果您要求用户登录您的站点(可以通过 Web View 使用 Twitter 登录),这种模式可能相当安全。这样一来,试图滥用您的代理的人将需要他们的用户在您的服务上开设帐户,这不是很吸引人。

简而言之,继续混淆它。它不疼。也考虑使用代理模式。也许让 Twitter 知道他们的安全策略“不太好”。

关于android - 我应该混淆 Android 应用程序存储的 OAuth 消费者 secret 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7121966/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com