No. No hay una buena manera de detectar puertas traseras en hardware criptográfico. Hay demasiadas formas de ocultar las puertas traseras para que no se detecten.
Las pruebas no son una forma efectiva de detectar puertas traseras introducidas deliberadamente. Un atacante puede organizar fácilmente que la puerta trasera se active solo para un texto en particular, o solo después de recibir un "golpe críptico" especial. Por ejemplo, el motor de hardware puede tener un valor secreto de 64 bits oculto en él. Inicialmente, la puerta trasera está deshabilitada. Sin embargo, si recibe un texto cifrado que comienza con el secreto de 64 bits, entonces ese es el "golpe críptico"; cuando se recibe el "golpe críptico", el motor de hardware puede encender la puerta trasera. Esto permite a un atacante habilitar la puerta trasera algún tiempo después de que el sistema entre en producción. También se podrían utilizar medios similares para permitir que un atacante apunte dinámicamente comunicaciones específicas o evade la detección.
Hay muchas maneras en que un motor de cifrado malintencionado puede subvertir su seguridad. Si lo usa para generar números aleatorios o claves criptográficas, podría "aumentar" la fuente de números aleatorios y generar claves que serán adivinables para el atacante. Si lo usa para verificar la integridad del mensaje firmado, podría aceptar falsamente ciertos mensajes maliciosos cuando el atacante le indique que lo haga. Si lo usa para cifrar datos confidenciales, podría potencialmente filtrar los datos confidenciales al resto del mundo de diferentes maneras. Si tiene acceso directo a la red, podría filtrar datos y claves confidenciales simplemente enviándolos a través de la red. Si no tiene acceso directo a la red, aún podría ocultar datos confidenciales o secretos criptográficos en los textos cifrados y filtrar esta información a través de un canal subliminal (por ejemplo, aprovechando el grado de libertad en la elección de un nonce, IV , u otro valor aleatorio para ocultar datos secretos en ellos).
E incluso si no puede hacer nada de eso, un motor de criptografía malintencionado todavía podría filtrar datos confidenciales o material de clave criptográfica utilizando un canal de sincronización. Consulte Jitterbug para ver un ejemplo de una pieza de hardware malicioso que filtra datos confidenciales ajustando el tiempo de paquetes de red. Un motor criptográfico malintencionado podría usar un mecanismo similar: por ejemplo, cuando se le pide que cifre algo, demora la respuesta a la solicitud hasta que el bit de orden inferior de la hora actual en milisegundos coincida con el bit que desea enviar. Por lo tanto, la hora a la que se envían los paquetes de texto cifrado a través de la red filtrará información sobre la hora a la que respondió el motor criptográfico, que a su vez oculta un mensaje subliminal que el motor criptográfico malintencionado deseaba filtrar.
Conclusión: si no confías en el hardware criptográfico, básicamente no hay forma de ganar. Por lo tanto, solo debe usar hardware de cifrado en el que confíe.