Salut,
Je n'y connais pas grand chose en sécurité/cryptage (les cours concernant ce large domaine sont l'année prochaine ).
Je souhaiterais sécuriser une communication entre un client et un serveur. Il y a 1 serveur et n clients, et je voudrais que quand le client envoie des données (un mot de passe par exemple), on ne puisse pas le lire par monitoring réseau (par exemple avec wireshark). Certes, on ne peut diffuser que le hash md5, mais le problème reste entier, car si par monitoring on récupère le md5, et que le serveur n'a besoin que du md5, on a tout ce qu'il faut pour se connecter au serveur, même si l'on ne connait pas le mot de passe source.
J'ai donc pensé à utiliser SSL (le nom sonne bien, on le voit un peu partout sous linux). Donc, comme google est mon ami, j'ai tapé Java SSL et je suis tombé sur plusieurs tutoriels / articles concernant JSSE.
Le gros problème, c'est qu'il faut côté client utiliser keytool
keytool -genkey -v -keyalg RSA -keystore keystore
et lancer le programme avec
java -Djavax.net.ssl.trustStore=keystore -Djavax.net.ssl.keyStore=keystore -Djavax.net.ssl.keyStorePassword="motdepasse" nomClient
, ce qui n'est pas envisageable dans le cas de programmes "grand public" (même si ça n'est pas le cas de ce que j'ai à faire ici, mais sur le principe).
Je voudrais quelque chose comme quand on se connecte en ssh, on indique l'ip, il nous demande si on accepte le certificat, et on fait oui, et voilà, on est connecté et c'est crypté (on ne peut pas décrypter -facilement en moins de 3 mois- les données qui transitent).
Si vous avez des tutoriels/articles/idées, merci d'avance
®om
Partager