Nyissa meg az azonosítót

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2022. március 15-én felülvizsgált verziótól ; az ellenőrzések 5 szerkesztést igényelnek .

Az OpenID  egy nyílt szabványú decentralizált hitelesítési rendszer , amely lehetővé teszi a felhasználó számára, hogy egyetlen fiókot hozzon létre a hitelesítéshez számos független internetes erőforráson , harmadik féltől származó szolgáltatások segítségével [1] .

Az OpenID alapvető funkciója, hogy hordozható, kliensközpontú, digitális identitást biztosítson ingyenes és decentralizált használatra [2] .

A szabvány leírja a hitelesítést igénylő internetes erőforrások (Relying Parties) és az OpenID szolgáltatók (OpenID szolgáltatók) közötti kommunikáció folyamatát. Számos OpenID szolgáltató létezik, amely OpenID URL -eket tárol [3] . Az OpenID hitelesítést a Google használja , a Yahoo! , AOL , LiveJournal , MySpace , IBM [4] , Steam [5] és Orange . A szabvány kiterjesztése (az OpenID Attribute Exchange) megkönnyíti a felhasználói adatok, például a név vagy a nem átvitelét egy OpenID szolgáltatótól egy internetes erőforráshoz [6] .

2009 decemberéig több mint 1 milliárd OpenID-fiók és körülbelül 9 millió webhely támogatta az OpenID technológiát [7] .

A szabvány jelenlegi verziója, az OpenID Connect 1.0 2014 februárjában jelent meg, és 2014 novemberében frissült [8] [9] .

Eredet

2005-ben a LiveJournal alkotójaként ismert Brad Fitzpatrick , aki akkoriban a Six Apart -nál dolgozott, a különböző internetes források egyetlen fiókjának koncepcióját javasolta az internetes közösségnek [10] . Azt javasolta, hogy fiókját tartsa egy szerveren, és használja ezt a fiókot, amikor más internetes forrásokon regisztrál. Eredetileg Yadis néven (a "Yet another distributed identitásrendszer" rövidítése) a protokoll OpenID nevét azután kapta, hogy a Six Apart regisztrálta az openid.net domain nevet a projektje számára. Hamarosan az OpenID támogatása bevezetésre került a LiveJournalon, és ez a technológia gyorsan felkeltette az internetes közösség figyelmét [11] .

2006-ban elkészült az első OpenID specifikáció – az OpenID Authentication 1.1 [12] .

2007. december 5-én a Sun Microsystems , a VeriSign és számos, az OpenID fejlesztésében részt vevő vállalat kiadta az OpenID 2.0 specifikációt, és hivatalosan kijelentette, hogy nem tesz követelést, ha valaki az OpenID technológiát használja, kivéve a használó személy cselekedeteit. a technológia a technológia megvalósítása vagy a technológia tulajdonjoga ellen irányul [13] .

Az OpenID védjegyet 2008 márciusában jegyezték be az Egyesült Államokban [14] .

Bejelentkezés OpenID-vel a végfelhasználó szemszögéből

Például egy webhelyen example.comvan egy bejelentkezési űrlap egyetlen beviteli mezővel az OpenID azonosítóhoz. Gyakran ez a mező mellett található az OpenID logó. Ahhoz, hogy ezen az oldalon az Ön azonosítójával – például  pupkin.openid-provider.orgaz OpenID szolgáltatónál regisztrálva –  engedélyezze magát openid-provider.org, a felhasználónak meg kell adnia azonosítóját az oldalon található bejelentkezési űrlapon. A webhely ezután example.com átirányítja a felhasználót a szolgáltató webhelyére. A szolgáltató webhelye arra kéri a felhasználót, hogy erősítse meg, hogy a felhasználó valóban információt kíván-e adni a fiókjáról. Ha a felhasználó beleegyezik, akkor a szolgáltató webhelye visszairányítja a felhasználót a függő fél oldalára. Fordított átirányítás esetén a szolgáltató továbbítja a felhasználói információkat az érintett félnek [15] .

Egy OpenID szolgáltató például a LiveJournal , így a LiveJournalban lévő naplód címét használhatod OpenID-azonosítóként [16]

A protokoll általános leírása

OpenID funkciók

Az OpenID lehetővé teszi a felhasználó számára, hogy egy OpenID-szolgáltatónál regisztrált fiókot több más webhelyen is használjon. A felhasználó kiválaszthatja, hogy milyen információkat közöljön az oldallal. A profilinformációk vagy az OpenID specifikációban nem leírt egyéb információk cseréje az OpenID protokollon keresztül megvalósítható kiegészítő szolgáltatások segítségével. Ehhez az OpenID protokoll által hivatalosan támogatott protokollbővítési mechanizmus [17] biztosított .

Lehetőség van az OpenID delegálására. Ez azt jelenti, hogy egy adott domain név tulajdonosa használhatja azt egy már létező OpenID azonosító szinonimájaként (aliasként), amelyet bármely OpenID szolgáltatótól szerezhet be. Ehhez hozzá kell adni néhány metataget a delegáltként használt oldalhoz [18] .

Decentralizáció

Az OpenID rendszer decentralizált rendszer. Ez azt jelenti, hogy nincs olyan központi szolgáltatás vagy szervezet, amely lehetővé tenné a rendszer használatát, vagy regisztrálná az OpenID hitelesítést igénylő internetes erőforrásokat vagy OpenID szolgáltatókat. A végfelhasználó szabadon választhat, hogy melyik OpenID szolgáltatót használja, és ha az OpenID szolgáltató megváltozik, megtartja az azonosítót [1] .

Technológiai követelmények

A szabvány nem igényel JavaScriptet vagy modern böngészőket , azonban a hitelesítési séma jól kompatibilis az AJAX megközelítéssel . Ez azt jelenti, hogy a végfelhasználó az aktuális oldal elhagyása nélkül hitelesítheti magát a webhelyen. Ebben az esetben az internetes erőforrás kommunikációja az OpenID szolgáltatóval a háttérben történik. Az OpenID hitelesítés csak szabványos HTTP (S) kéréseket és válaszokat használ, így a szabvány nem követeli meg a felhasználótól további szoftverek telepítését . Az OpenID nem igényli cookie -k vagy más munkamenet-kezelési mechanizmusok használatát. A különféle kiterjesztések megkönnyíthetik az OpenID használatát, de nem szükséges a szabvány [2] használata .

Protokoll eszköz

Terminológia

Működési mechanizmus

  1. A végfelhasználó kezdeményezi a hitelesítési folyamatot az internetes szolgáltatáson. Ehhez beírja a bemutatott azonosítót az oldalon megjelenő bejelentkezési űrlapon.
  2. A bemutatott azonosítóból az Internet szolgáltatás meghatározza a végfelhasználó által használt OpenID szolgáltató végpont URL-jét. A bemutatott azonosító csak a szolgáltató azonosítóját tartalmazhatja. Ebben az esetben a végfelhasználó a szolgáltatóval való interakció során határozza meg igényelt személyazonosságát.
  3. Opcionálisan az internetszolgáltatás és az OpenID szolgáltató létrehoz egy megosztott titkos kulcsot a Diffie-Hellman üzenet-hitelesítési kódhoz . Az üzenet-hitelesítési kód segítségével az internetes szolgáltatás hitelesíti a szolgáltatótól érkező üzenetet anélkül, hogy további hitelesítési kérelmeket küldene.
  4. Internetes szolgáltatás módban a checkid_setupfelhasználó böngészőjét a szolgáltató webhelyére irányítja további hitelesítés céljából. módban checkid_immediate a böngésző a felhasználó számára láthatatlanul kommunikál a szolgáltatóval.
  5. A szolgáltató ellenőrzi , hogy a felhasználó jogosult -e a szerverre, és hogy szeretne-e hitelesíteni az internetes szolgáltatáson. Az OpenID specifikáció nem írja le a felhasználói hitelesítési folyamatot a szolgáltató oldalán.
  6. A szolgáltató visszairányítja a felhasználó böngészőjét az Internet szolgáltatáshoz, átadva a hitelesítés eredményét a szolgáltatásnak.
  7. Az internetes szolgáltatás hitelesíti a szolgáltatótól kapott információkat, beleértve a visszaadott URL-t, a felhasználói információkat, a nonce-t és az üzenet aláírását. Ha a 3. lépésben megosztott titkos kulcsot hoztak létre, akkor az ellenőrzés ennek használatával történik. Ha a kulcs nem jött létre, akkor az Internet szolgáltatás további kérést ( check_authentication) küld a szolgáltatónak hitelesítés céljából. Az első esetben az internetes szolgáltatást butának ( néma ) nevezik, a másodikban pedig a függő félnek memória nélkül ( hontalan ).
  8. Sikeres ellenőrzés esetén az Internet szolgáltatás hitelesíti a felhasználót [15] .

OpenID Foundation

Az OpenID Foundation (OIDF) egy non-profit szervezet, amely 2007 júniusában alakult az OpenID közösséghez kapcsolódó szerzői jogok, védjegyek, marketing és egyéb tevékenységek kezelésére [20] .

A szervezet Igazgatósága 4 közösségi és 8 társasági tagból áll [21] :

Közösségi tagok

• John Bradley ( Independent ) (Eng. John Bradley)

• George Fletcher (AOL) (angolul George Fletcher)

• Mike Jones ( Microsoft ) (ang. Mike Jones)

• Nat Sakimura ( Nomura Research Institute )

Vállalati tagok

Google  – Adam Dawes

Microsoft  – Anthony Nadalin (eng. Anthony Nadalin)

• Ping Identity  – Pamela Dingle (ang. Pamela Dingle)

Symantec  – Brian Berliner

Verizon  – Bjorn Helm (ang. Bjorn Hjelm)

Oracle  – Prateek Mishra

VMware – Ashish Jain

• Amerikai Egyesült Államok Egészségügyi és Humánszolgáltatási Minisztériuma – Debbie Bucci

Az Egyesült Államokban 2008 márciusában az OpenID Foundation bejegyezte az OpenID védjegyet. Korábban a NetMesh Inc. tulajdonában volt. Európában 2007. augusztus 31-én az OpenID Europe Foundation bejegyezte az OpenID védjegyet [14] .

Verzióelőzmények

OpenID 1.1

Az OpenID hitelesítés lehetőséget biztosít a végfelhasználónak, hogy igazolja személyazonosságát az oldalon anélkül, hogy megadná jelszavát, e-mail címét vagy egyéb olyan információt, amelyet nem szeretne megadni ezen az erőforráson. Az OpenID 1.1 specifikációja nem biztosít semmilyen mechanizmust a végfelhasználói profil információinak cseréjéhez [18] .

OpenID 2.0

A fő különbség az OpenID 2.0 és az OpenID 1.1 között a végfelhasználók számára az XRI azonosítóként való használatának lehetősége. Az OpenID 2.0 az OpenID 1.1-től eltérően támogatja a HMAC-SHA256 algoritmust  – egy 256 bites ( [RFC2104 ] digitális aláírást, amely biztonságosabbá teszi az OpenID üzenetek hitelesítését. Az OpenID 2.0 egy kiterjesztési mechanizmust vezetett be, amely lehetővé teszi további információk hozzáadását a hitelesítési kérésekhez és válaszok [22] .

Az OpenID 2.0 kompatibilis az OpenID 1.1-gyel [23] .

OpenID Connect

Az OpenID technológia harmadik generációja, amely egy hitelesítési bővítmény az OAuth 2.0 engedélyezési protokollon keresztül . Az OpenID Connect lehetővé teszi, hogy az internetes erőforrások egy jogosultság-kiszolgáló által végzett hitelesítés alapján ellenőrizzék a felhasználó azonosságát . A munkához a specifikációban leírt RESTful API-t használják. Ezenkívül az OpenID Connect további mechanizmusokat határoz meg az erős titkosítás és a digitális aláírás érdekében. A szabvány további funkciókat tesz lehetővé, mint például a munkamenet-kezelés és az OpenID-szolgáltatók felderítése [8] .

Míg az OAuth 1.0a szabvány OpenID 2.0-val való integrációja bővítést igényel, az OpenID Connect már magával a protokollal integrálja az OAuth 2.0 képességeit [24] .

Sebezhetőségek

Adathalász támadások

Egyes kutatók úgy vélik, hogy az OpenID protokoll sebezhető az adathalász támadásokkal szemben , amikor szolgáltató helyett a támadók egy hasonló kialakítású webhelyre irányítják a végfelhasználót. Ha a felhasználó nem veszi észre a helyettesítést, akkor megadja a hitelesítési adatait (bejelentkezés, jelszó). Ennek eredményeként a támadók adott felhasználóként jelenhetnek meg az internetes forrásokban, és hozzáférhetnek az ezeken az erőforrásokon tárolt információihoz [25] .

Adathalász támadások akkor is lehetségesek, ha egy OpenID-engedélyezést támogató webhelyet meghamisítanak annak érdekében, hogy információkat szerezzenek a felhasználóról a szolgáltatótól. A "stealth redirect" sebezhetőség segítségével a támadók azt az illúziót kelthetik a felhasználóban, hogy az információt a valódi webhely kéri [26] .

Az OpenID nem tartalmaz olyan mechanizmusokat, amelyek megakadályozzák az adathalász támadásokat. Az adathalász támadások felelőssége az OpenID szolgáltatókra hárul [27] .

Az adathalászat elleni védelem érdekében a felhasználók további szoftvereket használhatnak, mint például a Microsoft Identity Selector [28] . Vannak olyan megoldások is, amelyekhez nincs szükség további szoftverek telepítésére, ilyen például a BeamAuth, amely a böngésző könyvjelzőit használja a munkájához [29] .

Man-in-the-middle támadás egy nem biztonságos kapcsolat ellen

Ha nem TLS/SSL protokollokat használnak a felhasználó és az OpenID-szolgáltató közötti kapcsolat biztosítására , akkor a hitelesítés utolsó szakaszában sérülékenység lép fel. A felhasználó saját magáról az internetszolgáltatásra való átirányításához a szolgáltató egy speciális URL-t küld a felhasználónak. A probléma az, hogy bárki, aki meg tudja szerezni ezt az URL-t (például egy csavart érpárú kábel szippantásával), újra lejátszhatja, és felhasználóként hozzáférhet az oldalhoz. Egyes szolgáltatók egyszeri kódot ( Nonce ) használnak a támadás elleni védelem érdekében, amely lehetővé teszi egy adott URL egyszeri használatát. A nem megoldás csak akkor működik, ha a Felhasználó először az URL-t használja. A kommunikációs csatornán figyelő, a felhasználó és az internetszolgáltató között tartózkodó támadó azonban megszerezheti az URL-címet, azonnal megszakíthatja a felhasználó TCP-kapcsolatát, majd végrehajthatja a támadást. Így az egyszeri kódok csak a passzív támadók ellen védenek, de nem akadályozhatják meg az aktív támadók támadásait. A TLS/SSL használata a hitelesítési folyamatban kiküszöböli ezt a kockázatot [30] .

Azonosító újrafelhasználása

A felhasználó megváltoztathatja az OpenID szolgáltatót, így felszabadítja az előző szolgáltatótól származó azonosítóját. Az új felhasználó átveheti ezt az azonosítót, és ugyanazokon a webhelyeken használhatja, mint az előző felhasználó. Ezzel az új felhasználó hozzáférhet az adott azonosítóhoz kapcsolódó összes információhoz. Ez a helyzet véletlenül is előfordulhat – nem szükséges, hogy az új felhasználó támadó legyen, és hozzá akarjon férni a megadott információkhoz [31] .

Az OpenID 2.0 specifikációban az azonosító újrafelhasználásának problémájának megoldására töredékek használata javasolt - minden felhasználó számára egyedi töredéket kell hozzáadni az azonosítóhoz [19] .

Hitelesítési hibák

2012-ben a kutatók publikáltak egy tanulmányt, amelyben leírják az OpenID két sebezhetőségét. Mindkét sebezhetőség lehetővé teszi a támadó számára, hogy hozzáférjen az áldozat fiókjához [32] .

Az első biztonsági rés az OpenID Attribute Exchange szolgáltatást használja. A probléma az, hogy egyes internetes szolgáltatások nem ellenőrzik az Attribute Exchange-en keresztül küldött adatokat. Ha az Attribute Exchange segítségével manipulációbiztos információkat adnak át a felhasználóról (például a nemről), akkor ez a biztonsági rés nem használható ki. Az Attribute Exchange azonban használható például a felhasználó e-mail-címének átvitelére is. A támadó megpróbál hitelesíteni a függő fél webhelyét, és a válaszban hozzáadja az áldozat e-mail szolgáltatóját. Ha az érintett fél nem ellenőrzi ezen információ hitelességét, akkor a támadót áldozatként azonosítják. Így bármely regisztrált fiókhoz hozzáférhet. A kutatók jelentése szerint sok népszerű weboldalt érintett ez a támadás, köztük a Yahoo! Mail [33] .

A második sérülékenység a szolgáltató oldalán lévő hibához kapcsolódik, és hozzáférést tesz lehetővé a függő fél webhelyén található fiókhoz. A szolgáltató válasza tartalmazza az openid.ext1.value.email mezőt , amelyet az érintett fél a felhasználó e-mail-címeként kezel. A szolgáltató által ebbe a mezőbe hozzáadott adatok típusát azonban a támadó szabályozhatja – a szolgáltatóhoz intézett kérés tartalmazza a type.email mezőt , amely a mezőt leíró sémára mutató hivatkozást tartalmaz. A támadó hivatkozást adhat hozzá egy sémához, amely leírja a felhasználónevet a type.email fájlban . Ha egy támadó regisztrálhat a szolgáltató webhelyén egy névvel, például [email protected], akkor a szolgáltató hozzáadja ezt a nevet az openid.ext1.value.email mezőhöz , és az érintett fél feltételezi, hogy az ezzel rendelkező fiók az email a támadóé. A Google és a Paypal implementációit sebezhetőnek találták [33] .

Az OpenID mindkét sérülékenységről jelentést tett közzé, és frissítések is megjelentek a javításukra [34] [35] .

Lásd még

Jegyzetek

  1. 1 2 OpenID Authentication 2.0 specifikáció , Abstract.
  2. 1 2 3 OpenID Authentication 2.0 specifikáció .
  3. ↑ A Microsoft és a Google szállítja az OpenID-t .
  4. Technológiai vezetők csatlakoznak az OpenID Alapítványhoz .
  5. Steam Web API dokumentáció .
  6. Végső: OpenID Attribute Exchange 1.0 – végleges .
  7. Az OpenID 2009 éves áttekintése .
  8. 1 2 Végső: OpenID Connect Core 1.0 .
  9. Az OpenID Connect specifikációinak hibája jóváhagyva .
  10. Elosztott identitás: Yadis .
  11. OpenID: egy ténylegesen elosztott identitásrendszer .
  12. OpenID hitelesítés 1.1 .
  13. Az OpenID.sun.com nyitva áll az üzleti életben .
  14. 1 2 USPTO-hozzárendelések a weben – OpenID .
  15. 1 2 OpenID Authentication 2.0 specifikáció , Protokoll áttekintése.
  16. LiveJournal OpenID .
  17. Mi az az OpenID? .
  18. 1 2 OpenID Authentication 1.1 , Hitelesítés delegálása.
  19. 1 2 OpenID Authentication 2.0 specifikáció , normalizálás.
  20. OpenID Foundation .
  21. OpenID Foundation Leadership .
  22. OpenID Authentication 2.0 specifikáció , bővítmények.
  23. OpenID Authentication 2.0 specifikáció , OpenID Authentication 1.1 kompatibilitás.
  24. Üdvözli az OpenID Connect .
  25. Az OpenID biztonsági elemzése , p. 79.
  26. Az OAuth 2.0-hoz és az OpenID-hez kapcsolódó rejtett átirányítási sebezhetőség .
  27. OpenID Authentication 2.0 specifikáció , felhasználói felület szempontjai.
  28. Az OpenID biztonsági elemzése , Adathalászat elleni technikák, p. 81.
  29. Beamauth: Kéttényezős webes hitelesítés könyvjelzővel .
  30. Egyszeri bejelentkezés az internethez: biztonsági történet .
  31. Az OpenID biztonsági elemzése , OpenID Recycling, p. 79.
  32. Belépés a fiókjába a Facebookon és a Google-on keresztül .
  33. 1 2 Belépés a fiókjaiba a Facebookon és a Google -on keresztül , Google ID (és általában az OpenID), p. 6.
  34. Az Exchange attribútum biztonsági figyelmeztetése .
  35. Sebezhetőségi jelentés: Adatzavar .

Irodalom