¿Cómo eliminar archivos de tal forma que no se puedan restaurar?

¿Cómo eliminar archivos de tal forma que no se puedan restaurar?

Implementé mi propia versión de un cifrado aes en Java para tener una aplicación de cifrado independiente de la plataforma que no depende de los cifrados disponibles en el jvm en uso.

Esta aplicación debería utilizar este cifrado para cifrar un archivo y almacenarlo en el disco duro.

.

El problema: eliminar archivos de tal manera que no se puedan restaurar

El usuario ahora debe poder eliminar de forma segura su archivo original, por lo que no puede restaurarse sin conocer la clave de cifrado. Para hacerlo, la aplicación tendría que sobrescribir el archivo varias veces con datos aleatorios y finalmente eliminarlo del sistema.

Pero Windows, por ejemplo, me obstaculiza con otro escollo a la hora de proteger los datos cifrados. A partir de Windows Server 2003, se utiliza la tecnología Shadow Copy. Por lo tanto, Windows aún puede ocultar las versiones anteriores del archivo eliminado.

Mis preguntas son ahora:

  • ¿Se utilizan tecnologías similares para Mac o Linux Mint/Ubuntu?
  • ¿Existe alguna forma (independiente de la plataforma) de eliminar archivos sin posibilidad de restaurarlos?

Respuesta1

La única forma de evitar de manera verificable la recuperación de archivos sin acceso a nivel de sector al disco y conocimiento del sistema de archivos es abrir un archivo, escribir datos aleatorios en él hasta que el disco esté lleno y luego eliminar el archivo. Y si las cosas están siendo ocultadas, esto probablemente no ayude.

Si el usuario no puede acceder a la clave, entonces los datos del archivo son inútiles y es mejor que no se preocupe por eliminarlos. Si la longitud del archivo puede revelar información, complete sus datos antes de escribir.

Si solo desea que una única clave funcione para cifrar/descifrar ese archivo, entonces necesita derivar claves de sesión únicas a partir de una clave maestra ascendente.

Tenga en cuenta que si almacena claves, o elementos que se utilizan para derivar claves, en el mismo lugar que el texto cifrado, está implementando un sistema fundamentalmente roto que eventualmente siempre puede descifrarse.

Respuesta2

Desafortunadamente, no hay manera de evitar esto. Varias implementaciones de software integrado en el sistema operativo o herramientas de terceros están diseñadas para retener datos de modo quepoderser recuperado. No hay nada que pueda hacer dentro de su aplicación que pueda anular esto. El control de versiones de archivos, instantáneas, copias de seguridad, etc. harán copias de su archivo.

Lo único que puedes hacer es almacenar los archivos en un dispositivo o volumen que no tenga "copias de seguridad".

información relacionada