ES2819449T3 - Cripto servicios en remoto que utilizan TPM de servidor - Google Patents

Cripto servicios en remoto que utilizan TPM de servidor Download PDF

Info

Publication number
ES2819449T3
ES2819449T3 ES15813949T ES15813949T ES2819449T3 ES 2819449 T3 ES2819449 T3 ES 2819449T3 ES 15813949 T ES15813949 T ES 15813949T ES 15813949 T ES15813949 T ES 15813949T ES 2819449 T3 ES2819449 T3 ES 2819449T3
Authority
ES
Spain
Prior art keywords
trust
client device
tpm
command
secret
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES15813949T
Other languages
English (en)
Inventor
Stefan Thom
Ronald Aigner
Merzin Kapadia
Stuart H Schaefer
Robert Karl Spiger
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Application granted granted Critical
Publication of ES2819449T3 publication Critical patent/ES2819449T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Un sistema que comprende un dispositivo cliente (102) y un dispositivo anfitrión (116) que comprende un módulo de plataforma de confianza (120) y un módulo de agente de confianza (146) para hacer (600) que se ejecute una orden de confianza utilizando un activo criptográfico, comprendiendo además el sistema: uno o más procesadores; y uno o más medios de almacenamiento legibles por ordenador que almacenan instrucciones ejecutables por ordenador que, en respuesta a la ejecución por el uno o más procesadores, hacen que el sistema realice operaciones que incluyen: recibir, a través de una interfaz de red del dispositivo anfitrión (116), un secreto de dispositivo para el dispositivo cliente (102) y el activo criptográfico para el dispositivo cliente, permitiendo el secreto de dispositivo controlar el uso del activo criptográfico; negociar (602), mediante el módulo de agente de confianza (146), el aprovisionamiento del secreto de dispositivo al módulo de plataforma de confianza, TPM, (120) del dispositivo anfitrión, encaminando la negociación el secreto del dispositivo y el activo criptográfico desde la interfaz de red al TPM; recibir (604), mediante el módulo de agente de confianza (146), desde el dispositivo cliente el comando de confianza y el secreto del dispositivo; comunicar (606), mediante el módulo de agente de confianza (146), el comando de confianza y el secreto del dispositivo al TPM del dispositivo anfitrión, autorizando por el TPM el comando de confianza utilizando el secreto del dispositivo de modo que el comando de confianza sea ejecutado por el TPM utilizando el activo criptográfico; y comunicar (608), mediante el módulo de agente de confianza (146), el resultado de realizar el comando de confianza al dispositivo cliente, realizando por parte del dispositivo cliente una o más acciones basadas en el resultado de ejecutar el comando de confianza, caracterizado por que la una o más acciones comprenden cambiar un ajuste de configuración del dispositivo cliente en base a los datos incluidos en el resultado de ejecutar el comando de confianza.

Description

DESCRIPCIÓN
Cripto servicios en remoto que utilizan TPM de servidor
Antecedentes
A medida que los ordenadores se han vuelto cada vez más comunes, se han almacenado cantidades cada vez mayores de datos en los ordenadores. Esto tiene muchos beneficios para los usuarios, incluida la capacidad de almacenar grandes cantidades de datos en espacios relativamente pequeños. Sin embargo, algunos de estos datos a menudo están destinados a mantenerse en secreto o revelarse solo a ciertos individuos. Estos datos se pueden proteger de diferentes formas, tal como mediante contraseñas o números de identificación personal. Aunque dicha protección puede ser útil, los ordenadores pueden ser vulnerables a ataques tales como ataques de diccionario o ataques de fuerza bruta en los que se realizan numerosos intentos de adivinar la contraseña o el número de identificación personal. Estas vulnerabilidades pueden llevar a que los usuarios tengan menos confianza en sus ordenadores, lo que resta valor a una experiencia de usuario positiva.
El documento US 2012/311321 A1 describe un sistema de certificación de datos y un método para firmar datos electrónicos con una firma digital en el que un servidor central comprende un servidor de firmas y un servidor de autenticación. El servidor de firmas almacena de forma segura las claves criptográficas privadas de una serie de usuarios. El usuario se pone en contacto con el servidor central usando una estación de trabajo a través del túnel seguro que está configurado para tal fin. El usuario proporciona una contraseña u otro testigo basado en la información previamente proporcionada al usuario por el servidor de autenticación a través de un canal de autenticación separado. El servidor de autenticación proporciona al servidor de firmas una versión derivada de la misma información a través de un túnel seguro permanente entre los servidores, que se compara con el proporcionado por el usuario. Si coinciden, los datos recibidos del usuario se firman con la clave privada del usuario.
Compendio
Este compendio se proporciona para presentar una selección de conceptos en una forma simplificada que se describen más adelante en la Descripción Detallada. Este Compendio no pretende identificar características clave o características esenciales del tema reivindicado, ni pretende ser utilizado como ayuda para determinar el alcance del tema reivindicado.
Se describen técnicas para utilizar un módulo de plataforma de confianza de un dispositivo anfitrión. Según varias realizaciones, un dispositivo cliente que no incluye un módulo de plataforma de confianza (TPM) puede aprovechar un TPM de un dispositivo anfitrión para proporcionar servicios de confianza al dispositivo cliente.
Breve descripción de los dibujos
La descripción detallada se describe con referencia a las figuras adjuntas. En las figuras, el/los dígito(s) más a la izquierda de un número de referencia identifican la figura en la que aparece primero el número de referencia. El uso de los mismos números de referencia en diferentes casos en la descripción y las figuras puede indicar elementos similares o idénticos.
La figura 1 es una ilustración de un entorno en una implementación de ejemplo que es operable para emplear técnicas discutidas en la presente memoria según una o más realizaciones.
La figura 2 representa un escenario de implementación de ejemplo para permitir que un TPM de un dispositivo anfitrión proporcione servicios de confianza para un dispositivo cliente según una o más realizaciones.
La figura 3 representa un escenario de implementación de ejemplo para aprovisionar un dispositivo anfitrión y un dispositivo anfitrión TPM según una o más realizaciones.
La figura 4 representa un escenario de implementación de ejemplo para hacer que se ejecute un comando de confianza según una o más realizaciones.
La figura 5 es un diagrama de flujo que describe los pasos en un método para permitir la comunicación entre un dispositivo cliente y un módulo de plataforma de confianza de un dispositivo anfitrión según una o más realizaciones. La figura 6 es un diagrama de flujo que describe los pasos en un método para permitir que un dispositivo anfitrión se configure para ejecutar comandos de confianza para un dispositivo cliente según una o más realizaciones.
La figura 7 es un diagrama de flujo que describe los pasos en un método para aprovisionar un TPM de un dispositivo anfitrión para proporcionar servicios de confianza para un dispositivo cliente según una o más realizaciones.
La figura 8 es un diagrama de flujo que describe los pasos en un método para hacer que un TPM de un dispositivo anfitrión ejecute un comando de confianza para un dispositivo cliente según una o más realizaciones.
La figura 9 ilustra un sistema de ejemplo y un dispositivo informático como se describe con referencia a la figura 1, que están configurados para implementar realizaciones de técnicas descritas en la presente memoria.
Descripción detallada
Visión general
Las realizaciones descritas deben considerarse solo como ilustrativas y no restrictivas. El alcance de la invención está definido por las reivindicaciones adjuntas, las reivindicaciones dependientes definen realizaciones adicionales de la invención. Se describen técnicas para utilizar un módulo de plataforma de confianza de un dispositivo anfitrión. En varias implementaciones, un dispositivo cliente que no incluye un módulo de plataforma de confianza (TPM) puede aprovechar un TPM de un dispositivo anfitrión para brindar servicios de confianza al dispositivo cliente. El dispositivo cliente, por ejemplo, puede implementarse como un dispositivo ligero con menos recursos de procesamiento y memoria que el dispositivo anfitrión. Por lo tanto, las técnicas discutidas en la presente memoria permiten interacciones basadas en la confianza entre un dispositivo cliente y un TPM de un dispositivo anfitrión. Según varias implementaciones, un agente de confianza se implementa en un dispositivo anfitrión que gestiona las interacciones entre un dispositivo cliente y un TPM del dispositivo anfitrión. El agente de confianza, por ejemplo, puede implementarse como código ejecutable que está instalado en el dispositivo anfitrión y que está configurado para comunicarse con el TPM del dispositivo anfitrión en nombre del dispositivo cliente.
Las implementaciones aprovechan un secreto de dispositivo para un dispositivo cliente para proteger el uso de un activo criptográfico del dispositivo cliente. Por ejemplo, un activo criptográfico (por ejemplo, un certificado de autorización, una clave criptográfica, etc.) se almacena de forma cifrada en un dispositivo anfitrión. Un TPM del dispositivo anfitrión mantiene un valor de autorización que se establece en el secreto del dispositivo y que se utiliza para proteger el uso del activo criptográfico. Por ejemplo, un dispositivo cliente que solicita que su activo criptográfico sea utilizado por el TPM del dispositivo anfitrión para ejecutar un comando de confianza proporciona el secreto del dispositivo al TPM, por ejemplo, a través del agente de confianza. Luego, el TPM determina si el secreto del dispositivo coincide con el valor de autorización. Si el secreto del dispositivo coincide con el valor de autorización, el TPM utiliza el activo criptográfico para ejecutar un comando de confianza solicitado, tal como firmar un certificado de autorización, cifrar datos, descifrar datos, etc. De lo contrario, si el secreto del dispositivo no coincide con el valor de autorización, se deniega el uso del activo criptográfico.
Por lo tanto, los costes de fabricación pueden conservarse al eliminar la necesidad de un TPM en un dispositivo cliente, al tiempo que se proporciona al dispositivo cliente una funcionalidad de módulo de plataforma de confianza mediante un servicio remoto. Además, un dispositivo pequeño con un factor de forma que no permite un TPM instalado localmente aún se puede proveer con la funcionalidad TPM mediante la interacción con un TPM de un dispositivo anfitrión.
En la siguiente discusión, se describe en primer lugar un entorno de ejemplo que puede utilizarse para emplear las técnicas descritas en la presente memoria. A continuación, una sección titulada "Escenarios de implementación de ejemplo" describe algunos escenarios de ejemplo para utilizar un módulo de plataforma de confianza de un dispositivo anfitrión según una o más realizaciones. A continuación, una sección titulada "Procedimientos de ejemplo" describe algunos métodos de ejemplo para utilizar un módulo de plataforma de confianza de un dispositivo anfitrión según una o más realizaciones. Finalmente, una sección titulada "Sistema y dispositivo de ejemplo" describe un sistema y dispositivo de ejemplo que pueden utilizarse para emplear las técnicas descritas en la presente memoria según una o más realizaciones.
Entorno de ejemplo
La figura 1 es una ilustración de un entorno 100 en una implementación de ejemplo que se puede operar para emplear técnicas para utilizar un módulo de plataforma de confianza de un dispositivo anfitrión discutido en la presente memoria. El entorno 100 incluye un dispositivo cliente 102 que se puede incorporar como cualquier dispositivo adecuado tal como, a modo de ejemplo y no de limitación, un teléfono inteligente, un dispositivo que se puede llevar puesto, etc. En al menos algunas implementaciones, el dispositivo cliente 102 representa un dispositivo inteligente y ligero, tal como un termostato, un sensor de humedad, hardware de seguridad (por ejemplo, cámaras, sensores de movimiento, etc.), una lámpara, un sistema de bloqueo de puertas, etc. Por lo tanto, el dispositivo cliente 102 puede representar generalmente un dispositivo ligero con una potencia de procesamiento y/o recursos de almacenamiento de datos mínimos. Uno de una variedad de diferentes ejemplos de un dispositivo cliente 102 se muestra y describe a continuación en la figura 9.
El dispositivo cliente 102 incluye un sistema operativo cliente 104 y un módulo de comunicación 106. Generalmente, el sistema operativo cliente 104 es representativo de la funcionalidad para abstraer varios componentes del sistema del dispositivo cliente 102, tales como hardware, módulos y servicios de nivel de núcleo, etc.
El módulo de comunicación 106 es representativo de la funcionalidad para permitir que el dispositivo cliente 102 se comunique a través de conexiones cableadas y/o inalámbricas. Por ejemplo, el módulo de comunicación 106 representa el hardware y la lógica para la comunicación a través de una variedad de diferentes protocolos y tecnologías cableadas y/o inalámbricas.
El dispositivo cliente 102 incluye además un módulo de seguridad 108, que es representativo de la funcionalidad del dispositivo cliente 102 para realizar varios aspectos de técnicas para utilizar un módulo de plataforma de confianza de un dispositivo anfitrión. Por ejemplo, el módulo de seguridad 108 incluye un identificador (ID) del dispositivo 110 y un secreto del dispositivo 112. Generalmente, el ID del dispositivo 110 es representativo de un identificador que distingue el dispositivo cliente 102 de otros dispositivos cliente. El ID del dispositivo 110, por ejemplo, puede corresponder a un valor generado aleatoriamente que está vinculado al dispositivo cliente 102. Alternativa o adicionalmente, el ID del dispositivo 110 puede corresponder a un valor criptográfico generado aplicando el secreto del dispositivo 112 a un valor de dato particular para generar el ID del dispositivo 110. Sin embargo, esto no pretende ser limitante, y el ID del dispositivo 110 puede generarse de una variedad de otras formas mientras permanece dentro del alcance de las implementaciones discutidas en la presente memoria.
Generalmente, el secreto del dispositivo 112 es representativo de una clave criptográfica que se genera según cualquier protocolo criptográfico adecuado. Según varias implementaciones, el secreto del dispositivo 112 se almacena permanentemente dentro del módulo de seguridad 108 y una entidad externa, tal como el sistema operativo del cliente 104, no puede acceder a él. El secreto del dispositivo 112, por ejemplo, se almacena en una memoria programable de sólo lectura (PROM) a la que solo es accesible por el módulo de seguridad 108.
El dispositivo cliente 102 incluye además un motor 114 criptográfico ("cripto") cliente, que es representativo de la funcionalidad para cifrar y descifrar datos para el dispositivo cliente 102. Según diversas implementaciones, el motor criptográfico cliente 114 puede funcionar según uno o más de una variedad de diferentes protocolos criptográficos, tales como los protocolos Secure Hash Algorithm (SHA), RSA, MD5, etc. En al menos algunas implementaciones, el motor criptográfico 114 puede cifrar y descifrar datos utilizando una clave derivada usando un Código de Autenticación de Mensajes basado en Comprobación Aleatoria (HMAC).
El entorno 100 incluye además un dispositivo anfitrión 116 que puede incorporarse como cualquier dispositivo adecuado tal como, a modo de ejemplo y sin limitación, un teléfono inteligente, una tableta, un ordenador portable (por ejemplo, un ordenador portátil), un ordenador de escritorio, etc. Generalmente, el dispositivo anfitrión 116 se considera un "anfitrión" por que aloja diversas funcionalidades y servicios para el dispositivo cliente 102, tales como para habilitar aspectos de técnicas para utilizar un módulo de plataforma de confianza de un dispositivo anfitrión discutido en la presente memoria. Según varias implementaciones, el dispositivo anfitrión 116 incluye mayor capacidad de procesamiento y almacenamiento de datos que el dispositivo cliente 102 y, por lo tanto, puede proporcionar servicios basados en la confianza al dispositivo cliente 102. Uno de una variedad de diferentes ejemplos de un dispositivo anfitrión 116 es mostrado y descrito a continuación en la figura 9.
El dispositivo anfitrión 116 incluye una variedad de diferentes funcionalidades que permiten realizar diversas actividades y tareas. Por ejemplo, el dispositivo anfitrión 116 incluye un sistema operativo anfitrión 118. Generalmente, el sistema operativo anfitrión 118 es representativo de la funcionalidad para abstraer varios componentes del sistema del dispositivo anfitrión 116, tales como hardware, módulos y servicios a nivel de núcleo, etc. El sistema operativo anfitrión 118, por ejemplo, puede abstraer varios componentes del dispositivo anfitrión 116 a otras funcionalidades del dispositivo anfitrión 116, tales como aplicaciones, servicios, etc.
El dispositivo anfitrión 116 incluye además un módulo de plataforma de confianza (TPM) 120, que es representativo de una parte del dispositivo anfitrión 116 que está protegida del acceso general por la mayoría o todas las demás funcionalidades del dispositivo anfitrión 116. El TPM 120 puede implementarse de varias formas, tales como un entorno de hardware dedicado y separado (por ejemplo, un chip dedicado), una parte subdividida de un entorno de hardware existente (por ejemplo, una subparte de una unidad central de procesamiento (CPU)), un entorno de microprograma protegido, etc. En una o más implementaciones, el TPM 120 es un módulo según una especificación de Modulo de Plataforma de Confianza (TPM) disponible en Trusted Computing Group (TCG). No se pretende que esto sea limitante, sin embargo, el TPM 120 puede implementarse en una variedad de otras formas.
Según varias implementaciones, la interacción con el TPM 120 está habilitada por un módulo de acceso TPM 122. Generalmente, el módulo de acceso TPM 122 es representativo de la funcionalidad para permitir que diferentes componentes del dispositivo anfitrión 116 interactúen con el TPM 120, tales como componentes del sistema operativo anfitrión 118. El módulo de acceso TPM 122, por ejemplo, representa un controlador de dispositivo para el TPM 120. El módulo de acceso TPM 122 puede implementarse de varias formas, tal como un componente del sistema operativo anfitrión 118, un componente del sistema separado del dispositivo anfitrión 116 (por ejemplo, un componente a nivel de núcleo), combinaciones de los mismos, etc.
El TPM 120 incluye un procesador TPM 124 y un almacenamiento TPM 126. Según diversas implementaciones, el procesador TPM 124 representa una unidad de procesamiento de hardware dedicada que puede ser aprovechada por el TPM 120 para realizar diversas tareas de procesamiento. El almacenamiento TPM 126 es representativo de la capacidad de almacenamiento de datos del TPM 120 y está protegido contra el acceso de entidades externas al TPM 120.
Almacenadas en el almacenamiento TPM 126 se encuentran las políticas de autorización 128 y un certificado de respaldo 130. En general, las políticas de autorización 128 son representativas de diferentes condiciones, reglas, parámetros e instrucciones para controlar el acceso a los activos de seguridad almacenados en el dispositivo anfitrión 116. Por ejemplo, las políticas de autorización individuales 128 pueden estar vinculadas a los activos de seguridad individuales, de modo que el acceso a los activos de seguridad individuales puede controlarse mediante las respectivas políticas de autorización 128. Ejemplos de activos de seguridad incluyen claves de seguridad y otros activos criptográficos mantenidos por el dispositivo anfitrión 116.
El certificado de respaldo 130 es representativo de un certificado de seguridad que se puede aprovechar para autenticar una identidad del TPM 120 ante otras entidades. El certificado de respaldo 130, por ejemplo, representa un certificado de clave de respaldo (EK) del TPM 120. El certificado de respaldo 130 incluye una clave de respaldo 132, que puede emplearse para cifrar y descifrar comunicaciones con otros dispositivos.
El almacenamiento TPM 126 almacena además una clave raíz 134 y un valor de autorización 136. La clave raíz 134 es representativa de una clave raíz de almacenamiento que es utilizada por el TPM 120 para proteger los activos de seguridad mantenidos por el dispositivo anfitrión 116. La clave raíz 134, por ejemplo, se puede utilizar para "envolver" varios activos criptográficos antes de que los activos criptográficos se exporten fuera del TPM 120.
El valor de autorización 136 es representativo de un valor de autorización de uso para una clave de dispositivo 138 asociada con el dispositivo cliente 102. Por ejemplo, para permitir el uso de la clave de dispositivo 138, una entidad solicitante proporcionará el valor de autorización 136. En al menos algunas implementaciones, el valor de autorización 136 es idéntico al secreto del dispositivo 112.
El TPM 120 incluye además funciones de plataforma 140 y registros de plataforma 142. Las funciones de plataforma 140 representan varias funciones utilizadas para proporcionar almacenamiento seguro de información, tales como funciones de autenticación, funciones de generación de claves, funciones de cifrado y descifrado, funciones relacionadas con el contexto, etc. Según varias implementaciones, el módulo de acceso al TPM 122 puede interactuar con las funciones 140 de la plataforma para generar y/o configurar varios aspectos y atributos del TPM 120, tales como envolver varios activos criptográficos usando la clave raíz 134, para que coincida con un comando de confianza para el valor de autorización 136, etc.
Los registros de plataforma 142 representan ubicaciones de almacenamiento para almacenar el estado del sistema y la información de contexto para el dispositivo anfitrión 116. Por ejemplo, los registros de plataforma 142 pueden aprovecharse para almacenar "medidas" de varios componentes del sistema, tales como medidas de módulos del sistema operativo anfitrión 118 que se recopilan en un momento de inicio del sistema. En al menos algunas implementaciones, los registros de plataforma representan registros de configuración de plataforma (PCR) del TPM 120.
Generalmente, una "medición" se refiere a una forma de identificar y/o caracterizar varios datos relacionados con el dispositivo, tales como módulos de código del dispositivo anfitrión 116, datos de configuración del dispositivo anfitrión 116, etc. Como se usa en la presente memoria, el término "módulo de código" generalmente se refiere a partes de código ejecutable, tales como partes del sistema operativo anfitrión 118, procesos, varios binarios y/o ejecutables, etc. Los ejemplos de medidas incluyen valores de comprobación aleatoria generados a partir de datos relacionados con el dispositivo, firmas de datos, versiones cifradas de datos relacionados con el dispositivo y/o porciones de datos relacionados con el dispositivo, etc. Una medición, por ejemplo, puede generarse aplicando un Algoritmo de Comprobación Aleatoria Seguro (SHA) a datos relacionados con el dispositivo, por ejemplo, SHA-1, SHA-2, etc.
El entorno 100 incluye además un servicio de confianza 144, que es representativo de la funcionalidad para proporcionar varios servicios relacionados con la confianza para el dispositivo cliente 102, así como otros dispositivos y/o entidades. Según las implementaciones discutidas en la presente memoria, el dispositivo anfitrión 116 incluye un módulo de agente de confianza ("agente") 146 que es representativo de la funcionalidad para interactuar con el servicio de confianza 144 en nombre del dispositivo cliente 102. Por ejemplo, en al menos algunas implementaciones, el dispositivo cliente 102 no interactúa directamente con el servicio de confianza 144, pero puede activar el módulo de agente de confianza 146 para interactuar con el servicio de confianza 144 en nombre del dispositivo cliente 102.
Generalmente, la comunicación entre el dispositivo anfitrión 116 y el servicio de confianza 144 ocurre a través de la(s) red(es) 148. La(s) red(es) 148 pueden asumir una variedad de configuraciones diferentes, tales como una red de área local (LAN), una red de área amplia (WAN), Internet, etc. La(s) red(es) 148, por ejemplo, pueden incluir una combinación de redes cableadas y/o inalámbricas que se implementan mediante cualquier protocolo cableado y/o inalámbrico adecuado, y/o combinaciones de los mismos. En al menos algunas implementaciones, las funcionalidades discutidas con referencia al entorno 100 y/u otras partes de la discusión en la presente memoria pueden implementarse en un entorno distribuido (por ejemplo, "sobre la nube"), como se describe adicionalmente en relación con la figura 9. El servicio de confianza 144, por ejemplo, representa un servicio distribuido y/o basado en la nube que puede estar alojado en una o más ubicaciones basadas en la red.
El servicio de confianza 144 mantiene los ID del dispositivo 150 y los secretos del dispositivo 152. Generalmente, los ID del dispositivo 150 representan identificadores para diferentes dispositivos, tales como el dispositivo cliente 102. Los secretos del dispositivo 152 representan valores secretos para diferentes dispositivos, tales como números aleatorios, claves de cifrado, claves de descifrado, etc. Por ejemplo, los dispositivos individuales identificados por los ID del dispositivo 150 incluyen cada uno una instancia respectiva diferente de un secreto del dispositivo mantenido por los secretos del dispositivo 152. Según varias implementaciones, un secreto del dispositivo 152 para un dispositivo particular puede ser localizado realizando una búsqueda en los secretos del dispositivo 152 usando el ID del dispositivo para el dispositivo en particular.
El servicio de confianza 144 incluye además un motor de servicio criptográfico (cripto) 154, que es representativo de la funcionalidad para realizar varias funciones criptográficas para el servicio de confianza 144. Por ejemplo, el motor de servicio criptográfico 154 puede realizar tareas de cifrado y descifrado. Según varias implementaciones, el motor de servicio criptográfico 154 puede operar según uno o más de una variedad de protocolos criptográficos diferentes, tales como los protocolos SHA, RSA, MD5, etc. En al menos algunas implementaciones, el motor de cifrado de servicio 154 puede cifrar y descifrar datos utilizando una clave derivada de HMAC.
Además se ilustra como parte del entorno 100 una autoridad del dispositivo 156, que es representativa de una entidad que tiene ciertos privilegios de seguridad y/o responsabilidades con respecto al dispositivo cliente 102. La autoridad del dispositivo 156, por ejemplo, representa a un fabricante de dispositivo cliente 102. Alternativa o adicionalmente, la autoridad del dispositivo 156 representa una entidad que administra y/o mantiene el dispositivo cliente 102, tal como para emitir actualizaciones para los componentes del dispositivo cliente 102 (por ejemplo, para software, microprograma, etc.), para emitir activos de seguridad para el dispositivo cliente 102, para reparar el dispositivo cliente 102, etc.
El dispositivo cliente 102 incluye además un certificado de autorización 158, que se almacena como parte del módulo de seguridad 108. Generalmente, el certificado de autorización 158 representa un certificado de seguridad que puede ser utilizado por el dispositivo cliente 102 para varios propósitos, tales como autenticar una identidad del dispositivo cliente 102 con un tercero. En al menos algunas implementaciones, el certificado de autorización 158 es generado por el servicio de confianza 144 y provisto al dispositivo cliente 102 a través del módulo de agente de confianza 146. El certificado de autorización 158 puede implementarse de varias formas, tales como según el estándar de certificado X.509.
Habiendo descrito un entorno de ejemplo en el que pueden operar las técnicas descritas en la presente memoria, consideremos ahora una discusión de un escenario de implementación de ejemplo según una o más realizaciones. Escenarios de implementación de ejemplo
Esta sección describe algunos escenarios de implementación de ejemplo según una o más implementaciones. Los escenarios de implementación pueden implementarse en el entorno 100 descrito anteriormente y/o en cualquier otro entorno adecuado.
La figura 2 ilustra un escenario 200 de implementación de ejemplo para permitir que un TPM de un dispositivo anfitrión proporcione servicios de confianza para un dispositivo cliente según una o más implementaciones. En al menos algunas implementaciones, el escenario 200 ocurre cuando el dispositivo cliente 102 se instala y/o enciende inicialmente, tal como después de una experiencia inicial lista para usar para el dispositivo cliente 102. El escenario 200, por ejemplo, puede representar un primer evento de encendido para el dispositivo cliente 102 después de que abandona una instalación de fabricación.
En el escenario 200, el dispositivo cliente 102 comunica un evento desencadenante 202 al dispositivo anfitrión 116. El evento desencadenante 202, por ejemplo, indica al dispositivo anfitrión 116 que se comunique con el servicio de confianza 144 y obtenga la funcionalidad para realizar varios servicios de confianza para el dispositivo cliente 102. En al menos algunas implementaciones, el evento desencadenante 202 incluye un enlace (por ejemplo, un hipervínculo) al servicio de confianza 144.
En respuesta al evento desencadenante 202, el dispositivo anfitrión 116 comunica una solicitud 204 al servicio de confianza 144 para la funcionalidad de proporcionar servicios de confianza para el dispositivo cliente 102. En al menos algunas implementaciones, la solicitud 204 se comunica a través de un enlace al servicio de confianza 144 recuperado del evento desencadenante 202.
El servicio de confianza 144 comunica entonces una respuesta 206 al dispositivo anfitrión 116 que incluye el módulo de agente 146. El dispositivo anfitrión 116 realiza un procedimiento de instalación 208 para hacer que el módulo de agente 146 se instale en el dispositivo anfitrión 116.
Continuando con el escenario 200, el dispositivo cliente 102 comunica una solicitud 210 al dispositivo anfitrión 116 para iniciar un procedimiento de verificación para verificar si el TPM 120 es de confianza de manera que pueda aprovecharse para proporcionar servicios de confianza para el dispositivo cliente 102. La solicitud 210 incluye el ID de dispositivo 110. En respuesta a la recepción de la solicitud 210, se realiza un procedimiento de verificación 212 entre el dispositivo cliente 102 y el servicio de confianza 144. En al menos algunas implementaciones, el procedimiento de verificación 212 es moderado por el módulo de agente 146.
Generalmente, el procedimiento de verificación 212 incluye comunicar el certificado de respaldo 130 del TPM 120 al servicio de confianza 144. El servicio de confianza 144 utiliza el certificado de respaldo 130 para verificar si el TPM 120 es un TPM de confianza. Por ejemplo, el servicio de confianza comprueba si el certificado de respaldo 130 es emitido por una autoridad de confianza, tal como una autoridad de certificación de confianza y/o un fabricante de TPM de confianza. Suponiendo que se encuentra que el certificado de respaldo 130 es válido y de confianza, se determina que el TPM 120 es de confianza para proporcionar servicios de confianza para el dispositivo cliente 102. La figura 3 ilustra un escenario de implementación de ejemplo 300 para aprovisionar un dispositivo anfitrión y un TPM de dispositivo anfitrión según una o más implementaciones. En al menos algunas implementaciones, el escenario 300 ocurre después y representa una extensión del escenario 200 descrito anteriormente.
En el escenario 300, el servicio de confianza 144 utiliza el ID de dispositivo 110 para realizar un procedimiento de localización secreta 302 para localizar un secreto de dispositivo 112 para el dispositivo cliente 102. Por ejemplo, el servicio de confianza 144 utiliza el ID de dispositivo 110 para realizar una búsqueda en los secretos del dispositivo 152 para localizar el secreto del dispositivo 112. Una vez que se encuentra el secreto del dispositivo 112, se realiza un procedimiento de inicio de sesión de autorización 304 para hacer que se inicie una sesión de autorización entre el servicio de confianza 144 y el TPM 120. Generalmente, la sesión de autorización permite el intercambio seguro de datos entre el servicio de confianza 144 y el TPM 120. Como se ilustra en la figura 3, varias interacciones entre el servicio de confianza 144 y el TPM 120 son negociadas por el módulo de agente 146.
Según diversas implementaciones, los datos intercambiados como parte del procedimiento de iniciación 304 y la comunicación subsiguiente entre el servicio de confianza 144 y el TPM 120 se cifran utilizando la clave de respaldo 132 del certificado de respaldo, por ejemplo, la parte pública de la clave de respaldo 132. La sesión de autorización, por ejemplo, implica que el servicio de confianza 144 lea la parte pública de la clave raíz 134 para determinar si la clave raíz 134 es de confianza.
Continuando con el escenario 300, el servicio de confianza 144 hace que se realice un procedimiento de provisión de claves 306 de manera que la clave de dispositivo 138 para el dispositivo cliente 102 se genere y aprovisione en el TPM 120. La provisión de generación de claves 306 se puede realizar de varias formas. Por ejemplo, el servicio de confianza 144 puede generar la clave de dispositivo 138 en sí mismo y comunicar la clave de dispositivo 138 al dispositivo cliente 102 para aprovisionar en el TPM 120. En tal implementación, la clave de dispositivo 138 se importa desde el servicio de confianza 144 al TPM 120, y se envuelve utilizando la clave raíz 134. Alternativamente, el servicio de confianza 144 puede notificar al TPM 120 que genere la clave de dispositivo 138 utilizando la clave raíz 134.
Una vez que se genera la clave de dispositivo 138, se realiza un procedimiento de autorización de clave ("aut") 308 que hace que el valor de autorización de uso 136 para la clave de dispositivo 138 se establezca en el secreto de dispositivo 112. En una implementación donde la clave de dispositivo 138 es generada por el servicio de confianza 144, la clave de dispositivo 138 y el valor de autorización 136 se pueden unir entre sí y cifrar antes de ser comunicados al TPM 120. En una implementación donde la clave de dispositivo 138 es generada por el TPM 120, el valor de autorización 136 puede ser cifrado (por ejemplo, usando cifrado de parámetros) por el servicio de confianza 144 antes de ser comunicado al TPM 120.
Además del escenario 300, se realiza un procedimiento de provisión de certificado ("cert") 310 para el certificado de autorización 158. Por ejemplo, el servicio de confianza 144 genera el certificado de autorización 158 para la clave de dispositivo 138 y comunica el certificado de autorización 158 al dispositivo anfitrión 116. El módulo de agente 146 luego comunica el certificado de autorización 158 al dispositivo cliente 102. Por lo tanto, la clave del dispositivo 138 y el certificado de autorización 158 pueden utilizarse ahora como una identidad de confianza para el dispositivo cliente 102 y para proporcionar servicios de confianza para el dispositivo cliente 102, cuyos ejemplos se describen a continuación.
La figura 4 ilustra un escenario 400 de implementación de ejemplo para hacer que se ejecute un comando de confianza según una o más implementaciones. En al menos algunas implementaciones, el escenario 400 ocurre después y representa una extensión de los escenarios 200, 300 descritos anteriormente.
En el escenario 400, el dispositivo cliente comunica una instrucción de confianza 402 al módulo de agente 146 en el dispositivo cliente 102. Generalmente, la instrucción de confianza 402 incluye un comando de confianza para una acción particular basada en la confianza. Se pueden solicitar varios tipos de comandos de confianza, tales como verificar la identidad del dispositivo cliente 102 a un tercero (por ejemplo, utilizando el certificado de autorización 158), cifrar los datos que se enviarán a un tercero, descifrar los datos cifrados enviados desde un tercero, etc. Generalmente, se pueden solicitar varios comandos de confianza disponibles desde un módulo de plataforma de confianza.
Según diversas implementaciones, la instrucción de confianza 402 incluye el secreto del dispositivo 112 y los datos que describe el comando de confianza, y es cifrada por el motor criptográfico cliente 114 antes de ser comunicada al dispositivo anfitrión 116. Por ejemplo, los datos de la instrucción de confianza 402 pueden generarse aplicando una función HMAC al secreto del dispositivo 112 y los datos que describen el comando de confianza solicitado. En al menos algunas implementaciones, el cifrado se realiza utilizando un secreto basado en sesión generado utilizando el secreto del dispositivo 112.
En respuesta a recibir la instrucción de confianza 402, el módulo de agente 146 reenvía la solicitud 402 al TPM 120. El TPM 120 luego descifra 404 la instrucción de confianza 402 (por ejemplo, utilizando un secreto de sesión) para revelar el secreto del dispositivo 112 y los datos que describen el comando de confianza. Generalmente, el comando de confianza especifica una acción de confianza a realizar usando la clave del dispositivo 138, tal como un comando para firmar el certificado de autorización 158 con la clave del dispositivo 138 para autenticar la identidad del dispositivo cliente 102 ante un tercero.
Continuando con el escenario 400, el TPM 120 realiza un procedimiento de verificación secreta 406 para determinar si el secreto del dispositivo 112 de la instrucción de confianza 402 coincide con el valor de autorización 136 para la clave de dispositivo 138. En respuesta a la determinación de que el secreto del dispositivo 112 coincide con el valor de autorización 136, el TPM 120 ejecuta 408 el comando solicitado usando la clave de dispositivo 138. El TPM 120 genera entonces una respuesta de comando 410 que incluye un resultado de realizar el comando de confianza, tal como el certificado de autorización 158 firmado con la clave de dispositivo 138. En al menos algunas implementaciones, la respuesta de comando 410 está cifrada por el TPM 120, tal como usando un secreto de sesión compartido por el TPM 120 y el dispositivo cliente 102.
El TPM 120 luego pasa la respuesta de comando 410 al módulo de agente 146, que luego hace que la respuesta de comando 410 se comunique al dispositivo cliente 102. El dispositivo cliente 102 luego descifra la respuesta de comando 410 para exponer un resultado de comando 412 que corresponde a un resultado de ejecutar el comando de confianza, tal como una versión firmada del certificado de autorización 158, datos descifrados, datos cifrados, etc. Por lo tanto, las implementaciones proporcionan formas de negociación de servicios de confianza para varios dispositivos, tales como dispositivos ligeros que no tienen TPM instalados localmente.
Habiendo descrito algunos escenarios de implementación de ejemplo que pueden emplear técnicas descritas en la presente memoria, consideremos ahora una discusión de algunos procedimientos de ejemplo según una o más realizaciones.
Procedimientos de ejemplo
La siguiente sección describe algunos procedimientos de ejemplo que utilizan un módulo de plataforma de confianza de un dispositivo anfitrión según una o más realizaciones. Los procedimientos de ejemplo pueden emplearse en el entorno 100 de la figura 1, el sistema 900 de la figura 9, y/o cualquier otro entorno adecuado. Según una o más implementaciones, los procedimientos describen formas de ejemplo para realizar varios aspectos de los escenarios de implementación de ejemplo descritos anteriormente. En al menos algunas implementaciones, los pasos descritos para los diversos procedimientos se implementan automática e independientemente de la interacción del usuario. La figura 5 es un diagrama de flujo que describe los pasos de un método según una o más realizaciones. El método, por ejemplo, describe un procedimiento de ejemplo para permitir la comunicación entre un dispositivo cliente y un módulo de plataforma de confianza de un dispositivo anfitrión según una o más realizaciones.
El paso 500 hace que se instale un módulo de agente en un dispositivo anfitrión para la comunicación de negociación entre un dispositivo cliente y un módulo de plataforma de confianza (TPM) del dispositivo anfitrión. El dispositivo cliente 102, por ejemplo, comunica un evento desencadenante al dispositivo anfitrión 116 para la instalación del módulo de agente 146. El dispositivo anfitrión 116 obtiene entonces el módulo de agente 146 (por ejemplo, del servicio de confianza 144) e instala el módulo de agente 146.
El paso 502 hace que el módulo de agente inicie un procedimiento de verificación con un servicio de confianza para verificar un estado de confianza del TPM del dispositivo anfitrión. Por ejemplo, el dispositivo cliente 102 comunica una instrucción al módulo de agente 146 para verificar con el servicio de confianza 144 un estado de confianza del TPM 120. El servicio de confianza 144 luego realiza un procedimiento de verificación de confianza para el TPM 120, cuyos ejemplos se discuten en otro lugar de la presente memoria.
Por lo tanto, el procedimiento descrito anteriormente puede emplearse para configurar un dispositivo anfitrión para permitir que su TPM sea provisto para proporcionar servicios basados en confianza para un dispositivo cliente. La figura 6 es un diagrama de flujo que describe los pasos de un método según una o más realizaciones. El método, por ejemplo, describe un procedimiento de ejemplo para permitir que un dispositivo anfitrión se configure para ejecutar comandos de confianza para un dispositivo cliente según una o más realizaciones.
El paso 600 hace que se lleve a cabo un procedimiento de verificación para verificar un estado de confianza de un módulo de plataforma de confianza (TPM) de un dispositivo anfitrión. El módulo de agente 146, por ejemplo, comunica el certificado de respaldo 130 para el TPM 120 al servicio de confianza 144. En al menos algunas implementaciones, el módulo de agente 146 comunica el certificado de respaldo 130 al servicio de confianza 144 en respuesta a una notificación del dispositivo cliente 102.
El paso 602 negocia el suministro de un secreto de dispositivo para el dispositivo cliente al TPM del dispositivo anfitrión. El módulo de agente 146, por ejemplo, recibe el ID de dispositivo 110 del dispositivo cliente 102 y comunica el ID de dispositivo 110 al servicio de confianza 144. El servicio de confianza 144 devuelve el secreto del dispositivo 112 al módulo de agente 146, que luego comunica el secreto de dispositivo 112 al TPM 120 que se utilizará para establecer el valor de autorización 136. El secreto de dispositivo generalmente permite controlar el uso de un activo criptográfico del dispositivo cliente. Por ejemplo, el módulo de agente 146 negocia el suministro del secreto de dispositivo 112 al TPM 120 para permitir que se controle el uso de la clave de dispositivo 138.
Según una o más implementaciones, el módulo de agente 146 proporciona una interfaz entre un puerto de red del dispositivo anfitrión 116 y el TPM 120. Por lo tanto, la comunicación para el TPM 120 recibida a través del puerto de red puede ser comunicada por el módulo de agente 146 al TPM 120. Además, la comunicación desde el TPM 120 para una entidad particular (por ejemplo, el dispositivo cliente 102, el servicio de confianza 144, etc.) puede ser comunicada por el módulo de agente 146 desde el TPM 120 al puerto de red para reenviar a la entidad particular. El paso 604 recibe del dispositivo cliente un comando de confianza y el secreto del dispositivo. El módulo de agente 146, por ejemplo, recibe la orden de confianza y el secreto del dispositivo 112 del dispositivo cliente 102, por ejemplo, de forma cifrada.
El paso 606 comunica el comando de confianza y el secreto del dispositivo al TPM del dispositivo anfitrión. Por ejemplo, el comando de confianza y el secreto del dispositivo 112 son comunicados por el módulo de agente 146 al TPM 120. El módulo de agente 146 también puede cargar la clave del dispositivo 138 en el TPM 120 para permitir su uso. Según varias implementaciones, esto hace que el TPM 120 autorice el comando de confianza haciendo coincidir el secreto del dispositivo 112 con el valor de autorización 136, de modo que el TPM 120 realice el comando de confianza utilizando la clave de dispositivo 138. Por lo tanto, el uso de un activo criptográfico se autoriza proporcionando el secreto del dispositivo 112.
El paso 608 hace que el resultado de la ejecución del comando de confianza se comunique al dispositivo cliente. Por ejemplo, el módulo de agente 146 comunica el resultado al dispositivo cliente 102, lo que hace que el dispositivo cliente 102 realice una o más acciones basándose en el resultado de ejecutar el comando de confianza. A continuación se detallan ejemplos de tales acciones.
La figura 7 es un diagrama de flujo que describe los pasos de un método según una o más realizaciones. El método, por ejemplo, describe un procedimiento de ejemplo para aprovisionar un TPM de un dispositivo anfitrión para proporcionar servicios de confianza para un dispositivo cliente según una o más realizaciones.
El paso 700 recibe un identificador de dispositivo para un dispositivo cliente y un certificado de respaldo para un módulo de plataforma de confianza (TPM) de un dispositivo anfitrión. El servicio de confianza 144, por ejemplo, recibe el ID de dispositivo 110 y el certificado de respaldo 130 del módulo de agente 146.
El paso 702 verifica en base al certificado de respaldo que el TPM es de confianza. El servicio de confianza 144, por ejemplo, consulta a una autoridad de TPM con el certificado de respaldo 130 y/o la clave de respaldo 132 para determinar si el certificado de respaldo 130 y/o la clave de respaldo 132 están asociados con un TPM de confianza conocido.
El paso 704 utiliza el identificador de dispositivo para recuperar un secreto de dispositivo para el dispositivo cliente. Por ejemplo, el servicio de confianza 144 consulta los secretos del dispositivo 152 con el ID del dispositivo 110 para identificar el secreto del dispositivo 112 para el dispositivo cliente 102. Generalmente, los secretos del dispositivo 152 pueden incluir secretos del dispositivo para múltiples dispositivos cliente diferentes, y los secretos del dispositivo individuales son asignados a identificadores de dispositivos individuales para sus respectivos dispositivos cliente. El paso 706 hace que el secreto del dispositivo y un activo criptográfico para el dispositivo cliente se suministren al dispositivo anfitrión. El servicio de confianza 144, por ejemplo, hace que la clave 138 del dispositivo se suministre al dispositivo anfitrión 116, y que el valor de autorización 136 se establezca en el secreto del dispositivo 112. Como se discutió anteriormente, el servicio de confianza 144 puede generar la clave del dispositivo 138 e importar la clave de dispositivo 138 al módulo de agente 146. El módulo de agente 146 pasa la clave de dispositivo 138 al TPM 120, que envuelve la clave de dispositivo 138 con la clave de raíz 134 para su almacenamiento en el dispositivo anfitrión 116. Alternativamente, el servicio de confianza 144 puede solicitar al TPM 120 que genere la clave de dispositivo 138 en sí misma, por ejemplo, utilizando la clave raíz 134.
Generalmente, el valor de autorización 136 permite controlar el uso de la clave del dispositivo 138. Por consiguiente, el TPM 120 ejecuta un comando de confianza desde el dispositivo cliente 102 utilizando la clave del dispositivo 138 en respuesta a la recepción del secreto del dispositivo 112 desde el dispositivo cliente 102.
En al menos algunas implementaciones, el servicio de confianza 144 genera el certificado de autorización 158 para acompañar a la clave de dispositivo 138, y comunica el certificado de autorización 158 al dispositivo anfitrión 116 para su suministro al dispositivo cliente 102. La clave de dispositivo 138 puede ser utilizada por el TPM 120 para firmar el certificado de autorización 158 para autenticar una identidad del dispositivo cliente 102.
La figura 8 es un diagrama de flujo que describe los pasos de un método según una o más realizaciones. El método, por ejemplo, describe un procedimiento de ejemplo para hacer que un TPM de un dispositivo anfitrión ejecute un comando de confianza para un dispositivo cliente según una o más realizaciones.
El paso 800 comunica un comando de confianza y un secreto de dispositivo para un dispositivo cliente para que lo reciba un módulo de plataforma de confianza (TPM) de un dispositivo anfitrión. El dispositivo cliente 102, por ejemplo, comunica un comando de confianza junto con el secreto de dispositivo 112 al módulo de agente 146, que reenvía el comando de confianza y el secreto de dispositivo 112 al TPM 120. Como se discutió en la presente memoria, el comando de confianza se puede implementar en varias maneras. El comando de confianza, por ejemplo, puede indicar al TPM 120 que firme el certificado de autorización 158 con la clave de dispositivo 138, para verificar la identidad del dispositivo cliente 102. Se pueden ejecutar varios otros comandos de confianza, tales como un comando para cifrar datos con la clave de dispositivo 138, un comando para descifrar datos cifrados con la clave de dispositivo 138, etc.
El paso 802 recibe el resultado de ejecutar el comando de confianza. El dispositivo cliente 102, por ejemplo, recibe un resultado del TPM 120 que realiza el comando de confianza desde el módulo de agente 146. El resultado de ejecutar el comando de confianza puede incorporarse de varias formas, tales como una versión firmada del certificado de autorización 158, datos que se cifran mediante la clave del dispositivo 138, datos que se descifran mediante la clave del dispositivo 138, etc.
El paso 804 realiza una acción en el dispositivo cliente utilizando el resultado de ejecutar el comando de confianza. El dispositivo cliente 102, por ejemplo, realiza una acción basada en los datos recibidos del módulo de agente 146 como resultado de que el TPM 120 realice el comando de confianza.
Se pueden realizar varios tipos de acciones en función de un resultado que realice un comando de confianza. Por ejemplo, el resultado puede incluir datos descifrados de una entidad remota que indican un cambio en la configuración del dispositivo para el dispositivo cliente 102. El dispositivo cliente 102, por ejemplo, puede implementarse como un aparato inteligente, como un termostato, una fuente de luz, un dispositivo de seguridad, un aparato de seguridad, etc. Por lo tanto, el resultado de ejecutar el comando de confianza puede incluir datos descifrados que pueden usarse para realizar una acción, tal como una acción para establecer y/o cambiar la configuración del aparato en el aparato inteligente. Generalmente, cambiar la configuración del aparato puede cambiar el comportamiento operativo del dispositivo cliente 102 para optimizar el rendimiento del dispositivo, cambiar la forma en que se recopilan los datos (por ejemplo, la entrada del sensor), cambiar una entidad a la que se comunican los datos del dispositivo cliente 102, etc.
Como otro ejemplo, el resultado del comando de confianza puede incluir datos cifrados para el dispositivo cliente 102. Por ejemplo, el dispositivo cliente 102 puede tener datos para ser transmitidos a una entidad remota y, por lo tanto, puede comunicar los datos al TPM 120 para su cifrado utilizando la clave de dispositivo 138. El módulo de agente 146 puede devolver los datos cifrados del TPM 120, y la acción realizada puede incluir comunicar los datos cifrados a una entidad remota para evitar exponer los datos en claro a una entidad no autorizada y/o maliciosa. En otro ejemplo más, el resultado del comando de confianza puede incluir una versión firmada del certificado de autorización 158. Por lo tanto, la acción realizada por el dispositivo cliente 102 puede incluir comunicar el certificado firmado a un tercero para autenticar una identidad de confianza del dispositivo cliente 102.
En consecuencia, la seguridad de las comunicaciones hacia y desde el dispositivo cliente 102 se mejora mediante la interacción con el módulo de agente 146 y el TPM 120 según técnicas para utilizar un módulo de plataforma de confianza de un dispositivo anfitrión discutido en la presente memoria.
Habiendo discutido algunos procedimientos de ejemplo que utilizan un módulo de plataforma de confianza de un dispositivo anfitrión, consideremos ahora una discusión de un sistema y dispositivo de ejemplo según una o más realizaciones.
Ejemplo de sistema y dispositivo
La figura 9 ilustra un sistema de ejemplo generalmente en 900 que incluye un dispositivo informático 902 de ejemplo que es representativo de uno o más sistemas y/o dispositivos informáticos que pueden implementar varias técnicas descritas en la presente memoria. Por ejemplo, el dispositivo anfitrión 116 discutido anteriormente con referencia a la figura 1 puede realizarse como el dispositivo informático 902. El dispositivo informático 902 puede ser, por ejemplo, un servidor de un proveedor de servicios, un dispositivo asociado con el cliente (por ejemplo, un dispositivo cliente), un sistema en chip, y/o cualquier otro dispositivo informático o sistema informático adecuado.
El dispositivo informático 902 de ejemplo, como se ilustra, incluye un sistema de procesamiento 904, uno o más medios legibles por ordenador 906 y una o más interfaces de entrada/salida (E/S) 908 que están acopladas comunicativamente entre sí. Aunque no se muestra, el dispositivo informático 902 puede incluir además un bus de sistema u otro sistema de transferencia de datos y comandos que acople los diversos componentes entre sí. Un bus de sistema puede incluir una cualquiera o una combinación de diferentes estructuras de bus, tales como un bus de memoria o controlador de memoria, un bus de periféricos, un bus serie universal y/o un procesador o bus local que utiliza cualquiera de una variedad de arquitecturas de bus. También se contempla una variedad de otros ejemplos, tales como líneas de control y de datos.
El sistema de procesamiento 904 es representativo de la funcionalidad para realizar una o más operaciones usando hardware. Por consiguiente, el sistema de procesamiento 904 se ilustra como que incluye el elemento de hardware 910 que puede configurarse como procesadores, bloques funcionales, etc. Esto puede incluir la implementación en hardware como un circuito integrado específico de la aplicación u otro dispositivo lógico formado usando uno o más semiconductores. Los elementos de hardware 910 no están limitados por los materiales de los que están formados o los mecanismos de procesamiento empleados en ellos. Por ejemplo, los procesadores pueden estar compuestos por semiconductor(es) y/o transistores (por ejemplo, circuitos integrados (CI) electrónicos). En tal contexto, las instrucciones ejecutables por procesador pueden ser instrucciones ejecutables electrónicamente.
El medio legible por ordenador 906 se ilustra como que incluye memoria/almacenamiento 912. La memoria/almacenamiento 912 representa la capacidad de memoria/almacenamiento asociada con uno o más medios legibles por ordenador. La memoria/almacenamiento 912 puede incluir medios volátiles (tales como memoria de acceso aleatorio (RAM)) y/o medios no volátiles (tales como memoria de sólo lectura (ROM), memoria Flash, discos ópticos, discos magnéticos, etc.). La memoria/almacenamiento 912 puede incluir medios fijos (por ejemplo, RAM, ROM, un disco duro fijo, etc.) así como medios extraíbles (por ejemplo, memoria Flash, un disco duro extraíble, un disco óptico, etc.). El medio legible por ordenador 906 puede configurarse de una variedad de otras formas como se describe más adelante.
La(s) interfaz/interfaces de entrada/salida 908 son representativas de la funcionalidad para permitir que un usuario ingrese comandos e información al dispositivo informático 902, y también permiten que se presente información al usuario y/u otros componentes o dispositivos usando varios dispositivos de entrada/salida. Los ejemplos de dispositivos de entrada incluyen un teclado, un dispositivo de control del cursor (por ejemplo, un ratón), un micrófono (por ejemplo, para reconocimiento de voz y/o entrada hablada), un escáner, una funcionalidad táctil (por ejemplo, sensores capacitivos u otros que están configurados para detectar el tacto físico), una cámara (por ejemplo, que puede emplear longitudes de onda visibles o no visibles, tales como frecuencias infrarrojas, para detectar movimiento que no implique el tacto como gestos), etc. Los ejemplos de dispositivos de salida incluyen un dispositivo de visualización (por ejemplo, un monitor o proyector), altavoces, una impresora, una tarjeta de red, un dispositivo de respuesta táctil, etc. Por lo tanto, el dispositivo informático 902 puede configurarse de diversas formas, como se describe con más detalle a continuación, para soportar la interacción del usuario.
En la presente memoria se pueden describir varias técnicas en el contexto general de software, elementos de hardware o módulos de programa. Generalmente, tales módulos incluyen rutinas, programas, objetos, elementos, componentes, estructuras de datos, etc. que realizan tareas particulares o implementan tipos de datos abstractos particulares. Los términos "módulo", "funcionalidad", "entidad" y "componente" tal como se utilizan en la presente memoria generalmente representan software, microprograma, hardware o una combinación de los mismos. Las características de las técnicas descritas en la presente memoria son independientes de la plataforma, lo que significa que las técnicas pueden implementarse en una variedad de plataformas informáticas comerciales que tienen una variedad de procesadores.
Una implementación de los módulos y técnicas descritos puede almacenarse o transmitirse a través de alguna forma de medio legible por ordenador. Los medios legibles por ordenador pueden incluir una variedad de medios a los que puede acceder el dispositivo 902. A modo de ejemplo, y no de limitación, los medios legibles por ordenador pueden incluir "medios de almacenamiento legibles por ordenador" y "medios de señal legibles por ordenador".
"Medios de almacenamiento legibles por ordenador" pueden referirse a medios y/o dispositivos que permiten el almacenamiento persistente de información en contraste con la mera transmisión de señales, ondas portadoras o señales per se. Los medios de almacenamiento legibles por ordenador no incluyen señales per se. Los medios de almacenamiento legibles por ordenador incluyen hardware tal como medios volátiles y no volátiles, extraíbles y no extraíble y/o dispositivos de almacenamiento implementados en un método o tecnología adecuada para el almacenamiento de información, tales como instrucciones legibles por ordenador, estructuras de datos, módulos de programa, elementos/circuitos lógicos u otros datos. Ejemplos de medios de almacenamiento legibles por ordenador pueden incluir, entre otros, RAM, ROM, EEPROM, memoria flash u otra tecnología de memoria, CD-ROM, discos versátiles digitales (DVD) u otro almacenamiento óptico, discos duros, casetes magnéticos, cinta magnética, almacenamiento en disco magnético u otros dispositivos de almacenamiento magnéticos, u otro dispositivo de almacenamiento, medio tangible o artículo de fabricación adecuado para almacenar la información deseada y al que se puede acceder mediante un ordenador.
"Medios de señal legibles por ordenador" pueden referirse a un medio portador de señales que está configurado para transmitir instrucciones al hardware del dispositivo informático 902, tal como a través de una red. Los medios de señal típicamente pueden incorporar instrucciones legibles por ordenador, estructuras de datos, módulos de programa u otros datos en una señal de datos modulada, tales como ondas portadoras, señales de datos u otro mecanismo de transporte. Los medios de señal también incluyen cualquier medio de transmisión de información. El término "señal de datos modulados" significa una señal que tiene una o más de sus características establecidas o cambiadas de tal manera que codifica información en la señal. A modo de ejemplo, y no de limitación, los medios de comunicación incluyen medios cableados tales como una red cableada o una conexión cableada directa y medios inalámbricos tales como acústicos, radiofrecuencia (RF), infrarrojos y otros medios inalámbricos.
Como se describió anteriormente, los elementos de hardware 910 y los medios legibles por ordenador 906 son representativos de instrucciones, módulos, lógica de dispositivo programable y/o lógica de dispositivo fijo implementados en una forma de hardware que pueden emplearse en algunas realizaciones para implementar al menos algunos aspectos de las técnicas descritas en la presente memoria. Los elementos de hardware pueden incluir componentes de un circuito integrado o sistema en chip, un circuito integrado de aplicación específica (ASIC), una matriz de puertas programables en campo (FPGA), un dispositivo lógico programable complejo (CPLD) y otras implementaciones en silicio u otros dispositivos de hardware. En este contexto, un elemento de hardware puede operar como un dispositivo de procesamiento que realiza tareas de programa definidas por instrucciones, módulos y/o lógica incorporada por el elemento de hardware, así como un dispositivo de hardware utilizado para almacenar instrucciones para la ejecución, por ejemplo, los medios de almacenamiento legibles por ordenador descritos anteriormente.
También se pueden emplear combinaciones de lo anterior para implementar diversas técnicas y módulos descritos en la presente memoria. En consecuencia, los módulos de software, hardware o programa y otros módulos de programa pueden implementarse como una o más instrucciones y/o lógica incorporada en alguna forma de medio de almacenamiento legible por ordenador y/o por uno o más elementos de hardware 910. El dispositivo informático 902 puede configurarse para implementar instrucciones y/o funciones particulares correspondientes a los módulos de software y/o hardware. Por consiguiente, la implementación de módulos que son ejecutables por el dispositivo informático 902 como software puede lograrse al menos parcialmente en hardware, por ejemplo, mediante el uso de medios de almacenamiento legibles por ordenador y/o elementos de hardware 910 del sistema de procesamiento. Las instrucciones y/o funciones pueden ser ejecutables/operables por uno o más artículos de fabricación (por ejemplo, uno o más dispositivos informáticos 902 y/o sistemas de procesamiento 904) para implementar técnicas, módulos y ejemplos descritos en la presente memoria.
Como se ilustra adicionalmente en la figura 9, el sistema 900 de ejemplo permite entornos ubicuos para una experiencia de usuario sin problemas cuando se ejecutan aplicaciones en un ordenador personal (PC), un dispositivo de televisión y/o un dispositivo móvil. Los servicios y aplicaciones se ejecutan de manera sustancialmente similar en los tres entornos para brindar una experiencia de usuario común al pasar de un dispositivo al siguiente mientras se utiliza una aplicación, se juega a un videojuego, se ve un video, etc.
En el sistema 900 de ejemplo, varios dispositivos están interconectados a través de un dispositivo informático central. El dispositivo informático central puede ser local para los múltiples dispositivos o puede estar ubicado de forma remota de los múltiples dispositivos. En una realización, el dispositivo informático central puede ser una nube de uno o más ordenadores servidores que están conectados a los múltiples dispositivos a través de una red, Internet u otro enlace de comunicación de datos.
En una realización, esta arquitectura de interconexión permite que la funcionalidad se entregue a través de múltiples dispositivos para proporcionar una experiencia común y sin problemas a un usuario de los múltiples dispositivos. Cada uno de los múltiples dispositivos puede tener diferentes requisitos y capacidades físicas, y el dispositivo informático central utiliza una plataforma para permitir la entrega de una experiencia al dispositivo que tanto se adapta al dispositivo como, sin embargo, es común a todos los dispositivos. En una realización, se crea una clase de dispositivos de destino y las experiencias se adaptan a la clase genérica de dispositivos. Una clase de dispositivos puede definirse por características físicas, tipos de uso u otras características comunes de los dispositivos.
En varias implementaciones, el dispositivo informático 902 puede asumir una variedad de configuraciones diferentes, tales como para usos en el ordenador 914, el móvil 916 y la televisión 918. Cada una de estas configuraciones incluye dispositivos que pueden tener, en general, construcciones y capacidades diferentes y, por lo tanto, el dispositivo informático 902 puede configurarse según una o más de las diferentes clases de dispositivos. Por ejemplo, el dispositivo informático 902 puede implementarse como la clase de ordenador 914 de un dispositivo que incluye un ordenador personal, un ordenador de escritorio, un ordenador multipantalla, un ordenador portátil, un ordenador de agenda, etc.
El dispositivo informático 902 también puede implementarse como la clase de dispositivo móvil 916 que incluye dispositivos móviles, tales como un teléfono móvil, un reproductor de música portátil, un dispositivo de juego portátil, una tableta, un dispositivo que se puede llevar puesto, un ordenador multipantalla, etc. El dispositivo informático 902 también puede implementarse como la clase de dispositivo de televisión 918 que incluye dispositivos que tienen o están conectados a pantallas generalmente más grandes en entornos de visualización casuales. Estos dispositivos incluyen televisores, decodificadores, consolas de juegos, etc.
Las técnicas descritas en la presente memoria pueden estar respaldadas por estas diversas configuraciones del dispositivo informático 902 y no se limitan a los ejemplos específicos de las técnicas descritas en la presente memoria. Por ejemplo, las funcionalidades discutidas con referencia al dispositivo anfitrión 116 y/o el servicio de confianza 144 pueden implementarse total o parcialmente mediante el uso de un sistema distribuido, tal como en una "nube" 920 a través de una plataforma 922 como se describe a continuación.
La nube 920 incluye y/o es representativa de una plataforma 922 para recursos 924. La plataforma 922 abstrae la funcionalidad subyacente del hardware (por ejemplo, servidores) y los recursos de software de la nube 920. Los recursos 924 pueden incluir aplicaciones y/o datos que pueden ser utilizados mientras el procesamiento informático se ejecuta en servidores que están remotos del dispositivo informático 902. Los recursos 924 también pueden incluir servicios proporcionados a través de Internet y/o a través de una red de abonados, tal como una red celular o Wi-Fi. La plataforma 922 puede abstraer recursos y funciones para conectar el dispositivo informático 902 con otros dispositivos informáticos. La plataforma 922 también puede servir para abstraer el escalado de recursos para proporcionar un nivel de escala correspondiente a la demanda encontrada de los recursos 924 que se implementan a través de la plataforma 922. En consecuencia, en una realización de dispositivo interconectado, la implementación de la funcionalidad descrita en la presente memoria puede distribuirse por todas partes del sistema 900. Por ejemplo, la funcionalidad puede implementarse en parte en el dispositivo informático 902 así como a través de la plataforma 922 que abstrae la funcionalidad de la nube 920.
En la presente memoria se discuten una serie de métodos que pueden implementarse para realizar las técnicas discutidas en la presente memoria. Los aspectos de los métodos se pueden implementar en hardware, microprograma o software, o una combinación de los mismos. Los métodos se muestran como un conjunto de pasos que especifican las operaciones realizadas por uno o más dispositivos y no están necesariamente limitados a las órdenes mostradas para realizar las operaciones por los respectivos bloques. Además, una operación mostrada con respecto a un método particular puede combinarse y/o intercambiarse con una operación de un método diferente según una o más implementaciones. Los aspectos de los métodos se pueden implementar mediante la interacción entre varias entidades discutidas anteriormente con referencia al entorno 100.
Conclusión
Se describen técnicas que utilizan un módulo de plataforma de confianza de un dispositivo anfitrión. Aunque las realizaciones se describen en un lenguaje específico para características estructurales y/o actos metodológicos, debe entenderse que las realizaciones definidas en las reivindicaciones adjuntas no están necesariamente limitadas a las características específicas o actos descritos. Más bien, las características y actos específicos se describen como formas de implementación de ejemplo de las realizaciones reivindicadas.

Claims (12)

REIVINDICACIONES
1. Un sistema que comprende un dispositivo cliente (102) y un dispositivo anfitrión (116) que comprende un módulo de plataforma de confianza (120) y un módulo de agente de confianza (146) para hacer (600) que se ejecute una orden de confianza utilizando un activo criptográfico, comprendiendo además el sistema:
uno o más procesadores; y
uno o más medios de almacenamiento legibles por ordenador que almacenan instrucciones ejecutables por ordenador que, en respuesta a la ejecución por el uno o más procesadores, hacen que el sistema realice operaciones que incluyen:
recibir, a través de una interfaz de red del dispositivo anfitrión (116), un secreto de dispositivo para el dispositivo cliente (102) y el activo criptográfico para el dispositivo cliente, permitiendo el secreto de dispositivo controlar el uso del activo criptográfico;
negociar (602), mediante el módulo de agente de confianza (146), el aprovisionamiento del secreto de dispositivo al módulo de plataforma de confianza, TPM, (120) del dispositivo anfitrión, encaminando la negociación el secreto del dispositivo y el activo criptográfico desde la interfaz de red al TPM; recibir (604), mediante el módulo de agente de confianza (146), desde el dispositivo cliente el comando de confianza y el secreto del dispositivo;
comunicar (606), mediante el módulo de agente de confianza (146), el comando de confianza y el secreto del dispositivo al TPM del dispositivo anfitrión, autorizando por el TPM el comando de confianza utilizando el secreto del dispositivo de modo que el comando de confianza sea ejecutado por el TPM utilizando el activo criptográfico; y
comunicar (608), mediante el módulo de agente de confianza (146), el resultado de realizar el comando de confianza al dispositivo cliente, realizando por parte del dispositivo cliente una o más acciones basadas en el resultado de ejecutar el comando de confianza,
caracterizado por que la una o más acciones comprenden cambiar un ajuste de configuración del dispositivo cliente en base a los datos incluidos en el resultado de ejecutar el comando de confianza.
2. El sistema según se describe en la reivindicación 1, en donde dicha negociación (602) se inicia en respuesta a una notificación del dispositivo cliente.
3. El sistema según se describe en la reivindicación 1, en donde dicha negociación (602) se realiza mediante la interacción entre el dispositivo anfitrión y un servicio de confianza.
4. El sistema según se describe en la reivindicación 1, en donde dicha negociación (602) se implementa mediante la interacción con un servicio de confianza de red, y en donde las operaciones incluyen además, antes de dicha negociación, realizar un procedimiento de verificación con el servicio de confianza de red para permitir un estado de confianza del TPM a verificar.
5. El sistema según se describe en la reivindicación 1, en donde las operaciones incluyen además recibir un identificador de dispositivo desde el dispositivo cliente, y en donde dicha negociación (602) incluye comunicar el identificador de dispositivo para el dispositivo cliente a un servicio de confianza basado en red desde el cual se recibe el secreto de dispositivo.
6. El sistema según se describe en la reivindicación 1, en donde el comando de confianza incluye al menos una de una solicitud para cifrar datos con el activo criptográfico, una solicitud para descifrar datos con el activo criptográfico, o una solicitud para firmar un certificado de seguridad utilizando el activo criptográfico.
7. Un método implementado por ordenador para realizar una acción basada en el resultado de un comando de confianza en un sistema que comprende un dispositivo cliente (102) y un dispositivo anfitrión (116) que comprende un módulo de plataforma de confianza (120), comprendiendo el método:
recibir, a través de una interfaz de red del dispositivo anfitrión, un secreto de dispositivo para el dispositivo cliente y un activo criptográfico para el dispositivo cliente; comunicar por el dispositivo cliente (800) el comando de confianza y el secreto del dispositivo para el dispositivo cliente (102) para que el módulo de plataforma de confianza, TPM, (120) lo reciba del dispositivo anfitrión (116), autorizar por el TPM el comando de confianza usando el secreto del dispositivo; realizar por parte del dispositivo anfitrión el comando de confianza utilizando el activo criptográfico para realizar uno o más de los datos de descifrado recibidos de un tercero, cifrar los datos para enviarlos al tercero, o firmar un certificado de autorización para que se envíe al tercero;
recibir por el dispositivo cliente (802), desde el dispositivo anfitrión, el resultado de realizar el comando de confianza; y
realizar (804) por el dispositivo cliente la acción en el dispositivo cliente (102) utilizando el resultado de ejecutar el comando de confianza,
caracterizado por que la acción comprende cambiar un ajuste de configuración del dispositivo cliente en función de los datos incluidos en el resultado de ejecutar el comando de confianza.
8. Un método implementado por ordenador según la reivindicación 7, en donde dicha comunicación comprende comunicar un certificado de autorización con el comando de confianza, y en donde el comando de confianza comprende un comando para firmar el comando de confianza con una clave de dispositivo mantenida por el dispositivo anfitrión para el dispositivo cliente.
9. Un método implementado por ordenador según la reivindicación 7, en donde el dispositivo cliente comprende un dispositivo informático sin un módulo de plataforma de confianza instalado localmente.
10. Un método implementado por ordenador según la reivindicación 7, en donde dicha comunicación y dicha recepción se realizan a través de una conexión inalámbrica entre el dispositivo cliente y el dispositivo anfitrión.
11. Un método implementado por ordenador según la reivindicación 7, que comprende además, antes de dicha comunicación:
instalar un módulo de agente en el dispositivo anfitrión para la negociación de la comunicación entre el dispositivo cliente y el TPM del dispositivo anfitrión.
12. Un método implementado por ordenador según la reivindicación 7, que comprende además, antes de dicha comunicación:
instalar un módulo agente en el dispositivo anfitrión para la negociación de la comunicación entre el dispositivo cliente y el TPM del dispositivo anfitrión; e
iniciar por el módulo de agente un procedimiento de verificación con un servicio de confianza basado en la red para verificar un estado de confianza del TPM del dispositivo anfitrión.
ES15813949T 2014-12-01 2015-11-20 Cripto servicios en remoto que utilizan TPM de servidor Active ES2819449T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/557,197 US9742762B2 (en) 2014-12-01 2014-12-01 Utilizing a trusted platform module (TPM) of a host device
PCT/US2015/061720 WO2016089615A1 (en) 2014-12-01 2015-11-20 Remote crypto services using tpm of server

Publications (1)

Publication Number Publication Date
ES2819449T3 true ES2819449T3 (es) 2021-04-16

Family

ID=54979915

Family Applications (1)

Application Number Title Priority Date Filing Date
ES15813949T Active ES2819449T3 (es) 2014-12-01 2015-11-20 Cripto servicios en remoto que utilizan TPM de servidor

Country Status (5)

Country Link
US (2) US9742762B2 (es)
EP (1) EP3227823B1 (es)
CN (2) CN107005407B (es)
ES (1) ES2819449T3 (es)
WO (1) WO2016089615A1 (es)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10303879B1 (en) * 2014-11-06 2019-05-28 Amazon Technologies, Inc. Multi-tenant trusted platform modules
US9742762B2 (en) 2014-12-01 2017-08-22 Microsoft Technology Licensing, Llc Utilizing a trusted platform module (TPM) of a host device
US10474823B2 (en) 2016-02-16 2019-11-12 Atmel Corporation Controlled secure code authentication
US10482255B2 (en) * 2016-02-16 2019-11-19 Atmel Corporation Controlled secure code authentication
US10616197B2 (en) 2016-04-18 2020-04-07 Atmel Corporation Message authentication with secure code verification
CN108229179A (zh) * 2018-01-31 2018-06-29 郑州云海信息技术有限公司 一种提高系统安全性的方法、装置、设备及存储介质
CN110740109A (zh) * 2018-07-18 2020-01-31 慧与发展有限责任合伙企业 网络设备、用于安全的方法和计算机可读存储介质
US11223489B1 (en) 2021-02-23 2022-01-11 Garantir LLC Advanced security control implementation of proxied cryptographic keys
US11418329B1 (en) 2021-05-28 2022-08-16 Garantir LLC Shared secret implementation of proxied cryptographic keys
US11218317B1 (en) 2021-05-28 2022-01-04 Garantir LLC Secure enclave implementation of proxied cryptographic keys
US11502827B1 (en) * 2021-09-03 2022-11-15 Garantir LLC Exporting remote cryptographic keys
CN116049837B (zh) * 2023-03-31 2024-03-15 摩尔线程智能科技(北京)有限责任公司 一种可信计算系统及方法、电子设备和存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0119629D0 (en) * 2001-08-10 2001-10-03 Cryptomathic As Data certification method and apparatus
US7380119B2 (en) 2004-04-29 2008-05-27 International Business Machines Corporation Method and system for virtualization of trusted platform modules
US7802111B1 (en) 2005-04-27 2010-09-21 Oracle America, Inc. System and method for limiting exposure of cryptographic keys protected by a trusted platform module
US7587595B2 (en) 2005-05-13 2009-09-08 Intel Corporation Method and apparatus for providing software-based security coprocessors
US7613921B2 (en) * 2005-05-13 2009-11-03 Intel Corporation Method and apparatus for remotely provisioning software-based security coprocessors
US8272002B2 (en) 2006-08-18 2012-09-18 Fujitsu Limited Method and system for implementing an external trusted platform module
CN101369889B (zh) * 2007-08-13 2010-12-22 兆日科技(深圳)有限公司 一种对文档进行电子签名的方法
US8352740B2 (en) 2008-05-23 2013-01-08 Microsoft Corporation Secure execution environment on external device
CN101727551A (zh) * 2008-10-10 2010-06-09 李玲 计算机安全传递密钥私钥的方法
CN101593324B (zh) * 2009-06-17 2012-05-23 浙江师范大学 基于可信计算应用技术的网络多级审批方法及系统
US8700893B2 (en) 2009-10-28 2014-04-15 Microsoft Corporation Key certification in one round trip
US8375437B2 (en) * 2010-03-30 2013-02-12 Microsoft Corporation Hardware supported virtualized cryptographic service
US8868915B2 (en) * 2010-12-06 2014-10-21 Verizon Patent And Licensing Inc. Secure authentication for client application access to protected resources
US8375221B1 (en) 2011-07-29 2013-02-12 Microsoft Corporation Firmware-based trusted platform module for arm processor architectures and trustzone security extensions
US9742762B2 (en) 2014-12-01 2017-08-22 Microsoft Technology Licensing, Llc Utilizing a trusted platform module (TPM) of a host device

Also Published As

Publication number Publication date
EP3227823A1 (en) 2017-10-11
EP3227823B1 (en) 2020-08-19
US10212156B2 (en) 2019-02-19
US20180131690A1 (en) 2018-05-10
CN112187803A (zh) 2021-01-05
US9742762B2 (en) 2017-08-22
WO2016089615A1 (en) 2016-06-09
CN112187803B (zh) 2023-05-12
US20160156621A1 (en) 2016-06-02
CN107005407A (zh) 2017-08-01
CN107005407B (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
ES2819449T3 (es) Cripto servicios en remoto que utilizan TPM de servidor
US10721080B2 (en) Key-attestation-contingent certificate issuance
US10284375B2 (en) Trust service for a client device
US11055385B2 (en) Multi-factor user authentication framework using asymmetric key
KR101891420B1 (ko) DaaS를 위한 컨텐츠 보호
JP5852265B2 (ja) 計算装置、コンピュータプログラム及びアクセス許否判定方法
US9521125B2 (en) Pseudonymous remote attestation utilizing a chain-of-trust
CN107077567B (zh) 标识计算设备上的安全边界
KR20150107796A (ko) 공개 클라우드에서의 신뢰 데이터 프로세싱
JP6735872B2 (ja) コンピュータシステム及びコンピュータシステムを初期化する方法
JP6756056B2 (ja) 身元検証による暗号チップ