Gestión y uso de claves TPM

Como se mencionó anteriormente, el contenido relacionado con certificados tiene muchas aplicaciones tanto en hardware como en software. Esta vez hablaré sobre contenido relacionado con TPM.

1. Introducción al TPM

1.1 Antecedentes

La arquitectura de seguridad basada en hardware de TCG se desarrolló en respuesta al creciente número de sofisticadas aplicaciones de ataque de malware a fines de la década de 1990. En ese momento, y ahora, la forma más popular de resistir los ataques de red en los clientes de PC es usar un software antivirus.

**La falla fundamental de una defensa de software pura es que el software no puede verificarse a sí mismo de manera efectiva. **Cuando el malware ha obtenido los mismos derechos de ejecución que el software antivirus en la PC, simplemente puede cerrar el programa para ocultar su presencia. El malware se vuelve más sofisticado al atacar el firmware y los cargadores de arranque de una manera que es difícil de detectar para el software antivirus.

Para poder verificar de forma segura las configuraciones del software, una plataforma informática confiable necesita una ubicación para registrar y verificar el estado del software fuera de la memoria del sistema. En el mundo de la seguridad informática, el concepto de monitoreo de seguridad de hardware para validar el software de la memoria principal existe desde hace décadas. Sin embargo, es importante que TCG haya diseñado un módulo de hardware que cueste menos de $1, lo que podría hacerlo ampliamente disponible. De esta manera, el TPM está diseñado como un chip pasivo que solo responde a los comandos emitidos por el software de la plataforma, lo que ayuda al software de la plataforma a autenticarse a sí mismo y al módulo de cifrado general.

20232614132645.png
1.2 Función

Las funciones principales proporcionadas por el TPM para las aplicaciones en la plataforma informática de confianza a través de TSS (el software de soporte del TPM en la plataforma informática de confianza, que proporciona principalmente una interfaz para que el sistema operativo y el software de aplicación usen el TPM) son: medición de integridad , almacenamiento e informes, atestación remota, protección de datos, gestión de claves.

  • En los sistemas tradicionales, la información de seguridad, como las claves y la información de autorización, solo se puede almacenar en discos, lo cual es muy inseguro. En un sistema con un chip de seguridad TPM, algunas claves clave se almacenan dentro del chip TPM. En este momento, un atacante solo puede penetrar la protección del sistema penetrando el TPM. Es mucho más costoso y difícil de penetrar. un chip que un disco duro. TPM se convierte en el nivel más bajo de credibilidad del sistema, lo que proporciona la base para que se confíe en todo el sistema.

  • El objetivo principal de TPM es cifrar y descifrar datos (sellar/dessellar). Estos datos cifrados con TPM solo pueden ser descifrados por este chip TPM, logrando así el propósito de vincular datos con este chip TPM para proteger los datos. Estos datos no se pueden descifrar sin el chip TPM cifrado.

1.3 Desarrollo

Trusted Computing Group (TCG) se estableció en marzo de 2003. TCG lanzó la versión 1.2 de la especificación TPM en 2003, y la revisión 1.07 de la versión 2.0 de la especificación TPM se lanzó en 2014. Está abierta a revisión pública y proporciona especificaciones de biblioteca actualizadas para las especificaciones TPM principales publicadas anteriormente, dando un salto en la historia de TPM . La revisión 1.38 de la especificación TPM pertenece a la versión TPM2.0 y se lanzó en septiembre de 2016.

Con el desarrollo de la computación confiable, los módulos de plataforma confiable no tienen necesariamente la forma de chips de hardware, especialmente en entornos móviles e integrados donde los recursos son relativamente limitados, la investigación sobre el entorno de ejecución confiable (TEE) es relativamente importante, como la basada en ARM TrustZone. , tarjetas inteligentes, etc. pueden realizar un entorno informático confiable. Otro punto de acceso es la función física no clonable (PUF), que puede proporcionar funciones de seguridad física para la informática confiable, realizar funciones como el almacenamiento de seguridad clave, la autenticación y la raíz de confianza, y corresponder a escenarios como Internet de las cosas, dispositivos portátiles, y BYOD tiene una buena ventaja.

2. Gestión de claves

2.1 Generación y uso de claves

generar

20230214-134036.png

  1. El generador de claves se utiliza para generar una clave (simétrica o asimétrica), y el número aleatorio generado por el generador de números aleatorios se utilizará como parámetro de entrada clave para que el generador de claves genere una clave.

  2. TPM2_Create y TPM2_CreatePrimary pueden crear todo tipo de claves a partir de plantillas.

Foto de WeChat_20230214142450.jpg

usar

captura de pantalla-2023-02-15-133126.png

2.2 Tipo de llave

Claves migrables: las claves generadas en un TPM se pueden transferir a otro TPM para su uso

Claves no migrables: las claves generadas en un TPM solo se pueden usar en ese TPM

Nombre clave efecto tipo Propiedades de migración Generar tiempo ilustrar
Clave de endoso (EK) 1. La identidad del TPM se utiliza generalmente junto con el certificado de aval 2. Generar la clave de certificación de identidad (AIK) 3. Descifrar los datos autorizados del propietario del TPM 4. No es necesario cifrar ni firmar los datos llave asimétrica clave no migrable Durante la producción de TPM solo
Clave de autenticación de identidad de plataforma (AIK) 1. Proporcione prueba de plataforma en lugar de EK 2. Se usa especialmente para firmar los datos (como el valor de PCR) generados por TPM. Todas las entidades firmadas por AIK indican que han sido procesadas por TPM 3. Existe un certificado AIK correspondiente llave asimétrica clave no migrable EK es generado por PCA (CA privada) Cada usuario puede tener múltiples AIK
Clave raíz de almacenamiento (SRK) Cifrar datos y otras claves llave asimétrica clave no migrable Generado al construir el propietario de tpm 1. Es una clave de almacenamiento especial 2. Administra todos los datos del usuario, también conocida como almacenamiento raíz de confianza (RTS) 3. Solo hay un TPM
clave de almacenamiento 1. Cifrar datos y otras claves 2. No se puede usar para firmar llave asimétrica clave no migrable, clave migrable clave para almacenar otras claves
clave de firma Firmar datos e información de la aplicación llave asimétrica clave no migrable, clave migrable 1. Las claves de firma migrables solo pueden firmar datos generados por no TPM 2. Las claves de firma no migrables pueden firmar datos generados dentro de TPM
clave de enlace Se utiliza para cifrar y proteger datos arbitrarios fuera del TPM, generalmente con una pequeña cantidad de datos cifrados (como una clave simétrica) llave asimétrica clave migrable Los datos cifrados con la clave pública del TPM solo se pueden descifrar mediante el TPM, es decir, la información está vinculada a un TPM específico
llave sellada Cuando se crea, el TPM registrará una instantánea de los valores de configuración y los valores hash del archivo. La clave sellada solo se puede abrir o liberar si el valor actual del sistema coincide con el valor de la instantánea llave asimétrica Solo devuelva el valor descifrado si coincide con el estado actual
clave derivada 1. Generado fuera de TPM 2. Usado para firma o encriptación 3. Cargado en TPM solo cuando se usa 4. Usado en ocasiones donde es necesario transferir datos entre plataformas llave asimétrica clave migrable
clave de autenticación Asegurar sesiones de transmisión que involucran TPM (como transmisiones de TPM a TPM o comunicación remota entre una PC normal y una plataforma confiable equipada con un TPM) Clave simétrica

2.3 Almacenamiento seguro

captura de pantalla-2023-02-15-133701.png

  1. Solo el EK y el SRK se almacenan permanentemente dentro del TPM

  2. El espacio TPM es limitado, algunas claves se almacenan externamente en forma cifrada

  3. Cuando se usa una clave externa, KCM (Key Cache Management Mechanism) carga la clave en el área protegida del TPM, que debe ser descifrada por la clave de la capa superior. Por lo tanto, la profundidad de la estructura del árbol no debe ser demasiado profunda.

  4. Hay una clave de almacenamiento en la estructura de clave de cadena, que está asociada con la contraseña del usuario. Después de que el usuario ingresa la contraseña, se puede cargar su clave de almacenamiento secundario, mientras que todas las demás claves del usuario son claves que no son de almacenamiento y se almacenan bajo la clave de almacenamiento secundario.

  5. Cuando el usuario arranca, la clave de subalmacenamiento se carga a través de la contraseña del usuario. Una vez que la clave de subalmacenamiento se carga en el chip, ya no se necesita la contraseña para cargar otras claves.

3. Aplicación

3.1 Sellado de datos

Sellado: Sea M un dato, K una clave simétrica y Vpcr un conjunto de valores PCR Gpcr para el TPM. Un par de claves públicas y privadas del TPM son Kpub y Kpri. La operación de sellado es

  • Cifre M con K para obtener K{M}

  • Cifre Vpcr y K con Kpub para obtener Kpub{Vpcr,K}

Si desea obtener M, primero debe obtener K y el TPM debe usar Kpri para descifrar Kpub{Vpcr,K}. En este punto, el TPM verifica si el valor de Gpcr es igual a Vpcr. Si es igual, TPM proporciona K; de lo contrario, no se proporciona K.

Por ejemplo, los usuarios mantienen sus propios registros en sus computadoras y no quieren que otros programas o computadoras puedan leerlos. Llevar a cabo la operación de sellado con la llave de sellado en este momento puede garantizar que el registro solo pueda ser abierto por el software de registro no modificado en la computadora.

Por lo tanto, ya sea que el registro se envíe a otra computadora o que el virus altere el software de registro del usuario, no se puede obtener la clave para descifrar el registro.

3.2 Proceso de descifrado de BitLocker

Este es el modo de operación transparente de BitLocker: este modo utiliza el hardware TPM para proporcionar una experiencia de usuario transparente. La llamada transparencia significa que el usuario puede usar la computadora normalmente sin ser consciente de ello, y puede iniciar sesión en Windows normalmente a través de la clave proporcionada por el hardware TPM cuando el disco del sistema está encriptado y no se detecta ninguna modificación del componente de inicio. .

Para mayor seguridad, se puede utilizar junto con el modo de autenticación de usuario.

Modo de autenticación de usuario: este modo requiere que el usuario proporcione un PIN de inicio o una contraseña para la autenticación en el entorno previo al inicio.

20232714132757.png

FVEK: Representa la clave del directorio encriptado, el cual es encriptado y almacenado en el disco por VMK

VMK: es la clave para cifrar FVEK, que SRK cifra y almacena en disco

La secuencia de inicio que se muestra en la figura se explica de la siguiente manera:

  1. El BIOS se inicia e inicializa el TPM. Y mida algún contenido confidencial del firmware, la partición de arranque y el cargador de arranque, y coloque los resultados en el grupo PCR.

  2. Si el valor de PCR coincide con el valor esperado, el TPM descifra la clave maestra de volumen (VMK) mediante la clave raíz de almacenamiento (SRK).

  3. Lea la FVEK cifrada del volumen y descifre con la VMK descifrada.

  4. Al acceder a los sectores del disco, FVEK se utiliza para el descifrado.

  5. Proporciona datos descifrados a aplicaciones y procesos.

Sin embargo, si el pirata informático cambia el entorno de inicio o coloca el disco duro en otra máquina, no se pueden obtener los datos.

material

  1. https://opensecuritytraining.info/IntroToTrustedComputing_files/Day2-2-data-storage.pdf

  2. GitHub - leeehui/a-practical-guide-to-tpm2-book-cn: notas de lectura de "una guía práctica para tpm2"

  3. tpm2-tools usando el blog-CSDN de tools_jianming21 blog_tpm2_rsadecrypt -c key.ctx -o msg.ptext msg.enc

  4. El uso y el principio del blog-CSDN blog_bitlocker de Bitlocker_LLLibra146

  5. El pasado y el presente del Módulo de plataforma segura (TPM)_U.2 SSD Blog-CSDN Blog

  6. Descripción general del blog de TPM_fgupupup-CSDN Blog_Cuál es la función de TPM

por fin

Si te gusta mi artículo, puedes seguir mi cuenta oficial (Programmer Malatang)

Mi blog personal es: https://shidawuhen.github.io/

Revisión de artículos anteriores:

  1. Patrones de diseño

  2. reclutamiento

  3. pensar

  4. almacenamiento

  5. Serie de algoritmos

  6. notas de lectura

  7. herramientas pequeñas

  8. arquitectura

  9. red

  10. Ir idioma

Supongo que te gusta

Origin blog.csdn.net/shida219/article/details/129130591
Recomendado
Clasificación