KIM Two Factor Authenticatie (2FA)

Gemaakt door Mark Duijkers, Gewijzigd op Vr, 23 Sep, 2022 om 1:46 PM op Mark Duijkers



Inleiding

KIM ondersteunt Two Factor authenticatie (2FA) bij het gebruik van Forms authenticatie sinds versie 8.0.63, om de veiligheid bij het inloggen in KIM te vergroten. Standaard staat 2FA aan, maar kan uitgezet worden (maar dit wordt niet aangeraden).

Two Factor Authentication

Als Two Factor Authentication uit staat, dan is de werking gelijk aan hoe het voorheen werkte.

Als Two Factor Authentication echter aan staat (default), dan kunnen er na inlog (UserId + Password) 2 dingen gebeuren:

  • Koppelen aan authenticator
  • Validatie Two Factor code

Koppelen aan authenticator

Als een gebruiker nog noit met Two Factor Authenticatie is ingelogd in KIM, dan dient deze eerst te worden gekoppeld. Hiertoe wordt, na het invoeren van de juiste inloggegevens een QR-code getoond en een veld om de Two Factor Code in te vullen.

  • De QR-code kan gescant worden met een willekeurige authenticator app op de mobiele telefoon.
  • Na het scannen wordt deze inlog voor deze KIM instantie toegevoegd aan de lijst in de authenticator.
  • De code die daarbij verschijnt (en elke 30 of 60 seconden vernieuwd wordt) dient te worden ingevuld op de inlogpagina.
  • Als de code correct wordt bevonden, dan is de gebruiker gekoppeld, en meteen ingelogd.

Validatie Two Factor code

Als een gebruiker eenmaal is gekoppeld aan een authenticator wordt na het inloggen alleen gevraagd om de Two Factor code:

  • Vul de Two Factor code zoals deze in de authenticator verschijnt (en elke 30 of 60 seconden vernieuwd wordt) in.
  • Als de code correct wordt bevonden, dan wordt de gebruiker ingelogd.

Instellingen

In het bestand KimProject.config zijn een aantal instellingen die te maken hebben met Two Factor Authentication:

  • Two Factor Instellingen
  • Procedures

Two Factor Instellingen

Er is een aparte sectie TwoFactorAuthentication aanwezig in het KimProject.config-bestand, waarmee 2FA kan worden in- of uitgeschakeld en kan worden ingesteld. Standaard staat hier:

<twoFactor enabled="true" algorithm="SHA1" period="30" issuer="-Enter KIM instance issuer in KimProject.config-" />

! LET OP !
Stel bij een nieuwe KIM instantie, of bij het voor het eerst gebruiken van Two Factor Authenticatie de issuer goed in op een unieke naam voor deze KIM instantie. Deze naam wordt getoond in de authenticator samen met de inlognaam en zorgt ervoor dat de gebruiker goed ziet welke code voor welke website bedoeld is.

! LET OP !
Niet alle authenticators ondersteunen alle algoritmes!
Zo ondersteunen zowel de Google Authenticator als de Microsoft Authenticator alleen SHA1.
Authenticators die wel alles ondersteunen zijn o.a. Sophos Authenticator en Oracle Authenticator.

De attributen zijn:

AttribuutType: waarde(s)Omschrijving
enabledbool: true of falseGeeft aan of Two Factor Authenticatie aan of uit staat.
algorithmenum: SHA1SHA256 of SHA512Bepaalt het beveiligings-algoritme dat wordt gebruikt.
periodint: 30 of 60Bepaalt het aantal minuten waarna elke code wordt vernieuwd.
issuerstringEen unieke naam voor de KIM instantie. Wordt gebruikt om onderscheid te maken tussen dezelfde inlognamen bij verschillende applicaties.

Procedures

Er zijn 3 stored procedures die met Two Factor authenticatie te maken hebben, en kunnen in de procedures-tag van KimProject.config ingesteld worden. Het is in de meeste gevallen niet nodig deze aan te passen, tenzij maatwerk in deze stored procedures wordt doorgevoerd. Standaard staat hier:

<procedures>
...
<twofactorsetsecretforuser>[kim].[TwoFactor.SetSecretForUser]</twofactorsetsecretforuser>
<twofactorenableforuser>[kim].[TwoFactor.EnableForUser]</twofactorenableforuser>
<twofactorgetsecretforuser>[kim].[TwoFactor.GetSecretForUser]</twofactorgetsecretforuser>
</procedures>

Overig

Database

In de tabel [kim].[Users] zijn 2 velden toegevoegd die regelen of de gebruiker al is gekoppeld met een authenticator en welke Two Factor Secret daarbij geldt. Deze Secret is alleen bekend in KIM en in de authenticator en wordt gebruikt om elke 30 of 60 seconden een unieke code te genereren.

! Let op !
Deze velden worden NIET gebruikt indien Two Factor Authenticatie is uitgeschakeld (zie Two Factor Instellingen).

De velden in [kim].[Users] zijn:

VeldOmschrijving
TwoFactorSecretDe Secret die hoort bij de betreffende gebruiker en wordt gebruikt om de code, zoals die door de authenticator wordt getoond, te valideren.
TwoFactorEnabledZolang deze op False (0) staat, is de authenticator nog niet gekoppeld voor de betreffende gebruiker en kan niet inloggen voordat het koppelen afgerond is.

Opnieuw gebruiker koppelen

Als een gebruiker eenmaal is gekoppeld aan een authenticator is er (nog) geen manier binnen KIM om dit ongedaan te maken of opnieuw in te stellen.
Wel zou dit handmatig in de database kunnen worden gedaan door het veld TwoFactorEnabled voor de betreffende gebruiker op false (0) te zetten.

Inloggen met KIM op MijnOmgeving

Vanuit de MijnOmgeving kan er worden ingelogd met een KIM-account. Als Two Factor authenticatie uit staat, heb je daarvoor alleen een username en password nodig.

Als Two Factor authenticatie op de betreffende KIM-instantie aan staat, kunnen de volgende situaties zich voordoen na het succesvol invullen van je gebruikersnaam en wachtwoord:

  • Two Factor is nog niet gekoppeld met een authenticator voor de gebruiker die probeert in te loggen. Er wordt hiervan melding gemaakt en (optioneel: instelbaar bij de KIM authentication method in TF settings) wordt er een link getoond naar de inlogpagina van KIM om daar het account alsnog te koppelen aan een authenticator.
    Het koppelen kan niet in MijnOmgeving gedaan worden door de gebruiker. Dit is gedaan omwille van extra veiligheid: de MijnOmgeving-site staat vaak publiek beschikbaar, terwijl de KIM-instantie meer prive staat.
  • Two Factor is wel gekoppeld. In dat geval krijgt de gebruiker een veld te zien waar de Two Factor code, zoals die op de authenticator verschijnt, moet invullen. Deze wordt gecontroleerd na een druk op de knop en als de code goed is wordt men ingelogd in MO. Zo niet, dan wordt er een foutmelding getoond.

Was dit artikel nuttig?

Dat is fantastisch!

Hartelijk dank voor uw beoordeling

Sorry dat we u niet konden helpen

Hartelijk dank voor uw beoordeling

Laat ons weten hoe we dit artikel kunnen verbeteren!

Selecteer tenminste een van de redenen
CAPTCHA-verificatie is vereist.

Feedback verzonden

We stellen uw moeite op prijs en zullen proberen het artikel te verbeteren