Examinando mais de perto os hashes: Funções, algoritmos e aplicações
O que é um gerenciador de senhas derivativo?
No mundo digital de hoje, a segurança das senhas é mais importante do que nunca. Como os criminosos cibernéticos estão constantemente procurando novas maneiras de acessar nossas contas e roubar nossos dados, uma das melhores maneiras de se proteger é usar senhas fortes e exclusivas para cada conta.
No entanto, lembrar senhas fortes e exclusivas para todas as nossas contas pode ser difícil. É por isso que o uso de gerenciadores de senhas é uma solução cada vez mais popular. Em geral, os dados de autenticação em um gerenciador de senhas tradicional incorporam o usuário e a senha em um único conjunto de dados que é criptografado com uma senha mestra. O conhecimento da senha mestra revela a totalidade dos dados de autenticação protegidos pelo gerenciador tradicional e, portanto, um ataque com o objetivo de determinar uma única parte crítica dos dados pode resultar em uma falha de segurança catastrófica.
O LISTHASH implementa uma nova forma de gerenciamento de senhas que incorpora vários pontos de controle e permite a privacidade absoluta dos dados de autenticação do usuário. Ao empregar funções de hash, ele fornece os mecanismos necessários para criar senhas fortes e seguras derivadas de dados fornecidos pelo usuário no processo de geração de senhas. Chamamos o LISTHASH de gerenciador de senhas derivativo, já que a partir de dados de base são derivados de uma forma caótica, mas determinística, novos dados suficientemente complexos para serem usados como senhas.
O que é a derivação de senhas a partir de uma semente mestre?
A derivação de senhas a partir de uma semente mestre é um método para gerar senhas seguras e exclusivas a partir de uma única peça secreta de dados, conhecida como semente mestre. A semente mestre pode ser uma palavra, uma frase ou uma série de dados cuja única condição é ser longa e complexa o suficiente para ser difícil de adivinhar, mas que possa ser facilmente lembrada pelo usuário.
Depois de ter uma semente mestre, você pode usar uma função de hash para gerar senhas exclusivas para cada conta. Como já discutimos, uma função de hash é uma função matemática que recebe uma entrada (neste caso, a semente mestra) e a converte em uma saída (neste caso, a senha). A saída da função de hash é sempre a mesma para a mesma entrada, mas é impossível inverter a função para obter a entrada a partir da saída.
Como os hashes funcionam para criar senhas?
O uso de hashes para criar senhas é uma maneira simples e eficaz de proteger os dados de autenticação. Ao combinar uma frase, chave ou conjunto de dados memorável com uma função de hash segura, é possível criar senhas exclusivas e difíceis de adivinhar que manterão seus dados protegidos contra criminosos cibernéticos. O processo básico a ser realizado é o seguinte:
1. Escolha uma frase, uma chave ou um dado que represente uma informação fácil de lembrar, mas que não seja fácil de vincular ao usuário; essa será a semente.
2. Use uma função de hash, como SHA-256, para converter a semente em um valor de hash. Esse valor de hash será uma sequência única e irreconhecível de caracteres alfanuméricos.
3. Adição de sal, ou "salting", para aumentar a segurança. O sal é um valor segredo que é combinado com a semente antes que a função de hash seja aplicada uma segunda vez, tornando ainda mais difícil para os hackers decifrarem a senha.
4. Mapeie o resultado da aplicação da função hash em uma cadeia de caracteres alfanuméricos que possa ser usada como senha.
Há algum risco em usar a derivação de senha a partir de uma semente mestre?
O principal risco de usar a derivação de senha a partir de uma semente mestre é que, se você perder a semente mestre ou não se lembrar dela, será impossível acessar suas contas. Portanto, é importante escolher uma semente mestra que possa ser facilmente lembrada e armazená-la em um local seguro.
Pontos de controle do LISTHASH
Para obter privacidade absoluta e a geração de senhas fortes e seguras, o LISTHASH estabelece três pontos de controle em seu processo de derivação:
1. Semente: Inicialmente, é usada uma semente que não apenas fornece uma informação exclusiva e memorável, mas também o conjunto de caracteres que será usado pelo gerenciador para a geração de senhas.
2. Lista de contas: Cada conta registrada no LISTHASH tem um identificador exclusivo e é representada com os dados de serviço, usuário e o tamanho da senha a ser gerada.
3. Códigos segredos: Finalmente, para a geração, o usuário fornece códigos segredos que são fáceis de lembrar. Esses códigos têm a função de adicionar "sal" à geração final da senha, aumentando a incerteza do resultado das funções de hash.
Importante: A falta de informações específicas em qualquer um dos pontos de controle acima impossibilitará o acesso aos dados de autenticação corretos. Portanto, somente o conhecimento completo dos dados específicos em cada ponto de controle permitirá que uma senha seja recuperada. Esse processo garante que uma violação de até dois pontos de controle seja inútil para um invasor em sua tentativa de obter os dados de autenticação do usuário.
Além disso, os gerenciadores de senhas convencionais fornecem um sinal claro a um invasor quando ele consegue comprometer a senha mestra, pois somente a descriptografia gera um resultado legível que permite o acesso aos dados de autenticação. Por outro lado, os dados de controle do LISTHASH sempre produzem valores de autenticação legíveis, mas inválidos, pois somente dados precisos e corretos em cada ponto de controle corresponderão a dados de autenticação válidos. Um ataque de força bruta nessas condições é inútil, pois requer o teste de todas as combinações possíveis diretamente no serviço vinculado a uma conta, e esse tipo de ataque é interrompido quando o serviço excede os erros admissíveis.
Com o LISTHASH, o usuário do gerenciador não é forçado a abrir mão de sua privacidade nem a confiar a segurança de seus dados a um serviço na nuvem suscetível de ser hackeado.