Intel Trusted Execution Technology ( Intel TXT , anteriormente conocida como LaGrande Technology ) es una tecnología de hardware informático cuyos objetivos principales son:
Intel TXT utiliza un módulo de plataforma segura (TPM) y técnicas criptográficas para proporcionar mediciones de software y componentes de la plataforma, de modo que el software del sistema, así como las aplicaciones de administración local y remota, puedan utilizar esas mediciones para tomar decisiones de confianza. Complementa a Intel Management Engine . Esta tecnología se basa en una iniciativa de la industria del Trusted Computing Group (TCG) para promover una informática más segura. Protege contra ataques basados en software destinados a robar información confidencial corrompiendo el código del sistema o del BIOS , o modificando la configuración de la plataforma.
El módulo de plataforma segura (TPM), tal como lo especifica el TCG, proporciona muchas funciones de seguridad, incluidos registros especiales (llamados registros de configuración de plataforma, PCR) que almacenan varias mediciones en una ubicación protegida de manera que se evite la suplantación de identidad. Las mediciones consisten en un hash criptográfico que utiliza un algoritmo de hash seguro (SHA); la especificación TPM v1.0 utiliza el algoritmo de hash SHA-1 . Las versiones más recientes de TPM (v2.0+) requieren SHA-2 . [1] [2]
Una característica deseada de un algoritmo hash criptográfico es que (para todos los efectos prácticos) el resultado hash (denominado resumen hash o hash) de dos módulos cualesquiera producirá el mismo valor hash solo si los módulos son idénticos.
Las mediciones pueden ser de código, estructuras de datos, configuración, información o cualquier cosa que pueda cargarse en la memoria. TCG requiere que el código no se ejecute hasta que se haya medido. Para garantizar una secuencia particular de mediciones, las mediciones de hash en una secuencia no se escriben en diferentes PCR, sino que se "extiende" un PCR con una medición. Esto significa que el TPM toma el valor actual del PCR y la medición que se va a extender, los combina y reemplaza el contenido del PCR con ese resultado de hash. El efecto es que la única forma de llegar a una medición particular en un PCR es extender exactamente las mismas mediciones exactamente en el mismo orden. Por lo tanto, si se ha modificado algún módulo que se esté midiendo, la medición PCR resultante será diferente y, por lo tanto, es fácil detectar si se ha alterado o dañado algún código, configuración, datos, etc. que se haya medido. El mecanismo de extensión de PCR es crucial para establecer una cadena de confianza en capas de software (ver a continuación).
La tecnología admite tanto una cadena de confianza estática como una cadena de confianza dinámica. La cadena de confianza estática comienza cuando se enciende la plataforma (o se reinicia), lo que restablece todos los PCR a su valor predeterminado. En el caso de las plataformas de servidor, la primera medición la realiza el hardware (es decir, el procesador) para medir un módulo firmado digitalmente (llamado módulo de código autenticado o ACM) proporcionado por el fabricante del chipset . El procesador valida la firma y la integridad del módulo firmado antes de ejecutarlo. A continuación, el ACM mide el primer módulo de código del BIOS, que puede realizar mediciones adicionales.
Las mediciones de los módulos de código ACM y BIOS se extienden a PCR0, que se dice que contiene la medición de la raíz de confianza del núcleo estático (CRTM) así como la medición de la base de computación confiable (TCB) de BIOS. El BIOS mide componentes adicionales en PCR de la siguiente manera:
La cadena dinámica de confianza comienza cuando el sistema operativo invoca una instrucción de seguridad especial, que restablece los PCR dinámicos (PCR17–22) a su valor predeterminado e inicia el lanzamiento medido. La primera medición dinámica la realiza el hardware (es decir, el procesador) para medir otro módulo firmado digitalmente (denominado SINIT ACM) que también proporciona el fabricante del chipset y cuya firma e integridad son verificadas por el procesador. Esto se conoce como Medición de raíz de confianza dinámica (DRTM).
Luego, el ACM de SINIT mide el primer módulo de código del sistema operativo (denominado entorno de lanzamiento medido, MLE). Antes de permitir que se ejecute el MLE, el ACM de SINIT verifica que la plataforma cumpla con los requisitos de la Política de control de lanzamiento (LCP) establecida por el propietario de la plataforma. La LCP consta de tres partes:
La integridad del LCP y sus listas de medidas conocidas como buenas están protegidas mediante el almacenamiento de una medida hash de la política en el TPM en una ubicación protegida y no volátil que solo puede ser modificada por el propietario de la plataforma.
Una vez que se satisface el LCP, el ACM SINIT permite que el MLE se ejecute como un sistema operativo confiable al habilitar el acceso a registros de seguridad especiales y habilitar el acceso de nivel de localidad 2 de TPM. El MLE ahora puede realizar mediciones adicionales a los PCR dinámicos. Los PCR dinámicos contienen mediciones de:
La tecnología también proporciona una forma más segura para que el sistema operativo inicialice la plataforma. A diferencia de la inicialización normal del procesador [que implicaba que el procesador de arranque (BSP) enviara una interrupción de inicio entre procesadores (SIPI) a cada procesador de aplicación, iniciando así cada procesador en "modo real" y luego pasando al "modo virtual" y finalmente al "modo protegido"], el sistema operativo evita esa vulnerabilidad realizando un lanzamiento seguro (también conocido como lanzamiento medido) que pone a los procesadores de aplicación en un estado de suspensión especial desde el que se inician directamente en modo protegido con la paginación activada, y no se les permite salir de este estado. [3]
Los valores PCR están disponibles tanto de forma local como remota. Además, el TPM tiene la capacidad de firmar digitalmente los valores PCR (es decir, una cotización PCR) para que cualquier entidad pueda verificar que las mediciones provienen de un TPM y están protegidas por él, lo que permite que la certificación remota detecte alteraciones, corrupción y software malicioso. Además, esos valores se pueden utilizar para identificar el entorno de ejecución (la versión particular del BIOS, el nivel del sistema operativo, la configuración, etc.) y compararlos con sus propias listas de valores conocidos como buenos para categorizar aún más la plataforma. Esta capacidad de evaluar y asignar niveles de confianza a las plataformas se conoce como Trusted Compute Pools.
Algunos ejemplos de cómo se utilizan los grupos de computación confiables:
Numerosas plataformas de servidores incluyen Intel TXT, y la funcionalidad TXT es aprovechada por proveedores de software como HyTrust , PrivateCore , Citrix y VMware . Los proyectos de código abierto también utilizan la funcionalidad TXT; por ejemplo, tboot proporciona un sistema de integridad basado en TXT para el núcleo Linux y el hipervisor Xen . [4] [5]
Las PC con Windows 10 con enlace PCR7 tienen la capacidad de habilitar o deshabilitar el cifrado completo del dispositivo . [6]