Pourquoi faut-il autant de temps à l'ordinateur pour répondre avec «mot de passe invalide», alors que l'utilisation d'un mot de passe correct est presque instantanée? [dupliquer]

10

Lorsque vous entrez un mot de passe et qu'il est correct, la réponse est pratiquement instantanée (c'est-à-dire le processus de connexion).

Cependant, lorsque vous entrez un mot de passe incorrect (accidentellement, oublié, etc.), il faut un certain temps (10-30 secondes) avant qu'il ne réponde que le mot de passe était incorrect.

Pourquoi faut-il si longtemps (relativement) de dire "mot de passe incorrect"?

Cela m'a toujours dérangé sur la saisie de mots de passe incorrects sur Windows et Linux (réel et VM); Je ne suis pas sûr de Mac OSX car je ne me souviens pas si c'est la même chose, depuis un certain temps depuis que j'ai utilisé un Mac pour la dernière fois.

EDIT: par souci de duplication, je demande dans le contexte d'un utilisateur se connectant au système sur l'ordinateur physique plutôt que via ssh qui pourrait éventuellement utiliser des mécanismes quelque peu différents pour se connecter / valider les informations d'identification.

Thermatix
la source
Les raisons sont exactement les mêmes par rapport au doublon (connexion SSH).
Jens Erat
Ils ne le sont pas, le contexte est différent; l'autre différence est que les réponses fournies ne sont pas aussi détaillées
Thermatix
Je suis d'accord avec l'OP. Les questions sont certes liées, mais pas les mêmes. Une réponse à "pourquoi faut-il autant de temps à SSH pour dire" mot de passe invalide "sur une connexion à distance?" n'est pas nécessairement la même que la réponse à "pourquoi la connexion à Windows prend-elle autant de temps à dire" mot de passe invalide "lorsque je suis sur la console?", bien qu'ils soient probablement similaires. Certainement lié, duplique sans doute.
un CVn
Pour la postérité, juste au cas où cela serait rouvert, le double supposé est Pourquoi une tentative de mot de passe incorrecte prendrait-elle beaucoup plus de temps à traiter qu'une bonne? , mais notez qu'au-delà du titre, le seul exemple spécifique donné est une connexion SSH distante à un hôte Linux.
un CVn

Réponses:

17

Pourquoi faut-il si longtemps (relativement) de dire "mot de passe incorrect"?

Ce n'est pas le cas. Ou plutôt, il ne faut plus à l'ordinateur pour déterminer que votre mot de passe est incorrect par rapport à sa validité. Le travail de l'ordinateur est idéalement exactement le même. (Tout schéma de vérification de mot de passe qui prend une quantité de temps différente selon que le mot de passe est correct ou incorrect peut être exploité pour acquérir une connaissance, aussi petite soit-elle, du mot de passe en moins de temps que ce ne serait le cas autrement.)

Le délai est un délai artificiel pour rendre impossible à plusieurs reprises l'accès en utilisant différents mots de passe, même si vous avez une idée de ce que le mot de passe est probable et que le verrouillage automatique du compte est désactivé (ce qui devrait être le cas dans la plupart des scénarios, comme il le ferait autrement permettre un déni de service trivial contre un compte arbitraire).

Le terme général pour ce comportement est tarpitting . Alors que l'article de Wikipedia parle davantage de tarpitting des services réseau, le concept est générique. The Old New Thing n'est pas non plus une source officielle, mais pourquoi faut-il plus de temps pour rejeter un mot de passe invalide que pour en accepter un valide? parle de cela vers la fin de l'article.

un CVn
la source
Je me le demandais aussi! Réponse intéressante. Je souhaite qu'ils puissent raccourcir un peu le délai, car il est ennuyeux d'attendre aussi longtemps lorsque vous réalisez juste après avoir appuyé sur Entrée que c'est faux: P
Blaine
1
Cette protection vise principalement les scripts et les techniques automatisées de force brute plutôt que les connexions interactives. Il y a plusieurs raisons pour lesquelles vous ne pouvez pas régler l'heure, notamment que dans de nombreux cas, le retard est aléatoire (de l'ordre des millisecondes). il existe un ensemble d'attaques de cryptographie appelé Timing Analysis, qui tente d'acquérir une connaissance d'une clé cryptographique en fonction du temps qu'il a fallu pour produire un message d'erreur. un retard aléatoire le bat bien.
Frank Thomas
@FrankThomas Je concède volontiers que je n'ai pas indiqué les moyens par lesquels les tentatives répétées étaient effectuées. Cela dit, il existe un retard très réel et perceptible dans de nombreux systèmes de sécurité pour fournir des informations d'identification non valides, empêchant de nouvelles tentatives pendant une durée brève mais perceptible par l'homme. Étant donné qu'à ce stade, vous accédez déjà au système de manière interactive, les attaques de synchronisation de niveau microseconde ou milliseconde sur les primitives cryptographiques ne s'appliquent pas vraiment.
un CVn
Cela fait-il autorité? Vous avez un article ou quelque chose à référencer?
rfportilla
@rfportilla "faisant autorité"? Non. OP demande environ deux ou trois systèmes d'exploitation complètement différents, pour commencer, dont l'un peut avoir un certain nombre d'applications au niveau du système (gestionnaire de connexion, économiseur d'écran, ...) demandant des mots de passe, et les deux autres étant propriétaires (donc nous ne connaissons pas leur fonctionnement interne). Il n'est pas possible de fournir une source faisant autorité couvrant tout cela. Si la question avait été "pourquoi gdm3 le fait-il de cette façon?" alors une réponse faisant autorité aurait pu être possible, mais ce n'est pas le cas ici.
un CVn