Autenticação SSH similar ao Github. Como?

4 respostas
R

Estou procurando uma maneira de fazer uma autenticação por SSH, igual o que o github faz.
O cliente terá a possibilidade de fazer conexões de uma aplicação instalada no desktop no servidor. Porém, como isso envolve dados sigilosos, gostaria de aumentar a segurança.

Alguém conhece algum material bom sobre o assunto?

4 Respostas

R

Desculpa subir o tópico…
Mas estou precisando bastante disso, e não sei como procurar…

gomesrod

Olá,

Se precisa apenas proteger os dados que trafegam pela rede, basta criptografá-los antes de enviar pelo Socket, e decriptografar no lado receptor. Pode usar chaves simétricas para simplificar o processo.
Procure no google por Criptografia Java que aparece bastante coisa.

Se, por outro lado, é necessário adicionar uma camada de segurança a mais com autenticação (o Server ter certeza que é seu client que está conectando, e vice-versa), é preciso implementar um “handshake” onde ambos os lados trocam certificados. Não sei se existe algo mais ou menos pronto para isso, infelizmente essa área não é minha especialidade, mas para ter uma idéia aqui tem uma descrição do algoritmo:

O

Não conheço o este esquema que você citou de SSH do github, mas sei que existe um esquema de fazer uma VPN usando SSH. Se for isto, você não precisa mudar o seu programa, mas tem que configurar o seu computador para usar este canal de VPN para que a conexão entre a máquina do cliente e o servidor seja através desta VPN. Se não nada disto, deixo a dica de usar uma VPN para garantir a parte de confidencialidade dos dados sem ter que mudar o seu programa. Agora se o seu objetivo é a parte de autenticação e autorização, então teria que entender o que você precisa…

gomesrod

Deixar essa parte por conta de ferramentas externas (como a conexão por VPN) também é uma excelente idéia.

E mais uma opção para você dar uma olhada: http://stilius.net/java/java_ssl.php

Criado 19 de dezembro de 2011
Ultima resposta 28 de fev. de 2012
Respostas 4
Participantes 3