El intercambio de claves (también establecimiento de claves ) es un método en criptografía mediante el cual se intercambian claves criptográficas entre dos partes, lo que permite el uso de un algoritmo criptográfico .
Si el emisor y el receptor desean intercambiar mensajes cifrados, cada uno debe estar equipado para cifrar los mensajes que se van a enviar y descifrar los mensajes que se reciben. La naturaleza del equipamiento que requieren depende de la técnica de cifrado que puedan utilizar. Si utilizan un código , ambos necesitarán una copia del mismo libro de códigos . Si utilizan un cifrado , necesitarán las claves adecuadas. Si el cifrado es un cifrado de clave simétrica , ambos necesitarán una copia de la misma clave. Si es un cifrado de clave asimétrica con la propiedad de clave pública/privada, ambos necesitarán la clave pública del otro.
El intercambio de claves se realiza en banda o fuera de banda. [1]
El problema del intercambio de claves describe las formas de intercambiar las claves u otra información que se necesitan para establecer un canal de comunicación seguro, de modo que nadie más pueda obtener una copia. Históricamente, antes de la invención de la criptografía de clave pública (criptografía asimétrica), la criptografía de clave simétrica utilizaba una clave única para cifrar y descifrar mensajes. Para que dos partes se comuniquen de forma confidencial, primero deben intercambiar la clave secreta para que cada parte pueda cifrar los mensajes antes de enviarlos y descifrar los que recibe. Este proceso se conoce como intercambio de claves.
El problema general de la criptografía simétrica, o criptografía de clave única, es que requiere que se comunique una clave secreta a través de correos de confianza , valijas diplomáticas o cualquier otro canal de comunicación seguro . Si dos partes no pueden establecer un intercambio inicial seguro de claves, no podrán comunicarse de forma segura sin correr el riesgo de que los mensajes sean interceptados y descifrados por un tercero que haya adquirido la clave durante el intercambio inicial de claves.
La criptografía de clave pública utiliza un sistema de dos claves, que consiste en la clave pública y la clave privada, donde los mensajes se cifran con una clave y se descifran con otra. Depende del algoritmo criptográfico seleccionado qué clave (pública o privada) se utiliza para cifrar los mensajes y cuál para descifrarlos. Por ejemplo, en RSA , la clave privada se utiliza para descifrar los mensajes, mientras que en el algoritmo de firma digital (DSA), la clave privada se utiliza para autenticar los mensajes. La clave pública se puede enviar a través de canales no seguros o compartir en público; la clave privada solo está disponible para su propietario.
La clave de cifrado, conocida como intercambio de claves Diffie-Hellman, se puede comunicar abiertamente, ya que no supone ningún riesgo para la confidencialidad de los mensajes cifrados. Una parte intercambia las claves con otra parte, que puede cifrar los mensajes utilizando la clave y enviar de vuelta el texto cifrado. Solo la clave de descifrado (en este caso, la clave privada) puede descifrar ese mensaje. En ningún momento durante el intercambio de claves Diffie-Hellman corre el riesgo de que se vulnere la información confidencial, a diferencia del intercambio de claves simétrico.
En principio, el único problema pendiente era asegurarse (o al menos tener confianza) de que una clave pública pertenecía realmente a su supuesto propietario. Dado que es posible " falsificar " la identidad de otra persona de varias maneras, no se trata de un problema trivial ni de fácil solución, en particular cuando los dos usuarios implicados nunca se han conocido y no saben nada el uno del otro.
En 1976, Whitfield Diffie y Martin Hellman publicaron un protocolo criptográfico llamado intercambio de claves Diffie-Hellman (D-H) basado en conceptos desarrollados por el estudiante de doctorado de Hellman, Ralph Merkle . El protocolo permite a los usuarios intercambiar claves secretas de forma segura incluso si un oponente está monitoreando ese canal de comunicación. Sin embargo, el protocolo de intercambio de claves D-H no aborda por sí mismo la autenticación (es decir, el problema de estar seguro de la identidad real de la persona o "entidad" en el otro extremo del canal de comunicación). La autenticación es crucial cuando un oponente puede monitorear y alterar los mensajes dentro del canal de comunicación (también conocidos como ataques de intermediario o MITM) y se abordó en la cuarta sección del artículo. [2]
Las infraestructuras de clave pública (PKI) se han propuesto como una solución alternativa al problema de la autenticación de identidad. En su implementación más habitual, cada usuario solicita a una “ autoridad de certificación ” (CA), en la que confían todas las partes, un certificado digital que sirve para otros usuarios como una autenticación de identidad inalterable. La infraestructura es segura, a menos que la propia CA se vea comprometida. En caso de que así sea, sin embargo, muchas PKI ofrecen una forma de revocar certificados para que otros usuarios no confíen en ellos. Los certificados revocados suelen incluirse en listas de revocación de certificados con las que se puede comparar cualquier certificado.
Varios países y otras jurisdicciones han aprobado leyes o emitido reglamentos que fomentan las PKI al otorgarles (en mayor o menor medida) efecto legal a estos certificados digitales (véase firma digital ). Muchas empresas comerciales, así como algunos departamentos gubernamentales, han establecido dichas autoridades de certificación.
Sin embargo, esto no soluciona el problema, ya que la confiabilidad de la propia CA no está garantizada para ningún individuo en particular. Es una forma de falacia del argumento de autoridad . Para que haya confiabilidad real, se requiere la verificación personal de que el certificado pertenece a la CA y el establecimiento de confianza en la CA. Esto normalmente no es posible.
Se conocen casos en los que gobiernos autoritarios propusieron establecer las llamadas “CA nacionales” cuyos certificados serían obligatorios de instalar en los dispositivos de los ciudadanos y, una vez instalados y confiables, podrían usarse para monitorear, interceptar, modificar o bloquear el tráfico de Internet encriptado. [3] [4] [5]
Para quienes no conocen estas cuestiones, lo mejor es pensar en estos acuerdos como respaldos notariales electrónicos de que “esta clave pública pertenece a este usuario”. Al igual que con los respaldos notariales, puede haber errores o malentendidos en estas garantías. Además, el propio notario puede no ser de confianza. Ha habido varios fallos públicos de alto perfil por parte de diversas autoridades de certificación. [6] [7]
En el otro extremo del espectro conceptual se encuentra el sistema de red de confianza , que evita por completo la existencia de autoridades de certificación centrales. Cada usuario es responsable de obtener un certificado de otro usuario antes de utilizar ese certificado para comunicarse con el usuario. PGP y GPG (una implementación del estándar de Internet OpenPGP ) emplean precisamente ese mecanismo de red de confianza.
Los algoritmos de acuerdo de clave autenticados por contraseña pueden realizar un intercambio de clave criptográfica utilizando el conocimiento de la contraseña de un usuario .
La distribución de claves cuánticas aprovecha ciertas propiedades de la física cuántica para garantizar su seguridad. Se basa en el hecho de que las observaciones (o mediciones ) de un estado cuántico introducen perturbaciones en ese estado. En muchos sistemas, estas perturbaciones son detectables como ruido por el receptor, lo que permite detectar ataques de intermediarios . Además de la corrección y completitud de la mecánica cuántica, el protocolo supone la disponibilidad de un canal autenticado entre Alice y Bob.