Bezpieczne logowanie się przy wykorzystaniu konta na Facebooku


Od dawna zabierałem się za pisanie tego artykułu, lecz ciągle coś mnie rozpraszało i nie pozwalało mi przysiąść do niego tak, jak tego oczekiwałem. Pisałem więc i pisałem, ciągle coś zmieniając… W pewnym momencie nawet wszystko skasowałem i zacząłem pisać od początku.
W końcu jednak doszedłem do sedna, które chciałem z Wami przedyskutować: za pomocą jakiego konta uwierzytelniać się na stronach internetowych, z jakiego konta korzystać? Oto jest pytanie.

Od dłuższego czasu coraz częściej napotykamy na różnych stronach opcję logowania się przy pomocy konta Facebook. Czy warto takiemu rozwiązaniu zaufać ?

Pamiętacie te czasy, kiedy internauta musiał jedynie pamiętać dane logowania do poczty internetowej? Pierwsze konta w poczcie Google były dostępne tylko i wyłącznie poprzez zaproszenie od osoby, która już posiada swoje konto… Cóż to były za czasy! Teraz, w dobie współczesnej technologii, internet to tysiące usług, dla których często mamy kilka, jeśli nie kilkanaście kont. Kont, które są przypisane do jednej osoby – użytkownika, którym jesteś właśnie Ty.

Do zalogowania się na niektórych kontach używamy powtarzających się znaków, loginów i haseł, a na innych – nie ukrywajmy – bardziej złożonych. Im więcej kont tym, trudniej to wszystko zapamiętać. Owszem mamy narzędzia, które potrafią pamiętać wszystko za nas – mowa tu o KeePass, bardzo fajnym i przydatnym rozwiązaniu – ale co w sytuacji, gdy chcemy wykorzystać nasze jedno jedyne konto do wszystkiego?

Na przestrzeni ostatnich lat możemy zauważyć, jak wzrasta zaufanie do największych wydawców internetowych, którzy umożliwiają nam uzyskanie dostępu do innych pomniejszych serwisów internetowych przy wykorzystaniu właśnie jednego konta. Rozwiązanie to mocno przypadło go gustu użytkownikom kont Google, jak również Facebook, ale warto w tym momencie powiedzieć, że nie tylko oni korzystają z takich rozwiązań. Posiadają je też takie firmy jak Microsoft, Apple czy chociażby Twitter.  Zadacie tu słuszne pytanie: skąd to się wzięło, co było początkiem, a może, który z wielkich wprowadził to jako pierwszy? By na nie odpowiedzieć, musimy zrobić krok wstecz i zadać sobie inne pytanie: czym jest OpenId oraz OAuth?

Ale co to jest ten OpenId ?

Według Wikipedii OpenId to 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.

Pomysłodawcą takiego rozwiązania był Brad Fitzpatrick, który w roku 2005 chciał zarządzać tożsamością internetową przy pomocy jednego konta na różnych serwisach internetowych. Miał też swoją stronę internetową, która szybko zyskała na popularności, co pomogło mu szybko związać się z takimi gigantami, jak Microsoft, Yahoo!, PayPal.

Po stworzeniu konta OpenID miałby służyć do wygodnego logowania się w wybranych serwisach. Rozwiązanie to, pomimo kilku prób wdrożenia go w praktyce, pozostaje jednak przede wszystkim projektem mocno koncepcyjnym. Równolegle natomiast duże firmy, takie jak Facebook, zaczęły tworzyć swoje mechanizmy w oparciu o OAuth.

Czym jest OAuth?

Według Wikipedii OAuth to otwarty standard autoryzujący, pozwalający użytkownikom udostępniać aplikacjom i stronom trzecim informacje przechowywane u innych dostawców usług. Zazwyczaj wymagana jest nazwa użytkownika oraz token. Standard ten wykorzystywany jest m.in. przez Amazon, Google, Facebook, Microsoft oraz Twitter.

OAuth zapewnia klientom tzw. „bezpieczny delegowany dostęp” do zasobów serwera w imieniu właściciela zasobów. Definiuje proces autoryzacji dostępu klientów zewnętrznych do zasobów serwera bez konieczności współdzielenia poświadczeń. Zaprojektowany z myślą o pracy z protokołem HTTP, OAuth zasadniczo umożliwia wydawanie tokenów dostępu klientom zewnętrznym poprzez serwer autoryzacji. Następnie klient zewnętrzny wykorzystuje otrzymany token, aby uzyskać dostęp do chronionych zasobów przechowywanych na serwerze.

OAuth to kolejny tzw. „standard autoryzacyjny” współczesnego internetu, który zrodził się w trakcie prac nad OpenID. O ile jednak OpenID to pojedynczy zestaw danych używanych do rejestracji na wielu stronach internetowych, OAuth to raczej zezwolenie udzielanie konkretnej stronie na korzystanie informacji zawartych w koncie innej witryny albo po prostu w celu weryfikacji naszej tożsamości. 

Rozwiązanie to jest dziś coraz częściej wykorzystywane na stronach internetowych, a niemal regularną praktyką stało się w mobilnych aplikacjach, które często nie mają nawet czasu i ochoty na tworzenie szczegółowej infrastruktury zarządzania użytkownikami. Na dodatek takie rozwiązanie łączy ich ze społecznościowymi usługami swoich użytkowników, co bardzo często jest skrzętnie wykorzystywane – np. w różnych aplikacjach kalendarzowych, szybko uzyskując informacje na temat dat urodzin naszych przyjaciół.

No dobrze, ale jak to działa ?

Podczas autoryzacji usługi w serwisie społecznościowym otrzymujemy informację, jakie dane udostępniamy nowej usłudze w ten sposób. Czasem może to być tylko imię i nazwisko oraz adres e-mail, ale czasem chce ona dowiedzieć się o nas jak najwięcej. Warto w takiej sytuacji być rozważnym i zwracać uwagę na to, jakie dane mielibyśmy udostępnić. Niekiedy bowiem można ograniczyć ich zakres. Niewykluczone, że bywają one wykorzystywane także do celów statystycznych lub marketingowych, ale miewa to i swoje dobre zastosowania.

Na przykład popularny serwis Filmweb od razu kojarzy nas ze znajomymi na Facebooku, dzięki czemu w polskim serwisie o filmach od razu możemy porównywać własny filmowy gust do upodobań przyjaciół. Ot, takie udogodnienie.

Do pewnego momentu przy łączeniu nowych usług ze stroną w serwisie społecznościowym – szczególnie dotkliwe było to właśnie na Facebooku – aplikacja mogła wymusić opcję publikowania postów. Nie ukrywam, że swego czasu było to bardzo irytujące, ponieważ otrzymywaliśmy pełno informacji typu „spam”, dowiadując się, że ktoś z naszych znajomych właśnie gra w jakąś grę, polubił jakieś zdjęcie lub robił coś innego.

Na szczęście z pomocą znów przyszła technologia, która w łatwy sposób pozwoliła nam ustawić w aplikacji , by posty o takiej tematyce były widoczne wyłącznie dla nas samych. Z czasem częstszą praktyką stało się jednak automatyczne uniemożliwianie przez serwisy społecznościowe publikacji treści na łamach serwisów.

Najciekawsze w tym wszystkim było to, że sami twórcy aplikacji sami sobie zgotowali ten los, atakując użytkowników nieprzyzwoitymi porcjami spamu, scamu czy innego typu wyłudzaczy danych osobowych.

W ciągu ostatnich lat dużo zmieniło się na lepsze, powiązane aplikacje i gry nie są już tak groźne, ale był moment, kiedy brak odpowiedniej kontroli nad tym aspektem Facebooka, potrafił być prawdziwym utrapieniem. Twitter już nie miał problemu ze spamem, jaki zalewał Facebooka, może dlatego, że jest troszkę mniej popularny (mam nadzieję, że nikomu nie narażę się, pisząc te słowa), a może dlatego, że osoby, które są bardziej biegłe w obsłudze komputerów decyduje się na korzystanie z Twitter’a..

Czy jest to bezpieczne?

Odpowiedź na to pytanie nie jest prosta ani jednoznaczna. Wprawdzie w mediach generalnie nie dało się słyszeć o zbyt dużej ilości przypadków wycieku danych przy logowaniu za pomocą protokołu OAuth, jednak eksperci do spraw internetowego bezpieczeństwa, tzw. Nasze bezpieczniki, w zależności od stopnia zaangażowania i zaawansowania „nie sympatyzują z tym rozwiązaniem”. Co więcej, słychać opinie, które nie zostawiają na nim suchej nitki. Wskazuje się, że protokół nie jest doskonały, że został źle wdrożony, że może prowadzić do wycieku wszelkich danych osobowych, wliczając w to nawet możliwość zalogowania się na nasze konto w usłudze społecznościowej, a tego chyba raczej nikt z nas nie chce.

Zdaniem ekspertów od bezpieczeństwa jest to przykład skrajnej nieodpowiedzialności autora usługi/witryny wykorzystującej takie logowanie. Generalnie więc zaleca się, by z logowania przez Facebooka tudzież inne serwisy korzystać głównie w przypadku wydawców, co do których mamy pełne zaufanie – zwłaszcza w zakresie odpowiedzialności przy tworzeniu zabezpieczeń własnej witryny.

Warto na temat spojrzeć z jeszcze innej perspektywy: nawet jeżeli nikt nie zaatakuje naszych danych w zewnętrznej usłudze, ale zaatakuje na przykład Facebookowe konto, uzyska dostęp do naszych kont we wszystkich powiązanych z nim serwisach. Dlatego łączenie się w taki sposób chociażby z usługami bankowymi czy innymi, na których dokonujemy płatności i zarządzamy środkami finansowymi, byłoby nieodpowiedzialne. Z drugiej strony, blokada konta na Facebooku (przez sam portal) powoduje trudności z dostaniem się do połączonych z nim usług.

Nie brakuje też argumentów, że nawet jeżeli nie dochodzi do prób wyłudzenia konta i włamywania się na nie, to tworząc nowe konta za pośrednictwem Facebooka prezentujemy witrynom pakiet intymnych informacji na nasz temat. A ponadto Facebook pozwala sobie wówczas w pełni monitorować nasze poczynania.

To jak: za czy przeciw?

Nie wiem, jak Wy, moi drodzy Czytelnicy, użytkownicy kont Facebooka, odniesiecie się teraz do tych wszystkich za i przeciw. Mimo dość surowych wypowiedzi i ocen, dotyczących bezpieczeństwa logowania się za pomocą takich protokołów, warto podkreślić w tym momencie, że do naruszeń związanych z bezpieczeństwem danych użytkowników, dochodzi stosunkowo rzadko, ale jak już coś takiego się dzieje, to… po całości. W grudniu 2019 roku miał miejsce wyciek danych około 600 milionów haseł użytkowników, które znalazły się na serwerze Facebooka. Na szczęście dostęp do nich mieli tylko pracownicy Facebooka, czyli niecałe 20 000 pracowników. Z samej zaś informacji od Facebooka wynika, że nie doszło do naruszenia przez żadnego pracownika , więc czy była to wielka katastrofa czy wpadka ?

Nie wiem, czy powodem jest fakt, że programiści i testerzy wiele wysiłku włożyli w działanie OAuth. To rozwiązanie jest naprawdę przyjemne i ułatwia życie niejednemu internaucie. Kto wie, może i nawet wzbogaca w jakiś sposób internet o możliwości, które do tej pory były nieosiągalne. Korzystanie z takich rozwiązań wydaje się więc uzasadnione. Może do płatności elektronicznych używałbym metody tradycyjnej, pewnej, zabezpieczonej chociażby podwójną autentyfikacją, uwierzytelnieniem, które nie jest powiązane z żadnym kontem społecznościowym, ale to moje skromne zdanie. Warto też zauważyć, że im mniej Facebook wie o Tobie, drogi Użytkowniku, tym lepiej dla Ciebie na wypadek, gdyby miał nastąpić atak, którego celem byłaby utrata danych tudzież samego konta.




Piotr Szafrański

O Piotr Szafrański

Wieloletnie doświadczenie zdobyte w pracy na różnych stanowiskach i w różnych miejscach, pozwoliło mi zdobyć potrzebne doświadczenie i wzbogacić zakres wiedzy z Informatyki i kryptografii, które stały się moimi ulubionymi zainteresowaniami. Doświadczenie pozyskiwałem w takich Firmach jak Ergo Hestia, Dot2Dot, MON, Państwowe resorty oraz Atena. Nie jestem Blogerem, dopiero rozwijam się w tej materii, jest to ciekawa odskocznia od dnia codziennego …

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *