Počítače Okna Internet

Protokoly distribuce klíčů. Správa klíčů Distribuce klíčů zahrnující distribuční centrum klíčů

Správa klíčů

Kromě výběru kryptografického systému vhodného pro konkrétní IC je důležitou otázkou správa klíčů. Bez ohledu na to, jak složitý a bezpečný je samotný kryptosystém, je založen na použití klíčů. Pokud je pro zajištění důvěrné výměny informací mezi dvěma uživateli proces výměny klíčů triviální, pak v IS, kde je počet uživatelů desítky a stovky, je správa klíčů vážným problémem.

Pod klíčová informace je chápán jako souhrn všech aktivních klíčů v IS. Pokud není zajištěna dostatečně spolehlivá kontrola klíčových informací, pak útočník po jejich držení získá neomezený přístup ke všem informacím.

Správa klíčů- informační proces, který zahrnuje tři prvky:

* generování klíčů;

* hromadění klíčů;

* distribuce klíčů.

Zvažme, jak by měly být implementovány, aby byla zajištěna bezpečnost klíčových informací v IS.

Generování klíčů

Na samém začátku rozhovoru o kryptografických metodách bylo řečeno, že byste neměli používat nenáhodné klíče, aby byly snadno zapamatovatelné. Vážné integrované obvody používají speciální hardwarové a softwarové metody pro generování náhodných klíčů. Zpravidla se používají PSC senzory. Míra náhodnosti jejich generování by však měla být poměrně vysoká. Ideální generátory jsou zařízení založená na „přirozených“ náhodných procesech. Například sériové vzorky generování klíčů na základě bílý rádiový šum. Dalším náhodným matematickým objektem jsou desetinná místa iracionálních čísel, např. popř E, které se počítají pomocí standardních matematických metod.

V IS se středními požadavky na zabezpečení jsou vcelku přijatelné generátory softwarových klíčů, které počítají PRNG jako komplexní funkci aktuálního času a (nebo) čísla zadaného uživatelem.

Akumulace klíčů

Pod hromadění klíčů se týká organizace jejich skladování, účtování a odstraňování.

Protože klíč je pro útočníka nejatraktivnějším objektem, který mu otevírá cestu k důvěrným informacím, je třeba věnovat zvláštní pozornost otázkám akumulace klíčů.

Tajné klíče by nikdy neměly být výslovně zapsány na médium, které lze číst nebo kopírovat.

V poměrně složitém IS může jeden uživatel pracovat s velkým množstvím klíčových informací a někdy se dokonce stává nutností organizovat minidatabáze podle klíčových informací. Tyto databáze jsou odpovědné za přijímání, ukládání, účtování a mazání použitých klíčů.

Každá informace o použitých klíčích tedy musí být uložena v zašifrované podobě. Volají se klíče, které šifrují informace o klíčích hlavní klíče. Je žádoucí, aby každý uživatel znal hlavní klíče nazpaměť a vůbec je neukládal na žádná hmotná média.

Velmi důležitou podmínkou bezpečnosti informací je periodická aktualizace klíčových informací v IS. V tomto případě by měly být přiřazeny běžné klíče i hlavní klíče. Ve zvláště odpovědných IS je žádoucí denně aktualizovat klíčové informace.

S problematikou aktualizace klíčových informací souvisí i třetí prvek správy klíčů – distribuce klíčů.

Distribuce klíčů

Distribuce klíčů je nejdůležitějším procesem správy klíčů. Jsou na něj kladeny dva požadavky:
  1. Efektivita a přesnost distribuce
  2. Utajení distribuovaných klíčů.
V poslední době je patrný posun k používání kryptosystémů s veřejným klíčem, ve kterém odpadá problém distribuce klíčů. Nicméně distribuce klíčových informací v IS vyžaduje nová efektivní řešení.

Distribuce klíčů mezi uživateli je realizována dvěma různými přístupy:

  1. Vytvořením jednoho nebo více klíčových distribučních center. Nevýhodou tohoto přístupu je, že distribuční centrum ví, komu a jaké klíče jsou přiřazeny, a to umožňuje číst všechny zprávy kolující v IS. Případná zneužití výrazně ovlivňují ochranu.
  2. Přímá výměna klíčů mezi uživateli informačního systému.
V tomto případě je problém spolehlivě autentizovat subjekty.

V obou případech musí být zaručena autenticita komunikační relace. To lze zajistit dvěma způsoby:

  1. Mechanismus požadavek-odpověď, který se skládá z následujícího. Pokud si uživatel A chce být jistý, že zprávy, které dostává od B, nejsou falešné, zahrne do zprávy zaslané B nepředvídatelný prvek (požadavek). Při odpovídání musí uživatel B provést nějakou operaci s tímto prvkem (například přidat 1). To nelze provést předem, protože není známo, jaké náhodné číslo v žádosti přijde. Po obdržení odpovědi s výsledky akcí si uživatel A může být jistý, že relace je autentická. Nevýhodou této metody je možnost vytvoření, byť složitého vzoru mezi požadavkem a odpovědí.
  2. Mechanismus časového razítka ("časové razítko"). Znamená to stanovit čas pro každou zprávu. V tomto případě může každý uživatel IS vědět, jak „stará“ je příchozí zpráva.
V obou případech by mělo být použito šifrování, aby bylo zajištěno, že odpověď nebyla odeslána útočníkem a časové razítko nebylo změněno.

Použití časových razítek vyvolává problém s povoleným časovým intervalem zpoždění pro autentizaci relace. Koneckonců, zpráva s "časovým razítkem" v zásadě nemůže být přenesena okamžitě. Počítačové hodiny příjemce a odesílatele navíc nelze absolutně synchronizovat. Jaké zpoždění "razítka" je považováno za podezřelé.

Proto se ve skutečných IC, například v systémech plateb kreditními kartami, používá druhý mechanismus ověřování a ochrany proti padělkům. Použitý interval je od jedné do několika minut. Velké množství známých metod krádeže elektronických peněz je založeno na „vklínění“ do této mezery pomocí falešných žádostí o výběr.

Kryptosystémy veřejného klíče lze použít pro výměnu klíčů pomocí stejného algoritmu RSA.

Algoritmus Diffie-Hellman se však ukázal jako velmi účinný a umožnil dvěma uživatelům vyměňovat si klíč bez prostředníků, který pak lze použít pro symetrické šifrování.

Algoritmus Diffie-Hellman

Diffie a Helman navrhli vytvořit kryptografické systémy s veřejným klíčem diskrétní umocňovací funkce.

Nevratnost transformace je v tomto případě zajištěna tím, že je celkem snadné vypočítat exponenciální funkci v konečném Galoisově poli sestávajícím z p Prvky. ( p- buď prvočíslo nebo prvočíslo na jakoukoli mocninu). Výpočet logaritmů v takových polích je časově mnohem náročnější operace.

Pokud y= X, 1<X<p-1, kde je pevný prvek pole GF(p), pak X=lo g y výše GF(p). mít X, je snadné spočítat y. To bude vyžadovat 2 ln( X+y) operace násobení.

Inverzní výpočetní problém X z y bude docela těžké. Pokud p je vybrán dostatečně správně, pak bude extrahování logaritmu vyžadovat výpočty úměrné

L(p) = zk((ln p ln ln p) 0.5 }

Pro výměnu informací si první uživatel vybere náhodné číslo X 1 , ekvipravděpodobnost celého čísla 1... p-jeden. Toto číslo uchová v tajnosti a pošle ho jinému uživateli

y 1 = X mod p

Druhý uživatel dělá totéž, generuje X 2 a počítání y 2, odeslání prvnímu uživateli. Díky tomu mohou počítat k 12 = X 1 X 2 mod p.

Aby bylo možné počítat k 12, první uživatel zvyšuje y 2 k moci X jeden . Druhý uživatel udělá totéž. Oba uživatelé tedy mají společný klíč k 12, který může být použit pro šifrování informací konvenčními algoritmy. Na rozdíl od algoritmu RSA vám tento algoritmus neumožňuje šifrovat skutečné informace.

Aniž bych věděl X 1 a X 2, se útočník může pokusit vypočítat k 12, věděl pouze zachycen y 1 a y 2. Ekvivalence tohoto problému s problémem výpočtu diskrétního logaritmu je hlavní a otevřená otázka v systémech veřejného klíče. Jednoduché řešení zatím nebylo nalezeno. Pokud tedy přímá transformace 1000bitových prvočísel vyžaduje 2000 operací, pak inverzní transformace (výpočet logaritmu v Galoisově poli) bude vyžadovat asi 1030 operací.

Jak je vidět, při vší jednoduchosti algoritmu Diffie-Hellman je jeho druhou nevýhodou ve srovnání se systémem RSA absence garantovaného nižšího odhadu složitosti otevírání klíče.

Kromě toho, ačkoli popsaný algoritmus obchází problém přenosu skrytého klíče, potřeba autentizace zůstává. Bez dalších finančních prostředků si jeden z uživatelů nemůže být jistý, že si vyměnil klíče přesně s tím uživatelem, kterého potřebuje. Nebezpečí napodobování v tomto případě zůstává.

Jako zobecnění toho, co bylo řečeno o distribuci klíčů, je třeba říci následující. Úkol správy klíčů spočívá v nalezení takového protokolu distribuce klíčů, který by poskytoval:

* možnost odmítnutí z centra distribuce klíčů;

* Vzájemná autentizace účastníků relace;

* Potvrzení autenticity relace mechanismem požadavek-odpověď za použití softwaru nebo hardwaru;

* pomocí minimálního počtu zpráv ve výměně klíčů.

Jakkoliv je kryptosystém složitý a bezpečný, je založen na použití klíčů. Pokud je proces výměny klíčů triviální pro zajištění důvěrné výměny informací mezi dvěma uživateli, pak v systému, kde se počet uživatelů pohybuje v desítkách a stovkách, představuje správa klíčů vážný problém.

Klíčovou informací se rozumí souhrn všech klíčů působících v systému. Pokud nejsou klíčové informace bezpečně spravovány, útočník po jejich držení získá neomezený přístup ke všem informacím.

Správa klíčů je informační proces, který zahrnuje tři prvky:

    generování klíčů;

    hromadění klíčů;

    distribuce klíčů.

Generování klíčů. Skutečné systémy používají speciální hardwarové a softwarové metody pro generování náhodných klíčů. Zpravidla se používají generátory náhodných čísel. Míra náhodnosti jejich generování by však měla být dostatečně vysoká. Ideální generátory jsou zařízení založená na „přirozených“ náhodných procesech. Například generování klíčů na základě bílého rádiového šumu. Dalším náhodným matematickým objektem jsou desetinná místa iracionálních čísel, jako je  nebo e, která se počítají pomocí standardních matematických metod.

V systémech se středními požadavky na zabezpečení jsou docela přijatelné generátory softwarových klíčů, které počítají náhodná čísla jako komplexní funkci aktuálního času a/nebo čísla zadaného uživatelem.

Akumulace klíčů. Pod akumulací klíčů se rozumí organizace jejich ukládání, účtování a mazání.

Protože klíč je pro útočníka nejatraktivnějším objektem, který mu otevírá cestu k důvěrným informacím, je třeba věnovat zvláštní pozornost otázkám akumulace klíčů.

Tajné klíče by nikdy neměly být výslovně zapsány na médium, které lze číst nebo kopírovat.

V poměrně složitém systému může jeden uživatel pracovat s velkým množstvím klíčových informací a někdy je dokonce nutné organizovat minidatabáze klíčových informací. Tyto databáze jsou odpovědné za přijímání, ukládání, záznam a mazání použitých klíčů.

Každá informace o použitých klíčích musí být uložena v zašifrované podobě. Klíče, které šifrují informace o klíčích, se nazývají hlavní klíče. Je žádoucí, aby každý uživatel znal hlavní klíče nazpaměť a neukládal je vůbec na žádná hmotná média.

Velmi důležitou podmínkou informační bezpečnosti je periodická aktualizace klíčových informací v systému. V tomto případě by měly být přiřazeny běžné klíče i hlavní klíče. Ve zvláště kritických systémech musí být klíčové informace denně aktualizovány.

S problematikou aktualizace klíčových informací souvisí i třetí prvek správy klíčů – distribuce klíčů.

Distribuce klíčů. Distribuce klíčů je nejdůležitějším procesem správy klíčů. Má dva požadavky:

    účinnost a přesnost distribuce;

    utajení distribuovaných klíčů.

V poslední době je patrný posun k používání kryptosystémů s veřejným klíčem, ve kterém odpadá problém distribuce klíčů. Nicméně distribuce klíčových informací v systému vyžaduje nová efektivní řešení.

Rozdělení klíčů mezi uživatele je realizováno dvěma různými přístupy:

1 Vytvořením jednoho nebo více center distribuce klíčů. Nevýhodou tohoto přístupu je, že distribuční centrum ví, komu a jaké klíče jsou přiřazeny, a to vám umožňuje číst všechny zprávy kolující v systému. Případná zneužití výrazně ovlivňují ochranu.

2 Přímá výměna klíčů mezi uživateli systému. V tomto případě je problém spolehlivě autentizovat subjekty.

V obou případech musí být zaručena autenticita komunikační relace. To lze zajistit dvěma způsoby:

1 Mechanismus požadavek-odpověď, který je následující. Pokud si uživatel A chce být jistý, že zprávy, které dostává od uživatele B, nejsou falešné, zahrne do zprávy zaslané B nepředvídatelný prvek (požadavek). Při odpovídání musí uživatel B provést nějakou operaci s tímto prvkem (například přidat 1). To nelze provést předem, protože není známo, jaké náhodné číslo v žádosti přijde. Po obdržení odpovědi s výsledky akcí si uživatel A může být jistý, že relace je pravá. Nevýhodou této metody je možnost vytvořit, byť složité, vzory mezi požadavkem a odpovědí.

2 Mechanismus časového razítka. Znamená to stanovit čas pro každou zprávu. V tomto případě může každý uživatel systému vědět, jak „stará“ příchozí zpráva je.

V obou případech by mělo být použito šifrování, aby bylo zajištěno, že odpověď nebyla odeslána útočníkem a že časové razítko nebylo změněno.

Při použití časových razítek nastává problém s povoleným časovým intervalem zpoždění pro autentizaci relace. Koneckonců, zpráva s časovým razítkem v zásadě nemůže být přenesena okamžitě. Počítačové hodiny příjemce a odesílatele navíc nelze dokonale synchronizovat.

Kryptosystémy veřejného klíče lze použít pro výměnu klíčů pomocí stejného algoritmu RSA.

Algoritmus Diffie-Hellman se však ukázal jako velmi účinný a umožnil dvěma uživatelům vyměňovat si klíč bez prostředníků, který pak lze použít pro symetrické šifrování.

Algoritmus Diffie-Hellman. Diffie a Helman navrhli diskrétní umocňovací funkci pro vytváření kryptografických systémů s veřejným klíčem.

Nevratnost transformace je v tomto případě zajištěna tím, že je celkem snadné vypočítat exponenciální funkci v konečném Galoisově poli sestávajícím z p prvků ( p je buď prvočíslo nebo prvočíslo pro jakoukoli mocninu). Výpočet logaritmů v takových polích je časově mnohem náročnější operace.

Pro výměnu informací si první uživatel vybere náhodné číslo X 1 , ekvipravděpodobnost celých čísel od 1 do p– 1. Toto číslo uchová v tajnosti a pošle ho jinému uživateli y 1 = , kde α je pevný prvek Galoisova pole GF(p), který je spolu s p předem distribuován mezi uživatele.

Druhý uživatel dělá totéž, generuje X 2 a počítání y 2, odeslání prvnímu uživateli. Výsledkem je, že oba mohou vypočítat sdílený tajný klíč k 12 =
.

Aby bylo možné počítat k 12, první uživatel zvyšuje y 2 k moci X 1 a zjistí zbytek po dělení p. Druhý uživatel dělá totéž, pouze používá y 1 a X 2. Oba uživatelé tedy mají společný klíč k 12, který může být použit pro šifrování informací konvenčními algoritmy. Na rozdíl od algoritmu RSA tento algoritmus nešifruje aktuální informace.

Aniž bych věděl X 1 a X 2, se útočník může pokusit vypočítat k 12, věděl pouze zachycen y 1 a y 2. Ekvivalence tohoto problému s problémem výpočtu diskrétního logaritmu je hlavní a otevřená otázka v systémech veřejného klíče. Jednoduché řešení zatím nebylo nalezeno. Pokud tedy přímá transformace 1000bitových prvočísel vyžaduje 2000 operací, pak inverzní transformace (výpočet logaritmu v Galoisově poli) bude vyžadovat asi 1030 operací.

Jak je vidět, i přes jednoduchost Diffie-Hellmanova algoritmu je jeho nevýhodou oproti systému RSA absence garantovaného nižšího odhadu složitosti odhalení klíče.

Kromě toho, ačkoli popsaný algoritmus obchází problém přenosu skrytého klíče, potřeba autentizace zůstává. Bez dalších finančních prostředků si jeden z uživatelů nemůže být jistý, že si vyměnil klíče přesně s tím uživatelem, kterého potřebuje.

Správa klíčů

Kromě výběru kryptografického systému vhodného pro konkrétní IC je důležitou otázkou správa klíčů. Jakkoliv je kryptosystém složitý a bezpečný, je založen na použití klíčů. Pro zajištění důvěrné výměny informací mezi dvěma uživateli je proces výměny klíčů triviální, ale v IS, kde je počet uživatelů desítky a stovky, je správa klíčů vážným problémem.

Klíčovou informací se rozumí souhrn všech klíčů působících v IS. Pokud není zajištěna dostatečně spolehlivá správa klíčových informací, získá útočník po jejich držení neomezený přístup ke všem informacím.

Správa klíčů je informační proces, který zahrnuje tři prvky: generování klíčů, shromažďování klíčů, distribuce klíčů.

Generování klíčů

Nepoužívejte nenáhodné klíče, aby byly snadno zapamatovatelné. Ve vážných integrovaných obvodech se používají speciální hardwarové a softwarové metody pro generování náhodných klíčů. Stupeň náhodnosti jejich generování by měl být dostatečně vysoký. Ideální generátory jsou zařízení založená na přirozených náhodných procesech. Objevily se například sériové vzorky generování klíčů na základě bílého rádiového šumu.

Akumulace klíčů

Pod akumulací klíčů se rozumí organizace jejich ukládání, účtování a mazání. Tajné klíče by nikdy neměly být výslovně zapsány na médium, které lze číst nebo kopírovat.

V poměrně složitém IS může jeden uživatel pracovat s velkým množstvím klíčových informací a někdy je dokonce nutné organizovat minidatabáze klíčových informací. Tyto databáze jsou odpovědné za přijímání, ukládání, účtování a mazání použitých klíčů.

Velmi důležitou podmínkou bezpečnosti informací je periodická aktualizace klíčových informací v IS. Ve zvláště odpovědných IS je žádoucí denně aktualizovat klíčové informace.

Distribuce klíčů

Toto je nejzodpovědnější proces při správě klíčů. Jsou na něj kladeny dva požadavky: účinnost a přesnost distribuce a utajení distribuovaných klíčů.

Distribuce klíčů mezi uživateli je realizována dvěma různými přístupy:

vytvořením jednoho nebo více klíčových distribučních center.

Nevýhodou tohoto přístupu je, že distribuční centrum ví, komu a jaké klíče jsou přiřazeny, a to umožňuje číst všechny zprávy kolující v IS. Případná zneužití výrazně ovlivňují ochranu.

přímou výměnu klíčů mezi uživateli informačního systému.

V tomto případě je problém spolehlivě autentizovat subjekty.

V obou případech musí být zaručena autenticita komunikační relace.

Jako zobecnění toho, co bylo řečeno o distribuci klíčů, je třeba říci následující. Úkol správy klíčů spočívá v nalezení protokolu distribuce klíčů, který by poskytoval:

Možnost odhlásit se z klíčového distribučního centra

vzájemná autentizace účastníků relace

potvrzení pravosti relace mechanismem požadavek-odpověď, použití softwaru nebo hardwaru k tomu, použití minimálního počtu zpráv ve výměně klíčů.

Přednáška 6: Správa kryptografických klíčů. kryptografické protokoly.

otázky:

1. kryptografické protokoly.

2. Distribuce tajných klíčů.

3. Distribuce veřejných klíčů.

4. Distribuce tajných klíčů pomocí systému veřejného klíče.

1 Kryptografické protokoly.

Kryptografický protokol - soubor formalizovaných pravidel, která popisují posloupnost akcí prováděných dvěma nebo více stranami k vyřešení problému ochrany informací pomocí kryptografie. To znamená, že kryptografický protokol obsahuje nějaký kryptografický algoritmus.

V každodenním životě se neformální protokoly používají téměř všude:

· při hraní karet;

· při telefonické objednávce zboží.

Tyto protokoly jsou vyvíjeny dlouhou dobu a fungují celkem spolehlivě.

Počítačové protokoly jsou něco úplně jiného. K tomu, co lidé dělají bez přemýšlení, potřebují počítače formální protokoly.

Pro usnadnění demonstrace fungování protokolů se používá několik účastníků:

· Alice je prvním účastníkem.

· Bob je druhým účastníkem.

· Carol je účastníkem tripartitních protokolů.

· Dave je čtyřcestný protokol.

· Eva je zachycovač zpráv.

· Mallory je aktivní zloděj.

· Trent je důvěryhodný zprostředkovatel.

· Walter je správce (hlídá Alice a Bob).

· Peggy je vyzyvatel (snaží se něco dokázat).

· Victor je ověřovatel (kontroluje Peggy).

Rozlišovat:

· samostatné protokoly;

· protokoly s prostředníkem;

· rozhodčí protokoly.

V samostatných protokolech poctivost stran je zaručena samotným protokolem. K provedení protokolu není potřeba žádná třetí strana. Neexistence sporů je zajištěna návrhem protokolu. Toto je nejlepší typ protokolu, ale bohužel tyto protokoly nejsou vhodné pro každou situaci.

Alice Bobová

Zprostředkující protokoly.

prostředníkvolala nezaujatý třetí strana, která svěřeno dokončit provedení protokolu. „Nezájem“ znamená, že zprostředkovateli je lhostejný jak výsledek provedení protokolu, tak kterýkoli z jeho účastníků. Všichni účastníci protokolu vnímají slova zprostředkovatele jako pravdu, všechny jeho činy jsou uznávány jako správné.

V běžném životě může být prostředníkem právník, agentura, banka atd. U počítačových sítí je situace složitější.


Protokoly s arbitrem.


Rozhodceje zvláštním typem zprostředkovatele. Tohle je nezaujatý a důvěryhodný třetí strana. Na rozdíl od mediátora se nezbytně nepodílí na provedení každého protokolu, ale pouze tehdy, když mezi stranami dojde k neshodám.

Příkladem jsou soudci.

Rozhodčí počítačové protokoly jsou známy. Tyto protokoly se opírají o předpoklad, že strany jsou čestné. Pokud má však někdo podezření na podvod, důvěryhodná třetí strana může podvod odhalit na základě existujícího souboru dat. Navíc dobrý arbitrážní protokol umožňuje arbitrovi identifikovat útočníka. Tedy rozhodčí protokoly nezabránit, a odhalit podvod. Nevyhnutelnost detekce v tomto případě působí jako preventivní opatření, které útočníka odrazuje.

Organizace komunikace pomocí symetrické kryptografie.

Symetrický model kryptosystému:

1. Alice a Bob si vyberou kryptosystém.

2. Alice a Bob si vyberou klíč.

3. Alice zašifruje prostý text zprávy pomocí šifrovacího algoritmu a klíče.

4. Alice pošle šifrovaný text Bobovi.

5. Bob dešifruje šifrovaný text pomocí klíče a získá prostý text.

Eve, která je mezi Alicí a Bobem, může pouze odposlouchávat přenos v kroku 4, pak bude muset šifrovaný text analyzovat. Jedná se o pasivní útok pouze za použití šifrovaného textu.

Eva může odposlouchávat kroky 1 a 2. V dobrém kryptosystému závisí bezpečnost na znalosti klíče. To je důvod, proč je správa klíčů v kryptografii tak důležitá.

Malloryho aktivní cracker může jít ještě dál. V kroku 4 může přerušit komunikační linku. Nebo zachytit zprávu Alice a nahradit ji její vlastní. Bob nemůže nijak poznat, že zprávu neposlala Alice.

Alice nebo Bob mohou předat kopii klíče Evě a tak dále.

Shrneme-li, uvádíme nevýhody symetrických kryptosystémů:

1. Klíče jsou tedy stejně cenné jako zprávy, které šifrují problém distribuce klíčů.

2. Po obdržení klíče je možné generovat falešné zprávy.

3. Pokud bude každý pár uživatelů sítě používat samostatný klíč, celkový počet klíčů rychle roste s počtem uživatelů.

n uživatelů - n (n - 1) / 2 - kláves,

10 uživatelů - 45 klíčů,

100 uživatelů - 4950 klíčů atd.

Navázání komunikace pomocí kryptografie veřejného klíče.

1. Alice a Bob souhlasí s použitím kryptosystému s veřejným klíčem.

2. Bob pošle svůj veřejný klíč Alici.

3. Alice zašifruje svou zprávu pomocí Bobova veřejného klíče a pošle ji Bobovi.

4. Bob dešifruje zprávu svým soukromým klíčem.

Odpadá tak problém distribuce klíčů, který je pro symetrické kryptosystémy bolestivý.


2. Distribuce tajných klíčů.

Při tradičním šifrování musí obě strany obdržet stejný klíč. Z bezpečnostních důvodů jsou vyžadovány časté změny klíčů.

Tak síla jakéhokoli symetrického kryptografického systému do značné míry závisí na klíčové distribuční systémy (tj. způsob doručení klíčů dvěma stranám).

Pro dvě strany A a B lze distribuci klíčů organizovat různými způsoby:

1. Klíč je vybrán stranou A a fyzicky doručen B.

2. Klíč je vybrán třetí stranou a fyzicky doručen A a B.

3. Jedna ze stran předá nový klíč v zašifrované podobě pomocí starého klíče.

4. Třetí strana C doručí klíč A a B přes zabezpečené komunikační kanály, tj. nějaký Key Distribution Center (KDC).

Schéma distribuce klíčů (protokol) může být centralizované a distribuované(s prostředníkem a soběstačný).

Zvažte položku 4.

Použití CRC zahrnuje organizaci hierarchie klíčů (nejméně dvě úrovně). Komunikace mezi koncovými uživateli je šifrována pomocí dočasného klíče tzv klíč relace . Klíč relace je přijímán z CRC prostřednictvím stejných komunikačních kanálů, které se používají pro doručování dat. Klíče relace jsou přenášeny v zašifrované podobě a jsou šifrovány pomocí hlavní klíč , společné pro CRC a tohoto uživatele.

Jsou vyžadovány hlavní klíče N (podle počtu uživatelů). Jsou distribuovány nekryptografickým způsobem (fyzické doručení adresátovi).

Klíčový distribuční scénář (centrální schéma).

Předpokládejme, že uživatel A má v úmyslu přenést informace uživateli B a k ochraně dat je vyžadován jednorázový klíč relace.

Uživatel A má tajný klíč K. A , známý pouze jemu a CRC, a uživatel B má K b (Ka a Kb jsou hlavní klíče, K s – jednorázový klíč relace).

Výměna informací probíhá následovně:

1. Uživatel A odešle požadavek do CRC, aby obdržel klíč relace pro zabezpečení komunikace s B.

Odeslaná žádost musí obsahovat:

- informace, které umožňují jednoznačně identifikovat A a B ( ID A, ID B);

- nějaký identifikátor N 1 , jedinečný pro každý požadavek a volaný příležitost. Příležitostí může být čas, počítadlo, náhodné číslo.

2. CRC odpoví na žádost uživatele A, zašifrování odpovědi klíčem K A(hlavní A). Jediný uživatel, který může číst odpověď, je A (proto si A je jistý, že zpráva přišla z CRC).

Zpráva s odpovědí obsahuje následující prvky:

· Určeno pro A :

S (pro spojení A s B).

- Žádost s obratem N 1 aby uživatel A mohl přiřadit odpověď k požadavku.

A tak se může ujistit, že jeho žádost nebyla na cestě do CRC změněna, a příležitost neumožňuje zaměňovat odpověď na tuto žádost s odpovědí na předchozí žádosti.

· Určeno pro B .

Jednorázový klíč relace K s .

ID uživatele A - ID A (například síťová adresa A).

Oba prvky jsou šifrovány pomocí klíče KB (hlavní klíč CRC a B). Předpokládá se, že budou následně odeslány do B, aby bylo možné navázat spojení a identifikovat A.

E Ka [ K S ||Žádost|| N 1 || E Kb (KS, ID A)]

3. Uživatel A uloží svůj klíč relace a odešle straně B informace z CMC určené pro B.

Uživatel B obdrží K s a ví, že přijatá informace pocházela z CRC (protože je šifrována pomocí C B, kterou zná pouze B a CRC).

A a B tedy mají klíč relace. Před výměnou dat je však žádoucí provést následující:

4. Pomocí přijatého klíče relace K s uživatel B pošle uživateli A novou příležitost N2.

5. Pomocí K s uživatel A se vrátí f (N 2 ). To je nezbytné k přesvědčení B, že zpráva, kterou původně obdržel, nebyla útočníkem reprodukována.

Je tedy zajištěn nejen přenos klíče, ale také autentizace (kroky 4 a 5).


Není nutné přiřazovat funkci distribuce klíčů jednomu CRC. Výhodnější je použít nějakou hierarchii CRC. Čím častěji se klíče relace mění, tím jsou spolehlivější, ale distribuce klíčů relace zpožďuje začátek relace výměny dat a zvyšuje zatížení sítě.

Použití CRC znamená, že CRC by mělo vzbuzovat důvěru a být spolehlivě chráněno před zásahy. Od těchto požadavků lze upustit, pokud je použito decentralizované schéma distribuce klíčů (soběstačné).

Schéma decentralizované distribuce klíčů.

Klíč relace lze určit jako výsledek následující sekvence akcí:


1) A odešle žádost o přijetí K s + příležitost N 1 .

2) B odpoví zašifrováním odpovědi pomocí společného hlavního klíče E MK A a B m

3) A vrátí f (N 2 ), šifrování pomocí K s .

3. Distribuce veřejných klíčů.

Jedna z hlavních aplikací schématu šifrování veřejného klíče je řešením problému distribuce klíčů. V této oblasti existují dvě zcela odlišná použití pro šifrování veřejného klíče:

1. distribuce veřejných klíčů;

2. pomocí šifrování veřejného klíče k distribuci tajných klíčů.

Pro distribuci veřejných klíčů bylo navrženo několik metod. Ve skutečnosti je lze seskupit do následujících obecných tříd:

1. veřejné oznámení;

2. veřejně přístupný adresář;

4. certifikáty veřejného klíče.

1) Veřejné oznámení veřejných klíčů (nekontrolovaná distribuce) .

Kterákoli strana zapojená do výměny dat může poskytnout svůj veřejný klíč jakékoli jiné straně nebo přenést klíč prostřednictvím komunikačních prostředků vůbec všem - nekontrolované šíření veřejných klíčů.

Tento přístup je pohodlný, ale jedna nevýhoda: takové veřejné oznámení může učinit kdokoli, včetně útočníka. To znamená, že někdo vystupuje jako uživatel A a pošle veřejný klíč jinému uživateli sítě nebo takový veřejný klíč nabídne k veřejnému použití. Zatímco uživatel A otevře podvod a varuje ostatní uživatele, padělatel bude moci číst všechny zašifrované zprávy přijaté během této doby pro A a budou moci používat padělané klíče pro autentizaci.

2) Veřejně přístupný adresář (Centralizované schéma).

Vyšší stupeň zabezpečení lze zajistit použitím veřejně dostupného dynamického katalogu veřejných klíčů. Za údržbu a distribuci veřejného katalogu by mělo odpovídat nějaké důvěryhodné centrum nebo organizace. Takový systém by měl obsahovat následující prvky:

1. Autoritativní objekt, který udržuje adresář s položkami formuláře (jméno, veřejný klíč) pro každého člena.

2. Každý účastník zaregistruje svůj veřejný klíč. Tato registrace by měla proběhnout buď při osobním vystoupení účastníka, nebo prostřednictvím zabezpečených komunikačních kanálů.

3. Každý účastník může kdykoli nahradit stávající klíč novým pomocí prostředků autentizace. (Možná byl soukromý klíč nějakým způsobem kompromitován nebo pomocí něj již bylo přeneseno mnoho informací.)

4. Celý katalog nebo jeho aktualizace jsou vydávány pravidelně.

Toto schéma je bezpečnější než jednotlivá veřejná oznámení, ale je také zranitelné. . Pokud se protivníkovi podaří získat soukromý klíč objektu oprávněného udržovat adresář, pak se mu to podaří bude schopen vydávat padělané veřejné klíče a tedy hovořit jménem kteréhokoli z účastníků výměny dat a číst zprávy určené pro kteréhokoli účastníka. Stejný výsledek nepřítel může dosáhnout s změny záznamů uložených v adresáři.

Nejlepší ochranadistribuci veřejných klíčů lze dosáhnout přísnější kontrolou distribuce veřejných klíčů.

Typický scénář je uveden níže. Scénář předpokládá přítomnost nějakého CRC oprávněného udržovat dynamický katalog veřejných klíčů všech účastníků výměny dat. Veřejný klíč centra navíc spolehlivě zná každý z účastníků, ale pouze centrum zná odpovídající soukromý klíč. Přitom se provádějí následující akce:

(1) Iniciátor A odešle zprávu s razítkem data/času (příležitost N 1 ) na autoritativní zdroj veřejných klíčů s požadavkem na aktuální veřejný klíč účastníka B.

(2) Autoritativní zdroj odpoví zprávou, která je zašifrována pomocí soukromého klíče autoritativního zdroje KR auth . Tuto zprávu může původce A dešifrovat pomocí veřejného klíče autoritativního zdroje. Odesílatel A si proto může být jistý, že zpráva pochází z důvěryhodného zdroje. Tato zpráva by měla obsahovat následující:

· Veřejný klíč účastníka B , KU b ;

· Původní žádost aby strana A mohla ověřit, že požadavek nebyl změněn na cestě k autoritativnímu zdroji.


· Původní datum/čas (příležitost N1 ), aby odesílatel A mohl ověřit, že se jedná o odpověď na tento konkrétní požadavek.

(3) Iniciátor A ukládá veřejný klíč strany B a používá jej k šifrování zprávy odeslané příjemci B obsahující identitu odesílatele A ( ID A ) a příležitost N 1 .

(4) (5) Respondent B obdrží veřejný klíč účastníka A z autoritativního zdroje přesně stejným způsobem, jakým odesílatel A přijal veřejný klíč příjemce B.

Do této doby byly veřejné klíče doručeny účastníkům A a B, takže že nyní A a B mohou zahájit bezpečnou výměnu dat. Ale předtím je žádoucí udělat dvě další dodatečné akce.

(6) Respondent B pošle zprávu iniciátorovi A, zašifrovanou pomocí KU A a obsahující příležitost odesílatele A ( N 1 ), stejně jako nová příležitost vytvořená účastníkem B ( N2). Přítomnost N1 ve zprávě (6) přesvědčí účastníka A, že odesílatel přijaté zprávy byl B.

(7) Iniciátor A se vrací N2 zašifrované veřejným klíčem strany B, aby strana B mohla ověřit, že odesílatel odpovědi je A.

Tak, bude potřeba celkem sedm zpráv. nicméně odesílat první čtyři zprávy zřídka, protože obě strany si mohou navzájem ukládat své veřejné klíče pro pozdější použití, což se obvykle nazývá ukládání do mezipaměti.

4) Certifikáty veřejného klíče .

Alternativní přístup navrhl Confelder. Je založen na certifikátech.

Každý certifikát obsahuje veřejný klíč a další informace generované autoritativní certifikační autoritou a vydané účastníkovi.

Požadavky na systém :

1. Kterákoli strana musí být schopna číst certifikát, aby určila jméno a veřejný klíč vlastníka certifikátu.

2. Každý účastník by měl být schopen ověřit, že certifikát pochází z důvěryhodného zdroje certifikátu a není padělkem.

4. Denningpřidán následující požadavek - každý účastník musí mít možnost zkontrolovat dobu platnosti certifikátu.


Rýže. Výměna certifikátů veřejného klíče.

Každý účastník se hlásí do AIS , poskytnutí veřejného klíče a vyžádání certifikátu pro něj prostřednictvím zabezpečeného komunikačního formuláře.

AIS zasílá certifikáty C A a C B obsahující 1) dobu platnosti certifikátu; 2) identifikátor vlastníka; 3) veřejný klíč vlastníka certifikátu. Certifikáty jsou šifrovány soukromým klíčem autoritativního zdroje.

A může poslat certifikát kterémukoli účastníkovi.

Příjemce používá veřejný klíč KU auth AIS pro čtení certifikátu. To dává záruku, že certifikát pochází od něj.

D KU [ C A ]= D KU [ E KR [ T , ID A , KU A ]] = (T , ID A , KU )

4. Distribuce tajných klíčů pomocí systému veřejného klíče.

Někteří uživatelé budou preferovat použití šifrování veřejným klíčem pouze ve výjimečných případech, protože rychlost přenosu dat je při použití šifrování relativně nízká. Proto by mělo být šifrování veřejným klíčem považováno spíše za prostředek distribuce tajných klíčů používaných pro tradiční šifrování.

1) Merkle schéma (samostatný protokol)

Pokud má iniciátor A v úmyslu vyměňovat si data s uživatelem B, předpokládá se následující postup:


1. Strana A vygeneruje pár veřejného/soukromého klíče ( KU A, KR A ) a odešle zprávu straně B obsahující KU A a ID odesílatele A, ID A.

2. Příjemce B vygeneruje tajný klíč KS a předá tento klíč iniciátorovi zprávy A zašifrovaný veřejným klíčem iniciátora A.

3. Uživatel A vypočítá D KRa [ E KUa [ K S ]] pro obnovení tajného klíče. Protože pouze strana A může tuto zprávu dešifrovat, pouze strany A a B budou znát hodnotu K S

Nyní mohou obě strany, A i B, využívat komunikaci chráněnou tradičním šifrováním s klíčem relace K S . Na konci výměny dat A i B vyhodí K S . I přes svou jednoduchost je tento protokol velmi atraktivní.

Důstojnost: Před zahájením komunikace neexistují žádné klíče a po ukončení komunikace nezůstanou žádné klíče. Proto je riziko kompromisu minimální.. Komunikace je zároveň chráněna před odposlechy.

Chyba: Tento protokol je zranitelný vůči aktivní útoky. Pokud má protivník E schopnost proniknout do komunikačního kanálu, může komunikaci kompromitovat, aniž by byl detekován, následujícím způsobem.

1. Účastník A vygeneruje pár veřejného/soukromého klíče ( KU A, KR A KU A a ID účastníka A, ID A.

2. Protivník E zachytí zprávu, vygeneruje svůj vlastní veřejný/soukromý klíčový pár ( KU E, KR E ) a odešle zprávu adresátovi B obsahující KU E || ID A.

3. B vygeneruje tajný klíč K S a vysílá E KUe [ K S ].

4. Protivník E zachytí tuto zprávu a naučí se K S, výpočet D KRe [ E KUe [ K S ]].

5. Protivník E pošle zprávu účastníkovi A E KU a [ K S ].

Ve výsledku to budou vědět oba účastníci, A i B K S , ale nebude to podezírat K S známý také nepříteli E . Tím pádem, tento jednoduchý protokol je užitečný pouze tehdy, když je jedinou možnou hrozbou pasivní odposlech zpráv.

2) Distribuce tajných klíčů s důvěrností a autentizací.

Schéma poskytuje ochranu před aktivními i pasivními formami útoku. Předpokládejme, že A a B si již vyměnili veřejné klíče pomocí jednoho z výše popsaných schémat.


(1) Strana A použije veřejný klíč strany B k odeslání zašifrované zprávy straně B obsahující identitu strany A ( ID A) a příležitost (N 1 ) slouží k identifikaci této konkrétní transakce.

(2) Uživatel B dešifruje (1) pomocí KR B . Uživatel B odešle zprávu uživateli A zašifrovanou pomocí KU A a obsahující příležitost od něj získanou ( N 1) a nová příležitost (N 2 ). Protože pouze strana B mohla dešifrovat zprávu (1), přítomnost N 1 ve zprávě (2) přesvědčí účastníka A, že strana B je respondentem.

( 3) Strana A se vrací N 2 , zašifrování zprávy pomocí veřejného klíče strany B, aby bylo zajištěno, že strana A je respondentem.

(4) Účastník A zvolí tajný klíč K S a odešle zprávu účastníkovi B M = E KUb [E KRa [K S ]]. Zašifrování této zprávy veřejným klíčem B zajistí, že ji bude číst pouze B, a zašifrování soukromým klíčem A zajistí, že ji bude moci odeslat pouze A.

(5) Strana B vypočítá B KU a [ E KRb [ K S ]] pro obnovení tajného klíče.

Při výměně tajných klíčů toto schéma zaručuje důvěrnost i autentizaci.

3) Hybridní schéma (tříúrovňové).

Představuje hybridní přístup aplikovaný na sálové počítače IBM . Toto zprostředkované schéma zahrnuje účast centra distribuce klíčů (KDC), se kterým každý uživatel sdílí svůj vlastní hlavní tajný klíč, a distribuci klíčů tajné relace zašifrovaných hlavním klíčem. K distribuci hlavních klíčů se používá schéma šifrování veřejného klíče. Tento tříúrovňový přístup je založen na následující logice:

· Rychlost postupu .

Existuje mnoho aplikací, kde se klíče relace musí velmi často měnit. Distribuce klíčů relace pomocí schématu veřejného klíče by mohla způsobit přílišné zpomalení výkonu systému kvůli relativně vysokým požadavkům na výpočetní zdroje pro šifrování a dešifrování pomocí takového schématu. V případě tříúrovňové hierarchie se šifrování veřejným klíčem používá pouze příležitostně ke změně hlavního klíče.

· zpětná kompatibilita .

Hybridní schéma lze snadno implementovat jako rozšíření již existujícího schématu zahrnujícího použití DRC s minimálními změnami poskytovaného postupu a softwaru.

Přidání vrstvy šifrování veřejným klíčem poskytuje bezpečný a účinný prostředek distribuce hlavních klíčů. To je výhoda v konfiguraci, kde jeden DSC obsluhuje velký počet uživatelů umístěných ve značné vzdálenosti od sebe.

5. Výměna klíčů Diffie-Hellman.

První publikovaný algoritmus založený na veřejných klíčích se objevil v díle Diffieho a Hellmana, ve kterém byl definován samotný koncept kryptografie s veřejným klíčem. Obvykle tento algoritmus se nazývá výměna klíčů Diffie-Hellman. Tato technologie výměny klíčů je implementována v řadě komerčních produktů. .

Účel schématu– poskytnout dvěma uživatelům bezpečnou příležitost sdělit si klíč, aby jej mohli použít k šifrování následujících zpráv.

Šifrovací síla algoritmu Diffie-Hellman závisí na obtížnosti výpočtu diskrétních logaritmů . Formálně může být diskrétní logaritmus definován následovně. Nejprve se určí primitivní kořen prvočísla p- číslo a, jehož mocniny generují všechna celá čísla od 1 do p-1. To znamená, že pokud a je primitivní kořen prvočísla p , pak všechna čísla

a mod p, a 2 mod p,…, a p-1 mod p

musí být různé a reprezentovat všechna celá čísla od 1 do p -1 v nějaké permutaci.

Výměna klíčů Diffie-Hellman je znázorněna na obrázku. V tomto schématu jsou dvě čísla otevřená všem: prvočíslo q a celé číslo a, což je primitivní kořen q . Předpokládejme, že uživatelé A a B mají v úmyslu vyměnit si klíče.

Uživatel A zvolí náhodné celé číslo X A< q a vypočítá Y A =a XA mod q . Podobně uživatel B nezávisle zvolí náhodné celé číslo XB< q и вычисляет Y B = a XB mod q . Každá strana uchovává hodnotu X v tajnosti a vytváří hodnotu Y volně na druhou stranu. Uživatel A vypočítá klíč pomocí vzorce K = ( Y B ) XA mod q a uživatel B podle vzorce K = ( Y A ) X B mod q . Tyto dva výpočetní vzorce poskytují stejné výsledky.

Obě strany si tedy vyměnily tajné klíče. A protože ve stejné době byly X A a X B pouze pro osobní potřebu, a tudíž utajovány, bude muset nepřítel pracovat pouze s q, a, XA, XB. Bude tedy muset vypočítat diskrétní logaritmus, aby určil klíč. Například pro definování klíče.

Poté bude schopen vypočítat klíč K stejným způsobem jako uživatel B.

Bezpečnost výměny klíčů Diffie-Hellman se ve skutečnosti opírá o skutečnost, že zatímco mocniny modulo nějaké prvočíslo se dají relativně snadno vypočítat, diskrétní logaritmy se počítají velmi obtížně. U velkých prvočísel je to druhé považováno za problém, který je prakticky neřešitelný.


Nepřítel ví q, a, Y A, Y B. Chcete-li určit klíč, musíte vypočítat diskrétní logaritmus.

Jakkoliv je kryptosystém složitý a bezpečný, je založen na použití klíčů. Pokud je proces výměny klíčů triviální pro zajištění důvěrné výměny informací mezi dvěma uživateli, pak v systému, kde se počet uživatelů pohybuje v desítkách a stovkách, představuje správa klíčů vážný problém.

Klíčovou informací se rozumí souhrn všech klíčů působících v systému. Pokud nejsou klíčové informace bezpečně spravovány, útočník po jejich držení získá neomezený přístup ke všem informacím.

Správa klíčů je informační proces, který zahrnuje tři prvky:

Generování klíčů;

Hromadění klíčů;

Distribuce klíčů.

Generování klíčů. Skutečné systémy používají speciální hardwarové a softwarové metody pro generování náhodných klíčů. Zpravidla se používají generátory náhodných čísel. Míra náhodnosti jejich generování by však měla být dostatečně vysoká. Ideální generátory jsou zařízení založená na „přirozených“ náhodných procesech. Například generování klíčů na základě bílého rádiového šumu. Dalším náhodným matematickým objektem jsou desetinná místa iracionálních čísel, jako je p nebo e, která se počítají pomocí standardních matematických metod.

V systémech se středními požadavky na zabezpečení jsou docela přijatelné generátory softwarových klíčů, které počítají náhodná čísla jako komplexní funkci aktuálního času a/nebo čísla zadaného uživatelem.

Akumulace klíčů. Pod akumulací klíčů se rozumí organizace jejich ukládání, účtování a mazání.

Protože klíč je pro útočníka nejatraktivnějším objektem, který mu otevírá cestu k důvěrným informacím, je třeba věnovat zvláštní pozornost otázkám akumulace klíčů.

Tajné klíče by nikdy neměly být výslovně zapsány na médium, které lze číst nebo kopírovat.

V poměrně složitém systému může jeden uživatel pracovat s velkým množstvím klíčových informací a někdy je dokonce nutné organizovat minidatabáze klíčových informací. Tyto databáze jsou odpovědné za přijímání, ukládání, záznam a mazání použitých klíčů.

Každá informace o použitých klíčích musí být uložena v zašifrované podobě. Klíče, které šifrují informace o klíčích, se nazývají hlavní klíče. Je žádoucí, aby každý uživatel znal hlavní klíče nazpaměť a neukládal je vůbec na žádná hmotná média.

Velmi důležitou podmínkou informační bezpečnosti je periodická aktualizace klíčových informací v systému. V tomto případě by měly být přiřazeny běžné klíče i hlavní klíče. Ve zvláště kritických systémech musí být klíčové informace denně aktualizovány.


S problematikou aktualizace klíčových informací souvisí i třetí prvek správy klíčů – distribuce klíčů.

Distribuce klíčů. Distribuce klíčů je nejdůležitějším procesem správy klíčů. Má dva požadavky:

Efektivita a přesnost distribuce;

Utajení distribuovaných klíčů.

V poslední době je patrný posun k používání kryptosystémů s veřejným klíčem, ve kterém odpadá problém distribuce klíčů. Nicméně distribuce klíčových informací v systému vyžaduje nová efektivní řešení.

Rozdělení klíčů mezi uživatele je realizováno dvěma různými přístupy:

1 Vytvořením jednoho nebo více center distribuce klíčů. Nevýhodou tohoto přístupu je, že distribuční centrum ví, komu a jaké klíče jsou přiřazeny, a to vám umožňuje číst všechny zprávy kolující v systému. Případná zneužití výrazně ovlivňují ochranu.

2 Přímá výměna klíčů mezi uživateli systému. V tomto případě je problém spolehlivě autentizovat subjekty.

V obou případech musí být zaručena autenticita komunikační relace. To lze zajistit dvěma způsoby:

1 Mechanismus požadavek-odpověď, který je následující. Pokud si uživatel A chce být jistý, že zprávy, které dostává od uživatele B, nejsou falešné, zahrne do zprávy zaslané B nepředvídatelný prvek (požadavek). Při odpovídání musí uživatel B provést nějakou operaci s tímto prvkem (například přidat 1). To nelze provést předem, protože není známo, jaké náhodné číslo v žádosti přijde. Po obdržení odpovědi s výsledky akcí si uživatel A může být jistý, že relace je pravá. Nevýhodou této metody je možnost vytvořit, byť složité, vzory mezi požadavkem a odpovědí.

2 Mechanismus časového razítka. Znamená to stanovit čas pro každou zprávu. V tomto případě může každý uživatel systému vědět, jak „stará“ příchozí zpráva je.

V obou případech by mělo být použito šifrování, aby bylo zajištěno, že odpověď nebyla odeslána útočníkem a že časové razítko nebylo změněno.

Při použití časových razítek nastává problém s povoleným časovým intervalem zpoždění pro autentizaci relace. Koneckonců, zpráva s časovým razítkem v zásadě nemůže být přenesena okamžitě. Počítačové hodiny příjemce a odesílatele navíc nelze dokonale synchronizovat.

Kryptosystémy veřejného klíče lze použít pro výměnu klíčů pomocí stejného algoritmu RSA.

Algoritmus Diffie-Hellman se však ukázal jako velmi účinný a umožnil dvěma uživatelům vyměňovat si klíč bez prostředníků, který pak lze použít pro symetrické šifrování.

Algoritmus Diffie-Hellman. Diffie a Helman navrhli diskrétní umocňovací funkci pro vytváření kryptografických systémů s veřejným klíčem.

Nevratnost transformace je v tomto případě zajištěna tím, že je celkem snadné vypočítat exponenciální funkci v konečném Galoisově poli sestávajícím z p prvků ( p je buď prvočíslo nebo prvočíslo pro jakoukoli mocninu). Výpočet logaritmů v takových polích je časově mnohem náročnější operace.

Pro výměnu informací si první uživatel vybere náhodné číslo X 1 , ekvipravděpodobnost celých čísel od 1 do p– 1. Toto číslo uchová v tajnosti a pošle ho jinému uživateli y 1 = , kde α je pevný prvek Galoisova pole GF(p), který je spolu s p předem distribuován mezi uživatele.

Druhý uživatel dělá totéž, generuje X 2 a počítání y 2, odeslání prvnímu uživateli. Výsledkem je, že oba mohou vypočítat sdílený tajný klíč k 12 = .

Aby bylo možné počítat k 12, první uživatel zvyšuje y 2 k moci X 1 a zjistí zbytek po dělení p. Druhý uživatel dělá totéž, pouze používá y 1 a X 2. Oba uživatelé tedy mají společný klíč k 12, který může být použit pro šifrování informací konvenčními algoritmy. Na rozdíl od algoritmu RSA tento algoritmus nešifruje aktuální informace.

Aniž bych věděl X 1 a X 2, se útočník může pokusit vypočítat k 12, věděl pouze zachycen y 1 a y 2. Ekvivalence tohoto problému s problémem výpočtu diskrétního logaritmu je hlavní a otevřená otázka v systémech veřejného klíče. Jednoduché řešení zatím nebylo nalezeno. Pokud tedy přímá transformace 1000bitových prvočísel vyžaduje 2000 operací, pak inverzní transformace (výpočet logaritmu v Galoisově poli) bude vyžadovat asi 1030 operací.

Jak je vidět, i přes jednoduchost Diffie-Hellmanova algoritmu je jeho nevýhodou oproti systému RSA absence garantovaného nižšího odhadu složitosti odhalení klíče.

Kromě toho, ačkoli popsaný algoritmus obchází problém přenosu skrytého klíče, potřeba autentizace zůstává. Bez dalších finančních prostředků si jeden z uživatelů nemůže být jistý, že si vyměnil klíče přesně s tím uživatelem, kterého potřebuje.