Oauth 2.0 valtuutuskehys ja sen tietoturva
Ari-Pekka Koponen
Kanditaatin tutkielman aihe
Tutkielman tarkoituksena on vastata kysymyksiin:
- Mikä OAuth 2.0 autentikaatiokehys on ja kuinka se on määritelty?
- Mitä varten se on luotu?
- Mitkä ovat sen vahvuudet ja heikkoudet?
- Millainen sen tietoturva on?
- Onko siinä tunnettuja tietoturvaongelmia?
MIKSI
valtuutuskehys?
Valtuutuskehyksen tarkoitus
Valtuutuskehyksen tarkoituksena on tarjota käyttäjälle mahdollisuus sallia kolmannen osapuolen sovellusten pääsy käyttäjän haluamiin tietoihin ja dataan (resursseihin).
"Log in with Facebook" ja "Connect to Facebook" ovat hyviä esimerkkejä (OAuth 2.0) valtuutuskehyksen implementaatioista. Kolmannen osapuolen sovellukselle sallitaan pääsy esimerkiksi käyttäjän sähköposti-osoitteeseen tai julkaisuihin.
Perinteinen asiakas-pAlvelin malLI
Perinteisessä asiakas-palvelin valtuutusmallissa asiakas pyytää palvelimelta suojattua resurssia autentikoitumalla käyttäen resurssien omistajan käyttäjätunnuksia.
Jotta kolmannelle osapuolelle voidaan sallia pääsy suojattuihin resursseihin, täytyy resurssien omistajan käyttäjätunnukset jakaa sen kanssa. Tässä mallissa on useita ongelmia ja rajoitteita.
Asiakas-palvelin mallin
ongelmat ja rajoittEET
- Kolmannen osapuolen sovellukset joutuvat tallentamaan käyttäjätunnukset tulevaa käyttöä varten, usein selväkielisinä.
- Palvelinten on pakko tukea salasanapohjaista valtuutusta, salasanojen luontaisista heikkouksista huolimatta.
- Kolmannen osapuolen sovellukset saavat liian laajat oikeudet resurssien omistajan suojattuihin resursseihin eikä resurssien omistajalla ole mahdollisuutta rajoittaa oikeuksien kestoa tai laajuutta.
ASIAKAS-PALVELIN MALLIN
ONGELMAT JA RAJOITTEET
- Resurssien omistaja ei voi peruuttaa kolmannen osapuolen pääsyä suojattuihin resursseihin peruuttamatta samalla kaikkien kolmansien osapuolien pääsyä. Ainoa tapa tehdä tämä on vaihtaa salasanaa.
- Tietovuoto missä tahansa kolmannen osapuolen sovelluksessa vaarantaa käyttäjän salasanan ja kaiken datan, joka on suojattu sillä.
Oauth 2.0
ratkaisuna
OAUTH 2.0 RATKAISUNA
- OAuth pyrkii ratkaisemaan asiakas-palvelin mallin ongelmat tarjoamalla valtuutuskerroksen ja erottamalla asiakkaan roolin resurssien omistajan roolista.
- Resurssien omistajan käyttäjätunnusten käyttämisen sijaan, asiakkaalle myönnetään ns. access token, joka on merkkijono, johon on liitetty pääsy tiettyihin resursseihin tietyksi ajaksi.
Oauth 2.0 valtuutuskehys ja sen tietoturva
By apkoponen
Oauth 2.0 valtuutuskehys ja sen tietoturva
- 633
