Registro de transparência do APK dos serviços do sistema do Google

O Registro de transparência do APK dos serviços do sistema do Google usa a tecnologia de registro de transparência.

A utilidade dos registros de transparência foi comprovada por projetos como a Transparência binária do Pixel e também a Transparência dos certificados.

Os registros de transparência são implementados com árvores Merkle. Esta página pressupõe o conhecimento geral de árvores Merkle e transparência binária. Consulte Estruturas de dados verificáveis para uma visão geral das árvores Merkle e a página principal para uma visão geral do esforço de transparência binária no Android.

Implementação de registros

O Registro de transparência do APK dos serviços do sistema do Google é implementado como uma árvore Merkle baseada em blocos. A raiz do conteúdo dos blocos é disponibilizada em https://developers.google.com/android/binary_transparency/google1p/tile/. Observe que esta não é uma página da Web normal: as entradas de registro contidas nos subdiretórios precisam ser lidas programaticamente com a biblioteca SumDB Tlog do Golang e não por um navegador. Indicamos o link aqui para fins de esclarecimento.

Consulte Conteúdo do registro para uma descrição do que cada entrada contém.

O hash da raiz da árvore Merkle de um registro, contido em um ponto de verificação, é disponibilizado em https://developers.google.com/android/binary_transparency/google1p/checkpoint.txt no formato de ponto de verificação. As folhas dessa árvore Merkle são disponibilizadas em https://developers.google.com/android/binary_transparency/google1p/package_info.txt. A assinatura do ponto de verificação pode ser verificada com a chave pública descrita no certificado a seguir.

-----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-----

A mesma chave pública também pode ser encontrada no bloco de chaves públicas PGP da Segurança do Android em https://services.google.com/corporate/publickey.txt, identificada por CFAB31BE8DD7AC42FC721980ECA5C68599F17322 se você preferir PGP.

Fragmentação de registros

A partir de abril de 2026, vamos arquivar esse registro. Novas entradas serão gravadas em um novo registro com as seguintes propriedades:

Como verificar declarações de registro

A página de verificação descreve com mais detalhes como os vários componentes do registro são usados para verificar as declarações feitas no modelo de requerente.

Uma prova de conceito não intencional

A entrada no índice 39 desse registro é uma entrada de teste incorreta. A existência dela é uma garantia da integridade do nosso registro. Não podemos excluí-la, o que prova que ninguém pode ocultar entradas maliciosas. Consulte a página de erratas para detalhes específicos.