IdP-aloitettu SSO vs. SP-aloitettu SSO
Opi lisää IdP-aloitetun SSO:n ja SP-aloitetun SSO:n eroista ja miksi SP-aloitettu SSO on turvallisempi.
Opi lisää IdP-aloitetun SSO:n ja SP-aloitetun SSO:n eroista ja miksi SP-aloitettu SSO on turvallisempi.
Kuten nimestäkin käy ilmi, SP-aloitettu SSO käynnistetään palveluntarjoajan toimesta. Käyttäjä aloittaa todennusprosessin käyttämällä resurssia SP:n verkkosivustolla. SP sitten ohjaa käyttäjän IdP:lle todennusta varten. Kun käyttäjä on todennettu, IdP luo tunnuksen (OIDC) tai SAML-asetuksen (SAML) ja lähettää sen takaisin SP:lle. SP validoi tunnuksen tai asetuksen ja myöntää käyttäjälle pääsyn.
Toisin kuin SP-aloitettu SSO, IdP-aloitettu SSO käynnistetään identiteetin tarjoajan toimesta. Käyttäjä aloittaa todennusprosessin IdP:n verkkosivustolta. Normaalisti käyttäjä löytää luettelon tuetuista SP-sovelluksista IdP:n portaalista. Käyttäjä klikkaa SP-sovellusta ja ohjautuu SP:n verkkosivustolle esiautentikoidulla identiteetillä.

IdP-aloitettu SSO on enemmän suuressa yrityksissä ja organisaatioissa käytetty, jotka luottavat moniin kolmannen osapuolen sovelluksiin tai palveluihin, kuten Workday, Salesforce jne. Se tarjoaa keskitetyn tavan hallita käyttäjien pääsyä useisiin sovelluksiin ja valvoa SSO-todennuksia. Ottaessaan käyttöön IdP-aloitetun SSO:n, työntekijät voivat suoraan käyttää yhdistettyjä sovelluksia IdP:n portailta ilman, että heidän tarvitsee vierailla kunkin sovelluksen verkkosivustolla. Tämä vähentää sisäänkäyntiaikaa ja parantaa käyttökokemusta.
IdP-aloitettu SSO kantaa enemmän riskiä verrattuna SP-aloitettuun SSO:hon.
Todennuskontekstin puute: Kaikki IdP:ltä aloitetut todennuspyynnöt ovat pyyteettömiä. Näin SP aloittaa todennusprosessin, mikä saattaa avata oven luvattomalle pääsylle. On olemassa riski, että käyttäjän istunto voitaisiin kaapata. Haitallinen toimija voisi aloittaa kirjautumisprosessin lailliselle käyttäjälle ilman hänen tietämystään tai suostumustaan.
Istunnon kiinnittyminen: Koska SP ei aloita todennusprosessia, käyttäjän istunto voisi kiinnittyä IdP:n istuntoon. Tämä voisi johtaa istunnon kiinnittymishyökkäyksiin, joissa hyökkääjä voisi kiinnittää käyttäjän istunnon IdP:n istuntoon ja saada luvatonta pääsyä käyttäjän tilille.
Phishing-hyökkäykset: IdP-aloitettu SSO voisi olla altis phishing-hyökkäyksille. Haitallinen toimija voisi huijata käyttäjää vierailemaan väärennetyn IdP-portaalin sivustolla ja varastaa käyttäjän tunnukset. Kun käyttäjä kirjautuu sisään, hyökkääjä voisi ohjata käyttäjän SP:lle esiautentikoidulla identiteetillä.
Ei varmistusta pyynnön validoinnissa: SP-aloitetussa SSO:ssa, normaalisti SP sisältää tarvittavat turvallisuustiedot pyynnössä IdP:lle, jotta pyynnön koskemattomuus säilyisi. Kun SP vastaanottaa todennusvastauksen, se validoi nämä tiedot estääkseen CSRF-hyökkäykset. Esim. state-parametri OIDC:ssä ja RelayState SAML:ssä. Kuitenkin IdP-aloitetussa SSO:ssa, SP ei aloita todennusprosessia, joten SP:llä ei ole varmuutta pyynnön validoinnista.
OIDC ei tue IdP-aloitettua SSO:ta yllä mainittujen haavoittuvuuksien vuoksi. OIDC vaatii SP:n aloittamaan todennusprosessin varmistaakseen pyynnön koskemattomuuden. Vaikka käyttäjät aloittaisivat todennusprosessin kolmannelta osapuolelta, joka ei ole SP, käyttäjän tulisi ensin ohjautua SP:lle aloittamaan todennusprosessi.
Mutta SAML:ssa IdP-aloitettu SSO on mahdollista. IdP voi luoda SAML-asetuksen ilman, että SP aloittaa todennusprosessin. SAML IdP-aloitetussa SSO:ssa SAML-asetus voidaan lähettää suoraan SP:n ACS URL-osoitteeseen ilman oikeaa RequestID:tä ja RelayState:tä. SP:n tulisi pystyä käsittelemään tällainen asetus ja myöntämään käyttäjälle pääsyn. (Huomaa: Ilman RequestID:tä ja RelayState:tä SP:llä ei ole varmuutta pyynnön koskemattomuudesta).
Vaikka IdP-aloitettu SSO tarjoaa keskitetyn tavan hallita käyttäjien pääsyä useisiin sovelluksiin, se kantaa enemmän riskejä verrattuna SP-aloitettuun SSO:hon. SP-aloitettu SSO on turvallisempi ja tarjoaa enemmän varmuutta todennuspyynnön koskemattomuudesta. On suositeltavaa käyttää SP-aloitettua SSO:ta sekä OIDC:ssä että SAML:ssä.