Google 제품 애플리케이션 투명성 로그

Google 제품 애플리케이션 투명성 로그는 투명성 로그 기술을 활용합니다.

투명성 로그의 유용성은 Pixel 바이너리 투명성 및 인증서 투명성과 같은 프로젝트를 통해 입증되었습니다.

투명성 로그는 Merkle 트리를 사용하여 구현됩니다. 이 페이지에서는 Merkle 트리 및 바이너리 투명성에 대한 일반적인 지식을 가정합니다. Merkle 트리에 대한 개요는 검증 가능한 데이터 구조를 참고하고 Android 내 바이너리 투명성 노력에 대한 개요는 기본 페이지를 참고하세요.

로그 구현

Google 제품 애플리케이션 투명성 로그는 Tessera를 사용하여 구현되며 타일 높이가 8인 tlog-tiles 사양을 준수합니다 (각 타일 또는 번들에는 최대 28 = 256개의 항목이 포함됨).

로그 콘텐츠의 루트는 https://gstatic.com/android/binary_transparency/google1p/apk/2026/02/tile/entries/에서 제공됩니다.

타일 콘텐츠의 루트는 https://gstatic.com/android/binary_transparency/google1p/apk/2026/02/tile/에서 제공됩니다.

이러한 항목은 일반 웹페이지가 아닙니다. 하위 디렉터리에 포함된 로그 항목은 브라우저를 통해 읽는 것이 아니라 tlog-tiles 클라이언트 라이브러리 (예: Tessera 또는 Golang SumDB Tlog library)를 사용하여 프로그래매틱 방식으로 읽어야 합니다. 명확성을 위해 링크를 여기에 명시합니다.

  • 트리 타일: Merkle 트리 내부 및 리프 노드 해시는 tile/<level>/<path>에서 제공됩니다 (예: tile/0/000, tile/1/000).
  • 항목 번들: 로그 리프 페이로드는 tile/entries/<path> (예: tile/entries/000, tile/entries/001) 아래의 항목 번들로 구성되며 각 번들에는 최대 256개의 연결된 항목이 포함됩니다.

각 항목에 포함된 내용에 관한 설명은 로그 콘텐츠를 참고하세요.

체크포인트에 포함된 로그의 Merkle 트리 루트 해시는 체크포인트 형식으로 https://gstatic.com/android/binary_transparency/google1p/apk/2026/02/checkpoint에서 제공됩니다. 체크포인트 출처는 android.transparency.goog/google1p/apk/2026/1입니다.

체크포인트 서명은 Ed25519 서명 알고리즘을 사용하여 생성됩니다. 체크포인트의 서명은 golang.org/x/mod/sumdb/note에 정의된 대로 노트 검증 도구 형식 또는 표준 PEM 형식으로 다음 공개 키를 사용하여 확인할 수 있습니다.

  • 노트 검증 도구 형식 (<name>+<key_hash>+<public_key_bytes>):
android.transparency.goog/google1p/apk/2026/1+fc654374+ATr9NQE0gvOtVfj5cCStUzdlflEp3oZoNHD8pImzPj5O
  • PEM 형식 (SubjectPublicKeyInfo):
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEAOv01ATSC861V+PlwJK1TN2V+USnehmg0cPykibM+Pk4=
-----END PUBLIC KEY-----

보관된 로그 (V1)

2026년 3분기 업데이트 이전에는 로그가 ECDSA (SHA-256이 포함된 NIST P-256) 서명을 사용하는 이전 V1 구현에서 작동했습니다. V1 로그는 보관되고 읽기 전용이지만 이전 항목을 확인하기 위해 공개적으로 액세스할 수 있습니다.

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaP7xodTP5/teDOUYFAUHF0MqvOXt
+jamtcDYWxTjY99hyYczpB/cF2fxHhIqEznNpLcI2Vorl+iEchWhZ0y3Mg==
-----END PUBLIC KEY-----

로그 클레임 확인

확인 페이지에서는 로그의 다양한 구성요소를 사용하여 클레임자 모델에서 제기된 클레임을 확인하는 방법을 자세히 설명합니다.