Le stockage des identifiants de connexion et des mots de passe en session est-il sécurisé?

Quel est le meilleur moyen de stocker le nom d’utilisateur et le nom d’utilisateur SHA1 pour une application intranet?

Est-ce que la session est un moyen relativement sécurisé de stocker des informations telles que les informations sur plusieurs domaines, le nom d’utilisateur et le hachage du mot de passe? Je les garde en tant que Session["data"] = customObject()

Dois-je effectuer une étape supplémentaire pour sécuriser ces données? Existe-t-il un problème de sécurité potentiel ou une faille pouvant être compromise? Une sorte d’injection de session? Devrais-je utiliser un processus de clé privée pour verrouiller / ouvrir les données de session en lecture?

L’enregistrement d’un mot de passe est sécurisé en toute sécurité. L’idée de hacher le mot de passe est telle qu’il ne puisse pas être transformé en reverse engineering. C’est pourquoi les mots de passe hachés sont une pratique recommandée et sont généralement stockés dans des bases de données (par exemple, fournisseur d’adhésion ASP.net). Vous utilisez un cryptage, mais IMHO est moins sécurisé que le hachage.

Stocker un mot de passe de hachage en état de session, soit inProc, sqlserver ou serveur de session est correct. Stocker le mot de passe brut devrait être une infraction suspendue.

Vous éviterez d’exposer le monde du mot de passe haché, que ce soit par le biais d’un formulaire ou d’informations d’URL, car SHA1 a été déterminé comme étant non sécurisé. Je recommanderais SHA256, mais dans tous les cas, ne publiez pas le hachage.

Je me demanderais pourquoi vous voulez garder cette information du tout. Je ne peux penser à aucune valeur qu’il a. Une fois que le mot de passe a été haché, il ne peut plus être utilisé pour authentifier de nouveau l’utilisateur sur un autre site.

Cela dépend où vos données de session sont stockées. Si InProc, probablement pas trop de soucis. Si sur le serveur SQL, un peu plus de risque, mais toujours quelque chose sous votre contrôle. Si, pour une raison quelconque, vous stockez des données d’état de session à l’état de page, vous avez un problème.