E-legitimationsdagen dag 2 Så här kopplar ni upp era e-tjänster mot den svenska eidas-noden
Att ansluta en tjänst...
Processen steg för steg! 1. Sätt upp en SP och skapa SP-metadata 2. Kolla syntax (rätt XML) och semantik (rätt innebörd) 3. Skicka SP-metadata till operations@komreg.se 4. Sätt upp din SP att konsumera metadata 5. Testa!
Tumregler för konsumering av metadata Nationell metadata innehåller både SP och IdP:er för hela valfrihetssystemet samt eidas-connector Uppdatera din egen kopia av metadata ofta och asynkront ju oftare desto färre supportsamtal! Din implementation måste klara av omkonfiguration utan omstart! Verifiera alltid signaturen på metadata.
Tumregler för produktion av egen metadata: En SP och IdP ska kunna producera metadata som är syntaktiskt korrekt en schemacheck skadar inte! Validera metadata mot valideringstjänsten innan du ber om en uppdatering. Metadatatjänsten uppdaterar inte metadata automatiskt av säkerhetsskäl alla uppdateringar kommer auktoriseras Entitets-kategorier och andra policy-markörer i metadata ägs av ELN var och en har en tillhörande process och kravprofil
Några ord på vägen... Säkerställ att din leverantör stödjer Tekniskt ramverk Du vill inte skriva en egen SAML-stack från grunden Motstå frestelsen att skriva din egen SP baserat på OpenSAML Om du är osäker eller om budgeten tryter kör Shibboleth! Isolera gärna SAML, OpenIDC mm mha en proxy men tänk igenom hur proxyn ska autentiseras mot dina tjänster!
Men ADFS då? ADFS4 är en utmärkt SAML-implementation, men ADFS4 fixar inte saml2int och egov 2.0 tillräckligt bra och därmed inte heller Tekniskt ramverk Jo, vi vet att det ofta påstås att ADFS4 är bättre här men det stämmer helt enkelt inte... Kör istället ADFS4 via en saml2saml proxy som: isolerar metadatahanteringen och presenterar hela federationen som en IdP/SP mot ADFS t.ex. https://github.com/identitypython/satosa Alternativt kolla på ADFSToolkit (powershell toolkit) https://www.powershellgallery.com/packages/adfstoolkit/
Metadataregister
Vad är SAML metadata? SAML metadata är en koppling mellan nycklar, namn och URI:er som gör det möjligt att automatisera konfiguration av säkra kommunikationskanaler
Legitimering Informations- och kommunikationsmodell Begäran om legitimering samt svar i form av Identitetsintyg (Assertion). Interaktion med användaren. (Tjänsteleverans) Begäran om legitimering samt svar i form av Identitetsintyg (Assertion). Interaktion med användaren. (Legitimering) Service Provider Identity Provider Statisk och betrodd information om anslutna tjänster. Metadata (Nycklar, namn, godkända tjänster mm)
Varför inte bara köra manuellt? Anta att alla roterar nycklar en gång om året Om alla 351 myndigheter har var sin tjänst så betyder det att i snitt 30 myndigheter byter nycklar varje månad. Anta att varje nyckelbyte kräver 3 arbetsdagar av telefonsamtal 90 trasighetsdagar per månad
Varför inte bara köra manuellt? det där är dessutom om solen skiner och allt funkar! Föreställ er nu ROCA eller heartbleed.
Metadata... IdP SP Metadataservice NO SP IdP SP DK IdP SP Nationell Metadata eidas Metadata UK...
Två miljöer QA Endast test-personer Enklare/smidigare registrering av metadata Test- och verifieringstjänster Produktion Skarpa IdP:er med riktiga användare I huvudsak manuella processer Verifierad metadata Kontroll av avtal
Säkerhet är A och O Säker och verifierbar ändringshantering Interna säkerhetszoner (väldigt lite virtualisering) Alla förändringar och access via 4k HW nycklar HSM:er för alla signaturer i produktion Multipla siter/geografisk diversitet Defence-in-depth Kommer att granskas av externa experter
Nyckelhantering Två huvudnycklar: En för QA och en för Produktion. Alla nycklar är 4k RSA SHA256 Produktionsnyckeln kommer genereras via en publik nyckelceremoni på specialbyggd hårdvara och endast användas på HSM:er Dubbelkommando för alla känsliga nyckeloperationer
Anvisningstjänst Frivillig anvisningstjänst associerat med QA och Produktion Två integrationsalternativ: Klassisk SAML Identity Provider Discovery JSON som kan användas för egen integration
eidas Identitet, Provisional ID kopplingsregister och tillit Konsumera eidas intyg
eidas intyg Skillnad mot svensk legitimering Annan attributsprofil eidas minimum data set Identiteter för fysisk och juridisk person. Svenska identitetsattribut Provisional ID (PRID) PRID persistensindikator Personnummer/samordningsnummer (Kopplingsregister) Andra tillitsnivåer Low, Substantial och High Anmälda eller inte anmälda e-legitimationer
eidas minimum dataset Fysisk person eidas person identifierare - {från land}/{till land}/{identifierare} Förnamn Efternamn Födelsedatum Optioner (födelseplats, adress, kön, etc.) Translitteration Motsvarande svenska attribut definierade i tekniskt ramverk Legal identitet Ingen vet dess relevans för legitimering Användning för koppling eller auktorisation ej klarlagt Lämnat till framtida studier stöds ännu inte av E-legitimationsnämndens Tekniska ramverk.
Provisional ID PRID Service Attribut från utländsk ID tjänst: ID: NO/SE/16043700158 GN: Fekadu SN: Olana DoB: 1937-04-16 Algoritmval Default eidas Colresist eidas Special characters eidas Persistensklassning A Permanent PRID: NO:16043700158 PRID Persistens: A Special Tjeckien eidas B Stabil C Flyktig
Adaptivt användargränssnitt PRID persistens A Ingen ändring (Som om användaren har personnummer) PRID persistens B eller C You have an identity that may change over time. The current identifier is: UK:1234-56789-0 Should your identity change in the future, then you can regain access to your account by presenting the ID above together with the following PUK code: PUK = 189741234-23421-87432
Kopplingsregister Koppling mellan utländsk identitet och svenskt personnummer/samordningsnummer Provisional ID Provisional ID Provisional ID Provisional ID Provisional ID Provisional ID Kopplingsregister Personnummer Samordningsnummer Lokalt Centralt? Attributstjänst
eidas Anmäld eid eller icke anmäld eid Artikel 6 ställer endast krav på att acceptera legitimering med eid som blivit anmäld till EU kommissionen enligt artikel 9 Tidigare versioner av eidas tekniska specifikationer har saknat möjlighet att avgöra om eid är anmäld eller inte En tekniskt lösning är överenskommen, men frågan är ännu inte avgjord. Kan en icke anmäld eid tillhandahålla legitimering enligt nivå väsentlig? Vi säger ja, andra säger nej. Viktiga grannländer tillhandahåller eid som inte är anmälda. Viktigt att dessa kan tillämpas
eidas - Tillitsnivåer Tillitsnivå http://id.elegnamnden.se/loa/1.0/eidas-low http://id.elegnamnden.se/loa/1.0/eidas-sub http://id.elegnamnden.se/loa/1.0/eidas-high http://id.elegnamnden.se/loa/1.0/eidas-nf-sub http://id.elegnamnden.se/loa/1.0/eidas-nf-high Förklaring eidas tillitsnivå låg eidas tillitsnivå väsentlig eidas tillitsnivå hög eidas tillitsnivå väsentlig med anmäld eid eidas tillitsnivå hög med anmäld eid Exact matching! Connectorn får endast returnera begärd tillitsnivå Tänk på att lista SAMTLIGA acceptabla nivåer i requesten
Loggning De svenska eidas-noderna loggar ingen personinformation, endast transaktions-id:n. Det är e-tjänsternas ansvar att logga information om inloggningar (och misslyckade sådana). Logga alltid ID för request, response och assertion. Möjliggör konsolidering med utländska IdP:er (via den information som loggas av eidas-noderna).
Kända problem och utmaningar Framtiden för svenskt kopplingsregister är okänt. Skäl kan finnas att skapa lokalt register i respektive e-tjänst. Att ge ut samordningsnummer till alla icke svenskar med ärende i Sverige kan vara ohållbart i längden. Övergång till Provisional ID för utländska medborgare? Väntrum Vad gör vid med legitimerade användare som vi inte kan erbjuda tjänster till? Risk: Samma användare kan komma in med olika identiteter från olika länder. Kan agera som två personer i ärenden som kräver olika individer i samverkan. Risk: Användare kan tappa sina access om identitet ändras. Alla länder hanterar inte ForceAuthn korrekt. Legitimering kan vara cachad och Authentication instant är inte alltid korrekt.
Testning
Dags att testa Laddat upp metadata för din SP till testfederationen? Konfigurerat din SP att konsumera metadata från testfederationen? (Konfigurerat anvisning?) OK! Nu kan ni skicka SAML request mot IdP:er i federationen (inklusive eidas connector)
Dags att testa Testidentiteter De flesta länderna som finns i test idag saknar ett smidigt sätt att dela ut testidentiteter Vi jobbar på det! Kortsiktig lösning: Välj XX Testland eller loopa tillbaka till Sverige
Demo Company Registration Demo (eidasweb.se) Klicka Log in
Demo (ii) Anvisning Välj eidas International eid
Demo (iii) Hos eidas Connectorn Välj land Norge
Demo (iv) Hos Norges eidas Proxy Service Välj Norsk IdP (legitimeringstjänst)
Demo (v) Hos MinID Legitimering med norskt eid
Demo (vi) Tillbaka till den Norska eidas Proxy Servicenoden Medgivandedialog
Demo (vii) Och åter till Company Registration Demo I inloggat läge!
Demo (viii) Se detaljer från intyget
Testa med full detaljrikedom Test SP-instanser finns på eid.litsec.se Användbar som facit
Dags att testa Vanliga fel Vi kan genomföra en eidas-legitimering men får bara för- och efternamn i intyget! Er metadata innehåller inte entitetskategorin för eidas. http://id.elegnamnden.se/ec/1.0/eidas-naturalperson När vi skickar ett SAML-request till eidas connectorn får vi felmeddelandet: Tjänsten som begärt din legitimering är inte registrerad för att använda denna legitimeringstjänst. Ligger ni verkligen med i metadata? Connectorn hittar inte er SP.
Dags att testa Vanliga fel (ii) När vi skickar ett SAML-request till eidas connectorn får vi felmeddelandet: Begäran kan inte betjänas eftersom mottaget meddelande inte motsvarar legitimeringstjänstens säkerhetskrav. Har ni signerat ert SAML-request? eidas connectorn kräver det. Rätt LoA måste begäras eidas connectorn betjänar inte anrop för loa3 etc., använd eidas-motsvarigheterna (se tekniskt ramverk). Vi fastnar hos den utländska IdP:n Förmodligen ett fel just hos den utländska IdP:n Let us know!
Hur får jag support? Ställ en fråga till Tekniskt forum https://forum.eidasweb.se Snabbast och det kan också hjälpa andra. Beskriv scenariot och skicka gärna med SAML-dumpar. Att göra innan jag ber om hjälp Kontrollera dina egna loggar Har du läst Tekniskt ramverk, i varje fall lite grann? Fungerar ditt scenario med en av E-legitimationsnämndens test- SP:ar? Isåfall, ser du några skillnader?