Guia de funções de hash e como elas funcionam

As violações de dados digitais tornaram-se tão comuns que não geram muitos alarmes, a menos que você seja um dos milhões de usuários do LinkedIn expostos ou se sua conta antiga do MySpace foi invadida. Todas essas violações ocorrem juntas em um borrão enigmático para a maioria das pessoas que não percebem o que essas empresas fizeram de errado ao oferecer suas informações a ladrões cibernéticos. Uma das muitas razões pelas quais isso pode ter acontecido é porque suas informações não foram adequadamente hash.


O hash pode ser usado alternadamente como substantivo ou verbo na criptografia. Hashing é a ação de alterar senhas em sequências irreconhecíveis de código projetadas por impossibilidade de conversão. Estes também são chamados de hashes. Alguns hashes podem ser quebrados de maneira mais simples que outros, mas ainda é uma tarefa difícil que a maioria dos hackers iniciantes não poderá executar.

Por que o Hash é tão importante

Algoritmo de hash

A maioria dos hackers deseja usar dados para acessar informações do usuário e, para isso, geralmente precisa da sua senha. O que esses criminosos encontram e fraudam em seu perfil não é armazenado em um formato legível a olho nu, a menos que a empresa não proteja seus dados confidenciais.

Sua senha é convertida em hashes normalmente no exato momento em que você cria uma, e parece um conjunto aleatório de strings. É sua senha transformada matematicamente em algo inatacável. Na maioria dos casos, leva anos para decifrar um hash e, então, você já pode ter alterado a senha ou excluído sua conta.

O que são funções de hash

Funções de hash – são funções ou técnicas usadas para codificar senhas e outro texto sem formatação em texto ilegível para armazenamento e transmissão. Existem muitos tipos de funções Hash baseadas na maneira como o texto simples é codificado.

O que são funções de hash – são funções ou técnicas usadas para codificar senhas e outro texto sem formatação em texto ilegível para armazenamento e transmissão. Existem muitos tipos de funções Hash baseadas na maneira como o texto simples é codificado.

Como os Hashes são projetados

Como os Hashes são projetados

Um hash é projetado para ser uma função unidirecional, que é uma operação matemática que é simples de executar no início, mas não pode ser revertida. Depois que você faz o hash dos dados brutos, eles se tornam completos, e é assim que sua conta permanece protegida contra hackers.

Os hashes não foram projetados para serem descriptografados de forma alguma. Depois de inserir sua senha, o sistema executa o hash e verifica os resultados com o hash que foi criado para sua senha quando você a configurou pela primeira vez. Ele verifica a senha sem precisar armazená-la no sistema, outra razão pela qual os hackers odeiam sites com hash.

Diferenças entre métodos de hash forte e fraco

Em teoria, ninguém deve ser capaz de quebrar uma cadeia de hash, nem mesmo a empresa que armazena o hash. Ninguém jamais poderá converter uma senha armazenada em hash novamente na senha original. No entanto, os esquemas de hash existem há muitos anos e alguns se tornaram mais fracos que outros.

Por exemplo, o caso de 177 milhões de contas do LinkedIn à venda na dark web mostra que senhas com hash podem ser quebradas. O LinkedIn usava apenas uma função de hash simples na época chamada SHAI e não tinha outras proteções para impedir o roubo de dados. Isso permitiu que os hackers acessassem senhas e também tentassem essas senhas em outros sites. Esta pode ter sido a razão pela qual as contas de Mark Zuckerberg no Twitter e no Pinterest foram invadidas ao mesmo tempo.

Outro caso de erro de hash é a história da violação de dados de Patreon. Desta vez, o site possuía funções de hash muito fortes, chamadas bcrypt. Essa função fornece mais tempo entre a violação e a alteração das senhas antes que o hacker possa acessar todos os dados em cache.

Então, qual é a diferença entre SHAI e bcrypt? Com o SHAI, os hackers não conseguem reverter a senha hash criada com essa função específica. No entanto, eles podem adivinhar senhas e executar a mesma função para descobrir a senha e como ela é hash.

Quando obtêm uma hachura correspondente, podem usar um programa de quebra de hash para filtrar bancos de dados muito maiores e adivinhar milhões de senhas ou mais. Eles podem usar esses dados para comparar com os resultados de um grupo de senhas com hash para encontrar mais correspondências, levando a um efeito dominó se você usar a mesma senha para todos os sites. Bom trabalho, Mark Zuckerberg!

Quais são as características de uma função de hash útil

Como existem várias funções de hash diferentes por aí, é melhor procurar outras com essas quatro características.

Eficiente e Rápido

Ninguém quer esperar para fazer login, pois sua senha é hash. Isso significa que a função de hash deve ser eficiente e rápida. Como a função de hash pode ser trabalhosa, é imperativo encontrar a mais rápida. Se um computador típico precisar de alguns minutos para processar uma função de hash e criar uma saída, isso não seria prático para os negócios. Hoje, a maioria dos computadores pode processar um hash em um quinto de segundo.

Sempre dá o mesmo resultado

As funções de hash também precisam ser determinísticas. Para qualquer entrada fornecida, a função de hash deve sempre fornecer o mesmo resultado. Se você conectar a mesma entrada 5 milhões de vezes, uma após a outra, a função hash também produzirá a mesma saída exata 5 milhões de vezes.

Se uma função de hash criar resultados diferentes sempre que a mesma entrada for conectada, o hash será muito aleatório e inútil. Seria impossível verificar também a entrada fornecida, que é o objetivo das senhas com hash.

Resistente à pré-imagem

O resultado de qualquer função de hash não deve revelar nenhuma informação sobre a entrada fornecida. Isso é conhecido como resistência à pré-imagem. Embora as funções hash criptográficas possam receber qualquer tipo de informação, sejam letras, palavras, sinais de pontuação ou números, a função hash sempre deve apresentar o mesmo resultado de tamanho fixo. Isso é verdade mesmo se você inserir um livro inteiro de caracteres.

Isso é para esconder qualquer dica sobre qual é a entrada. Deve ser impossível para os hackers adivinhar o que foi originalmente fornecido. Portanto, é impossível determinar se a sequência é longa ou curta.

Resistente à colisão

A última característica define como é improvável encontrar duas entradas diferentes que criam o mesmo resultado. Isso significa que existe qualquer número de entradas que podem ser feitas, mas as saídas ainda têm comprimento fixo. Também existem muitas saídas que uma função hash deve produzir, mas o número é finito em contraste com as entradas, que podem ser infinitas.

Simplificando, o objetivo é tornar absolutamente impossível encontrar duas entradas que criem a mesma saída e que a probabilidade disso possa ser descartada antes que qualquer risco seja avaliado..

Por que os hashes são irreversíveis

Por que os hashes são irreversíveis – As funções de hash geralmente são unidirecionais, devido ao descarte de grande parte do texto sem formatação durante o processo de criptografia. A correspondência é feita colocando o texto do usuário através da função hash e comparando-o com o texto criptografado.

O que é um Hash Collision Attacks

Ataque de colisão de hash – Uma colisão de hash se refere a dois textos de entrada com a mesma saída após a criptografia. Isso é chamado de colisão e a tentativa de encontrar essas strings é chamada de ataque de colisão de hash. Isso é altamente improvável, dada a complexidade das chaves de hash atuais.

Noções Básicas Sobre Salgar de Senha

Salga de senha – Salga refere-se ao acréscimo de uma sequência adicional a uma senha antes de criptografá-la. Isso dificulta que os invasores identifiquem senhas com base em uma tabela pré-computada de senhas chamada tabela arco-íris.

O que é Hash Peppering

Os criptografadores gostam de temperar seu hash com outro tempero chamado “apimentado”. Isso é semelhante à técnica salt, exceto que o novo valor é colocado no final da senha. Existem duas versões de salpicar. O primeiro é um valor oculto conhecido que é adicionado a cada valor, mas só é valioso se não for conhecido pelo hacker.

O segundo é o valor gerado aleatoriamente pelo sistema, mas não é armazenado. Isso significa que toda vez que um usuário tenta fazer login, ele deve tentar várias combinações do algoritmo de hash e do algoritmo de pimenta para encontrar os valores certos que correspondem ao hash. Isso significa que pode demorar muito tempo para fazer login, e é por isso que não é usado.

Como o armazenamento de senhas funciona com funções de hash

Como o armazenamento de senhas funciona com funções de hash – refere-se ao armazenamento de senhas de usuários de maneira criptografada para garantir que terceiros não possam manipular o logon do usuário caso o banco de dados seja comprometido.

Como funcionam os ataques à mesa do arco-íris

Tabelas Arco-Íris – Esta é uma tabela de senhas e suas saídas quando codificadas usando muitas funções hash conhecidas. Essas tabelas são usadas para identificar senhas sem ter que gastar tempo na computação de funções de hash.

Quais ferramentas são necessárias para funções de hash

Ferramentas necessárias para funções de hash – Diferentes tipos de funções de hash estão disponíveis como ferramentas on-line, onde o texto sem formatação pode ser criptografado, basta copiá-las em um determinado campo de texto. MD5 e SHA-256 são algumas das funções de hash mais populares.

Noções básicas sobre classes para funções de hash criptográfico

Existem várias classes diferentes de funções de hash disponíveis. No entanto, existem poucas maneiras mais comuns usadas hoje, incluindo:

  •  BLAKE2
  •  Algoritmo de hash seguro ou SHA-2 e SHA-3
  •  Avaliação das primitivas de integridade do RACE MEssage DIGEST ou RIPEMD
  •  Algoritmo de resumo de mensagens 5 (MD5)

Cada uma dessas classes envolve funções de hash com vários algoritmos diferentes combinados. Com o SHA-2, uma família de funções de hash foi desenvolvida para dificultar o crack. Isso inclui SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 e SHA-512/256.

Enquanto cada um varia um do outro da maneira que transforma uma determinada entrada, eles também têm diferentes comprimentos fixos que eles produzem após digerir a entrada. Por exemplo, o SHA-256 é o mais usado na tecnologia blockchain e é baseado no código Bitcoin original.

Como são processados ​​os hashes

Como são processados ​​os hashes

Em uma palavra, instantaneamente. Para uma explicação detalhada, o processo é um pouco mais complexo, embora seja completamente automatizado e ocorra em segundos. Esse processo também é chamado de Efeito Avalanche ou Efeito Borboleta.

Basicamente, o tamanho do bloco de dados difere de um algoritmo de hash para o seguinte. Para um algoritmo específico como SHA-1, a mensagem ou senha é aceita em blocos que contêm apenas 512 bits. Isso significa que, se a senha tiver apenas 512 bits, a função hash será executada apenas uma vez. Se a mensagem for 1024 bits, ela será dividida em blocos separados de 512 bits cada. A função hash também é executada duas vezes.

Na maioria dos casos, também é usada uma técnica chamada Padding, o que significa que toda a mensagem ou senha é dividida em blocos de dados de tamanhos iguais. A função hash é repetida tantas vezes quanto o número total de blocos. Esses blocos são processados ​​um após o outro. Nesse processo, a saída do primeiro bloco de dados é alimentada como uma entrada junto com o próximo bloco de dados.

A saída do segundo é então alimentada para o terceiro bloco, e assim por diante. Isso faz com que a saída final seja o mesmo número que o valor total de todos os blocos juntos. Se você mudar na mordida em qualquer lugar da senha ou mensagem, o valor inteiro do hash também mudará, daí o nome Efeito Avalanche.

Empacotando

Se sua senha for corretamente dividida em hash e salgada, a única maneira de passar seria um ataque de força bruta. Com senhas mais longas e com mais criptografia, o ataque de força bruta leva mais tempo, o que significa que é mais demorado e oneroso para o hacker.

Isso significa que seus usuários devem sempre criar senhas mais longas e configurar com caracteres secretos, como um símbolo ou letra maiúscula. É também por isso que seqüências de senha geradas aleatoriamente são mais seguras que uma palavra do dicionário, pois ataques de força bruta utilizam dicionários para encontrar palavras para testar.

Ao se inscrever em qualquer negócio on-line, você deve sempre verificar se eles lidam com suas senhas. Eles são criptografados? Eles estão com hash? Como suas informações serão protegidas? A maioria das empresas com hash lista isso em suas políticas de privacidade.

Ferramentas recomendadas

  • Melhor VPN
  • Melhores gerenciadores de senhas
  • Comentários sobre Segurança Doméstica
Kim Martin
Kim Martin Administrator
Sorry! The Author has not filled his profile.
follow me