La Confirmación protegida de Android aprovecha una interfaz de usuario protegida por hardware llamada Trusted UI para que las transacciones críticas sean altamente confiables. La Confirmación de protección de Android está disponible para los dispositivos compatibles que ejecutan Android 9 (nivel de API 28) o versiones posteriores.
Cuando una app invoca la Confirmación de protección, la IU de confianza le solicita confirmación al usuario. La IU de confianza confirma la aprobación del usuario del mensaje solicitado con un alto grado de confianza, incluso si Android o su kernel (Linux) se vieron comprometidos. Junto con Keymaster, esta aserción se transmite a una parte remota.
Los desarrolladores pueden ver la documentación para desarrolladores de la Configuración de protección de Android en developer.android.com.
Alcance
La implementación de la Confirmación protegida de Android se puede dividir en dos partes, ambas ubicadas en el entorno de ejecución confiable (TEE). Una parte es una extensión de Keymaster. Permite la generación de claves con el requisito de uso Tag::TRUSTED_CONFIRMATION_REQUIRED
.
La segunda parte es una app llamada ConfirmationUI, que genera tokens de confirmación. Estos tokens son declaraciones criptográficas y se transmiten a Keymaster cuando el usuario confirma un mensaje determinado. En este documento, se describe la implementación de ConfirmationUI y las declaraciones de confirmación en Keymaster.