Bonjour,
Je suis en train de réaliser une application Intranet permettant de gérer des mots de passe d'accès à des équipements.
Bien entendu, cette application est ultrasensible, et il faut donc la sécuriser au maximum.
Ce que j'aimerais, c'est qu'à aucun moment, les mots de passe ne circulent en clair.
Voici donc comment je l'ai architecturée :
- Identification des utilisateurs ayant accès à la base. Le mot de passe de connexion est hashé via une fonction JavaScript sur le client. Cette empreinte est comparée avec celle stockée dans une base de données pour réalisée l'identification de l'utilisateur.
- Les mots de passe de connexion aux équipements sont stockés chiffrés (via blowfish) dans la base. Et c'est là qu'est mon problème : je fais quoi de ma clé ????
Pour ne pas qu'elle apparaisse en clair (dans un morceau de code ou autre part), je voulais la chiffrer également. Mais avec quoi ?
J'ai pensé à utliser le mdp de l'utilisateur pour la chiffrer, mais ça voudrait dire qu'à un moment, sur le serveur ou sur le client, je stocke le mdp en clair pour pouvoir déchiffrer. L'idée de le stocker dans une session sur le client m'est venue, mais ça ne me plait pas trop.
Quelqu'un pourrait-il m'indiquer comment procéder SVP ?
Merci d'avance.
Encore un petit mot sur l'architecture technique : serveur Linux, avec Apache, PHP (+MCrypt), SSL, MySQL. L'application est programmée en PHP, la base est MySQL, et les flux HTTP sont chiffrés via SSL.