SAML-intyg

Så här använder du SAML 2.0 säkerhetsintyg.


1. SAML-Assertion

Används för vård- och apotekspersonal som anropar E-hälsomyndighetens tjänster med ett SAML-intyg. Intyget ska vara utfärdat av en IdP ansluten via en av E-hälsomyndigheten godkänd operatör.

I tabellen listas de delar i SAML-Assertion som är av särskilt intresse i E-hälsomyndighetens säkerhetslösning.

SAM2:AssertionBeskrivning
SAML2:IssuerNamnet på användarorganisationens identitetsintygsutgivare (Identity Provider, IdP).
DS:SignatureInnehåller signatur med utställarens certifikat i kodat (Base64) format
SAML2:ConditionsGiltighetstiden för intyget, se vidare Giltighetstid intyg.
SAML2:AudienceTjänsteleverantör/E-tjänst (Service Provider, SP) som intyget är utställt till. Endast av E-hälsomyndigheten godkända tjänsteleverantörer ges tillgång till tjänster.
SAML2:AuthnContextTillitsnivå (Level of Assurance, LOA).
SAML2:AttributeStatementInformation (ett eller flera behörighetsattribut) om den person intyget avser. Mer information om dessa attribut finns på sidan Behörighetsstyrning.

För mer teknisk information 

2. SAML-Response

SAML-Response används som intyg (i stället för SAML-Assertion) då privat e-legitimation används (exempelvis via e-handel) vid anrop till E-hälsomyndighetens tjänster. Ett SAML-Response innehåller i sin tur ett SAML-Assertion. För mer information om information som ställs ut vid autentisering, kontakta den IdP (Identity Provider) som levererar e-legitimationslösningen.

3. Avkrypterad Assertion

För att kunna agera på det SAML-Assertion som inkommer till E-hälsomyndigheten behöver detta vara i okrypterad form. I fall den IdP som ställer ut SAML-Response gör det med krypterad SAML-Assertion, behöver denna avkrypteras av anropande system innan den används i anrop mot E-hälsomyndighetens tjänster.

Om så sker, behöver validering av SAML-Assertion fortfarande kunna ske. För att detta ska kunna vara möjligt behöver SP begära intyg med separat signering av Assertion. Detta kan åstadkommas genom att SP deklarerar detta i metadata genom attribut WantAssertionsSigned.

4. Validering av signatur – ds:Signature & saml2:Issuer

Signaturen (ds:SignatureValue) valideras mot metadata publicerad av identitetsfederation för att säkerställa tillit till den IdP som utfärdat intyget. Den nyckel som används för att göra uppslag av rätt signeringsnyckel i metadata är saml2:Issuer från intyg.

5. Validering av anropande part – saml2:Audiance

I det Saml2-Assertion som inkommer med anrop till E-hälsomyndighetens tjänster sker validering av innehåll i attribut Saml2:Audience (i elementet AudienceRestiction) mot det värde som angavs vid anslutning.

Exempel AudienceRestriction
<saml2:AudienceRestriction>
	<saml2:Audience>https://sp.example.se/</saml2:Audience>
</saml2:AudienceRestriction>

6. Giltighet – saml2:Conditions

Se vidare Giltighetstid intyg.

7. Tillitsnivå – saml2:AuthnStatement

Attribut sam2:AuthnContextClassRef används för att avgöra tillitsnivå för intyget. Se kapitel Tillitsnivå i behörighetsstyrning för mer information om godtagna tillitsnivåer. Krav på tillitsnivå finns även per tjänst, se vidare Tjänster och behöriga roller.

Exempel AuthnStatement
<saml2:AuthnStatement AuthnInstant="2021-04-13T07:37:23.764Z">
	<saml2:AuthnContext>
		<saml2:AuthnContextClassRef>http://id.sambi.se/loa/loa3</saml2:AuthnContextClassRef>
	</saml2:AuthnContext>
</saml2:AuthnStatement>

8. Behörighetsttribut – saml2:AttributeStatement

Ett eller flera Attribut (saml2:Attriute) i element saml2:AttributeStatement används i behörighetsstyrningen för utvärderande av behörighetsroller. Attribut kan även behövas för kompletterande säkerhetsattribut, se vidare Tjänster och behöriga roller.

Exempel AttributeStatement
<saml2:AttributeStatement>
	<saml2:Attribute FriendlyName="professionalLicence" Name="http://sambi.se/attributes/1/professionalLicence" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
		<saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">LK</saml2:AttributeValue>
	</saml2:Attribute>
	<saml2:Attribute FriendlyName="personalPrescriptionCode" Name="http://sambi.se/attributes/1/personalPrescriptionCode" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
		<saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">1234567</saml2:AttributeValue>
	</saml2:Attribute>
</saml2:AttributeStatement>


Versionshistorik

Version

Datum

Kommentar

1.02021-11-27Ny handbok vård- och apotekstjänster