SOSI STS Designdokument



Relaterede dokumenter
STS Designdokument. STS Designdokument

SOSI STS Dokumentationsoverblik

SOSI STS Testscenarier

STS Driftsvejledning. STS Driftsvejledning

ecpr erstatnings CPR Design og arkitektur

STS Anvenderdokument i. STS Anvenderdokument

SOSIGW. - Administrationskonsol for SOSIGW Indeks

STS Anvenderdokument. STS Anvenderdokument

AuthorizationCodeService

STS Installationsvejledning. STS Installationsvejledning

Kravspecifikation for SOSI-GW komponenten

STS Installationsvejledning. STS Installationsvejledning

Specifikationsdokument for OCSP

Ibrugtagning af Fødselsindberetningsservicen på NSP

- Installationsvejledning for SOSIGW 1.2, NSP

NemID DataHub adgang. & Doc , sag 10/3365

SOSI Gateway Komponenten (SOSI GW)

KIH Database. Systemdokumentation for KIH Databasen. 1. maj Side 1 af 13

STS Fejlsituationer. STS Fejlsituationer

Overordnet løsningsbeskrivelse - Private aktører og borger log-in via SEB / NemLog-in

FMK-online's brug af SmartFraming

Teknisk Dokumentation

Specifikationsdokument for OCSP

SOSIGW. - Driftsvejledning for SOSIGW 1.2. Indeks

OS2 Opgavefordeler. Løsningsbeskrivelse Version 2. Udarbejdet af Miracle A/S Simon Møgelvang Bang

Specifikationsdokument for servicen PID-CPR

Sikkerhed i Stamdatamodulet KOMBIT

Specifikationsdokument for servicen PID-CPR

OpenTele datamonitoreringsplatform

Webservice kald. System-til-system integration. Ny Easy. ATP 1. februar 2017

Version Dato Beskrivelse /11/2012 Initial version /03/2013 Tilføjet eksempel med Template Agent, generelt udvidet dokumentet.

DIADEM KOM GODT I GANG INTEGRATIONSVEJLEDNING IFT. SIKKERHED OG VERSIONERING AF WEBSERVICES VERSION: STATUS: FRIGIVET DATO: 22.

KIH Database. Systemdokumentation for KIH Databasen. 12. september Side 1 af 20

Specifikationsdokument for OCSP

DataHub Forbrugeradgangsløsning NemID Quick Guide

SYSTEMDOKUMENTATION AF POC

System til System grænseflader

DESIGNDOKUMENT (Teknisk dokumentation)

1.1 Formål Webservicen gør det muligt for eksterne parter, at fremsøge informationer om elevers fravær.

Guide til integration med NemLog-in / Signering

Guide til kravspecifikation

Guide til NemLog-in Security Token Service

Sundhedsstyrelsens Elektroniske Indberetningssystem (SEI) Vejledning til indberetning via Citrix-løsning

Ivan Overgaard 11/29/2012

Affaldsdatasystem Vejledning supplement i system-til-system integration for.net brugere

e-tl System til System kommunikationstest


LUDUS WEB. Installations- og konfigurations-vejledning. Den 7. april J.nr.: 4004 V

DataHub Forbrugeradgangsløsning Spørgsmål og svar

Sikker udstilling af data

Termer og begreber i NemID

National Sundheds-it Infrastruktur og sikkerhed

SOSIGW. - Arkitektur og design for SOSIGW 1.0. Indeks

Løsningsbeskrivelse til P13-7 Hent ydelsesinformationer fra Ydelsesindeks

Sundhedsdatastyrelsens Elektroniske Indberetningssystem (SEI)

Præsentation af BSK regionens identity and access management platform

Installationsvejledning Installation af Digital Underskrift Enterprise

Indholdsfortegnelse. Systembeskrivelse kapitel 8 Administrationsdatabase

Den Gode Webservice 1.1

Introduktion til NemID og NemID tjenesteudbyderpakken

Dataintegration og Single Sign-On Dataintegration internt og eksternt via service enabled arkitektur på Dansk Landbrugs Internetplatform (DLI)

Anbefalede testprocedurer

Digital post Snitflader Bilag B - Afsendelse og modtagelse af meddelelser via S/MIME Version 6.3

DKAL Snitflader Afsendelse og modtagelse af meddelelser via S/MIME

Digitaliseringsstyrelsen

Indholdsfortegnelse. Systembeskrivelse kapitel 3 Forretningslogik

SYSTEMBESKRIVELSE DIGITALISERINGSSTYRELSEN POC PÅ ORKESTRERINGSKOMPONENTEN. Version: 1.1. Godkender: Forfatter:

Forretningsmæssige testscases for Seal.net i relation til anvendelse af NSP services

Undgå driftsafbrydelser på grund af udløbet virksomheds- eller funktionssignatur

Nemhandel infrastruktur. Morten Hougesen Christian Uldall Pedersen 8. April 2010

landinspektøren s meddelelsesblad maj 1968 udsendes kun til Den danske Landinspektørforenings redaktion: Th. Meklenborg Kay Lau ritzen landinspektører

Introduktion til ændringerne ifm. overgangen til MitID og NemLog-in3

Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0

Introduktion til NemID og Tjenesteudbyderpakken

Transkript:

SOSI STS Designdokument - for Sammenhængende Digital Sundhed i Danmark Dato: 3. December, 2009 Version: 0.3 Forfatter: Arosii A/S

Indholdsfortegnelse 1 Introduktion...3 2 Arkitekturoverblik...4 2.1 Eksterne snitflader...4 2.2 Afhængigheder...4 3 Logisk arkitektur...5 3.1 Komponent interaktion...5 3.2 Komponent snitflader...7 3.3 Konfiguration og assembly...8 4 Datamodel...9 5 STS Deployment...10 6 Referencer...11 Version Dato Ansvarlig Ændring 0.2 21-10-2009 Arosii STS v1.0.6 beskrivelse 0.3 03-12-2009 Arosii Opdateret med Autorisationsregister ændring (STS v1.1.0) Arosii A/S, 2009 Side 2 af 11

1 Introduktion Formålet med dette dokument er at beskrive SOSI STS implementationen. Det forudsættes at læseren har forudgående kendskab til STS'ens rolle - specifikt i relation til Den Gode Web Service [8] og de standarder den baserer sig på. Detaljeringsgraden henvender sig til læseren der har behov for en overordnet introduktion til implementationen, herunder systemkontekst (afsnit 2), opdeling i komponenter (afsnit 3) og datamodellen (afsnit 4). Desuden berøres deployment afhængigheder (afsnit 5). Arosii A/S, 2009 Side 3 af 11

2 Arkitekturoverblik deployment Deployment Vi... OcesCRL «w e b se rvi ce» SecurityTokenService + i s su e Id C a rd (R e q u e sts e cu ri tyto ke n ) : R e q u e sts e c u ri tyt o ke n R e sp o nse Database OcesCPR STS C o n fi g u ra ti o n AutReg Seal K e y sto r e Figur 1: STS afhængigheder og eksterne snitflader 2.1 Eksterne snitflader Udstedelse af ID-kort udstilles af STS'en gennem en web service med en enkelt operation. Anvendelsen af STS er beskrevet i Den Gode Web Service (se afsnittet STS-Kommunikation i [8]). SOSI Seal biblioteket benyttes af STS til serialisering/deserialisering af web service kaldet samt signering af udstedte ID-kort, som skitseret i The SOSI Library Programmers Guide (se afsnittet Use case 3: How to issue an ID-card i [3]). Sekundært udstiller STS'en administrativ funktionalitet, det vil sige operationel status, ACL konfiguration, log adgang og cache kontrol, gennem et simpelt webbaseret interface. 2.2 Afhængigheder STS'en afhænger af en række eksterne komponenter i forbindelse med udstedelse af ID-kort: OcesCRL: Certifikat spærreliste udstillet via HTTP OcesCPR: Web service for mapning af certifikat til CPR-nummer Database: Persistens af STS data Configuration: Assembly og konfiguration af STS Keystore: Indeholder certifikat og nøgler for føderationen Arosii A/S, 2009 Side 4 af 11

3 Logisk arkitektur STS består af en række komponenter (eller services), som tilgås gennem en factory klasse (StsFactory), der parameteriseres ud fra konfiguration (for nærmere detaljer se afsnit 3.3) ved opstart. Komponenterne indkapsler følgende funktionalitet: Crl: Spærreliste kontrol af OCES certifikater Acl: Check for adgang til udstedelse ID-kort Cpr: CPR opslag ud fra OCES-medarbejdercertifikat AuthCode: Verifikation af autorisation id ud fra CPR En væsentlig komponent for STS er SOSI Seal biblioteket, der indtager en central rolle i forbindelse med udstedelse af ID-kortet (se også Figur 3). Seal anvendes som et tredjeparts bibliotek af STS. cmp Component Vi... ST S Crl Cpr StsFactory Seal Acl AuthCode Figur 2: Komponenter anvendt af STS 3.1 Komponent interaktion Komponenterne anvendes af STS ved udstedelsen af ID-kort. Sekvensdiagrammet i Figur 3 viser et typisk forløb med anvendelse af komponenterne, som STS gennemløber i forbindelse med udstedelse af MOCES signeret ID-kort, hvor resultatet er en succesfuld udstedelse af et STS signeret ID-kort. Arosii A/S, 2009 Side 5 af 11

sd Dynamic Vi... S T S S e a l C rl S e rv i ce A cl S e rv i c e C p rs e rv i c e A u th C o d e S e rvi c e C l i e n t i ss u e Id C a rd ( ) S O S IF a c to ry :d e se ri a li z e S e c u ri tyt o ke n R e q u e st() :S e c u ri ty T o ke n R e q u e st v e ri fys tsc e rti fi ca te() i sr e v o ke d ( ) v e ri fyc e rti fi c a te() c h e c kissu e r ( ) F e d e ra ti on :i sv a l i d Ce rti fi ca te() c h e c kv a l i d C e rti fi ca te() c h e c kc e rti fi c a te R e v o ke d ( ) i sr e v o ke d ( ) c h e c kc e rti fic a te T y p e () i sw h i te L i ste d ( ) i sb l a c kl i ste d () v e ri fyu se rin fo () fi n d R e l a te d C pr() i sa u th o ri ze d () ve rifys yste m In fo () S O S IF a cto ry :c re a te N e w S e c u ri ty T o ke n R e sp o n se ( ) :S e c u ri ty T o ke n R e sp o n s e S O S IF a c to ry :c o p y T o V O C E S S i g n e d ID C a rd () Figur 3: STS udstedelse af MOCES signeret ID-kort Andre scenarier gennemløber en delmængde af de komponentinteraktioner der er illustreret i figuren. Således består udstedelsen af skridtene: 1) Deserialisering web service request 2) Verifikation af STS tilstand 3) Verifikation af ID-kortets certifikat 4) Verifikation ACL (white liste af systemer og black liste af certifikater) 5) Verifikation af UserIDCard a) verifikation/påstempling af CPR b) verifikation af autorisations id 6) Verifikation af SystemIDCard 7) STS signering af ID-kort 8) Serialisering af web service response Skridt 5a og 5b foretages kun, såfremt ID-kortet er signeret med et MOCES certifikat. Alle verifikationsskridtene kan afbryde forløbet, hvilket resulterer i et fejlsvar, med passende information, returneres til kalderen. Arosii A/S, 2009 Side 6 af 11

3.2 Komponent snitflader class Logical Vi... «i n te rfa ce» OcesCrlService + g e tc rl Ti me sta mp () : l o n g + i sre vo ke d (X 5 09 Ce rti fi ca te ) : b o o l e an «i n te rfa ce» OcesCvrRidService + fi n d Re l a te d Cp r(s u b jects e ri a l Nu mb e r) : C prnr + i sre l a te d (S u b je cts e ri a l Nu mb e r, Cp rn r) : b o o l e an «i n te rfa ce» AclService + i sb l a ckl iste d (O ce sin fo, S tri n g ) : b o o l e an + i sw h i te l iste d(o ce sin fo, S tri ng ) : b o o l e an «i n te rfa ce» AuthorizationCodeService + g e ta u th o riza ti o n (Cp rnr) : L i st< A u th ori za ti o n E ntry> + isa u th o ri ze d (Cp rnr, A u th Id ) : b o o l e an Figur 4: STS komponent interfaces OcesCrlService Check af OCES spærrelistecheck isrevoked: Checker om et X509 certifikat er spærret getcrltimestamp: Returnerer tidsstemplet for den underliggende spærreliste OcesCvrRidService Opslag af CPR-nummer ud fra et OCES certifikats subject serial number (SSN), via følgende operationer: isrelated: Afgør om SSN og CPR-nummer hører sammen findrelatedcpr: Slår tilhørende CPR-nummer op ud fra SSN AclService Gennem denne komponent afgøres på baggrund af certifikat information og system navn om IDkort kan udstedes. Udstiller følgende operationer: iswhitelisted: Afgør om certifikat information og system navn er white listed isblacklisted: Afgør om certifikat information og system navn er black listed Bemærk at operationerne ikke er gensidig udelukkende. Det er således muligt både at være white Arosii A/S, 2009 Side 7 af 11

listed og black listed, og det er op til kalderen af afgøre hvilken præcedens operationerne skal have. AuthorizationCodeService Opslag af autorisationer udfra CPR-nummer: getauthorizations: Finder autorisationer tilknyttet et CPR-nummer isauthorized: Afgør om et CPR-nummer har tilknyttet et specifikt autorisations id 3.3 Konfiguration og assembly STS konfigureres på applikationsopstart på baggrund af en property fil ved hjælpe af reflection, som angiver hvilke klasser, der implementerer komponentsnitfladerne og hvorledes disse parameteriseres. Der henvises til installationsvejledningen for en nærmere beskrivelse af hvilke properties, der anvendes (se [6]). Arosii A/S, 2009 Side 8 af 11

4 Datamodel STS anvendelse af database begrænser sig til persistering af henholdsvis ACL information caching af CPR opslag (se Figur 5), og består af følgende tabeller: 'whitelist' indeholder information (CVR-nummer og system navn), der anvendes til at at give systemer adgang til udstedelse af ID-kort 'blacklist' indeholder information (X509 certifikat subject serial number), der anvendes til at blokere for udstedelse af ID-kort for specifikke certifikater 'cprhash' indeholder et hash af mapningen mellem certifikat og CPR-nummer 1 class STS Schema whitelist «co l u m n» * ssn : V A RCHA R( 2 5 5 ) cre a te d : DA T E T IM E blacklist «co l u m n» * ssn : V A RCHA R( 2 5 5 ) cre a te d : DA T E T IME «u n i q u e» + wh i te l i st_ ssn (V A RCHA R) «u n i q u e» + b l a ckl i st_ ssn (V A RCHA R ) cprhash «co l u m n» * h a sh : CHA R (4 6 ) cre a te d Da te : DA T E T IME «u n i q u e» + cp r_ h a sh (CHA R ) Figur 5: STS datamodel Databasemodellen er simpel og indeholder ingen bindinger til specifikke databaser. Tabellen 'cprhash' fungerer som en simpel cache for CPR-opslag, og repopuleres automatisk, hvorfor rækkerne kan slettes efter behov. 1 SHA-256 af X509 certifikatets serial number og tilhørende CPR-nummer Arosii A/S, 2009 Side 9 af 11

5 STS Deployment STS applikationen er en J2EE web applikation, som deployes til driftsmiljøerne som et WAR-arkiv (se Figur 6). Applikationen deployeres sammen med konfigurationsartefakter, som bestemmer STS runtime egenskaber, herunder federation (test eller produktion), eksterne services og konfiguration af logning. For nærmere detaljer omkring konfigurationsmulighederne henvises til installationsvejledningen [6]. deployment Production JRE :Java5 S T S con figura tion : Co n fi g u ra ti o n re q u i re d e p l o y r u n s o n AppServer : JBoss4 d e p l o y STS App :WAR S T S fe d e ra ti o n : K e ysto r e STS OS :Sun Solaris r u n s o n L o g 4 J con figura tion : Co n fi g u ra ti o n d e p l o y Database : MySQL5 STS Server : Sun SPARC Figur 6: STS deployment i test og produktionsmiljø Arosii A/S, 2009 Side 10 af 11

6 Referencer [0] Kravspecifikation Identitetsservice (version 1.3, 20. April 2006), Ribe Amt [1] Note om teknisk dokumentation for arkitekturkomponenter Operatørvurdering og prioritering (version 0.1), Henrik Gørup Rasmussen [2] Kontrakt mellem Ribe Amt og TDC Totalløsninger A/S om udvikling og drift af Identitetsservice (IdP) til SOSIprojektet (18. August 2006), TDC [3] The SOSI Library Programmers Guide, (version 1.5.3), Lakeside [4] SOSI STS Teknisk Beskrivelse (version 1.0, 18. December 2006), Arosii [5] SOSI STS Testscenarier (version 1.0.1, 24. Januar 2007), Arosii [6] SOSI STS Installationsbeskrivelse (version 0.3, 21. Juni 2007), Arosii [7] SOSI STS Dokumentationsoverblik (version 0.3, 19. August 2009), Arosii [8] Den Gode Webservice (version 1.1, 1. Juli 2008), MedCom Arosii A/S, 2009 Side 11 af 11