Trusted Platform Module ( TPM , también conocido como ISO / IEC 11889 ) es un estándar internacional para un criptoprocesador seguro , un microcontrolador dedicado diseñado para proteger el hardware a través de claves criptográficas integradas.
Historia
Trusted Platform Module (TPM) fue concebido por un consorcio de la industria informática llamado Trusted Computing Group (TCG), y fue estandarizado por la Organización Internacional de Normalización (ISO) y la Comisión Electrotécnica Internacional (IEC) en 2009 como ISO / IEC 11889. [1]
TCG continuó revisando las especificaciones de TPM. La última edición revisada de la Versión 1.2 de la Especificación Principal de TPM se publicó el 3 de marzo de 2011. Constaba de tres partes, según su propósito. [2] Sin embargo, para la segunda versión principal de TPM, TCG lanzó la Especificación de biblioteca TPM 2.0 . Su última edición y erratas se publicaron en 2019. [3]
Descripción general
Trusted Platform Module proporciona
- Un generador de números aleatorios de hardware [4] [5]
- Facilidades para la generación segura de claves criptográficas para usos limitados.
- Certificación remota : crea un resumen de clave hash casi infalsificable de la configuración de hardware y software. El software encargado de aplicar el hash a los datos de configuración determina la extensión del resumen. Esto permite que un tercero verifique que el software no se haya modificado.
- Vinculación: cifra los datos mediante la clave de vinculación TPM, una clave RSA única derivada de una clave de almacenamiento [ aclaración necesaria ] . [6]
- Sellado : similar al enlace, pero además, especifica el estado de TPM [7] para que los datos se descifren (desbloqueen). [8]
- Otras funciones de Trusted Computing para que los datos se descifren (desbloqueen). [9]
Los programas informáticos pueden usar un TPM para autenticar dispositivos de hardware, ya que cada chip TPM tiene una clave de aprobación (EK) única y secreta que se graba a medida que se produce. Llevar la seguridad al nivel del hardware proporciona más protección que una solución de solo software. [10]
Usos
El Departamento de Defensa de los Estados Unidos (DoD) especifica que "los nuevos activos informáticos (por ejemplo, servidor, computadora de escritorio, computadora portátil, cliente ligero, tableta, teléfono inteligente, asistente digital personal, teléfono móvil) adquiridos para respaldar al Departamento de Defensa incluirán una versión 1.2 de TPM o superior donde sea requerido por DISA STIG y donde dicha tecnología esté disponible ". DoD anticipa que TPM se utilizará para la identificación, autenticación, cifrado y verificación de la integridad del dispositivo. [11]
Integridad de la plataforma
El alcance principal de TPM es asegurar la integridad de una plataforma. En este contexto, "integridad" significa "comportarse según lo previsto", y una "plataforma" es cualquier dispositivo informático independientemente de su sistema operativo . Es para asegurar que el proceso de arranque comience con una combinación confiable de hardware y software, y continúe hasta que el sistema operativo se haya iniciado por completo y las aplicaciones se estén ejecutando.
La responsabilidad de asegurar dicha integridad usando TPM es con el firmware y el sistema operativo. Por ejemplo, la Unified Extensible Firmware Interface (UEFI) puede usar TPM para formar una raíz de confianza : el TPM contiene varios registros de configuración de plataforma (PCR) que permiten el almacenamiento seguro y la generación de informes de métricas relevantes para la seguridad. Estas métricas se pueden utilizar para detectar cambios en configuraciones anteriores y decidir cómo proceder. Buenos ejemplos se pueden encontrar en Linux Unificado de configuración Clave (LUKS), [12] BitLocker y PrivateCore cifrado de memoria vCage. (Vea abajo.)
Otro ejemplo de integridad de la plataforma a través de TPM es el uso de licencias de Microsoft Office 365 y Outlook Exchange. [13]
Un ejemplo del uso de TPM para la integridad de la plataforma es Trusted Execution Technology (TXT), que crea una cadena de confianza. Podría atestiguar de forma remota que una computadora está utilizando el hardware y software especificados. [14]
Cifrado de disco
Las utilidades de cifrado de disco completo , como dm-crypt y BitLocker , pueden utilizar esta tecnología para proteger las claves utilizadas para cifrar los dispositivos de almacenamiento de la computadora y proporcionar autenticación de integridad para una ruta de inicio confiable que incluye firmware y sector de inicio . [15]
Protección de contraseña
Los sistemas operativos a menudo requieren autenticación (que implica una contraseña u otros medios) para proteger claves, datos o sistemas. Si el mecanismo de autenticación se implementa solo en software, el acceso es propenso a ataques de diccionario . Dado que TPM se implementa en un módulo de hardware dedicado, se incorporó un mecanismo de prevención de ataques de diccionario, que protege eficazmente contra ataques de diccionario automatizados o conjeturas, al tiempo que permite al usuario un número suficiente y razonable de intentos. Sin este nivel de protección, solo las contraseñas de alta complejidad proporcionarían protección suficiente.
Otros usos e inquietudes
Cualquier aplicación puede usar un chip TPM para:
- Gestión de derechos digitales
- Windows Defender
- Inicio de sesión de dominio de Windows [16]
- Protección y ejecución de licencias de software
- Prevención de trampas en juegos en línea [17]
Existen otros usos, algunos de los cuales dan lugar a problemas de privacidad . La función de "presencia física" de TPM resuelve algunas de estas preocupaciones al requerir confirmación a nivel de BIOS para operaciones como activar, desactivar, borrar o cambiar la propiedad de TPM por parte de alguien que esté físicamente presente en la consola de la máquina. [18] [19]
Implementaciones de TPM
Desarrollador (es) | Microsoft |
---|---|
Repositorio | github .com / Microsoft / ms-tpm-20-ref |
Escrito en | C , C ++ |
Tipo | Implementación de TPM |
Licencia | Licencia BSD |
Sitio web | trustcomputinggroup .org / tpm-biblioteca-especificación |
A partir de 2006, se vendieron muchas computadoras portátiles nuevas con un chip TPM integrado. En el futuro, este concepto podría ubicarse en un chip de placa base existente en computadoras, o en cualquier otro dispositivo donde se puedan emplear las instalaciones de TPM, como un teléfono celular . En una PC, se utiliza el bus LPC o el bus SPI para conectarse al chip TPM.
Trusted Computing Group (TCG) ha certificado chips TPM fabricados por Infineon Technologies , Nuvoton y STMicroelectronics , [20] habiendo asignado ID de proveedor de TPM a Advanced Micro Devices , Atmel , Broadcom , IBM , Infineon, Intel , Lenovo , National Semiconductor , Nationz Technologies, Nuvoton, Qualcomm , Rockchip , Standard Microsystems Corporation , STMicroelectronics, Samsung , Sinosun, Texas Instruments y Winbond . [21]
Hay cinco tipos diferentes de implementaciones de TPM 2.0 (enumerados en orden de mayor a menor seguridad): [22] [23]
- Los TPM discretos son chips dedicados que implementan la funcionalidad TPM en su propio paquete de semiconductores a prueba de manipulaciones. En teoría, son el tipo más seguro de TPM porque las rutinas implementadas en hardware deberían ser [ vagas ] más resistentes a errores [ aclaración necesaria ] en comparación con las rutinas implementadas en software, y sus paquetes deben implementar cierta resistencia a la manipulación.
- Los TPM integrados son parte de otro chip. Si bien utilizan hardware que resiste los errores de software, no es necesario que implementen una resistencia a la manipulación. Intel ha integrado TPM en algunos de sus conjuntos de chips .
- Los TPM de firmware son soluciones basadas en firmware (por ejemplo, UEFI ) que se ejecutan en el entorno de ejecución confiable de una CPU . Intel, AMD y Qualcomm han implementado TPM de firmware.
- Los TPM de hipervisor son TPM virtuales proporcionados por hipervisores y dependen de ellos , en un entorno de ejecución aislado que está oculto al software que se ejecuta dentro de las máquinas virtuales para proteger su código del software en las máquinas virtuales. Pueden proporcionar un nivel de seguridad comparable a un TPM de firmware.
- Los TPM de software son emuladores de software de TPM que se ejecutan sin más protección que la que obtiene un programa normal dentro de un sistema operativo. Dependen completamente del entorno en el que se ejecutan, por lo que no proporcionan más seguridad que la que puede proporcionar el entorno de ejecución normal, y son vulnerables a sus propios errores de software y ataques que penetran en el entorno de ejecución normal. [ cita requerida ] Son útiles para fines de desarrollo.
Microsoft ha desarrollado la implementación de referencia oficial de TCG de la especificación TPM 2.0 . Tiene licencia BSD y el código fuente está disponible en GitHub . [24] Microsoft proporciona una solución de Visual Studio y scripts de compilación de herramientas automáticas de Linux .
En 2018, Intel abrió su pila de software Trusted Platform Module 2.0 (TPM2) con soporte para Linux y Microsoft Windows. [25] El código fuente está alojado en GitHub y tiene licencia BSD . [26] [27]
Infineon financió el desarrollo de un middleware TPM de código abierto que cumple con la especificación de la API de sistema mejorado (ESAPI) de Software Stack (TSS) del TCG. [28] Fue desarrollado por Fraunhofer Institute for Secure Information Technology (SIT). [29]
El software TPM 2.0 de IBM es una implementación de la especificación TCG TPM 2.0. Se basa en las Partes 3 y 4 de la especificación TPM y en el código fuente donado por Microsoft. Contiene archivos adicionales para completar la implementación. El código fuente está alojado en SourceForge [30] y GitHub [31] y tiene licencia BSD.
TPM 1.2 frente a TPM 2.0
Si bien TPM 2.0 aborda muchos de los mismos casos de uso y tiene características similares, los detalles son diferentes. TPM 2.0 no es compatible con versiones anteriores de TPM 1.2. [32] [33] [34]
Especificación | TPM 1.2 | TPM 2.0 |
---|---|---|
Arquitectura | La especificación de talla única para todos consta de tres partes. [2] | Una especificación completa consta de una especificación específica de la plataforma que hace referencia a una biblioteca TPM 2.0 común de cuatro partes. [35] [3] Las especificaciones específicas de la plataforma definen qué partes de la biblioteca son obligatorias, opcionales o prohibidas para esa plataforma; y detallar otros requisitos para esa plataforma. [35] Las especificaciones específicas de la plataforma incluyen PC Client, [36] móvil, [37] y Automotive-Thin. [38] |
Algoritmos | Se requieren SHA-1 y RSA . [39] AES es opcional. [39] Triple DES fue una vez un algoritmo opcional en versiones anteriores de TPM 1.2, [40] pero ha sido prohibido en TPM versión 1.2 94. [41] El MGF1 función de generación de máscara basado en hash que se define en PKCS # 1 se requiere . [39] | La especificación del perfil TPM (PTP) de la plataforma cliente de PC requiere SHA-1 y SHA-256 para los hash; RSA , ECC usando la curva Barreto-Naehrig de 256 bits y la curva NIST P-256 para criptografía de clave pública y generación y verificación de firmas digitales asimétricas ; HMAC para generación y verificación simétricas de firmas digitales; AES de 128 bits para algoritmo de clave simétrica ; y la función de generación de máscara basada en hash MGF1 que se define en PKCS # 1 son requeridas por la Especificación del Perfil TPM (PTP) de la Plataforma Cliente TCG PC. [42] También se definen muchos otros algoritmos, pero son opcionales. [43] Tenga en cuenta que Triple DES se incorporó a TPM 2.0, pero con restricciones en algunos valores en cualquier bloque de 64 bits. [44] |
Primitivas criptográficas | Se requiere un generador de números aleatorios , un algoritmo criptográfico de clave pública , una función hash criptográfica , una función de generación de máscaras, generación y verificación de firmas digitales y atestación directa anónima . [39] Los algoritmos de clave simétrica y exclusivos o son opcionales. [39] También se requiere la generación de claves . [45] | Un generador de números aleatorios , los algoritmos criptográficos de clave pública , las funciones hash criptográficas , algoritmos de clave simétrica , firma digital generación y verificación, funciones de generación de máscara, exclusivos o , y ECC basadas en directo Anónimo certificación utilizando la curva de 256 bits Barreto-Naehrig son requerido por la especificación del perfil TPM (PTP) de la plataforma cliente TCG PC. [42] La especificación de la biblioteca común TPM 2.0 también requiere funciones de generación y derivación de claves . [46] |
Jerarquía | Uno (almacenamiento) | Tres (plataforma, almacenamiento y respaldo) |
Claves raíz | Uno (SRK RSA-2048) | Varias claves y algoritmos por jerarquía |
Autorización | HMAC , PCR, localidad, presencia física | Contraseña, HMAC y política (que cubre HMAC, PCR, localidad y presencia física). |
NVRAM | Datos no estructurados | Datos no estructurados, contador, mapa de bits, extensión, PIN pasa y falla |
La autorización de la política TPM 2.0 incluye 1.2 HMAC, localidad, presencia física y PCR. Agrega autorización basada en una firma digital asimétrica, direccionamiento indirecto a otro secreto de autorización, contadores y límites de tiempo, valores NVRAM, un comando particular o parámetros de comando y presencia física. Permite la operación AND y OR de estas primitivas de autorización para construir políticas de autorización complejas. [47]
Crítica
TCG se ha enfrentado a la resistencia al despliegue de esta tecnología en algunas áreas, donde algunos autores ven posibles usos no relacionados específicamente con Trusted Computing , lo que puede generar problemas de privacidad. Las preocupaciones incluyen el abuso de la validación remota de software (donde el fabricante, y no el usuario propietario del sistema informático, decide qué software puede ejecutar) y las posibles formas de seguir las acciones tomadas por el usuario que se registran en una base de datos, en de una manera que es completamente indetectable para el usuario. [48]
La utilidad de cifrado de disco TrueCrypt , así como su derivado VeraCrypt , no son compatibles con TPM. Los desarrolladores originales de TrueCrypt opinaron que el propósito exclusivo del TPM es "proteger contra ataques que requieren que el atacante tenga privilegios de administrador o acceso físico a la computadora". El atacante que tiene acceso físico o administrativo a una computadora puede eludir el TPM, por ejemplo, instalando un registrador de pulsaciones de teclas de hardware , restableciendo el TPM o capturando el contenido de la memoria y recuperando las claves emitidas por TPM. Como tal, el texto de condena llega tan lejos como para afirmar que TPM es completamente redundante. [49] El editor de VeraCrypt ha reproducido la acusación original sin más cambios que reemplazar "TrueCrypt" por "VeraCrypt". [50]
Ataques
En 2010, Christopher Tarnovsky presentó un ataque contra TPM en Black Hat Briefings , donde afirmó poder extraer secretos de un solo TPM. Pudo hacer esto después de 6 meses de trabajo insertando una sonda y espiando un bus interno para el Infineon SLE 66 CL PC. [51] [52]
En 2015, como parte de las revelaciones de Snowden , se reveló que en 2010 un equipo de la CIA de EE. UU. Afirmó en una conferencia interna haber llevado a cabo un ataque de análisis de poder diferencial contra TPM que pudo extraer secretos. [53] [54]
En 2018, se informó de una falla de diseño en la especificación TPM 2.0 para la raíz estática de confianza para la medición (SRTM) ( CVE - 2018-6622 ). Permite a un adversario restablecer y falsificar registros de configuración de plataforma que están diseñados para contener de forma segura las mediciones de software que se utilizan para arrancar una computadora. [55] Para solucionarlo, se requieren parches de firmware específicos del hardware. [55] Un atacante abusa de las interrupciones de energía y el estado de TPM se restaura para engañar a TPM haciéndole creer que se está ejecutando en componentes no manipulados. [56]
Las distribuciones Main Trusted Boot (tboot) anteriores a noviembre de 2017 se ven afectadas por un ataque de raíz de confianza dinámica para la medición (DRTM) CVE - 2017-16837 , que afecta a las computadoras que se ejecutan en Trusted eXecution Technology (TXT) de Intel para la rutina de arranque. [56]
En caso de acceso físico, las computadoras con TPM son vulnerables a los ataques de arranque en frío siempre que el sistema esté encendido o se pueda iniciar sin una contraseña de apagado o hibernación , que es la configuración predeterminada para computadoras con Windows con cifrado de disco completo de BitLocker. [57]
Controversia de la generación de claves débiles de 2017
En octubre de 2017, se informó que una biblioteca de códigos desarrollada por Infineon , que había sido de uso generalizado en sus TPM, contenía una vulnerabilidad, conocida como ROCA, que generaba pares de claves RSA débiles que permitían inferir claves privadas a partir de claves públicas . Como resultado, todos los sistemas que dependen de la privacidad de tales claves débiles son vulnerables a compromisos, como el robo de identidad o la suplantación de identidad. [58]
Los criptosistemas que almacenan claves de cifrado directamente en el TPM sin cegar podrían correr un riesgo particular para este tipo de ataques, ya que las contraseñas y otros factores no tendrían sentido si los ataques pueden extraer secretos de cifrado. [59]
Infineon ha lanzado actualizaciones de firmware para sus TPM a los fabricantes que los han utilizado. [60]
Disponibilidad
Actualmente, casi todos los fabricantes de PC y portátiles utilizan TPM.
Varios proveedores implementan TPM:
- En 2006, con la introducción de los primeros modelos de Macintosh con procesadores Intel, Apple comenzó a distribuir Macs con TPM. Apple nunca proporcionó un controlador oficial, pero había un puerto bajo GPL disponible. [61] Apple no ha enviado una computadora con TPM desde 2006. [62]
- Atmel fabrica dispositivos TPM que, según afirma, cumplen con la especificación Trusted Platform Module versión 1.2 revisión 116 y se ofrecen con varias interfaces (LPC, SPI e I2C), modos (modo estándar y certificado FIPS 140-2), grados de temperatura (comercial e industrial) y envases (TSSOP y QFN). [63] [64] Los TPM de Atmel son compatibles con PC y dispositivos integrados. [63] Atmel también proporciona kits de desarrollo TPM para apoyar la integración de sus dispositivos TPM en varios diseños integrados. [sesenta y cinco]
- Google incluye TPM en Chromebooks como parte de su modelo de seguridad. [66]
- Google Compute Engine ofrece TPM virtualizados (vTPM) como parte del producto de VM blindadas de Google Cloud . [67]
- Infineon proporciona tanto chips TPM como software TPM, que se entrega como versiones OEM con computadoras nuevas, así como también por separado por Infineon para productos con tecnología TPM que cumple con los estándares TCG. Por ejemplo, Infineon concedió licencias de software de gestión TPM a Broadcom Corp. en 2004. [68]
- Los sistemas operativos de Microsoft Windows Vista y versiones posteriores usan el chip junto con el componente de cifrado de disco incluido llamado BitLocker . Microsoft había anunciado que a partir del 1 de enero de 2015 todas las computadoras deberán estar equipadas con un módulo TPM 2.0 para poder pasar la certificación de hardware de Windows 8.1 . [69] Sin embargo, en una revisión de diciembre de 2014 del Programa de certificación de Windows, esto se convirtió en un requisito opcional. Sin embargo, se requiere TPM 2.0 para los sistemas en espera conectados . [70] Las máquinas virtuales que se ejecutan en Hyper-V pueden tener su propio módulo TPM virtual a partir de Windows 10 1511 y Windows Server 2016. [71]
- En 2011, el fabricante taiwanés MSI lanzó su tableta Windpad 110W con CPU AMD e Infineon Security Platform TPM, que se envía con la versión 3.7 del software de control. El chip está desactivado de forma predeterminada, pero se puede activar con el software preinstalado incluido. [72]
- Nuvoton proporciona dispositivos TPM que implementan las especificaciones de la versión 1.2 y 2.0 de Trusted Computing Group (TCG) para aplicaciones de PC. Nuvoton también proporciona dispositivos TPM que implementan estas especificaciones para sistemas integrados y aplicaciones de IoT (Internet de las cosas) a través de interfaces de host I2C y SPI. El TPM de Nuvoton cumple con los Criterios Comunes (CC) con nivel de garantía EAL 4 aumentado, FIPS 140-2 nivel 1 y requisitos de Cumplimiento de TCG, todos compatibles con un solo dispositivo. [ cita requerida ]
- Oracle envía TPM en sus sistemas recientes de las series X y T, como las series de servidores T3 o T4. [73] El soporte está incluido en Solaris 11 . [74]
- El hipervisor VMware ESXi ha admitido TPM desde 4.xy desde 5.0 está habilitado de forma predeterminada. [75] [76]
- El hipervisor Xen admite TPM virtualizados. Cada huésped obtiene su propio software TPM emulado y único. [77]
- KVM , combinado con QEMU , tiene soporte para TPM virtualizados. A partir de 2012[actualizar], admite el paso del chip TPM físico a un único invitado dedicado. QEMU 2.11 lanzado en diciembre de 2017 también proporciona TPM emulados a los invitados. [78]
También hay tipos híbridos; por ejemplo, TPM se puede integrar en un controlador Ethernet , eliminando así la necesidad de un componente de placa base separado. [79] [80]
Trusted Platform Module 2.0 (TPM 2.0) es compatible con el kernel de Linux desde la versión 3.20. [81] [82] [83]
Bibliotecas de software TPM
Para utilizar un TPM, el usuario necesita una biblioteca de software que se comunique con el TPM y proporcione una API más amigable que la comunicación TPM sin procesar. Actualmente, existen varias bibliotecas TPM 2.0 de código abierto. Algunos de ellos también admiten TPM 1.2, pero la mayoría de los chips TPM 1.2 ahora están en desuso y el desarrollo moderno se centra en TPM 2.0.
Por lo general, una biblioteca de TPM proporciona a la API asignaciones de uno a uno a los comandos de TPM. La especificación TCG llama a esta capa la API del sistema (SAPI). De esta manera, el usuario tiene más control sobre las operaciones de TPM, sin embargo, la complejidad es alta. Por lo tanto, la mayoría de las bibliotecas también ofrecen una API enriquecida para invocar operaciones TPM complejas y ocultar parte de la complejidad. La especificación TCG llama a estas dos capas API de sistema mejorado (ESAPI) y API de funciones (FAPI).
Actualmente, solo hay una pila que sigue la especificación TCG. Todas las demás bibliotecas TPM de código abierto disponibles utilizan su propia forma de API más rica.
Bibliotecas TPM | API | TPM 2.0 | TPM 1.2 | Servidor de atestación o ejemplo | Microsoft Ventanas | Linux | Metal básico |
---|---|---|---|---|---|---|---|
tpm2-tss [84] | SAPI, ESAPI y FAPI de la especificación TCG | sí | No | No, pero hay un proyecto separado * | sí | sí | Quizás** |
ibmtss [85] [86] | Asignación 1: 1 a comandos TPM | sí | Parcial | Sí, "IBM ACS" [87] [88] | sí | sí | No |
go-tpm [89] | Asignación 1: 1 a comandos TPM + API rica (capa suave en la parte superior) | sí | Parcial | Sí, "Go-attestation" [90] | sí | sí | No |
wolfTPM [91] | Asignación 1: 1 a comandos TPM + API rica (envoltorios) | sí | No | Sí, los ejemplos están dentro de la biblioteca. | sí | sí | sí |
(*) Hay un proyecto separado llamado “CHARRA” de Fraunhofer [92] que usa la biblioteca tpm2-tss para la atestación remota. Las otras pilas tienen servidores de certificación adjuntos o incluyen directamente ejemplos de certificación. IBM ofrece su servidor de atestación remota de código abierto llamado "IBM ACS" en Sourceforge y Google tiene "Go-Attestation" disponible en GitHub, mientras que "wolfTPM" ofrece ejemplos de atestación local y de tiempo directamente en su código de fuente abierta, también en GitHub.
(**) Hay una nota de aplicación [93] sobre un proyecto de ejemplo para el SoC AURIX de 32 bits utilizando la biblioteca tpm2-tss.
Estas bibliotecas de TPM a veces también se denominan pilas de TPM, porque proporcionan la interfaz para que el desarrollador o el usuario interactúe con el TPM. Como se ve en la tabla, las pilas de TPM abstraen el sistema operativo y la capa de transporte, por lo que el usuario podría migrar una aplicación entre plataformas. Por ejemplo, al usar la API de pila TPM, el usuario interactuaría de la misma manera con un TPM, independientemente de si el chip físico está conectado a través de la interfaz SPI, I2C o LPC al sistema Host.
Comunidades de desarrolladores
El creciente tema de la seguridad informática y especialmente la seguridad respaldada por hardware hizo que el uso potencial de TPM fuera popular entre desarrolladores y usuarios. Actualmente, existen al menos dos comunidades de desarrolladores en torno al uso de un TPM.
TPM.dev
Esta comunidad [94] tiene una plataforma similar a un foro para compartir información y hacer preguntas. En la plataforma se pueden encontrar artículos y tutoriales en vídeo de miembros de la comunidad e invitados. Hay una llamada en línea semanal regular. El enfoque principal de esta comunidad es reducir la barrera para la adopción de TPM y las bibliotecas de software TPM existentes. Se presta especial atención a la atestación remota y las aplicaciones de confianza.
tpm2-software
Esta comunidad [95] se centra en el uso de TPM con la biblioteca tpm2-tss. La comunidad participa en el desarrollo y otro software relacionado con tpm2 que se puede encontrar en su cuenta de GitHub. [96] También hay una sección de tutoriales y externa con enlaces a charlas y presentaciones de conferencias.
Ver también
- ARM TrustZone
- Trituración de cripto
- Seguridad del hardware
- Módulo de seguridad de hardware
- Chip de Hengzhi
- Motor de administración de Intel
- Procesador de seguridad de plataforma AMD
- Base informática segura de próxima generación
- Modelo de amenaza
- Computación confiable
- Grupo de informática de confianza
- Tecnología de ejecución confiable
- Interfaz de firmware extensible unificada (UEFI)
Referencias
- ^ "ISO / IEC 11889-1: 2009 - Tecnología de la información - Módulo de plataforma confiable - Parte 1: Descripción general" . ISO.org . Organización Internacional de Normalización . Mayo de 2009.
- ^ a b "Especificaciones del módulo de plataforma segura (TPM)" . Trusted Computing Group . 1 de marzo de 2011.
- ^ a b "Especificación de biblioteca TPM 2.0" . Trusted Computing Group.
- ^ Alin Suciu, Tudor Carean (2010). "Evaluación comparativa del verdadero generador de números aleatorios de chips TPM". arXiv : 1008.2223 [ cs.CR ].
- ^ TPM Main Specification Level 2 (PDF) , Part 1 - Design Principles (Version 1.2, Revision 116 ed.) , Recuperado el 12 de septiembre de 2017 ,
Nuestra definición de RNG permite la implementación de un algoritmo de Pseudo Random Number Generator (PRNG). Sin embargo, en los dispositivos en los que se dispone de una fuente de entropía de hardware, no es necesario implementar un PRNG. Esta especificación se refiere a las implementaciones de RNG y PRNG como mecanismo RNG. No es necesario distinguir entre los dos en el nivel de especificación TCG.
- ^ "tspi_data_bind (3) - Cifra el blob de datos" (página del manual de Posix) . Trusted Computing Group . Consultado el 27 de octubre de 2009 .
- ^ Trusted Platform Module Library Specification, Family “2.0” (PDF) , Part 1 - Architecture, Section 12, TPM Operational States (Level 00, Revision 01.59 ed.), Trusted Computing Group , consultado el 17 de enero de 2021
- ^ TPM Main Specification Level 2 (PDF) , Part 3 - Commands (Version 1.2, Revision 116 ed.), Trusted Computing Group , consultado el 22 de junio de 2011
- ^ Artículo de Microsoft sobre TPM
- ^ "TPM - Módulo de plataforma confiable" . IBM . Archivado desde el original el 3 de agosto de 2016.
- ^ Instrucción 8500.01 (PDF) . Departamento de Defensa de Estados Unidos. 14 de marzo de 2014. p. 43.
- ^ "Soporte LUKS para almacenar claves en TPM NVRAM" . github.com . 2013 . Consultado el 19 de diciembre de 2013 .
- ^ "Error 80090016 de Microsoft Office Outlook Exchange después de un reemplazo de la placa del sistema" .
- ^ Greene, James (2012). "Tecnología Intel Trusted Execution" (PDF) (informe técnico). Intel . Consultado el 18 de diciembre de 2013 .
- ^ "Cifrado TPM" .
- ^ "Introducción a las tarjetas inteligentes virtuales: guía paso a paso" .
- ^ Computación Autonómica y de Confianza: IV Congreso Internacional (Google Books) . ATC. 2007. ISBN 9783540735465. Consultado el 31 de mayo de 2014 .
- ^ Pearson, Siani; Balacheff, Boris (2002). Plataformas informáticas de confianza: tecnología TCPA en contexto . Prentice Hall. ISBN 978-0-13-009220-5.
- ^ "Método SetPhysicalPresenceRequest de la clase Win32_Tpm" . Microsoft . Consultado el 12 de junio de 2009 .
- ^ "Lista de productos certificados por TPM" . Trusted Computing Group . Consultado el 1 de octubre de 2016 .
- ^ "Registro de ID de proveedor de TCG" (PDF) . 23 de septiembre de 2015 . Consultado el 27 de octubre de 2016 .
- ^ Lich, Brian; Browers, Nick; Hall, Justin; McIlhargey, Bill; Farag, Hany (27 de octubre de 2017). "Recomendaciones de TPM" . Microsoft Docs . Microsoft .
- ^ "Módulo de plataforma confiable 2.0: una breve introducción" (PDF) . Trusted Computing Group . 13 de octubre de 2016.
- ^ GitHub - microsoft / ms-tpm-20-ref: Implementación de referencia de la especificación TCG Trusted Platform Module 2.0.
- ^ Nueva pila de software TPM2 de fuentes abiertas de Intel - Phoronix
- ^ https://github.com/tpm2-software
- ^ La pila de software TPM2: Presentación de una importante versión de código abierto | Software Intel®
- ^ La pila de software TPM 2.0 de código abierto facilita la adopción de la seguridad
- ^ Infineon habilita la pila de software de código abierto para TPM 2.0
- ^ Descarga de IBM's Software TPM 2.0 | SourceForge.net
- ^ [ https://github.com/kgoldman/ibmswtpm2/ IBM SW TPM 2.0
- ^ "Part 1: Architecture" (PDF) , Trusted Platform Module Library , Trusted Computing Group, 30 de octubre de 2014 , consultado el 27 de octubre de 2016
- ^ https://www.dell.com/support/article/en-us/sln312590/tpm-1-2-vs-2-0-features?lang=en
- ^ http://aps2.toshiba-tro.de/kb0/TSB8B03XO0000R01.htm
- ^ a b Arthur, Will; Challener, David; Goldman, Kenneth (2015). Una guía práctica de TPM 2.0: uso del nuevo módulo de plataforma confiable en la nueva era de la seguridad . Ciudad de Nueva York : Apress Media, LLC. pag. 69. doi : 10.1007 / 978-1-4302-6584-9 . ISBN 978-1430265832. S2CID 27168869 .
- ^ "Perfil de protección de cliente de PC para TPM 2.0 - Trusted Computing Group" . trustcomputinggroup.org .
- ^ "Especificación de la arquitectura de referencia móvil TPM 2.0 - Trusted Computing Group" . trustcomputinggroup.org .
- ^ "Perfil de la biblioteca TCG TPM 2.0 para Automotive-Thin" . trustcomputinggroup.org . 1 de marzo de 2015.
- ^ a b c d e http://trustedcomputinggroup.org/wp-content/uploads/TPM-Main-Part-2-TPM-Structures_v1.2_rev116_01032011.pdf
- ^ http://trustedcomputinggroup.org/wp-content/uploads/mainP2Struct_rev85.pdf
- ^ http://trustedcomputinggroup.org/wp-content/uploads/TPM-main-1.2-Rev94-part-2.pdf
- ^ a b https://www.trustedcomputinggroup.org/wp-content/uploads/PC-Client-Specific-Platform-TPM-Profile-for-TPM-2-0-v43-150126.pdf
- ^ https://www.trustedcomputinggroup.org/wp-content/uploads/TCG_Algorithm_Registry_Rev_1.22.pdf
- ^ https://trustedcomputinggroup.org/wp-content/uploads/TCG-_Algorithm_Registry_Rev_1.27_FinalPublication.pdf
- ^ http://trustedcomputinggroup.org/wp-content/uploads/TPM-Main-Part-1-Design-Principles_v1.2_rev116_01032011.pdf
- ^ https://www.trustedcomputinggroup.org/wp-content/uploads/TPM-Rev-2.0-Part-1-Architecture-01.16.pdf
- ^ "Sección 23: Comandos de autorización mejorada (EA)", Biblioteca del módulo de plataforma confiable; Parte 3: Comandos (PDF) , Trusted Computing Group, 13 de marzo de 2014 , consultado el 2 de septiembre de 2014
- ^ Stallman, Richard Matthew , "¿Puedes confiar en tu computadora?", Proyecto GNU , Filosofía, Free Software Foundation
- ^ "Guía del usuario de TrueCrypt" (PDF) . truecrypt.org . Fundación TrueCrypt. 7 de febrero de 2012. p. 129 - a través de grc.com.
- ^ "Preguntas frecuentes" . veracrypt.fr . IDRIX. 2 de julio de 2017.
- ^ "Black Hat: Investigador afirma hack de procesador utilizado para proteger Xbox 360, otros productos" . 30 de enero de 2012. Archivado desde el original el 30 de enero de 2012 . Consultado el 10 de agosto de 2017 .CS1 maint: bot: estado de URL original desconocido ( enlace )
- ^ Szczys, Mike (9 de febrero de 2010). "Critografía TPM agrietada" . HACKADAY . Archivado desde el original el 12 de febrero de 2010.
- ^ Scahill, Jeremy ScahillJosh BegleyJeremy; Begley2015-03-10T07: 35: 43 + 00: 00, Josh (10 de marzo de 2015). "La campaña de la CIA para robar secretos de Apple" . La intercepción . Consultado el 10 de agosto de 2017 .
- ^ "Vulnerabilidades de TPM al análisis de energía y un exploit expuesto a Bitlocker - The Intercept" . La intercepción . Consultado el 10 de agosto de 2017 .
- ^ a b Seunghun, Han; Wook, Shin; Jun-Hyeok, Park; HyoungChun, Kim (15 al 17 de agosto de 2018). Un mal sueño: subvertir el módulo de plataforma confiable mientras duerme (PDF) . 27º Simposio de Seguridad de USENIX. Baltimore, MD, EE.UU .: Asociación USENIX . ISBN 978-1-939133-04-5. Archivado (PDF) desde el original el 20 de agosto de 2019.
- ^ a b Catalin Cimpanu (29 de agosto de 2018). "Investigadores detallan dos nuevos ataques a chips TPM" . Ordenador que suena . Archivado desde el original el 7 de octubre de 2018 . Consultado el 28 de septiembre de 2019 .
- ^ Melissa Michael (8 de octubre de 2018). "Episodio 14 | Reinventando el ataque de arranque en frío: versión de portátil moderno" (Podcast). Blog de F-Secure. Archivado desde el original el 28 de septiembre de 2019 . Consultado el 28 de septiembre de 2019 .
- ^ Goodin, Dan (16 de octubre de 2017). "Millones de claves criptográficas de alta seguridad dañadas por una falla recién descubierta" . Ars Technica . Condé Nast .
- ^ "¿Puede la NSA romper BitLocker de Microsoft? - Schneier sobre seguridad" . www.schneier.com . Consultado el 10 de agosto de 2017 .
- ^ " " Actualización de TPM - Infineon Technologies " " . Consultado el 19 de marzo de 2021 .
- ^ Singh, Amit, "Trusted Computing para Mac OS X" , libro de OS X.
- ^ "Los datos de su computadora portátil no están seguros. Así que arréglelos" . PC World . 20 de enero de 2009.
- ^ a b "Inicio - Tecnología de microchip" . www.atmel.com .
- ^ "Guía de selección de número de pieza de AN_8965 TPM - Notas de aplicación - Microchip Technology Inc" (PDF) . www.atmel.com .
- ^ "Inicio - Tecnología de microchip" . www.atmel.com .
- ^ "Seguridad de Chromebook: navegar de forma más segura" . Blog de Chrome . Consultado el 7 de abril de 2013 .
- ^ "VM blindadas" . Google Cloud . Consultado el 12 de abril de 2019 .
- ^ "Módulo de plataforma segura (TPM) im LAN-Adapter" . Heise en línea . Consultado el 7 de enero de 2019 .
- ^ "Requisitos de certificación de hardware de Windows" . Microsoft.
- ^ "Requisitos de certificación de hardware de Windows para sistemas cliente y servidor" . Microsoft.
- ^ "Novedades de Hyper-V en Windows Server 2016" . Microsoft.
- ^ "TPM. Protección completa para su tranquilidad" . Winpad 110W . MSI.
- ^ "Servidores Oracle Solaris y Oracle SPARC T4: diseñados juntos para implementaciones empresariales en la nube" (PDF) . Oracle . Consultado el 12 de octubre de 2012 .
- ^ "tpmadm" (página de manual). Oracle . Consultado el 12 de octubre de 2012 .
- ^ La seguridad y la capa de virtualización , VMware.
- ^ Habilitación de Intel TXT en servidores Dell PowerEdge con VMware ESXi , Dell.
- ^ "Módulo de plataforma de confianza virtual XEN (vTPM)" . Consultado el 28 de septiembre de 2015 .
- ^ "Registro de cambios de QEMU 2.11" . qemu.org . 12 de diciembre de 2017 . Consultado el 8 de febrero de 2018 .
- ^ "Reemplazo de software vulnerable con hardware seguro: el módulo de plataforma confiable (TPM) y cómo usarlo en la empresa" (PDF) . Grupo informático de confianza. 2008 . Consultado el 7 de junio de 2014 .
- ^ "Controlador NetXtreme Gigabit Ethernet con TPM1.2 integrado para escritorios" . Broadcom. 6 de mayo de 2009 . Consultado el 7 de junio de 2014 .
- ^ Soporte de TPM 2.0 enviado para el kernel de Linux 3.20 - Phoronix
- ^ La compatibilidad con TPM 2.0 continúa madurando en Linux 4.4 - Phoronix
- ^ Con Linux 4.4, TPM 2.0 se pone en forma para distribuciones - Phoronix
- ^ tpm2-software / tpm2-tss , Linux TPM2 & TSS2 Software, 18 de noviembre de 2020 , consultado el 20 de noviembre de 2020
- ^ "IBM TSS para TPM 2.0" .
- ^ "IBM TSS para TPM 2.0" .
- ^ "Servidor de cliente de atestación de IBM TPM" .
- ^ "Servidor de cliente de atestación de IBM TPM" .
- ^ google / go-tpm , 18 de noviembre de 2020 , consultado el 20 de noviembre de 2020
- ^ google / go-attestation , 19 de noviembre de 2020 , consultado el 20 de noviembre de 2020
- ^ wolfSSL / wolfTPM , wolfSSL, 18 de noviembre de 2020 , consultado el 20 de noviembre de 2020
- ^ Fraunhofer-SIT / charra , Fraunhofer Institute for Secure Information Technology, 26 de agosto de 2020 , consultado el 20 de noviembre de 2020
- ^ AG, Infineon Technologies. "Tarjeta OPTIGA ™ TPM SLI 9670 A-TPM - Infineon Technologies" . www.infineon.com . Consultado el 20 de noviembre de 2020 .
- ^ "TPMDeveloper" . TPMDeveloper . Consultado el 20 de noviembre de 2020 .
- ^ "comunidad tpm2-software" . comunidad tpm2-software . Consultado el 20 de noviembre de 2020 .
- ^ "Software Linux TPM2 y TSS2" . GitHub . Consultado el 20 de noviembre de 2020 .
Otras lecturas
- TPM 1.2 Perfil de Protección ( Common Criteria Protección perfil ), Trusted Computing Group.
- Especificación del perfil TPM (PTP) de la plataforma cliente de PC (especificaciones adicionales de TPM 2.0 aplicadas a los TPM para clientes de PC), Trusted Computing Group.
- Perfil de protección de cliente de PC para TPM 2.0 ( Perfil de protección de criterios comunes para TPM 2.0 aplicado a clientes de PC), Trusted Computing Group.
- Trusted Platform Module (TPM) (página web del grupo de trabajo y lista de recursos), Trusted Computing Group.
- "OLS: Linux y computación confiable" , LWN.
- Módulo de plataforma confiable (podcast), GRC, 24:30.
- Configuración de TPM (para Mac OS X) , modo Comet.
- "The Security of the Trusted Platform Module (TPM): declaración sobre el documento de Princeton del 26 de febrero" (PDF) , Boletín (comunicado de prensa), Trusted Computing Group, febrero de 2008.
- "Take Control of TCPA" , revista de Linux.
- Ataque de reinicio de TPM , Dartmouth.
- Plataformas de confianza (informe técnico ), Intel, IBM Corporation, CiteSeerX 10.1.1.161.7603.
- Garrett, Matthew, Una breve introducción a los TPM , Dream width.
- Martin, Andrew, Trusted Infrastructure "101" (PDF) , PSU.
- Uso del TPM: autenticación y atestación de máquinas (PDF) , introducción a la informática de confianza, formación en seguridad abierta.
- Una raíz de confianza para la medición: mitigar el problema de punto final mentiroso de TNC (PDF) , CH : HSR, 2011.