BR112020000220A2 - geração de declaração de atestado de chave proporcionando anonimato de dispositivo - Google Patents

geração de declaração de atestado de chave proporcionando anonimato de dispositivo Download PDF

Info

Publication number
BR112020000220A2
BR112020000220A2 BR112020000220-8A BR112020000220A BR112020000220A2 BR 112020000220 A2 BR112020000220 A2 BR 112020000220A2 BR 112020000220 A BR112020000220 A BR 112020000220A BR 112020000220 A2 BR112020000220 A2 BR 112020000220A2
Authority
BR
Brazil
Prior art keywords
computing device
attestation
public
private key
certificate
Prior art date
Application number
BR112020000220-8A
Other languages
English (en)
Inventor
Saurav Sinha
Victor Warren HELLER
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
Publication of BR112020000220A2 publication Critical patent/BR112020000220A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted 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/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0827Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving distinctive intermediate devices or communication paths
    • 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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3265Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
    • 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/42Anonymization, e.g. involving pseudonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Um dispositivo de computação envia uma solicitação para um certificado de atestado para um serviço de atestado junto com informação com respeito ao hardware e/ou ao software do dispositivo. O serviço de atestado processa a solicitação e verifica a informação recebida a partir do dispositivo. Após verificar a informação, o serviço de atestado seleciona um par de chaves pública/privada a partir de uma coleção de pares de chaves pública/privada reutilizáveis e gera um certificado de atestado para o dispositivo e a chave pública do par de chaves pública/privada. Este certificado de atestado é digitalmente assinado pelo serviço de atestado e retornado para o dispositivo. A chave privada do par de chaves pública/privada selecionado também é criptografada para um componente seguro confiável do dispositivo, garantindo que a chave não pode ser roubada por software malicioso e reutilizada em outro dispositivo, e é retornada para o dispositivo. O dispositivo utiliza este certificado de atestado para acessar partes confiáveis, e opcionalmente gera pares de chaves pública/privada e certificados de atestado adicionais.

Description

Relatório Descritivo da Patente de Invenção para "GERA- ÇÃO DE DECLARAÇÃO DE ATESTADO DE CHAVE PROPORCIO- NANDO ANONIMATO DE DISPOSITIVO". Antecedentes
[001] Dispositivos de computação têm se tornado crescentemen- te interconectados, resultando em serviços ficando disponíveis para estes dispositivos que proporcionam uma grande quantidade de infor- mações e/ou funcionalidade para os usuários desses dispositivos. À disponibilidade dessas informações e da funcionalidade é de grande auxílio para os usuários, mas não deixa de apresentar seus proble- mas. Um problema é que os usuários também com frequência dese- jam manter sua privacidade. Entretanto, acessar esses serviços pode envolver pelo menos alguma identificação do usuário e/ou do dispositi- vo do usuário, o que se difundido ou compartilhado com outros dispo- sitivos reduziria a privacidade que os usuários possuem. Isto pode le- var ao descontentamento do usuário com seus dispositivos e/ou servi- ços que eles acessam. Sumário
[002] Este sumário é proporcionado para introduzir uma seleção de conceitos em uma forma simplificada, os quais são ainda descritos abaixo na Descrição Detalhada. Este Sumário não é pretendido para identificar aspectos chave ou aspectos essenciais do assunto reivindi- cado, nem é pretendido para ser utilizado para limitar o escopo do as- sunto reivindicado.
[003] De acordo com um ou mais aspectos, em um serviço de atestado, uma solicitação de um certificado de atestado para um dis- positivo de computador é recebida a partir do dispositivo de computa- ção. A solicitação inclui informação descrevendo o hardware e/ou o software do dispositivo de computação. A informação recebida é verifi- cada, e um par de chaves assimétricas a partir de uma coleção de pa-
res de chaves assimétricas é selecionado, o par de chaves seleciona- do também sendo selecionado para vários dispositivos de computação adicionais. O certificado de atestado para o dispositivo de computação é gerado associando a chave pública do par de chaves selecionado com o certificado de atestado. A chave privada do par de chaves sele- cionado é criptografada para o primeiro dispositivo de computação. À chave privada criptografada do par selecionado e o certificado de ates- tado são retornados para o primeiro dispositivo de computação.
[004] De acordo com um ou mais aspectos, em um dispositivo de computação, uma solicitação por um certificado de atestado para o dispositivo de computação é enviada para um serviço de atestado, a solicitação incluindo informação descrevendo o hardware e/ou o sof- tware do dispositivo de computação. Um par de chaves pública/privada e o certificado de atestado que associa o par de chaves públi- ca/privada com um componente seguro confiável do dispositivo de computação são recebidos a partir do serviço de atestado. A chave privada do par de chaves pública/privada é armazenada em um arma- zenamento seguro do componente seguro confiável. Um ou mais pa- res de chaves pública/privada adicionais e um ou mais certificados de atestado adicionais são gerados sem acessar o serviço de atestado, cada um dos certificados de atestado adicionais amarrados com o ser- viço de atestado. Breve Descrição dos Desenhos
[005] A descrição detalhada é descrita com referência às figuras acompanhantes. Nas figuras, o(s) dígito(s) mais à esquerda de um número de referência identifica(m) a figura na qual o número de refe- rência primeiro aparece. O uso dos mesmos números de referência em diferentes casos na descrição e nas figuras pode indicar itens simi- lares ou idênticos. Entidades representadas nas figuras podem ser in- dicativas de uma ou mais entidades e assim, pode ser feita referência de forma intercambiável às formas no singular ou no plural das entida- des na discussão.
[006] A Figura 1 ilustra um sistema ilustrativo implementando a geração de declaração de atestado de chave proporcionando anoni- mato de dispositivo de acordo com uma ou mais modalidades.
[007] A Figura 2 ilustra um serviço de atestado ilustrativo de acordo com uma ou mais modalidades.
[008] A Figura 3 ilustra um componente seguro confiável ilustrati- vo de acordo com uma ou mais modalidades.
[009] A Figura 4 é um fluxograma ilustrando um processo ilustra- tivo para implementar a geração de declaração de atestado de chave proporcionando anonimato de dispositivo de acordo com uma ou mais modalidades.
[0010] A Figura 5 é um fluxograma ilustrando outro processo ilus- trativo para implementar a geração de declaração de atestado de cha- ve proporcionando anonimato de dispositivo de acordo com uma ou mais modalidades.
[0011] A Figura 6 ilustra um sistema ilustrativo que inclui um dis- positivo de computação ilustrativo que é representativo de um ou mais sistemas e/ou dispositivos que podem implementar as várias técnicas descritas neste documento.
Descrição Detalhada
[0012] A geração de declaração de atestado proporcionando ano- nimato de dispositivo é discutida neste documento. De modo que um dispositivo de computação acesse um sistema que requer prova de que o dispositivo de computação é o dispositivo que ele reivindica ser, o dispositivo de computação obtém um certificado de atestado a partir de uma terceira parte confiável. A terceira parte confiável também é referida como um serviço de atestado ou autoridade de certificação. O dispositivo de computação envia uma solicitação de um certificado de atestado para o serviço de atestado junto com informação com respei- to ao hardware do dispositivo de computação e opcionalmente sobre o software executando no dispositivo de computação. Esta informação provém de um componente seguro confiável do dispositivo de compu- tação e assim, pode ser acreditado pelo serviço de atestado. O dispo- sitivo de computação também envia uma chave pública de uma chave de criptografia para o serviço de atestado. Esta chave de criptografia é um par de chaves assimétricas que residem no componente seguro confiável do dispositivo de computação, as quais garantem que a cha- ve privada da chave de criptografia não pode ser obtida por software malicioso a partir do dispositivo de computação e utilizada em qual- quer outro lugar.
[0013] O serviço de atestado processa a solicitação de certificado de atestado e verifica a informação recebida a partir do dispositivo de computação. Esta verificação pode incluir várias ações, tais como veri- ficar que o dispositivo de computação inclui hardware particular, verifi- car que o software particular está executando no dispositivo de compu- tação, e assim por diante. Após o serviço de atestado verificar as pro- priedades do hardware e/ou do software da solicitação de certificado de atestado, o serviço de atestado tem a garantia de que as proprie- dades são genuínas e, por consequência, ele pode verificar por indu- ção que se as propriedades genuínas atestam a presença da chave de criptografia pertencendo ao componente seguro confiável, então qual- quer coisa criptografada com a chave pública da chave de criptografia somente pode ser descriptografada pelo componente seguro confiável.
[0014] O serviço de atestado mantém uma coleção de pares de chave pública/privada que podem ser novamente utilizados. Após veri- ficar a informação recebida a partir do dispositivo de computação, o serviço de atestado seleciona um par de chaves pública/privada a par- tir da coleção de pares de chave pública/privada que podem ser no-
vamente utilizados e gera um certificado de atestado para o dispositivo de computação e a chave pública do par de chaves pública/privada. Este certificado de atestado é digitalmente assinado pelo serviço de atestado, certificando que a chave pública do par de chaves públi- ca/privada selecionado está associada com o componente seguro con- fiável do dispositivo de computação. Este certificado de atestado tam- bém é referido como declaração de atestado ou declaração de atesta- do de chave.
[0015] O serviço de atestado retorna o certificado de atestado para o dispositivo de computação junto com a chave privada do par de cha- ves pública/privada selecionado. A chave privada é criptografada com uma chave ligada com o componente seguro confiável do dispositivo de computação, permitindo que a chave privada seja transmitida de forma segura para o componente seguro confiável do dispositivo de computação. O componente seguro confiável recebe e armazena o certificado de atestado bem como o par de chaves pública/privada.
[0016] Quando subsequentemente se comunicando com uma par- te confiável que deseja prova de que o dispositivo de computação é a entidade que ela reivindica ser, o componente seguro confiável pro- porciona para a parte confiável prova de posse do certificado de ates- tado e o par de chaves pública/privada. Esta prova pode ser proporci- onada de várias maneiras, tal como por digitalmente assinar, utilizando a chave privada do par de chaves pública/privada, um valor de dados (por exemplo, variável gerada para uma ocasião) proporcionado para o componente seguro confiável pela parte confiável.
[0017] O serviço de atestado pode e seleciona o mesmo par de chaves pública/privada a partir da coleção de pares de chaves públi- ca/privada para diferentes dispositivos de computação solicitando um certificado de atestado. Por consequência, vários diferentes dispositi- vos de computação irão utilizar o mesmo par de chaves públi-
ca/privada ao mesmo tempo. Permitir que vários dispositivos de com- putação diferentes possuam o mesmo par de chaves pública/privada impede diferentes partes confiáveis de conspirar e determinar a identi- dade de um dispositivo de computação particular. Por exemplo, se du- as partes confiáveis diferentes forem acessadas por um ou mais dis- positivos de computação utilizando o mesmo par de chaves públi- ca/privada e certificados de atestado, as duas diferentes partes confiá- veis não podem saber se é o mesmo dispositivo de computação aces- sando ambas as mesmas ou dois diferentes dispositivos de computa- ção que receberam o mesmo par de chaves pública/privada. Isto pro- porciona anonimato para os dispositivos de computação devido às par- tes confiáveis não poderem conspirar e compartilhar informações com respeito a um dispositivo de computação particular devido às partes confiáveis não poderem estar certas de que elas estão se comunican- do com o mesmo dispositivo de computação.
[0018] Adicionalmente, o componente seguro confiável pode opci- onalmente utilizar o par de chaves pública/privada recebido a partir do serviço de atestado para gerar seus próprios pares de chaves pública lprivada e certificados de atestado que se ligam ao serviço de atesta- do. Isto permite que o componente seguro confiável gere novos pares de chaves pública/privada e certificados de atestado para uso com di- ferentes partes confiáveis. Além disso, cada um destes novos pares de chaves pública/privada liga-se com uma chave do serviço de atestado que foi proporcionada para vários diferentes dispositivos de computa- ção, assim permitindo que o componente seguro confiável rapidamen- te gere novos pares de chaves pública/privada (sem ter que acessar o serviço de atestado) enquanto ainda proporcionando o anonimato dos mesmos pares de chaves pública/privada sendo selecionados para diferentes dispositivos de computação.
[0019] Neste documento são feitas referências à criptografia de chave simétrica, à criptografia de chave pública e aos pares de chaves pública/privada. Apesar de tal criptografia de chave ser bem conhecida pelos versados na técnica, uma breve vista geral de tal criptografia es- tá incluída aqui para auxiliar o leitor. Na criptografia de chave pública (também referida como criptografia de par de chaves pública/privada), uma entidade (tal como um usuário, componente de hardware ou sof- tware, um dispositivo, um domínio, e assim por diante) tem associado com o mesmo um par de chaves pública/privada. Este par de chaves pública/privada também é referido como um par de chaves assimétri- cas. A chave pública pode ser tornada públicamente disponível, mas a entidade mantém a chave privada secreta. Sem a chave privada, é computacionalmente muito difícil descriptografar dados que são cripto- grafados utilizando a chave pública. Assim, dados podem ser cripto- grafados por qualquer entidade com a chave pública e somente des- criptografados por uma entidade com a chave privada correspondente. Adicionalmente, uma assinatura digital para os dados pode ser gerada pela utilização dos dados e da chave privada. Sem a chave privada, é computacionalmente muito difícil criar uma assinatura que possa ser verificada utilizando a chave pública. Qualquer entidade com a chave pública pode utilizar a chave pública para verificar a assinatura digital por executar um algoritmo adequado de verificação de assinatura digi- tal em relação à chave pública, à assinatura e aos dados que foram assinados.
[0020] Na criptografia de chave simétrica, por outro lado, uma chave compartilhada (também referida como chave simétrica) é co- nhecida e mantida secreta pelas duas entidades. Qualquer entidade possuindo a chave compartilhada tipicamente está apta a descripto- grafar dados criptografados com esta chave compartilhada. Sem a chave compartilhada é computacionalmente muito difícil descriptogra- far dados que são criptografados com a chave compartilhada. Assim,
se duas entidades conhecerem a chave compartilhada, cada uma po- de criptografar dados que podem ser descriptografados pela outra, mas outras entidades não podem descriptografar os dados se as ou- tras entidades não conhecerem a chave compartilhada. De forma simi- lar, uma entidade com uma chave compartilhada pode criptografar da- dos que podem ser descriptografados pela mesma entidade, mas ou- tras entidades não podem descriptografar dados se as outras entida- des não conhecerem a chave compartilhada. Adicionalmente, assina- turas digitais podem ser geradas baseadas na criptografia de chave simétrica, tal como utilizando um mecanismo de código de autentica- ção de mensagem com hash com chave. Qualquer entidade com a chave compartilhada pode gerar e verificar a assinatura digital. Por exemplo, uma terceira parte confiável pode gerar uma chave simétrica baseada em uma identidade de uma entidade particular, e então am- bas podem gerar e verificar assinaturas digitais para essa entidade particular (por exemplo, por criptografar ou descriptografar os dados utilizando a chave simétrica).
[0021] A Figura 1 ilustra um sistema ilustrativo 100 implementando a geração de declaração de atestado de chave proporcionando ano- nimato de dispositivo de acordo com uma ou mais modalidades. O sis- tema 100 inclui um dispositivo de computação 102 que pode se comu- nicar com um serviço de atestado 104 e com um sistema de parte con- fiável 106 via uma rede 108. A rede 108 pode ser uma variedade de diferentes redes, incluindo a Internet, uma rede de área local (LAN), uma rede telefônica, uma intranet, outras redes públicas e/ou proprie- tárias, combinações das mesmas, e assim por diante.
[0022] O dispositivo de computação 102 pode ser uma variedade de diferentes tipos de dispositivos. Por exemplo, o dispositivo de computação 102 pode ser um computador de mesa, um computador servidor, um computador laptop ou netbook, um dispositivo móvel (por exemplo, um dispositivo tablet ou phablet, um telefone celular ou outro telefone sem uso de fios (por exemplo, um smartphone), um computa- dor notepad, uma estação móvel), um dispositivo vestível (por exem- plo, óculos, vídeo montado na cabeça, relógio, pulseira, dispositivos de realidade aumentada (AR), dispositivos de realidade virtual (VR), um dispositivo de entretenimento (por exemplo, aparelho de entretenimen- to, uma caixa decodificadora de sinais comunicativamente acoplada com um dispositivo de vídeo, um console de jogo), dispositivos Internet das Coisas (loT) (por exemplo, objetos ou coisas com software, fir- mware, e/ou hardware para permitir comunicação com outros disposi- tivos), uma televisão ou dispositivo de vídeo, um computador automo- tivo, dentre outros. Assim, o dispositivo de computação 102 pode vari- ar de um dispositivo com recursos plenos com recursos substanciais de memória e processador (por exemplo, computadores pessoais, consoles de jogo) até uma dispositivo com pouco recursos com recur- sos limitados de memória e/ou de processamento (por exemplo, caixas decodificadoras de sinais tradicionais, consoles de jogo portáteis).
[0023] O serviço de atestado 104 é um serviço ou sistema imple- mentado por um ou mais dispositivos de computação do mesmo tipo ou de tipos diferentes. Similar à discussão do dispositivo de computa- ção 102, o serviço de atestado 104 pode ser implementado por vários diferentes tipos de dispositivos, variando de dispositivos com recursos plenos com recursos substanciais de memória e processador até dis- positivos com poucos recursos com recursos limitados de memória e/ou de processamento.
[0024] O sistema de parte confiável 106 é implementado por um ou mais dispositivos de computação do mesmo ou de tipos diferentes. Similar à discussão do dispositivo de computação 102, o sistema de parte confiável 106 pode ser implementado por vários diferentes tipos de dispositivos, variando de dispositivos com recursos plenos com substanciais recursos de memória e de processador até dispositivos com poucos recursos com recursos limitados de memória e/ou de pro- cessamento.
[0025] A Figura 1 ilustra um sistema ilustrativo 100 com um único dispositivo de computação 102, um único dispositivo de atestado 104, e um único sistema de parte confiável 106. Deve ser observado, entre- tanto, que o sistema 100 pode incluir vários dispositivos de computa- ção 102, vários serviços de atestado 104 e/ou vários sistemas de parte confiável 106.
[0026] O dispositivo de computação 102 inclui um componente se- guro confiável 112, um ou mais aplicativos 114, e um sistema operaci- onal 116. O componente seguro confiável 112 é um componente que é julgado confiável pelo serviço de atestado 104. O componente seguro confiável 112 é discutido abaixo em maiores detalhes, e pode incluir componentes de hardware particulares, componentes de software par- ticulares, carregamento ou inicialização do dispositivo de computação 102 de uma maneira ou sequência particular, e assim por diante.
[0027] O sistema operacional 116 inclui um ou mais programas que proporcionam várias funcionalidades para o dispositivo de compu- tação 102, incluindo facilitar comunicação com componentes de hardware do dispositivo de computação 102. Um ou mais aplicativos 114 podem ser executados no sistema operacional 116, tais como aplicativos de entretenimento, aplicativos educacionais, aplicativos de produtividade, e assim por diante. Programas do sistema operacional 116 e/ou dos aplicativos 114 podem acessar o sistema da parte confi- ável 106. Apesar de ilustrado como separado do componente seguro confiável 112, um ou mais aplicativos 114 podem estar incluídos no componente seguro confiável 112 e/ou pelo menos parte do sistema operacional 116 pode estar incluída no componente seguro confiável
112.
[0028] O sistema da parte confiável 106 pode ser qualquer um dentre vários diferentes sistemas que proporcionam informação ou funcionalidade para o dispositivo de computação 102. Estes podem ser, por exemplo, sistemas que permitem o dispositivo de computação 102 acessar vários tipos de conteúdo de entretenimento (por exemplo, conteúdo de áudio e/ou de vídeo), sistemas que permitem o dispositivo de computação 102 executar vários aplicativos educacionais ou de produtividade, sistemas que permitem o dispositivo de computação 102 acessar informação segura ou confidencial, e assim por diante.
[0029] De modo a acessar o sistema da parte confiável 106, o componente seguro confiável 112 obtém um certificado de atestado a partir do serviço de atestado 104. Em uma ou mais modalidades, os certificados de atestado discutidos neste documento são certificados X.509 de acordo com qualquer um dos padrões de certificado X.509 (por exemplo, o Network Working Group Request for Comments 1422 (fevereiro de 1993)). O componente seguro confiável 112 envia uma solicitação de certificado de atestado para o serviço de atestado 104 que inclui informação descrevendo o dispositivo de computação 102 incluindo informação descrevendo o componente seguro confiável 112.
[0030] O serviço de atestado 104 inclui um sistema de certificado de atestado suportando anonimato de cliente 122 e a coleção de cha- ves 124. A coleção de chaves 124 é uma coleção de vários pares de chaves pública/privada. A coleção de chaves 124 pode ser mantida de várias maneiras diferentes, tal como em um dispositivo de armazena- mento (por exemplo, uma unidade de disco magnético, uma unidade de estado sólido) ou em outra memória (por exemplo, memória de acesso aleatório (RAM)). O sistema de certificado de atestado supor- tando anonimato de cliente 122 recebe a solicitação de certificado de atestado a partir do componente seguro confiável 112 e verifica a in- formação recebida como parte da solicitação de certificado de atesta-
do. Esta verificação é discutida abaixo em maiores detalhes, e pode incluir várias ações tais como verificar que o dispositivo de computa- ção inclui hardware particular, verificar que o software particular está executando no dispositivo de computação, e assim por diante. A ma- neira na qual a verificação é executada pode variar baseado na manei- ra na qual o componente seguro confiável 112 é implementado.
[0031] Se o sistema de certificado de atestado suportando anoni- mato de cliente 122 não puder verificar a informação recebida como parte da solicitação de certificado de atestado, então o sistema de cer- tificado de atestado suportando anonimato de cliente 122 não emite um certificado de atestado para o dispositivo de computação 102. En- tretanto, se o sistema de certificado de atestado suportando anonimato de cliente 122 verificar a informação recebida como parte da solicita- ção de certificado de atestado, então o sistema de certificado de ates- tado suportando anonimato de cliente 122 seleciona um par de chaves pública/privada a partir da coleção de chaves 124 e gera um certifica- do de atestado para o dispositivo de computação 102. Este certificado de atestado associa o componente seguro confiável 112 com o par de chaves pública/privada, e é digitalmente assinado pelo sistema de cer- tificado de atestado suportando anonimato de cliente 122.
[0032] O sistema de certificado de atestado suportando anonimato de cliente 122 retorna o certificado de atestado para o dispositivo de computação 102 junto com a chave privada do par de chaves públi- ca/privada selecionado. O sistema de certificado de atestado supor- tando anonimato de cliente 122 criptografa a chave privada com uma chave ligada com o componente seguro confiável 112, tal como uma chave pública de um par de chaves pública/privada do componente seguro confiável 112, permitindo que a chave privada do par de cha- ves pública/privada seja transmitida de forma segura para o compo- nente seguro confiável 112. O componente seguro confiável 112 rece-
be e armazena o certificado de atestado bem como o par de chaves pública/privada no armazenamento de chave 126.
[0033] O dispositivo de computação 102 pode utilizar o sistema da parte confiável 106 por proporcionar prova para o sistema da parte confiável 106 de que foi emitido para o para o componente seguro confiável 112 um certificado de atestado pelo serviço de atestado 104. Dados o certificado de atestado e o par de chaves pública/privada se- lecionados para o dispositivo de computação 102, esta prova pode ser proporcionada para o sistema da parte confiável 106 de várias manei- ras. Por exemplo, o sistema de parte confiável 106 pode proporcionar uma variável com validade para uma vez para o componente seguro confiável 112 e o componente seguro confiável 112 digitalmente assi- na a variável com validade para uma vez utilizando a chave privada do par de chaves pública/privada recebido a partir do serviço de atestado
104. A assinatura digital do serviço de atestado 104 em relação ao cer- tificado de atestado pode ser verificada pelo sistema da parte confiável 106 utilizando a chave pública do serviço de atestado 104. A assinatu- ra digital em relação à variável com validade para uma vez também pode ser verificada pelo sistema da parte confiável 106 utilizando a chave pública incluída no certificado de atestado, desse modo propor- cionando para o sistema da parte confiável 106 que o certificado de atestado (e a chave pública referenciada pelo certificado de atestado) foi proporcionado para o dispositivo de computação 102 pelo serviço de atestado 104.
[0034] O sistema da parte confiável 106 opcionalmente inclui vá- rias verificações ou checagens adicionais de modo a permitir que o dispositivo de computação 102 utilize o sistema da parte confiável 106. Por exemplo, o sistema da parte confiável 106 pode impor uma restri- ção de que o componente seguro confiável 112 do dispositivo de com- putação 102 deva ser pelo menos um número de versão particular.
[0035] A Figura 2 ilustra um serviço de atestado ilustrativo 104 de acordo com uma ou mais modalidades. O serviço de atestado 104 in- clui o sistema de certificado de atestado suportando anonimato de cli- ente 122 e a coleção de chaves 124. O sistema de certificado de ates- tado suportando anonimato de cliente 122 inclui um módulo de comu- nicação 202, um módulo de verificação 204, um módulo de seleção de chave 206, e um módulo de geração de certificado de atestado 208.
[0036] O módulo de comunicação 202 recebe a solicitação por um certificado de atestado a partir do dispositivo de computação 102 da Figura 1. Apesar de discutido com referência ao dispositivo de compu- tação 102 da Figura 1, deve ser observado que o serviço de atestado 104 pode, e tipicamente recebe, solicitações por certificados de ates- tação a partir de vários diferentes dispositivos de computação 102. À solicitação inclui informação descrevendo o dispositivo de computação 102, como discutido acima.
[0037] O módulo de verificação 204 verifica a informação descre- vendo o dispositivo de computação 102. A informação específica que é recebida a partir do dispositivo de computação 102 pode variar, e a maneira na qual o módulo de verificação 204 verifica a informação descrevendo o dispositivo de computação 102 também varia pelo me- nos em parte baseado na maneira na qual o componente seguro con- fiável 112 é implementado.
[0038] Retornando para a Figura 1, geralmente, o componente se- guro confiável 112 é implementado de modo que o componente segu- ro confiável 112 inclua hardware e/ou software que permita ao disposi- tivo de computação 102 executar em um estado que é confiável pelo serviço de atestado 104. Um estado que é confiável pelo serviço de atestado 104 é um estado que, por exemplo, seja protegido contra sof- tware malicioso que possa atacar o dispositivo de computação 102, que permita ao serviço de atestado 104 ficar seguro de que o serviço de atestado 104 está se comunicando com o dispositivo de computa- ção 102 (ou com o componente seguro confiável 112 do dispositivo de computação 102) ao invés do que com outro dispositivo se passando pelo dispositivo de computação 102 e/ou pelo componente seguro confiável 112, e assim por diante.
[0039] Em uma ou mais modalidades, o componente seguro confi- ável 112 inclui um criptoprocessador seguro que é um módulo de pla- taforma confiável (TPM). O TPM inclui várias funcionalidades, tal como geração de chave, criptografia, descriptografia, armazenamento segu- ro (por exemplo, registradores de configuração da plataforma), e assim por diante. Em uma ou mais modalidades, o TPM está de acordo com a especificação versão 2.0 do Trusted Computing Group Trusted Plat- form Module, públicado como a especificação Trusted Platform Module Library, Family "2.0", Level 00, Revision 01.16 (30 de outubro de 2014), Parts 1 — 4. Apesar de ser feita referência neste documento a um TPM, o componente seguro confiável 112 pode alternativamente utilizar um ou mais outros criptoprocessadores que proporcionam fun- cionalidade similar ao TPM.
[0040] O componente seguro confiável 112 possui um par de cha- ves pública/privada associado. Isto permite que outros dispositivos ou componentes descriptografem dados utilizando a chave pública do par de chaves pública/privada do componente seguro confiável de modo que somente o componente seguro confiável 112 possa descriptogra- far os dados. Em uma ou mais modalidades, o componente seguro confiável 112 pode recuperar seu par de chaves pública/privada a par- tir de um TPM somente se o dispositivo de computação 102 tiver sido inicializado em um modo particular ou inicializado carregando software em uma ordem particular. Isto proporciona proteção adicional para o componente seguro confiável 112, permitindo que o componente segu- ro confiável 112 acesse seu par de chaves pública/privada somente se o dispositivo de computação tiver inicializado em um modo conhecido particular (por exemplo, um modo seguro ou confiável) ou com softwa- re particular (por exemplo, sem software malicioso).
[0041] Em uma ou mais modalidades, a informação descrevendo o dispositivo de computação 102 que acompanha a solicitação pelo cer- tificado de atestado indica a saúde (ou atestado de saúde) do disposi- tivo de computação 102. A saúde do dispositivo de computação 102 pode ser especificada de várias maneiras diferentes, tal como uma in- dicação de quais módulos foram carregados quando inicializando o dispositivo de computação 102, uma indicação de se um módulo ou funcionalidade particular foi carregado quando inicializando o dispositi- vo de computação 102, uma indicação de se o dispositivo de compu- tação 102 foi inicializado em um modo particular (por exemplo,em um modo de inicialização segura), uma indicação de se aspectos particu- lares de segurança estão ativados ou desativados, uma indicação de se um modo seguro virtual (VSM) está executando no dispositivo de computação 102 (por exemplo, como parte do componente seguro confiável 112), e assim por diante.
[0042] Adicionalmente ou alternativamente, a informação descre- vendo o dispositivo de computação 102 que acompanha a solicitação por certificado de atestado indica que o componente seguro confiável 112 é um componente (por exemplo, um componente de hardware) que é confiável pelo serviço de atestado 104 (também referido como atestado de chave). O componente seguro confiável 112 pode possuir um par de chaves pública/privada, e a chave pública deste par de cha- ves pública/privada pode ser conhecida pelo serviço de atestado 104. Assim, o componente seguro confiável 112 pode proporcionar uma indicação de que ele é na verdade o componente seguro confiável 112 por digitalmente assinar um valor (por exemplo, uma variável com vali- dade para uma vez) utilizando a chave privada do par de chaves públi-
ca/privada do componente seguro confiável 112.
[0043] Retornando para a Figura 2, o módulo de verificação 204 verifica a informação descrevendo o dispositivo de computação 102 que acompanha a solicitação para o certificado de atestado. Por exemplo, para um atestado de saúde, o módulo de verificação 204 po- de verificar que a informação recebida a partir do dispositivo de com- putação 102 indica que módulos particulares foram carregados quando inicializando o dispositivo de computação 102, que o dispositivo de computação 102 foi inicializado em um modo particular (por exemplo, em um modo de inicialização segura), que aspectos de segurança par- ticulares estão ativados ou desativados, e assim por diante. A título de outro exemplo, para atestado de chave, o módulo de verificação 204 pode verificar a assinatura digital em relação a um valor (por exemplo, uma variável com validade de uma vez) digitalmente assinado pelo componente seguro confiável 112.
[0044] Se o módulo de verificação 204 não verificar a informação recebida a partir do dispositivo de computação 102, então nenhuma chave é selecionada para o dispositivo de computação 102 e um certi- ficado de atestado não é gerado para o dispositivo de computação
102. Entretanto, se o módulo de verificação 204 verificar a informação recebida a partir do dispositivo de computação 102, então o módulo de seleção de chave 206 seleciona um par de chaves assimétricas (um par de chaves pública/privada) a partir da coleção de chaves 124. À seleção pode ser executada aleatoriamente, pseudo-aleatoriamente, ou de acordo com várias outras regras ou critérios.
[0045] A coleção de chaves 124 pode possuir qualquer número de pares de chaves assimétricas, tal como dezenas, centenas, milhares ou mais. Os pares de chaves assimétricas na coleção de chaves 124 podem ser anteriormente gerados (por exemplo, pelo módulo de sele- ção e chave 206 ou por outro módulo do serviço de atestado 104 antes da recepção da solicitação por certificado de atestado a partir do dis- positivo de computação 102) e mantidos na coleção de chaves 124, então selecionados a partir de quando desejado pelo módulo de sele- ção de chave 206. O número de pares de chaves assimétricas incluí- dos na coleção de chaves 124 pode variar baseado em vários fatores diferentes. Em uma ou mais modalidades, o número de pares de cha- ves assimétricas incluídos na coleção de chaves 124 é determinado por equilibrar o anonimato dos dispositivos de computação em relação à necessidade de invalidar certificados de atestado no evento de que uma chave esteja compreendida (por exemplo, descoberta ou potenci- almente descoberta por software malicioso). Por exemplo, menos pa- res de chaves assimétricas resultam em anonimato aumentado para os dispositivos de computação devido mais dispositivos de computa- ção obterem o mesmo par de chaves assimétricas, mas também resul- tam na necessidade de invalidar um grande número de certificados de atestado no caso em que um par de chaves assimétricas está com- prometido devido a um grande número de dispositivos de computação receberem o par de chaves assimétricas comprometido.
[0046] Também deve ser observado que os pares de chaves as- simétricas incluídos na coleção de chaves 124 podem alterar com o passar do tempo. Por exemplo, o módulo de seleção de chave 206 pode gerar novos pares de chaves assimétricas para adicionar para a coleção de chaves 124 em intervalos regulares ou irregulares, e pode apagar pares de chaves assimétricas a partir da coleção de chaves 124 em intervalos regulares ou irregulares.
[0047] O módulo de geração de certificado de atestado 208 gera um certificado que associa o certificado com a chave pública do par de chaves pública/privada selecionado. O certificado de atestado também associa o componente seguro confiável 112 (e/ou o dispositivo de computação 102) com a chave pública do par de chaves públi-
ca/privada selecionado. Esta associação é executada, por exemplo, pelo certificado incluindo a chave pública do par de chaves públi- ca/privada selecionado e a chave privada do par de chaves públi- ca/privada selecionado sendo seguramente proporcionadas para O componente seguro confiável 112 (por exemplo, criptografadas utili- zando uma chave do componente seguro confiável 112). De modo a manter anonimato do componente seguro confiável 112 (e/ou do dis- positivo de computação 102), um nome ou outro identificador do com- ponente seguro confiável 112 e/ou do dispositivo de computação 102 não precisa estar incluído no certificado gerado. O módulo de geração de certificado de atestado 208 digitalmente assina o certificado utili- zando uma chave pública do par de chaves pública/privada do serviço de atestado 104, criando o certificado de atestado que permite que uma parte confiável saiba que o serviço de atestado 104 verificou o componente seguro confiável 112 e forneceu para o componente se- guro confiável 112 o par de chaves pública/privada selecionado.
[0048] O módulo de comunicação 202 retorna para o componente seguro confiável 112 o certificado de atestado bem como a chave pri- vada do par de chaves pública/privada selecionado pelo módulo de seleção de chave 206. A chave privada do par de chaves públi- ca/privada selecionado é criptografada (por exemplo, utilizando a cha- ve pública do par de chaves pública/privada do componente seguro confiável 112) de modo que a chave privada é seguramente transmiti- da para o componente seguro confiável 112 e não pode ser lida por qualquer dispositivo clandestino ou outro dispositivo intermediário. O certificado de atestado também pode ser, mas não precisa ser, cripto- grafado de modo a ser seguramente transmitido para o componente seguro confiável 112.
[0049] Assim, o certificado de atestado gerado pelo módulo de ge- ração de certificado de atestado 208 inclui a chave pública do par de chaves pública/privada selecionado.
O certificado de atestado é digi- talmente assinado pelo módulo de geração de certificado de atestado 208, proporcionando que a chave pública do par de chaves públi- ca/privada selecionado foi distribuída com este certificado de atestado.
A chave privada do par de chaves pública/privada selecionado é então seguramente proporcionada para o componente seguro confiável 112. Quando o dispositivo de computação 102 subsequentemente deseja acessar uma parte confiável 104, a parte confiável 104 pode proporci- onar uma variável com validade de uma vez para o componente segu- ro confiável 112 do dispositivo de computação.
O componente seguro confiável 112 digitalmente assina a variável com validade para uma vez utilizando a chave privada do par de chaves pública/privada sele- cionado, e envia a variável com validade para uma vez assinada bem como o certificado de atestado para a parte confiável 104. A parte con- fiável 104 utiliza a chave pública do serviço de atestado 104 para veri- ficar que o módulo de geração de certificado de atestado 208 realmen- te assinou (e assim, distribuiu) o certificado de atestado.
Além disso, a parte confiável 104 pode utilizar a chave pública no certificado de ates- tado para verificar que a variável com validade para uma vez foi digi- talmente assinada por um componente seguro confiável que foi acredi- tado pelo serviço de atestado 104 (devido ao fato de que o componen- te seguro confiável 112 somente teria a chave privada que é parte do mesmo par de chaves pública/privada que a chave pública no certifi- cado se o serviço de atestado 104 acreditou no componente seguro confiável 112 e forneceu para o componente seguro confiável 112 a chave privada). A parte confiável 104 assim pode verificar que o com- ponente seguro confiável 112 é acreditado pelo serviço de atestado 104, mas o certificado confiado pela parte confiável 104 não precisa ter o mesmo ou outro identificador do componente seguro confiável particular ou do dispositivo de computação 102.
[0050] A Figura 3 ilustra um componente seguro confiável 112 de acordo com uma ou mais modalidades. O componente seguro confiá- vel 112 inclui o depósito de chave 126, um módulo de recuperação de certificado de atestado 302, um módulo de geração de certificado de atestado 304, um módulo de geração de chave 306 e um depósito de certificado 308.
[0051] O módulo de recuperação de certificado de atestado 302 se comunica com o serviço de atestado 104, enviando uma solicitação para um certificado de atestado e recebendo o certificado de atestado e a chave privada criptografada a partir do serviço de atestado 104. O par de chaves pública/privada (ou pelo menos a chave privada do par de chaves pública/privada) recebido a partir do serviço de atestado 104 é armazenado no depósito de chave 126. O certificado de atesta- do recebido a partir do serviço de atestado 104 também é armazenado em um depósito de certificado 308. O depósito de chave 126 é um de- pósito seguro, acessível somente pelos módulos do componente segu- ro confiável 112. O depósito de certificado 308 pode ser, mas não pre- cisa ser, um depósito seguro. Adicionalmente ou alternativamente, o certificado de atestado pode ser armazenado externo ao componente seguro confiável 112.
[0052] O componente seguro confiável 112 é acreditado pelo ser- viço de atestado 104, e assim, o módulo de geração de certificado de atestado 304 também pode gerar certificados de atestado. O módulo de geração de chave 306 gera pares de chaves públicas/privadas utili- zando qualquer uma dentre várias técnicas públicas ou proprietárias. O módulo de geração de certificado de atestado 304 gera um certifica- do que associa o certificado com a chave pública do par de chaves pública/privada recentemente gerado. O certificado de atestado tam- bém associa o componente seguro confiável 112 (e/ou o dispositivo de computação 102) com a chave pública do par de chaves públi-
ca/privada recentemente gerado pelo módulo de geração de chave
306. Esta associação é executada, por exemplo, pelo certificado inclu- indo a chave pública do par de chaves pública/privada recentemente gerado sendo mantida de forma segura pelo componente seguro con- fiável 112 (por exemplo, armazenado no depósito de chave 126). De modo a manter anonimato do componente seguro confiável 112 (e/ou do dispositivo de computação 102), um nome ou outro identificador do componente seguro confiável 112 e/ou do dispositivo de computação 102 não precisa estar incluído no certificado recém gerado. O módulo de geração de certificado de atestado 304 digitalmente assina o certifi- cado utilizando a chave pública do par de chaves pública/privada re- cebido a partir do serviço de atestado 104, criando um certificado de atestado que se liga com o serviço de atestado 104 e assim, permite que uma parte confiável saiba que o serviço de atestado 104 verificou o componente seguro confiável 112. Além disso, devido aos certifica- dos de atestado gerados pelo módulo de geração de certificado de atestado 304 serem digitalmente assinados utilizando a chave pública do par de chaves pública/privada recebido a partir do serviço de ates- tado 104 e ligado com o serviço de atestado 104 baseado na chave pública, e que vários dispositivos de computação diferentes irão rece- ber esta mesma chave pública e gerar certificados de atestado basea- do na mesma chave pública, o anonimato do dispositivo de computa- ção 102 é mantido independente do dispositivo de computação 102 gerar seus próprios certificados de atestado.
[0053] O par de chaves pública/privada (ou pelo menos a chave privada do par de chaves pública/privada) gerado pelo módulo de ge- ração de chave 306 é armazenado no depósito de chave 126. O certi- ficado de atestado gerado pelo módulo de geração de certificado de atestado 304 é armazenado no depósito de certificado 308.
[0054] O módulo de geração de certificado de atestado 304 e o módulo de geração de chave 306 podem gerar novas chaves e certifi- cados de atestado como desejado. Isto permite que novas chaves e certificados de atestado sejam gerados sem acessar a rede 108 e o serviço de atestado 104 para cada nova chave e certificado de atesta- do, reduzindo a quantidade de tempo necessária para obter uma nova chave e certificado de atestado. A título de exemplo, um novo par de chaves pública/privada e certificado de atestado podem ser gerados para cada novo sistema de parte confiável 106 que é acessado pelo dispositivo de computação 102, para cada novo site da rede que é acessado por um navegador da rede executando no dispositivo de computação 102, e assim por diante.
[0055] A Figura 4 é um fluxograma ilustrando um processo ilustra- tivo 400 para implementar a geração de declaração de atestado de chave proporcionando anonimato de dispositivo de acordo com uma ou mais modalidades. O processo 400 é realizado por um dispositivo de atestado, tal como o serviço de atestado 104 da Figura 1 ou da Fi- gura 2, e pode ser implementado em software, firmware, hardware, ou em combinações dos mesmos. O processo 400 é apresentado como um conjunto de atos e não está limitado à ordem apresentada para execução das operações dos vários atos. O processo 400 é um pro- cesso ilustrativo para implementar a geração de declaração de atesta- do de chave proporcionando anonimato de dispositivo; discussões adi- cionais para implementação da geração de declaração de atestado de chave proporcionando anonimato de dispositivo estão incluídas neste documento com referência às diferentes figuras.
[0056] No processo 400, uma solicitação para um certificado de atestado para um dispositivo de computação é recebida (ato 402). A solicitação inclui informação descrevendo o software e/ou o hardware do dispositivo de computação. A informação pode indicar a saúde do dispositivo de computação e/ou que o componente seguro confiável é um componente que é acreditado pelo serviço de atestado como dis- cutido acima.
[0057] A informação recebida é verificada (ato 404). A maneira na qual o serviço de atestado verifica a informação varia baseado pelo menos em parte na informação que é recebida como discutido acima.
[0058] Um par de chaves assimétricas é selecionado a partir de uma coleção de chaves assimétricas (ato 406). Cada uma das chaves assimétricas na coleção de chaves é um par de chaves pública/pri- vada, e um dos pares de chaves é selecionado de várias maneiras como discutido acima, tal como aleatoriamente ou pseudoaleatoria- mente.
[0059] O certificado de atestado para o dispositivo de computação e o par de chaves selecionado são gerados (ato 408). O certificado de atestado associa a chave pública do par de chaves selecionado com o certificado de atestado.
[0060] A chave privada do par de chaves selecionado também é criptografada para o dispositivo de computação (ato 410). O par de chaves assimétricas selecionado pode ser criptografado, ou apenas a chave privada do par de chaves assimétricas selecionado pode ser criptografada. A chave privada do par de chaves selecionado é cripto- grafada utilizando uma chave pública de um par de chaves públi- ca/privada de um componente seguro confiável do dispositivo de com- putação. A chave pública do componente seguro confiável pode ser incluída na informação descrevendo o dispositivo de computação re- cebida no ato 402 ou pode ser obtida de outro modo.
[0061] A chave privada criptografada do par de chaves seleciona- do e o certificado de atestado são retornados para o dispositivo de computação (ato 412). A chave privada criptografada do par de chaves selecionado e o certificado de atestado podem ser retornados de vá- rias maneiras, tal como transmitidos para o dispositivo de computação via uma rede.
[0062] A Figura 5 é um fluxograma ilustrando um processo ilustra- tivo 500 para implementar a geração de declaração de atestado de chave proporcionando anonimato de dispositivo de acordo com uma ou mais modalidades. O processo 500 é realizado por um dispositivo de computação, tal como o dispositivo de computação 102 da Figura 1, e pode ser implementado em software, firmware, hardware, ou em combinações dos mesmos. O processo 500 é apresentado como um conjunto de atos e não está limitado à ordem apresentada para execu- ção das operações dos vários atos. O processo 500 é um processo ilustrativo para implementar a geração de declaração de atestado de chave proporcionando anonimato de dispositivo; discussões adicionais da implementação da geração de declaração de atestado de chave proporcionando anonimato de dispositivo estão incluídas neste docu- mento com referência às diferentes figuras.
[0063] No processo 500, uma solicitação para um certificado de atestado para o dispositivo de computação é enviada para o serviço de atestado (ato 502). A solicitação inclui informação descrevendo o sof- tware e/ou o hardware do dispositivo de computação. A informação pode indicar a saúde do dispositivo de computação e/ou que um com- ponente seguro confiável é um componente que é acreditado pelo ser- viço de atestado como discutido acima.
[0064] Em resposta à solicitação, um par de chaves pública/priva- da e o certificado de atestado são recebidos a partir do serviço de atestado (ato 504). O par de chaves pública/privada e o certificado de atestado são recebidos se a informação para o dispositivo de compu- tação enviada para o serviço de atestado no ato 502 for verificada pelo serviço de atestado. O certificado de atestado associa a chave pública do par de chaves pública/privada recebido com o dispositivo de com- putação (e/ou com o componente seguro confiável do dispositivo de computação). Esta associação é feita, por exemplo, pelo certificado de atestado incluindo a chave pública do par de chaves pública/privada recebido e a chave privada do par de chaves pública/privada sendo de forma segura proporcionada para o dispositivo de computação (por exemplo, criptografada utilizando uma chave de um componente segu- ro confiável do dispositivo de computação).
[0065] O par de chaves pública/privada e o certificado de atestado recebidos são armazenados (ato 506). A chave privada do par de cha- ves pública/privada recebido é armazenada em um depósito seguro do componente seguro confiável do dispositivo de computação. A chave pública do par de chaves pública/privada e o certificado de atestado recebidos podem ser armazenados no depósito seguro ou alternativa- mente em qualquer outro lugar.
[0066] Um ou mais pares de chaves pública/privada e certificados de atestado que se ligam com o serviço de atestado são gerados (ato 508). Estes pares de chaves pública/privada e certificados de atesta- do adicionais são gerados pelo componente seguro confiável sem acessar o serviço de atestado.
[0067] Apesar de funcionalidade particular ser discutida neste do- cumento com referência aos módulos particulares, deve ser observado que a funcionalidade de módulos individuais discutidos neste docu- mento pode ser separada em vários módulos, e/ou pelo menos algu- mas funcionalidades de vários módulos podem ser combinadas em um único módulo. Adicionalmente, um módulo particular discutido neste documento como executando uma ação inclui este próprio módulo par- ticular executando a ação, ou alternativamente que o módulo particular invocando ou de outro modo acessando outro componente ou módulo que executa a ação (ou executa a ação em conjunto com este módulo particular). Assim, um módulo particular executando uma ação inclui este próprio módulo particular executando a ação e/ou outro módulo invocado ou de outro modo acessado por este módulo particular exe- cutando a ação.
[0068] A Figura 6 ilustra um sistema ilustrativo geralmente em 600 que inclui um dispositivo de computação ilustrativo 602 que é repre- sentativo de um ou mais sistemas e/ou dispositivos que podem imple- mentar as várias técnicas descritas neste documento. O dispositivo de computação 602 pode ser, por exemplo, um servidor de um provedor de serviço, um dispositivo associado com um cliente (por exemplo, um dispositivo cliente), um sistema no chip, e/ou qualquer outro dispositivo de computação ou sistema de computação adequado.
[0069] O dispositivo de computação ilustrativo 602 como ilustrado inclui um sistema de processamento 604, uma ou mais mídias legíveis por computador 606, e uma ou mais interfaces de E/S 608 que são comunicativamente acopladas umas com as outras. Apesar de não apresentado, o dispositivo de computação 602 pode ainda incluir um barramento do sistema ou outro sistema de transferência de dados e comandos que acoplam os vários componentes uns com os outros. Um sistema de barramento pode incluir qualquer uma ou combinações de diferentes estruturas de barramento, tais como um barramento de memória ou controlador de memória, um barramento periférico, um barramento serial universal, e/ou um processador ou barramento local que utiliza qualquer uma dentre várias estruturas de barramento. Vá- rios outros exemplos também são contemplados, tal como linhas de controle e de dados.
[0070] O sistema de processamento 604 é representativo de fun- cionalidade para executar uma ou mais operações utilizando hardwa- re. Por consequência, o sistema de processamento 604 é ilustrado como incluindo elementos de hardware 610 que podem ser configura- dos como processadores, blocos funcionais, e assim por diante. Isto pode incluir implementação em hardware como um circuito integrado de aplicação específica ou outro dispositivo lógico formado utilizando um ou mais semicondutores. Os elementos de hardware 610 não são limitados pelos materiais a partir dos quais eles são formados ou pelos mecanismos de processamento empregados nos mesmos. Por exem- plo, processadores podem ser compreendidos de semicondutores e/ou transistores (por exemplo, circuitos integrados (ICs) eletrônicos). Em tal contexto, instruções executáveis por processador podem ser instru- ções eletronicamente executáveis.
[0071] A mídia legível por computador 606 é ilustrada como inclu- indo memória/armazenamento 612. A memória/armazenamento 612 representa capacidade de memória/armazenamento associada com uma ou mais mídias legíveis por computador." A memó- ria/armazenamento 612 pode incluir mídia volátil (tal como memória de acesso aleatório (RAM)) e/ou mídia não volátil (tal como memória so- mente para leitura (ROM), RAM Resistiva (ReERAM), memória Flash, discos óticos, discos magnéticos, e assim por diante). A memó- ria/armazenamento 612 pode incluir mídia fixa (por exemplo, RAM, ROM, uma unidade de disco rígido fixo, e assim por diante) bem como mídia removível (por exemplo, memória Flash, uma unidade de disco rígido removível, um disco ótico, e assim por diante). A memó- ria/armazenamento 612 pode incluir memória de classe de armazena- mento (SCM) tal como memória 3D Xpoint disponível a partir da Intel Corporation of Santa Clara, California ou Micron Technology, Inc. of Boise, Idaho. A mídia legível por computador 606 pode ser configurada de vários outros modos como ainda descrito abaixo.
[0072] A uma ou mais interfaces de entrada/saída 608 são repre- sentativas de funcionalidade para permitir a um usuário informar co- mandos e informação para o dispositivo de computação 602, e tam- bém permitir que informações sejam apresentadas para o usuário e/ou para outros componentes ou dispositivos utilizando vários dispositivos de entrada/saída. Exemplos de dispositivos de entrada incluem um teclado, um dispositivo de controle de cursor (por exemplo, mouse), um microfone (por exemplo, para entradas de voz), um scanner, funci- onalidade de toque (por exemplo, sensores capacitivos ou outros sen- sores que são configurados para detectar toque físico), uma câmera (por exemplo, a qual pode empregar comprimentos de onda visíveis ou não visíveis tais como frequências de infravermelho para detectar mo- vimento que não envolve toque como gestos), e assim por diante. Exemplos de dispositivos de saída incluem um dispositivo de vídeo (por exemplo, um monitor ou projetor), alto-falantes, uma impressora, uma placa de rede, dispositivo de resposta táctil, e assim por diante. Assim, o dispositivo de computação 602 pode ser configurado de vá- rios modos como ainda descrito abaixo para suportar interação com o usuário.
[0073] Em uma ou mais modalidades, o dispositivo de computação 602 é um dispositivo de computação 102 da Figura 1, e inclui um com- ponente seguro confiável 614. O componente seguro confiável 614 obtém um certificado de atestado a partir de um serviço de atestado e também gera pares de chaves pública/privada e certificados de atestado adicionais que se ligam com o serviço de atestado como discutido acima. O componente seguro confiável 614 pode implementar, por exemplo, o componente seguro confiável 112 da Figura 1 ou da Figura 3.
[0074] Alternativamente, o dispositivo de computação 602 é um dispositivo de computação que implementa pelo menos parte do servi- ço de atestado 104 da Figura 1 ou da Figura 2. Em tais situações, o dispositivo de computação 602 não precisa incluir o componente segu- ro confiável 614. Ao invés disso, o dispositivo de computação 602 in- clui um sistema de certificado de atestado suportando anonimato de cliente, tal como o sistema de certificado de atestado suportando ano- nimato de cliente 122 da Figura 1 ou da Figura 2.
[0075] Várias técnicas podem ser descritas neste documento no contexto geral de software, de elementos de hardware, ou de módulo de programa. Geralmente, tais módulos incluem rotinas, programas, objetos, elementos, componentes, estruturas de dados, e assim por diante, que executam tarefas particulares ou implementam tipos parti- culares de dados abstratos. Os termos "módulo", "funcionalidade", e "componente" como utilizados neste documento geralmente represen- tam software, firmware, hardware, ou uma combinação dos mesmos. Os aspectos das técnicas descritas neste documento são independen- tes da plataforma, significando que as técnicas podem ser implemen- tadas em varias plataformas de computação possuindo vários proces- sadores.
[0076] Uma implementação dos módulos e técnicas descritos pode ser armazenada ou transmitida através de alguma forma de mídia le- gível por computador. A mídia legível por computador pode incluir vá- rias mídias que podem ser acessadas pelo dispositivo de computação
602. A título de exemplo e não de limitação, a mídia legível por compu- tador pode incluir "mídia de armazenamento legível por computador" e "mídia de sinal legível por computador".
[0077] "Mídia de armazenamento legível por computador" se refe- re à mídia e/ou aos dispositivos que permitem armazenamento persis- tente de informação e/ou armazenamento que é tangível, em contraste com mera transmissão de sinal, ondas portadoras ou sinais por si. As- sim, mídia de armazenamento legível por computador se refere à míi- dia de suporte que não seja de sinal. A mídia de armazenamento legí- vel por computador inclui hardware tal como mídia volátil e não volátil, removível e não removível e/ou dispositivos de armazenamento im- plementados em um método ou tecnologia adequado para armazena- mento de informações tais como instruções legíveis por computador, estruturas de dados, módulos de programa, elementos/circuitos lógi-
cos, ou outros dados. Exemplos de mídia de armazenamento legível por computador podem incluir, mas não estão limitados à RAM, ROM, EEPROM, memória flash ou outra tecnologia de memória, CD-ROM, discos versáteis digitais (DVD) ou outro armazenamento ótico, discos rígidos, cassetes magnéticos, fita magnética, armazenamento em dis- co magnético ou outros dispositivos de armazenamento magnético ou outro dispositivo de armazenamento, mídia tangível, ou artigo de ma- nufatura adequado para armazenar as informações desejadas e que possa ser acessado por um computador.
[0078] "Mídia de sinal legível por computador" se refere a um meio de suporte de sinal que é configurado para transmitir instruções para o hardware do dispositivo de computação 602, tal como via uma rede. À mídia de sinal tipicamente pode incorporar instruções legíveis por computador, estruturas de dados, módulos de programa, ou outros dados em um sinal de dados modulado, tais como ondas portadoras, sinais de dados, ou outro mecanismo de transporte. A mídia de sinal também inclui qualquer mídia de distribuição de informação. O termo "sinal de dados modulado" significa um sinal que possui uma ou mais de suas características estabelecidas ou alteradas de uma maneira tal a codificar informação no sinal. A título de exemplo e não de limitação, a mídia de comunicação inclui mídia com uso de fios tal como uma re- de com uso de fios ou conexão direta com fios, e mídia sem uso de fios tal como mídia acústica, RF, infravermelha, e outras mídias sem uso de fios.
[0079] Como anteriormente descrito, os elementos de hardware 610 e a mídia legível por computador 606 são representativos de ins- truções, módulos, lógica de dispositivo programável e/ou lógica de dis- positivo fixa implementados em uma forma de hardware que pode ser empregada em algumas modalidades para implementar pelo menos alguns aspectos das técnicas descritas neste documento. Elementos de hardware podem incluir componentes de um circuito integrado ou de sistema no chip, um circuito integrado de aplicação específica (ASIC), um arranjo de portas programáveis em campo (FPGA), um dispositivo de lógica complexa programável (CPLD), e outras imple- mentações em silício ou outros dispositivos de hardware. Neste con- texto, um elemento de hardware pode operar como um dispositivo de processamento que executa tarefas de programa definidas por instru- ções, módulos, e/ou lógica incorporada pelo elemento de hardware bem como um dispositivo de hardware utilizado para armazenar ins- truções para execução, por exemplo, a mídia de armazenamento legí- vel por computador descrita anteriormente.
[0080] Combinações do dito anteriormente também podem ser empregadas para implementar várias técnicas e módulos descritos neste documento. Por consequência, software, hardware, ou módulos de programa e outros módulos de programa podem ser implementa- dos como uma ou mais instruções e/ou lógica incorporada em alguma forma de mídia de armazenamento legível por computador e/ou por um ou mais elementos de hardware 610. O dispositivo de computação 602 pode ser configurado para implementar instruções e/ou funções particulares correspondendo aos módulos de software e/ou de hardwa- re. Por consequência, a implementação de módulos como um módulo que é executável pelo dispositivo de computação 602 como software pode ser realizada pelo menos parcialmente em hardware, por exem- plo, através do uso de mídia de armazenamento legível por computa- dor e/ou dos elementos de hardware 610 do sistema de processamento. As instruções e/ou funções podem ser executáveis/operáveis por um ou mais artigos de manufatura (por exemplo, um ou mais dispositivos de computação 602 e/ou sistemas de processamento 604) para imple- mentar técnicas, módulos e exemplos descritos neste documento.
[0081] Como ainda ilustrado na Figura 6, o sistema ilustrativo 600 permite ambientes ubíquos para uma experiência direta do usuário quando executando aplicativos em um computador pessoal (PC), um dispositivo de televisão, e/ou em um dispositivo móvel. Serviços e apli- cativos executam substancialmente de forma similar em todos os três ambientes para uma experiência comum do usuário quando alterando de um dispositivo para o próximo enquanto utilizando um aplicativo, repro- duzindo um jogo de vídeo, assistindo um vídeo, e assim por diante.
[0082] No sistema ilustrativo 600, vários dispositivos são interco- nectados através de um dispositivo de computação central. O disposi- tivo de computação central pode ser local aos vários dispositivos ou pode estar remotamente localizado a partir dos vários dispositivos. Em uma ou mais modalidades, o dispositivo de computação central pode ser uma nuvem de um ou mais computadores servidores que estão conectados com os vários dispositivos através de uma rede, da Inter- net, ou de outra ligação de comunicação de dados.
[0083] Em uma ou mais modalidades, esta arquitetura de interco- nexão permite que a funcionalidade seja distribuída através de vários dispositivos para proporcionar uma experiência comum e direta para um usuário dos vários dispositivos. Cada um dos vários dispositivos pode possuir diferentes requerimentos e capacidades físicas, e o dis- positivo de computação central utiliza uma plataforma para permitir a distribuição de uma experiência para o dispositivo que é tanto ajustada para o dispositivo como ainda comum para todos os dispositivos. Em uma ou mais modalidades, uma classe de dispositivos alvo é criada e experiências são ajustadas para a classe genérica de dispositivos. Uma classe de dispositivos pode ser definida pelos aspectos físicos, tipos de utilização, ou outras características comuns dos dispositivos.
[0084] Em várias implementações, o dispositivo de computação 602 pode assumir várias diferentes configurações, tal como para os usos do computador 616, do móvel 618, e da televisão 620. Cada uma destas configurações inclui dispositivos que podem possuir constru- ções e capacidades geralmente diferentes, e assim, o dispositivo de computação 602 pode ser configurado de acordo com uma ou mais das diferentes classes de dispositivo. Por exemplo, o dispositivo de computação 602 pode ser implementado como a classe de computa- dor 616 de um dispositivo que inclui um computador pessoal, compu- tador de mesa, um computador multitela, computador laptop, netbook, dentre outros.
[0085] O dispositivo de computação 602 também pode ser imple- mentado como a classe de dispositivo móvel 618 que inclui dispositi- vos móveis, tal como um telefone móvel, reprodutor de música portátil, dispositivo de jogo portátil, um computador tablet, um computador mul- titela, dentre outros. O dispositivo de computação 602 também pode ser implementado como a classe de dispositivo televisão 620 que in- clui dispositivos possuindo ou conectados com telas geralmente maio- res em ambientes de visualização casuais. Estes dispositivos incluem televisões, decodificadores de sinal, consoles de jogo, dentre outros.
[0086] As técnicas descritas neste documento podem ser suporta- das por estas várias configurações do dispositivo de computação 602 e não estão limitadas aos exemplos específicos das técnicas descritas neste documento. Esta funcionalidade também pode ser implementada toda ou em parte através do uso de um sistema distribuído, tal como através de uma "nuvem 622 via uma plataforma 624 como descrita abaixo.
[0087] A nuvem 622 inclui e/ou é representativa de uma platafor- ma 624 para recursos 626. A plataforma 624 abstrai funcionalidade subjacente de hardware (por exemplo, servidores) e de recursos de software da nuvem 622. Os recursos 626 podem incluir aplicativos e/ou dados que podem ser utilizados enquanto o processamento do computador é executado nos servidores que são remotos a partir do dispositivo de computação 602. Os recursos 626 também podem inclu- ir serviços proporcionados através da Internet e/ou através de uma re- de do assinante, tal como uma rede celular ou Wi-Fi.
[0088] A plataforma 624 pode abstrair recursos e funções para co- nectar o dispositivo de computação 602 com outros dispositivos de computação. A plataforma 624 também pode servir para abstrair di- mensionamento de recursos para proporcionar um nível de escala cor- respondente para a demanda encontrada para os recursos 626 que são implementados via a plataforma 624. Por consequência, em uma modalidade de dispositivo interconectado, a implementação de funcio- nalidade descrita neste documento pode ser distribuída através do sis- tema 600. Por exemplo, a funcionalidade pode ser implementada em parte no dispositivo de computação 602 bem como via a plataforma 624 que abstrai a funcionalidade da nuvem 622.
[0089] Nas discussões neste documento, várias diferentes modali- dades são descritas. É para ser apreciado e entendido que cada mo- dalidade descrita neste documento pode ser utilizada por si própria ou em conexão com uma ou mais outras modalidades descritas neste do- cumento. Aspectos adicionais das técnicas discutidas neste documen- to se relacionam com uma ou mais das modalidades seguintes.
[0090] Um método implementado em um serviço de atestado, o método compreendendo: receber, a partir de um primeiro dispositivo de computação, uma primeira solicitação para um certificado de ates- tado para o primeiro dispositivo de computação, a solicitação incluindo informação descrevendo o hardware e/ou o software do primeiro dis- positivo de computação; verificar a informação recebida; selecionar um par de chaves assimétricas a partir de uma coleção de pares de cha- ves assimétricas, o par de chaves selecionado também sendo selecio- nado para vários dispositivos de computação adicionais; gerar o certi- ficado de atestado para o primeiro dispositivo de computação associ-
ando a chave pública do par de chaves selecionado com o certificado de atestado; criptografar a chave privada do par de chaves seleciona- do para o primeiro dispositivo de computação; e retornar a chave pri- vada criptografada do par de chaves selecionado e o certificado de atestado para o primeiro dispositivo de computação.
[0091] Alternativamente ou em adição a qualquer um dos méto- dos, sistemas, ou dispositivos de computação descritos neste docu- mento, qualquer um ou combinação de: em que criptografar a chave privada do par de chaves selecionado para o primeiro dispositivo de computação compreende criptografar a chave privada do par de cha- ves selecionado utilizando uma chave pública de um par de chaves pública/privada de um componente seguro confiável do primeiro dispo- sitivo de computação; em que selecionar o par de chaves assimétricas compreende aleatoriamente ou pseudo-aleatoriamente selecionar o par de chaves assimétricas a partir da coleção de pares de chaves as- simétricas; ainda compreendendo gerar, antes da recepção da primei- ra solicitação, os pares de chaves assimétricas na coleção de pares de chaves assimétricas; ainda compreendendo alterar os pares de chaves assimétricas na coleção de pares de chaves assimétricas em um ou mais intervalos; ainda compreendendo receber, a partir de um segun- do dispositivo de computação, uma segunda solicitação para um certi- ficado de atestado para o segundo dispositivo de computação, a se- gunda solicitação incluindo informação descrevendo o hardware e/ou o software do segundo dispositivo de computação, verificar a informação recebida descrevendo o hardware e/ou o software do segundo disposi- tivo de computação, selecionar, a partir da coleção de pares de chaves assimétricas, o mesmo par de chaves que foi selecionado para o pri- meiro dispositivo de computação, gerar o certificado de atestado para o segundo dispositivo de computação associando a chave pública do par de chaves selecionado com o certificado de atestado para o se-
gundo dispositivo de computação, criptografar a chave privada do par de chaves selecionado para o segundo dispositivo de computação, e retornar a chave privada criptografada do par de chaves selecionado e o certificado de atestado para o segundo dispositivo de computação para o segundo dispositivo de computação; o certificado de atestado não possuindo nome ou identificador do primeiro dispositivo de compu- tação.
[0092] Um método implementado em um dispositivo de computa- ção, o método compreendendo: enviar, para um serviço de atestado, uma solicitação para um certificado de atestado para o dispositivo de computação, a solicitação incluindo informação descrevendo o hardware e/ou o software do dispositivo de computação; receber, a partir do serviço de atestado, um par de chaves pública/privada e o certificado de atestado que associa o par de chaves pública/privada com um componente seguro confiável do dispositivo de computação; armazenar, em um depósito seguro do componente seguro confiável, a chave privada do par de chaves pública/privada; e gerar, sem aces- sar o serviço de atestado, um ou mais pares de chaves pública/privada adicionais e um ou mais certificados de atestado adicionais, cada um dos certificados de atestado adicionais ligando com o serviço de ates- tado.
[0093] Alternativamente ou em adição a qualquer um dos méto- dos, sistemas ou dispositivos de computação descritos neste docu- mento, qualquer um ou combinação de: o par de chaves públi- ca/privada recebido sendo um mesmo par de chaves pública/privada que é proporcionado pelo serviço de atestado para vários outros dis- positivos de computação; ainda compreendendo gerar um dos um ou mais pares de chaves pública/privada adicionais e um ou mais certifi- cados de atestado adicionais para cada site da rede acessado por um navegador da rede do dispositivo de computação; ainda compreen-
dendo gerar um dos um ou mais pares de chaves pública/privada adi- cionais e um ou mais certificados de atestado adicionais para cada um dos vários diferentes sistemas de parte confiável acessados pelo dis- positivo de computação; ainda compreendendo descriptografar o par de chaves pública/privada recebido a partir do serviço de atestado uti- lizando uma chave privada do componente seguro confiável, o compo- nente seguro confiável compreendendo um módulo de plataforma con- fiável.
[0094] Um sistema compreendendo: um ou mais processadores; e um meio de armazenamento legível por computador tendo armazena- das no mesmo várias instruções que, em resposta à execução pelo um ou mais processadores, causam que o um ou mais processadores: recebam, a partir de um primeiro dispositivo de computação, uma pri- meira solicitação para um certificado de atestado para o primeiro dis- positivo de computação, a solicitação incluindo informação descreven- do o hardware e/ou o software do primeiro dispositivo de computação; verifiquem a informação recebida; selecionem um par de chaves assi- métricas a partir de uma coleção de pares de chaves assimétricas, o par de chaves assimétricas também sendo selecionado para vários dispositivos de computação adicionais; gerem o certificado de atestado para o primeiro dispositivo de computação associando a chave pública do par de chaves selecionado com o certificado de atestado; criptogra- fem a chave privada do par de chaves selecionado para o primeiro dispositivo de computação; e retornem a chave privada criptografada do par de chaves selecionado e o certificado de atestado para o pri- meiro dispositivo de computação.
[0095] Alternativamente ou em adição a qualquer um dos méto- dos, sistemas, ou dispositivos de computação descritos neste docu- mento, qualquer um ou combinação de: em que criptografar a chave privada do par de chaves selecionado para o primeiro dispositivo de computação é criptografar a chave privada do par de chaves selecio- nado utilizando uma chave pública de um par de chaves pública/priva- da de um componente seguro confiável do primeiro dispositivo de computação; o componente seguro confiável compreendendo um mó- dulo de plataforma confiável; em que selecionar o par de chaves assi- métricas é aleatoriamente ou pseudo-aleatoriamente selecionar o par de chaves assimétricas a partir da coleção de pares de chaves assi- métricas; as várias instruções ainda causando que o um ou mais pro- cessadores alterem chaves na coleção de pares de chaves assimétri- cas em um ou mais intervalos; as várias instruções ainda causando que o um ou mais processadores recebam, a partir de um segundo dispositivo de computação, uma segunda solicitação para um certifica- do de atestado para o segundo dispositivo de computação, a segunda solicitação incluindo informação descrevendo o hardware e/ou o sof- tware do segundo dispositivo de computação, verifiquem a informação recebida descrevendo o hardware e/ou o software do segundo disposi- tivo de computação, selecionem, a partir da coleção de pares de cha- ves assimétricas, o mesmo par de chaves que foi selecionado para o primeiro dispositivo de computação, gerem o certificado de atestado para o segundo dispositivo de computação associando a chave pública do par de chaves selecionado com o certificado de atestado para o segundo dispositivo de computação, criptografem a chave privada do par de chaves selecionado para o segundo dispositivo de computação, e retornem a chave privada criptografada do par de chaves seleciona- do e o certificado de atestado para o segundo dispositivo de computa- ção para o segundo dispositivo de computação; o certificado de ates- tado não possuindo nome ou identificador do primeiro dispositivo de computação.
[0096] Um dispositivo de computação compreendendo: um ou mais processadores, e um meio de armazenamento legível por compu-
tador tendo armazenadas no mesmo várias instruções que, em res- posta à execução pelo um ou mais processadores, causam que o um ou mais processadores executem atos compreendendo: enviar, para um serviço de atestado, uma solicitação para um certificado de atesta- do para o dispositivo de computação, a solicitação incluindo informa- ção descrevendo o hardware e/ou o software do dispositivo de compu- tação; receber, a partir do serviço de atestado, um par de chaves pú- blica/privada e o certificado de atestado que associa o par de chaves pública/privada com um componente seguro confiável do dispositivo de computação; armazenar, em um depósito seguro do componente seguro confiável, a chave privada do par de chaves pública/privada; e gerar, sem acessar o serviço de atestado, um ou mais pares de cha- ves pública/privada adicionais e um ou mais certificados de atestado adicionais, cada um dos certificados de atestado adicionais ligando-se com o serviço de atestado.
[0097] Apesar do assunto ter sido descrito em linguagem especiífi- ca para aspectos estruturais e/ou atos metodológicos, é para ser en- tendido que o assunto definido nas reivindicações anexas não está necessariamente limitado aos aspectos ou atos específicos descritos acima. Ao invés disso, os aspectos e atos específicos descritos acima são revelados como formas ilustrativas para implementar as reivindi- cações.

Claims (15)

REIVINDICAÇÕES
1. Método implementado em um serviço de atestado, o mé- todo caracterizado pelo fato de que compreende: receber, a partir de um primeiro dispositivo de computação, uma primeira solicitação para um certificado de atestado para o primei- ro dispositivo de computação, a solicitação incluindo informação des- crevendo o hardware e/ou o software do primeiro dispositivo de com- putação; verificar a informação recebida; selecionar um par de chaves assimétricas a partir de uma coleção de pares de chaves assimétricas, o par de chaves selecionado também sendo selecionado para vários dispositivos de computação adicionais; gerar o certificado de atestado para o primeiro dispositivo de computação associando a chave pública do par de chaves selecio- nado com o certificado de atestado; criptografar a chave privada do par de chaves selecionado para o primeiro dispositivo de computação; e retornar a chave privada criptografada do par de chaves se- lecionado e o certificado de atestado para o primeiro dispositivo de computação.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que criptografar a chave privada do par de chaves seleci- onado para o primeiro dispositivo de computação compreende cripto- grafar a chave privada do par de chaves selecionado utilizando uma chave pública de um par de chaves pública/privada de um componente seguro confiável do primeiro dispositivo de computação.
3. Método, de acordo com a reivindicação 1 ou 2, caracteri- zado pelo fato de que selecionar o par de chaves assimétricas com- preende aleatoriamente ou pseudo-aleatoriamente selecionar o par de chaves assimétricas a partir da coleção de pares de chaves assimétri- cas.
4. Método, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que ainda compreende gerar, antes da recepção da primeira solicitação, os pares de chaves assimétricas na coleção de pares de chaves assimétricas.
5. Método, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que ainda compreende alterar os pa- res de chaves assimétricas na coleção de pares de chaves assimétri- cas em um ou mais intervalos.
6. Método, de acordo com qualquer uma das reivindicações 1a5, caracterizado pelo fato de que ainda compreende: receber, a partir de um segundo dispositivo de computação, uma segunda solicitação para um certificado de atestado para o se- gundo dispositivo de computação, a segunda solicitação incluindo in- formação descrevendo o hardware e/ou o software do segundo dispo- sitivo de computação; verificar a informação recebida descrevendo o hardware e/ou o software do segundo dispositivo de computação; selecionar, a partir da coleção de pares de chaves assimé- tricas, o mesmo par de chaves que foi selecionado para o primeiro dispositivo de computação; gerar o certificado de atestado para o segundo dispositivo de computação associando a chave pública do par de chaves selecio- nado com o certificado de atestado para o segundo dispositivo de computação; criptografar a chave privada do par de chaves selecionado para o segundo dispositivo de computação; e retornar a chave privada criptografada do par de chaves se- lecionado e o certificado de atestado para o segundo dispositivo de computação para o segundo dispositivo de computação.
7. Método, de acordo com qualquer uma das reivindicações 1 a 6, caracterizado pelo fato de que o certificado de atestado não possui nome ou identificador do primeiro dispositivo de computação.
8. Método implementado em um dispositivo de computação, o método caracterizado pelo fato de que compreende: enviar, para um serviço de atestado, uma solicitação para um certificado de atestado para o dispositivo de computação, a solici- tação incluindo informação descrevendo o hardware e/ou o software do dispositivo de computação; receber, a partir do serviço de atestado, um par de chaves pública/privada e o certificado de atestado que associa o par de cha- ves pública/privada com um componente seguro confiável do dispositi- vo de computação; armazenar, em um depósito seguro do componente seguro confiável, a chave privada do par de chaves pública/privada; e gerar, sem acessar o serviço de atestado, um ou mais pa- res de chaves pública/privada adicionais e um ou mais certificados de atestado adicionais, cada um dos certificados de atestado adicionais ligando-se com o serviço de atestado.
9. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que o par de chaves pública/privada recebido é um mes- mo par de chaves pública/privada que é proporcionado pelo serviço de atestado para vários outros dispositivos de computação.
10. Método, de acordo com a reivindicação 8 ou 9, caracte- rizado pelo fato de que ainda compreende gerar um dos um ou mais pares de chaves pública/privada adicionais e um ou mais certificados de atestado adicionais para cada site da rede acessado por um nave- gador da rede do dispositivo de computação.
11. Método, de acordo com qualquer uma das reivindica-
ções 8 a 10, caracterizado pelo fato de que ainda compreende gerar um dos um ou mais pares de chaves pública/privada adicionais e um ou mais certificados de atestado adicionais para cada um dos vários diferentes sistemas de parte confiável acessados pelo dispositivo de computação.
12. Método, de acordo com qualquer uma das reivindica- ções 8 a 11, caracterizado pelo fato de que ainda compreende descrip- tografar o par de chaves pública/privada recebido a partir do serviço de atestado utilizando uma chave privada do componente seguro confiá- vel.
13. Método, de acordo com qualquer uma das reivindica- ções 8 a 12, caracterizado pelo fato de que o componente seguro con- fiável compreende um módulo de plataforma confiável.
14. Sistema, caracterizado pelo fato de que compreende: um ou mais processadores; e um meio de armazenamento legível por computador tendo armazenadas no mesmo várias instruções que, em resposta à execu- ção pelo um ou mais processadores, fazem com que o um ou mais processadores: recebam, a partir de um primeiro dispositivo de computa- ção, uma primeira solicitação para um certificado de atestado para o primeiro dispositivo de computação, a solicitação incluindo informação descrevendo o hardware e/ou o software do primeiro dispositivo de computação; verifiquem a informação recebida; selecionem um par de chaves assimétricas a partir de uma coleção de pares de chaves assimétricas, o par de chaves assimétri- cas também sendo selecionado para vários dispositivos de computa- ção adicionais; gerem o certificado de atestado para o primeiro dispositivo de computação associando a chave pública do par de chaves selecio- nado com o certificado de atestado; criptografem a chave privada do par de chaves selecionado para o primeiro dispositivo de computação; e retornem a chave privada criptografada do par de chaves selecionado e o certificado de atestado para o primeiro dispositivo de computação.
15. Sistema, de acordo com a reivindicação 14, caracteri- zado pelo fato de que criptografar a chave privada do par de chaves selecionado para o primeiro dispositivo de computação é criptografar a chave privada do par de chaves selecionado utilizando uma chave pú- blica de um par de chaves pública/privada de um componente seguro confiável do primeiro dispositivo de computação, o componente seguro confiável compreendendo um módulo de plataforma confiável.
BR112020000220-8A 2017-07-13 2018-05-28 geração de declaração de atestado de chave proporcionando anonimato de dispositivo BR112020000220A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/649,085 2017-07-13
US15/649,085 US10819696B2 (en) 2017-07-13 2017-07-13 Key attestation statement generation providing device anonymity
PCT/US2018/034795 WO2019013886A1 (en) 2017-07-13 2018-05-28 GENERATION OF KEY CERTIFICATION DECLARATION PROVIDING DEVICE ANONYMAT

Publications (1)

Publication Number Publication Date
BR112020000220A2 true BR112020000220A2 (pt) 2020-07-07

Family

ID=62621070

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020000220-8A BR112020000220A2 (pt) 2017-07-13 2018-05-28 geração de declaração de atestado de chave proporcionando anonimato de dispositivo

Country Status (17)

Country Link
US (2) US10819696B2 (pt)
EP (1) EP3652882A1 (pt)
JP (1) JP7077394B2 (pt)
KR (1) KR102451109B1 (pt)
CN (1) CN110892672B (pt)
AU (1) AU2018299716B2 (pt)
BR (1) BR112020000220A2 (pt)
CA (1) CA3067540A1 (pt)
CL (1) CL2020000081A1 (pt)
CO (1) CO2020000162A2 (pt)
IL (1) IL271812B2 (pt)
MX (1) MX2020000328A (pt)
PH (1) PH12020550006A1 (pt)
RU (1) RU2763516C2 (pt)
SG (1) SG11201912738WA (pt)
WO (1) WO2019013886A1 (pt)
ZA (1) ZA201908494B (pt)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11310050B2 (en) 2018-09-17 2022-04-19 Microsoft Technology Licensing, Llc Verifying a computing device after transport
US10423791B2 (en) * 2017-04-27 2019-09-24 Microsoft Technology Licensing, Llc Enabling offline restart of shielded virtual machines using key caching
US10819696B2 (en) * 2017-07-13 2020-10-27 Microsoft Technology Licensing, Llc Key attestation statement generation providing device anonymity
US10447486B2 (en) * 2017-07-19 2019-10-15 Spyrus, Inc. Remote attestation of a security module's assurance level
US11770373B2 (en) * 2017-09-25 2023-09-26 Telefonaktiebolaget Lm Ericsson (Publ) Provisioning of vendor credentials
GB2578628B (en) * 2018-11-01 2021-09-15 Trustonic Ltd Device attestation techniques
US11777717B2 (en) * 2019-01-25 2023-10-03 Huawei Technologies Co., Ltd. Method for end entity attestation
US11374771B2 (en) 2019-03-08 2022-06-28 Ares Technologies, Inc. Methods and systems for implementing mixed protocol certificates
US10742421B1 (en) 2019-03-08 2020-08-11 Ares Technologies, Inc. Methods and systems for anonymous hardware attestation
US10735205B1 (en) 2019-03-08 2020-08-04 Ares Technologies, Inc. Methods and systems for implementing an anonymized attestation chain
US11394565B2 (en) * 2019-06-18 2022-07-19 Intel Corporation Asymmetric device attestation using physically unclonable functions
KR20210017083A (ko) * 2019-08-06 2021-02-17 삼성전자주식회사 퓨즈된 키에 기반하여 증명 인증서를 생성하는 전자 장치 및 방법
US11539678B2 (en) * 2019-08-16 2022-12-27 Red Hat, Inc. Asymmetric key management for cloud computing services
US11265721B1 (en) * 2019-08-20 2022-03-01 Facebook Technologies, Llc Secure device attestation and mutual authentication of artificial reality devices
US11431689B2 (en) * 2020-01-10 2022-08-30 Lennox Industries Inc. Secure payload delivery
WO2022006574A1 (en) * 2020-06-29 2022-01-06 Arm Cloud Technology, Inc. Device attestation
US11595213B2 (en) * 2020-06-29 2023-02-28 Izuma Tech, Inc. Methods and apparatus for performing attestation
CN111953675B (zh) * 2020-08-10 2022-10-25 四川阵风科技有限公司 一种基于硬件设备的密钥管理方法
KR102318947B1 (ko) * 2020-08-21 2021-10-27 세종대학교산학협력단 개인 정보 보호 방법과 이를 수행하기 위한 컴퓨팅 장치 및 시스템
WO2022115200A2 (en) 2020-10-28 2022-06-02 Ares Technologies, Inc. Systems and methods for a cryptographic agile bootloader for upgradable secure environment
US11665148B2 (en) * 2021-03-22 2023-05-30 Cisco Technology, Inc. Systems and methods for addressing cryptoprocessor hardware scaling limitations
US11750384B2 (en) * 2021-05-27 2023-09-05 Microsoft Technology Licensing, Llc Binding with cryptographic key attestation
US20230388110A1 (en) * 2022-05-31 2023-11-30 Microsoft Technology Licensing, Llc Using attestation client code to attest health of a computing device
US20240007354A1 (en) * 2022-06-30 2024-01-04 Amazon Technologies, Inc. Automatic onboarding of heterogeneous devices onto a client network

Family Cites Families (140)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7165174B1 (en) * 1995-02-13 2007-01-16 Intertrust Technologies Corp. Trusted infrastructure support systems, methods and techniques for secure electronic commerce transaction and rights management
US7631188B2 (en) * 1997-05-16 2009-12-08 Tvworks, Llc Hierarchical open security information delegation and acquisition
US6233685B1 (en) * 1997-08-29 2001-05-15 Sean William Smith Establishing and employing the provable untampered state of a device
JP2000049766A (ja) * 1998-07-27 2000-02-18 Hitachi Ltd 鍵管理サーバシステム
US7194620B1 (en) * 1999-09-24 2007-03-20 Verizon Business Global Llc Method for real-time data authentication
US6996710B1 (en) * 2000-03-31 2006-02-07 Intel Corporation Platform and method for issuing and certifying a hardware-protected attestation key
US20020019938A1 (en) * 2000-08-04 2002-02-14 Aarons Michael Thomas Method and apparatus for secure identification for networked environments
US20020078347A1 (en) * 2000-12-20 2002-06-20 International Business Machines Corporation Method and system for using with confidence certificates issued from certificate authorities
US20020129261A1 (en) * 2001-03-08 2002-09-12 Cromer Daryl Carvis Apparatus and method for encrypting and decrypting data recorded on portable cryptographic tokens
US7925878B2 (en) * 2001-10-03 2011-04-12 Gemalto Sa System and method for creating a trusted network capable of facilitating secure open network transactions using batch credentials
GB2382419B (en) * 2001-11-22 2005-12-14 Hewlett Packard Co Apparatus and method for creating a trusted environment
US6963873B2 (en) * 2002-01-02 2005-11-08 Intel Corporation Method and system for automatic association of a signed certificate with a certificate signing request
CA2491662C (en) 2002-07-12 2015-11-24 Privaris, Inc. Personal authentication software and systems for travel privilege assignation and verification
US7181016B2 (en) * 2003-01-27 2007-02-20 Microsoft Corporation Deriving a symmetric key from an asymmetric key for file encryption or decryption
US20040193917A1 (en) * 2003-03-26 2004-09-30 Drews Paul C Application programming interface to securely manage different execution environments
US7797544B2 (en) * 2003-12-11 2010-09-14 Microsoft Corporation Attesting to establish trust between computer entities
US7263608B2 (en) 2003-12-12 2007-08-28 Lenovo (Singapore) Pte. Ltd. System and method for providing endorsement certificate
US7424610B2 (en) * 2003-12-23 2008-09-09 Intel Corporation Remote provisioning of secure systems for mandatory control
US7350072B2 (en) * 2004-03-30 2008-03-25 Intel Corporation Remote management and provisioning of a system across a network based connection
US20050251857A1 (en) * 2004-05-03 2005-11-10 International Business Machines Corporation Method and device for verifying the security of a computing platform
US20050278253A1 (en) * 2004-06-15 2005-12-15 Microsoft Corporation Verifying human interaction to a computer entity by way of a trusted component on a computing device or the like
US7055742B2 (en) * 2004-06-29 2006-06-06 Microsoft Corporation Method for secure on-line voting
US8356175B2 (en) * 2005-06-29 2013-01-15 Intel Corporation Methods and apparatus to perform associated security protocol extensions
US8417640B2 (en) * 2005-10-31 2013-04-09 Research In Motion Limited Secure license key method and system
US8989390B2 (en) * 2005-12-12 2015-03-24 Qualcomm Incorporated Certify and split system and method for replacing cryptographic keys
US7600123B2 (en) * 2005-12-22 2009-10-06 Microsoft Corporation Certificate registration after issuance for secure communication
US8145917B2 (en) * 2005-12-30 2012-03-27 Nokia Corporation Security bootstrapping for distributed architecture devices
US9135444B2 (en) * 2006-10-19 2015-09-15 Novell, Inc. Trusted platform module (TPM) assisted data center management
US8281389B2 (en) * 2006-12-21 2012-10-02 Seagate Technology Llc System and method for tamper evident certification
US8984280B2 (en) * 2007-02-16 2015-03-17 Tibco Software Inc. Systems and methods for automating certification authority practices
US7975290B2 (en) * 2007-06-07 2011-07-05 Alcatel Lucent Verifying authenticity of instant messaging messages
US7971261B2 (en) * 2007-06-12 2011-06-28 Microsoft Corporation Domain management for digital media
CN100566251C (zh) * 2007-08-01 2009-12-02 西安西电捷通无线网络通信有限公司 一种增强安全性的可信网络连接方法
US20090125996A1 (en) * 2007-09-19 2009-05-14 Interdigital Patent Holdings, Inc. Virtual subscriber identity module
DE102007044905A1 (de) * 2007-09-19 2009-04-09 InterDigital Patent Holdings, Inc., Wilmington Verfahren und Vorrichtung zur Ermöglichung einer Dienstnutzung und Feststellung der Teilnehmeridentität in Kommunikationsnetzen mittels softwarebasierten Zugangsberechtigungsausweisen (vSIM)
US8862874B2 (en) * 2008-05-09 2014-10-14 International Business Machines Corporation Certificate distribution using secure handshake
FR2932229B1 (fr) 2008-06-05 2011-06-24 Renault Sas Pilotage de l'alimentation electrique d'une bougie d'allumage d'un moteur a combustion interne
US9122895B2 (en) * 2008-06-25 2015-09-01 Microsoft Technology Licensing, Llc Authorization for transient storage devices with multiple authentication silos
US8538890B2 (en) * 2008-08-28 2013-09-17 Motorola Mobility Llc Encrypting a unique cryptographic entity
US8751791B2 (en) * 2008-09-17 2014-06-10 Motorola Solutions, Inc. Method and device for confirming authenticity of a public key infrastructure (PKI) transaction event
US20120137364A1 (en) 2008-10-07 2012-05-31 Mocana Corporation Remote attestation of a mobile device
US9621341B2 (en) * 2008-11-26 2017-04-11 Microsoft Technology Licensing, Llc Anonymous verifiable public key certificates
US8738932B2 (en) * 2009-01-16 2014-05-27 Teleputers, Llc System and method for processor-based security
CN101807998A (zh) 2009-02-13 2010-08-18 英飞凌科技股份有限公司 认证
US8544092B2 (en) 2009-03-12 2013-09-24 International Business Machines Corporation Integrity verification using a peripheral device
US8509448B2 (en) * 2009-07-29 2013-08-13 Motorola Solutions, Inc. Methods and device for secure transfer of symmetric encryption keys
US9490984B2 (en) * 2009-09-14 2016-11-08 Interdigital Patent Holdings, Inc. Method and apparatus for trusted authentication and logon
CN101699891B (zh) * 2009-10-21 2012-07-25 西安西电捷通无线网络通信股份有限公司 一种传感器网络密钥管理和节点鉴别方法
US8700893B2 (en) * 2009-10-28 2014-04-15 Microsoft Corporation Key certification in one round trip
US8327424B2 (en) * 2009-12-22 2012-12-04 Motorola Solutions, Inc. Method and apparatus for selecting a certificate authority
MY151315A (en) 2010-05-07 2014-05-15 Mimos Berhad System and method for issuing endorsement key credential in trusted computing environment using local certificate authority
US8788811B2 (en) 2010-05-28 2014-07-22 Red Hat, Inc. Server-side key generation for non-token clients
US20120174196A1 (en) * 2010-12-30 2012-07-05 Suresh Bhogavilli Active validation for ddos and ssl ddos attacks
US8806196B2 (en) * 2011-11-04 2014-08-12 Motorola Solutions, Inc. Method and apparatus for authenticating a digital certificate status and authorization credentials
US9754253B1 (en) * 2011-11-28 2017-09-05 Amazon Technologies, Inc. Conditioned use of certificates
US9413538B2 (en) * 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
US9054871B2 (en) * 2012-02-21 2015-06-09 California Institute Of Technology Physical key-protected one time pad
US8782423B2 (en) 2012-06-19 2014-07-15 Microsoft Corporation Network based management of protected data sets
US20140006776A1 (en) * 2012-06-29 2014-01-02 Mark Scott-Nash Certification of a virtual trusted platform module
US9411962B2 (en) * 2012-07-18 2016-08-09 Sequitur Labs Inc. System and methods for secure utilization of attestation in policy-based decision making for mobile device management and security
US8782401B2 (en) 2012-09-26 2014-07-15 Intel Corporation Enhanced privacy ID based platform attestation
US9374228B2 (en) * 2012-10-12 2016-06-21 International Business Machines Corporation Verifying a geographic location of a virtual disk image executing at a data center server within a data center
US9794602B2 (en) * 2012-10-29 2017-10-17 Echostar Technologies L.L.C. Systems and methods for securely providing streaming media content on-demand
US9935953B1 (en) * 2012-11-06 2018-04-03 Behaviometrics Ab Secure authenticating an user of a device during a session with a connected server
US9077759B2 (en) * 2013-01-18 2015-07-07 Apple Inc. Conflict resolution for keychain syncing
US9594567B2 (en) * 2013-02-21 2017-03-14 Dell Products, Lp Configuring a trusted platform module
US20140259132A1 (en) * 2013-03-06 2014-09-11 Go Daddy Operating Company, LLC System for creating a security certificate
WO2014137338A1 (en) * 2013-03-06 2014-09-12 Intel Corporation Roots-of-trust for measurement of virtual machines
US20140281497A1 (en) * 2013-03-13 2014-09-18 General Instrument Corporation Online personalization update system for externally acquired keys
US9332002B1 (en) * 2013-03-14 2016-05-03 Amazon Technologies, Inc. Authenticating and authorizing a user by way of a digital certificate
US9219607B2 (en) * 2013-03-14 2015-12-22 Arris Technology, Inc. Provisioning sensitive data into third party
US20140281500A1 (en) * 2013-03-15 2014-09-18 Ologn Technologies Ag Systems, methods and apparatuses for remote attestation
DE102013205051A1 (de) * 2013-03-21 2014-09-25 Siemens Aktiengesellschaft Aktualisieren eines digitalen Geräte-Zertifikats eines Automatisierungsgeräts
JP6079394B2 (ja) * 2013-04-11 2017-02-15 富士通株式会社 証明書生成方法、証明書生成装置、情報処理装置、通信機器、及びプログラム
US9094377B2 (en) * 2013-08-16 2015-07-28 Netflix, Inc. Key generation and broadcasting
US9998438B2 (en) 2013-10-23 2018-06-12 Microsoft Technology Licensing, Llc Verifying the security of a remote server
US9391980B1 (en) 2013-11-11 2016-07-12 Google Inc. Enterprise platform verification
EP4027576B1 (en) * 2014-01-13 2023-11-22 Visa International Service Association Efficient methods for protecting identity in authenticated transmissions
US9652604B1 (en) * 2014-03-25 2017-05-16 Amazon Technologies, Inc. Authentication objects with delegation
US9680872B1 (en) * 2014-03-25 2017-06-13 Amazon Technologies, Inc. Trusted-code generated requests
US10050787B1 (en) * 2014-03-25 2018-08-14 Amazon Technologies, Inc. Authentication objects with attestation
US10049202B1 (en) * 2014-03-25 2018-08-14 Amazon Technologies, Inc. Strong authentication using authentication objects
US20160344725A1 (en) * 2014-04-02 2016-11-24 William B. SEVERIN Signal haystacks
EP2937806A1 (en) * 2014-04-22 2015-10-28 ALSTOM Renewable Technologies Method and system for securing electronic data exchange between an industrial programmable device and a portable programmable device
US9652631B2 (en) * 2014-05-05 2017-05-16 Microsoft Technology Licensing, Llc Secure transport of encrypted virtual machines with continuous owner access
US9692599B1 (en) * 2014-09-16 2017-06-27 Google Inc. Security module endorsement
US9705879B2 (en) * 2014-09-17 2017-07-11 Microsoft Technology Licensing, Llc Efficient and reliable attestation
US9716716B2 (en) * 2014-09-17 2017-07-25 Microsoft Technology Licensing, Llc Establishing trust between two devices
US9331989B2 (en) 2014-10-06 2016-05-03 Micron Technology, Inc. Secure shared key sharing systems and methods
US9900295B2 (en) * 2014-11-05 2018-02-20 Microsoft Technology Licensing, Llc Roaming content wipe actions across devices
US10348727B2 (en) * 2015-02-13 2019-07-09 International Business Machines Corporation Automatic key management using enterprise user identity management
US10015173B1 (en) * 2015-03-10 2018-07-03 Symantec Corporation Systems and methods for location-aware access to cloud data stores
RU2673842C1 (ru) 2015-03-20 2018-11-30 Ривец Корп. Автоматическая аттестация сохранности устройства с применением цепочки блоков
WO2016168503A1 (en) * 2015-04-15 2016-10-20 Melrok, Llc Secure broadcast systems and methods for internet of things devices
US20160364553A1 (en) * 2015-06-09 2016-12-15 Intel Corporation System, Apparatus And Method For Providing Protected Content In An Internet Of Things (IOT) Network
US10230696B2 (en) * 2015-06-09 2019-03-12 Intel Corporation System, apparatus and method for managing lifecycle of secure publish-subscribe system
CN107683599A (zh) * 2015-06-11 2018-02-09 西门子公司 用于设备的认证令牌的授权发布的授权装置和方法
US10333903B1 (en) * 2015-06-16 2019-06-25 Amazon Technologies, Inc. Provisioning network keys to devices to allow them to provide their identity
US9923721B2 (en) * 2015-06-22 2018-03-20 Intel IP Corporation Key agreement and authentication for wireless communication
CN105141593A (zh) 2015-08-10 2015-12-09 刘澄宇 一种私有云平台安全计算方法
US10397255B1 (en) * 2015-09-23 2019-08-27 StackRox, Inc. System and method for providing security in a distributed computation system utilizing containers
US20170093586A1 (en) * 2015-09-25 2017-03-30 Qualcomm Incorporated Techniques for managing certificates on a computing device
US9906513B2 (en) * 2015-09-28 2018-02-27 Bank Of America Corporation Network authorization system
US9917687B2 (en) * 2015-10-12 2018-03-13 Microsoft Technology Licensing, Llc Migrating secrets using hardware roots of trust for devices
US9832024B2 (en) * 2015-11-13 2017-11-28 Visa International Service Association Methods and systems for PKI-based authentication
US9740867B2 (en) * 2015-11-16 2017-08-22 Dell Products, L.P. Securely passing user authentication data between a pre-boot authentication environment and an operating system
US10009179B2 (en) * 2015-11-30 2018-06-26 Microsoft Technology Licensing, Llc Trusted platform module (TPM) protected device
US10169591B2 (en) * 2015-12-07 2019-01-01 Amazon Technologies, Inc. Chained security systems
US10536271B1 (en) * 2016-01-10 2020-01-14 Apple Inc. Silicon key attestation
US10341325B2 (en) * 2016-01-29 2019-07-02 Vmware, Inc. System and method for transferring device identifying information
US10169602B2 (en) * 2016-02-22 2019-01-01 Dell Products, L.P. Method for local key management setup and recovery
US10412191B1 (en) * 2016-03-30 2019-09-10 Amazon Technologies, Inc. Hardware validation
US10277407B2 (en) * 2016-04-19 2019-04-30 Microsoft Technology Licensing, Llc Key-attestation-contingent certificate issuance
US11256746B2 (en) * 2016-04-25 2022-02-22 Oracle International Corporation Hash-based efficient secondary indexing for graph data stored in non-relational data stores
GB201607476D0 (en) * 2016-04-29 2016-06-15 Eitc Holdings Ltd Operating system for blockchain IOT devices
US10447467B2 (en) * 2016-05-04 2019-10-15 International Business Machines Corporation Revocable PKI signatures
US9916452B2 (en) * 2016-05-18 2018-03-13 Microsoft Technology Licensing, Llc Self-contained cryptographic boot policy validation
US10115250B2 (en) * 2016-05-23 2018-10-30 Fuji Xerox Co., Ltd. Systems and methods for location enabled electronic lock controls
US10135622B2 (en) * 2016-06-03 2018-11-20 Intel Corporation Flexible provisioning of attestation keys in secure enclaves
US10601787B2 (en) * 2016-06-06 2020-03-24 Cisco Technology, Inc. Root of trust of geolocation
US10708067B2 (en) * 2016-06-18 2020-07-07 Intel Corporation Platform attestation and registration for servers
US20180007037A1 (en) * 2016-07-01 2018-01-04 Kenneth Wade Reese Transaction-specific shared secret in one-time password device
US10135921B2 (en) * 2016-09-20 2018-11-20 Keir Finlow-Bates System and method for announcing cryptographic keys on a blockchain
US10733284B2 (en) * 2016-10-06 2020-08-04 Samsung Electronics Co., Ltd. Trusted execution environment secure element communication
US10498712B2 (en) * 2016-11-10 2019-12-03 Ernest Brickell Balancing public and personal security needs
US10447681B2 (en) * 2016-12-07 2019-10-15 Vmware, Inc. Secure asymmetric key application data sharing
US10574648B2 (en) * 2016-12-22 2020-02-25 Dashlane SAS Methods and systems for user authentication
US10229270B2 (en) * 2016-12-23 2019-03-12 Amazon Technologies, Inc. Host attestation
US20180183578A1 (en) * 2016-12-27 2018-06-28 Intel Corporation Provisioning keys for virtual machine scaling
US20180183586A1 (en) * 2016-12-28 2018-06-28 Intel Corporation Assigning user identity awareness to a cryptographic key
US11443033B2 (en) * 2017-01-24 2022-09-13 Microsoft Technology Licensing, Llc Abstract enclave identity
US11405177B2 (en) * 2017-01-24 2022-08-02 Microsoft Technology Licensing, Llc Nested enclave identity
US11036875B2 (en) * 2017-01-24 2021-06-15 Microsoft Technology Licensing, Llc Dependent enclave binaries
US10530777B2 (en) * 2017-01-24 2020-01-07 Microsoft Technology Licensing, Llc Data unsealing with a sealing enclave
US20180241572A1 (en) * 2017-02-22 2018-08-23 Intel Corporation Techniques for remote sgx enclave authentication
US10341864B2 (en) * 2017-03-03 2019-07-02 Verizon Patent And Licensing Inc. Network-based device registration for content distribution platforms
US20180287920A1 (en) * 2017-03-30 2018-10-04 Ca, Inc. Intercepting application traffic monitor and analyzer
US10397005B2 (en) * 2017-03-31 2019-08-27 Intel Corporation Using a trusted execution environment as a trusted third party providing privacy for attestation
US10440006B2 (en) * 2017-06-21 2019-10-08 Microsoft Technology Licensing, Llc Device with embedded certificate authority
US10819696B2 (en) * 2017-07-13 2020-10-27 Microsoft Technology Licensing, Llc Key attestation statement generation providing device anonymity

Also Published As

Publication number Publication date
RU2020106575A (ru) 2021-08-13
IL271812A (en) 2020-02-27
US10819696B2 (en) 2020-10-27
PH12020550006A1 (en) 2020-10-12
SG11201912738WA (en) 2020-01-30
US11750591B2 (en) 2023-09-05
CN110892672B (zh) 2023-10-20
KR20200027500A (ko) 2020-03-12
AU2018299716A1 (en) 2020-01-02
CA3067540A1 (en) 2019-01-17
US20190020647A1 (en) 2019-01-17
KR102451109B1 (ko) 2022-10-07
WO2019013886A1 (en) 2019-01-17
ZA201908494B (en) 2021-03-31
JP2020527305A (ja) 2020-09-03
IL271812B2 (en) 2024-01-01
US20200396217A1 (en) 2020-12-17
RU2763516C2 (ru) 2021-12-30
JP7077394B2 (ja) 2022-05-30
CO2020000162A2 (es) 2020-01-17
AU2018299716B2 (en) 2023-09-21
NZ759830A (en) 2023-10-27
RU2020106575A3 (pt) 2021-08-13
IL271812B1 (en) 2023-09-01
CL2020000081A1 (es) 2020-07-31
MX2020000328A (es) 2020-07-13
CN110892672A (zh) 2020-03-17
EP3652882A1 (en) 2020-05-20

Similar Documents

Publication Publication Date Title
BR112020000220A2 (pt) geração de declaração de atestado de chave proporcionando anonimato de dispositivo
US11055385B2 (en) Multi-factor user authentication framework using asymmetric key
EP3265950B1 (en) Device attestation through security hardened management agent
CN106462439B (zh) 以持续所有者访问对加密虚拟机的安全传输
EP3195555B1 (en) Secure key management for roaming protected content
CN107077567B (zh) 标识计算设备上的安全边界
US10229272B2 (en) Identifying security boundaries on computing devices
US11019033B1 (en) Trust domain secure enclaves in cloud infrastructure
BR112017004416B1 (pt) Sistema e método implementado por computador para controlar acesso a um recurso de segurança
NZ759830B2 (en) Key attestation statement generation providing device anonymity

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]