В журнале прозрачности 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 года, мы архивируем этот журнал. Новые записи будут записываться в новый журнал со следующими свойствами:
- контрольная точка: https://gstatic.com/android/binary_transparency/google1p/jwt/2026/01/checkpoint.txt
- листья: https://gstatic.com/android/binary_transparency/google1p/jwt/2026/01/package_info.txt
- Каталог плиток:
https://gstatic.com/android/binary_transparency/google1p/jwt/2026/01/tile/
Проверка заявок на регистрацию событий
На странице проверки более подробно описано, как различные компоненты журнала используются для проверки утверждений, сделанных в модели заявителя .
Непреднамеренная проверка концепции
Запись под индексом 39 в этом журнале является ошибочной тестовой записью. Ее дальнейшее существование гарантирует целостность нашего журнала. Мы не можем ее удалить, что доказывает, что никто не может скрыть и вредоносные записи. Подробную информацию см. на странице с исправлениями .