Podpisy cyfrowe i certyfikaty
Poznają Państwo, jak podpisy cyfrowe potwierdzają autentyczność oraz jak certyfikaty X.509 wiążą tożsamość z kluczami.
Podpisy cyfrowe i certyfikaty to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Czym są podpisy cyfrowe
Podpis cyfrowy potwierdza, że dokument lub wiadomość zostały utworzone przez posiadacza określonego klucza prywatnego i nie zostały zmodyfikowane. W przeciwieństwie do podpisu odręcznego jest matematycznie powiązany z treścią — każda zmiana unieważnia podpis.
Jak działa podpisywanie
Proces podpisywania:
- Oblicz skrót dokumentu:
H = SHA256(document) - Zaszyfruj skrót kluczem prywatnym:
sig = RSA_encrypt(H, private_key) - Dołącz podpis do dokumentu
Weryfikacja: odszyfruj sig kluczem publicznym, ponownie oblicz skrót i porównaj wyniki.
ECDSA i EdDSA
Nowoczesne algorytmy podpisu:
- ECDSA (z P-256) — używany w certyfikatach TLS i Bitcoinie
- Ed25519 (EdDSA) — szybszy, prostszy, bez podatności związanej z losowością dla poszczególnych podpisów, używany w SSH i Signal
W nowych aplikacjach należy preferować Ed25519.
Czym jest certyfikat
Certyfikat cyfrowy (X.509) wiąże klucz publiczny z tożsamością. Zawiera nazwę podmiotu, klucz publiczny, okres ważności, wystawcę i podpis cyfrowy urzędu certyfikacji. Podczas odwiedzania witryn HTTPS serwer przedstawia swój certyfikat, aby potwierdzić swoją tożsamość.
Urzędy certyfikacji (CA)
Urząd certyfikacji (CA) to zaufany podmiot, który podpisuje certyfikaty po zweryfikowaniu tożsamości wnioskodawcy. Magazyny zaufania przeglądarek i systemów operacyjnych zawierają certyfikaty głównych urzędów certyfikacji. Łańcuch zaufania wygląda następująco: główny urząd certyfikacji → pośredni urząd certyfikacji → certyfikat podmiotu końcowego.
Let's Encrypt i bezpłatne certyfikaty
Let's Encrypt to bezpłatny, zautomatyzowany urząd certyfikacji. Wydaje certyfikaty Domain Validated (DV) ważne przez 90 dni, które można automatycznie odnawiać za pomocą protokołu ACME. Od 2015 roku przyczynił się do znacznego rozpowszechnienia HTTPS.
certbot --nginx -d example.com -d www.example.com
# Auto-renewal via cron or systemd timerTypy certyfikatów
Poziomy weryfikacji certyfikatów:
- DV (weryfikacja domeny) — potwierdza wyłącznie kontrolę nad domeną
- OV (weryfikacja organizacji) — potwierdza istnienie organizacji
- EV (rozszerzona weryfikacja) — rygorystyczna weryfikacja tożsamości (zielony pasek, obecnie wycofany w przeglądarkach)
Unieważnianie certyfikatów
Przejęte certyfikaty należy unieważnić:
- CRL (lista unieważnionych certyfikatów) — lista numerów seryjnych unieważnionych certyfikatów do pobrania
- OCSP (protokół sprawdzania statusu certyfikatu online) — sprawdzenie w czasie rzeczywistym dla pojedynczego certyfikatu
- OCSP Stapling — serwer dołącza podpisaną przez urząd certyfikacji odpowiedź OCSP do uzgadniania połączenia TLS
Certificate Transparency (CT)
Rejestry Certificate Transparency to publiczne, rozszerzane wyłącznie przez dodawanie wpisów rejestry każdego wydanego certyfikatu. Przeglądarki wymagają dowodu CT w certyfikatach. Umożliwia to wykrywanie nieprawidłowo wydanych certyfikatów w ciągu kilku godzin. Wyszukiwanie: crt.sh
curl "https://crt.sh/?q=example.com&output=json" | python3 -m json.toolPodpisywanie kodu
Wydawcy oprogramowania podpisują pliki wykonywalne za pomocą certyfikatów do podpisywania kodu. System operacyjny weryfikuje podpisy przed uruchomieniem. Zapobiega to cichemu uruchamianiu zmodyfikowanych plików binarnych. Gatekeeper w systemie macOS i SmartScreen w systemie Windows egzekwują zasady dotyczące podpisywania kodu.
Przypinanie certyfikatów
Przypinanie certyfikatów polega na zapisaniu w aplikacjach oczekiwanych certyfikatów lub kluczy publicznych. Nawet jeśli nieuczciwy urząd certyfikacji wyda fałszywy certyfikat, aplikacje z przypiętymi certyfikatami go odrzucą. Jest stosowane w aplikacjach mobilnych i usługach o wysokim poziomie bezpieczeństwa. Aktualizowanie takich danych jest trudne — należy korzystać z tego mechanizmu ostrożnie.
Szybkie sprawdzenie: certyfikaty
Jaki mechanizm pozwala przeglądarkom sprawdzać w czasie rzeczywistym, czy konkretny certyfikat został unieważniony?
Podsumowanie lekcji
Podpisy cyfrowe potwierdzają autentyczność i integralność za pomocą kluczy prywatnych. Certyfikaty wiążą klucze publiczne z tożsamościami i są podpisywane przez urzędy certyfikacji. Let's Encrypt udostępnia bezpłatne certyfikaty DV. Unieważnianie wykorzystuje CRL lub OCSP. Logi Certificate Transparency wykrywają nieprawidłowo wydane certyfikaty. Ed25519 to obecnie preferowany algorytm podpisu.
Często zadawane pytania
Czy lekcja „Podpisy cyfrowe i certyfikaty” jest bezpłatna?
Tak — pełny tekst „Podpisy cyfrowe i certyfikaty” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Podpisy cyfrowe i certyfikaty”?
Poznają Państwo, jak podpisy cyfrowe potwierdzają autentyczność oraz jak certyfikaty X.509 wiążą tożsamość z kluczami. Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?
Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Podpisy cyfrowe i certyfikaty”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?
Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Szyfrowanie symetryczne: AES i szyfry strumieniowe
- Szyfrowanie asymetryczne: RSA i krzywe eliptyczne
- Funkcje skrótu: SHA-256 i nie tylko
- Podpisy cyfrowe i certyfikaty