cryptsetup, LUKS, benchmark dm-crypt

1

Estou trabalhando em software embarcado, onde usei o cryptsetup para criar um espaço em disco criptografado em uma conexão padrão NFS Ethernet ... Estou interessado em entender a velocidade de gravação que esse disco alcança (análise de desempenho simples).
Primeiro eu executo um benchmark padrão

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

Apenas para o propósito do teste eu escolho se-e-cbc-256 que parece ter um bom desempenho.
Mas agora eu quero testar a velocidade real alcançada. meu NFS é montado em / mnt / e a pasta criptografada é montada corretamente em / home / encryptroot /. Eu usei:

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

A partir destes resultados obtive na pasta normal uma velocidade de quase 9 MB / s Enquanto para a pasta criptografada eu obtive 4 MB / s
Pergunta1) Este é um método válido para avaliar a velocidade de escrita? usando o param fsync isso deve avaliar o tempo usado para realmente copiar o arquivo em disco (para não copiar em caches)?

Não estou satisfeito com esses resultados, porque com um potencial de criptografia de 20 MB / s não consigo preencher a largura de banda total disponível (cerca de 9 MB / s).

Investigação final: eu mudei a cifra e usei o padrão aes-xts que deveria atingir um máximo de 9MB / s eu repeti

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

Obtendo uma velocidade de gravação de 2,2 MB / s.
Pergunta2) há outros fatores a considerar que estou perdendo para analisar esses resultados? É possível que a sobrecarga do xts seja tão alta para reduzir o throughput? E tem outro teste para sugerir?

Obrigado

    
por G.D. 23.11.2017 / 11:57

0 respostas