Kryptografia postkwantowa: CRYSTALS-Kyber i Dilithium
Poznaj wybrane przez NIST algorytmy postkwantowe, zrozum problemy kratowe, na których się opierają, i oceń wyzwania migracji istniejącej infrastruktury PKI.
Kryptografia postkwantowa: CRYSTALS-Kyber i Dilithium to bezpłatna lekcja 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 Security+ Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Security+ Academy zawiera 4 lekcji w sumie.
Zagrożenie związane z komputerami kwantowymi
Obecnie stosowana kryptografia klucza publicznego — RSA, ECC i Diffie-Hellman — opiera się na problemach matematycznych, których rozwiązanie za pomocą komputerów klasycznych jest obliczeniowo niewykonalne. Bezpieczeństwo RSA wynika z trudności rozkładu dużych liczb całkowitych na czynniki; bezpieczeństwo ECC opiera się na problemie logarytmu dyskretnego na krzywej eliptycznej. Odpowiednio wydajny komputer kwantowy uruchamiający algorytm Shora może rozwiązać oba te problemy w czasie wielomianowym, skutecznie łamiąc całą powszechnie stosowaną kryptografię klucza publicznego. Chociaż taki komputer kwantowy jeszcze nie istnieje, zagrożenie traktuje się na tyle poważnie, że w 2016 roku NIST rozpoczął standaryzację odpornych na komputery kwantowe alternatyw.
Ataki typu Harvest Now, Decrypt Later
Adwersarze państwowi mogą już dziś gromadzić zaszyfrowany ruch internetowy z zamiarem odszyfrowania go, gdy pojawią się komputery kwantowe — strategia ta nosi nazwę „harvest now, decrypt later” lub SNDL (Store Now, Decrypt Later). Szczególnie zagrożone są dane wymagające długotrwałej ochrony (niejawne informacje rządowe, dokumentacja finansowa i medyczna), ponieważ w chwili pojawienia się komputerów kwantowych mogą nadal mieć charakter wrażliwy. Dlatego organizacje są zachęcane do przejścia na kryptografię postkwantową (PQC) jeszcze przed pojawieniem się komputerów kwantowych, a nie dopiero po nim, ponieważ transformacja jest złożona i czasochłonna.
Algorytm Grovera a kryptografia symetryczna
Ważne jest rozróżnienie zagrożeń kwantowych dotyczących różnych klas algorytmów. Algorytm Shora łamie asymetryczną kryptografię RSA i ECC. Algorytm Grovera zapewnia kwadratowe przyspieszenie wyszukiwania, co zmniejsza o połowę efektywną długość klucza szyfrów symetrycznych i funkcji skrótu. Oznacza to, że AES-128 zapewnia atakującemu korzystającemu z komputera kwantowego zaledwie 64-bitowy poziom bezpieczeństwa — niewystarczający — podczas gdy AES-256 zachowuje 128-bitowy poziom bezpieczeństwa postkwantowego, który jest akceptowalny. Bezpieczeństwo SHA-256 również zmniejsza się o połowę, ale SHA-256 nadal zapewnia wystarczającą ochronę; w przypadku długoterminowego bezpieczeństwa zaleca się SHA-384 i SHA-512.
Proces standaryzacji PQC przez NIST
W 2016 roku NIST uruchomił konkurs mający wyłonić postkwantowe algorytmy kryptograficzne, otrzymując 82 zgłoszenia. Po kilku rundach oceny NIST sfinalizował w 2024 roku pierwszy zestaw standardów PQC: FIPS 203 (ML-KEM, wywodzący się z CRYSTALS-Kyber) do enkapsulacji klucza, FIPS 204 (ML-DSA, wywodzący się z CRYSTALS-Dilithium) do podpisów cyfrowych oraz FIPS 205 (SLH-DSA, wywodzący się z SPHINCS+) jako alternatywę w postaci podpisu opartego na funkcji skrótu. Algorytmy te są odporne na ataki zarówno komputerów klasycznych, jak i kwantowych, i mają zastąpić RSA oraz ECDSA w systemach PKI.
Podstawy kryptografii opartej na kratach
Zarówno CRYSTALS-Kyber, jak i CRYSTALS-Dilithium to schematy kryptograficzne oparte na kratach. Krata to regularna siatka punktów w przestrzeni wielowymiarowej. Trudnym problemem leżącym u podstaw obu algorytmów jest problem Learning With Errors (LWE): mając zbiór równań liniowych, do których dodano niewielkie losowe błędy, należy znaleźć pierwotny sekret. Nie istnieje znany algorytm kwantowy, który efektywnie rozwiązywałby problem LWE. Wariant Module-LWE (MLWE) używany w CRYSTALS zapewnia dobry kompromis między poziomem bezpieczeństwa a rozmiarem klucza i szyfrogramu.
CRYSTALS-Kyber: enkapsulacja klucza
CRYSTALS-Kyber (obecnie ML-KEM) to mechanizm enkapsulacji klucza (KEM) — umożliwia dwóm stronom ustanowienie wspólnego sekretu za pośrednictwem niezabezpieczonego kanału, zastępując wymianę kluczy Diffie-Hellman i RSA. Kyber generuje parę kluczy publiczny/prywatny; nadawca enkapsuluje losowy klucz sesyjny za pomocą klucza publicznego odbiorcy, a odbiorca dokonuje jego dekapsulacji przy użyciu klucza prywatnego. Kyber-768 (3. poziom bezpieczeństwa NIST, w przybliżeniu odpowiadający AES-192) ma klucz publiczny o rozmiarze około 1184 bajtów i szyfrogram o rozmiarze około 1088 bajtów — znacznie większym niż 256-bajtowy klucz RSA-2048.
CRYSTALS-Dilithium: podpisy cyfrowe
CRYSTALS-Dilithium (obecnie ML-DSA) to algorytm podpisu cyfrowego, który zastępuje podpisy ECDSA i RSA. Generuje podpisy za pomocą matematyki krat, a ich weryfikacja jest wydajna. Dilithium3 (3. poziom bezpieczeństwa) generuje podpisy o rozmiarze około 3293 bajtów — znacznie większym niż 64-bajtowy podpis ECDSA. Zwiększenie rozmiaru jest głównym wyzwaniem migracyjnym dla systemów PKI intensywnie korzystających z certyfikatów. Mimo większego rozmiaru Dilithium szybko podpisuje i weryfikuje dane na standardowym sprzęcie oraz jest odporny na wszystkie znane ataki kwantowe.
SPHINCS+: podpisy oparte na funkcji skrótu
SPHINCS+ (obecnie SLH-DSA) to bezstanowy schemat podpisu oparty na funkcji skrótu, wybrany przez NIST jako alternatywa dla Dilithium. Jego bezpieczeństwo opiera się wyłącznie na bezpieczeństwie bazowej funkcji skrótu (SHA-256 lub SHAKE), dzięki czemu jest wyjątkowo zachowawczy — jeśli matematyka krat zostanie w jakiś sposób złamana, SPHINCS+ nadal pozostanie bezpieczny. Kompromisem jest rozmiar podpisu: podpisy SPHINCS+ mają od 8 KB do 50 KB, zależnie od zestawu parametrów, przez co nie nadają się do certyfikatów TLS, ale doskonale sprawdzają się przy podpisywaniu kodu, gdzie rozmiar podpisu ma mniejsze znaczenie.
Kryptografia hybrydowa: strategia przejścia
Zalecaną strategią migracji jest kryptografia hybrydowa: połączenie algorytmu klasycznego z algorytmem postkwantowym, dzięki czemu połączenie pozostaje bezpieczne, dopóki co najmniej jeden z tych algorytmów nie zostanie złamany. Na przykład X25519 + Kyber-768 do wymiany kluczy oznacza, że osoba atakująca musiałaby złamać zarówno ECDH, jak i Kyber, aby odszyfrować ruch. Takie rozwiązanie jest już wdrażane: przeglądarka Chrome firmy Google dodała w 2023 roku obsługę X25519Kyber768 do hybrydowej wymiany kluczy dla TLS 1.3, a firma Apple dodała ją do iMessage. Podejście hybrydowe umożliwia płynne przejście bez nagłego przełączania wszystkich systemów w jednym momencie.
Wyzwania związane z migracją PKI
Migracja PKI do algorytmów postkwantowych wiąże się z ogromną złożonością: rozmiary certyfikatów znacznie się zwiększają, wpływając na rozmiar i wydajność uzgadniania TLS; moduły bezpieczeństwa sprzętowego (HSM) trzeba zaktualizować lub wymienić, aby obsługiwały nowe algorytmy; infrastruktura podpisywania kodu i urzędy certyfikacji wymagają aktualizacji; a urządzenia IoT z ograniczoną pamięcią mogą nie obsługiwać większych kluczy postkwantowych. Organizacje powinny rozpocząć inwentaryzację kryptograficzną — skatalogować wszystkie miejsca, w których używane są RSA i ECC — jako pierwszy etap planu migracji do PQC.
Crypto Agility: zabezpieczanie systemów na przyszłość
Crypto agility oznacza projektowanie systemów w taki sposób, aby można było wymieniać algorytmy kryptograficzne bez konieczności całkowitego przeprojektowania systemu. Systemy zapewniające crypto agility przechowują identyfikatory algorytmów wraz z kluczami i szyfrogramami, umożliwiając przyszłe aktualizacje przez zmianę parametru konfiguracji. TLS, SSH i nowoczesne standardy certyfikatów już demonstrują crypto agility. Organizacje powinny przeprowadzić audyt własnych protokołów i aplikacji pod kątem zakodowanych na stałe wyborów algorytmów — to właśnie te systemy będą najdroższe w migracji. Wdrożenie już teraz warstwy abstrakcji biblioteki kryptograficznej znacznie ułatwia późniejszą migrację do PQC.
Szybki sprawdzian
Sprawdź swoją znajomość zagadnień CompTIA Security+ (SY0-701) omówionych w tej lekcji.
Podsumowanie lekcji
W tej lekcji dowiedziałeś się, że: algorytm Shora zagraża RSA i ECC, podczas gdy algorytm Grovera jedynie zmniejsza o połowę bezpieczeństwo kluczy symetrycznych, dzięki czemu AES-256 i SHA-384 nadal są odpowiednie w świecie postkwantowym; CRYSTALS-Kyber (ML-KEM) zastępuje wymianę kluczy, a CRYSTALS-Dilithium (ML-DSA) zastępuje podpisy cyfrowe jako wybrane przez NIST standardy postkwantowe; oraz że kryptografia hybrydowa łącząca algorytmy klasyczne i PQC jest zalecaną strategią migracji na czas trwania transformacji. W następnej części omówimy bezpieczeństwo kontenerów w środowiskach cloud-native.
Często zadawane pytania
Czy lekcja „Kryptografia postkwantowa: CRYSTALS-Kyber i Dilithium” jest bezpłatna?
Tak — pełny tekst „Kryptografia postkwantowa: CRYSTALS-Kyber i Dilithium” 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 Security+ Academy, przejdź na CoddyKit PRO. Kurs Security+ Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Kryptografia postkwantowa: CRYSTALS-Kyber i Dilithium”?
Poznaj wybrane przez NIST algorytmy postkwantowe, zrozum problemy kratowe, na których się opierają, i oceń wyzwania migracji istniejącej infrastruktury PKI. Ćwiczysz 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ąć Security+ Academy?
Nie wymagamy żadnego doświadczenia. 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 „Kryptografia postkwantowa: CRYSTALS-Kyber i Dilithium”?
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 Security+ Academy?
Tak. Każda lekcja 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
- Uzgadnianie TLS 1.3 i wznowienie 0-RTT
- Szyfrowanie uwierzytelnione: AES-GCM i ChaCha20-Poly1305
- Funkcje wyprowadzania klucza: PBKDF2, bcrypt i Argon2
- Kryptografia postkwantowa: CRYSTALS-Kyber i Dilithium