
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.