Estoy interesado en comprender el proceso de arranque verificado en Android, pero no pude encontrar información sobre algunas propiedades del proceso.
De lo que he recopilado hasta ahora, obtengo que en los dispositivos Android se admite el proceso de arranque verificado utilizando dm-verity
, que verifica los hashes firmados de los bloques de memoria en los que se encuentra el sistema operativo que se va a cargar.
Además, la mayoría (si no todos) de los dispositivos basados en procesadores ARM actuales tienen la función TrustZone que se utiliza para crear el llamado "Mundo seguro" y "Mundo inseguro".
Lo que estoy tratando de entender es cómo todo esto está envuelto:
- ¿Cuándo se ejecuta
dm-verity
en el proceso de inicio de Android? - ¿Se ejecuta
dm-verity
desde dentro del "Mundo seguro"? Si es así, ¿cómo se verifica la carga del SO "Secure World"? - ¿Cuándo está en el proceso de inicio la primera vez que se accede / activa la función "mundos" de TrustZone?