Al tomar posesión de un TPM en Windows 7, ¿cómo se deriva el SRK de la contraseña?

7

Cuando tomas posesión de un TPM en Windows 7, te encuentras con una pantalla como esta:

Basado en este documento , tengo entendido que al completar este el cuadro de diálogo de alguna manera da como resultado la generación de la clave de la raíz de almacenamiento (SRK) basada en la contraseña:

  

Clave de la raíz de almacenamiento: la clave de la raíz de almacenamiento (SRK) se usa para envolver claves protegidas de TPM que se pueden almacenar fuera del TPM. Esto crea una jerarquía de claves representadas en la figura 4 en un dispositivo de almacenamiento externo como una unidad de disco duro. El SRK está integrado en el TPM y se genera durante el proceso de toma de posesión lógica de la plataforma. Se puede volver a generar creando un nuevo propietario de plataforma que destruye la jerarquía de claves anterior y todos los datos y claves que contiene.

Esto plantea las siguientes preguntas:

  1. ¿Cómo se deriva el SRK de la contraseña?
  2. ¿Cómo se almacena el SRK?
  3. Si el SRK está comprometido de alguna manera, ¿con qué facilidad se puede derivar la contraseña del SRK?
pregunta alx9r 17.03.2013 - 19:53
fuente

2 respuestas

6

Descargo de responsabilidad: no soy un experto en TPM: la mayor parte de esto proviene de una investigación de media hora. Me las arreglé para improvisar una comprensión razonable del proceso y los detalles de la especificación TCG TPM, la documentación de la API de TPM en MSDN y varios documentos sobre el tema.

El SRK es un par de claves RSA (de al menos 2048 bits de tamaño) que se usa como la raíz de una cadena de confianza dentro del TPM. Actúa como la máxima autoridad de la confianza. Si se carga una clave RSA secundaria en el TPM y se firma con el SRK, esa clave se clasifica como confiable y otros materiales firmados con esa clave se pueden cargar a través de esa cadena de confianza. El SRK no se deriva de una contraseña, es una clave RSA generada en hardware.

Cuando se toma posesión del TPM, el proceso implica dos cosas: una está generando el SRK, la otra está almacenando el secreto de autenticación del propietario . Una vez establecido, este secreto se utiliza para autenticar usuarios propietarios en sesiones futuras, generalmente a través de un intercambio basado en HMAC.

La especificación de Trusted Computing Group (TCG) para TPM no especifica cómo se creará este secreto, pero Windows usa un hash SHA1 de la contraseña codificada en UTF-16LE, con el terminador nulo de la cadena excluida ( source ). Si pudiera recuperar el secreto de autenticación del propietario del TPM, podría descifrarlo tan rápido como pudiera con cualquier otra contraseña hash SHA1, por ejemplo. a través de oclHashcat. La simple captura de un intercambio de autenticación (HMAC de un valor de desafío con el secreto como clave) no es suficiente para descifrar el secreto de autenticación, ya que el valor del desafío es generado por el TPM.

El SRK se almacena en el TPM en un formato cifrado, utilizando uno de los dos métodos de cifrado diferentes. Si se utiliza el Protocolo de inserción de datos de autorización (ADIP), el SRK se puede cifrar con AES-128-CTR o XOR simple. Si no se usa ADIP, XOR es el único método definido por la especificación. Por lo tanto, se espera que el sistema calcule su propia clave y almacene información secundaria como la IV dentro de las áreas no protegidas del TPM. La creación de la clave para el cifrado es, nuevamente, completamente dependiente del sistema operativo.

Es lógico que se puedan usar diferentes claves para la propiedad del cifrado interno y , es decir, una clave SRK y una clave de propietario. Sin embargo, parece que Windows simplifica la situación usando la misma clave para ambos.

    
respondido por el Polynomial 17.03.2013 - 20:44
fuente
2

Me doy cuenta de que este es un hilo viejo, pero aún así ...

  

Esto plantea las siguientes preguntas:

     
  1. ¿Cómo se deriva el SRK de la contraseña?
  2.   
  3. ¿Cómo se almacena el SRK?
  4.   
  5. Si el SRK está comprometido de alguna manera, ¿con qué facilidad se puede derivar la contraseña del SRK?
  6.   
  1. No lo es. El TPM genera el SRK utilizando un generador de números aleatorios incorporado. La contraseña se utiliza para autorizar acciones SRK.
  2. Tanto la contraseña como el SRK se almacenan en la NVRAM TPM. La mitad privada de SRK nunca abandona el TPM.
  3. Esto tiene dos medias respuestas, dependiendo de lo que quieras decir.
    1. La mitad privada de SRK es difícil para llegar a un acuerdo: a menos que la NSA sea tu adversario (e incluso entonces), básicamente puedes asumir que eso no va a suceder. Para hacerlo, se requeriría un microscopio electrónico o una ruptura de RSA.
    2. Si la contraseña está comprometida, permite a las partes remotas autorizar las operaciones SRK en este TPM . No obtienen el SRK en sí mismo, ya que el SRK no se deriva de él.

Nota: existe el rumor de que la NSA es capaz de romper claves privadas en poder de TPM a través de un ataque de poder. Tal ataque todavía requiere acceso físico a la máquina; no se puede montar de forma remota.

    
respondido por el Justin King-Lacroix 10.04.2015 - 18:42
fuente

Lea otras preguntas en las etiquetas