Bezpečná, levná a uživatelsky přívětivá dvoufaktorová autentizace

Cílem tohoto příspěvku je stručně popsat, jakým způsobem je možné realizovat bezpečnou a uživatelsky přívětivou dvoufaktorovou autentizaci a autorizaci transakce nezávislým kanálem s minimálními náklady.

Jedním z možných řešení je využití smartphonu, který většina lidí nosí stále u sebe a na rozdíl od nejrůznějších HW tokenů se pro něj, v okamžiku, kdy ho zapomene, vrátí. Do smartphonu stačí nainstalovat aplikaci, která bude schopna přijmout výzvu vygenerovanou vzdáleným systémem, zobrazit ji uživateli a po jejím odsouhlasení vygenerovat odpověď.

V samotné aplikaci pak budeme provádět kryptografické operace, které nemusí, ale také mohou být založeny na znalosti sdíleného tajemství. V prvním případě se jako možné řešení nabízí využití asymetrické kryptografie např. RSA ve druhém pak hashovacích funkcí např. HMAC. Pojďme si tedy popsat, jak by celé řešení mohlo fungovat.

V aplikaci se vygeneruje pár RSA klíčů, přičemž veřejný klíč se bezpečným kanálem přenese na server a privátní klíč se bezpečně uloží do telefonu. V okamžiku, kdy se bude uživatel autentizovat, zašle server do aplikace na telefonu zabezpečeným kanálem výzvu (náhodně vygenerovaný dlouhý řetězec).

Uživateli se na obrazovce smartphonu objeví dotaz, zda se chce autentizovat do aplikace (volitelně mu může být zobrazena i jeho IP adresa, geolokace, datum posledního přihlášení a další informace).

Pokud uživatel přihlášení odsouhlasí, dojde k podepsání výzvy jeho privátním klíčem a zaslání zpět na server. Server použije veřejný klíč k tomu, aby ověřil, že podpis souhlasí, a v případě že je podpis vyhodnocen jako platný, je uživatel přihlášen.

Obdobným způsobem lze provádět i autorizaci transakce v elektronickém bankovnictví. Uživateli jsou spolu s náhodnou výzvou zaslány bezpečným kanálem i informace o požadované transakci (tyto informace dnes mnohé banky posílají spolu s mTAN v autorizační SMS).

Uživateli se zobrazí na obrazovce detaily transakce, a pokud souhlasí s tím, co uživatel zadal v aplikaci, tak transakci potvrdí. Tím dojde k podepsání výzvy a zaslání odpovědi na server. Server pak stejně jako v předchozím případě ověří podpis a pokud je platný, je transakce realizována.

Pokud by vám vadilo, že uživatel musí být při tomto způsobu autentizace a autorizace připojen do internetu, což může být v některých případech problém, protože ne každý má Wi-Fi nebo aktivován internet v mobilu, tak i tenhle problém lze snadno vyřešit.

Ovšem bez použití asymetrické kryptografie, takže tím zároveň padá i hlavní výhoda tohoto řešení. Tedy že heslo ani jeho hash není nikde uložen a tak ho nikdo nemůže zkopírovat, odchytit, prolomit a realizovat tak neoprávněnou transakci.

V tomto případě se může na obrazovce zobrazit např. QR kód, který se sejme pomocí kamery v mobilu. Aplikace ho zpracuje a na obrazovce zobrazí výzvu k autentizaci nebo autorizaci, ta se spojí se sdíleným tajemstvím, vytvoří se hash a ten se přetransformuje na snadno přepsatelný řetězec např. pomocí HOTP.


Pokud vás tento příspěvek zaujal, sdílejte ho!
Share on FacebookShare on LinkedInTweet about this on TwitterShare on Google+Email this to someonePrint this page

Štítky:


K článku “Bezpečná, levná a uživatelsky přívětivá dvoufaktorová autentizace” 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.

Přihlášeným uživatelům se tento formulář nezobrazuje - zaregistrujte se.

Jméno:(požadováno)
E-mail:(požadováno - nebude zobrazen)
Web:

Text vaší reakce: