OpenID

OpenID – architektura rozproszonego uwierzytelnienia i dystrybucji tożsamości użytkowników w usługach webowych.

OpenID rozwiązuje problem dystrybucji składników tożsamości użytkownika (imię, nazwisko, e-mail, adres itd.) pomiędzy wieloma serwisami webowymi (sklepy internetowe, grupy dyskusyjne itd. – w specyfikacji OpenID nazywanymi Consumer). Zamiast zakładać niezależne konta w każdym z serwisów, użytkownik zakłada jedno konto na serwerze OpenID, zapisując tam swoje dane osobowe i uzyskując identyfikator OpenID.

Procedura logowania w OpenID

Podczas logowania do pożądanego serwisu, użytkownik podaje identyfikator OpenID, który ma postać adresu URL będącego równocześnie adresem serwera OpenID i wskazaniem konkretnego użytkownika (np. user.openid.pl albo http://openid.pl/user/).

Serwis przekierowuje użytkownika na stronę serwera OpenID z żądaniem określonych danych użytkownika. Serwer OpenID udostępnia je przez przekierowanie z powrotem do serwisu, który ich zażądał. Udostępnienie danych wymaga zwykle interakcji użytkownika, aby udostępnić tylko te dane, na których udostępnienie godzi się użytkownik i tylko temu serwisowi, który użytkownik akceptuje. Użytkownik dokonuje więc logowania i wyboru zakresu danych. Możliwe jest też ustalenie, że pewne dane będą udostępniane serwisowi bez konieczności każdorazowego logowania, np. przez pewien czas. Udostępniane dane mogą być użyte, np., do podpisywania komentarzy użytkownika na forach dyskusyjnych czy w blogach.

W wersji 2.0 protokołu OpenID identyfikatorem użytkownika może być także XRI.

Zalety OpenID

  • łatwość korzystania – bo użytkownik w każdym serwisie posługuje się jednym identyfikatorem, zamiast w każdym z nich zakładać oddzielne konto, wypełniać dane i ustawiać hasło,
  • decentralizacja – możliwa, dlatego że identyfikator jest równocześnie adresem serwera; architektura nie wymusza korzystania z jednej, centralnej bazy haseł, bo każdy może postawić swój serwer i używać jego adresu jako identyfikatora,
  • kontrola prywatności – to użytkownik wskazuje, jakie informacje może pobrać serwis (np. adres e-mail – tak, numer telefonu – nie) i ma później wgląd w historię pobieranych informacji,
  • łatwość aktualizacji – ponieważ dane są przechowywane w jednej lokalizacji, w razie zmian – wszystkie serwisy zaktualizują je automatycznie.

Zagrożenia OpenID

  • kradzież tożsamości – kradzież danych dostępowych do serwera OpenID (najczęściej login i hasło) umożliwia włamywaczowi posługiwanie się tożsamością ofiary bez ograniczeń we wszystkich serwisach, z których ona korzystała, a także w nowych. Ze względu na to, że logowanie odbywa się na stronie innej niż docelowa, phishing jest znacznie ułatwiony,
  • koncentracja danych - gromadzenie wszystkich danych o użytkowniku na jednym serwerze naraża, w przypadku włamania na serwer OpenID, na kradzież ważnych danych takich jak numery kart kredytowych.

Oprogramowanie

Oprogramowanie serwisów webowych musi być wyposażone w moduł rozpoznający identyfikator OpenID. Są dostępne biblioteki do uwierzytelnienia OpenID w serwerowych rozwiązaniach skryptowych takich jak ASP+, PHP, oraz moduły dla popularnych serwisów CMS (Joomla!, Drupal, WordPress i inne).

Zobacz też

  • Konto Microsoft (dawniej Windows Live ID, jeszcze dawniej Microsoft Passport lub .NET Passport) – podobna technologia Microsoftu
  • Facebook Connect – zbliżona usługa serwisu Facebook
  • SAML - protokół do pośredniczenia w uwierzytelnianiu i automatycznego przekazywania między systemami i aplikacjami informacji o uprawnieniach użytkowników.

Linki zewnętrzne