Журнал прозрачности основных модулей Android использует проверяемые структуры данных для обеспечения целостности основных модулей.
Полезность журналов прозрачности была доказана такими проектами, как Pixel Binary Transparency и Certificate Transparency .
Журналы прозрачности строятся на основе деревьев Меркла. На этой странице предполагается общее знание деревьев Меркла и бинарной прозрачности. Обзор деревьев Меркла см. в разделе «Проверяемые структуры данных» , а обзор усилий по обеспечению бинарной прозрачности в Android — на главной странице .
Реализация логирования
Журнал прозрачности основных модулей Android реализован с использованием Tessera и соответствует спецификации tlog-tiles с высотой плитки 8 (каждая плитка или группа содержит не более 2 8 = 256 элементов).
Корневая директория с содержимым логов находится по адресу: https://gstatic.com/android/binary_transparency/mainline/2026/02/tile/entries/
Корневой каталог содержимого плиток находится по адресу: https://gstatic.com/android/binary_transparency/mainline/2026/02/tile/
Обратите внимание, что эти URL-адреса не являются стандартными веб-страницами. Вместо этого доступ к записям журналов в их подкаталогах следует осуществлять программно с помощью таких инструментов, как Tessera или библиотека Golang SumDB Tlog .
- Tree Tiles : Хэши внутреннего содержимого дерева Меркла и листовых узлов передаются по адресу
tile/<level>/<path>(например,tile/0/000,tile/1/000). - Пакеты записей : Полезные нагрузки файлов Log организованы в пакеты записей в папке
tile/entries/<path>(например,tile/entries/000,tile/entries/001), при этом каждый пакет содержит до 256 объединенных записей.
Для получения описания содержимого каждой записи обратитесь к разделу «Содержание журнала» .
Хэш корня дерева Меркла лога, содержащийся в контрольной точке , предоставляется по адресу https://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 года журнал работал в рамках более ранней версии V1 с использованием подписей ECDSA (NIST P-256 с SHA-256) . Журнал V1 архивирован и доступен только для чтения, но остается общедоступным для проверки исторических записей:
- Контрольная точка : https://gstatic.com/android/binary_transparency/mainline/2026/01/checkpoint.txt
- Данные покидают систему : https://gstatic.com/android/binary_transparency/mainline/2026/01/module_info.txt
- Tile Root :
https://gstatic.com/android/binary_transparency/mainline/2026/01/tile/ - Открытый ключ (формат PEM, ECDSA P-256) :
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEr6nPds8eKCYU42avidXNM1GDCtQ/
66GjGuIpUcZjqQNngwRFVCFZDpWuvDnqXzhJRxqccL9lbeEVVZGpa4x6pg==
-----END PUBLIC KEY-----
Поскольку модули Mainline похожи на APK-файлы, методы проверки, описанные на странице проверки APK-файлов Google, применимы и здесь. Вы можете использовать эти методы для проверки утверждений, сделанных в модели заявителя .