JP7077394B2 - デバイスに匿名性を与えるキー認証ステートメントの生成 - Google Patents

デバイスに匿名性を与えるキー認証ステートメントの生成 Download PDF

Info

Publication number
JP7077394B2
JP7077394B2 JP2020501161A JP2020501161A JP7077394B2 JP 7077394 B2 JP7077394 B2 JP 7077394B2 JP 2020501161 A JP2020501161 A JP 2020501161A JP 2020501161 A JP2020501161 A JP 2020501161A JP 7077394 B2 JP7077394 B2 JP 7077394B2
Authority
JP
Japan
Prior art keywords
computing device
authentication
private key
key pair
public
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020501161A
Other languages
English (en)
Other versions
JP2020527305A (ja
JP2020527305A5 (ja
Inventor
シンハ,サウラブ
ヘラー,ビクター・ウォーレン
Original Assignee
マイクロソフト テクノロジー ライセンシング,エルエルシー
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 マイクロソフト テクノロジー ライセンシング,エルエルシー filed Critical マイクロソフト テクノロジー ライセンシング,エルエルシー
Publication of JP2020527305A publication Critical patent/JP2020527305A/ja
Publication of JP2020527305A5 publication Critical patent/JP2020527305A5/ja
Application granted granted Critical
Publication of JP7077394B2 publication Critical patent/JP7077394B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities 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/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
    • 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)

Description

[0001]コンピューティングデバイスは、ますます相互接続されるようになってきており、結果としてこれらのデバイスは、大量の情報および/または機能をこれらのデバイスのユーザに提供するサービスを利用できることになる。この情報および機能の可用性はユーザにとって有用であるが、問題が存在しないわけではない。こうした問題の1つは、ユーザがしばしば、自らのプライバシーも保持したいと望むことである。しかしながら、これらのサービスにアクセスすることは、ユーザおよび/またはユーザのデバイスの少なくとも何らかの識別に関与する可能性があり、他のサービスまで及ぶかまたは他のサービスを共有している場合、ユーザが有するプライバシーを低減させることになる。これが、ユーザのデバイスおよび/またはアクセスするサービスに対するユーザの不満につながる可能性がある。
[0002]本発明の概要は、下記の発明を実施するための形態においてより詳細に説明される概念の選択を、簡潔な形で紹介するために提供される。本発明の概要は、請求する主題の主要な特徴または不可欠な特徴を識別することを意図しておらず、また、請求する主題の範囲を限定するために使用されることも意図していない。
[0003]1つまたは複数の態様によれば、認証サービスにおいて、コンピューティングデバイスのための認証証明書の要求が、コンピューティングデバイスから受信される。要求は、コンピューティングデバイスのハードウェアおよび/またはソフトウェアを記述する情報を含む。受信された情報は検証され、非対称キーペアの集合から非対称キーペアが選択され、選択されるキーペアは、複数の追加のコンピューティングデバイスについても選択される。コンピューティングデバイスについての認証証明書は、選択されたキーペアの公開キーを認証証明書と関連付けて生成される。選択されたキーペアの秘密キーは、第1のコンピューティングデバイスについて暗号化される。選択されたキーペアの暗号化秘密キーおよび認証証明書は、第1のコンピューティングデバイスに戻される。
[0004]1つまたは複数の態様によれば、コンピューティングデバイスにおいて、コンピューティングデバイスのための認証証明書の要求が認証サービスに送信され、要求は、コンピューティングデバイスのハードウェアおよび/またはソフトウェアを記述する情報を含む。公開/秘密キーペアと、公開/秘密キーペアをコンピューティングデバイスの信頼できるセキュアなコンポーネントに関連付ける認証証明書とが、認証サービスから受信される。公開/秘密キーペアの秘密キーは、信頼できるセキュアなコンポーネントのセキュアストア内に記憶される。1つまたは複数の追加の公開/秘密キーペアおよび1つまたは複数の追加の認証証明書は、認証サービスにアクセスすることなく生成され、各追加の認証証明書は認証サービスまで連鎖する。
[0005]添付の図面を参照しながら詳細な記述を説明する。図面では、参照番号の最も左側の数字は、参照番号が最初に現れる図を識別する。説明および図面内の異なるインスタンスで同じ参照番号が使用されている場合は、同様のアイテムまたは同一のアイテムを示す可能性がある。図面内に示されるエンティティは1つまたは複数のエンティティを示すことが可能であり、したがって、考察においてエンティティの単数形または複数形を交換可能に言い表すことができる。
[0006]1つまたは複数の実施形態に従った、デバイスに匿名性を与えるキー認証ステートメントの生成を実施する例示的システムを示す図である。 [0007]1つまたは複数の実施形態に従った、例示的認証サービスを示す図である。 [0008]1つまたは複数の実施形態に従った、例示的な信頼できるセキュアなコンポーネントを示す図である。 [0009]1つまたは複数の実施形態に従った、デバイスに匿名性を与えるキー認証ステートメントの生成を実施するための例示的プロセスを示すフローチャートである。 [0010]1つまたは複数の実施形態に従った、デバイスに匿名性を与えるキー認証ステートメントの生成を実施するための別の例示的プロセスを示すフローチャートである。 [0011]本明細書で説明する様々な技法を実施することが可能な、1つまたは複数のシステムおよび/またはデバイスを代表する例示的コンピューティングデバイスを含む、例示的システムを示す図である。
[0012]本明細書では、デバイスに匿名性を与えるキー認証ステートメントの生成が考察される。コンピューティングデバイスが、そのコンピューティングデバイスが請求の対象となるデバイスである旨の証拠を必要とするシステムにアクセスするために、コンピューティングデバイスは信頼できる第三者から認証証明書を取得する。この信頼できる第三者は、認証サービスまたは証明機関とも呼ばれる。コンピューティングデバイスは、認証証明書についての要求を、コンピューティングデバイスのハードウェアおよび任意選択としてコンピューティングデバイス上で実行するソフトウェアに関する情報と共に、認証サービスに送信する。この情報は、コンピューティングデバイスの信頼できるセキュアなコンポーネントからもたらされるものであり、したがって、認証サービスが信頼できるものである。コンピューティングデバイスは、暗号キーの公開キーも認証サービスに送信する。この暗号キーは、コンピューティングデバイスの信頼できるセキュアなコンポーネント内に常駐する非対称キーペアであり、暗号キーの秘密キーがコンピューティングデバイスからマルウェアによって収集されること、および他の場所で使用されることが不可能であることを保証する。
[0013]認証サービスは、認証証明書要求を処理し、コンピューティングデバイスから受信された情報を検証する。この検証は、コンピューティングデバイスが特定のハードウェアを含む旨を検証すること、特定のソフトウェアがコンピューティングデバイス上で実行している旨を検証すること、などの、様々な動作を含むことができる。認証サービスが、認証証明書要求のハードウェアおよび/またはソフトウェアのプロパティを検証した後、認証サービスは、プロパティが本物であることが保証され、したがって、本物のプロパティが信頼できるセキュアなコンポーネントに属する暗号キーの存在を立証する場合、暗号キーの公開キーに暗号化されたいずれのものも、信頼できるセキュアなコンポーネントによってのみ復号可能であることを、帰納法を用いて検証することが可能である。
[0014]認証サービスは、再使用可能な公開/秘密キーペアの集合を維持する。コンピューティングデバイスから受信された情報を検証した後、認証サービスは、再使用可能な公開/秘密キーペアの集合から公開/秘密キーペアを選択し、コンピューティングデバイスについての認証証明書および公開/秘密キーペアの公開キーを生成する。この認証証明書は、認証サービスによってデジタル署名され、選択された公開/秘密キーペアの公開キーがコンピューティングデバイスの信頼できるセキュアなコンポーネントに関連付けられる旨を証明する。したがって、この認証証明書は、認証ステートメントまたはキー認証ステートメントとも呼ばれる。
[0015]認証サービスは、認証証明書を、選択された公開/秘密キーペアの秘密キーと共にコンピューティングデバイスに戻す。秘密キーは、コンピューティングデバイスの信頼できるセキュアなコンポーネントに結び付けられたキーを用いて暗号化され、コンピューティングデバイスの信頼できるセキュアなコンポーネントに秘密キーをセキュアに伝送できるようにする。信頼できるセキュアなコンポーネントは、認証証明書ならびに公開/秘密キーペアを受信し、記憶する。
[0016]その後、コンピューティングデバイスが請求の対象となるエンティティである旨を証明することを望む信頼パーティと通信する場合、信頼できるセキュアなコンポーネントは、信頼パーティに、認証証明書および公開/秘密キーペアの所有の証拠を提供する。この証拠は、デジタル署名すること、公開/秘密キーペアの秘密キーを使用すること、信頼パーティにより信頼できるセキュアなコンポーネントに提供されるデータ値(たとえば、ナンス)などの、様々な様式で提供可能である。
[0017]認証サービスは、認証証明書を要求する複数の異なるコンピューティングデバイスについて、公開/秘密キーペアの集合から同じ公開/秘密キーペアを選択することが可能であり、選択する。したがって、複数の異なるコンピューティングデバイスは、同じ公開/秘密キーペアを同時に使用することになる。複数の異なるコンピューティングデバイスが同じ公開/秘密キーペアを有することを可能にすることで、異なる信頼パーティが共謀すること、および特定のコンピューティングデバイスの識別を特定することを、防止する。たとえば、2人の異なる信頼パーティが、同じ公開/秘密キーペアおよび認証証明書を使用する1つまたは複数のコンピューティングデバイスによってアクセスされる場合、2人の異なる信頼パーティは、2人の両方にアクセスしているのが同じコンピューティングデバイスであるか、それとも、同じ公開/秘密キーペアが与えられた2つの異なるコンピューティングデバイスであるかを、知ることはできない。これにより、信頼パーティは、同じコンピューティングデバイスと通信している旨を確認することができないため、信頼パーティが共謀して、特定のコンピューティングデバイスに関する情報を共有することはできないことから、コンピューティングデバイスに匿名性が与えられる。
[0018]加えて、信頼できるセキュアなコンポーネントは、任意選択として、認証サービスまで連鎖するそれ独自の公開/秘密キーペアおよび認証証明書を生成するために、認証サービスから受信した公開/秘密キーペアを使用することができる。これにより、信頼できるセキュアなコンポーネントは、異なる信頼パーティと共に使用するために、新しい公開/秘密キーペアおよび認証証明書を生成することが可能になる。さらに、これらの新しい公開/秘密キーペアの各々は、複数の異なるコンピューティングデバイスに提供された認証サービスのキーまで連鎖し、したがって、信頼できるセキュアなコンポーネントは、異なるコンピューティングデバイスのために選択される同じ公開/秘密キーペアの匿名性を依然として与えながら、(認証サービスにアクセスする必要なしに)新しい公開/秘密キーペアを即時に生成することが可能になる。
[0019]本明細書では、対称キー暗号法、公開キー暗号法、および公開/秘密キーペアについて言及する。こうしたキー暗号法は当業者によって周知であるが、読者を支援するために、本明細書にはこうした暗号法の簡単な概要が含まれる。公開キー暗号法(非対称公開/秘密キーペア暗号法とも呼ばれる)において、エンティティ(ユーザ、ハードウェアまたはソフトウェアコンポーネント、デバイス、ドメイン、など)は公開/秘密キーペアに関連付けられる。この公開/秘密キーペアは、非対称キーペアとも呼ばれる。公開キーは公表可能であるが、エンティティは秘密キーを秘密にする。秘密キーがない場合、公開キーを使用して暗号化されたデータを復号することは、計算上非常に困難である。したがって、データは、公開キーを持つ任意のエンティティによって暗号化可能であり、対応する秘密キーを持つエンティティによってのみ復号可能である。加えて、データのためのデジタル署名は、データおよび秘密キーを使用することによって生成可能である。秘密キーがない場合、公開キーを使用して検証可能な署名を作成することは、計算上非常に困難である。公開キーを持つ任意のエンティティは、公開キーを使用して、公開キー、署名、および署名されたデータ上で好適なデジタル署名検証アルゴリズムを実行することによって、デジタル署名を検証することができる。
[0020]他方で、対称キー暗号法では、2つのエンティティによって共有キー(対称キーとも呼ばれる)が知られ、秘密にされる。共有キーを有する任意のエンティティは、典型的には、その共有キーを用いて暗号化されたデータを復号することができる。共有キーがない場合、共有キーを用いて暗号化されたデータを復号することは、計算上非常に困難である。したがって、2つのエンティティがどちらも共有キーを知っている場合、一方によって復号可能なデータを各々が暗号化することができるが、他のエンティティが共有キーを知らない場合、他のエンティティはデータを復号することはできない。同様に、共有キーを持つエンティティは、その同じエンティティによって復号可能なデータを暗号化することができるが、他のエンティティが共有キーを知らない場合、他のエンティティはデータを復号することはできない。加えて、キー付きハッシュメッセージ認証コード機構などを使用して、対称キー暗号法に基づいてデジタル署名を生成することができる。共有キーを持つ任意のエンティティは、デジタル署名を生成および検証することができる。たとえば、信頼できる第三者は、特定のエンティティの識別に基づいて対称キーを生成することが可能であり、その後、その特定のエンティティについて、(たとえば、対称キーを使用してデータを暗号化または復号することによって)デジタル署名を生成することおよび検証することのどちらも可能である。
[0021]図1は、1つまたは複数の実施形態に従った、デバイスに匿名性を与えるキー認証ステートメントの生成を実施する例示的システム100を示す。システム100は、ネットワーク108を介して認証サービス104および信頼パーティシステム106と通信可能な、コンピューティングデバイス102を含む。ネットワーク108は、インターネット、ローカルエリアネットワーク(LAN)、電話網、イントラネット、他の公衆および/またはプロプライエタリネットワーク、それらの組み合わせなどを含む、様々な異なるネットワークとすることができる。
[0022]コンピューティングデバイス102は、様々な異なるタイプのデバイスとすることができる。たとえばコンピューティングデバイス102は、デスクトップコンピュータ、サーバコンピュータ、ラップトップまたはネットブックコンピュータ、モバイルデバイス(たとえば、タブレットまたはファブレットデバイス、セル式または他のワイヤレスフォン(たとえば、スマートフォン)、ノートパッドコンピュータ、移動局)、ウェアラブルデバイス(たとえば、眼鏡、頭部装着型ディスプレイ、腕時計、ブレスレット、拡張現実(AR)デバイス、仮想現実(VR)デバイス)、エンターテインメントデバイス(たとえば、エンターテインメント家電、ディスプレイデバイスに通信可能に結合されたセットトップボックス、ゲームコンソール)、モノのインターネット(IoT)デバイス(たとえば、他のデバイスとの通信を可能にするためのソフトウェア、ファームウェア、および/またはハードウェアを伴うオブジェクトまたはモノ)、テレビジョンまたは他のディスプレイデバイス、自動車用コンピュータ、などとすることができる。したがって、コンピューティングデバイス102は、大量のメモリおよびプロセッサリソースを伴うフルリソースデバイス(たとえば、パーソナルコンピュータ、ゲームコンソール)から、制限されたメモリおよび/または処理リソース(たとえば、従来型セットトップボックス、ハンドヘルド型ゲームコンソール)を伴う低リソースデバイスまでの範囲とすることができる。
[0023]認証サービス104は、同じかまたは異なるタイプの1つまたは複数のコンピューティングデバイスによって実施されるサービスまたはシステムである。コンピューティングデバイス102の考察と同様に、認証サービス104は、大量のメモリおよびプロセッサリソースを伴うフルリソースデバイスから、制限されたメモリおよび/または処理リソースを伴う低リソースデバイスまでの、様々な異なるタイプのデバイスによって実施可能である。
[0024]信頼パーティシステム106は、同じかまたは異なるタイプの1つまたは複数のコンピューティングデバイスによって実施される。コンピューティングデバイス102の考察と同様に、信頼パーティシステム106は、大量のメモリおよびプロセッサリソースを伴うフルリソースデバイスから、制限されたメモリおよび/または処理リソースを伴う低リソースデバイスまでの、様々な異なるタイプのデバイスによって実施可能である。
[0025]図1は、単一のコンピューティングデバイス102、単一の認証サービス104、および単一の信頼パーティシステム106を伴う、例示的システム100を示す。しかしながら、システム100は、複数のコンピューティングデバイス102、複数の認証サービス104、および/または複数の信頼パーティシステム106を含むことができることに留意されたい。
[0026]コンピューティングデバイス102は、信頼できるセキュアなコンポーネント112、1つまたは複数のアプリケーション114、およびオペレーティングシステム116を含む。信頼できるセキュアなコンポーネント112は、認証サービス104によって信頼できるものとみなされるコンポーネントである。信頼できるセキュアなコンポーネント112は下記でより詳細に考察され、特定のハードウェアコンポーネント、特定のソフトウェアコンポーネント、特定の様式または順序でのコンピューティングデバイス102のロードまたはブートなどを、含むことができる。
[0027]オペレーティングシステム116は、コンピューティングデバイス102のハードウェアコンポーネントとの通信を容易にすることを含む、様々な機能をコンピューティングデバイス102に提供する、1つまたは複数のプログラムを含む。エンターテインメントアプリケーション、教育用アプリケーション、生産性アプリケーションなど、1つまたは複数のアプリケーション114は、オペレーティングシステム116上で実行可能である。オペレーティングシステム116および/またはアプリケーション114のプログラムは、信頼パーティシステム106にアクセス可能である。1つまたは複数のアプリケーション114は、信頼できるセキュアなコンポーネント112とは別に図示されているが、信頼できるセキュアなコンポーネント112内に含めること、および/または、オペレーティングシステム116の少なくとも一部を信頼できるセキュアなコンポーネント112内に含めることが、可能である。
[0028]信頼パーティシステム106は、情報または機能をコンピューティングデバイス102に提供する、任意の様々な異なるシステムとすることができる。これらは、たとえば、コンピューティングデバイス102が様々なタイプのエンターテインメントコンテンツ(たとえば、オーディオおよび/またはビデオコンテンツ)にアクセスできるようにするシステム、コンピューティングデバイス102が様々な教育的または生産性アプリケーションを実行できるようにするシステム、コンピューティングデバイス102がセキュアまたは機密の情報にアクセスできるようにするシステム、などとすることができる。
[0029]信頼パーティシステム106にアクセスするために、信頼できるセキュアなコンポーネント112は、認証サービス104から認証証明書を取得する。1つまたは複数の実施形態において、本明細書で考察される認証証明書は、X.509証明書標準のいずれかに従ったX.509証明書(たとえば、Network Working Group Request for Comments 1422(1993年2月))である。信頼できるセキュアなコンポーネント112は、信頼できるセキュアなコンポーネント112を記述する情報を含むコンピューティングデバイス102を記述する情報を含む認証証明書要求を、認証サービス104に送信する。
[0030]認証サービス104は、クライアント匿名性をサポートする認証証明書システム122、およびキー集合124を含む。キー集合124は、複数の公開/秘密キーペアの集合である。キー集合124は、ストレージデバイス(たとえば、磁気ドライブ、半導体ドライブ)内、または他のメモリ(たとえば、ランダムアクセスメモリ(RAM))内などの、様々な異なる様式で保持することができる。クライアント匿名性をサポートする認証証明書システム122は、信頼できるセキュアなコンポーネント112から認証証明書要求を受信し、認証証明書要求の一部として受信した情報を検証する。この検証は、下記でより詳細に考察され、コンピューティングデバイスが特定のハードウェアを含む旨を検証すること、特定のソフトウェアがコンピューティングデバイス上で実行している旨を検証することなどの、様々な動作を含むことができる。検証が実行される様式は、信頼できるセキュアなコンポーネント112が実施される様式に基づいて、変更可能である。
[0031]クライアント匿名性をサポートする認証証明書システム122が、認証証明書要求の一部として受信した情報を検証できない場合、クライアント匿名性をサポートする認証証明書システム122は、コンピューティングデバイス102に認証証明書を発行しない。しかしながら、クライアント匿名性をサポートする認証証明書システム122が、認証証明書要求の一部として受信した情報を検証した場合、クライアント匿名性をサポートする認証証明書システム122は、キー集合124から公開/秘密キーペアを選択し、コンピューティングデバイス102についての認証証明書を生成する。この認証証明書は、信頼できるセキュアなコンポーネント112を選択された公開/秘密キーペアに関連付けるものであり、クライアント匿名性をサポートする認証証明書システム122によってデジタル署名される。
[0032]クライアント匿名性をサポートする認証証明書システム122は、選択された公開/秘密キーペアの秘密キーと共に、認証証明書をコンピューティングデバイス102に戻す。クライアント匿名性をサポートする認証証明書システム122は、信頼できるセキュアなコンポーネント112の公開/秘密キーペアの公開キーなどの、信頼できるセキュアなコンポーネント112に結び付けられたキーを用いて秘密キーを暗号化し、選択された公開/秘密キーペアの秘密キーを、信頼できるセキュアなコンポーネント112にセキュアに伝送できるようにする。信頼できるセキュアなコンポーネント112は、認証証明書ならびに公開/秘密キーペアを受信し、キーストア126内に記憶する。
[0033]コンピューティングデバイス102は、認証サービス104によって信頼できるセキュアなコンポーネント112に認証証明書が発行された旨の証拠を、信頼パーティシステム106に提供することによって、信頼パーティシステム106を使用することができる。認証証明書およびコンピューティングデバイス102について選択された公開/秘密キーペアが与えられると、この証拠は、様々な異なる様式で信頼パーティシステム106に提供することができる。たとえば、信頼パーティシステム106は信頼できるセキュアなコンポーネント112にナンスを提供することが可能であり、信頼できるセキュアなコンポーネント112は、認証サービス104から受信した公開/秘密キーペアの秘密キーを使用して、ナンスにデジタル署名する。認証証明書上の認証サービス104のデジタル署名は、認証サービス104の公開キーを使用して、信頼パーティシステム106によって検証可能である。ナンス上のデジタル署名も、認証証明書に含まれる公開キーを使用して、信頼パーティシステム106によって検証可能であり、それによって、認証証明書(および認証証明書によって参照される公開キー)が認証サービス104によってコンピューティングデバイス102に提供された旨が、信頼パーティシステム106に証明される。
[0034]信頼パーティシステム106は、任意選択として、コンピューティングデバイス102が信頼パーティシステム106を使用できるようにするための様々な追加のチェックまたは検証を含む。たとえば、信頼パーティシステム106は、コンピューティングデバイス102の信頼できるセキュアなコンポーネント112が少なくとも特定のバージョン番号でなければならないという制約を課すことができる。
[0035]図2は、1つまたは複数の実施形態に従った、例示的認証サービス104を示す。認証サービス104は、クライアント匿名性をサポートする認証証明書システム122、およびキー集合124を含む。クライアント匿名性をサポートする認証証明書システム122は、通信モジュール202、検証モジュール204、キー選択モジュール206、および認証証明書生成モジュール208を含む。
[0036]通信モジュール202は、認証証明書についての要求を図1のコンピューティングデバイス102から受信する。図1のコンピューティングデバイス102を参照しながら考察したが、認証サービス104は、複数の異なるコンピューティングデバイス102から認証証明書についての要求を受信することが可能であり、典型的には受信することに留意されたい。要求は、前述のように、コンピューティングデバイス102を記述する情報を含む。
[0037]検証モジュール204は、コンピューティングデバイス102を記述する情報を検証する。コンピューティングデバイス102から受信される特定の情報は変動可能であり、検証モジュール204がコンピューティングデバイス102を記述する情報を検証する様式も、信頼できるセキュアなコンポーネント112が実施される様式に基づいて、少なくとも部分的に変動する。
[0038]図1に戻ると、一般に、信頼できるセキュアなコンポーネント112が、コンピューティングデバイス102が認証サービス104によって信頼される状態で実行できるようにするハードウェアおよび/またはソフトウェアを含むように、信頼できるセキュアなコンポーネント112が実施される。認証サービス104によって信頼される状態とは、たとえば、コンピューティングデバイス102を攻撃する可能性のあるマルウェアに対して保護される状態、認証サービス104が、コンピューティングデバイス102および/または信頼できるセキュアなコンポーネント112を装う別のデバイスではなく、コンピューティングデバイス102(または、コンピューティングデバイス102の信頼できるセキュアなコンポーネント112)と通信している旨を、認証サービス104が保証され得る状態などの、状態である。
[0039]1つまたは複数の実施形態において、信頼できるセキュアなコンポーネント112は、信頼できるプラットフォームモジュール(TPM)であるセキュアな暗号プロセッサを含む。TPMは、キー生成、暗号化、復号、セキュアストレージ(たとえば、プラットフォーム構成レジスタ)などの、様々な機能を含む。TPMは、Trusted Platform Module Library specification、Family“2.0”、Level 00、Revision 01.16(2014年10月30日)、Parts 1~4として公開された、Trusted Computing Group Trusted Platform Module specification version2.0に準拠している。本明細書ではTPMに言及しているが、信頼できるセキュアなコンポーネント112は、代替として、TMPと同様の機能を提供する1つまたは複数の他の暗号プロセッサを使用することができる。
[0040]信頼できるセキュアなコンポーネント112は、関連付けられた公開/秘密キーペアを有する。これによって、他のデバイスまたはコンポーネントが、信頼できるセキュアなコンポーネントの公開/秘密キーペアの公開キーを使用して、データを暗号化し、信頼できるセキュアなコンポーネント112のみがそのデータを復号できるようになる。1つまたは複数の実施形態において、信頼できるセキュアなコンポーネント112は、コンピューティングデバイス102が、特定のモードにブートした場合、または特定の順序でソフトウェアのロードをブートした場合にのみ、TPMからその関連付けられた公開/秘密キーペアを取り出すことができる。これにより、信頼できるセキュアなコンポーネント112に追加の保護を提供し、コンピューティングデバイスが特定の既知のモード(たとえば、セキュアまたは信頼できるモード)に、または、特定のソフトウェアを用いて(たとえば、マルウェアなしで)ブートした場合にのみ、信頼できるセキュアなコンポーネント112が、その関連付けられた公開/秘密キーペアにアクセスできるようにする。
[0041]1つまたは複数の実施形態において、認証証明書についての要求に付随するコンピューティングデバイス102を記述する情報は、コンピューティングデバイス102の健康状態(または、健康状態認証)を示す。コンピューティングデバイス102の健康状態は、コンピューティングデバイス102のブート時にいずれのモジュールがロードされたかの指示、コンピューティングデバイス102のブート時に特定のモジュールまたは機能がロードされたかどうかの指示、コンピューティングデバイス102が特定のモード(たとえば、セキュアなブートモード)でブートされたかどうかの指示、特定のセキュリティ機構がオンまたはオフにされたかどうかの指示、仮想セキュアモード(VSM)がコンピューティングデバイス102内で(たとえば、信頼できるセキュアなコンポーネント112の一部として)実行しているかどうかの指示などの、様々な異なる様式で指定することができる。
[0042]追加または代替として、認証証明書についての要求に付随するコンピューティングデバイス102を記述する情報は、信頼できるセキュアなコンポーネント112が、認証サービス104(キー認証とも呼ばれる)によって信頼されるコンポーネント(たとえば、ハードウェアコンポーネント)であることを示す。信頼できるセキュアなコンポーネント112は公開/秘密キーペアを有することが可能であり、この公開/秘密キーペアの公開キーは認証サービス104にとって既知であり得る。したがって、信頼できるセキュアなコンポーネント112は、信頼できるセキュアなコンポーネント112の公開/秘密キーペアの秘密キーを使用して、値(たとえば、ナンス)をデジタル署名することによって、実際に信頼できるセキュアなコンポーネント112である旨の指示を提供することができる。
[0043]図2に戻ると、検証モジュール204は、認証証明書についての要求に付随するコンピューティングデバイス102を記述する情報を検証する。たとえば、健康状態認証の場合、検証モジュール204は、コンピューティングデバイス102から受信した情報が、コンピューティングデバイス102のブート時に特定のモジュールがロードされたこと、コンピューティングデバイス102が特定のモード(たとえば、セキュアなブートモード)でブートされたこと、特定のセキュリティ機構がオンまたはオフにされたことなどを、示す旨を検証することができる。別の例として、キー認証の場合、検証モジュール204は、信頼できるセキュアなコンポーネント112によってデジタル署名された値(たとえば、ナンス)に関してデジタル署名を検証することができる。
[0044]検証モジュール204がコンピューティングデバイス102から受信された情報を検証しない場合、コンピューティングデバイス102についてキーは選択されず、コンピューティングデバイス102について認証証明書は生成されない。しかしながら、検証モジュール204がコンピューティングデバイス102から受信された情報を検証する場合、キー選択モジュール206は、キー集合124から非対称キーペア(公開/秘密キーペア)を選択する。この選択は、ランダムに、疑似ランダムに、または様々な他の規則または基準に従って、実行可能である。
[0045]キー集合124は、何十、何百、何千、またはそれ以上の、任意の数の非対称キーペアを有することができる。キー集合124内の非対称キーペアは、(たとえば、コンピューティングデバイス102から認証証明書についての要求を受信する前に、キー選択モジュール206、または認証サービス104の別のモジュールによって)事前に生成されること、およびキー集合124内に保持されること、その後、所望であれば、キー選択モジュール206によって選択されることが、可能である。キー集合124内に含まれる非対称キーペアの数は、様々な異なる要因に基づいて変動可能である。1つまたは複数の実施形態において、キー集合124内に含まれる非対称キーペアの数は、キーが含まれる(たとえば、マルウェアによって発見されるかまたは潜在的に発見される)事象において、認証証明書を無効にする必要性に対して、コンピューティングデバイスの匿名性のバランスを取ることによって、決定される。たとえば、非対称キーペアがより少ないと、結果として、より多くのコンピューティングデバイスが同じ非対称キーペアを獲得するため、コンピューティングデバイスに対する匿名性の増加が生じるが、多数のコンピューティングデバイスが危険にさらされた非対称キーペアを受信したため、非対称キーペアが危険にさらされる事象において、多数の認証証明書を無効にする必要性も生じる。
[0046]キー集合124に含まれる非対称キーペアは、経時的に変更可能であることにも留意されたい。たとえば、キー選択モジュール206は、キー集合124に追加するために、新しい非対称キーペアを規則的間隔または不規則間隔で生成することが可能であり、非対称キーペアを規則的間隔または不規則間隔でキー集合124から削除することが可能である。
[0047]認証証明書生成モジュール208は、選択された公開/秘密キーペアの公開キーに証明書を関連付ける証明書を生成する。認証証明書は、選択された公開/秘密キーペアの公開キーに、信頼できるセキュアなコンポーネント112(および/またはコンピューティングデバイス102)も関連付ける。この関連付けは、たとえば、選択された公開/秘密キーペアの公開キーおよび選択された公開/秘密キーペアの秘密キーを含む証明書が、(たとえば、信頼できるセキュアなコンポーネント112のキーを使用して暗号化された)信頼できるセキュアなコンポーネント112にセキュアに提供されることによって実行される。信頼できるセキュアなコンポーネント112(および/またはコンピューティングデバイス102)の匿名性を保持するために、信頼できるセキュアなコンポーネント112および/またはコンピューティングデバイス102の名前または他の識別子を、生成された証明書に含める必要はない。認証証明書生成モジュール208は、認証サービス104の公開/秘密キーペアの公開キーを使用して証明書にデジタル署名し、認証サービス104が信頼できるセキュアなコンポーネント112を検証したこと、および信頼できるセキュアなコンポーネント112に選択された公開/秘密キーペアを与えたことを、信頼パーティが知ることができるようにする、認証証明書を作成する。
[0048]通信モジュール202は、認証証明書ならびにキー選択モジュール206によって選択された公開/秘密キーペアの秘密キーを、信頼できるセキュアなコンポーネント112に戻す。選択された公開/秘密キーペアの秘密キーは、(たとえば、信頼できるセキュアなコンポーネント112の公開/秘密キーペアの公開キーを使用して)暗号化されるため、秘密キーは信頼できるセキュアなコンポーネント112にセキュアに伝送され、いかなる盗聴デバイスまたは他の中継デバイスによっても、読み取りはできないことになる。認証証明書も、信頼できるセキュアなコンポーネント112にセキュアに伝送されるように暗号化することが可能であるが、必ずしも必要ではない。
[0049]したがって、認証証明書生成モジュール208によって生成された認証証明書は、選択された公開/秘密キーペアの公開キーを含む。認証証明書は、認証証明書生成モジュール208によってデジタル署名され、選択された公開/秘密キーペアの公開キーがこの認証証明書と共に配布されたことを証明する。次いで、選択された公開/秘密キーペアの秘密キーは、信頼できるセキュアなコンポーネント112にセキュアに提供される。その後、コンピューティングデバイス102が信頼パーティ104へのアクセスを望む場合、信頼パーティ104は、コンピューティングデバイスの信頼できるセキュアなコンポーネント112にナンスを提供することができる。信頼できるセキュアなコンポーネント112は、選択された公開/秘密キーペアの秘密キーを使用してナンスにデジタル署名し、署名されたナンスならびに認証証明書を信頼パーティ104に送信する。信頼パーティ104は、認証サービス104の公開キーを使用して、認証証明書生成モジュール208が認証証明書に実際にデジタル署名したこと(および、したがって配布したこと)を検証する。さらに、信頼パーティ104は、(信頼できるセキュアなコンポーネント112は、認証サービス104が信頼できるセキュアなコンポーネント112を信頼し、信頼できるセキュアなコンポーネント112に秘密キーを与えた場合にのみ、証明書内の公開キーと同じ公開/秘密キーペアの一部である秘密キーを有することになるため)、認証証明書内の公開キーを使用して、認証サービス104によって信頼された信頼できるセキュアなコンポーネントによって、ナンスがデジタル署名されたことを検証することができる。したがって、信頼パーティ104は、信頼できるセキュアなコンポーネント112が認証サービス104によって信頼される旨を検証することができるが、信頼パーティ104によって信頼される証明書は、特定の信頼できるセキュアなコンポーネント112および/またはコンピューティングデバイス102の名前または他の識別子を必ずしも有する必要はない。
[0050]図3は、1つまたは複数の実施形態に従った、例示的な信頼できるセキュアなコンポーネント112を示す。信頼できるセキュアなコンポーネント112は、キーストア126、認証証明書取り出しモジュール302、認証証明書生成モジュール304、キー生成モジュール306、および証明書ストア308を含む。
[0051]認証証明書取り出しモジュール302は、認証サービス104と通信し、認証証明書についての要求を送信し、認証証明書および暗号化された秘密キーを認証サービス104から受信する。認証サービス104から受信した公開/秘密キーペア(または、少なくとも公開/秘密キーペアの秘密キー)は、キーストア126内に記憶される。認証サービス104から受信した認証証明書も、証明書ストア308内に記憶される。キーストア126はセキュアなストアであり、信頼できるセキュアなコンポーネント112のモジュールのみがアクセスできる。証明書ストア308は、セキュアなストアとすることができるが、必ずしもその必要はない。追加または代替として、認証証明書は、信頼できるセキュアなコンポーネント112の外部に記憶することが可能である。
[0052]信頼できるセキュアなコンポーネント112は認証サービス104によって信頼されるため、認証証明書生成モジュール304も認証証明書を生成することができる。キー生成モジュール306は、様々な公開またはプロプライエタリ技法のうちのいずれかを使用して、公開/秘密キーペアを生成する。認証証明書生成モジュール304は、証明書を、新しく生成された公開/秘密キーペアの公開キーに関連付ける証明書を生成する。認証証明書は、信頼できるセキュアなコンポーネント112(および/または、コンピューティングデバイス102)も、キー生成モジュール306によって新しく生成された公開/秘密キーペアの公開キーに関連付ける。この関連付けは、たとえば、信頼できるセキュアなコンポーネント112によってセキュアに保持される(たとえば、キーストア126内に記憶される)、新しく生成された公開/秘密キーペアの公開キーおよび新しく生成された公開/秘密キーペアの秘密キーを含む、証明書によって実行される。信頼できるセキュアなコンポーネント112(および/またはコンピューティングデバイス102)の匿名性を保持するために、信頼できるセキュアなコンポーネント112および/またはコンピューティングデバイス102の名前または他の識別子を、必ずしも新しく生成された証明書内に含める必要はない。認証証明書生成モジュール304は、認証サービス104から受信された公開/秘密キーペアの公開キーを使用して証明書にデジタル署名し、認証サービス104まで連鎖し、したがって認証サービス104が信頼できるセキュアなコンポーネント112を検証したことを信頼パーティが知ることができるようにする、認証証明書を作成する。さらに、認証証明書生成モジュール304によって生成された認証証明書は、認証サービス104から受信された公開/秘密キーペアの公開キーを使用してデジタル署名され、その公開キーに基づいて認証サービス104に連鎖し、複数の異なるコンピューティングデバイスがその同じ公開キーを受信して、その同じ公開キーに基づいて認証証明書を生成することになるため、コンピューティングデバイス102がその独自の認証証明書を生成するにもかかわらず、コンピューティングデバイス102の匿名性が保持される。
[0053]キー生成モジュール306によって生成された公開/秘密キーペア(または、少なくとも公開/秘密キーペアの秘密キー)は、キーストア126内に記憶される。認証証明書生成モジュール304によって生成された認証証明書は、証明書ストア308内に記憶される。
[0054]認証証明書生成モジュール304およびキー生成モジュール306は、所望に応じて、新しいキーおよび認証証明書を生成することができる。これにより、各々の新しいキーおよび認証証明書についてネットワーク108および認証サービス104にアクセスすることなく、新しいキーおよび認証証明書を生成することが可能になり、新しいキーおよび認証証明書を取得するために必要な時間量が低減される。たとえば、コンピューティングデバイス102によってアクセスされる各々の新しい信頼パーティシステム106、コンピューティングデバイス102上で実行しているウェブブラウザによってアクセスされる各々の新しいウェブサイト、などについて、新しい公開/秘密キーペアおよび認証証明書を生成することができる。
[0055]図4は、1つまたは複数の実施形態に従った、デバイスに匿名性を与えるキー認証ステートメントの生成を実施するための例示的プロセス400を示すフローチャートである。プロセス400は、図1または図2の認証サービス104などの認証サービスによって実現され、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせにおいて実施可能である。プロセス400は動作のセットとして示されており、様々な動作のオペレーションを実行するために示された順序には限定されない。プロセス400は、デバイスに匿名性を提供するキー認証ステートメントの生成を実施するための例示的プロセスであり、本明細書には、異なる図面を参照しながら、デバイスに匿名性を提供するキー認証ステートメントの生成の実施についての付加的な考察が含められる。
[0056]プロセス400において、コンピューティングデバイスのための認証証明書についての要求が受信される(動作402)。要求は、コンピューティングデバイスのソフトウェアおよび/またはハードウェアを記述する情報を含む。情報は、コンピューティングデバイスの健康状態を示すこと、および/または、信頼できるセキュアなコンポーネントが前述のような認証サービスによって信頼されるコンポーネントである旨を示すことができる。
[0057]受信した情報は検証される(動作404)。認証サービスが検証する様式は、前述のように、受信した情報に少なくとも部分的に基づいて変動する。
[0058]非対称キーの集合から非対称キーペアが選択される(動作406)。キーの集合における非対称キーの各々は公開/秘密キーペアであり、キーペアのうちの1つは、ランダムまたは疑似ランダムなどの前述のような様々な様式で選択される。
[0059]コンピューティングデバイスおよび選択されたキーペアについて、認証証明書が生成される(動作408)。認証証明書は、選択されたキーペアの公開キーを認証証明書に関連付ける。
[0060]選択されたキーペアの秘密キーも、コンピューティングデバイスについて暗号化される(動作410)。選択された非対称キーペアが暗号化可能であるか、または、選択された非対称キーペアの秘密キーのみが暗号化可能である。選択されたキーペアの秘密キーは、コンピューティングデバイスの信頼できるセキュアなコンポーネントの公開/秘密キーペアの公開キーを使用して暗号化される。信頼できるセキュアなコンポーネントの公開キーは、動作402において受信されたコンピューティングデバイスを記述する情報に含めることが可能であるか、または、その他の方法で取得することが可能である。
[0061]選択されたキーペアの暗号化された秘密キーおよび認証証明書が、コンピューティングデバイスに戻される(動作412)。選択されたキーペアの暗号化された秘密キーおよび認証証明書は、ネットワークを介してコンピューティングデバイスに伝送されるなど、様々な様式で戻すことができる。
[0062]図5は、1つまたは複数の実施形態に従った、デバイスに匿名性を与えるキー認証ステートメントの生成を実施するための例示的プロセス500を示すフローチャートである。プロセス500は、図1のコンピューティングデバイスなどのコンピューティングデバイスによって実現され、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせにおいて実装可能である。プロセス500は動作のセットとして示されており、様々な動作のオペレーションを実行するために示された順序には限定されない。プロセス500は、デバイスに匿名性を提供するキー認証ステートメントの生成を実装するための例示的プロセスであり、本明細書には、異なる図面を参照しながら、デバイスに匿名性を提供するキー認証ステートメントの生成の実装についての付加的な考察が含められる。
[0063]プロセス500において、コンピューティングデバイスのための認証証明書についての要求が認証サービスに送信される(動作502)。要求は、コンピューティングデバイスのソフトウェアおよび/またはハードウェアを記述する情報を含む。情報は、コンピューティングデバイスの健康状態を示すこと、および/または、信頼できるセキュアなコンポーネントが前述のような認証サービスによって信頼されるコンポーネントである旨を示すことができる。
[0064]要求に応答して、公開/秘密キーペアおよび認証証明書が、認証サービスから受信される(動作504)。公開/秘密キーペアおよび認証証明書は、動作502において認証サービスに送信されたコンピューティングデバイスについての情報が、認証サービスによって検証された場合に受信される。認証証明書は、受信した公開/秘密キーペアの公開キーを、コンピューティングデバイス(および/または、コンピューティングデバイスの信頼できるセキュアなコンポーネント)に関連付ける。この関連付けは、たとえば、コンピューティングデバイスにセキュアに提供された(たとえば、コンピューティングデバイスの信頼できるセキュアなコンポーネントのキーを使用して暗号化された)、受信した公開/秘密キーペアの公開キーおよび受信した公開/秘密キーペアの秘密キーを含む、認証証明書によって行われる。
[0065]受信した公開/秘密キーペアおよび認証証明書は記憶される(動作506)。受信した公開/秘密キーペアの秘密キーは、コンピューティングデバイスの信頼できるセキュアなコンポーネントのセキュアなストア内に記憶される。受信した公開/秘密キーペアの公開キーおよび認証証明書は、セキュアなストアまたは代替として他の場所に記憶可能である。
[0066]認証サービスまで連鎖する、1つまたは複数の追加の公開/秘密キーペアおよび認証証明書が生成される(動作508)。これらの追加の公開/秘密キーペアおよび認証証明書は、認証サービスにアクセスすることなく、信頼できるセキュアなコンポーネントによって生成される。
[0067]本明細書では、特定のモジュールを参照しながら特定の機能が考察されるが、本明細書において考察される個々のモジュールの機能を複数のモジュールに分離すること、および/または、複数のモジュールの少なくともいくつかの機能を単一のモジュールに組み合わせることが可能であることに留意されたい。加えて、本明細書においてアクションを実行するとして考察される特定のモジュールは、特定のモジュール自体がアクションを実行すること、または、代替として、特定のモジュールが、アクションを実行する(または、その特定のモジュールと共にアクションを実行する)別のコンポーネントまたはモジュールを、呼び出すかまたは別の方法でこれらにアクセスすることを含む。したがって、特定のモジュールがアクションを実行することは、特定のモジュール自体がアクションを実行すること、および/または、その特定のモジュールによって呼び出されるかまたは別の方法でアクセスされた別のモジュールがアクションを実行することを含む。
[0068]図6は、600において、本明細書で説明する様々な技法を実装することが可能な、1つまたは複数のシステムおよび/またはデバイスを代表する例示的コンピューティングデバイス602を含む、例示的システムの全体を示す。コンピューティングデバイス602は、たとえば、サービスプロバイダのサーバ、クライアントに関連付けられたデバイス(たとえば、クライアントデバイス)、オンチップシステム、および/または他の好適なコンピューティングデバイスまたはコンピューティングシステムとすることができる。
[0069]図示されるような例示的コンピューティングデバイス602は、処理システム604、1つまたは複数のコンピュータ可読媒体606、および1つまたは複数のI/Oインターフェース608を含み、これらは互いに通信可能に結合される。図には示されていないが、コンピューティングデバイス602は、様々なコンポーネントを互いに結合する、システムバスまたは他のデータおよびコマンド転送システムを、さらに含むことができる。システムバスは、メモリバスまたはメモリコントローラ、周辺バス、ユニバーサル・シリアルバス、および/または、任意の様々なバスアーキテクチャを利用するプロセッサまたはローカルバスなどの、異なるバス構造のうちの任意の1つまたは組み合わせを含むことができる。制御線およびデータ回線などの、様々な他の例も企図される。
[0070]処理システム604は、ハードウェアを使用して1つまたは複数のオペレーションを実行するための機能を表す。したがって、処理システム604は、プロセッサ、機能ブロックなどとして構成され得る、ハードウェア要素610を含むものとして示される。これは、特定用途向け集積回路、あるいは1つまたは複数の半導体を使用して形成される他の論理デバイスとしてのハードウェア内での実装を含むことができる。ハードウェア要素610は、それらが形成される材料、またはそれらの内部で採用される処理機構によって限定されるものではない。たとえばプロセッサは、半導体および/またはトランジスタ(たとえば、電子集積回路(IC))からなるものとすることができる。このような状況下では、プロセッサ実行可能命令は電子的に実行可能な命令とすることができる。
[0071]コンピュータ可読媒体606は、メモリ/ストレージ612を含むものとして示される。メモリ/ストレージ612は、1つまたは複数のコンピュータ可読媒体に関連付けられたメモリ/ストレージ容量を表す。メモリ/ストレージ612は、揮発性媒体(ランダム・アクセス・メモリ(RAM)など)および/または不揮発性媒体(読み取り専用メモリ(ROM)、Resistive RAM(ReRAM)、フラッシュメモリ、光ディスク、磁気ディスク、など)を含むことができる。メモリ/ストレージ612は、固定媒体(たとえば、RAM、ROM、固定ハードドライブなど)ならびに取り外し可能媒体(たとえば、フラッシュメモリ、取り外し可能ハードドライブ、光ディスクなど)を含むことができる。メモリ/ストレージ612は、カリフォルニア州サンタクララのIntel Corporationまたはアイダホ州ボイシのMicron Technology, Incから入手可能な、3D Xpointメモリなどの、ストレージクラスメモリ(SCM)を含むことができる。コンピュータ可読媒体606は、下記でさらに説明するように、様々な他の方法で構成可能である。
[0072]1つまたは複数の入力/出力インターフェース608は、ユーザがコマンドおよび情報をコンピューティングデバイス602に入力できるようにするため、および、様々な入力/出力デバイスを使用して、情報をユーザおよび/または他のコンポーネントまたはデバイスに提示できるようにもするための、機能を表す。入力デバイスの例は、キーボード、カーソル制御デバイス(たとえば、マウス)、マイクロフォン(たとえば、音声入力用)、スキャナ、タッチ機能(たとえば、物理的タッチを検出するように構成された容量性センサまたは他のセンサ)、カメラ(たとえば、タッチをジェスチャとして含めない動きを検出するための赤外線周波などの、可視または不可視波長を採用可能)、などを含む。出力デバイスの例は、ディスプレイデバイス(たとえば、モニタまたはプロジェクタ)、スピーカ、プリンタ、ネットワークカード、触覚応答デバイスなどを含む。したがって、コンピューティングデバイス602は、ユーザ対話をサポートするために、下記でさらに説明するような様々な方法で構成可能である。
[0073]1つまたは複数の実施形態において、コンピューティングデバイス602は、図1のコンピューティングデバイス102であり、信頼できるセキュアなコンポーネント614を含むことができる。信頼できるセキュアなコンポーネント614は、認証サービスから認証証明書を取得し、前述のように認証サービスまで連鎖する追加の公開/秘密キーペアおよび認証証明書も生成する。信頼できるセキュアなコンポーネント614は、たとえば、図1または図3の信頼できるセキュアなコンポーネント112を実装することができる。
[0074]代替として、コンピューティングデバイス602は、図1または図2の認証サービス104の少なくとも一部を実装するコンピューティングデバイスである。こうした状況において、コンピューティングデバイス602は、信頼できるセキュアなコンポーネント614を含む必要はない。むしろコンピューティングデバイス602は、図1または図2のクライアント匿名性をサポートする認証証明書システム122などの、クライアント匿名性をサポートする認証証明書システムを含む。
[0075]本明細書では、ソフトウェア、ハードウェア要素、またはプログラムモジュールとの一般的な関連において、様々な技法を説明することができる。一般に、こうしたモジュールは、特定のタスクを実行するかまたは特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、要素、コンポーネント、データ構造などを含む。本明細書で使用される「モジュール」、「機能」、および「コンポーネント」という用語は、一般に、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせを表す。本明細書で説明される技法の特徴は、技法が様々なプロセッサを有する様々なコンピューティングプラットフォーム上で実装され得ることを意味する、プラットフォーム非依存型である。
[0076]説明されるモジュールおよび技法の実装は、何らかの形のコンピュータ可読媒体上に記憶すること、またはこれらを横切って伝送することができる。コンピュータ可読媒体は、コンピューティングデバイス602によるアクセスが可能な様々な媒体を含むことができる。たとえば、限定的ではないが、コンピュータ可読媒体は、「コンピュータ可読記憶媒体」および「コンピュータ可読信号媒体」を含むことができる。
[0077]「コンピュータ可読記憶媒体」は、単なる信号伝送、搬送波、または信号自体とは対照的に、情報の永続的記憶および/または有形な記憶を可能にする、媒体および/またはデバイスを指す。したがって、コンピュータ可読記憶媒体は、非信号担持媒体を指す。コンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、論理要素/回路、または他のデータなどの情報の記憶に適した方法または技術で実装される、揮発性および不揮発性、取り外し可能および取り外し不能な、媒体および/またはデバイスなどのハードウェアを含む。コンピュータ可読記憶媒体の例は、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)、または他の光学ストレージ、ハードディスク、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気記憶デバイス、あるいは、所望の情報を記憶するために適した、コンピュータによるアクセスが可能な、他の記憶デバイス、有形媒体、または製品を含むことができるが、これらに限定されない。
[0078]「コンピュータ可読信号媒体」は、ネットワークなどを介して、コンピューティングデバイス602のハードウェアに命令を伝送するように構成された、信号担持媒体を指す。信号媒体は、典型的には、搬送波、データ信号、または他の移送機構などの変調データ信号内で、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを具体化することができる。信号媒体は、任意の情報送達媒体も含む。「変調データ信号」という用語は、その特徴のうちの1つまたは複数が、信号内の情報を符号化したような様式で設定または変更された信号を意味する。たとえば、限定されないが、通信媒体は、ワイヤードネットワークまたはダイレクトワイヤード接続などのワイヤード媒体、および、音波、RF、赤外線、および他のワイヤレス媒体などのワイヤレス媒体を含む。
[0079]前述のように、ハードウェア要素610およびコンピュータ可読媒体606は、本明細書で説明される技法の少なくともいくつかの態様を実装するために、いくつかの実施形態において採用可能なハードウェアの形で実装される、命令、モジュール、プログラマブルデバイス論理、および/または固定デバイス論理を表す。ハードウェア要素は、集積回路またはオンチップシステム、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲートアレイ(FPGA)、複合プログラマブル論理デバイス(CPLD)、および、シリコンまたは他のハードウェアデバイス内での他の実装の、コンポーネントを含むことができる。この状況において、ハードウェア要素は、ハードウェア要素によって具体化される命令、モジュール、および/または論理によって定義されるプログラムタスクを実行する処理デバイスとして、ならびに、実行のための命令を記憶するために利用されるハードウェアデバイス、たとえば前述のコンピュータ可読記憶媒体として、動作可能である。
[0080]前述の組み合わせは、本明細書で説明される様々な技法およびモジュールを実装するために採用することもできる。したがって、ソフトウェア、ハードウェア、またはプログラムモジュール、および他のプログラムモジュールは、何らかの形のコンピュータ可読記憶媒体上で、および/または1つまたは複数のハードウェア要素610によって具体化される、1つまたは複数の命令および/または論理として、実装可能である。コンピューティングデバイス602は、ソフトウェアおよび/またはハードウェアモジュールに対応する特定の命令および/または機能を実装するように構成可能である。したがって、ソフトウェアとしてコンピューティングデバイス602によって実行可能なモジュールとしてモジュールを実装することは、たとえば、処理システムのコンピュータ可読記憶媒体および/またはハードウェア要素610の使用を介して、少なくとも部分的にハードウェア内で達成することができる。命令および/または機能は、本明細書で説明される技法、モジュール、および例を実装するために、1つまたは複数の製品(たとえば、1つまたは複数のコンピューティングデバイス602および/または処理システム604)によって、実行可能/動作可能とすることができる。
[0081]図6にさらに示されるように、例示的システム600は、パーソナルコンピュータ(PC)、テレビジョンデバイス、および/またはモバイルデバイス上でアプリケーションを実行する場合、シームレスなユーザ体験のためのユビキタス環境を実行することができる。3つの環境すべてにおいて、サービスおよびアプリケーションは、アプリケーションを利用する、ビデオゲームをプレイする、ビデオを見るなどの間、デバイスからデバイスへ移行する際に、共通のユーザ体験のために実質的に同様に実行する。
[0082]システム600の例において、複数のデバイスが中央コンピューティングデバイスを介して相互接続される。中央コンピューティングデバイスは、複数のデバイスにとってローカルであり得るか、または複数のデバイスからリモートに配置され得る。1つまたは複数の実施形態において、中央コンピューティングデバイスは、ネットワーク、インターネット、または他のデータ通信リンクを介して複数のデバイスに接続される、1つまたは複数のサーバコンピュータのクラウドとすることができる。
[0083]1つまたは複数の実施形態において、この相互接続アーキテクチャは、複数のデバイスのユーザに共通のシームレスな体験を提供するために、複数のデバイスにわたって機能を送達できるようにする。複数のデバイスの各々は、異なる物理的要件および機能を有することが可能であり、中央コンピューティングデバイスは、プラットフォームを使用して、デバイス用に調整された体験およびすべてのデバイスにとって依然として共通な体験の両方を、デバイスに送達できるようにする。1つまたは複数の実施形態において、あるクラスのターゲットデバイスが作成され、体験はジェネリッククラスのデバイス用に調整される。デバイスのクラスは、デバイスの物理的特徴、利用タイプ、または他の共通の特徴によって定義することができる。
[0084]様々な実装において、コンピューティングデバイス602は、コンピュータ616、モバイル618、およびテレビジョン620などが使用するための、様々な異なる構成を想定することができる。これらの構成の各々は、一般に異なる構造および機能を有し得るデバイスを含むため、コンピューティングデバイス602は、1つまたは複数の異なるデバイスクラスに従って構成することができる。たとえば、コンピューティングデバイス602は、パーソナルコンピュータ、デスクトップコンピュータ、マルチスクリーンコンピュータ、ラップトップコンピュータ、ネットブックなどを含む、コンピュータ616クラスのデバイスとして実装することができる。
[0085]コンピューティングデバイス602は、モバイルフォン、ポータブル・ミュージック・プレーヤ、ポータブル・ゲーミング・デバイス、タブレットコンピュータ、マルチスクリーンコンピュータなどの、モバイルデバイスを含む、モバイル618クラスのデバイスとしても実装することができる。コンピューティングデバイス602は、日常の視聴環境において一般により大きなスクリーンを有するか、またはこれに接続されたデバイスを含む、テレビジョン620クラスのデバイスとしても実装することができる。これらのデバイスは、テレビジョン、セットトップボックス、ゲーミングコンソールなどを含む。
[0086]本明細書で説明される技法は、コンピューティングデバイス602のこれらの様々な構成によってサポート可能であり、本明細書で説明される技法の特定の例に限定されない。この機能は、下記で説明するように、「クラウド」622を介したプラットフォーム624などを介する分散型システムを使用して、すべてまたは部分的に実装することもできる。
[0087]クラウド622は、リソース626のためのプラットフォーム624を含む、および/または、これを表す。プラットフォーム624は、クラウド622のハードウェア(たとえば、サーバ)およびソフトウェアリソースの、基礎となる機能を抽象化する。リソース626は、コンピューティングデバイス602からリモートなサーバ上で、コンピュータ処理が実行される間に利用可能な、アプリケーションおよび/またはデータを含むことができる。リソース626は、インターネットを介して、および/または、セル式ネットワークまたはWi-Fiネットワークなどの加入者ネットワークを介して提供される、サービスを含むこともできる。
[0088]プラットフォーム624は、コンピューティングデバイス602を他のコンピューティングデバイスと接続するためのリソースおよび機能を抽象化することができる。プラットフォーム624は、プラットフォーム624を介して実装されるリソース626について経験する需要に対して対応するレベルのスケールを提供するために、リソースのスケーリングを抽象化する働きをすることもできる。したがって、相互接続されたデバイスの実施形態において、本明細書で説明される機能の実装をシステム600全体にわたって分散させることができる。たとえば機能を、コンピューティングデバイス602上で、ならびにクラウド622の機能を抽象化するプラットフォーム624を介して、実装することができる。
[0089]本明細書における考察では、様々な異なる実施形態が説明される。本明細書で説明される各実施形態は、それ独自で、または本明細書で説明される1つまたは複数の他の実施形態に関連して、使用可能であることを評価および理解されよう。本明細書で考察される技法のさらなる態様は、下記の実施形態のうちの1つまたは複数に関する。
[0090]認証サービスにおいて実装される方法であって、方法は、第1のコンピューティングデバイスから、第1のコンピューティングデバイスのための認証証明書についての第1の要求を受信することであって、要求は、第1のコンピューティングデバイスのハードウェアおよび/またはソフトウェアを記述する情報を含む、要求を受信すること、受信した情報を検証すること、非対称キーペアの集合から非対称キーペアを選択することであって、選択されたキーペアは複数の追加のコンピューティングデバイスについても選択される、選択すること、選択されたキーペアの公開キーを認証証明書に関連付ける第1のコンピューティングデバイスについての認証証明書を生成すること、第1のコンピューティングデバイスについて選択されたキーペアの秘密キーを暗号化すること、および、選択されたキーペアの暗号化された秘密キーおよび認証証明書を第1のコンピューティングデバイスに戻すことを含む。
[0091]本明細書で説明される方法、システム、またはコンピューティングデバイスのうちのいずれかの代替として、またはこれらに加えて、第1のコンピューティングデバイスについて選択されたキーペアの秘密キーを暗号化することは、第1のコンピューティングデバイスの信頼できるセキュアなコンポーネントの公開/秘密キーペアの公開キーを使用して、選択されたキーペアの秘密キーを暗号化することを含み、非対称キーペアを選択することは、非対称キーペアの集合から非対称キーペアをランダムまたは疑似ランダムに選択することを含み、第1の要求を受信する前に、非対称キーペアの集合において非対称キーペアを生成することをさらに含むこと、非対称キーペアの集合において非対称キーペアを1つまたは複数の間隔で変更することをさらに含むこと、第2のコンピューティングデバイスから、第2のコンピューティングデバイスのための認証証明書についての第2の要求を受信することであって、第2の要求は、第2のコンピューティングデバイスのハードウェアおよび/またはソフトウェアを記述する情報を含む、第2の要求を受信すること、第2のコンピューティングデバイスのハードウェアおよび/またはソフトウェアを記述する受信した情報を検証すること、非対称キーペアの集合から、第1のコンピューティングデバイスについて選択されたものと同じキーペアを選択すること、選択されたキーペアの公開キーを第2のコンピューティングデバイスについての認証証明書に関連付ける、第2のコンピューティングデバイスについての認証証明書を生成すること、第2のコンピューティングデバイスについて選択されたキーペアの秘密キーを暗号化すること、および、第2のコンピューティングデバイスについて選択されたキーペアの暗号化された秘密キーおよび認証証明書を、第2のコンピューティングデバイスに戻すこと、をさらに含むこと、認証証明書は第1のコンピューティングデバイスの名前または識別子を有さないこと、のうちの、任意の1つまたは組み合わせである。
[0092]コンピューティングデバイスにおいて実装される方法であり、方法は、コンピューティングデバイスのための認証証明書についての要求を、認証サービスに送信することであって、要求は、コンピューティングデバイスのハードウェアおよび/またはソフトウェアを記述する情報を含む、要求を送信すること、公開/秘密キーペアと、公開/秘密キーペアをコンピューティングデバイスの信頼できるセキュアなコンポーネントに関連付ける認証証明書とを、認証サービスから受信すること、信頼できるセキュアなコンポーネントのセキュアなストア内に公開/秘密キーペアの秘密キーを記憶すること、および、認証サービスにアクセスすることなく、1つまたは複数の追加の公開/秘密キーペアおよび1つまたは複数の追加の認証証明書を生成することであって、各追加の認証証明書は認証サービスまで連鎖する、生成すること、を含む。
[0093]本明細書で説明される方法、システム、またはコンピューティングデバイスのうちのいずれかの代替として、またはこれらに加えて、受信された公開/秘密キーペアは、認証サービスによって複数の他のコンピューティングデバイスに提供される公開/秘密キーペアと同じであること、コンピューティングデバイスのウェブブラウザによってアクセスされる各ウェブサイトについて、1つまたは複数の追加の公開/秘密キーペアおよび1つまたは複数の追加の認証証明書のうちの、1つを生成することをさらに含むこと、コンピューティングデバイスによってアクセスされる複数の異なる信頼パーティシステムの各々について、1つまたは複数の追加の公開/秘密キーペアおよび1つまたは複数の追加の認証証明書のうちの、1つを生成することをさらに含むこと、信頼できるセキュアなコンポーネントの秘密キーを使用して、認証サービスから受信された公開/秘密キーペアを復号することをさらに含むこと、信頼できるセキュアなコンポーネントは信頼できるプラットフォームモジュールを含むこと、のうちの、任意の1つまたは組み合わせである。
[0094]1つまたは複数のプロセッサと、複数の命令を記憶しているコンピュータ可読記憶媒体とを備える、システムであって、複数の命令は、1つまたは複数のプロセッサによる実行に応答して、第1のコンピューティングデバイスから、第1のコンピューティングデバイスのための認証証明書についての第1の要求を受信することであって、要求は、第1のコンピューティングデバイスのハードウェアおよび/またはソフトウェアを記述する情報を含む、要求を受信すること、受信した情報を検証すること、非対称キーペアの集合から非対称キーペアを選択することであって、選択された非対称キーペアは複数の追加のコンピューティングデバイスについても選択される、選択すること、選択されたキーペアの公開キーを認証証明書に関連付ける第1のコンピューティングデバイスについての認証証明書を生成すること、第1のコンピューティングデバイスについて選択されたキーペアの秘密キーを暗号化すること、および、選択されたキーペアの暗号化された秘密キーおよび認証証明書を第1のコンピューティングデバイスに戻すことを、1つまたは複数のプロセッサに実行させる。
[0095]本明細書で説明される方法、システム、またはコンピューティングデバイスのうちのいずれかの代替として、またはこれらに加えて、第1のコンピューティングデバイスについて選択されたキーペアの秘密キーを暗号化することは、第1のコンピューティングデバイスの信頼できるセキュアなコンポーネントの公開/秘密キーペアの公開キーを使用して、選択されたキーペアの秘密キーを暗号化することであり、信頼できるセキュアなコンポーネントは信頼できるプラットフォームモジュールを含み、非対称キーペアを選択することは、非対称キーペアの集合から非対称キーペアをランダムまたは疑似ランダムに選択することであり、複数の命令は、非対称キーペアの集合におけるキーを1つまたは複数の間隔で変更することを、1つまたは複数のプロセッサにさらに実行させること、複数の命令は、第2のコンピューティングデバイスから、第2のコンピューティングデバイスのための認証証明書についての第2の要求を受信することであって、第2の要求は、第2のコンピューティングデバイスのハードウェアおよび/またはソフトウェアを記述する情報を含む、第2の要求を受信すること、第2のコンピューティングデバイスのハードウェアおよび/またはソフトウェアを記述する受信した情報を検証すること、非対称キーペアの集合から、第1のコンピューティングデバイスについて選択されたものと同じキーペアを選択すること、選択されたキーペアの公開キーを第2のコンピューティングデバイスについての認証証明書に関連付ける、第2のコンピューティングデバイスについての認証証明書を生成すること、第2のコンピューティングデバイスについて選択されたキーペアの秘密キーを暗号化すること、および、第2のコンピューティングデバイスについて選択されたキーペアの暗号化された秘密キーおよび認証証明書を、第2のコンピューティングデバイスに戻すことを、1つまたは複数のプロセッサにさらに実行させること、認証証明書は第1のコンピューティングデバイスの名前または識別子を有さないこと、のうちの、任意の1つまたは組み合わせである。
[0096]1つまたは複数のプロセッサと、複数の命令を記憶しているコンピュータ可読記憶媒体とを備える、コンピューティングデバイスであって、複数の命令は、1つまたは複数のプロセッサによる実行に応答して、コンピューティングデバイスのための認証証明書についての要求を、認証サービスに送信することであって、要求は、コンピューティングデバイスのハードウェアおよび/またはソフトウェアを記述する情報を含む、要求を送信すること、公開/秘密キーペアと、公開/秘密キーペアをコンピューティングデバイスの信頼できるセキュアなコンポーネントに関連付ける認証証明書とを、認証サービスから受信すること、信頼できるセキュアなコンポーネントのセキュアなストア内に公開/秘密キーペアの秘密キーを記憶すること、および、認証サービスにアクセスすることなく、1つまたは複数の追加の公開/秘密キーペアおよび1つまたは複数の追加の認証証明書を生成することであって、各追加の認証証明書は認証サービスまで連鎖する、生成すること、を含む動作を、1つまたは複数のプロセッサに実行させる。
[0097]以上、構造的特徴および/または方法論的動作に特有の言い回しで、主題を説明してきたが、添付の特許請求の範囲内に定義される主題は、必ずしも前述の特定の特徴または動作に限定されるものではないことを理解されよう。むしろ、前述の特定の特徴および動作は、特許請求の範囲を実装する例示的な形として開示される。

Claims (20)

  1. 認証サービスにおいてデバイスが実施する方法であって、
    第1のコンピューティングデバイスから、前記第1のコンピューティングデバイスに対応する第1の認証証明書要求を受信するステップであって、前記第1の認証証明書要求は、第1のコンピューティングデバイスのハードウェアおよびソフトウェアのうちの一方または双方を記述する情報を含む、受信するステップと、
    受信した前記情報を検証するステップと、
    非対称キーペアの集合から非対称キーペアを選択するステップであって、選択された前記非対称キーペアは複数の追加のコンピューティングデバイスの各々にも同時に関連付けられ、該複数の追加のコンピューティングデバイスは、選択された前記非対称キーペアの暗号化された秘密キーとともに提供される、選択するステップと、
    第1の認証証明書を生成するステップであって、該第1の認証証明書は、前記第1のコンピューティングデバイスに対応し、選択された前記キーペアの公開キーを該第1の認証証明書に関連付ける、生成するステップと、
    前記第1のコンピューティングデバイスに対し前記秘密キーを暗号化するステップと、
    暗号化された前記秘密キーおよび前記第1の認証証明書を、前記第1のコンピューティングデバイスに戻すステップと
    を含む方法。
  2. 請求項1に記載の方法であって、前記第1のコンピューティングデバイスに対し前記秘密キーを暗号化するステップは、第1のコンピューティングデバイスの信頼できるセキュアなコンポーネントの公開/秘密キーペアの公開キーを使用して、選択された前記キーペアの前記秘密キーを暗号化するステップを含む、方法。
  3. 請求項1または2に記載の方法であって、前記非対称キーペアを選択するステップは、前記非対称キーペアの集合から前記非対称キーペアをランダムまたは疑似ランダムに選択するステップを含む、方法。
  4. 請求項1から3のいずれか一項に記載の方法であって、前記第1の認証証明書要求を受信する前に、前記非対称キーペアの集合において前記非対称キーペアを生成するステップをさらに含む方法。
  5. 請求項1から4のいずれか一項に記載の方法であって、前記非対称キーペアの集合において前記非対称キーペアを1つまたは複数の間隔で変更するステップをさらに含む方法。
  6. 請求項1から5のいずれか一項に記載の方法であって、
    第2のコンピューティングデバイスから、前記第2のコンピューティングデバイスに対応する第2の認証証明書要求を受信するステップであって、前記第2の認証証明書要求は、第2のコンピューティングデバイスのハードウェアおよびソフトウェアのうちの一方または双方を記述する追加の情報を含む、受信するステップと、
    受信した前記追加の情報を検証するステップと、
    前記非対称キーペアの集合から、前記第1のコンピューティングデバイスについて以前に選択された前記非対称キーペアを選択するステップと、
    第2の認証証明書を生成するステップであって、該第2の認証証明書は、前記第2のコンピューティングデバイスに対応し、前記公開キーを該第2の認証証明書に関連付ける、生成するステップと、
    前記第2のコンピューティングデバイスに対し前記秘密キーを暗号化して別の暗号化された秘密キーを生成するステップと、
    前記別の暗号化された秘密キーおよび前記第2の認証証明書を、前記第2のコンピューティングデバイスに戻すステップと
    をさらに含む方法。
  7. 請求項1から6のいずれか一項に記載の方法であって、前記第1の認証証明書は、前記第1のコンピューティングデバイスの名前または識別子を有さない、方法。
  8. デバイスが実施する方法であって、
    認証サービスに、該デバイスに対応する認証証明書要求を送信するステップであって、該要求は、デバイスのハードウェアおよびソフトウェアのうちの一方又は双方を記述する情報を含む、送信するステップと、
    前記認証サービスから公開/秘密キーペアを受信するステップであって、該公開/秘密キーペアは、秘密キーと、該公開/秘密キーペアをデバイスの信頼できるセキュアなコンポーネントに関連付ける認証証明書とを含む、受信するステップと、
    前記信頼できるセキュアなコンポーネントのセキュアなストア内に、前記秘密キーを記憶するステップと、
    前記認証サービスにアクセスすることなく、1つまたは複数の追加の公開/秘密キーペアおよび1つまたは複数の追加の認証証明書を生成するステップであって、前記追加の認証証明書の各々は前記認証サービスまで連鎖する、生成するステップと
    を含む方法。
  9. 請求項8に記載の方法であって、受信した前記公開/秘密キーペアは、前記認証サービスによって複数の他のコンピューティングデバイスに提供される公開/秘密キーペアと同じである、方法。
  10. 請求項8または9に記載の方法であって、前記デバイスにおいて動作するウェブブラウザによってアクセスされる各ウェブサイトについて、前記1つまたは複数の追加の公開/秘密キーペアおよび1つまたは複数の追加の認証証明書のうちの1つを生成するステップをさらに含む方法。
  11. 請求項8から10のいずれか一項に記載の方法であって、前記デバイスによってアクセスされる複数の異なる信頼パーティシステムの各々について、前記1つまたは複数の追加の公開/秘密キーペアおよび1つまたは複数の追加の認証証明書のうちの1つを生成するステップをさらに含む方法。
  12. 請求項8から11のいずれか一項に記載の方法であって、前記デバイスの信頼できるセキュアなコンポーネントの秘密キーを使用して、前記認証サービスから受信した前記公開/秘密キーペアを復号するステップをさらに含む方法。
  13. 請求項8から12のいずれか一項に記載の方法であって、前記デバイスの信頼できるセキュアなコンポーネントは信頼できるプラットフォームモジュールを含む、方法。
  14. 1つまたは複数のプロセッサと、
    複数の命令を記憶しているコンピュータ可読記憶媒体と、
    を備えるシステムであって、
    前記複数の命令は、前記1つまたは複数のプロセッサによる実行に応答して、
    第1のコンピューティングデバイスから、前記第1のコンピューティングデバイスに対応する第1の認証証明書要求を受信するステップであって、前記第1の認証証明書要求は、第1のコンピューティングデバイスのハードウェアおよびソフトウェアのうちの一方または双方を記述する情報を含む、受信するステップと、
    受信した前記情報を検証するステップと、
    非対称キーペアの集合から非対称キーペアを選択するステップであって、選択された前記非対称キーペアは複数の追加のコンピューティングデバイスの各々にも同時に関連付けられ、該複数の追加のコンピューティングデバイスは、選択された前記非対称キーペアの暗号化された秘密キーとともに提供される、選択するステップと、
    第1の認証証明書を生成するステップであって、該第1の認証証明書は、前記第1のコンピューティングデバイスに対応し、選択された前記キーペアの公開キーを該第1の認証証明書に関連付ける、生成するステップと、
    前記第1のコンピューティングデバイスに対し前記秘密キーを暗号化するステップと、
    暗号化された前記秘密キーおよび前記第1の認証証明書を、前記第1のコンピューティングデバイスに戻すステップと
    を、前記1つまたは複数のプロセッサに実行させる、
    システム。
  15. 請求項14に記載のシステムであって、前記第1のコンピューティングデバイスに対し前記秘密キーを暗号化するステップは、第1のコンピューティングデバイスの信頼できるセキュアなコンポーネントの公開/秘密キーペアの公開キーを使用して、選択された前記キーペアの前記秘密キーを暗号化するステップを含む、システム。
  16. 請求項14または15に記載のシステムであって、前記第1のコンピューティングデバイスの信頼できるセキュアなコンポーネントは信頼できるプラットフォームモジュールを含む、システム。
  17. 請求項14から16の何れか一項に記載のシステムであって、前記非対称キーペアを選択するステップは、前記非対称キーペアの集合から前記非対称キーペアをランダムまたは疑似ランダムに選択するステップを含む、システム。
  18. 請求項14から17のいずれか一項に記載のシステムであって、前記複数の命令は、前記非対称キーペアの集合において前記非対称キーペアを1つまたは複数の間隔で変更するステップを前記1つまたは複数のプロセッサにさらに実行させる、システム。
  19. 請求項14から18のいずれか一項に記載のシステムであって、前記複数の命令は、
    第2のコンピューティングデバイスから、前記第2のコンピューティングデバイスに対応する第2の認証証明書要求を受信するステップであって、前記第2の認証証明書要求は、第2のコンピューティングデバイスのハードウェアおよびソフトウェアのうちの一方または双方を記述する追加の情報を含む、受信するステップと、
    受信した前記追加の情報を検証するステップと、
    前記非対称キーペアの集合から、前記第1のコンピューティングデバイスについて以前に選択された前記非対称キーペアを選択するステップと、
    第2の認証証明書を生成するステップであって、該第2の認証証明書は、前記第2のコンピューティングデバイスに対応し、前記公開キーを該第2の認証証明書に関連付ける、生成するステップと、
    前記第2のコンピューティングデバイスに対し前記秘密キーを暗号化して別の暗号化された秘密キーを生成するステップと、
    前記別の暗号化された秘密キーおよび前記第2の認証証明書を、前記第2のコンピューティングデバイスに戻すステップと
    を、前記1つまたは複数のプロセッサにさらに実行させる、システム。
  20. 請求項14から19のいずれか一項に記載のシステムであって、前記第1の認証証明書は、前記第1のコンピューティングデバイスの名前または識別子を有さない、システム。
JP2020501161A 2017-07-13 2018-05-28 デバイスに匿名性を与えるキー認証ステートメントの生成 Active JP7077394B2 (ja)

Applications Claiming Priority (3)

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

Publications (3)

Publication Number Publication Date
JP2020527305A JP2020527305A (ja) 2020-09-03
JP2020527305A5 JP2020527305A5 (ja) 2021-07-26
JP7077394B2 true JP7077394B2 (ja) 2022-05-30

Family

ID=62621070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020501161A Active JP7077394B2 (ja) 2017-07-13 2018-05-28 デバイスに匿名性を与えるキー認証ステートメントの生成

Country Status (17)

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

Families Citing this family (26)

* 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
EP3688948A1 (en) * 2017-09-25 2020-08-05 Telefonaktiebolaget LM Ericsson (PUBL) Provisioning of vendor credentials
GB2578628B (en) * 2018-11-01 2021-09-15 Trustonic Ltd Device attestation techniques
WO2020151831A1 (en) * 2019-01-25 2020-07-30 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
US20220337431A1 (en) * 2021-04-19 2022-10-20 Apple Inc. Privacy proofing of secure element generated certificates
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
CN117056948B (zh) * 2023-07-28 2024-09-27 威艾特科技(深圳)有限公司 一种收据凭证加密方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100131765A1 (en) 2008-11-26 2010-05-27 Microsoft Corporation Anonymous verifiable public key certificates
KR101019006B1 (ko) 2005-12-12 2011-03-07 퀄컴 인코포레이티드 암호 키들의 대체를 위한 인증 및 분할 시스템 및 방법
JP2014207510A (ja) 2013-04-11 2014-10-30 富士通株式会社 証明書生成方法、証明書生成装置、情報処理装置、通信機器、及びプログラム
US20160057134A1 (en) 2013-03-21 2016-02-25 Siemens Akitiengesellschaft Updating of a Digital Device Certificate of an Automation Device

Family Cites Families (136)

* 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
WO2004008282A2 (en) 2002-07-12 2004-01-22 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
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 西安西电捷通无线网络通信有限公司 一种增强安全性的可信网络连接方法
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)
US20090125996A1 (en) * 2007-09-19 2009-05-14 Interdigital Patent Holdings, Inc. Virtual subscriber identity module
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
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
US9124637B2 (en) * 2013-01-18 2015-09-01 Apple Inc. Data protection for keychain syncing
US9594567B2 (en) * 2013-02-21 2017-03-14 Dell Products, Lp Configuring a trusted platform module
WO2014137338A1 (en) * 2013-03-06 2014-09-12 Intel Corporation Roots-of-trust for measurement of virtual machines
US20140259132A1 (en) * 2013-03-06 2014-09-11 Go Daddy Operating Company, LLC System for creating a security certificate
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
EP2973168A1 (en) * 2013-03-15 2016-01-20 Ologn Technologies AG Systems, methods and apparatuses for remote attestation
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
US10049202B1 (en) * 2014-03-25 2018-08-14 Amazon Technologies, Inc. Strong authentication using authentication objects
US10050787B1 (en) * 2014-03-25 2018-08-14 Amazon Technologies, Inc. Authentication objects with attestation
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
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
US9716716B2 (en) * 2014-09-17 2017-07-25 Microsoft Technology Licensing, Llc Establishing trust between two devices
US9705879B2 (en) * 2014-09-17 2017-07-11 Microsoft Technology Licensing, Llc Efficient and reliable attestation
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
US20160275461A1 (en) 2015-03-20 2016-09-22 Rivetz Corp. Automated attestation of device integrity using the block chain
US20160323736A1 (en) * 2015-04-15 2016-11-03 Melrok, Llc Secure broadcast systems and methods for internet of things devices
US10230696B2 (en) * 2015-06-09 2019-03-12 Intel Corporation System, apparatus and method for managing lifecycle of secure publish-subscribe system
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
US10511587B2 (en) * 2015-06-11 2019-12-17 Siemens Aktiengesellschaft Authorization apparatus and method for an authorized issuing of an authentication token for a device
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
US10469478B2 (en) * 2016-12-07 2019-11-05 Vmware, Inc. Inter-application secure data sharing workflow
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
US11405177B2 (en) * 2017-01-24 2022-08-02 Microsoft Technology Licensing, Llc Nested enclave identity
US11443033B2 (en) * 2017-01-24 2022-09-13 Microsoft Technology Licensing, Llc Abstract enclave identity
US10530777B2 (en) * 2017-01-24 2020-01-07 Microsoft Technology Licensing, Llc Data unsealing with a sealing enclave
US11036875B2 (en) * 2017-01-24 2021-06-15 Microsoft Technology Licensing, Llc Dependent enclave binaries
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101019006B1 (ko) 2005-12-12 2011-03-07 퀄컴 인코포레이티드 암호 키들의 대체를 위한 인증 및 분할 시스템 및 방법
US20100131765A1 (en) 2008-11-26 2010-05-27 Microsoft Corporation Anonymous verifiable public key certificates
US20160057134A1 (en) 2013-03-21 2016-02-25 Siemens Akitiengesellschaft Updating of a Digital Device Certificate of an Automation Device
JP2014207510A (ja) 2013-04-11 2014-10-30 富士通株式会社 証明書生成方法、証明書生成装置、情報処理装置、通信機器、及びプログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
JP7077394B2 (ja) デバイスに匿名性を与えるキー認証ステートメントの生成
US10721080B2 (en) Key-attestation-contingent certificate issuance
EP3265950B1 (en) Device attestation through security hardened management agent
CN107431924B (zh) 将设备标识符和用户标识符相关联的设备盗窃防护
CN112187803B (zh) 使用服务器的tpm的远程密码服务
CN107077567B (zh) 标识计算设备上的安全边界
EP3195555A1 (en) Secure key management for roaming protected content
US10229272B2 (en) Identifying security boundaries on computing devices
CN116756780B (zh) 基于cp-abe算法的联盟链数据访问控制方法及相关设备
NZ759830B2 (en) Key attestation statement generation providing device anonymity

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200722

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210528

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220328

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220419

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220518

R150 Certificate of patent or registration of utility model

Ref document number: 7077394

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150