La pregunta teórica aquí es una pregunta de tamaño / entropía. La regla clave es que la entropía del mensaje cifrado es la misma que la entropía del mensaje inicial. Si el algoritmo no implica compresión, el tamaño del mensaje cifrado es el tamaño del mensaje original.
Para que el mensaje cifrado se decodifique de dos maneras diferentes, dependiendo de la clave que necesite, contiene 2 mensajes diferentes. Una forma sería cifrar un mensaje real con una clave y un mensaje falso con otra clave, y combinar ambos mensajes codificados (después de rellenar el más corto), por ejemplo, con un byte de cada uno. Siempre que agregue una ID conocida al comienzo de los mensajes antes de cifrarlos, en el momento de la descodificación, el algoritmo solo podría devolver el mensaje que tenía la ID inicial correcta.
El problema es que hay dos mensajes diferentes + alguna información adicional. Y tener un mensaje cifrado más largo que el inicial no es tan plausible ...
Esa es la razón por la que no conozco ningún algoritmo que implemente denegación plausible, sino solo contenedores , que es un sistema de archivos cifrado completo. Esto se implementó en el excelente TrueCrypt antes de que se suspendiera su soporte. Afortunadamente, una bifurcación del proyecto aún lo ofrece, VeraCrypt .
VeraCrypt en realidad ofrece volúmenes ocultos. De hecho, una parte del espacio vacío de un volumen normal se utiliza para almacenar un volumen distinto con una clave distinta. Cuando presenta una clave, se intenta encontrar un volumen oculto, si no, para encontrar un volumen normal. Cuando abres el volumen normal en modo normal, nada permite adivinar que también contiene un volumen oculto, simplemente tiene un espacio no utilizado que no es una sorpresa para un sistema de archivos. Por supuesto, si escribe muchos datos en ese modo, sobrescribirá y definitivamente destruirá los datos de volumen ocultos. Pero existe un modo especial para dar ambas claves y usar el volumen externo sin riesgo de sobrescribir el interno.
Arriba estaba la parte técnica. Pero la negación plausible también requiere que el contenido del contenedor externo valga la pena, porque la capacidad de los contenedores ocultos es una característica bien conocida. En mi humilde opinión, hay dos formas aceptables:
-
Ordene su información en 3 clases, simple, sensible y secreta y guárdelas en consecuencia: simple fuera del contenedor, sensible en la parte externa (use el acceso con doble contraseña ) y secreto en La parte oculta. De esa manera, como el contenedor externo contiene más que archivos inocentes, la existencia de un contenedor oculto no es evidente. Pero realmente debe usar el contenedor externo, al menos tanto como el interno y estar preparado para revelar su contenido
-
Use el contenedor externo como su almacenamiento principal. Ese es un uso común en las computadoras portátiles corporativas, ya que garantiza que, en caso de robo o pérdida de la computadora, no se pueda acceder de inmediato a información confidencial (aborda la parte de confidencialidad de la seguridad ...). La parte posterior es que debe montar el contenedor como uno solo en el arranque, y en el uso normal, desmóntelo inmediatamente para volver a montarlo manualmente en el modo dual .
Y dependiendo de quién sea el adversario son las páginas de VeraCrypt sobre deniability plausible y requisitos de seguridad para volúmenes ocultos tiene consejos adicionales, como usar solo el volumen oculto al arrancar desde una solo lectura CD / DVD ...
Como es habitual, la seguridad técnica es solo una parte de la seguridad global. Si la información es lo suficientemente sensible como para temer por su integridad física, debe usar medidas de seguridad física y no basarse únicamente en la posibilidad de negación plausible: es una buena herramienta que puede ayudar a ocultar información segura pero no una bala de plata mágica. Solo Snake Oil Company puede proporcionar esos ...