Armazenamento de senhas no Linux
Você sabe como são armazenadas as senhas no Linux? O que é e para que serve o salt number? O que é MD5? Este artigo não pretende ir muito a fundo no mundo da criptografia, mas sim explicar os conceitos necessários para entender o arquivo de senhas, os reais ataques. Quem programa para a WEB poderá achar este artigo além de curioso, muito útil!
Introdução
Autenticar um usuário em um sistema sempre foi alvo de pesquisa. Para que um sistema aceite o usuário é necessário que ele, de alguma forma, prove que ele é o usuário que diz ser.
A autenticação sempre é baseada em três princípios, sendo que a combinação de mais de um deles aumenta a segurança;
1) baseado no que você tem
Neste tipo de autenticação o usuário precisa provar que tem a posse de alguma coisa, supondo que somente o usuário real tem este objeto. Não estou falando de senha, pois a senha o usuário "não tem", ele "conhece". Um exemplo bem atual deste sistema é o cartão de banco. Se você não tiver o cartão não poderá se autenticar perante o terminal de saque.
2) baseado em algo que você é
Neste caso o sistema identificará você pelo que você é. Resumindo em uma única palavra: BIOMETRIA.
Autenticação por impressão digital, análise da retina e outras mais sofisticadas e ainda em estudo como reconhecimento facial são exemplos deste tipo de autenticação.
3) baseado no que você sabe
Aqui entra o foco deste estudo. Você será reconhecido pelo sistema se souber um segredo que, supostamente, ninguém mais saberia. Aqui entra a senha.
Muitos sistemas críticos de segurança usam mais de um tipo de autenticação podendo até usar os três ao mesmo tempo. Bancos geralmente usam o tipo 1 e tipo 3. Você tem um cartão mas também precisa conhecer a senha, não raro mais de uma (senha, três letrinhas, últimos dígitos do cartão que você tem e as vezes informações pessoais do seu cadastro).
Sistemas computacionais geralmente usam somente a senha para autenticar o usuário.
O problema é: como armazenar com segurança as senhas de todos os usuários?
A maneira mais infantil e, claro, não usada nem mesmo pela Microsoft é armazenar as senhas em um arquivo texto ou em um Banco de Dados. É muito fácil prever o desastre que pode ocorrer se alguém roubar este arquivo, fato que muito freqüentemente ocorre em sites da Internet que insistem em armazenar senhas desta forma precária. Mas existem outras, sendo que a melhor delas ainda é HASH com salt numbers.
A autenticação sempre é baseada em três princípios, sendo que a combinação de mais de um deles aumenta a segurança;
1) baseado no que você tem
Neste tipo de autenticação o usuário precisa provar que tem a posse de alguma coisa, supondo que somente o usuário real tem este objeto. Não estou falando de senha, pois a senha o usuário "não tem", ele "conhece". Um exemplo bem atual deste sistema é o cartão de banco. Se você não tiver o cartão não poderá se autenticar perante o terminal de saque.
2) baseado em algo que você é
Neste caso o sistema identificará você pelo que você é. Resumindo em uma única palavra: BIOMETRIA.
Autenticação por impressão digital, análise da retina e outras mais sofisticadas e ainda em estudo como reconhecimento facial são exemplos deste tipo de autenticação.
3) baseado no que você sabe
Aqui entra o foco deste estudo. Você será reconhecido pelo sistema se souber um segredo que, supostamente, ninguém mais saberia. Aqui entra a senha.
Muitos sistemas críticos de segurança usam mais de um tipo de autenticação podendo até usar os três ao mesmo tempo. Bancos geralmente usam o tipo 1 e tipo 3. Você tem um cartão mas também precisa conhecer a senha, não raro mais de uma (senha, três letrinhas, últimos dígitos do cartão que você tem e as vezes informações pessoais do seu cadastro).
Sistemas computacionais geralmente usam somente a senha para autenticar o usuário.
O problema é: como armazenar com segurança as senhas de todos os usuários?
A maneira mais infantil e, claro, não usada nem mesmo pela Microsoft é armazenar as senhas em um arquivo texto ou em um Banco de Dados. É muito fácil prever o desastre que pode ocorrer se alguém roubar este arquivo, fato que muito freqüentemente ocorre em sites da Internet que insistem em armazenar senhas desta forma precária. Mas existem outras, sendo que a melhor delas ainda é HASH com salt numbers.