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
Las suites de cifrado de disco generalmente operan con datos en sectores de 512 bytes que se cifran y descifran individualmente. Estos sectores de 512 bytes por sí solos pueden usar cualquier modo de operación de cifrado de bloque (típicamente CBC ), pero dado que los sectores arbitrarios en el medio del disco deben ser accesibles individualmente, no pueden depender del contenido de sus sectores anteriores / posteriores. Por lo tanto, con CBC, cada sector debe tener su propio vector de inicialización (IV). Si estos IV son predecibles por un atacante (y el sistema de archivos inicia de manera confiable el contenido del archivo en el mismo desplazamiento al inicio de cada sector, y es probable que los archivos sean en gran parte contiguos), entonces hay un ataque de texto sin formato elegido que puede revelar la existencia de datos cifrados.
El problema es análogo al de usar cifrado 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 IV sean impredecibles con, por ejemplo, ESSIV . [1]
Alternativamente, se pueden utilizar modos de funcionamiento diseñados específicamente para el cifrado de disco (consulte la teoría del cifrado de disco ). Esta debilidad afectó a muchos programas de cifrado de disco , incluidas las versiones anteriores de BestCrypt [2] , así como el ahora obsoleto cryptoloop . [3]
Para llevar a cabo el ataque, se crea un archivo de texto plano especialmente diseñado para el cifrado en el sistema atacado, para " NOP-out " el IV [4] de modo 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, tal que .
Los patrones de bloques de texto cifrado generados de esta manera delatan la existencia del archivo, sin necesidad de descifrar primero el disco.
Ver también
Referencias
- ^ Fruhwirth, Clemens. "Configuración de cifrado del disco duro de Linux" . Consultado el 2 de enero de 2006 .
- ^ Chiriliuc, Adal (23 de octubre de 2003). "Fallo de la generación BestCrypt IV" . Consultado el 23 de agosto de 2006 . Cite journal requiere
|journal=
( ayuda ) - ^ Saarinen, Markku-Juhani O. (19 de febrero de 2004). "Linux para el contrabandista de información" . Universidad Tecnológica de Helsinki . Consultado el 1 de octubre de 2006 .
- ^ Markus Gattol. "Redundancia, el ataque de marca de agua y sus contramedidas" .