JP2023535040A - マスターキーエスクロープロセス - Google Patents
マスターキーエスクロープロセス Download PDFInfo
- Publication number
- JP2023535040A JP2023535040A JP2023504393A JP2023504393A JP2023535040A JP 2023535040 A JP2023535040 A JP 2023535040A JP 2023504393 A JP2023504393 A JP 2023504393A JP 2023504393 A JP2023504393 A JP 2023504393A JP 2023535040 A JP2023535040 A JP 2023535040A
- Authority
- JP
- Japan
- Prior art keywords
- master
- master key
- party
- shard
- escrow
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 230000008569 process Effects 0.000 title description 13
- 238000011084 recovery Methods 0.000 claims abstract description 209
- 238000003860 storage Methods 0.000 claims description 28
- 238000012552 review Methods 0.000 claims description 4
- 230000014759 maintenance of location Effects 0.000 claims 1
- 238000012546 transfer Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 230000001010 compromised effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000012092 media component Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 using cryptographic hash functions
- H04L9/3239—Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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/3268—Cryptographic 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 validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
マスターキーのエスクローおよび以前にエスクローされたマスターキーの回復のための方法、コンピュータ可読媒体、およびデバイスが開示され得る。マスターキーのエスクローのための方法は、2つのファーストパーティハードウェアセキュリティモジュール(HSM)の各々にルート認証局(CA)を登録するステップと、3つのサードパーティHSMの各々をマスターエスクロー回復デバイスとして初期化するステップと、3つのマスターキーを生成するために、信頼できるブロックチェーンに対してブートストラップ動作を実行するステップと、3つのマスターエスクロー回復デバイスのうちの第1のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の第1のセットを生成し、3つのマスターエスクロー回復デバイスのうちの第2のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の第2のセットを生成し、3つのマスターエスクロー回復デバイスのうちの第3のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の第3のセットを生成するステップと、マスターキーシャード暗号文の第1のセット、第2のセット、および第3のセットを、2つのファーストパーティHSMの各々において不透明オブジェクトとして記憶するステップとを含み得る。
Description
優先権
本出願は、その全体が参照により本明細書に組み込まれる、2020年7月23日に出願した、「MASTER KEY ESCROW PROCESS」と題する米国仮特許出願第63/055,760号に対する優先権を主張するものである。
本出願は、その全体が参照により本明細書に組み込まれる、2020年7月23日に出願した、「MASTER KEY ESCROW PROCESS」と題する米国仮特許出願第63/055,760号に対する優先権を主張するものである。
ブロックチェーンは、あるエンティティから別のエンティティへのリソースの移動などのトランザクションデータを含む、様々なタイプのデータを記憶する、人気が高まっている手段である。例えば、ブロックチェーンは、1つまたは複数の暗号通貨に関連するトランザクションを記憶するためにしばしば使用され、トランザクションにおいて関与する各エンティティは、エンティティによって所有される暗号通貨の量を記憶する暗号通貨アドレスまたは同様の構成物を有する。そのようなアドレスは、典型的には、アドレスの制御を提供する1つまたは複数のシークレットを使用することによって動作する。例えば、暗号通貨アドレスは、任意のエンティティがウォレットに値を送ることを可能にする公開部分と、キーの所有者のみがアドレスの動作を変更すること、アドレスから別のアドレスに値を送ることなどを可能にする1つまたは複数の暗号学的に安全なキーとを有し得る。
開示された主題の実施形態によれば、マスターキーのエスクローのためのコンピュータ実装方法は、2つのファーストパーティハードウェアセキュリティモジュール(HSM)の各々にルート認証局(CA)を登録するステップであって、2つのファーストパーティHSMが単一のファーストパーティに対応する、ステップと、3つのサードパーティHSMの各々をマスターエスクロー回復デバイスとして初期化するステップと、3つのマスターキーを生成するために、信頼できるブロックチェーンに対してブートストラップ動作を実行するステップと、3つのマスターエスクロー回復デバイスのうちの第1のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の第1のセットを生成し、3つのマスターエスクロー回復デバイスのうちの第2のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の第2のセットを生成し、3つのマスターエスクロー回復デバイスのうちの第3のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の第3のセットを生成するステップと、マスターキーシャード暗号文の第1のセット、マスターキーシャード暗号文の第2のセット、およびマスターキーシャード暗号文の第3のセットを、2つのファーストパーティHSMの各々において不透明オブジェクトとして記憶するステップとを含み得る。
様々な実施形態において、各サードパーティHSMは、異なるサードパーティに対応し得、異なるサードパーティは、単一のファーストパーティとは異なり、異なるサードパーティおよび単一のファーストパーティは、すべて、マスターエスクロー回復デバイスの初期化をピアレビューし得る。
いくつかの実施形態において、3つのサードパーティHSMの各々をマスターエスクロー回復デバイスとして初期化するステップは、証明書をサードパーティHSMの各々にロードするステップであって、証明書がルートCAに対応する中間CAによって署名された公開キーを含む、ステップと、証明書を2つのファーストパーティHSMの各々に登録するステップと、3つのサードパーティHSMの各々について、対応するサードパーティHSMのシリアル番号を2つのファーストパーティHSMの各々に登録するステップと、対応するサードパーティHSMの公開秘密キーペアを生成するステップであって、公開秘密キーペアの認証証明書がエクスポート機能を持たないファーストパーティによって検証される、ステップと、対応するサードパーティHSMから公開キー部分をエクスポートするステップと、エクスポートされた公開キー部分を2つのファーストパーティHSMの各々に登録するステップとを含み得る。
いくつかの実施形態において、第1のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の第1のセットを生成し、第2のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の第2のセットを生成し、第3のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の第3のセットを生成するステップは、3つのマスターキーの各々について、第1のマスターキーシャード、第2のマスターキーシャード、および第3のマスターキーシャードを生成するステップと、マスターキーシャード暗号文の第1のセットを生成するために、第1のマスターエスクロー回復デバイスからエクスポートされた第1の公開キーを使用して第1のマスターキーシャードの各々を暗号化するステップと、マスターキーシャード暗号文の第2のセットを生成するために、第2のマスターエスクロー回復デバイスからエクスポートされた第2の公開キーを使用して第2のマスターキーシャードの各々を暗号化するステップと、マスターキーシャード暗号文の第3のセットを生成するために、第3のマスターエスクロー回復デバイスからエクスポートされた第3の公開キーを使用して第3のマスターキーシャードの各々を暗号化するステップとを含み得る。これらの実施形態において、第1、第2、および第3の公開キーは、2つのファーストパーティHSMの各々において登録され得る。
様々な実施形態において、方法は、3つの追加のサードパーティHSMの各々を、冗長マスターエスクロー回復デバイスとして初期化するステップをさらに含み得、各冗長マスターエスクロー回復デバイスは、1つのマスターエスクロー回復デバイスに対応する。
様々な実施形態において、方法は、少なくとも1つの追加のサードパーティHSMを追加のマスターエスクロー回復デバイスとして初期化するステップであって、各追加のサードパーティHSMが異なるサードパーティに対応する、ステップと、少なくとも1つの追加のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の少なくとも1つの追加のセットを生成するステップと、マスターキーシャード暗号文の少なくとも1つの追加のセットを、少なくとも2つのライトワンスリードメニー(WORM:Write Once Read Many)ストレージ内に記憶するステップと、マスターキーシャード暗号文の少なくとも1つの追加のセットを、2つのファーストパーティHSMの各々において不透明オブジェクトとして記憶するステップとをさらに含み得る。
いくつかの実施形態において、異なるサードパーティおよび単一のファーストパーティは、すべて、マスターエスクロー回復デバイスの初期化をピアレビューし得る。
様々な実装形態において、方法は、マスターキーシャード暗号文の第1のセット、マスターキーシャード暗号文の第2のセット、およびマスターキーシャード暗号文の第3のセットを少なくとも2つの異なるライトワンスリードメニー(WORM)記憶デバイス内に記憶するステップを含み得る。
開示された主題の実施形態によれば、エスクローからマスターキーを回復するためのコンピュータ実装方法は、3つの異なるサードパーティのうちの第1のサードパーティに関連付けられた第1のマスターエスクロー回復デバイスを使用して生成された以前のエスクローからマスターキーシャード暗号文の第1のセットを取得するステップであって、マスターキーシャード暗号文の第1のセットが、ファーストパーティの信頼できるブロックチェーンの第1のマスターキーの第1のマスターキーシャード暗号文と、信頼できるブロックチェーンの第2のマスターキーの第1のマスターキーシャードと、信頼できるブロックチェーンの第3のマスターキーの第1のマスターキーシャードとを含む、ステップと、3つの異なるサードパーティのうちの第2のサードパーティに関連付けられた第2のマスターエスクロー回復デバイスを使用して生成された以前のエスクローからマスターキーシャード暗号文の第2のセットを取得するステップであって、マスターキーシャード暗号文の第2のセットが、第1のマスターキーの第2のマスターキーシャード暗号文と、第2のマスターキーの第2のマスターキーシャードと、第3のマスターキーの第2のマスターキーシャードとを含む、ステップと、3つの異なるサードパーティのうちの第3のサードパーティに関連付けられた第3のマスターエスクロー回復デバイスを使用して生成された以前のエスクローからマスターキーシャード暗号文の第3のセットを取得するステップであって、マスターキーシャード暗号文の第3のセットが、第1のマスターキーの第3のマスターキーシャード暗号文と、第2のマスターキーの第3のマスターキーシャードと、第3のマスターキーの第3のマスターキーシャードとを含む、ステップと、マスターエスクロー回復デバイスのセットを取得するステップであって、各マスターエスクロー回復デバイスが、サードパーティハードウェアセキュリティモジュール(HSM)を備え、各サードパーティHSMが、各サードパーティHSMに対応する情報をファーストパーティのファーストパーティHSMにおいて登録することによって、マスターエスクロー回復デバイスとして以前に初期化されており、マスターエスクロー回復デバイスのセットが、第1、第2、および第3のマスターエスクロー回復デバイスのうちの少なくとも2つを含む、ステップと、マスターエスクロー回復デバイスのセットを使用して、回復されたマスターキーシャードの3つのセットを生成するために、マスターキーシャード暗号文の各セットの少なくとも2つのマスターキーシャード暗号文を復号するステップと、ファーストパーティHSMの3つのグループの各々について、公開秘密キーペアを生成するステップと、回復されたマスターキーシャードの第1のセットをファーストパーティHSMの第1のグループに対してロードし、回復されたマスターキーシャードの第2のセットをファーストパーティHSMの第2のグループに対してロードし、回復されたマスターキーシャードの第3のセットをファーストパーティHSMの第3のグループに対してロードするステップと、ファーストパーティHSMの対応するグループの対応する秘密キーを使用して、回復されたマスターキーシャードの3つのセットの各回復されたマスターキーシャードを復号するステップと、回復されたマスターキーシャードの3つのセットを使用して、ファーストパーティの信頼できるブロックチェーンの3つのマスターキーを回復するステップとを含み得る。
いくつかの実装形態において、ファーストパーティは、3つの異なるサードパーティの各々とは異なる。
様々な実装形態において、マスターキーシャード暗号文の第1のセットは、第1のマスターエスクロー回復デバイスからエクスポートされた第1の公開キーを使用して第1のマスターキーの第1のマスターキーシャードを暗号化し、第2のマスターエスクロー回復デバイスからエクスポートされた第2の公開キーを使用して第2のマスターキーの第1のマスターキーシャードを暗号化し、第3のマスターエスクロー回復デバイスからエクスポートされた第3の公開キーを使用して第3のマスターキーの第1のマスターキーシャードを暗号化することによって以前に生成されており、マスターキーシャード暗号文の第2のセットは、第1のマスターエスクロー回復デバイスからエクスポートされた第1の公開キーを使用して第1のマスターキーの第2のマスターキーシャードを暗号化し、第2のマスターエスクロー回復デバイスからエクスポートされた第2の公開キーを使用して第2のマスターキーの第2のマスターキーシャードを暗号化し、第3のマスターエスクロー回復デバイスからエクスポートされた第3の公開キーを使用して第3のマスターキーの第2のマスターキーシャードを暗号化することによって以前に生成されており、マスターキーシャード暗号文の第3のセットは、第1のマスターエスクロー回復デバイスからエクスポートされた第1の公開キーを使用して第1のマスターキーの第3のマスターキーシャードを暗号化し、第2のマスターエスクロー回復デバイスからエクスポートされた第2の公開キーを使用して第2のマスターキーの第3のマスターキーシャードを暗号化し、第3のマスターエスクロー回復デバイスからエクスポートされた第3の公開キーを使用して第3のマスターキーの第3のマスターキーシャードを暗号化することによって以前に生成されている。
いくつかの実装形態において、回復されたマスターキーシャードの第1のセットは、第1のマスターキーに対応し、回復されたマスターキーシャードの第2のセットは、第2のマスターキーに対応し、回復されたマスターキーシャードの第3のセットは、第3のマスターキーに対応する。
いくつかの実装形態において、ファーストパーティHSMの各グループは、2つのファーストパーティHSMを含み得、ファーストパーティHSMは、ファーストパーティに対応し得る。
様々な実装形態において、回復されたマスターキーシャードの第1のセットをファーストパーティHSMの第1のグループに対してロードし、回復されたマスターキーシャードの第2のセットをファーストパーティHSMの第2のグループに対してロードし、回復されたマスターキーシャードの第3のセットをファーストパーティHSMの第3のグループに対してロードするステップは、回復されたマスターキーシャードの第1のセットについて、ファーストパーティHSMの第1のグループを使用して、ファーストパーティHSMの第1のグループの公開秘密キーペアの公開キーを使用して、回復されたマスターキーシャードの第1のセットの各回復されたマスターキーシャードを暗号化するステップと、回復されたマスターキーシャードの第1のセットの暗号化された回復されたマスターキーシャードをファーストパーティHSMの第1のグループにおいて記憶するステップと、回復されたマスターキーシャードの第2のセットについて、ファーストパーティHSMの第2のグループを使用して、ファーストパーティHSMの第2のグループの公開秘密キーペアの公開キーを使用して、マスターキーシャードの第2のセットの各回復されたマスターキーシャードを暗号化するステップと、回復されたマスターキーシャードの第2のセットの暗号化された回復されたマスターキーシャードをファーストパーティHSMの第2のグループにおいて記憶するステップと、回復されたマスターキーシャードの第3のセットについて、ファーストパーティHSMの第3のグループを使用して、ファーストパーティHSMの第3のグループの公開秘密キーペアの公開キーを使用して、回復されたマスターキーシャードの第3のセットの各回復されたマスターキーシャードを暗号化するステップと、マスターキーシャードの第3のセットの暗号化された回復されたマスターキーシャードをファーストパーティHSMの第3のグループにおいて記憶するステップとを含み得る。
様々な実装形態において、方法は、マスターキーシャード暗号文の少なくとも1つの追加のセットを取得するステップをさらに含み得、マスターキーシャード暗号文の各追加のセットは、第1のマスターキーの追加のマスターキーシャード暗号文と、第2のマスターキーの追加のマスターキーシャードと、第3のマスターキーの追加のマスターキーシャードとを含み、マスターキーシャード暗号文の各追加のセットは、追加のマスターキーエスクロー回復デバイスを使用して以前にエスクローされており、マスターエスクロー回復デバイスのセットは、第1、第2、第3、および少なくとも1つの追加のマスターエスクロー回復デバイスのうちの少なくとも3つを含む。
いくつかの実装形態において、マスターキーシャードの3つのセットを生成するために、マスターキーシャード暗号文の各セットの少なくとも2つのマスターキーシャード暗号文を復号するステップは、物理的に分離されたコンピューティングデバイスを使用するステップを含み得る。
開示された主題の実施形態によれば、コンピュータ実装方法は、3つの異なるサードパーティを用いてファーストパーティの信頼できるブロックチェーンの3つのマスターキーをエスクローするステップであって、エスクローするステップが、ファーストパーティと3つの異なるサードパーティとによってピアレビューされる、ステップと、エスクローから3つのマスターキーを回復するステップであって、回復するステップが、ファーストパーティと3つの異なるサードパーティのうちの少なくとも2つとに関与し、回復するステップが、ファーストパーティと3つの異なるサードパーティのうちの少なくとも2つとによってピアレビューされる、ステップとを含み得る。
様々な実装形態において、3つの異なるサードパーティを用いてファーストパーティの信頼できるブロックチェーンの3つのマスターキーをエスクローするステップは、2つのファーストパーティハードウェアセキュリティモジュール(HSM)の各々にルート認証局(CA)を登録するステップであって、2つのファーストパーティHSMがファーストパーティに対応する、ステップと、3つのサードパーティHSMの各々をマスターエスクロー回復デバイスとして初期化するステップであって、各サードパーティHSMが、3つの異なるサードパーティのうちの異なる1つに対応し、異なるサードパーティが、単一のファーストパーティとは異なり、異なるサードパーティおよび単一のファーストパーティが、すべて、マスターエスクロー回復デバイスの初期化をピアレビューする、ステップと、3つのマスターキーを生成するために、信頼できるブロックチェーンに対してブートストラップ動作を実行するステップと、3つのマスターエスクロー回復デバイスのうちの第1のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の第1のセットを生成し、3つのマスターエスクロー回復デバイスのうちの第2のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の第2のセットを生成し、3つのマスターエスクロー回復デバイスのうちの第3のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の第3のセットを生成するステップと、マスターキーシャード暗号文の第1のセット、マスターキーシャード暗号文の第2のセット、およびマスターキーシャード暗号文の第3のセットを、2つのファーストパーティHSMの各々において不透明オブジェクトとして記憶するステップとを含み得る。
様々な実装形態において、エスクローから3つのマスターキーを回復するステップは、ファーストパーティの信頼できるブロックチェーンの3つのマスターキーに対応するマスターキーシャード暗号文の3つのセットを取得するステップであって、マスターキーシャード暗号文の第1のセットが、第1のマスターキーの第1のマスターキーシャード暗号文と、第2のマスターキーの第1のマスターキーシャード暗号文と、第3のマスターキーの第1のマスターキーシャード暗号文とを含み、マスターキーシャード暗号文の第1のセットが、第1のマスターエスクロー回復デバイスを使用して以前にエスクローされており、マスターキーシャード暗号文の第2のセットが、第1のマスターキーの第2のマスターキーシャード暗号文と、第2のマスターキーの第2のマスターキーシャード暗号文と、第3のマスターキーの第2のマスターキーシャード暗号文とを含み、マスターキーシャード暗号文の第2のセットが、第2のマスターエスクロー回復デバイスを使用して以前にエスクローされており、マスターキーシャード暗号文の第3のセットが、第1のマスターキーの第3のマスターキーシャード暗号文と、第2のマスターキーの第3のマスターキーシャード暗号文と、第3のマスターキーの第3のマスターキーシャード暗号文とを含み、マスターキーシャード暗号文の第3のセットが、第3のマスターエスクロー回復デバイスを使用して以前にエスクローされており、各マスターエスクロー回復デバイスが、3つのサードパーティのうちの異なる1つに対応し、ファーストパーティが、3つのサードパーティの各々とは異なる、ステップと、マスターエスクロー回復デバイスのセットを取得するステップであって、各マスターエスクロー回復デバイスが、サードパーティハードウェアセキュリティモジュール(HSM)を備え、各サードパーティHSMが、各サードパーティHSMに対応する情報をファーストパーティのファーストパーティHSMにおいて登録することによって、マスターエスクロー回復デバイスとして以前に初期化されており、マスターエスクロー回復デバイスのセットが、第1、第2、および第3のマスターエスクロー回復デバイスのうちの少なくとも2つを含む、ステップと、マスターエスクロー回復デバイスのセットを使用して、マスターキーシャードの3つのセットを生成するために、マスターキーシャード暗号文の各セットの少なくとも2つのマスターキーシャード暗号文を復号するステップと、ファーストパーティHSMの3つのグループの各々について、公開秘密キーペアを生成するステップと、回復されたマスターキーシャードの第1のセットをファーストパーティHSMの第1のグループに対してロードし、回復されたマスターキーシャードの第2のセットをファーストパーティHSMの第2のグループに対してロードし、回復されたマスターキーシャードの第3のセットをファーストパーティHSMの第3のグループに対してロードするステップと、ファーストパーティHSMの対応するグループの対応する秘密キーを使用して、回復されたマスターキーシャードの3つのセットの各マスターキーシャードを復号するステップと、回復されたマスターキーシャードの3つのセットを使用して、ファーストパーティの信頼できるブロックチェーンの3つのマスターキーを回復するステップとを含み得る。
開示された主題の追加の特徴、利点、および実施形態は、以下の詳細な説明、図面、および特許請求の範囲の考察から論述または明らかにされ得る。さらに、前述の要約と以下の詳細な説明の両方は、例示であり、特許請求の範囲を限定することなくさらなる説明を提供することを意図していることが理解されるべきである。
開示された主題のさらなる理解を提供するために含まれる添付図面は、本明細書に組み込まれ、本明細書の一部を構成する。図面は、開示された主題の実施形態も示し、詳細な説明と共に、開示された主題の実施形態の原理を説明するのに役立つ。開示された主題のおよびそれが実施され得る様々な方法の基本的な理解に必要であり得る以上に詳細に構造的詳細を示す試みは行われない。
本開示の様々な態様または特徴について、図面を参照して説明し、図面において、同様の参照番号は、全体を通して同様の要素を指すために使用される。本明細書において、本開示の完全な理解を提供するために、多くの詳細が記載されている。しかしながら、開示の特定の態様は、これらの具体的な詳細なしで、または他の方法、構成要素、材料などを用いて実施され得ることが理解されるべきである。他の例において、主題の開示を説明することを容易にするために、周知の構造およびデバイスがブロック図形式において示されている。
本明細書で開示された実施形態は、リンクされたブロックの順序付きリストにおいて具体化されたブロックチェーンを使用する。ビットコインおよび他の同様の暗号通貨トランザクションを追跡するために使用されるものなどの純粋なトランザクションのブロックチェーンとは対照的に、本明細書で開示されたブロックチェーンは、トランザクションとポリシーの両方を順序付きリスト内に記憶し得、ポリシーは、ブロックチェーン上でまたはブロックチェーンに関して可能であるアクションを制御する。ポリシー自体の変更も、順序付きリスト内のトランザクションおよびポリシーを介して制御され得る。そのようなブロックチェーンは、本明細書では「信頼できるブロックチェーン」と呼ばれる場合がある。本明細書で開示されているように、信頼できるブロックチェーンは、ブロックチェーン上に記憶されたトランザクションまたは他のデータの有効性および信頼性を保証するためにブロックチェーン自体の外部にあるポリシーおよび制約に依存する従来のトランザクションブロックチェーンならびに許可不要のパブリックブロックチェーンに優る利点を提供し得る。
本明細書で開示された信頼できるブロックチェーンにおいて、ブロックチェーン上に記憶されたポリシーは、特定のトランザクションまたはトランザクションのタイプがブロックチェーン上に記憶されるときにどのアクションがとられるかを決定し得る。例えば、ポリシーは、特定のトランザクションまたはトランザクションのタイプが、トランザクションが行われてブロックチェーン上に含まれる前に、トランザクションを承認するために最小数の承認者を必要とすることを指定し得る。本明細書で開示された信頼できるブロックチェーンについて、様々なタイプのトランザクションが考慮され得る。ポリシーは、トランザクションをブロックチェーンに提出することによって変更され得る。
本明細書で開示された信頼できるブロックチェーンの初期のポリシーおよび許可は、ブロックチェーンによって受け入れられ、その後に受け入れられない第1のトランザクションとして要求される特別な「ブートストラップ」トランザクションを介して定義され得る。例示的なブートストラップトランザクションおよびプロセスについて、以下でさらに詳細に説明する。そのようなブートストラップトランザクションの一部として、マスターシークレットまたはマスターシークレットのセットが生成され得る。例えば、信頼できるブロックチェーンのブートストラップトランザクションの一部として、3つのマスターシークレットが生成され得る。これらのマスターキーは、信頼できるブロックチェーン上に記憶されたデジタル資産に関連付けられた情報を暗号化するため、または他の方法で保護するために使用され得る。例えば、信頼できるブロックチェーンの各デジタル資産アドレスは、対応する公開秘密キーペアを有し得、これらのマスターキーは、秘密キー部分または秘密キー部分のシャードを暗号化するために使用され得る。一例において、各秘密キーは、3つのシャードにシャーディングされ得、3つのマスターキーの各々は、シャードを暗号化するために使用され得る(例えば、第1のマスターキーが第1のシャードを暗号化し、第2のマスターキーが第2のシャードを暗号化し、第3のマスターキーが第3のシャードを暗号化する)。それに加えて、これらのマスターキーは、災害時に信頼できるブロックチェーンを回復するために使用され得る。そのため、本明細書において開示されているように、マスターシークレットまたはキーのエスクローおよびエスクローからの回復を可能にする方法およびシステムに対するニーズがある。
本明細書で開示された実施形態において、Polysignなどの第1のエンティティは、法律事務所、または他の受託者、または安全な/信頼されているサードパーティなどのいくつかの第2のエンティティにマスターキーをエスクローすることを委託し得る。例えば、3つのマスターキーをエスクローするために、3つの法律事務所が選択され得る。プレーンテキストのマスターキーを使用する、またはユニバーサルシリアルバス(USB)記憶デバイス内にマスターキーを記憶する代わりに、セキュアなミニハードウェアセキュリティモジュール(HSM)が使用され得る。HSMは、HSM内でのコードのインストールおよび実行を可能にし得る。そのようなHSMは、典型的には、ソフトウェア要素とハードウェア要素との組合せによって保護され得る耐タンパー性コンピューティングおよび/またはコンピュータ可読ストレージを提供する。適切なHSMハードウェアの例は、カリフォルニア州パロアルトのYubico、ケンブリッジのnCipher Security、およびドイツ国アーヘンのUtimacoからのものを含み得るが、本明細書で開示された機能を実行することができる当該技術分野において知られている任意のHSMデバイスが使用され得る。別段の指定がない限り、本明細書で開示された信頼できるブロックチェーンシステムと併せて使用される「HSM」は、HSMの安全な境界内で暗号署名されたコードを受信および実行することができるHSMを指す。そのようなデバイスは、典型的には、サードパーティに関する動作オーバーヘッドを最小限に抑えて、ファーストパーティによって必要とされ得る暗号化保証を提供する。
より一般的には、マスターキーエスクロープロセスは、3つのマスターキーを生成するために、ファーストパーティの信頼できるブロックチェーンに対するブートストラップ動作を実行することと、各マスターキーのいくつかのシャードを作成することと、いくつかのサードパーティHSMをマスターエスクロー回復デバイスとして初期化することと、各シャードの暗号文を生成するために、マスターエスクロー回復デバイスからエクスポートされた公開キーを使用して様々なシャードを暗号化することと、様々な暗号文を2つのファーストパーティHSM上に記憶することとを伴う。
次に、マスターキーエスクロー回復プロセスは、2つのファーストパーティHSMから様々な暗号文を取得することと、マスターエスクロー回復デバイスの少なくとも過半数を取得することと、対応するマスターキーシャードを回復するために、マスターエスクロー回復デバイスを使用して十分な数の様々な暗号文を復号することと、回復されたマスターキーシャードをHSMの3つのグループに対してロードすることと、回復されたマスターキーシャードを使用して、3つのマスターキーを回復することとを伴い得る。
本明細書で開示された例示的なマスターキーエスクロー手順を以下に示す。本明細書で開示された発明の範囲および内容から逸脱することなく、いくつかの変形例が使用され得ることが理解されよう。例えば、異なる数の信頼できる/保護された第2のエンティティが使用され得る、同等だが異なるセキュリティモジュールが使用され得る、などである。
様々な実施形態において、ファーストパーティは、エスクローサービスを提供するサードパーティに対応するいくつかのサードパーティHSMを購入または他の方法で取得し得る。例えば、3つのサードパーティが存在する場合、ファーストパーティは、各サードパーティが2つの対応するHSMを有する(すなわち、第1のサードパーティが2つのHSMを有し、第2のサードパーティが2つのHSMを有し、第3のサードパーティが2つのHSMを有する)ように、合計6つのHSMを購入し得る。様々なサードパーティHSMは、一般に、マスターエスクロー回復デバイスまたは冗長マスターエスクロー回復デバイスと呼ばれる場合がある。それに加えて、ファーストパーティはまた、本明細書では暗号文HSMと呼ばれる様々な暗号文を記憶するためのいくつかのファーストパーティHSM、ならびにサードパーティHSMに関連付けられた様々な情報を記憶するためのいくつかのファーストパーティHSM(すなわち、各サードパーティに対応するファーストパーティHSMのグループ)を購入または他の方法で取得し得る。例を続けると、ファーストパーティは、様々な暗号文を記憶するための2つのHSMと、サードパーティHSMに関連付けられた情報を記憶するための6つのHSM(2つの3つのグループ)とを購入し得る。この例において、サードパーティHSMの第1のセットおよびファーストパーティHSMの第1のグループは、第1のサードパーティに関連付けられ、サードパーティHSMの第2のセットおよびファーストパーティHSMの第2のグループは、第2のサードパーティに関連付けられ、サードパーティHSMの第3のセットおよびファーストパーティHSMの第3のグループは、第3のサードパーティに関連付けられる。
様々な実施形態において、ファーストパーティは、ルート認証局(CA)をファーストパーティHSMの様々なグループに登録し得る。それに加えて、公開キーがルートCAの中間CAによって署名された証明書が、サードパーティHSMの様々なセットにおいて登録され得る。このようにして、サードパーティHSMの各々について、信頼の起点が追跡され得る。
様々な実施形態において、ファーストパーティは、セット内のサードパーティHSMの各々のシリアル番号をファーストパーティHSMの対応するグループにおいて登録し得る。例えば、第1のセット内のサードパーティHSMのシリアル番号は、ファーストパーティHSMの第1のグループにおいて登録され得、第2のセット内のサードパーティHSMのシリアル番号は、ファーストパーティHSMの第2のグループにおいて登録され得、第3のセット内のサードパーティHSMのシリアル番号は、ファーストパーティHSMの第3のグループにおいて登録され得る。ファーストパーティはまた、サードパーティHSMの各々の公開キーをファーストパーティHSMの対応するグループにおいて登録し得る。
様々な実施形態において、証明書登録、シリアル番号登録、および公開キー登録は、すべて、ファーストパーティ、およびサードパーティの各々によってピアレビューされ得る。
様々な実施形態において、サードパーティHSMの各々の公開秘密キーペアが、復号能力を用いて生成され得る。生成された秘密キーのエクスポートを防ぐために、各公開秘密キーペアが認証証明書を有し得、各認証証明書がエクスポート能力を持たないファーストパーティによって検証され得る。サードパーティHSMの公開キーの各々は、サードパーティHSMからエクスポートされ得る。
様々な実施形態において、いくつかのマスターキーを生成するために、信頼できるブロックチェーンに対してブートストラップ動作が実行され得る。例えば、ブートストラップ動作は、3つのマスターキーを生成し得る。各マスターキーは、各マスターキーは、いくつかのシャードにシャーディングされ得る。例えば、各マスターキーは、3つのシャードにシャーディングされ得る。様々なマスターキーシャードは、マスターキーシャードのセットに編成され得る。例えば、各マスターキーの第1のシャードは、第1のセットにグループ化され得、各マスターキーの第2のシャードは、第2のセットにグループ化され得、各マスターキーの第3のシャードは、第3のセットにグループ化され得る。マスターキーシャードの各セットは、サードパーティのうちの異なる1つに関連付けられ得る。マスターキーシャードの各セットは、対応するサードパーティに関連付けられたサードパーティHSMのセットの公開キーを使用して暗号化され得る(例えば、第1のセットが、第1のサードパーティに関連付けられたサードパーティHSMを使用して暗号化され、第2のセットが、第2のサードパーティに関連付けられたサードパーティHSMを使用して暗号化される、などである)。
3つのサードパーティおよび3つのマスターキーの例において、ファーストパーティHSMの第1のグループ、サードパーティHSMの第1のセット(例えば、第1のマスターエスクロー回復デバイスおよび第1の冗長マスターエスクロー回復デバイス)、および第1のサードパーティに関連付けられたマスターキーシャードの第1のセット(例えば、第1のマスターキーの第1のシャード、第2のマスターキーの第1のシャード、および第3のマスターキーの第1のシャード)と、ファーストパーティHSMの第2のグループ、サードパーティHSMの第2のセット(例えば、第2のマスターエスクロー回復デバイスおよび第2の冗長マスターエスクロー回復デバイス)、および第2のサードパーティに関連付けられたマスターキーシャードの第2のセット(例えば、第1のマスターキーの第2のシャード、第2のマスターキーの第2のシャード、および第3のマスターキーの第2のシャード)と、ファーストパーティHSMの第3のグループ、サードパーティHSMの第3のセット(例えば、第3のマスターエスクロー回復デバイスおよび第3の冗長マスターエスクロー回復デバイス)、および第3のサードパーティに関連付けられたマスターキーシャードの第3のセット(例えば、第1のマスターキーの第3のシャード、第2のマスターキーの第3のシャード、および第3のマスターキーの第3のシャード)とが存在し得る。この例において、サードパーティHSMの第1のセットの第1の公開キーが、マスターキーシャードの第1のセットの各マスターキーシャードを暗号化するために使用され得、サードパーティHSMの第2のセットの第2の公開キーが、マスターキーシャードの第2のセットの各マスターキーシャードを暗号化するために使用され得、サードパーティHSMの第3のセットの第3の公開キーが、マスターキーシャードの第3のセットの各マスターキーシャードを暗号化するために使用され得る。様々な暗号化ステップは、マスターキーシャード暗号文の様々なセット(すなわち、マスターキーシャードの第1のセットに対応するマスターキーシャード暗号文の第1のセット、マスターキーシャードの第2のセットに対応するマスターキーシャード暗号文の第2のセット、およびマスターキーシャードの第3のセットに対応するマスターキーシャード暗号文の第3のセット)を結果として生じ得る。
様々な実施形態において、様々なマスターキーシャード暗号文は、ファーストパーティHSMのグループとは異なる2つのファーストパーティHSM上に記憶され得る。様々なマスターキーシャード暗号文はまた、ファーストパーティの2つのライトワンスリードメニー(WORM)記憶デバイス上に記憶され得る。なお、暗号文を生成するために使用される暗号化キーは、サードパーティHSM(すなわち、様々なマスターエスクロー回復デバイス)上に記憶されるが、暗号文は、ファーストパーティのデバイス(例えば、HSM、WORMなど)上に記憶される。
本明細書で開示された例示的なマスターキーエスクロー回復手順を以下に示す。本明細書で開示された発明の範囲および内容から逸脱することなく、いくつかの変形例が使用され得ることが理解されよう。例えば、異なる数の信頼できる/保護された第2のエンティティが使用され得る、同等だが異なるセキュリティモジュールが使用され得る、などである。
様々な実施形態において、ファーストパーティは、ファーストパーティに代わってエスクローサービスを提供しているいくつかのサードパーティと連絡し得る。一例において、各サードパーティは、法律事務所、または他の受託者、または安全な/信頼されているサードパーティであり得る。いくつかの実施形態において、連絡されるサードパーティの数は、エスクローサービスを提供するサードパーティの総数よりも少ない場合がある。例えば、合計3つのサードパーティがエスクローサービスを提供している場合があるが、3つのサードパーティのうちの2つのみが連絡される場合がある。様々な実施形態において、連絡されたサードパーティは、ファーストパーティの身元を検証し得る。例えば、連絡は、ビデオ通話を介してまたは対面で行われ得る。連絡の一部として、ファーストパーティは、各サードパーティがサードパーティに対応するサードパーティHSMを提供することを要求し得る。例えば、各サードパーティは、そのサードパーティによって保持されているマスターエスクロー回復デバイス(および/または冗長マスターエスクロー回復デバイス)を提供するように要求され得る。
様々な実施形態において、ファーストパーティは、回復プロセスの様々なステップを実行するための物理的に分離されたコンピューティングデバイスを購入または他の方法で取得し得る。例えば、ファーストパーティは、その後破棄され得るラップトップを購入し得る。いくつかの実施形態において、ファーストパーティならびにサードパーティの各々からの代表者が、回復プロセスの様々なステップに参加するおよび/または回復プロセスの様々なステップを他の方法で観察し得る。例えば、ファーストパーティの管理チームのセキュリティ責任者および/またはメンバー、ならびに各サードパーティの1名または複数名の代表者が関与し得る。
様々な実施形態において、以前に生成されたマスターキーシャード暗号文が、1つまたは複数の記憶デバイスから取得され得る。例えば、上記で説明したエスクロープロセスの一部として生成されたマスターキーシャード暗号文は、上述したようにファーストパーティの2つのファーストパーティHSMまたはWORMから取得され得る。
なお、第1のサードパーティのサードパーティHSM(すなわち、マスターエスクロー回復デバイス)が、マスターキーシャード暗号文の第1のセット(すなわち、各マスターキーの暗号化された第1のシャードを含むセット)に対応し得、第2のサードパーティのサードパーティHSMが、マスターキーシャード暗号文の第2のセットに対応し得、第3のサードパーティのサードパーティHSMが、マスターキーシャード暗号文の第3のセットに対応し得る。そのような対応は、暗号文のセットを生成するために使用された公開キーがサードパーティHSM上に記憶された秘密キーに関連付けられることであり得る。すなわち、サードパーティHSMの秘密キーは、対応するセットのマスターキーシャード暗号文を復号するために利用され得る。
様々な実施形態において、第1のマスターエスクロー回復デバイス(例えば、第1のサードパーティのサードパーティHSM)が、マスターキーシャード暗号文の第1のセットを復号するために使用され得、第2のマスターエスクロー回復デバイス(例えば、第2のサードパーティのサードパーティHSM)が、マスターキーシャード暗号文の第2のセットを復号するために使用され得、第3のマスターエスクロー回復デバイス(例えば、第3のサードパーティのサードパーティHSM)が、マスターキーシャード暗号文の第3のセットを復号するために使用され得る。そのような復号は、物理的に分離されたコンピューティングデバイスを使用して行われ得る。例えば、第1のマスターエスクロー回復デバイスは、コンピューティングデバイスに接続され得、マスターキーシャード暗号文の第1のセットは、コンピューティングデバイスに提供され得る。コンピューティングデバイスのオペレータは、暗号文の第1のセットを第1のマスターエスクロー回復デバイス(例えば、第1のサードパーティHSM)に転送し、セットのマスターキーシャードを回復するためにHSMの秘密キーを使用してマスターキーシャード暗号文の各々を復号するためのコマンドをHSMに発行し得る。次いで、オペレータは、第2のマスターエスクロー回復デバイスおよびマスターキーシャード暗号文の第2のセット、ならびに第3のマスターエスクロー回復デバイスおよびマスターキーシャード暗号文の第3のセットに対してこれらのステップを繰り返し得る。結果として、コンピューティングデバイスは、第1のマスターキーの第1のシャードと、第2のマスターキーの第1のシャードと、第3のマスターキーの第1のシャードとを含む回復されたマスターキーシャードの第1のセットと、第1のマスターキーの第2のシャードと、第2のマスターキーの第2のシャードと、第3のマスターキーの第2のシャードとを含む回復されたマスターキーシャードの第2のセットと、第1のマスターキーの第3のシャードと、第2のマスターキーの第3のシャードと、第3のマスターキーの第3のシャードとを含む回復されたマスターキーシャードの第3のセットとを異なる時間において保持し得る。
様々な実施形態において、ファーストパーティは、コンピューティングデバイスから回復されたマスターキーシャードの3つのセットを転送するために使用されるべきHSMの3つのグループを購入または他の方法で取得し得る。例えば、HSMの各グループは、2つのHSMを含み得、回復されたマスターキーシャードの1つのセットに対応し得る。HSMの各グループについて、公開秘密キーペアが生成され得る。
様々な実施形態において、HSMの各グループの公開キーが、いくつかの回復されたマスターキーシャードを暗号化するために利用され得る。例えば、HSMの第1のグループの公開キーが、(各マスターキーの第1のシャードとは対照的に)第1のマスターキーの回復されたマスターキーシャードの各々を暗号化するために利用され得る。同様に、HSMの第2のグループの公開キーが、第2のマスターキーの回復されたマスターキーシャードの各々を暗号化するために利用され得、HSMの第3のグループの公開キーが、第3のマスターキーの回復されたマスターキーシャードの各々を暗号化するために利用され得る。暗号化の各々は、対応するHSMを使用してコンピューティングデバイスのオペレータによって実行され得る。
様々な実施形態において、暗号化された回復されたマスターキーシャードは、コンピューティングデバイスから転送され、ファーストパーティに配信され得る。次いで、ファーストパーティは、対応する暗号化された回復されたマスターキーシャードを復号するために、HSMの各グループの秘密キーを利用し得る。例えば、ファーストパーティは、第1のマスターキーの暗号化された回復されたマスターキーシャードを復号するために、HSMの第1のグループの秘密キーを利用し得る。同様に、ファーストパーティは、第2のマスターキーの暗号化された回復されたマスターキーシャードを復号するために、HSMの第2のグループの秘密キーを利用し得、第3のマスターキーの暗号化された回復されたマスターキーシャードを復号するために、HSMの第3のグループの秘密キーを利用し得る。次いで、回復されたマスターキーシャードは、3つのマスターキーを再生成するために利用され得る。ファーストパーティが再生成されたマスターキーを検証した後、物理的に分離されたコンピュータデバイスは、破棄され得る。
本明細書で開示された実施形態は、例えば、その開示が参照によりその全体において組み込まれる、2019年3月20日に出願した米国特許出願第16/359,055号において開示されたコンピューティングシステム上に実装され得る。
特に、本明細書で開示された信頼できるブロックチェーンの実施形態は、安全なコンピューティング環境上およびその中で動作し得る。例えば、人間が強制するルールおよび手順を介してのみポリシーが実施され得る従来の環境とは対照的に、この安全なコンピューティング環境は、上記で説明したポリシーの変更などの適切なコンピュータが強制するメカニズムを使用することなく、人間のオペレータによって変更することができないコンピューティングハードウェアによって強制される制約を使用して、以前に開示したようにポリシーを実装し得る。本明細書で開示された安全なコンピューティング環境において、ブロックチェーンへのエントリーのための新しいトランザクションを受け入れるビジネスロジックは、(有効であるおよび/または承認されているかどうかにかかわらず)1つまたは複数のHSMなどの安全なコンピューティング境界内に実装され得る。典型的には、HSM内に記憶され、HSMによって実行される実行可能コードは、複数のオーディターを含み得るクォーラムの使用を通じて、未監査の導入から保護される。各HSMは、正しいデジタル署名を用いて適切に署名されている場合にのみ、新しいまたは変更された実行可能コードにおいて具体化された新しいビジネスロジックを受け入れ得る。いくつかの実施形態において、新しいコードは、コード監査が成功した後にのみ、新しいコードが署名され得る。例えば、ポリシーは、提案された変更が登録されたコードオーディターによって署名されることを必要とし得る。そのような制約は、HSMハードウェア自体によって強制され得、改ざんの可能性をさらに低減する。追加のセキュリティおよび/または冗長性のために複数のHSMが使用され得る。例えば、複数のHSMは、信頼できるブロックチェーン内に含まれるべき次のトランザクションを決定するために、コンセンサスネットワークまたは同様のアルゴリズムを実装し得る。
本明細書で開示されたHSMは、以前に開示した「バリデータ」オペレータによって取得および/または動作され得、これは、ブロックチェーンシステムの1つまたは複数の所有者または他の制御エンティティによって、信頼できる独立した取引相手であると精査されたエンティティであり得る。しかしながら、複数のHSMの使用は、本明細書で開示された1つまたは複数のHSMに関連する障害、エラー、または詐欺に対する保護およびセキュリティを提供し得る。バリデータエンティティは、HSMを維持し、信頼できるブロックチェーンシステムに対して利用可能にする。以前に開示したように、各HSMは、以前に開示したように、信頼できるブロックチェーンのポリシーに従って適切な承認を必要とする、安全に監査され暗号的に承認されたソフトウェアのみを実行するので、バリデータは、HSM上で動作するソフトウェアを制御、アクセス、または変更することはできない。特に、HSMのバリデータオペレータは、HSM上に記憶されたシークレットにアクセスすることができず、1つまたは複数のオペレータまたはHSMが危険にさらされるかまたは失敗した場合であっても、オペレータおよびHSMのクォーラムが利用可能である限り、以前に開示したように、すべてのシークレットが安全に保存される。
HSMを使用することに加えて、本明細書で開示された実施形態は、HSMによって動作されるデータが、ポリシーによって許可された以外にHSMのオペレータまたはHSM上に実装された検査済みコードの開発者によって調査することができないように、システム内のポリシーを構成し得る。これは、以前に開示したように、HSM制御システムまたはポリシー制御システム内に制御ポリシーを実装した結果であり、ポリシー自体は、システム内の任意の他のトランザクションと同じ制御を受ける。
いくつかの実施形態において、暗号シークレットが、本明細書で開示された信頼できるブロックチェーンの安全な境界内に作成、記憶、およびインポートされ得る。シークレットを作成するために、システムのHSM内で乱数が生成され得る。乱数は、それ自体がシークレットであり得、または任意の適切な暗号技法を使用してシークレットを生成、暗号化、もしくは他の方法で作成するために使用され得る。場合によっては、例えば、マルチパーティ計算(MPC)技法を使用して、複数のHSMによってシークレットが共同で作成され、グループ内の単一のHSMがシークレット全体を記憶しないようにシャーディングされ得る。信頼できるブロックチェーンを実装するために複数のHSMが使用される以前の例を続けると、ブロックチェーンHSMのうちのいくつかまたはすべてが、そのようなシークレットを生成するために使用され得る。そのような配置は、シークレットのための追加のセキュリティおよび/または冗長性を提供し得る。1つまたは複数のシャードが失われた場合でも、十分な数の残りのシャードが利用可能な場合、シークレットは、依然として再生成され得る。同様に、1つまたは複数のシャードがセキュリティ侵害された場合、シークレットを再構築するのに十分な数のシャードがセキュリティ侵害されない限り、シークレットは、依然として保護され得る。各HSMは、HSMの秘密キーによって署名され得るブロックチェーントランザクションにおいてシークレットの関連部分を記憶し得る。これは、シークレットのための安全な形式のバックアップを提供し得る。シークレットへのアクセスは、シークレットのシャーディングおよび暗号化だけでなく、ブロックチェーン自体における他のポリシー制約によっても保護され得る。
特に、シークレットがシャーディングされているか、単一のシークレットであるかにかかわらず、シークレットは、HSMの外部の暗号化されていない形態において任意の人、コンピューティングシステム、または他のエンティティに知られず、または他の方法で利用可能でないが、ブロックチェーン内に実装されたポリシーに従って信頼できるブロックチェーン内で依然として使用され得る。例えば、ポリシーのセットは、シークレットを使用することをポリシーによって許可された事前定義されたエンティティのクォーラムの承認を示すトランザクションの受信時に、デジタル資産アドレスを作成するため、またはアドレスに関連するトランザクションに署名するためにシークレットが使用されることを可能にし得る。これに応じて、HSMは、シークレット(またはシークレットのシャード)を自動的に復号し、HSMの安全なコンピューティング環境の外部にシークレットを漏らすことなく、指示されたトランザクションに署名するためにそれを使用し得る。以前に示したように、システムは、信頼できるブロックチェーンシステム内に実装されたポリシーによって制御されるので、オペレータ、開発者、ホスティング施設もしくは他のホストエンティティ、管理者、または他の個々のエンティティは、ポリシーによって指定された以外にシークレットの使用およびセキュリティを制御することができない。さらに、以前に開示したように、ポリシーは、ブロックチェーンに提出されたトランザクションを介してのみ変更され得、したがって、他の方法ではアクセスすることができないエンティティによるアクセスを許可するように任意に変更することはできない。
図1は、開示された主題のいくつかの実施形態による様々な要素のサンプル関係を示すブロック図を示す。示されているように、HSMグループ1 110は、HSM H_11 182aとHSM H_12 182bとを含み得、HSMグループ2 112は、HSM H_21 184aとHSM H_22 184bとを含み得、HSMグループ3 114は、HSM H_31 186aとHSM H_32 186bとを含み得る。マスターキーM1 120の様々なシャードは、HSMグループ1 110上に記憶され得、マスターキーM2 122の様々なシャードは、HSMグループ2 112上に記憶され得、マスターキーM3 124の様々なシャードは、HSMグループ3 114上に記憶され得る。また示されているように、サードパーティエスクロー会社L1 132は、HSM Y11 142aとHSM Y12 142bとを保持するか、または他の方法で責任を負い得、サードパーティエスクロー会社L2 134は、HSM Y21 144aとHSM Y22 144bとを保持するか、または他の方法で責任を負い得、サードパーティエスクロー会社L3 136は、HSM Y31 146aとHSM Y32 146bとを保持するか、または他の方法で責任を負い得る。
様々な実施形態において、図1に示すように、HSM Y11 142aおよびY12 142bの各々は、マスターキーM1 120の第1のシャードと、マスターキーM2 122の第1のシャードと、マスターキーM3 124の第1のシャードとを暗号化するために利用され得る。同様に、HSM Y21 144aおよびY22 144bの各々は、マスターキーM1 120の第2のシャードと、マスターキーM2 122の第2のシャードと、マスターキーM3 124の第2のシャードとを暗号化するために利用され得、HSM Y31 146aおよびY32 146bの各々は、マスターキーM1 120の第3のシャードと、マスターキーM2 122の第3のシャードと、マスターキーM3 124の第3のシャードとを暗号化するために利用され得る。図1には示されていないが、様々なシャードを暗号化することによって生成された様々な暗号文は、2つの追加のHSMおよび/または2つのライトワンスリードメニー(WORM)記憶デバイス内に記憶され得る。
図2は、開示された主題の様々な実装形態による、マスターキーのエスクローのための方法200を示す。様々な実装形態において、方法200のステップは、ハードウェアセキュリティモジュール(HSM)または他のコンピューティングデバイスなどのデバイスのプロセッサによって実行され得る。方法は、特定の順序においてステップを示しているが、これは、単純化のためだけである。
ステップ210において、ルート認証局(CA)が、ファーストパーティの2つのファーストパーティハードウェアセキュリティモジュール(HSM)内に登録され得る。ファーストパーティは、例えば、信頼できるブロックチェーンのオペレータであり得る。ルートCAは、例えば、エスクロープロセスにおいて関与しない別のパーティに属し得る。例えば、ルートCAは、カリフォルニア州パロアルトのYubicoに属し得る。
ステップ220において、3つのサードパーティHSMが、マスターエスクロー回復デバイスとして初期化され得る。これらのHSMは、ファーストパーティとは異なるサードパーティに対応するので、サードパーティHSMと呼ばれる。様々な実施形態において、各サードパーティHSMは、異なるサードパーティに属するか、または他の方法で対応し得る。初期化プロセスについて、図3に関連して以下でより詳細に説明し得る。
オプションのステップ230において、3つの追加のサードパーティHSMが、冗長マスターエスクロー回復デバイスとして初期化され得る。すなわち、各マスターエスクロー回復デバイスについて、冗長マスターエスクロー回復デバイスも作成され得る。様々な実施形態において、マスターエスクロー回復デバイスおよび冗長マスターエスクロー回復デバイスの各ペアは、サードパーティのうちの異なる1つに対応する。
ステップ240において、ファーストパーティは、3つのマスターキーを生成するために、信頼できるブロックチェーンに対してブートストラップ動作を実行し得る。様々な実施形態において、3つのマスターキーは、信頼できるブロックチェーンに関連付けられるべき様々なデジタル資産を暗号化するか、または他の方法で保護するために利用され得る。
ステップ250において、3つのマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の3つのセットが生成され得る。例えば、各マスターキーは、3つのシャードにシャーディングされ得、各マスターキーの第1のシャードに基づいてマスターキーシャード暗号文の第1のセットを生成するために第1のマスターエスクロー回復デバイスが使用され得、各マスターキーの第2のシャードに基づいてマスターキーシャード暗号文の第2のセットを生成するために第2のマスターエスクロー回復デバイスが使用され得、各マスターキーの第3のシャードに基づいてマスターキーシャード暗号文の第3のセットを生成するために第3のマスターエスクロー回復デバイスが使用され得る。マスターキーシャード暗号文の各セットの生成について、図4に関連して以下でより詳細に説明し得る。
オプションのステップ260において、マスターキーシャード暗号文の3つのセットは、2つのライトワンスリードメニー(WORM)記憶デバイス上に記憶され得る。例えば、様々な暗号文は、第1のworm記憶デバイス上に記憶され得、様々な暗号文は、冗長的に第2のworm記憶デバイス上にも記憶され得る。なお、サードパーティに対応するマスターエスクロー回復デバイスは、様々な暗号文を生成するために利用されるが、様々な暗号文は、ファーストパーティのストレージ上に記憶される。
ステップ270において、マスターキーシャード暗号文の3つのセットは、ファーストパーティの2つのファーストパーティHSM上に記憶され得る。
図3は、開示された主題の様々な実装形態による、HSMをマスターエスクロー回復デバイスとして初期化するための方法300を示す。様々な実装形態において、方法300のステップは、ハードウェアセキュリティモジュール(HSM)または他のコンピュータデバイスなどのデバイスのプロセッサによって実行され得る。方法は、特定の順序においてステップを示しているが、これは、単純化のためだけである。
ステップ310において、いくつかのサードパーティHSMの各々に証明書がロードされ得る。例えば、証明書は、3つのサードパーティHSMの各々にロードされ得る。証明書は、例えば、図2の方法200のステップ210の2つのファーストパーティHSMにロードされたルートCAなどの、2つのファーストパーティHSMにロードされたルートCAに関連する中間CAによって署名された公開キーを含み得る。様々な実施形態において、そのような中間証明書は、サードパーティHSMに対する信頼の起点の追跡を可能にし得る。
ステップ320において、中間証明書は、2つのファーストパーティHSMに登録され得る。例えば、中間証明書は、図2の方法200のステップ210の2つのファーストパーティHSMに登録され得る。
ステップ330において、各サードパーティHSMのシリアル番号が、ステップ320の2つのファーストパーティHSMなどの2つのファーストパーティHSMに登録され得る。ステップ320および330の結果として、2つのファーストパーティHSMの各々は、すべてのサードパーティHSMのシリアル番号と、中間証明書とを含む。
ステップ340において、各サードパーティHSMについて公開秘密キーペアが生成され得る。例えば、第1のファーストパーティHSMが、第1のサードパーティHSMの第1の公開秘密キーペアを生成するために利用され得、第2のファーストパーティHSMが、第2のサードパーティHSMの第2の公開秘密キーペアを生成するために利用され得、第3のファーストパーティHSMが、第3のサードパーティHSMの第3の公開秘密キーペアを生成するために利用され得る。
ステップ350において、サードパーティHSMの各々から公開キーがエクスポートされ得る。例えば、第1の公開秘密キーペアの公開キー部分が第1のサードパーティHSMからエクスポートされ得、第2の公開秘密キーペアの公開キー部分が第2のサードパーティHSMからエクスポートされ得、第3の公開秘密キーペアの公開キー部分が第3のサードパーティHSMからエクスポートされ得る。
ステップ360において、エクスポートされた公開キーは、2つのファーストパーティHSM内に登録され得る。例えば、3つの公開キーは、上記のステップ320および330においても利用された2つの第1のキーHSM内に登録され得る。このようにして、2つの第1のキーHSMの各々は、中間証明書、ならびにすべてのサードパーティHSMの様々なシリアル番号および公開キーを含み得る。そのため、2つのファーストパーティHSMは、任意の後続の回復プロセス中に、サードパーティHSMを確証および/または他の方法で検証し得る。
図4は、開示された主題の様々な実装形態による、マスターキーシャード暗号文のセットを生成するための方法400を示す。様々な実装形態において、方法400のステップは、ハードウェアセキュリティモジュール(HSM)または他のコンピュータデバイスなどのデバイスのプロセッサによって実行され得る。方法は、特定の順序においてステップを示しているが、これは、単純化のためだけである。
ステップ410において、各マスターキーについて、第1、第2、および第3のマスターキーシャードが生成され得る。例えば、3つのマスターキーの場合、3つのシャードを生成するために第1のマスターキーが3回シャーディングされ得、3つのシャードを生成するために第2のマスターキーが3回シャーディングされ得、3つのシャードを生成するために第3のマスターキーが3回シャーディングされ得る。この例において、3つの第1のシャード(すなわち、マスターキー1の第1のシャード、マスターキー2の第1のシャード、およびマスターキー3の第1のシャード)、3つの第2のシャード(すなわち、マスターキー1の第2のシャード、マスターキー2の第2のシャード、およびマスターキー3の第2のシャード)、および3つの第3のシャード(すなわち、マスターキー1の第3のシャード、マスターキー2の第3のシャード、およびマスターキー3の第3のシャード)が存在する。
ステップ420において、各第1のマスターキーシャードは、マスターキーシャード暗号文の第1のセットを生成するために、第1のマスターエスクロー回復デバイスからエクスポートされた公開キーを使用して暗号化され得る。例えば、3つのマスターキーの3つの第1のシャードに対応するマスターキーシャード暗号文のセットを生成するために、第1のサードパーティに関連付けられたマスターエスクロー回復デバイス(すなわち、サードパーティHSM)が利用され得る。
ステップ430において、各第2のマスターキーシャードは、マスターキーシャード暗号文の第2のセットを生成するために、第2のマスターエスクロー回復デバイスからエクスポートされた公開キーを使用して暗号化され得る。例えば、3つのマスターキーの3つの第2のシャードに対応するマスターキーシャード暗号文のセットを生成するために、第2のサードパーティに関連付けられたマスターエスクロー回復デバイス(すなわち、サードパーティHSM)が利用され得る。
ステップ440において、各第3のマスターキーシャードは、3つのマスターキーの3つの第3のシャードに対応するマスターキーシャード暗号文のセットを生成するために利用され得る第3のサードパーティに関連付けられた第3のマスターエスクロー回復デバイス(すなわち、サードパーティHSM)からエクスポートされた公開キーを使用して暗号化され得る。
なお、方法400の結果として、各サードパーティは、マスターキーではなく、すべてのマスターキーのシャードのセットに対応するマスターエスクロー回復デバイスに対して責任を負い得る。例えば、第1のサードパーティに関連付けられたマスターエスクロー回復デバイスが、マスターキーの各々の第1のシャードを含むセットに対応する。同様に、第2のサードパーティに関連付けられたマスターエスクロー回復デバイスが、マスターキーの各々の第2のシャードを含むセットに対応し、第3のサードパーティに関連付けられたマスターエスクロー回復デバイスが、マスターキーの各々の第3のシャードを含むセットに対応する。
図5は、開示した主題の様々な実装形態による、以前にエスクローされたマスターキーの回復のための方法500を示す。様々な実装形態において、方法500のステップは、ハードウェアセキュリティモジュール(HSM)または他のコンピュータデバイスなどのデバイスのプロセッサによって実行され得る。方法は、特定の順序においてステップを示しているが、これは、単純化のためだけである。
ステップ510において、マスターキーシャード暗号文の第1のセットが取得され得る。様々な実装形態において、マスターキーシャード暗号文の第1のセットは、図2の方法200などのマスターキーエスクロープロセスによって以前に生成され得る。マスターキーシャード暗号文の第1のセットは、第1のマスターキーシャードのセットに対応し得る。例えば、マスターキーシャード暗号文の第1のセットは、第1のマスターキーの第1のシャードと、第2のマスターキーの第1のシャードと、第3のマスターキーの第1のシャードとを含むマスターキーシャードのセットに基づいて生成され得る。マスターキーシャード暗号文の第1のセットは、例えば、2つのファーストパーティHSMおよび/またはファーストパーティの2つのworm記憶デバイスから取得され得る。
ステップ520において、マスターキーシャード暗号文の第2のセットが取得され得る。様々な実装形態において、マスターキーシャード暗号文の第2のセットは、図2の方法200などのマスターキーエスクロープロセスによって以前に生成され得る。マスターキーシャード暗号文の第2のセットは、第2のマスターキーシャードのセットに対応し得る。例えば、マスターキーシャード暗号文の第2のセットは、第1のマスターキーの第2のシャードと、第2のマスターキーの第2のシャードと、第3のマスターキーの第3のシャードとを含むマスターキーシャードのセットに基づいて生成され得る。マスターキーシャード暗号文の第2のセットは、例えば、2つのファーストパーティHSMおよび/またはファーストパーティの2つのworm記憶デバイスから取得され得る。
ステップ530において、マスターキーシャード暗号文の第3のセットが取得され得る。様々な実装形態において、マスターキーシャード暗号文の第3のセットは、図2の方法200などのマスターキーエスクロープロセスによって以前に生成され得る。マスターキーシャード暗号文の第3のセットは、第3のマスターキーシャードのセットに対応し得る。例えば、マスターキーシャード暗号文の第3のセットは、第1のマスターキーの第3のシャードと、第2のマスターキーの第3のシャードと、第3のマスターキーの第3のシャードとを含むマスターキーシャードのセットに基づいて生成され得る。マスターキーシャード暗号文の第3のセットは、例えば、2つのファーストパーティHSMおよび/またはファーストパーティの2つのworm記憶デバイスから取得され得る。
ステップ540において、マスターエスクロー回復デバイスのセットが取得され得る。例えば、マスターエスクロー回復デバイスが、いくつかのサードパーティの各々から取得され得る。様々な実施形態において、マスターエスクロー回復デバイスは、図2の方法200などのマスターキーエスクロープロセスの一部として以前に生成され、サードパーティの各々に提供される。一例において、合計3つのマスターエスクローデバイスが生成され、3つのサードパーティの各々に提供され得る。しかしながら、マスターエスクロー回復デバイスのセットは、必ずしも、以前に生成および提供されたマスターエスクロー回復デバイスのすべてを含むとは限らない。例えば、取得されたセットは、サードパーティに関連付けられた3つのマスターエスクロー回復デバイスのうちの2つのみを含み得る。サードパーティに関連付けられたマスターエスクロー回復デバイスの総数にかかわらず、取得されたマスターエスクロー回復デバイスのセットは、信頼できるブロックチェーンのマスターキーを回復するのに十分な数のデバイスを含み得る。
ステップ550において、回復されたマスターキーシャードの3つのセットを生成するために、マスターキーシャード暗号文の各セットの少なくとも2つのマスターキーシャード暗号文が復号され得る。上記で論じたように、マスターキーシャード暗号文の各セットは、例えば、各マスターキーのマスターキーシャード暗号文を含み得る(例えば、セット1が第1のシャードに基づく暗号文を含み、セット2が第2のシャードに基づく暗号文を含み、セット3が第3のシャードに基づく暗号文を含む)。しかしながら、回復されたマスターキーシャードの各セットは、例えば、単一のマスターキーの回復されたマスターキーシャードを含み得る(例えば、セット1がマスターキー1のシャードを含み、セット2がマスターキー2のシャードを含み、セット3がマスターキー3のシャードを含む)。そのため、回復されたマスターキーシャードの各セットは、マスターキーを回復するのに十分な数のシャードを含み得る。各々が3つのシャードを有する3つのマスターキーの場合、各マスターキーの2つのシャードが、各マスターキーを回復するのに十分であり得る。少なくとも2つのマスターキーシャード暗号文を復号することによって、回復されたマスターキーシャードの各セットは、少なくとも2つの回復されたマスターキーシャードを含み得る。
ステップ560において、ファーストパーティHSMの3つのグループの各々について、公開秘密キーペアが生成され得る。様々な実施形態において、各グループは、2つのHSMを含み得る。ファーストパーティHSMの各グループは、例えば、回復されたマスターキーシャードのセットに対応し得る。
ステップ570において、回復されたマスターキーシャードの第1のセットが、ファーストパーティHSMの第1のグループ上にロードされ得、回復されたマスターキーシャードの第2のセットが、ファーストパーティHSMの第2のグループ上にロードされ得、回復されたマスターキーシャードの第3のセットが、ファーストパーティHSMの第3のグループ上にロードされ得る。図6に関連して以下でさらに詳細に開示されるように、様々な回復されたマスターキーシャードが露出されないか、または他の方法でファーストパーティ以外のなにかによって取得され得ないように、回復されたマスターキーシャードの各セットは、ファーストパーティHSMのグループに対してロードされ得る。
ステップ580において、第1のセットの各回復されたマスターキーシャードは、ファーストパーティHSMの第1のグループの秘密キーを使用して復号され得、第2のセットの各回復されたマスターキーシャードは、ファーストパーティHSMの第2のグループの秘密キーを使用して復号され得、第3のセットの各回復されたマスターキーシャードは、ファーストパーティHSMの第3のグループの秘密キーを使用して復号され得る。様々な実施形態において、暗号化されていない回復されたマスターキーシャードは、シャードを復号するために使用されたファーストパーティHSMのグループ上、またはそのグループ内でのみ利用可能であり得る。
ステップ590において、信頼できるブロックチェーンの3つのマスターキーは、回復されたマスターキーシャードの3つのセットを使用して回復され得る。例えば、回復されたマスターキーシャードの第1のセットは、第1のマスターキーを回復または他の方法で再生成するために利用され得る。同様に、回復されたマスターキーシャードの第2のセットは、第2のマスターキーを回復または他の方法で再生成するために利用され得、回復されたマスターキーシャードの第3のセットは、第3のマスターキーを回復または他の方法で再生成するために利用され得る。
図6は、開示された主題の様々な実装形態による、回復されたマスターキーシャードのセットをファーストパーティHSMのグループに対してロードするための方法600を示す。様々な実装形態において、方法600のステップは、ハードウェアセキュリティモジュール(HSM)または他のコンピュータデバイスなどのデバイスのプロセッサによって実行され得る。方法は、特定の順序においてステップを示しているが、これは、単純化のためだけである。
ステップ610において、回復されたマスターキーシャードの第1のセットの各回復されたマスターキーシャードは、ファーストパーティHSMの第1のグループの公開キーを使用して暗号化され得る。様々な実施形態において、第1のセットの回復されたマスターキーシャードの各々は、いくつかのマスターエスクロー回復デバイス(すなわち、サードパーティHSM)上に記憶または他の方法で維持され得る。例えば、第1のセットの第1の回復されたマスターキーシャードは、第1のマスターエスクロー回復デバイス上に存在し得、第1のセットの第2の回復されたマスターキーシャードは、第2のマスターエスクロー回復デバイス上に存在し得、第1のセットの第3の回復されたマスターキーシャードは、第3のマスターエスクロー回復デバイス上に存在し得る。そのため、第1のマスターエスクロー回復デバイスは、第1の回復されたマスターキーシャードを暗号化するために利用され得、第2のマスターエスクロー回復デバイスは、第2の回復されたマスターキーシャードを暗号化するために利用され得、第3のマスターエスクロー回復デバイスは、第3の回復されたマスターキーシャードを暗号化するために利用され得る。いくつかの実施形態において、このステップを容易にするために、ラップトップなどの物理的に分離されたコンピューティングデバイスが利用され得る。
ステップ620において、第1のセットの暗号化された回復されたマスターキーシャードは、ファーストパーティHSMの第1のグループにおいて記憶され得る。例えば、物理的に分離されたコンピューティングデバイスは、暗号化されたシャードをファーストパーティHSMの第1のグループに転送するために利用され得る。
ステップ630において、回復されたマスターキーシャードの第2のセットの各回復されたマスターキーシャードは、ファーストパーティHSMの第2のグループの公開キーを使用して暗号化され得る。様々な実施形態において、第2のセットの回復されたマスターキーシャードの各々は、いくつかのマスターエスクロー回復デバイス(すなわち、サードパーティHSM)上に記憶または他の方法で維持され得る。例えば、第2のセットの第1の回復されたマスターキーシャードは、第1のマスターエスクロー回復デバイス上に存在し得、第2のセットの第2の回復されたマスターキーシャードは、第2のマスターエスクロー回復デバイス上に存在し得、第2のセットの第3の回復されたマスターキーシャードは、第3のマスターエスクロー回復デバイス上に存在し得る。そのため、第1のマスターエスクロー回復デバイスは、第1の回復されたマスターキーシャードを暗号化するために利用され得、第2のマスターエスクロー回復デバイスは、第2の回復されたマスターキーシャードを暗号化するために利用され得、第3のマスターエスクロー回復デバイスは、第3の回復されたマスターキーシャードを暗号化するために利用され得る。いくつかの実施形態において、このステップを容易にするために、ラップトップなどの物理的に分離されたコンピューティングデバイスが利用され得る。
ステップ640において、第2のセットの暗号化された回復されたマスターキーシャードは、ファーストパーティHSMの第2のグループにおいて記憶され得る。例えば、物理的に分離されたコンピューティングデバイスは、暗号化されたシャードをファーストパーティHSMの第2のグループに転送するために利用され得る。
ステップ650において、回復されたマスターキーシャードの第3のセットの各回復されたマスターキーシャードは、ファーストパーティHSMの第3のグループの公開キーを使用して暗号化され得る。様々な実施形態において、第3のセットの回復されたマスターキーシャードの各々は、いくつかのマスターエスクロー回復デバイス(すなわち、サードパーティHSM)上に記憶または他の方法で維持され得る。例えば、第3のセットの第1の回復されたマスターキーシャードは、第1のマスターエスクロー回復デバイス上に存在し得、第3のセットの第2の回復されたマスターキーシャードは、第2のマスターエスクロー回復デバイス上に存在し得、第3のセットの第3の回復されたマスターキーシャードは、第3のマスターエスクロー回復デバイス上に存在し得る。そのため、第1のマスターエスクロー回復デバイスは、第1の回復されたマスターキーシャードを暗号化するために利用され得、第2のマスターエスクロー回復デバイスは、第2の回復されたマスターキーシャードを暗号化するために利用され得、第3のマスターエスクロー回復デバイスは、第3の回復されたマスターキーシャードを暗号化するために利用され得る。いくつかの実施形態において、このステップを容易にするために、ラップトップなどの物理的に分離されたコンピューティングデバイスが利用され得る。
ステップ660において、第3のセットの暗号化された回復されたマスターキーシャードは、ファーストパーティHSMの第3のグループにおいて記憶され得る。例えば、物理的に分離されたコンピューティングデバイスは、暗号化されたシャードをファーストパーティHSMの第3のグループに転送するために利用され得る。
上記で説明したように、信頼できるブロックチェーンのマスターキーのエスクローのための方法、コンピュータ可読媒体、およびデバイスが開示された。それに加えて、上記で説明したように、以前にエスクローされたマスターキーの回復のための方法、コンピュータ可読媒体、およびデバイスが開示された。
現在開示されている主題の実施形態は、様々な構成要素およびネットワークアーキテクチャを用いて実装および使用され得る。図7は、現在開示されている主題の実施形態を実装するのに適した例示的なコンピューティングデバイス700である。デバイス700は、例えば、デスクトップもしくはラップトップコンピュータ、電話、タブレットなどのモバイルコンピューティングデバイス、または本明細書で開示されたディスプレイであり得る。デバイス700は、中央プロセッサ724、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュRAMなどのメモリ727、ディスプレイ画面などのユーザディスプレイ722、1つまたは複数のコントローラと、キーボード、マウス、タッチスクリーンなどの関連するユーザ入力デバイスを含み得るユーザ入力インターフェース726、ハードドライブ、フラッシュストレージなどの固定ストレージ723、光ディスク、フラッシュドライブなどを制御および受信するように動作するリムーバブル媒体構成要素725、および適切なネットワーク接続を介して1つまたは複数のリモートデバイスと通信するように動作可能なネットワークインターフェース729などの、コンピュータ700の主要構成要素を相互接続するバス721を含み得る。
バス721は、前述のように、中央プロセッサ724と、RAM、ROM、および他のメモリを含み得る1つまたは複数のメモリ構成要素との間のデータ通信を可能にする。典型的には、RAMは、オペレーティングシステムおよびアプリケーションプログラムがロードされるメインメモリである。ROMまたはフラッシュメモリ構成要素は、数あるコードの中でも、周辺構成要素などとの対話などの基本的なハードウェア動作を制御する基本入出力システム(BIOS)を含むことができる。コンピュータ720に常駐するアプリケーションは、一般に、ハードディスクドライブ(例えば、固定ストレージ723)、光学ドライブ、フロッピーディスク、または他の記憶媒体などのコンピュータ可読媒体上に記憶され、そのコンピュータ可読媒体を介してアクセスされる。
固定ストレージ723は、デバイス700と統合され得、または分離され、他のインターフェースを介してアクセスされ得る。ネットワークインターフェース729は、有線またはワイヤレス接続を介してリモートサーバへの直接接続を提供し得る。ネットワークインターフェース729は、デジタルセルラー電話、WiFi、Bluetooth(登録商標)、近接場などを含む、当業者によって容易に理解される任意の適切な技法およびプロトコルを使用して、そのような接続を提供し得る。例えば、ネットワークインターフェース729は、以下でさらに詳細に説明するように、コンピュータが1つまたは複数のローカル、ワイドエリア、または他の接続ネットワークを介して他のコンピュータと通信することを可能にし得る。
多くの他のデバイスまたは構成要素(図示せず)が、同様の方法(例えば、ドキュメントスキャナ、デジタルカメラなど)において接続され得る。逆に、本開示を実施するために、図7に示す構成要素のすべてが存在する必要はない。構成要素は、図示されているのとは異なる方法において相互接続され得る。図7に示すようなコンピュータの動作は、当該技術分野において容易に知られており、本出願では詳細に論じない。本開示を実装するためのコードは、メモリ727、固定ストレージ723、リムーバブル媒体725のうちの1つもしくは複数などのコンピュータ可読記憶媒体内に、またはリモート記憶場所において記憶され得る。
より一般的には、現在開示されている主題の様々な実施形態は、コンピュータ実装プロセス、およびそれらのプロセスを実施するための装置の形態を含むか、またはそれらにおいて具体化され得る。実施形態はまた、コンピュータプログラムコードがコンピュータにロードされ、コンピュータによって実行されると、コンピュータが開示された主題の実施形態を実施するための装置になるように、フロッピーディスケット、CD-ROM、ハードドライブ、USB(ユニバーサルシリアルバス)デバイス、または任意の他の機械可読記憶媒体などの非一時的および/または有形の媒体において具体化された命令を含むコンピュータプログラムコードを有するコンピュータプログラム製品の形態において具体化され得る。実施形態はまた、例えば、コンピュータプログラムコードがコンピュータにロードまたはコンピュータによって実行されると、コンピュータが開示された主題の実施形態を実施するための装置になるように、記憶媒体内に記憶されるか、コンピュータにロードおよび/もしくはコンピュータによって実行されるか、または電気配線もしくはケーブルを介して、光ファイバを介して、もしくは電磁放射を介してなど、なんらかの伝送媒体を介して伝送されるかにかかわらず、コンピュータプログラムコードの形態において具体化され得る。汎用マイクロプロセッサ上に実装されると、コンピュータプログラムコードセグメントは、特定の論理回路を作成するようにマイクロプロセッサを構成する。
いくつかの構成において、コンピュータ可読記憶媒体上に記憶されたコンピュータ可読命令のセットが汎用プロセッサによって実施され得、このコンピュータ可読命令のセットは、汎用プロセッサまたは汎用プロセッサを含むデバイスを、命令を実施または実行するように構成された専用デバイスに変換し得る。実施形態は、開示された主題の実施形態による技法のすべてまたは一部をハードウェアおよび/またはファームウェアにおいて具体化する汎用マイクロプロセッサおよび/または特定用途向け集積回路(ASIC)などのプロセッサを含み得るハードウェアを使用して実装され得る。プロセッサは、RAM、ROM、フラッシュメモリ、ハードディスク、または電子情報を記憶することができる任意の他のデバイスなどのメモリに結合され得る。メモリは、開示された主題の実施形態による技法を実行するためにプロセッサによって実行されるように適合された命令を記憶し得る。
上記の説明は、説明の目的のために、特定の実施形態を参照して説明されている。しかしながら、上記の例示的な議論は、網羅的であること、または開示された主題の実施形態を開示された正確な形態に限定することを意図していない。上記の教示に照らして、多くの修正および変形が可能である。実施形態は、当業者が、それらの実施形態、ならびに企図された特定の用途に適し得るように様々な変更を加えた様々な実施形態を利用することを可能にするために、開示された主題の実施形態の原理と、その実際の応用とを説明するために選択され、説明された。
110 HSMグループ1
112 HSMグループ2
114 HSMグループ3
120 マスターキーM1
122 マスターキーM2
124 マスターキーM3
132 サードパーティエスクロー会社L1
134 サードパーティエスクロー会社L2
136 サードパーティエスクロー会社L3
142a HSM Y11
142b HSM Y12
144a HSM Y21
144b HSM Y22
146a HSM Y31
146b HSM Y32
182a HSM H_11
182b HSM H_12
184a HSM H_21
184b HSM H_22
186a HSM H_31
186b HSM H_32
700 コンピューティングデバイス、デバイス
720 コンピュータ
721 バス
722 ユーザディスプレイ
723 固定ストレージ
724 中央プロセッサ
725 リムーバブル媒体構成要素
726 ユーザ入力インターフェース
727 メモリ
729 ネットワークインターフェース
112 HSMグループ2
114 HSMグループ3
120 マスターキーM1
122 マスターキーM2
124 マスターキーM3
132 サードパーティエスクロー会社L1
134 サードパーティエスクロー会社L2
136 サードパーティエスクロー会社L3
142a HSM Y11
142b HSM Y12
144a HSM Y21
144b HSM Y22
146a HSM Y31
146b HSM Y32
182a HSM H_11
182b HSM H_12
184a HSM H_21
184b HSM H_22
186a HSM H_31
186b HSM H_32
700 コンピューティングデバイス、デバイス
720 コンピュータ
721 バス
722 ユーザディスプレイ
723 固定ストレージ
724 中央プロセッサ
725 リムーバブル媒体構成要素
726 ユーザ入力インターフェース
727 メモリ
729 ネットワークインターフェース
Claims (17)
- マスターキーのエスクローのためのコンピュータ実装方法であって、前記方法が、
3つのサードパーティハードウェアセキュリティモジュール(HSM)の各々をマスターエスクロー回復デバイスとして初期化するステップであって、
各サードパーティHSMが、異なるサードパーティに対応し、
前記異なるサードパーティが、単一のファーストパーティとは異なり、
前記異なるサードパーティおよび前記単一のファーストパーティが、すべて、前記マスターエスクロー回復デバイスの初期化をピアレビューする、
ステップと、
3つのマスターキーを生成するために、信頼できるブロックチェーンに対してブートストラップ動作を実行するステップと、
前記3つのマスターエスクロー回復デバイスのうちの第1のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の第1のセットを生成し、前記3つのマスターエスクロー回復デバイスのうちの第2のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の第2のセットを生成し、前記3つのマスターエスクロー回復デバイスのうちの第3のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の第3のセットを生成するステップと、
前記マスターキーシャード暗号文の第1のセット、前記マスターキーシャード暗号文の第2のセット、および前記マスターキーシャード暗号文の第3のセットを、2つのファーストパーティHSMの各々において不透明オブジェクトとして記憶するステップであって、前記2つのファーストパーティHSMが、前記単一のファーストパーティに対応する、ステップと
を含む、方法。 - 前記3つのサードパーティHSMの各々をマスターエスクロー回復デバイスとして初期化するステップが、
証明書を前記サードパーティHSMの各々にロードするステップであって、前記証明書がルートCAに対応する中間CAによって署名された公開キーを含む、ステップと、
前記証明書を前記2つのファーストパーティHSMに登録するステップと、
前記3つのサードパーティHSMの各々について、
前記対応するサードパーティHSMのシリアル番号を前記2つのファーストパーティHSMの各々に登録するステップと、
前記対応するサードパーティHSMの公開秘密キーペアを生成するステップであって、前記公開秘密キーペアの認証証明書がエクスポート機能を持たない前記ファーストパーティによって検証される、ステップと、
前記対応するサードパーティHSMから公開キー部分をエクスポートするステップと、
前記エクスポートされた公開キー部分を前記2つのファーストパーティHSMの各々に登録するステップと
を含む、
請求項1に記載の方法。 - 前記第1のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の第1のセットを生成し、前記第2のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の第2のセットを生成し、前記第3のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の第3のセットを生成するステップが、
前記3つのマスターキーの各々について、第1のマスターキーシャード、第2のマスターキーシャード、および第3のマスターキーシャードを生成するステップと、
前記マスターキーシャード暗号文の第1のセットを生成するために、前記第1のマスターエスクロー回復デバイスからエクスポートされた第1の公開キーを使用して前記第1のマスターキーシャードの各々を暗号化するステップと、
前記マスターキーシャード暗号文の第2のセットを生成するために、前記第2のマスターエスクロー回復デバイスからエクスポートされた第2の公開キーを使用して前記第2のマスターキーシャードの各々を暗号化するステップと、
前記マスターキーシャード暗号文の第3のセットを生成するために、前記第3のマスターエスクロー回復デバイスからエクスポートされた第3の公開キーを使用して第3のマスターキーシャードの各々を暗号化するステップと
を含み、
前記第1の公開キー、前記第2の公開キー、および前記第3の公開キーが、前記2つのファーストパーティHSMの各々において登録される、
請求項1に記載の方法。 - 3つの追加のサードパーティHSMの各々を、冗長マスターエスクロー回復デバイスとして初期化するステップをさらに含み、各冗長マスターエスクロー回復デバイスが、1つのマスターエスクロー回復デバイスに対応する、請求項1に記載の方法。
- 少なくとも1つの追加のサードパーティHSMを追加のマスターエスクロー回復デバイスとして初期化するステップであって、各追加のサードパーティHSMが異なるサードパーティに対応する、ステップと、
前記少なくとも1つの追加のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の少なくとも1つの追加のセットを生成するステップと、
前記マスターキーシャード暗号文の少なくとも1つの追加のセットを、少なくとも2つのライトワンスリードメニー(WORM)ストレージ内に記憶するステップと、
前記マスターキーシャード暗号文の少なくとも1つの追加のセットを、前記2つのファーストパーティHSMの各々において不透明オブジェクトとして記憶するステップと
をさらに含む、請求項1に記載の方法。 - 前記異なるサードパーティおよび前記単一のファーストパーティが、すべて、前記マスターエスクロー回復デバイスの初期化をピアレビューする、請求項1に記載の方法。
- 前記マスターキーシャード暗号文の第1のセット、前記マスターキーシャード暗号文の第2のセット、および前記マスターキーシャード暗号文の第3のセットを少なくとも2つの異なるライトワンスリードメニー(WORM)記憶デバイス内に記憶するステップをさらに含む、請求項1に記載の方法。
- エスクローからマスターキーを回復するためのコンピュータ実装方法であって、前記方法が、
3つの異なるサードパーティのうちの第1のサードパーティに関連付けられた第1のマスターエスクロー回復デバイスを使用して生成された以前のエスクローからマスターキーシャード暗号文の第1のセットを取得するステップであって、前記マスターキーシャード暗号文の第1のセットが、ファーストパーティの信頼できるブロックチェーンの第1のマスターキーの第1のマスターキーシャード暗号文と、前記信頼できるブロックチェーンの第2のマスターキーの第1のマスターキーシャードと、前記信頼できるブロックチェーンの第3のマスターキーの第1のマスターキーシャードとを含む、ステップと、
前記3つの異なるサードパーティのうちの第2のサードパーティに関連付けられた第2のマスターエスクロー回復デバイスを使用して生成された以前のエスクローからマスターキーシャード暗号文の第2のセットを取得するステップであって、前記マスターキーシャード暗号文の第2のセットが、前記第1のマスターキーの第2のマスターキーシャード暗号文と、前記第2のマスターキーの第2のマスターキーシャードと、前記第3のマスターキーの第2のマスターキーシャードとを含む、ステップと、
前記3つの異なるサードパーティのうちの第3のサードパーティに関連付けられた第3のマスターエスクロー回復デバイスを使用して生成された以前のエスクローからマスターキーシャード暗号文の第3のセットを取得するステップであって、前記マスターキーシャード暗号文の第3のセットが、前記第1のマスターキーの第3のマスターキーシャード暗号文と、前記第2のマスターキーの第3のマスターキーシャードと、前記第3のマスターキーの第3のマスターキーシャードとを含む、ステップと、
前記ファーストパーティが、前記3つの異なるサードパーティの各々とは異なり、
マスターエスクロー回復デバイスのセットを取得するステップであって、
各マスターエスクロー回復デバイスが、サードパーティハードウェアセキュリティモジュール(HSM)を備え、
各サードパーティHSMが、各サードパーティHSMに対応する情報を前記ファーストパーティのファーストパーティHSMにおいて登録することによって、マスターエスクロー回復デバイスとして以前に初期化されており、
前記マスターエスクロー回復デバイスのセットが、前記第1のマスターエスクロー回復デバイス、前記第2のマスターエスクロー回復デバイス、および前記第3のマスターエスクロー回復デバイスのうちの少なくとも2つを含む、
ステップと、
前記マスターエスクロー回復デバイスのセットを使用して、回復されたマスターキーシャードの3つのセットを生成するために、マスターキーシャード暗号文の各セットの少なくとも2つのマスターキーシャード暗号文を復号するステップと、
ファーストパーティHSMの3つのグループの各々について、公開秘密キーペアを生成するステップと、
回復されたマスターキーシャードの第1のセットを前記ファーストパーティHSMの第1のグループに対してロードし、回復されたマスターキーシャードの第2のセットを前記ファーストパーティHSMの第2のグループに対してロードし、回復されたマスターキーシャードの第3のセットを前記ファーストパーティHSMの第3のグループに対してロードするステップと、
前記ファーストパーティHSMの対応するグループの対応する秘密キーを使用して、前記回復されたマスターキーシャードの3つのセットの各回復されたマスターキーシャードを復号するステップと、
前記回復されたマスターキーシャードの3つのセットを使用して、前記ファーストパーティの前記信頼できるブロックチェーンの3つのマスターキーを回復するステップと
を含む、
方法。 - 前記マスターキーシャード暗号文の第1のセットが、
前記第1のマスターエスクロー回復デバイスからエクスポートされた第1の公開キーを使用して前記第1のマスターキーの前記第1のマスターキーシャードを暗号化し、
前記第2のマスターエスクロー回復デバイスからエクスポートされた第2の公開キーを使用して前記第2のマスターキーの前記第1のマスターキーシャードを暗号化し、
前記第3のマスターエスクロー回復デバイスからエクスポートされた第3の公開キーを使用して前記第3のマスターキーの第1のマスターキーシャードを暗号化することによって以前に生成されており、
前記マスターキーシャード暗号文の第2のセットが、
前記第1のマスターエスクロー回復デバイスからエクスポートされた前記第1の公開キーを使用して前記第1のマスターキーの前記第2のマスターキーシャードを暗号化し、
前記第2のマスターエスクロー回復デバイスからエクスポートされた前記第2の公開キーを使用して前記第2のマスターキーの前記第2のマスターキーシャードを暗号化し、
前記第3のマスターエスクロー回復デバイスからエクスポートされた前記第3の公開キーを使用して前記第3のマスターキーの前記第2のマスターキーシャードを暗号化することによって以前に生成されており、
前記マスターキーシャード暗号文の第3のセットが、
前記第1のマスターエスクロー回復デバイスからエクスポートされた前記第1の公開キーを使用して前記第1のマスターキーの前記第3のマスターキーシャードを暗号化し、
前記第2のマスターエスクロー回復デバイスからエクスポートされた前記第2の公開キーを使用して前記第2のマスターキーの前記第3のマスターキーシャードを暗号化し、
前記第3のマスターエスクロー回復デバイスからエクスポートされた前記第3の公開キーを使用して前記第3のマスターキーの前記第3のマスターキーシャードを暗号化することによって以前に生成されている、
請求項8に記載の方法。 - 前記回復されたマスターキーシャードの第1のセットが、前記第1のマスターキーに対応し、
前記回復されたマスターキーシャードの第2のセットが、前記第2のマスターキーに対応し、
前記回復されたマスターキーシャードの第3のセットが、前記第3のマスターキーに対応する、
請求項8に記載の方法。 - ファーストパーティHSMの各グループが、2つのファーストパーティHSMを含み、
前記ファーストパーティHSMが、前記ファーストパーティに対応する、
請求項8に記載の方法。 - 回復されたマスターキーシャードの第1のセットを前記ファーストパーティHSMの第1のグループに対してロードし、回復されたマスターキーシャードの第2のセットを前記ファーストパーティHSMの第2のグループに対してロードし、回復されたマスターキーシャードの第3のセットを前記ファーストパーティHSMの第3のグループに対してロードするステップが、
前記回復されたマスターキーシャードの第1のセットについて、
前記ファーストパーティHSMの第1のグループを使用して、前記ファーストパーティHSMの第1のグループの前記公開秘密キーペアの公開キーを使用して、前記回復されたマスターキーシャードの第1のセットの各回復されたマスターキーシャードを暗号化するステップと、
前記回復されたマスターキーシャードの第1のセットの前記暗号化された回復されたマスターキーシャードを前記ファーストパーティHSMの第1のグループにおいて記憶するステップと、
前記回復されたマスターキーシャードの第2のセットについて、
前記ファーストパーティHSMの第2のグループを使用して、前記ファーストパーティHSMの第2のグループの前記公開秘密キーペアの公開キーを使用して、前記回復されたマスターキーシャードの第2のセットの各回復されたマスターキーシャードを暗号化するステップと、
前記マスターキーシャードの第2のセットの前記暗号化された回復されたマスターキーシャードを前記ファーストパーティHSMの第2のグループにおいて記憶するステップと、
回復されたマスターキーシャードの第3のセットについて、
前記ファーストパーティHSMの第3のグループを使用して、前記ファーストパーティHSMの第3のグループの前記公開秘密キーペアの公開キーを使用して、前記回復されたマスターキーシャードの第3のセットの各回復されたマスターキーシャードを暗号化するステップと、
前記マスターキーシャードの第3のセットの前記暗号化された回復されたマスターキーシャードを前記ファーストパーティHSMの第3のグループにおいて記憶するステップと
を含む、
請求項8に記載の方法。 - マスターキーシャード暗号文の少なくとも1つの追加のセットを取得するステップをさらに含み、マスターキーシャード暗号文の各追加のセットが、前記第1のマスターキーの追加のマスターキーシャード暗号文と、前記第2のマスターキーの追加のマスターキーシャードと、前記第3のマスターキーの追加のマスターキーシャードとを含み、マスターキーシャード暗号文の各追加のセットが、追加のマスターキーエスクロー回復デバイスを使用して以前にエスクローされており、
前記マスターエスクロー回復デバイスのセットが、前記第1のマスターエスクロー回復デバイス、前記第2のマスターエスクロー回復デバイス、前記第3のマスターエスクロー回復デバイス、および少なくとも1つの追加のマスターエスクロー回復デバイスのうちの少なくとも3つを含む、
請求項8に記載の方法。 - マスターキーシャードの3つのセットを生成するために、マスターキーシャード暗号文の各セットの少なくとも2つのマスターキーシャード暗号文を復号するステップが、物理的に分離されたコンピューティングデバイスを使用するステップを含む、請求項8に記載の方法。
- 3つの異なるサードパーティを用いてファーストパーティの信頼できるブロックチェーンの3つのマスターキーをエスクローするステップであって、前記エスクローするステップが、前記ファーストパーティと前記3つの異なるサードパーティとによってピアレビューされる、ステップと、
エスクローから前記3つのマスターキーを回復するステップであって、前記回復するステップが、前記ファーストパーティと前記3つの異なるサードパーティのうちの少なくとも2つとに関与し、前記回復するステップが、前記ファーストパーティと前記3つの異なるサードパーティのうちの少なくとも2つとによってピアレビューされる、ステップと
を含む、コンピュータ実装方法。 - 3つの異なるサードパーティを用いてファーストパーティの信頼できるブロックチェーンの3つのマスターキーをエスクローするステップが、
3つのサードパーティハードウェアセキュリティモジュール(HSM)の各々をマスターエスクロー回復デバイスとして初期化するステップであって、
各サードパーティHSMが、前記3つの異なるサードパーティのうちの異なる1つに対応し、
前記異なるサードパーティが、前記単一のファーストパーティとは異なり、
前記異なるサードパーティおよび前記単一のファーストパーティが、すべて、前記マスターエスクロー回復デバイスの初期化をピアレビューする、
ステップと、
前記3つのマスターキーを生成するために、前記信頼できるブロックチェーンに対してブートストラップ動作を実行するステップと、
前記3つのマスターエスクロー回復デバイスのうちの第1のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の第1のセットを生成し、前記3つのマスターエスクロー回復デバイスのうちの第2のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の第2のセットを生成し、前記3つのマスターエスクロー回復デバイスのうちの第3のマスターエスクロー回復デバイスを使用してマスターキーシャード暗号文の第3のセットを生成するステップと、
前記マスターキーシャード暗号文の第1のセット、前記マスターキーシャード暗号文の第2のセット、および前記マスターキーシャード暗号文の第3のセットを、2つのファーストパーティHSMの各々において不透明オブジェクトとして記憶するステップであって、前記2つのファーストパーティHSMが、前記ファーストパーティに対応する、ステップと
を含む、
請求項15に記載の方法。 - エスクローから前記3つのマスターキーを回復するステップが、
前記ファーストパーティの前記信頼できるブロックチェーンの前記3つのマスターキーに対応するマスターキーシャード暗号文の3つのセットを取得するステップであって、
前記マスターキーシャード暗号文の第1のセットが、前記第1のマスターキーの第1のマスターキーシャード暗号文と、前記第2のマスターキーの第1のマスターキーシャード暗号文と、前記第3のマスターキーの第1のマスターキーシャード暗号文とを含み、前記マスターキーシャード暗号文の第1のセットが、第1のマスターエスクロー回復デバイスを使用して以前にエスクローされており、
前記マスターキーシャード暗号文の第2のセットが、前記第1のマスターキーの第2のマスターキーシャード暗号文と、前記第2のマスターキーの第2のマスターキーシャード暗号文と、前記第3のマスターキーの第2のマスターキーシャード暗号文とを含み、前記マスターキーシャード暗号文の第2のセットが、第2のマスターエスクロー回復デバイスを使用して以前にエスクローされており、
前記マスターキーシャード暗号文の第3のセットが、前記第1のマスターキーの第3のマスターキーシャード暗号文と、前記第2のマスターキーの第3のマスターキーシャード暗号文と、前記第3のマスターキーの第3のマスターキーシャード暗号文とを含み、前記マスターキーシャード暗号文の第3のセットが、第3のマスターエスクロー回復デバイスを使用して以前にエスクローされており、
各マスターエスクロー回復デバイスが、前記3つのサードパーティのうちの異なる1つに対応し、
前記ファーストパーティが、前記3つのサードパーティの各々とは異なる、
ステップと、
マスターエスクロー回復デバイスのセットを取得するステップであって、
各マスターエスクロー回復デバイスが、サードパーティハードウェアセキュリティモジュール(HSM)を備え、
各サードパーティHSMが、各サードパーティHSMに対応する情報を前記ファーストパーティのファーストパーティHSMにおいて登録することによって、マスターエスクロー回復デバイスとして以前に初期化されており、
前記マスターエスクロー回復デバイスのセットが、前記第1のマスターエスクロー回復デバイス、前記第2のマスターエスクロー回復デバイス、および前記第3のマスターエスクロー回復デバイスのうちの少なくとも2つを含む、
ステップと、
前記マスターエスクロー回復デバイスのセットを使用して、マスターキーシャードの3つのセットを生成するために、マスターキーシャード暗号文の各セットの少なくとも2つのマスターキーシャード暗号文を復号するステップと、
ファーストパーティHSMの3つのグループの各々について、公開秘密キーペアを生成するステップと、
回復されたマスターキーシャードの第1のセットを前記ファーストパーティHSMの第1のグループに対してロードし、回復されたマスターキーシャードの第2のセットを前記ファーストパーティHSMの第2のグループに対してロードし、回復されたマスターキーシャードの第3のセットを前記ファーストパーティHSMの第3のグループに対してロードするステップと、
前記ファーストパーティHSMの対応するグループの対応する秘密キーを使用して、前記回復されたマスターキーシャードの3つのセットの各マスターキーシャードを復号するステップと、
前記回復されたマスターキーシャードの3つのセットを使用して、前記ファーストパーティの前記信頼できるブロックチェーンの3つのマスターキーを回復するステップと
を含む、
請求項15に記載の方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063055760P | 2020-07-23 | 2020-07-23 | |
US63/055,760 | 2020-07-23 | ||
US17/219,473 US11711213B2 (en) | 2020-07-23 | 2021-03-31 | Master key escrow process |
US17/219,473 | 2021-03-31 | ||
PCT/US2021/042910 WO2022020686A1 (en) | 2020-07-23 | 2021-07-23 | Master key escrow process |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023535040A true JP2023535040A (ja) | 2023-08-15 |
Family
ID=79689529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023504393A Pending JP2023535040A (ja) | 2020-07-23 | 2021-07-23 | マスターキーエスクロープロセス |
Country Status (5)
Country | Link |
---|---|
US (2) | US11711213B2 (ja) |
EP (1) | EP4186202A1 (ja) |
JP (1) | JP2023535040A (ja) |
KR (1) | KR20230042346A (ja) |
WO (1) | WO2022020686A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11449491B2 (en) * | 2019-01-14 | 2022-09-20 | PolySign, Inc. | Preventing a transmission of an incorrect copy of a record of data to a distributed ledger system |
US20230081068A1 (en) * | 2021-09-10 | 2023-03-16 | International Business Machines Corporation | Securely distributing a root key for a hardware security module |
US12034836B1 (en) * | 2022-06-30 | 2024-07-09 | Wells Fargo Bank, N.A. | Systems and methods for hardware security module communication management |
WO2024117428A1 (ko) | 2022-12-02 | 2024-06-06 | 주식회사 엘지에너지솔루션 | 배터리 모듈 |
CN115632778B (zh) * | 2022-12-20 | 2023-04-18 | 四川省数字证书认证管理中心有限公司 | 一种多端加解密互通方法 |
CN117254908B (zh) * | 2023-11-10 | 2024-02-02 | 成方金融科技有限公司 | 一种云端数据存储方法、装置、设备及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8139770B2 (en) * | 2003-12-23 | 2012-03-20 | Wells Fargo Bank, N.A. | Cryptographic key backup and escrow system |
US8892868B1 (en) | 2008-09-30 | 2014-11-18 | Amazon Technologies, Inc. | Hardening tokenization security and key rotation |
US8788842B2 (en) | 2010-04-07 | 2014-07-22 | Apple Inc. | System and method for content protection based on a combination of a user PIN and a device specific identifier |
US20160127903A1 (en) | 2014-11-05 | 2016-05-05 | Qualcomm Incorporated | Methods and systems for authentication interoperability |
CN110800248B (zh) * | 2017-06-14 | 2022-11-22 | 泰雷兹数字安全法国股份有限公司 | 用于第一应用和第二应用之间的互相对称认证的方法 |
-
2021
- 2021-03-31 US US17/219,473 patent/US11711213B2/en active Active
- 2021-07-23 WO PCT/US2021/042910 patent/WO2022020686A1/en active Application Filing
- 2021-07-23 EP EP21846272.9A patent/EP4186202A1/en active Pending
- 2021-07-23 JP JP2023504393A patent/JP2023535040A/ja active Pending
- 2021-07-23 KR KR1020237006366A patent/KR20230042346A/ko unknown
-
2023
- 2023-07-18 US US18/223,422 patent/US20230370263A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230370263A1 (en) | 2023-11-16 |
EP4186202A1 (en) | 2023-05-31 |
KR20230042346A (ko) | 2023-03-28 |
US20220029801A1 (en) | 2022-01-27 |
WO2022020686A1 (en) | 2022-01-27 |
US11711213B2 (en) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108418680B (zh) | 一种基于安全多方计算技术的区块链密钥恢复方法、介质 | |
CN108076057B (zh) | 一种基于区块链的数据保全系统及方法 | |
JP2023535040A (ja) | マスターキーエスクロープロセス | |
CN110417750B (zh) | 基于区块链技术的文件读取和存储的方法、终端设备和存储介质 | |
US20190378142A1 (en) | Biometric token for blockchain | |
CN108768633B (zh) | 实现区块链中信息共享的方法及装置 | |
US8850206B2 (en) | Client-server system with security for untrusted server | |
JP2020528224A (ja) | 信頼できる実行環境におけるスマート契約動作のセキュアな実行 | |
KR100996784B1 (ko) | 공개 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체 | |
KR101067399B1 (ko) | 대칭 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체 | |
US9160535B2 (en) | Truly anonymous cloud key broker | |
JP2013524352A (ja) | 移動中のデータをセキュア化するためのシステムおよび方法 | |
US20220141014A1 (en) | Storing secret data on a blockchain | |
US12014361B2 (en) | Systems and methods for improved hot wallet security | |
JP2023551458A (ja) | Oprfを介したブロックチェーンネットワークにおける鍵再生 | |
CN113326529A (zh) | 一种基于可信计算的去中心化架构统一方法 | |
CN110914826A (zh) | 用于分布式数据映射的系统和方法 | |
WO2023020150A1 (en) | Authorized secure data movement | |
US11811742B2 (en) | Methods, systems, and media for recovering identity information in verifiable claims-based systems | |
Wilusz et al. | Secure protocols for smart contract based insurance services | |
WO2023036812A1 (en) | Anonymous private shared partitions in blockchain networks | |
US20230074475A1 (en) | Systems And Methods For Implementing Privacy Layer In CBDC Networks | |
Suganya et al. | Enhancing security for storage services in cloud computing | |
WO2023145240A1 (ja) | 情報処理装置および情報処理システム | |
US20230327859A1 (en) | System and method for distributed custody access token management |