Internet wymaga od nas pamiętania dużej liczby haseł, nazw użytkowników czy identyfikatorów. Pamiętanie wielu różnych tego rodzaju danych sprawia kłopot, zaczynamy więc używać takich samych haseł w różnych serwisach albo, co gorsza, zapisywać je na kartkach lub w komputerze. Czy można temu zapobiec? Okazuje się, że tak. Wyjście z impasu kryje się pod dwiema nazwami: Identity 2.0 oraz OpenID.
Staliśmy się niewolnikami własnego sukcesu technologicznego. Globalna sieć dała nam gigantyczne możliwości komunikacji ze znajomymi, zdobywania wiedzy i wyrażania siebie, ale korzystanie z nich może rodzić problemy, których obecnie nie sposób skutecznie rozwiązać.
Przy otwieraniu setnego konta w ciekawym serwisie, albo rejestracji profilu na kolejnym forum dyskusyjnym zastanawiamy się, jak zapamiętać wszystkie te dane: nazwy użytkowników, hasła, identyfikatory. Dodajmy do tego kilka kont e-mail, kilka komunikatorów i sporo kont w serwisach społecznościowych, a dojdziemy do wniosku, że życie internauty wcale nie jest takie proste, jak mogłoby się wydawać.
Czy te problemy da się trwale rozwiązać? Próbując znaleźć sensowną odpowiedź stworzono szereg technologii znanych pod wspólnym określeniem Identity 2.0. Do niedawna sformułowanie to było w Polsce niemal całkowicie nieznane. Ten stan zmienia się od czasu, gdy Marcin Jagodziński, znany do tej pory z prowadzenia bloga http://netto.blox.pl traktującego o nurcie Web 2.0, uruchomił witrynę http://www.identity20.pl.
Czym jest Identity 2.0?
Identity 2.0 to inaczej Tożsamość 2.0. Pod tym pojęciem rozumiemy cały zbiór technologii mających uprościć proces rejestracji i logowania w różnych serwisach internetowych. Według tej idei wystarczy założyć tylko jedno konto z jedną nazwą użytkownika i jednym hasłem, aby za jego pomocą logować się i rejestrować we wszystkich serwisach, które umożliwiają korzystanie z tego typu technologii. Najpopularniejszą technologią realizującą założenia Identity 2.0 jest wspomniane OpenID.
7 zasad, którymi rządzi się świat Identity 2.0, zostało sformułowanych przez Kima Camerona, obecnie pracownika Microsoftu. Pierwsza z nich mówi, że wszystkie dane musi kontrolować użytkownik i tylko on może decydować o ich udostępnieniu. Druga stwierdza, że udostępniane powinny być jedynie dane niezbędne do przeprowadzenia danej operacji. Kolejne poruszają m.in. temat bezpiecznego interfejsu użytkownika oraz przestrzegania z góry ustalonego schematu uwierzytelniania.
Z ich pełną listą możemy się zapoznać w systemie wiki serwisu Identity 2.0 PL: http://wiki.identity20.pl/index.php?title=Identity_2.0.
Aby korzystać z OpenID, musimy założyć konto na jednym z serwerów, np. na uruchomionym przez Marcina Jagodzińskiego http://www.openid.pl. Po przeprowadzeniu procesu rejestracji otrzymamy adres WWW, będący zarazem naszym identyfikatorem. Aby zalogować się na jednym z serwisów obsługujących OpenID – czy to w serwisie społecznościowym, czy panelu poczty e-mail – podajemy swój identyfikator. Następnie zostajemy przekierowani na stronę serwera OpenID, z usług którego korzystamy, i tam podajemy hasło.
Obecnie powstaje inny polski serwer OpenID, który ma być dostępny pod adresem http://www.myid.pl, a tworzony jest przez ekipę Generated Content.
Czy OpenID ma wady?
Praktyka dowodzi, że nie istnieje idealna technologia zapewniająca użytkownikom absolutne bezpieczeństwo. OpenID nie jest wyjątkiem. Największym problemem związanym z OpenID jest uzależnienie od jednego dostawcy tożsamości, czyli inaczej serwera OpenID.
Jakie niebezpieczeństwo wiąże się z takim uzależnieniem? Załóżmy, że serwer ma problemy techniczne i przez kilka godzin jest niedostępny. Przez ten czas nie moglibyśmy zalogować się do żadnego z serwisów, z których korzystamy. Awaria trwająca cały dzień lub kilka dni sparaliżowałaby naszą pracę, a przecież nie jest to scenariusz nieprawdopodobny.
Dostawca tożsamości może również zawiesić swoją działalność. To oznaczałoby kompletną katastrofę i utracenie dostępu do dziesiątek lub setek kont na wielu stronach. Jak więc widać, niebezpieczeństwo jest poważne i potrzebne są nam rozwiązania, które je zminimalizują.
Inne niebezpieczeństwo wynikające z centralizacji proponowanej przez ideę Identity 2.0 wiąże się z przejęciem dostępu do naszego konta OpenID. Oznaczałoby to zarazem przejęcie przez włamywacza dostępu do całej naszej internetowej tożsamości. To prawda, że korzystając z jednego hasła możemy je uczynić naprawdę mocnym, jednak można się spodziewać, że gdy OpenID trafi pod przysłowiowe \”strzechy\”, to część użytkowników nie wykaże w tej kwestii należytego rozsądku.
Czynnik ludzki jest zawsze najsłabszy w łańcuchu zabezpieczeń informatycznych. A przecież włamanie może nastąpić także od strony serwera na skutek jego nieprofesjonalnego zabezpieczenia. Jest to nawet scenariusz bardziej prawdopodobny, a niewykryty przez administratora włamywacz może uzyskać dostęp do wielu kont użytkowników. Pewnym wyjściem jest korzystanie z kilku serwerów OpenID, co jednak częściowo przeczy samej idei używania jednego loginu i hasła.
Czy więc powinniśmy korzystać z OpenID? Pewne hipotetyczne problemy wymagają przeciwdziałania, ale bynajmniej nie przekreślają tej technologii.
Nie tylko OpenID
Okazuje się, że OpenID to nie jedyne rozwiązanie problemów z cyfrową tożsamością. Na przykład technologia CardSpace, autorstwa Microsoftu, jest częścią składową systemu Windows Vista i opiera się na OpenID. Na ten temat szerzej opowiada Marcin Jagodziński.
Warto także wiedzieć czym jest technologia LID (ang. Light-Weight Identity). Umożliwia ona identyfikowanie użytkownika na podstawie posiadanego przez niego adresu WWW. LID współpracuje z OpenID dzięki mechanizmowi Yadis. Umożliwia on współpracę różnych technik identyfikacji użytkowników, jak OpenID, CardSpace czy właśnie LID, co sprawia, że różne technologie Identity 2.0 są ze sobą kompatybilne, a upowszechnienie jednej z nich nie wpłynie negatywnie na możliwości korzystania z rozwiązań niszowych.
Darmowe serwery OpenID
- http://www.openid.pl – pierwszy polski serwer OpenID, który powoli zdobywa sporą popularność
- http://www.myopenid.com – jeden z bardziej znanych anglojęzycznych serwerów autorstwa ekipy z http://janrain.com
- http://videntity.org – serwer OpenID z dodatkową funkcjonalnością, np. siecią społeczną łączącą jego użytkowników
- https://getopenid.com – anglojęzyczny serwer OpenID
- http://www.openprofile.net – serwer umożliwiający korzystanie między innymi z technologii vCard
Więcej adresów: http://openid.net/wiki/index.php/
Public_OpenID_providers
Podstawowe pojęcia
Cyfrowa tożsamość – wszystkie konta i profile we wszystkich serwisach internetowych, z których korzystamy.
Identity 2.0 – zbiór technologii ułatwiających zarządzanie swoją tożsamością w sieci i umożliwiających logowanie do różnych serwisów przy użyciu tylko jednego konta.
OpenID – najpopularniejsza technologia wchodząca w skład Identity 2.0.
CardSpace – podobna technologia stworzona i promowana przez firmę Microsoft.
Dostawca tożsamości – serwer, na którym mamy założone konto.
Identyfikator – indywidualny adres użytkownika u dostawcy tożsamości.
Wizytówka – zestaw określonych danych z naszego profilu, np. imię i nazwisko albo imię, nazwisko i adres e-mail (możemy mieć dowolną ilość wizytówek).
Jak korzystać z OpenID?
Założenie nowego konta w serwisie http://www.openid.pl nie jest trudne. Wystarczy podać nazwę użytkownika, e-mail, hasło oraz przepisać tekst z obrazka. Podana nazwa użytkownika będzie zarazem naszym identyfikatorem. Tak więc podając nazwę \”tomek\” otrzymamy identyfikator {stala}http://tomek.openid.pl{/stala}, którego będziemy używać podczas logowania do serwisów korzystających z OpenID.
Po założeniu nowego konta i zalogowaniu wypada uzupełnić swoje dane (panel kryjący się pod zakładką Profil): imię, nazwisko, płeć, data urodzenia, adres e-mail, adres naszej strony WWW czy adres zamieszkania. Oczywiście tylko my decydujemy o tym, które dane przekażemy różnym witrynom. Robimy to za pomocą tzw. wizytówek.
Możemy wybrać dowolne informacje umieszczone w naszym profilu i stworzyć z nich nową wizytówkę. Możemy mieć dowolną ilość wizytówek dla różnych serwisów. Dzięki OpenID wszystkie informacje mamy pod pełną kontrolą.
Pod zakładką Zaufane strony znajduje się lista stron do których logujemy się za pomocą konta OpenID i którym udostępniliśmy swoje dane za pomocą jednej z wizytówek.
Jednym z polskich serwisów umożliwiających logowanie (lecz niestety nie rejestrację) za pomocą OpenID jest system blogowy Jogger. Aby się zalogować na tej stronie, należy z prawego menu wybrać Zaloguj się przez OpenID. Na nowej stronie podajemy swój identyfikator i zostajemy przekierowani na stronę naszego dostawcy tożsamości. Jeżeli jesteśmy aktualnie zalogowani, to zostaniemy przekierowani do docelowego serwisu.
Rozmowa z Marcinem Jagodzińskim
(Marcin Jagodziński jest autorem serwisu http://www.identity20.pl i twórcą pierwszego polskiego serwera OpenID: http://www.openid.pl.)
Bartłomiej Dymecki: Czy mógłbyś wyjaśnić czym w ogóle jest Identity 2.0 i dlaczego powinniśmy się interesować tym tematem?
Marcin Jagodziński: W największym skrócie, nazwą Identity 2.0 określane są nowe technologie zarządzania tożsamością cyfrową, które powstały pod wpływem rozwoju internetu. Łączy je kilka wspólnych cech, z których najważniejszą jest to, że są to technologie oddające kontrolę nad tożsamością użytkownikowi (user-centric).
Problem z tożsamością sieciową nie pojawia się od razu. Gdy zaczynamy korzystać z internetu, najpierw wyrabiamy w sobie nawyk ciągłego podawania loginów i haseł różnym stronom. Jednak po pewnym czasie przychodzi kilka refleksji.
Po pierwsze zaczynamy zapominać hasła. Często, żeby sobie ułatwić ich zapamiętywanie, stosujemy jedno hasło na wielu serwisach. Po drugie ciągłe wypełnianie formularzy rejestracyjnych i podawanie danych o sobie (z których część nie wydaje się potrzebna) jest nużące. Po trzecie ciągle zgadzamy się na enigmatyczne \”przetwarzanie danych\”, nie wiedząc, co się za tym w rzeczywistości kryje. I po czwarte w końcu wpisujemy w Google\’a imię i nazwisko czy też nick. To, co widzimy, niekoniecznie pokrywa się z tym, co chcemy widzieć. Nasza tożsamość wymyka się spod kontroli.
BD: Skąd się wzięło twoje zainteresowanie tematyką cyfrowych tożsamości i OpenID?
MJ: Zacząłem pracować nad pewnym projektem, który po kilku dniach doprowadził mnie na strony poświęcone tożsamości sieciowej. Zobaczyłem wówczas, że jest to fascynująca dziedzina wiedzy, o której mało kto w Polsce słyszał. Zacząłem się w nią zagłębiać. Na początku byłem przerażony: OpenID, CardSpace, Liberty Alliance, SAML, LID, Yadis, XRI, XDI… mnóstwo skrótów, które nic mi nie mówiły.
Podświadomie czułem, że to coś ważnego, coś, co ma ogromną szansę zmienić całe nasze doświadczenie \”obecności\” w sieci. Postanowiłem to uporządkować oraz poznać inne osoby, które też to zainteresowało. Tak powstała strona Identity 2.0 PL. Projekt, o którym wspominałem, jest realizowany. Za niecały miesiąc powinien zostać upubliczniony w sieci.
BD: Jesteś głównym polskim \”ewangelizatorem\” OpenID. Jakie zalety ma ta technologia? Czy zwykły użytkownik internetu będzie miał z niej realne korzyści?
MJ: Z punktu widzenia zwykłego użytkownika OpenID ma kilka poważnych zalet: uwalnia go od pamiętania oddzielnych haseł i loginów do każdego serwisu internetowego, przyspiesza rejestrację do nowych serwisów (wypełnianie formularza rejestracyjnego), daje możliwość łatwego decydowania o tym, które serwisy będą wymagały logowania, a którym użytkownik ufa na tyle, że nie widzi potrzeby podawania hasła za każdym razem.
To zresztą tylko początek. Na \”platformie\” OpenID można budować znacznie bardziej wyrafinowane usługi, takie jak mikropłatności czy weryfikacja reputacji.
Wbrew temu, co czasami się słyszy, OpenID nie wymaga żadnej biegłości technicznej od użytkownika. Owszem, wymaga pewnej zmiany przyzwyczajeń, ale to wszystko. Logowanie za pomocą OpenID nie jest bardziej skomplikowane niż tradycyjne logowanie za pomocą loginu i hasła. Jedyna różnica jest taka, że login i hasło są zawsze takie same i że sam proces logowania przebiega zawsze na tej samej stronie.
Natomiast nie uważam, aby zwykły użytkownik powinien interesować się technologią OpenID. Rolą twórców serwisów jest wdrożenie OpenID, a następnie pokierowanie użytkownikami tak, by chcieli z OpenID skorzystać.
BD: Wspominasz nie tylko o OpenID, ale również o innych technologiach, np. CardSpace Microsoftu. Czy są one konkurencyjne w stosunku do OpenID? Która z nich ma największe szanse na zdobycie dużej popularności?
MJ: Ciekawą cechą technologii związanych z tożsamością jest tendencja do wzajemnej kompatybilności. Twórcy rozmaitych specyfikacji doskonale wiedzą, że czym szersza będzie możliwość wykorzystania danej technologii, tym więcej osób jej użyje. Można tu pokusić się o analogię z dokumentami tożsamości: paszport jest dlatego dobrym dokumentem, że można się nim wylegitymować na całym świecie.
Samo OpenID powstało jako połączenie doświadczeń kilku firm i połączenie możliwości kilku wcześniejszych technologii. Tendencja do konwergencji jest w środowisk u osób związanych z Identity bardzo silna.
CardSpace Microsoftu to wbudowana w Windows Vista (dostępna także jako uaktualnienie Windows XP) technologia uwierzytelniania, oparta o metaforę \”kart identyfikacyjnych\”, będących czymś w rodzaju połączenia wizytówki z kartą z paskiem magnetycznym. Oczywiście karty te są wirtualne. Użytkownik tworzy swoją kartę w systemie, a następnie przedstawia ją rozmaitym serwisom internetowym, logując się za jej pomocą i przekazując podstawowe dane osobowe.
Istnieje też drugi rodzaj kart, tzw. karty zarządzane. Są one wydawane nie przez użytkownika, a przez inną instytucję (np. pracodawca może wydać takie karty wszystkim pracownikom).
Windows CardSpace to rozwiązanie zgodne z najnowszymi trendami Identity 2.0. Nie ma ono nic wspólnego z MS Passport Network, czyli centralnym serwerem logowania, promowanym przez Microsoft w czasach bańki internetowej. Jego wadą jest stosunkowo skomplikowany proces wdrażania. Inaczej mówiąc: dla użytkownika karty są rozwiązaniem łatwym, ale dla serwisu, który by chciał je przyjmować już nie.
Stąd właśnie pojawił się pomysł połączenia CardSpace z OpenID. Pomysł wspierany zresztą przez Microsoft. Użytkownik będzie używał karty do zalogowania się na serwerze OpenID (zamiast mniej bezpiecznego hasła). Natomiast z punktu widzenia serwisu korzystającego z logowania się przez OpenID (np. bloga czy sklepu internetowego), serwer ten będzie zwykłym serwerem OpenID.
Zapewne będą istniały obszary, w których OpenID będzie bezpośrednio konkurowało z CardSpace. Ale na ogół rozwiązania te będą się uzupełniać.
BD: Chyba jednak wciąż niewiele serwisów umożliwia korzystanie z OpenID? Czy twoim zdaniem taki stan rzeczy szybko się zmieni?
MJ: Zmienia się to każdego dnia. W ciągu ostatniego tygodnia obsługę OpenID ogłosił AOL (63 miliony użytkowników!), zapowiedział ją m.in. Digg i Netvibes. Najprawdopodobniej dołączy Wikipedia. Dodajmy do tego coraz bardziej dostępne pluginy służące do obsługi OpenID przez różne gotowe aplikacje (takie jak WordPress, MediaWiki czy Drupal), które być może niedługo staną się składnikami standardowych dystrybucji tych systemów (każdy blog zakładany na WordPressie będzie umożliwiać logowanie przez OpenID). Zapowiedziano także wsparcie dla OpenID w Firefoksie 3.0.
BD: Poruszymy teraz kwestię, która z całą pewnością interesuje wielu naszych Czytelników: czy stosowanie OpenID niesie ze sobą jakieś niebezpieczeństwa?
MJ: OpenID jako takie nie definiuje metody uwierzytelniania użytkownika. Na ogół stosowane jest rozwiązanie tradycyjne, czyli para login/hasło. Można też stosować tokeny, hasła jednorazowe czy hasła SMS. Można nawet uwierzytelniać każdego, nie żądając żadnych potwierdzeń. Każda z metod uwierzytelnienia ma jakieś wady, nie są one związane z OpenID jako takim.
Natomiast faktem jest, że istnieją dwa zagrożenia bardziej związane z OpenID. Pierwsze z nich to fakt, że przejęcie kontroli nad tożsamością użytkownika to de facto przejęcie kontroli nad wszystkimi jego działaniami na stronach, gdzie dana tożsamość była używana. Jaka jest odpowiedź twórców OpenID? Twierdzą oni, że łatwiej wymyślić i zapamiętać jedno dobre hasło, niż zapanować nad wieloma hasłami na różnych stronach, nie mówiąc już o używaniu tego samego hasła na różnych stronach.
Drugie zagrożenie to phishing. W tym scenariuszu phisher podszywa się pod serwer OpenID użytkownika, by zdobyć jego hasło (jest to niestety względnie łatwe). Jest kilka propozycji rozwiązania tego problemu. Najlepszą z nich jest rezygnacja z haseł. Do logowania się na serwerze OpenID można używać np. Windows CardSpace.
BD: Dla mnie najbardziej niepokojące jest zagrożenie związane z przejęciem dostępu do konta użytkownika. Dlatego mam poważne obawy przed stosowaniem OpenID. Co sądzisz o tezie, że samo zagrożenie przejęciem dostępu do wszystkich witryn, na których mamy swoje konta jest tak wielkim niebezpieczeństwem, iż powinno z definicji wykluczyć tego typu centralizację?
MJ: Wyjaśnijmy kilka spraw. Po pierwsze centralizacja w OpenID jest dość względnym pojęciem. I to na wielu poziomach. Można założyć na jednym serwerze wiele tożsamości, można skorzystać z kilku serwerów, można wreszcie zainstalować serwer OpenID nawet na własnym komputerze.
Po drugie trzeba się zastanowić jaki jest stan obecny. Większość osób używa tego samego hasła na wielu stronach. Rozdaje więc swoją tożsamość (również pozwalającą na dostęp do wielu serwisów) na prawo i lewo. Moje doświadczenie z prowadzeniem serwisu, w którym loginem był adres e-mail, było takie, że 50-70% osób podawało hasło, które było również hasłem do serwera pocztowego.
Idąc dalej: nasze hasła są zapamiętywane przez przeglądarki. Mój Firefox uparcie zapamiętuje wszystkie szczegóły dotyczące mojej karty kredytowej. Skoro już przy tym jesteśmy: posługujemy się kartami kredytowymi, które pozwalają na dostęp do naszych pieniędzy za pomocą podania kilku prostych danych, ujawnianych codziennie anonimowym osobom.
Stąd OpenID, jak i każde inne rozwiązanie, nie jest idealne, ale jest i tak znacząco lepsze niż rozwiązania \”rozproszone\”, do których chyba lepiej pasuje nazwa \”chaotyczne\”. Można przechowywać pieniądze między książkami i w skarpetkach, mając nadzieję, że złodziej wszystkich nie znajdzie. Można je również zanieść do scentralizowanej instytucji, jaką jest bank.
BD: Na zakończenie podejdźmy do tematu od nieco innej strony. Czy stosowanie i wdrażanie rozwiązań typu OpenID jest trudne dla twórców stron internetowych? Czy potrzebna jest do tego fachowa wiedza?
MJ: Nie jest to specjalnie skomplikowane. Ośmieliłbym się nawet stwierdzić, że stworzenie serwisu, który obsługuje tylko logowanie przez OpenID może być prostsze niż samodzielne implementowanie własnego systemu logowania się. Oczywiście w sytuacji, gdy mamy działający serwis, dołożenie do niego logowania przez OpenID może być nieco trudniejsze, ale nie jest to jakiś wyższy stopień programistycznego wtajemniczenia. Dostępne są biblioteki OpenID do każdego popularnego języka programowania, które wystarczy obudować własnym kodem. Tego kodu wystarczy czasem kilkanaście linijek.