Журнал прозрачности для APK-файлов системных служб Google

В журнале прозрачности для APK-файлов системных служб Google используется технология журнала прозрачности.

Полезность журналов прозрачности доказана такими проектами, как прозрачность двоичного кода Pixel и проверка сертификата.

Журналы прозрачности реализованы с помощью деревьев Меркла. Предполагается, что вы знакомы с концепциями дерева Меркла и прозрачности двоичных файлов. Общие сведения о деревьях Меркла можно найти в статье Проверяемые структуры данных, а о прозрачности двоичного кода в Android – на главной странице.

Реализация журнала

Журнал прозрачности для APK-файлов системных служб Google реализован в виде дерева Меркла на основе фрагментов. Корневой каталог содержимого фрагментов находится по адресу https://developers.google.com/android/binary_transparency/google1p/tile/. Обратите внимание, что это не обычная веб-страница. Записи в журнале, содержащиеся в ее подкаталогах, следует считывать программно с помощью библиотеки Tlog Golang SumDB, а не через браузер. Для ясности мы приводим ссылку здесь.

Описание содержимого каждой записи приведено в разделе Содержимое журнала.

Корневой хеш дерева Меркла, содержащийся в контрольной точке, доступен по адресу https://developers.google.com/android/binary_transparency/google1p/checkpoint.txt в формате контрольной точки. Листья этого дерева Меркла доступны по адресу https://developers.google.com/android/binary_transparency/google1p/package_info.txt. Подпись контрольной точки можно проверить с помощью открытого ключа, описанного в сертификате ниже.

-----BEGIN CERTIFICATE-----
MIICPzCCAeWgAwIBAgIUAV4UWNut89Vj0EIwMTUlOYclCMMwCgYIKoZIzj0EAwIw
dDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDU1v
dW50YWluIFZpZXcxFDASBgNVBAoMC0dvb2dsZSBJbmMuMRAwDgYDVQQLDAdBbmRy
b2lkMRAwDgYDVQQDDAdBbmRyb2lkMCAXDTI0MDkyNTIzNTYwOVoYDzIwNTQwOTE4
MjM1NjA5WjB0MQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQG
A1UEBwwNTW91bnRhaW4gVmlldzEUMBIGA1UECgwLR29vZ2xlIEluYy4xEDAOBgNV
BAsMB0FuZHJvaWQxEDAOBgNVBAMMB0FuZHJvaWQwWTATBgcqhkjOPQIBBggqhkjO
PQMBBwNCAASofcYuVig/lsWwIfwMfLk22mMltFDDd8k1IBNKajw6VdQynSh7XapH
Ace10/uT1ceUmwJinyOPR1Bpj431+18vo1MwUTAdBgNVHQ4EFgQUwHSDZ/iAB8Go
Rt1oDkVktxyizhYwHwYDVR0jBBgwFoAUwHSDZ/iAB8GoRt1oDkVktxyizhYwDwYD
VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAgNIADBFAiEAleFB+Arfv1KW0r6TbSEX
EfvBnJMPqRNAIVPd8LrVhw0CIAX56Txqs8H5XWdMoNF21w8Z0PmUNvLLtZtM+25O
wjq8
-----END CERTIFICATE-----

Тот же открытый ключ можно найти в блоке открытых ключей PGP Android Security по адресу https://services.google.com/corporate/publickey.txt. Он идентифицируется по CFAB31BE8DD7AC42FC721980ECA5C68599F17322, если вы предпочитаете PGP.

Сегментирование и архивирование журналов

С ноября 2026 года устаревшая контрольная точка журнала 2024 года (checkpoint.txt) и обновленная контрольная точка сегмента за апрель 2026 года (checkpoint.txt) будут заархивированы и запечатаны в режиме только для чтения. Они остаются общедоступными для проверки исторических записей.

Проверка жалоб на журналы

На странице проверки подробно описано, как различные компоненты журнала используются для проверки утверждений, сделанных в модели заявителя.

Непреднамеренная проверка концепции

Запись с индексом 39 в этом журнале является ошибочной тестовой записью. Его наличие гарантирует целостность нашего журнала. Мы не можем удалить его, что доказывает, что никто не может скрыть вредоносные записи. Подробную информацию можно найти на странице Опечатки.