Melhor maneira de comparar diferentes soluções de criptografia no meu sistema

4

Eu quero comparar diferentes soluções de criptografia para criptografar meu sistema, possivelmente soluções diferentes para partes diferentes do sistema, como /usr ou /home . Em particular eu olho para partições crypt-dm, containers, truecrypt, ecryptfs e encfs com diferentes parâmetros. Por várias razões, acho que apenas medir as velocidades de leitura e gravação do seq em bruto usando dd não é suficiente:

  • seq leitura / escrita me dá diferentes cargas de CPU, por exemplo ecryptfs carrega apenas um núcleo (até 100%) enquanto que dm-crypt é mais rápido, mas carrega ambos os núcleos, então em uso real ecryptfs pode ser mais rápido quando o sistema é sob carga de outras aplicações (talvez não, mas como faço benchmark isso?)
  • é tudo sobre um SSD, então eu quero ter benchmark, o que indica para qual opção o sistema se sentirá mais responsivo, então eu deveria incluir alguns testes de leitura aleatória ou algo assim também (mas eu não sei como para fazer isso)
  • o benchmarking de uma solução para /usr pode precisar de outros benchmarks do que para /home , já que as características de I / O podem ser diferentes

Devo acrescentar que minha CPU não suporta instruções AES, por isso é um fator limitante no desempenho. Eu não quero isolar uma parte do sistema, mas comparar as diferentes soluções de criptografia para o SSD no meu sistema particular. Então, qual é a melhor maneira de fazer benchmark no meu caso e como fazê-lo em detalhes?

    
por student 10.10.2013 / 18:35

3 respostas

2

Veja se o bonnie ++ fornece os testes / resultados que você está procurando. Bonnie ++ pode estar disponível nos repositórios da sua distro.

Neste artigo, Comparação entre benchmarks e SSD Linux: Comparar sistemas de arquivos e métodos de criptografia também pode ser interessante para você.

    
por 10.10.2013 / 19:09
1

Que tal o 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 você vai querer usar uma das cifras AES. Mesmo que o seu sistema não suporte a AES-NI hoje, sua próxima caixa pode ...

    
por 10.10.2013 / 20:41
0

As soluções que você menciona diferem muito no que elas realmente fazem - o dm-crypt é a criptografia completa do sistema de arquivos, enquanto o ecryptfs / encfs está acima do sistema de arquivos. Se você quer segurança, decida primeiro o que você realmente quer e apenas , então para fazer isso.

Dito isto, não se surpreenda se sua CPU se tornar o gargalo - suponho que, uma vez que não suporta AES-NI, seu desempenho é da ordem de magnitude de, e. Intel Core2 Duo - que eu testei há um ano. A velocidade dos módulos de criptografia do kernel foi de aproximadamente 38MB / s ± 10MB / s, dependendo do tamanho da cifra e do bloco usados (Twofish, AES, Serpent e Camellia, com tamanhos de bloco de 128/192 / 256b).

    
por 10.10.2013 / 19:24