Cryptsetup, LUKS, dm-crypt-Benchmark

Cryptsetup, LUKS, dm-crypt-Benchmark

Ich arbeite an eingebetteter Software, bei der ich Cryptsetup verwendet habe, um einen verschlüsselten Speicherplatz über eine NFS-Ethernet-Standardverbindung zu erstellen ... Ich bin daran interessiert, die Schreibgeschwindigkeit zu verstehen, die diese Festplatte erreicht (einfache Leistungsanalyse).
Zuerst führe ich einen Standard-Benchmark aus

root@sbc-lynx:/mnt# cryptsetup benchmark                                        
# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1        33098 iterations per second for 256-bit key
PBKDF2-sha256      52851 iterations per second for 256-bit key
PBKDF2-sha512      34492 iterations per second for 256-bit key
PBKDF2-ripemd160   29789 iterations per second for 256-bit key
PBKDF2-whirlpool    7062 iterations per second for 256-bit key
#  Algorithm | Key |  Encryption |  Decryption
     aes-cbc   128b    26.7 MiB/s    24.5 MiB/s
 serpent-cbc   128b     6.6 MiB/s     7.3 MiB/s
 twofish-cbc   128b    10.2 MiB/s    11.0 MiB/s
     aes-cbc   256b    21.4 MiB/s    20.8 MiB/s
 serpent-cbc   256b     6.6 MiB/s     7.3 MiB/s
 twofish-cbc   256b    10.2 MiB/s    10.2 MiB/s
     aes-xts   256b     9.0 MiB/s     9.0 MiB/s
 serpent-xts   256b     7.0 MiB/s     7.2 MiB/s
 twofish-xts   256b    10.7 MiB/s    10.9 MiB/s
     aes-xts   512b     7.1 MiB/s     7.0 MiB/s
 serpent-xts   512b     7.0 MiB/s     7.1 MiB/s
 twofish-xts   512b    10.7 MiB/s    10.9 MiB/s

Nur zu Testzwecken habe ich eaes-cbc-256 ausgewählt, das eine gute Leistung zu haben scheint.
Aber jetzt möchte ich die tatsächlich erreichte Geschwindigkeit testen. Mein NFS ist in /mnt/ gemountet und der verschlüsselte Ordner ist korrekt in /home/encryptroot/ gemountet. Ich habe verwendet:

time dd bs=5M count=1 if=/dev/zero of=/mnt/ppx conv=fsync
1+0 records in
1+0 records out
real    0m0.556s
user    0m0.000s
sys     0m0.110s

time dd bs=5M count=1 if=/dev/zero of=/home/encryptroot/ppx conv=fsync
1+0 records in
1+0 records out   
real    0m1.104s
user    0m0.000s
sys     0m0.180s

Aus diesen Ergebnissen habe ich im normalen Ordner eine Geschwindigkeit von fast 9 MB/s ermittelt,
während ich im verschlüsselten Ordner 4 MB/s ermittelt habe.
Frage 1) Ist dies eine gültige Methode zur Bewertung der Schreibgeschwindigkeit? Mit dem Parameter fsync sollte dies die Zeit ermitteln, die zum tatsächlichen Kopieren der Datei auf die Festplatte benötigt wird (nicht zum Kopieren in Caches)?

Mit diesem Ergebnis bin ich nicht zufrieden, da ich mit einer möglichen Verschlüsselung von 20 MB/s die gesamte verfügbare Bandbreite (ca. 9 MB/s) nicht ausschöpfen kann.

Abschließende Untersuchung: Ich habe die Verschlüsselung geändert und den Standard aes-xts verwendet, der maximal 9 MB/s erreichen sollte. Ich habe wiederholt

time dd bs=5M count=1 if=/dev/zero of=/home/encryptroot/ppx conv=fsync
1+0 records in
1+0 records out

real    0m2.281s
user    0m0.000s
sys     0m0.180s

Erzielung einer Schreibgeschwindigkeit von 2,2 MB/s.
Frage 2) Gibt es noch andere Faktoren, die ich bei der Analyse dieser Ergebnisse nicht berücksichtige? Ist es möglich, dass der Overhead des XTS so hoch ist, dass er den Durchsatz reduziert? Und haben Sie andere Tests vorzuschlagen?

Danke

verwandte Informationen