En informática, un módulo de plataforma de confianza o TPM (Trusted Platform Module por sus siglas en inglés) es el nombre de una especificación publicada que detalla un criptoprocesador seguro que puede almacenar claves de cifrado para proteger información, así como el nombre general de las implementaciones de dicha especificación, frecuentemente llamadas el "chip TPM" o "dispositivo de seguridad TPM". La especificación fue publicada por el Trusted Computing Group y actualmente se encuentra en la versión 2.0, estandarizada en 2016.[1]
La especificación también está disponible como el estándar internacional ISO/IEC 11889. TCG lanzó la Especificación de biblioteca TPM 2.0 . Su última edición y erratas se publicaron el 11 de junio de 2020.
El TPM es un chip pasivo desactivado en la fábrica y que solo el propietario de un computador equipado con él puede elegir activar. La identidad del propietario depende del escenario (Ej.: En una empresa, el propietario es el administrador del departamento de informática, y en ordenadores personales el propietario es el usuario final). Incluso cuando está activado el TPM solo recibe comandos y datos de la CPU local, realiza su trabajo y devuelve los resultados.[2] Provee:[2]
Memoria tanto volátil como no volátil. El almacenamiento no volátil es resistente a modificaciones. El almacenamiento no volátil se usa por ejemplo para almacenar claves no migrables (Ej. Endorsemente Key y Storage Root Key) y el almacenamiento volátil se usa para almacenar de forma segura las mediciones de integridad realizadas para conseguir la computación confiable
Generador de números aleatorios seguro
Algoritmos de generación de claves
Funciones criptográficas como cifrado/descifrado RSA y funciones hash.
Proporcionar mediciones e informes seguros de la integridad. Permite obtener mediciones de integridad y los resultados pueden ser almacenados de forma segura dentro del TPM. Basándose en estas medidas, un TPM puede ser usado para obtener un informe verificable que refleje la integridad del estado de la plataforma.
Sellado de datos. Los datos pueden ser almacenados de tal forma que solo sean accesibles si el usuario se autentifica satisfactoriamente y si la plataforma tiene cierto estado de integridad.
Sus funcionalidades son usadas para implementar el RTS y el RTR de la computación confiable pero también puede ser usada por el sistema operativo, en Windows 11, es un requisito indispensable tener la versión 2.0 para instalar y correr el sistema, también es usado por aplicaciones para realizar operaciones criptográficas aunque su rendimiento es bastante bajo. El CRTM para proporcionar el RTM de la computación confiable está incluido un tipo de pre-BIOS protegida donde también reside un software de soporte llamado Trusted Software Stack (TSS) que tiene varias funciones como proveer de una interfaz estándar para los TPM's de distintos fabricantes para comunicarse con la plataforma o con plataformas remotas. El CRTM y el TPM trabajando juntos forman la llamada TBB (del inglés Trusted Building Block).[3][4][5]
Funcionamiento
La mayor parte de las soluciones de seguridad actuales se basan en software. En
consecuencia, no proporcionan una protección de seguridad suficiente y son
vulnerables a los ataques físicos o lógicos. Sin embargo, TPM es una solución de
seguridad basada en hardware y software. Forma parte del proceso de inicio del
equipo portátil y también se integra con el sistema operativo. A pesar de estar
físicamente separado de la CPU principal, el TPM va unido al circuito principal del
portátil.
La raíz de esta solución se encuentra en el
almacenamiento seguro basado en hardware.
Cuando el software del sistema genera una clave
o un certificado para datos cifrados, esas claves y
certificados se sellan en el TPM. Los bits de
información almacenada autentifican y
proporcionan información sobre la integridad de la
plataforma cuando es necesario, e informan al
usuario y a los socios de comunicación (por
ejemplo, al proveedor de contenido) del estado del
entorno de hardware y software. El estado se
proporciona sobre la base de la exclusividad de la
plataforma que, a su vez, se basa en las claves
únicas almacenadas en el TPM.
Cada chip TPM tiene un número único, pero el sistema autentifica al usuario mediante
las claves o los identificadores (ID) almacenados en el TPM, no por el número único.
Como resultado, el TPM puede soportar los ataques lógicos y físicos para proteger
las claves y credenciales almacenadas.
El nivel de seguridad más alto se puede obtener por medio de una autenticación
bidireccional que consiste en utilizar un chip TPM para la identificación de la
plataforma y una autenticación del usuario en forma de clave USB o testigo (token)
SD. Esta autenticación bidireccional sólo funciona por separado, ya que, por
ejemplo, el testigo SD no se puede almacenar en el TPM.
Clave RSA Storage Root Key (SRK). Es parte del RTS de la computación confiable. Es una clave no volátil no migrable (no sale del dispositivo) que protege las otras claves usadas por las funciones criptográficas y están almacenadas fuera del TPM. Permite construir una jerarquía de claves
Clave RSA Endorsemente Key (EK). Es parte del RTR de la computación confiable. Es una clave no volátil no migrable (no sale del dispositivo), única y distinta para cada TPM creada por el fabricante del TPM. Está certificada para asegurar que el TPM es genuino.
Clave RSA Attestation Identity Key) (AIK). Una clave AIK se usa para firmar un valor de medición de integridad para así crear una prueba de atestación. Debido a problemas de privacidad no se usa la EK. Una AIK es similar a la EK excepto que:
Un TPM puede tener un número ilimitado de ellas
Son creadas por el propietario del TPM
¿Qué aplicaciones se pueden utilizar con TPM?
DRM
Protección de derechos de autor para evitar la piratería.