Navigácia
Kyberbezpečnosť

Post-kvantové SSH: čo je už predvolené a ako opatrne sprísniť OpenSSH

1 novembra, 2026 techy.sk

Hrozba „zozbieraj teraz, dešifruj neskôr“ je skutočná, ale zadanie ju zamieňa s niečím iným a naznačuje, že ide o novinku. Post-kvantová výmena kľúčov je v OpenSSH predvolená od roku 2022 a ML-KEM od roku 2025. Tento návod vysvetľuje rozdiel medzi výmenou kľúčov a autentifikačnými kľúčmi, ukazuje, ako overiť, čo tvoj server dnes používa, a ako výmenu kľúčov bezpečne sprísniť.

Čo je v zadaní nepresné

  • Schválenie štandardu: ML-KEM (FIPS 203) štandardizoval NIST už v roku 2024, nie na jeseň 2026.
  • Čas post-kvantových predvolieb: OpenSSH 9.0 (apríl 2022) zapol hybridnú výmenu kľúčov sntrup761x25519-sha512 ako predvolenú. Verzia 9.9 (september 2024) pridala mlkem768x25519-sha256 a verzia 10.0 (apríl 2025) z nej urobila predvolenú.
  • Varovanie: OpenSSH 10.1 (október 2025) začal klientov upozorňovať, keď pripojenie nepoužíva post-kvantovú výmenu kľúčov.
  • RSA: o hromadnom odmietaní RSA kľúčov cloudovými platformami v roku 2026 som nenašiel doklad. Staré podpisy ssh-rsa so SHA-1 sa vypínajú už od OpenSSH 8.8 (2021). RSA s dostatočnou dĺžkou kľúča nie je dnes v SSH „zakázané“.
  • Nárast útokov: tvrdenie o masívnom náraste útokov typu „Harvest Now, Decrypt Later“ som nepotvrdil. Ide o hrozbu založenú na predpoklade, že záznam dnešnej prevádzky bude možné niekedy v budúcnosti prelomiť. Dnes neexistuje kvantový počítač schopný prelomiť súčasnú kryptografiu.
  • Ed25519-SK: nie je „hybridný“ ani post-kvantový. Je to klasický kľúč viazaný na hardvérový FIDO kľúč.

Dve rôzne veci: výmena kľúčov a autentifikácia

Pri SSH treba rozlišovať dve funkcie:

  • Výmena kľúčov (KEX) dohodne tajný kľúč, ktorým sa šifruje celá relácia. Ak by ju niekto v budúcnosti dokázal prelomiť zo záznamu, prečíta všetku prevádzku. Proti tomu sú určené post-kvantové hybridy. Toto je hrozba „harvest now, decrypt later“.
  • Autentifikácia (hostiteľské a používateľské kľúče a podpisy) dokazuje, kto je kto. Útočník by ju musel prelomiť v čase pripojenia, nie spätne. Záznam prevádzky preto spätne nepomôže.

Z toho vyplýva, že výmena kľúčov je naliehavejšia a tá je už v moderných verziách chránená. Podpisové schémy sú na rade teraz. OpenSSH 10.4 (júl 2026) pridal experimentálny kompozitný podpis, ktorý spája ML-DSA-44 s Ed25519, no je zatiaľ experimentálny.

Ako to funguje: RSA a mriežky

RSA stojí na ťažkosti rozkladu veľkého čísla na prvočísla. Shorov algoritmus by to na dostatočne veľkom kvantovom počítači zvládol rýchlo. Rovnako ohrozuje aj eliptické krivky. Mriežková kryptografia, na ktorej stojí ML-KEM, sa opiera o úlohy v mnohorozmerných mriežkach, pre ktoré nie je známy efektívny kvantový útok.

Hybridný prístup spája oba svety. Výsledný kľúč sa počíta z oboch tajomstiev, ako K = HASH(K_PQ || K_CL), kde jedno je z ML-KEM-768 a druhé z klasického X25519. Ak by sa v novom algoritme našla slabina, stále chráni klasická časť. Ak by sa prelomila klasická, chráni post-kvantová. Dokumentácia projektu uvádza, že hybrid je „aspoň taký silný ako curve25519“.

Krok 1: Zisti, čo používaš

ssh -V                                   # verzia klienta
ssh -Q kex | grep -E 'mlkem|sntrup'      # čo klient podporuje

# čo sa skutočne dohodlo s konkrétnym serverom
ssh -vv user@server 2>&1 | grep -i 'kex: algorithm'

# na serveri: čo sshd ponúka
sudo sshd -T | grep -i kexalgorithms

Podľa verzie OpenSSH na serveri máš buď oba hybridy (9.9 a novšie), alebo len sntrup761x25519 (9.0 až 9.8). Napríklad Ubuntu 24.04 LTS dodáva verziu 9.6, takže pozná len sntrup761 a ML-KEM nemá. Ak je server staršie než 9.0, post-kvantová výmena tam nie je a čaká ťa aktualizácia. Aktualizácia je lepšia než akékoľvek ladenie konfigurácie.

Krok 2: Autentifikačný kľúč

Pre používateľské kľúče je dnes rozumnou voľbou Ed25519:

ssh-keygen -t ed25519 -a 100 -C "macbook-2026"

Ak máš hardvérový FIDO2 kľúč, môžeš vygenerovať kľúč viazaný na zariadenie:

ssh-keygen -t ed25519-sk -C "macbook-fido"

Systémový OpenSSH v macOS nemusí podporovať hardvérové kľúče. V takom prípade použi novšiu verziu, napríklad z Homebrew, a skontroluj, ktorý ssh-keygen sa používa. Pri RSA, ak ho potrebuješ pre starší systém, použi aspoň 3072 bitov.

Krok 3: Sprísni server (opatrne)

Konfigurácia sa nezapisuje do hlavného súboru, ale do samostatného súboru. Moderné distribúcie načítavajú adresár /etc/ssh/sshd_config.d/ a platí prvá zhoda, takže názov s nižším číslom sa uplatní skôr:

# /etc/ssh/sshd_config.d/10-pq.conf  (OpenSSH 9.9 a novší)
KexAlgorithms mlkem768x25519-sha256,[email protected]
PasswordAuthentication no
PubkeyAuthentication yes

Pre OpenSSH 9.0 až 9.8 odstráň položku mlkem a nechaj len sntrup761:

KexAlgorithms [email protected]

Pozor na uzamknutie: takéto nastavenie znamená, že sa nepripojí nikto, kto nepozná tieto algoritmy, napríklad staršie klienty, niektoré automatizačné nástroje či zariadenia. Postupuj takto:

  1. Otvor druhé SSH spojenie a ponechaj ho otvorené počas celej zmeny.
  2. Skontroluj konfiguráciu: sudo sshd -t.
  3. Načítaj ju: sudo systemctl reload ssh (na RHEL a príbuzných distribúciách služba sshd).
  4. Z nového terminálu otestuj prihlásenie, a to aj zo všetkých klientov, ktoré používaš.
  5. Zabezpeč si alternatívny prístup (konzola poskytovateľa) pre prípad chyby.

Ak potrebuješ povoliť aj klasickú výmenu pre výnimky, použi blok Match pre konkrétnych používateľov alebo adresy namiesto oslabenia celého servera. Ak chceš len pridať preferovaný algoritmus bez odstránenia ostatných, použi predponu ^ (pridanie na začiatok zoznamu).

Čo ani toto nevyrieši

  • Nehovorí sa o „kryptograficky nepriestrelnom“ serveri. Hostiteľské kľúče a podpisy sú stále klasické. Zraniteľnosti v implementácii, zlá správa kľúčov a ukradnuté kľúče sú oveľa pravdepodobnejšie riziká než kvantový útok.
  • Chráni to len SSH. Ostatné služby, napríklad TLS, majú vlastný harmonogram prechodu.
  • Ak klient, s ktorým sa pripájaš, nepozná post-kvantové algoritmy, pripojenie zlyhá alebo (pri vypnutom obmedzení) spadne na klasickú výmenu.

Čo si z toho odniesť

Najdôležitejšie nie je žiadna agresívna konfigurácia. Je to mať aktuálnu verziu OpenSSH na klientoch aj serveroch. Vtedy sa post-kvantová výmena kľúčov používa automaticky. Prísne obmedzenie zoznamu algoritmov má zmysel pre servery, na ktoré sa pripájajú len tvoje moderné klienty, a vyžaduje opatrné testovanie. Nasledujúcim krokom sú post-kvantové podpisy, ale tie sú zatiaľ experimentálne.

Zdieľať článok

Mohlo by vás zaujímať