4 votos

Seguridad de la encriptación basada en archivos y consideraciones sobre la copia de seguridad/restauración

Estoy evaluando hacer el cambio al cifrado basado en archivos en mi dispositivo, pero estoy teniendo problemas para encontrar respuestas satisfactorias a las siguientes preguntas:

  • Las aplicaciones pueden colocar los datos en un almacenamiento cifrado de credenciales (CE) o cifrado de dispositivos (DE), pero ¿significa esto necesariamente todo archivos en /data/ están encriptados? ¿Qué pasa si ejecuto echo 1 > /data/test.txt de una cáscara? ¿Es test.txt encriptado a través de CE?

  • Quiero que mis datos estén protegidos con algo más que un PIN de cuatro dígitos. Se puede seguir utilizando una frase de acceso de arranque independiente para desbloquear el cifrado?

  • Para activar el FBE, /data/ necesita ser limpiado. Puedo restaurar una copia de seguridad TWRP anterior a FBE después de habilitarlo para restaurar completamente mis datos?

  • ¿Sigue TWRP pidiendo la contraseña de cifrado en el arranque como lo hace con el cifrado de disco completo?

  • ¿Puedo hacer que TWRP no ¿pide la contraseña de encriptación para poder ejecutar copias de seguridad automáticas a través de OpenRecoveryScript?

  • Si creo una copia de seguridad sin proporcionar mi contraseña de encriptación, ¿es TWRP lo suficientemente inteligente como para restaurar los datos encriptados tal cual en la restauración?

  • ¿Hay alguna otra advertencia sobre la copia de seguridad o la restauración de TWRP que deba tener en cuenta antes de sumergirme en ella?

0 votos

Buenas preguntas, sin embargo IMHO deberías dividirlas un poco más, puede ser q1, q2 y los temas de backup de TWRP como tercera pregunta.

3voto

pr0nin Puntos 353

Android 9 e inferior

Las aplicaciones pueden colocar los datos en un almacenamiento cifrado de credenciales (CE) o cifrado de dispositivos (DE), pero ¿significa esto necesariamente que todos los archivos de /data/ están cifrados?

Lo que se cifrará y la clave que se utilizará dependerá del política de encriptación . La política de encriptación especifica en una base por directorio lo que se debe encriptar. Las exclusiones (sin encriptación) también parecen ser posibles.

Para Android 9 y por debajo de la política utilizada nos codificado en el código fuente de Android .

Allí se puede leer que actualmente se conocen algunas exclusiones:

  • /datos/apex
  • /datos/datos
  • /datos/perdidos+encontrados
  • /datos/medios
  • /datos/misc_ce
  • /datos/misc_de
  • /datos/sistema_ce
  • /datos/sistema_de
  • /datos/usuario
  • /datos/usuario_de
  • /datos/vendedor_ce
  • /datos/vendedor_de

Para algunas de esas exclusiones hay una política de encriptación para un subdirectorio especificado. Sin embargo, si lo entiendo correctamente, colocar un archivo directamente en uno de esos directorios significa que no se aplicará ninguna encriptación.

Android 10

En Android 10, la política de cifrado estaba codificada en esta ubicación:

/system/extras/libfscrypt/fscrypt_init_extensions.cpp 1

Android 11+

En Android 11 y superiores, la política de cifrado ya no está codificada en una ubicación centralizada, sino que se define mediante argumentos a los comandos mkdir en los scripts de inicio. Los directorios encriptados con la política sistema DE usan encryption=Require, mientras que los directorios no encriptados (o directorios cuyos subdirectorios están encriptados con claves por usuario) utilizan encryption=None. 1

0 votos

¿Está seguro de que /data/data está excluido del cifrado? Se trata de un directorio donde están todos los ajustes de la aplicación. /data/user es un directorio donde están los archivos del usuario, el llamado "almacenamiento interno".

1 votos

@QkiZ Hay un comentario en el código fuente (he corregido el enlace) sobre que algunos de los dispositivos pueden ser excluidos del cifrado porque sus subdirectorios están incluidos en el cifrado. Por lo tanto, desde mi punto de vista, esta lista de exclusión se aplica principalmente a los propios directorios, no a sus subdirectorios.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X