Többtényezős hitelesítés a ASP.NET Core-ban

Befejeződött

Az előző leckében testre szabta és kiterjesztette ASP.NET Core Identity-t. Ebben a leckében megismerheti a többtényezős hitelesítést és az identitásban való implementálását.

Többtényezős hitelesítés

A többtényezős hitelesítés (MFA) egy olyan folyamat, amelyben a rendszer további azonosítási formákat kér a felhasználótól bejelentkezéskor. Ez a kérés lehet egy alkalmazásból származó kód, hardverjogkivonat-érték vagy biometrikus vizsgálat. Ha második típusú hitelesítésre van szükség, a biztonság tovább javul.

A hitelesítéshez szükséges igazolás három típusba van besorolva:

  • Valamit, amit tud, például egy jelszót vagy egy biztonsági kérdést.
  • Valami, ami van, például egy hardveres jogkivonat vagy egy alkalmazás a telefonján.
  • Valami olyan, mint egy ujjlenyomat vagy egy arcszkennelés.

Az MFA hatékonyságának nagy része különböző típusú hitelesítésből származik. A támadók több olyan dologhoz is hozzáférhetnek, mint a jelszavad és a gyerekkori beceneved, de nehezebb veszélybe sodorni valamit, amit tudsz, és valamit, ami van vagy van.

Időalapú egyszeri jelszó

Az időalapú egyszeri jelszó (TOTP) egy jól ismert algoritmus, amely 30 másodperc után lejáró egyedi numerikus kódokat hoz létre. Az algoritmus két bemenetet, az aktuális időt és egy egyedi kulcsot vesz fel.

Regisztrációkor a felhasználó egy TOTP-kompatibilis alkalmazásba írja be a kulcsot. Ilyen alkalmazások például a következők:

  • Microsoft Authenticator
  • Google Authenticator
  • LastPass Authenticator

A kulcs alkalmazásba való bevitele QR-kóddal egyszerűsíthető. Az alkalmazás a kulcsot és az aktuális időt használja az egyedi kódok 30 másodpercenkénti létrehozásához és megjelenítéséhez. Ha az alkalmazás által létrehozott kód megegyezik a kiszolgáló által elvárt kóddal, a hitelesítés sikeres lesz. Az algoritmus úgy lett kialakítva, hogy megbocsátsa az eszköz és a kiszolgáló órajelei közötti kisebb különbségeket.

Az MFA egyik formájaként a felhasználó általában egy TOTP-kódot kér jelszóval kombinálva. A jelszó olyan , amit tud, és a kód bizonyítja , hogy van. Ennek az az oka, hogy a kód létrehozásához csak az alkalmazásban tárolt kulccsal lehet létrehozni.

Alapértelmezés szerint az identitást használó ASP.NET Core-projektsablonok többtényezős hitelesítést támogatnak a TOTP-hitelesítő alkalmazásokhoz. A Razor Pages-sablon Hitelesítő alkalmazás konfigurálása űrlapja egy 32 karakteres regisztrációs kulcsot jelenít meg a jogkivonat értékének kiosztásához. A sablon azonban alapértelmezés szerint nem hoz létre QR-kódot.

Feljegyzés

Az SMS-üzenetek által küldött kódok a TOTP gyakori alternatívát jelentenek. Végtére is, a telefon fogadó SMS-üzenetet van valami van. Azonban az SMS MFA-ként viszonylag könnyű egy támadó számára vereséget szenvedni. Következésképpen az SMS-kódok már nem tekinthetők az MFA biztonságos formájának.

Összegzés

Ebben a leckében megtanulta, hogy mi a többtényezős hitelesítés, és hogyan implementálva van alapértelmezés szerint ASP.NET Core Identity-ben. A következő leckében testre szabhatja a hitelesítő alkalmazás meglévő űrlapját, hogy a regisztrációs kulcsot tartalmazó QR-kódot adjon meg.