Jämförda versioner

Nyckel

  • Dessa rader lades till.
  • Denna rad togs bort.
  • Formateringen ändrades.


Expandera
titleVisa revisionshistorik


VersionDatumFörfattareKommentar
0.1

 

Kopierat från Anslutningsguide för Autentiseringstjänst version 1.3

0.2

 

Vissa redaktionella ändringar
1.0

 

Godkänd av förvaltning
1.1

Lade till information om vilken turordning för certifikat som används om IdP inte skickar med personalIdentifier i anropet till Autentiseringstjänsten.
1.2

 

Uppdaterat information om custom-protokollet för siths:// efter diskussion med CGI mobility som fått kundfrågor på detta tema.


Introduktion

Autentisering med SITHS realiseras genom att använda av någon av de två autentiseringslösningar som finns för SITHS.

...

Denna guide har som syfte att stötta organisationer som avser att ansluta en lokal IdP till Inera Autentiseringstjänst enligt integrationsmönster 3 nedan för att uppnå autentisering med autentiseringslösningen out-of-band tillsammans med SITHS eID-apparna. För mer information om dessa se:

För mer information om autentiseringslösningar för SITHS, se: Autentiseringslösningar för SITHS

Integrationsmönster

Läs Att ansluta e-tjänster för en övergripande beskrivning av tillgängliga integrationsmönster och hjälp med att välja integrationsmönster.

...

  1. Anmäl intresse, teckna avtal med Inera för valt anslutningsmönster och därmed tjänst:
  2. Beställ tjänsten för information om hur en beställning av IdP/Autentiseringstjänst-anslutning går till

  3. Fakturering påbörjas.
  4. Fyll i förstudiemall Autentiseringstjänst Förstudie vid anslutning till IdP för testanslutning och skicka in för granskning via etjanster.inera.se/DokumentGranskning.
  5. När förstudien är godkänd kan anslutning upprättas mellan den lokala tjänstens testmiljö och testmiljö hos Ineras tjänst (IdP eller Autentiseringstjänsten).
  6. Testa anslutningen och funktionen i test.
  7. Fyll i separat förstudie för produktionsanslutning, bifoga testrapport som visar att integrationen fungerar som tänkt för de tänkta nyttjandescenarierna.
  8. När förstudien mot produktion är godkänd kan anslutning ske mellan produktionsmiljöerna.

...

  1. initalt förmedla HSA-id för inläsning i Autentiseringstjänsten
    1. Relying party API:et skyddas av bl a mTLS. För att kunna anropa detta API behöver IdP:n presentera sig med ett SITHS funktionscertifikat (utgivet av SITHS e-id Function CA v1) vars subject matchar tjänstens HSA-id som läses in i Autentiseringstjänsten vid anslutningstillfället.
  2. vara en central IdP för den anslutande organisationen. Varje kund tillåts ha en ansluten IdP, med eventuellt undantag för de största regionerna.
    1. Denna begränsning ämnar dels till att möjliggöra följsamhet mot referensarkitekturen, som specificerar att autentisering skall centraliseras till en specialiserad tjänst.
    2. Att hålla nere antalet anslutna tjänster är också avgörande för att kunna säkerställa att anslutna system håller sina anslutningar uppdaterade i takt med att Autentiseringstjänsten förändras.
  3. inom 6 månader kunna anpassa sig till nya versioner av API:et hos Autentiseringstjänsten.
    1. När nya versioner av API:erna släpps så kommer de gamla API-versionerna att ligga aktiva parallellt med de nya under en övergångsperiod på 6 månader under vilken den anslutande IdP:n måste anpassas för att använda den nya versionen av API:erna.
  4. stödja appväxling. IdP:n behöver kunna anropa det externa protokollet "siths://" för att kunna autostarta SITHS eID-klienterna vid inloggning "på samma enhet". Se även exempel för tjänster som använder sig av inbäddade webbläsare SITHS eID Appväxling - Exempel för inbäddade webbläsare
  5. hantera
    1. QR kod,
    2. tolkning av tillitsnivå (LoA) och
    3. medarbetaruppdragsval
  6. eventuellt hantera
    1. val av autentiseringsmetod och
    2. integration mot lokal katalogtjänst

...

Konnektivitet och nätverk

Se Nätverksinställningar för IAM-tjänster för mer detaljerad information.

...

Teknisk Information

Flödesbeskrivning

Image Added

  1. Anslutande tjänst (RP) startar flödet med AT genom att skicka en förfrågan till "auth" med information om bland annat subject och autentiseringsförfrågans organisationstillhörighet. 
  2. AT svarar på förfrågan till "auth" genom att skicka tillbaka en "orderRef" (referens till utfärdad autentiseringsförfrågan) samt en "autoStartToken". RP förmedlar denna autostarttoken till SITHS eID-klienten m.h.a. appväxling eller QR-kod.
  3. RP kollar (förslagsvis kontinuerligt m.h.a pollning) mot "collect" hos AT för att se om AT fått autentiseringen legitimerad av subject. Till "collect" skickas tidigare mottagna "orderRef" som är kopplad till en autentiseringsförfrågan.
  4. AT svarar på förfrågan till "collect" genom att skicka tillbaka en status och tillhörande data om huruvida kopplad autentiseringsförfrågan blivit legitimerad, om den blivit legitimerad är autentiseringsflödet nu avklarat.
    1. alternativt kan subject välja att avbryta ("cancel") en legitimering och då avslutas autentiseringsflödet och detta meddelas som svar på "collect".

...

Kopplingen till klienten skapas genom att klienten från IdP får en autostarttoken (som IdP från från Autentiseringstjänsten i svaret ifrån anropet till /auth) som klienten sedan använder i sitt anrop mot Autentiseringstjänsten. Förmedligen av autostarttoken till klienten kan ske på två sätt:

Kodblock
siths://?autostarttoken=<autostarttoken>
  1. Autostart via appväxling m.h.a. custom-protokollet <siths://> (om autentisering på samma enhet) - SITHS eID på denna enhet
  2. QR-kod som scannas in med Mobilklienten (om autentisering på annan enhet)

...

  1. - SITHS eID på annan enhet
    1. Vid inloggning med annan enhet (mobil eller platta) ska en QR kod genereras och exponeras av IdP:n och skannas av med hjälp av Mobilklienten.
      QR koden ska innehålla värdet <autostarttoken> eller den RP genererade animerade QR koden.
  • siths://?autostarttoken=<token>&referer=<retur url>

SITHS eID-app för Windows

Stödjer endast förmedling av autostart-token via appväxling

Kodblock
siths://?autostarttoken=<autostarttoken>

SITHS eID-app för Mobila enheter

Stödjer förmedling av autostart-token via appväxling eller skanning av QR-kod

Kodblock
siths://?autostarttoken=<autostarttoken>&referer=<retur url>
Statisk QR

Statiska QR koder skall innehålla värdet av <autostarttoken> från auth/sign svaret.

Animerad QR

Svarsfälten "qrStartToken" och "qrStartSecret" används till att beräkna animerade QR kod värden. "qrStartSecret" skall endast vara en secret mellan RP och AT.

Animerade QR koder skall beräknas enlig prefix.qrStartToken.tid.hmacSHA256(qrStartSecret, tid) 

FältBeskrivning
prefixFast värde för närvarande, skall sättas till "auth"
qrStartTokenUUID som mottages från auth/sign svaret
tidTid i sekunder sedan svaret från auth/sign mottogs
hmac

Hash som beräknas enligt HMACSHA256(qrStartSecret, tid)

Formatteras som en 64 tecken hexadecimal unsigned integer med ledande nollor

Java formatering

String.format("%064x", new BigInteger(1/*unsigned*/, HMACSHA256(qrStartSecret, tid)));


Exempelsekvens:

tid=0

auth.db65306e-63ab-48ba-a2c5-fbadab3aa20e.0.bc81b15eb62e07283694433e5b95ae176dfea54096e9601a6bf8e808801779ad

...

auth.db65306e-63ab-48ba-a2c5-fbadab3aa20e.2.fb2d2343e7901f65f9d0aec2fb77bd4bc7dd5103b1b19977a841dfa3659d2037

Referer

Efter genomförd legitimering kommer appen försöka dirigera användaren tillbaka till den url som levererats i referer enligt url-scheme. Om referer inte skickas kommer appen att bete sig olika beroende på det mobila operativsystemet:

  • iOS → Appen visar en skärmbild som informerar användaren om utfallet av legitimeringen/underskriften och en uppmaning om att själv navigera tillbaka till den applikation där hen påbörjade sin legitimering/underskrift
  • Android - SITHS eID-appen flyttas till bakgrunden och påkallar att senast använda app ska återta fokus. Som regel är detta den app där användaren påbörjade sin legitimering/underskrift och detta upplever användaren som ett oavbrutet flöde för legitimering/underskrift
Info

Ineras IdP använder inte referer pga. risken att IdP redan är klar och har dirigerat tillbaka användaren till tjänsten. Detta skulle få som följd att användaren:

  • Navigeras bort från tjänsten till IdP och får ett felmeddelande
  • Att en ny webbläsarflik öppnas med ett felmeddelande och den tjänst där inloggningen lyckades ligger i en annan flik i webbläsaren som användaren måste förstå att hen ska navigera till.