JP2023553783A - 複数のサブネットを有する分散ネットワーク - Google Patents
複数のサブネットを有する分散ネットワーク Download PDFInfo
- Publication number
- JP2023553783A JP2023553783A JP2023523326A JP2023523326A JP2023553783A JP 2023553783 A JP2023553783 A JP 2023553783A JP 2023523326 A JP2023523326 A JP 2023523326A JP 2023523326 A JP2023523326 A JP 2023523326A JP 2023553783 A JP2023553783 A JP 2023553783A
- Authority
- JP
- Japan
- Prior art keywords
- nodes
- key
- shared secret
- subnet
- subnets
- 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
- 238000012795 verification Methods 0.000 claims abstract description 127
- 230000003068 static effect Effects 0.000 claims abstract description 76
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000004590 computer program Methods 0.000 claims abstract description 14
- 238000003860 storage Methods 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 17
- 239000000470 constituent Substances 0.000 claims description 2
- 238000010586 diagram Methods 0.000 abstract description 23
- 238000012545 processing Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 12
- 230000015654 memory Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000010076 replication Effects 0.000 description 3
- 230000001010 compromised effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 1
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 1
- 101100290000 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) MAC1 gene Proteins 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001052 transient 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/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/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/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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本発明の第1の態様の実施形態では、複数のサブネットを有する分散ネットワークが提供される。複数のサブネットのそれぞれは、変更可能な一連のノードを有する。ネットワークは、分散鍵生成プロトコルが、複数のサブネットの各々について、公開鍵署名方式の個別の静的検証鍵するとともに第1ノードセットに対応する第1共有秘密鍵セットを生成するように構成されている。ネットワークはさらに、秘密再配布プロトコルが、複数のサブネットの各々について、第1共有秘密鍵セットのそれぞれの共有秘密鍵を、各サブネットの第2ノードセットに再配布することで、各サブネットの同じ静的検証鍵に対応する第2共有秘密鍵セットを生成するように構成されている。本発明のさらなる態様は、対応するコンピュータ実装方法、対応するノード、対応するコンピュータプログラム製品、および対応するソフトウェアアーキテクチャに関する。【選択図】図1
Description
本発明は複数のサブネットを有する分散ネットワークに関し、各サブネットは、1つ以上のノードを備える。
さらなる態様は、複数のサブネットを有する分散ネットワークにおける鍵管理の方法、分散ネットワークのノード、対応するコンピュータプログラム製品、および非一時的媒体に符号化されたソフトウェアアーキテクチャに関する。
分散ネットワークでは、複数のノードが分散して配置される。分散ネットワークの計算では、ソフトウェアとデータが複数のノードに分散される。ノードはコンピューティングリソースを構築し、分散ネットワークは分散コンピューティング技術を使用し得る。
分散ネットワークの一例として、ブロックチェーンネットワークがある。ブロックチェーンネットワークは、複数のブロックからなり、合意に基づく電子台帳である。各ブロックは、複数のトランザクションおよびその他の情報からなる。さらに、各ブロックは前のブロックのハッシュを含むことで連鎖しているので、ブロックチェーンに書き込まれたすべてのトランザクションが永続的に変更不可能な記録として作成される。トランザクションは、例えば、スマートコントラクトとして知られる小規模なプログラムを含み得る。トランザクションがブロックチェーンに書き込まれるためには、ネットワークによる「検証」が必須である。言い換えれば、ネットワークノードは、ブロックチェーンに書き込まれるブロックにおいて合意を得る必要がある。このような合意は、さまざまなコンセンサスプロトコルで達成され得る。
コンセンサスプロトコルの1つの形態として、プルーフオブワークコンセンサスプロトコルがある。一般に、プルーフオブワークコンセンサスプロトコルでは、コンセンサスプロトコルに参加する当時者に何らかの作業が必要とされ、通常、コンピュータによる処理時間に相当する。ビットコインなどのプルーフオブワークに基づく暗号通貨システムでは、計算集約型のパズルを解くことで、トランザクションを検証して新たなブロックを作成する。
他の形態のコンセンサスプロトコルとして、プルーフオブステークコンセンサスプロトコルがある。このようなプルーフオブステークプロトコルは、時間を要し、エネルギー集約型である計算が不要であるとの利点を有する。プルーフオブステークに基づくブロックチェーンネットワークでは、例えば、次のブロックの作成者は、ランダム選択の組み合わせ、ならびにネットワークのそれぞれのノードのステークを通して選出される。暗号通貨以外でも、分散ネットワークは他のさまざまなアプリケーションで使用し得る。特に、それらは分散型コンピューティングや分散コンピューティングの機能およびサービスの提供に使用し得る。
分散ネットワークの1つの課題は、サブネットの計算結果、例えば状態情報を、サブネットの外部ユーザおよび/または他のサブネットに、安全で、効率的で、検証可能で、かつ/またはユーザフレンドリーな方法で提供するところにある。
Paul Feldman. A practical scheme for non-interactive verifiable secret sharing. In 28th Annual Symposium on Foundations of Computer Science, pages 427-437, Los Angeles, California, October 12-14, 1987. IEEE Computer Society Press.
Torben P. Pedersen. A threshold cryptosystem without a trusted party (extended abstract) (rump session). In Donald W. Davies, editor, Advances in Cryptology - EUROCRYPT’91, volume 547 of Lecture Notes in Computer Science, pages 522-526, Brighton, UK, April 8-11, 1991. Springer, Heidelberg, Germany.
Rosario Gennaro, Stanislaw Jarecki, Hugo Krawczyk, and Tal Rabin. Secure distributed key generation for discrete-log based cryptosystems. In Jacques Stern, editor, Advances in Cryptology - EUROCRYPT’99, volume 1592 of Lecture Notes in Computer Science, pages 295-310, Prague, Czech Republic, May 2-6, 1999. Springer, Heidelberg, Germany.
Herzberg, Amir; Jarecki, Stanislaw; Hugo, Krawczyk; Yung, Moti (1995). Proactive Secret Sharing Or: How to Cope With Perpetual Leakage. CRYPTO '95: Proceedings of the 15th Annual International Cryptology Conference on Advances in Cryptology. London, UK: Springer-Verlag. pp. 339-352. ISBN 978-3-540-60221-7.
A simplified approach to threshold and proactive RSA", by T Rabin - Annual International Cryptology Conference, 1998 - Springer.
したがって、本発明の一態様の1つの目的は、特に鍵管理に関して高度な機能を備えた分散ネットワークを提供するところにある。本発明のさらなる態様のさらなる目的は、ネットワークの計算結果、特に状態情報の検証を、安全で効率的および/またはユーザフレンドリーな方法で容易にする分散ネットワークを提供するところにある。
本発明の第1の態様の実施形態では、複数のサブネットを備える分散ネットワークが提供される。複数のサブネットのそれぞれは、変更可能な一連のノードを有する。ネットワークは、分散鍵生成プロトコルが、複数のサブネットの各々について、公開鍵署名方式の個別の静的検証鍵およびネットワークの各サブネットの第1ノードセットに対応する第1共有秘密鍵セットを生成するように構成される。
ネットワークはさらに、複数のサブネットの各々について、秘密再配布プロトコルが、第1共有秘密鍵セットのそれぞれの共有秘密鍵を、各サブネットの第2ノードセットに再配布することで、各サブネットの同一の静的検証鍵に対応する第2共有秘密鍵セットを生成するように構成される。
このような具体化された方法では、複数のサブネットの各々は、個別の、すなわち経時変化がない独自の静的検証鍵を有する。いくつかの実施形態では、静的検証鍵は、対応するサブネットの存続期間全体にわたって一定のままであり得る。したがって、静的検証鍵は、定数検証鍵とも称される。静的検証鍵は一定のままであるが、対応する共有秘密鍵は経時変化し得る。さらに、サブネットを形成または表すノードセットも、経時変化し得る。すなわち、ノードを追加してよく、また、各サブネットからノードを削除してもよい。より具体的には、サブネットは、最初に初期ノードセットとも称される第1ノードセットを備える。一実施形態では、第1ノードセットの各ノードは、第1共有秘密鍵セットの共有秘密鍵を保持する。第1共有秘密鍵セットは、静的検証鍵に対応する、より具体的には、静的検証鍵は共有秘密鍵の許容されたサブセットにより実行された、共同署名の検証を可能にする。
静的検証鍵は、公開鍵署名方式の鍵であり公開鍵と称され得る。対応する共有秘密鍵は、共有署名鍵または署名鍵と称され得る。本発明の実施形態による公開鍵署名方式は、例えば、RSAなどの公開鍵署名方式および暗号化方式の鍵、またはシュノア(Schnorr)署名やDSAなどの公開鍵署名方式の鍵を備え得る。その後、第1共有秘密鍵セットは、秘密再配布プロトコルによって、第2共有秘密鍵セットに再配布され得る。換言すれば、秘密再配布プロトコルは、静的検証鍵に対応する秘密鍵の共有秘密鍵を更新する。
複数のサブネットの静的検証鍵を有するそのような分散ネットワークは、鍵管理、検証および/または認証に関する長所を提供する。より具体的には、一方では、複数のサブネットの静的検証が時間経過に対して一定であるので、検証者は、常時同じ静的検証鍵を使用してサブネットが提供する情報を検証し得る。その一方で、共有秘密鍵の再配布されることで、分散ネットワークは、セキュリティと柔軟性の観点から、分散ネットワークのそれぞれのニーズに適合され得る。したがって、このような分散ネットワークは、常時同じ静的検証鍵を使用してネットワークの各サブネットが提供する情報を検証し得る、との長所を分散ネットワークのユーザに提供する。さらに、サブネットには、セキュリティやその他の理由で共有秘密鍵をサブネットの内部で更新可能である、との柔軟性がある。
一実施形態では、第1ノードセットのノードサブセットの各ノードは、第1共有秘密鍵セットのうちの1つの共有秘密鍵を保持する。一実施形態では、第2ノードセットのノードサブセットの各ノ-ドは、第2共有秘密鍵セットのうちの1つの共有秘密鍵を保持する。
一実施形態では、第1ノードセットのサブセットは、第1ノードセットのすべてのノードを含んでよく、また、第1ノードセットのすべてのノードを含まなくてもよい。前者では、第1ノードセットの各ノードは、第1共有秘密鍵セットのうちの1つの共有秘密鍵を保持する。後者では、第1ノードセットの選定委員会のみが共有秘密鍵を保持し得る。一実施形態では、第2ノードセットのサブセットは、第2ノードセットのすべてのノードを含んでよく、また、第2セットのすべてのノードを含まなくてもよい。前者では、第2ノードセットの各ノードは、第2共有秘密鍵セットのうちの1つの共有秘密鍵を保持する。後者では、第2ノードセットの選定委員会のみが秘密鍵の共有を保持し得る。
一実施形態では、各サブネットのノードは、割り当てられた一連の計算ユニットを実行するように構成される。サブネットの計算ユニットは、サブネット全体で決定論的かつ複製される方法で計算を実行するように構成される。このようなネットワークは、サブネット全体で複製される計算を実行する。したがって、サブネットは、複製コンピューティングクラスタと表し得る。このようなネットワークでは、複数のサブネットに一定で静的な検証鍵を提供することがより好適である。計算ユニットは、ネットワークのノード上で実行され、独自のユニットまたは実行状態を持つソフトウェアの一部として定義し得る。サブネットの各々は、割り当てられた計算ユニットセット、特に、サブネット全体にわたってユニット状態または実行状態または計算ユニットの状態を複製するように構成されている。いくつかの実施形態では、ユニット状態の複製は、サブネットの各ノード上に割り当てられた計算ユニットのサブセットの空間で、アクティブレプリケーション(an active replication)を実行により促進され得る。
一実施形態では、ネットワークは、秘密再配布プロトコルが、複数のサブネットの各々について第2共有秘密鍵セットの共有秘密鍵を各サブネットの第3ノードセットに再配布するように構成される。これにより、前記各サブネットの同一の静的検証鍵に対応する第3共有秘密鍵セットが生成される。
一実施形態では、第3ノードセットのサブセットの各ノードは、第3共有秘密鍵セットのうちの1つの共有秘密鍵を保持する。
そのような実施形態では、秘密再配布プロトコルを使用して、共有秘密鍵のさらなる更新を実行し得る。これは、ネットワークのセキュリティに関して、および/またはネットワークの構成の柔軟性に関して特に有用であり得る。このステップは、必要に応じて繰り返し得る。
より具体的には、いくつかの実施形態では、第1ノードセットのサブセットは、第2ノードセットのサブセットと等しくてよく、および/または第2ノードセットのサブセットは、第3ノードセットのサブセットと等しくてよい。つまり、対応するサブネットの構成は変更されていない。このような構成では、共有秘密鍵の更新により、特に分散ネットワークのセキュリティが向上する。このような手順は、特にプロアクティブセキュリティの実装により使用し得る。この点に関して、一実施形態では、秘密再配布プロトコルは、事前に定義された時間間隔で定期的に各サブネットに対して実行し得る。これにより、サブネットの静的検証鍵に対応する秘密鍵が再構築可能となる十分な数の共有秘密鍵を収集して、敵対者がサブネットを制御することを防止し得る。
他の実施形態では、第1ノードセットのサブセットは、第2ノードセットのサブセットと異なってよく、および/または第2ノードセットのサブセットは、第3ノードセットのサブセットと異なってよい。
このような構成では、共有秘密鍵の更新により、静的検証鍵は同じままであっても、共有秘密鍵をサブネットの新たな構成または適合した構成に適応させ得る。したがって、サブネットの構成が変更されたとしても、このサブネットから情報を受け取る外部ユーザまたは外部サブネットは、変更について配慮する必要はない。また、静的検証鍵が同じままであるので、この変更を認識する必要さえない。この点で、本発明のいくつかの実施形態は、分散ネットワークのユーザから現在のサブネット構成を秘匿することを可能にする。ユーザがサブネットからの情報を検証するために必要なのは静的検証鍵だけであるので、対応するサブネット構成および共有秘密鍵の配布について秘匿され得る。これは、サブネットのノードに対する適応型攻撃が防止する、また、少なくとも抑制し得る。
いくつかの実施形態では、分散鍵生成プロトコルが、特に、しきい値分散鍵生成プロトコルであり得る。
したがって、そのような実施形態では、分散鍵生成プロトコルは、公開鍵署名方式のしきい値静的検証鍵と、それぞれのサブネットの第1ノードセットに対応するしきい値共有秘密鍵セットを生成する。
そのような実施形態では、ノードが保持する共有秘密鍵の許容可能なサブセットを使用して、静的検証鍵の下で署名を生成し得る。そのような許容可能なサブセットは、事前に定義された数の共有秘密鍵、または一般に、事前に定義された任意の共有秘密鍵の組み合わせであり得る。いくつかの実施形態では、許容可能なサブセットは、一般に、事前に定義されたアクセス構造として定義され得る。いくつかの実施形態では、秘密再配布プロトコルは、特に、しきい値鍵再配布プロトコルであり得る。
そのような実施形態では、秘密再分配プロトコルは、しきい値検証鍵に対応するしきい値共有秘密鍵を再配布するように構成される。
いくつかの実施形態では、複数のサブネットの複数のノードは、ノードの許容可能なサブセットが、それらの共有秘密鍵によりサブネット情報についての共同署名を実行するように構成される。
これにより、共同署名によるサブネット情報の証明が提供される。共同署名は静的検証鍵に対応する、すなわち、静的検証鍵を用いて検証可能である。サブネット情報は、一般に、サブネットの任意の情報、特にサブネットの計算ユニットの実行状態に関する情報であり得る。署名されたサブネット情報は、分散ネットワークのユーザおよび/または他の受信側サブネットに提供されます。
一実施形態では、分散ネットワークおよび/または受信サブネットのユーザは、対応するサブネットの静的検証鍵を用いてサブネット情報の共同署名を検証するように構成される。
一実施形態では、分散ネットワークは、複数の構成ノードからなる管理サブネットを備える。管理サブネットは、複数のサブネットの静的検証鍵を格納し、公開鍵署名方式のルート検証鍵および複数の対応する共有秘密鍵を保持するように構成される。管理サブネットは、1つ以上のサブネットの静的検証鍵を提供する検証鍵請求を受信し、検証鍵請求に応答して、1つ以上のサブネットの静的検証鍵を含む検証鍵応答を提供するようにさらに構成される。管理サブネットはさらに、管理サブネットのノードのサブセットが、ルート検証鍵に対応する共有秘密鍵の許容されたサブセットを使用して検証鍵応答に署名することで、検証鍵応答に共同署名を作成するように構成される。このような管理サブネットは、ユーザに単一のルートオブトラストを提供し得る。より具体的には、ユーザは、それぞれのサブネット構成を認識する必要がなく、サブネットの静的検証鍵を管理する必要もない。代わりに、ユーザは必要な静的検証鍵を管理サブネットから取得し得、受信した静的検証鍵をルート検証鍵で検証し得る。
いくつかの実施形態では、実施形態では、共同署名は、特にしきい値署名、または言い換えると、しきい値鍵またはしきい値秘密鍵による署名であり得る。
本発明の方法の態様の一実施形態では、複数のサブネットを含む分散ネットワークにおいて検証鍵を管理するコンピュータ実装方法が提供される。
この方法は、分散鍵生成プロトコルが、複数のサブネットの各々について、公開鍵署名方式の個別の静的検証鍵を生成するとともに各サブネットの第1ノードセットに対応する第1共有秘密鍵セットを生成するステップを備える。また、この方法は、秘密再配布プロトコルが、第1共有秘密鍵セットのそれぞれの共有秘密鍵を、各サブネットの第2ノードセットに再配布することで、各サブネットの同一の静的検証鍵に対応する第2共有秘密鍵セットを生成するステップをさらに備える。一実施形態では、第1ノードセットのサブセットの各ノードは、第1共有秘密鍵セットのうちの1つの共有秘密鍵を保持する。一実施形態では、第2ノードセットのサブセットの各ノードは、第2共有秘密鍵セットのうちの1つの共有秘密鍵を保持する。
本発明の他の態様の一実施形態では、分散ネットワークのノードが提供される。本発明の他の態様の一実施形態では、分散ネットワークを動作させるコンピュータプログラム製品が提供される。コンピュータプログラム製品は複数のプログラム命令が取り込まれたコンピュータ可読記憶媒体を備えており、複数のプログラム命令は、複数のノードのうちの1つ以上で本発明の方法の態様を実行可能である。
本発明の他の態様の一実施形態では、分散ネットワークのノードを動作させるコンピュータプログラム製品が提供される。
本発明の他の態様の一実施形態では非一時的コンピュータ可読媒体上に符号化されたソフトウェアアーキテクチャが提供される。ソフトウェアアーキテクチャは、分散ネットワークの1つ以上のノードを動作させるように構成される。符号化されたソフトウェアアーキテクチャは、複数のノードのうちの1つ以上が実行可能なプログラム命令を備えており、複数のノードのうちの1つ以上で本発明の方法の態様のステップを備える方法を実行する。
本発明の一態様の特徴および利点は、必要に応じて本発明の他の態様に適用し得る。
他の有用な実施形態は、従属請求項および以下の説明に列記されている。
以下の詳細な説明から、本発明はよりよく理解され、上記以外の目的が明らかになるであろう。そのような説明は、添付の図面を参照して行われる。
最初に、本発明の実施形態のいくつかの態様全般および用語を紹介する。
いくつかの実施形態では、分散ネットワークは、分散方式で配置された複数のノードを備える。このような分散ネットワークの計算では、ソフトウェアとデータが複数のノードにわたって分散される。複数のノードは計算リソースを構築し、分散ネットワークは、特に分散計算技術を使用し得る。
いくつかの実施形態では、分散ネットワークは、特にブロックチェーンネットワークとして具体化され得る。「ブロックチェーン」という用語には、電子的なコンピューターベースの分散型台帳のすべての形態を含み得る。いくつかの実施形態では、ブロックチェーンネットワークは、プルーフオブワークブロックチェーンネットワークとして具体化され得る。他の実施形態では、ブロックチェーンネットワークは、プルーフオブステークブロックチェーンネットワークとして具体化され得る。
検証鍵とは、広く公開されることを意図した公開鍵署名方式のビット列である。検証鍵は公開鍵とも称されて、例えば、公開鍵署名方式のデジタル署名の検証用として使用され得る。
本発明のいくつかの実施形態の公開鍵署名方式は、例えば、RSAなどの公開鍵署名方式および暗号化方式の鍵、またはシュノア署名やDSAなどの公開鍵署名方式の鍵を備え得る。
秘密鍵(sk)は、公開鍵、特に検証鍵に関連するビット列で、暗号化動作、特にメッセージのデジタル署名および/または暗号文の暗号化を可能にする。
分散鍵生成(DKG)は、一連のディーラー(秘密情報の保持者)が公開鍵、特に検証鍵を生成し、一連の受信者に対応する秘密鍵の共有秘密鍵の提供を可能とするプロトコルである。秘密再配布プロトコルは、秘密再共有プロトコルとも称され得、秘密鍵の共有秘密鍵を更新するプロトコルである。いくつかの実施形態では、プロトコルは、新規のまたは更新された共有秘密鍵を、その共有秘密鍵の以前の保持者に提供し得る。他の実施形態では、プロトコルは、新規のまたは更新された共有秘密鍵を、新規の、特に、異なる一連の受信者に提供し得る。
(n、t)-しきい値鍵またはしきい値秘密鍵は、しきい値tと共有秘密鍵の数s1、・・・、snとを有し、任意のt個の共有秘密鍵により秘密鍵の再構築が可能となるが、その一方で、t-1個の共有では秘密鍵の決定に十分ではない。しきい値公開鍵署名方式では、任意のt個の秘密鍵の共有により、しきい値の公開鍵または検証鍵の下で有効な署名の実行が可能になるが、t-1個の共有では有効な署名の実行には十分ではない。
検証可能な秘密分散(VSS)とは、単一のディーラーがランダムな秘密s、一連の受信者に対する秘密共有のしきい値s1、・・・、sn、および各受信者がその共有siの正当性の検証に使用可能な証拠を生成可能にするプロトコルである。
プロアクティブセキュリティとは、t-1パーティの妥協を常時許容するマルチパーティシステムを獲得するセキュリティ概念である。時間は期間に分割され、期間ごとに多くてもt-1パーティと妥協するが、攻撃者は、妥協した一連のパーティが期間ごとに異なり得るとの意味で可動である。プロアクティブセキュリティを備えた分散鍵管理システムは、時間を期間に分割して、各期間で秘密鍵の新たなしきい値秘密共有を使用することで作成可能である。前方秘匿性を使用した公開鍵暗号化では、時間が期間に分割され、秘密復号鍵が時間の経過とともに進化する公開鍵暗号化方式で、仮にそれが侵害されたとしても、過去の期間からの暗号文の復号化には無効である。
いくつかの実施形態では、フェルドマンプロトコル(the Feldman protocol [Fel87])、ジョイントフェルドマンプロトコル(joint Feldman protocol [Ped91])、およびGJKRプロトコル(the GJKR protocol [GJKR99])を分散鍵生成プロトコルとして使用し得る。これらのプロトコルは、例えば、非特許文献1(the Feldman protocol [Fel87])、非特許文献2(joint Feldman protocol [Ped91])、および非特許文献3(the GJKR protocol [GJKR99])に公開されており、それらの対応する開示は、参照して本明細書に組み込まれる。
本発明のいくつかの実施形態では、秘密再配布プロトコルとして、非特許文献4および非特許文献5に記載のプロトコルも使用し得る。
図1に、本発明の一実施形態による分散ネットワーク100の例示的なブロック図を示す。分散ネットワーク100は、複数のノード10を有し、それらはネットワークノード10としても示され得る。複数のノード10は、複数のサブネットワーク11にわたって分散される。サブネットワーク11は、サブネットとも称され得る。図1の例では、SNA、SNB、SNC、およびSNDで表示される4つのサブネット11が設定されている。複数のサブネット11の各々は、各サブネット11の各ノード10上で一連の計算ユニットを実行するように構成される。いくつかの実施形態では、計算ユニットは、ソフトウェアの一部として、特に、それ自体の計算ユニットの状態を備えるかまたはそれを有するソフトウェアの一部として、理解されるべきものである。ユニット状態は、実行状態とも称され得る。ネットワーク100は、各サブネット11内で、サブネット内通信を行う通信リンク12を備え、それらは特に、同じサブネットに割り当てられた計算ユニット間で交換されるサブネット内のユニット間メッセージの通信を行う。さらに、ネットワーク100は、異なるサブネット11間のサブネット間通信を行う通信リンク13を備え、それらは特に、異なるサブネットに割り当てられた計算ユニット間で交換されるサブネット間のユニット間メッセージの通信を行う。したがって、通信リンク12は、サブネット内またはピアトゥピア(P2P)通信リンクと称され得る。また、通信リンク13は、サブネット間またはサブネットトゥサブネット(SN2SN)通信リンクと称され得る。ネットワーク100は、サブネット割り当てに基づいて、メッセージングプロトコルを介して、ネットワークの計算ユニット間のユニット間メッセージを交換するように構成される。
いくつかの実施形態では、分散ネットワークは、特に、メッセージングプロトコルを介してサブネットSNA、SNB、SNC、およびSNDの間でサブネット間メッセージ16を交換するように構成され得る。サブネット間メッセージ16は、特に、サブネット割り当てにしたがって異なるサブネットに割り当てられた計算ユニット間で交換される、サブネット間のユニット間メッセージ16aとして実施し得る。一例として、分散ネットワーク100は、サブネットSNA上で実行される送信側計算ユニットとしての計算ユニットCUA1と、サブネットSNB上で実行される受信側計算ユニットとしての計算ユニットCUB2との間でユニット間メッセージ16aを交換するように構成され得る(図4参照)。さらに、サブネット間メッセージ16は、シグナリングメッセージ16bとして具体化し得る。シグナリングメッセージ16bは、ユニット間メッセージの受諾または受信を承認するように適合された肯定メッセージ(ACK)、または、例えば伝送障害を示すようなユニット間メッセージを承認しない(拒否に相当)ように適合された否定メッセージ(NACK)を包含し得る。
いくつかの実施形態では、ユニット状態または実行状態は、計算ユニットが使用するすべてのデータまたは情報、特に計算ユニットが変数に格納するデータだけでなく、計算ユニットがリモート呼び出しから取得するデータも含むと理解され得る。ユニット状態は、特に各ノードの各メモリ位置における格納場所を表し得る。いくつかの実施形態では、これらの格納場所の内容は、計算ユニットが実行されている任意の時点でのユニット状態と称される。計算ユニットは、特に、ステートフル計算ユニットとして具体化し得る。つまり、いくつかの実施形態では、計算ユニットが以前の事象またはユーザ対話を記憶するように設計される。
本発明のいくつかの実施形態では、複数のサブネット11は、それぞれのサブネット11にわたって一連の計算ユニットを複製するように構成される。より具体的には、サブネット11は、それぞれのサブネット11にわたって計算ユニットのユニット状態または実行状態を複製するように構成される。
ネットワーク100は、分散ネットワークのユーザUと情報を交換するために使用可能な複数のインターフェイス101を含み得る。一例として、ユーザUは、インターフェイス101を介して、例えば計算結果を含む実行状態情報について、分散ネットワークに読み出し請求を送信して読み出し応答を受信し得る。好適な実施形態では、ユーザは分散ネットワーク100の内部構造を認識しなくてもよい。特に、ユーザは、好ましくは、サブネット構成およびその読み取り請求を処理しているそれぞれのサブネットを認識しなくてもよい。
複数のサブネット11は、経時的に再構成され得る。より具体的には、サブネット11のノードの数は、経時変化し得る。一例として、ノードをサブネット11に追加し得、および/またはノードをサブネット11から削除し得る。したがって、サブネット11は、変更可能な一連のノードを含む。サブネット11の各々は、公開鍵署名方式の個々の、言い換えれば別個の静的検証鍵を保持する。この例では、サブネットSNAは静的検証鍵pkAを保持し、サブネットSNBは静的検証鍵pkBを保持し、サブネットSNCは静的検証鍵pkCを保持し、サブネットSNDは静的検証鍵pkDを保持する。静的検証鍵は、以下では通常pkXと表示し、Xは対応するサブネットを表す。いくつかの実施形態では、静的検証鍵pkXは一定である。言い換えれば、各サブネット11の存続期間全体にわたって固定されている。
静的検証鍵pkXは、分散鍵生成プロトコルにより生成される。分散鍵生成プロトコルは、対応する共有秘密鍵sks1、sks2、sksnの第1セット、つまり、それぞれの静的検証鍵pkXに対応する第1共有秘密鍵セットを生成する。第1共有秘密鍵セットは、それぞれのサブネットの第1ノードセットに割り当てられる。第1ノードセットは、特に、時点t0における各サブネットのノードであり得る。ここで、時点t0は、例えば、各サブネットが生成した時点でよい。検証鍵pkXは、公開鍵署名方式の検証鍵である。したがって、検証鍵pkXを使用して、共有秘密鍵sks1、sks2、sksnを保持するノードが作成した共同署名を検証し得る。分散鍵生成プロトコルは、特に、しきい値鍵生成プロトコルであり得る。
分散ネットワーク100の静的検証鍵pkXは経時的に変化しないが、対応する共有秘密鍵sksは経時的に変化し得る。共有秘密鍵のそのような変更は、それぞれのサブネットのノードセットが変更されたときに実行し得、またサブネットのノードの変更がなくても実行し得る。後者は、プロアクティブセキュリティを提供するために使用し得る。共有秘密鍵を変更するために、分散ネットワーク100は秘密再配布プロトコルを実行する。秘密再配布プロトコルは、それぞれのサブネットの第1共有秘密鍵セットの共有秘密鍵を、それぞれのサブネットの第2ノードセットに再配布する。これにより、それぞれのサブネットの同じ静的検証鍵に対応する第2共有秘密鍵セットが作成される。その結果、各ノードまたは第2ノードセットのサブセットは、第2共有秘密鍵セットの共有秘密鍵の1つを保持する。
これについて、図2および図3を参照してより詳細に説明する。図2にサブネットSNAの経時的な変化を示す。図3には、サブネットSNAの秘密鍵セットに対応する変化を含む対応表を示す。
図2を参照すると、サブネットSNAは時点t0において、例えば、サブネット構成201を生成した時点において、第1サブネット構成201を有する。サブネット構成201において、サブネットSNAは、5つのノードN1、N2、N3、N4、およびN5を備える。サブネットSNAは、公開鍵署名方式の静的検証鍵pkAを有する。ノードN1、N2、N3、N4、およびN5は、第1ノードセット、すなわち最初のノードセットを構築する。次に図3を参照する。左列図301は、サブネットSNA対応するノード番号、より具体的にはノードN1、N2、N3、N4、N5、N6、およびN7を備える。列302、303、304、305、および306は、異なる時点における対応するノードのそれぞれに共有秘密鍵を備える。より具体的には、列302は時点t0に対応し、列303は時点t1に対応し、列304は時点t2に対応し、列305は時点t3に対応し、列306は時点t4に対応する。行311、312、313、314、316、および317は、それぞれノードN1、N2、N3、N4、N5、N6、およびN7の共有秘密鍵を備える。
時点t0において、サブネットSNAのノードN1、N2、N3、N4、およびN5は、それぞれ共有秘密鍵share1,0、share2,0、share3,0、share4,0、およびshare5,0を保持する。下付き文字の最初の数字はそれぞれのノードを表し、下付き文字の2番目の数字はそれぞれの時点を表す。
その後の時点t1では、サブネットSNAはまだ同じノードセットを有する。それにもかかわらず、分散ネットワークは、秘密再配布プロトコルを実行して、共有秘密鍵share1,0、share2,0、share3,0、share4,0、およびshare5,0を、N1、N2、N3、N4、およびN5の同じノードセットで形成される第2ノードセットに再配布した。秘密再配布プロトコルは、最初のセットとは異なる第2共有秘密鍵セットshare1,1、share2,1、share3,1、share4,1、およびshare5,1を作成または生成した。その第2共有秘密鍵セットは、サブネットSNAの同じ静的検証鍵pkAに対応する。
図2を参照すると、前のノードN1、N2、N3、N4、およびN5に加えて、追加のノードN6を備える、サブネットSNAの第2サブネット構成202が示されている。このサブネット構成202は、時点t2およびt3に対して有効である。また、図3を参照すると、列304は、時点t2における新たなノードセットの共有秘密鍵を示している。分散ネットワークは、秘密再配布プロトコルを実行して、共有秘密鍵share1,1、share2,1、share3,1、share4,1、およびshare5,1を、N1、N2、N3、N4、N5、およびN6の増強されたノードセットで形成される第3ノードセットに再配布した。秘密再配布プロトコルは、第2セットとは、特に5つの共有鍵の代わりに6つの共有鍵を有する点で異なる第3共有秘密鍵セットshare1,2、share2,2、share3,2、share4,2、share5,2、およびshare6,2を作成または生成した。ここでも、第3共有秘密鍵セットは、サブネットSNAの同じ静的検証鍵pkAに対応する。その後の時点t3でも、サブネットSNAはまだ同じノードセットN1、N2、N3、N4、N5、およびN6を有する。分散ネットワークは、秘密再配布プロトコルを実行して、共有秘密鍵セットshare1,2、share2,2、share3,2、share4,2、share5,2、およびshare6,2を再配布した。したがって、秘密再配布プロトコルは、前のセットとは異なる別の新たな共有秘密鍵セットshare1,3、share2,3、share3,3、share4,3、share5,3、およびshare6,3を作成または生成した。新たな共有秘密鍵セットもまた、サブネットSNAの同じ静的検証鍵pkAに対応する。図2を参照すると、追加のノードN7を備えるサブネットSNAの第3サブネット構成203が示されており、ここではノードN3が削除されている。サブネット構成203は時点t4について有効である。図3を参照すると、時点t4における新たなノードセットの共有秘密鍵が示されている。分散ネットワークは、秘密再配布プロトコルを実行して、共有秘密鍵セットshare1,3、share2,3、share3,3、share4,3、share5,3、およびshare6,3を、新たなノードセットN1、N2、N4、N5、N6、およびN7に再配布した。したがって、秘密再配布プロトコルは、前のセットとはまた異なる別の新たな共有秘密鍵セットshare1,4、share2,4、share4,4、share5,4、share6,4、およびshare7,4を作成または生成した。これらもまた、サブネットSNAの同じ静的検証鍵pkAに対応する。
分散鍵生成プロトコルおよび秘密再配布プロトコルは、通常、静的公開鍵に関連付けられた秘密鍵であり、静的検証鍵に対応する秘密鍵である共有秘密鍵を保持する一連のディーラー、および同じ静的検証鍵に対応する新たな共有秘密鍵セットを受信する一連の受信者により実行され得る。一連のディーラーと一連の受信者とは、同一である場合と異なる場合とがある。一連のディーラーおよび一連の受信者は、概ね分散ネットワークの複数のノードにより形成され得る。いくつかの実施形態では、一連のディーラーおよび一連の受信者は、同じサブネットに属し得る。他の実施形態では、一連のディーラーおよび一連の受信者は、異なるサブネットに属し得る。いくつかの実施形態では、一連のディーラーは中央機関として機能する管理サブネットにより供給され得、管理サブネットはそれぞれの静的検証鍵に対応する共有秘密鍵または共有秘密鍵の共有を他のサブネットに提供または再配布する。
図4に、ネットワーク100のノード10上で動作する計算ユニット15をより詳細に示す。ネットワーク100は、ネットワーク100上で実行されている計算ユニットのそれぞれを、複数のサブネットのうちの1つに割り当てるように構成される。この例では、サブネット割り当てにしたがってサブネットSNA、SNB、SNC、またはSNDのうちの1つに割り当てられる。分散ネットワーク100のサブネット割り当ては、サブネットSNA、SNB、SNC、およびSNDの各々に割り当てられた計算ユニットの全セットのサブセットを作成する。
より具体的には、図4の左列図401に、図1のサブネットSNAのノード10を示す。分散ネットワーク100のサブネット割り当ては、5つの計算ユニット15のサブセットをサブネットSNAに、より具体的には計算ユニットCUA1、CUA2、CUA3、CUA4、およびCUA5のサブセットに割り当てた。割り当てられた計算ユニットCUA1、CUA2、CUA3、CUA4、およびCUA5のサブセットは、サブネットSNAの各ノード10上で実行される。さらに、計算ユニットCUA1、CUA2、CUA3、CUA4、およびCUA5の割り当てられたサブセットは、計算ユニットCUA1、CUA2、CUA3、CUA4、およびCUA5のそれぞれが同じユニット状態または実行状態を通過するように、サブネットSNA全体にわたって複製される。これは、特に、サブネットSNAのノード10のそれぞれの計算ユニットCUA1、CUA2、CUA3、CUA4、およびCUA5のユニット状態空間において、アクティブレプリケーションを実行することで実装され得る。
さらに、図4の右列図402に、図1のサブネットSNBのノード10を示す。そこでは、4つの計算ユニット15が、より具体的には、計算ユニットセットCUB1、CUB2、CUB3、およびCUB4が実行される。計算ユニットセットCUB1、CUB2、CUB3、およびCUB4は、サブネットSNBの各ノード10上で実行される。さらに、計算ユニットセットCUB1、CUB2、CUB3、およびCUB4は、例えば、上述のようにユニット状態空間においてアクティブレプリケーションを実行することで、計算ユニットセットCUB1、CUB2、CUB3、およびCUB4のそれぞれが同じユニット状態を有するように、サブネットSNB全体にわたって複製される。
図5に、本発明の方法の一実施形態の方法ステップのフローチャートを示す。
この方法は、高さ指数Nの増加とともに連続する順序で複数の処理ループ510を実行する。Nは、例えば、0、1、2、3・・・Nで増加する整数である。処理ループ510は、第1ループステップ511、第2ループステップ512、第3ループステップ513、第4ループステップ514、および第5ループステップ515を包含する。第1ループステップ511において、ネットワークの複数のノードのコンセンサスサブセット、特に、サブネットの複数のノードまたはサブネットの複数のノードのサブセットは、コンセンサスプロトコルを実行して、例えば、それぞれのサブネットで実行される実行メッセージの現在のセットの選択および処理順序に関する合意に到達する。第2のループステップ512において、実行サブセットの複数のノード、特に、サブネットの複数のノードまたはサブネットの複数のノードのサブセットの計算ユニットは、実行メッセージの選択を、決定論的方法およびそれぞれのサブネットにわたって複製される方法で個別に実行する。第3のループステップ513において、サブネットの複数のノードは、状態スナップショットを作成し、それぞれのノードのキャッシュメモリにそれを保存する。状態スナップショットは、単一の同一時点における計算ユニットのユニット状態または実行状態を含み得る。状態スナップショットは、サブネット情報の事例を構築する。一般に、サブネット情報は、サブネットが提供し得るサブネットの任意の情報であり得る。
ステップ514において、複数のノードの許容可能なサブセットにより、それぞれのサブネットの複数のノードは、状態スナップショット上で、またはより一般的にはそれらの共有秘密鍵によりサブネット情報上で、共同署名を実行するように構成される。ステップ514において、それぞれのサブネットは、署名された状態スナップショットを分散ネットワークのユーザに提供する。
図6に、本発明の方法の一実施形態によるさらなる方法ステップのフローチャートを示す。
ステップ611において、分散ネットワークのユーザは、例えば、図1に示されたようにユーザインターフェース101を介して、署名された状態スナップショットを読み取り得る。次に、ステップ612において、ユーザは、対応するサブネットの静的検証鍵により状態スナップショットの共同署名を検証し得る。
図7に、本発明の一実施形態の分散ネットワーク700の概略図を示す。分散ネットワーク700は、管理サブネット701、SN0を備える。管理サブネットSN0は、複数の管理ノード10およびサブネットSNA、702およびサブネットSNB、703として例示されるおよび複数のさらなるサブネットを含む。また、管理サブネットSN0は、複数のサブネットXのすべての静的検証鍵pkX、すなわち、この例では特にサブネットSNAおよびSNBの静的検証鍵pkAおよびpkBをそれぞれ含むリスト710を格納する。さらに、管理サブネットSN0は、公開鍵署名方式のルート検証鍵pk0を保持する。サブネットSN0の複数のノード10は、ルート検証鍵pk0に対応する複数の共有秘密鍵を保持する。
したがって、管理サブネットSN0は、分散ネットワーク700の単一のルートオブトラストを構築し、さらなるサブネットの複数のノードは、管理サブネットSN0により署名された情報を検証するために、ルート検証鍵pk0を使用し得る。特に、分散ネットワークのさらなるサブネットが、管理サブネットSN0を使用して、サブネットの1つ以上の静的検証鍵pkXを受信し得る。これについて、ユーザUまたはサブネットSNXと、特に、サブネットSNXの複数のノードのうちの1つとの鍵交換の例示的メッセージフローを、図8にさらに示す。ステップ801において、複数のサブネットSNXのうちの1つのユーザまたは1つのノードは、1つ以上のサブネットの静的検証鍵が提供される検証鍵請求を管理サブネットSN0に送信し得る。次いで、管理サブネットSN0は、受信した検証鍵請求に応答して、請求されたサブネットの検証鍵を含む検証鍵応答をコンパイルし得る。そして、管理サブネットSN0は検証鍵応答にさらに署名し得る。より具体的には、検証鍵応答は、ルート検証鍵pk0に対応する共有秘密鍵の許容可能なサブセットを有する管理サブネットSN0の複数のノード10のサブセットにより署名され得る。これにより、検証鍵応答の全体または検証鍵応答の静的検証鍵(複数)の共同署名σpk0が作成される。次いで、管理サブネットSN0は、ステップ802において、1つ以上のサブネットSNXの請求された静的検証キーpkXを含む署名付き検証鍵応答を、ユーザUまたはサブネットSNXのノードに送信し得る。次いで、検証鍵応答の署名σpk0は、ルート検証鍵pk0のそれぞれのノードまたはユーザによって検証され得る。
図9aおよび図9bは、本発明の実施形態において使用され得る検証鍵およびその対応する共有秘密鍵の実施形態を示す。
図9aは、本発明の一実施形態による分散鍵生成プロトコルが生成する鍵セット910の一実施形態を示す。分散鍵生成プロトコルは、分散しきい値鍵生成プロトコルとして具体化される。この例では、N個のノードが分散鍵生成プロトコルに参加すると仮定する。複数のノードは、一般に、任意のサブネットのノード、または、特にサブネットの静的検証鍵の初期生成および対応する共有秘密鍵の初期サブセットに割り当てられた、管理サブネットのノードであり得る。N個のノードの各々は、i=1、・・・、Nである共有秘密鍵skiを有する。N個のノードは、それぞれのサブネットXの共通静的検証鍵(公開鍵)pkXを共同で生成し、所定のしきい値、例えば、ノードの少なくとも3分の2または3分の1が静的検証鍵に合意し、閾値署名σpkXを生成する新たな静的検証鍵に共同で署名する必要がある。
図9bに、本発明の一実施形態において分散鍵生成プロトコルが生成する一連の鍵920の一実施形態を示す。分散鍵生成プロトコルは、多重署名プロトコルとして具体化される。
この例では、N個のノードが分散鍵生成プロトコルに参加すると再び仮定する。分散鍵生成プロトコルのラウンドの各々について、N個のノードの各々は、i=1、・・・、Nである共有秘密鍵skiを有する。この実施形態では、共有秘密鍵は独立した秘密鍵skiとして具体化され得る。N個のノードは、ベクトルとして具体化される共通公開鍵または共通検証鍵ベクトルpkについて共同で合意する。ここでもまた、事前に定義されたしきい値、例えば、複数のノードの少なくとも3分の2またはノードの3分の1は、新たな公開鍵または検証鍵ベクトルpkについての秘密鍵(共有鍵)を有する署名を提供する必要がある。この実施形態では、N個のノードは、それぞれの秘密鍵ski、sk2、・・・、skNを用いて、ベクトル検証鍵ベクトルpkの対応する要素について個々の署名σ1pk1、σ2pk2、・・・、σNpkNを実行する。より詳細には、個々の署名σipkiの各々は、対応する個々の公開鍵pkiを有する。よって、そのような実施形態では、検証鍵は、個々の公開鍵のpkiのベクトルpk=(pki、pk2、・・・、pkN)として具体化され、共同署名もベクトルσpk=(σ1pk1、σ2pk2、・・・、σNpkN)として具体化される。他の実施形態では、集約された署名方式も使用し得る。
図10に、本発明の実施形態による分散ネットワークにおけるブロックの生成について示す。ブロックは、特に、実行サブセットの計算ユニットが処理する入力ブロックであり得る。実行サブセットが処理すべきブロックは、サブネットのそれぞれのノードのコンセンサスサブセットにより合意されたものである。
この例示的な実施形態では、3つの入力ブロック1001、1002、および1003が示される。ブロック1001は、複数のトランザクション、すなわち、トランザクションtx1.1、tx1.2、およびドットで示され得るさらなるトランザクションを備える。ブロック1002はまた、複数のトランザクション、すなわち、トランザクションtx2.1、tx2.2、およびドットで示され得るさらなるトランザクションを備える。ブロック1003もまた、複数のトランザクション、すなわち、トランザクションtx3.1、tx3.2、およびドットで示され得るさらなるトランザクションを備える。入力ブロック1001、1002、および1003は、ともに連鎖接続される。より詳細には、ブロックの各々は、前のブロックのブロックハッシュを備える。これにより、現在のブロックは前のブロックに暗号で結びつけられる。いくつかの実施形態では、トランザクションは、特に、実行サブセットの複数のノードが実行する実行メッセージであり得る。いくつかの実施形態では、入力ブロック1001、1002、および1003は、プルーフオブステークプロトコルにより作成され得る。しかしながら、コンセンサスコンポーネントが生成した入力ブロックは、いくつかの実施形態では、互いに連鎖する必要はないことに留意されたい。むしろ、受信メッセージの選択および/または処理順序に関してノード間で何らかの種類の合意に達する任意のコンセンサスプロトコルが、いくつかの実施形態で使用され得る。
図11を参照すると、例えば図1のネットワーク100の、本発明の実施形態によるネットワークノード10のより詳細なブロック図が示されている。ネットワークノード10は、計算機能を実行し得る計算ノードを構築する。よって、一般に、計算システムまたはコンピュータとして具体化され得る。ネットワークノード10は、例えば、サーバコンピュータであり得る。ネットワークノード10は、本発明のいくつかの実施形態によるコンピュータ実装方法を実行または参加するように構成され得る。ネットワークノード10は、多数の他の汎用または専用計算システム環境または構成で動作し得る。ネットワークノード10は、コンピュータシステムが実行するプログラムモジュールなどのコンピュータシステム実行可能命令の一般的な文脈で説明し得る。一般に、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含み得る。ネットワークノード10は、汎用計算装置の形態で示されている。ネットワークノード10の複数のコンポーネントは、これに限定するものではないが、1つ以上のプロセッサまたは処理ユニット1115と、システムメモリ1120と、システムメモリ1120を含むさまざまなシステムコンポーネントをプロセッサ1115に結合するバス1116とを含み得る。バス1116は、さまざまな形態のバスアーキテクチャのいずれか1つ以上を実現するものであり、それらは、さまざまなバスアーキテクチャのいずれかで使用されているメモリバスまたはメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート、およびプロセッサ、またはローカルバスを含む。例として、それらに限定するものではないが、そのようなアーキテクチャには、インダストリスタンダードアーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、エンハンストISA(EISA)バス、ビデオエレクトロニクススタンダーズアソシエーション(VESA)ローカルバス、およびペリフェラルコンポーネントインターコネクト(PCI)バスが含まれる。ネットワークノード10は、典型的には、さまざまなコンピュータシステム可読媒体を含む。そのような媒体は、ネットワークノード10がアクセス可能な任意の利用可能媒体でよく、揮発性および不揮発性媒体で、取り外し可能および取り外し不可媒体の両方を含む。システムメモリ1120は、ランダムアクセスメモリ(RAM)1121および/またはキャッシュメモリ1122などの揮発性メモリの形態のコンピュータシステム可読媒体を含み得る。ネットワークノード1110は、その他の取り外し可能または取り外し不可の揮発性または不揮発性コンピュータシステム記憶媒体をさらに含み得る。ほんの一例として、記憶システム1123は、取り外し不可の不揮発性磁気媒体(図示せず、一般に「ハードドライブ」と称される)を設置可能であり、その媒体からの読み取りおよびその媒体への書き込みを行う。図示されていないが、読み出しおよび書き込みを行う取り外し可能不揮発性磁気ディスク(例えば、「フロッピー(登録商標)ディスク」)などの磁気ディスクドライブや、CD-ROM、DVD-ROM、または他の光媒体などの取り外し可能不揮発性光ディスクとの読み取りおよび書き込みを行う光ディスクドライブも設置可能である。そのようなときの各々は、1つ以上のデータ媒介インターフェイスによりバス1116に接続され得る。以下でさらに図示および説明するように、メモリ1120は、本発明の実施形態の機能を実行するように構成された一連のプログラムモジュール(例えば、少なくとも1つ)を有する少なくとも1つのコンピュータプログラム製品を含み得る。プログラムまたはユーティリティ1130は、一連のプログラムモジュール1131(の少なくとも1つ)を有し、例として、これらに限定するものではないが、メモリ1120に格納され得、また、オペレーティングシステム、1つまたは複数のアプリケーションプログラム、他のプログラムモジュール、およびプログラムデータも格納され得る。オペレーティングシステム、1つまたは複数のアプリケーションプログラム、他のプログラムモジュール、およびプログラムデータ、またはそれらの何らかの組合せの各々の、ネットワーキング環境への実装も含み得る。プログラムモジュール1131は、一般に、本明細書に記載の本発明の実施形態の機能および/または方法を実行し得る。プログラムモジュール1131は、特にコンピュータ実装方法の1つ以上のステップを、例えば、上述の方法の1つ以上のステップを実行し得、分散ネットワークにおけるコンセンサスプロトコルを含むサブネット間通信を行う。ネットワークノード10はまた、キーボードまたはポインティングデバイスなどの1つ以上の外部デバイス1117、ならびにディスプレイ1118と通信し得る。そのような通信は、入力/出力(I/O)インターフェイス1119を介して生じ得る。さらに、ネットワークノード10は、ネットワークアダプタ1141を介して、ローカルエリアネットワーク(LAN)、汎用ワイドエリアネットワーク(WAN)、および/またはパブリックネットワーク(例えば、インターネット)などの1つ以上のネットワーク40と通信可能である。いくつかの実施形態では、ネットワーク1140は、特に、複数のネットワークノード10、例えば、図1に示すようなネットワーク100を備える分散ネットワークであり得る。図示したように、ネットワークアダプタ1141は、バス1116を介してネットワークノード10の他のコンポーネントと通信する。図示していないが、他のハードウェアおよび/またはソフトウェアコンポーネントがネットワークノード10と併せて使用され得ることを理解されたい。
図12に、本発明の実施形態による計算ユニット1200のより詳細な図を示す。計算ユニット1200は、ユーザまたはアプリケーション状態1201と、システム状態1202とを備える。
ユーザ状態1201は、複数のモジュールの各々の実例とともに、計算ユニットおよびそれに付随する複数のモジュールの機能を実装するメインウェブアセンブリ(WASM)モジュールを備える。WASMモジュールの実例では、複数のメモリ、複数のグローバル変数、および複数のテーブルから構成される。システム状態1202は、計算ユニットのコードによる自由な変更ができない。これには、メタデータ、計算ユニットに代わるシステムにより維持される他の状態、特にコンパイルされた形態のWASMモジュール、および未処理のメッセージのコンテキストおよびコールバックが含まれる。本発明の態様は、システム、特に、複数のサブネットを備える分散ネットワーク、方法、および/またはコンピュータプログラム製品として具体化され得る。コンピュータプログラム製品は、プロセッサが本発明の態様を実行するためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(または複数の媒体)を含み得る。
コンピュータ可読記憶媒体は、命令実行装置が使用する命令を保持および格納可能な有形装置であり得る。コンピュータ可読記憶媒体は、例えば、電子記憶装置、磁気記憶装置、光記憶装置、電磁記憶装置、半導体記憶装置、またはこれらの任意の適切な組合せであり得るが、これらに限定されるものではない。コンピュータ可読記憶媒体は、本明細書で使用されるように、電波または他の自由に伝播する電磁波、導波管または他の伝送媒体を通って伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、または配線を通して送信される電気信号などのそれ自体が一時的な信号であるもの、と解釈されるべきではない。
本明細書で説明するコンピュータ可読プログラム命令は、それぞれの計算または処理装置に、コンピュータ可読記憶媒体、またはネットワーク、たとえば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはワイヤレスネットワークを介して、外部コンピュータまたは外部記憶装置にダウンロード可能である。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータおよび/またはエッジサーバを含み得る。各計算または処理装置内のネットワークアダプタカードまたはネットワークインターフェイスは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれの計算/処理装置内のコンピュータ可読記憶媒体に記憶するために、コンピュータ可読プログラム命令を転送する。
本発明の動作を実行するコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む1つ以上のプログラミング言語の任意の組合せで記述されたソースコードまたはオブジェクトコードのいずれかであり得る。
本発明の態様は、本発明の実施形態による方法、ネットワーク、装置(システム)、およびコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照して本明細書で説明される。
本発明の実施形態によるコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供されて、機械を生成し得る。これにより、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサで実行される命令が、フローチャートおよび/またはブロック図のブロックまたはブロックに指定された機能/動作を実装するための手段が生成される。これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラマブルデータ処理装置、および/または他のデバイスに特定の方法で機能するように指示可能であるコンピュータ可読記憶媒体に格納され得る。その格納された命令を有するコンピュータ可読記憶媒体は、フローチャートおよび/またはブロック図または複数のブロックにおいて指定された機能/動作の態様を実装する命令を含む製品を備える。
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイス上にロードされることで、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイス上で実行される一連の動作ステップをコンピュータ、他のプログラマブル装置、または他のデバイス上で実行されるコンピュータ実装プロセスを生成し得る。これにより、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイス上で実行される命令は、フローチャートおよび/またはブロック図または複数のブロックにおいて指定される機能/動作を実装する。
図示したフローチャートおよびブロック図に、本発明のさまざまな実施形態による、ネットワーク、システム、方法、およびコンピュータプログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示す。この点に関して、フローチャートまたはブロック図の各ブロックは、特定の論理機能を実装する1つ以上の実行可能命令を備える、モジュール、セグメント、または命令の一部を表し得る。いくつかの代替的な実装形態では、ブロックに記載された機能は、図に記載された順序から外れて発生し得る。例えば、連続して示される2つのブロックは、実際には、実質的に同時に実行され得る。また、これらのブロックは、関与する機能に応じて逆の順序でも実行され得る。
本明細書には、本発明の現状で好ましい実施形態が示され記載されているが、本発明は、それらに限定されるものではなく、特許請求の範囲内で、他の方法でさまざまに具体化され実施され得ることが明確に理解されるべきである。
Claims (15)
- 複数のサブネットを有する分散ネットワークであって、前記複数のサブネットの各々は、変更可能な一連の複数のノードを有し、前記ネットワークは、
分散鍵生成プロトコルが、前記複数のサブネットの各々について、公開鍵署名方式の個別の静的検証鍵を生成するとともに前記各サブネットの第1ノードセットに対応する第1共有秘密鍵セットを生成し、
秘密再配布プロトコルが、前記第1共有秘密鍵セットのそれぞれの共有秘密鍵を、前記各サブネットの第2ノードセットに再配布することで、前記各サブネットの同一の静的検証鍵に対応する第2共有秘密鍵セットを生成するように構成されている、分散ネットワーク。 - 前記第1ノードセットのサブセットの各ノードは、前記第1共有秘密鍵セットのうちの1つの共有秘密鍵を保持し、
前記第2ノードセットのサブセットの各ノードは、前記第2共有秘密鍵セットのうちの1つの共有秘密鍵を保持する、請求項1に記載の分散ネットワーク。 - 前記各サブネットの前記複数のノードは、割り当てられた一連の複数の計算ユニットを実行するように構成され、
前記複数のサブネットの前記複数の計算ユニットは、前記複数のサブネット全体にわたって、決定論的かつ複製される方法で計算を実行するように構成されている、請求項1または2に記載の分散ネットワーク。 - 前記ネットワークは、前記秘密再配布プロトコルが、前記複数のサブネットの各々について、前記第2共有秘密鍵セットの共有秘密鍵を、前記各サブネットの第3ノードセットに再配布することで、前記各サブネットの同一の静的検証鍵に対応する第3共有秘密鍵セットを生成するように構成されている、請求項1から3までのいずれか1項に記載の分散ネットワーク。
- 前記第1ノードセットのサブセットは、前記第2ノードセットのサブセットと等しい、および/または、
前記第2ノードセットのサブセットは、前記第3ノードセットのサブセットと等しい、請求項1から4までのいずれか1項に記載の分散ネットワーク。 - 前記第1ノードセットのサブセットは、前記第2ノードセットのサブセットとは異なる、および/または、
前記第2ノードセットのサブセットは、前記第3ノードセットのサブセットとは異なる、請求項1から5までのいずれか1項に記載の分散ネットワーク。 - 前記分散ネットワークは、前記各サブネットの前記秘密再配布プロトコルを、事前に定義された時間間隔で定期的に実行するように構成されている、請求項1から6までのいずれか1項に記載の分散ネットワーク。
- 前記分散鍵生成プロトコルは、しきい値分散鍵生成プロトコルである、請求項1から7までのいずれか1項に記載の分散ネットワーク。
- 前記秘密再配布プロトコルは、しきい値鍵再配布プロトコルである、請求項1から8までのいずれか1項に記載の分散ネットワーク。
- 前記複数のサブネットの前記複数のノードは、前記複数のノードのうち許容されたサブセットが、それらの共有秘密鍵によるサブネット情報の共同署名を実行するように構成され、署名された前記サブネット情報を前記分散ネットワークのユーザおよび/または別の受信側サブネットに提供する、請求項1から9までのいずれか1項に記載の分散ネットワーク。
- 前記分散ネットワークの前記ユーザおよび/または前記受信側サブネットは、対応する前記サブネットの前記静的検証鍵により、前記サブネット情報の前記共同署名を検証するように構成されている、請求項10に記載の分散ネットワーク。
- 前記分散ネットワークは、複数の構成ノードを備える管理サブネットを備え、前記管理サブネットは、
前記複数のサブネットの静的検証鍵を格納し、
公開鍵署名方式のルート検証鍵および対応する複数の共有秘密鍵を保持し、
1つ以上のサブセットの前記静的検証鍵を提供するための検証鍵請求を受信し、
前記検証鍵請求に応答して、1つ以上のサブセットの前記静的検証鍵を備える検証鍵応答を提供し、
前記管理サブネットの前記複数のノードのサブネットが、前記ルート検証鍵に対応する前記共有秘密鍵の許容サブネットとともに前記検証鍵応答に署名することで、前記検証鍵応答の共同証明を作成する、
ように構成されている請求項1から11までのいずれか1項に記載の分散ネットワーク。 - 複数のサブネットを備える分散ネットワークにおいて複数の検証鍵の管理を行うコンピュータ実装方法であって、前記複数のサブネットの各々は複数のノードを備えており、前記方法は、
分散鍵生成プロトコルが、前記複数のサブネットの各々について、公開鍵署名方式の個別の静的検証鍵生成するとともに前記各サブネットの第1ノードセットに対応する第1共有秘密鍵セットを生成するステップと、
秘密再配布プロトコルが、前記第1共有秘密鍵セットのそれぞれの共有秘密鍵を、前記各サブネットの第2ノードセットに再配布することで、前記各サブネットの同一の静的検証鍵に対応する第2共有秘密鍵セットを生成するステップと、を備える方法。 - 請求項1から12までのいずれか1項に記載の分散ネットワーク用のノ-ド。
- 複数のノードよりなるノードセットをそれぞれ含む複数のサブネットを備える分散ネットワークを動作させるコンピュータプログラム製品であって、
前記コンピュータプログラム製品は複数のプログラム命令が取り込まれたコンピュータ可読記憶媒体を備えており、
前記複数のプログラム命令は、前記複数のノードの1つ以上に以下の方法を実行させるために前記複数のノードの1つ以上によって実行可能であり、前記方法は、
分散鍵生成プロトコルが、前記複数のサブネットの各々について、公開鍵署名方式の個別の静的検証鍵を生成するとともに前記各サブネットの第1ノードセットに対応する第1共有秘密鍵セットを生成するステップと、
秘密再配布プロトコルが、前記第1共有秘密鍵セットのそれぞれの共有秘密鍵を、前記各サブネットの第2ノードセットに再配布することで、前記各サブネットの同一の静的検証鍵に対応する第2共有秘密鍵セットを生成するステップと、
を備えている、コンピュータプログラム製品。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2020/068420 WO2022002375A1 (en) | 2020-06-30 | 2020-06-30 | Distributed networks having a plurality of subnets |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023553783A true JP2023553783A (ja) | 2023-12-26 |
Family
ID=71579547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023523326A Pending JP2023553783A (ja) | 2020-06-30 | 2020-06-30 | 複数のサブネットを有する分散ネットワーク |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230269092A1 (ja) |
EP (1) | EP4173222A1 (ja) |
JP (1) | JP2023553783A (ja) |
KR (1) | KR20230038493A (ja) |
CN (1) | CN116171555A (ja) |
WO (1) | WO2022002375A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115086319A (zh) * | 2022-06-13 | 2022-09-20 | 杭州复杂美科技有限公司 | 多子网区块链网络及其交易广播方法、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RO134065A0 (ro) * | 2019-08-14 | 2020-04-30 | Ingenium Blockchain Technologies S.R.L. | Platformă şi metodă de conectare a unui motor de blockchain |
JP6651042B1 (ja) * | 2019-08-28 | 2020-02-19 | 株式会社bitFlyer Blockchain | 複数のノードを有する分散ネットワークに資産の移転を表すトランザクションを記憶する方法及びそのためのプログラム並びに当該分散ネットワークを構成するためのノード |
-
2020
- 2020-06-30 WO PCT/EP2020/068420 patent/WO2022002375A1/en unknown
- 2020-06-30 CN CN202080104278.7A patent/CN116171555A/zh active Pending
- 2020-06-30 EP EP20737329.1A patent/EP4173222A1/en active Pending
- 2020-06-30 KR KR1020237003374A patent/KR20230038493A/ko unknown
- 2020-06-30 US US18/014,111 patent/US20230269092A1/en active Pending
- 2020-06-30 JP JP2023523326A patent/JP2023553783A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022002375A1 (en) | 2022-01-06 |
US20230269092A1 (en) | 2023-08-24 |
KR20230038493A (ko) | 2023-03-20 |
EP4173222A1 (en) | 2023-05-03 |
CN116171555A (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mallouli et al. | A survey on cryptography: comparative study between RSA vs ECC algorithms, and RSA vs El-Gamal algorithms | |
CN112906044B (zh) | 多方安全计算方法、装置、设备及存储介质 | |
US8429408B2 (en) | Masking the output of random number generators in key generation protocols | |
Qin et al. | Server-aided revocable identity-based encryption | |
JP7385580B2 (ja) | デジタルアセットの制御を移転するための、コンピュータにより実施される方法およびシステム | |
US20230361993A1 (en) | Redistribution of secret sharings | |
JP2021510954A (ja) | デジタル署名されたデータを取得するためのコンピュータにより実施される方法及びシステム | |
CN113742670B (zh) | 多方协同解密方法和装置 | |
CA3077500A1 (en) | Access to secured information | |
Goswani et al. | Enhancing security in cloud computing using public key cryptography with matrices | |
Biçer et al. | Highly efficient and re-executable private function evaluation with linear complexity | |
JP2023553783A (ja) | 複数のサブネットを有する分散ネットワーク | |
CA2742530C (en) | Masking the output of random number generators in key generation protocols | |
US20230179409A1 (en) | Verification key generation in distributed networks | |
WO2022233437A1 (en) | Data authentication in distributed networks | |
US20240236075A1 (en) | Data authentication in distributed networks | |
US20240154820A1 (en) | Multi-party computations in a distributed network | |
US20240154821A1 (en) | Randomness in distributed networks | |
TWI737956B (zh) | 基於秘密共享的門檻式簽章系統及其方法 | |
KR20240089221A (ko) | 재랜덤화된 사전 서명을 사용한 디지털 서명 | |
WO2023052603A1 (en) | Digital signatures with re-randomized presignatures | |
Kamil | NOVEL LIGHTWEIGHT ENCRYPTION API FOR IOT DEVICE COMMUNICATION | |
WO2023052609A1 (en) | Digital signatures with key-derivation | |
De Keyser | Implementation of a verifiable mix network based on the trade-off between resilience, scalability, and performance | |
JP2021093665A (ja) | 鍵交換システム、情報処理装置、鍵交換方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230626 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240529 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240605 |