La mejor manera de comparar diferentes soluciones de cifrado en mi sistema

La mejor manera de comparar diferentes soluciones de cifrado en mi sistema

Quiero comparar diferentes soluciones de cifrado para cifrar mi sistema, posiblemente diferentes soluciones para diferentes partes del sistema, como /usro /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 ddno 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 /usrpuede necesitar otras evaluaciones comparativas además de las de /homeE/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).

información relacionada