A Confirmação Protegida do 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 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 consulta o usuário para confirmação. A interface confiável declara a aprovação do usuário da mensagem solicitada com um alto grau de confiança, mesmo que o Android ou o kernel (Linux) tenham sido comprometidos. Com o Keymaster, essa declaração é transmitida a uma parte remota.
Os desenvolvedores podem conferir a documentação para desenvolvedores da Confirmação protegida 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 Keymaster. 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
são transmitidos ao Keymaster quando o usuário confirma uma determinada mensagem. Este documento
descreve a implementação da ConfirmationUI e as declarações de confirmação
para o Keymaster.