Wiarygodność stron www (ścieżka z wyjaśnieniami)

Większą pewność co do autentyczności strony daje sprawdzenie dla jakiej firmy (organizacji) został wydany tzw. certyfikat związany z witryną WWW (a właściwie z serwerem WWW). Maksimum bezpieczeństwa daje sprawdzenie jeszcze kto wydał certyfikat oraz jaka jest ścieżka certyfikacji. Zagadnienia te są wyjaśnione poniżej.



Informacje ogólne: protokoły HTTP i HTTPS

Witryna internetowa (serwis internetowy), ang. website jest to grupa powiązanych ze sobą stron WWW (zwanych też stronami internetowymi).

Sam skrót WWW oznacza World Wide Web, czyli ogólnoświatowy system stron hipertekstowych. Słowo hipertekst oznacza tekst, w którym mogą znajdować się linki, czyli odnośniki do innych stron. System WWW jest często błędnie utożsamiany z całym Internetem. W rzeczywistości WWW stanowi tylko część funkcjonalności Internetu.

Internet jest ogólnoświatową siecią komputerową (a w zasadzie złożoną siecią komputerową łączącą wiele mniejszych sieci), która wykorzystuje pewien zestaw technologii i zasad, umożliwiających komunikację przyłączonych do tej sieci komputerów. W sieci Internet dostępnych jest wiele usług, jedną z nich jest WWW. Inne usługi w Internecie to na przykład poczta elektroniczna (działająca niezależnie od WWW, chociaż można korzystać z poczty również z wykorzystaniem stron WWW), przesyłanie plików (FTP), VOiP czyli telefonia internetowa, internetowe radio i telewizja (dostępne również przez sieć WWW).


Adresy stron (witryn) WWW rozpoczynają się od napisu http:// lub https://. HTTP oraz HTTPS są to nazwy protokołów, wykorzystywanych w komunikacji między komputerami. Protokoły określają i regulują różne techniczne aspekty komunikacji między przeglądarką WWW a serwerem WWW, na którym opublikowana jest strona (witryna).

HTTP to skrót angielskiej nazwy Hypertext Transfer Protocol. Bezpieczna wersja tego protokołu (tj. zawierająca różne mechanizmy bezpieczeństwa) nazywa się HTTPS – Hypertext Transfer Protocol Secure.

Strony o adresach rozpoczynających się od http:// można stosunkowo łatwo sfałszować, dlatego adresy bezpiecznych stron WWW muszą zaczynać się od https://.

Adres strony wykorzystującej bezpieczny protokół HTTPS jest prezentowany w popularnych przeglądarkach z symbolem kłódki z lewej strony.



Poniższe rysunki przedstawiają sposób prezentacji adresu jednego z polskich banków https://www.pkobp.pl w różnych przeglądarkach.

Uwaga! Twórcy przeglądarek czasem zmieniają szatę graficzną i sposób wyświetlania informacji o stronach WWW. Na rysunkach widać stan z początku roku 2020.

Microsoft Edge (następca popularnej przeglądarki Microsoft Internet Explorer):



Widać tu zarówno symbol kłódki, jak i sam adres rozpoczynający się od https://. Z prawej strony kłódki widać jeszcze zielony napis PKO Bank Polski SA [PL]. Jest to fragment certyfikatu zawierający informację dla jakiej firmy (organizacji) został wystawiony certyfikat (inaczej mówiąc jaka firma jest jego właścicielem). Certyfikaty są omówione dokładniej w punkcie 2 poniżej na tej stronie.


Mozilla Firefox:



Symbol kłódki jest tutaj szary. W niektórych przeglądarkach symbol kłódki w pasku adresu jest szary (czarny). Ich twórcy uważają, że kolorowe kłódki zbyt rozpraszają użytkowników. Jak widać powyżej, w odróżnieniu od Microsoft Edge, Mozilla Firefox nie wyświetla informacji o właścicielu certyfikatu. Wyświetlenie tych informacji wymaga kliknięcia w symbol kłódki.


Google Chrome:


Przeglądarka Google Chrome standardowo nie wyświetla na początku adresu nazwy protokołu https:. Jednak szara kłódka z lewej strony oznacza, że wykorzystywany jest protokół HTTPS. Dwukrotne kliknięcie w pasek z adresem spowoduje wypisanie pełnego adresu:



Apple Safari:

Przeglądarka Safari wypisuje adres strony na środku górnej części okna:



Wypisanie pełnego adresu (z https://) wymaga kliknięcia w pasek z adresem:


Sprawdzenie autentyczności

W tym punkcie dowiesz się, co to są certyfikaty i jak użytkownik komputera może je wykorzystać do sprawdzenia autentyczności strony.

Jak otwieramy stronę banku, to należy upewnić się, czy adres strony jest poprawny i czy komunikacja jest realizowana z wykorzystaniem HTTPS. Jednak jak wspomniano wcześniej, sam fakt, że adres strony WWW rozpoczyna się od https:// nie gwarantuje jeszcze pełnego bezpieczeństwa. Należy sprawdzić autentyczność strony WWW. Wiąże się to z certyfikatami.


HTTPS zapewnia trzy ważne funkcje:

  • Szyfrowanie. Cała komunikacja między przeglądarką WWW (np. Firefox, Chrome, Internet Explorer, Edge, Safari) a serwerem WWW (czyli komputerem, na którym są opublikowane przeglądane strony, np. serwerem WWW banku) jest szyfrowana. Oznacza to, że osoby postronne (ktoś w Internecie) nie mogą odczytać co jest przesyłane do przeglądarki ani nie mogą odczytać tego, co jest przesyłane z przeglądarki do serwera. Na przykład nie mogą odczytać zawartości strony ze stanem konta. Strona przesyłana jest z serwera WWW do przeglądarki w postaci dobrze zaszyfrowanej. Osoby postronne nie będą w stanie odczytać ani loginu ani hasła, które jest wpisywane w przeglądarce przy logowaniu się do serwera WWW banku. Te informacje przesyłane są z przeglądarki WWW do serwera WWW i też są dobrze zaszyfrowane, dzięki wykorzystaniu protokołu HTTPS.


  • Potwierdzenie autentyczności strony. Potwierdzenie autentyczności oznacza, że przeglądarka jest w stanie sprawdzić jaka firma, organizacja albo osoba jest właścicielem serwera WWW, z którym nawiązane zostało połączenie. Informację tę zawiera certyfikat (omówiony poniżej).


  • Potwierdzenie integralności przesyłanych danych. Oznacza to, że przeglądarka może sprawdzić, czy nikt w żaden sposób nie zmodyfikował treści przesyłanych danych (w tym stron WWW przesyłanych z serwera do przeglądarki).

Szyfrowanie oraz potwierdzenie integralności danych jest realizowane z wykorzystaniem zaawansowanych metod kryptograficznych.


Do potwierdzenia autentyczności strony też wykorzystywane są zaawansowane metody kryptograficzne. Oprócz tego, ważnym elementem potwierdzania autentyczności strony są certyfikaty.

Certyfikat jest specjalnym plikiem, tworzonym przez tzw. urząd certyfikacji (ang. CA – Certificate Authority) i zawiera ważne kryptograficzne dane, pozwalające na bezpieczne sprawdzenie kto wydał certyfikat oraz dla kogo (dla jakiej firmy, organizacji lub osoby) został wydany. Certyfikat posiada też informację od kiedy i do kiedy jest ważny oraz jaki jest cel stosowania certyfikatu. Ta ostatnia informacja wiąże się z faktem, że certyfikaty mogą być używane do potwierdzenia autentyczności serwera WWW, ale również na przykład do potwierdzania autentyczności maili albo programów komputerowych. Certyfikat wystawiony dla adresu pocztowego nie może być użyty do sprawdzenia autentyczności serwera WWW.

W celu sprawdzenia, dla kogo certyfikat został wydany, należy kliknąć w symbol kłódki w pasku z adresem strony. Jak widzieliśmy wcześniej, przeglądarka Microsoft Edge wyświetla nazwę firmy, organizacji lub osoby, dla której został wydany certyfikat, bez potrzeby klikania w symbol kłódki. Różne inne szczegóły certyfikatu, można wyświetlić wybierając (w zależności od przeglądarki) odpowiednią opcję po kliknięciu w symbol kłódki. Wśród tych informacji jest też tzw. ścieżka certyfikacji, umożliwiająca określenie, który urząd certyfikacji wydał dany certyfikat.

Każdy certyfikat jest podpisany cyfrowo przez pewien urząd certyfikacji. Podpis cyfrowy umożliwia sprawdzenie (w tym przypadku) autentyczności certyfikatu. Certyfikat może być wystawiony przez jeden z głównych na świecie, zaufanych urzędów certyfikacji lub przez urząd pośredni. Urzędy pośrednie też posiadają certyfikaty (podobnie jak serwery WWW). Certyfikaty urzędów pośrednich wystawiane są przez urzędy główne lub inne urzędy pośrednie. Może być zatem tak, że bank posiada certyfikat wydany przez jeden z pośrednich urzędów certyfikacji, który z kolei posiada certyfikat wydany przez jeden z urzędów głównych. Zwykle tak właśnie jest. Urzędy główne też mają dla siebie certyfikaty, ale (wyjątkowo) te certyfikaty są wydawane i podpisywane przez te same urzędy (urząd główny sam dla siebie wydaje certyfikat i sam go podpisuje cyfrowo). Certyfikaty urzędów głównych przechowywane są w komputerach użytkowników (w systemie operacyjnym oraz w niektórych programach, które korzystają z systemu certyfikatów, np. Mozilla Firefox ma swój magazyn z certyfikatami urzędów głównych).

Główne urzędy certyfikacji i ich certyfikaty są traktowane w systemach operacyjnych i różnych programach jako zaufane. Jednocześnie mechanizmy kryptograficzne umożliwiają sprawdzenie autentyczności podpisu cyfrowego w certyfikacie urzędu pośredniego i w certyfikatach wystawionych przez urzędy pośrednie. Może być również tak, że urząd pośredni jest nadrzędny dla innego urzędu pośredniego i dopiero ten kolejny urząd pośredni wystawia certyfikat dla strony WWW.

Jeśli certyfikat serwera WWW (witryny) jest podpisany przez urząd pośredni, którego certyfikat jest podpisany przez inny urząd pośredni itd. aż łańcuch certyfikatów kończy się na którymś z głównych urzędów certyfikacji, to przeglądarka traktuje taką stronę jako autentyczną.


Poniżej przedstawione są sposoby sprawdzenia certyfikatów w różnych przeglądarkach.


Microsoft Edge:



Po kliknięciu w łącze „Czy można ufać tej witrynie?” otwiera się okno z dodatkowymi objaśnieniami:


Jak w aplikacji Microsoft Edge sprawdzić, czy można ufać witrynie internetowej?

Przeglądarka Microsoft Edge wyświetla na zielono adres strony oraz kłódkę, jeśli certyfikat wydany dla firmy (banku) jest weryfikowany przez urząd certyfikacji w sposób bardziej restrykcyjny. Sprawdzeniu podlega nie tylko prawo do domeny (np. pkobp.pl), ale również weryfikowane są prawnie dane rejestrowe firmy (banku) oraz inne wymagane dokumenty. Takie dokładniej sprawdzane certyfikaty oznaczane są jako EV (Extended Validation) i są uważane za najbezpieczniejsze. Więcej informacji na temat certyfikatów i różnego stopnia ich bezpieczeństwa można przeczytać na dole tej strony, w punkcie „Uzupełnienia”. Witryny banków powinny mieć najbezpieczniejsze certyfikaty – typu EV.

Kliknięcie w „Wyświetl certyfikat” powoduje, że wyświetlone będą bardziej szczegółowe informacje w certyfikacie:

Ścieżka certyfikacji

  1. Odnośnik do certyfikatu jednego z głównych urzędów certyfikacji.
  2. Odnośnik do certyfikatu pośredniego urzędu certyfikacji.
  3. Odnośnik do certyfikatu serwera WWW (witryny).
  4. Wyróżnione tło oznacza, że poniżej przedstawione są dane z certyfikatu tego elementu ścieżki certyfinacji (w tym przypadku serwera WWW, który jest właścicielem certyfikatu www.pkobp.pl).
  5. Podstawowe dane certyfikatu.


Po kliknięciu w odnośniki głównego i pośredniego urzędu certyfikacji można sprawdzić certyfikaty tych urzędów:



Jak widać, certyfikaty głównych urzędów certyfikacji są wydawane na dużo dłużej (tutaj na około 10 lat) niż certyfikaty dla witryn WWW (w powyższym przypadku na dwa lata). Przedstawiony certyfikat wystawiony jest przez polską firmę Unizeto Technologies S.A., która pod marką CERTUM prowadzi urząd certyfikacji, jeden z głównych.

Certyfikat pośredniego urzędu certyfikacji (tego, który wydał certyfikat dla www.pkobp.pl):



Właścicielem tego pośredniego urzędu certyfikacji też jest Unizeto (Certum). Dlaczego firma ta utrzymuje urząd główny i dodatkowo pośredni? To jest częsty scenariusz. Powodem są względy bezpieczeństwa, nieco więcej wyjaśnień na ten temat można znaleźć poniżej na tej stronie w punkcie Uzupełnienia.


Mozilla Firefox:


Po kliknięciu w kłódkę widać nazwę banku, dla którego wystawiony został certyfikat.



Po kliknięciu w „Zabezpieczone połączenie” ukazują się informacje kto wystawił i podpisał cyfrowo certyfikat (Unizeto Technologies S.A.).



Po kliknięciu w „Więcej informacji” otwiera się nowe okno:



Można teraz wyświetlić cały certyfikat (przycisk „Wyświetl certyfikat”):



Ścieżka certyfikacji:

1. Odnośnik do certyfikatu jednego z głównych urzędów certyfikacji.
2. Odnośnik do certyfikatu pośredniego urzędu certyfikacji.
3. Odnośnik do certyfikatu serwera WWW (witryny).

Po kliknięciu w odnośniki do głównego i pośredniego urzędu certyfikacji zostaną wyświetlone certyfikaty tych urzędów.



Google Chrome:



Po kliknięciu w „Certyfikat (Ważny)” wyświetli się okno, w którym w różnych kartach można odczytać dane z certyfikatu (ogólne, szczegółowe oraz ścieżkę certyfikacji):



Certyfikat

Ścieżka certyfikacji:




Apple Safari:

Po kliknięciu w symbol kłódki otrzymamy:


informację o tym, że przeglądarka używa szyfrowanego połączenia

Po kliknięciu w „Pokaż certyfikat” i rozwinięciu sekcji szczegóły otrzymamy:


dodatkowe informacje dotyczące certyfikatu strony www w przeglądarce Apple Safari

System sprawdzania autentyczności strony WWW (a dokładniej serwera WWW, na którym strona jest opublikowana) wykorzystuje złożone metody kryptograficzne i certyfikaty, ale też opiera się na zaufaniu do urzędów certyfikacji. Oznacza to, że współcześnie stosowane metody sprawdzania autentyczności stron WWW zakładają, że urząd certyfikacji ani umyślnie, ani w sposób niezamierzony (np. wskutek pomyłki, nierzetelnego sprawdzenia lub w wyniku ataku hakerskiego) nie wyda certyfikatu niepoprawnego ani fałszywego. Na przykład zakłada się, że nie zostanie wydany certyfikat stwierdzający, że niepoprawny adres WWW należy do pewnego banku, podczas gdy w rzeczywistości należy do kogoś zupełnie innego (do innej firmy albo do hakera).

Dokładniejsze informacje na temat certyfikatów oraz sposobów sprawdzania autentyczności stron WWW i integralności przesyłanych danych można znaleźć w „ścieżce dla dociekliwych”.

Wyświetlanie zawartości certyfikatu

Czy wszystkie przeglądarki dają możliwość wyświetlenia zawartości certyfikatu (dla jakiej firmy wystawiony, przez jaki urząd certyfikacji)? Jak to wygląda na przykład na smartfonach i tabletach?

Niektóre przeglądarki na urządzeniach mobilnych nie dają możliwości wyświetlenia zawartości certyfikatu. Szczególnie dotyczy to urządzeń firmy Apple (iPhone, iPad). Na przykład Safari, główna systemowa przeglądarka na tych urządzeniach, nie wyświetla treści certyfikatów (chociaż sama je sprawdza). Co wtedy zrobić, jeśli na przykład nie jesteśmy pewni jakiegoś adresu www i chcielibyśmy zweryfikować, dla jakiej firmy został wystawiony certyfikat?

Można wykorzystać np. stronę https://whois.domaintools.com/. Na tej stronie można wpisać interesujący nas adres WWW i po chwili zostanie wyświetlony certyfikat.

Są również specjalne aplikacje, które umożliwiają sprawdzanie certyfikatów, np. SSL Detective Plus. Zwykle są to aplikacje płatne lub przynajmniej zachęcające użytkownika to zapłacenia niewielkiej kwoty za prawo do korzystania z programu.

Uzupełnienia

Rodzaje certyfikatów:

System wystawiania certyfikatów jest uregulowany i obejmuje metody sprawdzania właściciela strony (witryny), które musi wykonać urząd certyfikacyjny przed wydaniem certyfikatu. Są trzy typy certyfikatów, które różnią się właśnie sposobem weryfikacji:

  • DV (Domain Validation) – z walidacją (sprawdzeniem) domeny. Jest to „najsłabszy” sposób weryfikacji właściciela witryny. Podstawą weryfikacji jest wysłanie maila do administratora domeny i uzyskanie od niego potwierdzenia. Centrum certyfikacji uznaje, że skoro uzyskano potwierdzenie, to certyfikat może być wystawiony. Jednak certyfikat taki nie zawiera żadnych informacji na temat firmy czy osoby, która zostanie właścicielem certyfikatu (ponieważ takie informacje nie są dla certyfikatów DV sprawdzane).
  • OV (Organization Validation) – z walidacją organizacji. Dla tych certyfikatów następuje prawne sprawdzenie danych rejestrowych firmy. Dane te mogą być wpisane do certyfikatu (np. nazwa firmy, adres).
  • EV (Extended Validation) – z rozszerzoną walidacją. Dla takich certyfikatów weryfikowane są prawnie dane rejestrowe firmy (banku) oraz inne wymagane dokumenty firmy. Jak napisano powyżej, są to najbezpieczniejsze certyfikaty (i najdroższe). Banki, duże firmy czy duże sklepy internetowe powinny mieć certyfikat EV.


Czy zdarzało się złamać system certyfikatów?

Takie przypadki się zdarzały. Udało się włamać do kilku głównych urzędów certyfikacji i wykorzystać ukradzione klucze prywatne. Jednak było tylko kilka takich przypadków w historii i skutki tych zdarzeń na szczęście były ograniczone. Udało się również wyłudzenie certyfikatu dla jednej ze znanych firm informatycznych przez osoby do tego nieuprawnione. Przypadków tych jednak było jak dotąd tak mało, że generalnie cały system uznawany jest za bezpieczny.

Co zrobić, jeśli zostało wykryte włamanie na serwer WWW (np. naszej firmy czy organizacji)?

Serwer WWW oprócz certyfikatu ma również swój tzw. klucz prywatny. Jest on używany przez metody kryptograficzne stosowane do weryfikacji autentyczności i integralności przesyłanych danych. Jeśli jest podejrzenie, że przy okazji włamania został ukradziony klucz prywatny, należy wycofać certyfikat (zrobi to urząd, który certyfikat wydał). Certyfikat taki zostanie opublikowany na liście certyfikatów wycofanych (CRL). Następnie należy wystąpić do urzędu certyfikacyjnego o wydanie nowego certyfikatu (zostanie wówczas utworzony nowy klucz prywatny).

Co to jest CRL (jeden z elementów zapisanych w certyfikacie)?

CRL (Certificate Revocation List) jest to serwis WWW, który publikuje listę wszystkich certyfikatów wycofanych (np. wystawionych przy użyciu wykradzionego klucza prywatnego).

Dlaczego firma zarządzająca którymś z głównych urzędów certyfikacji tworzy również pośredni urząd certyfikacji i ten jest wykorzystywany do wydawania certyfikatów dla stron WWW?

Przykład taki widzieliśmy powyżej (Unizeto – Certum). Powodem są względy bezpieczeństwa. Certyfikat wydany przez urząd certyfikacji musi być podpisany cyfrowo przez ten urząd. Wymaga to użycia tzw. klucza prywatnego tego urzędu. Gdyby komuś udało się wykraść klucz prywatny urzędu certyfikacji, to mógłby wystawiać fałszywe certyfikaty za ten urząd. Takie sytuacje się zdarzyły w historii, na szczęście to były pojedyncze przypadki i skutki tych zdarzeń były bardzo ograniczone. Klucze prywatne głównych urzędów certyfikacji powinny być szczególnie chronione. Każdorazowe użycie klucza prywatnego przez główny urząd certyfikacji wymaga stosowania odpowiednich procedur a sam klucz chroniony jest przez specjalne urządzenia. Z tego powodu właściciel urzędu głównego może utworzyć pewną liczbę urzędów pośrednich. Każdy z tych urzędów pośrednich jest używany do wystawiania certyfikatów dla użytkowników końcowych (np. dla serwerów WWW). Klucz prywatny urzędu głównego jest używany rzadko, tylko do podpisania certyfikatu rzędu pośredniego. Klucze prywatne urzędów pośrednich są używane często (do podpisywania certyfikatów dla serwerów WWW) i nie mogą być aż tak restrykcyjnie zabezpieczane, chociaż oczywiście są zabezpieczane. Gdyby klucz prywatny jednego z urzędów pośrednich został wykradziony, wówczas należałoby unieważnić tylko certyfikaty wystawione przez ten urząd.

Czy można utworzyć własny urząd do wydawania certyfikatów, na przykład w dużej firmie?

Tak, to jest stosunkowo proste. Jeśli tak utworzony urząd (pośredni) wykupi certyfikat w jednym z zaufanych urzędów, to ścieżka certyfikacji (opisywana wcześniej na tej stronie) rozpocznie się od jednego z urzędów głównych, zatem wszystkie certyfikaty wydawane przez tak utworzony urząd będą traktowane przez przeglądarki jako zaufane. Między innymi dlatego warto sprawdzić kto wydał certyfikat dla pewnego serwera WWW i jaka jest ścieżka certyfikacji. Oddzielną kwestią jest wtedy, czy zaufamy takiemu urzędowi certyfikacji i czy będziemy otwierać strony WWW z certyfikatem wystawionym przez taki „firmowy” urząd certyfikacji.

Co to znaczy certyfikat niezaufany? Dlaczego czasem przeglądarka wyświetla informację, że certyfikat jest niezaufany mimo, że stosowany jest protokół HTTPS?

Urząd certyfikacji może być stosunkowo łatwo utworzony (jak już wspomniano powyżej). Jeśli taki urząd wykupi certyfikat od jednego z urzędów zaufanych, to ścieżki certyfikacji dla wszystkich certyfikatów wystawionych przez ten urząd będą się rozpoczynać od jednego z urzędów głównych i w związku z tym przeglądarki będą traktować takie certyfikaty jako zaufane.
Jednak firma nie musi dla swojego urzędu certyfikacji wykupywać certyfikatu w żadnym z zaufanych urzędów. Urząd „firmowy” może wystawić sam sobie certyfikat i sam go podpisać. Wówczas wszystkie certyfikaty wystawione przez taki urząd są traktowane jako niezaufane i przeglądarka będzie o tym informować. Standardowo proponowane jest nieotwieranie strony zabezpieczonej niezaufanym certyfikatem. Jeśli jednak znamy firmę, która utworzyła urząd certyfikacji, to możemy dodać certyfikat tego urzędu lub certyfikat wystawiony przez ten urząd do listy certyfikatów zaufanych i od tej pory na tym komputerze i w tej przeglądarce nie będą się pojawiać komunikaty o niezaufanym certyfikacie (oczywiście tylko w odniesieniu do tych dodanych certyfikatów).


Poprzednia strona                                                                                                                      Przejdź dalej