Lar Como Como usar um gerador de senha aleatório

Como usar um gerador de senha aleatório

Índice:

Vídeo: Javascript senha/string aleatória com toString (Novembro 2024)

Vídeo: Javascript senha/string aleatória com toString (Novembro 2024)
Anonim

As senhas são terríveis. Se você usar uma senha fraca para o site do seu banco, corre o risco de perder seus fundos para um ataque de quebra de força bruta. Mas se você tornar a senha aleatória demais, poderá esquecê-la e ficar bloqueada na conta. Você pode optar por memorizar apenas uma senha complexa e usá-la em qualquer lugar, mas, se fizer isso, uma violação em um site expõe todas as suas contas. Seu único caminho razoável é contar com a ajuda de um gerenciador de senhas e alterar todas as suas senhas fracas e duplicadas para sequências únicas e aleatórias de caracteres.

Quase todos os gerenciadores de senhas incluem um componente gerador de senhas, para que você não precise criar essas senhas aleatórias. (Mas se você quiser uma solução faça você mesmo, mostraremos como criar seu próprio gerador de senhas aleatórias). No entanto, nem todos os geradores de senha são criados iguais. Quando você sabe como eles funcionam, você pode escolher o que é melhor para você e usar o que você tem de maneira inteligente.

Geradores de senhas - aleatórios ou não?

Quando você joga um par de dados, obtém um resultado verdadeiramente aleatório. Ninguém pode prever se você terá olhos de cobra, vagões ou sete sortudos. Mas no mundo dos computadores, randomizadores físicos como dados não estão disponíveis. Sim, existem algumas fontes de números aleatórios baseadas em decaimento radioativo, mas você não as encontrará no gerenciador de senhas médio do consumidor.

Os gerenciadores de senhas e outros programas de computador usam o chamado algoritmo pseudo-aleatório. Esse algoritmo começa com um número chamado semente. O algoritmo processa a semente e obtém um novo número sem conexão rastreável com a antiga, e o novo número se torna a próxima semente. A semente original nunca aparece novamente até que todos os outros números apareçam. Se a semente fosse um número inteiro de 32 bits, isso significa que o algoritmo passaria por 4.294.967.295 outros números antes de repetir.

Isso é bom para o uso diário e para as necessidades de geração de senhas da maioria das pessoas. No entanto, é teoricamente possível para um hacker qualificado determinar o algoritmo pseudo-aleatório usado. Dada essa informação e a semente, o hacker poderia replicar a sequência de números aleatórios (embora isso fosse difícil).

Esse tipo de invasão direcionada é extraordinariamente improvável, exceto em um ataque de Estado-nação dedicado ou em espionagem corporativa. Se você é alvo de um ataque desse tipo, seu conjunto de segurança provavelmente não poderá protegê-lo; felizmente você quase certamente não é o alvo desse tipo de ciberespionagem.

Mesmo assim, alguns gerenciadores de senhas trabalham ativamente para eliminar até a possibilidade remota de um ataque tão focado. Ao incorporar seus próprios movimentos do mouse ou caracteres aleatórios no algoritmo aleatório, eles obtêm um resultado verdadeiramente aleatório. Entre os que oferecem essa aleatorização no mundo real, estão o AceBIT Password Depot, o KeePass e o Steganos Password Manager. A captura de tela mostra o randomizador em estilo matriz da Password Depot; sim, os caracteres caem quando você move o mouse.

Você realmente precisa adicionar a randomização no mundo real? Provavelmente não. Mas se isso te faz feliz, vá em frente!

Gerenciadores de senhas reduzem a aleatoriedade

Obviamente, os geradores de senhas não retornam literalmente números aleatórios. Em vez disso, eles retornam uma sequência de caracteres, usando números aleatórios para escolher entre os conjuntos de caracteres disponíveis. Você sempre deve ativar o uso de todos os conjuntos de caracteres disponíveis, a menos que esteja gerando uma senha para um site que, digamos, não permita caracteres especiais.

O conjunto de caracteres disponíveis inclui 26 letras maiúsculas, 26 letras minúsculas e 10 dígitos. Também inclui uma coleção de caracteres especiais que podem variar de produto para produto. Para simplificar, digamos que haja 18 caracteres especiais disponíveis. Isso faz um total agradável de 80 caracteres para você escolher. Em uma senha totalmente aleatória, existem 80 possibilidades para cada personagem. Se você escolher uma senha de oito caracteres, o número de possibilidades é de 80 à oitava potência, ou 1.677.721.600.000.000 - mais de um quatrilhão. Isso é difícil para um ataque de quebra de força bruta, e a suposição de força bruta é realmente a única maneira de quebrar uma senha verdadeiramente aleatória.

Obviamente, um gerador totalmente aleatório acabará produzindo "aaaaaaaa" e "Covfefe!" e "12345678", pois são tão prováveis ​​quanto qualquer outra sequência de oito caracteres. Alguns geradores de senhas filtram ativamente sua saída para evitar essas senhas. Tudo bem, mas se um hacker conhece esses filtros, na verdade ele reduz o número de possibilidades e facilita o craqueamento por força bruta.

Aqui está um exemplo extremo. Existem 40.960.000 senhas possíveis de quatro caracteres, extraídas de uma coleção de 80 caracteres. Mas alguns geradores de senhas forçam a seleção de pelo menos um de cada tipo de caractere, e isso reduz drasticamente as possibilidades. Ainda existem 80 possibilidades para o primeiro personagem. Suponha que seja uma letra maiúscula; o pool para o segundo caractere é 54 (80 menos os 26 caracteres maiúsculos). Suponha ainda que o segundo caractere seja uma letra minúscula. Para o terceiro caractere, apenas dígitos e caracteres especiais permanecem, para 28 opções. E se o terceiro caractere é pontuação, o último deve ser um dígito, 10 opções. Nossas 40 milhões de possibilidades diminuem para 1.209.600.

Usar todos os conjuntos de caracteres é uma necessidade para muitos sites. Para evitar que esse requisito reduza seu pool de senhas, defina o tamanho da senha alto. Quando a senha é longa o suficiente, o efeito de forçar todos os tipos de caracteres se torna insignificante.

Outros limites que os gerenciadores de senhas aplicam reduzem o pool de possíveis senhas desnecessariamente. Por exemplo, o RememBear Premium especifica o número preciso de caracteres de cada um dos quatro caracteres, o que reduz drasticamente o pool. Por padrão, ele requer duas letras maiúsculas, dois dígitos, 14 letras minúsculas e sem símbolos, para um total de 18 caracteres. Isso resulta em um conjunto de senhas centenas de milhões de vezes menor do que se simplesmente exigisse um ou mais de cada tipo de caractere. Aqui, novamente, você pode resolver esse problema definindo um tamanho de senha mais alto.

O LastPass e vários outros têm como padrão evitar pares de caracteres ambíguos, como o dígito 0 e a letra O. Quando você não precisa se lembrar da senha, isso não é necessário; desative esta opção. Da mesma forma, não escolha a opção para gerar uma senha pronunciável como "entlestmospa". Essa opção é importante apenas se for uma senha que você deve lembrar. A aplicação dessa opção não apenas limita os caracteres em minúsculas, mas também rejeita o grande número de possibilidades que o gerador de senhas considera impronunciáveis.

Gerar senhas longas

Como vimos, os geradores de senhas não necessariamente escolhem no pool de todas as senhas possíveis que correspondem ao comprimento e aos conjuntos de caracteres que você selecionou. No exemplo extremo de uma senha de quatro caracteres usando todos os conjuntos de caracteres, cerca de 97% das senhas possíveis de quatro caracteres nunca aparecem. A solução é simples; vá muito tempo! Você não precisa se lembrar dessas senhas, para que possam ser enormes. Pelo menos, tão grande quanto o site em questão aceita; alguns impõem limites.

Quanto maior o espaço de pesquisa (o que eu chamo de pool de senhas disponíveis), mais tempo levaria um ataque de força bruta para acontecer com sua senha. Você pode jogar com a Password Haystack Calculator (como em uma agulha no palheiro) no site da Gibson Research para ter uma ideia do valor do comprimento.

Basta digitar uma senha para ver quanto tempo levaria para quebrar. (O site promete "NADA que você faz aqui sai do seu navegador. O que acontece aqui fica aqui." Mas a cautela sugere que você evite usar suas senhas reais). Uma senha de quatro caracteres como 1eA e não levaria um dia para quebrar, se o hacker tivesse que enviar palpites online. Mas em um cenário offline, onde o hacker pode tentar adivinhar em alta velocidade, o tempo de quebra é de uma fração de segundo.

No meu artigo sobre a criação de senhas fortes memoráveis ​​(para coisas como a senha mestre de um gerenciador de senhas), sugiro uma técnica mnemônica que transforma uma linha de um poema ou se transforma em uma senha de aparência aleatória. Por exemplo, uma linha de Romeu e Julieta, ato 2, cena 2, tornou-se "bS, wLtYdWdB? A2S2". Esta não é uma senha aleatória, mas um cracker não sabe disso. Colocando-o na calculadora de Gibson, aprendemos que, mesmo usando uma enorme quantidade de fendas, seriam necessários 1, 41 milhão de séculos para a força bruta.

Faça uma escolha informada do Gerenciador de senhas

Então agora você sabe - o fator mais importante na geração de senhas fortes e aleatórias é prolongá-las. Alguns geradores de senhas rejeitam senhas que não contêm todos os conjuntos de caracteres, alguns rejeitam aqueles com palavras de dicionário incorporadas, alguns descartam senhas que contêm caracteres ambíguos, como pequeno l e dígito 1. Todas essas restrições limitam o conjunto de senhas possíveis, mas quando o comprimento é alto o suficiente, essa limitação simplesmente não importa.

Obviamente, é teoricamente (se não praticamente) possível que algum malfeitor possa hackear o esquema de geração de senha do seu gerenciador de senhas favorito e, assim, obter a capacidade de prever as senhas pseudo-aleatórias que ele oferecerá a você. Um programa gerenciador de senhas com sombra pode enviar suas senhas aleatórias de volta à sede da empresa. Este é realmente o nível de preocupação da paranóia do papel alumínio. Mas se você realmente não quiser confiar em outra pessoa para obter suas senhas aleatórias, poderá criar seu próprio gerador de senhas aleatórias no Excel.

Como usar um gerador de senha aleatório