Designdokument for Weblogin

Weblogin er en innloggingsløsning for Universitetet i Oslo. Tjenesten benytter protokollen SAML2, og baserer seg på Uninett sitt SimpleSAMLphp-rammeverk.

1 Innledning

Weblogins primære formål er å tilby spesialisert autentisering (innlogging) der UiO har krav som sektorløsninger ikke tilfredsstiller. Løsningen er basert på bransjestandardløsninger og teknologien regnes som moderne. De spesielle kravene UiO har som sektorløsningen ikke tilfredsstiller er

  • utplukk av ulike brukergrupper på UiO
  • passordløs innlogging
  • mulighet for svært løst knyttede brukere gjennom WebID
  • skreddersøm

Tjenesteeier er IT-direktøren. Teknisk kontaktpunkt for tjenesten er weblogin-drift.

2 Redegjørelse

Weblogin er resultatet av prosjektet "Autentiseringspunkt for UiO". Prosjektet ble opprettet fordi endringer i Feide ville gjøre at innlogging ville brekke for mange brukere av UiOs publiseringssystem - Vortex. Første versjon av Weblogin var svært lik innloggingstjenesten i Feide, men med UiO-profil og en del funksjonalitet endret eller fjernet basert på krav. Ved å ha en egen autentiseringsløsning på UiO så åpnet dette for at webutviklere kunne integrere tjenestene sine tettere med autentiseringsløsningen. Eksempler på dette er spesiell informasjon for brukere i Weblogin for visse tjenester, og funksjonalitet i Weblogin for å muliggjøre bruk av "Back" i nettleseren i tjenesten Vortex (et krav fra nettredaksjonen på UiO).

En rekke webtjenester er avhengige av Weblogin for autentisering og tilgangskontroll. Dog anses Weblogin for å være en modulær tjeneste da den kan erstattes med relativt enkle grep på grunn av den underliggende protokollen. Weblogin er igjen avhengig av UiOs elektroniske katalog, ldap.uio.no, som Weblogin bruker som database.

Weblogin muliggjorde et tidlig IT IHR-tiltak - færre spørsmål om passord for brukere. Dette var mulig å løse sentralt i tjenesten heller enn at alle tjenester som benytter Weblogin måtte utvides.

Etter omroganiseringen av USIT så er ansvaret for Weblogin ikke ferdigstilt. Drift av infrastruktur er utførst av web-drift, mens det administrative er gjort i UAIT. Denne prosessen er ikke ferdigstilt på USIT.

Weblogin anses for å være en suksess. Tjenesten har gjort oss rustet til å gjøre endringer der andre i sektoren er låst. 

3 Detaljebeskrivelse

3.1 Teknisk formål

Som nevnt i innledningen så oppsto Weblogin som en følge av endringer i Feide. Denne endringen var i prinsipp at Feide ville legge ned støtte for en "fallback"-ordning der Feide forsøkte å autentisere brukere først i persontreet på ldap.uio.no, og hvis det feilet, i systemtreet. Dette var et brudd med Feides praksis og et hack de ikke ville fortsette med. På USIT så vi likevel et behov for dette gjennom Vortex. Når Weblogin ble realisert så gjorde man også grep for å få UiO-profil på grensesnittet, samt gjøre dette mer brukervennlig.

Neste store utviklingsfase for Weblogin kom som en konsekvens av en IHR-aktivitet der brukere klagde på at de måtte skrive inn brukernavn og passord ofte i løpet av arbeidsdagen. Av potensielle løsninger så klarte man å løse dette i Weblogin, uten behov for endringer ute i tjenester som benytter Weblogin(et unntak for Vortex som trenger noe funksjonalitet knyttet til Back-problematikk). Løsningen baserer seg på å autentisere brukere på UiO som allerede er autentisert mot AD (detaljert forklaring følger).

Siste utvidelse av Weblogin er muligheten til å inkludere andre autentiseringssystemer i avtaler mellom tjenester og Weblogin. I effekt vil dette si at Weblogin opptrer som en proxy/et mellomledd mellom en ekstern IdP, f.eks. Feide eller MinID, og en webtjeneste - f.eks. Vortex eller nettskjema. Protokollen SAML støtter i prinsipp dette i dag ved at webtjenesten selv setter dette opp og holder styr på de to ulike autentiseringssystemene, men dette har vist seg å være både kostbart og komplisert for de fleste tjenesteeiere. Løsningen fra USIT er da å sentralisere denne funksjonaliteten slik at drift/forvaltning trenger denne kompetansen, men kunder av Weblogin kun trenger å bestille dette.

3.2 Design

3.2.1 SAML

  1. Bruker aksesserer webtjeneste
  2. Webtjeneste sender bruker til Weblogin for autentisering
  3. Bruker sender fra seg brukernavn/passord til Weblogin
  4. Weblogin ber brukeren nettleser gå til webtjeneste med informasjon fra Weblogin
  5. Brukeren er innlogget i webtjenesten som en følge av denne informasjonen

Hovedformålet med SAML er å standardisere autentisering. SAML er så uniform at ofte kan man erstatte IdP (Identity Provider - tjenesten som fungerer som server i en SAML-sesjon) for en webtjeneste uten at man trenger å endre annet enn konfigurasjon. Andre viktige poenger med SAML er at selve autentiseringen er begrenset til sentraliserte tjenester. Dette betyr at passord ikke eksponeres for mange forskjellige webtjenester, både eksternt og internt. Fordi SAML er sentralisert så kan man også tilby Single Sign-On (SSO).

3.2.2 Negotiate

Formålet med modulen Negotiate er å tilby sikker, automatisk og passordløs innlogging. Modulen hadde som krav å kunne tilby dette, men fortsatt tilby vanlig passordinnlogging for de brukere som ikke oppfylte kravene for passordløs innlogging.

  1. Bruker logger inn på maskinen sin
  2. Bruker mottar en Kerberos-billett som en del av innloggingen på maskinen i domenet
  3. Bruker går til beskyttet webtjeneste
  4. Webtjenesten finner ingen SAML-sesjon og sender brukeren til Weblogin
  5. Weblogin spør brukerens nettleser om å autentisere seg vha. "Negotiate"
  6. Nettleseren svarer Weblogin med en Kerberos-billett
  7. Weblogin utsteder en SAML-sesjon basert på godkjent Kerberos-sesjon

3.2.3 Delegate

Hensikten med Delegate-modulen er å kunne tilby mer dynamisk, skreddersydd innlogging for tjenester.

  1. Bruker går til webtjeneste
  2. Webtjeneste sender bruker til Weblogin for autentisering
  3. Bruker velger Feide som autentiseringstjeneste
  4. Feide sender bruker til Weblogin etter å ha mottatt godkjent brukernavn og passord
  5. Weblogin utsteder en egen SAML-sesjon basert på autentiseringen fra Feide og videresender brukeren til webtjenesten

 

4 Avhengigheter

4.1 Systemer Weblogin er avhengig av

  • ldap.uio.no - LDAP tilbyr de trær Weblogin benytter til autentisering og metadata.
  • WebId - Enkelte SP-er ønsker brukere fra WebId.

4.2 Systemer som er avhengige av Weblogin

De systemer som er avhengige av Weblogin har en avhengighet som en følge av autentisering.

  • Vortex - Store deler av UiOs nettsted
  • blogg.uio.no
  • meldeapp
  • wiki.uio.no
  • Bilagslønn
  • Minestudier
  • HR-portalen
  • (med flere)

5 Relaterte systemer

Feide er relatert til Weblogin fordi Feide baserer seg på samme protokoll, samt er en av to anbefalte og lovlige autentiseringssystemer for webtjenester.

6 Lenker og referanser

Av Mathias Meisfjordskar
Publisert 26. aug. 2014 15:14 - Sist endret 27. nov. 2018 17:24