Přehled
Dvoufaktorové ověřování (také známé jako 2FA) je mechanismus, který kombinuje dvě různé metody autentizace pro ověření uživatelů. V březnu 2011 Google oznámil použití dvoufaktorového ověřování online, následované MSN a Yahoo.
Kromě ověření uživatelského jména a hesla vyžaduje dvoufaktorová autentizace také kombinaci jiného fyzického zařízení, například RSA tokenu nebo mobilního telefonu. Produkty s dvoufaktorovou certifikací lze obecně rozdělit do dvou kategorií:
Hardwarová zařízení, která dokážou generovat tokeny Aplikace pro chytré telefony
OTP
Heslo používané při dvoufázovém ověřování je jednorázové heslo (OTP), známé také jako dynamické heslo. Jedná se o silnou autentizační technologii, která využívá kryptografickou technologii ke sdílení klíčů mezi klienty a servery, a je velmi pohodlným technickým prostředkem ke zlepšení současné statické autentizace hesel a zároveň důležitou dvoufázovou ověřovací technologií.
OTP je zkratka pro One-Time Password (jednorázové heslo), což znamená jednorázové heslo. Dělí se na následující dva typy:
HOTP (HMAC-based Jednorázový algoritmus hesla)
HOTP je jednorázové heslo generované na základě algoritmu HMAC, známého také jako dynamické heslo pro synchronizaci událostí, což je specifikace algoritmu publikovaná ITEF, a pseudokód je následující:
Klient a server si předem vyjednají klíč K pro vytvoření jednorázového hesla. Klient i server mají každý svůj čítač událostí C a předem synchronizují hodnoty počtu. Trunkace je algoritmus, který převádí 20bajtový řetězec generovaný pomocí HMAC-SHA-1 na několik desetinných číslic.
TOTP (algoritmus jednorázového hesla založený na čase)
TOTP je vylepšená verze HOTP, která využívá čas k nahrazení čítače událostí C, známého také jako dynamická šifra pro synchronizaci času. Pseudokód:
T0 je počáteční čas testu, který je výchozí na 0 X je časový krok, který je výchozí 30 sekund Oficiální dokumentace uvádí jasný výsledek, pokud předpokládáme, že aktuální unixový čas = 59, T0 = 0, X = 30, pak T=1 Za předpokladu aktuálního unixového času=60, T0=0, X=30, pak T=2 To znamená, že hodnota T je zaokrouhlena dolů a desetinné číslo se vyřadí
Z výše uvedeného obrázku vidíme, že vstupní algoritmus má dva hlavní prvky, jeden je sdílený klíč (známý také jako semeno) a druhý je počítání (nebo časový faktor), který je vypočítán specifickým algoritmem. Pokud jsou oba prvky konzistentní, serverová i klientská strana vypočítají stejný výsledek, což umožní autentizační funkčnost.
|