Información acerca de las tarjetas

La información general sobre la transparencia de los objetos binarios de Android está disponible en la página principal de transparencia de objetos binarios.

Esta página contiene más detalles sobre el formato de los archivos de los distintos directorios tile/.

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

En este registro, los nodos se codifican con SHA256. Usamos la biblioteca tlog para escribir las tarjetas específicamente con una altura de tarjeta de 1. Eso significa que cada tarjeta contiene como máximo 2^altura = 2 valores hash, cada uno de ellos de 32 bytes.

Puedes encontrar detalles de las construcciones de rutas de mosaicos en la documentación de mosaicos de tlog.

La raíz de la tarjeta 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 del APK del sistema de Google
    • https://developers.google.com/android/binary_transparency/google1p/tile/

Ejemplo de procesamiento con tarjetas

Para comprender mejor cómo funcionan las tarjetas, analizamos un ejemplo con el Registro de transparencia de píxeles. Supongamos un árbol de tamaño 8. Si observas la entrada en el índice 3, sería el primer hash en la tarjeta t(0, 1). Las rutas 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 https://developers.google.com/android/binary_transparency/tile/1/3/000.p/1.