A kétlépcsős hitelesítés

A XX. század második fele óta egy cég életében nem a szerszámok, vagy eszközök, hanem az adatok jelentik az értéket. Ezeket az adatokat a legtöbb esetben jelszavakkal védjük. Ez kényszermegoldás, hiszen nehéz jelszót választani úgy, hogy a jelszó egyszerre könnyen megjegyezhető, biztonságos, egyedi és elfogadható idő alatt begépelhető legyen.

Arra nincs ráhatásunk, hogy a kedves alkalmazottunk/ügyfelünk (egyéb az informatikai rendszerünket használó személy) olyan jelszót adott-e meg, amelyet máshol nem használ.

Természetesen erre is van megoldás:

A kétfaktoros hitelesítés (kétlépcsős hitelesítés)

Fényképes azonosítás
Egy az azonosítási lehetőségek közül: a fényképes azonosítás
A kép forrása: Wikipédia

Egy hitelesítés alapvetően háromféleképpen valósulhat meg:

  • Rendelkezem egy azonosításhoz szükséges tárggyal (pl. bankkártya)
  • Ismerek egy az azonosításhoz szükséges titkot (jelszó, PIN)
  • Saját testi tulajdonságom (fénykép, ujjlenyomat)

Nem szokták ide sorolni de a „Képes vagyok rá” típusú ellenőrzést (CAPTCHA, ami egy egyszerűsített Turing teszt) is része lehet egy átgondolt beléptetési rendszernek.

Egy login token A kép forrása: Wikipédia

Egy ilyen felsorolás után természetes válasz lehetne, hogy használjunk mindenhol biometrikus azonosítást, hiszen egyedi, a felhasználó nem hagyja el, és attól sem kell tartani, hogy a felhasználó elfelejti.

Sajnálatos módon a biometrikus adatok éppen úgy lophatóak, mint a jelszavak, vagy login tokenek 1, azonban az ember az ujjlenyomatát nehezebben változtatja meg, mint a jelszavát, vagy vesz új tokent. Arról nem is beszélve, hogy nem mindenkinek van ujjlenyomata.

 

Foglaljuk össze a problémát

A jelszavak kiszivároghatnak, arról nem is beszélve, hogy olyan sok jelszót kell (kéne) fejben tartani, hogy a „használj mindenhol egyedi jelszót” szabály bizony gyakran sérül, vagy előkerül egy jelszavas füzet, ami a jelszavas védelem biztonságát megkérdőjelezi. Jelszókezelőt pedig csak a „fekete övesek” használnak.

Ha az azonosítást tárgyhoz kötjük (bankkártya, token, stb.), azt ellophatják.

A biometrikus azonosítás jogi és műszaki problémákon felül még azt a lehetőséget is felveti, hogy amennyiben egy másik helyen az adott személy adatait megszerezték (gondoljunk például a krimikből jól ismert vizespoharas trükkre az ujjlenyomat megszerzésére), azok kicserélése nem egyszerű.

Ha két eltérő azonosítási technikát használunk, a rendszerünk biztonságát nagy mértékben javítjuk.

Nagy biztonságú védelem például egy gyárkapu beléptető rendszerénél, ha a belépésre jogosultak kapnak egy kártyát PIN kóddal, amit belépéskor leolvasnak, ellenőrzik a PIN kódot, majd a beléptetést végző személy monitorján megjelenik a belépésre jogosult fényképe. Ha stimmel, kinyitja a beléptető kaput. (Bár aki látta a Mission: Impossible filmeket, az elgondolkodik.)

A Google Authenticator

A rendszer használata egyszerű.  Telepítjük a megfelelő programot a mobileszközünkre (a rendszergazda pedig a céges hálózat belépési pontjaira) és a megfelelő beállítás után az általa generált egyszer érvényes jelszót gépeljük be, amikor szükséges.

A Google hitelesítő a mobiltelefonon. Az itt megjelenő számsort kell használni a bejelentkezéshez

Itt a Google nem az üzemeltető vagy a tulajdonos, hanem a fejlesztő. A Google Authenticator a Time-based One-time Password Algorithm és a HMAC-based One-time Password Algorithm protokollokat valósítja meg.

A mi szempontunkból a rendszer működése egyszerű. A pontos idő alapján (emiatt a szerver és a mobil eszköz órájának is pontosnak kell lennie) a szerver is és a mobil eszköz is generál egy jelszót (alap esetben egy 6 jegyű számot) amit a felhasználónév és jelszó mellett be kell gépelnünk a bejelentkezéshez.

Látható, hogy az oldal a felhasználónév és jelszó mellett a Google Hitelesítő által mutatott számsort is meg kell adni.

Ez a módszer a jelszó ismerete mellett egy eszköz birtoklását is feltételezi, amely lehet céleszköz (token) vagy egy tetszőleges mobil eszköz megfelelő (és megfelelően beállított) programmal.

Ez azt jelenti, hogy hiába szerzik meg a jelszavunkat, nem tudnak vele bejelentkezni, hiszen a Google Authenticator által generált kódot nem ismerik. Hiába szerzik meg az Authenticatort, ha a jelszót nem ismerik (a kód pedig fél percig él).

A rendszer két részből áll. A szerver oldalon egy ellenőrző modulból és egy mobil alkalmazásból 2.

A hitelesítő mobilalkalmazásban minden olyan szerverhez külön kódot rendelhetünk, ahova a Google Authenticator segítségével be szeretnénk jelentkezni.

Ez a megoldás lehetőséget ad arra, hogy amennyiben a jelszó kompromittálódik (kiszivárog), legyen idő azt megváltoztatni (hiszen Google Authenticator még védelmet jelent), ha a Google Authenticator kompromittálódik (elvész a telefon, vagy a token), akkor a jelszavas védelem ad időt a korrekt eljárásra.

Notes:

  1. Olyan elektronikus eszköz (általában kulcstartó vagy bankkártya méretű), amely valamilyen szabály szerinti kódot állít elő a bejelentkezéshez. Tokennek hívjuk az eszközt, illetve néha az általa generált kódot.
  2. A bemutatást az ingyenes Google alkalmazással tesszük, de 2-3 € költséggel valóban jól használható verziót is vehetünk, amely sok szerver esetén is nagyon jól megállja a helyét, illetve 30 $ körüli áron már hardveres megoldás is elérhető.