有关新Google政策的问题(安全元数据)

sun*_*ang 9 security policy android

我已经阅读了标题为" 在未来几年内提高Google Play上的应用安全性和性能 "的帖子.

在那篇文章中,我想问下面的句子."此外,在2018年初,Play将开始在每个APK之上添加少量安全元数据,以进一步验证应用的真实性."

这是否意味着上面的描述是'APK Signature Scheme v2'.如果是这样,当我签名选择'V2(完整的APK签名)'时,它是否创建了最终的APK?

换句话说,如果我以上述方式创建某个APP并上传它,最终用户是否会下载并安装它而不做任何更改?

否则,我对"添加少量"APK Signing Block""有疑问.

  1. 它是否会影响之前不包含新安全元数据的APP?

  2. 当应用APK上传到Play商店时,Google会将此元数据放入?我的问题是在什么时候将安全元数据插入APK?

'生成签名APK'捕获图像:

Rob*_*ert 4

根据2018 年 6 月的这篇博文,真实性数据已添加到应用程序中:

我们现在在 APK 之上添加少量安全元数据,以验证 APK 是否由 Google Play 分发。

真实性数据与 Signature v2 块放置在 ZIP/APK 文件中的同一位置 - 在压缩内容之后、ZIP 中央目录之前。这并不一定意味着真实性数据需要 v2 签名 - 两者都只是注入的数据块。 APK 签名 v2 放置

然而,我还没有剖析下载的 APK 文件来查看它是否真的包含此真实性数据。验证这些数据的必要工具似乎还没有发布(或者我错过了它们?)。

Google 可以在 Play 商店端添加此元数据 - 无论应用程序上传和下载的时间间隔如何。因此,即使是旧的应用程序也可以配备此功能 - 如果谷歌会这样做吗?我们会看到。

向仅具有 v1 签名的 APK 添加更多数据很简单,因为 v1 签名仅涵盖压缩文件的内容,而不是 ZIP 结构本身。对于 v2,情况类似:它涵盖了压缩内容,包括 ZIP 条目标头、中央目录和目录末尾(请参阅此处了解详细信息)。签名不覆盖 ZIP 标头或最后一个内容条目与中央目录开头之间的数据。因此,Google 可以在 APK 签名块之前或之后添加更多数据,而不会导致签名无效。

  • 另外,我刚刚做了一个实验:添加到 google play console 新应用程序用于测试目的,并提取安装的 apk。然后我将它与我上传到 Play 商店的原始 apk 进行比较。我在从 google play 提取的 apk 中看到了其他二进制数据,但是使用 keytool -printcert -file CERT.RSA 提取的签名信息在两个文件中是相同的,并且仅包含一个签名。 (2认同)