• Nenhum resultado encontrado

Testes de Desempenho sobre Ferramentas de Encriptação do Disco

3.5 Estudo de Ferramentas Criptográficas

3.5.2 Testes de Desempenho sobre Ferramentas de Encriptação do Disco

3.5.2.1 Descrição dos Testes

Os testes de desempenho baseiam-se numa ferramenta de file system benchmarking que se designa por Bonnie++. Entre outros, esta ferramenta permite a execução de testes de escrita, leitura, reescrita e pesquisa sobre um dado diretório. São retornados valores de velocidade em kB/s, médias ponderadas do uso do processador em valores percentuais e latências adjacentes aos testes em questão representados na unidade de medida de tempo do sistema internacional de unidades, o segundo. Nos testes de escrita e leitura são retornados valores de velocidade e uso médio do processador quer por byte, quer por blocos de bytes.

Foram realizados testes nas seguintes ferramentas de encriptação do disco: eCryptfs, EncFS, CryFS e dm-crypt, todos elas montadas previamente num diretório específico com estrutura orga- nizacional estabelecida pela file system ext4, file system utilizada no software IPbrick da IPBrick cloud. Para obtenção de um elemento de comparação base, foi realizado um teste isolado sobre a file systemext4. A ferramenta TrueCrypt, analisada de forma qualitativa no ponto anterior, baseia- se em estratégias de encriptação que assentam nos princípios de funcionamento do Linux Unified Key Setup(LUKS), tal como a dm-crypt. Pelo facto de serem ferramentas muito semelhantes, divergindo apenas em alguns parâmetros de segurança, só foram realizados testes de desempe- nho sobre a dm-crypt. Os testes foram executados numa VM com as seguintes características de virtualização:

• Guest OS - Debian Jessie Linux-3.16.0-4-amd64. • Memória RAM Virtual - 1 GB.

• Memória Disco Rígido Virtual - 30 GB.

Um teste de escrita consiste na geração de forma recursiva de cerca de 16384 ficheiros, com tamanho que pode variar entre 0 bytes e 10024 bytes, num diretório especificado através de um dos parâmetros de entrada do comando definido para execução dos testes. O teste de leitura consiste na leitura recursiva dos ficheiros gerados e o teste de reescrita consiste num teste de escrita em que os ficheiros são eliminados de forma imediata e gerados novamente. O teste de pesquisa aleatória faz uso de processos SeekProcCount em paralelo completanto um total de 8000 lseek()’s em locais dos ficheiros especificados por Random(). Outros detalhes dos algoritmos que perfazem os tes- tes de benchmarking suportados pela ferramenta Bonnie++, podem ser consultados na referência associada ao presente parágrafo [38].

A credibilidade dos resultados depende de possíveis alterações do ambiente de testes para cada ferramenta de encriptação do disco bem como dos elementos parametrizáveis. Em cada ferramenta de encriptação do disco definiu-se a cifra de encriptação simétrica como sendo a AES atuando em modo CBC com chaves criptográficas de tamanho equivalente a 256 bits. Os restantes parâmetros bem como o ambiente de realização dos testes mantiveram-se idênticos para todos os testes efetuados sobre as ferramentas de encriptação do disco em causa.

Admitindo que as ferramentas de encriptação do disco e a ferramenta Bonnie++ já se encon- tram instaladas no sistema operativo, fica apenas a ser necessária a execução de dois comandos na interface CLI para se proceder à execução dos testes. Tomando como exemplo a ferramenta eCryptfs, os dois comandos necessários ao procedimento são os seguintes:

1.1 $ mount − t e c r y p t f s / home / home −o e c r y p t f s _ c i p h e r = a e s / cbc ,

e c r y p t f s _ k e y _ b y t e s =32

2

Comando que faz a instalação ou a montagem da ferramenta de encriptação no diretório do utilizador ,"/home". Os inputs do comando definem a cifra simétrica a utilizar AES bem como o modo de atuação CBC e o número de bytes da chave simétrica, 32 bytes correspondentes a 256 bits.

2.1 $ b o n n i e ++ −d / home −u 0 −n 1 6 : 1 0 : 0 : 1 −m T e s t e X 2

Comando para execução dos vários testes sobre o diretório "/home". Em " -n" define-se o número de ficheiros em que 16 corresponde a 16384 ficheiros gerados, o tamanho máximo de cada ficheiro em que 10 corresponde a 10024 bytes e o tamanho mínimo de cada ficheiro, 0 bytes. Em " -m" define-se o nome do teste a executar, neste caso, "TesteX".

3.5.2.2 Resultados

Os resultados dos testes bem como médias aritméticas associadas aos valores obtidos são, de seguida, expostos em tabelas. Foram executadas três sequências de testes por cada ferramenta para demonstração da consistência dos valores obtidos. Os valores presentes nas tabelas encontram-se arredondados às unidades. Nos testes de escrita e leitura são reportados a velocidade (kB/s) e o uso do processador (CPU) quer por byte (Char) quer por bloco de bytes (Bloco). Por cada ferramenta representada indicam-se os resultados de três testes a que foi sujeita. Os ficheiros output obtidos a partir dos testes podem ser observados nos anexos emB.

3.5 Estudo de Ferramentas Criptográficas 39

Teste de Escrita Teste de Leitura Teste de Reescrita

Char Bloco Char Bloco

KB/s CPU kB/s CPU kB/s CPU kB/s CPU kB/s CPU 45 16% 6648 1% 2609 55% 16989 2% 6891 2% CryFS 45 16% 5654 1% 3663 77% 18299 2% 7437 2% 43 16% 7534 1% 2811 58% 28749 1% 8934 1% 19 13% 20959 5% 4007 87% 94691 4% 13370 3% EncFS 18 13% 21462 6% 4200 84% 94158 4% 13836 3% 18 13% 22217 6% 4272 90% 94280 4% 14184 3% 23 99% 22865 43% 3012 78% 95653 96% 15120 37% eCryptfs 23 97% 21590 41% 3549 91% 95959 96% 13656 34% 23 99% 20203 37% 3561 96% 96566 96% 13478 33% 565 89% 13026 2% 3069 77% 117972 5% 14048 1% dm-crypt 593 94% 18641 3% 3071 78% 121005 5% 16637 1% 601 93% 9024 1% 3140 84% 120801 5% 16426 1% 714 85% 24129 4% 4402 95% 349402 68% 19199 6% ext4 782 94% 22019 4% 3932 89% 345922 68% 16841 5% 688 83% 19963 3% 3877 87% 326984 62% 16499 5% Tabela 3.4: Resultados dos testes de escrita, leitura e reescrita. Na coluna mais à esquerda estão representadas as ferramentas testadas.

Teste de Escrita Teste de Leitura Teste de Reescrita

Char Bloco Char Bloco

kB/s CPU kB/s CPU kB/s CPU kB/s CPU kB/s CPU CryFS 44 16% 6612 1% 3028 63% 21346 3% 7754 3% EncFs 18 13% 21586 6% 4160 87% 94376 4% 13797 3% eCryptfs 23 92% 21552 41% 3374 88% 96059 96% 14085 35% dm-crypt 586 92% 13564 3% 3093 80% 119926 5% 15704 1%

ext4 728 87% 22037 4% 4070 90% 340769 66% 17513 5% Tabela 3.5: Média aritmética dos resultados obtidos na tabela3.4.

A partir das tabelas3.4e3.5é possível retirar as seguintes conclusões:

• Na escrita de um byte, a dm-crypt apresentou os melhores desempenhos em relação às restantes ferramentas enquanto que a CryFS conseguiu superar a EncFS e a eCryptfs. Na escrita de blocos de bytes, tanto a EncFS como eCryptfs apresentaram desempenhos superi- ores às restantes ferramentas. Em termos globais, a eCryptfs apresentou valores superiores para o uso médio percentual das capacidades de processamento, a este nível a CryFS obteve bons resultados.

• Na leitura de um byte, os resultados foram idênticos enquanto que na leitura de blocos de bytes, a dm-crypt destaca-se novamente obtendo uma velocidade de leitura na ordem da centena de MB/s, por outro lado, a CryFS apresenta o pior desempenho. Novamente a eCryptfs apresenta valores do uso médio do CPU muito elevados.

• No teste de reescrita, a CryFS que apresenta desempenhos inferiores às restantes ferra- mentas. A eCryptfs demonstra novamente um uso do CPU muito superior às restantes ferramentas.

• Os testes sobre a file system ext4 de forma isolada, na sua maioria, apresentam melhores resultados que a ext4 em conjugação com as restantes ferramentas.

Teste de Pesquisa Aleatória kB/s CPU kB/s CPU 439 6% CryFs 595 8% 617 8% 817 9% 436 9% EncFs 447 9 419 8% 373 7% 653 144 eCryptfs 684 150% 623 136% 532 115% 648 12% dm-crypt 526 11% 569 11% 532 11% 752 55% ext4 821 68% 731 62% 619 62%

Tabela 3.6: Resultados do teste de pesquisa aleatória.

A partir da tabela 3.6é possível retirar as seguintes conclusões:

• A semelhança entre os valores médios da velocidade da pesquisa não permitem fazer uma distinção clara entre as várias ferramentas testadas.

• Relativamente ao uso médio do CPU, destaque para a CryFS e EncFS sendo estas as que apresentam melhor desempenho no que diz respeito ao uso percentual médio da capacidade do processador, ao contrário da eCryptfs, apresentando novamente o desempenho mais fraco a este nível.

3.5 Estudo de Ferramentas Criptográficas 41

Teste de Escrita Teste de Leitura Teste de Reescrita Teste P.A. Char Bloco Char Bloco

ms ms ms ms ms ms 193 7145 63 517 5111 2271 CryFs 203 7696 34 278 2658 232 196 6398 78 358 5075 197 578 2659 38 57 1591 8794 EncFs 1103 794 61 76 971 7623 716 1029 75 48 911 11865 369 631 174 55 1470 502 eCryptfs 698 1692 5 44 1792 364 402 913 7 39 1693 672 29 54735 62 73 5704 37 dm-crypt 22,2 4106,0 15 64 4552 34 23 11904 14 96 4275 60 60 3149 46 40 902 639 ext4 17,0 941 53 50 1642 70 47 3621 68 256,0 1494 79

Tabela 3.7: Latências associadas aos testes de escrita, leitura, reescrita e pesquisa aleatória (P.A.). Nos testes de escrita e leitura é reportada a latência (ms) quer por byte (Char) quer por bloco de bytes (Bloco).

Teste de Escrita Teste de Leitura Teste de Reescrita Teste P.A. Char Bloco Char Bloco

ms ms ms ms ms ms CryFS 195 6772 49 318 3866 215 EncFS 647 912 49 53 941 8209 eCryptfs 386 772 6 41 1582 433 dm-crypt 23 47916 14 68 4413 35 ext4 32 2045 49 45 1198 75

Tabela 3.8: Média aritmética truncada das latência associadas aos testes de escrita, leitura, reescrita e pesquisa aleatória (P.A.). Devido à variância existente nos valores da tabela3.7, foi truncado para cada sequência de testes o valor correspondente à latência mais elevada para que as conclusões pudessem ser mais objetivas.

A partir da tabela3.8é possível retirar as seguintes conclusões:

• Na escrita de um byte, a dm-crypt apresentou um tempo médio de resposta inferior seguindo- se a CryFS. Na escrita de blocos de bytes, a EncFS e eCryptfs obtiveram o melhor desem- penho a este nível.

• Na leitura de um byte e de blocos de bytes a eCryptfs apresentou os valores médios mínimos de latência.

• Na pesquisa aleatória, a dm-crypt tem o melhor desempenho.