it-swarm-eu.dev

Asymetrické vs. symetrické šifrování

V současné době přijímám zásady třídy informační bezpečnosti. Když mluvíme o různých metodách šifrování, zdá se, že velký počet mých spolužáků věří, že asymetrické šifrování je lepší (bezpečnější) než symetrické šifrování. Typické tvrzení je něco takového:

Obecně jsou asymetrická šifrovací schémata bezpečnější, protože vyžadují veřejný i soukromý klíč.

Samozřejmě se symetrickým šifrováním se musíte starat o bezpečnou výměnu klíčů, ale pokud mohu říci, neexistuje žádný vlastní důvod, proč musí být jeden bezpečnější než druhý.

Zejména vzhledem k tomu, že asymetrická část se často používá pouze pro výměnu klíčů a pak jsou skutečná data šifrována symetrickým algoritmem.

Takže mi něco chybí nebo mohu učinit takové obecné prohlášení, které je bezpečnější.


Takže pokud mám zprávu zašifrovanou pomocí AES a další kopii zašifrovanou pomocí RSA a všechny ostatní věci jsou stejné, je pravděpodobnější, že budou prasknuty. Lze toto srovnání dokonce provést?

56
matthew

Existuje smysl, ve kterém můžete definovat sílu konkrétního šifrovacího algoritmu¹: zhruba řečeno, síla je počet pokusů, které je třeba provést za účelem přerušení šifrování. Přesněji řečeno, síla je množství výpočtu, které je třeba udělat, aby se našlo tajemství. V ideálním případě je síla algoritmu počet pokusů o hrubou sílu, které je třeba provést (zváženo složitostí každého pokusu, nebo sníženo, pokud nějaký druh paralelizace umožňuje více pokusů sdílet část práce); jak se útoky na algoritmus zlepšují, skutečná síla klesá.

Je důležité si uvědomit, že „konkrétní šifrovací algoritmus“ zahrnuje zvážení konkrétní velikosti klíče. To znamená, že nepředstavujete RSA proti AES, ale 1024bitovou RSA (se specifickým režimem výplně) s AES-256 (se specifickým režimem řetězení, IV atd.). V tomto smyslu se můžete zeptat: jestli mám kopii svých dat zašifrovanou pomocí algoritmu A s danými hodnotami parametrů P a Q (zejména velikost klíče) a kopii zašifrovanou pomocí algoritmu B s parametry P a R, pak který z (A, Pval₁, Qval₁) a (B, Pval₂, Rval₂) bude pravděpodobně první prasklý?

V praxi mnoho protokolů zahrnuje použití více kryptografických primitiv. Různá primitiva mají různá možná použití, a dokonce i když několik primitivů může sloužit dané funkci, může existovat ten, který je vhodnější než ostatní. Při výběru kryptografického primitiva pro daný účel jde proces rozhodování takto:

  1. Jaké algoritmy dokážou tuto práci udělat? → Mohu použít A nebo B nebo C.
  2. Jakou sílu potřebuji? → Chci 2N operace, takže potřebuji velikost klíče LA pro primitivní A, LB pro primitivní B, LC pro primitivní C.
  3. Vzhledem k mým omezením (hrubá rychlost, latence, účinnost paměti,…), které z nich (LA-bit A nebo LB-bit B nebo LC-bit C) je nejlepší?

Řekněme například, že vaším požadavkem je protokol pro výměnu dat se stranou, které nedůvěřujete. Pak symetrická kryptografie nemůže dělat svou práci sama: potřebujete nějaký způsob, jak sdílet klíč. Asymetrická kryptografie, jako je RSA, může tuto práci provést, pokud stranám necháte předem vyměňovat veřejné klíče. (Toto není jediná možnost, ale nebudu se zde zabývat podrobnostmi.) Takže se můžete rozhodnout, která délka klíče RSA má správnou sílu pro vaši aplikaci. RSA je však pomalá a těžkopádná (například neexistují standardní protokoly pro použití šifrování RSA na proud - hlavně proto, že se nikdo neobtěžoval, protože by byli tak pomalí). Mnoho běžných protokolů zahrnujících kryptografii veřejného klíče jej používá pouze k výměně tajemství s omezeným trváním: klíč relace pro nějaký symetrický kryptografický algoritmus. Toto je známé jako hybridní šifrování . Znovu si vyberete délku relačního klíče podle požadované síly. V tomto scénáři mají dva zúčastnění primitoři stejnou sílu.

¹ Stejný pojem se vztahuje na jiná použití kryptografie, jako je podepisování nebo hašování.

Symetrické a asymetrické šifrování jsou odlišné operace, které fungují v odlišných kontextech, pro odlišné použití a odlišné útočné modely. Málo smysl prohlašovat, že jeden je “bezpečnější” než jiný (to by nejprve vyžadovalo nějaký druh kvantifikované míry bezpečnosti, který není snadné definovat).

Asymetrické šifrování je náročnější : jde o realizaci šifrování a schopnost publikovat způsoby šifrování (veřejnost klíč) bez odhalení způsobů dešifrování (soukromý klíč). Praktická implementace vyžaduje matematiku, zatímco symetrické šifrování je většinou zakódováním věcí (myslí si, že je obtížné dělat dobrou práci zakódováním, ale přesto je zapojeno méně matematiky).

Běžně nasazené systémy (např. SSL/TLS ) kombinují asymetrické šifrování a symetrické šifrování (a také několik dalších věcí) do protokolů, které vykonávají zamýšlenou práci (např. " obousměrný tunel s důvěrností, integritou a autentizací ").

29
Thomas Pornin

Výběr mezi symetrickým a asymetrickým šifrováním závisí na případ použití.

Symetrické šifrování se používá ke sdílení informací mezi skupinou lidí, k nimž mají všichni přístup. Symetrické šifrování je navíc pěkné, protože je snáze pochopitelné (méně pravděpodobné, že si ho zkazí) a algoritmy bývají rychlejší.

Asymetrické šifrování se používá, když velké množství podskupin lidí musí být schopno sdílet informace. Kromě toho lze asymetrickou kryptografii použít k podepisování dokumentů. To je obzvláště zajímavé, protože umožňuje lidem potvrdit, že veřejný klíč patří určité osobě.

V sadě 10 osob, která umožňuje bezpečné komunikaci každé dvojice lidí, vyžaduje 45 jedinečných klíčů (9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1). A teď přemýšlejte o internetu místo malé sady 10 lidí. Je zřejmé, že to nelze řešit symetrickými klíči.

Ve skutečném světě jsou oba typy často kombinovány. Asymetrický přístup se používá k potvrzení identity komunikačního partnera a k přenosu něčeho, co bude mít za následek symetrický klíč. Tento symetrický klíč je potom použit pro výkonné šifrování skutečných dat.

21

Obecně jsou asymetrická šifrovací schémata bezpečnější, protože vyžadují veřejný i soukromý klíč.

Ne. To nemůžeš říct. To je balón. To prostě není pravda.

Síla je nezávislá na symetrické vs. asymetrické. Symetrická kryptografie a asymetrická kryptografie jsou dva různé druhy kryptografických nástrojů. Každý z nich může být slabý nebo silný. Neexistuje žádný důvod, proč je asymetrická kryptografie nutně silnější než symetrická kryptografie.

Například:

  • AES je bezpečnější proti kryptanalytickým útokům než 512bitová RSA, i když RSA je asymetrická a AES symetrická.

  • 4096bitová RSA je bezpečnější proti kryptanalytickým útokům než 40bitová RC4, přestože RC4 je symetrická a RSA je asymetrická.

14
D.W.

Souhlasím s tím, co Thomas uvedl výše. Symetrické i asymetrické šifrování jsou odlišné operace.

Symetrické šifrování je levnější než asymetrické šifrování. Drahé jako v tom vyžaduje méně zpracování. Abych byl přesný, mám na mysli proces dešifrování.

A proto SSL/TLS používá kombinaci symetrického i asymetrického šifrování. K asymetrickému šifrování/dešifrování mezi dvěma vrstevníky během transakce SSL/TLS dochází pouze při počátečním handshake. Jakmile se oba partneři dohodnou na sdíleném soukromém klíči, pak zbytek komunikace bude používat symetrické šifrování. Tímto způsobem bude jediná nákladná operace probíhat během počátečního handshake a zbytek komunikace bude používat symetrické šifrování, které vyžaduje méně prostředků.

4