Pages

Showing posts with label senhas. Show all posts
Showing posts with label senhas. Show all posts

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...)

Saturday, November 01, 2008

Sua senha é "forte" ?

Há um ano e meio atrás eu escrevi um texto que levantava a preocupação que eu tinha sobre a "força" das senhas.

Recentemente, eu li no Lifehacker, sobre um site que criou uma calculadora que estima o tempo que levaria para quebrar um certa senha. Vejam os resultados por si mesmo.

Uma nota na parte de baixo dessa página chama atenção sobre a origem desse algorítimo. Recomendo, fortemente, olhar essa planilha criada pela Mandylion Labs , porque é onde está o manual do programa e instruções de como utilizar os campos. Note apenas que a planilha foi criada em 2004 e o aplicativo online foi criado esse ano, então é interessante ler a planilha para saber o que escrever em cada campo e usar o aplicativo online para uma melhor precisão nos resultados.

Outra observação interessante é que o poder computacional utilizado na estimativa foi considerado 10 % do poder de uma máquina atual. Eu não sei qual é a opinião geral sobre isso, mas eu dividiria o tempo por 5, para obter o resultado caso a máquina usasse 50 % do seu poder.

Por fim, lembro que a maior parte dos sistemas que existem no mercado travam as tentativas de quebrar a senha após um certo número de falhas. Isso fornece certa tranqüilidade com relação a aquela sua senha de banco que 8 caracteres puramente numéricos.

Saturday, April 14, 2007

Quanto tempo leva para decodificar uma senha ?

A cada dia que passa estamos ficando mais online. A cada dia, dependemos mais e mais de serviços disponibilizados pela internet. Com isso, com quadruplica-se a necessidade de ter senhas confiáveis para todos os tipos.

Quando tempo levaria para decodificar a sua senha por força bruta, ou seja, tentando todas as possibilidades possíveis ?

Esse artigo mostra exatamente isso. Ele fez as contas e coloca quanto tempo levaria para decodificar uma senha de até 8 caracteres em 6 classes diferentes de computadores, definidas pela capacidade de processamento de senhas por segundo (no fim da página).

No fim, chega-se as seguintes conclusões:
  • Qualquer computador de quinta categoria pode decodificar sua senha de banco em alguns minutos.
  • Usar senha de 8 dígitos, considerando apenas a matriz básica (62 caracteres), ou seja, números e letras maiúsculas e minúsculas simultaneamente (a forma mais comum de senha) levaria apenas 60 horas em um supercomputador (nem tão potente assim).
  • O "povão" não vai decodificar sua senha tão cedo.
  • Instituições federais, reguladoras, etc (dê o nome que preferir...) podem sim decodificar suas senhas de 8 caracteres em menos tempo do que se imagina. Eles possuem sistemas computacionais para fazer o serviço em alguns dias.
Bom, mas situação não é tão grave assim. A maioria dos sistemas (incluindo os dos bancos) possuem técnicas para travar o acesso quando ocorre esse tipo de ataque. De qualquer forma pode-se começar a imaginar que com o desenvolvimento dos "quadricores" teremos em muito pouco tempo acesso a possibilidade de decodificar aquele arquivo compactado ou até aquele HD codificado.

O segredo para continuar a manter o seus dados protegidos é aumentar o tamanho da senha. Vimos que uma senha de 20 caracteres de tamanho com uma matriz de 26 caracteres levaria cerca de 631 Bilhões de anos para ser decodificada com um sistema que processa 1 bilhão de senhas por segundo. Assumindo que o sistema mais rápido ainda é aquele mencionado no final da página que processa 76 bilhões de senhas por segundo, ainda levaria mais de 8,3 bilhões de anos, mesmo considerando que a senha possa ser alcançada com um terço das possibilidades, isso ainda seria quase 3 bilhões de anos.

Ainda não é necessário fazer um aumento tão volumoso, mas aquela regra que dizia que 8 caracteres estava de bom tamanho está começando a ficar questionável. O ideal do momento diz que teremos que passar a usar uma senha 12 caracteres de tamanho, se ainda quisermos manter a tradicional matriz de 62 caracteres.

Agora resta buscar uma forma de manter senhas desse tamanho em local seguro ou você acha que vamos conseguir gravar essas senhas ?