Mots de passe, double facteur et sessions
Stockage
Un algorithme de hachage de mot de passe conçu pour être lent et gourmand en mémoire, avec un sel par utilisateur. Jamais de chiffrement réversible et jamais un hash rapide.
Une longueur minimale raisonnable, une vérification contre les listes de mots de passe fuités, et pas de rotation forcée périodique — elle conduit à de moins bons mots de passe.
Un second facteur
Une application d'authentification ou une clé matérielle. Les SMS valent mieux que rien mais sont plus faibles. Gardez des codes de récupération, et planifiez un chemin de récupération qui n'annule pas toute la protection.
Sessions
Un jeton avec expiration, une option de révocation côté serveur et une liste d'appareils connectés que l'utilisateur voit et peut déconnecter. Faites tourner l'identifiant de session à chaque connexion et à chaque changement de mot de passe.
Pour aller plus loin
Limitez les tentatives par compte et par origine, et ajoutez un délai croissant. Et alertez l'utilisateur sur les événements significatifs — une connexion depuis un nouvel appareil, un changement d'e-mail, le double facteur désactivé — car l'utilisateur est souvent le premier à remarquer une prise de contrôle de compte.