Hoppa till innehåll

Webbutveckling, systemförvaltning och design

Our take on web, social media and other tech stuff. From the people behind www.kth.se

Varför federerad autentisering är kass

Ett ständigt återkommande ämne sedan ganska många år har varit det här med federerad autentisering. En av orsakerna är förmodligen att vi i universitetsvärlden i Sverige har en hel organisation, Swami, som ägnar sig åt att arbeta med just detta. Att vi ändå aldrig riktigt tycks komma till att federationen tar fart har förmodligen en ganska krass rot-orsak.

SwamID löser inte våra problem

Vi har ett växande behov att tillhandahålla någon form av autentisering till en vid skara människor. Det handlar inte så mycket om autentisering av något slags polisiära skäl, i många sammanhang spelar det kanske inte så stor roll vilken fysisk person som använder ett visst konto, men vi vill kunna associera vissa data med varandra och en viss användare över tid och över flera tjänster, t.ex för att man ska kunna föra en diskussion i ett forum eller samarbeta på andra sätt digitalt. Till och med anonyma sessioner behöver autentiseras för att kunna få sådana sammanhang. Jag säger inte att det bara är SwamIDs fel, det kanske i lika hög grad beror på att vi har orealistiska förväntningar på att Swami ska lösa det faktiska problem vi har. SwamID löser kanske Sunets problem. Inte våra.

SwamID spänner inte vår målgrupp

Eftersom universitetet är en väldigt öppen miljö är den krets som detta berör, utöver de uppenbara personer som direkt ingår i verksamheten, mycket stor. Det är gästforskare och studenter ifrån universitet i hela världen. Det är näringslivskontakter ifrån hela världen. Eventuellt blivande studenter ifrån hela världen. Ja, potentiellt är det faktiskt hela allmänheten, i hela världen.

Federation löser inte det här idag. En väldigt stor del av vår målgrupp, även målgrupper vi verkligen har idag, även målgrupper inom Sverige, är helt enkelt inte med i federationen. En viktig insikt är att federationen heller inte kommer att lösa det här i framtiden. Federationen tar det polisiära perspektivet. Federation bygger på en hård koppling, med kontrakt, mellan de federerade enheterna, att dessa litar på varandra och att de i sin tur vet exakt vem som finns bakom alla identiteter. Under överskådlig framtid kan jag inte se att vi kan nå de vi behöver via federationer.

Federering hanterar bara autentisering

Något många inte förstår är att federering bara löser autentisering och vad denna begränsning innebär. Man kan ju logga in. Eller? Min tjänst kan ifrån federationen få veta att en viss session är associerad med ett visst ID. Jag kan eventuellt få lite mer information, som tex vad personen heter, och om IDP:n anser att användaren har någon viss roll, affiliation, hos den som äger IDP:n. Rent teoretiskt skulle det senare kunna användas för någon behörighetskontroll. I realiteten är det i allmänhet värdelös information för alla andra utom den utfärdande enheten.

Ett exempel på hur framgångsrik federationen är brukar vara Eduroam, och det är helt tveklöst en succé. Men det beror på att Eduroam har de mest basala krav på auktorisering man kan tänka sig. Antingen är man med i federationen och då får man nät, eller så är man det inte. Det finns inget persistent data med i bilden, inga olika IP-adresser som ska delas ut till olika grupperingar, osv osv. Andra exempel på tjänster som har sådana mycket låga krav på auktorisation är vissa bibliotekstjänster.

Nästan alla andra system kräver en mycket större finkornighet i auktorisationen och rent systemtekniskt är det skenbart enkelt.

  1. Skapa ett systemkonto.
  2. Tilldela systemkontot de behörigheter som den användare som ska använda systemet ska ha.
  3. Ge användaren tillgång till systemkontot.

Federering löser det tredje steget och det första går att automatisera, men steg två är inte en del av lösningen. Två av tre steg kan låta bra, men de är de triviala stegen. Det är i det andra steget hela relationen mellan universitetet och användaren definieras.

Eller som Swami själv skriver om sin IdpProxy. ”Det gör att universitetet slipper kontoadministration för dessa personer förutom registrering användaridentitet [sic] i de system som tillgången gäller.” Det är bara det att det är denna ”registrering” som är kontoadministration. Vi slipper steget att generera och lämna ut ett lösenord. Än sen?

Auktorisering låter sig inte federeras

Pga denna brist pratas det om att det ska finnas en federerad grupphantering så att man även ska kunna få auktorisationsinformation. Problemet är bara att definitionen av relationen mellan universitetet och kontoinnehavaren bara är intressant för universitetet och kontoinnehavaren. Att Nisse är anställd på Chalmers är inte särskilt intressant för oss att veta när han ska vara med i en distansutbildning i ledarskap hos oss, och vice versa. Att Stina går en kurs i algebra och geometri på Lunds universitet är ointressant när hon vill komma åt resurser som tillhör envariabelanalyskursen på KTH. Vi får inte ens dela information mellan myndigheter om individers relation med oss hur som helst.

Visst skulle vi kunna skjuta upp gruppinformation till en federerad grupphanterare bara för att få tillbaka informationen igen när en person loggar in, men varför? Jag har svårt att se att det är annat än konstgjord andning på en lösning som inte fyller våra behov. Och om vi ändå måste lösa auktoriseringen själva, varför inte ta de andra två stegen också?

Federering är en usel användarupplevelse

Ett annat problem är att användarupplevelsen av att logga in i typiska system med federerad autentisering ofta är riktigt dålig. Det verkar ofta som att autentiseringen har blivit ett självändamål när användaren egentligen bara vill kunna komma åt tjänsten. Framför allt är proxy-IDP:er överanvända.

Ett alldeles färskt exempel är den nya Box-tjänsten som inom kort kommer att erbjudas alla anställda på KTH. Allt är inte federationens fel, men det är ganska typiskt för hur sådana här tjänster brukar bete sig.

  1. Jag går till kth.box.com. Alltså KTH.box.com.
  2. Jag får upp en sida som undrar om jag vill logga in som KTHare. Äh, ja, det var därför jag gick till kth.box.com liksom. Jag väljer ja, jag vill logga in som KTHare.
  3. Nu får jag efter en diverse redirects upp Sunets proxy-IDP där jag erbjuds att logga in på Blekinge högskola. WTF?
  4. Efter att ha letat i en stund i listan, ah, det är inte KTH här, utan Kungliga Tekniska högskolan, och för tredje gången förklarat att jag vill logga in som KTHare och bockat i den lilla rutan som säger att jag vill att proxy-IDPn kommer ihåg det fast jag nästan aldrig har varit med om att det faktiskt har hänt, så blir jag redirectad massor av gånger till, innan jag äntligen får logga via KTHs login-server.
  5. Efter att ha angett användarnamn och lösenord blir det ytterligare diverse redirects innan jag till slut kommer åt mina filer.

Det känns mer som att bryta sig in än att logga in. På den proxy-IDP som jag kommer till när jag vill använda Adobe connect får jag möjlighet att komma ihåg vilken IDP jag vill använda i en hel vecka. En vecka? Jag har varit associerad med KTH i en eller annan form i tjugo år.

Federationen skymmer vägen framåt

Det är mer självorsakat än något annat och ska inte bara skyllas på federationen, men det har funnits en förväntan på att vi ska kunna lösa våra autentiseringsproblem med hjälp av SwamID och den har lagt sig som ett lock på den kreativitet som krävs för att lösa de behov vi ställs inför och hindrat vår utveckling på området. Att SAML till slut har börjat få visst avtryck som autentiseringsprotokoll i en del produkter har bidragit till det.

I själva verket är SwamID kanske i nästan lika hög grad ett problem som en lösning. Vi måste t.ex säkerställa att mer löst kopplade användaridentiteter som vi skapar på KTH som inte uppfyller de villkor som SwamID kräver, för behov som inte federationen kan tillfredsställa, inte heller kan användas för autentisering i federationen.

Hur tar vi oss framåt?

Federationen löser behovet av autentisering i Eduroam ganska väl, den löser också behovet för vissa bibliotekstjänster. Och det räcker ganska bra så för att motivera dess existens. Det kan också finnas ett värde av den för att koppla ihop identiteter i olika system över de federerade enheterna.

SwamID är en av de resurser som finns för autentisering, liksom Facebook, Twitter, Google, Amazon osv, är andra, med andra egenskaper, och vi behöver hitta en strategi i detta. Federation, SAML och SwamID är sannolikt några av bitarna i den. Men de är just bara en del av dem. Vi behöver kunna dela ut konton på olika sätt till olika personer och att använda SwamID som ett av flera sätt för att hämta ut konton är utmärkt och kan påverka Level of Assurance, men det är nog få fall det är intressant att logga in direkt i tjänster med hjälp av federationer, utan vi behöver hitta någon lämplig abstraktionsnivå till den. Vi måste själva äga upplevelsen av att använda våra system.

Jag arbetar som chef över IT-arkitekturgruppen på IT-avdelningen på KTH.

15 reaktioner till “Varför federerad autentisering är kass”

  1. Vissa av dina slutsatser är riktiga – bla den att discovery-processen suger – men till stora delar har du fel. Mycket av det du efterfrågar är saker som många vill ha runt om i världen och det pågår intensivt arbete med att råda bot på bristerna med federerad authn bla inom refeds.org.

    Har du lust att delta så är du mer än välkommen!

  2. Nu förstår jag faktiskt inte hur du menar. Hur kan jag ha fel till stora delar om mycket av det jag efterfrågar efterfrågas av många andra runt om i världen och det pågår intensivt arbete för att komma tillrätta med det?

  3. Jo alltså jag menar att de problem med federerad identitet som du identifierat är problem som många andra identifierat genom åren. Det finns i vissa fall inga bra lösningar, i andra fall finns det förslag på lösningar som utvärderas – tex har vi i SWAMID lett utvecklingen av lösningar på problemet med attribut-hantering inom och mellan federationer.

    När det gäller ”remember my choice”-rutor så för dom med sig ganska alvarliga användbarhetsproblem för användare som behöver ångra sig – ”ta bort alla kakor som har med ds.swamid.se att göra” är inte en bra instruktion för vanliga användare.

    SWAMID (liksom andra inom federations-communityt) följer vi arbetet med accountchooser.com som ser ut att bli en bättre lösning på just det där problemet.

    Vi har plats för fler bra ideer och fler smarta människor som hjälper till! Inom både refeds.org, terena.org och i GEANT finns det pågående arbete kring auktorisation som desperat är i behov av smarta människor som du.

  4. Men att många andra har identifierat dessa problem genom åren och det fortfarande inte finns en lösning talar kanske inte till federationers fördel.

    Jag tror delvis att problemet är att säljpitchen är fel. Många tror att federationen ska lösa deras problem med kontroadministration och blir antingen grymt besvikna eller kommer aldrig ens så långt för att de inte förstår hur den skulle kunna göra det, de letar efter något som helt enkelt inte finns.

    Jag ser federationen som högintressant för att initiera konton. Vi får veta att någon vet vem en viss person är med en viss trovärdighet och det är av stort värde i den processen, inte tu tal om det. Däremot är värdet av att med hjälp av federationen direkt logga in i våra system tveksamt.

  5. Precis. Det är svårt att förklara skillnaden mellan provisionering och identifiering. Ofta måste man ha provat själv först.

    Det jag tror du missar är att det finns fler perspektiv på detta. Du har ett ganska tydligt enterprise-perspektiv på federationer och alla tillämpningar passar inte in i den ramen. Det vi försöker göra är att balansera kostnaden för federationen mot värdet samtidigt som vi försöker erbjuda något som funkar hyfsat bra för flera usecase.

    Om du (för att återknyta till ditt box-exempel) inte gillar användarupplevelsen med box så kan du ju alltid ansluta din box-instans direkt till din idp – det är bara att prata med box support om det. Dina användare kommer aldirg att se en onödig dialog men du kan å andra sidan inte dela filer med BTH längre. Allt har ett pris.

    Sen håller jag med dig till 100% om att en skola som KTH måste se federation som en del av sin IDM och inte som en ersättare – det är ungefär som med Internet: har du en komplex miljö med många trafikflöden vill du antagligen köra BGP själv. Utmaningen för SUNET och SWAMID är att både se till KTHs och BTHs behov, utan att det kostar skjortan.

  6. Ja, vi ska ta tag i box-integrationen, vi är inte i hamn riktigt där. Det finns nog flera möjligheter att få till det så att det passar oss lite bättre.

    Jag missar nog egentligen inte att det finns flera perspektiv på problemet, men jag talar uteslutande ifrån vårt och problematiserar ifrån vår synvinkel. Det är inte mitt primära intresse att göra det så bra som möjligt för alla, utan så bra som möjligt för oss, vilket obönhörligt gör att våra perspektiv naturligtvis är olika.

    Men om det nu är så att det jag efterfrågar efterfrågas av många andra så kan inte mitt perspektiv vara särskilt udda.

  7. Ditt perspektiv är absolut inte udda! Precis som när Internet byggdes måste folk som har förstånd att beskriva problemet välja att lyfta blicken. Jag hoppas fortfarande på att du ska vilja hjälpa till att fixa de större problemen på ett sådant sätt att KTHs IDM också blir bättre.

  8. Jo, men jag tror att våra vägar dit skiljer sig. Jag måste lösa problemet att låta folk autentisera och logga in i våra system idag, oavsett federationer. Det har högsta prioritet. Sedan kan vi eventuellt dra nytta av federationer för att förbättra det, level-of-assurance-aspekter och kontodistribution är väl det som kommer närmast till hands. Som min verksamhet, mina problem och mina prioriteringar ser ut kan jag inte laga det inifrån federationen och arbeta mig utåt, jag måste börja utifrån och arbeta mig in.

    Så småningom kanske det kan konvergera.

    För mitt intryck av både SwamID och resonemang ifrån andra som arbetar med federationslösningar är att man primärt arbetar ifrån SSO-perspektivet och idén att man ska logga in i system med någon annans IDP, en tanke som jag är tveksam till ens är meningsfull annat än i väldigt speciella sammanhang, som Eduroam, där det är lysande.

    Vilket för mig tillbaka till att SwamID inte löser våra problem med autentisering, utan helt andra.

  9. Då är din blog-post plötsligt lite tydligare för mig: du pratar inte om federationer alls utan om att KTH behöver ett internt SSO-system. Det är förhållandevis enkelt och det finns ganska gott om produkter på marknaden som gör att det ganska enkelt att lösa det problemet. De flesta sådana produkter använder federationer på precis det sätt du antyder – som ett sätt bland många att logga in. Om du vill ha en snabb lösning på social inloggning så kan du haka på beta:n av NORDUnets social2saml-brygga – kontakta Roland Hedberg.

    Om du klickar ”köp” på någon bra SSO-produkt så kan du ägna tiden du sparat åt att hjälpa mig och de andra i SWAMID, SURFederatie, InCommon, osv att bygga distribuerad auktorisation istället 🙂

  10. Ja, syftet var inte bara att ge en känga åt er, utan att väcka upp lite ur en allmän jungfruslummer och bana mer väg åt lokala tankesätt.

    Men samtidigt kan jag känna ett behov av att ifrågasätta prioriteringarna. Jag är också något lite skeptisk till idén med distribuerad auktorisation, men läser gärna på lite hur man tänker sig det hela.

  11. För det är ju inte så enkelt att det bara är att köpa in en SSO-produkt. Och det primära önskemålet när Swami frågade högskolorna vad man skulle ägna sig åt framöver på en session jag var med var ifrån flera just att man skulle titta på hur vi hanterar konton på distans över världen. Men det var väl inte roligt att hålla på med.

  12. Om du dykt upp på någon av våra workshops (vi har haft 4 i år varav en på KTH – bara några meter från ditt kontor med hiss) så hade du hört just precis om hur vi gjort andra federationer enkelt tillgängliga via SWAMID.

    Idag kan du nå användare i stora delar av Europa, Canada och Sydamerika via eduGAIN. Vi jobbar (dvs Valter jobbar) på Japan och USA i skrivande stund.

    Exakt vad ville du ha hjälp med sa du? Det kanske helt enkelt bara handlar om att hålla sig informerad?

  13. Det löser fortfarande inte auktorisation vilket gör att detta arbete ger mig betydligt mindre värde än ni utger det för. Jag måste fortfarande ha en lösning för alla andra, inklusive de som inte är med i EDU-sektorn. För det är ju inte så att SwamID ens täcker Sverige. Att påstå att man löser USA och Japan är rökridåer. Man täcker vissa delar av dessa länder.

    Jag förstår att det är kul att bygga imperier. Frågan är om det verkligen är det vi behöver?

  14. Auktorisation är alltid lokal – även sk distribuerade auktorisationsmodeller slutar med att man fattar ett lokalt beslut. Vem som helst som jobbat mer än 1 minut med dessa frågor inser det – där tror jag att din blog-post slår in vidöppna dörrar. Måste din lokala auktorisationslösning kunna aggregera information från många olika källor? Självklart! Vad får dig att tro att någon som jobbar med federationer inte skulle hålla med om det?

    Självklart kan inte SWAMID lösa alla dina enterprise-auktorisationsbehov (däremot finns det gott om exempel på enskilda tjänster som behöver SWAMID och inget annat). Ingen som jobbar med SWAMID eller någon R&E-federation jag träffat på har någonsin påstått något så dumt.

    Det SWAMID och R&E-federationer runt om i världen kan göra är främst att ge dig en hyfsat bra förtroendenivå, affiliering samt organisationell hemvist för några tiotals miljoner användare runt om i världen som är associerade med högre utbildning och forskning. Klubben växer varje dag.

    I Sverige handlar det om >90% täckning. Det ligger i sakens natur att R&E-federationer aldrig kommer att täcka hela världen – det är inte syftet, och precis därför kommer vi aldrig bygga några imperier.

    Om ditt främsta problem är att du vill ha en stabil (nåja) identifierare för 99% av alla användare i världen och inte bryr dig om något av de egenskaper du får från R&E-federationer är det bättre att du använder facebook+google. Det är inte svårt – du hade varit klar redan om du inte ägnat dagen åt att blog-battla med mig 🙂

    SWAMID försöker inte bygga något imperium eller vara i vägen för någons kreativitet. I början av denna tråd trodde jag möjligen att du var intresserad av att hjälpa till. Dina blog-posts om LADOK tycker jag var helt geniala och i det fallet inser vi nog båda att sannolikheten är ganska låg att någon av oss kan ha någon som helst inflytande.

    I detta fall är det tvärt om: snack är billigt. Jag hör ofta KTH säga att man vill bli mer involverade i SUNET och SWAMID.

    Tycker du att SWAMID borde göra något annat än det vi gör? Tycker du att federationer inte löser ditt problem? Hjälp då till att göra världen bättre!

    Detta har varit kul. Om du vill hjälpa till så kontaktar du mig privat så kommer jag och mina kollegor som driver SWAMID att hjälpa dig hitta fram till de communitys jag och mina kollegor i SWAMID har tillgång till.

    I förhoppning om att snart återse dig med uppkavlade ärmar….

    Leif

  15. Jag har inte heller sagt att ni försöker hindra oss, Leif. Vi är så bra på att bedra oss själva. Det finns ett ganska utbrett missförstånd om vad man får av federationen, delvis för att man så gärna vill tro att någon annan kommer att lösa våra problem.

    Men jag kan också tycka att man ifrån Swamis sida underblåser det med påståenden som att vi slipper ”kontoadministration” och bara behöver ”registrera” användare, för det uppfattar nog jag som mer än bara lite utstuderat vilseledande. Eller snack, som du uttrycker det.

    Kommer jag ge mig in i Swami och bygga federation? Nej. Hade jag velat? Ja, kanske men det hinns inte med. Kommer jag att försöka lösa de problem vi har och dela med mig av hur jag tänker och försöker göra och hur jag uppfattar att Swami passar in i det? Ja. Värdelöst? Kanske.

    Krasst är inte min fråga hur jag gör kontoadministration med federation. Min fråga är hur gör jag kontoadministration. Hur federationen passar in i det blir först en följdfråga. Ett annat sätt mer positivt sätt att uttrycka det är att federationen löser problem som vi inte har hunnit till ännu. Min väg dit är bottom-up och det finns en hel del bråte i vägen.

    Vi kanske möts på mitten.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *