TPM ( English Trusted Platform Module ) es una especificación que describe un criptoprocesador que almacena claves criptográficas para proteger información, así como un nombre genérico para implementaciones de esta especificación, por ejemplo, en forma de “chip TPM” o “seguridad TPM”. dispositivo” (Dell). Desarrollado por la organización sin fines de lucro Trusted Computing Group ; la versión actual es 2.0 revisión 1.59 lanzada en noviembre de 2019 [TCG 1] .
En enero de 1999, se creó un grupo de trabajo de empresas manufactureras llamado Trusted Computing Platform Alliance (TCPA ) para desarrollar mecanismos de seguridad y confianza en plataformas informáticas. Inicialmente, TCPA incluía a los principales desarrolladores de hardware y software: HP , Compaq (más tarde, HP y HPE ), IBM , Intel , Microsoft [1] .
En octubre de 1999, se anunciaron las especificaciones de diseño y se abrió la oportunidad para que otras empresas se unieran a la alianza. En agosto de 2000, se publicó para discusión una versión pública preliminar de la especificación. La especificación TCPA versión 1.0 se publicó en febrero de 2001 y definía los requisitos básicos para TPM desde el punto de vista de un fabricante de dispositivos electrónicos [2] .
Luego se formó un grupo de trabajo de TPM, que revisó la especificación general desde el punto de vista práctico de un módulo confiable (TPM). En agosto de 2001, se lanzó la especificación de la versión 1.1 y se creó un grupo de trabajo para diseñar la plataforma de computadora personal en la que se instala el módulo de confianza [2] .
En abril de 2003, se organizó la organización sin fines de lucro "Trusted Computer Group" (TCG), que se convirtió en sucesora de TCPA y continuó trabajando en el desarrollo de especificaciones ya publicadas. Además de los grupos de trabajo de diseño de plataformas TPM y PC ya establecidos, se crearon grupos para desarrollar especificaciones para dispositivos móviles, clientes PC, servidores, dispositivos de almacenamiento, infraestructura informática confiable, software (Eng. Trusted Software Stack, TSS) y conexión de red confiable . En noviembre de 2003, se publicó la especificación TPM versión 1.2, la última versión con cambios significativos, que describe esencialmente la funcionalidad del TPM [2] .
El TPM, que contiene un criptoprocesador , proporciona los medios para generar de forma segura claves de cifrado capaces de restringir el uso de claves (tanto para firmar como para cifrar y descifrar) con el mismo grado de no repetibilidad que un generador de números aleatorios . Además, este módulo tiene las siguientes características: certificación remota, enlace y almacenamiento seguro seguro. La atestación remota crea un vínculo entre el hardware, el arranque del sistema y la configuración del host ( sistema operativo de la computadora ), lo que permite que un tercero (como una tienda de música digital) verifique que el software o la música descargados de la tienda no hayan sido modificados o copiados por el usuario. (ver GRD ). El criptoprocesador encripta los datos de tal manera que solo pueden desencriptarse en la computadora donde fueron encriptados, ejecutando el mismo software. El enlace cifra los datos utilizando la clave de confirmación de TPM, una clave RSA única escrita en el chip durante el proceso de fabricación u otra clave confiable [3] .
El módulo TPM se puede utilizar para autenticar el hardware. Dado que cada chip TPM es único para un dispositivo en particular, esto hace posible autenticar la plataforma de manera única. Por ejemplo, para comprobar que el sistema al que se accede es el sistema esperado.
La especificación TCG describe el conjunto mínimo de algoritmos y protocolos que debe satisfacer un chip TPM. Además, el fabricante puede implementar algoritmos y protocolos adicionales (lo cual, por supuesto, debe ser descrito por el fabricante en la documentación pertinente) [TCG 2] .
Los siguientes mecanismos de protección están implementados en la arquitectura del chip:
El chip implementa algoritmos criptográficos asimétricos que brindan un alto nivel de seguridad. Algunos elementos del diseño lógico del chip no son estándar en términos de los métodos típicos de diseño de circuitos integrados (IC) . También se utilizan técnicas especiales de diseño de circuitos integrados: "enredar" la topología de las capas de circuitos integrados, lo que complica el análisis de las funciones de los elementos del microcircuito. Las empresas de fabricación no revelan específicamente una serie de características tecnológicas de los chips de seguridad para reducir la probabilidad de piratería, incluso cuando se utilizan métodos modernos para analizar el funcionamiento de los chips y equipos costosos [4] .
El componente de entrada/salida (E/S) gestiona el flujo de información en el bus y gestiona los mensajes entre los respectivos componentes TPM. El componente aplica la política de acceso asociada con las funciones de TPM. Las reglas de acceso se definen mediante indicadores de acceso almacenados en el bloque Opt-In de la memoria no volátil [5] .
El criptoprocesador realiza operaciones criptográficas dentro del TPM:
El TPM utiliza estas capacidades para generar secuencias aleatorias, generar claves asimétricas, firmar digitalmente y mantener la confidencialidad de los datos almacenados. El TPM también admite el cifrado simétrico internamente. Todas las claves almacenadas deben ser tan fuertes como una clave RSA de 2048 bits [5] .
La memoria no volátil se utiliza para almacenar la clave de confirmación, la clave raíz de almacenamiento ( SRK ), los datos de autorización, varios indicadores de acceso y el bloque Opt-In. La cantidad de este tipo de memoria es limitada (1280 bytes) [6] .
La clave de respaldo (EK ) es una clave RSA de 2048 bits que identifica el chip, así como todo el dispositivo, un componente fundamental de TPM. La parte abierta se llama PUBEK, la parte cerrada se llama PRIVEK. De acuerdo con la política de seguridad, PRIVEK no debe estar disponible fuera del chip, nunca se utiliza para generar firmas . El PUBEK se almacena en el certificado y solo se utiliza para establecer el propietario del TPM y durante el proceso de generación de AIK. EK se genera antes de que el usuario final obtenga la plataforma. El estándar permite cambiar esta clave, lo que puede limitar el uso del TPM [5] .
Las claves de identidad de atestación (AIK ) son una clave RSA de 2048 bits que se usa solo para firmas, no para encriptación. El TPM puede generar una cantidad ilimitada de AIK, estas claves deben ser persistentes, pero se recomienda almacenar los AIK como blobs en la memoria externa persistente, no dentro de la memoria no volátil del TPM. La especificación asume que los fabricantes proporcionan suficiente espacio para que muchos blobs AIK se carguen simultáneamente en la memoria volátil del TPM. La transición AIK de un TPM a otro está prohibida [6] .
Los registros de configuración de plataforma (PCR ) son características únicas de TPM que contienen en forma cifrada toda la información sobre la integridad de las métricas del sistema , desde el inicio del BIOS hasta el apagado del sistema . La información contenida en el PCR forma la Raíz de Confianza para las Mediciones (RTM). Se pueden almacenar tanto en la memoria no volátil como en la volátil. Estos registros se restablecen al inicio y cuando se reinicia el sistema. La especificación prescribe un número mínimo de registros (16), cada registro contiene 160 bits de información. Los registros 0-7 están reservados para las necesidades de TPM. Los registros 8-15 están disponibles para que los utilicen el sistema operativo y las aplicaciones [5] . Los cambios en los valores de PCR son irreversibles y sus valores no se pueden escribir directamente, solo se pueden ampliar con nuevos valores que dependen de los anteriores. Todos los cambios en los valores de PCR se registran en un registro de cambios , que se almacena en la memoria volátil [6] .
Generador de números aleatorios generador de números aleatorios, RNG se utiliza para generar claves y aleatoriedad en las firmas [6] . El TPM debe poder proporcionar 32 bits aleatorios por llamada. El generador de números aleatorios del chip consta de los siguientes componentes:
Fuente de entropía: procesos que proporcionan entropía ( ruido , contador de ciclos del procesador y otros eventos). El colector de entropía es un proceso que recopila entropía, elimina el sesgo y aplana la salida. La entropía solo debe pasarse al registro estatal.
La implementación del registro de estado puede utilizar 2 registros: volátil e independiente. Al inicio, el TPM carga el registro volátil desde el no volátil. Cualquier cambio posterior al registro de estado desde la fuente de entropía o desde la función de mezcla afecta el registro volátil. Al apagarse, el TPM escribe el valor actual del registro de estado en un registro no volátil (esta actualización puede ocurrir en cualquier otro momento). El motivo de esta implementación es el deseo de implementar un registro no volátil en la memoria flash , cuyo número de escrituras está limitado. El TPM debe asegurarse de que el registro de estado no se exporte.
La función de mezcla toma el valor del registro de estado y produce la salida RNG. Cada uso de la función de mezcla debe cambiar el registro de estado.
Cuando se pierde la energía, el RNG se reinicia. Cualquier salida RNG al TPM debe estar protegida.
El bloque SHA-1 se utiliza para computar firmas (firmas), generar bloques de claves y otros fines generales. Las interfaces hash están disponibles fuera del TPM. Esto permite que el entorno tenga acceso a la función hash .
El generador de claves RSA genera pares de claves RSA. TCG no define requisitos para el tiempo de generación de claves [6] .
El dispositivo RSA se utiliza para firmas digitales y cifrado. No hay restricciones en la implementación del algoritmo RSA. La longitud de clave mínima recomendada es de 2048 bits [5] . Los fabricantes pueden usar el teorema chino del resto o cualquier otro método. El valor del exponente abierto debe ser .
Este componente es responsable del estado del TPM y del estado de propiedad del usuario del TPM. Tres grupos de variables son responsables de esto: TPM habilitado/deshabilitado (en el estado deshabilitado, todas las operaciones están bloqueadas), TPM habilitado/deshabilitado (en el estado deshabilitado, es posible realizar operaciones, por ejemplo, cambiar el propietario), el usuario ha pasado/no ha pasado la autenticación como propietario del módulo. Esta información se almacena en forma de banderas [5] .
La idea de una plataforma confiable ( ing. The Trusted Platform ) o una plataforma en la que se puede confiar (su comportamiento esperado siempre coincide con el real) se basa en el concepto de "raíz de confianza" ( ing. Root of Trust ) - un conjunto de componentes en los que se debe confiar. El conjunto completo de raíces de confianza tiene la funcionalidad mínima requerida para describir una plataforma, lo que afecta la confianza en esa plataforma. Hay tres raíces de confianza: una raíz de confianza de medición (RTM), una raíz de confianza de almacenamiento (RTS) y una raíz de confianza de mensaje (RTR) [3] . RTM es un motor computacional que realiza mediciones confiables de la integridad de la plataforma. RTS es un motor computacional capaz de almacenar hashes de valores de integridad. RTR es un mecanismo que informa de manera confiable la información almacenada en RTS. Los datos de medición describen las propiedades y características de los componentes medidos. Los valores hash de estas medidas son una "instantánea" del estado de la computadora. Su almacenamiento es manejado por la funcionalidad RTS y RTR. Al comparar el hash de los valores medidos con el hash del estado de confianza de la plataforma, se puede juzgar la integridad del sistema [7] .
TPM es un token de autenticación de próxima generación . El criptoprocesador admite la autenticación de usuarios y computadoras, lo que garantiza que solo los usuarios y las computadoras autorizados puedan acceder a la red [TCG 3] . Esto se puede usar, por ejemplo, para la seguridad del correo electrónico basada en el cifrado o para firmar certificados digitales asociados con el TPM. La eliminación de contraseñas y el uso de TPM permiten modelos de autenticación más sólidos para el acceso por cable, inalámbrico y VPN [8] .
Este es el objetivo principal de un "contenedor seguro". Los dispositivos de autocifrado implementados según las especificaciones de Trusted Computing Group permiten el cifrado integrado y el control de acceso a los datos. Estos dispositivos proporcionan cifrado de disco completo, protegiendo los datos en caso de pérdida o robo de su computadora [TCG 4] .
ventajas:
El paquete TPM + Bitlocker tiene grandes perspectivas . Esta solución le permite cifrar de forma transparente todo el disco desde el software [7] .
TPM puede autenticar una computadora e incluso su funcionalidad incluso antes de obtener acceso a la red y, si es necesario, poner la computadora en cuarentena [9] .
La certificación del código del programa protegerá los juegos de las trampas y los programas que requieren un cuidado especial, como los clientes bancarios y de correo, de la modificación intencional [8] . La adición de un " caballo de Troya " en la aplicación instalada se detendrá inmediatamente .
La protección anticopia se basa en la siguiente cadena: el programa tiene un certificado que le proporciona (y solo a él) acceso a la clave de descifrado (que también se almacena en el TPM). Esto proporciona una protección contra copias que no puede ser eludida por el software [8] .
TPM 1.2 se usa para almacenar datos de extensiones de modo más seguro [10] .
Aunque la especificación asume implementaciones de hardware y software del sistema TPM, actualmente solo es posible garantizar el nivel adecuado de seguridad establecido en la especificación general con la implementación de hardware [2] . Una implementación de hardware en forma de chip TPM se lanzó por primera vez en 2005 [11] . Hasta la fecha, más de 500 000 000 de computadoras [TCG 5] están equipadas con el chip TPM . En el futuro, TPM puede instalarse en dispositivos como teléfonos móviles, dispositivos de entrada y almacenamiento. Actualmente, muchas empresas fabrican y utilizan microcontroladores TPM [TCG 6] .
El módulo de plataforma segura es criticado por algunos [12] profesionales de TI por su nombre. La confianza ( en inglés trust ) siempre debe ser mutua, mientras que los desarrolladores de TPM no confían en el usuario, lo que conduce a la vulneración de la libertad. Según algunos especialistas en TI [8] [13] , el nombre "informática traicionera" es más apropiado para la informática confiable , ya que la presencia del módulo garantiza lo contrario: la liberación sistemática de la computadora de la subordinación. De hecho, la computadora deja de funcionar como una computadora de propósito general, ya que cualquier operación puede requerir el permiso explícito del propietario de la computadora [13] .
El propietario de la computadora ya no puede hacer lo que quiera con ella, ya que transfiere algunos de sus derechos a los fabricantes de software. En particular, TPM puede interferir (debido a errores en el software o decisión intencional de los desarrolladores):
Una computadora equipada con un TPM tiene un identificador único incrustado en un chip. El identificador es conocido por el fabricante del software y no se puede cambiar. Esto compromete una de las ventajas naturales de Internet : el anonimato [8] . Por el momento, si no hay troyanos en la computadora, no hay errores obvios en el software , y las cookies se eliminan, la dirección IP y los encabezados HTTP siguen siendo el único identificador de usuario . Junto con una mayor seguridad, la presencia de un módulo TPM puede tener un efecto negativo en la libertad de expresión, lo cual es especialmente cierto para los países en desarrollo. Para comprender a qué puede conducir un identificador de computadora inmutable y legible de forma remota, basta recordar un problema similar con el número de identificación del procesador Pentium III .
Un programa líder en la industria (como AutoCAD , Microsoft Word o Adobe Photoshop ) puede cifrar sus archivos, haciendo imposible el acceso a estos archivos a través de programas de otros fabricantes , creando así una amenaza potencial para la libre competencia en el mercado de software de aplicación [8 ] .
En caso de falla de un módulo, los contenedores TPM protegidos por él se vuelven inaccesibles y los datos en ellos se vuelven irrecuperables. Para garantizar completamente la recuperación de datos en caso de corrupción de TPM, se debe realizar un procedimiento de copia de seguridad complejo . Para garantizar la privacidad, el sistema de respaldo también debe tener sus propios módulos TPM.
En la conferencia de seguridad informática Black Hat 2010 , se anunció un ataque al chip Infineon SLE66 CL PE, fabricado de acuerdo con la especificación TPM [14] . Este chip se usa en computadoras, equipos de comunicación satelital y consolas de juegos. El truco usó un microscopio electrónico (con un valor aproximado de $ 70,000). El caparazón del chip se disolvió con ácido, se usaron pequeñas agujas para interceptar comandos. Infineon afirma que conocían la posibilidad de piratear físicamente el chip. Jörg Borchert, vicepresidente de la empresa, aseguró que el equipo costoso y la complejidad técnica del hackeo no representan un peligro para la gran mayoría de los usuarios de chips.
El 24 de junio de 2021, durante la presentación oficial del próximo sistema operativo Windows 11, se anunció que una computadora que lo ejecuta requiere un chip TPM en el sistema. En la mayoría de las plataformas de PC modernas no hay chip físico, pero hay una implementación de software del módulo TPM (fTPM), en aquellas donde no lo hay, es posible conectar un módulo de hardware (es decir, hay un conector en el placa base para su conexión). A los pocos días de la presentación, los precios de los módulos aumentaron 5 veces (de $20 a $100). Shen Ye, uno de los líderes de HTC Vive, dijo que los especuladores esperan que pronto muchos usuarios, sin saber cómo habilitar fTPM, se apresuren a comprar módulos, y que sea posible sacar provecho de esto; por ello, los especuladores comenzaron a comprar módulos masivamente y provocaron así un aumento de los precios [15] .
Software gratuito y de código abierto | |
---|---|
Lo principal |
|
Comunidad |
|
Organizaciones |
|
Licencias | |
Problemas | |
Otro |
|
|