Diffie-Hellman Key Exchange: Kako se dvije nepoznate osobe dogovore o tajni

Zamislite da vi i prijatelj želite dogovoriti tajnu lozinku, ali možete komunicirati jedino vikanjem kroz prepunu prostoriju u kojoj vas svi čuju. Diffie-Hellman Key Exchange (DH) rješava upravo taj problem — i jedna je od najelegantnijih ideja u povijesti kriptografije.

Što je to

Whitfield Diffie i Martin Hellman razvili su Diffie-Hellman Key Exchange 1976. godine. Riječ je o kriptografskom protokolu koji dvjema stranama omogućuje generiranje zajedničke tajne putem nesigurnog, javnog kanala. Ni jedna strana ne šalje stvarnu tajnu — svaka šalje djelomične informacije koje, kombinirane s vlastitim privatnim podacima, na oba kraja daju isti rezultat. Svi koji presretnu razmjenu vide samo djelomične vrijednosti, koje su matematički beskorisne bez nedostajućeg privatnog dijela.

Bila je to revolucionarna ideja. Prije DH-a, sigurna komunikacija zahtijevala je da obje strane već dijele tajni ključ, što je podrazumijevalo njegovu fizičku razmjenu unaprijed. Diffie-Hellman u potpunosti je ukinuo tu ovisnost.

Kako funkcionira

Matematika koja stoji iza Diffie-Hellmana temelji se na načelu zvanom problem diskretnog logaritma — lako je izračunati u jednom smjeru, ali iznimno teško obrnuti. Evo pojednostavljenog prikaza:

  1. Dogovor o javnim parametrima: Obje strane javno se dogovore o dva broja — velikom prostom broju (p) i osnovnom broju (g). Ovi brojevi nisu tajni.
  2. Svaka strana odabire privatnu vrijednost: Alice odabire tajni broj (a), Bob odabire tajni broj (b). Ni jedna strana ne dijeli te brojeve.
  3. Svaka strana izračunava javnu vrijednost: Alice izračunava `g^a mod p` i šalje to Bobu. Bob izračunava `g^b mod p` i šalje to Alice.
  4. Svaka strana izračunava zajedničku tajnu: Alice uzima Bobovu javnu vrijednost i izračunava `(g^b mod p)^a`. Bob uzima Aliceinu javnu vrijednost i izračunava `(g^a mod p)^b`. Oba izračuna daju isti rezultat — zajedničku tajnu.

Napadač koji promatra razmjenu vidi `g`, `p` i obje javne vrijednosti, ali ne može lako otkriti privatne vrijednosti ni rekonstruirati zajedničku tajnu. To je srž onoga što DH čini sigurnim.

Moderne implementacije koriste znatno veće brojeve i sofisticiranije varijante poput Elliptic Curve Diffie-Hellman (ECDH), koji postiže jednaku razinu sigurnosti s manjim veličinama ključeva — što ga čini bržim i učinkovitijim, posebno na mobilnim uređajima.

Zašto je to važno za korisnike VPN-a

Svaki put kada se povežete na VPN, Diffie-Hellman (ili njegova varijanta s eliptičnim krivuljama) gotovo sigurno radi u pozadini. Tijekom VPN rukovanja (handshakea), vaš uređaj i VPN poslužitelj moraju se dogovoriti o ključu za šifriranje kako bi zaštitili vašu sesiju. DH to omogućuje bez ikakva slanja tog ključa putem interneta gdje bi mogao biti presretnut.

To je usko povezano s kritičnim sigurnosnim svojstvom zvanim Perfect Forward Secrecy (PFS). Kada VPN koristi efemerni Diffie-Hellman (generiranjem svježeg DH para ključeva za svaku sesiju), svaka sesija dobiva jedinstveni ključ za šifriranje. Čak i kad bi napadač nekako dobio vaš dugoročni privatni ključ godinama kasnije, ni tada ne bi mogao dešifrirati prošle sesije. Ta zaštita temelj je sigurnosti modernih VPN-ova.

Protokoli poput OpenVPN-a, IKEv2-a i WireGuard-a ugrađuju DH ili ECDH kao dio svog procesa rukovanja. Ako procjenjujete VPN i naiđete na reference na DHE (Diffie-Hellman Ephemeral) ili ECDHE u specifikacijama šifriranja, to je snažan pozitivan signal.

Praktični primjeri

  • Pregledavanje putem HTTPS-a: Vaš preglednik koristi ECDHE tijekom TLS rukovanja kako bi sigurno uspostavio ključ sesije s web-stranicom.
  • VPN veze: OpenVPN koristi DH parametre tijekom postavljanja veze; jače DH grupe (2048-bitne ili više) nude bolju zaštitu.
  • Aplikacije za sigurno dopisivanje: Aplikacije poput Signala koriste varijantu DH-a zvanu Signal Protocol za generiranje svježih ključeva za šifriranje pri svakoj razmjeni poruka.

Napomena o kvantnim prijetnjama

Tradicionalni Diffie-Hellman smatra se ranjivim na buduća kvantna računala, koja bi teoretski mogla učinkovito riješiti problem diskretnog logaritma. To potiče istraživanja u području post-kvantne kriptografije, s novim algoritmima za razmjenu ključeva osmišljenima da odole kvantnim napadima. Taj je prijelaz već u tijeku u nekim naprednim VPN implementacijama.

Diffie-Hellman ostaje temeljni stup internetske sigurnosti — razumijevanje ovog protokola pomaže vam donositi pametnije odluke o VPN-ovima i sigurnosnim alatima kojima vjerujete.