Diffie-Hellman gako-trukea (sarritan DH gisa laburtua) bi alderdik kanal ez-seguru baten bidez (adibidez, Internet) gako sekretu komun bat adosteko aukera ematen duen kriptografia-protokolo bat da. Gako hori geroago zifratu simetriko bidezko komunikazioak enkriptatzeko erabiltzen da.

1976an Whitfield Diffie eta Martin Hellman zientzialariek argitaratua, kriptografia modernoaren zutabe nagusietako bat da eta segurtasun informatikoa irauli zuen. Lan honengatik, sortzaileek Turing saria jaso zuten 2015ean. Protokoloaren meritua da gakoa bera saretik inoiz transmititu gabe bi ordenagailuek sekretu bera kalkulatzea lortzen dutela; horri esker, hirugarren batek (erasotzaile batek) mezu guztiak atzeman arren, ezin du gakoa aurkitu.

Testuinguru Historikoa

aldatu

1970eko hamarkada baino lehen, kriptografia gako simetrikoetan oinarritzen zen erabat. Horrek esan nahi zuen igorleak eta hartzaileak gako bera izan behar zutela mezua zifratzeko eta deszifratzeko, eta gako hori aldez aurretik bide fisiko seguru baten bidez (adibidez, eskuz esku edo posta seguruz) partekatu behar zutela. Horrek ezinezko egiten zuen eskala handiko sare banatuetan konfiantzarik gabeko bi kideren arteko bat-bateko komunikazio segurua.

Diffie-Hellman protokoloak bide hori hautsi zuen, gako publikoko kriptografiaren oinarriak ezarriz. Urte batzuk geroago jakin zen James Ellis, Clifford Cocks eta Malcolm Williamson ikertzaile britainiarrek (GCHQ inteligentzia zerbitzuarentzat lanean) antzeko sistema bat garatu zutela ezkutuan urte batzuk lehenago, baina gobernuaren sekretupean geratu zela.

Funtzionamendua

aldatu

Koloreen analogia

aldatu

Protokoloaren funtsa ulertzeko, koloreen bidezko analogia erabili ohi da:

  1. Ane eta Beñatek kolore komun bat adosten dute jendaurrean (adibidez, horia).
  2. Gero, bakoitzak kolore sekretu bat aukeratzen du (Anek gorria eta Beñatek urdina).
  3. Bakoitzak bere kolore sekretua jendaurreko kolore komunarekin nahasten du, eta emaitza elkarri bidaltzen diote saretik (Anek laranja bidaltzen du eta Beñatek berdea). Hirugarren batek nahasketa hauek ikusi arren, oso zaila da jatorrizko kolore sekretuak bereiztea.
  4. Azkenik, bakoitzak jaso duen nahasketari bere kolore sekretua gehitzen dio. Mirari matematiko baten bidez, biek kolore berbera lortuko dute amaieran (marroi ilun bat, adibidez). Kolore marroi hori izango da euren gako sekretua.

Oinarri matematikoa

aldatu

Diffie-Hellman protokoloa **eremu finituen gaineko logaritmo diskretuaren arazoaren** konplexutasun matematikoan oinarritzen da. Norbide bakarreko funtzioa da: erraza da berreketa baten modulu baten emaitza kalkulatzea, baina ia ezinezkoa alderantzizko bidea egitea (logaritmoa kalkulatzea) zenbakiak oso handiak direnean.

Prozesu matematikoa honako hau da:

  1. Alderdiak bi zenbaki publiko adosten dituzte: $p$ (zenbaki lehen handi bat) eta $g$ (oinarria edo sortzailea, $g < p$ izanik).
  2. Anek zenbaki sekretu bat aukeratzen du ($a$) eta bere gako publikoa kalkulatzen du:
$A = g^a \pmod p$
  1. Beñatek beste zenbaki sekretu bat aukeratzen du ($b$) eta bere gako publikoa kalkulatzen du:
$B = g^b \pmod p$
  1. Gako publikoak ($A$ eta $B$) saretik elkarri bidaltzen dizkiote.
  2. Anek gako sekretu komuna ($K$) kalkulatzen du Beñaten gako publikoa eta bere gako pribatua erabiliz:
$K = B^a \pmod p$
  1. Beñatek gauza bera egiten du Aneren gako publikoarekin:
$K = A^b \pmod p$

Biek zenbaki bera lortzen dute, jabetza honi esker: $$K = (g^b)^a \pmod p = (g^a)^b \pmod p = g^{ab} \pmod p$$

Eredu errealetan zenbaki berekiek 300 digitutik gora izaten dituzte, eta horrek ezinezko egiten du ordenagailu bidez $a$ edo $b$ aurkitzea indar gordinaren bidez.

Diffie-Hellman Taldeak (DH Groups)

aldatu

Gako-trukearen segurtasuna erabilitako bit kopuruaren (gakoaren luzeraren) araberakoa da. Luzera horiek finkatzeko **Diffie-Hellman Taldeak** definitzen dira. Taldearen zenbakia zenbat eta altuagoa izan, orduan eta seguruagoa da gakoa, baina ordenagailuek denbora gehiago behar dute kalkuluak prozesatzeko:

  • DH 1 taldea: 768 bit (zaharkitua eta ez-segurua).
  • DH 2 talgea: 1024 bit (zaharkitua, gaur egun ez da gomendatzen).
  • DH 5 taldea: 1536 bit.
  • DH 14 taldea: 2048 bit (gaur egungo estandar minimoa).
  • DH 15 taldea: 3072 bit (segurtasun altua).
  • DH 19 eta 20 taldeak: 256 eta 384 biteko **kurba eliptikoak** (ECDH), askoz azkarragoak eta eraginkorragoak segurtasun maila berbererako.

Erabilera Errealak

aldatu

DH algoritmoa gaur egungo Interneteko segurtasun protokolo nagusien bihotzean dago:

  • TLS/SSL: Webgune seguruetan (`https://`) gakoak adosteko suite kriptografikoetan erabiltzen da (DHE eta ECDHE bertsio efizienteetan).
  • SSH: Bezeroaren eta zerbitzariaren arteko saio seguruak irekitzeko.
  • VPN: Sare pribatu birtualen IPsec protokoloetan (IKE bidez) gakoak trukatzeko.
  • Berehalako mezularitza: Signal edo WhatsApp bezalako aplikazioek kurba eliptikoen bidezko DH aldaerak erabiltzen dituzte mezu bakoitzeko gako ezberdinak sortzeko (forward secrecy edo biharamuneko isilpekotasuna bermatzeko).

Ahultasunak eta Mugak

aldatu

Diffie-Hellman protokoloak konfidentzialtasun bikaina eskaintzen du, baina **ez du alderdien identifikazio edo autentifikaziorik ziurtatzen**. Bere ahultasun nagusia **Man-in-the-middle erasoa** (tarteko gizonaren erasoa) da.

Igorlearen eta hartzailearen artean hirugarren bat (erasotzaile bat) jartzen bada, erasotzaileak Anerekin gako bat adostu dezake eta Beñatekin beste gako bat, bien identitatea ordezkatuz. Anek eta Beñatek euren arteko konexio segurua dutela uste duten bitartean, erasotzaileak mezu guztiak deszifratu, irakurri, berriro zifratu eta bidali ditzake biek ezer nabaritu gabe. Hori ekiditeko, DH beti konbinatu behar da ziurtagiri digitalekin edo sinadura digitalekin, alderdiak nor diren ziurtatzeko.

Etorkizunari begira, konputazio kuantikoaren garapenak logaritmo diskretuaren arazoa erraz konpondu dezakeela aurreikusten da, eta horrek Diffie-Hellman zaharkituta utziko luke. Horregatik, gaur egun kriptografia post-kuantikoko gako-truke alternatiboak ikertzen ari dira.

Ikus, gainera

aldatu

Kanpo estekak

aldatu