¿Qué parámetros le doy a cryptsetup?

1

Quiero tener una partición cifrada en mi SSD.

Benchmarks (a 100 samples of 100MiB each):
Average read speeds: 418 MB/s
Average write speeds: 386 MB/s

# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1       484554 iterations per second for 256-bit key
PBKDF2-sha256     666185 iterations per second for 256-bit key
PBKDF2-sha512     459096 iterations per second for 256-bit key
PBKDF2-ripemd160  297552 iterations per second for 256-bit key
PBKDF2-whirlpool  204161 iterations per second for 256-bit key
#  Algorithm | Key |  Encryption |  Decryption
     aes-cbc   128b   535.0 MiB/s  1903.7 MiB/s
 serpent-cbc   128b    75.2 MiB/s   264.3 MiB/s
 twofish-cbc   128b   165.7 MiB/s   311.6 MiB/s
     aes-cbc   256b   392.5 MiB/s  1433.2 MiB/s
 serpent-cbc   256b    75.2 MiB/s   265.2 MiB/s
 twofish-cbc   256b   165.4 MiB/s   312.8 MiB/s
     aes-xts   256b  1592.4 MiB/s  1583.7 MiB/s
 serpent-xts   256b   271.9 MiB/s   260.4 MiB/s
 twofish-xts   256b   306.6 MiB/s   307.5 MiB/s
     aes-xts   512b  1218.7 MiB/s  1241.1 MiB/s
 serpent-xts   512b   272.0 MiB/s   258.8 MiB/s
 twofish-xts   512b   306.1 MiB/s   306.4 MiB/s

Realmente no sé cómo interpretar esto. Veo que una elección obvia es AES-XTS, pero ¿cuál? es decir, ¿cómo es posible que AES-XTS pueda leer y escribir más rápido que mis velocidades reales de lectura / escritura? ¿Importa en este punto si elijo AES-XTS 512 VS 256? ¿O pueden ambos darme las velocidades máximas de lectura / escritura de mi disco?

¿Qué pasa con el hashing? ¿Por qué PBKDF2-SHA1 es más lento que PBKDF2-SHA2? ¿Y cuántas iteraciones debo elegir si elijo PBKDF2-SHA512? (No me importa esperar hasta 3-5 segundos.

    
pregunta Mars 18.07.2016 - 18:13
fuente

2 respuestas

1

AES , Serpiente y Twofish son cifrados de bloque, es decir, los bloques de construcción básicos de algunos criptosistemas que se basan en claves simétricas. AES es el estándar, y no hay razón para elegir otra cosa. Los tres son seguros, pero AES ha recibido más escrutinio para que puedan considerarse más seguros. AES tiene un mejor rendimiento si su máquina tiene aceleración de hardware, como es el caso de la mayoría de las máquinas de gama alta y muchos procesadores Intel de rango medio.

Para el tamaño de clave , 128 bits está bien para casi todos los casos de uso. (Se considera arriesgado solo si quiere que sus datos resistan durante más de una década).

CBC y XTS son dos modos de cifrado de bloque. Un modo de operación describe cómo se aplica la primitiva de cifrado de bloque a los datos. Tanto CBC como XTS están bien desde un punto de vista de seguridad. La diferencia es que CBC solo proporciona confidencialidad, mientras que XTS proporciona confidencialidad e integridad. Si solo le preocupa que alguien descifre sus datos, CBC es lo suficientemente bueno. Con XTS, sabrá si alguien (o algo) corrompe los datos en su disco: recibirá un mensaje de error en lugar de datos de basura. La verificación de integridad solo es útil si alguien puede modificar sus datos, pero aún así confía en el hardware, lo que rara vez es el caso. Con XTS, hay dos claves, por lo que las cifras de tamaño de clave son el doble que para CBC. aes-xts 256b usa dos claves AES-128, etc.

Finalmente PBKDF2 es un Función de estiramiento de la tecla , es decir, una forma de calcular una clave desde una contraseña que ralentiza los intentos de fuerza bruta. La segunda parte es una función hash . PBKDF2 es en realidad una familia de funciones de estiramiento de teclas: cada opción de hash define una opción de modo PBKDF2. Aquí, todas las opciones están bien, pero SHA-1 está en desuso. Elija SHA-256 o SHA-512: son la opción estándar. En cuanto al rendimiento, SHA-256 tiene una ligera ventaja en máquinas de 32 bits, SHA-512 en máquinas de 64 bits. SHA-1 está en desuso (aunque aún no se sabe que esté roto, especialmente en un contexto de estiramiento clave). SHA-256 o SHA-512 están bien.

Resumen: elija PBKDF2-sha256 y aes-cbc a menos que tenga una buena razón.

    
respondido por el Gilles 19.07.2016 - 03:31
fuente
0

Primero, la longitud de la clave ("512 vs 256") realmente depende de la importancia de la protección de datos, pero, IMHO, si es tan importante que requerirá una clave 512, un cifrado de disco por sí solo no es suficiente Para proteger ese tipo de datos. Y, a menos que tenga un AES512 acelerado por hardware, le recomiendo que use 256 bits para reducir la carga útil de cifrado del disco: AES hasta 256 inclusive está acelerado por hardware por la mayoría de las CPU de hoy en día, como Intel CPUs

Segundo, el hashing con SHA256 o SHA512 está bien, no uses un SHA1 debido a su debilidad (se supone). SHA256 y 512 con frecuencia también están respaldados por instrucciones de la CPU, especialmente SHA256, por ejemplo por CPU de Intel .

Entonces, brevemente, use AES256 y SHA256 para el cifrado de disco

    
respondido por el Alexey Vesnin 18.07.2016 - 19:24
fuente

Lea otras preguntas en las etiquetas