Журнал прозрачности APK системных служб Google

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

Полезность журналов прозрачности была доказана такими проектами, как Pixel Binary Transparency и Certificate Transparency .

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

Реализация логирования

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

Для получения описания содержимого каждой записи обратитесь к разделу «Содержание журнала» .

Хэш корня дерева Меркла для лога, содержащегося в контрольной точке , предоставляется по адресу 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 года, мы архивируем этот журнал. Новые записи будут записываться в новый журнал со следующими свойствами:

Проверка заявок на регистрацию событий

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

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

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