为了持续投资于产品透明度,Google 将为两个新的 Google 系统服务 APK 添加透明度:Android System SafetyCore (com.google.android.safetycore) 和 Android System Key Verifier (com.google.android.contactkeys)。这些 APK 分别为 Google 信息中的敏感内容警告和加密密钥验证功能提供支持。 我们发布的透明度日志,用于验证我们针对这些 APK 提出的声明。
鉴于 AI 技术的进步,我们现在还为以下 APK 添加了透明度:
- Private Compute Services (com.google.android.as.oss)
涵盖的套餐
本部分介绍了透明度日志中涵盖的软件包,以及它们各自的代码透明度签名密钥。
Android System SafetyCore
Android System SafetyCore (com.google.android.safetycore) 是一项 Android 系统组件,可为应用提供可保护隐私的设备端用户保护基础架构。
此 APK 中的代码目前使用以下证书描述的密钥进行了签名:
-----BEGIN CERTIFICATE-----
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
4ZM=
-----END CERTIFICATE-----
Android System Key Verifier
Android System Key Verifier APK (com.google.android.contactkeys) 是一项用于在 Android 上验证联系人的服务。借助此功能,用户可以验证联系人的公钥,以确认自己正在与预期的消息接收对象通信。 该服务是一个统一的系统,用于跨不同应用进行公钥验证,它通过扫描二维码或对比数字来进行验证。
此 APK 中的代码目前使用以下证书描述的密钥进行了签名:
-----BEGIN CERTIFICATE-----
MIIFyDCCA7CgAwIBAgIUQwApn2X0vcGMw/VyRoUQkFXuekYwDQYJKoZIhvcNAQELBQAwdDELMAkG
A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDAS
BgNVBAoTC0dvb2dsZSBJbmMuMRAwDgYDVQQLEwdBbmRyb2lkMRAwDgYDVQQDEwdBbmRyb2lkMCAX
DTI0MDczMTE5MzY0MVoYDzIwNTQwNzMxMTkzNjQxWjB0MQswCQYDVQQGEwJVUzETMBEGA1UECBMK
Q2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLR29vZ2xlIEluYy4x
EDAOBgNVBAsTB0FuZHJvaWQxEDAOBgNVBAMTB0FuZHJvaWQwggIiMA0GCSqGSIb3DQEBAQUAA4IC
DwAwggIKAoICAQDKZqLKu5eeBir6muCiQ5vGQxIDzZcQhLZLpbAkVBNKcrpjgMB6ef0JvrKBnmzN
tHzgExjv4jzyZ1UnU8kaTinVWZF5F9unwuH/957zpc9Ja/JDioGn0V0Q4fgCfIaCLxj4GxK9ywby
TMBWg4ZN0nzcNTCX7ygSzZa24qSq/zOJd2wcO6RxO6MOS2TJPBABA1Wi6l7R/ldXDvzy/3doy5VU
4SElcwWosLFr4jORKGK4R0en96722skXCfl3kNz0J/aIUohdd3cggRnUX7N7tz1nlJpKmDFKeuKn
4lTITUf0MKWzs6PKabyoHzJZYf3XNN88cDy41wR9lsA33DSutuS2tQ2wUlXHfzikZVoI/kCANLW1
2ew3Wo+1D/qYhWXDzO8eM/c4R17vpzSt3kl/2IkYVuHvp1S4luY0DT3S9rKYg630BO+ubEg5NaMt
hGpCAcfMu8WUbdpWxIvdHPM8mQZbzSB2r5eON7ufzq3pB9pwKvslpdNtINvrKtZCrMSqTTqVI2dL
8d8YWIFHYySgKZFKNNcG0Y/OapbAy8zoQZT8oz4P0lWCTVcCoh/54jCBdAKUO+LOm3ATMzw/v57o
g1Lr0wTM7YjFkToGI/dytMyEFkG3fGxYcgzkn3pu0EoQ4FsrnL3jHcIKPCX6wSykXzODVwPLoO3z
YQHn1i0dxzIkKwIDAQABo1AwTjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBQU/Oocht8Ntbcrqvx5
xljCPmYp1DAfBgNVHSMEGDAWgBQU/Oocht8Ntbcrqvx5xljCPmYp1DANBgkqhkiG9w0BAQsFAAOC
AgEAaWxz1VV1hUE+A/rQZNfNe2IH1B9f+4QCSF/VRmEOfSUB346cZgtSMkGpirXOczu0FExUAWzc
9GDV+w59P0YZ37IgB9l8nFh6qW9oCTBp3IOitvfKrz4x6GDhx6iU4j7WU60ezQZKnnchh4fIvraA
vy3m6/PLr6cbIvlHsUqCtt0gbNyj+fAgxJtbDSkqMwxYBOaOhQYQepkQuYD+juO08knwzMy5yFPL
MWBuhdB9Mqvv3l1MNcOB1Y+8RJGTp66ft1pVE2zuBDgix8m/Hizuewlws5xzLap/Rcx2BCHIFBlW
k4VbSZ6ERtkb/uh/q30psrBxcROxDR1LbynvPsayC+0pUjXCMVD7de3+HkeKiAT+OPQf8EAx2bMx
Nyz858lpVX9Eh92Q5jE/sxLvij3T6rBUBdatfpuE1dxGlpHNL7NVOEQpDOCZi9jSPstAoKYdtEzk
Im85maujM8udLoexXBTLgwYc/9Zz0nJXuVQJYyon70thXTrBc43gmi646rU4YFFhIei9N4dUQNgO
fxCGd8y8L8fTFAWQm9YQ7x7uxwjkalCh/ahRDtCdyk/ab8mHl/V1M5gkylUW6lt0Ba8Yw6j8PWqc
+io39beMlVWMfwj5mO2MTIKmUChUxULvQPcR46hve5mhSVZeBohPWnrc6B5XTf/4siWWRu0rYBD8
PLM=
-----END CERTIFICATE-----
Private Compute Services
Private Compute Services APK (com.google.android.as.oss) 是一项系统服务,可针对 Android 设备上由 AI 驱动的功能所使用的用户数据强制执行隐私保护措施。Private Compute Services 充当安全且可审核的网关,供处理敏感设备端数据的 Private Compute Core (PCC) 应用(如 Android System Intelligence [AiAi])访问网络资源。通过为 HTTP 下载和联邦学习等任务提供明确定义的注重隐私保护的 API,并使其代码公开可用,Astrea 允许用户和研究人员验证数据是否以注重隐私保护的方式处理。
此 APK 中的代码目前使用以下证书描述的密钥进行了签名:
-----BEGIN CERTIFICATE-----
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
asY=
-----END CERTIFICATE-----
威胁模型
透明度系统可用于检测并因此阻止供应链攻击。下面我们通过一些示例来说明。
假设攻击者恶意修改了某个 Google 系统服务 APK,甚至设法使用 Google Play 使用的签名密钥对其进行了签名。收到恶意 APK 的任何人都可以查询二进制透明度日志,以验证 APK 的真实性。 他们会发现 Google 未将相应的 APK 元数据添加到日志中,并知道不应信任遭入侵的 APK。
由于发布到日志与使用签名进行的发布过程是分开的(如生态系统图所示),因此这提高了攻击者的门槛,而不仅仅是泄露密钥。
虽然我们计划使用标准见证协议将此日志集成到公开的见证人网络中,但我们鼓励外部独立方监控此公开日志的完整性。这些方可以证明日志的仅附加属性,并报告任何篡改行为。
此类透明度系统的存在以及攻击的可发现性提高,有助于遏制恶意活动。如果某个 APK 遭到入侵,但用户只信任日志中列出的 APK,那么遭到入侵的 APK 就需要公开。这样可以提高发现受损 APK 的可能性,并采取措施来阻止其分发。
版权主张方模型
声明者模型是一种用于在可验证的系统中定义角色和制品框架。对于 Google 系统服务 APK 透明度,我们声明此日志中记录的已签名二进制文件的哈希值代表相应 Google 系统服务 APK 的官方代码。
- 声明 GoogleSystemServicesApk:(本人,Google,声明
$codeSignature适用于$googleSystemServicesApk),其中:
任何拥有 $googleSystemServicesApk 的人都可以验证上述声明,我们会在验证页面中详细介绍此流程。
日志内容
当 Google 发布上述 APK 的新版本时,会在 Google 系统服务 APK 透明度日志中添加相应条目。
此日志中的每个条目都包含四条 APK 元数据:
- Google 开发的 APK 的代码签名的哈希值。 这是代码透明度令牌(也称为代码透明度 JWT)的 SHA256 摘要的十六进制字符串。
- 上述哈希类型的说明。这是一个字符串。
- 相应 APK 的软件包名称。这是一个字符串。
- 相应 APK 的版本号 (versionCode)。这是一个整数。
日志条目的格式是将四条信息与换行符 (\n) 串联起来,如下所示:
hash\nSHA256(Signed Code Transparency JWT)\npackage_name\npackage_version\n
请注意,在此版本中,我们正在尝试利用代码公开透明机制。这意味着,我们记录的是代码公开透明令牌的摘要,而不是 APK 的哈希值。因此,哈希说明目前固定为 SHA256(Signed Code Transparency JWT)。
此外,此示例还展示了当应用签名密钥由 Google Play 持有时,应用开发者如何利用代码公开透明功能。
生态系统图
