Bonjour à tous,
"Se souvenir de moi" est une fonctionnalité courante pour éviter de se reloguer trop souvent sur un site. Il y a quelques inconvénients : usurpation plus facile si quelqu'un accès au poste de l'utilisateur (mais finalement guère plus qu'avec un mot de passe pré-enregistré), risque d'oubli du mot de passe, etc. mais également des avantages : un mot de passe robuste est mieux admis par l'utilisateur, voir une A2F qui serait également moins onéreuse, possibilité de demander une confirmation pour des tâches sensibles, etc.
Je m'interroge sur les bonnes pratiques en matière d'implémentation. J'ai trouvé cette proposition sur stackoverflow, qui repose sur un article de 2006, l'utilisation du token pour détecter un potentiel vol du cookie me semble très intéressante. Je ferais quelques modifications : (1) ne pas utiliser l'id de l'utilisateur, mais un identifiant généré aléatoirement, (2) hacher et saler en base de donnée ou bien le numéro de série ou bien le token (pour éviter qu'une fuite de la BDD permette de "fabriquer" un cookie d'identification), (3) utiliser des fonctions de comparaison immunes à une attaque temporelle.
Les articles sont toutefois un peu anciens. Auriez-vous d'autres recommandations en terme de bonne pratique ?
"Se souvenir de moi" est une fonctionnalité courante pour éviter de se reloguer trop souvent sur un site. Il y a quelques inconvénients : usurpation plus facile si quelqu'un accès au poste de l'utilisateur (mais finalement guère plus qu'avec un mot de passe pré-enregistré), risque d'oubli du mot de passe, etc. mais également des avantages : un mot de passe robuste est mieux admis par l'utilisateur, voir une A2F qui serait également moins onéreuse, possibilité de demander une confirmation pour des tâches sensibles, etc.
Je m'interroge sur les bonnes pratiques en matière d'implémentation. J'ai trouvé cette proposition sur stackoverflow, qui repose sur un article de 2006, l'utilisation du token pour détecter un potentiel vol du cookie me semble très intéressante. Je ferais quelques modifications : (1) ne pas utiliser l'id de l'utilisateur, mais un identifiant généré aléatoirement, (2) hacher et saler en base de donnée ou bien le numéro de série ou bien le token (pour éviter qu'une fuite de la BDD permette de "fabriquer" un cookie d'identification), (3) utiliser des fonctions de comparaison immunes à une attaque temporelle.
Les articles sont toutefois un peu anciens. Auriez-vous d'autres recommandations en terme de bonne pratique ?