Tenga en cuenta que los SSD modernos ya cifre sus datos a nivel de firmware, de modo que se pueda realizar una operación de reformateo simplemente descartando la clave interna, en lugar de borrar todos los sectores. Esto no significa que sus datos estén encriptados automáticamente en todo momento:la criptografía solo se usa para solucionar el problema de uso de NAND. Sin embargo, sí significa que una operación adecuada de formateo a nivel de firmware hace que los datos en el disco se destruyan por completo para todos los efectos. Si está tirando un SSD, le recomiendo usar esta opción. La mayoría de los principales sistemas operativos reconocen y admiten el comando de firmware apropiado, pero su uso puede diferir; consulte la documentación correspondiente.
En lo que respecta a los sectores de repuesto para nivelar el desgaste, en la práctica debería estar seguro independientemente de si los datos almacenados fueron encriptados o no. Debido al cifrado interno, los bloques de datos huérfanos en las áreas de nivelación de desgaste no deberían poder recuperarse, ya que los IV y los bloques hermanos están destruidos o faltan. Sin embargo, esto no quiere decir que no tenga mala suerte; es muy posible que algunos bloques de datos del archivo terminen retenidos, lo que lleva a un caso en el que se puede recuperar una pequeña cantidad de texto sin formato. Es difícil de decir.
Ignorando la criptografía interna por un momento, otro ataque interesante está relacionado con viejos bloques remanentes de texto cifrado. Si cifra una pieza de datos con una clave y un IV en particular, luego cifra una nueva pieza de datos con la misma clave y IV, es posible atacar esos datos usando criptoanálisis diferencial u otros ataques. También demuestra la modificación activa de ciertas áreas de datos, lo que puede o no ser problemático para usted dependiendo de su escenario de amenaza.
En un bloque Flash, son posibles dos operaciones:convertir un bit de 0 a 1, o restablecer todo el bloque a 0 (los roles de 0 y 1 se pueden intercambiar, por supuesto). Cada bloque soporta solo un número limitado de reinicios antes de fallar, de ahí la "nivelación de desgaste" que intenta extender las operaciones de "reinicio". Además, los códigos de corrección de errores se utilizan para sobrevivir a algunos bits erróneos.
Un posible algoritmo de nivelación de desgaste (o parte de un algoritmo más amplio) es inspeccionar la tasa de errores de bit en cada bloque cuando se lee; cuando la tasa se vuelve demasiado alta (demasiado cerca del límite superior de lo que puede administrar el código de corrección de errores), el bloque se declara "fallido" y la próxima operación de reinicio en ese bloque será una "reasignación":otro bloque, del área de reserva, se utilizará a partir de entonces. La consecuencia es que los datos del bloque "fallido" permanecen ahí; no se puede acceder de forma lógica (el controlador SSD muestra el bloque reasignado, no este) pero se puede leer extrayendo el chip Flash y accediendo a él directamente.
Esto significa que las estrategias de borrado a nivel del sistema operativo no pueden ser 100 % efectivas.
Muchos (pero no todos) los SSD modernos implementan una función de "borrado seguro", en la que todos los datos se cifran con una clave aleatoria, y cuando la máquina solicita un borrado seguro, esa clave se cambia. Esto es equivalente a destruir los datos en todos los bloques, incluidos los datos en los bloques ahora inaccesibles, por lo que es un borrado de disco completo muy efectivo. Sin embargo, el kilometraje puede variar en la forma en que se puede activar dicho borrado (por naturaleza, formatear una partición no desencadena un borrado de todo el disco, y la modificación de la tabla de particiones tampoco suele hacerlo). Además, la seguridad de este proceso depende de la calidad del cifrado utilizado por el disco, que no es necesariamente tan bueno y, en cualquier caso, muy raramente documentado (la mayoría de los proveedores solo dicen "AES" sin ninguna otra precisión). Con el cifrado a nivel del sistema operativo, puede tener más control sobre lo que sucede.
Si cada una de las escrituras de datos que se han producido alguna vez en un disco estuviera usando apropiado cifrado (con una clave que no está en el propio disco, por supuesto), entonces sí, puedes descartar el disco sin pensarlo más. La función de "borrado seguro" de SSD PUEDE incorporar este concepto, suponiendo que no estropee la parte de encriptación (pero rara vez puede estar seguro de eso).