¿Hay alguna investigación sobre la seguridad del cifrado de hardware de los SSD, por ejemplo, Samsung EVO 850? ¿O al menos algún artículo que explique cómo funciona?
TL; DR: ¡No utilice el cifrado de hardware en ningún medio de almacenamiento, ya sea un dispositivo de almacenamiento, un disco duro o un SSD! ¡Esa es una muy, muy mala idea!
Se sabe que los fabricantes de hardware han incluido puertas traseras o simplemente son muy, muy estúpidos sobre el cifrado de los datos. Esto va tan lejos como para que solo usen la misma clave para todos sus dispositivos o que dejen que las claves de cifrado queden sin cifrar y esperan que nadie cambie el firmware de manera que alguien pueda acceder a ellas sin saber la contraseña. He escuchado y leído esto mucho y posiblemente no pueda mostrar mis fuentes reales, pero aquí hay un artículo que confirma lo que acabo de reclamar .
También se sabe que los fabricantes de hardware se han visto obligados a reducir el nivel de cifrado. De la misma manera que sé esto y este artículo lo confirma.
Solo imagina lo que sucede cuando usas cifrado de hardware. Usted compra ese dispositivo mágico a alguien que afirma que solo las personas que conocen la contraseña pueden acceder a los datos almacenados en este. Esa persona no te muestra cómo funciona. También pueden mentirle (vea el artículo vinculado en el párrafo anterior) con muy pocas posibilidades de averiguarlo. No tiene forma de verificar o refutar esas reclamaciones.
Por supuesto, tampoco confíe en el cifrado de software de los fabricantes de hardware. Compré una memoria USB hace aproximadamente 5 años de SanDisk (aún la tengo y la usé por última vez hace una hora) que venía con un "software de cifrado". Nunca utilicé ese software de encriptación, no solo porque está en contra de todos los estándares, uno debería respetar el cifrado (ver el último párrafo), sino también porque después de muy poca investigación descubrí que ese software (que solo funcionaba para MS Windows, es otra razón muy buena) para no usarlo nunca) escribe 1 o 2 caracteres (olvidé si era 1 o 2 pero eso no importa) en un archivo que creó en la carpeta de usuario de Windows si se ingresó la contraseña correcta. Esos 1 o 2 caracteres mostraron a la aplicación que el usuario tenía permiso para acceder a los archivos. Si simplemente escribió el contenido correcto en el archivo (que es el mismo para todas las personas que usan ese software), podría acceder a los datos almacenados en la unidad de memoria USB sin saber la contraseña. Así que no uses eso tampoco.
El cifrado del software es mucho mejor porque usted, como usuario, controla qué software se usa. Puede echarle un vistazo, pagarle a alguien para que lo vea, si se usa comúnmente (¡y debería serlo!), Otros lo verán de todos modos, y si está desarrollado abiertamente, hay personas que discuten públicamente sobre cómo Debería ser lo más seguro posible y esas personas no confían entre sí.
Además, le resulta más fácil cambiar el software utilizado para el cifrado. Si utiliza el cifrado de hardware, una vez que tenga el hardware, utilizará el cifrado específico que proporciona el hardware. Estará reacio a gastar mucho dinero en comprar hardware nuevo y desechar el hardware antiguo, incluso si se revela que hay problemas de seguridad porque "no es eso malo". y "Nadie me atacará, de todos modos". mientras que hubieras tirado un software con fallas similares y lo hubieras cambiado por otro diferente dentro de un día.
Solo use el software de encriptación si es gratis y es ampliamente aceptado como seguro. Que sea gratis requiere que puedas obtener su código fuente si no lo sabes. (No es necesario que sea de código abierto, no es suficiente). Si se le niega el acceso al código fuente, ¡nunca confíe en la aplicación! Por supuesto, esto incluye no confiar en proteger sus datos de accesos no autorizados. Si no se acepta ampliamente que sea seguro, es muy probable que las personas que lo crearon cometieran errores (uno puede cometer muchos errores sobre el cifrado y tiene que hacer un muy buen trabajo para hacer el cifrado seguro) o incluso maliciosamente lo hizo inseguro, lo que puede incluir no cifrar nada en absoluto.
El cifrado simétrico que es AES-128 o 256 es seguro.
Sin embargo, tiene sus propias compensaciones.
Al estar integrado en el disco duro, la clave secreta se almacena en la unidad y está protegida por clave. Ahora la cosa es que en cada unidad hay una manera de evitarlo de alguna manera y recuperar la clave. Es bastante improbable que el proveedor de hardware ponga suficiente protección en esto, incluso es técnicamente posible.
Así que con la mayoría de los SSD y AES, las compañías forenses pueden descifrarlo sin saber la contraseña o descifrarla.
Por otra parte, el cifrado del software requiere que ingreses la contraseña para desbloquear la clave y luego la clave se almacena en la RAM.
Como es imposible descifrar la unidad, es posible descifrar desde una computadora portátil suspendida con un ataque de arranque en frío.
No creo que haya una forma confiable de hacerlo. Creo que una opción sería almacenar la clave en el TPM y luego transferirla usando un kernel de confianza al firmware del disco duro. Otra forma sería utilizar una contraseña aleatoria de 20 o 40 caracteres, que es una clave y, una vez ingresada, se transfiere al firmware del disco duro.
De todos modos, con el cifrado de software como LUKS tiene muchas más posibilidades de no descifrar el disco cuando se lo roban. La forma en que se usa AES también puede ser mejor.
Lea otras preguntas en las etiquetas encryption ssd