JP2023531695A - セキュアな秘密回復 - Google Patents
セキュアな秘密回復 Download PDFInfo
- Publication number
- JP2023531695A JP2023531695A JP2022579708A JP2022579708A JP2023531695A JP 2023531695 A JP2023531695 A JP 2023531695A JP 2022579708 A JP2022579708 A JP 2022579708A JP 2022579708 A JP2022579708 A JP 2022579708A JP 2023531695 A JP2023531695 A JP 2023531695A
- Authority
- JP
- Japan
- Prior art keywords
- key
- slice
- encrypted
- fingerprint
- key unit
- 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
- 238000011084 recovery Methods 0.000 title abstract description 9
- 238000003860 storage Methods 0.000 claims description 175
- 238000000034 method Methods 0.000 claims description 96
- 238000012545 processing Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 8
- 230000001010 compromised effect Effects 0.000 claims description 5
- 238000012937 correction Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 39
- 238000010586 diagram Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 9
- 238000013459 approach Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
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/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/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
- 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/0819—Key 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/083—Key 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 central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key 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 central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
-
- 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/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/0819—Key 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/0825—Key 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
-
- 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
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
- Peptides Or Proteins (AREA)
Abstract
秘密が、多数の暗号化済みスライスへとスライス化される。暗号化済みスライスは、グループのメンバ間で分配されることが可能である。暗号化済みスライスは、秘密の回復を可能にするが、復号にはグループ権限鍵が必要である。したがって、多数のスライスが必要であるが、なお秘密を回復するには十分でない。
Description
本発明は一般に、データ処理システムにおけるセキュアな秘密回復に関する。
多種多様なコンピュータシステム全体にわたって、秘密およびアクセス制御が利用されている。秘密は、暗号化鍵などの機密データを含むことがある。秘密は、様々な方法で保護されるが、より知名度の高い方法のうちの2つは、ハッシングおよび暗号化である。これらの両方は、秘密を本質的に判読できない「暗号文」に変換することを含むが、ハッシングは通常一方向(ハッシュ化された秘密は実行可能に回復させることはできないが、別のハッシュ化された秘密との比較は可能)である一方で、暗号化は通常可逆的である(暗号化された秘密は「復号」できるが、ただし通常は特定の「鍵」を使用した場合のみに限られ、暗号化鍵を有するユーザによる秘密の回復を可能にする)。したがって、これらの方法は、異なるユースケースを有する。例えば、パスワードシステムは通常、ハッシングを使用し(ハッシュ化されたパスワードを記憶したウェブサイトは、ユーザが自らの正しいパスワードを入力したかどうかをチェックすることはできるが、ウェブサイトはユーザの「実際の」パスワードを判定することはできない)、その一方で、繰り返し利用されることが必要な場合があるデータは、通常暗号化を利用する(通信、データストレージなど)。
多数の異なる暗号化アルゴリズムが存在しているが、それらの間の全般的な共通点は、1つまたは複数の「鍵」を使用することである。暗号化鍵は、暗号化関数への入力として使用される一意のデータストリングであり、秘密を暗号化するために、この秘密が一意の鍵とともに暗号化関数に入力されて、暗号文から構成された暗号化出力がもたらされる。この暗号文は、本質的にはランダムに見えるが、暗号文と、同じ暗号化鍵(「対称鍵」暗号化システムの場合)または異なる「復号鍵」(「非対称鍵」暗号化の場合)とを、(秘密を暗号化するために利用された暗号化関数に直接関係した)復号関数に入力することによって、復号されることが可能である。どの暗号化関数が使用されたかの知識は、外部ユーザによって経験的に判定可能であることが多く、したがって暗号化鍵の保護は、秘密を保護するために最も重要である。いくつかのシステムにおいては、多くの場合異なる暗号化関数(および異なる暗号化鍵)を利用して、暗号化鍵自体を暗号化することができる。暗号化の一部の形態は、事前決定された多数の鍵のうちのいずれかを使用して秘密を復号することが可能である。これは、異なる鍵によりそれぞれ暗号化された、同じ秘密の複数のコピーを記憶することにより可能にすることができる。
暗号化鍵などの秘密は、それらの悪用を防止するために概してセキュアに記憶される。しかし、これは多くの場合、耐障害性の低下とのトレードオフを伴う。単一のドライブに秘密がセキュアに記憶された場合、そのドライブの障害により、秘密は回復不可能になるおそれがある。秘密がストレージ暗号化鍵(ストレージシステムに記憶されたデータの暗号化を制御する)である場合、鍵を失うと、データを失うことになり得るか、またはデータへのアクセスを失うことになり得る(これは、鍵のない状態では、データ自体を失うことと機能的に同じであってよい)。多数のシステムは、これを軽減するための試みとして、秘密のバックアップを有しているが、単純なバックアップは、それ自体のトレードオフを有している。それらがさらなる攻撃ベクトルとしての役割を果たしてしまうのである。例えば、実際の秘密の代わりに、バックアップ自体が攻撃者によって不正アクセスされるおそれがある。
本発明の一態様による方法は、第1の鍵ユニットから第1の暗号化済みスライスを、第2の鍵ユニットから第2の暗号化済みスライスを受信する段階を含む。方法はまた、グループ権限からグループ権限鍵を受信する段階を備える。方法はまた、第1の暗号化済みスライスおよび第2の暗号化済みスライスを、グループ権限鍵を使用して復号する段階を備える。方法はまた、第1の復号済みスライスおよび第2の復号済みスライスに基づき、秘密を再構築する段階を備える。方法は、有利には、複数の鍵ユニットからの複数のスライスとグループ権限からの鍵との両方を必要として、秘密をセキュアに回復することを可能にする。
本発明の実施形態において、方法は、暗号化済み第1のスライスの第1のフィンガープリント、および前記暗号化済み第2のスライスの第2のフィンガープリントを生成する段階と、前記第1のフィンガープリントおよび前記第2のフィンガープリントを前記グループ権限に発信する段階であって、前記グループ権限鍵を受信する前記段階が、前記第1のフィンガープリントおよび前記第2のフィンガープリントを前記グループ権限が検証したことに応答して行われる、段階とをさらに備える。これは、有利には、(グループ権限に対してスライス自体を露出することなく)グループ権限がフィンガープリントを介してスライスを検証することを必要とすることにより、セキュアな秘密回復プロセスにさらなるセキュリティおよび検証を提供する。
本発明の実施形態において、方法は、前記再構築された秘密を、第1の新スライスおよび第2の新スライスへとスライス化する段階と、前記第1の新スライスおよび前記第2の新スライスを暗号化する段階と、前記暗号化済み第1の新スライスを前記第1の鍵ユニットに送信する段階と、前記暗号化済み第2の新スライスを前記第2の鍵ユニットに送信する段階とをさらに備える。これにより、有利には、再構築された秘密の新スライスを鍵ユニット間で分配できるようになり、さらなるセキュリティが提供される(例えばコンポーネントに障害が生じた場合。この場合、他の状況においては、再構築された秘密が失われるおそれがある)。さらに、分配されたスライスは、再び暗号化されて、技術に対してセキュリティがさらに改善される。
本発明の実施形態において、方法は、秘密を取得する段階と、グループ権限からグループ権限鍵を受信する段階と、グループ権限鍵に基づき、秘密の複数の暗号化済みスライスを生成する段階とを備える。これにより、有利には、セキュアに記憶された秘密を再構築できるシステムを設定することが可能になる。
本発明の別の態様は、コンピュータ可読ストレージ媒体を備えるコンピュータプログラム製品であって、前記コンピュータ可読ストレージ媒体が、それにより具現化されるプログラム命令を有し、前記プログラム命令が、コンピュータに、上で考察した方法および以下で特許請求される方法のいずれかを実行させるように、コンピュータによって実行可能である、コンピュータプログラム製品を提供する。これにより、有利には、複数の鍵ユニットからの複数のスライスとグループ権限からの鍵との両方を必要として、秘密をセキュアに回復できるようになる。
本発明の別の態様は、メモリと中央処理装置(CPU)とを備えたシステムを提供する。CPUは、上で考察した方法および以下で特許請求される方法のいずれかを実行するための命令を実行するように構成されている。これにより、有利には、複数の鍵ユニットからの複数のスライスとグループ権限からの鍵との両方を必要として、秘密をセキュアに回復できるようになる。
上の概要は、本開示のそれぞれ示された実施形態または全ての実装形態を記載することを意図していない。
本願に含まれる図面は、本明細書に組み込まれており、その一部を形成している。それらは、本開示の実施形態を例示しており、記載内容とともに、本開示の原理を説明する役割を果たす。図面は、特定の実施形態を単に例示するものであり、本開示を限定するものではない。特許請求される主題の様々な実施形態の特徴および利点は、以下の発明を実施するための形態を読み進み、図面を参照するとき、明らかになるであろう。図面では、同様の数字は同様の部分を示している。
本発明は様々な修正形態および代替形態を受け入れることができる一方で、その具体例が例として図面に示されており、詳細に記載される。しかし、その意図は、記載された特定の実施形態に本発明を限定することではないことが理解されるべきである。それとは対照的に、本発明は、本発明の範囲に含まれる全ての修正形態、等価物、および代替形態を網羅することを意図している。
本開示の態様は、秘密鍵をセキュアに回復するためのシステムおよび方法に関する。より詳細な態様は、秘密鍵を含む鍵ユニットに障害が生じていることを判定し、他の鍵ユニットに記憶されたコンポーネントを使用して秘密鍵をリビルドし、リビルドされた秘密鍵を置換鍵ユニットが復号できるようにするためのシステムに関する。
本開示と一致するシステムおよび方法は、有利には耐故障性を改善しながら、その一方でセキュリティコストを最小限に抑える。本質的に、秘密は暗号化状態で記憶されてよく、秘密のバックアップをそのまま利用するのではなく、秘密が複数の「スライス」(部分または破片)へと「スライス化され」(分割または細分化され)、そのそれぞれが、別個の「鍵ユニット」によって暗号化および記憶される。暗号化済みスライスは、様々な鍵ユニットを監督するグループ権限によって提供された鍵がなければ、(実行可能に)復号することができない。このように、秘密を記憶している鍵ユニットに障害が生じた場合に、セキュリティリスクが最小の状態で秘密を回復することができる。これによりいくつかの利点が提供される。例えば、ストレージ暗号化鍵を記憶している鍵ユニットに障害が生じた場合、ストレージシステムをバックアップから完全にリビルドすること(より大規模なストレージシステムについては数週間またはそれより長期間を要することがあるプロセス)は必要なくてよく、その代わりに、本開示と一致したシステムは、「失った」ストレージ暗号化鍵をリビルドし、ストレージシステムおよびそのデータの有用な制御を取り戻すことができる。さらに、この全ては、ストレージ鍵を他の鍵ユニットにまたはグループ権限にすら晒すリスクを負わずに行うことができ、したがって再構築された際にストレージ鍵を(即座に)変更する必要がなくてよい。
本開示全体にわたって、「ストレージ鍵」、「グループ権限鍵」、および「ユーザ鍵」などの「鍵」について言及する。これらの呼称は、単に例示を目的として使用されており、当業者には理解されるように、鍵は他の目的に使用されてもよい。特に、「ストレージ鍵」は、本開示によりセキュアに回復可能にされる「セキュアに記憶された秘密」の単なる一例として使用される。他の可能な例は、通信鍵、機密データなどを含む。同様に、「鍵ユニット」という用語は、説明的な例として使用されているが、同じ概念がより大まかに単に「ユニット」と呼ばれてよい。
本開示全体にわたって、「スライス」について言及する。特に、秘密(ストレージ鍵など)のスライスは、暗号化され、グループの複数のユニット間で分配されてよい。ユニットに「記憶される」と記載されるスライスは、暗号化状態で、そのユニットのスライスストレージ内に記憶される。スライスは、最初のスライス化を実行したユニットによって暗号化される。スライスは、グループ権限によって提供された特別な暗号化鍵を利用して暗号化される。
本開示のほとんどの例は、秘密の単一の暗号化済みスライスを記憶するそれぞれのユニットについて言及する一方で、いくつかの実施形態において、ユニットは複数のスライスを記憶してよい。例えば、4つのユニットからなるグループにおいて、第1のユニットの秘密Sが、スライスs1、s2、およびs3へとスライス化されてよい。いくつかの実施形態において、第2のユニットはスライスs1を記憶してよく、第3のユニットはスライスs2を記憶してよく、第4のユニットはs3を記憶してよく、それにより第1のユニットに障害が生じた場合、置換ユニットは、依然として全てのスライスを受信することができ、ひいては(以下に記載する他の条件が満たされたと仮定すると)秘密Sを回復することができる。しかし、いくつかの実施形態においては、第2のユニットがスライスs1およびs2を記憶してよく、第3のユニットがs2およびs3を記憶してよく、第4のユニットがs3およびs1を記憶してよい。このように、それぞれのスライスが少なくとも2つのユニットに記憶され、したがって例えば第1のユニットと第2のユニットの両方に障害が生じた場合に、全てのスライスを依然として回復することができ、ひいては秘密Sを依然として再構築することができる。これにより冗長性が提供され、さらに有利には、いくつかのシステムにおいて耐故障性を改善できる。さらにこれにより、スライスを比較して、単一のユニットのスライスが、他のユニットに記憶されたこれらのスライスの「コピー」と異なるかどうかを判定できることから、ユニットが悪意のある行為者により不正アクセスされたかどうか、または他の場合には破損しているかどうかの判定ができるようになる。
どのユニットに障害が生じたかに関わらず(または場合により、実施形態に応じて複数のユニットに障害が生じた場合でも)秘密を再構築できるようにするため、秘密のスライスは、ユニット間で分配されてよい。
いくつかの実施形態において、記憶されたスライスの検証を可能にするため、ユニットは、パリティデータも記憶してよい。
いくつかの実施形態において、記憶されたスライスの検証を可能にするため、ユニットは、パリティデータも記憶してよい。
秘密は最初、システムのオペレータ(例えば、鍵ユニットをインストールした技術者)、ハードウェア(例えば、ランダムに生成されてよい)などから取得されてよい。いくつかの実施形態において、秘密は、グループ権限からの情報から導出されてよい。秘密を再構築する必要があるとき、新ユニットがグループに追加されてよい(多くの場合、本明細書において「置換鍵ユニット」と呼ばれる)。新ユニットを追加するとき、グループ権限は(例えば証明書の交換/チェックにより)その識別情報を検証してよい。この新ユニットは、その識別情報をグループ権限に証明すると、残りのユニットから秘密のスライスを受信できる。スライスを記憶しているユニット以外のユニットによってそのスライスが暗号化されたので(かつグループ権限によって制御される鍵を利用しているので)、スライスを記憶しているユニットは、それらを復号することができないことがある。
いくつかの実施形態において、鍵ユニットは「グループ」に編成されてよく、それぞれのグループは、n個の鍵ユニットのセット(ここでn>=1)を含む。例えば、グループ権限は、システムの動作前にn個の鍵ユニットのグループを作成してよい。それぞれのグループは、例えば図1のGA110などの異なるグループ権限によって管理されてよいが、いくつかの実施形態においては、グループ権限が1つより多くのグループを管理してよい。しかし、説明を容易にするために、本明細書では、鍵ユニットの単一のグループのみを詳細に記載する。システムのコンポーネントの識別情報を認証しやすくするために、GAがPKI認証機関であることが有益であってよい。GAは、どの鍵ユニットのセットが特定のグループに属するかを決定してよく、グループメンバシップの証明書を作成することによりこれを容易にしてよい。次いで鍵ユニットは、グループに加入してよい。セキュアな秘密回復の要件に従って鍵ユニットが適切に挙動することを証明されることが、鍵ユニットにとって有益である。これは、シリアル番号、証明書、署名付き符号などを使用して製造者によって行われてよい。これは、悪意のある行為者が(「ならず者」の鍵ユニットを介して)グループに加入することを防止するのに役立つことがある。例えば、いくつかの実施形態において、GAは、鍵ユニットを識別する(場合によりブロックチェーンとして)マニフェストを備えることが可能であり、鍵ユニットがマニフェストに一致することをチェックすることができる。いくつかの実施形態において、1つより多いグループ権限が、グループの制御を共有してよい。
本開示全体にわたって、ユニット、ユーザ、グループ権限など、例えば鍵ユニットにグループ権限鍵を発信するグループ権限の間の、もしくはそれら同士間の、またはその両方の通信について言及される。メッセージのセキュリティを改善するために、当業者によく知られた方法で、そのような通信にトランスポート暗号化が使用されてよい。
図1は、本開示のいくつかの実施形態と一致した、例示的な回復可能なセキュアな秘密システム100の高レベルのブロック図を示す。システム100は、グループ権限(GA)110と、鍵ユニットU1 121、鍵ユニットU2 122、および鍵ユニットU3 123(集合的に「鍵ユニット121~123」)を含む鍵ユニットと、ストレージユニット107、ストレージユニット108、およびストレージユニット109(集合的に「ストレージユニット107~109」)を含むストレージユニットとを含む。GA110は、全体的なシステムの構成を判定する責任を負う。GA110は、鍵ユニットにおいて情報を保護するために使用されるGA鍵101、102、および103のセットを含む(以下でさらに詳細に記載)。GA110は、フィンガープリントストレージ114も含む。
ストレージユニット107~109は、ユーザ104~106およびGA110には秘密にされている鍵を使用して暗号化データを記憶する。ストレージ暗号化鍵141、142、および143(集合的に「ストレージ暗号化鍵141~143」または「ストレージ鍵141~143」)は、鍵ユニット121~123に記憶される。特定のストレージ暗号化鍵は、複数の鍵ユニットのうちの1つのみに記憶されてよい。さらに、鍵ユニット121~123は、鍵ユニット121~123からストレージ暗号化鍵141~143が抽出不可能になるように構築されてよい(例えば、所与のストレージ暗号化鍵は、それを記憶している鍵ユニット以外のいかなるエンティティによっても読み出すことができない)。ストレージ暗号化鍵141~143は、鍵アクセス制御ユニット131~133内に暗号化状態で記憶される。
ストレージ鍵141~143は、異なるユーザ鍵で暗号化されてよく、それにより単一のユーザ鍵(図1に示さず)は、1つのストレージ鍵のみを復号可能であってよい。例えば、ストレージ鍵141は第1のユーザ鍵によって暗号化され、鍵アクセス制御ユニット131内に記憶されてよく、ストレージ鍵142は第2のユーザ鍵によって暗号化され、鍵アクセス制御ユニット132内に記憶されてよく、ストレージ鍵143は第3のユーザ鍵によって暗号化され、鍵アクセスユニット制御133内に記憶されてよいなどである。
いくつかの実施形態において、システム100のそれぞれのユーザには、特定のストレージ鍵を復号するように構成された1つまたは複数の「ユーザ鍵」が提供され、これについては図5および図6を参照しながら以下でさらに詳細に記載する。
示してあるように、鍵ユニット121~123はそれぞれ、鍵アクセス制御ユニット131~133のうちの1つを記憶している。しかし、図1に示していないいくつかの実施形態においては、いくつかの鍵ユニットが、ストレージ鍵をそれぞれ記憶した複数の鍵アクセス制御ユニットを含んでよい。特定のストレージ鍵へのより粒度の高いアクセスを特定のユーザに提供するために、これは特に有利であってよい。これについては、図5および図6を参照しながら以下でさらに詳細に記載する。
鍵ユニット121~123は、他の鍵ユニットからのストレージ鍵のスライスを鍵ユニットが記憶できるようにする鍵スライスストレージ161~163も含んでいる。例えば、鍵スライスストレージ161は、ストレージ鍵142のスライス172およびストレージ鍵143のスライス183を、鍵ユニット121が記憶できるようにする。同様に、鍵ストレージ162は、ストレージ鍵143のスライス173およびストレージ鍵141のスライス181を、鍵ユニットU2が記憶できるようにし、その一方で、鍵ストレージ163は、ストレージ鍵142のスライス182およびストレージ鍵141のスライス171を、鍵ユニット123が記憶できるようにする。ストレージ鍵(例えばストレージ鍵141)を有する鍵ユニット(例えば鍵ユニット121)を作成するプロセス中に、鍵ユニットは、スライス化/再構築関数によりストレージ鍵を2つまたはそれ以上のスライス(例えばスライス171および181)へとスライス化してよい。次いで鍵ユニットは、1つまたは複数のグループ権限鍵(例えばGA鍵101~103)を利用して、このスライスを暗号化してよい。いくつかの実施形態において、それぞれのスライスは、異なるGA鍵で暗号化される。スライスが暗号化されると、鍵ユニットは、暗号化済みスライスに対してフィンガープリントを生成してよい。次いで鍵ユニットは、フィンガープリントをフィンガープリントストレージ114に記憶されるようにグループ権限に発信してよい。
いくつかの実施形態において、鍵ユニットが、鍵スライスをストレージユニットに記憶してよい。例えば、鍵ユニット121は、鍵スライス172および183を、ストレージ107に記憶してよい。鍵スライスを記憶するとき、鍵ユニットは、鍵ユニットが保持しているストレージ鍵を使用してそれらを暗号化してよい(例えば、鍵ユニット121は、ストレージ鍵141を使用して鍵スライス172および183を暗号化してよく、それらをストレージ107に記憶してよい)。
ストレージ鍵は、再構築関数が鍵をm個のスライスへとスライス化し、ここでm<n(およびn=グループ内のユニットの個数)であり、スライスを暗号化し、暗号化済みスライスを異なる鍵ユニットに発信することにより、(例えば障害の生じた鍵ユニットから)回復可能にされる。スライスは、GA110によって提供される1つまたは複数のGA鍵(例えばGA鍵101~103)を使用して暗号化されてよい。例えば、いくつかの実施形態において、それぞれの鍵ユニットは、そのストレージ鍵をm個のスライスへとスライス化し、それぞれのスライスを暗号化し、1つのスライスをそれぞれの他の鍵ユニットに発信する。したがって、それぞれの鍵ユニットは、m個の暗号化済みスライスを受信してよい(それぞれのスライスは、異なる鍵のスライスである)。いくつかの実施形態において、鍵ユニットは、1つより多くのストレージ鍵を含んでよく、ひいてはそれぞれのストレージ鍵に対してm個のスライスを発信してよい(したがって、いくつかの鍵ユニットはm個より多くのスライスを受信してよい)。
いくつかの実施形態において、それぞれの鍵ユニットに発信されるGA鍵は異なっている。GA鍵の使用は、m個のスライスを所有することが必要であるが、秘密鍵を回復するには十分でないことを意味している。このことは、「鍵ユニット障害」の状況は別として、悪意のある行為者が鍵ユニットに不正アクセスし、自然に鍵を回復するリスクを軽減することにより、先行技術(定足数のみを必要とするシャミールの秘密共有など)に対してシステム100のセキュリティを有利に改善する。鍵ユニットが鍵のm個のスライスを取得できた場合でも、GAからの正しいGA鍵がなければ鍵ユニットはスライスを復号できない(ひいては鍵を回復できない)。したがって、行為者が1つのGA鍵(不正アクセスされた鍵ユニットが、それ自体のスライスを暗号化するために以前に使用したGA鍵など)にアクセスできる場合でも、残りのGA鍵がなければ、依然として鍵を再構築することができない。
いくつかの実施形態において、GA110は、それぞれのスライスに異なるGA鍵を提供する。例えば、m=2の場合、GA110は、鍵101を第1のスライス171に提供し、鍵102を第2のスライス181に提供してよい。スライスの個数mは、グループ内の鍵ユニットnの個数、およびスライスを保護するために使用される消去符号または誤り訂正符号の特性に依存してよい。いくつかの実施形態において、スライスの完全性を実証するために、パリティが含まれてよい。
例えば、鍵グループはn=5の鍵ユニットを含んでよく、ストレージ鍵wは、欠損した鍵ユニットがさらにあれば回復可能である(例えば、5つの鍵ユニットのうちの1つに障害が生じている可能性がある)。したがって、n-1個の要素とともに符号を作り出すために、符号はm=3のスライスと、これらのスライスから計算された1つのパリティとを有してよい。スライスは、残りの鍵ユニットのセットには利用不可能な、GA110からの鍵で暗号化されているので、権限を与えられたユニット(障害の生じた鍵ユニットを置換するために追加される置換鍵ユニットなど)以外による、m個のスライスの所有から、秘密は保護される。さらに、GA110からの鍵が、秘密鍵を回復するために必要である。
例として、鍵ユニット121の新秘密鍵141の符号化の際に、グループ権限GA110は、GA鍵101~103を鍵ユニット121に配信してよい。鍵ユニット121の再構築関数116は、ストレージ鍵141をスライス化し、それぞれのスライスをGA鍵101~103のうちの異なる1つで暗号化し、次いでそのような暗号化済みスライスそれぞれについてフィンガープリントを計算してよい。これらのフィンガープリントは、GA110に戻され、フィンガープリントストレージ114に保存されてよい。次いで暗号化済みスライスは、他の鍵ユニット122および123に発信されてよい。例えば、鍵ユニット122は、暗号化済みスライス171を受信してよく、その一方で、鍵ユニット123は、暗号化済みスライス181を受信してよい。また鍵ユニットは、消去符号化/誤り訂正符号化およびスライス分配を実行するために再構築関数を利用してよい。
回復動作中(例えば、鍵ユニット121に障害が生じ、それによりストレージ鍵141が失われた場合)、GA110は、スライスを復号するのに必要なGA鍵を発信する前に、ストレージ鍵141をリビルドするのに必要な鍵スライスを置換鍵ユニット(図1には示さず)が全て有していると証明することを、必要としてよい。これは置換鍵ユニットが、鍵ユニット122および123からそれぞれ暗号化済み鍵スライス171および181を受信することにより、実行されてよい。次いで置換鍵ユニットは、(GA110がフィンガープリントストレージ114と比較するフィンガープリントにより)スライスを検証してよく、次いでGA110は、スライス171および181を復号するのに必要なGA鍵を置換鍵ユニットに発信してよい。鍵を受信すると、置換鍵ユニットは、スライスを復号し、秘密鍵141を再構築してよい。
いくつかの実施形態においては、鍵をスライス化して次いでスライスを暗号化するのではなく、スライス化される前に鍵が暗号化(およびフィンガープリント付け)されてよい。例えば、いくつかの実施形態において、鍵ユニット121はGA鍵101を受信し、GA鍵101でストレージ鍵141を暗号化し、暗号化済み鍵のフィンガープリントを(例えばハッシュ関数により)生成し、フィンガープリントをGA110に発信してよい。GA110は、暗号化済み鍵のフィンガープリントを記憶してよく、次いで鍵ユニット121は、暗号化済み鍵をスライス171および181へとスライス化して、それらを鍵ユニット123および122にそれぞれ分配してよい。鍵を再構築するとき、置換鍵ユニットは暗号化済みスライスを受信し、それらを再度集めて暗号化済み鍵にし、暗号化済み鍵の検証フィンガープリントを生成し、フィンガープリントをGA110に発信してよい。GA110は、フィンガープリントを検証し、適切なGA鍵101を返送して、置換鍵ユニットが鍵を復号および回復できるようにしてよい。これにより、システム100の複雑さが低減され、ストレージオーバーヘッドが低減されてよい(なぜならGA110は、それぞれの暗号化済みスライスのフィンガープリントではなく、暗号化済み鍵全体の1つのフィンガープリントのみを記憶すればよいからである)。
図2は、本開示のいくつかの実施形態と一致した、「スライス化してから暗号化」手法を使用する高レベルのセキュアな秘密鍵再構築方法200である。方法200は、セキュアな秘密再構築を可能にするように構成された、例えば図1のシステム100などのシステムによって実行されてよい。方法200は、鍵ユニットに障害が生じたこと、監査が開始されることなどに応答して、実行されてよい。方法200は、動作202において、鍵の暗号化済みスライスを受信する段階を含む。動作202は、例えば置換鍵ユニットによって実行されてよい。動作202は、秘密鍵の暗号化済みスライスをシステム内の他の鍵ユニットから受信する段階を含んでよい。いくつかの実施形態において、動作202は、システム内の鍵ユニットから1つまたは複数のパリティ鍵を受信する段階も含んでよい。いくつかの実施形態において、動作202は、秘密鍵のそれぞれのスライスのうちの1つを受信する段階を含んでよい。いくつかの実施形態において、動作202は、秘密鍵のスライスのうちの1つを除く全てのスライスを、パリティ鍵とともに受信して、欠損したスライスの再構築を可能にする段階を含んでよい。
方法200は、動作204において、スライスを検証する段階をさらに含む。動作204は、例えば暗号化済みスライスのフィンガープリントを生成し、このフィンガープリントと記憶されたフィンガープリントとを比較する段階を含んでよい。例えば、鍵ユニットは、セキュアハッシュアルゴリズム(SHA)-256などのハッシュ関数を利用してもよいし、またはチェックサムを生成してもよい。鍵ユニットは、フィンガープリントを生成し、フィンガープリントをグループ権限に発信してよい。いくつかの実施形態において、グループ権限は、受信したフィンガープリントと記憶されたフィンガープリントとを比較して、暗号化済みスライスが有効かどうかを判定してよい。本開示は、フィンガープリント実証の使用に焦点を当てている一方で、「ゼロ知識」証明を含め、秘密の所有を証明するための他の技術も使用されてよい。
方法200は、動作206においてスライスを復号する段階をさらに含む。動作206は、例えば1つまたは複数のグループ権限鍵を利用して、スライスを復号する段階を含んでよい。暗号化済みスライスのフィンガープリントが有効であることをグループ権限が(例えば動作204の後に)確認すると、グループ権限によってグループ権限鍵が鍵ユニットに発信されてよい。グループ権限鍵が受信されると、鍵ユニットはこのグループ権限鍵を使用して、スライスを復号する。いくつかの実施形態において、それぞれのスライスに異なるグループ権限鍵が使用されてよい。いくつかの実施形態において、単一のグループ権限鍵が、複数の(またはさらには全ての)スライスに使用されてよい。
方法200は、動作208において、鍵を再構築する段階をさらに含む。動作208は、置換鍵ユニットによって実行されてよい。置換鍵ユニットは、ストレージ鍵の復号済みスライスを再構築関数に入力し、その代わりにストレージ鍵を受信してよい。暗号化されていないストレージ鍵は、ストレージ鍵を再構築した鍵ユニットの外部のエンティティには出力/返送されないか、またはそれらのエンティティからはアクセスできないことに留意されたい。
動作208が完了すると、ストレージ鍵が再構築されており、ストレージユニットをリビルドする必要なしに、ストレージ動作において使用される準備が完了していてよい。これにより有利には、鍵ユニットの障害により普通なら生じていたダウンタイムを短縮することができる。動作210および212は、その後の回復(例えば、置換ユニット自体にその後障害が生じた場合)に備えて、システムが準備することを可能にする。とりわけ、ストレージ鍵のこの再構築により、ストレージユニットに記憶された情報が、ストレージ鍵で暗号化されている間に保護されることが可能になる。したがって、再構築されたデータはストレージ鍵で暗号化され、したがってセキュアに保たれる。他の手段によりデータをリビルドするには、暗号化されていないデータにアクセスできる保護(例えばRAID)を必要とし、これは概してそれほどセキュアではない。
方法200は、動作210において、新たに再構築されたストレージ鍵の新スライスを分配する段階をさらに含む。動作210は、置換鍵ユニットによって実行されてよい。動作210は、例えばストレージ鍵を複数のスライスへとスライス化する段階を含んでよい。スライスの個数(m)は、グループ内の鍵ユニットの個数(n)に基づいてよい。例えばいくつかの実施形態において、m=n-1である。しかし、いくつかの実施形態において、鍵はより少ないスライスへとスライス化されてよく、この場合スライスは、1つより多くの鍵ユニットに発信される(有利には、冗長性が向上する)。グループ権限は、新しいグループ権限鍵のセットを生成し、この新GA鍵を置換鍵ユニットに発信してよい。次いで鍵ユニットは、新GA鍵を利用して、新スライスを暗号化してよい。いくつかの実施形態において、それぞれのスライスは、異なるGA鍵を使用して暗号化されてよい。いくつかの実施形態において、GA鍵は、1つより多くのスライスに利用されてよい。全てのスライスが暗号化されると、置換鍵ユニットは、暗号化済みスライスをグループの他の鍵ユニットに送信してよい。新暗号化済みスライスは、他の鍵ユニットのスライスストレージに記憶されて、動作202において受信したスライスと置換されてよい。
方法200は、動作212において、新スライスに基づきフィンガープリントを更新する段階をさらに含む。動作212は、例えば、鍵ユニットが、新しく暗号化されたスライスのフィンガープリントを生成する段階を含んでよい。動作212は、フィンガープリントをグループ権限に発信する段階をさらに含む。グループ権限は、新フィンガープリントをフィンガープリントストレージユニットに記憶して、動作204においてチェックされた、以前に記憶したフィンガープリントを置換してよい。
いくつかの実施形態において、動作204~208の順序は異なってよい。例えば、図2に示してある順序は、「スライス化してから暗号化」方式で利用されてよい。しかし、いくつかの実施形態において、鍵はスライス化される前に暗号化されてよい(「暗号化してからスライス化」の実施形態と呼ぶ)。そのような実施形態では、検証フィンガープリントは、それぞれ個々のスライスに基づくのではなく、暗号化済み鍵全体に基づき生成されてよい。例えば、いくつかの実施形態において、動作202において暗号化済みスライスを受信した後、スライスを集めて(依然として暗号化された)鍵にしてよく、暗号化済み鍵のフィンガープリントが生成および検証されてよく、グループ権限鍵を使用して鍵が復号されてよい。そのような実施形態において、動作210は、回復された鍵を新GA鍵で暗号化し、次いで新しく暗号化された鍵をスライス化し、スライスを分配する段階を含んでよい。高レベルの例示的な、暗号化してからスライス化の実施形態は、図7を参照して以下に記載する。図2は、セキュアな秘密鍵再構築動作のシステムレベルのフローチャートを示す。図3および図4は、それぞれグループ権限および置換鍵ユニットによって実行される動作のより詳細なフローチャートを示す。
図3は、本開示のいくつかの実施形態と一致した、グループ権限の観点から見た例示的なセキュアな秘密鍵再構築方法300である。方法300は、例えば図1のGA110などのグループ権限によって実行されてよい。方法300は、動作302において、障害の生じた鍵ユニットを検出する段階を含む。動作302は、例えば、鍵ユニットがもはや応答可能でないことを判定する段階、鍵ユニットに障害が生じているというインジケータを受信する段階などを含んでよい。鍵ユニットは互いに通信し、心拍検出のような技術を使用して、他のユニットが応答可能な状態に保たれているかどうかを確認することができる。一時的な停電が生じる場合が多く、これらは真の障害と区別されるべきである。わずかな一部のユニット(おそらくGAおよび任意のユーザを含む)が、いくらかの持続時間にわたって鍵ユニットに到達できないと判定することを、コンセンサスは意味する。いくつかの実施形態においては、問題が鍵ユニットにあるか、どこか他の箇所にあるのかを実証するよう、オペレータに通知されてよい。いくつかの実施形態において、グループ権限は、残りのユニットが合意すれば、「障害の生じた」ユニットのみを考慮してよい。
方法300は、動作304において、鍵再構築を開始する段階をさらに含む。動作304は、例えば、置換鍵ユニットを識別し、置換鍵ユニットが障害の生じた鍵ユニットを再構築する予定であることを示す信号を、鍵ユニットグループに送信する段階を含んでよい。いくつかの実施形態において、置換鍵ユニットは、例えば技術者によって手動でインストールされてよい。いくつかの実施形態において、鍵ユニットグループは、「休止状態」または「バックアップ」の置換鍵ユニットを含んでよく、この場合、動作304は、バックアップ置換鍵ユニットを立ち上げるか、または他の方法でアクティブ化する段階を含んでよい。動作304の開始により、置換鍵ユニットは、暗号化済み鍵スライスを他のアクティブな鍵ユニットに要求し、それを受信することができ、これについては図4の方法400を参照しながら以下でさらに詳細に考察する。
方法300は、動作306において、暗号化済み鍵スライスのフィンガープリントを受信する段階をさらに含む。これらのフィンガープリントは、例えば置換鍵ユニットから受信されてよい。いくつかの実施形態において、動作306は、再構築すべき鍵の全ての暗号化済みスライスのフィンガープリントを受信する段階を含む。いくつかの実施形態において、スライスは、復号の前に組み合わされてよく、動作306は、暗号化済み鍵の単一のフィンガープリントを受信する段階を含む。
方法300は、動作308において、受信したフィンガープリントが、グループ権限の記憶されたフィンガープリントと一致するかどうかを判定する段階をさらに含む。例えば、グループ権限は、検証フィンガープリントのセットをフィンガープリントストレージ(例えば図1のフィンガープリントストレージ114など)に維持していてよい。動作308において、フィンガープリントが一致するかどうかを判定することにより、全てのスライスを置換鍵ユニットが取得しているかどうか、ならびに何らかの期限切れのまたはその他の場合には破損したスライスを置換鍵ユニットが有しているかどうかを、グループ権限が判定できるようになってよい。これは、鍵再構築を求める詐欺的な要求を検出するのに有用であってよい。
方法300を実行するグループ権限は、複数のフィンガープリントを記憶してよい。例えば、いくつかの実施形態において、グループ権限のフィンガープリントストレージは、グループ内の全てのストレージ鍵の全てのスライスのフィンガープリントを含んでよい。当業者には理解されるように、フィンガープリントストレージは、どのフィンガープリントがどの鍵のどのスライスに対応するかをマッピングするためのデータ構造または他の手段をさらに含んでよい。
動作306において受信したフィンガープリントが、記憶されたフィンガープリントと一致しない場合(308の「いいえ」)、方法300を実行しているグループ権限は、動作310においてエラーを返してよい。いくつかの実施形態において、動作310は、動作310は、アラート信号を生成する段階、またはスライスフィンガープリントの不一致に起因して再構築の試みが失敗したことを他の方法で示す段階をさらに含んでよい。
動作306において受信したフィンガープリントがGAの記憶されたフィンガープリントに一致する場合(308の「はい」)、方法300は、動作312において、グループ権限鍵を置換鍵ユニットに送信する段階をさらに含む。動作312は、暗号化済みスライスを復号するために必要な(グループ権限によって記憶された)GA鍵を識別するか他の方法で選択する段階を含んでよい。例えば、いくつかの実施形態において、それぞれのスライスは、異なるGA鍵でのみ暗号化されていてよい。適切な鍵を送信することにより、置換鍵ユニットはスライスを復号でき、したがって、障害の生じた鍵ユニットのストレージ鍵を再構築することができる。とりわけ、ストレージ鍵は、いかなる他のエンティティ(例えばグループ権限、ユーザ、別の鍵ユニットなど)もトレージ鍵にアクセスを有することなく、置換鍵保持者によって再構築される。さらに、鍵は、他の鍵ユニットからのスライスとグループ権限からの鍵との両方がなければ再構築できず、有利にはセキュリティが増大する。
方法300は、動作314において、新GA鍵を生成する段階をさらに含む。動作314は、ストレージ鍵の新たに生成されたスライスの暗号化を可能にして、新しい一意の暗号化済みスライスを作り出してよい(このスライスを次いで置換鍵ユニットが他の鍵ユニットに分配してよい)。前の鍵と同様に、グループ権限は、それぞれのスライスに対し新GA鍵を生成してよい。方法300は、動作316において、新GA鍵を置換鍵ユニットに送信する段階をさらに含む。
置換鍵ユニットは、新GA鍵を受信すると、新スライスを暗号化することができ、ひいてはこの新暗号化済みスライスの新フィンガープリントを生成することができる。方法300は、動作318において、新暗号化済み鍵スライスのフィンガープリントを受信および記憶する段階をさらに含んでよい。動作318は、置換鍵ユニットからフィンガープリントを受信する段階と、フィンガープリントをグループ権限のフィンガープリントストレージに記憶する段階とを含んでよい。いくつかの実施形態において、グループ権限は、置換鍵ユニットによって再構築されたストレージ鍵に関連付けられていた既存のフィンガープリントを上書きしてよい。
図4は、本開示のいくつかの実施形態と一致した、置換鍵ユニットの観点から見た例示的なセキュアな秘密鍵再構築方法400である。方法400は、図4に示してあるように、「スライス化してから暗号化」体制の例であってよいが、「暗号化してからスライス化」の実施形態を可能にするようにも修正されてよい。方法400は、鍵ユニットのグループに含まれるかまたはそれに追加された置換鍵ユニットによって実行されてよい。置換鍵ユニットは、図1の鍵ユニット121~123のうちの1つに類似していてよく、既存の鍵ユニットに障害が生じた際に追加されるか、または他の方法でアクティブ化されてよい。方法400は、動作402において、鍵を再構築する命令をグループ権限(例えば図1のGA110など)から受信する段階を含む。GAは、(図5を参照して考察するように)グループの鍵ユニットに障害が生じていることを検出したことに応答して、これらの命令を発信してよい。
方法400は、動作404において、セキュアな秘密鍵の暗号化済みスライスを、他の鍵ユニットから受信する段階をさらに含む。動作404は、例えば(障害の生じた鍵ユニットの)失った鍵に対応するスライスを、グループ内の残りの鍵ユニットのそれぞれに要求する段階を含んでよい。例えば、図1のユニット122に障害が生じた場合(ストレージ鍵142へのアクセスを失った場合)、(図1に示していない)置換鍵ユニットは、鍵142のスライスをユニット121および123に要求してよい。次いで置換鍵ユニットは、暗号化済み鍵スライス172を鍵ユニット121から受信し、暗号化済み鍵スライス182を鍵ユニット123から受信してよい。いくつかの実施形態において、動作404は、1つまたは複数のパリティ鍵を受信する段階をさらに含んでよく、これにより置換鍵ユニットは、欠損した暗号化済み鍵スライスを生成可能になってよい。
方法400は、動作406において、暗号化済み鍵スライスのフィンガープリントをグループ権限に送信する段階をさらに含む。動作406は、例えば動作404において受信した鍵スライスのフィンガープリントを生成する段階を含んでよい。フィンガープリントは、(図1の再構築関数116、118、120に類似した)置換鍵ユニットの再構築関数を使用して生成されてよい。生成されると、フィンガープリントは、GA110などのグループ権限に送信されてよい。これにより、グループ権限は、置換鍵ユニットが適切なスライスを有していることを検証するために、フィンガープリントを、記憶されたフィンガープリントと比較できるようになる。
方法400は、動作408において、1つまたは複数のグループ権限鍵をグループ権限から受信する段階をさらに含んでよい。いくつかの実施形態において、置換鍵ユニットは、それぞれのスライスのためのGA鍵を受信してよい。いくつかの実施形態において、GA鍵は、1つより多くのスライスのために受信されてよい。動作406において発信されたフィンガープリントが、GAのフィンガープリントストアのフィンガープリントと一致しない場合、GAは、GA鍵の送信を拒否してよく、再構築は失敗してよい。実施形態に応じて、ドライブは、従来の方法を使用してなおリビルドされてよい。しかし、これには、暗号化されていないデータに対して保護/バックアップシステム(例えばRAID)が計算されている必要があってよく、概してそれほどセキュアではないとみなされる。
方法400は、動作410において、グループ権限鍵でスライスを復号し、ストレージ鍵を再構築する段階をさらに含んでよい。動作410は、置換鍵ユニットの再構築関数によって実行されてよい。グループ権限は、どのGA鍵をどの暗号化済みスライスで使用すべきかを指定してよい。スライスが復号されると、それらは再度集められて元のストレージ鍵にされてよい。ストレージ鍵が再構築されると、ストレージ鍵に関連付けられたストレージユニットへのアクセスが行われてよく、正常動作が再開されてよい。しかし動作412~420により、システムはさらに、新しいスライスおよびフィンガープリントを設定することで置換鍵ユニットの潜在的な将来の障害から回復できるようになる。
方法400は、動作412においてGAから置換GA鍵を受信する段階をさらに含む。ストレージ鍵が再構築されると、GAは、ストレージ鍵のスライスを新しい方法で暗号化するのに使用される新暗号化鍵を生成してよい。次いでこれらの新GA鍵は、置換鍵ユニットに発信される。
方法400は、動作414において、再構築された鍵の新スライスを生成する段階をさらに含む。動作414は、置換鍵ユニットの再構築関数によって実行されてよい。
置換GA鍵が受信され(動作412)、新スライスが生成されると(動作414)、方法400は、動作416において、置換GA鍵を使用して新スライスを暗号化する段階をさらに含む。新GA鍵により、置換鍵ユニットは、以前のスライス(すなわち動作404で受信したスライス)とは異なる態様でスライスを暗号化できるようになってよい。また動作416は、置換鍵ユニットの再構築関数によって実行されてもよい。
方法400は、動作418において、新(暗号化済み)スライスのフィンガープリントをグループ権限に送信する段階をさらに含む。動作418は、例えば、置換鍵ユニットの再構築関数を使用して、暗号化済みスライスのフィンガープリントを生成し、そのフィンガープリントをグループ権限に送信する段階を含んでよい。GAは、以前に記憶したフィンガープリントを、新しく生成したフィンガープリントで置換してよい。
方法400は、動作420において、新暗号化済みスライスを他の鍵ユニットに送信する段階をさらに含む。スライスよりも多くの他の鍵ユニットが存在する場合、動作420は、スライスを発信する鍵ユニットを選択する段階をさらに含んでよい。いくつかの実施形態において、動作420は、(動作404において)置換鍵ユニットが受信した以前のスライスの送信元である鍵ユニットに、スライスを送信する段階を含んでよい。これにより、有利には、鍵スライスの分配を比較的変化の少ない状態に保つことが可能になってよい。
とりわけ、障害の生じた鍵ユニットは、他の鍵ユニットに記憶された他の鍵のスライスを含んでいた可能性がある。したがって、障害の生じた鍵が置換鍵ユニットによって回復されると、(システムが「スライス化してから暗号化」手法を実装しているか「暗号化してからスライス化」手法を実装しているかに応じていずれかの順序で)他の鍵ユニットの鍵が再スライス化および再暗号化されてよく、暗号化済みスライスが再分配されてよい。いくつかの実施形態において、グループの全鍵ユニットにわたる記憶された全スライスが、このように置換されてよい。いくつかの実施形態においては、障害の生じた鍵ユニットによって記憶されていたスライスのみが再生成されて、置換鍵ユニットに発信されてよい。これを達成するために、グループの鍵ユニットは、同じスライス化配置(「対称配置」)を利用してよい。したがって、第2のユニットに障害が生じたことを第1のユニットが通知された場合、第1のユニットは、その鍵スライスのうちのどれが第2のユニットに記憶されていたかを判定可能であってよい。対称でない配置では、グループ権限が、代わりにこの情報を追跡してよい。
いくつかの実施形態において、新暗号化済みスライスを送信する前に、鍵ユニットは、それぞれのスライスの周期的冗長検査(CRC)を計算し、それをスライス自体と一緒に送信してよい。スライスを受信すると、スライスが破損したかどうかを検出するために、CRCが再計算およびチェックされてよい。
いくつかの実施形態において、鍵ユニットが新スライスを生成する(動作414)のではなく(または生成することに加えて)、鍵ユニットは、タイムスタンプ、シーケンス番号、またはノンスなど、何らかの他の情報を「旧」スライス(すなわち、動作410において復号されたスライス)に追加してよい。暗号化およびフィンガープリント付けされると(動作416および418)、追加情報により、フィンガープリントを異なるものになる。これは、経時的に旧スライスを「収集」しようと試み、最終的に鍵の再構築を可能にする攻撃者に対するセキュリティを提供することができる(なぜなら、付加情報のおかげで、旧スライスはなお異なるフィンガープリントを有することになるからである)。これにより、さらなるセキュリティを提供することができ、システムは、回復時に新しいスライスを生成するのではなく、旧スライスをセキュアに再使用することができる。
いくつかの実施形態において、方法400のいくつかの動作は、異なる順序で実行されてよい。例えば、鍵をスライス化し、次いでスライスを暗号化する(動作414~416など)のではなく、システムは、鍵を暗号化し、次いで暗号化済み鍵をスライス化してよい。
図5は、本開示のいくつかの実施形態と一致した、高レベルのセキュアな秘密鍵動作方法500を示す図である。方法500は、図1のシステム100などのシステムの全体的な動作について記載する。方法500は、ユーザおよびストレージデバイスもしくはシステムと通信する鍵ユニットによって実行されてよい。例えば、方法500は、(ユーザおよびストレージシステム107と通信する)鍵ユニット121によって実行されてよい。
方法500は、動作502において、要求およびユーザ鍵を、ユーザから受信する段階を含む。方法500は、ストレージシステムからのデータの読み出しについて記載している一方で、当業者には理解されるように、方法500は、ストレージへのデータの書き込みを可能にするように修正されてよい。動作502は、例えば、ストレージシステムに記憶されたデータに関する読み出し要求を受信する段階を含んでよい。鍵ユニットは、鍵ユニット内に(暗号化状態で)記憶されたストレージ鍵を復号するためのユーザ鍵も受信する。動作502は、(多くの場合セキュアな通信リンクを確立することの一部として)認証手順を実行する段階も含んでよい。
方法500は、動作504において、鍵ユニットによる鍵の使用にユーザ鍵が(ストレージ鍵の復号などにより)アクセスできるかどうかを判定する段階をさらに含む。ユーザ鍵がストレージ鍵を復号しない場合、ユーザは、ストレージ鍵にアクセスできないことがあり(504の「いいえ」)、動作506において結果的に要求が却下されることになる。動作506は、エラーメッセージを要求元のユーザに返す段階を含んでよい。エラーメッセージは、ユーザがストレージシステムまたはストレージ鍵にアクセスできないことを示してよい。
ユーザ鍵がストレージ鍵を復号できる場合(504の「はい」)、方法500は、動作508において、要求された(暗号化状態の)データをストレージから検索する段階をさらに含む。次いでストレージ鍵は、動作510においてユーザ鍵によって復号され、復号済みストレージ鍵は、動作512において検索されたデータを復号するために使用される。方法500は、動作514において、要求に応答して、要求されたデータをユーザに送信する段階をさらに含む。
いくつかの実施形態において、試験データチャンクを生成し、それを(修正された方法500により)ストレージに記憶させ、ストレージ鍵により(またはグループ権限により記憶された実証鍵を使用してストレージ鍵を暗号化することによって生成された試験鍵により、もしくは試験対象のストレージ鍵を保持する鍵ユニットにより)それを暗号化させることにより、グループ権限は、ストレージ鍵を実証してよい。データのフィンガープリントは、グループ権限のフィンガープリントストレージに記憶されることが可能である。後の時点で、グループ権限は、鍵ユニットにデータを復号させ、新フィンガープリントを生成させ、新フィンガープリントをグループ権限に送信させることができる。フィンガープリントが一致しない場合、ストレージ鍵は変更されている可能性がある。これは、再構築が成功したかどうかを実証するのに特に有利であってよい。
図6は、本開示のいくつかの実施形態と一致した、複数の鍵アクセス制御ユニット631、632、633、634、および635、ならびにストレージ鍵641および642を含め、さらに詳細な例示的鍵ユニット621を含むシステム600を示すブロック図である。鍵ユニット621は、鍵ユニットのより大きいグループ(図6には示さず)の一部であってよい。図6は、(ユーザ鍵611を有する)ユーザ601、(ユーザ鍵612を有する)ユーザ602、および(ユーザ鍵613を有する)ユーザ603も示している。本質的に、複数のユーザが同じストレージ鍵にアクセスできるようにするため、鍵ユニット621は、異なる鍵を使用してそれぞれ暗号化された、ストレージ鍵の複数のコピーを含んでよい。このように、(自らのユーザ鍵をそれぞれ有する)複数のユーザは、鍵がどのように記憶されているかに関わらず、セキュリティを損なうことなく同じ鍵にアクセス可能にされてよい。
ユーザがストレージ608にアクセスすることを望む場合、ユーザはユーザ鍵を鍵ユニット621にサブミットする。次いでユーザ鍵は、鍵アクセス制御ユニットのうちの1つのユニットの暗号化/復号関数(南京錠651、652、653として表してある)にサブミットされる。例えば、鍵アクセス制御ユニット631の暗号化/復号関数651は、ユーザ鍵611で復号されてよく、その一方で、鍵アクセス制御ユニット632の暗号化/復号関数652は、ユーザ鍵612で復号されてよい。とりわけ、鍵アクセス制御ユニット631と鍵アクセス制御ユニット632の両方は、同じストレージ鍵641の暗号化済みコピーを記憶している。(ユーザ鍵611は南京錠651しか復号できないので)例えばユーザ鍵611が、鍵アクセス制御ユニット632にアクセスすることができないように、コピーは、単に異なる態様で暗号化されている。
さらに、鍵アクセス制御ユニット633は、異なるストレージ鍵642を含んでよいが、それをユーザ鍵611が復号できないように暗号化(南京錠651)されている。同様に、鍵アクセス制御ユニット634は、暗号化652によるストレージ鍵642の第2の暗号化済みコピーを含んでよく、鍵アクセス制御ユニット635は、ユーザ鍵613により復号可能な、暗号化653によるストレージ鍵642の第3の暗号化済みコピーを含んでよい。これは、例えば2人のユーザが、ストレージ鍵641にアクセス可能であってよく、その一方で、3人のユーザがストレージ鍵642にアクセス可能であってよいことを意味してよい。
鍵ユニット621は、異なる鍵の複数のスライス661、662、663、および664(集合的に「スライス661~664」)を含めるための、図6に示すスライスストレージ660も含む。スライス661~664は、同じグループ内の他の鍵ユニットからセキュアに記憶された異なる鍵のスライスに対応してよい。スライス661~664は、暗号化状態で記憶され、グループ権限からの要求時に、置換鍵ユニットに発信されてよい。
鍵ユニット621は、1つまたは複数のストレージデバイスを含むストレージシステム608に接続されている。ストレージシステム608に発信されストレージシステムから受信されるデータは、ストレージ鍵641または642のうちの1つにより暗号化/復号されてよい。
鍵ユニット621が最初に初期化されると、ストレージ鍵641および642は、再構築関数によりスライス化される。次いでスライスは、グループ権限(図6には示さず)から受信した1つまたは複数のグループ権限鍵を使用して暗号化され、セキュアなストレージのためにグループ(図6には示さず)内の他の鍵ユニットの間で分配されてよい。
図7は、本開示のいくつかの実施形態と一致した、「暗号化してからスライス化」手法を使用する高レベルのセキュアな秘密鍵再構築方法700を示す図である。方法700は、例えば図1のシステム100など、セキュアな秘密再構築を可能にするように構成されたシステムによって実行されてよい。方法700は、鍵ユニットに障害が生じたこと、監査が開始されることなどに応答して実行されてよい。方法700は、動作702において、鍵の暗号化済みスライスを受信する段階を含む。動作702は、例えば置換鍵ユニットによって実行されてよい。動作702は、秘密鍵の暗号化済みスライスを、鍵グループ内またはシステム内の他の鍵ユニットから受信する段階を含んでよい。いくつかの実施形態において、動作702は、システム内の鍵ユニットから1つまたは複数のパリティ鍵を受信する段階も含んでよい。いくつかの実施形態において、動作702は、秘密鍵のそれぞれのスライスのうちの1つを受信する段階を含んでよい。いくつかの実施形態において、動作702は、秘密鍵のスライスのうちの1つを除く全てのスライスを、パリティ鍵とともに受信して、欠損したスライスの再構築を可能にする段階を含んでよい。
方法700は、動作704において、暗号化済みスライスを集めて暗号化済み鍵にする段階をさらに含む。動作704は、スライスを集めて暗号化済み鍵にするようにそれらを配置する適切な順番を判定するために、例えばそれぞれのスライスの1つまたは複数のタグを読み出す段階を含んでよい。とりわけ、鍵ユニットは暗号化済み鍵を集めることが可能であってよいが、その一方で、適切なグループ権限鍵がなければ、鍵を復号(ひいては回復)することはできない。グループ権限は、鍵ユニットが集めた暗号化済み鍵が正しい鍵であることを証明するよう鍵ユニットに要求してよい。
方法700は、動作706において、暗号化済み鍵のフィンガープリントを検証する段階をさらに含む。動作706は、例えば暗号化済み鍵のフィンガープリントを生成し、このフィンガープリントと記憶されたフィンガープリントとを比較する段階を含んでよい。例えば、鍵ユニットは、セキュアハッシュアルゴリズム(SHA)-256などのハッシュ関数を利用してもよいし、またはチェックサムを生成してもよい。鍵ユニットは、フィンガープリントを生成し、フィンガープリントをグループ権限に発信してよい。いくつかの実施形態において、グループ権限は、受信したフィンガープリントと記憶されたフィンガープリントとを比較して、暗号化済み鍵が有効かどうかを判定してよい(例えば、再度集められた暗号化済み鍵が、再構築中の、以前にスライス化された暗号化済み鍵と同一かどうかを確認してよい)。とりわけ、暗号化済み鍵自体は、グループ権限に発信されなくてよい。その代わりに暗号化済み鍵のハッシュを受信するだけでよい。このように、グループ権限ですら鍵を取得することができない。
方法700は、動作708において鍵を復号する段階をさらに含む。動作708は、例えばグループ権限鍵を利用して、集められた暗号化済み鍵を復号する段階を含んでよい。暗号化済み鍵のフィンガープリントが有効であることをグループ権限が(例えば動作706の後に)確認すると、グループ権限によってグループ権限鍵が鍵ユニットに発信されてよい。グループ権限鍵が受信されると、鍵ユニットはこのグループ権限鍵を使用して、鍵を復号する。とりわけ、グループ権限は、複数の異なるグループ権限鍵を含んでよい(またはそれを生成/取得することが可能であってよい)。鍵ユニットは、適切な鍵でのみ鍵を復号することができる。例えばフィンガープリント比較の結果(記憶されたフィンガープリントが、グループ鍵のアレイについてのインデックスとして利用されてよい)、特定の要求(鍵ユニットは、特定のストレージ鍵の再構築を試みていることを明示的に申告してもよいし、または特定のグループ権限鍵を要求してもよい)などに基づき、グループ権限は、どの鍵を鍵ユニットに発信すべきかを判定してよい。
いくつかの実施形態において、本開示全体にわたって考察された暗号化済みスライスは、スライスの第2のセットを作成するために、誤り訂正符号(消去符号など)へと符号化されてよい。利用される符号は、複数のパリティを有する符号を含め、任意の種類の誤り訂正符号(例えば、3+P、トルネード符号、リードソロモン符号など)であってよい。
いくつかの実施形態において、「暗号化してからスライス化」手法においてでも、それぞれの暗号化済みスライスについてフィンガープリントが生成され、グループ権限に発信されてよい。これにより、鍵ユニットがスライスを変更したかどうか(これは悪意のある攻撃者または破損の証拠になり得る)を、グループ権限が検出可能になってよい。誤り訂正符号も、そのような変更を(最大でその符号の累乗(a power of the code)まで)検出および訂正することができる。
本開示はクラウドコンピューティングについての詳細な記載を含むが、本明細書に述べる教示の実装形態はクラウドコンピューティング環境に限定されないことが理解される。むしろ、本発明の実施形態は、現在知られているか、または今後開発される任意の他の種類のコンピューティング環境と併せて実装されることが可能である。
クラウドコンピューティングは、構成可能なコンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの簡便なオンデマンドのネットワークアクセスを可能にするためのサービス配信モデルであり、これらのコンピューティングリソースは、管理労力またはサービスのプロバイダとの対話を最小限に抑えながら迅速にプロビジョニングおよびリリースされることが可能である。このクラウドモデルは、少なくとも5つの特性と、少なくとも3つのサービスモデルと、少なくとも4つの展開モデルとを含んでよい。
特性は以下の通りである。
オンデマンドセルフサービス:クラウド消費者は、サービスプロバイダとの人的対話を必要とすることなく必要に応じて自動的に、サーバ時間およびネットワークストレージなどのコンピューティング機能を一方的にプロビジョニングすることができる。
幅広いネットワークアクセス:ネットワーク経由で機能を利用可能であり、異種のシンクライアントプラットフォームまたはシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準メカニズムを通じて機能にアクセスする。
リソースのプール化:プロバイダのコンピューティングリソースをプール化して、マルチテナントモデルを使用する複数の消費者にサービス提供する。複数の異なる物理リソースおよび仮想リソースが需要に従って動的に割り当ておよび再割り当てされる。消費者は概して提供されたリソースの正確なロケーションに対して制御または知識を有していないが、より高いレベルの抽象化(例えば、国、州、またはデータセンタ)においてロケーションを指定することが可能である場合があるという点で、ロケーションの独立性がある。
迅速な順応性:機能を迅速かつ順応的に、場合によっては自動的にプロビジョニングして素早くスケールアウトし、迅速にリリースして素早くスケールインすることができる。消費者にとっては、多くの場合、プロビジョニングに利用可能な機能が無制限にあるように見え、いつでもどんな量でも購入可能である。
測定サービス:クラウドシステムは、サービスの種類(例えばストレージ、処理、帯域幅、およびアクティブなユーザアカウント)に適したある程度の抽象化レベルで計測機能を活用することにより、リソース使用を自動的に制御および最適化する。リソース使用が、監視、制御、および報告されて、利用されるサービスのプロバイダと消費者の両方に透明性を提供することができる。
サービスモデルは以下の通りである。
ソフトウェア・アズ・ア・サービス(SaaS):消費者に提供される機能は、クラウドインフラストラクチャ上で実行されるプロバイダのアプリケーションを使用することである。このアプリケーションは、ウェブブラウザ(例えば、ウェブベースの電子メール)などのシンクライアントインタフェースを通じて、様々なクライアントデバイスからアクセス可能である。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージ、または個々のアプリケーション機能さえも含む基礎をなすクラウドインフラストラクチャを管理することも、制御することもない。ただし、限定的なユーザ固有のアプリケーション構成設定は例外となる場合がある。
プラットフォームアズアサービス(PaaS):消費者に提供される機能は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、消費者が作成または取得したアプリケーションを、クラウドインフラストラクチャ上に展開することである。消費者は、ネットワーク、サーバ、オペレーティングシステム、またはストレージを含め、基礎をなすクラウドインフラストラクチャの管理も制御も行わないが、展開されたアプリケーションと、場合によってはアプリケーションホスティング環境の構成とを制御する。
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される機能は、処理、ストレージ、ネットワーク、および他の基本的なコンピューティングリソースをプロビジョニングすることであり、消費者は、オペレーティングシステムおよびアプリケーションを含むことが可能な任意のソフトウェアを展開および実行することができる。消費者は、基礎をなすクラウドインフラストラクチャの管理も制御も行わないが、オペレーティングシステム、ストレージ、展開されたアプリケーションを制御するとともに、場合によっては選択されたネットワーク形成コンポーネント(例えば、ホストファイアウォール)を限定的に制御する。
展開モデルは以下の通りである。
プライベートクラウド:クラウドインフラストラクチャが、1つの組織のためだけに運用される。それは、組織またはサードパーティによって管理されてよく、オンプレミスまたはオフプレミスに存在してよい。
コミュニティクラウド:クラウドインフラストラクチャが、いくつかの組織により共有されており、共通の関心事(例えばミッション、セキュリティ要件、ポリシー、および法令遵守に関わる考慮事項)を有する特定のコミュニティをサポートする。それは、組織またはサードパーティによって管理されてよく、オンプレミスまたはオフプレミスに存在してよい。
パブリッククラウド:クラウドインフラストラクチャが、一般大衆または大規模な業界団体に対して利用可能にされており、クラウドサービスを販売する組織により所有されている。
ハイブリッドクラウド:クラウドインフラストラクチャは、独自のエンティティのままであるが、データおよびアプリケーションの移植性(例えば、クラウド間の負荷分散のためのクラウドバースト)を可能にする標準技術または独自技術によって互いに結び付けられた2つまたはそれより多くのクラウド(プライベート、コミュニティ、またはパブリック)の合成である。
クラウドコンピューティング環境は、ステートレス性、低結合性、モジュール性、および意味相互運用性に焦点を当てたサービス指向型である。クラウドコンピューティングの中核は、相互接続されたノードからなるネットワークを含むインフラストラクチャである。
ここで、図8を参照すると、例示的なクラウドコンピューティング環境800が示してある。示してあるように、クラウドコンピューティング環境800は、クラウド消費者により使用されるローカルコンピューティングデバイス、例えば、パーソナルデジタルアシスタント(PDA)、またはセルラー電話840A、デスクトップコンピュータ840B、ラップトップコンピュータ840C、もしくは自動車用コンピュータシステム840N、またはそれらの組み合わせなどが、それにより通信できる1つまたは複数のクラウドコンピューティングノード810を含む。ノード810は、互いに通信してよい。それらは、上に記載のプライベートクラウド、コミュニティクラウド、パブリッククラウド、もしくはハイブリッドクラウド、またはこれらの組み合わせなどの1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化されてよい(図示せず)。これにより、クラウドコンピューティング環境800は、ローカルコンピューティングデバイス上にクラウド消費者がリソースを維持する必要のないサービスとして、インフラストラクチャ、プラットフォーム、もしくはソフトウェア、またはそれらの組み合わせを提供することが可能になる。図8に示されたコンピューティングデバイス840Aから840Nの種類は例示のみを意図しており、コンピューティングノード810およびクラウドコンピューティング環境800は、任意の種類のネットワークもしくはネットワークアドレス指定可能な接続またはその両方を介して(例えば、ウェブブラウザを使用して)、任意の種類のコンピュータ化デバイスと通信できることを理解されたい。
ここで、図9を参照すると、クラウドコンピューティング環境800(図8)によって提供された機能抽象化層のセットが示してある。図9に示してあるコンポーネント、層、および機能は、例示のみを意図したものであり、本発明の実施形態はこれらに限定されないことが事前に理解されるべきである。示してあるように、以下の層および対応する機能が提供される。
ハードウェアおよびソフトウェア層960は、ハードウェアコンポーネントおよびソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例は、メインフレーム961、RISC(縮小命令セットコンピュータ)アーキテクチャベースのサーバ962、サーバ963、ブレードサーバ964、ストレージデバイス965、ならびにネットワークおよびネットワーク形成コンポーネント966を含む。いくつかの実施形態において、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバソフトウェア967およびデータベースソフトウェア968を含む。
仮想化層970は抽象化層を提供し、この抽象化層から、仮想エンティティの以下の例が提供されてよい:仮想サーバ971、仮想ストレージ972、仮想プライベートネットワークを含む仮想ネットワーク973、仮想アプリケーションおよびオペレーティングシステム974、ならびに仮想クライアント975。
一例において、管理層980は、以下に記載の機能を提供してよい。リソースプロビジョニング981は、クラウドコンピューティング環境内でタスクを実行するために利用されるコンピューティングリソースおよび他のリソースの動的調達を提供する。計測および価格設定982は、クラウドコンピューティング環境内でリソースが利用される際のコスト追跡と、これらのリソースの消費に対する請求書作成または請求書送付とを提供する。一例において、これらのリソースは、アプリケーションソフトウェアライセンスを含んでよい。セキュリティは、クラウド消費者およびタスクの識別情報実証、ならびにデータおよび他のリソースの保護を提供する。ユーザポータル983は、消費者およびシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理984は、必要なサービスレベルが満たされるように、クラウドコンピューティングリソースの割り当ておよび管理を提供する。サービスレベル合意(SLA)の計画および履行985は、SLAに従って、将来の要件が予想されるクラウドコンピューティングリソースに関する事前準備およびその調達を提供する。
ワークロード層990は、クラウドコンピューティング環境を利用できる機能の例を提供する。この層から提供されてよいワークロードおよび機能の例は、マッピングおよびナビゲーション991、ソフトウェア開発およびライフサイクル管理992、仮想教室教育配信993、データ解析処理994、トランザクション処理995、およびセキュアな秘密回復996を含む。
ここで図10を参照すると、例えば方法200、300、400、500、もしくは700、またはそれらの組み合わせを含む本開示の様々な態様を実行するように構成されていてよい、例示的なコンピュータシステム1000の高レベルのブロック図が示してある。例示的なコンピュータシステム1000は、本開示の実施形態による、(例えば、コンピュータの1つまたは複数のプロセッサ回路またはコンピュータプロセッサを使用する)本明細書に記載の方法もしくはモジュール、および任意の関連する機能もしくは動作のうちの1つまたは複数を実装する際に使用されてよい。いくつかの実施形態において、コンピュータシステム1000の主要コンポーネントは、1つまたは複数のCPU1002、メモリサブシステム1008、端末インタフェース1016、ストレージインタフェース1018、I/O(入力/出力)デバイスインタフェース1020、およびネットワークインタフェース1022を含んでよく、これら全ては、メモリバス1006、I/Oバス1014、およびI/Oバスインタフェースユニット1012を介したコンポーネント間通信のために、直接的または間接的に通信可能に結合されてよい。
コンピュータシステム1000は、1つまたは複数の汎用プログラマブル中央処理装置(CPU)1002を含んでよく、その一部または全部は、本明細書においてCPU1002と総称する1つまたは複数のコア1004A、1004B、1004C、および1004Dを含んでよい。いくつかの実施形態において、コンピュータシステム1000は、比較的大規模なシステムに典型的な複数のプロセッサを含んでよい。しかし、他の実施形態において、コンピュータシステム1000は、代替的に単一のCPUシステムであってよい。それぞれのCPU1002は、CPUコア1004上のメモリサブシステム1008に記憶された命令を実行してよく、1つまたは複数のレベルのオンボードキャッシュを含んでよい。
いくつかの実施形態において、メモリサブシステム1008は、データおよびプログラムを記憶するためのランダムアクセス半導体メモリ、ストレージデバイス、またはストレージ媒体(揮発性または不揮発性のいずれか)を含んでよい。いくつかの実施形態において、メモリサブシステム1008は、コンピュータシステム1000の仮想メモリ全体を表してよく、コンピュータシステム1000に結合されているか、またはネットワークを介して接続されている他のコンピュータシステムの仮想メモリも含んでよい。メモリサブシステム1008は、概念的には単一のモノリシックエンティティであってよいが、いくつかの実施形態において、メモリサブシステム1008は、キャッシュおよび他のメモリデバイスの階層など、より複雑な配置であってよい。例えば、メモリは複数レベルのキャッシュに存在してよく、これらのキャッシュは機能によってさらに分割されてよく、それにより、あるキャッシュは命令を保持し、その一方で別のキャッシュは1つまたは複数のプロセッサによって使用される非命令データを保持する。様々ないわゆる不均一メモリアクセス(NUMA)コンピュータアーキテクチャのいずれかにおいて知られているように、メモリは異なるCPUまたはCPUのセットにさらに分散され、関連付けられてよい。いくつかの実施形態において、メインメモリまたはメモリサブシステム804は、CPU1002によって使用されるメモリの制御およびフローのための要素を含んでよい。これは、メモリコントローラ1010を含んでよい。
メモリバス1006は、CPU1002、メモリサブシステム1008、およびI/Oバスインタフェース1012の間の直接通信パスを提供する単一のバス構造として図10に示されているが、メモリバス1006は、いくつかの実施形態において、階層構成、スター構成、またはウェブ構成のポイントツーポイントリンク、複数の階層バス、並列および冗長パス、または任意の他の適切な種類の構成など、様々な形態のいずれかに配置されることが可能な複数の異なるバスまたは通信パスを含んでよい。さらに、I/Oバスインタフェース1012およびI/Oバス1014は、単一のそれぞれのユニットとして示されている一方で、コンピュータシステム1000は、いくつかの実施形態において、複数のI/Oバスインタフェースユニット1012、複数のI/Oバス1014、またはその両方を含んでよい。さらに、様々なI/Oデバイスに向かう様々な通信パスからI/Oバス1014を分離する複数のI/Oインタフェースユニットが示してある一方で、他の実施形態においては、I/Oデバイスの一部または全部が、1つまたは複数のシステムI/Oバスに直接接続されてよい。
いくつかの実施形態において、コンピュータシステム1000は、マルチユーザメインフレームコンピュータシステム、シングルユーザシステム、または直接的なユーザインタフェースをほとんどまたは全く有していないが、他のコンピュータシステム(クライアント)からの要求を受信するサーバコンピュータまたは同様のデバイスであってよい。さらに、いくつかの実施形態において、コンピュータシステム1000は、デスクトップコンピュータ、ポータブルコンピュータ、ラップトップまたはノートブックコンピュータ、タブレットコンピュータ、ポケットコンピュータ、電話、スマートフォン、モバイルデバイス、または任意の他の適切な種類の電子デバイスとして実装されてよい。
図10は、例示的なコンピュータシステム1000の代表的な主要コンポーネントを示すことを意図していることが付記される。しかし、いくつかの実施形態において、個々のコンポーネントは、図10に表すよりも多いまたは少ない複雑性を有していてよく、図10に示すもの以外のまたはそれに加えてコンポーネントが存在してよく、そのようなコンポーネントの数、種類、および構成は、変化してよい。
本発明は、任意の可能な集積の技術的詳細レベルにおけるシステム、方法、もしくはコンピュータプログラム製品、またはそれらの組み合わせであってよい。コンピュータプログラム製品は、本発明の態様をプロセッサに実施させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体を含んでよい。
コンピュータ可読ストレージ媒体は、命令実行デバイスによる使用のための命令を保持および記憶することができる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば電子ストレージデバイス、磁気ストレージデバイス、光学ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、またはこれらの任意の好適な組み合わせであってよいが、これらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピディスク、パンチカードまたは命令が記録されている溝内の隆起構造などの機械的に符号化されたデバイス、およびこれらの任意の好適な組み合わせを含む。コンピュータ可読ストレージ媒体は、本明細書において使用されるとき、電波または他の自由に伝播する電磁波、導波路または他の伝送媒体を介して伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、またはワイヤを介して送信される電気信号など、それ自体が一時的な信号であると解釈されるべきではない。
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティングデバイス/処理デバイスにダウンロードされてもよいし、またはネットワーク、例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、もしくは無線ネットワーク、またはそれらの組み合わせを介して、外部コンピュータまたは外部ストレージデバイスにダウンロードされてもよい。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、もしくはエッジサーバ、またはそれらの組み合わせを備えてよい。それぞれのコンピューティングデバイス/処理デバイスのネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、そのコンピュータ可読プログラム命令を、それぞれのコンピューティングデバイス/処理デバイス内のコンピュータ可読ストレージ媒体に記憶するために転送する。
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用の構成データ、またはSmalltalk(登録商標)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは同様のプログラミング言語などの手続き型プログラミング言語を含む1つもしくは複数のプログラミング言語の任意の組み合わせで書かれたソースコードもしくはオブジェクトコードのいずれかであってよい。コンピュータ可読プログラム命令は、スタンドアロンのソフトウェアパッケージとして完全にユーザのコンピュータ上で実行されてもよいし、部分的にユーザのコンピュータ上で実行されてもよいし、部分的にユーザのコンピュータ上でかつ部分的にリモートコンピュータ上で実行されてもよいし、または完全にリモートコンピュータもしくはサーバ上で実行されてもよい。後者の状況では、リモートコンピュータは、ローカルエリアネットワーク(LAN)もしくはワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介して、ユーザのコンピュータに接続されてもよいし、または(例えばインターネットサービスプロバイダを使用してインターネットを介して)外部コンピュータへの接続が行われてもよい。いくつかの実施形態において、例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行してよい。
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図もしくはブロック図またはその両方を参照しながら、本明細書に記載されている。フローチャート図もしくはブロック図またはその両方のそれぞれのブロック、およびフローチャート図もしくはブロック図またはその両方のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装可能であることが理解されよう。
これらのコンピュータ可読プログラム命令は、コンピュータのプロセッサまたは他のプログラマブルデータ処理装置に提供されて機械を作り出してよく、それによりコンピュータのプロセッサまたは他のプログラマブルデータ処理装置によって実行される命令は、フローチャートもしくはブロック図またはその両方のブロックに指定された機能/動作を実装するための手段を作成する。また、これらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブルデータ処理装置、もしくは他のデバイス、またはそれらの組み合わせを特定の態様で機能するように導くことができるコンピュータ可読ストレージ媒体に記憶されてもよく、それにより、内部に命令が記憶されたコンピュータ可読ストレージ媒体は、フローチャートもしくはブロック図またはその両方のブロックに指定された機能/動作の態様を実装する命令を含む製造物品を備える。
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスにロードされて、このコンピュータ、他のプログラマブル装置、または他のデバイス上で、一連の動作段階を実行させて、コンピュータ実装プロセスを作り出してよく、それにより、このコンピュータ、他のプログラマブル装置、または他のデバイス上で実行される命令は、フローチャートもしくはブロック図またはその両方のブロックに指定された機能/動作を実装する。
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示している。これに関して、フローチャートまたはブロック図のそれぞれのブロックは、指定された論理機能を実装するための1つまたは複数の実行可能命令を含む命令のモジュール、セグメント、または一部分を表してよい。いくつかの代替的な実装形態において、ブロックに付記された機能は、図に付記された順序通りではない順序で行われてよい。例えば、連続して示してある2つのブロックは、実際には1つの段階として実現されてよく、同時に実行されても、実質的に同時に実行されても、一部もしくは全部が時間的に重複する態様で実行されてもよいし、またはブロックは、含まれる機能に応じて場合により逆の順序で実行されてもよい。また、ブロック図もしくはフローチャート図またはその両方のそれぞれのブロック、およびブロック図もしくはフローチャート図またはその両方のブロックの組み合わせは、明示された機能もしくは動作を実行する専用ハードウェアベースのシステムによって実装されてもよいし、または専用ハードウェアとコンピュータ命令との組み合わせを実施してもよいことも付記される。
本開示の様々な実施形態の記載内容は、例示の目的で提示されてきたが、網羅的であることも開示する実施形態への限定も意図していない。記載された実施形態の範囲から逸脱することなく、多くの修正形態および変形形態が、当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、実際の用途、または市場で見られる技術に優る技術的改善を説明するため、または本明細書に開示する実施形態を他の当業者が理解できるようにするために選択されたものである。
Claims (25)
- 第1の鍵ユニットにより秘密を再構築する方法であって、
第2の鍵ユニットから第1の暗号化済みスライスを、第3の鍵ユニットから第2の暗号化済みスライスを受信する段階と、
グループ権限から1つまたは複数のグループ権限鍵を受信する段階と、
前記第1の暗号化済みスライスおよび前記第2の暗号化済みスライスを、前記1つまたは複数のグループ権限鍵を使用して復号する段階と、
第1の復号済みスライスおよび第2の復号済みスライスに基づき、前記秘密を再構築する段階と
を備える方法。 - 前記第1の暗号化済みスライスの第1のフィンガープリント、および前記第2の暗号化済みスライスの第2のフィンガープリントを生成する段階と、
前記第1のフィンガープリントおよび前記第2のフィンガープリントを前記グループ権限に発信する段階であって、前記1つまたは複数のグループ権限鍵を受信する前記段階が、前記第1のフィンガープリントおよび前記第2のフィンガープリントを前記グループ権限が検証したことに応答して行われる、段階と
をさらに備える、請求項1に記載の方法。 - 前記再構築された秘密を、第1の新スライスおよび第2の新スライスへとスライス化する段階と、
前記第1の新スライスおよび前記第2の新スライスを暗号化する段階と、
前記暗号化済み第1の新スライスを前記第2の鍵ユニットに送信する段階と、
前記暗号化済み第2の新スライスを前記第3の鍵ユニットに送信する段階と
をさらに備える、請求項1または2に記載の方法。 - 前記グループ権限から1つまたは複数の新グループ権限鍵を受信する段階であって、前記第1の新スライスおよび前記第2の新スライスを暗号化する前記段階が、前記1つまたは複数の新グループ権限鍵を使用して実行される、段階をさらに備える、請求項3に記載の方法。
- 前記暗号化済み第1の新スライスの第1の新フィンガープリントを生成する段階と、
前記暗号化済み第2の新スライスの第2の新フィンガープリントを生成する段階と、
前記第1の新フィンガープリントおよび前記第2の新フィンガープリントを前記グループ権限に送信する段階と
をさらに備える、請求項3または4に記載の方法。 - 前記第2の鍵ユニットから第3の暗号化済みスライスを受信する段階と、
前記第3の鍵ユニットから第4の暗号化済みスライスを受信する段階と、
前記第3の暗号化済みスライスおよび前記第4の暗号化済みスライスを、スライスストレージに記憶する段階と
をさらに備える、請求項3から5のいずれか1項に記載の方法。 - 前記第3の鍵ユニットに障害が生じていることを判定する段階と、
前記第4の暗号化済みスライスを第4の鍵ユニットに送信するよう求める要求を、前記グループ権限から受信する段階と、
前記第4の暗号化済みスライスを前記第4の鍵ユニットに送信する段階と
をさらに備える、請求項6に記載の方法。 - 前記再構築された秘密を暗号化する段階と、
前記再構築された秘密を、秘密アクセス制御ユニットに記憶する段階と、
ユーザ鍵を含む要求をユーザから受信する段階と、
前記再構築された秘密を、前記ユーザ鍵を使用して復号する段階と、
前記再構築された秘密を使用して、前記要求に応答する段階と
をさらに備える、請求項1から7のいずれか1項に記載の方法。 - 前記秘密がストレージ暗号化鍵である、請求項1から8のいずれか1項に記載の方法。
- 前記グループ権限が認証機関である、請求項1から9のいずれか1項に記載の方法。
- システムであって、
メモリと、
前記メモリに結合された中央処理装置(CPU)であって、前記CPUが、
秘密を記憶している鍵ユニットに障害が生じていることを判定することであって、前記鍵ユニットがグループに含まれている、判定することを行うための命令と、
暗号化済み鍵スライスのフィンガープリントを、置換鍵ユニットから受信するための命令と、
前記受信したフィンガープリントを検証することであって、前記検証することが、前記受信したフィンガープリントと、フィンガープリントストレージに記憶された記憶済みフィンガープリントとを比較することを含む、検証することを行うための命令と、
前記検証に応答して、1つまたは複数の記憶済みグループ権限鍵を前記置換鍵ユニットに送信するための命令と
を実行するように構成された、CPUと
を備えるシステム。 - 前記CPUが、
前記置換鍵ユニットを前記グループに追加し、
前記置換鍵ユニットの識別情報を検証するように、さらに構成されている、請求項11に記載のシステム。 - 前記CPUが、
1つまたは複数の新グループ権限鍵を生成し、
前記1つまたは複数の新グループ権限鍵を、前記置換鍵ユニットに送信するように、さらに構成されている、請求項11または12に記載のシステム。 - 前記CPUが、
前記置換鍵ユニットから新フィンガープリントを受信し、
前記新フィンガープリントをフィンガープリントストアに記憶するように、さらに構成されている、請求項12に記載のシステム。 - グループ権限が認証機関である、請求項11から14のいずれか1項に記載のシステム。
- 前記秘密がストレージ暗号化鍵である、請求項11から15のいずれか1項に記載のシステム。
- コンピュータに、
秘密を取得する手順と、
1つまたは複数のグループ権限鍵をグループ権限から受信する手順と、
前記1つまたは複数のグループ権限鍵に基づき、前記秘密の複数の暗号化済みスライスを生成する手順と
実行させるためのコンピュータプログラム。 - 前記コンピュータに
秘密鍵に基づき1つまたは複数のフィンガープリントを生成する手順と、
前記1つまたは複数のフィンガープリントを前記グループ権限に送信する手順と
をさらに実行させる、請求項17に記載のコンピュータプログラム。 - 前記1つまたは複数のグループ権限鍵が、単一のグループ権限鍵から成り、
前記複数の暗号化済みスライスを前記生成する手順が、
前記単一のグループ権限鍵を使用して前記秘密を暗号化する手順と、
前記暗号化済み秘密をスライス化する手順と
を含む、請求項17または18に記載のコンピュータプログラム。 - 前記複数の暗号化済みスライスを前記生成する手順が、
前記秘密を複数のスライスへとスライス化する手順と、
前記1つまたは複数のグループ権限鍵を使用して、前記複数のスライスを暗号化する手順と
を含む、請求項17から19のいずれか1項に記載のコンピュータプログラム。 - 前記コンピュータに、前記複数の暗号化済みスライスを複数の鍵ユニットに送信する手順をさらに実行させる、請求項17から20のいずれか1項に記載のコンピュータプログラム。
- 前記コンピュータに、
前記複数の暗号化済みスライスおよび誤り訂正符号に基づき、第2の複数のスライスを生成する手順と、
前記第2の複数のスライスを複数の鍵ユニットに送信する手順と
をさらに実行させる、請求項17から21のいずれか1項に記載のコンピュータプログラム。 - 前記コンピュータに、
第1の鍵ユニットから第1の暗号化済みスライスを、第2の鍵ユニットから第2の暗号化済みスライスを受信する手順と、
前記第1の暗号化済みスライスおよび前記第2の暗号化済みスライスを記憶する手順と、
前記第2の暗号化済みスライスを置換鍵ユニットに送信するよう求める要求を、前記グループ権限から受信する手順と、
前記要求に応答して、前記第2の暗号化済みスライスを前記置換鍵ユニットに送信する手順と
をさらに実行させる、請求項17から22のいずれか1項に記載のコンピュータプログラム。 - 前記コンピュータに、
前記置換鍵ユニットから置換スライスを受信する手順と、
前記第1の暗号化済みスライスを前記置換スライスで置換する手順と
をさらに実行させる、請求項23に記載のコンピュータプログラム。 - 前記コンピュータに、
前記グループ権限から1つまたは複数の新グループ権限鍵を受信する手順と、
前記1つまたは複数のグループ権限鍵に基づき、前記秘密の1つまたは複数の新暗号化済みスライスを生成する手順と、
前記1つまたは複数の新暗号化済みスライスのうちの少なくとも1つを、前記置換鍵ユニットに送信する手順と
をさらに実行させる、請求項24に記載のコンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/919,248 | 2020-07-02 | ||
US16/919,248 US20220006613A1 (en) | 2020-07-02 | 2020-07-02 | Secure secret recovery |
PCT/IB2021/054897 WO2022003449A1 (en) | 2020-07-02 | 2021-06-04 | Secure secret recovery |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023531695A true JP2023531695A (ja) | 2023-07-25 |
Family
ID=79167872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022579708A Pending JP2023531695A (ja) | 2020-07-02 | 2021-06-04 | セキュアな秘密回復 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20220006613A1 (ja) |
JP (1) | JP2023531695A (ja) |
KR (1) | KR20230031279A (ja) |
CN (1) | CN115769544A (ja) |
AU (1) | AU2021302873A1 (ja) |
DE (1) | DE112021002747T5 (ja) |
GB (1) | GB2611966A (ja) |
WO (1) | WO2022003449A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114721585A (zh) * | 2021-01-06 | 2022-07-08 | 伊姆西Ip控股有限责任公司 | 存储管理方法、设备和计算机程序产品 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8031875B1 (en) * | 2007-08-09 | 2011-10-04 | Emc Corporation | Key distribution in unidirectional channels with applications to RFID |
CN101853220A (zh) * | 2009-04-02 | 2010-10-06 | 同方股份有限公司 | 一种具有密钥分拆存储机制的移动存储设备 |
US8918897B2 (en) * | 2009-11-24 | 2014-12-23 | Cleversafe, Inc. | Dispersed storage network data slice integrity verification |
CN104917780A (zh) * | 2009-11-25 | 2015-09-16 | 安全第一公司 | 对移动中数据进行保护的系统和方法 |
CN102065135B (zh) * | 2010-12-15 | 2013-02-13 | 中国联合网络通信集团有限公司 | 点对点数据获取方法、系统及服务器 |
US9479383B2 (en) * | 2011-07-12 | 2016-10-25 | Hughes Network Systems, Llc | Data compression for priority based data traffic, on an aggregate traffic level, in a multi stream communications system |
US20140331061A1 (en) * | 2013-05-02 | 2014-11-06 | Solidfire, Inc | Drive level encryption key management in a distributed storage system |
US9369289B1 (en) * | 2013-07-17 | 2016-06-14 | Google Inc. | Methods and systems for performing secure authenticated updates of authentication credentials |
KR102460096B1 (ko) * | 2015-05-27 | 2022-10-27 | 삼성에스디에스 주식회사 | 클라우드 서비스를 위한 암호화 키 관리 방법 및 그 장치 |
US9954680B1 (en) * | 2015-12-18 | 2018-04-24 | EMC IP Holding Company LLC | Secure management of a master encryption key in a split-key based distributed computing environment |
EP3535683B1 (en) * | 2016-11-04 | 2020-10-21 | Visa International Service Association | Data encryption control using multiple controlling authorities |
CN106789977B (zh) * | 2016-12-07 | 2020-05-26 | 北京信任度科技有限公司 | 一种基于密钥分割实现手机令牌的方法及系统 |
US10867057B1 (en) * | 2017-06-01 | 2020-12-15 | Massachusetts Mutual Life Insurance Company | Decentralized encryption and decryption of blockchain data |
CN108062254B (zh) * | 2017-12-12 | 2022-11-18 | 腾讯科技(深圳)有限公司 | 作业处理方法、装置、存储介质及设备 |
SG11202010960YA (en) * | 2018-05-08 | 2020-12-30 | Visa Int Service Ass | Password based threshold token generation |
US20190372765A1 (en) * | 2018-06-01 | 2019-12-05 | Roland Tegeder | System and Method for Providing an Authorised Third Party with Overt Ledger Secured Key Escrow Access to a Secret |
US11601264B2 (en) * | 2018-10-12 | 2023-03-07 | Tzero Ip, Llc | Encrypted asset encryption key parts allowing for assembly of an asset encryption key using a subset of the encrypted asset encryption key parts |
US10447475B1 (en) * | 2018-11-08 | 2019-10-15 | Bar Ilan University | System and method for managing backup of cryptographic keys |
HK1254273A2 (zh) * | 2018-12-03 | 2019-07-12 | Foris Ltd | 安全的分佈式密鑰管理系統 |
US11611539B2 (en) * | 2018-12-16 | 2023-03-21 | Auth9, Inc. | Method, computer program product and apparatus for encrypting and decrypting data using multiple authority keys |
US11075755B2 (en) * | 2019-04-24 | 2021-07-27 | Vmware, Inc. | Zero-knowledge key escrow |
-
2020
- 2020-07-02 US US16/919,248 patent/US20220006613A1/en active Pending
-
2021
- 2021-06-04 WO PCT/IB2021/054897 patent/WO2022003449A1/en active Application Filing
- 2021-06-04 KR KR1020237000009A patent/KR20230031279A/ko active Search and Examination
- 2021-06-04 GB GB2301430.1A patent/GB2611966A/en active Pending
- 2021-06-04 DE DE112021002747.6T patent/DE112021002747T5/de active Pending
- 2021-06-04 AU AU2021302873A patent/AU2021302873A1/en active Pending
- 2021-06-04 CN CN202180047867.0A patent/CN115769544A/zh active Pending
- 2021-06-04 JP JP2022579708A patent/JP2023531695A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20230031279A (ko) | 2023-03-07 |
GB202301430D0 (en) | 2023-03-15 |
WO2022003449A1 (en) | 2022-01-06 |
CN115769544A (zh) | 2023-03-07 |
GB2611966A (en) | 2023-04-19 |
AU2021302873A1 (en) | 2023-02-16 |
DE112021002747T5 (de) | 2023-03-09 |
US20220006613A1 (en) | 2022-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10467096B2 (en) | Securely storing data in a dispersed storage network | |
Sookhak et al. | Remote data auditing in cloud computing environments: a survey, taxonomy, and open issues | |
JP5650348B2 (ja) | 移動中のデータをセキュア化するためのシステムおよび方法 | |
US20130086377A1 (en) | Processing a certificate signing request in a dispersed storage network | |
AU2011235068A1 (en) | Systems and methods for securing data in motion | |
Sookhak et al. | Towards dynamic remote data auditing in computational clouds | |
Fitch et al. | A RAID-based secure and fault-tolerant model for cloud information storage | |
CN116964586A (zh) | 授权加密 | |
JP2023551124A (ja) | 自己監査ブロックチェーン | |
JP2023531695A (ja) | セキュアな秘密回復 | |
US20180034639A1 (en) | Multiple credentials for mitigating impact of data access under duress | |
WO2023020150A1 (en) | Authorized secure data movement | |
US11601285B2 (en) | Securely authorizing service level access to a backup system using a specialized access key | |
Ahmed et al. | Lightweight secure storage model with fault-tolerance in cloud environment | |
Dhote et al. | Secure Approach for Data in Cloud Computing | |
Chouhan et al. | Reliable verification of distributed encoded data fragments in the cloud | |
US20230318826A1 (en) | Key import with hybrid cryptography | |
George et al. | Safest Secure and Consistent Data Services in the Storage of Cloud Computing | |
Abdul Lathif et al. | Protect data across multiple clouds using erasure code and Merkle Hash tree algorithm | |
Jaikar et al. | Verifying Data Integrity in Cloud | |
Kumar | New probabilistic efficient and secure protocols for data storage security in cloud computing | |
Ujloomwale et al. | Data storage security in Cloud | |
Khan | Data Storage Security in Cloud Computing | |
Raje et al. | Algorithm for Back-up and Authentication of Data Stored on Cloud | |
Apolinario | Information Systems and Computer Engineering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231114 |