
Quiero comparar diferentes soluciones de cifrado para cifrar mi sistema, posiblemente diferentes soluciones para diferentes partes del sistema, como /usr
o /home
. En particular, miro las particiones, contenedores, truecrypt, ecryptfs y encfs de dm-crypt con diferentes parámetros. Por varias razones, creo que simplemente medir las velocidades de lectura y escritura de secuencias sin procesar dd
no es suficiente:
- La lectura/escritura de seq me proporciona diferentes cargas de CPU, por ejemplo, ecryptfs carga solo un núcleo (hasta 100%), mientras que dm-crypt es más rápido, pero carga ambos núcleos, por lo que en el uso real ecryptfs puede ser más rápido cuando el sistema está bajo carga desde otras aplicaciones (tal vez no, pero ¿cómo comparo esto?)
- se trata de un SSD, así que quiero tener un punto de referencia, que indique para qué opción el sistema responderá mejor, por lo que también debería incluir algunas pruebas de lectura y escritura aleatorias o algo así (pero no sé cómo hacerlo). )
- La evaluación comparativa de una solución
/usr
puede necesitar otras evaluaciones comparativas además de las de/home
E/S, ya que las características de E/S pueden ser diferentes.
Debo agregar que mi CPU no admite instrucciones AES, por lo que es un factor limitante en el rendimiento. No quiero aislar una parte del sistema, sino comparar las diferentes soluciones de cifrado para el SSD en mi sistema particular. Entonces, ¿cuál es la mejor manera de realizar una evaluación comparativa en mi caso y cómo hacerlo en detalle?
Respuesta1
¿Qué tal el incorporado cryptsetup benchmark
?
# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1 633198 iterations per second
PBKDF2-sha256 329326 iterations per second
PBKDF2-sha512 216647 iterations per second
PBKDF2-ripemd160 474039 iterations per second
PBKDF2-whirlpool 248713 iterations per second
# Algorithm | Key | Encryption | Decryption
aes-cbc 128b 707.0 MiB/s 3120.9 MiB/s
serpent-cbc 128b 98.3 MiB/s 307.2 MiB/s
twofish-cbc 128b 195.0 MiB/s 381.7 MiB/s
aes-cbc 256b 513.8 MiB/s 2373.9 MiB/s
serpent-cbc 256b 97.4 MiB/s 315.1 MiB/s
twofish-cbc 256b 198.8 MiB/s 383.9 MiB/s
aes-xts 256b 2706.1 MiB/s 2634.1 MiB/s
serpent-xts 256b 318.0 MiB/s 310.4 MiB/s
twofish-xts 256b 370.5 MiB/s 380.1 MiB/s
aes-xts 512b 2083.2 MiB/s 2073.8 MiB/s
serpent-xts 512b 323.0 MiB/s 311.4 MiB/s
twofish-xts 512b 375.9 MiB/s 380.2 MiB/s
Normalmente querrás utilizar uno de los cifrados AES. Incluso si su sistema no es compatible con AES-NI hoy, su próxima caja puede...
Respuesta2
Ve sibonnie++le brinda las pruebas/resultados que está buscando. Bonnie++ puede estar disponible en los repositorios de tu distribución.
Este artículo,Evaluación comparativa de SSD Linux: comparación de sistemas de archivos y métodos de cifradoTambién te puede resultar interesante.
Respuesta3
Las soluciones que menciona difieren enormemente en lo que realmente hacen: dm-crypt es un cifrado completo del sistema de archivos, mientras que ecryptfs/encfs están por encima del sistema de archivos. Si quieres seguridad, decideprimero querealmente quieres y soloentonces comopara hacerlo.
Dicho esto, no se sorprenda si su CPU se convierte en el cuello de botella; supongo que, dado que no es compatible con AES-NI, su rendimiento es del orden de magnitud de, por ejemplo, Intel Core2 Duo, que probé hace aproximadamente un año. atrás. La velocidad de los módulos criptográficos del kernel era de aproximadamente 38 MB/s ± 10 MB/s dependiendo del cifrado y el tamaño de bloque utilizado (Twofish, AES, Serpent y Camellia, con tamaños de bloque 128/192/256b).