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:
- ponto de verificação: https://gstatic.com/android/binary_transparency/google1p/jwt/2026/01/checkpoint.txt
- folhas: https://gstatic.com/android/binary_transparency/google1p/jwt/2026/01/package_info.txt
- diretório de blocos:
https://gstatic.com/android/binary_transparency/google1p/jwt/2026/01/tile/
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.