Лучший способ сравнить различные решения по шифрованию в моей системе

Лучший способ сравнить различные решения по шифрованию в моей системе

Я хочу сравнить различные решения по шифрованию для шифрования моей системы, возможно, различные решения для разных частей системы, таких как /usrили /home. В частности, я рассматриваю разделы dm-crypt, контейнеры, truecrypt, ecryptfs и encfs с разными параметрами. По нескольким причинам я считаю, что простого измерения скоростей чтения и записи необработанных seq ddнедостаточно:

  • seq read/write дает мне разную нагрузку на процессор, например, ecryptfs загружает только одно ядро ​​(до 100%), тогда как dm-crypt быстрее, но загружает оба ядра, поэтому в реальном использовании ecryptfs может быть быстрее, когда система загружена другими приложениями (может и нет, но как мне это проверить?)
  • речь идет о SSD, поэтому мне нужен бенчмарк, который покажет, при каком варианте система будет чувствовать себя более отзывчивой, поэтому мне следует включить несколько случайных тестов чтения и записи или что-то в этом роде (но я не знаю, как это сделать).
  • для сравнительного анализа решения /usrмогут потребоваться другие бенчмарки, чем для, /homeпоскольку характеристики ввода-вывода могут отличаться

Я должен добавить, что мой процессор не поддерживает инструкции AES, поэтому это является ограничивающим фактором производительности. Я не хочу изолировать часть системы, а хочу сравнить различные решения шифрования для SSD в моей конкретной системе. Так какой же лучший способ провести бенчмаркинг в моем случае и как это сделать подробно?

решение1

А как насчет встроенного 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

Обычно вы захотите использовать один из шифров AES. Даже если ваша система сегодня не поддерживает AES-NI, ваш следующий ящик может...

решение2

Видишь ли, еслиБонни++дает вам тесты/результаты, которые вы ищете. Bonnie++ может быть доступен в репозиториях вашего дистрибутива.

Эта статья,Тестирование SSD Linux: сравнение файловых систем и методов шифрованиятакже может быть вам интересно.

решение3

Решения, которые вы упомянули, сильно отличаются в том, что они на самом деле делают - dm-crypt - это полное шифрование файловой системы, в то время как ecryptfs/encfs находятся выше файловой системы. Если вам нужна безопасность, решитепервое чтовы действительно хотите и толькотогда какчтобы заняться этим.

Тем не менее, не удивляйтесь, если ваш процессор станет узким местом - я предполагаю, что поскольку он не поддерживает AES-NI, его производительность имеет порядок величины, например, Intel Core2 Duo - который я случайно тестировал около года назад. Скорость криптомодулей ядра составила примерно 38 МБ/с ± 10 МБ/с в зависимости от используемого шифра и размера блока (Twofish, AES, Serpent и Camellia с размером блока 128/192/256b).

Связанный контент