Spørsmål:
ECDH og fremad hemmelighold
cooky451
2013-03-26 20:15:15 UTC
view on stackexchange narkive permalink

Jeg har nettopp lest om ECDH, og mens jeg fikk en oversikt over prosessen, la jeg merke til at denne nøkkelutvekslingsmetoden verken gir noe hemmelighold, og heller ikke beskytter mot reprise-angrep, fordi den delte hemmeligheten vil være den samme for hver økt. Er det noen vanlige metoder som utvider ECDH for å støtte disse sikkerhetsfunksjonene? ​​

En svar:
Tom Leek
2013-03-26 21:47:33 UTC
view on stackexchange narkive permalink

For å få Perfect Forward Secrecy, må du bruke kortvarige nøkler .

Med statisk Diffie-Hellman (elliptisk kurve eller ikke, det er ikke problemet), Alice og Bob eier begge et DH-nøkkelpar: Alices private nøkkel er a , offentlig nøkkel er aG (elliptisk kurvnotasjon, G er det konvensjonelle "basispunktet" for kurven); Bobs private nøkkel er b , offentlig nøkkel er bG . Når Alice og Bob vil snakke med hverandre, gjør de DH-tingen, noe som betyr at de ender opp med den delte hemmelige verdien abG . De har alltid akkurat denne delte hemmeligheten. Hvis en angriper klarer å stjele Alice's private nøkkel ( a ), kan han beregne den delte hemmeligheten på nytt, og dermed dekryptere alle tidligere og fremtidige samtaler mellom Alice og Bob.

Ephemeral Diffie-Hellman handler om å generere DH-nøkkelpar "on the fly" og ikke registrere private nøkler hvor som helst (de private nøklene oppbevares bare i RAM, og bare i samtalen). Å aldri bli registrert burde gjøre disse private nøklene immun mot skjult tyveri; det er der PFS kommer fra. Dette brukes i SSL / TLS med "DHE" (og "ECDHE") krypteringsserier: serveren eier et privat / offentlig nøkkelpar, med den offentlige nøkkelen i et sertifikat og passer til signaturer (f.eks. at nøkkelparet er av typen RSA eller DSA). Når en klient kobler til, genererer både klient og server nye DH-nøkkelpar; serveren signerer sin nylig genererte DH-offentlige nøkkel med signaturnøkkelen (klienten bekrefter den signaturen og validerer serversertifikatet). Nøkkelen som faktisk brukes til å kryptere dataene er den som er hentet fra Diffie-Hellman-algoritmen.

Hvis serverens private nøkkel blir stjålet med DHE-krypteringsserier, får tyven bare makten til å beregne falske signaturer. Tyven kan da utgi seg for serveren og true fremtidig kommunikasjon ved å kjøre et Man-in-the-Middle angrep, men tidligere forbindelser ble kryptert med med hensyn til DH-nøkler som lenge har gått tapt, og dermed ikke vil bli dekryptert av angriperen. Det er PFS.

* Dette brukes i SSL / TLS med "DHE" (og "ECDHE") krypteringsserier * - Betyr DHE / ECDHE-krypteringene "PFS, alltid", eller er de nødvendige, men ikke tilstrekkelige - dvs. PFS er et alternativ påtoppen av disse kodene?Jeg fortsetter å finne tekster som din som sier at PFS * krever * kortvarig nøkkelutveksling, og resten av teksten innebærer at kortvarig nøkkelutveksling * er * PFS ...
@TessellatingHeckler DHE og ECDHE er en form for nøkkelutveksling, slik at to enheter kan utveksle en hemmelig nøkkel over et offentlig nettverk der folk antas å være avlyttende.Når nøkkelen er utvekslet, kan begge parter lagre nøkkelen og bruke den i flere økter.Den kortvarige biten er at de to partiene ikke lagrer nøkkelen.I stedet for fremtidige tilkoblinger bruker de DHE og ECDHE for å sette opp en ny hemmelig nøkkel som skal brukes bare for den økten.Tidligere øktnøkler slettes, lagres ikke og brukes på nytt.


Denne spørsmålet ble automatisk oversatt fra engelsk.Det opprinnelige innholdet er tilgjengelig på stackexchange, som vi takker for cc by-sa 3.0-lisensen den distribueres under.
Loading...