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 Proceedings of Advances in Cryptology – 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 en la que Gus Simmons fue pionero mientras estaba en el Laboratorio Nacional Sandia . [2] [3] [4] Una puerta trasera cleptográfica también se conoce como puerta trasera asimétrica. La cleptografía abarca comunicaciones seguras y encubiertas a través de criptosistemas y protocolos criptográficos. Esto recuerda, pero no es lo mismo, a 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 esos ataques podría consistir en modificar sutilmente la forma en que el criptosistema genera los pares de claves públicas y privadas 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 correspondiente criptosistema no infectado. [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 segura , 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 conocida sólo por el atacante para poder utilizar la puerta trasera. En este caso, incluso si el ingeniero inverso estuviera bien financiado y obtuviera un conocimiento completo de la puerta trasera, sería inútil extraer 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 necesaria ] o pueden ser implementados por el fabricante de un criptosistema. El ataque no tiene por qué revelar necesariamente la totalidad de la producción del criptosistema; una técnica de ataque más complicada puede alternar entre producir resultados no infectados y datos inseguros con la puerta trasera presente. [8]
Los ataques cleptográficos se han diseñado 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 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 explota la lógica de la puerta trasera asimétrica utilizando su clave secreta (normalmente una clave privada).
A. Juels y J. Guajardo [10] propusieron un método (KEGVER) mediante el cual un tercero puede verificar la generación de claves RSA. Esto se concibe como una forma de generación de claves distribuidas 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 fue modificado y que la clave privada no puede 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] También se implementa en JCrypTool una demostración de la prevención de ataques cleptográficos mediante el 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 contiene una clave privada que, junto con fallas de sesgo en Dual_EC_DRBG, permite a la NSA descifrar el tráfico SSL entre computadoras usando Dual_EC_DRBG , por ejemplo. [13] La naturaleza algebraica del ataque sigue la estructura del repetido Dlog Kleptogram en el trabajo de Young y Yung .