Zabezpieczone potwierdzenie w Androidzie korzysta z interfejsu użytkownika chronionego przez sprzęt, zwanego zaufanym interfejsem użytkownika, aby zapewnić wysoką pewność podczas przeprowadzania kluczowych transakcji. Zabezpieczone potwierdzenie Androida jest dostępne na obsługiwanych urządzeniach z Androidem 9 (poziom interfejsu API 28) lub nowszym.
Gdy aplikacja wywoła potwierdzenie chronione, zaufana część interfejsu zapyta użytkownika o potwierdzenie. Interfejs zaufania potwierdza, że użytkownik zatwierdził wyświetlony komunikat z wysoką pewnością, nawet jeśli Android lub jego jądro (Linux) zostało naruszone. Następnie jest ono przekazywane do odległego urządzenia za pomocą Keymastera.
Deweloperzy mogą zapoznać się z dokumentacją dla deweloperów dotyczącą potwierdzenia chronionego na Androidzie na stronie developer.android.com.
Zakres
Implementację potwierdzenia chronionego przez Androida można podzielić na 2 części, z których każda działa w zaufanym środowisku wykonawczym (TEE). Jedna z nich jest rozszerzeniem Keymaster. Umożliwia generowanie kluczy z wymogiem użycia Tag::TRUSTED_CONFIRMATION_REQUIRED
.
Drugą częścią jest aplikacja o nazwie ConfirmationUI, która generuje tokeny potwierdzenia. Te tokeny to oświadczenia kryptograficzne, które są przekazywane do Keymastera, gdy użytkownik potwierdzi daną wiadomość. Ten dokument zawiera opis implementacji interfejsu VerifyUI i instrukcji potwierdzenia dla Keymaster.