Nota: Bueno, la recompensa expiró y una posible razón podría ser el esfuerzo requerido para abordarlo mientras me reúno de los comentarios. Al ver el número de votos a favor, 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á un bono de 50. Espero que esto dé un tiempo e incentivo adecuados
He estado tratando de entender el proceso de cifrado de Android y sus vulnerabilidades por un tiempo
Hay muchas preguntas que abordan partes de este tema en este sitio y también en el sitio hermano. Para aclarar mi punto de vista, estas preguntas abordan porciones y no el todo (que recuerda a "¿ ciegos y un elefante ?" :)
- ¿Qué protege el cifrado Marshmallow?
- ¿El cifrado completo del dispositivo protege mis datos de Google y del gobierno?
- /android/137334/if-we-encrypt-our-device-can-user-connecting-to-adb-get-it
- Preguntas relacionadas con el cifrado de la tarjeta SD
- cifrado de Android cuando el teléfono está encendido
- android-cyanogenmod-encryption-vs-gnu
- is-there-cryptographic-material-in-a-phones-sim-card-that-can-can-used-with-rsa
- cifrado de dispositivo Android
Mi entendimiento (¿o malentendido?)
- La contraseña de cifrado se genera a partir de una combinación de PIN de pantalla de bloqueo de usuario y algoritmo de cifrado (en esto radica una debilidad inherente debido a la longitud limitada de PIN)
- Esto es salado y almacenado en la ubicación raíz, no accesible para los usuarios
- Esto se utiliza para generar la contraseña real para cifrar / descifrar y la contraseña real se almacena en la RAM
- Esto se fortaleció al vincular el Paso 1 con el SoC del dispositivo ( ¿qué versión de Android? ¿Cuál es el elemento de hardware que identifica de forma exclusiva el dispositivo? ¿Puede reemplazarse por falso? )
- Por lo tanto, no es posible descifrar datos sin la clave de cifrado y el dispositivo (también se mantiene para SD externo)
- Posibles métodos de recuperación: fuerza bruta, captura de información de RAM (paso 3) para obtener la clave
- ¿Los dispositivos enraizados parecen ser más susceptibles de acceder a los datos del paso 2 a través de la recuperación personalizada / posiblemente ROM y flasheo del núcleo? ( si es cierto, ¿por qué no se promociona esto como un gran riesgo? )
- Incluso si se obtiene esta información, supongo que no es un esfuerzo trivial generar la contraseña real
- Marshmallow puede tratar la SD externa como "almacenamiento interno" o "almacenamiento portátil". Lógicamente, no debería hacer una diferencia, pero no estoy seguro
En mi opinión, existen lagunas, probablemente también se pierdan otros aspectos clave.
Entonces, estoy buscando una explicación canónica para comprender desde la perspectiva del usuario
Proceso de cifrado completo (incluida SD externa)
Variación de implementación en las versiones de Android: desde KitKat hasta Marshmallow (incluidas las opciones duales para SD externo en Marshmallow)
Vulnerabilidades a nivel de usuario
Nota
- Soy consciente del riesgo de que la pregunta se considere demasiado amplia, pero la OMI garantiza un tratamiento integral
Al tener algo de experiencia en seguridad de la comunicación, entiendo el desafío de traducir conceptos criptográficos a nivel de usuario. Preferiría la respuesta para abordar esto, con indicadores explicativos para una comprensión más profunda. Los ejemplos del proceso no necesitan ser criptográficamente correctos en un sentido riguroso, sino que deben transmitir la esencia.
Una posible ventaja podría ser "duplicar" futuras preguntas sobre aspectos relacionados
A costa de la repetición, las respuestas deben ser principalmente a nivel del 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.
Me gustaría hacer un voto negativo en las respuestas triviales / casuales / parche para alentar respuestas integrales
//
Esto podría ser una mejor opción para la seguridad . También creo que es demasiado amplio porque una buena parte de lo que estás preguntando depende del hardware en particular y de cómo lo implementa el fabricante.