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

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, valamint azt, hogy hogyan implementálva van az Identitásban.

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érdés lehet egy alkalmazásból származó kód, egy hardverjogkivonat-érték vagy egy biometrikus vizsgálat. Ha második típusú hitelesítésre van szüksége, a biztonság javul.

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

  • Valami, 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 arcvizsgálat.

Az MFA hatékonyságának nagy része a különböző típusú hitelesítésből származik. Előfordulhat, hogy egy támadó több olyan dologhoz is hozzáférhet, amit tud, például a jelszavát és a gyerekkori becenevét, de nehezebb feltörni valamit, amit tud, és valamit, ami van vagy van.

Időalapú egyszeri jelszó

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

A regisztráció során a felhasználó beírja a kulcsot egy TOTP-kompatibilis alkalmazásba. 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ön és a kiszolgálón lévő órák közötti kisebb különbségeket.

Az MFA egy formájaként a rendszer általában egy TOTP-kódot kér a felhasználótól jelszóval kombinálva. A jelszó olyan, amit tud, és a kód bizonyítja, hogy van valamije. 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.

Megjegyzés

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

Összefoglalás

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