As características básicas da criptografia

Como profissionais de segurança muitas vezes enfrentamos o obstáculo da criptografia. Todo engenheiro de segurança entende que a criptografia torna o trabalho de um invasor muito mais difícil. Em alguns casos pode ser útil para o hacker, esconder ações e mensagens.


Muitos aplicativos e protocolos usam criptografia para manter a confidencialidade e integridade dos dados. Antes de quebrar senhas e protocolos criptografados como SSL e sem fio, você precisa ter pelo menos uma familiaridade básica com os conceitos e a terminologia de criptografia e criptografia.

Para muitos novos hackers, todos os conceitos e jargões da criptografia podem ser um pouco difíceis de entender. Para começar, a criptografia é a ciência e a arte de ocultar mensagens para que sejam confidenciais e depois “ocultá-las” para que apenas o destinatário pretendido possa lê-las. Basicamente, podemos dizer que a criptografia é a ciência das mensagens secretas.

Com esta breve visão geral para recém-chegados, espero dissipar a névoa em torno deste tópico e lançar alguma luz sobre criptografia. Tentarei familiarizá-lo com a terminologia e os conceitos básicos para que, ao ler sobre hashing, cracking sem fio ou cracking de senha e tecnologias de criptografia, você tenha uma ideia do que está sendo discutido.

Não me interpretem mal, não pretendo transformar você em um criptógrafo aqui (isso levaria anos), mas apenas ajudar a familiarizar o iniciante com os termos e conceitos de criptografia para ajudá-lo a se tornar um hacker confiável.

Vou tentar usar palavras o mais simples possível para descrever essas tecnologias, mas como tudo em TI, existe uma linguagem muito especializada para criptografia e criptografia.

Vamos começar dividindo a criptografia em diferentes categorias.

Tipos de criptografia

Existem várias maneiras de categorizar a criptografia, mas para nossos propósitos aqui, eu as dividi em quatro áreas principais (tenho certeza que os criptógrafos discordarão desse sistema de classificação, mas que assim seja).

  • Criptografia Simétrica
  • Criptografia assimétrica
  • hashes
  • sem fio


Algumas palavras sobre o tamanho da chave

No mundo da criptografia, o tamanho importa! Em geral, quanto maior a chave, mais segura é a criptografia. Isso significa que o AES com uma chave de 256 bits é mais forte do que o AES com uma chave de 128 bits e pode ser mais difícil de decifrar. No mesmo algoritmo de criptografia, quanto maior a chave, mais forte a criptografia.

Isso não significa necessariamente que chaves maiores significam criptografia mais forte entre os algoritmos de criptografia. Entre os algoritmos, a força da criptografia depende das especificidades do algoritmo e do tamanho da chave.

Criptografia Simétrica

Criptografia simétrica é quando temos a mesma chave no remetente e no destinatário. É a forma mais comum de criptografia. Você tem uma senha ou “chave” que criptografa uma mensagem e eu tenho a mesma senha para descriptografar a mensagem. Qualquer outra pessoa não pode ler nossa mensagem ou dados.

A criptografia simétrica é muito rápida, por isso é adequada para armazenamento em massa ou aplicativos de streaming. A desvantagem da criptografia simétrica é o que é chamado de troca de chaves. Se ambas as extremidades precisam da mesma chave, eles têm que usar um terceiro canal para trocar a chave, e aí está o ponto fraco.

Se houver duas pessoas que desejam criptografar sua comunicação e estiverem a 12.000 milhas de distância, como farão para trocar a chave? Essa troca de chaves está repleta de questões de privacidade do meio que eles escolherem, seja telefone, correio, e-mail, face a face, etc. A troca de chaves pode ser interceptada e tornar a confidencialidade da criptografia questionável.

Alguns dos algoritmos simétricos comuns com os quais você deve estar familiarizado são:

  • DES - Este foi um dos sistemas de criptografia originais e mais antigos desenvolvidos pela IBM. Foi considerado falho e frágil e foi usado no sistema de hashing original dos hashes LANMAN nos sistemas Windows anteriores (anteriores a 2000).
  • 3DES - Este algoritmo de criptografia foi desenvolvido em resposta às falhas do DES. O 3DES aplica o algoritmo DES três vezes (daí o nome “triplo DES”) tornando-o um pouco mais seguro que o DES.
  • BEA - O Advanced Encryption Standard não é um algoritmo de criptografia, mas um padrão desenvolvido pelo National Institute of Standards and Technology (NIST). Atualmente considerada a criptografia mais forte, ela usa uma chave de 128, 196 ou 256 bits e é ocupada pelo algoritmo Rijndael desde 2001. É usada em WPA2, SSL/TLS e muitos outros protocolos onde confidencialidade e velocidade são importantes.
  • RC4 - Esta é uma cifra de fluxo (criptografa cada bit ou byte em vez de um bloco de informações) e foi desenvolvida por Ronald Rivest, conhecido como RSA. Usado em VoIP e WEP.
  • Blowfish - O primeiro dos algoritmos de criptografia de Bruce Schneier . Ele usa comprimento de chave variável e é muito seguro. Não é patenteado, então qualquer pessoa pode usá-lo sem permissão.
  • Twofish - Uma versão mais forte do Blowfish que usa uma chave de 128 ou 256 bits e era um forte concorrente do AES. Usado em Cryptcat e OpenPGP, entre outros. Também é de domínio público sem patente.

Criptografia assimétrica

A criptografia assimétrica usa chaves diferentes em ambas as extremidades do canal de comunicação. A criptografia assimétrica é muito lenta, cerca de 1.000 vezes mais lenta que a criptografia simétrica, portanto, não queremos usá-la para criptografia em massa ou comunicação por streaming. No entanto, resolve o problema da troca de chaves. Como não precisamos ter a mesma chave nas duas extremidades de uma comunicação, não temos o problema da troca de chaves.

A criptografia assimétrica é usada principalmente quando temos duas entidades desconhecidas entre si que desejam trocar uma pequena informação como uma chave ou outra informação de identificação como um certificado. Não é usado para criptografia em massa ou fluxo devido às suas limitações de velocidade.

Alguns dos esquemas comuns de criptografia assimétrica com os quais você deve estar familiarizado são:

  • Diffie-Hellman - Muitas pessoas no campo da criptografia consideram a troca de chaves Diffie-Hellman o maior desenvolvimento da criptografia (eu concordo). Sem se aprofundar na matemática, Diffie e Hellman desenvolveram uma maneira de gerar chaves sem precisar trocá-las, resolvendo assim o problema de troca de chaves que aflige a criptografia de chave simétrica.
  • RSA - Rivest, Shamir e Adleman é um sistema de criptografia assimétrica que usa a fatoração de números primos muito grandes como a relação entre as duas chaves.
  • PKI - A infraestrutura de chave pública é o sistema assimétrico amplamente utilizado para troca de informações confidenciais usando uma chave privada e uma chave pública.
  • ECC - A criptografia de curva elíptica está se tornando cada vez mais popular na computação, pois é eficiente e requer menos poder de computação e consumo de energia para o mesmo nível de segurança. O ECC é baseado na relação conjunta de duas funções que se encontram na mesma curva elíptica.
  • PGP - Pretty Good Privacy usa criptografia assimétrica para garantir a privacidade e a integridade das mensagens de e-mail.

hashes

Hashes são criptografia unidirecional. Uma mensagem ou senha é criptografada de uma forma que não pode ser revertida ou descriptografada. Você pode se perguntar: “Que bem nos faria ter algo criptografado e não poder descriptografá-lo?” Boa pergunta!

Quando a mensagem é criptografada, é criado um “hash” que se torna uma assinatura única, mas não decifrada, para a mensagem subjacente. Cada mensagem é criptografada de forma a criar um hash exclusivo.

Normalmente, esses hashes são de comprimento fixo (um hash MD5 tem sempre 32 caracteres). Dessa forma, o invasor não pode decifrar nenhuma informação sobre a mensagem subjacente do tamanho do hash.

Por isso, não precisamos saber a mensagem original, só precisamos ver se algum texto produz o mesmo hash para verificar sua integridade (imutabilidade).

É por isso que os hashes podem ser usados ​​para armazenar senhas. As senhas são armazenadas como hashes e, quando alguém tenta fazer login, o sistema faz o hash da senha e verifica se o hash gerado corresponde ao hash armazenado. Além disso, os hashes são úteis para verificação de integridade, por exemplo, com downloads de arquivos ou arquivos do sistema.

No mundo da criptografia e hash, uma “colisão” ocorre quando dois textos de entrada diferentes produzem o mesmo hash. Em outras palavras, o hash não é único.

Isso pode ser um problema quando assumimos que todos os hashes são únicos, como em trocas de certificados em SSL. A NSA usou essa propriedade de conflito no malware Stuxnet para fornecer o que parecia ser um certificado legítimo da Microsoft. Algoritmos de hash que produzem colisões são, como você pode imaginar, falhos e inseguros.

Estes são os hashes com os quais você deve estar familiarizado.

  • MD4 - Este foi um dos primeiros hash de Ron Rivest e foi amplamente obsoleto devido a conflitos.
  • MD5 - O sistema de hash mais usado. É de 128 bits e produz uma mensagem digitalizada de 32 caracteres.
  • SHA1 - Desenvolvido pela NSA, mais seguro que o MD5, mas não tão amplamente utilizado. Ele tem um resumo de 160 bits que geralmente é renderizado em hexadecimal de 40 caracteres. Ele é frequentemente usado para trocas de certificados em SSL, mas devido a falhas recentemente descobertas, foi descontinuado para essa finalidade.

Criptografia sem fio

A criptografia sem fio tem sido um tópico favorito dos meus leitores, pois muitos aqui tentam quebrar pontos de acesso sem fio. Como você pode imaginar, a criptografia sem fio é simétrica (para velocidade) e, como acontece com qualquer criptografia simétrica, a troca de chaves é crítica.

  • WEP - Este era o sistema de criptografia original para redes sem fio e foi rapidamente descoberto como falho. Ele usava RC4, mas devido ao pequeno tamanho da chave (24 bits), repetia o IV aproximadamente a cada 5.000 pacotes, permitindo hacking fácil em uma rede lotada usando ataques estatísticos.
  • WPA - Esta foi uma solução rápida para as falhas do WEP, adicionando uma chave maior e TKIP para torná-lo um pouco mais difícil de decifrar.
  • WPA2-PSK - Este foi o primeiro dos sistemas de criptografia sem fio mais seguros. Ele usa uma chave pré-compartilhada (PSK) e AES. Em seguida, salga os hashes com o nome AP ou SSID. O hash é trocado durante a autenticação em um handshake de quatro vias entre o cliente e o AP.
  • WPA2-Enterprise - Essa criptografia sem fio é a mais segura. Usa chave de 128 bits, AES e servidor de autenticação remota (RADIUS).

A importância da criptografia é enorme nas áreas de segurança de computadores e telecomunicações. O seu principal objetivo é fornecer mecanismos para que 2 ou mais pontas de comunicação (ex: pessoas, programas de computador, etc.) troquem mensagens, sem que terceiros possam ler as informações contidas exceto as duas pontas principais.

Postar um comentário

Postagem Anterior Próxima Postagem

Formulário de contato