Google System Services APK の透明性

Google は、プロダクトの透明性を高めるための投資を継続的に行っており、その一環として、2 つの新しい Google システム サービス APK(Android System SafetyCore(com.google.android.safetycore)と Android System Key Verifier(com.google.android.contactkeys))に透明性を追加しています。これらの APK は、それぞれ Google メッセージセンシティブなコンテンツの警告機能と暗号鍵の検証機能を強化します。これらの APK に関する Google の主張を検証するために公開した透明性ログ

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 での連絡先の確認のためのサービスです。これにより、ユーザーは連絡先の公開鍵を検証して、メッセージの送信先が正しいことを確認できます。このサービスは、さまざまなアプリ間で公開鍵を検証できる統合システムです。QR コードのスキャンまたは番号の比較による検証を使用します。

この 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 は、機密性の高いオンデバイス データを処理する Android System Intelligence(AiAi)などの Private Compute Core(PCC)アプリケーションがネットワーク リソースにアクセスするための安全で監査可能なゲートウェイとして機能します。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 System Services APK の透明性の場合、このログに記録された署名付きバイナリのハッシュは、それぞれの Google System Services APK の公式コードを表すという主張をします。

  • GoogleSystemServicesApk を要求する: (私、Google は、$codeSignature$googleSystemServicesApk 用であることを要求します)ここで、
    • $codeSignature は、$googleSystemServicesApk の特定のバージョンに含まれる DEX ファイルとネイティブ ライブラリのリスト、およびそれらの対応するハッシュを含む署名付き JSON ウェブトークン(JWT)です。
    • $googleSystemServicesApk は、次のパッケージのセット {Android System SafetyCore (com.google.android.safetycore), Android System Key Verifier (com.google.android.contactkeys)} の Android パッケージ(APK)です。

$googleSystemServicesApk のコピーをお持ちの方であれば、上記の主張を検証できます。このプロセスについては、検証ページで詳しく説明しています。

ログの内容

Google が上記の APK の新しいバージョンをリリースすると、対応するエントリが Google System Services APK の透明性ログに追加されます。

このログの各エントリには、次の 4 つの APK メタデータが含まれています。

  1. Google が開発した APK のコード署名のハッシュ。これは、コード透明性トークン(コード透明性 JWT とも呼ばれます)の SHA256 ダイジェストの 16 進文字列です。
  2. 上記のハッシュのタイプの説明。これは文字列です。
  3. APK のパッケージ名。これは文字列です。
  4. APK のバージョン番号(versionCode)。これは整数です。

ログエントリの形式は、次の例に示すように、4 つの情報を改行(\n)文字で連結したものです。

hash\nSHA256(Signed Code Transparency JWT)\npackage_name\npackage_version\n

このリリースでは、コード透明性の利用を試験的に導入しています。つまり、APK のハッシュではなく、コード透明性トークンのダイジェストを記録します。そのため、ハッシュの説明は現在 SHA256(Signed Code Transparency JWT) に固定されています。

また、アプリ署名鍵が Google Play によって保持されている場合に、アプリ デベロッパーがコード透明性を活用する方法も示します。

エコシステム図

検証可能なログ エコシステムの図