En criptografía, un ataque de marca de agua es un ataque a los métodos de cifrado de disco en el que un atacante puede detectar la presencia de un dato especialmente diseñado sin conocer la clave de cifrado .
Descripción del problema
Los sistemas de cifrado de disco generalmente operan con datos en sectores de 512 bytes , que se cifran y descifran individualmente. Estos sectores de 512 bytes pueden usar cualquier modo de cifrado por bloques (normalmente CBC ), pero dado que los sectores arbitrarios en el medio del disco deben ser accesibles individualmente, no pueden depender del contenido de los sectores precedentes o posteriores. Por lo tanto, con CBC, cada sector debe tener su propio vector de inicialización (IV). Si un atacante puede predecir estos IV (y el sistema de archivos inicia el contenido de los archivos de forma fiable en el mismo desplazamiento con respecto al inicio de cada sector, y es probable que los archivos sean en gran medida contiguos), entonces existe un ataque de texto plano elegido que puede revelar la existencia de datos cifrados.
El problema es análogo al de usar cifrados de bloques en el modo de libro de códigos electrónico (ECB) , pero en lugar de bloques completos, solo el primer bloque en diferentes sectores es idéntico. El problema se puede eliminar con relativa facilidad haciendo que los vectores de inicialización (IV) sean impredecibles con, por ejemplo, ESSIV . [ 1 ]
Como alternativa, se pueden utilizar modos de operación diseñados específicamente para el cifrado de disco (véase la teoría del cifrado de disco ). Esta vulnerabilidad afectó a muchos programas de cifrado de disco , incluidas versiones antiguas de BestCrypt [ 2 ] , así como al ahora obsoleto cryptoloop [ 3 ] .
Para llevar a cabo el ataque, se crea un archivo de texto plano especialmente diseñado para su cifrado en el sistema bajo ataque, para " NOP-out " el IV [ 4 ] de tal manera que el primer bloque de texto cifrado en dos o más sectores sea idéntico. Esto requiere que la entrada al cifrado (texto plano,, vector de inicialización XOR ,) para cada bloque debe ser el mismo; es decir, . Por lo tanto, debemos elegir textos planos,de tal manera que.
Los patrones de bloques de texto cifrado generados de esta manera revelan la existencia del archivo, sin necesidad de descifrar previamente el disco.
Véase también
Referencias
- ↑ Fruhwirth, Clemens. "Configuración de cifrado del disco duro de Linux" . Consultado el 2 de enero de 2006 .
- ↑ Chiriliuc, Adal (23-10-2003). "Fallo de generación de BestCrypt IV" . Recuperado el 21-05-2023 .
- ^ Saarinen, Markku-Juhani O. (19 de febrero de 2004). "Linux para el contrabandista de información" . Universidad Tecnológica de Helsinki. CiteSeerX 10.1.1.117.4062 . Consultado el 1 de octubre de 2006 .
- ↑ Markus Gattol. "Redundancia, el ataque de marca de agua y sus contramedidas" .
- ataques criptográficos
- Cifrado de disco