ML-KEM i ML-DSA to dwa algorytmy postkwantowe, z którymi większość organizacji zetknie się najpierw. ML-KEM (FIPS 203) pozwala dwóm stronom uzgodnić tajny klucz przez otwartą sieć, czyli wykonuje zadanie, które dziś pełnią transport klucza RSA i Diffie-Hellman na krzywych eliptycznych. ML-DSA (FIPS 204) podpisuje dane i weryfikuje podpisy, jak dziś podpisy RSA i ECDSA. NIST opublikował oba standardy 13 sierpnia 2024 r., razem z FIPS 205 (SLH-DSA), schematem podpisu opartym na funkcjach skrótu, utrzymywanym jako ostrożna alternatywa. Oba opierają się na problemach kratowych, których nie rozwiązuje wydajnie żaden znany algorytm kwantowy, i dlatego zastępują algorytmy klucza publicznego, które złamałby algorytm Shora.
ML-KEM: uzgadnianie klucza
Wyobraź sobie kłódkę, którą każdy może zamknąć, ale otworzyć możesz tylko Ty. Publikujesz otwartą kłódkę (publiczny „klucz enkapsulacji”). Druga strona losuje nowy sekret, zamyka go Twoją kłódką i odsyła wynik („szyfrogram”). Tylko Ty możesz go otworzyć i od tej chwili obie strony mają ten sam sekret, którym kluczuje się potem szybkie szyfrowanie symetryczne, na przykład AES. To mechanizm enkapsulacji klucza, w skrócie KEM. „ML” oznacza kratę modułową (module lattice), strukturę matematyczną, na której jest zbudowany; wywodzi się ze zgłoszenia CRYSTALS-Kyber.
ML-KEM ma trzy rozmiary: ML-KEM-512, ML-KEM-768 i ML-KEM-1024. Typowym wyborem jest ML-KEM-768; CNSA 2.0 amerykańskiej NSA wymaga ML-KEM-1024 dla systemów bezpieczeństwa narodowego USA. Jest szybki, często porównywalny z krzywymi eliptycznymi, ale jego komunikaty są znacznie większe: przy ML-KEM-768 klucz publiczny ma 1184 bajty, a szyfrogram 1088 bajtów, wobec 32 bajtów udziału klucza X25519.
ML-DSA: podpisywanie
Podpis cyfrowy dowodzi, kto wytworzył dane i że od tego czasu się nie zmieniły: certyfikaty, aktualizacje oprogramowania, dokumenty, dowód tożsamości serwera w handshake'u TLS. ML-DSA robi to za pomocą matematyki krat zamiast problemu faktoryzacji czy logarytmu dyskretnego, na których opierają się RSA i ECDSA; wywodzi się z CRYSTALS-Dilithium. Występuje jako ML-DSA-44, ML-DSA-65 i ML-DSA-87. Podpisy są duże: podpis ML-DSA-65 ma 3309 bajtów, a jego klucz publiczny 1952 bajty, podczas gdy podpis Ed25519 ma 64 bajty. Łańcuch certyfikatów z kilkoma takimi podpisami dokłada kilobajty do każdego handshake'u, co jest jednym z powodów, dla których podpisy postkwantowe przychodzą później niż postkwantowa wymiana kluczy.
Wymiana hybrydowa: X25519MLKEM768
Większość ruchu nie przechodzi od razu na samo ML-KEM. Łączy je z wymianą klasyczną: w TLS 1.3 grupa hybrydowa X25519MLKEM768 wykonuje w jednym handshake'u wymianę X25519 i enkapsulację ML-KEM-768, a klucz sesji wyprowadza z obu. Gdyby w ML-KEM znaleziono słabość, sesję nadal chroni X25519; gdyby komputer kwantowy złamał X25519, nadal chroni ją ML-KEM. Obecne przeglądarki już oferują tę grupę, a wiele dużych serwisów ją akceptuje, więc spora część ruchu WWW Twoich użytkowników może już korzystać z postkwantowej wymiany kluczy, choć nikt tego nie planował.
Dlaczego rozmiar ma znaczenie w Twojej sieci
Pierwszy komunikat handshake'u klienta (ClientHello) rośnie z hybrydowym udziałem klucza o ponad kilobajt i często nie mieści się już w jednym pakiecie sieciowym. Niektóre stare zapory, load balancery i urządzenia inspekcji źle obsługują ClientHello podzielone na pakiety i odrzucają albo resetują połączenie. To najczęstsza praktyczna niespodzianka migracji postkwantowej: kryptografia działa, urządzenie pośredniczące nie. Przetestuj wymianę hybrydową na każdej istotnej ścieżce, także przez koncentratory VPN i proxy z inspekcją TLS, zanim zaczniesz jej wymagać.
Co z tym zrobić
- Szukaj nazw „ML-KEM”, „X25519MLKEM768” i „ML-DSA” w dokumentacji dostawców i odpowiedziach przetargowych; to te nazwy mają znaczenie.
- Włącz wymianę hybrydową tam, gdzie Twoje biblioteki TLS i wersje SSH już ją obsługują, i sprawdź w ruchu sieciowym, czy połączenia naprawdę z niej korzystają.
- Ustal, gdzie Twój ruch wciąż używa wyłącznie klasycznej wymiany kluczy. Ta lista, uszeregowana według tego, jak długo dane muszą pozostać tajne, wyznacza kolejność migracji; przewodnik po kryptografii postkwantowej wyjaśnia, jak ją uszeregować.
Tę ostatnią listę NetSenX pokazuje z sieci. NQCI, inwentaryzacja kryptografii NetSenX (w wersji zapoznawczej), jest aktywna od planu Pro z czujnikiem przechwytywania pakietów na agencie Linux albo czujnikiem na porcie SPAN lub TAP i pokazuje, które połączenia używają wymiany kluczy podatnej na komputery kwantowe, a które hybrydowej postkwantowej. Sama nie zmienia żadnej kryptografii.
Źródła
- FIPS 203, Module-Lattice-Based Key-Encapsulation Mechanism Standard — NIST
- FIPS 204, Module-Lattice-Based Digital Signature Standard — NIST
- NIST releases first 3 finalized post-quantum encryption standards — NIST
- Announcing the Commercial National Security Algorithm Suite 2.0 — NSA
Autor: zespół NetSenX, TriStiX S.L. Pytania: info@netsenx.com.