No. Non esiste un buon modo per rilevare backdoor nell'hardware crittografico. Ci sono troppi modi per nascondere le backdoor in modo che non vengano rilevate.
Il test non è un modo efficace per rilevare backdoor deliberatamente introdotti. Un attaccante può facilmente organizzare l'attivazione della backdoor solo per un particolare testo, o solo dopo aver ricevuto uno speciale "bussare criptico". Ad esempio, il motore hardware potrebbe contenere un valore segreto a 64 bit nascosto. Inizialmente, la backdoor è disabilitata. Tuttavia, se riceve un testo cifrato che inizia con il segreto a 64 bit, allora questo è il "criptico bussare"; quando viene ricevuto il "criptico bussare", il motore hardware può accendere la backdoor. Ciò consente a un utente malintenzionato di abilitare la backdoor qualche tempo dopo che il sistema è entrato in produzione. Un mezzo simile potrebbe anche essere utilizzato per consentire a un utente malintenzionato di indirizzare dinamicamente comunicazioni specifiche o di eludere in altro modo il rilevamento.
Ci sono molti modi in cui un motore di crittografia dannoso potrebbe sovvertire la tua sicurezza. Se lo si utilizza per generare numeri casuali o chiavi crittografiche, potrebbe "aumentare" l'origine del numero casuale e generare chiavi che saranno ritenute ipotetiche per l'autore dell'attacco. Se lo si utilizza per verificare l'integrità del messaggio firmato, potrebbe potenzialmente accettare in modo falso determinati messaggi dannosi segnalati dall'attaccante. Se lo si utilizza per crittografare i dati riservati, potrebbe potenzialmente divulgare i dati riservati al resto del mondo in diversi modi. Se ha accesso diretto alla rete, potrebbe perdere dati e chiavi riservati semplicemente inviandoli sulla rete. Se non ha accesso diretto alla rete, potrebbe comunque nascondere dati confidenziali o segreti crittografici nei testi cifrati e diffondere queste informazioni su un canale subliminale (ad esempio, sfruttando il grado di libertà nella scelta di un nonce, IV , o altri valori casuali per nascondere i dati segreti in essi contenuti.
E anche se non può fare nulla di tutto ciò, un motore criptato malevolo potrebbe ancora perdere dati riservati o materiale chiave crittografico utilizzando un canale temporale. Vedi Jitterbug per un esempio di un componente hardware dannoso che esalta i dati riservati regolando i tempi di pacchetti di rete. Un motore crittografico dannoso potrebbe utilizzare un meccanismo simile: ad esempio, quando viene richiesto di crittografare qualcosa, ritarda la risposta alla richiesta finché il bit di ordine inferiore del tempo corrente in millisecondi corrisponde al bit che desidera inviare. Pertanto, il momento in cui i pacchetti di testo cifrato vengono inviati sulla rete genererà informazioni sull'ora in cui il motore di crittografia ha risposto, il che a sua volta nasconde un messaggio subliminale che il motore di crittografia dannoso ha voluto estrarre.
In conclusione: se non ti fidi dell'hardware crittografico, non c'è praticamente alcun modo di vincere. Quindi dovresti utilizzare solo l'hardware crittografico di cui ti fidi.