Diffie–Hellman: hogyan lesz közös titok nyilvános hálózaton?
A Diffie–Hellman kulcsegyeztetés lehetővé teszi, hogy két fél közös titkot hozzon létre úgy, hogy azt soha nem küldi át közvetlenül a hálózaton.
Röviden
A Diffie–Hellman kulcsegyeztetés során két fél nyilvánosan cserél számított értékeket, majd saját privát értékével ugyanahhoz a közös titokhoz jut. A közös titkot nem küldik át közvetlenül a hálózaton.
A festékkeveréses analógia – és a határai
Oktatási analógiában mindkét fél választ egy titkos színt, egy közös nyilvános színnel összekeveri, majd elküldi a keveréket. A másik fél keverékéhez hozzáadva a saját titkos színt mindketten azonos végső színhez jutnak. A valós protokoll természetesen moduláris aritmetikát vagy elliptikus görbéket használ, nem festéket.
Nyilvános csere → ugyanaz a közös titok
01
Alice
privát A
02
Nyilvános csere
A·G / B·G
03
Bob
privát B
Miért kell hitelesítés is?
A puszta Diffie–Hellman nem mondja meg, kivel egyeztetsz kulcsot. Egy aktív támadó két külön kulcscserét indíthat, és középre állhat. Ezért a valódi protokollok a kulcsegyeztetést hitelesítéssel kapcsolják össze, például tanúsítványhoz kötött digitális aláírással.
Mi az a forward secrecy?
Ephemeral Diffie–Hellman esetén minden kapcsolat friss, ideiglenes kulcsanyagot használhat. Ha később egy hosszú távú privát kulcs kiszivárog, a korábban rögzített munkamenetek kulcsai nem feltétlenül rekonstruálhatók. Ezt forward secrecynek nevezzük, és fontos tulajdonsága a modern TLS-konfigurációknak.
Hol jelenik meg TLS-ben?
A modern TLS 1.3 kulcsegyeztetése tipikusan (EC)DHE jellegű mechanizmusra támaszkodik, majd az abból származtatott munkamenetkulcsokkal szimmetrikusan védi az alkalmazási adatokat. Így az aszimmetrikus és szimmetrikus kriptográfia ugyanabban a protokollban kap külön szerepet.
Gyakori kérdések
A Diffie–Hellman titkosítás?
Elsősorban kulcsegyeztetési mechanizmus: közös titok kialakítására szolgál. A tényleges adatot általában ebből származtatott szimmetrikus kulccsal titkosítják.
Források és szabványok
Biztonsági témánál az elsődleges szabvány és a karbantartott szakmai útmutató fontosabb, mint egy véletlen implementációs példa. Az alábbi forrásokból érdemes továbbmenni.
Kapcsolódó ByBence