Como em qualquer indústria, a indústria de segurança da informação, mais comumente chamada de “ciber-segurança”, para todos os seus debates enfurecidos, se reuniu em torno de um pequeno corpus de melhores práticas.

Uma das mais altas desta lista é a criptografia de disco completo, que os especialistas em segurança consideram sacrossanto, um sem cérebro que todos devem usar no mínimo. Esta é a encriptação que garante que alguém que arrebata o seu dispositivo não poderá saber tudo o que tem guardado nele.

Estou aqui para defender que a maioria de vocês é melhor não o usar. Eu sei que isto pode parecer loucura, já que eu sou o tipo de segurança aqui, mas ouçam-me.

Não estou de forma alguma prestes a dissuadir-vos de usar encriptação – sem ela, as ferramentas digitais com as quais contamos todos os dias seriam inutilizáveis. É por isso que eu não estou argumentando contra a criptografia, ponto final; mas especificamente contra a criptografia de disco completo, e apenas para certos usuários.

O que eu sustento é que, para a maioria das pessoas que enfrentam os casos de uso esmagadoramente mais comuns, a criptografia de disco completo é um exagero. Esses usuários não desfrutam de nenhum ganho mensurável em segurança em comparação com dados alternativos na criptografia de repouso, ainda assim eles pagam por isso com um golpe de desempenho mensurável. Isto não é apenas uma questão de eficiência ou tempo de carga, mas também um aumento literal do custo para os usuários.

Existem alternativas que proporcionam aos usuários normais do dia-a-dia, com preocupações normais de segurança do dia-a-dia, um nível de proteção compatível com o que a criptografia de disco completo oferece. Eles estão reconhecidamente um pouco fora do caminho batido, pois a maioria das empresas de tecnologia de consumo adotaram a criptografia de disco completo, mas eles estão por aí.

É preciso haver um outro caminho

Hoje em dia, a criptografia de disco completo é de longe o tipo mais comum de esquema de criptografia para dados em repouso. Pense em dados em repouso como os dados que você mantém em algum tipo de meio de armazenamento (como um disco rígido) para uso posterior, e não no tipo de dados que estão se movendo por algum canal de comunicação como a Internet (que seriam dados em trânsito).

Em geral, a criptografia de disco completo é implementada em um nível de complexidade do computador que lida com a forma como bytes brutos, desacoplados do contexto de representação da informação, são organizados no disco rígido. Referimo-nos a isto como o nível do dispositivo de bloco, uma vez que a encriptação de disco completo é aplicada ao dispositivo de bloco que é uma partição do disco rígido (apenas um nome chique para um grande segmento do seu disco rígido).

Este nível é superior ao nível do sinal eléctrico, mas abaixo do sistema de ficheiros, sendo este último o ponto em que o seu computador vê os bytes como ficheiros em vez de apenas bytes. O sistema de arquivos serve como um tipo de gráfico org que diz ao seu computador como dizer quais bytes vão juntos para compor os arquivos, e como dizer os arquivos e tipos de arquivos separadamente.

Então o que exatamente é essa criptografia de disco que não é criptografia de disco completo?

A resposta é criptografia em nível de sistema de arquivos. Sob criptografia em nível de sistema de arquivos, também chamada “criptografia baseada em arquivos”, um sistema criptografa certos diretórios (ou seja, pastas) e todos os arquivos e diretórios dentro deles, recursivamente até tudo o que o diretório mais alto contém no final. A criptografia em nível de sistema de arquivos também pode criptografar um sistema de arquivos inteiro, protegendo automaticamente tudo que é salvo nele. Para nossos propósitos, entretanto, consideraremos o tipo de criptografia baseada em arquivos que permite aos usuários escolher quais arquivos e diretórios criptografar, deixando o resto sozinho.

Para ser preciso, o modelo que tenho em mente é aquele que criptografa apenas os documentos do usuário, mídia e outros arquivos que em sistemas Unix terminariam no subdiretório do usuário sob o diretório /home. Desta forma, os arquivos centrais do sistema e os binários de software para executar programas são deixados sozinhos, e apenas seus dados pessoais reais são guardados.

Isso, como o nome implica, ocorre no nível do sistema de arquivos, que é um nível acima de onde a criptografia de disco completo é operativa. Isto produz algumas implicações importantes. Para começar, todos os seus arquivos criptografados já são entendidos como sendo arquivos, ou seja, eles podem ser descriptografados individualmente.

Também permite que os usuários aumentem a criptografia de arquivos com controles de permissão de arquivos. Como o disco completo é criptografado sob criptografia de disco completo, um usuário que conhece a senha de descriptografia do disco tem que digitá-la antes que qualquer outra coisa possa prosseguir. Mas junto com os arquivos do usuário, todos os arquivos que o SO precisa para rodar também são bloqueados. Uma inicialização bem sucedida requer que todo o dispositivo de bloco seja desbloqueado, e uma vez que o disco seja desbloqueado, ele estará todo aberto.

Com a criptografia em nível de arquivo, seu SO completo reforça as distinções para o que é descriptografado e quando. Cada utilizador pode definir quais dos seus ficheiros são encriptados, e com que palavras-passe. Assim, com criptografia baseada em arquivo, um usuário pode decodificar seus arquivos e ainda deixar os dados de outro usuário bloqueados. Você não precisa descriptografar um diretório criptografado se você não quiser – se você não pretende abrir nenhum dos seus documentos ou arquivos de mídia, você pode usar os programas do computador enquanto deixa os seus arquivos pessoais bloqueados onde, por exemplo, malware não pode infectá-los.

Show Me What You’ve Got

I não teria o trabalho de colocar a criptografia baseada em arquivos se ela não tivesse algumas vantagens reais sobre a criptografia de disco completo. Para isso, a maior força da encriptação baseada em ficheiros é que a sua velocidade deixa a encriptação de disco completo na poeira. Isso porque os sistemas criptografados baseados em arquivos lêem e gravam no disco com mais eficiência.

Para entender o porquê disso, vamos entrar em como os dispositivos de bloco criptografados (como um armazenamento flash) funcionam. Assim como uma atualização na terminologia, “ciphertext” é a forma criptografada de informação, que é ilegível sem a chave correta, enquanto “plaintext” é a informação em sua forma original e compreensível.

Quando você decodifica dados criptografados em repouso, seu computador não está literalmente mudando todos os bits no hardware de armazenamento de ciphertext para plaintext. Isso levaria muito tempo, e fritaria sua unidade em pouco tempo desde a escrita até a unidade inteira cada vez que você inicializasse e desligasse seu dispositivo. Em vez disso, os bits físicos na sua unidade permanecem como estão, mas são lidos e escritos através de um buffer que existe na memória após a chave correta ser aplicada. O buffer aplica uma operação de desencriptação à medida que a informação é lida, e uma operação de encriptação à medida que é escrita, na unidade. Enquanto os seus dados são desencriptados e lidos, o texto simples é guardado na memória para que possa ser facilmente referenciado até que termine com ele.

Adicionar estes muitos passos extra torna as coisas mais lentas em comparação com leituras e escritas não encriptadas, até um factor de dez. Para criptografia de disco completo, cada coisa que você faz no seu computador tem que ser lida através deste buffer de decriptação, porque todo o seu dispositivo de bloco, e seu conteúdo, é criptografado. Crucialmente, isso inclui todos os binários que rodam o próprio SO e todo o software nele.

Mas com a configuração escolhida de criptografia baseada em arquivos, apenas os seus documentos de usuário e arquivos de mídia precisam ser descriptografados. A maioria dos softwares que você usa diariamente não está entre esses arquivos. Existem muitas tarefas de computação que não precisariam de decifrar nada. Como apenas um exemplo, vivemos em nossos navegadores web tanto que você provavelmente pode contar por um lado o número de arquivos de usuário que você abriu nas últimas 24 horas.

Obviamente, seu computador terá que decodificar alguns dados em algum momento, mas mesmo assim, como a criptografia é implementada no nível do sistema de arquivos, seu sistema operacional baseado em arquivos criptografados pode fazer isso de forma mais eficiente do que o analógico de disco completo criptografado.

Ultimamente, todo o acesso ao disco, seja a um disco totalmente encriptado ou a um sistema de ficheiros encriptado, requer a aprovação do núcleo do sistema operativo, o kernel. Entretanto, como a criptografia em disco completo é gerenciada no nível de privilégio administrativo do sistema, o kernel também tem que se envolver para ler o dispositivo de bloco através do buffer de decriptografia.

Criptografia baseada em arquivo não enfrenta este obstáculo, porque só requer direitos de usuário sem privilégios para decriptografar os próprios arquivos do usuário. Como resultado, a encriptação de disco completo tem de obter uma permissão adicional do kernel para ler ou escrever no disco, em comparação com o mesmo processo no modelo baseado em ficheiros.

Mais Eficiente Com Menos Desgaste e Rasgo

Outra grande vantagem da encriptação de sistema de ficheiros é que reduz muito o desgaste do seu disco. Para cada operação de gravação individual, um sistema com criptografia baseada em arquivo simplesmente escreve menos dados do que um com criptografia de disco completo.

Again, a criptografia no trabalho para criptografia de disco completo está no nível do dispositivo de bloco, que vê apenas blocos, unidades de tamanho uniforme, de bytes. Porém, nem todos os dados ocupam um bloco inteiro. Na verdade, muitos não o fazem. Portanto, a criptografia no nível do bloco realmente frustra o mecanismo de eficiência incorporado ao computador que está apenas mudando as partes de um arquivo que realmente mudou. Sem criptografia de disco completo, um computador pode comparar a versão atualizada de um arquivo na memória com a versão anterior na unidade, determinar quais partes são agora diferentes, e escrever essas novas partes diferentes no arquivo.

O seu computador também pode alcançar uma economia similar de gravação com criptografia baseada em arquivo: quando a versão em texto puro do seu arquivo na memória é atualizada, o arquivo é filtrado através do buffer de criptografia e mantido na memória temporariamente, e então o SO compara a nova versão criptografada com a versão criptografada anterior na sua unidade para determinar quais bits realmente mudaram, e apenas grava aqueles.

Criptografia de disco completo é outra história.

Acima desse modelo, o SO sabe quais partes do arquivo mudaram, mas como a criptografia é por bloco e não por arquivo, o SO agora tem que traduzir os arquivos em blocos, criptografar o bloco e escrever esses blocos no dispositivo de bloco. As revisões em um arquivo que não somam os dados de um bloco podem abranger vários blocos, todos os quais devem então ser filtrados através do buffer criptografado e escritos integralmente de volta ao dispositivo de bloco. Mesmo que todos os dados alterados sejam armazenados em um bloco, o bloco inteiro é reescrito, resultando em uma significativa sobrecarga de escrita.

Por sua própria natureza, a criptografia em nível de sistema de arquivos produz flexibilidade onde a alternativa de disco completo não o faz. Como foi observado acima, a encriptação de disco completo é tudo ou nada. Ela criptografa todo o seu sistema, os arquivos principais e todos os dados do usuário. Isso significa que os dados não sensíveis que você deseja carregar mais rapidamente (por exemplo, mídia de vídeo ou áudio para edição) são atingidos com a lentidão de leitura-escrita.

Criptografia de disco completo também não é ideal para sistemas multiusuário, como um dispositivo doméstico compartilhado. Qualquer um que queira usar o dispositivo tem que saber a senha de decriptação do disco completo, ou o dispositivo não pode nem mesmo inicializar no sistema operacional. E desbloquear o dispositivo para qualquer usuário desbloqueia os dados para todos os usuários. Isso também significa que você não pode habilitar recursos como contas “guest” sem privilégios que podem usar o SO com acesso a arquivos de usuários bloqueados.

Finalmente, a criptografia baseada em arquivos é mais razoável para o que a maioria das pessoas precisa. Eu mesmo já disse que a segurança envolve inconvenientes, e isto é verdade. Mas ao projetar um conjunto de práticas de segurança, assumir mais inconvenientes do que o necessário para mitigar o risco de ataque não ajuda. Na verdade, isso só dói: se os procedimentos de segurança de um usuário são muito onerosos, esse usuário acabará cortando os cantos.

Simplesmente colocado, a criptografia de disco completo é um exagero para o caso de uso que você mais provavelmente tem. As duas configurações de encriptação que temos vindo a justapor protegem-no de formas diferentes. A principal diferença no grau de segurança entre elas é que a encriptação baseada em ficheiros apenas protege os seus documentos e ficheiros multimédia do utilizador. Em contraste, a encriptação de disco completo encripta aqueles mais os arquivos do SO central.

algumas possíveis desvantagens

Como você pode facilmente adivinhar, há desvantagens em não encriptar tudo como a encriptação de disco completo faz. Em teoria, um atacante com acesso físico ao seu dispositivo empregando criptografia baseada em arquivo poderia alterar os dados não criptografados do SO. A partir daí, o atacante inicializa sua máquina para executar o código que acabou de colocar lá, ou espera até você inicializar sua máquina para que o código malicioso deles faça algo para capturar seus dados.

Isso parece ruim, e é, mas provavelmente também não vai acontecer com você. Realmente, a maioria ou nenhum dos seus adversários irá sequer tentar. Eles são tão primitivos que a criptografia em nível de sistema de arquivos é suficiente para frustrá-los, ou tão sofisticados (ou seja, poderosos) que têm métodos mais eficientes para obter seus dados.

Para a esmagadora maioria dos usuários, o problema que a criptografia de dados em nível de sistema de arquivos resolve é impedir que ladrões que fisicamente roubam seu dispositivo obtenham seus dados. É por isso que os ladrões inteligentes não contam em obter os seus dados e, em vez disso, recorrem à encriptação do dispositivo por dinheiro. A criptografia baseada em arquivos e a criptografia de disco completo funcionam igualmente bem neste cenário.

Conversamente, se o seu adversário for uma autoridade governamental (por exemplo, a aplicação da lei), nem a criptografia baseada em arquivos nem a criptografia de disco completo irão salvá-lo. Dependendo da jurisdição, eles podem ordenar legalmente que você desbloqueie o seu dispositivo. Em quase todos os outros lugares, os governos podem emitir ordens para serviços que armazenam seus dados na nuvem deles para simplesmente entregar o que eles querem – e sob regimes repressivos, vamos apenas dizer que eles têm maneiras mais diretas e dolorosas de fazer você cumprir.

Vamos dizer, para o bem da discussão, que você está olhando para baixo um ator do governo, e todas as técnicas acima mencionadas não funcionaram. A encriptação de disco completo só funcionaria se o governo não tivesse uma forma mais sofisticada de atacar o seu sistema. Isto não é um problema para a maioria dos governos poderosos do mundo, pois eles são avançados o suficiente para que eles possam usar a força bruta ou contornar a criptografia de alguma forma.

Então, não há muitos casos em que a criptografia de disco completo irá realmente salvá-lo: quando seu inimigo é um governo e você pode resistir à tortura física, mas o governo não é capaz do filme de ação realmente legal de hacking que basicamente todas as nações do G20 podem fazer.

Isso não quer dizer que, dependendo do seu adversário, não há nada a ganhar em tornar as coisas difíceis para o seu atacante – tornar a vida do seu atacante tão difícil quanto possível é uma estratégia de segurança honrada pelo tempo – mas apenas perceba que tudo isso é criptografia de disco completo pode garantir a você. Mas, mais uma vez, não é para isso que quase nenhum de vocês está olhando.

Criptação prática, implementação prática

Os que estão convencidos e querem sua performance de leitura-escrita e longevidade SSD de volta provavelmente estão se perguntando onde você pode conseguir esse doce criptograma em nível de arquivo. Bem, é aí que as coisas ficam complicadas. Veja, é difícil configurá-lo na prática.

A principal razão para isso é que os principais sistemas operacionais de consumo já estão criptografados em disco completo. A Apple e o Google configuraram seus dispositivos móveis para criptografia de disco completo, e negam aos usuários a capacidade de desativá-la. Apple e Microsoft também ativam a criptografia de disco completo por padrão, mas ambas oferecem maneiras de desativá-la para o intrepid.

Para SOs desktop baseados em Linux (minha preferência pessoal), instalar seu sistema com criptografia em nível de sistema de arquivos costumava ser tão fácil quanto marcar uma caixa, mas isso está indo rapidamente no caminho do dodô. Ubuntu recentemente depreciou esta opção de instalação em seu instalador gráfico, deixando o Linux Mint como a única distribuição que eu conheço e que ainda o oferece. Mesmo distribuições DIY como o Arch Linux desencorajam você de tentar configurar o criptograma em nível de arquivo. Em vez disso, elas o direcionam para a criptografia de bloco, para a qual a documentação é muito mais completa.

Se você estiver disposto a ir até o comprimento necessário para desligar a criptografia de disco completo, há algumas opções disponíveis para você. Uma das opções mais robustas é o VeraCrypt. Nascida do desejo de fazer o manto defunto do TrueCrypt, VeraCrypt é uma ferramenta gráfica para criar estruturas de diretório criptografadas em cima de um sistema de arquivos existente. Ele possui opções para velocidades de leitura-escrita iguais às dos sistemas de arquivos não criptografados, e até mesmo características super-espião como criptografia negável, onde seus dados criptografados parecerão apenas espaço normal não utilizado em sua unidade. Uma exploração até mesmo das capacidades básicas do VeraCrypt estaria além do escopo desta já longa peça, mas talvez tenha as características de um artigo futuro.

Então por que eu levei todo este tempo para lhe falar sobre algo que não é o mais (embora certamente não o menos) acessível? Fundamentalmente, é importante saber o que é possível para que possa fazer as escolhas mais informadas, para criar a experiência informática que melhor responda às suas necessidades. Os computadores são infinitamente personalizáveis, por isso não há razão para negar ao utilizador a configuração que é melhor para ele – não conhecer as suas opções é a pior dessas razões.

Apreciar o que é possível é mais do que viver a sua melhor vida digital, mas sim fornecer o suporte, mesmo que seja apenas de utilizador, aos programadores que o tornam possível. Se isto soa como algo que poderia tornar a sua vida melhor, eu lhe digo, vá em frente e mexa!

Deixe uma resposta

O seu endereço de email não será publicado.