# Cleptografia

Cleptografia è lo studio che si occupa del furto di informazioni eseguito in modo sicuro e subliminale. Il termine fu introdotto da Adam Young e Moti Yung in Proceedings of Advances in Cryptology—Crypto '96. La cleptografia è un sottocampo della crittovirologia ed è un'estensione naturale della teoria dei canali subliminali di cui fu pioniere Gus Simmons quando operava al Sandia National Laboratory. Una backdoor cleptografica è un termine considerato sinonimo di backdoor asimmetrica. La cleptografia comprende le comunicazioni sicure e occulte attraverso crittosistemi e protocolli crittografici. Questa descrizione può ricordare la steganografia, che tuttavia è cosa diversa, perché quest'ultima studia le comunicazioni occulte attraverso materiale grafico, video, dati audio digitali e così via.

## Attacco cleptografico
### Significato

Un attacco cleptografico è un attacco che usa la crittografia asimmetrica per realizzare una backdoor crittografica. Per esempio, un attacco di questo genere potrebbe consistere nel modificare sottilmente il modo in cui sono generate nel crittosistema le coppie di chiavi pubblica e privata in guisa che la chiave privata potesse essere derivata dalla chiava pubblica, utilizzando la chiave privata dell'attaccante. In un attacco ben concepito, gli output del crittosistema infetto sarebbero computazionalmente indistinguibili dagli output del corrispondente crittosistema non infetto.. Se il crittosistema infetto è un'implementazione black box come un modulo di sicurezza hardware, una smart card, o un Trusted Platform Module, un attacco riuscito potrebbe passare del tutto inosservato.
Un reverse engineer potrebbe riuscire a scoprire una backdoor inserita da un attaccante, e se fosse una backdoor simmetrica, anche usarla lui stesso. Però, per definizione una backdoor cleptografica è asimmetrica e il reverse-engineer non può servirsene. Un attacco cleptografico (backdoor asimmetrica) richiede una chiave privata nota solo all'attaccante per poter usare la backdoor. In questo caso, anche se il reverse engineer avesse grandi risorse economiche e riuscisse a conoscere completamente la backdoor, rimarrebbe inutile per lui estrarre il testo grezzo senza la chiave privata dell'attaccante.

### Costruzione

Un attacco cleptografico può essere costruito come un cryptotrojan che infetta un crittosistema e apre una backdoor per l'attaccante, o può essere inserito dal costruttore di un crittosistema. L'attacco non deve necessariamente rivelare l'interezza dell'output del crittosistema; una tecnica di attacco più complicata può alternare la produzione di output non infetto e dati non sicuri con la presenza della backdoor.

### Progetto

Gli attacchi cleptografici sono stati progettati per generazione di chiavi RSA, scambio di chiavi Diffie-Hellman, Digital Signature Algorithm, ed altri algoritmi e protocolli crittografici. I protocolli SSL, SSH, e IPsec sono vulnerabili agli attacchi cleptografici. In ciascun caso, l'attaccante riesce a compromettere il particolare algoritmo o protocollo crittografico analizzando le informazioni che sono codificate nelle informazioni della backdoor (ad esempio la chiave pubblica, la firma pubblica, i messaggi di scambio chiave, ecc.) e poi sfruttando la logica della backdoor asimmetrica usando la sua chiave segreta (di solito una chiave privata).
A. Juels and J. Guajardo hanno proposto un metodo (KEGVER) attraverso cui una terza parte può verificare la generazione di chiavi RSA. Questo è stato concepito come una forma di generazione distribuita di chiavi in cui la chiave segreta è conosciuta solo alla stessa scatola nera. Questo assicura che il processo di generazione di chiavi non sia stato modificato e che la chiave privata non possa essere riprodotta attraverso un attacco cleptografico.

### Esempi

Si possono trovare quattro esempi pratici di attacchi cleptografici (tra cui un attacco SETUP semplificato contro RSA) in JCrypTool 1.0, la versione indipendente dalla piattaforma del progetto open source CrypTool.
Si ritiene che il generatore di numeri pseudocasuali crittograficamente sicuro Dual_EC_DRBG del NIST SP 800-90A contenga una backdoor cleptografica. Dual_EC_DRBG utilizza crittografia ellittica, e si ritiene che la NSA detenga una chiave privata che, assieme a difetti nel Dual_EC_DRBG, consente alla NSA di decrittare il traffico SSL tra soggetti che usano Dual_EC_DRBG per esempio. La natura algebrica dell'attacco segue la struttura del Dlog Kleptogram ripetuto nel lavoro di Young and Yung.