¿Qué tan difícil sería codificar las claves criptográficas en la memoria en el comando?

0

Estoy buscando una manera de localizar un conjunto de claves en la memoria en el comando.

El caso de uso sería la prevención de ataques de arranque en frío: un desencadenante en el rack abierto, codifica las claves en la memoria y luego se apaga en el sistema de cifrado de disco completo. Supongamos que el apagado sucio (ya que perdimos las claves de cifrado) es preferible al acceso físico al hardware mientras las claves están en la memoria.

Aprecio que la amenaza es teórica, si es que incluso eso. Además, sé que TPM o el cifrado de memoria completo podrían ser mejores para mitigar esta amenaza.

Entonces, ¿es posible localizar dónde se cargan las claves?

EDIT para mayor claridad.

    
pregunta WhimsicalWombat 21.05.2015 - 14:20
fuente

2 respuestas

3

altamente depende del software que esté utilizando para administrar las claves. Por ejemplo, la biblioteca criptográfica patentada que usamos aquí divide la clave en varias ubicaciones de memoria, las invierte en big-endian / little-endian, etc. y solo las vuelve a ensamblar cuando son necesarias. Cualquier buena herramienta de administración de claves / criptografía tendrá su propia bolsa de trucos de ofuscación similares. Esto hará que sea difícil para usted localizar las claves en la memoria a menos que sepa cómo se las han ofuscado.

Como usted dice en su pregunta, el TPM o el cifrado de memoria completa son probablemente mejores usos de su tiempo. A menos que sepa exactamente qué bibliotecas criptográficas / herramientas de administración de claves se están ejecutando y está dispuesto a aplicar ingeniería inversa / agregar ganchos de destrucción de claves en su código fuente.

Actualización : como usted dice en los comentarios, la seguridad a través de la ofuscación es mal vista como la única fuente de seguridad (es decir, no lo protege de atacantes altamente motivados), pero aún tiene su usos.

Actualización # 2 : habiendo conversado con un colega sobre esto, parece que estás intentando convertir tu servidor en un HSM , son dispositivos de hardware diseñados específicamente para administrar claves privadas y para eliminarlas si se detecta algún tipo de manipulación. Si a su organización le preocupa que los atacantes tengan suficiente acceso físico para realizar un ataque de arranque en frío, entonces realmente debería usar HSM certificados comercialmente y no tener claves privadas en la memoria en absoluto.

    
respondido por el Mike Ounsworth 21.05.2015 - 15:10
fuente
2

Recomiendo leer el documento original sobre el ataque de Cold Boot. La sección 6 explica "Identificar claves en la memoria". Escribieron una aplicación llamada "keyfind" que podrías buscar.

    
respondido por el John Deters 21.05.2015 - 17:28
fuente

Lea otras preguntas en las etiquetas