Dokumenthistorik
Version | Datum | Aktör | Förändring |
---|---|---|---|
0.1 | Första utkast | ||
0.2 |
| Ytterligare teknisk information | |
0.9 |
| Kompletterad med ytterligare anslutningsmönster. | |
0.91 |
| Länkat till uppdaterad nätverksinformation. Information för existerande IdP-anslutningar. | |
0.92 |
| Länkat till Beställ tjänsten, småändringar. |
Innehåll
Introduktion
Autentiseringstjänsten tillhandahåller autentisering för legitimering och underskrift via SITHS eID Windowsklient och SITHS eID Mobilklient (SITHS eID-klienterna) för användare som har e-legitimation från Identifieringstjänst SITHS.
Denna guide har som syfte att stödja organisationer som avser att ansluta en e-tjänst eller lokal IdP till Inera Autentiseringstjänst (mönster 3 nedan).
Övergripande information och val av integrationsmönster
Läs Autentisering via SITHS eID för en bredare beskrivning av tillgängliga integrationsmönster och hjälp med att välja vilket integrationsmönster som är bäst för ert behov.
Det finns tre integrationsmönster för organisationer som vill koppla e-tjänster mot autentisering via Autentiseringstjänsten och SITHS eID-klienterna.
- Anslutning av lokal e-tjänst till Ineras IdP
- Anslutning av lokal IdP till Ineras IdP (proxy-anslutning)
- Anslutning av lokal IdP till Autentiseringstjänsten (direktanslutning)
I integrationsmönster 1 och 2 ovan så kommunicerar den lokala e-tjänsten eller IdP:n med Ineras IdP via SAML- eller OIDC-protokollet. Ineras IdP är i sin tur ansluten till Autentiseringstjänsten och tillhandahåller dess autentiseringsmetoder som den lokala tjänsten kan välja att exponera för sina användare. I integrationsmönster 3 så ansluter den lokala IdP:n direkt till Autentiseringstjänsten via Ineras proprietära API. Alla tre integrationsmönstren beskrivs närmare under respektive rubrik nedan.
Oavsett val av integrationsmönster så finns det hänsynstaganden som behöver hanteras av alla organisationer som avser att använda sig av Autentiseringstjänsten för legitimering och signering.
Generellt anslutningsflöde
- Anmäl intresse, teckna avtal med Inera för valt anslutningsmönster och därmed tjänst:
1-2: Se Beställ tjänsten för information om hur en beställning av IdP-anslutning går till
3: Se Beställ anslutning SITHS TODO (denna är placeholder)
- Fakturering påbörjas.
- Fyll i relevant förstudiemall (anslutning mot IdP, 1 och 2 ovan, eller anslutning mot Autentiseringstjänsten) för testanslutning och skicka in för granskning.
- 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).
- Testa anslutningen och funktionen i test.
- Fyll i ny förstudie för produktionsanslutning, bifoga testrapport som visar att integrationen fungerar som tänkt för de tänkta nyttjandescenarierna.
- När förstudien mot produktion är godkänd kan anslutning ske mellan produktionsmiljöerna.
Förutsättningar för alla anslutningsmönster
- Användarna har SITHS eID personcertifikat på kort (används för inloggning via windowsklienten, samt för att utfärda Mobilt SITHS eID).
- Den anslutande tjänsten har ett SITHS funktionscertifikat.
- Det finns en regional/lokal supportorganisation och en utrullingsplan för att distribuera SITHS eID-klienterna till användarna och utbilda dem i användningen.
- Det finns en livscykelprocess för att hålla eID-klienterna uppdaterade.
Nätverk
- Användarnas SITHS eID-klienter behöver kunna kommunicera med Autentiseringstjänsten och Utfärdandeportalen.
- För att kunna utfärda/administrera Mobilt SITHS eID så måste användarnas browser kunna komma åt Utfärdandeportalen samt den instans av Ineras IdP som Utfärdandeportalen använder sig av för autentisering.
- Organisationer som sitter på Sjunet och internet samtidigt behöver välja över vilket nät och hur trafiken skall routas
Detta kan sammanfattas på matrisform.
Kommunikation behövs mellan.. | eID klient | Autentiseringstjänst | Utfärdandeportal | Browser | Ineras IdP |
eID klient | ja | ja | |||
Autentiseringstjänst | ja | ||||
Utfärdandeportal | ja | ja | |||
Browser | ja | ja | |||
Ineras IdP | ja |
Se Adresser, brandväggsöppningar & routing för mer detaljerad information.
Distribution av SITHS eID-klienterna
Mobilklienterna laddas ner via App Store eller Google Play. Windowsklienten tillgängliggörs i detta confluence-space och organisationer kan välja att distribuera den själva eller att dela länken med sina användare.
Se nedan för länkar till specifik information kring respektive applikation.
Windowsklienten
Användarhandbok - SITHS eID Windowsklient.
Guide för supporterade enheter - SITHS eID Windowsklient
Mobilklienten
Användarhandbok - SITHS eID Mobilklient
Guide för supporterade enheter - SITHS eID Mobilklient
Nerladdningslänkar
- Windows: Ladda ner SITHS eID Windowsklient
- iOS: https://apps.apple.com/se/app/siths-eid/id1498029661
- Android: https://play.google.com/store/apps/details?id=se.inera.authclient.produktion
Mönstren finns på Att ansluta e-tjänster så nedanstående kanske ska kortas/tas bort/komplettera den sidan?
Förutsättningar för direktanslutning av lokal IdP till Autentiseringstjänsten
- Det finns avtal tecknat med Inera.
- HSA-id för tjänsten som önskar ansluta förmedlas för inläsning i Autentiseringstjänsten.
- Den anslutande tjänsten är en central IdP för den anslutande organisationen. Varje kund tillåts ha en ansluten IdP, med eventuellt undantag för exempelvis de största regionerna.
- 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.
- 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.
- Den anslutande IdP:n måste hållas uppdaterad i takt med att Autentiseringstjänsten och dess API:er förändras.
- 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.
- Den anslutande IdP:n stödjer 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".
- Relying party API:et skyddas av mTLS. För att kunna anropa detta API behöver IdP:n presentera sig med ett SITHS funktionscertifikat (SITHS e-id Function CA v1) vars subject matchar tjänstens HSA-id som läses in i Autentiseringstjänsten vid anslutningstillfället.
Teknisk Information
Flödesbeskrivning
- 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.
- 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.
- 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.
- 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.
- alternativt kan subject välja att avbryta ("cancel") en legitimering och då avslutas autentiseringsflödet och detta meddelas som svar på "collect".
Autentiseringstjänstens API
Autentiseringstjänstens API är indelat i tre delar:
- Relying Party API: API för att RP ska kunna starta och konsumera autentiserings- och signerings-förfrågningar.
- Client API: API för att en klient ska kunna resolvera autentiserings- och signerings-förfrågningar.
- Registration Authority: API för att registrera och aktivera certifikat.
Anslutande IdP:er kommunicerar via Relying Party API.
Anrop där förmedling av certifikat krävs ska ske mot adresser som är prefixade med secure. T.ex. för test https://secure-authservice.idp.ineratest.org/.
Swaggerdokumentation
Autentiseringstjänstens API-dokumentation tillgängliggörs via swagger på Autentiseringstjänsten med följande sökväg: "/openapi/swagger-ui/index.html?url=/v3/api-docs/rp#".
Exempel för Testmiljön:
https://authservice.idp.ineratest.org/openapi/swagger-ui/index.html?url=/v3/api-docs/rp#
https://secure-authservice.idp.ineratest.org/
Hänsynstaganden vid anrop mot /auth
Parametern "checkRevocation" anger huruvida Autentiseringstjänsten skall utföra revokeringskontroll på användarcertifikatet och bör sättas till "true". Det är fullt möjligt att utföra revokeringskontrollen i IdP efter autentiseringen är utförd, men det rekommenderas att delegera detta till Autentiseringstjänsten för att eventuella fel i autentiseringen skall upptäckas så tidigt som möjligt i flödet.
Parametern "enhancedAuthentication" måste sättas till "true". Den var initialt menad att kunna ange huruvida autostarttoken krävdes eller inte, men klienterna stödjer inte längre flödet utan autostarttoken. Parametern lär försvinna helt i framtida versioner.
Hänsynstaganden vid anrop mot /collect
Pollning mot autentiseringstjänsten ska göras från servern. Det vill säga en användare ska inte kunna påverka hur ofta pollningen mot autentiseringstjänsten sker (annat än att påbörja sin inloggning).
Rekommenderat tidsinterval för pollning är 2 sekunder.
Starta klienten och förmedla autostarttoken
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:
- Autostart via appväxling m.h.a. custom-protokollet <siths://> (om autentisering på samma enhet)
- QR-kod som scannas in med Mobilklienten (om autentisering på annan enhet)
Formatet för custom-protokollet är följande:
siths://?autostarttoken=<autostarttoken>
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>.