Zo stel je Multi-Factor Authenticatie in voor Mendix Apps (3 stappen)
Multi-Factor Authenticatie, ook wel bekend onder de naam 2Factor Authentication(2FA), is een veelgebruikte manier om digitale gegevens veilig te stellen. In plaats van gebruik te maken van enkel een gebruikersnaam en wachtwoord wordt hierbij een tweede beveiligingslaag toegevoegd. Om deze laag toe te voegen aan een Mendix applicatie heeft E-mergo een App Store Module gemaakt. In dit blog leggen we kort uit hoe multi-factor authenticatie werkt en hoe je in 3 stappen de Module kunt gebruiken. Deze uitleg is geschikt voor zowel ontwikkelaars als voor de applicatiebeheerder.
Multi-Factor Authenticatie ontraadseld
Multi-factor authenticatie bestaat – zoals de naam al doet vermoeden – uit meerdere factoren. Bij deze authenticatiemethode wordt de identiteit van de gebruiker vastgesteld door middel van niet één maar twee beveiligingslagen. Een veel voorkomende toepassing van zo’n tweede laag van beveiliging is het moeten invoeren van een geheime code.
Zo’n code bestaat uit een geheime alfanumerieke sleutel èn de exacte tijd in Unix Epoch Units. Verschillende mathematische transformaties met deze twee onderdelen als parameters leiden tot de geheime 6-cijferige code die periodiek (meestal in periodes van 30 seconden) aan de gebruiker wordt getoond. Organisaties die gebruik maken van multi-factor authenticatie beschikken vaak over een applicatie waarin de codes gegenereerd worden. Dit kunnen onder andere Google Authenticator (mobiel), Microsoft Authenticator (mobiel) en WinAuth (Windows) zijn. De door ons ontwikkelde Module is dan ook geschikt voor gebruik met deze applicaties.
Wil je toch liever met single sign on(SSO) werken? Binnenkort schrijven wij een blog over single sign on in combinatie met Microsoft Azure. Blijf op de hoogte van nieuwe blogs door je in te schrijven voor onze maandelijkse nieuwsbrief.
E-mergo Mendix module
Om Multi-Factor Authenticatie te implementeren in een Mendix Applicatie, is door E-mergo een herbruikbare module geschreven. De functie van deze module is om vanuit de applicatie een geheime sleutel te genereren, welke toegevoegd kan worden aan één van de bovengenoemde authenticatie applicaties. Wanneer de eindgebruiker na inloggen met gebruikersnaam en wachtwoord ook zijn 6-cijferige code invoert, die overeenkomt met de code die in de Multi-Factor Authenticatie applicatie wordt getoond, krijgt hij pas toegang tot de applicatie.
Stap 1: De Ontwikkelaar
De module wordt geleverd met stap voor stap documentatie waarin alle facetten worden uitgelegd, van importeren tot eventuele problemen oplossen.
De ontwikkelaar dient twee constanten in te stellen:
- IssuerMFA – hier moet de naam van de applicatie worden ingevuld. Deze naam wordt uiteindelijk getoond in de Multi-Factor Authenticatie applicatie van de eindgebruiker
- DaysBeforExpiry – het is mogelijk om niet altijd, maar slechts na een bepaalde tijd, Multi-Factor Authenticatie verplicht te maken. Het aantal dagen dat de gebruiker kan inloggen zonder Multi-Factor Authenticatie wordt met deze constante bepaald. Deze constante wordt veelal ingesteld op 30 dagen.
Stap 2: De Applicatiebeheerder
Wanneer de ontwikkelaar de documentatie heeft doorlopen, kan de applicatiebeheerder met een druk op de knop een geheime sleutel genereren. Bijgaand genereert de applicatie ook automatisch een QR-code. Deze sleutel en QR-code kunnen per mail (of door middel van een versleutelde dienst) worden gedeeld met de eindgebruiker.
Wanneer de eindgebruiker deze code scant, wordt de geheime sleutel (onder de noemen van hetgeen dat is ingevuld bij de constante IssuerMFA) toegevoegd aan zijn Multi-Factor Authenticatie applicatie.
Stap 3: De Eindgebruiker
Ter voorbereiding op het inloggen met Multi-Factor Authenticatie, dient de eindgebruiker eerst één van de applicaties te downloaden die eerder in dit blog zijn genoemd. Daarna kan hij de QR-code scannen of de geheime sleutel zelf toevoegen aan deze applicatie.
Nadat de eindgebruiker met zijn gebruikersnaam en wachtwoord heeft ingelogd, wordt een scherm getoond om de 6-cijferige code in te voeren. Om toegang te krijgen tot de applicatie, moet de geheime code zoals weergeven in de Multi-Factor Authenticatie applicatie worden ingevoerd. Wanneer dit succesvol is gedaan, zal er tot na het verlopen van de DaysBeforeExpiry constante niet meer om extra authenticatie worden gevraagd.
Module gebruiken?
Wil jij ook aan de slag met multi-factor authentication? Download dan gratis de door ons ontwikkelde mendix module via de knop hieronder. Heb je hulp nodig bij de implementatie van de module of andere mendix-werkzaamheden? Neem dan contact met ons op. Wij hebben op dit moment nog enkele Mendix developers beschikbaar!
Dit blog is geschreven door Steve Jonk
Mendix Developer bij E-mergo