Estava pensando sobre a utilização de criptografia de chave publica em uma senha de um sistema web e sua eficacia.
Se mensagem de login com a senha for capturada, não seria possivel re-enviar a mesma mensagem e acessar o sistema?? se sim, qual a vantagem de se criptografar a senha??
A vantagem da criptografia obviamente é a segurança. Não se entendi direito, mas quanto ao problema do reenvio de senha, ele pode ser tratado de duas formas:
Opção 1 - Criptografia por Message Digest - MD5
//Obs: -Não pode ser descriptografada
// -Deve-se criptogravar a senha digitada pelo usuário e então compará-las
Opção 2 - Vc criar seu proprío algoritimo de criptografia
privatestaticStringdescriptografa(Stringsenha)throwsUnsupportedEncodingException{bytedescSenha[]=senha.getBytes();//Criar regras utilizando os caracteres da tabela ASCII...}
[/b]
Espero q ajude...
eric_jf
É uma questão teorica…
A questão é o seguinte:
Temos 3 divisões:
o cliente que está rodando a pagina html e/ou javascript;
a web que é alguem oderia interceptar a pagina enviada do cliente;
o servidor rodando java.
O cliente envia uma pagina que contem o login e a senha (que pode ou não estar criptografada).
Alguém intercepta essa pagina enviada pelo cliente, e a re-envia de um cliente invasor.
Ao chegar no servidor com o login e a senha (que pode ou não estar criptografada), como o login e a senha são validos, o invasor entra no sistema.
É possivel isso??
… e aonde a criptografia vai fazer a diferença??
renatosilva
com assinaturas digitais, o servidor poderia verificar que o cliente é falso…
eric_jf
Eu gostaria de saber se o que eu disse procede?? Se colocar uma senha criptografada daria na mesma q uma senha não criptografada??
Mas num cliente web essa assinatura não funcionaria da mesma forma que a criptografia?? a não ser que ela fosse calculada com uma variavel de tempo?certo?!
renatosilva
Cara, eu já me debati com uma questão mais ou menos igual à sua. Se me lembro bem, acho que cheguei à mesma conclusão, vou dar uma lida em casa…
eric_jf
Eu estou suspeitando que criptografar senha, não adianta em nada.
:arrow: …serrá!!!
renatosilva
Isso mesmo que eu pensei outro dia! Você intercepta a senha e envia para o servidor, mesmo que ela esteja criptografada e o impostor não saiba qual ela é.
Agora em aplicações web, acho que o HTTPS deve ter alguma espécie de segurança em relação à isso, não? De repente ele usa assinatura digital…
Mas será que existe alguma coisa do tipo com BDs por exemplo? Tipo, numa app cli/serv que se baseie apenas em criptografar a senha com hash não seria seguro, porque com um sniffer você pega o próprio hash, sem saber a senha, e a utiliza pra acessar o servidor!
Esquisito!
renatosilva
Dei uma lida na Wikipedia, o HTTPS usa assinatura digital sim…
eric_jf
Pelo que eu entendi o HTTPS envia TODA a mensagem criptografada + uma assinatura digital, que tambem deve estar criptografada.
Mesmo que alguem capture a mensagem não tem como utilizar.
Primeiro porque ele vai ter que saber o que está sendo requisitado, o q dependendo do site pode até ser facil de descombrir, como por exemplo um login no sistema, pois é o unico lugar q está criptografado.
Só que como ela está assinada, o servidor vai ver o pedido e verificar que é um pedido falso.
Conclusão:
Utilizar criptografia em senha não faz nenhum sentido.
O certo é utilizar TODA a mensagem criptografada+assinatura, como é feito pelo HTTPS.