WAYF understøtter MFA og alt hvad der ligner

WAYF gør det muligt for it-brugerne i en organisation at tilgå tjenester uden for organisationen med det login de bruger til organisationens interne systemer. Det giver en række fordele for brugernes organisation, brugerne selv og udbyderne af de eksterne tjenester.

Det fungerer sådan at organisationen sender den eksterne tjeneste en mængde bekræftede oplysninger om brugeren efter hun har gennemført login'et. Ud fra dém vurderer tjenesten så hvilken adgang brugeren skal have – den kan fx se på om hun er studerende eller ansat, hvor gammel hun er, eller om hun har et bestemt bruger-ID. Den slags attributter er velkendte adgangskriterier ved login­beskyttede online­tjenester.

Et supplerende kriterium på fremmarch er hvor sikkert det er at det er den rigtige person der forsøger at få adgang: Hvad gjorde organisationen for at sikre sig at login'et i sin tid blev udleveret til den tiltænkte person – og hvilke af de loginmidler organisationen gav hende (fx password, telefon-app etc.), brugte hun i det netop gennemførte login? Det første afgør hvor sikker tjenesteudbyderen kan være på at login'et fra starten af var i hænderne på den rigtige person, det andet hvor sikker han kan være på det stadig er det.

En del tjenester kræver fx at brugeren logger ind hos sin organisation med to “faktorer” – typisk med noget brugeren ved (et password), og noget hun har (fx sin telefon). Nogle tjenester kan have mere detaljerede krav til “faktorerne”, fx at en af dem er en bestemt slags hardwarenøgle. Den slags krav gør det sværere at stjæle login'et og giver derfor tjenesteudbyderne den sikkerhed de nu har vurderet nødvendig, for at brugeren som søger adgang, er samme person som organisationen i sin tid gav login'et. Men tjenesteudbyderne kan fx også kræve at organisationen i et bestemt omfang tjekkede brugerens pas eller dåbsattest før login'et blev udleveret til hende. Og det giver dem den vished de finder fornøden, for at brugeren der banker på, var den rigtige person fra starten af.

Den slags oplysninger om “login­kvalitet” efterspørges mere og mere af tjenesteudbyderne – de vil, afhængigt af hvad de giver adgang til, være sikre på hvem der logger ind. Desværre er der i dag ikke udbredt nogen dækkende standard for hvordan man beskriver og betegner kvaliteten af et login – hvert miljø eller produkt har til dels sine egne definitioner og egne betegnelser for dem. Men den tekniske standard for selve udvekslingen af den slags oplysninger er allerede på plads – og WAYF implementerer den fuldt ud. Med andre ord: Hvis en tjenesteudbyder og en brugerorganisation også implementerer standarden og dertil “blot” er enige indbyrdes om betegnelsen for fx at brugeren er logget ind med flere faktorer (“MFA”), så forhindrer WAYF dem ikke i at kommunikere om sagen – men faciliterer derimod at de gør det. En tjeneste kan fx bede brugerorganisationen om at kræve MFA hos brugeren der vil logge ind; og organisationen kan så bagefter oplyse tjenesten om brugeren rent faktisk loggede ind med MFA – med WAYF i midten. På den måde understøtter WAYF MFA – og alle andre login­metoder og identitets­sikrings­niveauer.

Teknisk har tjenesteudbyderen mulighed for at angive den krævede login­kvalitet i elementet RequestedAuthnContext enten i tjenestens metadata hos WAYF eller i den login­forespørgsel tjenesten sender til brugerens organisation når hun forsøger at logge ind. I de login­svar tjenesten får, kan brugerorganisationerne tilsvarende angive i elementet AuthnContext eller i attributten eduPersonAssurance hvilken kvalitet det gennemførte login har. Eksempelvis vil værdien http://schemas.microsoft.com/claims/multipleauthn i RequestedAuthnContext udløse Microsofts “MFA” når login­forespørgslen sendes til brugerorganisationer som bruger ADFS eller AzureAD som loginsoftware. Et andet eksempel er værdien https://data.gov.dk/concept/core/nsis/loa/High, som i det nye NemLog-in angiver (groft set) at brugeren skal have fået opgraderet sit MitID hos Borgerservice og kun kan bruge sit login med en særlig nøgle på sit device. I begge eksempler vil den opnåede login­kvalitet ideelt fremgå som en værdi af attributten eduPersonAssurance – som den modtagende tjeneste så kan inspicere og bruge i sin adgangsbeslutning helt på linje med login­svarets øvrige attributter. Tjenesten bør generelt tjekke login­svarets kvalitet, for det er muligt at brugerorganisationens svar har en anden kvalitet end den som tjenesten bad om eller i øvrigt kræver.

Det er bare upraktisk at begreber som MFA ikke har nogen standardiseret betegnelse på tværs af tjenester og brugerorganisationer. Det betyder jo at tjenesten skal kende den enkelte brugerorganisations “navn” for fx MFA for at kunne bede den om det. Men her har WAYF som trædesten mellem tjenester og organisationers loginsystemer et potentiale for at skabe ekstra værdi – nemlig ved fra samtlige tjenester at tage imod én og samme betegnelse for MFA og så “oversætte” dén til hvad brugerens organisation nu kalder begrebet. En oplagt kandidat til sådan et standardiseret “navn” for MFA er måske det som REFEDS bruger for sin definition af begrebet – som formentlig svarer til de flestes forventning om hvad “MFA” indebærer. Så vil tjenesterne altså kunne bede enhver brugerorganisation i WAYF om MFA blot ved at angive værdien https://refeds.org/profile/mfa i RequestedAuthnContext. Samtidig ville organisationerne også understøtte den REFEDS-standard uden at skulle ændre i deres setup – som i flere tilfælde ikke engang kan ændres på det her punkt. WAYFs “oversættelse” af betegnelser for login­kvalitet er dog ikke implementeret endnu – primært fordi det er forholdsvis komplekst at behandle den relevante information i brugerorganisationernes login­svar.

Som antydet er der altså allerede en del definitioner og betegnelser i omløb for forskellige login­kvaliteter. Men af dem er det kun en delmængde tjenesteudbyderne kan anmode brugerorganisationerne om i RequestedAuthnContext – og mest betegnelser for hvordan selve login'et sker (fx med MFA eller password), i mindre grad betegnelser for hvordan brugeren blev registreret hos organisationen. De øvrige værdier – typisk med indhold som “brugeren viste sit pas ved oprettelsen” – fremsender brugerorganisationerne “uopfordret” i attributten eduPersonAssurance. Længe har det faktisk været obligatorisk for WAYFs brugerorganisationer at angive login'ets kvalitet med værdien 1, 2 eller 3 i eduPersonAssurance – efter den gamle standard NIST 800-63-2. Men efterhånden er der kommet flere frameworks til, med flere definitioner og værdier. Den nye NIST-800-63-3 definerer ikke værdier til brug på det tekniske niveau; men det gør fx danske NSIS, som bruges ifm. det nye NemLog-in, og den nært beslægtede EU-standard eIDAS. De mest gængse værdier i login­svar – hvor urn: … :PasswordProtectedTransport nok er topscoreren – stammer fra et tidligt forsøg på at definere et sæt login­kvaliteter i miljøet som har udviklet selve login­teknologien. Af særlig og voksende relevans for tjenesteudbydere og brugerorganisationer i WAYF er REFEDS Assurance Framework, som er tilpasset internationalt erfarede behov i forsknings- og uddannelsessektoren.

Af de login­kvaliteter tjenesterne typisk kan spørge brugerorganisationerne om, er MFA nok den populæreste – fordi det opfattes som langt sværere at stjæle et MFA-login end et login med fx password alene. Men det er det ikke altid. Hvis organisationen ved oprettelsen af brugeren kun udleverer password til hende og tillader at hun selv kan registrere andenfaktoren på et senere tidspunkt på grundlag af password'et – så er der risiko for at en tyv som stjæler password'et, kan lægge andenfaktoren på og derved få adgang til MFA-beskyttede ressourcer. Den risiko vokser jo længere tid organisationen tillader der går mellem brugeroprettelsen og selvregistreringen af andenfaktoren. Og problemet er ikke kun teoretisk – der er sket kompromittering af større it-landskaber i Danmark med baggrund i netop den svaghed i organisationens forvaltning af login­midler. Faktisk svarer REFEDS' nuværende definition af MFA til denne mindre sikre udgave af begrebet – så betegnelsen https://refeds.org/profile/mfa lover ikke den modtagende tjenesteudbyder mere end at login'et statistisk er mere sikkert end et login kun med password. Det kunne derfor være relevant ved siden af “REFEDS-MFA” at indføre og kommunikere med en særlig betegnelse for “sikkert MFA” – MFA uden selvregistreret andenfaktor – hvis WAYFs tjenesteudbydere finder den kvalitetsforskel relevant i deres risikovurderinger. Og tilsvarende med andre login­kvaliteter som tjenesteudbyderne måtte have behov for: WAYF ville kunne definere betegnelser for dem og som beskrevet ovenfor kunne “oversætte” dem til hvad de svarer til i hver brugerorganisations login­system. NemLog-in er et eksempel på en “brugerorganisation” som kan levere det “sikre MFA”.

Men som vist understøtter WAYF altså allerede MFA – og alt hvad der ligner. I nøjagtig samme omfang som de tilsluttede tjenester og brugerorganisationer gør: Det står dem frit for at kommunikere om login­kvalitet gennem WAYF, efter den etablerede tekniske standard.