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.
[1] Comentário enviado por
leandrorocker em 08/02/2008 - 10:26h:
Legal o artigo, meu TCC quando me formei em ciência da computação foi um estudo sobre hashes, fiz um programa pra quebrá-los (md5,sha1,sha224,sha256,sha384 e sha512) e apresentei os resultados é uma área interessantíssima e como sempre tem o dedo do Ronald Rivest no meio, o cara é um gênio.
[2] Comentário enviado por
tenchi em 08/02/2008 - 11:17h:
Cara, simplesmente demais. Imagino quantos milhares de computadores deve ter um destes esteriótipos de hackers de filmes americanos que conseguem quebrar a criptografia de qualquer servidor do governo... hauahua
São artigos assim que fazem do VOL o site que é.
[3] Comentário enviado por
everton3x em 08/02/2008 - 11:36h:
Excelente o seu artigo.
Realmente, o maior problema no caso de senhas é o BIOS (Bicho Idiota Operando o Sistema).
[4] Comentário enviado por
kabalido em 08/02/2008 - 11:42h:
Cara,
Sem palavras! O artigo foi mais que sensacional.
Li seu artigo e gostei muito mesmo.
Esse tipo de artigo é aquele que dá prazer de ler.
Parabéns e "Viva o Linux".
[5] Comentário enviado por
kalib em 08/02/2008 - 17:06h:
Parece até brincadeira mas ainda é bastante comum encontrar sites diversos que armazenam suas szenhas em arquivos, bancos de dados ou mesmo no próprio código da página toscamente implantados em java script por exemplo...Infelizmente ainda é comum encontrar este tipo de ingenuidade na internet...
Excelente o seu artigo Elgio, digno de destaque aqui no vol bem como suas demais contribuições.
obrigado pela colaboração.
[6] Comentário enviado por
borgetha em 08/02/2008 - 19:35h:
No FreeBSD, antigamente (anos 90 - não sei se ainda é assim), o sistema liberava login e senha, caso o usuário errasse a senha, o sistema esperava 1 segundo e liberava o login novamente. Então se o usuário errasse novamente a senha, o sistema esperava 2 segundos para liberar de novo o login, e a cada erro o tempo dobrava. Era uma forma interessante de se evitar ataques de força bruta, pois o tempo de espera começa a ficar looooongo rapidamente. Claro que só funciona para quem não está logado e nem conhece o hash.
[7] Comentário enviado por
f_Candido em 08/02/2008 - 23:58h:
Muito Bom. É um campo realmente interessante.
Parabéns.
Abraços
[8] Comentário enviado por
renandeos em 09/02/2008 - 09:44h:
Muito bom o artigo. Geralmente não leio um artigo todo, somente as partes mais interessantes (é uma forma de adquirir apenas as partes importantes e poupar tempo!), mas esse li todo e com prazer. Digno de figurar entre os melhores artigos destas revistas famosas que falam de informática.
... e ainda existe quem coloque a senha 0123456789!
huahuahua
Parabéns
[9] Comentário enviado por
sombriks em 09/02/2008 - 15:22h:
belo artigo, nota 10!
[10] Comentário enviado por
arlindom.correa em 10/02/2008 - 04:48h:
Um artigo bem interessante e claro. Parabéns Elgio.
[11] Comentário enviado por
grodriguesq em 10/02/2008 - 18:25h:
Excelente artigo.. adorei a parte.. em q o usuário coloca asenha embaixo do teclado...
Acho q vou até enviar isso por email para alguns usuários da minha rede...
Ou seria mais fácil... tacar os usuarios da minha rede pela janela... ..
[12] Comentário enviado por
bitencourt em 10/02/2008 - 18:39h:
Muito legal o artigo, parabéns!
[13] Comentário enviado por
dailson em 11/02/2008 - 14:53h:
Artigo de ótimo nível aqui no VOL.
Parabéns Elgio
[14] Comentário enviado por
fschurt em 29/09/2008 - 18:30h:
Elgio
De repente, passei a gostar do assunto criptografia, depois de ler seu artigo, muito obrigado.
Pergunto: O hash é mais eficaz do que aquela criptografia que é feita inserindo informação dentro de imagens (esteganografia)?
[16] Comentário enviado por
loula em 19/05/2009 - 18:04h:
Artigo excelente, bem claro para um assunto muitas vezes complicado.
Um paper interessante de cientistas chineses mostra exemplos de colisão em funções de hash MD4, MD5, HAVAL-128 e RIPEMD:
http://eprint.iacr.org/2004/199.pdf
Parabéns!!!
[17] Comentário enviado por
samuel.abeu em 01/06/2009 - 00:23h:
Assunto me esclareceu muito, me despertou a curiosidade e dissernimento ao escolher uma senha.
agradeço.
[18] Comentário enviado por
_d4rks1d3_ em 07/06/2009 - 22:49h:
Um excelente artigo!!
nao sabia destas coisas nao, valeu pelo artigo, ajudo muito a entender como funciona o armazenamento das senhas no linux!!
Parabéns!!
[19] Comentário enviado por
XimenesWambach em 09/06/2009 - 16:22h:
Gostei muito do artigo, achei muito explicativo.
parabêns
[20] Comentário enviado por
LisandroGuerra em 07/07/2009 - 12:32h:
Excelente!
[21] Comentário enviado por
Daemonio em 22/07/2009 - 10:11h:
Excelente!! Você já tem o meu apoio caso você queira fazer a parte II deste artigo.
[22] Comentário enviado por
mdenison em 30/07/2009 - 20:46h:
Muito bom o seu artigo. Dê continuidade ao tema.
[23] Comentário enviado por
guidobert em 02/08/2009 - 18:42h:
Parabens ....... go on .....
[24] Comentário enviado por
hmacedo em 24/11/2011 - 10:52h:
Elgio, o seu "Hash by Elgio" é utilizado no cálculo de checksum das mensagens trocadas através do protocolo FIX. Praticamente todas as bolsas de valores mundiais utilizam esta técnica. Já não é tão ruim assim hehehehe