gpt4 book ai didi

android - 从 Android 设备消费时的 Google API 安全性

转载 作者:太空狗 更新时间:2023-10-29 13:22:57 26 4
gpt4 key购买 nike

我正在构建一个 Android 应用程序,我将在其中使用应用程序本身的一些 Google API。我为一些 API 启用了计费和增加配额。

在创建凭据时,我选择了已安装的应用程序,应用程序类型为 Android,并提供了程序包名称和 SHA1 指纹。我只是想知道谷歌如何决定请求是否来 self 自己的 Android 应用程序。

任何在他们的设备上安装了我的应用程序的人都可以通过对设备进行 root 来获取 APK,并可以获得 SHA1 指纹和包名称。此外,通过使用一些 Dex 工具反编译代码,还可以提取客户端 ID。因为我已经为我的帐户启用了计费功能,所以如果有人能够获得所有这些详细信息,他们就可以使用我的 ID 开始使用 API。

请帮助我这个方案如何避免未经授权的应用程序/系统使用我的 ID 使用 API。

Creating credential for API consumption

最佳答案

你是正确的,因为攻击者可以获得你的签名证书 SHA1 指纹和 ClientID,但幸运的是,仅此信息对攻击者没有多大用处,因为他们没有你的 apk 用来签名的私钥。这意味着他们无法使用相同的指纹创建自己的包。

在 Android 设备上,您通过 Google Play 服务 APK 使用谷歌服务。此代码将请求应用程序签名证书指纹发送到 Google 后端服务器。您的(或潜在的攻击者)代码在调用 Google API 时不提供此指纹。使用包管理器在后台查询证书指纹。 Google 后端会将收到的指纹与您注册的指纹进行比较。如果不匹配,则拒绝请求。所有这些通信都是加密的,因此流量监听不起作用。

因此,为了让攻击者使用您的客户端 ID,他必须操纵 Android 平台或 Play 服务 APK,以便发送不正确的证书指纹。这不是一件容易的事。 Google Play 服务不是开源的,谷歌也非常积极地更新它并拒绝旧版本的服务请求。这意味着如果针对服务 APK 的一些攻击在野外出现,他们将发布新版本。

Chrome 和 iOS 可能采用了类似的机制。

关于android - 从 Android 设备消费时的 Google API 安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26011476/

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