J'ai eu une question aujourd'hui de la part de mon responsable me demandant ce que je considère comme une conception acceptable pour l'authentification d'une application de formulaire Web, en particulier en ce qui concerne la nature de nombreux navigateurs populaires, à "Mémoriser le mot de passe" pour vos champs de connexion de mot de passe de nom d'utilisateur typiques .
J'ai du mal à trouver une réponse qui me semble acceptable. À la lumière des failles de sécurité embarrassantes de Sony, je veux vraiment être prudent, même si les données stockées sur les personnes sont d'une sensibilité moindre. Nous ne stockons pas de numéros de sécurité sociale ni même d'adresses, mais nous stockons des numéros de téléphone, des adresses e-mail et une photo d'un visiteur.
Il craint qu'un utilisateur puisse simplement mémoriser le mot de passe sur un terminal public, puis que quelqu'un puisse simplement sauter sur ce terminal et commencer à visualiser ou à modifier des données de manière non autorisée. Cependant, je suis assez certain qu'au moins sur les postes de travail Windows, le navigateur ne "mémorisera pas le mot de passe" sur les comptes d'utilisateurs Windows.
Au-delà de cela, j'implémente un cryptage de mot de passe unidirectionnel côté serveur (stocker le mot de passe crypté dans la base de données, crypter le mot de passe fourni par l'utilisateur sur le serveur, comparer à la chaîne cryptée de la base de données). Il n'y a pas de plans immédiats pour incorporer le cryptage SSL, mais c'est toujours une option.
Existe-t-il des failles de sécurité majeures dans cette approche? Avez-vous de meilleures suggestions?