quarta-feira, 18 de março de 2015

Olá leitores!

Muitos se sentiram órfãos quando receberam a notícia de que a ferramenta de criptografia mais famosa e usada, TrueCrypt tinha sido descontinuada e era considerada insegura pelos próprios desenvolvedores.

Eis que a algum tempo atrás, em quanto o código do TrueCrypt ainda era auditado, um grupo de desenvolvedores de uma tal de CodePlex criou um fork do TrueCrypt.

O grupo garante que resolveu alguns problemas encontrados na primeira parte da auditoria do TrueCrypt em seu fork e também comentaram que vai se manter de graça e open source. O software também mantém seu suporte original a todas as plataformas, Windows, Linux, Mac, Android e iOS.

O fork também suporta todos os algoritmos criptográficos que o TrueCrypt suportava, são eles AES (o mais conhecido e usado), TwoFish, e Serpent.

O VeraCrypt até o momento não suporta os volumes antigos do TrueCrypt, mas tem uma opção para converter seus volumes antigos para o novo formato.

Se olharmos algumas telas do VeraCrypt podemos ver que a aparência e funcionalidade são exatamentes originais ao TrueCrypt.

Veja algumas:




Eu pelo menos não conheço a empresa CodePlex, mas não custa testar o software mesmo assim. O pessoal do podcast Segurança Legal no último episódio comentou que o TrueCrypt ainda pode ser considerado seguro, mas a idéia do VeraCrypt é boa.

Ainda estou testando a ferramenta, logo logo mais novidades.

Se você se interessou segue o link do site oficial.
E se a chave da sua casa fosse partilhada com 28 mil outros lares?
Isto é essencialmente o que os investigadores da Royal Holloway da Universidade de Londres descobriram na semana passada, durante um “scanning” na Internet para ver quantos servidores e dispositivos ainda são vulneráveis à falha de segurança conhecida como FREAK.
Revelada a 3 de Março, a falha permite que um atacante tenha acesso às informações que trafegam por uma conexão protegida pelo protocolo SSL/TLS (Secure Sockets Layer/Transport Layer Security). Esta foi a última de uma série de falhas encontradas ao longo do último ano no amplamente utilizado software open source.
Mais de um quarto dos hosts estavam vulneráveis à FREAK. Na semana passada, investigadores da Royal Holloway decidiram ver que percentagem ainda não tinha resolvido o problema.
Kenneth G. Paterson, professor do Information Security Group da Royal Holloway e co-autor do trabalho de pesquisa, caracteriza-o como um pequeno projeto que produziu resultados surpreendentes.
Os pesquisadores analisaram todo o espaço de endereços IPv4 usando o ZMap, olhando para os “hosts” que permitiriam um ataque FREAK, o que envolve forçar um “host” a aceitar uma chave criptográfica RSA de 512 bits para garantir uma conexão.
As chaves criptográficas com esse tamanho foram consideradas inseguras há mais de 15 anos. Na década de 1990, o governo dos EUA restringiu a exportação de produtos com chaves maiores e mais fortes. Mesmo após essa exigência ter sido abandonada, muitos produtos ainda suportam a versão mais fraca.
O resultado da pesquis? 9,7% dos cerca de 23 milhões de “hosts”, ou cerca de 2,2 milhões, ainda estão aceitando chaves de 512 bits – um número surpreendente, considerando a gravidade da falha FREAK e mais de duas semanas após o problema ter sido divulgado.
Mas os investigadores também fizeram uma outra descoberta surpreendente: muitos “hosts” – que podem ser servidores ou outros dispositivos ligados à Internet – compartilham a mesma chave pública de 512 bits, disse Paterson.
Num exemplo notório, 28.394 routers com um módulo SSL VPN usam todos a mesma chave pública RSA de 512 bits.
Isto nunca deveria ter acontecido.
Muito provavelmente, um fabricante gerou uma chave e depois instalou-a em muitos e diversos dispositivos. “É preguiça por parte do fabricante”, diz Paterson em entrevista ao IDG News Service. “É um pecado cardinal. Um bom exemplo de como não se deve usar a criptografia”.
Fonte: CIO
A Microsoft apresentou ontem os dois novos principais sistemas pelos quais o usuário vai ser reconhecido e se logar em seu aparelho rodando Windows 10. O Windows Hello, que usa sistemas de biometria, como reconhecimento das digitais, da íris ou do rosto do usuário, para iniciar o computador, e o Microsoft Passport, focado no acesso a sistemas empresarias e conteúdo online.
O Windows Hello é um programa de autenticação que utiliza uma série de fatores biométricos, combinando hardware e software para permitir login e reconhecimento do usuário através de maneiras únicas. Segundo a Microsoft, um cenário ideal para a segurança seria que o login no dispositivo com o Windows 10 ocorresse com um simples toque ou olhar.
Apesar da identificação física, o Windows Hello vai utilizar hardwares já desenvolvidos para a tarefa – dispositivos de escaneamento de impressões digitais, câmeras com sensores infravermelhos e outros similares. O software vai analisar os dados adquiridos de tais aparelhos para confirmar sua identidade e então fazer o login, sem exigir uma senha com caracteres.


Em uma postagem no blog oficial do Windows, o sentido do Windows Hello não é apenas a conveniência, mas também a segurança. Com os problemas de fragilidade de senhas, a Microsoft está tentando substituí-las sem deixar de oferecer proteção aos dados de seus usuários. O público-alvo primário deste recurso está nas companhias que mais tem sofrido ataques, tais como as empresas de saúde, companhias de segurança e instituições financeiras, embora a tecnologia poderá ser aplicada em computadores pessoais.
Além do Windows Hello, a Microsoft também apresenta o Passport, um sistema projetado para substituir as senhas através de aparelhos pessoais tais como smartphones ou vestíveis. Estes dispositivos farão a identificação em conteúdo online e sistemas empresariais. Tanto este método de identificação quanto o Hello serão abertos aos desenvolvedores e empresas para implementá-los à sua maneira nos dispositivos e serviços.   
Fonte: Adrenaline

terça-feira, 17 de março de 2015

Técnicas clássicas

Agora sim vamos entrar de vez nas técnicas de criptografia. Para uma assimilação melhor vamos iniciar pelas técnicas clássicas e mais simples.

Cifra de César


De acordo com a história, esta cifra foi usada pelo Imperador Romano Júlio Cesar. Este algoritmo é o mais antigo que se tem conhecimento que usa operações de substituição. Seu uso naquela época era para fins militares. Enviar mensagens para as tropas com comandos sem que o oponente soubesse. Caso o oponente capturasse um mensageiro não conseguiria ler o conteúdo das cartas.

A cifra de César consiste em substituir cada letra do texto pela letra seguinte. Normalmente é usada a terceira letra subsequente.

Vamos a um exemplo prático. Cada letra vai andar 3 posições, então A vira D, B vira E, e assim por diante.




Se meu objetivo é cifrar a palavra “CRIPTOGRAFIA”, substituo cada letra pela terceira letra na sequencia. Com isso meu resultado vai ser “FULSWRJUDILD”.

Agora para decifrar isso precisamos saber a chave usada, neste caso 3. Isso quer dizer que para mim obter o texto claro eu preciso fazer a mesma operação na ordem oposta ou completar as substituições para dar a volta no alfabeto e voltar para a letra original. Isso pode ser feito das duas formas, posso tanto voltar 3 posições em cada letra ou avançar 23. Nos dois casos vou chegar novamente em “CRIPTOGRAFIA”.

Tente você agora e decifre o texto abaixo:

Xlmx x nf mxqmh vbyktwh vhf t vbykt wx vxltk. Lx ohvx xlmt exgwh xllt fxgltzxf x ihkjnx vhglxznbn wxvbyktk xet. Itktuxgl! Lbzt xf ykxgmx vhf lxnl xlmnwhl!


Conseguiu? Certeza que você não procurou na internet um programinha para isso?

Se sua resposta foi positiva então você está pronto para seguir em frente. :)

Cifradores monoalfabéticos

Naquela época a cifra de César pode ter sido uma idéia genial, mas hoje em dia é algo bem simples. A cifra de César é um cifrado monoalfabético. Estes cifradores consistem em qualquer permutação de letras com o objetivo de esconder um texto. No caso da cifra de César era usado uma permutação de 3 letras, como mostrado no exemplo acima, mas como você já deve ter percebido isso funciona com qualquer valor até 26, que são os possíveis valores correspondentes as letras do alfabeto.

Se por algum acaso você se deparar com esse nome, cifrados monoalfabéticos, você já vai saber do que se trata.


Qual a importância desse termo para a criptografia? Descubra no próximo texto! :)

segunda-feira, 16 de março de 2015

A empresa espanhola Indra lançou seu novo sistema COMSec-VIP, desenvolvido para proteger informações de grandes companhias, diretores e altos cargos da gestão corporativa por meio de telefones celulares e recurso de criptografia. O produto foi mostrado no Mobile World Congress 2015 
O sistema permite transmitir voz e dados de forma segura utilizando as redes de qualquer operadora comercial. É implementado sobre uma grande variedade de celulares convencionais, tais como iPhone, iPad, celulares e tablets Samsung ou Nokia e opera sobre os sistemas operacionais iOS, Android, Windows Phone 8 e Windows OS.
A solução consegue calcular a comunicação feita ponto a ponto e utiliza uma chave aleatória diferente para cada chamada. A solução tem também funcionalidades avançadas de mensagem instantânea e vídeo. Os celulares, segundo a Indra, podem ser utilizados sobre redes com banda limitada e, inclusive, com baixa cobertura.
As chamadas também são enviadas sob pacotes IP (Internet Protocol) calculados, o que impede o rastreamento da chamada. O sistema está baseado em uma aplicação no celular do usuário e em uma operadora virtual (IMS), que gerencia as chamadas. Pode ser instalada nos sistemas da empresa ou instituição que a utiliza, oferecendo total autonomia.
Além de serviços de voz (VoIP), o usuário pode manter comunicação em grupo, utilizar mensagem instantânea, realizar videoconferências, transmitir vídeos e enviar imagens e arquivos. Ele pode criar, por exemplo, salas de conferência seguras ou formar grupos de trabalho para responder a uma situação de crise, sobre qualquer tipo de rede (2G/3G/4G/LTE/WiFi/satélites).
A Indra é uma das principais multinacionais de consultoria e tecnologia, atuante na Europa e América Latina e em expansão em outras regiões de economia emergente. Com vendas de aproximadamente 3 bilhões de euros, conta com 43.000 profissionais e com clientes em 148 países.
Fonte: IDG Now!

quinta-feira, 12 de março de 2015

Recapitulando o que ja vimos antes, para usarmos criptografia precisamos de um algoritmo criptográfico. Este algoritmo tem de ser “forte”, ou seja, difícil de prever seus resultados ou reverter uma operação através de uma técnica de criptoanálise.

Também vimos que o algoritmo normalmente é público, e o que garante a segurança é a senha. Aqui você pode se perguntar, como pode ser seguro se é público? Eu explico. O algoritmo nada mais é do que uma sequencia de diversas operações como as de substituição e transposição que vimos no texto anterior. O que o torna seguro é quando acrescentamos a chave, que é única e a cada chave usada um resultado completamente diferente é encontrado. Como existem milhões ou até bilhões de possibilidades se torna impossível prever o resultado tentando todas as possibilidades, isso é o que o torna seguro.

Sobre a chave, também chegamos a conclusão de que para a criptografia funcionar, ela deve ser conhecida apenas pela origem e pelo destino, e ser encaminhada entre as partes por um canal seguro.

Para complementar os conceitos que vimos nos textos anteriores vamos ver mais alguns.

Criptoanálise

Nos textos anteriores foi comentado superficialmente sobre criptoanálise, agora chegou a hora de entrar um pouco mais nesse assunto.

Como já conhecemos o algoritmo, o objetivo da criptoanálise é verificar se através de alguma falha do algoritmo pode-se recuperar a chave usada para cifrar um determinado texto. Podemos também obter a chave se o algoritmo for “fraco”. Isso quer dizer, se o algoritmo for previsível na sua saída padrão é possível reverter a operação sem usar a chave.

Os dois métodos mais comuns de obter esses dados é a análise do algoritmo e amostras de textos, e a força bruta.

No lado da análise, o atacante vai estudar o algoritmo, amostras de entrada e saída e com isso tentar forçar uma entrada específica que cause um bug ou tentar prever a entrada com amostras de saída.

No outro lado temos a força bruta. Como o nome sugere, esse tipo de ataque consiste em tentar todas as possibilidades até obter um texto legível. Em muitos casos essa é considerada uma opção desesperada, porque se o algoritmo for forte e a chave usada tiver um tamanho razoável, esse processo pode demorar centenas, milhares ou até milhões de anos.

Não acredita? Vamos a um exemplo!

Imagine que você tem um supercomputador e deseja testar todas as possibilidades de um algoritmo moderno e forte, como por exemplo o AES-256. O seu supercomputador pode testar 2 quintilhões de senhas por segundo. Isso é coisa para caceta! Um computador normal com uma boa GPU pode chegar até 2 bilhões de combinações por segundo para você ter uma comparação, é muito processamento.

Agora, quanto tempo esse supercomputador levaria para testar todas as possibilidades? De acordo com pesquisas e testes feitos por alguns matemáticos, seria necessário cerca de 9.17x10^50 anos para testar tudo. Para usar como comparação saiba que a idade do universo é 1.4x10^10 anos. Outra coisa que você iria precisar era cerca de 150 reatores nucleares para manter os 150.000.000.000 watts de energia.

Acho que este exemplo é suficiente para demonstrar a complexidade de quebrar ou prever as possibilidades de um algoritmo atual. :)

Obviamente se você rodar um ataque de força bruta você vai conseguir quebrar uma chave específica em menos da metade desse tempo, talvez até muito menos se levarmos em conta senhas simples como “1234”, “password”, “teste”, como os usuários gostam de colocar.

Então, com base nesses exemplos e conceitos, vamos seguir em frente. Podemos classificar a força dos criptossistemas de dois modos, computacionalmente seguro e incondicionalmente seguro.

Os algoritmos computacionalmente seguros são aqueles onde o custo para quebrar é superior ao valor das informações que podem ser obtidas. De nada adianta você ganhar 100 mil por uma informação que você gastou 1 milhão para obter. Também entra na categoria computacionalmente seguro quando o tempo é superior ao tempo de vida da informação cifrada. De quê adiantaria levar 100 anos para quebrar uma informação que automaticamente se tornará publica em 50 anos?

Outra categoria que temos é os algoritmos incondicionalmente seguros, neste caso, independente da quantidade de texto, tempo e recurso é impossível reverter a operação e determinar o texto claro.
Subscribe to RSS Feed Follow me on Twitter!