miniatura|Protocol de Diffie-Hellman de corba el·líptica animada El protocol Diffie-Hellman de corba el·líptica (ECDH) és un protocol d'acord de claus que permet a dues parts, cadascuna amb un parell de claus pública-privada de corba el·líptica, establir un secret compartit sobre un canal no segur. Aquest secret compartit es pot utilitzar directament com a clau o per derivar una altra clau. La clau, o la clau derivada, es pot utilitzar per xifrar comunicacions posteriors mitjançant un xifratge de clau simètrica. És una variant del protocol Diffie-Hellman que utilitza criptografia de corba el·líptica.
Protocol d'establiment clau L'exemple següent il·lustra com s'estableix una clau compartida. Suposem que l'Alícia vol establir una clau compartida amb en Bob, però l'únic canal disponible per a ells pot ser espiat per un tercer. Inicialment, els paràmetres de domini (és a dir, en el cas principal o en el cas binari) s'ha d'acordar. A més, cada part ha de tenir un parell de claus adequat per a la criptografia de corba el·líptica, que consisteix en una clau privada. (un nombre enter seleccionat aleatòriament a l'interval ) i una clau pública representada per un punt (on , és a dir, el resultat de sumar a si mateix vegades). Sigui el parell de claus d'Alícia i el parell de claus de Bob sigui . Cada part ha de conèixer la clau pública de l'altra part abans de l'execució del protocol.
L'Alícia calcula el punt . En Bob calcula el punt . El secret compartit és (la coordenada x del punt). La majoria de protocols estandarditzats basats en ECDH deriven una clau simètrica de utilitzant alguna funció de derivació de claus basada en hash.
El secret compartit calculat per ambdues parts és igual, perquè
L'única informació sobre la seva clau que l'Alícia exposa inicialment és la seva clau pública. Així doncs, cap part excepte l'Alícia pot determinar la clau privada de l'Alícia (l'Alícia, és clar, la coneix per haver-la seleccionat), tret que aquesta part pugui resoldre el problema del logaritme discret de la corba el·líptica. La clau privada d'en Bob és igualment segura. Cap altra part que no sigui l'Alice o en Bob pot calcular el secret compartit, tret que aquesta part pugui resoldre el problema de Diffie-Hellman de la corba el·líptica.
Les claus públiques són estàtiques (i de confiança, per exemple, mitjançant un certificat) o efímeres (també conegudes com a ECDHE, on la 'E' final significa "efímera"). Les claus efímeres són temporals i no necessàriament autenticades, per la qual cosa si es vol autenticació, cal obtenir garanties d'autenticitat per altres mitjans. L'autenticació és necessària per evitar atacs de tipus man-in-the-middle. Si una de les claus públiques d'Alícia o Bob és estàtica, els atacs de tipus man-in-the-middle es frustren. Les claus públiques estàtiques no proporcionen ni secret directe ni resiliència a la suplantació d'identitat per compromís de claus, entre altres propietats de seguretat avançades. Els titulars de claus privades estàtiques haurien de validar l'altra clau pública i haurien d'aplicar una funció de derivació de clau segura al secret compartit de Diffie-Hellman en brut per evitar la filtració d'informació sobre la clau privada estàtica. Per a esquemes amb altres propietats de seguretat, vegeu MQV.
Si l'Alícia tria maliciosament punts de corba no vàlids per a la seva clau i en Bob no valida que els punts de l'Alícia formin part del grup seleccionat, pot recopilar prou residus de la clau d'en Bob per derivar la seva clau privada. Es va descobrir que diverses biblioteques TLS eren vulnerables a aquest atac.
El secret compartit es distribueix uniformement en un subconjunt de de mida . Per aquest motiu, el secret no s'hauria d'utilitzar directament com a clau simètrica, però es pot utilitzar com a entropia per a una funció de derivació de clau.
Acord clau de Diffie-Hellman sobre les corbes de Montgomery L'exemple més famós de corba de Montgomery és la corba25519, introduïda per Bernstein. Per a la corba 25519, i . L'altra corba de Montgomery que forma part de TLS 1.3 és la corba448, introduïda per Hamburg. Per a la Curva448, i . S'han proposat un parell de corbes de Montgomery anomenades M i M competitives amb la corba25519 i la corba448. Per a M, i per a M, . A un nivell de seguretat de 256 bits, s'han proposat tres corbes de Montgomery anomenades M[996558], M[952902] i M[1504058]. Per a M[996558], , per a M[952902], i per a M[1504058], respectivament. A part d'aquestes dues, es poden trobar altres propostes de corbes de Montgomery a.
Referències
Categoria:Criptografia