Page History
...
- Navn
- Officielle id'er (f.eks. cprnummer, autorisationsid)
- Organisatoriske tilhørsfohold
- Roller
- Fuldmagtsoplysninger
STS på National Service Platform (NSP)
...
- Den gode webservice (DGWS): Adgang Sikkerhedsprotokol, der muliggør adgang for systembrugere og adgang for medarbejdere (både med og uden sundhedsfaglig autorsation)
- IDWS: Adgang Sikkerhedsprotokol, der muliggør 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 NSPs STS. STS arbejder med følgende typer af sikkerhedsbillletter:
- SOSI Idkort (medarbejder og systemadgang til DGWS beskyttede services)
- OIO IDWS billet (borgerbilletter til f.eks. adgang til OIO IDWS beskyttede services)
- OIO SAML billet (medarbejderbillet eller borgerbillet feks. til sikker sessionsoverdragelse (SSO)/sikker browseropstart til løsningerne sundhed.dk eller forløbsplaner.dk)
...
- DGWS (blå): Udstedelse af SOSI Idkort på baggrund af MOCES/VOCES/FOCES
- Medarbejderomveksling (grøn): Veksling af medarbejderbilletter til/fra OIO SAML billetter henholdsvis SOSI Idkort
- Borgeromveksling (gul): Veksling af borgerbilletter til OIO IDWS henholdsvis eller OIO SAML billetter
| Gliffy Diagram | ||||||||
|---|---|---|---|---|---|---|---|---|
|
De viste services i figuren udenfor er uddybet i tabellen nedenfor.
| Service | Sikkerhedsniveau | Beskrivelse |
|---|---|---|
| DGWS | ||
| /sts/services/NewSecurityTokenService | Niveau 3-4 | Udstedelse af SOSI Idkort. |
| /sts/services/SecurityTokenService | Niveau 3-4 | Legacy udgave af ovennævnte service (uden erstatning af NameId). Benyt NewSecurityTokenService hvis muligt |
| Medarbejderomveksling | ||
| /sts/services/Sosi2OIOSaml | Niveau 4 | Omveksler SOSI Idkort til OIO Saml sikkerhedsbillet rettet mod et specifikt audience, f.eks. sundhed.dk. Bemærk, at det SOSI Idkort, der veksles, skal være udstedt af /sts/services/NewSecurityTokenService |
| /sts/services/OIOSaml2Sosi | Niveau 5 | Omveksler OIO Saml sikkerhedsbillet til SOSI Idkort. Bemærk, at den OIO Saml sikkerhedsbillet, der veksles, skal være signeret af troværdig tredjepart (nemlogini praksis NemLogin) |
| Borgeromveksling | ||
| /sts/services/Bst2Idws | Niveau 5 | Omveksler OIO Saml bootstrap token til OIO IDWS sikkerhedsbillet rettet mod et givet audience, f.eks. FMK, Dokumentdelingsservice eller MinSpærring. Bemærk, at bootstrap token skal være signeret af troværdig tredjepart (nem-loginNemLogin) |
| /sts/services/JWT2Idws | Niveau 5 | Ombytter JSON Web token (JWT) til OIO IDWS sikkerhedsbillet rettet mod et givet audience, f.eks. FMK, Dokumentdelingsservice eller MinSpærring. Bemærk, at JWT tokenet skal være signeret af troværdig tredjepart (pt. en OID connector) |
| /sts/services/JWT2OIOSaml | Niveau 5 | Omveksler JSON Web token (JWT) til OIO Saml sikkerhedsbillet rettet mod et specifikt audience, f.eks. forløbsplaner.dk Bemærk, at JWT tokenet skal være signeret af troværdig tredjepart (pt. en OID connector) |
...
Anvendere af STS skal sættes op og tilføjes til STS konfiguration, inden de kan begynde at anvende udstedelses- og omvekslingsservices. Anvendere identificeres vha CVR nummer, som er inkluderet i OCES certifikater. Når en anvender autentificerer sig overfor STS vha et OCES certifikat, så konsulterer STS sin konfiguration og tjekker, om det pågældende CVR nummer er konfigureret, og om det f.eks. har adgang til det specificerede intended audience. De specifikke valideringer og regler gennemgåes i afsnitene nedenfor vedr DGWS, medarbejderomvekslinger og borgeromvekslinger.
Som nævnt i de forgående afsnit, så identificerer anvendere sig overfor STS ved hjælp af OCES certifikater. Alle OCES-certifikater udstedes af Nets DanID der varetager denne opgave for Digitaliseringsstyrelsen. OCES certifikater kan tilbagekaldes (revokeres), hvis f.eks. den private nøgle bliver kompromiteret. Tilbagekaldte certifikater publiceres på revokeringslister (CRL = Certificate Revocation Lists). Revokeringslisterne hentes af komponenten CRA (se tegning) løbende og opbevares i en database (CRA CRL database ), som på tegningen). Oplysningerne vedrørende revokering tjekkes i forbindelse med kald af STS udstedelses- eller omvekslingsservices. Således kan revokerede/spærrede certifikater ikke anvendes til at få udstedt/vekslet sikkerhedsbilletter.
...
STS har også integration til de to services PID-CPR og RID-CPR udbudt af Nets. Denne integratoin integration muliggør verifikation af et påstået (claim) CPR nummers sammenhæng med PID henholdsvis RID. Disse egenskaber er f.eks tilstede i MOCES certifikater og OIO Saml sikkerhedsbilletter udstedt af nemloginNemLogin.
Digitaliseringsstyrelsens fuldmagtsregister giver borgere i Danmark mulighed for at tildele fuldmagt til venner og pårørende til at opnå dataadgang. Borgere kan vedligeholde deres fuldmagtstildelinger via portalen http://borger.dk. I forbindelse med borgerbilletter har STS via fuldmagtsregisteret mulighed for at tjekke claims om fuldmagt, som angives i forbindelse med omveksling af borgerbilletter.
...
- Anvendersystemet bygger et SOSI Idkort indeholdende informationer om brugeren/systemet og signerer det med det certifikat (VOCES/FOCES/MOCES certifikat udstedt af CA rodcertifikatet i den fællesoffentlige føderation).
SOSI Idkortet sendes i udstedelsesforespørgsel til STS, der validerer signaturen. Ydermere tjekkes det om certifikatet er spærret (revokeret) for anvendelse. STS konsulterer sin konfiguration for at tjekke, at det konkrete CVR nummer i certifikatet er whitelistet til at kunne trække SOSI Idkort.
Korrektheden af attributterne i anvendersystemets SOSI Idkort verificeres af STS. En del af attributterne i SOSI Idkortet vil kunne valideres op i mod det anvendte certifikat. I tilfældet med Bruger Idkort (signeret med MOCES certifikat) vil en del af attributterne være at betragte som claims. Disse attributter valideres på følgende måde (se i øvrigt overblikket over STS ovenfor):
CPR nummer: RID-CPR servicen hos Nets anvendes til at verificere, om et givent CPR nummer hører sammen med et givent RID i det anvendte MOCES certifikat.
Autorisationsnummer: Til dette formål anvendes STS'ens kopi af autorisationsregisteret til at verificere, at det angivne autorisationsnummer hører sammen med det angivne CPR nummer.
- Uddannelseskode: Til dette formål anvendes STS'ens kopi af autorisationsregisteret til at verificere, at den angivne uddannelseskode hører sammen med det angivne CPR nummer.
National rolle: Hvis der er angivet en national rolle, så tjekker STS op i mod sin kopi af stamdata, at den pågældende bruger er i besiddelse af den angivne rolle. Hvis en anvender ikke har angivet en national rolle i claim, men den pågældende medarbejder er i besiddelse af netop én nationale rolle vil denne automatisk inkluderes i det udstedet SOSI Idkort.
- STS opbygger et nyt SOSI Idkort med de samme informationer som det SOSI Idkort, der udgjorde forspørgslen fra anvenderen. Dette Idkort signeres STS'ens eget certifikat.
- STS sender det nye SOSI Idkort retur til anvendersystemet, der gemmer dette i brugerens/systemets session.
- Anvendersystemet anvender det nye SOSI Idkort i forespørgelser mod NSP-komponenter. Bemærk at et SOSI Idkort kan anvendes til flere forespørgelser mod flere forskellige services, så længe det endnu ikke er udløbet.
- NSP-komponenten verificerer at SOSI Idkort er signeret af føderationens certifikat. Den offentlige nøgle for STS'ens certifikat er kendt af alle komponenter i føderationen.
...
- Anvendersystemet er i besiddelse af et Bruger SOSI Idkort for en given medarbejder. Dette Idkort sendes i en forespørgsel til STS på omvekslingsendpointet. Som en den af forespørgslen angives et audience (dvs en tiltænkt anvendelse af den udstedte billet).
- STS validerer det indgående SOSI Idkort dvs at det pågældende kort ikke er udløbet, at det er udstedt af en troværdig udsteder (i praksis STS selv) samt, at ingen af de anvendte certfikater i forespørgslen er at finde på de publicerede certifikatspærrelister (CRL). Derudover tjekkes det ønskede audience op i mod STS'ens egen konfiguration. STS arbejder med at konfigureret sæt af lovlige audiences, og det forespurgte audience må skal være blandt disse.
- Hvis forespørgslen er i orden danner STS en OIO SAML billet og underskriver den med sit eget certifikat.
- Den udstedte OIO SAML billet sendes tilbage til anvendersystemet
- Anvendersystemet kan nu anvende den udstedte billet til at aktivere services i NemLogin føderationen. I det viste eksempel giver den udstedte billet adgang for medarbejderen til sundhed.dk ved hjælp af en sikker browser opstart.
...
- Anvendersystemet er i besiddelse af en OIO SAML billet for en given medarbejder (i praksis udstedt af NemLogin). Denne OIO SAML billet sendes i en forespørgsel til STS på omvekslingsendpointet. Der kan være brug for at det udstedte SOSI Idkort er beriget med flere oplysninger, end dem, der er til stede i den af NemLogin udstedte OIO SAML billet. Disse specificeres af anvendersystemet i en af dette system defineret SAML billet (altså at betragte som i praksis kan denne SAML billet betragtes som en holder for anvendersystemets claims)
- STS validerer det indgående OIO SAML billet (den grønne i diagrammet) dvs at den udstedte billet ikke er udløbet, at det er udstedt af en troværdig udsteder (i praksis NemLogin) samt at ingen af de anvendte certfikater i forespørgslen er at finde på de publicerede certifikatspærrelister (CRL). De supplerende oplysninger (claims) defineret af den af anvendersystemet udstedte SAML billet (den røde i diagrammet) valideres af STS på følgende måde:
- Hvis anvendersystemet definerer et CPR nummer som et claim valideres dette (udfra PID RID oplysninger i OIO SAML billetten) vha CPR-PID RID service.
- Hvis anvendersystemet har claimet en national rolle, så valideres denne i forhold til de registrerede stamdata (roller). Hvis en medarbejder identificeret i den indkommende OIO SAML billet har netop én national rolle, så vil denne automatisk indsættes i det udstedte SOSI Idkort uden at anvendersystemet claimer rollen.
- Hvis anvendersystemet har claimet et autorisationsnummer for medarbejderen, så valideres dette op i mod autorisationsregisteret.
- Hvis anvendersystemet har claimet en lokal (ikke national) rolle, så kopieres denne til det udstedte SOSI Idkort uden yderligere validerinvalidering.
- Hvis forespørgslen er i orden danner STS et SOSI Idkort med oplysninger fra hhv OIO SAML billetten og claims og underskriver dette med sit eget certifikat.
- Det udstedte SOSI Idkort sendes tilbage til anvendersystemet.
- Anvendersystemet anvender det nye SOSI Idkort i forespørgelser mod NSP-komponenter. Bemærk at et SOSI Idkort kan anvendes til flere forespørgelser mod flere forskellige services, så længe det endnu ikke er udløbet.
- NSP-komponenten verificerer at SOSI Idkort er signeret af føderationens certifikat. Den offentlige nøgle for STS'ens certifikat er kendt af alle komponenter i føderationen.
...
- Anvenderen skal være i besiddelse af et OCES certifikat (test- hhv produktionsføderationen).
- Der kan findes test OCES certifikater til at komme i gang med her.
- Anvendere kan desuden kontakte NETS med henblik på at få en tjenesteudbyderaftale, hvilket vil gøre det muligt at få udstedt egne OCES certifikater til både test og produktion.
- Anvenderen skal oprettes som anvender til STS. Dette gøres i praksis ved at rette henvendelse til servicedesk på nspop.dk. Henvendelsen skal indeholde oplysninger om:
- Det certifikat/de certifikater, som anvenderen ønsker at benytte i forbindelse med brugen af STS.
- Angivelse af hvilke omvekslingsservices, der ønsker benyttet.
- Ekstra informationer (i forbindelse med de enkelte STS services) inkluderes. Brug tabellen nedenfor.
| Omvekslingstype | Oplysninger |
|---|---|
| DGWS | |
| Medarbejderomveksling | |
| Borgeromveksling (JWT2Idws) | Det skal oplyses, hvilket NSP audience, der ønskes veklses til (se TODO) Det skal oplyses, hvilken udsteder af JWT tokens, der anvendes. Hvis det er en ny udsteder, så kræver oprettelsen mere end en supporthenvendelse. Det skal angives, hvilke scopes, der inkluderes i JWT token, og hvorledes disse skal mappes til NSP audience. |
----kladde nedenfor...skal lige finde ud af, hvor det skal være.
...