Como gerar Algoritmo Hash no cliente?

7 respostas
acmprotector

E ai pessoal, beleza??

Estou a desenvolver um sistema usando STRUTS 2 para o meu projeto de licenciatura e preciso de uma ajudinha…

Seguinte:

Preciso implementar a parte do login usando algoritmo de autenticacao, no meu caso vou usar SHA - 256. Entao eu quero que logo que o cliente digitar a senha, o sistema deve gerar o Hash da senha no cliente para em seguida enviar o Hash para o servidor.
Preciso usar uma hash para evitar enviar a senha em Clear Text para servidor…

valew.

7 Respostas

A

Não use hash no cliente.

Pense comigo: qualquer tecnologia que alguém usar para ver a senha em texto puro, fará com que ela veja o hash.
Acaba dando no mesmo.

Você pode usar ssl para aumentar a segurança dessa comunicação.

acmprotector

Pense comigo: qualquer tecnologia que alguém usar para ver a senha em texto puro, fará com que ela veja o hash.
Acaba dando no mesmo.

Concordo plenamente, mas se eu usar um Salt no cliente, onde cada Salt só e usado uma unica vez? ou seja sempre que o cliente efetuar login, o servidor vai enviar um Salt com alguns bytes aleatório para o cliente, logo se o cliente efetuar o login terá que ser SALT+SENHA.

Por exemplo o servidor envia um Salt de “ADC” para o cliente e senha do utilizador “1234”, então sera “SALT+SENHA” = ADC1234 e em seguida gero a hash da combinação do SALT com a SENHA e na proxima vez que cliente efetuar o login, sera gerado um Salt diferente e assim em diante…

Pensei na possibilidade de usar ssl, mas não tenho permissões para entrar na sala de servidores e configurar para ssl.

A

Mas o servidor precisa fazer a mesma conta para bater seu hash. Ou seja, pelo seu exemplo ele precisaria saber sua senha em texto pura 1234 para concatenar com o salt que ele gerou.

Recomendo que consiga essa permissão então.

Ser criativo nessas horas pode criar um risco maior de segurança do que não ter segurança alguma.

M

Isso realmente dificulta um sniffing, mas não um man in the middle bem feito.

Realmente a melhor e mais fácil opção é um SSL …

E

O Yahoo Mail gerava um hash no cliente (com salting) na hora do login, mas ele também usava SSL. Não sei agora como ele faz.

Hoje em dia não sei mais o que ele faz. Mas ele tem de usar SSL de qualquer maneira.

A

Aliás, com o vazamento dos milhões de hashes do Linkedin e de outros 2 sites (que eu não uso e nem consigo lembrar o nome) estão saindo vários artigons sobre o processo de login.

Esse aqui é de hoje no Dzone, achei que tem boas dicas.

http://java.dzone.com/articles/secure-password-storage-lots

acmprotector

Valew pessoal, Entao vou pelo caminho de SSL…

Criado 17 de junho de 2012
Ultima resposta 18 de jun. de 2012
Respostas 7
Participantes 4