Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents

Introduktion

Formål med dokumentet

Nærværende dokument henvender sig til nuværende og kommende brugere af STS (Secure Token Service).

Formålet med dokumentet er at give en forståelse af STS som produkt:

  • Hvad er STS?
  • Hvilke opgaver løser STS?
  • Hvordan kommer man som anvender i gang med at bruge STS?

Derudover giver dokumentet et overblik over de af STS understøttede brugsscenarier med udgangspunkt i konkrete eksempler og med links til mere uddybende dokumentation af disse.

Læsevejledning og forudsætninger

Dokumentet henvender sig primært til IT arkitekter, udviklere og forretningskonsulenter med fokus på sikkerhedsinfrastrukturer og applikationssikkerhed.

Det forudsættes at læseren har en forståelse for grundlæggende koncepter og begreber indenfor applikationssikkerhed herunder certifikater (OCES).

Dokumentet vil løbende linke til ekstern dokumentation, hvor dette er relevant.

Hvad er STS?

STS er i dette dokument synonymt med en konkret service. Men STS kan også opfattes som et koncept: I denne sammenhæng står STS for Secure Token Server. Dette er et kendt begreb indenfor IT sikkerhedsarkitekturer og beskriver en service, hvis formål er udstedelse, validering og fornyelse/omveksling af sikkerhedsbilletter.

Ideen med en Secure Token Server er, at der opnåes en afkobling mellem serviceanvender og serviceudbyder som illustreret i figuren nedenfor.

Gliffy Diagram
macroId5f28e316-c7ac-41eb-b276-2c6200f5404a
displayNameSTS koncept
nameSTS koncept
pagePin3

En serviceudbyder behøver således ikke at forholde sig til eller overhovedet at kende sine konkrete anvendere. Det, at en serviceanvender er i besiddelse af en sikkerhedsbillet signeret af en Secure Token Server, som serviceudbyderen stoler på (trust) er nok til, at serviceudbyderen kan være sikker på, at det er ok at svare på et servicekald.

STS på National Service Platform (NSP)

Der findes i dag en række forretningsservice på NSP. Disse services dækker forskellige formål - fra datadeling via Dokumentdelingsservice (DDS) til verifikation af behandlingsrelation via Behandlingsrelationsservice (BRS).

Selvom formålene for NSP services er forskellige, så har de en række fællestræk f.eks. i forhold til autentificering. Det betyder dog ikke at alle NSP services skal validere alle anvenderes certifikater og tilhørende information. Dette vil være et stort ansvar at fordele på så mange komponenter. Derfor er der en fælles komponent, som kan udstede adgangsgivende billetter, som kun kræver simpel verifikation. På NSP hedder servicen Security Token Service (STS).

Der er i skrivende stund to aktuelle sikkerhedsprotokoller i spil på NSP:

  • Den gode webservice (DGWS): Adgang for systembrugere og adgang for medarbejdere (både med og uden autorsation)
  • IDWS: Adgang for borgere (evt. med fuldmagt eller for forælder/værge)

I begge tilfælde skal der i kaldet til den konkrete NSP service forevises en sikkerhedsbillet udstedt af STS.

Anvendelse af STS på NSP

Inden en anvender kan kalde en NSP service skal denne dermed integrere med STS og identificere sig overfor denne med henblik på at få udstedt en passende sikkerhedsbillet. Anvenderes autentifikation overfor STS er baseret på OCES-certifikater.

Adgang til STS

Når en anvender skal i gang med at bruge STS på NSP skal følgende være på plads:

  • TODO


...

Introduktion

Formål

Denne guide har som formål at give et overblik over STS.

...

ServiceSikkerhedsniveauBeskrivelse
Signering
/sts/services/NewSecurityTokenServiceNiveau 3-4

Udstedelse af STS-signeret id-kort.

/sts/services/SecurityTokenServiceNiveau 3-4

Legacy udgave af ovennævnte service (uden erstatning af NameId). Benyt NewSecurityTokenService hvis muligt

Medarbejder-omveksling
/sts/services/Sosi2OIOSamlNiveau 4

Ombytter STS-signeret id-kort til OIOSaml-token rettet mod et specifikt audience, f.eks. sundhed.dk. Bemærk at dette id-kort skal være udstedt af /sts/services/NewSecurityTokenService

/sts/services/OIOSaml2SosiNiveau 5

Ombytter OIOSaml (nem-login) token til signeret id-kort. Token skal være signeret af troværdig tredjepart
(nemlogin)

/sts/services/JWT2OIOSamlNiveau 5Ombytter JSON Web token til OIOSaml-token rettet mod et specifikt audience, f.eks. forløbsplaner.dk
Borger-omveksling
/sts/services/Bst2IdwsNiveau 5

Ombytter OIOSaml bootstrap token til signeret identitytoken rettet mod et givet audience, f.eks. FMK. Token skal være signeret af troværdig tredjepart(nem-login)

/sts/services/JWT2IdwsNiveau 5

Ombytter JSON Web token til signeret identity-token rettet mod et givet audience, f.eks. FMK. Token skal være signeret af troværdig tredjepart (pt. en OID connector)

Læsevejledning og forudsætninger

En typisk anvender af STS, som kan drage nytte af dette dokument er karakteriseret ved eksempelvis at være leverandør af et lægepraksissystem eller leverandør af et fagsystem implementeret på et hospital, f.eks. et laboratoriesystem eller et medicineringssystem.

...

Statens_Serum_Institut_VOCES.jksCVR:46837428-UID:27910135

Medarbejdercertifikater

KeystorefilCVR-RIDCPRAutorisationsnummerUddannelseskode
Brian_Larsen_Laege.jksCVR:46837428-RID:114754151205691235NS3657170
Brian_Moeller_Laege.jksCVR:46837428-RID:567716681103811325

Karl_Hoffmann_Svendsen_Laege.jksCVR:46837428-RID:342085990102732379NS3627170
Sonja_Bach_Laege.jksCVR:46837428-RID:837010090309691444NS3637170
Sonja_Bach_Laege.jksCVR:46837428-RID:837010090309691444NS3645166

Øvrige certifikater

KeystorefilBeskrivelse
audience-certificate.jksIndeholder privat nøgle svarende til det audience der er konfigureret med navnet //sundhed.dk - og kan derfor anvendes til dekryptering
test-trusted-IdP.jksIndeholder privat nøgle for et certifikat som STS'en stoler på. Dermed er STS i stand til at veksle tokens signeret med denne private nøgle.