Diffie-Hellman Key Exchange: Jak se dva cizinci dohodnou na tajemství

Představte si, že se s přítelem chcete dohodnout na tajném hesle, ale můžete spolu komunikovat pouze tak, že na sebe křičíte přes přeplněný sál, kde vás všichni slyší. Diffie-Hellman Key Exchange (DH) řeší přesně tento problém — a je to jedna z nejelegantnějších myšlenek v historii kryptografie.

Co to je

Diffie-Hellman Key Exchange je kryptografický protokol vyvinutý Whitfieldem Diffiem a Martinem Hellmanem v roce 1976, který umožňuje dvěma stranám vygenerovat sdílené tajemství přes nezabezpečený veřejný kanál. Žádná ze stran neodesílá skutečné tajemství — každá odesílá dílčí informace, které v kombinaci s vlastními soukromými daty produkují na obou koncích stejný výsledek. Kdokoli, kdo výměnu odposlouchává, vidí pouze dílčí hodnoty, jež jsou bez chybějícího soukromého dílu matematicky bezcenné.

Šlo o revoluční koncept. Před vznikem DH vyžadovala bezpečná komunikace, aby obě strany již sdílely tajný klíč, což znamenalo jeho fyzickou výměnu předem. Diffie-Hellman tuto závislost zcela odstranil.

Jak to funguje

Matematika stojící za Diffie-Hellmanem se opírá o princip zvaný problém diskrétního logaritmu — výpočet jedním směrem je snadný, ale jeho obrácení je mimořádně obtížné. Zde je zjednodušený popis:

  1. Dohoda na veřejných parametrech: Obě strany se veřejně dohodnou na dvou číslech — velkém prvočísle (p) a základním čísle (g). Tato čísla nejsou tajná.
  2. Každá strana zvolí soukromou hodnotu: Alice si vybere tajné číslo (a), Bob si vybere tajné číslo (b). Žádný z nich tato čísla nesdílí.
  3. Každá strana vypočítá veřejnou hodnotu: Alice vypočítá `g^a mod p` a odešle ji Bobovi. Bob vypočítá `g^b mod p` a odešle ji Alici.
  4. Každá strana vypočítá sdílené tajemství: Alice vezme Bobovu veřejnou hodnotu a vypočítá `(g^b mod p)^a`. Bob vezme Alicinu veřejnou hodnotu a vypočítá `(g^a mod p)^b`. Oba výpočty dají stejný výsledek — sdílené tajemství.

Útočník sledující výměnu vidí `g`, `p` a obě veřejné hodnoty, ale nemůže snadno zpětně odvodit soukromé hodnoty ani rekonstruovat sdílené tajemství. To je jádro toho, co dělá DH bezpečným.

Moderní implementace používají mnohem větší čísla a sofistikovanější varianty, jako je Elliptic Curve Diffie-Hellman (ECDH), který dosahuje srovnatelné bezpečnosti s menšími délkami klíčů — je tedy rychlejší a efektivnější, zejména na mobilních zařízeních.

Proč je to důležité pro uživatele VPN

Pokaždé, když se připojíte k VPN, Diffie-Hellman (nebo jeho varianta s eliptickými křivkami) téměř jistě pracuje na pozadí. Během VPN handshaku se vaše zařízení a VPN server musí dohodnout na šifrovacím klíči pro ochranu vašeho sezení. DH to umožňuje, aniž by byl tento klíč kdykoli odeslán přes internet, kde by mohl být zachycen.

To úzce souvisí s kritickou bezpečnostní vlastností nazývanou Perfect Forward Secrecy (PFS). Když VPN používá ephemeral Diffie-Hellman (generující nový DH pár klíčů pro každé sezení), každé sezení získá jedinečný šifrovací klíč. I kdyby útočník o roky později nějak získal váš dlouhodobý soukromý klíč, stále by nemohl dešifrovat minulá sezení. Tato ochrana je základním kamenem moderní bezpečnosti VPN.

Protokoly jako OpenVPN, IKEv2 a WireGuard začleňují DH nebo ECDH jako součást svého handshaku. Pokud hodnotíte VPN a v jejích šifrovacích specifikacích narazíte na zmínky o DHE (Diffie-Hellman Ephemeral) nebo ECDHE, je to silný pozitivní signál.

Praktické příklady

  • Prohlížení přes HTTPS: Váš prohlížeč používá ECDHE během TLS handshaku k bezpečnému ustanovení klíče sezení s webovou stránkou.
  • VPN připojení: OpenVPN používá DH parametry při navazování připojení; silnější DH skupiny (2048 bitů nebo více) nabízejí lepší ochranu.
  • Aplikace pro bezpečné zasílání zpráv: Aplikace jako Signal používají variantu DH nazvanou Signal Protocol ke generování nových šifrovacích klíčů pro každou výměnu zpráv.

Poznámka ke kvantovým hrozbám

Tradiční Diffie-Hellman je považován za zranitelný vůči budoucím kvantovým počítačům, které by teoreticky mohly efektivně vyřešit problém diskrétního logaritmu. To pohání výzkum v oblasti postkvantové kryptografie, s novými algoritmy pro výměnu klíčů navrženými tak, aby odolávaly kvantovým útokům. Přechod již probíhá v některých pokročilých implementacích VPN.

Diffie-Hellman zůstává základním pilířem internetové bezpečnosti — jeho pochopení vám pomůže činit chytřejší rozhodnutí ohledně VPN a bezpečnostních nástrojů, kterým důvěřujete.