Android Mainline 모듈 투명성 로그

Android 메인라인 모듈 투명성 로그는 확인 가능한 데이터 구조를 사용하여 메인라인 모듈의 무결성을 보장합니다.

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

투명성 로그는 머클 트리를 기반으로 합니다. 이 페이지에서는 머클 트리 및 바이너리 투명성에 관한 일반적인 지식을 전제로 합니다. 머클 트리의 개요는 확인 가능한 데이터 구조를, Android 내 바이너리 투명성 노력의 개요는 기본 페이지를 참고하세요.

로그 구현

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

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

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

이러한 URL은 표준 웹페이지가 아닙니다. 대신 Tessera 또는 Golang SumDB Tlog 라이브러리와 같은 도구를 사용하여 하위 디렉터리의 로그 항목에 프로그래매틱 방식으로 액세스해야 합니다.

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

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

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

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

  • 메모 검증 도구 형식(<name>+<key_hash>+<public_key_bytes>):
android.transparency.goog/mainline/modules/2026/1+1a8e4064+AfwnHm59rNQTJICchMd7a2W5PQa7nC5h2gTEfq3fhCEI
  • PEM 형식(SubjectPublicKeyInfo):
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEA/Ccebn2s1BMkgJyEx3trZbk9BrucLmHaBMR+rd+EIQg=
-----END PUBLIC KEY-----

보관처리된 로그(V1)

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

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEr6nPds8eKCYU42avidXNM1GDCtQ/
66GjGuIpUcZjqQNngwRFVCFZDpWuvDnqXzhJRxqccL9lbeEVVZGpa4x6pg==
-----END PUBLIC KEY-----

Mainline 모듈은 APK와 유사하므로 Google APK 확인 페이지에 설명된 확인 방법이 여기에도 적용됩니다. 여기에 있는 메서드를 사용하여 신고자 모델에서 제기된 소유권 주장을 확인할 수 있습니다.