🔒 Šifrování: symetrické a asymetrické

Truhla a schránka

O čem to je

Když posíláš zprávu přes internet, jde přes desítky cizích počítačů. Kdokoli po cestě by ji mohl přečíst. Šifrování z ní udělá nesrozumitelnou změť, kterou přečte jen ten, kdo má správný klíč.

Šifrování chrání tvoje hesla na webu, zprávy v chatu, platby kartou i data na ukradeném notebooku. Připomenutí: chrání hlavně důvěrnost, tedy aby data viděl jen ten, kdo smí.

Nové pojmy

Otevřený text a šifrový textOtevřený text je původní čitelná zpráva. Šifrový text je její zašifrovaná, nečitelná podoba.AHOJ → DKRM
KlíčTajný údaj, podle kterého šifra zprávu zašifruje a dešifruje. Bez klíče se šifrový text přečíst nedá (v rozumném čase).U Caesarovy šifry je klíč číslo posunu, třeba 3.
Šifrování a dešifrováníŠifrování převede otevřený text na šifrový pomocí klíče. Dešifrování je opačný převod.Zašifruješ dokument na disku; po zadání hesla se dešifruje.
Caesarova šifra posouvá každé písmeno o 3 dál v abecedě (A → D). Zašifruj slovo AHOJ.
A → D, H → K, O → R, J → M. Výsledek DKRM. Dešifrování posouvá o 3 zpět. Dnes je tahle šifra hračka: klíčů je jen 25, počítač je vyzkouší okamžitě.

Truhla s jedním klíčem: symetrické šifrování

Symetrické šifrováníK zašifrování i dešifrování se používá stejný klíč. Je velmi rychlé, hodí se na velká data.AES – dnešní standard; šifruje disky, Wi-Fi i data při prohlížení webu.

Představ si truhlu se zámkem a dva stejné klíče. Ty dáš dopis do truhly a zamkneš. Kamarád ji svým klíčem odemkne. Potíž: jak mu klíč předat, aby ho nikdo neokopíroval? Tomu se říká problém distribuce klíče.

Schránka se štěrbinou: asymetrické šifrování

Asymetrické šifrování (šifrování s veřejným klíčem)Každý má dvojici klíčů, které k sobě matematicky patří. Veřejný klíč smí znát kdokoli a zašifruje se jím zpráva. Dešifrovat ji jde jen soukromým klíčem, který si majitel nikomu nedává.RSA nebo kryptografie eliptických křivek (ECC).

Je to jako poštovní schránka. Štěrbinou (veřejný klíč) může dopis vhodit kdokoli. Vybrat ji umí jen majitel, který má klíček od dvířek (soukromý klíč). Klíč tedy nikomu posílat nemusíš.

SymetrickéAsymetrické
klíčejeden sdílený tajný klíčpár: veřejný a soukromý
rychlostvelmi rychlévýrazně pomalejší
slabinajak bezpečně předat klíčpomalé, nevhodné na velká data
příkladAESRSA, ECC

Roztřiď vlastnosti a příklady k druhu šifrování.

Eva chce Adamovi poslat tajnou zprávu asymetrickou šifrou. Čím ji zašifruje a čím ji Adam dešifruje?
Eva zprávu zašifruje Adamovým veřejným klíčem. Dešifrovat ji jde jen Adamovým soukromým klíčem, který má jen Adam. Ani Eva už svou zašifrovanou zprávu nepřečte.
✗Při asymetrickém šifrování zašifruju zprávu svým soukromým klíčem, aby ji nikdo nepřečetl.
✓Pro utajení se šifruje veřejným klíčem příjemce. Dešifruje ji jen příjemce svým soukromým klíčem.

Co zašifruješ svým soukromým klíčem, otevře kdokoli tvým veřejným klíčem. Tento postup se používá u digitálního podpisu, ne pro utajení.

Šifrování dělá z otevřeného textu šifrový pomocí klíče. Symetrické (AES) má jeden sdílený klíč, je rychlé, ale klíč se musí bezpečně předat. Asymetrické (RSA, ECC) má veřejný klíč na šifrování a soukromý na dešifrování.

Jak se to používá

O čem to je

Ve skutečných systémech se symetrické a asymetrické šifrování nepoužívají odděleně. Spojují se tak, aby se využily výhody obou. Ukážeme si, jak to funguje a podle jakých zásad se šifry vybírají.

Nové pojmy

ŠifrováníPřevod čitelné zprávy (otevřený text) na nečitelnou (šifrový text) pomocí klíče. Chrání důvěrnost dat.Zpráva v aplikaci Signal je po cestě zašifrovaná.
Symetrická šifraStejný tajný klíč šifruje i dešifruje. Rychlá. Dnešní standard je AES s klíčem 128 nebo 256 bitů.BitLocker šifruje disk pomocí AES.
Asymetrická šifraDvojice klíčů: veřejný (zašifruje, smí ho znát každý) a soukromý (dešifruje, drží ho jen majitel). Pomalejší, ale nevyžaduje předem sdílené tajemství.RSA, ECC.
Kerckhoffsův principBezpečnost šifry má záviset jen na utajení klíče, ne na utajení postupu. Postup (algoritmus) může být veřejný.AES je zveřejněný a prověřený odborníky z celého světa, a přesto bezpečný.

Hybridní šifrování

Hybridní šifrováníData se zašifrují rychlou symetrickou šifrou s náhodným jednorázovým klíčem. Tento malý klíč se bezpečně předá pomocí asymetrické kryptografie.Takto funguje HTTPS (zabezpečené spojení prohlížeče s webem) i šifrovaný e-mail.
Odesílatel vygeneruje náhodný symetrický klíč (tzv. klíč relace).
Zprávu zašifruje symetricky (AES) tímto klíčem – rychle, i velká data.
Klíč relace zašifruje veřejným klíčem příjemce.
Pošle obojí: zašifrovanou zprávu a zašifrovaný klíč.
Příjemce soukromým klíčem dešifruje klíč relace.
Klíčem relace dešifruje zprávu.

V HTTPS se dnes klíč relace většinou nepředává zašifrovaný, ale obě strany si ho společně dohodnou postupem výměny klíčů (Diffie–Hellman). Princip je stejný: asymetrická matematika pro klíč, symetrická šifra pro data.

Proč nestačí jen symetrické

Ve třídě je 10 žáků a každá dvojice chce mít vlastní tajný symetrický klíč. Kolik klíčů je potřeba? Kolik párů klíčů by stačilo s asymetrickou kryptografií?
Dvojic je 10 · 9 : 2 = 45, tedy 45 tajných klíčů a každý se musí bezpečně předat. Asymetricky má každý jen svůj pár: 10 párů. Veřejné klíče si mohou poslat otevřeně.
Firma chce šifrovat 2 TB záloh. Vybere symetrickou, nebo asymetrickou šifru?
Symetrickou (AES), protože je mnohonásobně rychlejší. Asymetrickou kryptografii použije nanejvýš na ochranu nebo předání klíče, kterým jsou zálohy zašifrované.
  • Čím zašifruji tajnou zprávu pro Adama? – Adamovým veřejným klíčem.
  • Čím ji Adam přečte? – Svým soukromým klíčem.
  • Proč je algoritmus AES veřejný? – Kerckhoffsův princip: tajný má být jen klíč.
  • Co se v hybridním šifrování šifruje symetricky? – Samotná data (zpráva).

Odpověz a pak kartu otoč.

✗Vymyslím si vlastní tajnou šifru. Když ji nikdo nezná, nikdo ji neprolomí.
✓Používej veřejně známé a prověřené algoritmy (AES, RSA, ECC) a chraň klíč.

Domácí šifry mívají chyby, které zkušený útočník rychle najde. Utajení postupu nevydrží – program jde rozebrat. To říká Kerckhoffsův princip.

Prakticky se šifruje hybridně: data rychlou symetrickou šifrou (AES), klíč pomocí asymetrické kryptografie (RSA, ECC, výměna klíčů). Algoritmy jsou veřejné, tajný je jen klíč (Kerckhoffsův princip).