< Všechna témata
Tisk

Asymetrické šifrování

Představ si, že si chceš s kamarádem posílat tajné zprávy, ale nemáte možnost se předem sejít a předat si šifrovací klíč. Co teď?

Pokud byste použili symetrické šifrování, museli byste klíč nějak sdílet. Ale pokud klíč někdo odposlechne, celá šifra je prolomena.

A právě proto existuje asymetrické šifrování – metoda, která nepotřebuje sdílet tajný klíč a přesto umožňuje bezpečnou komunikaci.

Místo jednoho klíče máme dva klíče:

  • Veřejný klíč – můžeš ho volně sdílet s kýmkoliv, slouží jen k šifrování.
  • Soukromý klíč – musíš ho držet v tajnosti, slouží k dešifrování.

Díky této vlastnosti asymetrické šifrování řeší problém distribuce klíčů – už není potřeba tajně posílat klíč jako u symetrické kryptografie.

Jak funguje

Představ si, že Alice a Bob si chtějí poslat tajnou zprávu, ale nechtějí, aby ji po cestě někdo odposlouchal. Pokud by použili symetrickou šifru, museli by si nejprve nějak předat tajný klíč, což je problém – co když ho někdo zachytí?

Proto použijí asymetrické šifrování, kde každý z nich má dva klíče.

  • Alice vygeneruje pár klíčů – veřejný a soukromý. Veřejný klíč může sdílet s kýmkoli (veřejný XYZ123, soukromý ABC456).
  • Bob chce Alici poslat zprávu. Vezme její veřejný klíč (XYZ123) a zprávu s ním zašifruje.
  • Alice dostane šifrovanou zprávu a dešifruje ji svým soukromým klíčem (ABC456).
  • Útočník nemá soukromý klíč → nemůže zprávu přečíst.

Pouze Alice mohla zprávu dešifrovat, protože jen ona vlastní soukromý klíč.

Toto je hlavní výhoda asymetrického šifrování – veřejný klíč může být veřejně dostupný, ale soukromý klíč musí zůstat v tajnosti.

Zdroj obrázku: https://cs.wikipedia.org/wiki/Asymetrick%C3%A1_kryptografie

RSA

RSA je nejpoužívanější asymetrická šifra a je základem kybernetické bezpečnosti. Kdykoliv se přihlašuješ do internetového bankovnictví, podepisuješ e-mail, nebo navštěvuješ zabezpečené weby (HTTPS), pravděpodobně se v pozadí používá právě RSA.

RSA je založený na matematickém problému faktorizace velkých čísel.

Zjednodušeně řečeno, je lehké vynásobit dvě velká prvočísla (např. 61*53 = 3233). Ale zpětně zjistit, která dvě prvočísla byla vynásobena, je extrémně těžké. Pokud znáš jen číslo 3233, jak zjistíš, že bylo vytvořeno právě z 61 a 53? Pro malá čísla je to snadné, ale u obrovských čísel (stovky číslic) by to trvalo miliony let.

RSA využívá tohoto principu prvočíselné faktorizace k vytvoření veřejného a soukromého klíče, přičemž dešifrování zprávy je obtížné bez znalosti soukromého klíče.

Jak funguje šifrování

RSA se skládá ze tří hlavních kroků:

  • generování klíčů
  • šifrování zprávy
  • dešifrování zprávy

Generování

V RSA každý uživatel vygeneruje svůj vlastní pár klíčů (veřejný a soukromý). Vyberou se dvě velká prvočísla, ty se vynásobí. Vypočítá se Eulerova funkce, vybere se veřejný exponent (nejčastěji se volí 65537).

Výsledkem je veřejný klíč (např. {3233, 17} a soukromý {3233, 2753}.

Šifrování

Představme si, že Bob chce poslat tajnou zprávu Alici. Bob vezme otevřený text, použije veřejný klíč Alice { n, e } a zašifruje zprávu pomocí vzorce c=me mod n, kdy m je původní zpráva, e veřejný exponent Alice, n součást veřejného klíče.

(Alice má veřejný klíč {3233, 17} -> Bob chce poslat číslo 65 (což může být znak v ASCII) -> Zašifruje ho takto: c= 6517 mod 3233 -> c = 2970 -> Bob tedy pošle zašifrovanou zprávu 2970).

Dešifrování

Alice obdrží šifrovanou zprávu (2790) a chce ji zpět přeložit na původní text.

Použije svůj soukromý klíč { n, d } a dešifrovací vzorec: m=cd mod  n, kdy c je zašifrovaná zpráva (2790), d je soukromý exponent Alice (2753) a n je součástí klíče (3233).

m=27902753 mod 3233 -> m=65

Alice dostala zpět původní číslo 65, což je v ASCII znak „A“.

Takto funguje šifrování a dešifrování v RSA – a protože bez soukromého klíče nelze správně spočítat původní zprávu, je RSA bezpečný.

Zdroj obrázku: https://www.securew2.com/blog/what-is-rsa-asymmetric-encryption

Proč je bezpečný?

Hlavní bezpečnostní výhodou RSA je, že dešifrování vyžaduje faktorizaci velkého čísla n.

Pokud by někdo chtěl prolomit RSA, musel by rozložit n na jeho původní prvočísla. Pro malá čísla je to snadné, ale pro obrovská čísla (2048bitová a větší) je to prakticky nemožné.

Současné počítače neumí faktorizovat velká čísla v rozumném čase.

RSA je bezpečný, pokud se používají dostatečně velké klíče, doporučená délka klíče: 2048 bitů a více.

Využití

HTTPS – zabezpečené webové stránky, elektronický podpis – ověření identity a integrity dokumentů, digitální certifikáty a certifikační autority (CA), e-mailová bezpečnost – šifrované zprávy (PGP, S/MIME), výměna klíčů pro šifrování v sítích (TLS, SSH, VPN).

Certifikáty a certifikační autority

Asymetrická kryptografie se často používá v digitálních certifikátech, které zajišťují důvěryhodnost komunikace na internetu (např. HTTPS).

Ale jak si můžeš být jistý, že jsi připojen ke správnému serveru? Jak víš, že komunikace není odposlouchávána nebo změněna? K tomu slouží digitální certifikáty a certifikační autority (CA).

Digitální certifikát

Digitální certifikát je jako pas nebo občanský průkaz pro webové stránky a servery. Potvrzuje identitu serveru a obsahuje veřejný klíč, který slouží ke šifrování komunikace.

Digitální certifikát obsahuje:

  • jméno vlastníka (např. mojebanka.cz)
  • veřejný klíč
  • platnost certifikátu (od-do)
  • certifikační autoritu (kdo certifikát vydal)
  • digitální podpis certifikační autority

A k čemu slouží? Ověřuje, že daný server (např. banka) je skutečný, obsahuje veřejný klíč, který se používá k šifrování komunikace a zabraňuje podvodníkům v tom, aby se vydávali za jiné servery.

Zdroj obrázku: https://managementmania.com/cs/digitalni-certifikat

Certifikační autorita

Pokud dostaneš certifikát, jak víš, že je pravý? Může si ho přece vygenerovat kdokoliv.

Proto existují certifikační autority (CA) – organizace, které vydávají certifikáty a garantují jejich pravost.

Certifikační autorita si ověří identitu žadatele, pokud je vše v pořádku, vydá mu digitální certifikát, který je podepsaný jejím soukromým klíčem, webový prohlížeč (Chrome, Firefox…) tento podpis ověří pomocí veřejného klíče CA, který má uložený ve svém systému.

Certifikační autorita funguje jako notář na internetu – garantuje, že certifikát je pravý.

Mezi nejznámější certifikační autority patří Let’s Encrypt (je zdarma, nejpoužívanější), DigiCert nebo GlobalSign.

A k čemu slouží? Ověřuje, že daný server (např. banka) je skutečný, obsahuje veřejný klíč, který se používá k šifrování komunikace a zabraňuje podvodníkům v tom, aby se vydávali za jiné servery.

Využití v praxi

Webové stránky – HTTPS

  • Každá důvěryhodná webová stránka dnes používá HTTPS.
  • Certifikát zajišťuje šifrování a ověření identity serveru.
  • Pokud stránka nemá certifikát, prohlížeč varuje, že spojení je nezabezpečené.

E-maily – šifrování, podepisování

  • Certifikáty se používají k ověření odesílatele e-mailu a k šifrování zpráv (S/MIME, PGP).
  • Umožňují digitální podepisování e-mailů, takže příjemce ví, že e-mail není podvržený.

Elektronické podpisy – právně závazné dokumenty

  • Elektronické podpisy využívají certifikáty k ověření identity podepisujícího.
  • Používají se pro podepisování smluv, faktur a dalších dokumentů.

Zneužití

Použití certifikátů a HTTPS nás chrání před útoky typu odposlech komunikace nebo podvržené weby. Ale co když se někdo dostane k falešnému certifikátu, který vypadá jako pravý? To je vážná bezpečnostní hrozba.

Normálně je každý certifikát vydán důvěryhodnou certifikační autoritou (CA). Prohlížeč ho zkontroluje, ověří jeho digitální podpis a rozhodne, zda mu věřit.

Ale co když se útočník dostane k certifikátu, který vypadá jako pravý? To může mít několik scénářů:

  • zkompromitovaná CA – útočník napadne certifikační autoritu a získá pravý certifikát pro falešnou doménu
  • podvržená zprostředkující CA – útočník vytvoří falešný certifikát pro podřízenou autoritu (Intermediate CA) a začne vydávat certifikáty sám
  • předstíraná CA v lokální síti – veřejné Wi-Fi může útočník podvrhnout vlastní certifikát a donutit prohlížeč ho akceptovat

Pokud se podaří podvrhnout certifikát, útočník může zachytávat a číst šifrovanou komunikaci, aniž by o tom uživatel věděl

Certifikační autority jsou důležitým prvkem bezpečnosti internetu, ale protože jejich certifikátům důvěřují miliardy zařízení, jsou hlavním cílem hackerů. Například útokem na infrastrukturu CA (hackeři mohou získat přístup k privátním klíčům certifikační autority). V minulosti byly CA napadeny – DigiNotar (2011), Comodo (2011) a Symantec (2017).

Platnost

Každý certifikát má platnost jen na určitou dobu (většinou 90 dnů až 2 roky). Proč?

  • ochrana před zneužitím – pokud někdo získá certifikát, bude po expiraci neplatný,
  • minimalizace chyb – při každém obnovení se kontroluje správnost údajů,
  • bezpečnostní standardy – starší certifikáty mohou používat zastaralé šifry.

Když certifikát vyprší, webové stránky s expirovaným certifikátem zobrazují varování „Nezabezpečeno, prohlížeče často odmítají připojení. Navíc uživatelé mohou být zmatení a stránce přestanou důvěřovat.

Obsah certifikátu

Každý certifikát je digitální dokument, který obsahuje důležité informace o zabezpečení komunikace. Když si otevřeš web s HTTPS, právě certifikát zajišťuje, že komunikuješ se správným serverem.

Hlavní části certifikátu:

  • Držitel certifikátu (Subject) – pro koho byl certifikát vydán (např. „www.mojebanka.cz„).
  • Vydavatel (Issuer) – certifikační autorita (např. „DigiCert Global Root CA“).
  • Sériové číslo certifikátu – unikátní identifikátor.
  • Platnost certifikátu – od kdy do kdy je platný (např. 1.1.2024 – 1.1.2025).
  • Veřejný klíč – používá se pro šifrování a ověřování komunikace.
  • Digitální podpis certifikační autority – ověřuje pravost certifikátu.
  • Algoritmus šifrování – např. RSA, ECC nebo ECDSA.
  • Rozšíření certifikátu – další informace, jako je např. podporovaná doména, použití certifikátu atd.

Typy certifikátů

Digitální certifikáty nejsou univerzální – liší se podle účelu, úrovně ověření a důvěryhodnosti. Každý certifikát má jinou roli v zabezpečení digitální komunikace.

TypDefiniceK čemu sloužíPříklad
SSL/TLSšifrují komunikaci mezi webovým prohlížečem a serveremchrání před odposlechem dat mezi uživatelem a serverem, ověřují identitu webové stránky, zabraňují útokům typu „man-in-the-middle“, kde útočník odposlouchává komunikaciPokud navštívíš https://mojebanka.cz, prohlížeč si nejprve stáhne SSL certifikát banky a ověří, zda je podepsaný důvěryhodnou autoritou. Pokud je certifikát platný, tvá komunikace bude šifrovaná.
Elektronický podpisověřují totožnost osoby a umožňují digitálně podepisovat dokumenty nebo e-mailyelektronický podpis je právně závazný, protože certifikát potvrzuje, že dokument nebyl změněn a kdo ho podepsaldigitální podpisy e-mailů (S/MIME), podepisování smluv, faktur a právních dokumentů; autentizaci uživatelů při přihlašování k systémům
Klientskéověřují identitu konkrétního uživatele nebo zařízenífungují jako „elektronická občanka“ – uživatel se může přihlásit k systému, aniž by zadával heslopřístup k firemním systémům bez hesla, pro VPN připojení – bezpečné přihlášení do vzdálené sítě, ochranu přístupu k e-mailovým účtům
Podepisování softwaruzajišťují, že software pochází od důvěryhodného vývojáře a nebyl po cestě změněnchrání před malwarem, který by mohl upravit software; ověřují, že aplikace pochází z důvěryhodného zdrojekdyž stáhneš program od Microsoftu, jeho instalátor má certifikát Code Signing, který ověřuje, že software nebyl změněn hackery
E-mailové zabezpečení (S/MIME)šifrují e-maily a zajišťují jejich autenticituzabraňují tomu, aby si někdo jiný přečetl e-mail a umožňují ověřit, že e-mail skutečně poslal ten, kdo je uveden jako odesílatelpokud firma používá S/MIME certifikáty, všechny e-maily mezi zaměstnanci jsou šifrované a nelze je odposlouchávat

Prezentace

10-Asymetricke-sifrovani

Zdroje

Seznam zdrojů

ŠEDIVÝ, Libor. Operační systémy IV. ročník: Učební text. Městská střední odborná škola Klobouky u Brna, 2023.
ŠEDIVÝ, Libor. Operační systémy IV. ročník: Prezentace. Městská střední odborná škola Klobouky u Brna, 2023.
PASEKA, Jan. Kryptografie. Online. Brno: Masarykova univerzita, 2018. Dostupné také z: https://is.muni.cz/el/sci/jaro2018/M0170/um/um/PREDLAwideboc_nfbjkgjs.pdf.
JEŽEK, Jakub. Kryptografické metody. Online, Bakalářská práce. Brno: AMBIS, 2009. Dostupné také z: https://is.ambis.cz/th/zoant/1.pdf.
OULEHLA, Milan a JAŠEK, Roman. Moderní kryptografie: průvodce světem šifrování. [Praha]: IFP Publishing, 2017. ISBN 978-80-87383-67-4.
BURDA, Karel. Aplikovaná kryptografie. Brno: Vutium, 2013. ISBN 978-80-214-4612-0.

Obsah
© 2025 Lukáš Pospíšil