Información acerca de las tarjetas

La información general sobre la Transparencia binaria de Android está disponible en la página principal de Transparencia binaria.

En esta página, se incluyen más detalles sobre el formato de los archivos en los distintos directorios tile/.

Estos archivos contienen los hashes de los nodos del árbol de Merkle que representan el registro de transparencia binaria de las imágenes de fábrica de Pixel. Además, estos hashes se empaquetan en mosaicos. Para obtener una descripción general de cómo dividir el árbol en mosaicos, consulta Divide un registro en mosaicos.

En este registro, se aplica un algoritmo hash SHA256 a los nodos. Usamos la biblioteca tlog para escribir las tarjetas específicamente con una altura de tarjeta de 1. Esto significa que cada mosaico contiene, como máximo, 2^altura = 2 hashes, cada uno de 32 bytes.

Sin embargo, para los registros posteriores (más recientes), las tarjetas se establecen en una altura de 8. Esto significa que cada mosaico contiene, como máximo, 2^8 = 256 hashes.

Puedes encontrar detalles de las construcciones de rutas de mosaicos en los documentos de mosaicos de tlog.

La raíz del directorio de tarjetas de cada registro se entrega en la siguiente ubicación:

  • Registro de transparencia de Pixel
    • https://developers.google.com/android/binary_transparency/tile
  • Registro de transparencia de código del APK del sistema de Google
    • https://www.gstatic.com/android/binary_transparency/google1p/jwt/2026/01/tile
  • Registro de transparencia de la aplicación de productos de Google
    • https://www.gstatic.com/android/binary_transparency/google1p/apk/2026/02/tile
  • Registro de transparencia de los módulos de Mainline de Android
    • https://www.gstatic.com/android/binary_transparency/mainline/2026/02/tile

Ejemplo de procesamiento con mosaicos

Para comprender mejor cómo funcionan las tarjetas, analizaremos un ejemplo con el registro de transparencia de Pixel. Supongamos que tenemos un árbol de tamaño 8. Si buscas la entrada en el índice 3, sería el primer hash en la tarjeta t(0, 1). Las rutas de acceso de las tarjetas tienen el formato tile/H/L/NNN[.p/W]. Por lo tanto, la ruta de acceso de la tarjeta t(0, 1) sería https://developers.google.com/android/binary_transparency/tile/1/0/001. La raíz del árbol estaría en la tarjeta t(3, 0)/1, que es la ruta de acceso https://developers.google.com/android/binary_transparency/tile/1/3/000.p/1.