2017-10-19 48 views
0

Lorsque les utilisateurs oublient leurs mots de passe, ils peuvent les réinitialiser (sur la plupart des sites Web). Ils le font en recevant un e-mail avec un jeton de réinitialisation, puis en l'utilisant pour définir un nouveau mot de passe. Ce jeton expire généralement après un certain temps pour éviter les devinettes.Durée d'expiration des jetons de réinitialisation de mot de passe

Disons que le jeton est de 256 bits. Bruteforcing avec beaucoup de superordinateurs prend encore (très gros) 10^50 ans. C'est à dire. il ne peut pas être fait avec les connaissances actuelles, certainement pas dans 1 heure (temps d'expiration régulier). Maintenant, la question est: pourquoi nous protéger contre deviner du tout?

+0

En supposant que vous vouliez dire 256 octets. Aussi, vous n'avez jamais mentionné la méthode de cryptage. Même avec une énorme clé si vous avez un mauvais cryptage, il est trivial de craquer. – Trickycm

+0

Non, je voulais dire bit, juste un nombre, pas de clé de cryptage. Il s'agit essentiellement de deviner un nombre de 256 bits. –

+0

Ah, bien sûr, vous avez longtemps. – Trickycm

Répondre

2

Deviner n'est pas vraiment ce que vous le protégez. Comme vous l'avez compris, la taille de l'entropie seule prend soin de cela. L'expiration sert principalement à atténuer l'accès non autorisé possible de ce jeton, car il peut y avoir plusieurs fuites à partir d'un message électronique. Exactement comme pourquoi vous ne devriez pas envoyer le mot de passe d'un utilisateur à son adresse e-mail.
Quelqu'un d'autre a peut-être un accès temporaire au compte e-mail, se trouve être en train de lire avec le propriétaire du compte, ou debout derrière eux, etc. Toutes sortes de manigances sont possibles.

De plus, personne ne veut une table de base de données remplie de vieilles jetons supposés temporaires - chaque développeur aime nettoyer les données parasites.

+0

Vous ne pouvez pas vraiment empêcher quelqu'un d'avoir accès au compte de messagerie, car cette personne peut simplement demander un nouveau jeton à ce moment-là, je dirais. Se protéger contre quelqu'un qui regarde par-dessus son épaule est évité par deux choses. Tout d'abord, le jeton est aléatoire de 256 bits, pas facile à faire. Deuxièmement, vous pouvez le cacher dans le bouton (html-email). (Nettoyage de votre base de données est un bon argument je suppose, mais pas tellement lié à la sécurité et quelque chose qui peut sûrement attendre 48 heures par exemple.) –

+0

Bien sûr, vous pouvez faire beaucoup de petites choses cosmétiques pour cacher le jeton, mais aucune garantie et ce n'est pas vraiment le but - le processus doit être sécurisé par la conception, ne pas dépendre d'une certaine sorcellerie frontale. Et oui, bien sûr, si quelqu'un a un accès permanent au compte peut demander une nouvelle clé, mais les mots clés ici sont "fuite" et "temporaire". – Narf