Seguridad de SSD (Memoria Flash) cuando los datos están cifrados en su lugar

9

Estoy estudiando las técnicas actuales en seguridad de memoria flash. Aprendí que la actualización in situ de las memorias flash nos impide adaptar las mismas técnicas de cifrado que usamos en los discos duros; consulte ¿La arquitectura de la memoria Flash (SSD) afecta las técnicas de encriptación? -  y me preguntaba qué tipo de mecanismo se está utilizando para abordar eso.

Para poner mi pregunta en forma clara, digamos que los datos "a" se almacenan en la dirección "x", pero después del cifrado los datos "a" no se pueden almacenar en la misma dirección "x" (porque hay no actualización in situ en memorias flash). Entonces, lo que hacemos es cifrar los datos, decir " a '", y almacenarlos en otra dirección " x' ". Dado que los datos sin cifrar "a" aún están disponibles, debemos eliminarlos (tenga en cuenta que en los SSD solo podemos borrar un bloque completo a la vez), lo que resulta en el borrado y desplazamiento de todos los datos encontrados en el mismo bloque como "a ". El problema es que esto causará muchas operaciones de borrado y, si continúa de esta manera, la memoria se gastará después de un número limitado de borrados.

Me gustaría saber si hay alguna solución para este problema.

    
pregunta lferasu 16.08.2011 - 19:56
fuente

3 respuestas

9

Creo que esta pregunta es un poco más acerca de lo que sucede cuando cifras los datos en un dispositivo donde los datos no estaban cifrados previamente. Las unidades SSD y las unidades HDD sufren diferentes compromisos posibles relacionados con esto. Básicamente, se hace referencia a esto (al menos en la venerable Wikipedia) como remanencia de datos . Ese artículo ofrece mucha información sobre las diversas formas en que los datos pueden permanecer o filtrarse en los discos duros.

Cuando el SSD presenta un problema especial, también presenta una nueva resolución: el comando " Secure Erase " para compensar, al igual que TRIM ayudó a compensar con eliminaciones.

Sin embargo, si sus preocupaciones de seguridad son lo suficientemente altas como para que le preocupe la actividad a nivel de bloque de los datos no cifrados, sugiero lo siguiente: considere cualquier unidad que haya tenido datos confidenciales en un estado no cifrado para ser contaminada . Utilice la encriptación o el cifrado de todo el dispositivo a nivel de dispositivo.

Esto se aplica a los sistemas HDD, así como a los sistemas SSD. El caso particular sería un archivo sobreescrito. Se han teorizado técnicas avanzadas de recuperación para leer datos sobrescritos (por lo tanto, algoritmos de patrón de borrado seguro: DoD 5220.22-M), aunque eso puede ser un artefacto de unidades de menor densidad ( enlace y enlace ). Sin embargo, los sistemas de archivos avanzados pueden procesar una sobrescritura en otra ubicación o capturar instantáneas de datos cuando no están encriptados.

    
respondido por el Jeff Ferland 16.08.2011 - 20:22
fuente
4

Creo que hay una idea errónea de cómo funciona el cifrado de datos en los SSD actuales. Los datos se escriben desde el host al dispositivo en formato de 8 bits / 10 bits. En el nivel de la capa de enlace, los datos se convierten de nuevo a formato de 8 bits / byte y luego se envían al caché (ya sea DRAM o SRAM). Si el controlador admite el cifrado (la mayoría de ellos lo hace), los datos se cifran sobre la marcha y la información de paridad se genera para los datos cifrados antes de que los datos y la información de paridad se escriban en las páginas flash NAND reales en un esquema de round robin (después de multiplexar sobre los canales disponibles).

En otras palabras, los datos no se escriben en un formato no cifrado si se desea cifrar, sino que el cifrado se realiza en línea. Si esto no se hizo, solo se podría escribir una sola página por bloque, luego cifrar los datos, escribirlos en la página siguiente e invalidar la página anterior, lo que dejaría los datos sin cifrar para cualquiera que pueda acceder a ellos haciendo una Purga global o descargando todo el contenido del IC. Por lo tanto, sería necesario, escribir una página, cifrarla (y escribirla en la página siguiente del mismo bloque) y luego borrar todo el bloque y solo copiar la página cifrada en otro bloque. Si alguien hiciera esto, la amplificación de escritura sería astronómica.

Saludos, Michael

    
respondido por el Michael Schuette 13.05.2013 - 23:13
fuente
3

Las actualizaciones no intencionales intencionales se usan a menudo para software crítico o datos como el BIOS. El no inintencional no intencional generalmente se realiza mediante algoritmos de nivelación de desgaste. Para el acceso normal a archivos en ciertos tipos de controladores flash, puede escribir controladores para permitir la escritura en la misma dirección después del borrado. El tamaño del bloque suele ser de 128 kB, lo que no es tan malo si se tiene en cuenta el gran tamaño de los componentes y archivos flash típicos.

Si necesita borrado a nivel de byte, puede ir a la serie EEPROM . EEPROM es el antepasado de la memoria flash. Tiene tiempos de lectura y escritura más rápidos y no requiere borrado a nivel de bloque antes de escribir. El mayor inconveniente de EEPROM es la capacidad. ¡Las EEPROM más grandes tienen 8 MB en comparación con Flash a 256 GB! EEPROM tiene una vida útil de aproximadamente 100,000 ciclos de escritura / borrado, que es similar al flash común pero muy por detrás del flash de alta resistencia que tiene un orden de magnitud más ciclos (1,000,000).

FRAM (memoria de acceso aleatorio ferroeléctrico) es una opción menos popular que también tiene velocidades rápidas de lectura y escritura, así como Acceso a nivel de bytes, pero baja disponibilidad y poco soporte en términos de herramientas y software. Tiene una vida útil mucho más larga y un menor consumo de energía, pero se encuentra principalmente en los componentes del sistema en chip (SoC) en lugar de en la memoria independiente.

    
respondido por el this.josh 17.08.2011 - 00:08
fuente

Lea otras preguntas en las etiquetas