Salut à tous,
voilà je me pose une petite question quant à la transmittion de mots de passe :
Je possède un client C qui veut se logger (login, password) au serveur S. Les passwords sur S sont stockés hashés (MD-5, SHA-...).
Si je veux me logger on donne donc un login,password au serveur qui regarde s'il possède une entrée dans sa table pour le login, si oui il hashe le password donné et regarde si le password hashé donné correspond au password hashé stocké.
Ca c'est bien, parce qu'ainsi personne côté serveur ne peut aller lire les passwords.
Mais le problème se pose dans la transmittion de ces passwords entre le client et le serveur. Il faudrait que le password ne soit pas transmis en clair.
Quelle est la procédure habituellement utilisée?
- Si je hashe le password côté application, je peux directement vérifier les login, password sur le serveur. On pourrait aussi crypter les login, password avec la clé publique du serveur, ça marcherait aussi. Mais il y a un petit problème : si qqn intercepte le packet contenant la demande de logging contenant le login,password (quelque soit sa forme) il peut envoyer ce packet et se logger à la place de l'utilisateur.
Ce problème peut-il être évité? Parce qu'à priori il ne devrait dépendre que de la couche application du réseau, donc si ça ne tenait qu'à moi je préconiserais l'envoi de pasword déjà hashé.
Mais comment procède-t-on habituellement?
Merci d'avance pour vos réponses, si je n'ai pas été clair sur certains points dites-le je préciserai.
Partager