Acuerdo de claves
Un protocolo en el que dos partes derivan juntas un secreto compartido sin enviarlo nunca por el canal.
En un acuerdo de claves, cada parte aporta un valor que la otra combina con su propio secreto para llegar al mismo resultado. Diffie-Hellman, publicado en 1976, fue el primer ejemplo público, y el principio se mantiene en las variantes actuales sobre curvas elípticas. Lo que viaja por la red son valores públicos, y el secreto compartido permanece invisible para quien escucha.
El acuerdo de claves se diferencia del transporte de claves, en el que una parte elige la clave y la envía. El acuerdo protege frente a un espía pasivo, pero no frente a un intermediario activo que pueda negociar por separado con cada lado. Por eso protocolos como TLS firman o certifican los valores públicos y los vinculan a una identidad.
El secreto compartido rara vez es la clave final. Normalmente se introduce en una función de derivación de claves como HKDF para obtener varias claves con distintos propósitos, de modo que una clave filtrada no exponga toda la cadena. Es un detalle pequeño que a menudo se omite.