¿Procedimiento de "cifrar y borrar" en Android Lollipop?

11

Sé que mucha gente está abogando por un procedimiento de "cifrado y borrado" para vender teléfonos Android usados. Pero según el sitio web de AOSP, en Android 5.x Lollipop:

  

Se creó un cifrado rápido, que solo cifra los bloques utilizados en los datos   partición para evitar que el primer arranque tarde mucho tiempo.

Más específicamente, cuando Lollipop cifra un dispositivo sin cifrar previamente:

  

Para habilitar el cifrado in situ, vold inicia un ciclo para leer cada sector   del dispositivo de bloque real y luego escríbalo en el dispositivo de bloque criptográfico.   vold comprueba si un sector está en uso antes de leer y escribir   , lo que hace que el cifrado sea mucho más rápido en un dispositivo nuevo que tiene poco   a ningún dato.

En otras palabras, Google tomó la decisión inquietante de cifrar solo el espacio marcado como "usado" en el almacenamiento, no cualquiera del espacio libre, que bien podría incluir información no cifrada eliminada antes de cifrado A menos que me equivoque, este es un riesgo masivo de seguridad, hace que el procedimiento de "cifrado y borrado" no sea más que un placebo inútil, y hace que la destrucción física sea la única manera de asegurar razonablemente un dispositivo Android Lollipop sin cifrar.

¿Es correcta esta evaluación del sistema de cifrado de Lollipop?

¿Existe un método para obligar a Lollipop a usar el cifrado de disco completo en lugar del "cifrado rápido" sin sentido?

    
pregunta Desmond 03.08.2015 - 19:20
fuente

2 respuestas

3

Está cometiendo el error común de hacer la pregunta equivocada: "¿es seguro este sistema?" en lugar de "es este sistema seguro en este escenario ?".

La elección de Google de no cifrar el espacio no utilizado tiene mucho sentido en el escenario de uso típico en el que un usuario decide cifrar sus datos, y todos sus datos actuales y futuros están cifrados. La opción de no cifrar el espacio no utilizado solo tiene un impacto de seguridad mínimo en este escenario: en un dispositivo joven, revela cuánto espacio se ha utilizado. Eventualmente, a medida que los bloques se asignan y liberan, todos los bloques terminarán encriptados, lo que hará imposible saber cuáles están actualmente en uso y cuáles están simplemente en uso.

Los datos que se almacenaron en el dispositivo pero que ya no son accesibles no se cifran mediante este procedimiento. Este es un diseño razonable, ya que es una función de cifrado, no una función de borrado.

Aún puede aprovechar la función de cifrado para hacer una función de borrado activando primero el cifrado, luego llenando la partición con datos, cualquier información. Por ejemplo, si tiene acceso al shell raíz, cat /dev/zero >/data/zero && cat /dev/zero >/cache/zero && rm /data/zero /cache/zero después de activar el cifrado borrará el espacio libre en las particiones que contienen /data y /cache . Consulte a sus expertos favoritos de Android para saber cómo lograr esto sin acceso de root.

Tenga en cuenta que incluso el pre-Lollipop, llamar al procedimiento que describe "cifrar y borrar" es un nombre inapropiado. Si hubiera un borrado real, el cifrado no sería útil, los datos desaparecerían de todos modos. Es realmente "cifrar y restablecer", donde el restablecimiento hace que los datos sean inaccesibles a través de medios normales, pero no se borran.

    
respondido por el Gilles 04.08.2015 - 01:43
fuente
1

El cifrado in situ de Android funciona muy bien para archivos nuevos y existentes, pero el hecho de que no borre el espacio libre debe tenerse en cuenta. Tenga en cuenta que incluso si hizo un cifrado de "disco completo" como usted dice, donde declara que toda la partición está "encriptada", no ayuda, porque tampoco sobrescribiría todos los bloques.

La mayoría de las guías que he visto incluyen los pasos adicionales 3. "configurar de nuevo el cifrado, luego rellenar con datos grandes hasta que se alcance el límite" y 4. "borrar de nuevo", hasta 1. encriptar, 2. borrar. El tercer paso llenará y sobrescribirá el almacenamiento gratuito de la partición /data .

Incluso estos dos pasos no sobrescriben todo, ya que algunos datos aún pueden permanecer en el espacio reservado, lo que tune2fs -l informa como "Recuento de bloques reservados", pero este valor generalmente se establece en 0 para dispositivos Android (al menos el mío informa de esa manera), y otras áreas reservadas para el sistema de archivos. La única manera de estar realmente seguro de que se eliminen todos los datos, es desmontar la partición / data (por ejemplo, cuando el dispositivo está en modo de recuperación), y borrar todo el archivo del dispositivo, luego crear un nuevo sistema de archivos ext4, si se pretende que sea vendido.

Además, tenga en cuenta que un paso de cifrado no es necesario, puede reformatear directamente la unidad, cifrar, rellenar y borrar.

    
respondido por el user10008 04.08.2015 - 02:55
fuente

Lea otras preguntas en las etiquetas