Versions Compared

Key

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

...

HTML
<iframe src="https://archi.nspop.dk/NSP/570928ca/views/id-24e0d66c.html" name="test" height="730" width="800">You need a Frames Capable browser to view this content.</iframe>   

* Hver kasse i ovenstående diagram har en kort forklaring, som kommer frem i et nyt browservindue, når der klikkes på kassen.


Anvenderes tilgang til STS vil ofte være med hjælp fra Seal.Java eller Seal.NET, som er biblioteker der bl.a. hjælper til med at understøtte brugen af DGWS og håndtere sikkerhedsaspekterne.

...

Diagrammerne nedenfor viser nærmere detaljer angpende henholdsvis validering af signatur, samt medarbejder validering


Figur 4: Validering af XML signatur


Figur 5: Validering af medarbejder information

Komponent interaktion omveksling fra OIOSaml assertion til id-kort

Image Modified


Snitflader

BegrebForklaring
AnvendersystemDet IT-system som anvender en STS snitflade
BrugerDen bruger som via et klient IT-system anvender STS
TrustHvem stoler vi på som signerende part på en indgående billet.
ModtagerHvilke systemer kan anvende den billet der udstedes af STS.

...

SnitfladeSnitfladeAnvendersystemBrugerTokensTrustModtager

/sts/services/SecurityTokenService

/sts/services/NewSecurityTokenService

WS-Trust 1.2 (DGWS)Alle som har netværksmæssig adgangSystem eller medarbejder

Input: Selvsigneret id-kort

Output: STS signeret id-kort

Indgående id-kort skal være signeret af "brugeren selv".Alle DGWS-services
/sts/services/OIOSaml2SosiWS-Trust 1.4 (OIO-IDWS 1.0)

Alle som har netværksmæssig adgang.

Dele af SOAP besked skal være signeret med system-certifikat

Alle medarbejdere

Input: OIO-Saml assertion 

Output: STS signeret id-kort

OIOSaml assertion skal være signeret af trusted part.


Alle DGWS-services
/sts/services/Sosi2OIOSamlWS-Trust 1.4 (OIO-IDWS 1.0)

Alle som har netværksmæssig adgang

Dele af SOAP besked kan være signeret med system-certifikat (verificeres ikke pga DCC/Gateway)

Alle medarbejdere

Input: STS signeret id-kort

Output: OIO-Saml assertion

Id-kort skal være signeret af STS (udstedt af /NewSecurityTokenService)

Modtager-system skal være konfigureret (i tabellen iboConfig).

/sts/services/BST2SOSIWS-Trust 1.4 (OIO-IDWS 1.0)Alle som har netværksmæssig adgangAlle medarbejdere

Input: OIO-Saml bootstrap token

Output: STS signeret id-kort

Bootstrap token skal være signeret af trusted part.

Lokal IdP eller SEB 

Alle DGWS-services
/sts/services/Bst2IdwsWS-Trust 1.4 (OIO-IDWS 1.0)

Offentlig nøgle for anvender-system skal være WL (i tabellen audienceConfiguration).

Dele af SOAP besked skal være signeret med denne nøgle.

Alleborgere

Input: OIO-Saml bootstrap token

Output: IDWS (1.0) token.

Bootstrap token skal være signeret af trusted part.

I praksis SEB

Modtager-system skal være konfigureret (i tabellen audienceConfiguration).
/sts/services/JWTIdwsWS-Trust 1.4 (OIO-IDWS 1.0)

Offentlig nøgle for anvender-system skal være WL (i tabellen audienceConfiguration).

Dele af SOAP besked skal være signeret med denne nøgle.

Alleborgere

Input: JWTsigneretafOpenId connector

Output: IDWS (1.0) token.

JWT skal være signeret af trusted part (i test-jwt-idp-trust.jks). kid skal pege på det rigtige alias i denne.

Issuer skal være konfigureret i services.xml

Modtager-system skal være konfigureret (i tabellen audienceConfiguration).

JWT suport skal være aktiveret (i tabellen audienceConfiguration)

/sts/services/JWT2OIOSamlWS-Trust 1.4 (OIO-IDWS 1.0)

Offentlig nøgle for anvender-system skal være WL (i tabellen audienceConfiguration).

Dele af SOAP besked skal være signeret med denne nøgle.

Alleborgere

Input: JWTsigneretafOpenId connector

Output: OIO-Saml assertion

JWT skal være signeret af trusted part (i test-jwt-idp-trust.jks). kid skal pege på det rigtige alias i denne.

Issuer skal være konfigureret i services.xml

Modtager-system skal være konfigureret (i tabellen audienceConfiguration).

JWT suport skal være aktiveret (i tabellen audienceConfiguration)

/sts/services/DKNCPBST2EHDSIIdws

WS-Trust snitflade baseret på OIO-IDWS version 1.1

Følgende benytter denne snitflade:

  • Udenlanske apoteker skal kunne udlevere medicin til danske borgere på baggrund af en dansk recept.
  • Udenlanske sundhedspersoner skal kunne hente en sundhedsoversigt for en dansk borger.
Udenlanske sundhedsfaglige

Input: Danish National Contact  Point (DKNCP IDWS XUA Bootstrap token)

Output: 

eHDSI IDWS XUA Identity Token 

DKNCPBST skal være signeret af trusted part.

Audience skal være konfigureret i databasen sts_ehdsiconf.

Modtager-system skal være konfigureret (i tabellen ehdsiAudienceConfiguration).

...

    • SkemaTabelBeskrivelseBenyttes pt
      STS (backoffice)iboConfigindeholder audience specifik konfiguration for SOSI ID-kort til OIOSAML omvekslingJa
      STS (backoffice)audienceConfigurationindeholder konfiguration vedrørende billetomveksling fra bootstrap token til IDWS token og fra JWT token til OIOSaml tokenJa
      STS (backoffice)roleDefinitionsIndeholder opsætning af gyldige nationale roller, og hvorledes disse repræsenteres i id-kort og i SEBJa
      STS (backoffice)

      authorizationDefinitions

      Indeholder valide uddannelseskoder. Primært 4 cifre, men kan også indeholde bogstaver.Ja
      STS (backoffice)trustedCvrIndeholder en liste af CVR numre, der kan angive nationale roller uden at få disse valideret.Ja
      STS (lokal)cprcacheindeholder relationer mellem certifikat og CPR-nummer. Anvendes hvis deploymiljøet er godkendt til opbevaring af relationen i klartekst (Nødvendig hvis ikke CPR web servicen altid skal kaldes med manglende CPR i ID-kort).Ja
      STS (lokal)cprhashindeholder et hash af mapningen mellem certifikat og CPR-nummer. Oprindeligt tænkt anvendt hvis relationerne ikke ønskes opbevaret som klartekst. Ikke længere muligt, idet der er behov for at kunne tilføje cpr nummer til et id-kort uden dette er angivet i input.Nej
      STS (lokal)whitelistindeholder information (CVR-nummer og system navn), der anvendes til at at give systemer adgang til udstedelse af ID-kort. Benyttes ikke længere.Nej
      STS (lokal)blacklistindeholder information (X509 certifikat subject serial number), der anvendes til at blokere for udstedelse af ID-kort for specifikke certifikater.Nej
      SDMautregIndeholder aktuelle autorisationskoder for autoriserede sundhedsfaglige medarbejdere. Vedligeholdes af Autorisations importerenJa
      SDMnationalRolesIndeholder roller importerede fra SEBJa
      CRAcrlIndeholder et antal spærrelister incl. metadata omkring seneste hentning af disseJa
      CRArevoked

      Indeholder replika af en given spærreliste indeholdende aktuelt revokerede certifikater

      Hvis en CRL er udstedt af en CA og denne CA trækkes tilbage, så vil alle dens rækker i revoked blive slettet og en enkelt række med NULL i serialnumber vil blive oprettet. Et certifikat skal derfor betragtes som trukket tilbage hvis dets CRL enpoint findes i crl og dets serienummer findes i revoked eller der findes en række med serienummeret NULL.

      Ja
      sts_ehdsiconfehdsiAudienceConfiguration

      Indeholder den konfiguration der er nødvendig for DKNCPBST2EHDSIIdws omvekslingen:

      • Signeringscertifikater
      • Whitelistede certifikater
      • Levetid på den udstedte token



      sts_ehdsiconfehdsiPoliciesConfiguration

      Indeholder alle trustede policies. For hver policy findes der en STS policy det udstedte token får.



      Databasemodellen er simpel og indeholder ingen bindinger til specifikke databaser. Tabellerne cprhash og cprcache fungerer som en simpel cache for CPR-opslag, og repopuleres automatisk, hvorfor rækkerne kan slettes efter behov.

...

HTML
<iframe src="https://archi.nspop.dk/NSP/570928ca/views/id-5b54b6f2-a137-40d7-9a2e-6417ba9f4350.html" name="test" height="510" width="800">You need a Frames Capable browser to view this content.</iframe>   

* Hver kasse i ovenstående diagram har en kort forklaring, som kommer frem i et nyt browservindue, når der klikkes på kassen.


Entitetsindhold

audienceConfiguration

...

CREATE TABLE ehdsiAudienceConfiguration (
   audience VARCHAR(255) NOT NULL,
   attribute VARCHAR(50) NOT NULL,
   attribute_value VARCHAR(4095),
   comment VARCHAR(255));
CREATE UNIQUE INDEX ehdsiAudienceConfiguration_uniq ON ehdsiAudienceConfiguration (audience, attribute);

Tabel: whitelistedUserIdCardCvr

USE sts_audconf;

DROP TABLE IF EXISTS whitelistedUserIdCardCvr;
CREATE TABLE whitelistedUserIdCardCvr (
   cvr VARCHAR(8) NOT NULL,
   comment VARCHAR(255));
CREATE UNIQUE INDEX whitelistedUserIdCardCvr_uniq ON whitelistedUserIdCardCvr (cvr);


Sløring af sundhedsfaglige - IDSAS

...

STS-applikationen er en JEE web applikation, som afvikles i driftsmiljøerne som en docker container. Containeren afvikles med en række konfigurationsfiler mounted ind i containeren, disse bestemmer STS runtime egenskaber, herunder føderation (test eller produktion), eksterne services og konfiguration af logning.

STS kan integrere med en Lunaboks på to forskellige måder. Seal integrationen til bokse købt inden 2014 (generation 4) og NLL integrationen til bokse købt efter 2014 (generation 5). Det forventes at den JBoss som STS deployes på indeholder et jboss-modul med navnet dk.nsi.nsp.sts.luna. STS afhænger af eksistensen af et sådant modul. Modulet kan være tomt - men skal, såfremt man anvender nyere Lunabokse, ændres til at indeholde Luna biblioteker (driver). Herved kan disse deployes/opgraderes uafhængig af STS.

For nærmere detaljer omkring konfigurations- og deploymentmuligheder henvises til installationsvejledningen [R2].

...