android - 安全性:应用程序源代码中的谷歌客户端 secret 安全吗?

标签 android ios security google-api binaries

我正在为我们制作的后端构建一个 iOS 和 Android 应用程序,在应用程序中我们希望用户向我们验证他们的 gmail。关于iOS quickstart page我看到开发人员需要包括:

private let kClientID = "YOUR_CLIENT_ID_HERE"
private let kClientSecret = "YOUR_CLIENT_SECRET_HERE"

但据我所知,我认为可以反编译应用程序二进制文件(适用于 iOS 和 Android),这样基本上任何人都可以找到我们的 client_idclient_secret .

看到 google 是这样解释的,我想这是有道理的,但是在我分发的二进制文件中加入 secret 身份验证代码感觉不对。

任何人都可以对此有更多的了解吗?欢迎所有提示!

最佳答案

您需要定义要保护的对象。如果 protected 值(value)大于攻击的成本。

没有将值放入源代码的安全方法,但对于您的应用程序来说可能足够安全。将它们放在加密文件中只是稍微好一点,因为该文件的 key 必须在应用程序中。

剩下的就是从服务器获取它们,也许是在注册时,安全问题是用户身份验证。然后将客户端和安全 ID 放入钥匙串(keychain)中。

虽然在使用 key 时钥匙串(keychain)在设备上尽可能安全,但必须将其获取到内存中,然后编码到请求中。攻击者的难度要高得多,但并非不可逾越。

关于android - 安全性:应用程序源代码中的谷歌客户端 secret 安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31858960/

相关文章:

ios - 警告“开发人员工具访问需要控制另一个进程才能继续调试。输入您的密码以允许此操作。”

c++ - 如何在有安全限制的情况下安全地编译和执行c++程序?

android - 获取 Android 上下文的各种方法有什么区别?

android - 线程和处理程序的区别

ios - iOS7 上的 UICollectionViewCell 中的 UIImageView 自动布局问题,但在 iOS8 上没问题

security - 如何防止托管提供商访问敏感数据?

python - Flask 安全休息 API

java - Android Studio : Save URLS from a URL to an array

android - 如何更改 AOSP 中的默认音量级别?

ios - 点击手势在 collectionView 单元格中不起作用,任何 UI 元素在由 Storyboard 添加的单元格上都不可见