Meervoudige verificatie in ASP.NET Core
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 iets te compromiteren wat je weeten iets dat je hebt of zijn.
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 weeten 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. De Razor Pages-sjabloon het Authenticator-app configureren-formulier geeft een registratiesleutel van 32 tekens weer om de tokenwaarde te initialiseren. 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 heeft. Echter, SMS als MFA is relatief gemakkelijk voor een aanvaller te omzeilen. 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 eenheid kunt u het bestaande Configure authenticator app formulier aanpassen om een QR-code met de registratiesleutel aan te bieden.