19Jul
Har du någonsin tagit fel lösenord på din dator av misstag och märkte att det tar några ögonblick att svara i jämförelse med att du anger rätt? Varför är det så?Dagens SuperUser Q & A-inlägg har svaret på en nyfiken läsarens fråga.
Dagens fråga &Svarssession kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.
Skärmdump med tillstånd av sully213( Flickr).
Frågan
SuperUser-läsaren user3536548 vill veta varför det finns en längre responstid när ett felaktigt lösenord anges:
När du anger ett lösenord och det är korrekt är svarstiden praktiskt taget omedelbar. Men när du anger ett felaktigt lösenord( av misstag eller har glömt rätt), tar det ett tag( 10-30 sekunder) innan det svarar att lösenordet är felaktigt.
Varför tar det så länge( relativt) att säga att lösenordet är felaktigt? Detta har alltid bugged mig när du anger felaktiga lösenord på Windows och Linux-system( regelbundet och VM-baserat).Jag är inte säker på Mac OSX eftersom jag inte kan komma ihåg om det är detsamma( det har varit ett tag sedan jag senast använde en Mac).
Jag frågar i samband med att en användare loggar in på systemet fysiskt på plats istället för genom SSH som kan tänkas använda något annorlunda mekanismer för att logga in( validera inloggningsuppgifter).
Varför finns det längre svarstid när du anger ett felaktigt lösenord?
Svaret
SuperUser-bidragaren Michael Kjorling har svaret för oss:
Varför tar det så länge( relativt) att lösenordet är felaktigt?
Det gör det inte. Eller det tar inte längre datorn att bestämma att ditt lösenord är felaktigt jämfört med att det är korrekt. Arbetet med datorn är, idealiskt, exakt detsamma. Varje lösenordsverifieringsschema som tar en annan tid beroende på om lösenordet är korrekt eller felaktigt kan utnyttjas för att få kunskap, men liten, av lösenordet på kortare tid än vad som annars skulle vara fallet.
Förseningen är en artificiell fördröjning som gör att du upprepade gånger försöker få åtkomst genom att använda olika lösenord, oavsett om du har en uppfattning om vad lösenordet är och om automatisk låsning av kontot är avstängt( vilket det borde vara i de flesta scenarier som det annars skulle tillåtaför ett trivialt förnekande av tjänsten mot ett godtyckligt konto).
Den allmänna termen för detta beteende är tarpitting. Medan Wikipedia-artikeln talar mer om nätverksservicen är konceptet generiskt. Den gamla nyheten är inte heller en officiell källa, men artikeln "Varför tar det längre att avvisa ett ogiltigt lösenord än att acceptera en giltig?" Pratar om detta( nära slutet av artikeln).
Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.