Registro de transparencia de la aplicación de productos de Google

El registro de transparencia de aplicaciones de productos de Google aprovecha la tecnología de registro de transparencia.

La utilidad de los registros de transparencia se demostró en proyectos como Pixel Binary Transparency y también Certificado de transparencia.

Los registros de transparencia se implementan con árboles Merkle. En esta página, se supone que tienes conocimientos generales sobre los árboles Merkle y la transparencia binaria. Consulta Estructuras de datos verificables para obtener una descripción general de los árboles Merkle y la página principal para obtener una descripción general del esfuerzo de transparencia binaria en Android.

Implementación de registros

El registro de transparencia de aplicaciones de productos de Google se implementa con Tessera y cumple con la especificación tlog-tiles con una altura de mosaico de 8 (cada mosaico o paquete contiene como máximo 28 = 256 elementos).

La raíz del contenido del registro se entrega en https://gstatic.com/android/binary_transparency/google1p/apk/2026/02/tile/entries/.

La raíz del contenido del mosaico se entrega en https://gstatic.com/android/binary_transparency/google1p/apk/2026/02/tile/.

Ten en cuenta que no son páginas web normales: las entradas de registro contenidas en los subdirectorios se deben leer de forma programática con una biblioteca tlog-tiles cliente (como Tessera o la biblioteca Golang SumDB Tlog) y no a través de un navegador. Indicamos el vínculo aquí para mayor claridad.

  • Mosaicos de árbol: Los hashes de nodos interiores y hoja del árbol Merkle se entregan en tile/<level>/<path> (p.ej., tile/0/000, tile/1/000).
  • Paquetes de entrada: Las cargas útiles de hojas de registro se organizan en paquetes de entrada en tile/entries/<path> (p.ej., tile/entries/000, tile/entries/001), y cada paquete contiene hasta 256 entradas concatenadas.

Consulta Contenido del registro para obtener una descripción de lo que contiene cada entrada.

El hash raíz del árbol Merkle del registro, contenido en un punto de control, se entrega en https://gstatic.com/android/binary_transparency/google1p/apk/2026/02/checkpoint en el formato de punto de control. El origen del punto de control es android.transparency.goog/google1p/apk/2026/1.

Las firmas de puntos de control se generan con el algoritmo de firma Ed25519. La firma del punto de control se puede verificar con la siguiente clave pública en formato de verificador de notas (como se define en golang.org/x/mod/sumdb/note) o en formato PEM estándar:

  • Formato de verificador de notas (<name>+<key_hash>+<public_key_bytes>):
android.transparency.goog/google1p/apk/2026/1+fc654374+ATr9NQE0gvOtVfj5cCStUzdlflEp3oZoNHD8pImzPj5O
  • Formato PEM (SubjectPublicKeyInfo):
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEAOv01ATSC861V+PlwJK1TN2V+USnehmg0cPykibM+Pk4=
-----END PUBLIC KEY-----

Registro archivado (V1)

Antes de la actualización del tercer trimestre de 2026, el registro funcionaba con una implementación anterior de la versión 1 que usaba firmas ECDSA (NIST P-256 con SHA-256). El registro de la versión 1 está archivado y es de solo lectura, pero sigue siendo accesible públicamente para verificar las entradas históricas:

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

Verifica las declaraciones de registro

En la página de verificación, se describe con más detalle cómo se usan los distintos componentes del registro para verificar las declaraciones que se realizan en el modelo de reclamante.