Pergunta  
 
Rede de conhecimento computador >> Pergunta >> senhas >> Content
O que é o algprithm que o Linux usou para decodificar a senha?
Linux não "decodifica" senhas. Ele usa um processo de hashing e salga Para armazenar senhas com segurança. Aqui está um colapso do algoritmo e conceitos relacionados:

1. A meta:armazenamento de senha segura

O princípio fundamental é que a senha de texto simples real é * nunca * armazenado em nenhum lugar. Se o banco de dados que contém senhas fosse comprometido, os invasores teriam acesso instantaneamente a todas as contas de usuário. Hashing e salga impedem isso.

2. Hashing:

* Função unidirecional: O hashing é uma operação matemática que transforma a senha em uma sequência de caracteres de tamanho fixo chamado "hash". É uma função * unidirecional *, o que significa que é computacionalmente inviável (extremamente difícil e demorado) para reverter o processo e derivar a senha original do hash.
* Resistência à colisão: Idealmente, senhas diferentes devem produzir hashes diferentes. Um bom algoritmo de hash minimiza a chance de uma "colisão", onde duas senhas diferentes geram o mesmo hash.
* algoritmos comuns de hash no Linux:

* bcrypt: Frequentemente considerado a escolha mais forte e preferida. Ele inclui um sal embutido e foi projetado para ser computacionalmente caro, tornando-o resistente a ataques de força bruta.
* Argon2: Um algoritmo moderno de hash de senha que também é projetado para ser computacionalmente caro e com memória, aumentando ainda mais a resistência a ataques. Está se tornando mais popular.
* scrypt: Outra função de derivação-chave projetada para ser resistente a ataques de força bruta.
* SHA-512: (Menos comum * agora * para hash de senha direta, mas frequentemente usada como parte de uma função de derivação de chaves maior). Historicamente, era usado. Às vezes é usado como parte das configurações do PAM.
* md5, sha-1, sha-256: não use isso! Estes são considerados desatualizados e vulneráveis ​​para o hash de senha direta. Eles são muito rápidos e facilmente rachados com hardware moderno e mesas de arco -íris pré -computadas. Eles podem ser encontrados em sistemas mais antigos, mas devem ser atualizados.

3. Salga:

* Adicionando aleatoriedade: Um "sal" é uma série aleatória de caracteres que é exclusivo para cada usuário. O sal é concatenado (adicionado) a senha * antes * é hash.
* Prevenção de ataques de mesa de arco -íris: As mesas de arco -íris são tabelas de hashes pré -computadas para senhas comuns. Sem salgar, um invasor pode simplesmente procurar o hash em uma tabela de arco -íris para encontrar a senha correspondente. A salga torna as mesas de arco -íris inúteis porque cada senha possui um sal exclusivo, resultando em um hash exclusivo, mesmo para senhas comuns.
* O sal é armazenado com o hash: Fundamentalmente, o próprio sal é armazenado ao lado da senha de hash no arquivo `/etc/shadow` (ou em algum banco de dados nos sistemas modernos). Isso não é * uma vulnerabilidade de segurança; O sal é * necessário * para verificar uma senha.
* Por que armazenar o sal? Para verificar a senha de um usuário, o sistema precisa:
1. Recupere o sal armazenado para esse usuário.
2. Concatenar a senha inserida com o sal.
3. Hash o resultado usando o mesmo algoritmo * de hash de hash usado originalmente.
4. Compare o hash recém -gerado com o hash armazenado. Se eles corresponderem, a senha estará correta.

4. O arquivo `/etc/shadow` (abordagem tradicional)

Tradicionalmente, as senhas de usuário e suas informações associadas são armazenadas no arquivo `/etc/shadow`. (Nota:visualizar ou modificar diretamente esse arquivo geralmente requer privilégios root).

* Permissões: O arquivo `/etc/Shadow` normalmente é legível pelo usuário` root`, garantindo que os usuários regulares não possam ver as senhas de hash de outros usuários.
* Estrutura: Cada linha no arquivo `/etc/Shadow` representa uma conta de usuário e possui o seguinte formato (simplificado):

`` `
Nome de usuário:hashed_password:last_change:min_days:max_days:warn_days:inactive_days:expire_date:sinalizadores
`` `

* o campo `hashed_password`: É aqui que a senha salgada e hash é armazenada. O formato desse campo geralmente inclui um identificador para o algoritmo de hash usado, o sal e o hash real. Por exemplo:

* `$ 6 $ algum_random_salt $ averylonghashedPasswordSwordString` (isso usa SHA-512)
* `$ 2b $ 10 $ outro_random_salt $ parelonGerhashedPasswordString` (isso usa BCRYPT)
* `$ 6` indica SHA-512
* `$ 2b` indica bCrypt
*O número (por exemplo, `10 'em BCRYPT) indica o *fator de custo *ou *fator de trabalho *. Um fator de custo mais alto torna o processo de hash mais caro computacionalmente, aumentando o tempo necessário para quebrar a senha.

5. Sistemas modernos e Pam (módulos de autenticação flash)

* bancos de dados : Os sistemas modernos geralmente usam bancos de dados (por exemplo, LDAP, Active Directory) para armazenar informações da conta do usuário, incluindo senhas de hash.
* Pam: O PAM é uma estrutura flexível que permite que os administradores do sistema configurem diferentes mecanismos de autenticação. É usado para lidar com o processo de autenticação, incluindo senhas de hash, verificando senhas e executando outras tarefas relacionadas à segurança. Os arquivos de configuração do PAM (por exemplo, em `/etc/pam.d/`) determinam quais módulos de autenticação são usados ​​e como eles estão configurados.

Cenário de exemplo:verificação de senha do usuário

1. Usuário insere senha: O usuário digita sua senha em um prompt de login ou aplicativo.
2. sistema recupera sal: O sistema procura a conta do usuário e recupera o sal armazenado de `/etc/Shadow` (ou o banco de dados apropriado).
3. Concatenação e hash: O sistema concatena a senha inserida com o sal recuperado. Em seguida, ele usa o algoritmo de hash indicado na entrada `/etc/Shadow` (por exemplo, SHA-512 ou BCRYPT) para hash a senha e o sal combinados.
4. Comparação: O hash recém -gerado é comparado ao hash armazenado em `/etc/shadow`.
5. Sucesso/falha de autenticação: Se os dois hashes corresponderem, a autenticação será bem -sucedida. Caso contrário, a autenticação falha.

Considerações importantes:

* Complexidade da senha: Incentive os usuários a escolher senhas fortes que são longas, complexas e difíceis de adivinhar.
* Alterações regulares de senha: Periodicamente, exigindo que os usuários alterem suas senhas pode ajudar a mitigar o risco de senha de compromisso.
* Autenticação multifatorial (MFA): O uso do MFA adiciona uma camada extra de segurança, exigindo que os usuários forneçam várias formas de identificação, como uma senha e um código do telefone.
* Auditorias de segurança: A audição regularmente a configuração de segurança do seu sistema pode ajudar a identificar e abordar possíveis vulnerabilidades.
* permanecendo atualizado: Mantenha seu sistema operacional e software atualizados com os mais recentes patches de segurança.

em resumo: Linux não "decodifica" senhas. Ele usa uma forte combinação de salga e hash para armazenar representações de senha com segurança. Os algoritmos `bcrypt` e` argon2` são geralmente preferidos por sua resistência a ataques de força bruta. Configurar adequadamente o PAM e manter o sistema seguro é crucial para proteger as contas de usuário.

Anterior :

Próximo :
  Os artigos relacionados
·Que tipo de autenticação o DOD exige para criptografa…
·Qual é a senha do NetAdmin no Ubuntu? 
·Existe alguma senha e login? 
·Como alterar sua senha Wi-Fi do Xfinity 
·Como a senha pode ajudar na segurança dos dados? 
·O que há de errado se eu não consigo fazer login porq…
·Seu pai coloca um bloco parental no Windows Vista e voc…
·Como alterar a senha do WhatsApp no ​​iPhone:proteja se…
·Número médio de senhas por pessoa? 
·Qual é a principal fraqueza de uma senha? 
  Artigos em destaque
·Como remover uma ferramenta de remoção do suspeito 
·Como excluir a pasta System32 no Windows? 
·Como instalar o comando netcat(nc) no Linux (Ubuntu 18.…
·Você pode excluir o software se não houver desinstala…
·Como reiniciar um roteador [Xfinity, Spectrum, Eero, Mo…
·Como criar uma partição DOS ou unidade lógica do DOS…
·Como você pode atualizar as torres móveis Boost 
·Como alterar seu Roku WiFi sem controle remoto 
·Como faço para passar monitores no meu laptop 
·Como criar um gráfico no Google Doc 
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados