¿Qué tipos de claves criptográficas se pueden grabar en la memoria volátil?

1

Acabo de leer este artículo (el enlace va a la página del artículo de donde se cita) y tiene una pregunta sobre el párrafo "Tipps vom Geheimdienst" ("Consejos del Servicio Secreto"):

  

Aus den Unterlagen entnahmen die Experten auch zahlreiche sinnvolle   Hinweise, etwa dass auf flüchtigen Medien kryptographische Schlüssel   eingebrannt sein können, da sie meist an der gleichen Stelle   gespeichert werden. Selbst wenn ein solcher Speicher nicht mehr mit   Strom versorgt ist, könnten Abbilder des Schlüssels extrahiert werden.

Esta es mi traducción al inglés:

  

Los expertos tomaron numerosos consejos útiles de los documentos. por   Por ejemplo, las claves criptográficas se pueden grabar en un almacenamiento volátil.   Los medios de comunicación porque en su mayoría se guardan en el mismo lugar. Incluso si tal   El medio de almacenamiento ya no está conectado para alimentar, imágenes de la clave.   se puede extraer.

Los sistemas operativos utilizan la distribución aleatoria del espacio de direcciones, por lo que dudo de las claves criptográficas almacenadas en la RAM mientras el sistema operativo está completamente en ejecución (claves para el cifrado de la carpeta de inicio, claves PGP, claves de TrueCrypt (o sucesor de TrueCrypt), etc.). Esas claves deberían (afaik y, por favor, avísenme si me equivoco) solo residen en la memoria RAM, en la CPU y en el camino entre la RAM y la CPU. Si están escritos para intercambiar, eso es, por supuesto, muy malo, pero el intercambio es un almacenamiento permanente, no un almacenamiento volátil de lo que trata el artículo.

El único tipo de clave útil que puedo recordar es que el secreto puede estar en peligro por el hecho de que se queme en una memoria volátil. Las claves se utilizan para el cifrado total del disco en el que se ejecuta el sistema operativo, ya que en el punto en el que se descifra, el sistema operativo no se está ejecutando completamente, así que sospecho que ASLR tampoco podría.

¿El cifrado completo del disco en el que se ejecuta el sistema operativo es vulnerable a esto? ¿Hay algún otro tipo de claves que sean vulnerables a esto?

No considero que ninguna de las claves involucradas para evitar que el usuario inicie sistemas sin una firma válida o cualquier clave involucrada en UEFI es útil. Considero que tales restricciones son maliciosas.

    
pregunta UTF-8 10.10.2016 - 22:06
fuente

1 respuesta

1

Argumentaré que ninguna clave es segura contra un ataque de reinicio (o un ataque de arranque en frío) en el contexto que usted cita. Como se distingue entre memoria volátil y RAM (DRAM), primero debemos enumerar (en un nivel alto) los lugares que pueden tener cachés:

  • Los dispositivos de entrada tendrán algún tipo de caché (ratones y teclado definitivamente).
  • También lo harán los dispositivos de salida (por ejemplo, un búfer de tarjeta de video, demonios, esas cosas tienen su propia DRAM).
  • Los buses no tendrán un caché, pero hay un lugar donde los buses se dirigen directamente a un caché y en ningún otro lugar: los buses front-end y back-end se usan entre la propia CPU y el caché de la CPU. Sí, la CPU tiene un caché propio y usa SRAM.

Antes de adentrarnos en la CPU, veamos dos dispositivos que sí tienen una memoria caché: dado que el teclado (la mayoría de ellos hoy) tiene una memoria caché, la clave que escriba puede estar comprometida. Y como la pantalla se toma de un búfer en la tarjeta de video, cualquier clave que se muestre puede verse comprometida. Ya hay muchas claves, pero veamos la memoria caché de la CPU a continuación:

Dado que la CPU realiza el cifrado y el descifrado, es muy probable que la clave se guarde en el caché de la CPU. Esto se debe a que la CPU utiliza una política de acceso mínimo para la sobrescritura de caché (y se utilizará una clave a menudo si se produce el descifrado / cifrado). Y, a menos que esté utilizando algún tipo de HSM *, el cifrado / descifrado mediante cualquier clave pasará por la CPU. Por lo tanto, argumentaré que cualquier clave que se use realmente para realizar el cifrado / descifrado puede verse comprometida.

Nota de realidad

Aún así, la idea de un exitoso reinicio / ataque de arranque en frío en un chip tomado de una máquina aleatoria es casi en el ámbito de la ciencia ficción. Se han realizado prof. De concepto de ataques de arranque en frío, pero son costosos y de uso bastante limitado.

Por otra parte, es posible que nos estemos acercando a los ataques de arranque en frío a medida que los años avancen con mejores herramientas (físicas), pero aún no estamos allí. Por ejemplo, tengo serias dudas de que el mayor problema que resalté anteriormente, el caché de la CPU, es posible atacar. Sacar el chip SRAM de la CPU sin dañarlo parece una tarea desalentadora.

Algunas lecturas

* Si está utilizando un HSM externo, entonces la memoria caché de la tarjeta de red puede comprometer una clave. Es decir, a menos que la clave esté almacenada en el HSM. Pero esa es otra historia.

    
respondido por el grochmal 11.10.2016 - 19:37
fuente

Lea otras preguntas en las etiquetas