Conceptos básicos del TPM
En este artículo se proporciona una descripción de los componentes del módulo de plataforma segura (TPM 1.2 y TPM 2.0) y se explica cómo se usan para mitigar los ataques de diccionario.
Un TPM es un microchip diseñado para proporcionar funciones básicas relacionadas con la seguridad, que implican principalmente claves de cifrado. El TPM se instala en la placa base de un equipo y se comunica con el resto del sistema mediante un bus de hardware.
Los dispositivos que incorporan un TPM pueden crear claves criptográficas y cifrarlas, de modo que el TPM solo pueda descifrarlas. Este proceso, a menudo denominado "ajuste" o "enlace" de una clave, puede ayudar a proteger la clave de la divulgación. Cada TPM tiene una clave de ajuste principal, denominada clave raíz de almacenamiento, que se almacena en el propio TPM. La parte privada de una clave raíz de almacenamiento, o clave de aprobación, que se crea en un TPM nunca se expone a ningún otro componente, software, proceso o usuario.
Puede especificar si las claves de cifrado que crea el TPM se pueden migrar o no. Si especifica que se pueden migrar, las partes públicas y privadas de la clave se pueden exponer a otros componentes, software, procesos o usuarios. Si especifica que las claves de cifrado no se pueden migrar, la parte privada de la clave nunca se expone fuera del TPM.
Los dispositivos que incorporan un TPM también pueden crear una clave encapsulada y vinculada a determinadas medidas de plataforma. Este tipo de clave solo se puede desencapsear cuando esas medidas de plataforma tienen los mismos valores que tenían cuando se creó la clave. Este proceso se conoce como sellado de la clave en el TPM. Descifrar la clave se denomina desenlazamiento. El TPM también puede sellar y anular la seal de los datos que se generan fuera del TPM. Con la clave y el software sellados, como el cifrado de unidad BitLocker, los datos se pueden bloquear hasta que se cumplan condiciones específicas de hardware o software.
Con un TPM, las partes privadas de pares clave se mantienen independientes de la memoria controlada por el sistema operativo. Las claves se pueden sellar en el TPM, y se pueden realizar ciertas garantías sobre el estado de un sistema (garantías que definen la confiabilidad de un sistema) antes de que las claves se desasombren y liberen para su uso. El TPM usa su propio firmware interno y circuitos lógicos para procesar las instrucciones. Por lo tanto, no se basa en el sistema operativo y no se expone a vulnerabilidades que puedan existir en el sistema operativo o el software de la aplicación.
- Para obtener información sobre qué versiones de Windows admiten qué versiones del TPM, consulte Información general sobre la tecnología del módulo de plataforma segura.
- Para obtener más información sobre qué servicios de TPM se pueden controlar de forma centralizada mediante la configuración de directiva de grupo, consulte Configuración de directiva de grupo de TPM.
Las características que están disponibles en las versiones se definen en las especificaciones de Trusted Computing Group (TCG). Para obtener más información, consulte la página Módulo de plataforma segura en el sitio web de Trusted Computing Group.
En las secciones siguientes se proporciona información general sobre las tecnologías que admiten el TPM:
- Arranque medido con compatibilidad con la atestación
- Tarjeta inteligente virtual basada en TPM
- Almacenamiento de certificados basado en TPM
- TPM Cmdlets
- Interfaz de presencia física
- Estados e inicialización de TPM 1.2
- Claves de aprobación
- Atestación de claves de TPM
- Anti-martilleo
Arranque medido con compatibilidad con la atestación
La característica Arranque medido proporciona software antimalware con un registro de confianza (resistente a la suplantación y manipulación) de todos los componentes de arranque. El software antimalware puede usar el registro para determinar si los componentes que se ejecutaron antes son de confianza o están infectados con malware. También puede enviar los registros de arranque medido a un servidor remoto para su evaluación. El servidor remoto puede iniciar acciones de corrección interactuando con software en el cliente o a través de mecanismos fuera de banda, según corresponda.
Tarjeta inteligente virtual basada en TPM
Advertencia
Las claves de seguridad de Windows Hello para empresas y FIDO2 son métodos modernos de autenticación en dos fases para Windows. Se recomienda a los clientes que usan tarjetas inteligentes virtuales que se trasladen a Windows Hello para empresas o FIDO2. Para las nuevas instalaciones de Windows, se recomiendan claves de seguridad de Windows Hello para empresas o FIDO2.
La tarjeta inteligente virtual emula la funcionalidad de las tarjetas inteligentes tradicionales. Las tarjetas inteligentes virtuales usan el chip TPM, en lugar de usar una tarjeta inteligente física y un lector independientes. Esto reduce en gran medida el costo de administración e implementación de las tarjetas inteligentes en una empresa. Para el usuario final, la tarjeta inteligente virtual siempre está disponible en el dispositivo. Si un usuario necesita usar más de un dispositivo, se debe emitir una tarjeta inteligente virtual al usuario para cada dispositivo. Un equipo que se comparte entre varios usuarios puede hospedar varias tarjetas inteligentes virtuales, una para cada usuario.
Almacenamiento de certificados basado en TPM
El TPM protege los certificados y las claves RSA. El proveedor de almacenamiento de claves de TPM (KSP) proporciona un uso fácil y práctico del TPM como una forma de proteger fuertemente las claves privadas. El KSP de TPM genera claves cuando una organización se inscribe para obtener certificados. El TPM también protege los certificados que se importan desde un origen externo. Los certificados basados en TPM son certificados estándar. El certificado nunca puede salir del TPM desde el que se generan las claves. El TPM también se puede usar para operaciones criptográficas a través de Cryptography API: Next Generation (CNG).
TPM Cmdlets
Puede administrar el TPM con Windows PowerShell. Para obtener más información, consulte Cmdlets para el TPM en Windows PowerShell.
Interfaz de presencia física
Para TPM 1.2, las especificaciones de TCG para LOS TPM requieren presencia física (normalmente, presionar una tecla) para activar el TPM, desactivarlo o borrarlo. Estas acciones normalmente no se pueden automatizar con scripts u otras herramientas de automatización a menos que el OEM individual los suministre.
Estados e inicialización de TPM 1.2
TPM 1.2 tiene varios estados posibles. Windows inicializa automáticamente el TPM, lo que lo lleva a un estado habilitado, activado y de propiedad.
Claves de aprobación
Una aplicación de confianza solo puede usar TPM si el TPM contiene una clave de aprobación, que es un par de claves RSA. La mitad privada del par de claves se mantiene dentro del TPM y nunca se revela ni se puede acceder a ella fuera del TPM.
Atestación de clave
La atestación de claves de TPM permite a una entidad de certificación comprobar que una clave privada está protegida por un TPM y que el TPM es en el que confía la entidad de certificación. Las claves de aprobación probadas como válidas se usan para enlazar la identidad del usuario a un dispositivo. El certificado de usuario con una clave atestiguada por TPM proporciona una mayor garantía de seguridad respaldada por la no exportabilidad, el anti-martilleo y el aislamiento de las claves proporcionadas por un TPM.
Anti-martilleo
Cuando un TPM procesa un comando, lo hace en un entorno protegido. Por ejemplo, un microcontroldor dedicado en un chip discreto o un modo especial protegido por hardware en la CPU principal. Un TPM se usa para crear una clave criptográfica que no se divulga fuera del TPM. Se usa en el TPM después de proporcionar el valor de autorización correcto.
Los TPMs tienen protección contra martillos que está diseñada para evitar ataques por fuerza bruta, o ataques de diccionario más complejos, que intentan determinar los valores de autorización para usar una clave. El enfoque básico es que el TPM permita solo un número limitado de errores de autorización antes de impedir que se usen más intentos de usar claves y bloqueos. Proporcionar un recuento de errores para claves individuales no es técnicamente práctico, por lo que los TPM tienen un bloqueo global cuando se producen demasiados errores de autorización.
Dado que muchas entidades pueden usar el TPM, una única autorización correcta no puede restablecer la protección contra martillos del TPM. Esto impide que un atacante cree una clave con un valor de autorización conocido y, a continuación, la use para restablecer la protección del TPM. Los TPMs están diseñados para olvidarse de los errores de autorización después de un período de tiempo, por lo que el TPM no entra en un estado de bloqueo innecesariamente. Se puede usar una contraseña de propietario de TPM para restablecer la lógica de bloqueo del TPM.
Anti-martillo tpm 2.0
TPM 2.0 tiene un comportamiento anti-martillo bien definido. Esto contrasta con tpm 1.2 para el que el fabricante implementó la protección contra el martillo y la lógica varió ampliamente en todo el sector.
Para los sistemas con TPM 2.0, Windows configura el TPM para bloquearse después de 32 errores de autorización y olvidar un error de autorización cada 10 minutos. Esto significa que un usuario podría intentar rápidamente usar una clave con el valor de autorización incorrecto 32 veces. Para cada uno de los 32 intentos, el TPM registra si el valor de autorización era correcto o no. Esto provoca involuntariamente que el TPM entre en un estado bloqueado después de 32 intentos erróneos.
Los intentos de usar una clave con un valor de autorización durante los próximos 10 minutos no devolverán éxito o error. En su lugar, la respuesta indica que el TPM está bloqueado. Después de 10 minutos, se olvida un error de autorización y el número de errores de autorización que recuerda el TPM se reduce a 31. El TPM deja el estado bloqueado y vuelve al funcionamiento normal. Con el valor de autorización correcto, las claves se podrían usar normalmente si no se produce ningún error de autorización durante los próximos 10 minutos. Si transcurre un período de 320 minutos sin errores de autorización, el TPM no recuerda ningún error de autorización y se podrían volver a producir 32 intentos erróneos.
Windows no requiere que los sistemas TPM 2.0 se olviden de los errores de autorización cuando el sistema está totalmente apagado o cuando el sistema ha hibernado. Windows requiere que los errores de autorización se olviden cuando el sistema se ejecuta normalmente, en modo de suspensión o en estados de baja potencia que no estén desactivados. Si un sistema Windows con TPM 2.0 está bloqueado, el TPM deja el modo de bloqueo si el sistema se deja encendido durante 10 minutos.
La protección contra el martillo de TPM 2.0 se puede restablecer completamente inmediatamente enviando un comando de bloqueo de restablecimiento al TPM y proporcionando la contraseña del propietario del TPM. De forma predeterminada, Windows aprovisiona automáticamente TPM 2.0 y almacena la contraseña de propietario de TPM para que la usen los administradores del sistema.
En algunas implementaciones, el valor de autorización del propietario de TPM se almacena de forma centralizada en Active Directory y no en el sistema local. Un administrador puede ejecutar tpm.msc
y elegir restablecer el tiempo de bloqueo de TPM. Si la contraseña del propietario del TPM se almacena localmente, se usa para restablecer el tiempo de bloqueo. Si la contraseña del propietario del TPM no está disponible en el sistema local, el administrador debe proporcionarla. Si un administrador intenta restablecer el estado de bloqueo de TPM con la contraseña de propietario de TPM incorrecta, el TPM no permite otro intento de restablecer el estado de bloqueo durante 24 horas.
TPM 2.0 permite crear algunas claves sin un valor de autorización asociado a ellas. Estas claves se pueden usar cuando el TPM está bloqueado. Por ejemplo, BitLocker con una configuración predeterminada de solo TPM puede usar una clave en el TPM para iniciar Windows, incluso cuando el TPM está bloqueado.
Razones detrás de los valores predeterminados
Originalmente, BitLocker permitía entre 4 y 20 caracteres para un PIN. Windows Hello tiene su propio PIN para el inicio de sesión, que puede tener entre 4 y 127 caracteres. BitLocker y Windows Hello usan el TPM para evitar ataques por fuerza bruta de PIN.
Windows 10, versión 1607 y los parámetros de prevención de ataques de diccionario usados anteriormente. Los parámetros de prevención de ataques de diccionario proporcionan una manera de equilibrar las necesidades de seguridad con la facilidad de uso. Por ejemplo, cuando se usa BitLocker con una configuración de TPM + PIN, el número de estimaciones de PIN está limitado con el tiempo. Un TPM 2.0 en este ejemplo podría configurarse para permitir solo 32 estimaciones de PIN inmediatamente y, a continuación, solo una estimación más cada dos horas. Esto suma un máximo de aproximadamente 4.415 estimaciones al año. Si el PIN es de cuatro dígitos, las combinaciones de PIN posibles de 9999 podrían intentarse en poco más de dos años.
A partir de Windows 10, versión 1703, la longitud mínima del PIN de BitLocker se aumentó a seis caracteres, para alinearse mejor con otras características de Windows que usan TPM 2.0, incluido Windows Hello. Aumentar la longitud del PIN requiere un mayor número de conjeturas para un atacante. Por lo tanto, la duración del bloqueo entre cada estimación se ha acortado para permitir que los usuarios legítimos vuelvan a intentar un intento erróneo antes, al tiempo que mantienen un nivel de protección similar. En caso de que se necesiten usar los parámetros heredados para el umbral de bloqueo y el tiempo de recuperación, asegúrese de que el GPO está habilitado y configure el sistema para que use la configuración de parámetros heredados de prevención de ataques de diccionario para TPM 2.0.
Tarjetas inteligentes basadas en TPM
La tarjeta inteligente basada en TPM de Windows, que es una tarjeta inteligente virtual, se puede configurar para permitir el inicio de sesión en el sistema. A diferencia de las tarjetas inteligentes físicas, el proceso de inicio de sesión usa una clave basada en TPM con un valor de autorización. En la lista siguiente se muestran las ventajas de las tarjetas inteligentes virtuales:
- Las tarjetas inteligentes físicas pueden aplicar el bloqueo solo para el PIN de tarjeta inteligente física, y pueden restablecer el bloqueo después de que se escriba el PIN correcto. Con una tarjeta inteligente virtual, la protección contra martillos del TPM no se restablece después de una autenticación correcta. El número permitido de errores de autorización antes de que el TPM entre en bloqueo incluye muchos factores.
- Los fabricantes de hardware y los desarrolladores de software pueden usar las características de seguridad del TPM para satisfacer sus requisitos.
- La intención de seleccionar 32 errores como umbral de bloqueo es evitar que los usuarios bloqueen el TPM (incluso cuando aprenden a escribir contraseñas nuevas o si con frecuencia bloquean y desbloquean sus equipos). Si los usuarios bloquean el TPM, deben esperar 10 minutos o usar otras credenciales para iniciar sesión, como un nombre de usuario y una contraseña.