JP2023552263A - 秘密分散の再分配 - Google Patents

秘密分散の再分配 Download PDF

Info

Publication number
JP2023552263A
JP2023552263A JP2023519886A JP2023519886A JP2023552263A JP 2023552263 A JP2023552263 A JP 2023552263A JP 2023519886 A JP2023519886 A JP 2023519886A JP 2023519886 A JP2023519886 A JP 2023519886A JP 2023552263 A JP2023552263 A JP 2023552263A
Authority
JP
Japan
Prior art keywords
secret
shared
recipients
recipient
computer
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
Application number
JP2023519886A
Other languages
English (en)
Inventor
ヤン カメニッシュ,
アンドレア チェルッリ,
マヌ ドライヴェールズ,
イェンス グロート,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dfinity Stiftung
Original Assignee
Dfinity Stiftung
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dfinity Stiftung filed Critical Dfinity Stiftung
Publication of JP2023552263A publication Critical patent/JP2023552263A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic 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/3239Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本発明の第1の態様の実施形態では、一組のディーラーから一組の受信者への秘密sの(n,t)秘密分散の再分配を行うコンピュータ実装方法が提供される。(n,t)秘密分散は、n個の共有秘密を備え、共有秘密のしきい値t≦nは、秘密を再構築するために十分な数である。本方法は、少なくともしきい値tの数のディーラーの各々が、そのそれぞれの共有秘密について(n´,t´)秘密分散を作成するステップを実行しており、(n´,t´)秘密分散は、そのそれぞれの共有秘密についてn個の部分共有秘密を含み、部分共有秘密のしきい値t´≦n´は、受信者の共有秘密を再構築するために十分な数である。本方法は、少なくともしきい値tの数のディーラーの各々が、一組の暗号文を作成するステップをさらに備え、一組の暗号文は、各受信者について、そのそれぞれの共有秘密についてn個の部分共有秘密の1つについて暗号化された部分共有を含み、暗号化された部分共有秘密は、それぞれの受信者の公開暗号鍵について暗号化される。公開暗号鍵は、公開鍵暗号化方式の鍵である。本方法は、少なくともしきい値tの数のディーラーの各々が、一組の暗号文がその共有秘密の再分配を共同で含む非対話ゼロ知識証明を生成するステップと、ディーリングを一組の不特定多数の受信者へ配信するステップとをさらに備え、ディーリングは、一組の受信者に対する一組の暗号文と、対応する非対話ゼロ知識証明とを含む。【選択図】図9

Description

本発明は、一組のディーラーから一組の受信者への秘密の、既存の秘密分散の再分配を行うコンピュータ実装方法に関する。
さらなる態様は、非一時的媒体上に符号化された分散ネットワーク、分散ネットワークのノード、対応するコンピュータプログラム製品、およびソフトウェアアーキテクチャに関する。
分散ネットワークでは、複数のノードが分散して配置される。分散ネットワークコンピューティングでは、ソフトウェアおよびデータがそれらの複数のノードにわたって分散される。それらのノードが計算リソースを構築し、分散型ネットワークは分散型コンピューティング(Link)技法を使用し得る。
分散ネットワークの一例として、ブロックチェーンネットワークがある。ブロックチェーンネットワークは、ブロックを基礎とするコンセンサスベースの電子台帳である。各ブロックは、複数のトランザクションおよび他の情報を含む。さらに、各ブロックは、前のブロックのハッシュを含むことで、ブロックがともに連鎖して、ブロックチェーンに書き込まれたすべてのトランザクションの永続的で変更不可能な記録を作成する。トランザクションは、例えばスマートコントラクトとして知られている小さなプログラムを含むことができる。
トランザクションがブロックチェーンに書き込まれるためには、トランザクションはネットワークにより「検証」されることが必須である。言い換えれば、ネットワークノードは、ブロックチェーンに書き込まれるブロックに対してコンセンサスを得ることが必須である。そのようなコンセンサスは、さまざまなコンセンサスプロトコルにより達成され得る。
コンセンサスプロトコルの1つの形態は、プルーフオブワークコンセンサスプロトコルである。プルーフオブワークコンセンサスプロトコルは、一般に、コンセンサスプロトコルに参加する複数の当事者の作業を必要とし、これは、通常、コンピュータによる処理時間に対応する。
Bitcoin(登録商標)のようなプルーフオブワークベースの暗号通貨システムは、計算集約型のパズルの解くことで、トランザクションを検証して新たなブロックを作成する。
他の形態のコンセンサスプロトコルとして、プルーフオブステークプロトコルがある。このようなプルーフオブステークプロトコルは、時間を要するエネルギー集約型の計算を必要としないという利点を有する。プルーフオブステークに基づくブロックチェーンネットワークでは、例えば、次のブロックの作成者は、ランダム選択の組合せ、ならびにネットワーク内のそれぞれのノードのステークを通して選択される。
暗号通貨以外でも、分散ネットワークは、他のさまざまなアプリケーションにおいて使用され得る。特に、それらは、分散型および分散計算能力およびサービスを提供に使用され得る。
分散ネットワークの問題の1つは、ネットワークのノードの効率的で安全な鍵管理の方法を提供するところにある。
分散ネットワークは、公開鍵の暗号を使用することで、特に、メッセージを暗号化および復号化を行う、および/またはデジタル署名を発行および検証を行う。
ネットワーク構成を変更するとき、同様にセキュリティ上の理由から、使用される暗号化方式および復号化方式に関連する鍵材料(キーマテリアル)、特に鍵材料の秘密は、再共有すなわち再分配することが望ましい。
本発明の態様の1つの目的は、特に効率および/またはセキュリティの観点から、既存の秘密分散の再分配を行う高度な方法を提供するところにある。
本発明の第1の態様の一実施形態では、一組のディーラーから一組の受信者への秘密sの(n,t)秘密分散の再分配を行うコンピュータ実装方法が提供される。(n,t)秘密分散は、n個の共有秘密を備え、共有秘密のしきい値t≦nは、秘密を再構築するために十分な数である。本方法は、少なくともしきい値tの数のディーラーの各々が、そのそれぞれの共有秘密について(n´,t´)秘密分散を作成するステップを実行するステップを備え、(n´,t´)秘密分散は、そのそれぞれの共有秘密についてn´個の部分共有秘密を含み、部分共有秘密のしきい値t´≦n´は、共有秘密を再構築するために十分な数である。本方法は、少なくともしきい値tの数のディーラーの各々が、一組の暗号文を作成するステップをさらに備え、一組の暗号文は、受信者ごとに、それぞれの共有秘密についてn個の部分共有秘密の1つ暗号化された部分共有を含み、暗号化された部分共有秘密は、それぞれの受信者の公開暗号鍵について暗号化される。公開暗号鍵は、公開鍵暗号化方式の鍵である。本方法は、少なくともしきい値tの数のディーラーの各々が、一組の暗号文がその共有秘密の再分配を共同で含む非対話ゼロ知識証明を生成するステップと、ディーリングを一組の不特定多数の受信者へ配信するステップとをさらに備え、ディーリングは、一組の受信者に対する一組の暗号文と、対応する非対話ゼロ知識証明と、を含む。
本方法のいくつかの実施形態では、一組のディーラーから一組の受信者に既存の秘密分散を再共有または再分配することを可能にする。したがって、本発明のいくつかの実施形態による方法は、複数のディーラーから複数の受信者に秘密分散を再分配する方法を提供する。
そのような具体化された方法では、秘密分散の再分配は、効率的かつ安全な方法で実行され得る。より詳細には、暗号化された部分共有および対応するゼロ知識証明を不特定多数に配信することで、一組のディーラーと一組の受信者との間の効率的な通信を容易にする。特に、再分配は、非対話な方法で実行され得る。すなわち、ディーラーの各々は単一のディーリングのみを生成し、この単一のディーリングを、不特定多数に配信されたディーリングを読み取る一組の不特定多数の受信者のへ配信する。
一組のディーラーと一組の受信者との間に、不特定多数への配信とは別のさらなる対話は必要ない。これには、ディーラーと受信者との間のバイラテラル通信が不要であり、互いに不満がないことも含まれる。
特に、受信者間の対話は必要とされない。受信者は、不特定多数に配信されたディーリングを互いに独立して検証可能であり、誰とも対話する必要がない。
具体化された方法の非対話特性、特に、受信者が誰とも対話する必要がない特性は、特に、単一のディーリングの各々について、それぞれのディーラーの各々が別個の非対話ゼロ知識証明を提供することで容易になる。非対話なゼロ知識証明は、各受信者が解読し、その正しい共有を取得可能であることを保証する。したがって、一組の受信者は、独立した方法で秘密分散の正確さを検証可能である。
いくつかの実施形態では、非対話型ゼロ知識証明は、一組の受信者が、誰とも、すなわち、証明者と対話する必要がなく、証明を検証するために他の受信者とも対話する必要がないように構成されるゼロ知識証明として定義される。
ゼロ知識証明は、一組の暗号文が、それぞれのディーラーの共有秘密の再分配を共同で含むことの証拠を提供する。言い換えれば、ゼロ知識証明は、各ディーラーが生成した一組の暗号文がディーラーの共有秘密の共有を含む、すなわち、一組の暗号文が正しい共有秘密の有効な暗号化であるという証拠を提供する。
一実施形態では、本方法は、一組の所定の当事者が、特に一組の受信者が、ディーリングの非対話型ゼロ知識証明を検査するステップをさらに含む。十分な数の証明が成功裏に検査されるか、または、受信者の各々は、ディーリングにわたってその暗号化された部分共有を解読し得る。言い換えれば、各受信者は、一組のディーラーが不特定多数に配信したディーリングの各々から1つの部分共有を受信し、解読し得る。次いで、受信者の各々は、復号化された部分共有を秘密の新たな共有秘密に結合し得る。
他の実施形態では、ゼロ知識証明の各々は、ディーラーの各々が、他のディーラーのいずれとも対話することなく、そのゼロ知識証明を作成可能なように、非対話的な方法で構成される。
したがって、そのような一実施形態では、非対話型ゼロ知識証明は、受信者だけでなくディーラーも互いに対話する必要がなく、後に不特定多数の受信者に配信される出力を作成することを除いて、受信者と対話する必要がないように構成される証明である。
このことは、効率をさらに高める。
さらなる一実施形態では、ゼロ知識証明は、公的に検証可能なゼロ知識証明である。公的に検証可能なゼロ知識証明は、誰でも、特に任意の利害関係者が検証可能な証明として定義し得る。したがって、ディーリングが完了して不特定多数に配信されると、誰でも、ディーリングが正しいこと、およびすべての受信者がディーリングから正しい分配を取得可能なことの証明を確認できる。
一実施形態では、秘密分散は、線形秘密分散、特にシャミア(shamir)秘密分散である。
一実施形態では、本方法は、各ディーラーが、その秘密分散の関連公開鍵材料と前記共有秘密のその共有秘密とを作成するステップと、関連公開鍵材料をディーリングに追加するステップとを含む。
一般に関連公開鍵材料は、秘密分散の機能を有する材料として定義し得る。
関連公開鍵材料は、いくつかの実施形態では、それぞれのディーラーが作成した秘密分散に関連するまたは対応する公開群要素を含み得る。
関連公開鍵材料は、実施形態では、それぞれのディーラーの共有秘密に関係するまたは関連する公開群要素を含み得る。
一実施形態では、ディーラーが秘密分散を有する秘密は、公開鍵署名方式の公開検証鍵に相当する秘密鍵である。
一実施形態では、本方法は、任意の参加者または当事者が、特に受信者が、受信者の新たな秘密分散および受信者の新たな共有秘密に関連する一組のディーラーが作成した関連公開鍵材料から作成するステップをさらに含む。
いくつかの実施形態では、新たな関連公開鍵材料は、ラグランジュ補間により計算され得る。
一実施形態では、新たな関連公開鍵材料の作成は、一組のディーラーが作成した関連公開鍵材料から、新たな関連公開鍵材料を導出するステップを含む。
いくつかの実施形態では、新たな関連公開鍵材料は、受信者の新たな共有秘密に関連付けられた公開共有検証鍵を含み得る。
いくつかの実施形態では、新たな関連公開鍵材料は、秘密鍵に関連する公開検証鍵を含み得る。
いくつかの実施形態では、新たな関連公開鍵材料は、受信者の公開共有検証鍵および/または公開検証鍵を導出可能な要素を含み得る。
公開鍵署名方式では、公開検証鍵は、署名、特に、新たな共有秘密を有する一組の受信者が共通に生成したしきい値署名の検証に使用され得る。
そして、公開共有検証鍵は、それぞれの受信者が生成した個々の署名を、その新たな共有秘密を用いて検証するために使用され得る。
一実施形態では、本方法は、受信者の部分共有秘密を暗号化するために、選択された暗号文攻撃セキュリティを有する公開鍵暗号化方式を使用するステップをさらに含む。
これにより、この方法のセキュリティがさらに向上する。
一実施形態では、この方法は、受信者のための部分共有秘密を暗号化するために、前方秘匿性を有する公開鍵暗号化方式を使用するステップをさらに含む。
前方秘匿性を有するそのような暗号化方式では、時間は複数の期間に分割され、メッセージあるいは部分共有は特定の期間に暗号化される。秘密分散の対応する再分配方式では、一組の受信者は、現在の期間に一致するようにその復号鍵を更新し得、受信者は、以前の複数の期間の復号鍵を削除し得る。そのような方式は、受信者がセキュリティ侵害されたとしても、そのことで過去の期間の秘密の部分共有を含む古い暗号文の解読ができないことを保証する。
これにより、方法のセキュリティが向上する。
いくつかの実施形態では、前方秘匿性を有する暗号化方式は、バイナリツリー暗号化方式として実装され得る。このようなバイナリツリー暗号化方式は、平文を入力とし、高さλのバイナリツリーのリーフに暗号化する。各リーフに解読鍵を関連付け得、その解読鍵の保有者は平文を復元し得る。内部ノードに関連付けられた解読鍵もある。内部ノードの復号鍵を使用すると、そのノードのすべての子に対して復号鍵を派生し得る。つまり、根源の復号鍵がある場合は、すべてのリーフの復号鍵を派生できます。ただし、根源の復号鍵がない場合は、保持する復号鍵のサブツリーのリーフに関連する暗号文のみを復号化し得る。
さらなる一実施形態では、本方法は、仮想ハードウェアセキュリティモジュールまたはハードウェアセキュリティモジュール上で、特に別個のプロセス上で、暗号化された部分共有の復号化を行うステップを含む。
そのようなハードウェアセキュリティモジュールを提供されることは、敵対者が解読鍵を学習することを防ぎ得る。このような一実施形態では、解読鍵の記憶を含む解読プロセスは、強化された耐タンパ性の環境内で実行される。いくつかの実施形態では、ハードウェアセキュリティモジュールは、1つ以上のセキュア暗号プロセッサを含む。
いくつかの実施形態では、そのようなハードウェアセキュリティモジュールと、CCAセキュリティを有する公開鍵暗号化方式との組み合わせは、プロアクティブセキュリティを有する暗号化方式を提供する。
いくつかの実施形態では、公開鍵暗号化方式は多重受信者暗号化方式である。多重受信者暗号化方式は、ディーラーの部分共有を一組の受信者の公開暗号鍵に暗号化するように構成される。
いくつか実施形態では、多重受信者暗号化方式は、共有ランダム性を使用して、一組のディーラーのそれぞれの部分共有を一組の受信者の公開暗号鍵に暗号化する。これは特に効率的である。
いくつかの実施形態では、暗号化方式は、複数の部分共有のチャンク暗号化を実行するように構成され、部分共有の各々は、複数の平文、特に小さな平文、言い換えれば、それぞれチャンクを表す適度なサイズの平文に分割される。
一実施形態では、本方法は、一組のディーラーが、さらなる非対話ゼロ知識証明を生成するステップを含み、さらなるゼロ知識証明は、チャンク暗号化が正当性を証明するように構成される。さらなるゼロ知識証明は、第2ゼロ知識証明としても表され得る。一組の暗号文が共同で共有秘密の再分配を含むとの証明は、第1ゼロ知識証明として表され得る。実施形態では、第1ゼロ知識証明および第2ゼロ知識証明はまた、1つの共通の証明に組み合わせ得る。
一実施形態では、ディーリングを不特定多数へ配信するステップは、ディーリングを掲示板、すなわち、受信者が読み取り可能な恒久的なデジタル記録に置くことを含む。いくつかの実施形態では、そのような掲示板は、例えば、ブロックチェーンあるいは分散台帳を通して実装可能である。
いくつかの実施形態では、掲示板は、掲示板上に配置されたディーリングを削除できないように構成される。
いくつかの実施形態では、掲示板は、ディーリングが送信者を認証するように構成される。
いくつかの実施形態では、掲示板は、掲示板上に配置されるディーリングの定義された順序がわかるように構成される。
他の態様の一実施形態では、複数のノードを備える分散ネットワークが提供される。分散ネットワークは、上述された実施形態のいずれかへの、一組のディーラーからの秘密について(n,t)秘密分散の再分配を行うコンピュータ実装方法を実行するように構成される。
本発明の他の態様の一実施形態では、分散ネットワークのノードが提供される。
本発明の他の態様の一実施形態では、分散ネットワークを動作させるコンピュータプログラム製品が提供される。コンピュータプログラム製品は、それとともに具体化されたプログラム命令を保持するコンピュータ可読記憶媒体を備え、プログラム命令は、分散ネットワークの複数のノードのうちの1つ以上が実行可能であり、複数のノードのうちの1つ以上が本発明の方法態様のステップを実行する。
本発明の他の態様の一実施形態では、分散ネットワークのノードを動作させるコンピュータプログラム製品が提供される。
本発明の他の態様の一実施形態では、非一時的コンピュータ可読媒体上に符号化されたソフトウェアアーキテクチャが提供される。ソフトウェアアーキテクチャは、分散ネットワークの1つ以上のノードで動作するように構成される。符号化されたソフトウェアアーキテクチャは、複数のノードのうちの1つ以上に、それらが実行可能なプログラム命令を備えており、本発明の方法態様のステップを備える方法を実行する。
本発明の一態様の特徴および利点は、適宜、本発明の他の態様に適用し得る。
他の有利な実施形態は、従属請求項および以下の説明に列挙されている。
本発明はよりよく理解され、上記以外の目的いついては、以下の詳細な説明から明らかになるように添付の図面を参照して説明する。
図1は、本発明の一実施形態による分散ネットワークの例示的なブロック図である。 図2は、サブネットの経時変化を示す図である。 図3は、サブネットの秘密あるいは一組の秘密鍵と、一組の受信者の解読鍵の変化と、の対応を表す表である。 図4は、ネットワークのノード上で実行される計算ユニットをより詳細に示す図である。 図5は、共有秘密の再配布を行う方法のディーリングの作成および不特定多数への配信を示す図である。 図6は、図5のディーリングの受信者が、不特定多数に配信されたディーリングから、それらの新たな共有の検証および解読の手順と、可能な組み合わせと、を示す図である。 図7は、多重受信者暗号化を使用する共有秘密の再分配を行う方法のディーリングの作成および不特定多数への配信を図示する。 図8は、図7のディーリングの受信者が、不特定多数に配信されたディーリングから、それらの新たな共有の検証および解読の手順と、可能な組み合わせと、を示す図である。 図9は、本発明の一実施形態による方法の方法ステップを示すフローチャートである。 図10は、本発明の一実施形態による方法のさらなる方法ステップを示すフローチャートである。 図11は、本発明のいくつかの実施形態に従って使用され得る検証鍵およびその対応する共有秘密鍵の実施形態を示す図である。 図12は、本発明のいくつか実施形態によるネットワークノードのより詳細なブロック図である。
最初に、本発明の実施形態のいくつかの一般的な態様および用語を紹介する。
いくつかの実施形態では、分散ネットワークは、分散方式で配置された複数のノードを含む。そのような分散型ネットワークコンピューティングでは、ソフトウェアおよびデータは、複数のノードにわたって分散される。ノードは計算リソースを構築し、分散型ネットワークは、特に分散型コンピューティング(Link)技法を使用し得る。
いくつかの実施形態では、分散ネットワークは、特に、ブロックチェーンネットワークとして具体化され得る。「ブロックチェーン」という用語は、電子的な、コンピュータベースの、分散された台帳のすべての形態を含むものとする。いくつかの実施形態では、ブロックチェーンネットワークは、プルーフオブワークブロックチェーンネットワークとして具体化され得る。他の実施形態では、ブロックチェーンネットワークは、プルーフオブステークブロックチェーンネットワークとして具体化し得る。
参加者:別々の物理マシン上のソフトウェアの断片として実装され、互いに通信するネットワークアクセスを有すると仮定(前提)される。
ディーラー:一組の参加者。
受信者:他の一組の参加者。一組のディーラーと重複するときと、重複しないときがある。
線形秘密分散:共有が、秘密sおよびいくつかのランダム群要素rに適用される行列Mの行列演算、すなわち、(s1,…,sn)=(s,r1,…,rt-1)Mを用いて計算され得る、秘密分散方式。
シャミア(Shamir)秘密分散:しきい値秘密分散方式の一種。シャミア秘密分散は線形である。
検証鍵は、広く公開されることを意図した公開鍵署名方式のビット列である。検証鍵はまた、公開鍵として示され得、例えば、公開鍵署名方式のデジタル署名の検証に使用され得る。
公開暗号鍵は、公開鍵暗号化方式のビット列である。
本発明のいくつかの実施形態による公開鍵署名方式は、例えば、RSAなどの公開鍵署名および暗号化方式の鍵、またはシュノア署名(Schnorr)またはDSAなどの公開鍵署名方式の鍵を含み得る。
秘密鍵(sk):公開鍵、特に検証鍵または暗号鍵に関連するビット列であり、何らかの暗号操作、特にメッセージにデジタル署名すること、および/または暗号文を解読することを可能にする。
分散鍵生成(DKG):一組のディーラーが公開鍵、特に検証鍵を作成して、一組の受信者に対応する秘密鍵の共有秘密あるいは共有秘密鍵を提供することを可能にするプロトコル。
秘密再分配プロトコル:秘密再分配プロトコルは、秘密再分散プロトコルとしても表され得る。このプロトコルは、秘密鍵の共有秘密鍵、またはより一般的には秘密の共有秘密鍵を更新する。いくつかの実施形態では、プロトコルは、新たなまたは更新された秘密(鍵)共有を、秘密(鍵)共有の以前の保有者に提供し得る。他のいくつかの実施形態では、プロトコルは、新たなまたは更新された秘密(鍵)共有を、新たな、特に、異なる一組の受信者に提供し得る。
(n,t)しきい値鍵あるいはしきい値秘密鍵:そのようなしきい値鍵は、t個の任意の共有秘密鍵は秘密鍵の再構築を可能にし、(t-1)個の共有秘密鍵は秘密鍵の決定には不十分であるような、しきい値tおよび数個の共有秘密鍵s1,…,snを有する。しきい値公開鍵署名方式では、t個の任意の共有秘密鍵は、しきい値公開鍵あるいは検証鍵のもとで有効な署名の実行を可能にするものの、(t-1)個の共有は有効な署名の実行には不十分である。
秘密についての(n,t)秘密分散:n個の共有秘密を含む分散であり、前記共有秘密のしきい値t≦nは、前記秘密を再構築するために十分な数であり、一方、t-1個の共有では、前記秘密の決定には不十分である。
検証可能秘密分散(VSS):単一のディーラーが、ランダム秘密s、一組の受信者についてのしきい値の秘密分散s1,…,sn、及び、各受信者がそれぞれの共有秘密siの正当性の検証に使用可能な証拠を生成して、可能にするプロトコルである。
プロアクティブセキュリティ:t-1の当事者のセキュリティ侵害を随時許容する多重当事者システムを捕捉するセキュリティ概念である。時間は複数の期間に分割され、各期間において、最大でt-1の当事者がセキュリティ侵害されるが、攻撃者は、侵害された一組の当事者が期間ごとに異なり得るという点において、流動的である。
プロアクティブセキュリティを有する分散鍵管理システムは、時間を複数の期間に分割して各期間における秘密鍵の新たなしきい値秘密分散を使用することで作成し得る。
前方秘匿性を有する公開鍵暗号化:時間が複数の期間に分割され、秘密復号鍵が時刻とともに変化する公開鍵暗号化方式であるので、それがセキュリティ侵害されたとしても、それが以前の期間からの暗号文の解読には役立たない。
掲示板:すべての関連する不特定多数の当事者に着信メッセージを配信するシステムである。掲示板は、例えば、ブロックチェーンあるいは分散台帳を介して実装可能である。掲示板はまた、台帳として示され得る。いくつかの実施形態では、掲示板上に配置されるメッセージは、削除が不可能であり、それらは送信者を認証しており、明確な順序を有する。
非対話ゼロ知識(NIZK)証明:証明または証明システムであり、少なくとも1連の受信者(検証者)が、その請求が真であることを確認可能にする請求(申告)の暗号証明を、単一の当事者(証明者)が生成するが、それが真である理由(証人)について何も学習しない(ゼロ知識)システムである。さらに、一組の受信者は、誰とも、すなわち、証明者とも、証明を検証するための他の受信者とも、対話する必要がない。
バイナリツリー暗号化方式:平文を入力とし、それを高さλのバイナリツリーのリーフに暗号化する暗号化方式である。
このようなバイナリツリー暗号化方式は、例えば、Ran Canetti, Shai Halevi, Jonathan Katz: A Forward-Secure Public-Key Encryption Scheme. J. Cryptology (2007) 20, 265-294.に記載されている。
多重受信者暗号化方式:n個の一組の受信者1,…,nが存在する方式である。i個の受信者の各々は、(dki,pki)で表される秘密復号鍵と公開鍵のペアを保持する。次いで、送信者は、pk1,…,pknを使用してMiが受信者iに向けられる一組のメッセージM1,…,Mnを暗号化することで暗号文Cを得る。受信者iは、暗号文Cを受信すると、その復号鍵dkiを使用して復号化することでメッセージMiを得る。
図1は、本発明の一実施形態による分散ネットワーク100の例示的なブロック図を示す。
分散ネットワーク100は、ネットワークノード10としても示され得る複数のノード10を備える。複数のノード10は、複数のサブネットワーク11に分散されている。サブネットワーク11は、サブネットと称され得る。図1の例では、SNA、SNB、SNC、およびSNDで示される4つのサブネット11が提供される。
複数のサブネット11の各々は、それぞれのサブネット11の各ノード10で一組の計算ユニットを実行するように構成される。いくつかの実施形態では、計算ユニットは、ソフトウェアの一部として、特に、それ自体のユニット状態を含むかまたはそれを保持するソフトウェアの一部として理解され得る。ユニット状態は、実行状態とも称され得る。
ネットワーク100は、通信リンク12を備え、それぞれのサブネット11内のサブネット内通信、特に、同じサブネットに割り当てられた計算ユニット間におけるサブネット内ユニット間メッセージの交換を行う。
さらに、ネットワーク100は、通信リンク13を備え、サブネット11のうちの異なるサブネット間のサブネット間通信、特に、異なるサブネットに割り当てられた計算ユニット間で交換されるサブネット間のユニット間メッセージを実行する。
したがって、通信リンク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および対応する共有秘密は、分散鍵生成プロトコルにより最初に生成され得る。
ネットワーク100の静的検証鍵pkXは経時的に変化しないが、対応する共有秘密鍵siは経時的に変化し得る。
共有秘密鍵のこのような変更は、それぞれのサブネットの一組のノードが変更されたときに実行され得、サブネットのノードの変更がなくても実行され得る。後者は、プロアクティブセキュリティを提供するときに使用され得る。
共有秘密鍵の変更あるいは更新は、秘密分散により、言い換えれば、秘密再分配プロトコルにより実行され得る。
分散鍵生成プロトコルは、特に、しきい値鍵生成プロトコルであり得る。秘密再分配プロトコルは、特に、しきい値秘密再分配プロトコルであり得る。
分散鍵生成プロトコルは、対応する第1共有秘密セットs1,s2,sn、すなわち、それぞれの静的検証鍵pkXおよび秘密に対応する、第1共有秘密セットを生成し得る。共有秘密鍵の第1セットは、それぞれのサブネットの第1ノードセットに割り当てられ得る。第1共有秘密セットは、静的検証鍵を用いて検証され得る署名を発行するときに使用され得る。第1ノードセットは、時刻t0または期間e0におけるそれぞれのサブネットのノードであり得る。時刻は、例えば、サブネットの各々の作成時刻であり得る。検証鍵pkXは、公開鍵署名方式の検証鍵である。したがって、検証鍵pkXは、共有秘密s1,s2,…,snを保持するそれぞれのノードが作成した共同署名を検証するときに使用され得る。
共有秘密鍵を変更するときに、分散ネットワーク100は、秘密再分配プロトコルを実行する。上述のように、秘密再分配プロトコルは、特にしきい値プロトコルであり得、一般に、一組のディーラーから一組の受信者への秘密sの(n,t)秘密分散の再分配を行う方法として具体化され得る。一組のディーラーおよび一組の受信者は、特に分散ネットワークのノードであり得る。したがって、秘密再分配プロトコルは、それぞれのサブネットのノードの第1共有秘密セットを、それぞれのサブネットの第2ノードセットに再分配し得る。これにより、それぞれのサブネットの同じ静的検証鍵に対応する第2共有秘密セットが作成される。結果として、第2ノードセットの、各ノードまたはサブセットは、共有する第2共有秘密セットのうちの1つを保持する。
分散ネットワーク100のノードは、いくつかの実施形態では、しきい値署名を使用して、分散ネットワーク100が生成した結果を証明し得る。
分散ネットワーク100のノードは、対話を最小限に抑えるために、長期の公開暗号鍵を使用し得る。
これを図2および図3を参照してより詳細に説明する。図2は、サブネットSNAの経時変化を示す。図3の表は、サブネットSNAの一組の秘密鍵の対応する変化を含む対応する表を示す。
図2を参照すると、サブネットSNAは、最初に時刻t0において、例えば、その作成時に、サブネット構成201を有する。それぞれのサブネット設定は、対応する期間e0に対して有効である。サブネット構成201では、サブネットSNAは、4つのノードN1、N2、N3、N4を備える。サブネットSNAは、公開鍵署名方式の静的検証鍵pkAを有する。ノードN1、N2、N3、およびN4は、一組の第1ノード、または言い換えれば、一組の初期ノードを構築する。分散ネットワーク100の各ノードは、分散ネットワーク100に公開暗号鍵を登録している。分散ネットワーク100の他のノードまたはユーザーは、ノードの存続期間を通して、この公開暗号鍵を使用して、ノードへのメッセージを暗号化し得る。
したがって、ノードN1、N2、N3、およびN4は、それぞれ、登録された公開暗号鍵pkN1、pkN2、pkN3、およびpkN4を有する。さらに、将来のネットワーク構成のノードN5、N6およびN7は、公開暗号鍵pkN5、pkN6、およびpkN7を登録している。これらの公開暗号鍵も長時間使用されるため、静的暗号鍵と称し得る。
静的検証鍵pkA、静的検証鍵pkN1、pkN2、pkN3、pkN4、pkN5、pkN6、およびpkN7が長期間使用される一方で、共有秘密鍵si、ならびに静的検証鍵pkN1、pkN2、pkN3、pkN4、pkN5、pkN6、およびpkNに対応する復号鍵dkN1、dkN2、dkN3、dkN4、dkN5、dkN6、およびdkNは、経時的に変化し得る。より詳細には、いくつかの実施形態では、時間は複数の期間に分割され、復号鍵および共有秘密鍵は定期的に変更され、特定の期間に対してのみ使用される、あるいは有効である。以下において、共有秘密鍵siは、単に共有秘密がsiであるのと同様に、簡略化して示される。
図3を参照すると、左列301は、サブネットSNAの対応する数のノード、より詳細には、ノードN1、N2、N3、N4、N5、N6、およびN7を含む。列302、列303、列304、列305、および列306は、異なる時点における対応するノードのそれぞれの共有秘密を含む。より詳細には、列302は時刻t0から時刻t1まで延在する期間e0に対応し、列303は時刻t1から時刻t2まで延伸する期間e1に対応し、列304は時刻t2から時刻t3まで延伸する期間e2に対応し、列305は期間e3に対応し、列306は期間e4に対応する。行311、行312、行313、行314、行315、行316、および行317は、それぞれノードN1、N2、N3、N4、N5、N6、およびN7の共有秘密、ならびにそれぞれのノードの複合鍵を含む。
前述のように、サブネットSNAの公開検証鍵pkAと、秘密署名鍵skとしても表され得る対応する秘密sとは、一定のままである。
期間e0の間、サブネットSNAのノードN1、N2、N3、およびN4は、共有秘密s1,0、s2,0、s3,0、およびs4,0をそれぞれ保持する。この表記法では、下付き文字の1番目の数は、それぞれのノードを示し、下付き文字の2番目の数は、それぞれの期間を示す。共有秘密s1,0、s2,0、s3,0、およびs4,0は、例えば、分散鍵生成プロトコルを用いて生成された最初の共有と考え得る。
後続の期間e1において、サブネットSNAは、依然として同じセットのノードを有する。それにもかかわらず、分散型ネットワークは、共有秘密s1,0、s2,0、s3,0、およびs4,0を、この例では、同じ一組のノードN1、N2、N3およびN4により形成される第2ノードセットへの再分配を行っている。
再分配は、第1セットとは異なる第2共有秘密セットs1,1、s2,1、s3,1、およびs4,1を作成または生成している。第2共有秘密セットは、サブネットSNAの同じ静的検証鍵pkAの対応するともに、静的検証鍵pkAに対応する同一の秘密sに対応する。
共有秘密s1,0、s2,0、s3,0、およびs4,0をs1,1、s2,1、s3,1、およびs4,1に再分配を行う秘密再分配プロトコルは、図5および6を参照してより詳細に説明する。
上述のように、一般に、共有は、一組のディーラーから一組の受信者に再分配される。この例では、一組のディーラーは一組の受信者と同一であり、ノードN1、N2、N3、およびN4によりそれぞれ形成される。以下では、ノードN1、N2、N3、およびN4がディーラーとして機能するとき、それらをD1、D2、D3、およびD4として表記する。同様に、それらが受信者として機能するときは、それらをR1、R2、R3およびR4と表記する。
したがって、ディーラーD1、D2、D3、およびD4は、期間e0のそれらの共有秘密を、次回の期間e1に向けて受信者R1、R2、R3、およびR4に再分配することを目的とする。
秘密分散のしきい値tが3であると仮定すると、n個のディーラーD1、D2、D3、およびD4のうちの少なくとも3つが以下のステップを実行する。図5および図6においては、すべてのディーラーD1、D2、D3、およびD4がこれらのステップを実行すると仮定されている。
最初に、ディーラーD1、D2、D3、およびD4は、それぞれの共有秘密について(3,4)秘密分散を作成するか、または通常それぞれの共有秘密についてn´個の部分共有秘密を含む(n´,t´)秘密分散を作成する。一般に、秘密の部分共有のしきい値t´≦n´は、共有秘密を再構築するために十分な数であり、この例では、4つの部分共有のうちの3つが共有秘密を再構築するために十分な数であると仮定される。
例えば、ディーラーD1(ノードN1)は、共有s1,0の4つの部分共有ss1,0,1、のss1,0,2、ss1,0,3、およびss1,0,4を作成する。この表記において、最後の下付き文字は、部分共有のそれぞれの受信者を示す。
4つの部分共有は、受信者R1、R2、R3、およびR4のうちの互いに異なる1つに対して各々暗号化される。より詳細には、ディーラーD1は、共有秘密s1,0について暗号化された部分共有を受信者ごとに備える一組の暗号文を作成する。
(4人に別々の部分共有が、暗号化されてわたされることをわかりやすくした)
一実施形態では、ディーラーは、前方秘匿性を有する暗号化方式を使用する。すなわち、ディーラーは、部分共有を特定の期間τに暗号化する。したがって、受信者として機能するノードは、現在の期間に一致するように復号鍵を更新し、古い期間の復号鍵を削除することが必須である。この方法では、ノードがセキュリティ侵害された場合でも、過去の期間の古い暗号文の復号化はできない。これにより、攻撃者が学習し得る情報が減少する。
図5の例では、部分共有ss1,0,1は、受信者R1の対応する復号鍵dkR1,1が次の期間e1に対してのみ有効となるように、次の期間e1用の公開暗号鍵pkR1,1について暗号化される。暗号鍵および復号鍵の1番目の添え字は、それぞれの受信者を示し、2番目の添え字は期間を示す。部分共有ss1,0,2は、相当する手順で、受信者R2の対応する復号鍵dkR2,1が期間e1に対してのみ有効となるように、次の期間e1用の公開暗号鍵pkR2,1について暗号化される。部分共有ss1,0,3およびss1,0,4は、受信者R3の対応する復号鍵dkR3,1および受信者R4の対応する復号鍵dkR4,1のそれぞれが期間e1に対してのみ有効となるように、次の期間e1用の公開暗号鍵pkR2,1について暗号化される。これにより、ディーラーD1は、一組の暗号文501を構成する4つの暗号文(ss1,0,1)pkR1,1、(ss1,0,2)pkR2,1、(ss1,0,3)pkR3,1、および(ss1,0,4)pkR4,1を作成する。括弧内の用語の下付き文字は、使用されている公開暗号鍵と、復号化の対象となる期間とを示す。
例えば、暗号文(ss1,0,1)pkR1,1は、期間e1向けの受信者R1(ノードN1に対応する)の暗号鍵pkR1,1により暗号化される。したがって、期間e1の復号鍵を用いて受信者R1により復号化され得、暗号文(ss1,0,2)pkR2,1は、期間e1の復号鍵を用いて受信者R2により復号化され得る。
これに相当する手順で、他のノードN2、N3、およびN4は、ディーラーとしての機能において、期間e0のそれぞれの共有について4つの部分共有も作成し、受信者R1、R2、R3、およびR4のうちの1つに対して、これらの4つの部分共有の各々を暗号化する。結果として、ディーラーD2、D3、およびD4は、一組の暗号文502、503、および504を作成している。
さらに、ディーラーD1、D2、D3、およびD4の各々は、一組の暗号文がその共有秘密の再分配を含むゼロ知識証明を共同で生成する。ゼロ知識証明は、特に、受信者と他の人とのいかなる対話も必要としない証明として具体化される非対話型ゼロ知識証明(NIZK)であり得る。すなわち、それらは、受信者の各々により独立して検証され得る。非対話ゼロ知識証明は、誰でも、受信者または受信者でない者がそれらを検証し得るように、公的に検証可能であり得る。
例えば、ディーラーD1は、4つの暗号化された部分共有(ss1,0,1)pkR1,1、(ss1,0,2)pkR2,1、(ss1,0,3)pkR3,1、および(ss1,0,4)pkR4,1が、共有s1,0の再分配とともに含まれる非対話ゼロ知識証明NIZKD1を作成する。それに対応して、他のディーラーD2、D3、およびD4は、非対話型ゼロ知識証明512、513、および514を作成する。
さらに、ディーラーD1、D2、D3、およびD4の各々は、いくつかの関連公開鍵材料APKMD1521、APKMD2522、APKMD3523、およびAPKMD4524を生成し得る。
次に、ディーラーD1、D2、D4およびD4の各々は、不特定多数の受信者R1、R2、R3およびR4にディーリングを配信する。ディーリングの各々は、一組の受信者に対する一組の暗号文と、対応するゼロ知識証明と、関連公開鍵材料と、を含む。
図5を参照すると、ディーラーD1は、4つの暗号化された部分共有秘密(ss1,0,1)pkR1,1、(ss1,0,2)pkR2,1、(ss1,0,3)pkR3,1、および(ss1,0,4)pkR4,1、非対話型ゼロ知識証明NIZKD1、および関連公開鍵材料APKMD1を含むディーリングDL1、531を不特定多数へ配信する。
同様に、ディーラーD2は、4つの暗号化された部分共有秘密(ss2,0,1)pkR2,1、(ss2,0,2)pkR2,1、(ss2,0,3)pkR3,1、および(ss2,0,4)pkR4,1、非対話型ゼロ知識証明NIZKD2、および関連公開鍵材料APKMD2を含むディーリングDL2、532を不特定多数へ配信する。ディーラーD3およびディーラーD4は、それぞれ、ディーリングDL3、533およびディーリングDL4、534を不特定多数へ配信する。
不特定多数への配信は、4人のディーラーD1、D2、D3、およびD4のそれぞれのディーリングDL1、DL2、DL3、およびDL4を掲示板50に置くことで実施し得る。掲示板50は、少なくとも一組の受信者により、この例では受信者R1、R2、R3、およびR4によりアクセスされ得る。いくつかの実施形態では、掲示板は、公的に利用可能であり得る。いくつかの実施形態では、掲示板は、分散台帳として実装され得る。
図6には、受信者R1、R2、R3、およびR4が、掲示板50に提示された不特定多数に配信された情報から新たなシェアを再構築する手順が示されている。
最初に、受信者R1、R2、R3、およびR4は、それぞれ、ディーリングDL1、DL2、DL3、およびDL4の非対話型ゼロ知識証明NIZKD1、NIZKD2、NIZKD3、およびNIZKD4を検査するか、または、検証する。いくつかの実施形態では、受信者の各々は、証明を検査あるいは検証し得る。他の実施形態では、割り当てられた一組の受信者、またはより一般的には、割り当てられた一組の当事者は、証明を検査し、証明の検証確認を一組の受信者に提供し得る。
十分な数の証明が成功裏に検査あるいは検証されると、受信者R1、R2、R3、およびR4は、それらの新たな共有の再構築を開始し得る。図5および図6の例では、4つの証明のうちの3つのみが、首尾よく検査あるいは検証される必要がある。これは、それぞれの4番目の共有の取り消し記号により示される。
次いで、4人の受信者R1、R2、R3、およびR4の各々は、ディーリングDL1、DL2、DL3、およびDL4にわたってその一組の暗号文を復号化し得る。例えば、受信者R1は、ディーリングDL1,DL2,DL3からそれぞれ暗号文(ss1,0,1)pkR1,1、(ss2,0,1)pkR1,1、(ss3,0,1)pkR1,1を受け取り、これらの暗号文を復号鍵dkR1,1、すなわち、期間e1の受信者R1の復号鍵で復号化し得る。
同様に、受信者R2は、ディーリングDL1、DL2およびDL3からそれぞれ暗号文(ss1,0,2)pkR2,1、(ss2,0,2)pkR2,1、(ss3,0,2)pkR2,1を取得し、これらの暗号文を復号鍵dkR2,1、すなわち、期間e1の受信者R2の復号鍵で復号化し得る。
4つの部分共有のうちの3つを復号化した後、受信者R1、R2、R3、およびR4の各々は、それらの復号化された暗号文を、秘密の新たな共有秘密に結合し得る。たとえば、受信者R1は、復号化された部分共有ss1,0,1、ss2,0,1、およびss3,0,1を、次の(新たな)期間e1の新たな共有秘密s1,1に結合し得る。同様にして、受信者R2は、復号化された部分共有ss1,0,2、ss2,0,2、およびss3,0,2を結合して、新たな期間e1の新たな共有秘密ss2,1にし得る。
次に、図7および図8を参照して、本発明の他の実施形態による秘密分散の再分配について説明する。図5および図6の例と同様に、再分配プロトコルが実行され、期間e0の共有秘密s1,0、s2,0、s3,0、およびs4,0を期間e1の共有秘密s1,1、s2,1、s3,1、およびs4,1に再分配を行う。
しかしながら、各受信者に対して別個の暗号文を作成する代わりに、図7および図8の実施形態は、多重受信者暗号化(MRE)を使用する。このような多重受信者暗号化により、各ディーラーの一組の部分共有全体が一緒に暗号化される。例えば、第1ディーラーD1の一組の部分共有ss1,0,1、ss1,0,2、ss1,0,3、およびss1,0,4は、通常、多重受信者暗号化MRE1により暗号化され、下付き文字は、多重受信者暗号化方式あるいは多重受信者復号化方式の期間を示す。同様に、第2ディーラーD2の部分共有ss2,0,1、ss2,0,2、ss2,0,3、およびss2,0,4、全体は、通常、多重受信者暗号MRE1により共通で暗号化され、下付き文字は、多重受信者暗号化方式あるいは多重受信者復号化方式の期間を示す。その結果、共通に暗号化された4つの暗号文711、712、713、714が作成され、掲示板50に配置される。
図5および図6に示す実施形態と同様に、ディーラーD1、D2、D3、およびD4の各々は、一組の暗号文がその共有秘密の再分配を含む非対話型ゼロ知識証明を共同で生成する。さらに、ディーラーD1、D2、D3、およびD4の各々は、いくつかの関連公開鍵材料を生成し得る。
図8には、受信者R1、R2、R3、およびR4が、掲示板50に提示された不特定多数に配信された情報から新たな共有を再構築する手順が示されている。
まず、図5および図6に示すように、受信者R1、R2、R3、およびR4は、それぞれ、内部ディーリングDL1、DL2、DL3、およびDL4のNIZKD1、NIZKD2、NIZKD3、およびNIZKD4の非対話型ゼロ知識証明を確認するか、または検証する。
十分な数の証明が成功裏に検査あるいは検証されると、受信者R1、R2、R3、およびR4は、共通に暗号化された暗号文711~714からそれらの新たな共有の再構築を開始し得る。4人の受信者R1、R2、R3、およびR4の各々は、ディーリングDL1、DL2、DL3、およびDL4にわたってその一組の暗号文を復号化し得る。例えば、受信者R1は、共通に暗号化された部分共有ss1,0,1、ss2,0,1、ss3,0,1、およびss4,0,1のうちの少なくとも3つを、ディーリングDL1、DL2、DL3、およびDL4のそれぞれから、多重受信者暗号化方式MRE1の復号鍵dkR1,1、すなわち、期間e1向けの多重受信者暗号化方式の受信者R1の復号鍵dkR1,1で復号化する。
同様に、受信者R2は、部分共有ss1,0,2、ss2,0,2、ss3,0,2、およびss4,0,2のうちの少なくとも3つを、ディーリングDL1、DL2、DL3、およびDL4から、それぞれ期間e1の多重受信者暗号化方式MRE1の復号鍵dkR2,1で復号化する。
4つの部分共有のうちの少なくとも3つを復号化した後、受信者R1、R2、R3、およびR4の各々は、それらの復号化された暗号文を秘密の新たな共有秘密に結合し得る。
ここで図2を参照すると、前者のノードN1、N2、N3、およびN4に加えて追加のノードN5およびN6を備えるサブネットSNAの第2サブネット構成202が示されている。このサブネット構成202は、期間e2および期間e3に対して有効であることがわかる。
図3を参照すると、列304に期間e2に設定された新たなノードの共有秘密鍵を示されている。
分散ネットワークは、秘密再分配プロトコル実行して、共有秘密鍵s1,0、s2,0、s3,0、およびs4,0を、この例では拡張された一組のノードN1、N2、N3、N4、N5、およびN6により形成される他の一組のノードに再分配する。
秘密分散の再分配は、第2セットとは異なる一組の共有秘密s1,2、s2,2、s3,2、s4,2、s5,2、およびs6,2を作成または生成しており、特に、前の4つの共有鍵の代わりに6つの共有鍵を含む。これら一組の共有鍵も、サブネットSNAの同じ静的検証鍵pkAに対応する。
後続の期間e3において、サブネットSNAは、依然として、同じノードセットN1、N2、N3、N4、N5、およびN6を有する。分散型ネットワークは、秘密の再分配プロトコルを実行して共有秘密s1,2、s2,2、s3,2、s4,2、s5,2、およびs6,2に再分配する。したがって、秘密の再分配プロトコルが作成または生成した他の新たな一組の共有秘密s1,3、s2,3、s3,3、s4,3、s5,3、およびs6,3は以前のセットとは異なる。新たな一組の鍵共有もまた、サブネットSNAの同じ静的検証鍵pkAに対応する。
ここで図2を参照すると、サブネットSNAの第3サブネット構成203が示されており、これは追加のノードN7を備え、前のノードN3は削除されていることがわかる。このサブネット構成203は、期間e4に対して有効である。
改めて図3を参照すると、列306は、時刻t4に設定された新たな一組のノードの共有秘密鍵を示す。
分散型ネットワークは、秘密再分配プロトコルを実行して、共有秘密s1,3、s2,3、s3,3、s4,3、s5,3、およびs6,3をノードN1、N2、N4、N5、N6、およびN7の新たな一組のノードに再分配する。
したがって、秘密再分配プロトコルは、他の新たな一組の共有秘密s1,4、s2,4、s4,4、s5,4、s6,4、およびs7,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のサブセットを、より具体的には計算ユニットCUA1、CUA2、CUA3、CUA4、およびCUA5のサブセットをサブネットSNAに割り当てている。割り当てられたサブセットである計算ユニットCUA1、CUA2、CUA3、CUA4、およびCUA5は、サブネットSNAのそれぞれのノード10上で実行される。さらに、割り当てられたサブセットである計算ユニットCUA1、CUA2、CUA3、CUA4、およびCUA5は、計算ユニットCUA1、CUA2、CUA3、CUA4、およびCUA5の各々が同じユニット状態あるいは実行状態をトラバースするように、サブネットSNA全体にわたって複製される。これは、特に、計算ユニットCUA1、CUA2、CUA3、CUA4、およびCUA5のユニット状態の空間において、サブネットSNAのノード10の各々に対して能動的に複製を実行することで実施され得る。
さらに、図4の右側402には、4つの計算ユニット15が、より詳細には、一組の計算ユニットCUB1、CUB2、CUB3、およびCUB4が実行される図1のサブネットSNBのノード10を示す。一組の計算ユニットCUB1、CUB2、CUB3、およびCUB4は、サブネットSNBのそれぞれのノード10上で実行される。さらに、一組の計算ユニットCUB1、CUB2、CUB3、およびCUB4は、例えば、上述のようにユニット状態の空間において能動的な複製を実行することで、計算ユニットCUB1、CUB2、CUB3、およびCUB4の各々が同じユニット状態を有するように、サブネットSNB全体にわたって複製される。
図9は、本発明の実施形態による方法の方法ステップごとのフローチャートを示す。この方法は、一組のディーラーから一組の受信者への秘密sの(n,t)秘密分散の再分配を実行する。(n,t)秘密分散は、n個の共有秘密を備え、共有秘密のしきい値t≦nは、秘密を再構築するために十分な数であり、nおよびtは整数である。共有秘密n個の各々は、ディーラーのうちの1つが保有する。
この方法は、インデックスNが増加する順で処理ループ910を複数回実行する。Nは、増加する整数、すなわち、例えば、0,1,2,3,…,Nである。
処理ループ910は、第1のループステップ911と、第2ループステップ912と、第3ループステップ913と、第4ループステップ914と、第5ループステップ915と、第6のループステップ916とを含む。
ループステップ911~916は、少なくともしきい値tの数のディーラーの各々が実行する。
ループステップ911において、それぞれのディーラー、例えば分散ネットワークのノードは、そのそれぞれの共有秘密について(n´,t´)秘密分散を作成する。n´およびt´は整数であり、(n´,t´)秘密分散は、そのそれぞれの共有秘密についてn´個の部分共有秘密を含む。部分共有秘密のしきい値t´≦n´は、ディーラーの共有秘密を再構築するために十分な数である。
ループステップ912において、それぞれのディーラーは、各受信者について、n個の部分共有秘密の部分共有を暗号化することで、一組の暗号文を作成する。暗号化された部分共有秘密は、それぞれの受信者の公開暗号鍵に対して暗号化される。受信者の公開暗号鍵は、好ましくは長期公開暗号鍵であり、これは例えば、分散ネットワークのノード間の通信を行うために起動されている。
いくつかの実施形態では、ループステップ912において、前方秘匿性を有する公開鍵暗号化方式が使用され得る。いくつかの実施形態では、前方秘匿性を有する暗号化方式は、バイナリツリー暗号化方式である。さらなる実施形態では、公開鍵暗号化方式は、多重受信者暗号化方式である。
いくつかの実施形態では、多重受信者暗号化方式は、部分共有のチャンク暗号化を実行し得、部分共有の各々の平文は1つのチャンクを表す。
ループステップ913において、各ディーラーは、その共有秘密に関連公開鍵材料を生成する。関連公開鍵材料は、通常、共有秘密に関連する複数の公開群要素と、秘密に関連する1つの公開群要素とを含み得る。上述のように、秘密は、特に、公開鍵署名方式の公開検証鍵に対応する秘密鍵であり得る。このような実施形態では、関連公開鍵材料は、共有秘密に関連する複数の公開共有検証鍵と、秘密に関連する1つの公開検証鍵とを含み得る。
ループステップ914において、ディーラーの各々は、非対話型ゼロ知識証明を生成する。この非対話型ゼロ知識証明は、自分が共同で作成した一組の暗号文が、自分の共有秘密の再分配を含むものである。上述のチャンク暗号化の場合、ディーラーの各々は、チャンク暗号化の正当性を証明するために、さらなる非対話型ゼロ知識証明を、言い換えれば、第2非対話型ゼロ知識証明を生成する。
本発明のいくつかの実施形態で使用され得る、正当な秘密分散を行う非対話ゼロ知識(NIZK)証明の詳細な実施形態は、さらに、Annexの第3.3章に提示される。
本発明のいくつかの実施形態で使用され得る、正当なチャンク化のための非対話型ゼロ知識(NIZK)証明の詳細な実施形態は、さらに、Annexの第3.4章に提示される。
ただし、いくつかの実施形態では、正当な秘密分散および正当なチャンク化を行う他の非対話型ゼロ知識証明も使用し得る。
非対話ゼロ知識証明の一例として、例えば、De Santis, Di Crescenzo, Ostrovsky, Persiano, Sahai: Robust Non-interactive Zero Knowledge: Crypto 2001: 566-598.またはGroth, Maller: Snarky Signatures: Minimal Signatures of Knowledge from Simulation-Extractable SNARKs. Crypto 2017: 581-612.に記載されている。
次いで、ループステップ915において、ディーラーの各々は、ディーリングを一組の不特定多数の受信者へ配信する。ディーリングの各々は、一組の暗号文を形成する暗号化された部分共有と、1つまたは複数の対応する非対話型ゼロ知識証明と、関連公開鍵材料と、を備える。
次に、ループステップ916において、期間を1だけ増加させて、ループ910からのステップを新たな期間について繰り返し得る。
図10は、本発明の一実施形態による方法のさらなる方法ステップごとのフローチャートを示す。より詳細には、それは、一組の受信者が不特定多数に配信されたディーリングから新たな共有をどのように再構築し得るかを示す。
この方法は、インデックスNが増加する順に処理ループ1010を複数回実行する。Nは、増加する整数、すなわち、例えば、0,1,2,3,…,Nである。
処理ループ1010は、第1のループステップ1011と、第2ループステップ1012と、第3ループステップ1013と、第4ループステップ1014とを含む。
ループステップ1011において、一組の受信者は、ディーリングの非対話型ゼロ知識証明を検査する。新たな秘密分散のしきい値に対応する十分な数の証明が成功裏に検査されると、受信者の各々は、ループステップ1012において、ディーリングにわたってその暗号化された部分共有、より具体的には少なくともしきい値の数の部分共有を復号化し得る。
次いで、ループステップ1013において、受信者の各々は、復号化された部分共有を秘密の新たな共有秘密に結合する。
次に、ループステップ1014において、期間は、1だけ増加され、ループ1010は、新たな期間について上記のステップを再び実行する。
図11に、本発明のいくつかの実施形態で使用され得る、検証鍵およびその対応する共有秘密鍵の実施形態を図示する。図11は、本発明の一実施形態による分散鍵生成プロトコルが生成する一組の鍵1110の一実施形態を示す。分散鍵生成プロトコルは、分散しきい値鍵生成プロトコルとして具体化される。
この例では、N個のノードが分散鍵生成プロトコルに参加すると仮定する。ノードは、通常、サブネットの静的検証鍵の初期生成および対応する共有秘密鍵の初期サブセットのために割り当てられた任意のサブネットのノード、特に、ガバナンスサブネットのノードであり得る。
N個のノードの各々は、i=1,…,Nである共有秘密鍵skiを有する。N個のノードは、それぞれのサブネットXのための共通静的検証鍵(公開鍵)pkXを共同で生成する。しきい値署名σpkXを生成するためには、所定のしきい値、例えば、ノードの少なくとも3分の2または3分の1が、静的検証鍵に合意して新たな静的検証鍵に共同で署名する必要がある
図12には、例えば、本発明のいくつかの実施形態による図1のネットワーク100のネットワークノード10のより詳細なブロック図が示されている。ネットワークノード10は、計算機能を実行し得るコンピューティングノードを構築しており、一般に、コンピューティングシステムまたはコンピュータとして具体化され得る。ネットワークノード10は、例えばサーバコンピュータであり得る。ネットワークノード10は、本発明のいくつかの実施形態によるコンピュータ実装方法を実行または携わるように構成され得る。ネットワークノード10は、さまざまな他の汎用または専用コンピューティングシステム環境または構成で動作し得る。
ネットワークノード10は、コンピュータシステムが実行する、プログラムモジュールなどのコンピュータシステム実行可能命令の一般的なコンテキストで説明し得る。一般に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含み得る。ネットワークノード10は、汎用コンピューティングデバイスの形態で示されている。ネットワークノード10の構成要素は、限定はしないが、1つ以上のプロセッサまたは処理ユニット1215と、システムメモリ1220と、システムメモリ1220を含むさまざまなシステム構成部品をプロセッサ1215に接続するバス1216とを含み得る。
バス1216は、さまざまなバスアーキテクチャのいずれかを使用する、メモリバスまたはメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート、およびプロセッサまたはローカルバスを含む、いくつかの形態のバス構造のいずれかのうちの1つ以上を表す。例として、これらに限定するものではないが、そのようなアーキテクチャとしては、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VeSA(Video Electronics Standards Association)ローカルバス、およびPCI(Peripheral Component Interconnect)がある。
ネットワークノード10は、典型的には、さまざまなコンピュータシステム可読媒体を含む。そのような媒体は、ネットワークノード10によりアクセス可能な任意の利用可能な媒体とし得、揮発性および不揮発性媒体、リムーバブルおよび非リムーバブル媒体の両方を含む。
システムメモリ1220は、ランダムアクセスメモリ(RAM)1221および/またはキャッシュメモリ1222などの揮発性メモリの形態のコンピュータシステム可読媒体を含み得る。ネットワークノード1210は、他のリムーバブルあるいは非リムーバブル、揮発性あるいは不揮発性のコンピュータシステム記憶媒体をさらに含み得る。ほんの一例として、記憶システム1223は、取り外し不能な不揮発性磁気媒体(図示せず、一般に「ハードドライブ」と呼ばれる)からの読み取りおよび書き込みを行うために設置し得る。以下でさらに図示および説明するように、メモリ1220は、本発明の実施形態の機能を実行するように構成された一組の(例えば、少なくとも1つの)プログラムモジュールを有する少なくとも1つのコンピュータプログラム製品を含み得る。
プログラムあるいはユーティリティ1230は、一組の(少なくとも1つの)プログラムモジュール1231を有し、例として、これに限定するものではないが、メモリ1220に格納されてもよく、オペレーティングシステム、1つ以上のアプリケーションプログラム、他のプログラムモジュール、およびプログラムデータを格納してもよい。オペレーティングシステム、1つ以上のアプリケーションプログラム、他のプログラムモジュール、およびプログラムデータ、またはそれらの何らかの組合せの各々は、ネットワーキング環境を実装し得る。プログラムモジュール1231は、一般に、本明細書に記載の本発明の実施形態の機能および/または方法を実行する。プログラムモジュール1231は、特に、分散ネットワークにおけるコンセンサスプロトコルを含むサブネット間通信を実行するコンピュータ実装方法の1つ以上のステップ、例えば、上述の方法の1つ以上のステップを実行し得る。
ネットワークノード10はまた、キーボードまたはポインティングデバイスなどの1つ以上の外部デバイス1217、ならびにディスプレイ1218と通信し得る。そのような通信は、入出力(I/O)インターフェイス1219を通して行い得る。さらに、ネットワークノード10は、ネットワークアダプタ1241を通して、ローカルエリアネットワーク(LAN)、汎用ワイドエリアネットワーク(WAN)、および/または公衆ネットワーク(例えば、インターネット)などの1つ以上のネットワーク40と通信し得る。いくつかの実施形態では、ネットワーク1240は、特に、複数のネットワークノード10、例えば、図1に示されるようなネットワーク100を備える分散ネットワークであってもよい。図示したように、ネットワークアダプタ1241は、バス1216を通してネットワークノード10の他の構成部品と通信する。
本発明のいくつかの態様は、システム、特に、複数のサブネットを備える分散ネットワーク、方法、および/またはコンピュータプログラム製品として具体化され得る。コンピュータプログラム製品は、プロセッサに本発明のいくつかの態様を実行するためのコンピュータ可読プログラム命令を保持するコンピュータ可読記憶媒体(または複数の媒体)を含み得る。
コンピュータ可読記憶媒体は、命令実行デバイスが使用する命令を保持および格納可能な有形デバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、またはそれらのデバイスの任意の適切な組合せであり得るが、これらに限定されるものではない。本明細書で使用されるコンピュータ可読記憶媒体とは、電波または他の自由に伝播する電磁波など、それ自体が一時的な信号であると解釈されるべきではない。
本明細書で説明するコンピュータ可読プログラム命令は、それぞれの計算あるいは処理デバイスに、コンピュータ可読記憶媒体から、または、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはワイヤレスネットワークなどのネットワークから、外部コンピュータまたは外部記憶デバイスにダウンロードし得る。
本発明のいろいろな動作を実行するコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、または1つ以上のプログラミング言語の任意の組合せで記述されたソースコードまたはオブジェクトコードのいずれかであり得る。
本発明のいくつかの態様は、本発明のいくつかの実施形態による方法、ネットワーク、装置(システム)、およびコンピュータプログラム製品のフローチャート図および/またはブロック図を参照して本明細書で説明される。
本発明のいくつかの実施形態によるコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供される。そして、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを通して実行される命令が、フローチャートおよび/またはブロック図のブロックまたはブロックに指定された機能/動作を実装するための手段を作成するように、機械を生成し得る。これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラマブルデータ処理装置、および/または他のデバイスに特定の方法で機能するように指示し得るコンピュータ可読記憶媒体に格納されてもよく、その結果、その中に格納された命令を保持するコンピュータ可読記憶媒体は、フローチャートおよび/またはブロック図ブロックまたはブロックにおいて指定された機能あるいは動作の態様を実装する命令を含む製品を含む。
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスにロードされて、コンピュータ、他のプログラム可能な装置、または他のデバイス上で実行される命令が、フローチャートおよび/またはブロック図ブロックで指定された機能/動作を実装するように、コンピュータ、他のプログラム可能な装置、または他のデバイス上で一組の操作ステップを実行させて、コンピュータ実装プロセスを生成し得る。
図中のフローチャートおよびブロック図は、本発明のさまざまな実施形態による、ネットワーク、システム、方法、およびコンピュータプログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示す。この点に関して、フローチャートまたはブロック図中の各ブロックは、指定された論理機能を実装するための1つ以上の実行可能命令を備える、モジュール、セグメント、または命令の一部を表し得る。いくつかの代替的な実装形態では、ブロックに記載された機能は、図に記載された順序から外れて発生し得る。例えば、連続して示される2つのブロックは、実際には、実質的に同時に実行されてもよく、または、ブロックは、関与する機能に応じて、逆の順序で実行されてもよい。
上述に、及び添付のAnnexに、本発明の現在好ましい実施形態が示され、記載されているが、本発明は、これらに限定されるものではなく、以下の請求項の範囲内で、他の方法でさまざまに具体化され、実施され得ることが明確に理解されるべきである。
[Annex]

Claims (21)

  1. 一組のディーラーから一組の受信者への秘密の、(n,t)秘密分散の再分配を行うコンピュータ実装方法であって、前記(n,t)秘密分散は、n個の共有秘密を備え、前記共有秘密のしきい値t≦nは、前記秘密を再構築するために十分な数であり、
    前記方法は、少なくとも前記しきい値tの数のディーラーの各々が、
    そのそれぞれの共有秘密について(n´,t´)秘密分散を作成するステップであって、前記(n´,t´)秘密分散は、それらのそれぞれの共有秘密についてn´個の部分共有秘密を含み、部分共有秘密のしきい値t´≦n´は、前記共有秘密を再構築するために十分な数であるステップと、
    一組の暗号文を作成するステップであって、前記一組の暗号文は、受信者の各々について、そのそれぞれの前記共有秘密についての前記n´個の部分共有秘密のうちの1つに対する暗号化された部分共有を備え、前記暗号化された部分共有秘密は、それぞれの前記受信者の公開鍵暗号化方式の公開暗号鍵について暗号化されるステップと、
    前記一組の暗号文が、その共有秘密の再分配を共同で含む非対話型ゼロ知識証明を生成するステップと、
    前記一組の不特定多数の受信者へのディーリングを配信するステップであって、前記ディーリングは、前記一組の受信者に対する前記一組の暗号文と、前記対応する非対話型ゼロ知識証明とを含むステップと、を実施するコンピュータ実装方法。
  2. 一組の所定の当事者、特に一組の受信者が、前記ディーリングの前記非対話型ゼロ知識証明を検査するステップと、
    十分な数t個の証明が成功裏に検査されると、
    前記受信者の各々が前記ディーリングにわたるその暗号化された複数の部分共有を復号化するステップと、
    前記受信者の各々が前記復号化された複数の部分共有を前記秘密の新たな共有秘密に結合するステップと、
    をさらに備える、請求項1に記載のコンピュータ実装方法。
  3. 前記ゼロ知識証明は、任意の当事者がそれらを検証できる公的に検証可能なゼロ知識証明である、請求項1または2に記載のコンピュータ実装方法。
  4. 前記秘密分散は、線形秘密分散、特にシャミア秘密分散である、請求項1から3までのいずれか1項に記載のコンピュータ実装方法。
  5. 前期ディーラーの各々が、その共有秘密に関連する関連公開鍵材料と前記共有秘密のそれ自体の秘密分散とを作成するステップと、前記関連公開鍵材料を前記ディーリングに追加するステップと、をさらに実施する、請求項1から4までのいずれか1項に記載のコンピュータ実装方法。
  6. 前記関連公開鍵材料は、前記ディーラーの各々の前記共有秘密に関連する1つの公開群要素、および/または前記ディーラーの各々が生成する前記秘密分散に関連する複数の公開群要素を含む、請求項5に記載のコンピュータ実装方法。
  7. 前記秘密は、公開鍵署名方式の公開検証鍵に対応する秘密鍵である、請求項1から6までのいずれか1項に記載のコンピュータ実装方法。
  8. 任意の当事者、特に受信者が、前記一組のディーラーにより生成された前記関連公開鍵材料から、新たな秘密分散に関連付けられた新たな関連公開鍵材料と前記一組の受信者の新たな共有秘密とを生成するステップを、さらに実施する、請求項2から7までのいずれか1項に記載のコンピュータ実装方法。
  9. 前記新たな関連公開鍵材料の前記生成は、前記一組のディーラーにより生成された前記関連公開鍵材料から前記新たな関連公開鍵材料を導出するステップを含み、前記新たな関連公開鍵材料は、前記受信者の前記新たな共有秘密に関連する複数の公開共有検証鍵、前記秘密鍵に関連する公開検証鍵、および/または、前記受信者の前記公開共有検証鍵および/または前記公開検証鍵を導出可能な複数の要素を有する、請求項5から8までのいずれか1項に記載のコンピュータ実装方法。
  10. 前記一組の受信者用の前記部分共有秘密を暗号化するために、選択された暗号文攻撃セキュリティを有する公開鍵暗号化方式を使用するステップをさらに実施する、請求項1から9までのいずれか1項に記載のコンピュータ実装方法。
  11. 前記受信者用の前記部分共有秘密を暗号化するために、前方秘匿性を有する公開鍵暗号化方式を使用するステップをさらに含む、請求項1から10までのいずれか1項に記載のコンピュータ実装方法。
  12. 前方秘匿性を有する前記暗号化方式は、バイナリツリー暗号化方式である、ことを特徴とする請求項11に記載のコンピュータ実装方法。
  13. 前記公開鍵暗号化方式は、多重受信者暗号化方式であり、前記多重受信者暗号化方式は、ディーラーの前記複数の部分共有を前記一組の受信者の前記公開暗号鍵に暗号化するように構成される、請求項1から12までのいずれか1項に記載のコンピュータ実装方法。
  14. 前記多重受信者暗号化方式は、共有ランダム性を使用して、前記一組のディーラーの前記複数の部分共有を前記一組の受信者の公開暗号鍵に暗号化する、請求項13に記載のコンピュータ実装方法。
  15. 前記暗号化方式が、前記複数の部分共有のチャンク暗号化を実行するように構成され、前記部分共有の各々が、それぞれチャンクを表す複数の平文に分割される、請求項1から14までのいずれか1項に記載のコンピュータ実装方法。
  16. 前記一組のディーラーが、さらなる非対話型ゼロ知識証明を生成するステップをさらに含み、前記さらなるゼロ知識証明は、前記チャンク暗号化が正しいことを証明するように構成される、請求項15に記載のコンピュータ実装方法。
  17. 仮想ハードウェアセキュリティモジュールまたはハードウェアセキュリティモジュール上で、別個のプロセスにおける前記暗号化された複数の部分共有の復号化を実行するステップをさらに実施する、請求項2から16までのいずれか1項に記載のコンピュータ実装方法。
  18. 前記ディーリングを不特定多数へ配信するステップは、前記ディーリングを掲示板上に置くことを含む、請求項1から17までのいずれか1項に記載のコンピュータ実装方法。
  19. 複数のノードを備える分散ネットワークであって、前記ネットワークは、一組のディーラーから一組の受信者への秘密の、(n,t)秘密分散を行うコンピュータ実装方法を実行するように構成され、前記(n,t)秘密分散は、n個の共有秘密を備え、前記共有秘密のしきい値t≦nは、前記秘密を再構築するために十分な数であり、
    前記方法は、少なくとも前記しきい値tの数のディーラーの各々が、
    そのそれぞれの共有秘密について(n´,t´)秘密分散を作成するステップであって、前記(n´,t´)秘密分散は、それらのそれぞれの共有秘密についてn´個の部分共有秘密を含み、部分共有秘密のしきい値t´≦n´が、前記共有秘密を再構築するために十分な数であるステップと、
    一組の暗号文を作成するステップであって、前記一組の暗号文は、受信者の各々について、そのそれぞれの前記共有秘密についての前記n´個の部分共有秘密のうちの1つに対する暗号化された部分共有を備え、前記暗号化された部分共有秘密は、それぞれの前記受信者の公開鍵暗号化方式の公開暗号鍵について暗号化されるステップと、
    前記一組の暗号文が、その共有秘密の再分配を共同で含む非対話型ゼロ知識証明を生成するステップと、
    前記一組の不特定多数の受信者へのディーリングを配信するステップであって、前記ディーリングは、前記一組の受信者に対する前記一組の暗号文と、前記対応する非対話型ゼロ知識証明とを含むステップと、を実施する方法である分散ネットワーク。
  20. 請求項19に記載の分散ネットワークで用いるノード。
  21. 一組のディーラーから一組の受信者への秘密の、(n,t)秘密分散の再分配を行うコンピュータプログラム製品であって、前記(n,t)秘密分散は、n個の共有秘密を備え、前記共有秘密のしきい値t≦nは、前記秘密を再構築するために十分な数であり、前記コンピュータプログラム製品は、それとともに具体化されるプログラム命令を保持するコンピュータ可読記憶媒体を備え、前記プログラム命令は、分散ネットワークの1つ以上のノードで実行可能であり、前記1つ以上のノードで実行する方法は、
    少なくとも前記しきい値tの数のディーラーの各々が、
    そのそれぞれの共有秘密について(n´,t´)秘密分散を作成するステップであって、前記(n´,t´)秘密分散は、それらのそれぞれの共有秘密についてn´個の部分共有秘密を含み、部分共有秘密のしきい値t´≦n´が、前記共有秘密を再構築するために十分な数であるステップと、
    一組の暗号文を作成するステップであって、前記一組の暗号文は、受信者の各々について、そのそれぞれの前記共有秘密についての前記n´個の部分共有秘密のうちの1つに対する暗号化された部分共有を備え、前記暗号化された部分共有秘密は、それぞれの前記受信者の公開鍵暗号化方式の公開暗号鍵について暗号化されるステップと、
    前記一組の暗号文が、その共有秘密の再分配を共同で含む非対話型ゼロ知識証明を生成するステップと、
    前記一組の不特定多数の受信者へのディーリングを配信するステップであって、前記ディーリングは、前記一組の受信者に対する前記一組の暗号文と、前記対応する非対話型ゼロ知識証明とを含むステップと、を実施する方法であるコンピュータプログラム製品。
JP2023519886A 2020-09-30 2020-09-30 秘密分散の再分配 Pending JP2023552263A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2020/077414 WO2022069035A1 (en) 2020-09-30 2020-09-30 Redistribution of secret sharings

Publications (1)

Publication Number Publication Date
JP2023552263A true JP2023552263A (ja) 2023-12-15

Family

ID=72744758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023519886A Pending JP2023552263A (ja) 2020-09-30 2020-09-30 秘密分散の再分配

Country Status (6)

Country Link
US (1) US20230361993A1 (ja)
EP (1) EP4201019A1 (ja)
JP (1) JP2023552263A (ja)
KR (1) KR20230078767A (ja)
CN (1) CN116391346A (ja)
WO (1) WO2022069035A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230016859A1 (en) * 2020-07-13 2023-01-19 Inpher, Inc. Multi-Pivot Partial Quicksort and Oblivious Comparisons of Secret Shared Arithmetic Values in a Multi-Party Computing Setting
CN114826614B (zh) * 2022-04-22 2024-02-23 安天科技集团股份有限公司 一种可认证密码库文件分布式存储方法、装置和电子设备
GB202209073D0 (en) * 2022-06-21 2022-08-10 Cybernetica As Distributed decryption
CN115941164A (zh) * 2022-10-31 2023-04-07 蚂蚁区块链科技(上海)有限公司 一种区块链上实现分布式密钥生成的方法、系统和节点

Also Published As

Publication number Publication date
KR20230078767A (ko) 2023-06-02
WO2022069035A1 (en) 2022-04-07
US20230361993A1 (en) 2023-11-09
EP4201019A1 (en) 2023-06-28
CN116391346A (zh) 2023-07-04

Similar Documents

Publication Publication Date Title
CN113424185B (zh) 快速不经意传输
US10903991B1 (en) Systems and methods for generating signatures
CN108667625B (zh) 协同sm2的数字签名方法
JP2023552263A (ja) 秘密分散の再分配
CN112906030B (zh) 基于多方全同态加密的数据共享方法和系统
Ahmad et al. A comparison between symmetric and asymmetric key encryption algorithm based decryption mixnets
WO2019110399A1 (en) Two-party signature device and method
CN112039883A (zh) 一种区块链的数据分享方法及装置
EP3942735A1 (en) Distributed network with blinded identities
WO2022167163A1 (en) Threshold key exchange
JP2001211154A (ja) 秘密鍵生成方法,暗号化方法及び暗号通信方法
US20210083853A1 (en) Key distribution system, terminal device, key distribution method, and program
JP2022107460A (ja) 鍵交換システム、通信端末、情報処理装置、鍵交換方法、及びプログラム
JP4758110B2 (ja) 通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法
GB2594312A (en) Digital Signatures
WO2000019652A1 (en) Distributed shared key generation and management using fractional keys
CN116011014A (zh) 一种隐私计算方法和隐私计算系统
US20230269092A1 (en) Distributed network having a plurality of subnets
US11870914B2 (en) Digital signatures
JP3302335B2 (ja) 暗号文検証方法、そのプログラム記録媒体、及びその装置
JP7292648B2 (ja) 鍵交換システム、情報処理装置、鍵交換方法及びプログラム
De Keyser Implementation of a verifiable mix network based on the trade-off between resilience, scalability, and performance
Kiss et al. Web Application for Privacy-preserving Scheduling using Secure Computation.
Schick Web application for privacy-preserving scheduling
Sreeram et al. Ensuring an Efficient Access Control Security in Cloud Computing Using Broadcast Group Key Management

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230919