Meervoudige verificatie in ASP.NET Core

Voltooid

In de vorige les hebt u ASP.NET Core Identity aangepast en uitgebreid. In deze les leert u meer over meervoudige verificatie en hoe deze wordt geïmplementeerd in Identiteit.

Meervoudige verificatie

Meervoudige verificatie (MFA) is een proces waarbij een gebruiker wordt gevraagd om aanvullende vormen van identificatie tijdens het aanmelden. Deze prompt kan betrekking hebben op een code van een app, een hardwaretokenwaarde of een biometrische scan. Wanneer u een tweede verificatietype nodig hebt, wordt de beveiliging verbeterd.

Het vereiste bewijs voor verificatie is onderverdeeld in drie typen:

  • Iets wat u weet, zoals een wachtwoord of beveiligingsvraag.
  • Iets dat u hebt, zoals een hardwaretoken of een app op uw telefoon.
  • Iets wat u bent, zoals een vingerafdruk of gezichtsscan.

Veel van de effectiviteit van MFA komt van het gebruik van verschillende typen verificatie. Een kwaadwillende persoon kan mogelijk toegang krijgen tot meerdere dingen die u kent, zoals uw wachtwoord en de bijnaam van uw jeugd. Het is echter moeilijker om zowel iets dat je weet als iets dat je kent of iets dat je hebt, te compromitteerd.

Eenmalig wachtwoord op basis van tijd

Een eenmalig wachtwoord (TOTP) op basis van tijd is een bekend algoritme dat unieke numerieke codes genereert die na 30 seconden verlopen. Het algoritme heeft twee invoerwaarden, de huidige tijd en een unieke sleutel.

De gebruiker voert de sleutel in een TOTP-compatibele app in bij het registreren. Dergelijke apps zijn onder andere:

  • Microsoft Authenticator.
  • Google Authenticator.
  • Vele anderen!

Het invoeren van de sleutel in de app kan worden gestroomlijnd met een QR-code. De app gebruikt de sleutel en de huidige tijd om elke 30 seconden unieke codes te genereren en weer te geven. Als de code die de app genereert overeenkomt met wat de server verwacht, slaagt de verificatie. Het algoritme is ontworpen om kleine verschillen tussen de klokken op uw apparaat en de server te vergeven.

Als een vorm van MFA wordt de gebruiker doorgaans gevraagd om een TOTP-code in combinatie met een wachtwoord. Het wachtwoord is iets wat u weet en de code is bewijs van iets dat u hebt. Dit is de enige manier om de code te genereren met de sleutel die is opgeslagen in de app.

Standaard bevatten de ASP.NET Core-projectsjablonen die gebruikmaken van Identiteit ondersteuning voor meervoudige verificatie voor TOTP Authenticator-apps. In het formulier Authenticator-app configureren van de Razor Pages-sjabloon wordt een registratiesleutel van 32 tekens weergegeven om de tokenwaarde te seeden. De sjabloon genereert echter niet standaard een QR-code.

Notitie

Codes die door sms-sms-berichten worden verzonden, zijn een veelgebruikt alternatief voor TOTP. De telefoon die het sms-bericht ontvangt, is immers iets wat u hebt. Sms omdat MFA echter relatief eenvoudig is voor een aanvaller om te verslaan. Sms-codes worden daarom niet langer beschouwd als een veilige vorm van MFA.

Samenvatting

In deze les hebt u geleerd wat meervoudige verificatie is en hoe deze standaard wordt geïmplementeerd in ASP.NET Core Identity. In de volgende les kunt u het bestaande formulier Authenticator-app configureren aanpassen om een QR-code met de registratiesleutel op te geven.