Pages

Monday, August 16, 2010

Pensamento do dia

Você sabe que você tem estado ocupado quando o Read It Later registra 600 itens para serem lidos posteriormente !!!

Sunday, August 01, 2010

Criptografia

Para quem precisar proteger dados é fundamental conhecer algumas formas de criptografia. Não pretendo dar aulas sobre criptografia, mas expor dicas tão simples quando possível para o uso das ferramentas de criptografia.

O maior problema que eu vejo é que muita gente acha que porque existe uma senha, os dados estão protegidos. Isso não é verdade por três motivos:
  • senhas fracas (quase sempre por serem curtas) é o mesmo que não ter senha.
  • os algorítimos de criptografia nem sempre são tão bons quanto parecem. Quando o algorítimo é ultrapassado, não há nada que se possa fazer.
  • programas de encriptação são programas como qualquer outro, sujeitos a falhas e bugs. Um programa desatualizado pode ter erros que permitam decodificar o arquivo.
Por outro lado, se seu problema é proteger a informação de alguém com recursos limitados e que não é nenhum Einstein, você certamente pode utilizar as simples técnicas sem problema algum. Lembrem-se que a maior parte da população não é tão íntima assim de seus computadores.

Em todo caso, é importante ter em mente que com uma máquina atual e o Google, leva-se nos máximo uns 2 dias para decodificar a senha de um zip com 8 caracteres. O conhecimento para quebrar a senha está disponível na internet para quem souber procurar e tiver uma certa intimidade com a máquina (embora para essa do arquivo zip nem é preciso muita coisa !!!).

Firefox

Se você salva a senha dos sites no firefox, saiba que ela está salva sem proteção. Para habilitar alguma proteção, em "Preferences" na aba "Security" selecione "Use a master password".

Isso não é garantia de muita coisa, mas é melhor que nada.
E quando eu digo que não é garantia de muita coisa, o Read It Later possui uma extensão para Firefox que ecoa a senha desse serviço no terminal caso tenha chamado o firefox por ele.

Vim

O vim possui criptografia interna, mas isso também não deve ser visto como algo que vai realmente proteger de qualquer um, mas é complexo suficiente para a grande maioria da população. Esse texto explica muito bem como usar esse recurso.

GPG

Minha ferramenta preferida para criptografia de arquivos simples.
Fala-se muito das chaves do GPG, mas não tanto do básico.
Para encriptar arquivos, use:
gpg -c nomedoarquivo
Para decriptar senha, use:
gpg  nomedoarquivo
Simples, não ? E é bem eficiente.

Zip

Arquivos compactados aceitam senha, o mais famoso é o zip.
Para compactar aquivo ou diretório recursivamente no formato zip, use:
zip -re arquivozipfinal.zip nome_do_diretorio_ou_arquivo
Durante uma descompactação simples, a senha será questionada.

Esteganografia

A esteganografia é uma técnica que consiste em guardar arquivos dentro de imagens. Eu poderia dizer mais, mas eu não preciso fazer isso, pois já existe um excelente texto sobre o assunto.

cryptsetup

Esse aplicativo serve para encriptar volumes inteiros. Por volume entenda que ele pode ser um arquivo ou uma partição.

O Eustáquio Rangel explica como criar um volume encriptado para seus dados críticos. E na introdução aproveita para lembrar um caso exemplifica bem a utilidade da criptografia. E no Guia do Hardware encontra-se um texto que explica como fazer isso em um pendrive, que é o que pode ser aplicado a HDs (desde que não seja o root).

Note que nos dois casos existe uma etapa em que é usado o cryptsetup. Em cada caso é utilizado com opções diferentes, sugiro uma leitura do manpage do aplicativo para informação adicionais. Apenas gostaria de destacar a opção "--key-size", que define o tamanho da chave. Essa é uma opção que uso por considerar que o padrão (que enquanto digito esse texto é 128) já está mais do que ultrapassado.

De forma que uso:
cryptsetup --verbose --key-size 256 --verify-passphrase luksFormat /dev/sdb2

Há algumas coisas que não ficam claras nos dois textos, mas acredito que quem tiver algum interesse adicional além do "como fazer" conseguirá obter as informações nas páginas do manual.

Há um número significativo de aplicativo que podem ser utilizado para conseguir esse efeito, mas cryptsetup além de ser simples, também é eficiente.

Para guardar as senhas

De nada adianta ter um sistema de criptografia eficiente, com uma senha de 40 caracteres, se você guardar a senha no papel de parede !!! O KeePass é uma solução gráfica que ajuda na hora de criar senhas complexas e guarda essas senhas de forma criptografada. É um programa fácil de acha no seu GNU/Linux preferido, mas que também é multiplataforma, para "aquelas horas" ...

Particularmente eu prefiro a combinação de texto puro com gpg guardando o arquivo final dentro de um volume encriptado.

Conclusão

A criptografia sempre foi importante na história, mas na era da informação ela assume um papel fundamental em nossas vidas. Mesmo quem nunca nenhuma dessas dicas, já usou páginas com https, senhas de cartão, etc.

A paranóia está na cabeça de cada um. Por exemplo. Você pode usar o vim para guardar a senhas, esconder o texto resultante em uma imagem, criptografar o arquivo final com o zip, em seguida modificar a extensão para aumentar a dificuldade de alguém descobrir o que é aquilo, e depois usar o gpg para fazer nova criptografia. No final, você pode guardar dentro de um volume criptografado feito em um arquivo que por acaso pode ser compactado com senha e colocado dentro de um volume de HD criptografado. Só o processo em si é um segredo e tanto a ser descoberto.

Esse texto está longe de esgotar o assunto seja filosoficamente ou em termos práticos. Por exemplo, há pelo menos 4 programas famosos para criptografar volumes e eu nem falei da compactação com o rar. Quem tiver dicas legais para compartilhar, sinta-se livre para colocá-las nos comentários (mesmo que sendo um link para o seu blog com a dica...)