Autentizace: Jsou jednorázová hesla bezpečná?
Jednorázové heslo (One Time Password, zkr. OTP) je takové heslo, které může být, jak již název napovídá, použito jen jednou a po použití se stává neplatným.
To znamená, že pokud dojde k zachycení OTP útočníkem, nemůže jím být k opětovnému přihlášení použito. Opravdu? Ve většině případů tomu tak je, pokud ovšem útočník zachycené OTP nepoužije dříve než oběť.
Útočníkovi stačí uživatele jen přesměrovat na svůj web, a uživatel mu na něm sám zadá jednorázové heslo, neboť si nevšimne, že je vlastně někde jinde. Říkáte, že vám se to stát nemůže, protože pečlivě kontrolujete certifikát, a zda web, ke kterému se hlásíte, používá DNSSEC stejně jako váš ISP. Dobře děláte, ale útočník může získat vaše přihlašovací údaje i jinak.
Útočníkovi stačí ohlídat si formulářové pole, do kterého se OTP zadává a poslat si jeho hodnotu přes internet na svůj stroj a z něj autentizaci dokončit. V okamžiku, kdy uživatel klikne na tlačítko sloužící k odeslání OTP na server, tak se mu zobrazí standardní hlášení, že zadané jméno nebo heslo bylo chybné. Uživatel si pomyslí, že se asi překlepl a tak si vygeneruje nové OTP a pokusí se přihlásit znovu a tentokrát se mu to již povede.
Teď už asi tušíte, proč je u OTP omezená jeho platnost třeba jen na 60 sekund. Ano, proto aby útočník nestihl odchycené heslo použít. Jenže je naivní se domnívat, že útočník sedí u svého počítače a ručně zadává uživatelské jméno a OTP, které mu právě poslal jeho malware. Kdepak, vše probíhá zcela automatizovaně. Malware přihlašovací údaje, tj. uživatelské jméno a heslo odchytí a odešle útočníkovi na server, kde jeho bot provede přihlášení na pravý server a teprve poté útočník provede ručně v daném systému příslušnou operaci.
Pokud není nijak omezen počet současně připojených uživatelů (což většinou není) a aplikace ani nezobrazuje hlášení o tom, kdy došlo k poslednímu přihlášení (což zpravidla zobrazuje málokterá aplikace), oběť si pravděpodobně pomyslí, že došlo k nějaké chybě a zadá prostě nové OTP. Vidíme, že celá důvěra v bezpečnou autentizaci pomocí OTP je vlastně založena jen na předpokladu, že útočník nebude nikdy schopen odchycené heslo použít dříve než oprávněný uživatel. A jak jsme si uvedli výše, časové omezení útočníkovi ve zneužití odchyceného OTP rozhodně nezabrání.
Byť je tento útok opravdu možný a není problém napsat malware, který OTP zadávané uživatelem odchytává a posílá útočníkovi, tak riziko, že by se větší počet uživatelů stal obětí takového útoku, je spíše nízké. Především proto, že malware, který se takto chová, bývá zpravidla velice rychle odhalen, a kromě toho vyžaduje i změnu způsobu, jakým jsou odchycené autentizační údaje zneužívány organizovaným zločinem, i když i zde se situace pomalu mění.
Závěr: Jednorázová hesla by měla být nepredikovatelná, aby útočník nemohl ze zachyceného OTP odvodit následující a měla by mít omezenou časovou platnost a měla by být vázána na session ID.
ČERMÁK, Miroslav, 2011. Autentizace: Jsou jednorázová hesla bezpečná?. Online. Clever and Smart. ISSN 2694-9830. Dostupné z: https://www.cleverandsmart.cz/autentizace-jsou-jednorazova-hesla-bezpecna/. [citováno 07.12.2024].
Štítky: autentizace, OTP
K článku “Autentizace: Jsou jednorázová hesla bezpečná?” se zde nenachází žádný komentář - buďte první.
Diskuse na tomto webu je moderována. Pod článkem budou zobrazovány jen takové komentáře, které nebudou sloužit k propagaci konkrétní firmy, produktu nebo služby. V případě, že chcete, aby z těchto stránek vedl odkaz na váš web, kontaktujte nás, známe efektivnější způsoby propagace.