Nota: Bueno, la recompensa expiró y una de las posibles razones podría ser el esfuerzo que se requiere para abordar, según deduzco de los comentarios. Viendo el número de upvotes, parece ser de interés para otros también. Todavía me gustaría obtener una respuesta, así que esto es lo que propongo - una buena respuesta dentro de un mes, obtendrá una bonificación de 50. Esto espero que daría el tiempo adecuado y el incentivo
Llevo un tiempo intentando entender el proceso de encriptación de Android y sus vulnerabilidades
Hay muchas preguntas que abordan porciones de este tema en este sitio y también en el sitio hermano. Para que quede claro, estas preguntas se refieren a porciones y no todo el (que recuerda a " los ciegos y el elefante ?" :)
- ¿Qué protege el cifrado de Marshmallow?
- ¿Protege el cifrado completo del dispositivo mis datos de Google y del gobierno?
- https://Android.stackexchange.com/questions/137334/if-we-encrypt-our-device-can-user-connecting-to-adb-get-it
- Preguntas relativas a Encriptación de la tarjeta SD
- Android-encryption-when-phone-is-on
- Android-cyanogenmod-encryption-vs-gnu
- ¿hay-material-criptográfico-en-una-tarjeta-sim-que-se-pueda-utilizar-con-la-rsa?
- Android-device-encryption
Mi entendimiento (¿o malentendido?)
- La contraseña de cifrado se genera a partir de una combinación del PIN de la pantalla de bloqueo del usuario y el algoritmo de cifrado (ahí radica una debilidad inherente debido a la longitud limitada del PIN)
- Esto es salado y se almacena en la ubicación de root, no accesible a los usuarios
- Esto se utiliza para generar la contraseña real para cifrar / descifrar y la contraseña real se almacena en la memoria RAM
- Esto se reforzó vinculando el paso 1 al SoC del dispositivo ( ¿Qué versión de Android? ¿Cuál es el elemento de hardware que identifica de forma única el dispositivo? ¿Puede ser sustituido por uno falso? )
- Por lo tanto, no es posible descifrar los datos sin la clave de cifrado y el dispositivo (también es válido para la SD externa)
- Posibles métodos de recuperación - fuerza bruta, capturando información de la RAM (paso 3) para obtener la clave
- Dispositivos rooteados aparece para ser más susceptibles de acceder a los datos del paso 2 a través de la recuperación personalizada / posiblemente ROM y el núcleo de flasheo? ( Si es cierto, ¿por qué no se ha promocionado como un gran riesgo? )
- Incluso si se obtiene esta información, supongo que es no trivial esfuerzo para generar la contraseña real
- Marshmallow puede tratar la SD externa como "almacenamiento interno" o "almacenamiento portátil" Lógicamente, no debería haber ninguna diferencia, pero no estoy seguro
Hay lagunas en mi comprensión, probablemente también me faltan otros aspectos clave.
Por lo tanto, estoy buscando un explicación canónica para la comprensión de un perspectiva del usuario
-
Todo el proceso de encriptación (incluida la SD externa)
-
Variación de la implementación a través de las versiones de Android- desde KitKat hasta Marshmallow (incluyendo opciones duales para la SD externa en Marshmallow)
-
Vulnerabilidades a nivel de usuario
Nota
-
Soy consciente del riesgo de que la pregunta sea considerada demasiado amplio pero la OMI justifica un tratamiento exhaustivo
-
Al tener cierta experiencia en seguridad de las comunicaciones, entiendo el reto que supone traducir los conceptos criptográficos a nivel de usuario. Preferiría que la respuesta abordara esto, con indicaciones explicativas para una comprensión más profunda. Ejemplos del proceso no necesita ser criptográficamente correcto en un sentido riguroso pero debería transmitir la esencia
-
Una posible ventaja podría ser "engaño" futuras preguntas sobre aspectos relacionados
-
A costa de la repetición, las respuestas deben ser principalmente a nivel de usuario pero con una explicación adecuada para una comprensión más profunda. Dividir la respuesta en dos partes puede ser una forma adecuada.
-
Yo haría un punto para votar a la baja respuestas de trabajo trivial/casual/parche para fomentar completo respuestas