U2F I
SHIBBOLETH
Slutrapport - IFv2015-0063
Av: Stefan Wold
INNEHÅLLSFÖRTECKNING
1
Inledning .................................................................................................................... 3
2
Mål och syfte .............................................................................................................. 3
3
Projektbeskrivning .................................................................................................. 4
4
Leverabler .................................................................................................................. 4
5
Resultat....................................................................................................................... 4
6
Utvärdering och analys ........................................................................................... 4
7
6.1
Utvärdering av resultat ................................................................................... 4
6.2
Förslag på förbättringar.................................................................................. 5
Framtida arbeten...................................................................................................... 5
2
1 INLEDNING
De senaste åren har media skrivit ett flertal artiklar om inloggningsuppgifter och annan
personlig information som kommit i orätta händer pga. bristande säkerhet i stora
tjänster på Internet. Det allvarliga problemet med att just inloggningsuppgifterna sprids
på internet är att användare av dessa tjänster ofta återanvänder sitt lösenord på mer än
en tjänst. Detta innebär att användaren utsätts för en större attackvektor där förövaren
kan komma åt andra tjänster som t ex e-post, dejtingsiter osv; oftast obemärkt.
Det har gjorts många försök med att kräva olika svårighetsgrader på de lösenord som
användaren tillåts sätta, ju mer komplexiteten i lösenorden ökar; desto större är risken
att användaren väljer att återanvända lösenordet till ett flertal tjänster.
Med teknik går detta givetvis att lösa på flera sätt, ett av dem är att tjänsten har stöd
för tvåfaktor-autentisering. Den andra faktorn är oftast någon form av engångslösenord
som genereras av antingen en hårdvarubaserad dosa likt det bankerna använder, en
Yubikey1, eller helt enkelt mjukvara i mobiltelefonen t ex. Google Authenticator2.
Förhoppningen är att hjälpa till med att ta fram en kostnadseffektiv lösning baserad på
den senaste standarden inom multifaktor-autentisering, Universal 2nd Factor (U2F)3,
speciellt riktat mot användare av Shibboleth4 (Single Sign-On); t ex Svenska lärosäten.
2 MÅL OCH SYFTE
Målet med projektet är att utveckla en tilläggsapplikation för Shibboleth Identity
Provider (IdP) 3.x som implementerar stöd för standarden U2F. Tilläggsapplikationen
ska vara tillräckligt flexibel för att göra det så enkelt som möjligt för en organisation att
implementera lösningen i sin befintliga infrastruktur och Shibboleth IdP.
Det primära syftet är att ta fram en standardlösning som är kostnadseffektiv för
organisationer med begränsade medel och många användare som t ex Svenska lärosäten
och myndigheter. Det finns även ett internationellt intresse speciellt från lärosäten i
USA som även de använder sig av Shibboleth och som idag ingår i stora federationer
med miljontals användare i form av anställda och studenter.
United ID5 kommer efter detta projekt ta över förvaltningen av tilläggsapplikationen.
https://www.yubico.com/products/yubikey-hardware/
https://goo.gl/rp5EWY
3 https://www.yubico.com/about/background/fido/
4 https://shibboleth.net/products/identity-provider.html
5 https://unitedid.org/
1
2
3
3 PROJEKTBESKRIVNING
Projektet ämnar utveckla en U2F tilläggsapplikation till Shibboleth Identity Provider
3.x som gör det möjligt att autentisera med både lösenord och U2F. Koden levereras som
öppen källkod med licensen Apache License 2.06
Projektet är uppdelat i ett par faser.
Fas 1:
Utveckling av applikationen i form av en tidig ”proof-of-concept”.
Fas 2:
Slutlig implementation, paketering, testning och dokumentation.
Fas 3:
Referensinstallation av U2F tilläggsapplikationen i United ID, https://app.unitedid.org/
4 LEVERABLER
https://github.com/Ratler/shibboleth-mfa-u2f-auth
https://wiki.shibboleth.net/confluence/display/IDP30/Contributions+and+Extensions
5 RESULTAT
Tilläggsapplikationen shibboleth-mfa-u2f-auth är den första fungerande implementation
av U2F i Shibboleth. Referensinstallationen i United ID kommer dröja till Augusti 2016
pga. ett större arbete än beräknat för att uppgradera Shibboleth från version 2.0 till 3.x.
6 UTVÄRDERING OCH ANALYS
6.1 UTVÄRDERING AV RESULTAT
Projektet har levererat en första version av tilläggsapplikationen enligt plan.
Driftsättning av tilläggsapplikationen var egentligen en avgränsning men valet gjordes
att ta med det som fas 3 genom att implementera en referensinstallation i United ID.
Tyvärr var det inte möjligt att hinna med det eftersom det krävdes ett digert arbete med
att uppgradera Shibboleth för United ID som bygger på äldre komponenter som inte är
kompatibla med den nyare Shibboleth 3.x.
Arbetet med referensinstallationen kommer att fortsätta utanför ramen för detta
projekt.
Det tog även mer tid än beräknat att sätta sig in i Shibboleth 3.x, som är en total
omskrivning av Shibboleth 2.x, eftersom det saknas dokumentation. Detta innebar att
6
http://www.apache.org/licenses/LICENSE-2.0
4
en stor del projekttiden gick åt att sätta sig in i kodbasen för Shibboleth 3.x istället för
att helt kunna fokusera på utvecklingen av tilläggsapplikationen.
U2F är fortfarande en ny standard vilket innebär att det idag finns begränsat stöd i de
vanligaste webbläsarna. Den enda webbläsaren som kommer med stöd direkt för
hårdvarubaserade U2F-tokens är Google Chrome. Firefox arbetar med att ta fram stöd
för U2F, det finns däremot plugin för Firefox som fungerar med varierande kvalitet.
Microsoft Internet Explorer/Edge har inget stöd alls, och de har heller inga planer7 på
att implementera standarden.
6.2 FÖRSLAG PÅ FÖRBÄTTRINGAR
Tilläggsapplikationen shibboleth-mfa-u2f-auth behöver vidareutvecklas för att ge stöd åt
mer generella datakällor, t ex SQL, LDAP och dokumentbaserade databaser. Idag har
den endast stöd för Yubico U2F Validation Server8.
7 FRAMTIDA ARBETEN
Arbetet fortsätter under United ID som tar över förvaltningen av shibboleth-mfa-u2fauth. Planen är att till augusti 2016 leverera stöd för SQL och dokumentbaserade
databaser som MongoDB. Samt att färdigställa referensinstallationen i United ID för att
kunna visa upp hur U2F fungerar i Shibboleth.
https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/6830216-u2fsupport-2-factor
8 https://developers.yubico.com/u2fval/
7
5