Asymetrické kryptografie je pole kryptografie tam, kde je rozdíl mezi dat veřejnost a soukromé , na rozdíl od symetrické kryptografie , kde je funkčnost dosáhnout prostřednictvím držení společného tajného dat mezi jednotlivými účastníky.
Asymetrickou kryptografii lze ilustrovat na příkladu šifrování veřejného a soukromého klíče , což je šifrovací technika , to znamená, že cílem je zaručit důvěrnost údajů. Asymetrický výraz platí ve skutečnosti, že existují dva šifrovací klíče (uživatel, který chce přijímat zprávy, si sám vyrábí), například když uživatel použije první klíč v algoritmu s názvem „šifrování“, data se stanou nesrozumitelnými pro všechny, kteří nemají druhý klíč, který může najít počáteční zprávu, když je tento druhý klíč zadán na vstupu takzvaného „dešifrovacího“ algoritmu.
Podle konvence nazýváme dešifrovací klíč soukromým klíčem a šifrovacím klíčem veřejný klíč .
Klíč, který je zvolen jako soukromý, se nikdy nikomu nepřenáší, zatímco klíč, který je zvolen jako veřejný, je přenositelný bez omezení.
Tento systém umožňuje dvě hlavní věci:
Koncept kryptografie veřejného klíče - jiný název pro asymetrickou kryptografii - je obecně přičítán Whitfieldovi Diffie a Martinu Hellmanovi, kteří jej představili veřejnosti na Národní počítačové konferenci v roce 1976 a poté o několik měsíců později publikovali v New Directions in Cryptography . Koncept však byl údajně nezávisle objeven jinými vědci přibližně ve stejnou dobu.
Ralph Merkle prý učinil stejný objev přibližně ve stejnou dobu, ačkoli jeho články byly publikovány až v roce 1978.
Ve svém článku z roku 1976 nemohli W. Diffie a M. Hellman uvést příklad systému veřejného klíče, protože ho nenašli. Teprve v roce 1978 byl uveden příklad, který uvedli Ronald Rivest , Adi Shamir a Leonard Adleman , RSA , zkratka převzatá ze tří jmen jeho autorů. Všichni tři muži následně založili společnost RSA Security . Systém Merkle-Hellman je všeobecně považován za první praktickou realizaci šifrovacího systému s veřejným klíčem, nicméně Shamir v roce 1982 jej ukázal jako nejistý.
Kromě veřejného výzkumu by britské šifrovací služby (GCHQ, vládní komunikační ústředí ) prováděly tajný výzkum vedoucí k asymetrickým konceptům a nástrojům šifrování od první poloviny 70. let:
Tyto objevy nezveřejnila GCHQ až do roku 1997 .
Asymetrické šifrování nebo kryptografie s veřejným klíčem je založen na existenci jednosměrných funkcí a tajné porušení .
Jednosměrné funkce jsou matematické funkce , takže při použití na zprávu je extrémně obtížné najít původní zprávu.
Existence tajného narušení však umožňuje osobě, která navrhla jednosměrnou funkci, snadno dekódovat zprávu díky informacím, které má k dispozici, nazývaným soukromý klíč.
Předpokládejme, že Alice chce od Boba přijímat tajnou zprávu na kanálu, který by mohla poslouchat pasivní útočník Eva :
Obvykle používaná terminologie je:
V praxi se používají běžné šifrovací funkce , přičemž výrazy „veřejný klíč“ a „soukromý klíč“ pak odpovídají parametrům použitým pro tyto funkce.
Alice si přeje, aby mohla přijímat šifrované zprávy od kohokoli.
Distribuce veřejných klíčůPotom vygeneruje hodnotu z jednosměrné tajné funkce narušení pomocí asymetrického šifrovacího algoritmu ( seznam zde ), např. RSA .
Alice vysílá funkci pro kódování zpráv všem (označeným veřejným klíčem), ale udržuje funkci dekódování v tajnosti (označenou soukromým klíčem).
ŠifrováníJednou z rolí veřejného klíče je poskytovat šifrování ; Toto je klíč, který Bob použije k odesílání šifrovaných zpráv Alici. Druhý klíč - tajná informace - se používal ke kvantifikaci kostek . Takže Alice a ona sama mohou číst Bobovy zprávy. Znalost jednoho klíče nám neumožňuje odvodit druhý.
Ověřování původuNa druhou stranu, Alicin využití jejího soukromého klíče na digest bude zprávy umožňují Bob ověřit, že zpráva skutečně pochází od Alice: on se bude vztahovat veřejný klíč Alicin na hash poskytované (šifrovaný hash s privátním klíčem Alice), a proto najde původní přehled zpráv. Postačí mu porovnat takto získaný souhrn a skutečný souhrn zprávy, aby zjistil, zda je Alice skutečně odesílatel. Takto bude Bob ujištěn o původu přijaté zprávy: skutečně patří Alici. Právě na tomto mechanismu funguje digitální podpis .
Šifrování: Alice si vybrala trezor. Pošle ji Bobovi a nechá si klíč. Když chce Bob napsat Alici, zanechá tam svou zprávu, zavře trezor, klíč k tomu nepotřebuje a pošle jej zpět Alici. Po přijetí může trezor otevřít pouze Alice, protože ona sama má klíč za předpokladu, že je v bezpečí, a nikdo jej nemůže znovu předat.
Ověření nebo podpis: Alice vloží zprávu do trezoru, který před odesláním Bobovi zavře pomocí svého soukromého klíče. Pokud se Bob podaří pomocí veřejného klíče Alice (který má) přečíst dopis, je to proto, že je to Alice, a proto je to ona, kdo tam vložil dopis.
Krabice se dvěma zámkyDalší možnou analogií by bylo představit si krabici se dvěma různými zámky. Když je schránka na jedné straně zavřená, umožňuje otevření krabice pouze klíč odpovídající druhému zámku. Jeden z klíčů je soukromý a utajený, o druhém se říká, že je veřejný, a kopii může získat každý, kdo si přeje krabici použít.
Pro zašifrování zprávy Bob vezme krabici, umístí tam svou zprávu a zavře ji veřejným klíčem. Pouze držitel soukromého klíče umožňující přístup k druhému zámku, v tomto případě Alice, bude moci znovu otevřít schránku.
Chcete-li podepsat zprávu, Alice ji umístí do pole a zavře ji pomocí svého soukromého klíče. Kdokoli, kdo obnovil veřejný klíč, tedy bude moci tuto schránku otevřít. Ale protože schránka byla uzavřena soukromým klíčem, bude této osobě zajištěno, že je to skutečně Alice, jediný držitel tohoto klíče, který umístí zprávu do schránky a uzavře uvedenou schránku.
Na oplátku za své specifické vlastnosti jsou asymetrické šifry obecně méně účinné než jejich symetrické ekvivalenty : doby zpracování jsou delší a pro ekvivalentní úroveň zabezpečení musí být klíče mnohem delší.
Pokud asymetrické šifrování umožňuje chránit před pasivním odposlechem , vystavuje počáteční přenos veřejného klíče na nezabezpečeném kanálu útokům člověka uprostřed . K ochraně před tímto rizikem se obecně používá infrastruktura veřejného klíče .
Asymetrická kryptografie splňuje hlavní potřebu symetrické kryptografie : bezpečné sdílení klíče mezi dvěma korespondenty, aby se zabránilo zachycení tohoto klíče neoprávněnou třetí stranou, a tudíž čtení šifrovaných dat bez povolení.
Protože symetrické šifrovací mechanismy jsou ve výpočetním čase méně nákladné , jsou upřednostňovány před asymetrickými šifrovacími mechanismy. Jakékoli použití symetrického šifrovacího klíče však vyžaduje, aby tento klíč sdíleli dva korespondenti , tj. Věděli jej před výměnou. To může být problém, pokud je komunikace tohoto klíče prováděna přes nezabezpečené médium „v jasném stavu“. Aby se překonala tato nevýhoda, je pro jedinou fázi výměny symetrického klíče použit asymetrický šifrovací mechanismus a ten je použit pro zbytek výměny.
Hlavní nevýhodou používání asymetrických šifrovacích mechanismů je skutečnost, že veřejný klíč je distribuován všem lidem: Bob , Carole a Alice, kteří si chtějí důvěrně vyměňovat data. Když tedy osoba se soukromým klíčem Alice dešifruje zašifrovaná data, nemá žádný způsob, jak s jistotou ověřit původ těchto dat ( Bob nebo Carole ): mluvíme o problémech s ověřováním .
Aby se tento problém vyřešil, používají se autentizační mechanismy k zajištění původu šifrovaných informací. Tyto mechanismy jsou také založeny na asymetrickém šifrování, jehož princip je následující: Bob si přeje poslat šifrovaná data Alici a zaručit jí, že je odesílatelem.
Tato metoda ověřování využívá specifičnost asymetrických párů klíčů: pokud zašifrujeme zprávu pomocí veřejného klíče, můžeme ji dešifrovat pomocí soukromého klíče; je možný i naopak: pokud šifrujeme pomocí soukromého klíče, můžeme dešifrovat pomocí veřejného klíče.
Asymetrická kryptografie se také používá s digitálními certifikáty , které obsahují veřejný klíč entity spojené s certifikátem. Soukromý klíč je uložen na úrovni druhé entity. Aplikace certifikátu je například implementace infrastruktury veřejného klíče (PKI) pro správu autentizace a digitálního podpisu entity, například webového serveru (například Apache s modulem SSL ), nebo jednoduše klienta, který si přeje podepsat a zašifrovat informace pomocí svého certifikátu, jak je popsáno v předchozích částech.
Symetrické šifrování pomocí 128- si bitový klíč poskytuje 2128 (~ 3,4 10 38 ) způsoby zašifrování zprávy. Hacker, který se pokouší hrubou silou dešifrovat zprávu, by je musel vyzkoušet jeden po druhém.
U systémů veřejného klíče je to jiné. Nejprve jsou klíče delší (například 2048 bitů minimálně pro RSA ); ve skutečnosti mají velmi konkrétní matematickou strukturu (nelze si vybrat sekvenci náhodných bitů jako tajný klíč, například v případě RSA se používají pouze prvočísla ). Některé algoritmy využívající tuto strukturu jsou efektivnější než vyčerpávající vyhledávání, například 1024 bitů. V případě RSA je tedy obecné síto číselných polí efektivnější metodou než vyčerpávajícím hledáním faktorizace .
Všimněte si současného vývoje kryptografie pomocí eliptických křivek , které umožňují (za cenu složitější teorie a implementací) použití klíčů podstatně menších než u konvenčních algoritmů (velikost 160 bitů je v současnosti považována za velmi bezpečnou), pro ekvivalentní úroveň bezpečnosti.
Ve svém vydání ze 6. září 2013 noviny The Guardian tvrdily, že NSA dokázala rozluštit většinu šifrovaných dat cirkulujících na internetu. Mnoho zdrojů však naznačilo, že NSA matematicky neporušil šifry, ale při implementaci bezpečnostních protokolů se bude spoléhat na slabiny.