¿Son varios los contenedores encriptados con la misma contraseña que contienen los mismos archivos un riesgo criptográfico?

2

Situación como sigue:

  • Supongamos dos (o más) contenedores, encriptados usando la misma frase de contraseña.
  • Contendrán los mismos archivos. Así que su contenido es idéntico.
  • Sin embargo, (desde "afuera") los contenedores en sí mismos no serán idénticos.

El atacante tendrá acceso a ambos (o más) contenedores y sabrá que el contenido es idéntico. ¿Esto disminuye la seguridad criptográfica general?

Siento que hay una vulnerabilidad pero no sé cómo buscar más.

(Es una pregunta general, el contenedor puede ser de dm-crypt / LUKS o VeraCrypt o incluso de un archivo ZIP encriptado).

    
pregunta Jayjayyy 01.12.2018 - 18:48
fuente

5 respuestas

2

Se considera que la mayoría de los esquemas de encriptación modernos (simétricos y de clave pública) tienen (al menos) seguridad IND-CPA. Esto es "indistinguible en un ataque de texto simple elegido" y se define mediante un juego criptográfico.

En el juego, después de configurar el esquema de cifrado, el adversario elige dos mensajes de texto sin formato (m0, m1) y adhiere el correspondiente texto cifrado de uno de los mensajes mb elegidos al azar (para algunos b aleatorios), el adversario no puede Distinguir a qué mensaje de texto simple corresponde el texto cifrado. El adversario puede repetir este procedimiento varias veces: después de recibir el texto cifrado de uno de sus textos, puede elegir dos mensajes de texto plano más (m0 'y m1') y recibir el texto cifrado de mb '. Después de recibir un número limitado de textos cifrados, el adversario debe adivinar el valor de b. Para que el esquema tenga un IND-CPA seguro, la probabilidad de que el adversario adivine correctamente b no debe ser mayor que 1/2.

Este juego se aplica a tu configuración ya que el adversario no está restringido para elegir mensajes distintos durante cada solicitud. Por lo tanto, incluso si m0 permanece constante durante cada solicitud, en un esquema que es seguro para IND-CPA, el adversario no tiene ninguna ventaja al adivinar b.

Esto generalmente es posible porque los esquemas de encriptación agregan un elemento de aleatoriedad: la mayoría del relleno RSA inserta cierta aleatoriedad, y los esquemas simétricos usan IVs (que deben cambiar para cada texto plano idéntico encriptado bajo la misma clave, un punto en el que vale la pena destacar su escenario).

    
respondido por el arthurmilton 20.12.2018 - 13:07
fuente
1

Si entiendo la pregunta correctamente, eso es más o menos lo que hago con mis copias de seguridad: todas están encriptadas con la misma contraseña.

Según la tríada de la CIA, la seguridad de los datos depende de:

  • confidencialidad
  • integridad
  • disponibilidad

Si todos los archivos son iguales, es decir, contienen los mismos datos y utilizan el mismo método de cifrado con la misma contraseña, entonces la confidencialidad no es un problema. Si un atacante logra leer los datos en el contenedor A, entonces ya conocen todos los datos contenidos en el contenedor B, C, etc. Tener diferentes contraseñas no ayudará con la confidencialidad. Incluso si los métodos de encriptación son diferentes, el más débil podría ser atacado más fácilmente que el otro, revelando todos los datos y, por lo tanto, tener contraseñas diferentes para los otros archivos no ayudará.

En cuanto a la integridad (y la disponibilidad), habrá un problema. Dado que todos los archivos tienen la misma contraseña, si el atacante encuentra la contraseña de un archivo, podrá acceder a todos los demás y corromperlos o eliminarlos a todos. Si en su lugar usa una contraseña diferente para cada archivo, si el atacante encuentra una contraseña, podrá leer todos sus datos y tal vez corromper un archivo (pérdida total de confidencialidad), pero no corromper todos los archivos (pérdida total de integridad). o disponibilidad, sin buenas copias de los datos dejados!).

Como dije, uso la misma contraseña para todas mis copias de seguridad, pero mitigo la integridad y la disponibilidad almacenando algunas copias fuera del sitio. Un atacante necesitaría conocer las ubicaciones y tener acceso físico allí, lo que ni siquiera considero honesto en mi modelo de amenaza. Me preocupa más que un desastre natural destruya una ubicación (esa es la razón real de mis copias de seguridad fuera del sitio).

    
respondido por el reed 01.12.2018 - 19:30
fuente
1

Un par de puntos sobre terminología. En su pregunta usted declara que contendrán los mismos archivos. Así que su contenido es idéntico. . Esta afirmación es, en el mejor de los casos, ambigua. Cuando se habla de criptografía de alto nivel, los archivos y el contenido tienen poco significado. En su lugar, solo hay texto plano y texto cifrado.

Vuelva a redactar su pregunta para mayor claridad:

  • Dados dos o más volúmenes cifrados inicializados con la misma frase de contraseña, y cada uno con el mismo tamaño
  • Con un conjunto idéntico de archivos colocados en cada uno después de la inicialización
  • ¿Un atacante obtiene alguna ventaja al saber de forma independiente que cada volumen, cuando se le presente la clave de descifrado correcta, producirá un conjunto idéntico de archivos?

Si lo anterior es correcto, entonces la respuesta corta es "no" o "una muy pequeña ventaja". Una respuesta más larga depende del esquema de cifrado exacto utilizado.

Para la versión corta, usemos VeryCrypt como ilustración. Cuando se inicializa un volumen de VC, se le solicita que mueva el cursor del mouse al azar para generar entropía. Esta entropía será muy diferente para cada uno de sus volúmenes y es independiente de usar una frase de contraseña repetida. El entroypy cumple dos propósitos. Primero, para muchos esquemas de encriptación se usa para generar el IV (vector de inicialización). El IV está encriptado o combinado con la frase de contraseña y se usa en una secuencia de transformaciones en el texto plano. Parte de la salida de la secuencia o bloque anterior se utiliza como entrada para la siguiente. Esto significa que aunque el texto en claro puede ser idéntico, dados IV diferentes, los bloques de texto cifrado serán muy diferentes entre sí.

Ahora, si simplemente estuviera cifrando un solo archivo o conjunto de archivos en lugar de colocarlos en un volumen, podría exponer sus datos a varios tipos de ataques de texto sin formato, incluido el descrito por @arthurmilton. Sin embargo, cuando se usa un volumen o contenedor, la entropía y IV también se usan para llenar el contenedor con datos aleatorios. Estos datos aleatorios se cifran utilizando el mismo esquema y el texto cifrado aleatorio que se produce es prácticamente indistinguible del texto cifrado real que pertenece a los archivos. Digo prácticamente indistinguible porque según el esquema que se use, hay formas teóricas de aumentar la probabilidad de identificar el texto cifrado aleatorio del texto cifrado del archivo, pero AFIK nunca ha habido un ataque de esta naturaleza en un cifrado bien probado. esquema.

Tomadas en conjunto, estas dos cosas significan que un atacante no gana nada o casi nada por lo que sabe, ya que cualquier comparación entre los contenedores requeriría un número demasiado grande de cálculos para extraer cualquier patrón.

Hay algunos puntos débiles teóricos (y suposiciones) que interfieren con los anteriores. Primero, confiamos en gran medida en la idea de que el generador de aleatoriedad producirá secuencias lo suficientemente aleatorias como para que un atacante ciego a la (s) fuente (s) de entropía (los movimientos aleatorios del ratón y otros factores) no pueda detectar ningún patrón. De una manera computacionalmente factible. Esta fuente de aleatoriedad es uno de los problemas más difíciles de resolver por completo en el cifrado, pero parece que el generador en VeraCrypt es "lo suficientemente bueno" por ahora. Segundo, asumimos que el contenedor es más grande que el tamaño de los archivos que se colocan en él. Cuando se combina con una generación de entropía deficiente, menos texto cifrado aleatorio, podría hacer que sea un poco más fácil identificar el texto cifrado que pertenece a los archivos reales. (Estoy haciendo un mal uso de la distinción entre texto cifrado aleatorio y no aleatorio, pero ayuda a ilustrar el punto). Hay otros contadores para este problema, y VeryCrypt no requiere ni recomienda que se mantenga en sus contenedores alguna proporción de archivos a espacio disponible.

En segundo lugar, asumimos que el esquema de encriptación usa un modo de transformación con protecciones conocidas contra ataques de reutilización. Esta es un área muy densa que no tengo la experiencia para simplificar.

    
respondido por el BrianHVB 20.12.2018 - 23:58
fuente
1

Cualquier cosa diseñada para ser un contenedor encriptado no se debilitará al tener múltiples archivos conocidos e idénticos colocados en ellos. Esto sucede con regularidad: piense cuando instale un sistema operativo en cifrado de disco, habrá miles de archivos idénticos de cualquier tamaño que pueda necesitar. Así que dm-crypt / LUKS, Veracrypt, definitivamente seguro. Pkzip por otro lado, no conozco los detalles (espero que use una IV) pero no confiaría en algo así.

También depende de la implementación: LUKS y Veracrypt están diseñados para ser criptográficos y hay una implementación de cada uno, y quizás algunos productos compatibles. Para pkzip, hay miles de implementaciones en uso activo. Uno de ellos definitivamente tiene una vulnerabilidad, y podría ser la que está usando. Pero esos son los detalles de la implementación. Supongamos que estás usando algo destinado a ser un contenedor criptográfico, y un tipo inteligente verificó el diseño y el código.

La razón por la que esto no se debilita es doble:

  • Utilizan el llamado vector de inicialización (palabra elegante que significa "mezclar datos aleatorios de cierta manera") que hace que cada encriptación sea única. Si tiene dos mil millones de contenedores con archivos idénticos (cada uno generado de manera independiente) y el atacante tiene acceso a todos ellos, entonces el contenedor de dos mil millones y el primero (2000000001th), de nuevo, tiene un cifrado único y el atacante no puede decir nada al respecto .

  • Cualquier algoritmo de cifrado actualmente aceptado no permite la recuperación de claves: dado un texto simple y un texto cifrado, no puede derivar la clave de ninguna manera. Alguien recientemente le preguntó esto porque tenía el texto simple y el cifrado de una base de datos, pero perdió la contraseña y quería descifrar otra base de datos cifrada con la misma contraseña. Estaba encriptado AES y no había nada que pudiéramos hacer por ellos.

Hay algunas cosas que un atacante puede saber: su tamaño, por ejemplo. O, si el atacante puede observar versiones sucesivas, puede observar cuánto cambio hubo. Si se trata de un sistema de pago, un atacante podría saber cuántas compras hubo en función de la frecuencia y el tamaño de los cambios. Pero ninguna de esas son cosas que no podrías contar sin acceso a ninguno de los otros contenedores.

Además, la mayoría de las configuraciones no cifran los datos con su contraseña. Cifran la clave de cifrado con su contraseña. Así que encripta los datos con K1, generados aleatoriamente, y encripta K1 con su contraseña. Cuando desbloqueas los datos, descifras K1 con tu contraseña y K1 descifra los datos. Esto tiene varias ventajas, por ejemplo, es fácil de explicar que si cambia su contraseña, simplemente vuelva a cifrar K1 con la nueva contraseña, en lugar de tener que volver a cifrar todos los datos. Por lo tanto, si la contraseña es la misma, tal vez ni siquiera signifique que la clave de cifrado sea la misma. Pero incluso si lo es, entonces todavía hay las dos propiedades anteriores que lo hacen seguro. (Y un atacante tampoco debería poder decir que K1 se cifró con la misma contraseña en diferentes contenedores, suponiendo que K1 se cifró correctamente (con un vector de inicialización).)

    
respondido por el Luc 21.12.2018 - 01:28
fuente
-1

Lo que se describe en la pregunta parece ser un tipo de ataque de texto simple conocido. Entonces, sí, ese conocimiento ayuda al atacante a simplificar su trabajo.

    
respondido por el c-alpha 20.12.2018 - 16:01
fuente

Lea otras preguntas en las etiquetas