¿Cómo funciona el montaje de cifrado de disco con un disco grande y poca memoria RAM?

2

Por ejemplo, con Truecrypt o bitlocker, cuando mi disco duro contiene 500 GB de datos encriptados y 256 MB de RAM libre, ¿cómo se montan los datos en el disco cuando enciendo mi computadora?

Si todo el disco está cifrado con la misma clave de descifrado, ¿se requiere la misma cantidad de RAM para procesar los datos? ¿O se aplica el cifrado en bloques pequeños y el descifrado solo descifrando esos bloques?

    
pregunta Ted 04.08.2012 - 10:47
fuente

1 respuesta

2

En los cifrados de bloque (por ejemplo, AES), los datos se dividen en pequeños bloques, y cada bloque de datos se procesa en secuencia. Esto permite que una gran cantidad de datos se cifren o descifren sin consumir mucha RAM.

  1. Cargue un bloque de texto simple en la memoria.
  2. Cifrala.
  3. Guárdalo.
  4. Muévase al siguiente bloque y comience de nuevo.

Y para descifrar:

  1. Cargue un bloque de texto cifrado en la memoria.
  2. Descifrala.
  3. Usa / guárdalo.
  4. Muévase al siguiente bloque y comience de nuevo.

En este esquema, es fácil cifrar o descifrar bloques al azar. Desafortunadamente, esto es inseguro.

Los cifrados de bloque se ejecutan en un modo de operación en particular . El modo más simple (el que acabo de describir) se llama BCE o Libro de códigos electrónicos. Cada bloque se procesa de forma completamente independiente, lo que permite que cada bloque se descifre de forma independiente, como vimos anteriormente. Desafortunadamente, esto conduce a algunos problemas serios con la seguridad, donde los patrones en el texto simple se muestran en el texto cifrado.

La primera imagen es texto plano, la segunda está cifrada con un cifrado de bloque en modo ECB:

Otros modos resuelven este problema al encadenar bloques usando ciertas operaciones. Esto hace que los patrones se dispersen:

Lamayoríadelosmodosdeoperación(porejemplo, Cipher-Block Chaining ) requerirá la anterior Bloque para permanecer en la memoria. Sin embargo, dado que un tamaño de bloque normal es de solo 32 bytes (256 bits), no se necesita mucha memoria para conservarlo. Sin embargo, significa que cada bloque hasta que el bloque requerido deba procesarse primero. Esto obviamente no es práctico para el cifrado de disco, porque para leer el sector de disco 100,001, tendríamos que leer y descifrar los 100,000 bloques anteriores.

TrueCrypt utiliza XTS , un modo especial de operación diseñado específicamente para dispositivos de almacenamiento. Esto permite que los bloques (o secuencias cortas de ellos) se descifren por separado, sin perder la seguridad que brindan los modos que no son del BCE, como el CBC. Esto significa que puede descifrar fácilmente los archivos en el disco sin tener que descifrar todo lo demás, mientras evita los problemas de seguridad que tiene el BCE.

    
respondido por el Polynomial 04.08.2012 - 11:03
fuente

Lea otras preguntas en las etiquetas