Krypteret nøgleudveksling

Encrypted Key Exchange ( EKE ) er en  protokol udviklet af Steve Bellovin og Michael Merritt [1] . EKE fungerer på den betingelse, at brugerne har en fælles hemmelighed, før protokollen starter. Protokollen giver dig mulighed for at generere en sessionsnøgle for at etablere en sikker forbindelse. En ny sessionsnøgle genereres for hver session.

Forord

Denne protokol bruger symmetrisk og asymmetrisk kryptering. I hver session af protokollen genereres en offentlig nøgle tilfældigt og krypteres ved hjælp af den hemmelige nøgle, der er tilgængelig for parterne. Brugen af ​​to typer kryptering er hovedtræk ved denne protokol. En adgangskode kan fungere som en delt hemmelighed i skemaet, hvilket gør denne protokol praktisk til brug i systemer, hvor den delte hemmelighed er en adgangskode.

EKE-protokol

Alice og Bob deler en hemmelig P. Ved hjælp af EKE-protokollen har de mulighed for at generere en delt sessionsnøgle K.

  1. Alice genererer et tilfældigt offentlig-privat nøglepar, krypterer symmetrisk den offentlige nøgle K' ved at bruge den delte hemmelighed P som nøglen. Bob sender.
  2. Bob, der kender den delte hemmelighed, dekrypterer beskeden og modtager nøglen K'. Dernæst genererer den tilfældigt en sessionsnøgle k, krypterer den med den offentlige nøgle K' og den delte hemmelighed P. Send af Alice.
  3. Alice får den delte sessionsnøgle k ved at dekryptere beskeden. Genererer en tilfældig streng , krypterer den til k. Bob sender.
  4. Bob modtager Alices streng ved at dekryptere beskeden. Dernæst genererer den sin egen tilfældige streng . Krypterer begge strenge med den delte sessionsnøgle, sender de krypterede strenge til Alice.
  5. Alice modtager og dekrypterer beskeden. Værdien modtaget fra Bob sammenlignes med det, der blev valgt i trin (3). Hvis værdierne matcher, krypterer Alice med nøglen og sender den til Bob.
  6. Bob modtager ved at dekryptere beskeden. Værdien modtaget fra Alice sammenlignes med det, der blev valgt i punkt (4). Hvis værdierne stemmer overens, er protokollen afsluttet - deltagerne kan udveksle beskeder ved hjælp af nøglen k, når de er krypteret.

Modstand mod angreb

Som et resultat af driften af ​​protokollen kan den passive kryptoanalytiker Eve kun få adgang til og samt meddelelser krypteret med den delte sessionsnøgle k. Da algoritmen bruger et asymmetrisk krypteringsskema, og nøglerne K' og k er tilfældigt valgt, kan Eve ikke gætte P. Således kan den delte hemmelighed P være et simpelt kodeord, som en person kan huske.

Trin 3-6 giver bekræftelse. I trin 3-5 sørger Alice for, at Bob kender den delte sessionsnøgle. I trin 4-6 sørger Bob for, at Alice kender den delte sessionsnøgle. Den samme opgave løses i Kerberos-protokollen gennem udveksling af tidsstempler.

Implementeringer

Ved implementering af denne protokol er det muligt at bruge mange algoritmer med offentlige nøgler, men det skal også tages i betragtning, at begrænsningerne af krypteringsmetoder på nøgler kan give en angriber yderligere muligheder for angreb. Brugen af ​​tilfældige sekvenser i denne protokol vil umuliggøre et brute-force-angreb.

En implementering af EKE ved hjælp af ElGamal-systemet [1]

Fordele

Ved brug af ElGamal-skemaet [2] er det muligt at forenkle hovedprotokollen.

Initialisering

Værdierne g - det overordnede element i gruppen og p - det modul, som beregningerne foretages for, vælges for alle brugere af protokollen. Ifølge EKE-protokollen har brugere også en delt hemmelig r. Derefter den offentlige nøgle.

Driftsprotokol
  1. I denne algoritme behøver den offentlige nøgle ikke at være krypteret med den delte hemmelighed P. For det generelle tilfælde virker denne tilgang ikke. I det første trin af protokollen sender Alice til Bob:
  2. For ElGamal-algoritmen vælger Bob et tilfældigt tal R. Så på dette stadium sender Bob følgende besked:

Implementering af EKE ved hjælp af Diffie-Hellman-protokollen, DH-EKE [3]

Ved implementering af EKE ved hjælp af Diffie-Hellman-protokollen [4] genereres nøglen K automatisk af protokoldeltagerne under dens udførelse.

Fordele

Når du bruger DH-EKE-protokollen, er sårbarheden af ​​den underliggende Diffie-Hellman-protokol over for et man-in-the-middle-angreb (MITM) løst. Hvis kryptanalytikeren ikke kender brugernes fælles hemmelighed, vil han ikke være i stand til [3] at gætte nøglen, fordi tilfældige værdier er krypteret.

Initialisering

Værdierne g - det overordnede element i gruppen og n - det modul, som beregningerne foretages for, vælges for alle brugere af protokollen. Ifølge EKE-protokollen har brugerne en fælles hemmelighed P.

Driftsprotokol
  1. Alice vælger tilfældigt og sender det til Bob. Dette kræver ikke, at Alice krypterer den første besked med den delte hemmelighed P.
  2. Bob vælger tilfældigt , beregner K, genererer en tilfældig streng , krypterer den med nøglen K. Dernæst - beregner , krypterer den med den delte hemmelighed P. Sender den til Alice.
  3. Alice opnår ved at dekryptere den første del af beskeden ved hjælp af den delte hemmelighed P. Dernæst beregner hun K og dekrypterer den anden del af Bobs besked med den modtagne nøgle. Genererer en tilfældig streng , krypterer de modtagne strenge med nøglen K og sender den til Bob.
  4. Bob modtager og dekrypterer beskeden. Værdien modtaget fra Alice sammenlignes med det, der blev valgt i punkt (3). Hvis værdierne matcher, krypterer Bob med nøglen K og sender til Alice.
  5. Alice modtager ved at dekryptere beskeden. Værdien modtaget fra Bob sammenlignes med det, der blev valgt i trin (4). Hvis værdierne matcher, er protokollen komplet - deltagerne kan udveksle beskeder ved hjælp af nøglen K, når de er krypteret.

Forbedret EKE-protokol

Steve Bellovin og Michael Merritt [1] foreslog at styrke en del af anmodning-svar-protokollen. Denne styrkelse giver [3] mulighed for at undgå datakompromittering, forudsat at kryptoanalytikeren har værdien af ​​den tidligere fælles sessionsnøgle k.

  • I trin 3 genererer Alice et tilfældigt tal . Sender til Bob:
  • I trin 4 genererer Bob et tilfældigt tal og sender til Alice:

Med denne protokol kan Alice og Bob beregne en delt sessionsnøgle -- . Senere bruges denne nøgle til at etablere en sikker forbindelse, nøglen k bruges som en nøgleudvekslingsnøgle.

Antag, at Eve fik adgang til værdien S, men protokollens funktion er designet på en sådan måde, at den ikke giver Eve nogen information om den delte hemmelighed P. Derudover, da kun tilfældige data er krypteret på nøglen K, kryptografiske tilgange til dets gendannelse er ikke anvendelige.

Noter

  1. ↑ 1 2 3 S. M. Bellovin, M. Merritt. Krypteret nøgleudveksling: Password-Based Protocols Secure Against Dictionary Attacks  //  Proceedings of the IEEE Symposium on Research in Security and Privacy, Oakland. - 1992. - S. 72-84 .
  2. T. ElGamal. Et offentligt nøglekryptosystem og et signaturskema baseret på diskrete logaritmer  //  IEEE Transactions on Information Theory. - 1985. - Bd. IT-31 . — S. 469–472 .
  3. ↑ 1 2 3 Schneier B. Anvendt kryptografi. Protokoller, algoritmer, kildekode i C-sprog = Applied Cryptography. Protokoller, algoritmer og kildekode i C. - M . : Triumph, 2002. - S. 82. - 816 s. - 3000 eksemplarer. - ISBN 5-89392-055-4 .
  4. W. Diffie og M. E. Hellman. Nye retninger i kryptografi  (engelsk)  // IEEE Transactions on Information Theory. - 1976. - Bd. IT-11 . — S. 644–654 .