Confirmação protegida

Tela de confirmação protegida

Esta página descreve a implementação da ConfirmationUI e as declarações de confirmação para o KeyMint.

A Confirmação protegida pelo Android usa uma interface do usuário protegida por hardware chamada Trusted UI para facilitar a alta confiabilidade em transações críticas. A Confirmação protegida pelo Android está disponível para dispositivos compatíveis com o Android 9 (nível 28 da API) ou versões mais recentes.

Quando um app invoca a Confirmação protegida, a Trusted UI solicita a confirmação do usuário. A interface confiável afirma a aprovação da mensagem solicitada pelo usuário com um alto grau de confiança, mesmo que o Android ou o kernel dele (Linux) tenham sido comprometidos. Juntamente com o KeyMint (antigo Keymaster), essa declaração é transmitida a uma parte remota.

Os desenvolvedores podem consultar a documentação para desenvolvedores da Confirmação protegida pelo Android em developer.android.com.

Escopo

A implementação da Confirmação protegida do Android pode ser dividida em duas partes, ambas no ambiente de execução confiável (TEE). Uma parte é uma extensão do KeyMint. Ele permite a geração de chaves com o requisito de uso Tag::TRUSTED_CONFIRMATION_REQUIRED. A segunda parte é um app chamado ConfirmationUI, que gera tokens de confirmação. Esses tokens são declarações criptográficas e informam ao KeyMint quando o usuário confirma uma determinada mensagem.