Neste momento, é muito normal ouvir falar de violação de dados. Uma violação pode acontecer com um serviço popular como o Gmail ou com um software que a maioria de nós esqueceu, como o MySpace.
Uma das piores coisas que um hacker pode descobrir é a sua senha. Isso é especialmente verdadeiro se você contrariar os conselhos padrão e usar o mesmo login em várias plataformas diferentes. Mas a proteção por senha não é apenas sua responsabilidade.
Então, como os sites armazenam suas senhas? Como eles mantêm suas informações de login seguras? E qual é o método mais seguro que os sites podem usar para rastrear suas senhas?
Pior cenário: as senhas são salvas em texto simples
Considere esta situação: um grande site foi hackeado. Os cibercriminosos contornaram todas as medidas básicas de segurança implementadas no site e podem explorar uma falha na estrutura do site. Você é o cliente. Esse site armazenou seus dados. O site garante que sua senha seja segura. Mas o que acontece se esse site armazenar sua senha em texto simples?
Senhas em texto simples são como uma isca lucrativa. Eles não usam algoritmos, portanto não podem ser lidos. Os hackers podem ler senhas com a mesma facilidade com que você lê este artigo.
Não importa quão complexas sejam suas senhas: um banco de dados de texto simples é uma lista das senhas de todos, escritas de forma clara, incluindo quaisquer números e caracteres adicionais que você usar.
E mesmo que os hackers não invadam o site, você realmente quer que algum administrador do site possa ver seus detalhes secretos de login?
Você pode pensar que este é um problema muito raro, mas estima-se que cerca de 30% dos sites de comércio eletrônico usam esse método para “proteger” os dados dos clientes!
Uma maneira fácil de descobrir se um site salva senhas em texto simples é receber, imediatamente após a inscrição, um e-mail do site listando seus dados de login. Nesse caso, você pode alterar quaisquer outros sites que usem a mesma senha e entrar em contato com a empresa para avisá-los de que sua segurança é muito baixa. Claro que é impossível confirmar 100%, mas este é um sinal bastante claro e o site realmente não deveria enviar essas coisas por e-mail.
Codificação: parece bom, mas não é perfeito
Muitos sites recorrem à criptografia para proteger as senhas dos usuários. O processo de criptografia embaralha suas informações, tornando-as ilegíveis até que duas chaves - uma em sua posse (que são seus dados de login) e outra na empresa em questão - apareçam juntas.
Você também usou criptografia em muitos outros lugares. O Face ID no iPhone é uma forma de criptografia. A senha é a mesma. A Internet funciona com criptografia: o HTTPS que você pode ver na URL significa que o site que você está visitando usa o protocolo SSL ou TLS para verificar a conexão e agregar dados. Mas, na realidade, a criptografia não é perfeita.
A criptografia pode lhe dar tranquilidade. Mas se um site estiver protegendo sua senha usando sua própria senha, um hacker poderá roubar a senha do site, encontrá-la e descriptografá-la. Não será necessário muito esforço para os hackers descobrirem sua senha; É por isso que os principais bancos de dados são sempre um grande alvo.
Se a chave do seu site (senha) estiver armazenada no mesmo servidor que sua senha, sua senha também poderá estar em texto simples.
Hash: Surpreendentemente simples (mas nem sempre eficaz)
O hash de senha pode parecer jargão, mas é simplesmente uma forma mais segura de criptografia.
Em vez de armazenar a senha em texto simples, o site executa a senha por meio de uma função hash, como MD5, Secure Hashing Algorithm (SHA)-1 ou SHA-256, que transforma a senha em um conjunto de dígitos completamente diferente. Podem ser números, letras ou quaisquer outros caracteres.
Sua senha pode ser IH3artMU0. Pode se transformar em 7dVq$@ihT e se um hacker invadir o banco de dados, isso é tudo que ele poderá ver. Os hackers não podem descriptografar a senha original novamente.
Infelizmente, as coisas não são tão seguras quanto você pensa. Este método é melhor que texto simples, mas ainda não é um problema para os cibercriminosos.
O importante é que uma senha específica gere um hash específico. Há uma boa razão para isso: toda vez que você faz login com a senha IH3artMU0, ele passa automaticamente por esse hash, e o site permite o acesso se esse hash e aquele no banco de dados do site estiverem presentes.
Em resposta, os hackers desenvolveram tabelas arco-íris, semelhantes às folhas de dicas. São listas de hashes, já usados por outros como senhas, que um sistema sofisticado pode percorrer rapidamente, como um ataque de Força Bruta .
Se você escolheu uma senha muito ruim, ela estará no topo da tabela do arco-íris e poderá ser facilmente quebrada. Senhas complexas levarão mais tempo.
Melhor atualmente: Salting e Slow Hash

Salting é uma das técnicas mais poderosas implementadas pelos sites mais seguros
Nada é impenetrável: os hackers estão sempre trabalhando ativamente para quebrar qualquer novo sistema de segurança. Atualmente, existem técnicas mais fortes implementadas pelos sites mais seguros. Essas são funções hash inteligentes.
Os hashes salgados são baseados em nonce criptográfico, um conjunto de dados aleatório gerado para cada senha individual, que geralmente é muito longo e complexo.
Esses dígitos adicionais são adicionados ao início ou ao final da senha (ou combinação de e-mail - senha) antes que ela passe pela função hash, para defesa contra tentativas feitas usando uma tabela arco-íris.
Em geral, não há problema se os sais forem armazenados nos mesmos servidores que os hashes. Decifrar um conjunto de senhas pode levar muito tempo para os hackers e é ainda mais difícil se suas senhas forem complexas.
É por isso que você deve sempre usar uma senha forte, não importa o quão confiante você esteja na segurança do seu site.
Os sites também usam hashes lentos como medida adicional. As funções hash mais famosas (MD5, SHA-1 e SHA-256) já existem há algum tempo e são amplamente utilizadas porque são relativamente fáceis de implementar.
Embora o sal ainda seja aplicável, hashes lentos são ainda melhores na defesa contra ataques que dependem de velocidade. Ao limitar os hackers a um número significativamente menor de tentativas por segundo, eles levarão mais tempo para serem hackeados, tornando as tentativas menos valiosas e, ao mesmo tempo, diminuindo a taxa de sucesso.
Os cibercriminosos devem avaliar se vale a pena atacar sistemas de hash lentos e demorados em vez de “soluções rápidas”. Por exemplo, as instituições médicas têm frequentemente menos segurança, pelo que os dados obtidos delas ainda podem ser vendidos por quantias surpreendentes de dinheiro.
Se um sistema estiver sob “estresse”, ele poderá ficar ainda mais lento. Coda Hale, ex-desenvolvedor de software da Microsoft, compara o MD5 à função hash lenta mais notável, bcrypt (outras funções incluem PBKDF-2 e scrypt):
"Em vez de quebrar senhas a cada 40 segundos (como no MD5), eu as quebraria a cada 12 anos ou mais (quando o sistema usa bcrypt). Suas senhas provavelmente não precisam desse tipo de segurança e você pode precisar de um algoritmo de comparação mais rápido , mas o bcrypt permite escolher o equilíbrio entre velocidade e segurança".
E como um hash lento ainda pode ser executado em menos de um segundo, os usuários não serão afetados.