Lekcja 2 z 4 · 9 min
Podpisy cyfrowe, certyfikaty i TLS
Jak przeglądarka wie, że naprawdę rozmawia z twoim bankiem, dlaczego ikona kłódki znaczy coś konkretnego i czego nie znaczy.
Poprzednia lekcja pozostawiła jedno pytanie otwarte: szyfrowanie asymetryczne pozwala wysłać sekret komuś, czyj klucz publiczny posiadasz — ale skąd wiesz, że ten klucz publiczny faktycznie należy do tej osoby, a nie do atakującego stojącego pośrodku? Podpisy cyfrowe i certyfikaty odpowiadają na to pytanie, a razem umożliwiają TLS, protokół stojący za każdym adresem https://.
Podpisy cyfrowe: dowód pochodzenia, nie tajności
Podpis cyfrowy uruchamia szyfrowanie asymetryczne odwrotnie. Zamiast szyfrować wiadomość czyimś kluczem publicznym, by tylko ta osoba mogła ją odczytać, nadawca podpisuje wiadomość własnym kluczem prywatnym, a każdy może to zweryfikować za pomocą klucza publicznego nadawcy. Jeśli weryfikacja się powiedzie, prawdziwe są dwie rzeczy: wiadomość pochodzi od tego, kto posiada ten klucz prywatny, i nie została później zmieniona — ta sama właściwość odporności na kolizje z omówienia funkcji skrótu w poprzedniej lekcji sprawia, że manipulację można wykryć. Podpis dowodzi autentyczności i integralności; sam w sobie nie utrzymuje wiadomości w tajemnicy.
Certyfikaty: podpis poręczający za klucz publiczny
Certyfikat cyfrowy rozwiązuje problem „czyj to naprawdę klucz publiczny”. Jak wyjaśnia Cloudflare Learning Center, certyfikat SSL/TLS to „plik danych przechowywany na serwerze źródłowym strony”, zawierający nazwę domeny, klucz publiczny, datę wygaśnięcia oraz — co kluczowe — „podpis cyfrowy urzędu certyfikacji”. Urząd certyfikacji (CA) to zaufana strona trzecia, która sprawdza, czy strona kontroluje domenę, dla której prosi o certyfikat, a następnie podpisuje ten certyfikat swoim własnym kluczem prywatnym. Twoja przeglądarka ma wbudowaną listę urzędów CA, którym ufa, więc gdy otrzymuje certyfikat podpisany przez jeden z nich, może zaufać zawartemu w nim kluczowi publicznemu, nigdy nie spotkawszy operatora strony. Certyfikat samopodpisany — taki, który strona podpisuje sama, zamiast uzyskać go od CA — nie ma takiego zewnętrznego poręczenia, dlatego przeglądarki domyślnie traktują go jako niezaufany.
TLS: uruchomienie obu mechanizmów
RFC 8446, specyfikacja TLS 1.3, opisuje uzgadnianie w fazach: wymiana kluczy, w której obie strony ustalają wspólny materiał sekretny; następnie uwierzytelnianie, gdzie, słowami RFC, „strona serwera kanału jest zawsze uwierzytelniana; strona klienta jest uwierzytelniana opcjonalnie” — zwykle tylko strona internetowa dowodzi swojej tożsamości, a nie odwiedzający. Serwer dowodzi, kim jest, używając swojego certyfikatu i podpisu, który tylko on mógł stworzyć swoim kluczem prywatnym. Gdy obie strony ufają połączeniu, wyprowadzają szybkie klucze symetryczne (zwykle AES z poprzedniej lekcji) dla właściwych danych. RFC 8446 wprost stwierdza, co to daje: poufność i integralność wymienianych danych oraz uwierzytelnienie serwera. Równie wprost stwierdza ograniczenie: „TLS nie ukrywa długości przesyłanych danych”, a metadane, takie jak z jakim serwerem się połączyłeś i kiedy, pozostają widoczne dla każdego, kto jest w stanie obserwować połączenie.
Co znaczy ikona kłódki, a czego nie znaczy
| Kłódka / https:// oznacza | Nie oznacza |
|---|---|
| Połączenie z tym serwerem jest szyfrowane, a jego integralność jest chroniona | Że strona jest godna zaufania, uczciwa lub bezpieczna w użyciu |
| Rozmawiasz z tym, kto kontroluje tę nazwę domeny | Że ta nazwa domeny jest tym, za kogo ją uważasz — przekonująca podszywająca się domena też otrzyma ważny certyfikat |
| Nikt na drodze sieciowej nie może odczytać ani po cichu zmienić ruchu | Że nikt nie widzi, że odwiedziłeś tę stronę, kiedy ani jak często |
Strona phishingowa zbudowana na podszywającej się domenie może mieć całkowicie ważny certyfikat: TLS uwierzytelnia domenę, a nie intencje tego, kto ją zarejestrował. Dlatego wcześniejsza lekcja o tym, jak przebiegają ataki, traktuje fałszywą stronę logowania, z kłódką włącznie, jako realne zagrożenie, a nie sprzeczność.
Najważniejsze
- Podpis cyfrowy dowodzi, kto wysłał wiadomość i że nie została zmieniona — sam w sobie nie utrzymuje wiadomości w tajemnicy.
- Certyfikat to podpisane oświadczenie, od urzędu certyfikacji, któremu przeglądarka już ufa, że dany klucz publiczny należy do danej domeny.
- Uzgadnianie TLS (RFC 8446) zawsze uwierzytelnia serwer; odwiedzający jest uwierzytelniany w ten sam sposób rzadko.
- TLS chroni poufność i integralność w tranzycie oraz potwierdza, że dotarłeś do zamierzonej domeny — nie ukrywa faktu, że doszło do połączenia, ani nie gwarantuje, że stojąca za nim strona jest godna zaufania.
- Strona phishingowa na podszywającej się domenie może wyświetlać całkowicie ważną kłódkę; certyfikat uwierzytelnia domenę, a nie intencje operatora.
Sprawdź się
1. Co dowodzi ważny podpis cyfrowy na wiadomości?
- Że wiadomość jest tajna dla wszystkich oprócz odbiorcy
- Że wiadomość pochodzi od posiadacza konkretnego klucza prywatnego i nie została zmieniona — Dobrze.
- Że wiadomość została wysłana za pomocą TLS
- Że wiadomość jest wolna od jakiejkolwiek szkodliwej zawartości
Podpisy weryfikują autentyczność i integralność za pomocą pary kluczy podpisującego; nie szyfrują wiadomości w celu zachowania tajności.
2. Jaką rolę pełni urząd certyfikacji (CA) w TLS?
- Przechowuje twoje hasła w twoim imieniu
- Poręcza własnym podpisem, że dany klucz publiczny należy do danej domeny — Dobrze.
- Szyfruje cały ruch w internecie
- Automatycznie blokuje strony phishingowe
CA sprawdza kontrolę nad domeną i podpisuje certyfikat, pozwalając przeglądarkom, które już ufają CA, zaufać kluczowi publicznemu z certyfikatu bez bezpośredniego kontaktu z operatorem strony.
3. Według RFC 8446, która strona typowego połączenia TLS jest zawsze uwierzytelniana?
- Tylko klient (twoja przeglądarka)
- Serwer — Dobrze.
- Żadna ze stron domyślnie
- Obie strony, zawsze, bez wyjątków
RFC 8446 stwierdza, że strona serwera jest zawsze uwierzytelniana, podczas gdy uwierzytelnianie klienta jest opcjonalne i znacznie rzadsze przy zwykłym przeglądaniu.
4. Dlaczego strona phishingowa nadal może pokazywać ważną ikonę kłódki?
- Ikony kłódki są kosmetyczne i nic nie znaczą
- Certyfikat uwierzytelnia nazwę domeny, a nie uczciwość tego, kto ją zarejestrował — Dobrze.
- Przeglądarki nie sprawdzają już certyfikatów
- Strony phishingowe w ogóle nie mogą używać HTTPS
Certyfikaty TLS potwierdzają, że rozmawiasz z faktycznym posiadaczem danej domeny; przekonująco podszywająca się domena może uzyskać swój własny, całkowicie ważny certyfikat.
Wypróbuj to z FireAI
Zastosuj tę lekcję w praktyce na swoim Macu.
- Głęboka inspekcja, bez odszyfrowywania czegokolwiek — Uzyskaj prawdziwe szczegóły o bezpiecznym połączeniu bez ryzyka, że FireAI kiedykolwiek odczyta jego zawartość.
- Co zostaje na twoim Macu i jedyne przypadki, gdy FireAI łączy się z internetem samodzielnie — Przeczytaj całą listę tego, co wysyła FireAI, zamiast wierzyć firewallowi na słowo.
Źródła
- RFC 8446: The Transport Layer Security (TLS) Protocol Version 1.3
- Cloudflare Learning Center: What is an SSL certificate?
Zastosuj to na swoim Macu
Wypróbuj wszystkie funkcje za darmo przez 17 dni, bez karty.