La cleptografía es el estudio del robo de información de forma segura y subliminal. El término fue introducido por Adam Young y Moti Yung en las Actas de Avances en Criptología – Crypto '96. [1] La cleptografía es un subcampo de la criptovirología y es una extensión natural de la teoría de los canales subliminales que fue iniciada por Gus Simmons mientras estaba en el Laboratorio Nacional Sandia . [2] [3] [4] Una puerta trasera cleptográfica se conoce como una puerta trasera asimétrica. La cleptografía abarca las comunicaciones seguras y encubiertas a través de criptosistemas y protocolos criptográficos. Esto recuerda, pero no es lo mismo que la esteganografía que estudia las comunicaciones encubiertas a través de gráficos, video, datos de audio digital, etc.
Un ataque cleptográfico es un ataque que utiliza criptografía asimétrica para implementar una puerta trasera criptográfica . [5] Por ejemplo, uno de estos ataques podría ser modificar sutilmente cómo se generan los pares de claves pública y privada por el criptosistema para que la clave privada pueda derivarse de la clave pública utilizando la clave privada del atacante. En un ataque bien diseñado, las salidas del criptosistema infectado serían computacionalmente indistinguibles de las salidas del criptosistema no infectado correspondiente. [6] [7] Si el criptosistema infectado es una implementación de caja negra como un módulo de seguridad de hardware , una tarjeta inteligente o un módulo de plataforma confiable , un ataque exitoso podría pasar completamente desapercibido.
Un ingeniero inverso podría descubrir una puerta trasera insertada por un atacante y, cuando se trata de una puerta trasera simétrica, incluso utilizarla él mismo. [5] Sin embargo, por definición, una puerta trasera cleptográfica es asimétrica y el ingeniero inverso no puede utilizarla. Un ataque cleptográfico (puerta trasera asimétrica) requiere una clave privada que solo conoce el atacante para poder utilizar la puerta trasera. En este caso, incluso si el ingeniero inverso estuviera bien financiado y obtuviera conocimiento completo de la puerta trasera, sería inútil que extrajera el texto sin formato sin la clave privada del atacante. [5]
Los ataques cleptográficos pueden construirse como un criptotroyano que infecta un criptosistema y abre una puerta trasera para el atacante, [ cita requerida ] o pueden ser implementados por el fabricante de un criptosistema. El ataque no necesariamente tiene que revelar la totalidad de la salida del criptosistema; una técnica de ataque más complicada puede alternar entre producir una salida no infectada y datos inseguros con la puerta trasera presente. [8]
Los ataques cleptográficos han sido diseñados para la generación de claves RSA , el intercambio de claves Diffie-Hellman , el algoritmo de firma digital y otros algoritmos y protocolos criptográficos. [8] Los protocolos SSL , SSH e IPsec son vulnerables a los ataques cleptográficos . [9] En cada caso, el atacante puede comprometer el algoritmo o protocolo criptográfico particular inspeccionando la información en la que está codificada la información de la puerta trasera (por ejemplo, la clave pública, la firma digital, los mensajes de intercambio de claves, etc.) y luego explotando la lógica de la puerta trasera asimétrica utilizando su clave secreta (generalmente una clave privada).
A. Juels y J. Guajardo [10] propusieron un método (KEGVER) a través del cual un tercero puede verificar la generación de claves RSA. Esto se concibe como una forma de generación de claves distribuida en la que la clave secreta sólo la conoce la propia caja negra . Esto asegura que el proceso de generación de claves no se haya modificado y que la clave privada no pueda reproducirse mediante un ataque cleptográfico. [10]
Se pueden encontrar cuatro ejemplos prácticos de ataques cleptográficos (incluido un ataque SETUP simplificado contra RSA) en JCrypTool 1.0, [11] la versión independiente de la plataforma del proyecto de código abierto CrypTool . [12] En JCrypTool también se implementa una demostración de la prevención de ataques cleptográficos por medio del método KEGVER.
Se cree que el generador de números pseudoaleatorios criptográficos Dual_EC_DRBG del NIST SP 800-90A contiene una puerta trasera cleptográfica. Dual_EC_DRBG utiliza criptografía de curva elíptica , y se cree que la NSA tiene una clave privada que, junto con fallas de sesgo en Dual_EC_DRBG, le permite a la NSA descifrar el tráfico SSL entre computadoras que usan Dual_EC_DRBG , por ejemplo. [13] La naturaleza algebraica del ataque sigue la estructura del cleptograma Dlog repetido en el trabajo de Young y Yung .