Avaa tunnus

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 15. maaliskuuta 2022 tarkistetusta versiosta . tarkastukset vaativat 5 muokkausta .

OpenID  on avoimen standardin hajautettu todennusjärjestelmä , joka tarjoaa käyttäjälle mahdollisuuden luoda yhden tilin todennusta varten useissa toisiinsa liittyvissä Internet-resursseissa käyttämällä kolmannen osapuolen palveluita [1] .

OpenID:n ydintehtävä on tarjota kannettava, asiakaslähtöinen digitaalinen identiteetti vapaaseen ja hajautettuun käyttöön [2] .

Standardi kuvaa autentikointia vaativien Internet-resurssien (Relying Parties) ja OpenID-palveluntarjoajien (OpenID Providers) välisen viestintäprosessin. On olemassa useita OpenID-palveluntarjoajia, jotka isännöivät OpenID- URL- osoitteita [3] . OpenID-todennusta käyttää Google , Yahoo! , AOL , LiveJournal , MySpace , IBM [4] , Steam [5] ja Orange . Standardin laajennus (OpenID Attribute Exchange) helpottaa käyttäjätietojen, kuten nimen tai sukupuolen, siirtämistä OpenID-palveluntarjoajalta Internet-resurssille [6] .

Joulukuussa 2009 OpenID-tiliä oli yli miljardi ja OpenID-teknologiaa tukevia sivustoja noin 9 miljoonaa [7] .

Standardin nykyinen versio, OpenID Connect 1.0, julkaistiin helmikuussa 2014 ja päivitettiin marraskuussa 2014 [8] [9] .

Origins

Vuonna 2005 Brad Fitzpatrick , joka tunnettiin LiveJournalin luojana ja joka tuolloin työskenteli Six Apartissa , ehdotti Internet-yhteisölle yhden tilin konseptia eri Internet-resursseille [10] . Hän ehdotti tilinsä pitämistä yhdellä palvelimella ja tämän tilin käyttöä rekisteröityessään muihin Internet-resursseihin. Alun perin Yadis-nimellä (lyhenne sanoista "Yet another distributed identity system") protokolla sai nimensä OpenID, kun Six Apart rekisteröi openid.net-verkkotunnuksen projektilleen. Pian OpenID-tuki otettiin käyttöön LiveJournalissa, ja tämä tekniikka herätti nopeasti Internet-yhteisön huomion [11] .

Vuonna 2006 luotiin ensimmäinen OpenID-spesifikaatio – OpenID Authentication 1.1 [12] .

5. joulukuuta 2007 Sun Microsystems , VeriSign ja useat OpenID:n kehittämiseen osallistuvat yritykset julkaisivat OpenID 2.0 -spesifikaatiot ja ilmoittivat virallisesti, että ne eivät nostaisi vaatimuksia, jos joku käyttää OpenID-tekniikkaa, elleivät käyttävän henkilön toimet ole. teknologia on suunnattu teknologian käyttöönottoa tai teknologian omistusta vastaan ​​[13] .

OpenID-tavaramerkki rekisteröitiin Yhdysvalloissa maaliskuussa 2008 [14] .

Kirjautuminen OpenID:llä loppukäyttäjän näkökulmasta

Sivustolla on esimerkiksi example.comkirjautumislomake, jossa on yksi syöttökenttä OpenID-tunnisteelle. Usein tämän kentän vieressä on OpenID-logo. Voidakseen valtuuttaa tällä sivustolla käyttämällä tunnistettasi, esimerkiksi  pupkin.openid-provider.orgrekisteröityneenä OpenID-palveluntarjoajalle  openid-provider.org, käyttäjän on syötettävä tunnuksensa sivustolla tarjottavaan kirjautumislomakkeeseen. Sivusto example.com ohjaa sitten käyttäjän palveluntarjoajan sivustolle. Palveluntarjoajan sivusto pyytää käyttäjää vahvistamaan, haluaako käyttäjä todella antaa tietoja tilistään. Jos käyttäjä suostuu, palveluntarjoajan sivusto uudelleenohjaa käyttäjän takaisin riippuvaisen osapuolen sivustolle. Käänteisessä uudelleenohjauksessa palveluntarjoaja välittää käyttäjätiedot luottavalle osapuolelle [15] .

OpenID-palveluntarjoaja on esimerkiksi LiveJournal , joten voit käyttää LiveJournalissa olevaa päiväkirjasi osoitetta OpenID-tunnisteena [16]

Protokollan yleinen kuvaus

OpenID-ominaisuudet

OpenID sallii käyttäjän käyttää yhtä OpenID-palveluntarjoajalle rekisteröityä tiliä useilla muilla sivustoilla. Käyttäjä voi valita, mitä tietoja hän antaa sivustolle. Profiilitietojen tai muun OpenID-spesifikaatiossa kuvailemattoman tiedon vaihto voidaan toteuttaa OpenID-protokollan kautta lisäpalveluilla. Tätä varten tarjotaan OpenID-protokollan [17] virallisesti tukema protokollalaajennusmekanismi .

On mahdollisuus delegoida OpenID. Tämä tarkoittaa, että tietyn verkkotunnuksen omistaja voi käyttää sitä synonyymina (aliaksena) jo olemassa olevalle OpenID-tunnisteelle, joka on hankittu miltä tahansa OpenID-palveluntarjoajalta. Tätä varten sinun on lisättävä muutama sisällönkuvauskenttä sivulle, jota käytetään edustajana [18] .

Hajauttaminen

OpenID-järjestelmä on hajautettu järjestelmä. Tämä tarkoittaa, että ei ole olemassa keskuspalvelua tai organisaatiota, joka sallisi järjestelmän käytön tai rekisteröi Internet-resursseja tai OpenID-todennusta vaativia OpenID-palveluntarjoajia. Loppukäyttäjä voi vapaasti valita, mitä OpenID-tarjoajaa käyttää, ja säilyttää tunnisteen, jos OpenID-palveluntarjoaja vaihtuu [1] .

Tekniset vaatimukset

Standardi ei vaadi JavaScriptiä tai nykyaikaisia ​​selaimia , mutta todennusmalli on hyvin yhteensopiva AJAX -lähestymistavan kanssa . Tämä tarkoittaa, että loppukäyttäjä voi todentaa sivuston poistumatta nykyiseltä sivulta. Tässä tapauksessa Internet-resurssin viestintä OpenID-palveluntarjoajan kanssa tapahtuu taustalla. OpenID-todennus käyttää vain tavallisia HTTP (S) -pyyntöjä ja -vastauksia, joten standardi ei vaadi käyttäjän asentamaan lisäohjelmistoja . OpenID ei vaadi evästeiden tai muiden istunnonhallintamekanismien käyttöä. Erilaiset laajennukset voivat helpottaa OpenID:n käyttöä, mutta niitä ei vaadita käyttämään standardia [2] .

Protokollalaite

Terminologia

Toimiva mekanismi

  1. Loppukäyttäjä aloittaa todennusprosessin Internet-palvelussa. Tätä varten hän syöttää esitetyn tunnuksen sivustolla esitettyyn kirjautumislomakkeeseen.
  2. Esitetystä tunnisteesta Internet-palvelu määrittää loppukäyttäjän käyttämän OpenID-palveluntarjoajan päätepisteen URL-osoitteen. Esitetty tunniste voi sisältää vain palveluntarjoajan tunnisteen. Tässä tapauksessa loppukäyttäjä määrittää vaatimansa henkilöllisyytensä vuorovaikutuksessa palveluntarjoajan kanssa.
  3. Vaihtoehtoisesti Internet-palvelu ja OpenID-palveluntarjoaja luovat jaetun salaisen avaimen Diffie -Hellman- viestin todennuskoodille . Viestin todennuskoodin avulla Internet-palvelu todentaa viestin toimittajalta ilman lisäpyyntöjä sille.
  4. Internet checkid_setup-palvelutilassa ohjaa käyttäjän selaimen palveluntarjoajan verkkosivustolle lisätodennusta varten. -tilassa checkid_immediate selain kommunikoi palveluntarjoajan kanssa käyttäjälle näkymättömästi.
  5. Palveluntarjoaja tarkistaa , onko käyttäjä valtuutettu palvelimelle ja haluaako hän tulla tunnistetuksi Internet-palvelussa. OpenID-spesifikaatio ei kuvaa käyttäjän todennusprosessia palveluntarjoajan puolella.
  6. Palveluntarjoaja ohjaa käyttäjän selaimen takaisin Internet-palveluun ja välittää todennustuloksen palveluun.
  7. Internet-palvelu todentaa palveluntarjoajalta saadut tiedot, mukaan lukien palautettu URL-osoite, käyttäjätiedot, nonce ja viestin allekirjoitus. Jos jaettu salainen avain luotiin vaiheessa 3, vahvistus tapahtuu sen avulla. Jos avainta ei ole luotu, Internet-palvelu lähettää lisäpyynnön ( check_authentication) palveluntarjoajalle todennusta varten. Ensimmäisessä tapauksessa Internet-palvelua kutsutaan tyhmäksi ( tyhmäksi ), ja toisessa - riippuvaiseksi osapuolelle ilman muistia ( valtioton ).
  8. Jos varmennus onnistuu, Internet-palvelu todentaa käyttäjän [15] .

OpenID Foundation

OpenID Foundation (OIDF) on voittoa tavoittelematon organisaatio, joka perustettiin kesäkuussa 2007 hallinnoimaan tekijänoikeuksia, tavaramerkkejä, markkinointia ja muuta OpenID-yhteisöön liittyvää toimintaa [20] .

Järjestön hallitukseen kuuluu 4 yhteisön jäsentä ja 8 yhtiöjäsentä [21] :

yhteisön jäsenet

• John Bradley ( Independent ) (eng. John Bradley)

• George Fletcher (AOL) (englanniksi George Fletcher)

• Mike Jones ( Microsoft ) (eng. Mike Jones)

• Nat Sakimura ( Nomura Research Institute )

Yrityksen jäsenet

Google  – Adam Dawes

Microsoft  - Anthony Nadalin (eng. Anthony Nadalin)

• Ping-identiteetti  – Pamela Dingle (eng. Pamela Dingle)

Symantec  - Brian Berliner

Verizon  – Bjorn Helm (eng. Bjorn Hjelm)

Oracle  - Prateek Mishra

VMware – Ashish Jain

• Yhdysvaltain terveys- ja henkilöstöministeriö – Debbie Bucci

Yhdysvalloissa maaliskuussa 2008 OpenID Foundation rekisteröi OpenID-tavaramerkin. Sen omisti aiemmin NetMesh Inc. OpenID Europe Foundation rekisteröi OpenID-tavaramerkin Euroopassa 31. elokuuta 2007 [14] .

Versiohistoria

OpenID 1.1

OpenID-todennus tarjoaa loppukäyttäjälle tavan todistaa henkilöllisyytensä sivustolla ilman salasanaa, sähköpostiosoitetta tai muita tietoja, joita hän ei halua syöttää tähän resurssiin. OpenID 1.1 -spesifikaatio ei tarjoa mitään mekanismia loppukäyttäjäprofiilitietojen vaihtamiseen [18] .

OpenID 2.0

Suurin ero OpenID 2.0:n ja OpenID 1.1:n välillä loppukäyttäjälle on kyky käyttää XRI:tä tunnisteena. OpenID 2.0, toisin kuin OpenID 1.1, tukee HMAC-SHA256-algoritmia  - 256-bittistä ( [RFC2104 ] digitaalista allekirjoitusta, joka tekee OpenID-viestien todentamisesta turvallisempaa. OpenID 2.0 esitteli laajennusmekanismin, jonka avulla voit lisätä lisätietoja todennuspyyntöihin ja vastaukset [22] .

OpenID 2.0 on yhteensopiva OpenID 1.1:n kanssa [23] .

OpenID Connect

Kolmannen sukupolven OpenID-tekniikka, joka on todennuslisäosa OAuth 2.0 -valtuutusprotokollan yli . OpenID Connectin avulla Internet-resurssit voivat tarkistaa käyttäjän henkilöllisyyden valtuutuspalvelimen suorittaman todennuksen perusteella. Työssä käytetään spesifikaatiossa kuvattua RESTful API:ta. OpenID Connect määrittelee myös lisämekanismeja vahvaa salausta ja digitaalista allekirjoitusta varten. Standardi mahdollistaa lisäominaisuudet, kuten istunnonhallinnan ja OpenID-palveluntarjoajien löytämisen [8] .

Vaikka OAuth 1.0a -standardin integrointi OpenID 2.0:aan vaatii laajennuksen, OpenID Connect integroi jo OAuth 2.0 -ominaisuudet itse protokollaan [24] .

Haavoittuvuudet

Tietojenkalasteluhyökkäykset

Jotkut tutkijat uskovat, että OpenID-protokolla on alttiina tietojenkalasteluhyökkäyksille , kun palveluntarjoajan sijaan hyökkääjät ohjaavat loppukäyttäjän samankaltaiselle sivustolle. Jos käyttäjä ei huomaa vaihtamista, hän syöttää todennustietonsa (kirjautumistunnus, salasana). Tämän seurauksena hyökkääjät voivat esiintyä Internet-resursseissa tiettynä käyttäjänä ja päästä käsiksi hänen näihin resursseihin tallennettuihin tietoihinsa [25] .

Tietojenkalasteluhyökkäykset ovat mahdollisia myös silloin, kun OpenID-valtuutusta tukeva sivusto väärennetään, jotta palveluntarjoajalta saataisiin tietoja käyttäjästä. "Stealth redirect" -haavoittuvuuden avulla hyökkääjät voivat luoda käyttäjälle illuusion, että oikea sivusto pyytää tietoja [26] .

OpenID ei sisällä mekanismeja tietojenkalasteluhyökkäysten estämiseksi. Vastuu tietojenkalasteluhyökkäyksistä on siirretty OpenID-palveluntarjoajille [27] .

Tietojenkalastelulta suojautumiseen käyttäjät voivat käyttää lisäohjelmistoja, kuten Microsoftin Identity Selector [28] . On myös ratkaisuja, jotka eivät vaadi lisäohjelmiston asentamista, kuten BeamAuth, joka käyttää työhönsä selaimen kirjanmerkkejä [29] .

Välimieshyökkäys epävarmaa yhteyttä vastaan

Jos TLS/SSL -protokollia ei käytetä käyttäjän ja OpenID-palveluntarjoajan välisen yhteyden suojaamiseen, todennuksen viimeisessä vaiheessa ilmenee haavoittuvuus. Uudelleenohjatakseen käyttäjän itsestään Internet-palveluun palveluntarjoaja lähettää käyttäjälle erityisen URL-osoitteen. Ongelmana on, että kuka tahansa, joka saa tämän URL-osoitteen (esimerkiksi haistelemalla kierrettyä parikaapelia), voi toistaa sen uudelleen ja käyttää sivustoa käyttäjänä. Jotkut palveluntarjoajat suojaavat tätä hyökkäystä vastaan ​​kertaluontoisella koodilla ( Nonce ), jonka avulla voit käyttää tiettyä URL-osoitetta vain kerran. Ei-ratkaisu toimii vain, jos käyttäjä käyttää URL-osoitetta ensin. Kuitenkin hyökkääjä, joka kuuntelee viestintäkanavaa ja on käyttäjän ja Internet-palveluntarjoajan välillä, voi saada URL-osoitteen ja katkaista välittömästi käyttäjän TCP-yhteyden ja suorittaa sitten hyökkäyksen. Näin ollen kertakäyttökoodit suojaavat vain passiivisia hyökkääjiä vastaan, mutta eivät voi estää aktiivisen hyökkääjän hyökkäyksiä. TLS/SSL:n käyttö todennusprosessissa eliminoi tämän riskin [30] .

Tunnisteen uudelleenkäyttö

Käyttäjä voi vaihtaa OpenID-palveluntarjoajaa ja vapauttaa siten tunnuksensa edellisestä palveluntarjoajasta. Uusi käyttäjä voi ottaa tämän tunnuksen haltuunsa ja käyttää sitä samoilla sivustoilla kuin edellinen käyttäjä. Tämä antaa uudelle käyttäjälle pääsyn kaikkiin kyseiseen tunnukseen liittyviin tietoihin. Tämä tilanne voi syntyä vahingossa – uuden käyttäjän ei tarvitse olla hyökkääjä ja haluaa päästä käsiksi määritettyihin tietoihin [31] .

OpenID 2.0 -spesifikaatiossa tunnisteen uudelleenkäytön ongelman ratkaisemiseksi suositellaan fragmenttien käyttöä - tunnisteeseen on lisättävä kullekin käyttäjälle yksilöllinen fragmentti [19] .

Todennusvirheet

Vuonna 2012 tutkijat julkaisivat paperin, jossa kuvattiin kaksi OpenID:n haavoittuvuutta. Molemmat haavoittuvuudet antavat hyökkääjälle pääsyn uhrin tilille [32] .

Ensimmäinen haavoittuvuus käyttää OpenID-attribuuttien vaihtoa. Ongelmana on, että jotkin Internet-palvelut eivät vahvista Attribute Exchangen kautta lähetettyjä tietoja. Jos Attribute Exchangea käytetään käyttäjän tietojen (kuten sukupuolen) luvattomien tietojen välittämiseen, tätä haavoittuvuutta ei voida hyödyntää. Attribuuttien vaihtoa voidaan kuitenkin käyttää myös esimerkiksi käyttäjän sähköpostin siirtämiseen. Hyökkääjä yrittää todentaa riippuvaisen osapuolen sivuston ja lisää vastaukseen uhrin sähköpostipalvelun. Jos luottava osapuoli ei varmista näiden tietojen aitoutta, hyökkääjä tunnistetaan uhriksi. Tällä tavalla pääset mihin tahansa rekisteröityyn tiliin. Tutkijoiden raportin mukaan tämä hyökkäys vaikutti moniin suosittuihin verkkosivustoihin, mukaan lukien Yahoo! Sähköposti [33] .

Toinen haavoittuvuus liittyy virheeseen palveluntarjoajan puolella ja mahdollistaa myös pääsyn riippuvaisen osapuolen verkkosivustolla olevaan tiliin. Palveluntarjoajan vastaus sisältää openid.ext1.value.email- kentän , jota luottava osapuoli käsittelee käyttäjän sähköpostina. Hyökkääjä voi kuitenkin hallita palveluntarjoajan tähän kenttään lisäämien tietojen tyyppiä - palveluntarjoajalle osoitettu pyyntö sisältää type.email- kentän , jossa on linkki tätä kenttää kuvaavaan skeemaan. Hyökkääjä voi lisätä linkin malliin, joka kuvaa käyttäjänimen type.email -tiedostoon. Jos hyökkääjä voi rekisteröityä palveluntarjoajan verkkosivustolle nimellä, esimerkiksi [email protected], palveluntarjoaja lisää tämän nimen openid.ext1.value.email- kenttään ja luottavainen osapuoli olettaa, että tili, jolla on tämä sähköposti kuuluu hyökkääjälle. Googlen ja Paypalin toteutukset on tunnistettu haavoittuviksi [33] .

OpenID on julkaissut raportteja molemmista haavoittuvuuksista, ja niiden korjaamiseksi on julkaistu päivityksiä [34] [35] .

Katso myös

Muistiinpanot

  1. 1 2 OpenID Authentication 2.0 Specification , Abstract.
  2. 1 2 3 OpenID Authentication 2.0 -määritykset .
  3. Microsoft ja Google toimittavat OpenID:n .
  4. Teknologiajohtajat liittyvät OpenID Foundationiin .
  5. Steam Web API -dokumentaatio .
  6. Lopullinen: OpenID Attribute Exchange 1.0 - lopullinen .
  7. OpenID 2009 vuosikatsaus .
  8. 1 2 Lopullinen: OpenID Connect Core 1.0 .
  9. Virhe OpenID Connectin tekniset tiedot hyväksytty .
  10. Hajautettu identiteetti: Yadis .
  11. OpenID: todella hajautettu identiteettijärjestelmä .
  12. OpenID-todennus 1.1 .
  13. OpenID.sun.com on avoinna yrityksille .
  14. 1 2 USPTO-tehtävät verkossa - OpenID .
  15. 1 2 OpenID Authentication 2.0 -määritykset , Protokollan yleiskatsaus.
  16. LiveJournal OpenID .
  17. Mikä OpenID on? .
  18. 1 2 OpenID-todennus 1.1 , Todennuksen delegointi.
  19. 1 2 OpenID Authentication 2.0 Specification , Normalisointi.
  20. OpenID Foundation .
  21. OpenID Foundation Leadership .
  22. OpenID Authentication 2.0 -määritykset , laajennukset.
  23. OpenID Authentication 2.0 -määritykset , OpenID Authentication 1.1 -yhteensopivuus.
  24. Tervetuloa OpenID Connectiin .
  25. OpenID:n turvallisuusanalyysi , s. 79.
  26. OAuth 2.0:aan ja OpenID:ään liittyvä peitelty uudelleenohjaushaavoittuvuus .
  27. OpenID Authentication 2.0 -määritykset , käyttöliittymää koskevia huomioita.
  28. OpenID:n suojausanalyysi , Tietojenkalastelun estotekniikat, s. 81.
  29. Beamauth: Kaksivaiheinen verkkotodennus kirjanmerkillä .
  30. Kertakirjautuminen Internetiin: Tietoturvatarina .
  31. OpenID:n turvallisuusanalyysi , OpenID Recycling, s. 79.
  32. Kirjaaminen tilillesi Facebookin ja Googlen kautta .
  33. 1 2 Kirjautuminen tileillesi Facebookin ja Googlen kautta , Google ID (ja OpenID yleensä), s. 6.
  34. Attribuutti Exchange Security Alert .
  35. Haavoittuvuusraportti: Tietojen sekaannukset .

Kirjallisuus