E-legitimationsdagen Metadata Underskriftstjänst Praktisk implementering och demo Stefan Santesson (stefan@aaa-sec.com)
Införande av metadatatjänst Metadata
Överblick Metadata Behov av metadata Leverans av metadata Aggregering Registrering Kontroll av metadata Hämtning av metadata Metadata som stöd för val av e- legitimation
Behov av metadata Nycklar Tjänstespecifika adresser (URL:er) Tjänstekategori Tillitsnivåer Gränssnittsinformation Krav på attribut Organisation Kontaktuppgifter
Metadata som stöd för val av e-legitimation Metadata måste ge tilltäckligt stöd för ett funktionellt användargränssnitt för val av e- legitimation Namn på legitimeringstjänst som har en naturlig koppling till användarens e- legitimation Logotyp Stöd för filtrering Tillitsnivåer Tjänstekategori
Leverans av metadata Aggregering Deltagare gör sin aktuella signerade metadata tillgänglig via fast URL URL och nyckel för verifiering av metadata överförs till metadatatjänsten Viss förändring av metadata genom aggregering kan kräva godkännande av administratör (ex nyckel och tjänstenamn) Registrering Metadatatjänsten tillhandahåller funktioner för att vid behov registrera uppgifter om en tjänsts metadata
Metadatatjänsten System för administration av Metadata Deltagare i federationen Legitimeringstjänst E-tjänst Attributtjänst PDP tjänst etc Registrera uppgifter Registreringsfunktion Kontrollfunktion (Testa ursprung, överensstämmelse med federationens metadataprofil, avtal mm) Metadata Feed (från deltagare och andra agregatorer) Metadata Aggregeringsfunktion Metadata Signering och publicering av Metadata
Kontroll av metadata All metadata kontrolleras innan den accepteras Behörig uppgiftslämnare Överensstämmelse med avtal Organisationsnamn Namn på Legitimeringstjänster Mm Överensstämmelse med federationens tekniska ramverk (metadataprofil)
Validering och test av metadata http://eid2.3xasecurity.com/mdvalidator/
Hämtning av metadata Metadata signeras och publiceras med jämna tidsintervall Rekommenderad hämtningsintervall (cacheduration) Giltighetstid (validuntil) Metadata kan vid behov publiceras tidigare än vid nästa planerade tillfälle. Metadata är åtkomlig via fast URL och är nedladdningsbar som ett signerat XML dokument
Konfigurera hämtning av metadata Konfigurera metadata URL Konfigurera hämtningsintervall, mm Konfigurera nyckel för validering Ex Shibboleth: <MetadataProvider type="chaining"> <MetadataProvider type="xml" uri=http://md.test.eid2.se/md/eid2-test-1.0.xml backingfilepath="eid2-test-1.0.xml" reloadinterval="7200 legacyorgnames="true"> <MetadataFilter type="requirevaliduntil" maxvalidityinterval="241920000"/> <MetadataFilter type="signature" certificate="eid2-signer.crt"/> </MetadataProvider> </MetadataProvider>
Val av legitimeringstjänst
Superenkel Implementeringstyper Central anvisning Enkel Integrerad anvisning http://aaa-sec.com/eid2/sigsupport/discoveryserviceinfrastructure.pdf
https://eid2cssp.3xasecurity.com/login/ https://ttadmin.konki.se/login/ DEMO - Implementeringstyper
Implementering central anvisning 1. Konfigurera URL för central anvisning i autentiseringsservern Ex Shibboleth: <SSO discoveryprotocol="samlds" discoveryurl="https://eid2.3xasecurity.com/disco/idpdisco"> SAML2 </SSO> 2. Peka användaren direkt mot skyddad tjänst
Implementering integrerad anvisning Ingen central konfigurering I användarens login-sida (html) 1. Importera JavaScript för anvisning 2. Starta JavaScript för anvisning 3. Logga in användaren med vald tjänst
JavaScript för anvisning Starta anvisning $.eid2disco({ discodiv: "discohtmlcontainername", success: function (entityid) { idplogin(entityid); }, error: function (message) { errorfunction(message); } }); Logga in användaren (ex mot shibboleth) function idplogin(entityid){ window.location = "https://eid2cssp.3xasecurity.com/shibboleth.sso/login?entityid=" + encodeuricomponent(entityid) + "&target="+encodeuricomponent("https://eid2cssp.3xasecurity.com/sign/"); }
Skydda integrerad anvisning mot Single-Point-of-Failure Skapa egen datafeed för anvisningsdata Ex genom proxy/cache av centralt tillhandahållen datafeed. Peka JavaScript för anvisning mot egen datafeed: $.eid2disco({ jsonp: false, discofeed: "http://testsp.konki.se/testspfeed/json", storagefeed: "http://testsp.konki.se/testspfeed/pref", discodiv: "discohtmlcontainername", success: function (entityid) { idplogin(entityid); }, error: function (message) { errorfunction(message); } });
Koppla på E-tjänsten mot Svensk E-legitimation Följande är klart Metadata är skapad och levererad Metadata hämtning är konfigurerat Integration mot signeringstjänst är klar Funktion för anvisning är på plats Då återstår I princip bara: Konfigurera legitimeringsbegäran mot legitimeringstjänst (AuthnRequest) Konfigurera mottagning av attribut Öppna upp e-tjänster för den nya typen av autentisering
Underskriftstjänst
Underskriftstjänst E-tjänster överför användare till underskriftstjänsten för elektronisk underskrift Det elektroniska dokumentet för underskrift överförs inte (endast underlag för skapande av underskriften) Underskriftstjänsten levererar en underskrift kopplat till dokumentet (inte ett komplett underskrivet dokument) E-tjänsten bereder dokument som skall skrivas under och fogar samman dokumentet med den erhållna underskriften E-tjänsten lagrar bevismaterial för framtida behov.
CS Support Service Underskriftstjäns t E-tjänst E-tjänstesystem Stödsystem för underskrift SpSupport Java API Nycklar och certifikat
Begär underskrift 6 Sign request Underskriftstjäns t 2 5 Jag vill XHTMLSign request skriva under form 1 E-tjänst SpSupport Java API E-tjänstesystem 3 Handling för underskrift 4 XHTML Sign request form Stödsystem för underskrift Nycklar och certifikat
Returnera underskrift 1 XHTMLSign response form Underskriftstjäns t 2 Sign response 6 Receipt Underskriven handling 5 E-tjänst SpSupport Java API E-tjänstesystem 3 Sign response 4 Underskriven handling Stödsystem för underskrift Nycklar och certifikat
Validering av underskrift E-tjänst Underskriven handling 1 SpSupport Java API 2 Underskriven handling 3 Resultat (Arkiveringsbart) Valideringstjänst (ex TSL Trust)
Flöde för signering med underskriftstjänsten Underskriftstjänst Användare Webbläsare E-tjänst som begär underskrift Internt stödsystem för underskrift Hämta webbsida Webbsida för att skriva under W e b b s i d a Vill skriva under Hämta sign request signrequest XHTML form Skapa SignReque st Sign Create signrespons e POST signrequest Autentisering/accept signresponse XHTML form F F signrequest XHTML form POST signresponse POST signeddoc (signresponse) signeddoc Resultatsida Skapa underskrive t dokument W e b b s i d s i d a
https://eid2cssp.3xasecurity.com/login/index.jsp Demo - Underskriftstjänst
Stefan Santesson - stefan@aaa-sec.com Frågor