Supposons que j'ai besoin d'un mécanisme de connexion pour un programme dans un réseau local dans une entreprise, je suppose que je devrais stocker un fichier avec des paires nom d'utilisateur/mot de passe sur le serveur local. Programme Java être capable de lire/écrire des informations sur le fichier à partir d'un PC local? C'est la première fois que je fais face à une telle tâche, donc je suis un peu confus à ce sujet. Aussi je veux stocker seulement les mots de passe pour le programme, pas l'utilisateur de PC.Stockage des mots de passe hachés MD5 dans un réseau local
Répondre
Hmm, vous devriez le faire différemment imho.
Ecrivez un service pour vous authentifier. Le service est la seule application autorisée à lire le fichier de mot de passe et s'exécute sur le serveur. Les clients s'authentifient auprès de ce service. Une fois l'utilisateur authentifié, transmettez-lui un jeton d'identification lié à sa machine et qui peut expirer après un certain temps. En outre, la machine doit transmettre une sorte de signature numérique pour vérifier son intégrité de manière asynchrone. Si vous faites cela, vous pouvez vérifier que seuls les utilisateurs authentifiés, qui sont réellement ceux qu'ils prétendent être, peuvent accéder aux services nécessitant le jeton d'authentification, y compris le service d'authentification lui-même.
MAIS: Je fortement vous suggère de faire quelque chose qui a déjà été construit pour ces tâches. Il y a des choses comme Kerberos qui ont été construites pour de telles tâches. Je ne suis pas un sysadmin, vous pourriez demander encore à serverfault ou ainsi.
En outre, je tiens à déclarer que MD5 n'est plus le hachage le plus dur. AFAIK blowfish est la voie à suivre aujourd'hui, j'ai peut-être tort, cependant. C'est plus dur que MD5, qui est déjà sujet aux attaques de collision.
On dirait quelque chose à approfondir, merci. – Demonick