Autentisering
En virksomhet kan ha en flere identiteter knyttet til seg. En identitet kan ha flere attributter eller data knyttet til seg, og én eller flere delte hemmeligheter kan knytte virksomheten til den påståtte identiteten. Kontroll av hemmelighetene kalles autentisering.
System-spesifikk autentisering
Datakonsument, datatilbyder og forvalter av fellesløsning bør:
- La system-spesifikke nøkler til autentisering være førstevalg
- For å unngå universalnøkkel-problematikk bør system-spesifikke asymmetriske nøkler være foretrukket autentiseringsmekanisme. Bygg opp dokumentasjon og selvbetjeningsløsning slik at brukerne tar «riktig» valg.
- Unngå bruk av statiske hemmeligheter
- Statiske hemmeligheter blir ofte brukt som standard i feks Oauth2-produkter, men slike er utsatt for «slitasje», og bør ikke brukes der det er høye krav til sikkerhet. Et eksempel er Maskinporten, som ikke tillater statiske hemmeligheter.
- Rotere autentiseringsnøkler hyppig
- Det er god sikkerhet å bytte autentiseringsnøkkel ofte. Vurder å automatisere rotasjon av nøklene dine.
- Dette gjelder også fellesløsninger, som da må passe på å tilby historikk over «gamle» nøkler, slik at signaturer med utløpt nøkkel fremdeles kan valideres.
Tokens og virksomhet uten registreringsrett
Forvalter av fellesløsning bør:
- Holde tokens «tynne»
- Hvert attributt som en fellesløsning inkluderer i sine token, skaper en hard avhengighet mellom konsument, tilbyder og fellesløsning når de blir tatt i bruk til tilgangstyringsformål. Derfor bør antall attributter begrenses til et minimum, for å unngå at fellesløsningen blir til en monolitt uten endringsevne.
- Vær restriktiv med å akseptere alle «gode» forslag om nye attributter som enkelt-brukere ønsker inn i løsningen.
- «Tvinge» brukerne til å følge en semantikk
- Definer kodeverk og tydelige semantikk for identifisering av virksomhet uten registreringsrett. Unngå virkårlig «tagging» av systemer med egne metadata i fritekstfelt, da dette medfører vedlikeholdsutfordringer over tid.
- Inkluder tydelig i tokens hvilke registre/kodeverk identifikatorer tilhører så tolkning av innhold blir entydig.
Kontrollmekanismer
Datakonsument og datatilbyder må:
- Verifisere samhandlingspartene dine
- Sjekk i aktuelle register om avsenders innslag gyldig og fremdeles aktivt.
- Er avsender en kjent kilde for deg og hvor mye kan du stole du på påstanden om hvem avsender er?
- Ikke stol «blindt» på fellesløsningen.
- Sørge for at «sannhetskildene» dine har gode rutiner og god sikkerhet
- Skaff deg innsikt i hvordan sikkerhet og rutiner er ivaretatt i register og datakilder du benytter.
- Gi de ansvarlige for registeret eller datakilden tilbakemeldinger dersom du finner svakheter eller har behov som ikke dekkes i dag.
Følg standarder
Datakonsument og datatilbyder bør:
- Bruke etablerte standarder for samhandling
- Produkter for API management har en lei tendens til å medføre at konsumenter må gjøre produktspesifikk tilpassing på sin side, i verste fall bruke samme produkt som deg. Dette gjør det mindre attraktivt å samhandle med deg.
- Følge valideringsregler satt av protokollen som brukes
- Vi ser stadig at brukerne av fellesløsninger ikke implementerer tilstrekkelig validering av meldinger/tokens de mottar, noe som gjør dem sårbare for angrep.