it-swarm-eu.dev

symetrické šifrovací klíče relace v SSL / TLS

Tato otázka se týká relací pro odesílání a příjem relací používaných v protokolu SSL/TLS. chápu, že tento klíč používá symetrické šifrování (DES, AES, BlowFish atd.) Zajímalo by mě, jestli jsou páry veřejného a soukromého klíče lepší než symetrické klíče, pokud jde o zabezpečení výměny klíčů, proč nepoužívat asymetrické šifrování pro relaci klíče také?

jedná se o rozšíření existující otázky: zabezpečení PKI, certifikáty, certifikační autority, dopředné tajemství

66
lurscher

3 důvody (nyní):

  1. Asymetrické šifrování je pomalejší, mnohem pomalejší než symetrické šifrování. Řádky pomalejší.
  2. Vzhledem ke stejné délce klíče je asymetrie mnohem slabší než symetrická bit-for-bit. Proto potřebujete mnohem větší klíč k zajištění rovnocenné ochrany. To také přispívá ke zpomalení uvedenému v bodě 1.
  3. (Podle komentáře @ ThomasPornina :) Asymetrické šifrování s sebou nese zvýšení velikosti výstupu. Například pokud používáte RSA, šifrovaná data jsou alespoň o 10% větší než čistý text. Symetrické šifrování na druhé straně má režii pevné velikosti i při šifrování gigabajtů dat.
77
AviD

Asymetrické šifrovací algoritmy jsou mnohem méně účinné než symetrické algoritmy. Takže v podstatě veškeré použití šifrování pomocí asymetrických klíčů zahrnuje šifrování symetrického klíče relace, pomocí kterého je šifrována skutečná zpráva.

Kromě užitečných poznámek AviD o délce klíče si všimněte, že pokud budou možné kvantové počítačové útoky, budou všechny algoritmy veřejného klíče (a tím i SSL/TLS) neúčinné. Ale přímý AES-256 by zůstal silný i při kvantovém počítačovém útoku. Viz velikost klíče - účinek kvantových počítačových útoků - Wikipedia . Otázka by pak byla zpět na to, jak si tyto klíče vyměnit a navázat na ně důvěru.

33
nealmcb

Toto je standardní přístup, nazývaný hybridní kryptosystém. Symetrická kryptografie a asymetrická kryptografie mají každý své silné a slabé stránky. Zejména:

  • Asymetrická kryptografie umožňuje každému zašifrovat zprávy, které bude moci dešifrovat pouze jeden účastník, a umožňuje komukoli ověřit zprávy, které mohl podepsat pouze jeden účastník.
  • Symetrická kryptografie je mnohem rychlejší než asymetrická kryptografie. Opravdu, hodně.

Při výběru mezi symetrickou a asymetrickou kryptografií není bezpečnost opravdu problémem. Asymetrická kryptografie řeší problémy, které symetrická kryptografie nemůže; pro všechno ostatní se používá symetrická kryptografie, protože je mnohem rychlejší.

(V důsledku toho, že je symetrická kryptografie rychlejší, má tendenci mít vyšší bezpečnostní rezervu: běžné velikosti klíčů - 128bitový AES - jsou dostatečně velké, aby vyloučily zcela nový matematický průlom, všechny počítače, které v současné době existují na Zemi, pracují tak dlouho protože vesmír existuje, měl by jen malou šanci na porušení šifrování. Asymetrická kryptografie běží na menších okrajích kvůli jejímu špatnému výkonu a existují občasná matematická vylepšení v praskacích metodách, díky kterým jsou běžně používané velikosti klíčů v pořádku po několik let, ale ne nutně na několik desetiletí. Jedná se však o sekundární problém ve srovnání s alternativami schopností a výkonu.)

Hybridní kryptosystémy řeší dilema pomocí asymetrické kryptografie pouze tam, kde je to potřeba:

  • K ověření podpisu zprávy je zpráva hashed a asymetrická kryptografie se používá pouze v hashe, nikoli přímo ve zprávě s proměnnou délkou.
  • K zašifrování některých dat je vygenerován symetrický klíč relace . Asymetrická kryptografie se používá ke sdílení tohoto symetrického klíče mezi účastníky (klientem a serverem). „Skutečná“ data jsou šifrována a autentizována pomocí tohoto symetrického klíče.

V HTTPS, jak se běžně používá na webu, má server veřejný klíč, ale klient ne - klient se může obrátit na jakýkoli prohlížeč, server se nestará o to, kdo je klient. ( Certifikáty na straně klienta se používají tam, kde to má smysl .) Velmi vysoký a neúplný pohled na vytvoření relace HTTPS je:

  1. Server odešle klientovi certifikát . Certifikát obsahuje veřejný klíč serveru a podpis tohoto veřejného klíče certifikační autorito . Klient ověří, že certifikační autorita je známá (prohlížeče jsou dodávány se seznamem veřejných klíčů certifikačních autorit).
  2. Klient a server uspořádají výběr symetrického klíče tak, že útočník nebude schopen rekonstruovat klíč pouze kontrolou provozu nebo dokonce jeho úpravou (nebo alespoň aktivním) útočník bude detekován a klient nebo server poté relaci zruší). Jednou z možností je Diffie-Hellman výměna klíčů plus podpis serverem (aby klient mohl ověřit, že výměna proběhla se serverem, a nikoli s útočníkem man-in-the-middle). generovat symetrický klíč. Je také možné spolehnout se výhradně na soukromý klíč serveru (na úkor nezajištění dopředné tajemství ).
  3. Veškerá následná komunikace používá tento symetrický klíč.

Všimněte si, že jsem udělal spoustu zjednodušení výše. Pro více informací si přečtěte: