19/09/2017

Co to są certyfikaty cyfrowe i co oznacza skrót HTTPS

Porady

Jeśli chciałbym dokładnie omówić temat skrótu HTTPS i certyfikatów cyfrowych, musiałbym poruszyć zagadnienia związane z kryptografią. Postanowiłem jednak oszczędzić Wam szczegółów technicznych — pod warunkiem, że przyjmiecie za prawdziwą następującą tezę: silne szyfrowanie jest podstawą solidnego bezpieczeństwa i zapewnia prywatność.

Wiele razy już słyszeliśmy, że warto zwracać uwagę na to, czy w przeglądarce jest widoczna mała zielona lub szara kłódka, która zwiększa bezpieczeństwo dzięki protokołowi przesyłania dokumentów hipertekstowych (HTTPS). Skrót HTTPS oznacza, że strona zapewnia bezpieczeństwo, dlatego warto poszukać go w pasku przeglądarki, zanim wprowadzimy w jakimś formularzu internetowym wrażliwe informacje, takie jak dane płatności czy dane logowania do banku. Czym jest zatem HTTPS?

Skrót HTTPS oznacza szyfrowaną wersję protokołu HTTP, będącego podstawą przesyłania danych przez internet. Podczas połączenia z Siecią przy użyciu HTTPS (zamiast standardowego HTTP) wszelkie dane – te służące do logowania się do konta, płatność za bilet parkingowy czy komentarz na blogu – będą przesyłane za pośrednictwem szyfrowanego protokołu (TLS) lub jego poprzednika, SSL.

Zatem HTTPS oznacza szyfrowanie, które z kolei oznacza bezpieczeństwo. Ale skąd mamy wiedzieć, że komunikujemy się w internecie z tą osobą lub usługą, z którą chcemy? Skąd mamy pewność, że strona, na którą patrzymy i do której mamy zamiar się zalogować, nie jest fałszywa? Powiedzmy, że chcesz kupić produkt antywirusowy firmy Kaspersky Lab — skąd masz mieć pewność, że informacje związane z płatnością trafią do nas, a nie do jakiegoś hakera? Ponadto przecież ktoś może podsłuchiwać transfer danych, prawda? W tym miejscu do gry wchodzą certyfikaty.

Wejdź na jakąś starszą stronę i spróbuj wpisać w pasku adresu skrót HTTPS. Jeśli jej certyfikat jest ważny, serwer, na którym znajduje się strona, wyświetli go w przeglądarce (która posiada wbudowaną listę zaufanych wydawców certyfikatów). Mówiąc wprost, certyfikat to coś, co potwierdza autentyczność strony lub usługi. Aby zobaczyć stosowne informacje na temat certyfikatu i jego wydawcy, kliknij małą kłódkę (lub jej odpowiednik — w zależności od przeglądarki). Jeśli jednak spróbujesz wejść na wersję HTTPS danej strony, która nie ma ważnego certyfikatu, zobaczysz takie ostrzeżenie SSL:

To ostrzeżenie jest komunikatem przeglądarki. W ten sposób informuje ona, że nie może zweryfikować tożsamości serwera strony, z którą próbujesz się połączyć. Czy wiesz, jak istotną rolę pełni system certyfikacyjny, który weryfikuje autentyczność stron i usług? Jeśli nie wiesz, przeczytaj o atakach typu man-in-the-middle.

Teraz, gdy już znasz skrót HTTPS i wiesz, jakie zadanie pełnią certyfikaty, zastanów się, w jaki sposób one się wiążą. Skrót HTTPS oznacza, że wysyłane informacje są bezpiecznie szyfrowane, a certyfikat cyfrowy potwierdza, że dane lądują tam, gdzie mają lądować.

Wyjaśniłem, jak działają certyfikaty i po co one są. Muszę jednak dodać, że są one elektronicznymi oświadczeniami, które zawierają własny unikatowy algorytmiczny podpis cyfrowy, informacje identyfikacyjne dla strony lub usługi, dla której zostały wydane, informacje identyfikacyjne samego wydawcy, a także czas wydania oraz termin ważności. Ten algorytmiczny podpis jest kropką nad i w certyfikacie cyfrowym. Podpis jest częścią certyfikatu, który potwierdza, że łączysz się z wybranym zasobem oraz że komunikacja jest szyfrowana w locie.

Ostatnią kwestią, którą należy tu wyjaśnić, są wydawcy certyfikatów. Istnieje wiele organizacji, które sprzedają lub wydają certyfikaty cyfrowe. Nazywają się one urzędami certyfikacji. Do trzech najbardziej popularnych urzędów certyfikacji należą GoDaddy, VeriSign i Entrust. Gdybym tylko chciał, również mógłbym zostać urzędem certyfikacji i zacząć sprzedawać certyfikaty. Problem w tym, że nikt by im nie ufał, więc nikt by ich nie kupował. Dlatego urzędy takie są dobre wtedy, gdy ktoś im ufa.

Zaufanie to polega na tym, że istnieje lista tzw. „certyfikatów głównych”. Są one uznawane za zaufane domyślnie w większości przeglądarek. Mogą one także rozszerzyć swoje zaufanie na inne urzędy certyfikacji. Powiedzmy, że jakaś osoba o imieniu Larry wydaje certyfikaty i jest urzędem certyfikatów głównych. Twoja przeglądarka zaufa każdemu certyfikatowi, który wydał Larry. Zaufa także każdemu innemu certyfikatowi, który zostanie rzez niego poświadczony. Istnieje wiele urzędów certyfikacji, a naszym zadaniem jest ich weryfikacja. Pozwalamy około 36 zaufanym urzędom certyfikacji decydować, który inny urząd certyfikacji jest warty zaufania. Teoretycznie każdy jest w tej sytuacji szczęśliwy, prawda? Nie do końca.

Musisz wiedzieć, że bieżący system certyfikatów cyfrowych jest skomplikowany, pokrętny i kontrowersyjny. Certyfikaty cyfrowe i umieszczone w nich podpisy, a także urzędy certyfikacji, które je poświadczają, stanowią podwaliny autoryzacji i zaufania w internecie. Jak na ironię, cała branża wie, że bieżący urząd certyfikacji i system podpisów cyfrowych jest beznadziejnie zepsuty i żałośnie nieadekwatny. A mimo to każdego dnia polegamy na nim, dokonując płatności i komunikując się z innymi.

Wycieki w tak dużych urzędach certyfikacji jak DigiNotar czy Comodo oraz odkrycie, że nie jeden, a dwa fałszywe certyfikaty poświadczyły wirusa Stuxnet, pokazały dobitnie, że potrzebny jest nowy system. Badacz bezpieczeństwa Moxie Marlinspike zasugerował, że problem z certyfikatami może rozwiązać jego system „Convergence SSL”. Mimo debiutu na konferencji Black Hat Security i dość pozytywnego odbioru przez ogół uczestników wciąż korzystamy z zepsutego systemu certyfikacji. Gdy komunikujemy się i wydajemy pieniądze w internecie, zakładamy najlepsze opcje, jeśli chodzi o certyfikaty działające w tle. Od czasu do czasu słyszymy o wycieku w urzędzie certyfikacji, jęczymy i opłakujemy problem, ale ostatecznie przechodzimy do porządku dziennego, nie robiąc z tym nic.

A co możemy zrobić? Możemy na przykład upewnić się, że w przeglądarce widnieje skrót HTTPS, gdy wprowadzamy wrażliwe dane, takie jak informacje o płatności czy dane logowania, lub gdy piszemy wiadomość e-mail. Oprócz tego możemy kliknąć kłódkę (lub jej odpowiednik) w pasku przeglądarki i sprawdzić certyfikat sami. Doświadczone osoby mogą czytać bieżące informacje na temat bezpieczeństwa i ręcznie wycofać zaufanie z urzędu certyfikacji, gdy zostanie on zhakowany. Cofanie takiego zaufania oznacza, że przeglądarka nie będzie już honorowała certyfikatów wydawanych lub poświadczonych przez dany urząd. Najlepiej jest cofnąć zaufanie do zhakowanego urzędu w ustawieniach przeglądarki niezwłocznie po upublicznieniu takiego incydentu, ale nie trzeba się martwić na zapas, gdyż do tej pory Microsoft, Mozilla i Google stosunkowo szybko wycofywały takie zaufanie (szkoda, że nie możemy powiedzieć tego samego o firmie Apple). Dopóki będziesz aktualizować przeglądarkę i system operacyjny, będziesz ochronę przed złymi i fałszywymi certyfikatami.