TPM (Especificación)

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] .

Historia

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] .

Funciones

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.

Arquitectura

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] .

E/S

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] .

Procesador criptográfico

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] .

Memoria no volátil

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] .

Clave de confirmación

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] .

Claves de autenticación

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] .

Registros de configuración de la plataforma

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  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.

Bloque SHA-1

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 .

Generador de claves RSA

El generador de claves RSA genera pares de claves RSA. TCG no define requisitos para el tiempo de generación de claves [6] .

Dispositivo RSA

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 .

Componente de suscripción

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] .

Plataforma de confianza

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] .

Posibles aplicaciones

Autenticación

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] .

Protección de datos contra el robo

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 cifrado de hardware le permite operar con toda la gama de datos sin pérdida de rendimiento. El cifrado siempre está habilitado. Además, las claves se generan dentro del dispositivo y nunca salen de él. No se requieren modificaciones en el sistema operativo, aplicaciones, etc.. No se utilizan recursos de la CPU para el cifrado [8] .

El paquete TPM + Bitlocker tiene grandes perspectivas . Esta solución le permite cifrar de forma transparente todo el disco desde el software [7] .

Control de acceso a la red

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] .

Protección del software contra modificaciones

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 .

Protección contra copias

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] .

Uso

TPM 1.2 se usa para almacenar datos de extensiones de modo más seguro [10] .

Implementación

Productores

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] .

Crítica

La cuestión de la "confianza"

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] .

Pérdida de "propiedad" de la computadora

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):

Pérdida del anonimato

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 .

Amenaza potencial a la libre competencia

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 ] .

Problemas de mal funcionamiento del módulo TPM

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.

Trucos

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.

La necesidad de una aplicación para garantizar el funcionamiento de Windows 11

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] .

Véase también

Notas

  1. John Markoff. Se expresan temores de uso indebido del sistema de cifrado . Los New York Times. Archivado desde el original el 28 de abril de 2013.
  2. 1 2 3 4 Estudio sobre el impacto de la computación confiable en la identidad y la gestión de la identidad . fidis. Archivado desde el original el 14 de abril de 2013.
  3. 1 2 Tien Tuan Anh Dinh, Mark Dermot Ryan. Informática de confianza: propuestas TCG . Universidad de Birmingham. Archivado desde el original el 28 de abril de 2013.
  4. Vitaly Zorin. Arquitectura de chip de seguridad . Semana de la PC. Consultado el 31 de marzo de 2013. Archivado desde el original el 17 de abril de 2013.
  5. 1 2 3 4 5 6 Allan Tomlinson, 2008 .
  6. 1 2 3 4 5 Alan M. Dunn y otros, 2011 .
  7. 12 Galería Eimear et al, 2008 .
  8. 1 2 3 4 5 6 7 8 Mark Dermot Ryan. Informática de confianza: conceptos . Universidad de Birmingham (2008). Archivado desde el original el 28 de abril de 2013.
  9. Brian Berger. Chip criptográfico: cómo el TPM refuerza la seguridad empresarial . Revista SC (2008). Archivado desde el original el 23 de febrero de 2012.
  10. Cap. 6. Referencia de extensiones de modo más seguro  // Manual del desarrollador de software de arquitecturas Intel® 64 e IA-32  : Volúmenes combinados: 1, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D y 4: Número de pedido 253665–063US: [ inglés ] . - Intel Corp., 2017. - Vol. 2D.
  11. Terry Relph-Knight. Linux y el Módulo de plataforma segura (TPM) . La H abierta. Archivado desde el original el 31 de marzo de 2013.
  12. Bruce Schneier. Paladio y TCPA . Archivado desde el original el 31 de marzo de 2013.
  13. 1 2 Richard M. Stallman. Puedes confiar en tú computadora? . Archivado desde el original el 31 de marzo de 2013.
  14. Chip Infineon "inhackeable" fisicamente agrietado . Archivado desde el original el 23 de febrero de 2012.
  15. Acento. Los especuladores han comprado módulos TPM 2.0 con la esperanza de sacar provecho de los usuarios de Windows 11 . ixbt.com (26 de junio de 2021). Consultado el 28 de junio de 2021. Archivado desde el original el 7 de julio de 2021.
Grupo informático de confianza
  1. Biblioteca Trusted Platform Module (TPM) 2.0 . Grupo de Computación de Confianza. Consultado el 27 de junio de 2021. Archivado desde el original el 27 de junio de 2021.
  2. Especificación principal de TPM, nivel 2, versión 1.2, revisión 103, parte 1: principios de diseño . Grupo de Computación de Confianza. Archivado desde el original el 23 de febrero de 2012.
  3. Trusted Computing Group - Soluciones - Autenticación . Grupo de Computación de Confianza. Archivado desde el original el 23 de febrero de 2012.
  4. Trusted Computing Group - Soluciones - Protección de datos . Grupo de Computación de Confianza. Archivado desde el original el 23 de febrero de 2012.
  5. Trusted Computing Group - Soluciones - Autenticación . Grupo de Computación de Confianza. Archivado desde el original el 31 de marzo de 2013.
  6. Trusted Computing Group - Acerca de TCG - Miembros de TCG . Grupo de Computación de Confianza. Archivado desde el original el 31 de marzo de 2013.

Literatura