Waarom duurt het langer voordat een computer reageert op een onjuist wachtwoord versus een goede?
Heb je ooit per ongeluk een verkeerd wachtwoord op je computer ingevoerd en heb je gemerkt dat het enkele ogenblikken duurt om te antwoorden in vergelijking met het invoeren van de juiste? Waarom is dat? De SuperUser Q & A-post van vandaag heeft het antwoord op de vraag van een nieuwsgierige lezer.
De Question & Answer-sessie van vandaag komt tot ons dankzij SuperUser - een onderdeel van Stack Exchange, een gemeenschapsgedreven groep van Q & A-websites.
Screenshot met dank aan sully213 (Flickr).
De vraag
SuperUser-lezer user3536548 wil weten waarom er een langere responstijd is wanneer een onjuist wachtwoord wordt ingevoerd:
Wanneer u een wachtwoord invoert en dit klopt, is de responstijd vrijwel onmiddellijk. Maar wanneer u een verkeerd wachtwoord invoert (per ongeluk of nadat u het juiste wachtwoord bent vergeten), duurt het een tijdje (10-30 seconden) voordat het antwoordt dat het wachtwoord onjuist is.
Waarom duurt het zo lang (relatief) om te zeggen dat het wachtwoord onjuist is? Dit heeft me altijd lastig gevallen bij het invoeren van onjuiste wachtwoorden op Windows- en Linux-systemen (standaard en VM-gebaseerd). Ik ben niet zeker van Mac OSX omdat ik me niet kan herinneren of het hetzelfde is (het is al een tijdje geleden dat ik voor het laatst een Mac gebruikte).
Ik vraag in de context van een gebruiker die fysiek op locatie inlogt op het systeem in plaats van via SSH, die mogelijk enigszins andere mechanismen zou kunnen gebruiken om in te loggen (referenties valideren).
Waarom is er een langere reactietijd als u een onjuist wachtwoord invoert??
Het antwoord
SuperUser-bijdrager Michael Kjorling heeft het antwoord voor ons:
Waarom duurt het zo lang (relatief) om te zeggen dat het wachtwoord onjuist is?
Het doet niet. Of liever, het duurt niet langer voordat de computer heeft vastgesteld dat uw wachtwoord onjuist is vergeleken met dat het juist is. Het werk voor de computer is idealiter precies hetzelfde. Elk wachtwoordverificatieschema dat een andere hoeveelheid tijd in beslag neemt op basis van het feit of het wachtwoord juist of incorrect is, kan worden misbruikt om kennis te verkrijgen, hoe klein ook, van het wachtwoord in minder tijd dan anders het geval zou zijn.
De vertraging is een kunstmatige vertraging om herhaaldelijk proberen toegang te krijgen door verschillende wachtwoorden onhaalbaar te gebruiken, zelfs als je een idee hebt van wat het wachtwoord is en automatische accountvergrendeling is uitgeschakeld (wat het in de meeste scenario's zou moeten doen omdat het anders zou toestaan een triviale denial of service tegen een willekeurige account).
De algemene term voor dit gedrag is tarpitting. Terwijl in het Wikipedia-artikel meer wordt gesproken over het tarpteren van netwerkdiensten, is het concept generiek. Het oude nieuwe ding is ook geen officiële bron, maar het artikel "Waarom duurt het langer om een ongeldig wachtwoord te weigeren dan om een geldig wachtwoord te accepteren?" zegt hierover (aan het einde van het artikel).
Heb je iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk hier de volledige discussiethread.