Senha - Password

Um campo de senha em um formulário de login.

Uma senha , às vezes chamada de código de acesso (por exemplo, em dispositivos Apple ), são dados secretos, normalmente uma sequência de caracteres, geralmente usada para confirmar a identidade de um usuário. Tradicionalmente, esperava-se que as senhas fossem memorizadas, mas o grande número de serviços protegidos por senha que um típico acesso individual pode tornar a memorização de senhas exclusivas para cada serviço impraticável. Usando a terminologia das Diretrizes de identidade digital do NIST, o segredo é mantido por uma parte chamada reclamante, enquanto a parte que verifica a identidade do reclamante é chamada de verificador . Quando o reclamante demonstra com sucesso a senha para o verificador por meio de um protocolo de autenticação estabelecido , o verificador é capaz de inferir a identidade do reclamante.

Em geral, uma senha é uma sequência arbitrária de caracteres, incluindo letras, dígitos ou outros símbolos. Se os caracteres permitidos forem limitados a ser numéricos, o segredo correspondente é às vezes chamado de número de identificação pessoal (PIN).

Apesar do nome, a senha não precisa ser uma palavra real; na verdade, uma não palavra (no sentido do dicionário) pode ser mais difícil de adivinhar, o que é uma propriedade desejável das senhas. Um segredo memorizado que consiste em uma sequência de palavras ou outro texto separado por espaços é às vezes chamado de frase secreta . Uma frase secreta é semelhante a uma senha em uso, mas a primeira geralmente é mais longa para aumentar a segurança.

História

As senhas são usadas desde os tempos antigos. As sentinelas desafiariam aqueles que desejam entrar em uma área a fornecer uma senha ou senha , e só permitiriam que uma pessoa ou grupo passasse se soubesse a senha. Políbio descreve o sistema de distribuição de palavras de ordem nas forças armadas romanas da seguinte forma:

A maneira pela qual eles garantem a passagem da palavra de ordem para a noite é a seguinte: do décimo manípulo de cada classe de infantaria e cavalaria, o manípulo que está acampado na extremidade inferior da rua, é escolhido um homem que é dispensado do serviço de guarda, e ele comparece todos os dias ao pôr do sol na tenda do tribuno , e recebendo dele a senha - que é uma placa de madeira com a palavra inscrita - se despede e, ao retornar para seus aposentos, segue em frente a palavra de ordem e a tábua antes de testemunhar ao comandante do próximo manípulo, que por sua vez a passa para o próximo a ele. Todos fazem o mesmo até chegar aos primeiros manípulos, aqueles acampados perto das tendas dos tribunos. Estes últimos são obrigados a entregar a tabuinha aos tribunos antes de escurecer. De modo que, se todos os emitidos forem devolvidos, o tribuno sabe que a palavra de ordem foi dada a todos os manípulos e passou por todos no caminho de volta para ele. Se faltar algum deles, consulta imediatamente, pois sabe pelas marcas de onde a tabuinha não voltou, e o responsável pela paralisação cumpre o castigo que merece.

As senhas para uso militar evoluíram para incluir não apenas uma senha, mas uma senha e uma contra-senha; por exemplo, nos primeiros dias da Batalha da Normandia , paraquedistas da 101ª Divisão Aerotransportada dos EUA usaram uma senha - flash - que foi apresentada como um desafio e respondeu com a resposta correta - trovão . O desafio e a resposta foram alterados a cada três dias. Os paraquedistas americanos também usaram um dispositivo conhecido como "cricket" no Dia D no lugar de um sistema de senha como um método de identificação temporariamente único; um clique metálico dado pelo dispositivo em vez de uma senha era correspondido por dois cliques em resposta.

As senhas têm sido usadas com computadores desde os primeiros dias da computação. O Compatible Time-Sharing System (CTSS), um sistema operacional introduzido no MIT em 1961, foi o primeiro sistema de computador a implementar o login por senha. O CTSS tinha um comando LOGIN que solicitava uma senha de usuário. “Após digitar a SENHA, o sistema desliga o mecanismo de impressão, se possível, para que o usuário digite sua senha com privacidade.” No início dos anos 1970, Robert Morris desenvolveu um sistema de armazenamento de senhas de login em um formato hash como parte do sistema operacional Unix . O sistema era baseado em uma simulação de máquina criptográfica de rotor Hagelin e apareceu pela primeira vez na 6ª Edição Unix em 1974. Uma versão posterior de seu algoritmo, conhecido como crypt (3) , usava um sal de 12 bits e invocava uma forma modificada do DES algoritmo 25 vezes para reduzir o risco de ataques de dicionário pré-computados .

Nos tempos modernos, nomes de usuário e senhas são comumente usados ​​por pessoas durante um processo de login que controla o acesso a sistemas operacionais de computador protegidos , telefones celulares , decodificadores de TV a cabo , caixas eletrônicos (ATMs), etc. Um usuário de computador típico tem senhas para muitos propósitos: fazer login em contas, recuperar e-mail , acessar aplicativos, bancos de dados, redes, sites da Web e até mesmo ler o jornal da manhã online.

Escolha de uma senha segura e fácil de lembrar

Quanto mais fácil for para o proprietário lembrar uma senha, geralmente será mais fácil para um invasor adivinhá-la. No entanto, as senhas difíceis de lembrar também podem reduzir a segurança de um sistema porque (a) os usuários podem precisar anotar ou armazenar eletronicamente a senha, (b) os usuários precisarão de redefinições de senha frequentes e (c) os usuários são mais propensos a reutilize a mesma senha em contas diferentes. Da mesma forma, quanto mais rígidos os requisitos de senha, como "misture letras maiúsculas e minúsculas e dígitos" ou "altere-a mensalmente", maior será o grau em que os usuários subverterão o sistema. Outros argumentam que senhas mais longas fornecem mais segurança (por exemplo, entropia ) do que senhas mais curtas com uma ampla variedade de caracteres.

Em The Memorability and Security of Passwords , Jeff Yan et al. examine o efeito do conselho dado aos usuários sobre uma boa escolha de senha. Eles descobriram que as senhas baseadas no pensamento de uma frase e pegando a primeira letra de cada palavra são tão memoráveis ​​quanto as senhas selecionadas ingenuamente e tão difíceis de decifrar quanto as senhas geradas aleatoriamente.

Combinar duas ou mais palavras não relacionadas e alterar algumas das letras para caracteres especiais ou números é outro bom método, mas uma única palavra do dicionário não é. Ter um algoritmo projetado pessoalmente para gerar senhas obscuras é outro bom método.

No entanto, pedir aos usuários para lembrar uma senha que consiste em uma "mistura de caracteres maiúsculos e minúsculos" é semelhante a pedir-lhes que lembrem uma sequência de bits: difícil de lembrar e apenas um pouco mais difícil de quebrar (por exemplo, apenas 128 vezes mais difícil de crack para senhas de 7 letras, menos se o usuário simplesmente colocar uma das letras em maiúscula). Pedir aos usuários que usem "letras e dígitos" geralmente levará a substituições fáceis de adivinhar, como 'E' → '3' e 'I' → '1', substituições bem conhecidas dos invasores. Da mesma forma, digitar a senha uma linha acima do teclado é um truque comum conhecido pelos invasores.

Em 2013, o Google lançou uma lista dos tipos de senha mais comuns, todos considerados inseguros porque são muito fáceis de adivinhar (especialmente depois de pesquisar um indivíduo nas redes sociais):

  • O nome de um animal de estimação, criança, membro da família ou outra pessoa importante
  • Datas de aniversário e aniversários
  • Local de nascimento
  • Nome de um feriado favorito
  • Algo relacionado a um time esportivo favorito
  • A palavra "senha"

Alternativas para memorização

O conselho tradicional de memorizar senhas e nunca anotá-las tornou-se um desafio devido ao grande número de senhas que os usuários de computadores e da Internet devem manter. Uma pesquisa concluiu que o usuário médio tem cerca de 100 senhas. Para gerenciar a proliferação de senhas, alguns usuários utilizam a mesma senha para várias contas, uma prática perigosa, pois uma violação de dados em uma conta pode comprometer o resto. Alternativas menos arriscadas incluem o uso de gerenciadores de senhas , sistemas de logon único e simplesmente manter listas em papel de senhas menos críticas. Essas práticas podem reduzir o número de senhas que devem ser memorizadas, como a senha mestra do gerenciador de senhas, para um número mais gerenciável.

Fatores na segurança de um sistema de senha

A segurança de um sistema protegido por senha depende de vários fatores. O sistema geral deve ser projetado para segurança sólida, com proteção contra vírus de computador , ataques man-in-the-middle e similares. Os problemas de segurança física também são uma preocupação, desde dissuadir a navegação oculta até ameaças físicas mais sofisticadas, como câmeras de vídeo e detectores de teclado. As senhas devem ser escolhidas de forma que sejam difíceis para um invasor adivinhá-las e difíceis para um invasor descobrir usando qualquer um dos esquemas de ataque automático disponíveis. Consulte a força da senha e a segurança do computador para obter mais informações.

Hoje em dia, é uma prática comum que os sistemas de computador ocultem as senhas à medida que são digitadas. O objetivo desta medida é evitar que transeuntes leiam a senha; no entanto, alguns argumentam que essa prática pode levar a erros e estresse, incentivando os usuários a escolherem senhas fracas. Como alternativa, os usuários devem ter a opção de mostrar ou ocultar as senhas à medida que as digitam.

Provisões eficazes de controle de acesso podem forçar medidas extremas sobre os criminosos que buscam adquirir uma senha ou token biométrico. Medidas menos extremas incluem extorsão , criptoanálise de mangueira de borracha e ataque de canal lateral .

Seguem alguns problemas específicos de gerenciamento de senha que devem ser considerados ao se pensar, escolher e lidar com uma senha.

Taxa em que um invasor pode tentar adivinhar senhas

A taxa na qual um invasor pode enviar senhas adivinhadas ao sistema é um fator chave para determinar a segurança do sistema. Alguns sistemas impõem um tempo limite de vários segundos após um pequeno número (por exemplo, três) de tentativas de entrada de senha com falha, também conhecido como limitação. Na ausência de outras vulnerabilidades, tais sistemas podem ser efetivamente protegidos com senhas relativamente simples se forem bem escolhidas e não forem facilmente adivinhadas.

Muitos sistemas armazenam um hash criptográfico da senha. Se um invasor obtiver acesso ao arquivo de senhas com hash, a adivinhação pode ser feita offline, testando rapidamente as senhas candidatas em relação ao valor hash da senha verdadeira. No exemplo de um servidor da web, um invasor online pode adivinhar apenas a taxa em que o servidor responderá, enquanto um invasor offline (que obtém acesso ao arquivo) pode adivinhar a uma taxa limitada apenas pelo hardware em qual o ataque está sendo executado.

As senhas usadas para gerar chaves criptográficas (por exemplo, para criptografia de disco ou segurança de Wi-Fi ) também podem estar sujeitas a adivinhação de alta taxa. Listas de senhas comuns estão amplamente disponíveis e podem tornar os ataques de senha muito eficientes. (Consulte Quebra de senha .) A segurança em tais situações depende do uso de senhas ou frases-chave de complexidade adequada, tornando tal ataque computacionalmente inviável para o invasor. Alguns sistemas, como PGP e Wi-Fi WPA , aplicam um hash de computação intensiva à senha para retardar esses ataques. Veja o alongamento das teclas .

Limites no número de tentativas de senha

Uma alternativa para limitar a taxa na qual um invasor pode fazer suposições sobre uma senha é limitar o número total de suposições que podem ser feitas. A senha pode ser desativada, exigindo uma redefinição, após um pequeno número de tentativas erradas consecutivas (digamos 5); e o usuário pode ser obrigado a alterar a senha após um número cumulativo maior de suposições erradas (digamos 30), para evitar que um invasor faça um número arbitrariamente grande de suposições erradas intercalando-as entre boas suposições feitas pelo proprietário legítimo da senha. Inversamente, os invasores podem usar o conhecimento dessa atenuação para implementar um ataque de negação de serviço contra o usuário, bloqueando intencionalmente o usuário de seu próprio dispositivo; essa negação de serviço pode abrir outros caminhos para que o invasor manipule a situação em seu benefício por meio da engenharia social .

Forma de senhas armazenadas

Alguns sistemas de computador armazenam as senhas do usuário como texto simples , para comparar as tentativas de logon do usuário. Se um invasor obtiver acesso a esse armazenamento de senha interno, todas as senhas - e, portanto, todas as contas de usuário - serão comprometidas. Se alguns usuários usarem a mesma senha para contas em sistemas diferentes, eles também ficarão comprometidos.

Sistemas mais seguros armazenam cada senha em uma forma criptograficamente protegida, então o acesso à senha real ainda será difícil para um espião que obtém acesso interno ao sistema, enquanto a validação das tentativas de acesso do usuário continua possível. O mais seguro não armazena senhas, mas uma derivação unilateral, como um polinômio , módulo ou uma função hash avançada . Roger Needham inventou a abordagem agora comum de armazenar apenas uma forma "hash" da senha em texto simples. Quando um usuário digita uma senha em tal sistema, o software de tratamento de senha é executado por meio de um algoritmo de hash criptográfico e, se o valor de hash gerado a partir da entrada do usuário corresponder ao hash armazenado no banco de dados de senhas, o acesso do usuário é permitido. O valor hash é criado aplicando-se uma função hash criptográfica a uma string que consiste na senha enviada e, em muitas implementações, em outro valor conhecido como salt . Um salt impede que os invasores criem facilmente uma lista de valores de hash para senhas comuns e evita que os esforços de quebra de senhas se expandam para todos os usuários. MD5 e SHA1 são funções de hash criptográficas frequentemente usadas, mas não são recomendadas para hashing de senha, a menos que sejam usadas como parte de uma construção maior, como em PBKDF2 .

Os dados armazenados - às vezes chamados de "verificador de senha" ou "hash de senha" - costumam ser armazenados no formato Modular Crypt ou RFC 2307, às vezes no arquivo / etc / passwd ou / etc / shadow .

Os principais métodos de armazenamento de senhas são texto simples, hash, hash e salgados e criptografados reversivelmente. Se um invasor obtiver acesso ao arquivo de senha, se ele estiver armazenado como texto simples, nenhum cracking será necessário. Se for hash, mas não salgado, ele é vulnerável a ataques de rainbow table (que são mais eficientes do que cracking). Se for criptografado de forma reversível, se o invasor obtiver a chave de descriptografia junto com o arquivo, nenhum cracker será necessário, enquanto se ele falhar em obter a chave, o cracking não será possível. Assim, dos formatos de armazenamento comuns para senhas apenas quando as senhas foram salgadas e hash é cracking necessário e possível.

Se uma função hash criptográfica for bem projetada, será computacionalmente inviável reverter a função para recuperar uma senha de texto simples . Um invasor pode, no entanto, usar ferramentas amplamente disponíveis para tentar adivinhar as senhas. Essas ferramentas funcionam fazendo hash de possíveis senhas e comparando o resultado de cada tentativa com os hashes de senha reais. Se o invasor encontrar uma correspondência, ele saberá que seu palpite é a senha real do usuário associado. As ferramentas de quebra de senha podem operar por força bruta (ou seja, tentando todas as combinações possíveis de caracteres) ou por hash de cada palavra de uma lista; grandes listas de senhas possíveis em muitos idiomas estão amplamente disponíveis na Internet. A existência de ferramentas de quebra de senha permite que os invasores recuperem facilmente senhas mal escolhidas. Em particular, os invasores podem recuperar rapidamente senhas curtas, palavras de dicionário, variações simples de palavras de dicionário ou que usam padrões facilmente adivinhados. Uma versão modificada do algoritmo DES foi usada como base para o algoritmo de hashing de senha nos primeiros sistemas Unix . O algoritmo crypt usava um valor salt de 12 bits para que o hash de cada usuário fosse único e iterou o algoritmo DES 25 vezes para tornar a função hash mais lenta, ambas medidas destinadas a frustrar ataques de adivinhação automatizados. A senha do usuário foi usada como uma chave para criptografar um valor fixo. Unix ou sistemas semelhantes a Unix mais recentes (por exemplo, Linux ou os vários sistemas BSD ) usam algoritmos de hash de senha mais seguros, como PBKDF2 , bcrypt e scrypt , que têm grandes sais e um custo ajustável ou número de iterações. Uma função hash mal projetada pode tornar os ataques viáveis, mesmo se uma senha forte for escolhida. Veja LM hash para um exemplo amplamente implantado e inseguro.

Métodos de verificação de senha em uma rede

Transmissão simples da senha

As senhas são vulneráveis ​​à interceptação (ou seja, "espionagem") enquanto são transmitidas para a máquina ou pessoa de autenticação. Se a senha for transportada como sinais elétricos em fiação física não protegida entre o ponto de acesso do usuário e o sistema central que controla o banco de dados de senhas, ela está sujeita a espionagem por métodos de escuta telefônica . Se forem transportados como dados em pacote pela Internet, qualquer pessoa capaz de observar os pacotes que contêm as informações de logon pode espionar com uma probabilidade muito baixa de detecção.

Às vezes, o e-mail é usado para distribuir senhas, mas geralmente é um método inseguro. Como a maioria dos e-mails é enviada como texto simples , uma mensagem contendo uma senha pode ser lida sem esforço durante o transporte por qualquer intruso. Além disso, a mensagem será armazenada como texto simples em pelo menos dois computadores: o do remetente e o do destinatário. Se passar por sistemas intermediários durante suas viagens, provavelmente será armazenado lá também, pelo menos por algum tempo, e poderá ser copiado para backup , cache ou arquivos de histórico em qualquer um desses sistemas.

O uso da criptografia do lado do cliente protegerá apenas a transmissão do servidor do sistema de gerenciamento de correio para a máquina cliente. As retransmissões anteriores ou subsequentes do e-mail não serão protegidas e o e-mail provavelmente será armazenado em vários computadores, certamente nos computadores de origem e de recebimento, na maioria das vezes em texto não criptografado.

Transmissão por meio de canais criptografados

O risco de interceptação de senhas enviadas pela Internet pode ser reduzido, entre outras abordagens, usando proteção criptográfica . O mais amplamente usado é o recurso Transport Layer Security (TLS, anteriormente chamado de SSL ) integrado à maioria dos navegadores de Internet atuais . A maioria dos navegadores alerta o usuário sobre uma troca protegida por TLS / SSL com um servidor exibindo um ícone de cadeado fechado ou algum outro sinal quando o TLS está em uso. Existem várias outras técnicas em uso; veja criptografia .

Métodos de desafio-resposta baseados em hash

Infelizmente, há um conflito entre as senhas com hash armazenadas e a autenticação de desafio-resposta baseada em hash ; o último requer que um cliente prove a um servidor que ele sabe qual é o segredo compartilhado (ou seja, senha) e, para fazer isso, o servidor deve ser capaz de obter o segredo compartilhado de sua forma armazenada. Em muitos sistemas (incluindo sistemas do tipo Unix ) que fazem autenticação remota, o segredo compartilhado geralmente se torna a forma em hash e tem a séria limitação de expor as senhas a ataques de adivinhação offline. Além disso, quando o hash é usado como um segredo compartilhado, um invasor não precisa da senha original para autenticar remotamente; eles só precisam do hash.

Provas de senha de conhecimento zero

Em vez de transmitir uma senha ou transmitir o hash da senha, os sistemas de contrato de chave autenticada por senha podem realizar uma prova de senha de conhecimento zero , que prova o conhecimento da senha sem expô-la.

Indo um passo adiante, os sistemas aumentados para acordo de chave autenticada por senha (por exemplo, AMP , B-SPEKE , PAK-Z , SRP-6 ) evitam o conflito e a limitação dos métodos baseados em hash. Um sistema aumentado permite que um cliente prove conhecimento da senha para um servidor, onde o servidor conhece apenas uma (não exatamente) senha com hash, e onde a senha sem hash é necessária para obter acesso.

Procedimentos para alterar senhas

Normalmente, um sistema deve fornecer uma maneira de alterar uma senha, seja porque um usuário acredita que a senha atual foi (ou pode ter sido) comprometida, ou como uma medida de precaução. Se uma nova senha for passada ao sistema de forma não criptografada, a segurança pode ser perdida (por exemplo, por meio de escuta telefônica) antes que a nova senha possa ser instalada no banco de dados de senhas e se a nova senha for fornecida a um funcionário comprometido, pouco se ganha . Alguns sites incluem a senha selecionada pelo usuário em uma mensagem de e-mail de confirmação não criptografada, com a óbvia vulnerabilidade aumentada.

Os sistemas de gerenciamento de identidade são cada vez mais usados ​​para automatizar a emissão de substituições de senhas perdidas, um recurso chamado redefinição de senha de autoatendimento . A identidade do usuário é verificada fazendo perguntas e comparando as respostas com as armazenadas anteriormente (ou seja, quando a conta foi aberta).

Algumas perguntas de redefinição de senha solicitam informações pessoais que podem ser encontradas nas redes sociais, como o nome de solteira da mãe. Como resultado, alguns especialistas em segurança recomendam fazer suas próprias perguntas ou dar respostas falsas.

Longevidade da senha

O "envelhecimento da senha" é um recurso de alguns sistemas operacionais que obriga os usuários a alterar as senhas com frequência (por exemplo, trimestralmente, mensalmente ou até com mais frequência). Essas políticas geralmente provocam protestos e lentidão do usuário, na melhor das hipóteses, e hostilidade, na pior. Freqüentemente, há um aumento no número de pessoas que anotam a senha e a deixam onde ela pode ser facilmente encontrada, bem como chamadas ao suporte técnico para redefinir uma senha esquecida. Os usuários podem usar senhas mais simples ou desenvolver padrões de variação em um tema consistente para manter suas senhas memoráveis. Por causa desses problemas, há algum debate sobre se o envelhecimento da senha é eficaz. Alterar uma senha não impedirá o abuso na maioria dos casos, uma vez que o abuso costuma ser imediatamente perceptível. No entanto, se alguém pode ter acesso à senha por algum meio, como compartilhar um computador ou violar um site diferente, a alteração da senha limita a janela para abuso.

Número de usuários por senha

Atribuir senhas separadas para cada usuário de um sistema é preferível a ter uma única senha compartilhada por usuários legítimos do sistema, certamente do ponto de vista da segurança. Isso ocorre em parte porque os usuários estão mais dispostos a dizer a outra pessoa (que pode não ser autorizada) uma senha compartilhada do que uma exclusivamente para seu uso. Senhas únicas também são muito menos convenientes de serem alteradas porque muitas pessoas precisam ser informadas ao mesmo tempo e tornam mais difícil a remoção do acesso de um usuário específico, como por exemplo na formatura ou demissão. Logins separados também são freqüentemente usados ​​para responsabilidade, por exemplo, para saber quem alterou uma parte dos dados.

Arquitetura de segurança de senha

As técnicas comuns usadas para melhorar a segurança dos sistemas de computador protegidos por senha incluem:

  • Não exibir a senha na tela do visor conforme ela está sendo inserida ou obscurecê-la à medida que é digitada com asteriscos (*) ou marcadores (•).
  • Permitindo senhas de comprimento adequado. (Alguns sistemas operacionais legados , incluindo versões anteriores do Unix e do Windows, limitavam as senhas a um máximo de 8 caracteres, reduzindo a segurança.)
  • Exigir que os usuários digitem novamente suas senhas após um período de inatividade (uma política de semi-logoff).
  • Aplicar uma política de senha para aumentar a força e a segurança da senha .
    • Atribuição de senhas escolhidas aleatoriamente.
    • Exigindo comprimentos mínimos de senha.
    • Alguns sistemas exigem caracteres de várias classes de caracteres em uma senha - por exemplo, "deve ter pelo menos uma letra maiúscula e pelo menos uma letra minúscula". No entanto, todas as senhas em minúsculas são mais seguras por pressionamento de tecla do que as senhas com letras maiúsculas mistas.
    • Use uma lista negra de senhas para bloquear o uso de senhas fracas e fáceis de adivinhar
    • Fornecer uma alternativa para entrada de teclado (por exemplo, senhas faladas ou identificadores biométricos ).
    • Exigindo mais de um sistema de autenticação, como autenticação de dois fatores (algo que um usuário possui e algo que o usuário conhece).
  • Usando túneis criptografados ou contrato de chave autenticado por senha para evitar o acesso a senhas transmitidas por meio de ataques de rede
  • Limitar o número de falhas permitidas dentro de um determinado período de tempo (para evitar adivinhação de senha repetida). Depois que o limite for atingido, outras tentativas falharão (incluindo tentativas de senha correta) até o início do próximo período de tempo. No entanto, isso é vulnerável a uma forma de ataque de negação de serviço .
  • Apresentando um atraso entre as tentativas de envio de senha para desacelerar os programas automatizados de adivinhação de senha.

Algumas das medidas de aplicação de políticas mais rígidas podem representar o risco de alienar os usuários, possivelmente diminuindo a segurança como resultado.

Reutilização de senha

É uma prática comum entre os usuários de computador reutilizar a mesma senha em vários sites. Isso apresenta um risco de segurança substancial, porque um invasor precisa comprometer apenas um único site para obter acesso a outros sites usados ​​pela vítima. Esse problema é agravado também pela reutilização de nomes de usuário e por sites que exigem logins de e-mail, pois torna mais fácil para um invasor rastrear um único usuário em vários sites. A reutilização de senha pode ser evitada ou minimizada usando técnicas mnemônicas , escrevendo as senhas no papel ou usando um gerenciador de senhas .

Foi argumentado pelos pesquisadores de Redmond Dinei Florencio e Cormac Herley, junto com Paul C. van Oorschot da Carleton University, Canadá, que a reutilização de senha é inevitável e que os usuários devem reutilizar senhas para sites de baixa segurança (que contêm poucos dados pessoais e nenhuma informação financeira, por exemplo) e, em vez disso, concentram seus esforços em lembrar senhas longas e complexas para algumas contas importantes, como contas bancárias. Argumentos semelhantes foram feitos pela Forbes em não alterar as senhas com a frequência que muitos "especialistas" aconselham, devido às mesmas limitações na memória humana.

Escrevendo senhas no papel

Historicamente, muitos especialistas em segurança pediam às pessoas que memorizassem suas senhas: "Nunca anote uma senha". Mais recentemente, muitos especialistas em segurança, como Bruce Schneier, recomendam que as pessoas usem senhas muito complicadas de memorizar, escrevam-nas no papel e mantenham-nas na carteira.

O software gerenciador de senhas também pode armazenar senhas com relativa segurança, em um arquivo criptografado selado com uma única senha mestra.

Após a morte

De acordo com uma pesquisa da Universidade de Londres , uma em cada dez pessoas agora está deixando suas senhas em seus testamentos para repassar essas informações importantes quando morrerem. Um terço das pessoas, de acordo com a pesquisa, concorda que seus dados protegidos por senha são importantes o suficiente para serem transmitidos em seu testamento.

Autenticação multifator

Os esquemas de autenticação multifatorial combinam senhas (como "fatores de conhecimento") com um ou mais outros meios de autenticação, para tornar a autenticação mais segura e menos vulnerável a senhas comprometidas. Por exemplo, um login de dois fatores simples pode enviar uma mensagem de texto, e-mail, chamada telefônica automática ou alerta semelhante sempre que uma tentativa de login é feita, possivelmente fornecendo um código que deve ser inserido além de uma senha. Fatores mais sofisticados incluem coisas como tokens de hardware e segurança biométrica.

Regras de senha

A maioria das organizações especifica uma política de senha que define os requisitos para a composição e uso de senhas, normalmente ditando o comprimento mínimo, categorias necessárias (por exemplo, maiúsculas e minúsculas, números e caracteres especiais), elementos proibidos (por exemplo, uso do próprio nome, data de nascimento, endereço, número de telefone). Alguns governos têm estruturas de autenticação nacionais que definem requisitos para autenticação de usuários para serviços governamentais, incluindo requisitos para senhas.

Muitos sites aplicam regras padrão, como comprimento mínimo e máximo, mas também frequentemente incluem regras de composição, como apresentar pelo menos uma letra maiúscula e pelo menos um número / símbolo. Estas últimas regras mais específicas foram amplamente baseadas em um relatório de 2003 do Instituto Nacional de Padrões e Tecnologia (NIST), de autoria de Bill Burr. Originalmente, propôs a prática de usar números, caracteres obscuros e letras maiúsculas e atualizar regularmente. Em um artigo do Wall Street Journal de 2017 , Burr relatou que lamenta essas propostas e cometeu um erro ao recomendá-las.

De acordo com a reescrita deste relatório do NIST em 2017, muitos sites têm regras que, na verdade, têm o efeito oposto na segurança de seus usuários. Isso inclui regras de composição complexas, bem como alterações de senha forçadas após determinados períodos de tempo. Embora essas regras tenham sido amplamente difundidas, elas também foram vistas como irritantes e ineficazes, tanto por usuários quanto por especialistas em segurança cibernética. O NIST recomenda que as pessoas usem frases mais longas como senhas (e aconselha os sites a aumentar o comprimento máximo da senha) em vez de senhas difíceis de lembrar com "complexidade ilusória", como "pA55w + rd". Um usuário impedido de usar a senha "senha" pode simplesmente escolher "Senha1", se necessário, para incluir um número e uma letra maiúscula. Combinado com mudanças de senha periódicas forçadas, isso pode levar a senhas que são difíceis de lembrar, mas fáceis de quebrar.

Paul Grassi, um dos autores do relatório do NIST de 2017, elaborou ainda mais: "Todos sabem que um ponto de exclamação é 1, ou I, ou o último caractere de uma senha. $ É um S ou 5. Se os usarmos bem -truques conhecidos, não estamos enganando nenhum adversário. Estamos simplesmente enganando o banco de dados que armazena as senhas fazendo-o pensar que o usuário fez algo de bom. "

Pieris Tsokkis e Eliana Stavrou conseguiram identificar algumas estratégias de construção de senhas incorretas por meio da pesquisa e do desenvolvimento de uma ferramenta de geração de senhas. Eles criaram oito categorias de estratégias de construção de senhas com base em listas de senhas expostas, ferramentas de quebra de senhas e relatórios online citando as senhas mais usadas. Essas categorias incluem informações relacionadas ao usuário, combinações e padrões de teclado, estratégia de posicionamento, processamento de texto, substituição, capitalização, datas de acréscimo e uma combinação das categorias anteriores

Quebra de senha

Tentar quebrar senhas tentando tantas possibilidades quanto o tempo e o dinheiro permitirem é um ataque de força bruta . Um método relacionado, bastante mais eficiente na maioria dos casos, é um ataque de dicionário . Em um ataque de dicionário, todas as palavras em um ou mais dicionários são testadas. Listas de senhas comuns também são normalmente testadas.

A força da senha é a probabilidade de que uma senha não possa ser adivinhada ou descoberta e varia de acordo com o algoritmo de ataque usado. Criptologistas e cientistas da computação freqüentemente se referem à força ou 'dureza' em termos de entropia .

As senhas facilmente descobertas são consideradas fracas ou vulneráveis ; senhas muito difíceis ou impossíveis de descobrir são consideradas fortes . Existem vários programas disponíveis para ataque de senha (ou mesmo auditoria e recuperação pelo pessoal de sistemas), como L0phtCrack , John the Ripper e Cain ; alguns dos quais usam vulnerabilidades de design de senha (conforme encontrado no sistema Microsoft LANManager) para aumentar a eficiência. Esses programas às vezes são usados ​​por administradores de sistema para detectar senhas fracas propostas pelos usuários.

Estudos de sistemas de produção de computador têm mostrado consistentemente que uma grande fração de todas as senhas escolhidas pelo usuário são prontamente adivinhadas automaticamente. Por exemplo, a Columbia University descobriu que 22% das senhas de usuários podem ser recuperadas com pouco esforço. De acordo com Bruce Schneier , examinando dados de um ataque de phishing de 2006 , 55% das senhas do MySpace seriam quebradas em 8 horas usando um Password Recovery Toolkit comercialmente disponível, capaz de testar 200.000 senhas por segundo em 2006. Ele também relatou que a única senha mais comum foi a senha1 , confirmando mais uma vez a falta geral de cuidado informado na escolha das senhas entre os usuários. (Ele, no entanto, sustentou, com base nesses dados, que a qualidade geral das senhas melhorou ao longo dos anos - por exemplo, o comprimento médio era de até oito caracteres de menos de sete em pesquisas anteriores e menos de 4% eram palavras de dicionário.)

Incidentes

  • Em 16 de julho de 1998, o CERT relatou um incidente em que um invasor encontrou 186.126 senhas criptografadas. No momento em que o invasor foi descoberto, 47.642 senhas já haviam sido quebradas.
  • Em setembro de 2001, após a morte de 960 funcionários de Nova York nos ataques de 11 de setembro , a empresa de serviços financeiros Cantor Fitzgerald, por meio da Microsoft, quebrou as senhas de funcionários falecidos para obter acesso aos arquivos necessários para atender às contas dos clientes. Os técnicos usaram ataques de força bruta e os entrevistadores contataram as famílias para reunir informações personalizadas que pudessem reduzir o tempo de busca por senhas mais fracas.
  • Em dezembro de 2009, uma grande violação de senha do site Rockyou.com ocorreu, o que levou à liberação de 32 milhões de senhas. O hacker então vazou a lista completa de 32 milhões de senhas (sem outras informações identificáveis) para a Internet. As senhas eram armazenadas em texto não criptografado no banco de dados e extraídas por meio de uma vulnerabilidade de injeção de SQL. O Imperva Application Defense Center (ADC) fez uma análise da força das senhas.
  • Em junho de 2011, a OTAN (Organização do Tratado do Atlântico Norte) sofreu uma violação de segurança que levou à divulgação pública de nomes e sobrenomes, nomes de usuário e senhas para mais de 11.000 usuários registrados de sua livraria eletrônica. Os dados vazaram como parte da Operação AntiSec , um movimento que inclui Anonymous , LulzSec , bem como outros grupos de hackers e indivíduos. O objetivo do AntiSec é expor informações pessoais, sigilosas e restritas ao mundo, usando todos os meios necessários.
  • Em 11 de julho de 2011, a Booz Allen Hamilton , uma empresa de consultoria que trabalha para o Pentágono , teve seus servidores hackeados pelo Anonymous e vazaram no mesmo dia. "O vazamento, apelidado de 'Military Meltdown Monday', inclui 90.000 logins de militares - incluindo pessoal do USCENTCOM , SOCOM , o Corpo de Fuzileiros Navais , várias instalações da Força Aérea , Segurança Interna , funcionários do Departamento de Estado e o que parece ser empreiteiros do setor privado." Essas senhas vazadas acabaram sendo hash no SHA1 e, posteriormente, foram descriptografadas e analisadas pela equipe ADC da Imperva , revelando que até mesmo os militares procuram atalhos e formas de contornar os requisitos de senha.

Alternativas para senhas para autenticação

As inúmeras maneiras pelas quais as senhas permanentes ou semipermanentes podem ser comprometidas levaram ao desenvolvimento de outras técnicas. Infelizmente, alguns são inadequados na prática e, em qualquer caso, poucos se tornaram universalmente disponíveis para usuários que buscam uma alternativa mais segura. Um artigo de 2012 examina por que as senhas têm se mostrado tão difíceis de suplantar (apesar das inúmeras previsões de que logo seriam uma coisa do passado); ao examinar trinta substituições propostas representativas com relação à segurança, usabilidade e capacidade de implantação, eles concluem que "nenhuma delas retém todo o conjunto de benefícios que as senhas legadas já oferecem".

  • Senhas de uso único . Ter senhas válidas apenas uma vez torna muitos ataques em potencial ineficazes. A maioria dos usuários considera as senhas de uso único extremamente inconvenientes. No entanto, eles foram amplamente implementados em serviços bancários on-line pessoais , onde são conhecidos como Números de autenticação de transação (TANs). Como a maioria dos usuários domésticos realiza apenas um pequeno número de transações por semana, o problema do uso único não levou a uma insatisfação intolerável do cliente neste caso.
  • As senhas de uso único sincronizadas com o tempo são semelhantes em alguns aspectos às senhas de uso único, mas o valor a ser inserido é exibido em um item pequeno (geralmente de bolso) e muda a cada minuto ou assim.
  • As senhas de uso único PassWindow são usadas como senhas de uso único, mas os caracteres dinâmicos a serem inseridos são visíveis apenas quando um usuário sobrepõe uma chave visual impressa exclusiva sobre uma imagem de desafio gerada pelo servidor mostrada na tela do usuário.
  • Controles de acesso baseados em criptografia de chave pública, por exemplo, ssh . As chaves necessárias são geralmente muito grandes para memorizar (mas veja a proposta Passmaze) e devem ser armazenadas em um computador local, token de segurança ou dispositivo de memória portátil, como uma unidade flash USB ou mesmo disquete . A chave privada pode ser armazenada em um provedor de serviços em nuvem e ativada pelo uso de uma senha ou autenticação de dois fatores.
  • Os métodos biométricos prometem autenticação com base em características pessoais inalteráveis, mas atualmente (2008) têm altas taxas de erro e requerem hardware adicional para escanear, por exemplo, impressões digitais , íris , etc. Eles provaram ser fáceis de falsificar em alguns incidentes famosos testando sistemas disponíveis comercialmente, por exemplo, a demonstração da falsificação da impressão digital do gummie e, como essas características são inalteráveis, elas não podem ser alteradas se forem comprometidas; esta é uma consideração muito importante no controle de acesso, pois um token de acesso comprometido é necessariamente inseguro.
  • A tecnologia de logon único elimina a necessidade de várias senhas. Esses esquemas não dispensam os usuários e administradores de escolherem senhas únicas razoáveis, nem os designers de sistema ou administradores de garantir que as informações de controle de acesso privado transmitidas entre os sistemas que permitem o logon único estejam protegidas contra ataques. Até o momento, nenhum padrão satisfatório foi desenvolvido.
  • A tecnologia de envolvimento é uma maneira sem senha de proteger dados em dispositivos de armazenamento removíveis, como unidades flash USB. Em vez de senhas de usuário, o controle de acesso é baseado no acesso do usuário a um recurso de rede.
  • Senhas não baseadas em texto, como senhas gráficas ou senhas baseadas no movimento do mouse. As senhas gráficas são um meio alternativo de autenticação para login, que deve ser usado no lugar da senha convencional; eles usam imagens , gráficos ou cores em vez de letras , dígitos ou caracteres especiais . Um sistema exige que os usuários selecionem uma série de rostos como senha, utilizando a capacidade do cérebro humano de lembrar facilmente os rostos . Em algumas implementações, o usuário deve escolher entre uma série de imagens na sequência correta para obter acesso. Outra solução de senha gráfica cria uma senha única usando uma grade de imagens gerada aleatoriamente. Cada vez que o usuário é solicitado a se autenticar, ele procura as imagens que se enquadram em suas categorias pré-escolhidas e insere o caractere alfanumérico gerado aleatoriamente que aparece na imagem para formar a senha de uso único. Até agora, as senhas gráficas são promissoras, mas não são amplamente utilizadas. Estudos sobre o assunto foram feitos para determinar sua usabilidade no mundo real. Enquanto alguns acreditam que as senhas gráficas seriam mais difíceis de decifrar , outros sugerem que as pessoas terão a mesma probabilidade de escolher imagens ou sequências comuns, assim como escolher senhas comuns.
  • Chave 2D ( Chave 2-Dimensional) é um método de entrada de chave tipo matriz 2D com os estilos de chave de frase secreta multilinha, palavras cruzadas, arte ASCII / Unicode, com ruídos semânticos textuais opcionais, para criar uma senha / chave grande além de 128 bits para realizar o MePKC (Memorizable Public-Key Cryptography) usando chave privada totalmente memorizável nas tecnologias atuais de gerenciamento de chave privada, como chave privada criptografada, chave privada dividida e chave privada móvel.
  • As senhas cognitivas usam pares de sugestões / respostas de perguntas e respostas para verificar a identidade.

"A senha está morta"

Que "a senha está morta" é uma ideia recorrente na segurança de computadores . As razões apresentadas geralmente incluem referências à usabilidade e também aos problemas de segurança das senhas. Freqüentemente, acompanha argumentos de que a substituição de senhas por um meio de autenticação mais seguro é necessária e iminente. Essa afirmação foi feita por várias pessoas pelo menos desde 2004.

Alternativas para senhas incluem biometria , autenticação de dois fatores ou single sign-on , Microsoft 's Cardspace , o projeto Higgins , o Liberty Alliance , NSTIC , a Alliance FIDO 2.0 propostas e vários Identidade.

No entanto, apesar dessas previsões e esforços para substituí-los, as senhas ainda são a forma dominante de autenticação na web. Em "The Persistence of Passwords", Cormac Herley e Paul van Oorschot sugerem que todos os esforços devem ser feitos para acabar com a "suposição espetacularmente incorreta" de que as senhas estão mortas. Eles argumentam que "nenhuma outra tecnologia se equipara à sua combinação de custo, rapidez e conveniência" e que "as próprias senhas são as mais adequadas para muitos dos cenários em que são usadas atualmente".

Em seguida, Bonneau et al. comparou sistematicamente as senhas da web com 35 esquemas de autenticação concorrentes em termos de usabilidade, implantação e segurança. A análise mostra que a maioria dos esquemas se sai melhor do que as senhas na segurança, alguns esquemas se saem melhor e outros pior com respeito à usabilidade, enquanto todos os esquemas se saem pior do que as senhas na implantação. Os autores concluem com a seguinte observação: "Os ganhos marginais muitas vezes não são suficientes para atingir a energia de ativação necessária para superar os custos de transição significativos, o que pode fornecer a melhor explicação de porque é provável que vivamos consideravelmente mais tempo antes de ver o cortejo fúnebre para a chegada das senhas no cemitério. "

Veja também

Referências

links externos