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, permitiendo el uso de un algoritmo criptográfico .
Si el remitente y el receptor desean intercambiar mensajes cifrados, cada uno debe estar equipado para cifrar los mensajes que se enviarán y descifrar los mensajes recibidos. La naturaleza del equipamiento que necesitan 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 de clave simétrica , ambos necesitarán una copia de la misma clave. Si se trata de 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 dentro o fuera de banda. [1]
El problema del intercambio de claves describe formas de intercambiar cualquier clave u otra información necesaria para establecer un canal de comunicación seguro para 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 única clave 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 recibidos. 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 confiables , valijas diplomáticas o cualquier otro canal de comunicación seguro . Si dos partes no pueden establecer un intercambio de claves inicial seguro, no podrán comunicarse de forma segura sin el riesgo de que los mensajes sean interceptados y descifrados por un tercero que adquirió la clave durante el intercambio de claves inicial.
La criptografía de clave pública utiliza un sistema de dos claves, que consta de una clave pública y una 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 mensajes y cuál para descifrarlos. Por ejemplo, en RSA , la clave privada se usa para descifrar mensajes, mientras que en el Algoritmo de firma digital (DSA), la clave privada se usa para autenticarlos. La clave pública puede enviarse a través de canales no seguros o compartirse públicamente; la clave privada sólo está disponible para su propietario.
Conocida como intercambio de claves Diffie-Hellman, la clave de cifrado 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, donde luego puede cifrar mensajes usando la clave y devolver el texto cifrado. Sólo la clave de descifrado (en este caso, es la clave privada) puede descifrar ese mensaje. En ningún momento durante el intercambio de claves Diffie-Hellman hay información confidencial en riesgo de verse comprometida, a diferencia del intercambio de claves simétrico.
En principio, el único problema que quedaba era estar seguro (o al menos confiado) de que una clave pública realmente pertenecía a su supuesto propietario. Debido a que es posible ' falsificar ' la identidad de otra persona de varias maneras, este no es un problema trivial o de fácil solución, particularmente cuando los dos usuarios involucrados 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í solo 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 mensajes dentro del canal de comunicación (también conocido como ataques man-in-the-middle o MITM) y se abordó en la cuarta sección del artículo. [2]
Se han propuesto infraestructuras de clave pública (PKI) como 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 no manipulable. La infraestructura es segura, a menos que la propia CA esté comprometida. Sin embargo, en caso de que así sea, muchas PKI proporcionan una forma de revocar certificados para que otros usuarios no confíen en ellos. Los certificados revocados generalmente se colocan 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 regulaciones que fomentan las PKI al otorgar (más o menos) efecto legal a estos certificados digitales (ver firma digital ). Muchas empresas comerciales, así como algunos departamentos gubernamentales, han establecido este tipo de autoridades certificadoras.
Sin embargo, esto no soluciona el problema, ya que la confiabilidad de la CA en sí aún no está garantizada para ningún individuo en particular. Es una forma de argumento basado en la falacia de la autoridad. Para una confiabilidad real, se requiere una verificación personal de que el certificado pertenece a la CA y el establecimiento de confianza en la CA. Generalmente esto no es posible.
Hay casos conocidos en los que gobiernos autoritarios propusieron establecer las llamadas “CA nacionales” cuyos certificados serían obligatorios para 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 cifrado. . [3] [4] [5]
Para aquellos nuevos en este tipo de cosas, es mejor considerar estos acuerdos como avales notariales electrónicos de que “esta clave pública pertenece a este usuario”. Al igual que con los avales notariales, puede haber errores o malentendidos en dichos avales. Además, es posible que no se pueda confiar en el propio notario. Ha habido varios fallos públicos de alto perfil por parte de diversas autoridades certificadoras. [6] [7]
En el otro extremo del rango conceptual está el sistema de red de confianza , que evita por completo las 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 este mecanismo de red de confianza.
Los algoritmos de acuerdo de claves autenticados por contraseña pueden realizar un intercambio de claves criptográficas utilizando el conocimiento de la contraseña de un usuario .
La distribución de claves cuánticas explota 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, el receptor detecta estas perturbaciones como ruido, lo que permite detectar ataques de intermediario . Además de la exactitud y la integridad de la mecánica cuántica, el protocolo supone la disponibilidad de un canal autenticado entre Alice y Bob.