Postkvantová kryptografie (Post-quantum cryptography)

4. 9. 2023 | Jindřich Zechmeister

Jako post-kvantová kryptografie se označuje kryptografie (šifrování), která je odolná kvantovým počítačům. Současná kryptografie je založena na vysoké složitosti některých matematických problémů a nemožnosti je vyřešit pomocí současných počítačů v rozumně dlouhé době (například faktorizace prvočísel). Kvantové počítače však tento předpoklad boří a proto je potřeba připravit si náhradu současné kryptografie včas, protože jednoho dne bude zřejmě potřeba. Jak se začít připravovat se dozvíte v tomto článku.

Co jsou to kvantové počítače a jak fungují?

Už z názvu je patrné, že kvantové počítače jsou jiný druh počítačů než ty, které denně používáme. Ty jsou v kontextu kvantových počítačů označovány jako konvenční. Kvantové počítač jsou důsledkem zmenšování staveních jednotek současných čipů a počítačů. Typická velikost dnešního tranzistoru, který je základním stavebním kamenem počítačů, je 14nm. To je velikost pouze několika atomů a tranzistor je tak 500x menší jak červená krvinka (7 µm). Zmenšování již naráží na současné technologické limity výroby, proto se vědci přiklání ke kvantovým počítačům jako vhodné alternativě dalšího vývoje.

Kryptografie je založena na neřešitelnosti určitých matematických úloh, přesněji řečeno jejich neřešitelnosti v rozumném čase. Tak například funguje nejrozšířenější algoritmus RSA, který se spoléhá na problém faktorizace dvou prvočísel. Jednoduše řečeno když známe součin dvou velkých prvočísel, tak nejsme snadno a rychle schopni určit součinitele, byť víme, jak na to.

Současné počítače znají metody jak prolomit současnou kryptografii, například pomocí Shorova algoritmu prolomit RSA, ale dosud nebyl k dispozici takový výpočetní výkon, který by současné šifry dokázal efektivně "lámat". Proto jsou současné šifry stále bezpečné, ale to nebude trvat na věky. S příchodem dostatečně velkého výkonu je bude možné rozluštit ve zlomku času, který potřebujeme dnes.

Jednoduše řečeno kvantové počítače nejsou univerzální počítače jak je známe z domu a kanceláře, ale zaměřují se konkrétní výpočty a úlohy, které řeší pomocí speciálních algoritmů. Jejich základní informační jednotkou jsou qubity, což jsou částice, které se mohou nacházet ve více fyzikálních stavech najednou (superpozice). Pro základní pochopení principu kvantových počítačů doporučuji shlédnout krátké video níže.

 

Video názorně ukazuje, že qubit nemusí být pouze ve stavu 0 či 1 jako bit, ale s určitou pravděpodobností se nachází kdekoliv mezi zmíněnými stavy a dokonce mohou být i v obou stavech zároveň. Hlavní výhoda qubitů pro použití v kvantových počítačích je v tom, že pomocí nich mohou vykonávat výpočty paralelně a tato paralelizace roste s druhou mocninou počtu qubitů v kvantovém počítači. Konvenční počítače počítají úlohy sekvenčně (postupně) a tedy pomaleji. Například 4 bity mohou dosáhnout 16 konfigurací a můžeme je použít k vyjádření jen jedné z nich. Proti tomu čtyři qubity v superpozici mohou dosáhnout všech 16 konfigurací současně. Dvacet qubitů může mít už milion hodnot současně (2^20). Ve specifických úlohách, jako je třeba hledání v databázi, jsou kvantové počítače řádově mnohem rychlejší než ty současné - právě díky paralelizaci výpočtů. Tento rozdíl lze zobecnit - čas, který pro výpočet potřebuje kvantový počítač, odpovídá zhruba druhé odmocnině času, který k řešení úlohy potřebuje počítač současný.

Přesnější popis principu a fungování kvantového počítače je nad rámec tohoto článku a vzhledem ke složitosti použité fyziky i nad síly autora článku. Pro více informací o kvantových počítačích a jejich fungování doporučuji například článek Kvantový počítač. Pro zájemce o aktuality a vývoj tohoto odvětví doporučuji blog Qubits.cz. Matematiku na pozadí přiblíží třeba Wikipedia.

Kryptografie pro budoucnost

Jak už bylo řečeno v úvodu, kryptografie odolná kvantovým počítačům se nazývá post-kvantová kryptografie a v anglickém jazyce (i dále v článku) se používá zkratka PQC (post-quantum cryptography). Nové algoritmy se tvoří s ohledem na budoucnost, ale v současnosti je stále bezpečné používat i současné algoritmy, pokud mají patřičnou délku klíče.

Potřeba řešit PQC (jako náhradu současného šifrování) je aktuální již dnes s ohledem na budoucnost - hlavně z důvodů, že by útočníci zaznamenanou komunikaci chtěli prolomit v budoucnu, kdy budou mít k dispozici lepší vybavení. To je riziko, které je potřeba ošetřit už dnes, byť se kvantové počítače ještě masově nepoužívají a současné šifrování přímo neohrožují.

Šifrovacích algoritmů pro PQC je známa celá řada a samozřejmě ty nejlepší z nich mají šanci na skutečné použití. Standardizace nových PQC algoritmů probíhá od roku 2016 v americkém úřadu NIST. Už dnes tedy máme na výběr kvantově odolné algoritmy, které můžeme používat, a další ještě přijdou. Více informací o prvních NISTem standardizovaných kryptografických algoritmech najdete v článku na blogu DigiCertu. Jedná se konkrétně o tyto:

    Pro obecné šifrování (Šifrování veřejným klíčem)
  • CRYSTALS-KYBER
    Pro digitální podpis:
  • CRYSTALS-Dilithium
  • Falcon
  • SPHINCS+

Kompletní přehled standardizace PQC najdete v článku Wikipedie NIST Post-Quantum Cryptography Standardization.

Byť standardizace začala, tak použití PQC zatím není běžnou praxí a současné certifikační autority zatím nevydávají produkční kvantově-odolné TLS certifikáty. Testování pomocí běžných verzí software zatím není možné, protože v nich PQC není rozšířeno. My vám však dokážeme pre-produkční PQC zprostředkovat už dnes díky DigiCertu.

DigiCert vám umožňuje otestovat PQC už dnes

Největší komerční CA na světě musí neustále myslet dopředu a připravit se na výzvy příštích dekád. S DigiCertem máte jistotu, že budete na přechod k PQC připraveni. PQC si můžete "osahat" už nyní v rámci produktů Secure Site Pro. Už nyní lze vytvořit hybridní RSA/PQC certifikát, který bude kombinovat současnou konvenční kryptografii s novou post-kvantovou. Více informací o PCQ toolkitu najdou případní zájemci v článku PQC toolkit setup guide.

Testování spočívá v opatchování a kompilaci upravené verze OpenSSL, vygenerování PQC klíčů a vygenerování hybridního certifikátu a jeho chainu, tedy intermediate a kořenové PQC CA. Hybridní certifikát bude používat ECC a PQC a můžete ho pomocí OpenSSL otestovat na svém serveru pomocí utilit s_server a s_client (Chrome od verze 116 by měl PQC podporovat také). Je snad zřejmé, že toto řešení není určeno pro produkci.

Dostatečnou bezpečnost současné kryptografie je vhodné periodicky vyhodnocovat a nejsnadnější metoda je konfrontace s doporučením odborníků. V Česku sledujte oficiální doporučení regulátora NUKIB, který je periodicky vydává a určuje jak vhodné kryptografické prostředky pro současnost (Minimální požadavky na kryptografické algoritmy), tak ty kvantově odolné pro budoucnost (Kvantová hrozba a kvantově odolná kryptografie).

Zdroje a další informace:


Ing. Jindřich Zechmeister
Specialista pro bezpečnostní SSL certifikáty
DigiCert TLS/SSL Professional
e-mail: jindrich.zechmeister(at)zoner.cz