Confirmação protegida pelo Android

 Tela de confirmação protegida.

Figura 1. Tela de confirmação protegida.

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

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

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

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

Escopo

A implementação da Confirmação protegida pelo Android pode ser dividida em duas partes, ambas residentes no ambiente de execução confiável (TEE). Uma parte é uma extensão do KeyMint. Ela 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 transmitem ao KeyMint quando o usuário confirma uma determinada mensagem.