JP2024114899A - ブロックチェーンネットワークのためのクレデンシャル生成及び分配方法 - Google Patents
ブロックチェーンネットワークのためのクレデンシャル生成及び分配方法 Download PDFInfo
- Publication number
- JP2024114899A JP2024114899A JP2024104517A JP2024104517A JP2024114899A JP 2024114899 A JP2024114899 A JP 2024114899A JP 2024104517 A JP2024104517 A JP 2024104517A JP 2024104517 A JP2024104517 A JP 2024104517A JP 2024114899 A JP2024114899 A JP 2024114899A
- Authority
- JP
- Japan
- Prior art keywords
- node
- nodes
- secret
- point
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004891 communication Methods 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 7
- 238000005065 mining Methods 0.000 description 28
- 230000006870 function Effects 0.000 description 20
- 238000010200 validation analysis Methods 0.000 description 12
- 238000003860 storage Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 125000004122 cyclic group Chemical group 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000013515 script Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 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/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- 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/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- 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/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)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
【課題】自律的な特殊化されたノードのグループから要求元ノードへのクレデンシャルの安全な分配を管理する方法及びデバイスを提供する。【解決手段】クレデンシャルの安全な分配は、ノードのどれもが再構成又は処理しないグループ秘密鍵及び秘密シェアを使用してよい。クレデンシャルは、複数の特殊化されたノードの夫々によって供給されたシークレットポイントの部分からノードが組み立てるシークレットポイントと、要求元ノードの識別子とを含む。シークレットポイントは、グループ秘密鍵と、要求元ノードの識別子のマップ・ツー・ポイントハッシュとに基づく。【選択図】図7
Description
本発明は、概して、ブロックチェーントランザクションに、より具体的には、ノード間に信頼できるピア・ツー・ピア通信を確立する方法及びシステムに関する。
本明細書中で、我々は、あらゆる形式の電子的な、コンピュータに基づく分散台帳(distributed ledgers)を含むよう語「ブロックチェーン」を使用する。それらは、合意に基づくブロックチェーン及びトランザクションチェーン技術、許可(permissioned)及び無許可(un-permissioned)台帳、共有台帳、並びにこれらの変形を含むが限られない。ブロックチェーン技術の最も広く知られた応用は、他のブロックチェーン実施が提案及び開発されているとはいえ、ビットコイン台帳である。ビットコインが、便宜上、説明のために本明細書で言及され得るが、本発明は、ビットコインブロックチェーンとともに使用することに限られず、代替のブロックチェーン実施及びプロトコルが本発明の適用範囲内にあることが留意されるべきである。
ブロックチェーンは、合意に基づく電子台帳であり、これは、トランザクションから成るブロックで構成された、コンピュータに基づく非中央集権型の分散システムとして実装される。各トランザクション(Tx)は、ブロックチェーンシステム内の参加者間のデジタル資産の制御の移行を符号化するデータ構造であり、少なくとも1つの入力及び少なくとも1つの出力を含む。ブロックチェーンにその始まり以来書き込まれてきた全てのトランザクションの永久的且つ不変な記録を構成するようブロックどうしが連鎖するように、各ブロックは前のブロックのハッシュを含む。トランザクションは、それらの入力及び出力に埋め込まれたスクリプトとして知られている小さいプログラムを含む。スクリプトは、如何にして誰によってトランザクションの出力がアクセスされ得るかを特定する。ビットコインプラットフォームで、それらのスクリプトは、スタックに基づくスクリプト言語を用いて書かれている。
新しいトランザクションを受け取るネットワークノードは、直ちに、そのトランザクションをネットワーク内の他のノードへ押し出そうと試みる。新しいトランザクションを他のノードへ送る前に、それは“妥当性確認”(validated)される。つまり、それは、トランザクションが適用可能なプロトコルに従って適切なトランザクションのための基本要件を満たすことを確かにするために、基準の組に対してチェックされる。
トランザクションがブロックチェーンに書き込まれるために、それはノード(“マイナー”(miner)又は“マイニングノード”(mining node))によってブロックに組み込まれる。マイナーは、トランザクションを収集し、それらをブロックへと形成するよう設計される。マイナーは、次いで、ブロックに対して“プルーフ・オブ・ワーク”(proof of work)を完了しようと試みる。複数のマイナーは、ブロックチェーンネットワークにわたって競争して、トランザクションのブロックをアセンブルしそのブロックについての関連するプルーフ・オブ・ワークを完了する最初のものであろうとする。成功したマイナーは、その承認されたブロックをブロックチェーンに加え、ブロックは、ネットワークを通じて伝播される。それにより、ブロックチェーンのコピーを保持する他のノードは、自身の記録を更新することができる。ブロックを受け取るそれらのノードはまた、そのブロックを“妥当性確認”し、それを確かにするその中の全てのトランザクションは、プロトコルの方式要件に従う。
非中央集権型のピア・ツー・ピアシステムにおける課題の1つは、ノードが、信頼できる原理で、ネットワーク内の他のノードと通信することができることを確かにすることである。いくつかの実施のネットワークアーキテクチャが進化するにつれて、いくつかのノードは、より特殊化されたタスクを引き受ける場合があり、他のノードは、特定のデータのソースとして、又は特定の機能を行うノードとして、それらの特殊化されたノードに依存することがある。ノードが情報のために又は正当なソースとして他のノードに依存しようとしている場合に、ノードは、そのノードとの通信のための信頼できる関係を確立することができなければならない。ノードが異なる役割を有している場合において、ノードの役割を決定及び検証するためのメカニズムを有することが有利となる。更に、ノードが正当でないか又は悪意があると分かる場合には、他のノードが、そのようなノードからの将来の通信を無視するためにそのことを思い出すことが可能でなければならない。ピア・ツー・ピアシステムでは、課題は、中央当局(central authority)を与えることによってシステムのピア・ツー・ピア性質を妥協することなしに、それらの問題を解決することである。
そのような解決法が、現在考案されている。
従って、本発明によれば、添付の特許請求の範囲で定義される方法及びデバイスが提供される。
本願は、自律的な特殊化されたノードのグループから要求元ノードへのクレデンシャルの安全な分配を管理する方法及びデバイスを記載及び開示する。クレデンシャルの安全な分配は、どのノードも再構成又は処理しないグループ秘密鍵及び秘密シェア(secret share)を使用してよい。クレデンシャルは、要求元ノードの識別子と、複数の特殊化されたノードの夫々によって供給されるシークレットポイント(secrete point)の部分から要求元ノードが組み立てるシークレットポイントとを含む。シークレットポイントは、グループ秘密鍵と、要求元ノードの識別子のマップ・ツー・ポイント(map-to-point)ハッシュとに基づく。
本願は更に、2つのノードが、自律的な特殊化されたノードのグループによって信用証明されたものとして、そのようなグループを必要とすること又は中央集権型の証明書マネージャ(certificate manager)若しくはオーセンティケータ(authenticator)を必要とすることなしに、お互いを認証するための方法及びデバイスを記載及び開示する。方法は、第1ノード及び第2ノードが、各自の識別子及びシークレットポイントを必要とする双線形ペアリング操作(bilinear pairing operations)を使用して、同じセッション鍵を導出することを含んでよい。シークレットポイント及び識別子がグループ秘密鍵を用いてグループから取得されたという条件で、双線形ペアリング操作は、2つのノードの夫々での同じセッション鍵の生成をもたらし、それによって、各自のクレデンシャルを認証し、2つのノード間の信頼できる通信を可能にする。
追加の又は代替の態様において、本願は、特殊化されたノードのグループからノードがクレデンシャルを取得するための、コンピュータにより実施される方法であって、前記特殊化されたノードの夫々がグループ秘密鍵の秘密鍵シェア(share)を有している、前記方法について記載する。方法は、識別子を有するノードから複数の特殊化されたノードへクレデンシャルの要求を送ることと、前記複数の特殊化されたノードの中の各ノードから、そのノードによって、前記識別子とそのノードの秘密鍵シェアから生成されたシークレットポイントの部分を受け取ることと、前記シークレットポイントの前記受け取られた部分を結合することによって前記シークレットポイントを生成することとを含み、前記シークレットポイントは、グループ秘密鍵に前記識別子のマップ・ツー・ポイントハッシュを掛けたものであり、前記クレデンシャルは、前記識別子及び前記シークレットポイントである。ノードも、特殊化されたノードも、グループ秘密鍵の完全なコピーを取得する必要がない。
いくつかの実施において、前記要求を送ることは、前記複数の特殊化されたノードの夫々へ別個の要求を送ることを含む。前記識別子は、前記ノードを識別する識別子ストリングと、前記特殊化されたノードのグループの役割を識別する役割ストリングとを含んでよい。いくつかの場合に、前記識別子は、前記クレデンシャルの満了時間を更に含み、いくつかの更なる場合には、前記要求を送ることは、前記識別子ストリングを送ることを含み、前記受け取ることは、前記識別子を受け取ることを含む。
いくつかの実施において、前記シークレットポイントを生成することは、前記シークレットポイントの前記受け取られた部分を結合することを伴う。前記結合することは、いくつかの実施例で、加算することを含む。
いくつかの実施において、前記シークレットポイントは、秘密シェアを用いて生成され、前記グループ秘密鍵に基づく。そのような場合のいくつかで、秘密シェアは、前記グループ秘密鍵を再構成することなしに、前記複数の特殊化されたノードの秘密鍵シェア及びラグランジュ補間を使用する。
追加の又は代替の態様において、本願は、第1ノードが第2ノードとの信頼できる通信を確立するための、コンピュータにより実施される方法であって、前記第2ノードが第2ノード識別子及び第2シークレットポイントを有し、前記第2シークレットポイントが、グループ秘密鍵に前記第2ノード識別子のマップ・ツー・ポイントハッシュを掛けたものであり、前記グループ秘密鍵が、クレデンシャルを付与するよう構成されたノードのグループに関連する、前記方法について記載する。方法は、前記グループ秘密鍵に第1ノード識別子のマップ・ツー・ポイントハッシュを掛けたものである第1シークレットポイントを前記ノードのグループから得ることと、前記第1ノード識別子を前記第2ノードへ送ることと、前記第2ノード識別子を受け取ることと、前記第2ノード識別子のマップ・ツー・ポイントハッシュと、前記第1シークレットポイントとによる双線形ペアリング操作を用いて、第1セッション鍵を生成することと、前記第1セッション鍵が、前記第2ノードによって、前記第2シークレットポイントと、前記第1ノード識別子のマップ・ツー・ポイントハッシュとによる前記双線形ペアリング操作を用いて生成された第2セッション鍵と一致することを確かめることとを含む。
いくつかの実施において、前記第1セッション鍵を生成するための前記双線形ペアリング操作は、式:
KA=e(H1(idB),sA)、及び
KA=e(sB,H1(idA))
のうちの一方を特徴としてよく、前記第2セッション鍵を生成するための前記双線形ペアリング操作は、前記式のうちの他方を特徴とし、
e()は、前記双線形ペアリング操作であり、
H1()は、前記マップ・ツー・ポイントハッシュであり、
idA及びidBは、前記第1ノード識別子及び前記第2ノード識別子の夫々1つであり、
sA及びsBは、前記第1シークレットポイント及び前記第2シークレットポイントの夫々1つである。
KA=e(H1(idB),sA)、及び
KA=e(sB,H1(idA))
のうちの一方を特徴としてよく、前記第2セッション鍵を生成するための前記双線形ペアリング操作は、前記式のうちの他方を特徴とし、
e()は、前記双線形ペアリング操作であり、
H1()は、前記マップ・ツー・ポイントハッシュであり、
idA及びidBは、前記第1ノード識別子及び前記第2ノード識別子の夫々1つであり、
sA及びsBは、前記第1シークレットポイント及び前記第2シークレットポイントの夫々1つである。
いくつかの実施において、前記第1シークレットポイントを得ることは、前記ノードのグループ内の複数のノードの夫々から前記第1シークレットポイントの各々の部分を取得し、該各々の部分を結合して、前記グループ秘密鍵を再構成することなしに前記第1シークレットポイントを形成することを含む。
いくつかの実施において、前記確かめることは、前記第1セッション鍵により暗号化された課題を前記第1ノードから前記第2ノードへ送り、該課題に対する応答を受け取り、該応答に基づき、前記第2ノードが前記第2セッション鍵を用いて前記課題を有効に暗号解読したことを決定することを含む。
いくつかの実施において、前記送ることは、第1ノンスを送ることを更に含み、前記受け取ることは、第2ノンスと、計算されたC0値とを受け取ることを更に含み、前記C0値は、前記第2セッション鍵、前記第1ノンス、及び前記第2ノンスの連結のハッシュを有する。そのような場合のいくつかにおいて、前記連結は、前記第1ノード識別子及び前記第2ノード識別子を更に含む。そのような場合のいくつかにおいて、前記生成することは、前記第1セッション鍵、前記第1ノンス、及び前記第2ノンスの連結のハッシュを有する計算されたC1値を生成することを含み、前記確かめることは、前記計算されたC0値が前記計算されたC1値と一致することを確かめることを有する。
いくつかの実施において、前記第2シークレットポイントは、前記グループ秘密鍵に前記第2ノード識別子のマップ・ツー・ポイントハッシュを掛けたものである。
いくつかの実施において、前記第1シークレットポイント及び前記第2シークレットポイントは、夫々が、前記ノードのグループによって、秘密分散を用いて夫々前記第1ノード及び前記第2ノードへ供給される。
追加の又は代替の態様において、本願は、1つ以上のプロセッサと、メモリと、ネットワークインターフェイスと、プロセッサ実行可能命令を含むアプリケーションとを含むノードであって、前記プロセッサ実行可能命令は、実行されるときに、当該ノードに、本明細書で記載される方法のうちの1つ以上の動作を実行させる、前記ノードについて記載する。
追加の又は代替の態様において、本願は、1つ以上のプロセッサによって実行されるときに、該1つ以上のプロセッサに、本明細書で記載される方法のうちの1つ以上の動作を実行させるプロセッサ実行可能命令を記憶している非一時的なプロセッサ可読媒体について記載する。
本発明のそれら及び他の態様は、本明細書で記載される実施形態から明らかとなり、その実施形態を参照して説明される。本発明の実施形態は、これより、単なる一例として、添付の図面を参照して記載される。
本願において、語「及び/又は」(and/or)は、必ずしも追加の要素を除外せずに、挙げられている要素のみ、任意のサブコンビネーション、又は全ての要素、のうちのいずれか1つを含む、挙げられている要素の全ての起こり得る組み合わせ及びサブコンビネーションをカバーするよう意図される。
本願において、「~又は~の少なくとも1つ」(at least one of … or …)との語句は、必ずしも追加の要素を除外することなしに、且つ、必ずしも全ての要素を必要とせずに、挙げられている要素のみ、任意のサブコンビネーション、又は全ての要素、のうちのいずれか1つを含む、挙げられている要素のうちの任意の1つ以上をカバーするよう意図される。
以下で記載される例は、ブロックチェーンネットワークとの関連で実施を参照するが、本願は、必ずしも、ブロックチェーンノードや、ブロックチェーンネットワークにおける実施に限られないことが理解されるだろう。
最初に図1を参照する。図1は、ブロックチェーンに関連するネットワークの例をブロック図形式で表す。ネットワークは、本明細書中でブロックチェーンネットワーク100と呼ばれ得る。ブロックチェーンネットワーク100は、招待なしで又は他のメンバーからの同意なしで誰もが参加することができるピア・ツー・ピアの非会員制ネットワークである。ブロックチェーンネットワーク100が動作するブロックチェーンプロトコルのインスタンスを実行する分散した電子デバイスが、ブロックチェーンネットワーク100に参加し得る。そのような分散した電子デバイスは、ノード102と呼ばれ得る。ブロックチェーンプロトコルは、例えば、ビットコインプロトコル又は他の暗号資産であってよい。
ブロックチェーンプロトコルを実行し、ブロックチェーンネットワーク100のノード102を形成する電子デバイスは、例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータなどのコンピュータ、サーバ、スマートフォンなどのモバイル機器、スマートウォッチなどの装着型コンピュータ、又は他の電子デバイスを含む様々なタイプであってよい。
ブロックチェーンネットワーク100のノード102は、有線及び無線通信技術を含み得る適切な通信技術を用いて互いへ結合される。多くの場合に、ブロックチェーンネットワーク100は、少なくとも部分的にインターネット上で実装され、ノード102の一部は、地理的に散開した位置に配置されてよい。
ノード102は、夫々がチェーン内の前のブロックのハッシュを含むブロックにグループ化されたブロックチェーン上の全てのトランザクションの大域的な台帳(global ledger)を保持する。大域的な台帳は分散台帳(distributed ledger)であり、各ノード102は、大域的な台帳の完全なコピー又は部分的なコピーを保管し得る。大域的な台帳に影響を与えるノード102によるトランザクションは、大域的な台帳の妥当性が保たれるように、他のノード102によって検証される。ビットコインプロトコルを使用するもののような、ブロックチェーンネットワークを実装し動作させることの詳細は、当業者によって十分に理解されるだろう。
各トランザクションは、通常は、1つ以上の入力及び1つ以上の出力を有する。入力及び出力に埋め込まれたスクリプトは、如何にして誰によってトランザクションの出力がアクセスされ得るかを特定する。トランザクションの出力は、トランザクションの結果として値が移される先のアドレスであることができる。その値は、次いで、未使用トランザクション出力としてその出力アドレスと関連付けられる。その後のトランザクションは、次いで、そのアドレスを、その値を使用又は分散するために、入力として参照してよい。
ノード102は、それらの機能性に応じて、タイプ又はカテゴリが様々であることができる。ノード102に関連した4つの基本機能、すなわち、ウォレット(wallet)、マイニング(mining)、完全ブロックチェーンメンテナンス(full blockchain maintenance)、及びネットワークルーティング(network routing)が存在することが示唆されてきた。それらの機能のバリエーションが存在し得る。ノード102は、それらの機能のうちの1よりも多くを有し得る。例えば、“フルノード”(full node)は4つ全ての機能を提供する。例えば、デジタルウォレットで実装され得るようなライトウェイトノード(lightweight node)は、ウォレット機能及びネットワークルーティング機能のみを特色とし得る。完全ブロックチェーンを保持することよりむしろ、デジタルウォレットは、ブロックをクエリするときにインデックスとなるブロックヘッダの経過を追ってよい。
上述されたように、マイニングノード(“マイナー”)は、ブロックチェーンにおいて次のブロックを作る競争に参加する。ブロックをアセンブルするよう、マイナーは、未承認のトランザクションのプール(“メモリプール”(mempool))からトランザクションの組としてブロックを構築する。マイナーは次いで、自身がアセンブルしたブロックに対してプルーフ・オブ・ワークを完了しようと試みる。マイナーが、いずれかの他のマイナーがブロックを生成しそのプルーフ・オブ・ワークを完了することに成功したとの通知を受ける前に、何とかプルーフ・オブ・ワークを完了する場合には、次いで、マイナーは、ブロックをネットワーク上でピアノードへ送ることによってそのブロックを伝播する。それらのノードは、ブロックを妥当性確認し、次いで、それを更に、ネットワーク上で他のノードへ送る。マイナーが、自身のプルーフ・オブ・ワークを終了する前に、他のブロックが完成されたとの通知を受ける場合には、次いで、マイナーは、その活動を放棄し、次のブロックを構築しようと試みることを開始する。ブロックの迅速な伝播は、マイナー及び妥当性確認するノードのために無駄な労力を回避するのを助ける。
ビットコインネットワークのようなブロックチェーンの現在の実施では、ブロックを受け取る各ノードは、ブロックを他のノードへ送る前に、最初にブロックを妥当性確認する。ブロックを妥当性確認するのにかかる時間は、ネットワークを通るブロックの伝播を遅くする。既存のプロトコルの進化を含むブロックチェーンのいくつかの実施は、ネットワーク内の各ノードよりむしろノードの一部のみによるブロック妥当性確認を提供し得る点に留意されたい。しかし、ほとんどのノードでのブロック妥当性確認は、妥当でないブロックがネットワーク内を伝播することを防ぐための任意のブロックチェーン実施の特徴であることが依然としてあり得る。
ブロックを妥当性確認することは、適用可能なブロックチェーンプロトコルによってセットされた所定の基準をブロックが満足することを確かめることを含む。ビットコインプロトコルに適用可能な基準の例は、ビットコインコアクライアント関数CheckBlock及びCheckBlockHeaderにおいて定義される。ブロック自体が所定の基準に従うことを確かめることに加えて、ブロック内の各トランザクションが、トランザクションレベルの基準に従うことを評価されてもよい。一例として、ビットコインプロトコルに適用可能なトランザクションレベルの基準は、AcceptToMemoryPool、CheckTransaction及びCheckInputsで詳細に見られ得る。
一般に、トランザクションレベルの妥当性確認基準は、適用可能なブロックチェーンプロトコルの下でトランザクションが妥当と見なされるべきである特性を規定したものである。同様に、ブロックレベルの妥当性確認基準は、適用可能なブロックチェーンプロトコルの下でブロックが妥当と見なされるべきである特性を規定したものである。
ブロックチェーンのいくつかの進化は、更に特殊化されたノードを提供し得る。一例として、大量の高速アクセスメモリ及び大量のネットワーク通信資源を備えたストレージノードとして構造化されたノードがある。ストレージノードは、未承認のトランザクションを格納する分散トランザクションデータベース(“メモリプール”)を実装し得る。いくつかの実施において、ストレージノードは、未使用トランザクション出力についての分散UTXOデータベースを実装し得る。それらの分散データベースは、いくつかの場合に分散ハッシュテーブルによって実装されてよい。他の例として、いくつかのノードは、トランザクションの迅速な妥当性確認及び伝播に焦点を当てるよう設計されたバリデータ(validator)ノードとして構造化されてもよい。バリデータノード及びストレージノードは、分散された大容量記憶のために且つトランザクションを迅速に妥当性確認し伝播するために設計された高速トランザクションマーチャントネットワークをブロックチェーンネットワーク100内で形成することによって、大量の支払い処理に関連したトランザクション量の増大を円滑にすることができる。
支払い処理で使用されるトランザクションの数が大幅に増大すると、各メモリプールに格納するトランザクションの量が増大する。500バイトのトランザクション(TX)の平均サイズ及び~104TX/sのトランザクションレートを仮定すれば、メモリプールは、最大400GBまでの毎日の着信データを受信する可能性がある。このデータの全てが、未承認トランザクションのメモリプールに様々な時間保存される必要がある。従って、いくつかの実施において、ノードのネットワークは、各ノードで完全なメモリプールを保持するではなく、未承認トランザクションのプールを保持するために、分散ハッシュテーブル(DHT,Distributed Hash Table)を用いて実装される共有メモリプールを使用してよい。そのような実施において、マイニングノード及び/又はその他タイプのノードは、未承認トランザクションの非常に大きいプールを保持及び更新する重荷を下ろすために、必ずしもローカルで完全なメモリプールを保持しなくてもよい。代わりに、マイニングノード及び/又は他のタイプの特殊化されたノードは、メモリプールのメンテナンスを管理するようストレージ及び/又はバリデータノードのネットワークに依存し得る。以下のいくつかの例において、「特殊化されたノード」(specialized node)との語は、バリデータノード、ストレージノードなどのような、ブロックチェーンネットワークにおいて特定の役割を有しているノードを指すために使用されてよい。
これより図2を参照すると、図2は、ノードのブロックチェーンネットワーク200の一実施例を示す。ブロックチェーンネットワーク200は、複数の特殊化されたノード202と、複数のマイニングノード204とを含む。特殊化されたノード202は、この例では、物理的及び論理的にネットワーク200にわたって分布している。ブロックチェーンネットワーク200は、フルノード、簡易支払い検証(SPV,Simplified Payment Verification)ノード(例えば、ウォレット)、及び焦点を絞られた役割を有している他の特殊化されたノードを含む多数の他のタイプのノードを含んでよい。
図3には、ブロックチェーンネットワーク300の他の実施例が表されている。図3は、特殊化されたノード202がブロックチェーンネットワーク300内に(論理)オーバーレイネットワーク302を形成することを示す。オーバーレイネットワーク302は、共有されているメモリプールに対する迅速なアクセス及び検索を確かにするために、オーバーレイネットワーク302内の特殊化されたノード202間の高速な通信を確かにするよう構成されてよい。
この例における特殊化されたノード202は、ブロックチェーンネットワーク200、300にわたって大量の支払い処理を促進するための構造の部分として、高速なトランザクション妥当性確認及び伝播を助けるよう実装されてよい。これに関連して、特殊化されたノード202は、トランザクションの妥当性確認及び伝播に焦点を当てるバリデータノードであってよく、マイニングノード204は、ブロックマイニングに焦点を当て、メモリプールの記憶又はトランザクションの妥当性確認の必要性を免れる。この例で、特殊化されたノード202は、それらがそのDHTに基づく記憶に関与する点で直接にメモリプールへのアクセスを有することができ、あるいは、1つ以上のストレージノードを経由してメモリプールへのアクセスを有してもよい。
高速なトランザクション処理を後押しするためのブロックチェーンネットワーク200、300及び個々のノードの役割のこのような再構成は、ブロックチェーンの成長及び様々なノードの悪意のない関与を確かにすることにおいて課題を与える可能性がある。1つ以上の中央当局による制御を回避することによって、ブロックチェーンネットワーク200、300の非中央集権的な性質を保つことが大いに重要である。ネットワーク200、200が適切に機能するために、特殊化されたノード202及び他の特殊化されたノードは、各ノードが自身の機能又は役割を確かに実行することと、他のノードがそれらの機能又は役割を確かに実行すると信頼できることとを確かにするように、相互作用すべきである。この目的を達成するために、特殊化されたノード202とマイニングノード204との間の相互作用は、ブロックの高速なマイニング及び伝播を追求することにおいて協調を促す複数のトランザクションを使用してよい。
これより図4を参照すると、図4は、複数のマイニングノード402(個別的に402a、402b、402cと示される。)と、複数の特殊化されたノード202を含むオーバーレイネットワーク302とを図式的に示す。この例で、特殊化されたノード202は、特殊化されたノード202の間で分散して未承認トランザクションの大規模データベースを保持するために、例えば、DHTを使用する共有メモリプールとして、メモリプールを実装する。なお、これは、1つの実施例であって、いくつかの他の実施では、特殊化されたノード202の夫々がメモリプールの完全なコピーを保持してもよい。
マイニングノード204は、参照番号402b及び402cによって示されるもののような個別的な単独マイナーを含んでよく、参照番号402aによって示されるもののような、複数のマイナーを含むマイニングプールを含んでもよい。
この例におけるマイニングノード402は、メモリプールの完全なコピーを有さず、新しいブロックをマイニングするために必要な素材をそれらに提供する特殊化されたノード202に依存する。特に、特殊化されたノード202のうちの1つは、その特殊化されたノード202がメモリプールにおいてアクセスを有している未承認トランザクションの組を用いて、マイニングノード402を、新しいブロックをマイニングすることに関与するよう誘うことができる。マイニングノード402は、新しい未承認トランザクションの組を受け取ることによって、マイニング活動に参加することに同意することを選択することができる。各マイニングノード402からデポジットを受け取ることと引き換えに、特殊化されたノード202は、それらの夫々に、トランザクションの組(又はトランザクションの組のハッシュ)を供給する。参加するマイニングノード402のうちの1つが、トランザクションの組から新しいブロックを作ることに成功する場合に、次いで、そのマイニングノード402は、ブロックをマイニングするための通常の手数料に加えて、自身のデポジットの払い戻しを特殊化されたノード202から受け取る。残りの不成功のマイニングノード402は、特殊化されたノード202への自身のデポジットを没収される。参加するマイニングノード402のどれも次のブロックを作ることに成功しない場合には、次いで、特殊化されたノード202は、1つには、トランザクションを妥当性確認し、妥当性確認されたトランザクションの組をマイニングノードへ供給することにおける自身の労力に対する補償として、特殊化されたノード202によって徴収される妥当性確認手数料を差し引いて、それらのマイニングノード402のデポジットを返金する。
なお、マイニングノード402は、この例では、特殊化されたノード202が特殊化されたノードのプールの正当なメンバーであることを認証することが可能でありたいと望む。同様に、特殊化されたノード202自体の間でも、それらが、特殊化されたノード202のうちの1つの身元と、共同作業に参加するためのそのノードの権限とを認証する必要があり得る。多くのネットワークアーキテクチャで、この機能は、中央で証明書を管理し、参加ノードを認証する認証局(certificate authority)などのような中央認証サービスを課すことによって、実現される。しかし、そのようなアーキテクチャは、中央制御又は当局が回避されるべきである分散ピア・ツー・ピアアーキテクチャでは望ましくない。
同じ問題は、ブロックチェーンネットワークの他の部分でも、妥当性確認、記憶、マイニング、又は他の機能のいずれにせよ、特殊な役割を有しているノードに適応するようそのアーキテクチャが進化するにつれて、起こる可能性がある。それらのノードは、特定の役割を有するグループのメンバーとして機能し、その役割を有するそのグループの他のメンバーは、グループ内のメンバーシップを識別及び認証することが可能でありたいと望む。同様に、グループのメンバーではないが、グループ内の特殊化されたノードと相互作用し、それを“信頼”する必要があるノードも、グループ内のその特殊化されたノードのメンバーシップを認証することが可能でありたいと望む。非中央集権型のブロックチェーンネットワークに中央集権型の認証局を課すことなしに、身元及びメンバーシップを認証することをノードに可能にすることが望ましい。
1つの態様において、本願は、特殊化されたノードグループのメンバーであるノードのグループの間の分散した秘密鍵シェアに依存してノードを信用証明する方法及びデバイスを提供する。それに応じて、特殊化されたノードのどれもが単独で有効なクレデンシャルを要求元ノードへ供給しないように、グループ内の特殊化されたノードの協働を通じて、クレデンシャルが生成され、要求元ノードへ供給される。
他の態様において、本願は、同じグループのノードによって許可されたクレデンシャルを各ノードが保有していることを確かめることを通じて、2つのノードの間に信頼できる通信チャネルを確立する方法を提供する。信頼できる通信チャネルに関与するノードは両方とも、クレデンシャルを許可したグループのメンバーであってよいが、必ずしもメンバーではない。1つの例において、一方のノードは、特殊化されたノードのグループのメンバーであり、他方のノードは、そうではない。2つのノードのクレデンシャルの妥当性を確かめることは、各ノードが双線形ペアリング操作を用いて鍵を生成し、鍵が一致することを確かにすることに基づいてよい。一方のノードの双線形ペアリング操作は、引数として、他方のノードの識別子のマップ・ツー・ポイントハッシュと、ノードのグループによって協力し合って生成されて一方のノードへ供給されたシークレットポイントとを含んでよい。
これより図5を参照すると、図5は、特殊化されたノードのグループ502を図式的に示す。要求元ノード504は、その身元を、特殊化されたノードのうちの1つとして、又は特殊化されたノードのうちの1つと通信するノードとして証明することが可能であるように、特殊化されたノードのグループ502からクレデンシャルを取得したいと望む。要求元ノード504は、特殊化されたノードのグループ502の部分であってもなくてもよい。
要求元ノード504は、クレデンシャルの要求506をノードのグループ502へ送る。要求506は、要求元ノード504の識別子に関連付けられている。いくつかの実施において、識別子は、要求元ノード504によって生成され、要求506とともに送られてよい。例えば、要求元ノード504は、その識別子“Alice”を生成し、そのid=Aliceをノードのグループ502に伝えてよい。いくつかの実施において、識別子は、ノードのグループ502によって、あるいは、より具体的には、ノードのグループ502内の1つのノードによって割り当てられ、要求元ノード504へ送られてもよい。いくつかの実施において、要求元ノード504は、その“名称”又は識別子ストリング、例えば“Alice”をノードのグループ502に供給する。識別子ストリングは、何らかの英数字列又は他の一意の識別子であってよい。ノードのグループ502は、要求元ノード504の識別子を生成するために、追加情報を識別子ストリングに連結させてもよい。例えば、ノードのグループ502は、識別子ストリングをノードのグループ502の名称又は識別子と結合してもよい。いくつかの実施において、名称は、“validator”(バリデータ)などのような、ノードのグループ502の“role”(役割)又は機能である。いくつかの実施において、ノードのグループ502は、識別子をクレデンシャルの満了時間と結合してもよく、それにより、要求元ノード504のクレデンシャルを評価する如何なる他のノードも、その識別子から、クレデンシャルが有効期限内にあるかどうかを判断することができる。以下で説明される1つの実施例において、要求元ノード504の識別子は、識別子ストリング(例えば、Alice)と、ノードのグループ502を識別する役割ストリング又はそれらの機能的役割と、クレデンシャルの満了時間との連結から形成される。識別子の他の可能な実施は、当業者によって理解されるだろう。
ノードのグループ502内の各ノードは、秘密鍵kのシェアkiを含む。秘密分散(secret sharing)は、秘密kを再構成するために少なくともt+1人の参加者が協力する必要があるように、秘密kがn人のプレイヤーの間で分けられる閾値暗号方式で使用される。秘密kの任意のt個の部分の知識は、秘密kを未決定のままとする。
秘密分散方式は、多項式補間に基づいており、秘密は、有限体(finite field)Fの元(element)であると考えられる。方式は、ディーラー(ディーラーなしバージョンも存在する。)と、n人の参加者U1,・・・,Unの組とを有する。プロトコルにおいて、任意のランダムな秘密が、t次多項式f(x)におけるf(0)として格納され、ノードiのみが、そのシェアf(xi)を計算することができる。n個のノードのうちのt+1個が協働する場合に、それらは、ラグランジュ多項式補間を用いて、f(x1),f(x2),・・・,f(xn)に対応する(鍵kの)それらのシェアk1,k2,・・・,knによりf(x)上の任意の点を再構成することができる。ラグランジュ多項式補間は、次数tを有する関数f(x)がt+1個の点p={(x1,f(x1)),(x2,f(x2)),・・・,(xt+1,f(xt+1))}により再構成され得ることを提供する:
ここで、
なお、bi,p(xi)=1且つbi,p(xj)=0に留意されたい。これに関連して、biは補間係数である。
ディーラーなしシェア分配(dealerless shares distribution)に関する実施では:
1.各ノードiは、あらゆるものに知られているxiを割り当てられる。各xiは、一意でなければならない。
2.各ノードiは、次数tを有するランダム多項式fi(x)を生成する。
3.各ノードiは、あらゆる他のノードに、多項式fi(xj)modn上のそれらの各々の点を秘密裏に(受取側の公開鍵により暗号化して)送る。
4.各ノードiは、多項式f(x)modnに対するシェアであるki=f(xi)modnを形成するよう、全てのそれらの受け取られたf1(x1),f2(x2),・・・,fp(xi)、全てのmodn(ここで、nは、基礎体(base field)
[外1]
の標数である。)を足し合わせる。
1.各ノードiは、あらゆるものに知られているxiを割り当てられる。各xiは、一意でなければならない。
2.各ノードiは、次数tを有するランダム多項式fi(x)を生成する。
3.各ノードiは、あらゆる他のノードに、多項式fi(xj)modn上のそれらの各々の点を秘密裏に(受取側の公開鍵により暗号化して)送る。
4.各ノードiは、多項式f(x)modnに対するシェアであるki=f(xi)modnを形成するよう、全てのそれらの受け取られたf1(x1),f2(x2),・・・,fp(xi)、全てのmodn(ここで、nは、基礎体(base field)
[外1]
の標数である。)を足し合わせる。
図5の例に戻ると、ノードのグループ502の中のノードは、参照番号508によって示されるように、要求元ノード504のためのシークレットポイントsAを生成するよう協働する。シークレットポイントsAは、巡回群G1の中にあり、その有意性は、ハンドシェイク及びペアリングに関する以下の説明から明らかになる。シークレットポイントは:
sA=k・H1(idA)
として識別子に関係がある。ここで、idAは、要求元ノード504の識別子である。クレデンシャルは、いくつかの実施において、(idA,sA)であると考えられ得る。H1は、以下で更に詳細に説明されるように、マップ・ツー・ポイントハッシュである。
sA=k・H1(idA)
として識別子に関係がある。ここで、idAは、要求元ノード504の識別子である。クレデンシャルは、いくつかの実施において、(idA,sA)であると考えられ得る。H1は、以下で更に詳細に説明されるように、マップ・ツー・ポイントハッシュである。
グループ秘密鍵kを再構成することなしにシークレットポイントを生成するために、ノードのグループ502は、秘密シェア連結(Secret Share Joining)の形式を用いてsAを生成することにおいて協働する。図6は、ノードのグループ502が要求元ノード504に対してクレデンシャルを許可する他の例を示す。この実例では、要求元ノード504は、クレデンシャル要求をノードのグループの中の少なくともt+1個のノードへ送る。それらのノードは夫々、要求元ノード504にsAの一部を供給する。特に、シークレットポイントsAの各シェアsAiは、ノードiによって決定されて要求元ノード504へ送られ、次いで、要求元ノード504は、それらをシークレットポイントsAに組み立てる(すなわち、それらを結合する)。いくつかの例において、シェアsAiは、シークレットポイントsAを得るために、それらを加算することによって結合される。
これより図7を参照すると、図7は、クレデンシャルのグループに基づいた分散生成のためのプロセス700の一例をフローチャート形式で示す。プロセス700は要求元ノードによって実行される。それは、要求元ノードが動作702においてインデックスiを1にセットすることから始まる。次いで、要求元ノードは、クレデンシャルをノードiに要求する。ノードiは、本明細書で記載されるクレデンシャル許可プロシージャの実施を実行するよう構成されたノードのグループ内の特殊化されたノードである。ノードiは、グループ秘密鍵シェアkiの部分を用いて、シークレットポイントsAのi番目の部分を決定する。その部分はsAiとして参照され得る。
動作706において、要求元ノードは、i番目のノードから部分sAiを受け取る。すなわち、それは部分的なクレデンシャルを受け取る。動作708において、要求元ノードは、インデックスiがt+1であるかどうかを判断する。そうである場合には、要求元ノードは、t+1個の部分的なクレデンシャルを受け取っている。しかし、そうでない場合には、要求元ノードは、シークレットポイントsAを再構成するために更なる部分的なクレデンシャルを依然として必要とする。iが未だt+1に等しくない場合に、次いで、動作710で、iは1だけ増分され、プロセス700は動作704へ戻って、ノードのグループ内の他のノードに別の部分的なクレデンシャルを要求する。iがt+1に等しい場合には、次いで、動作712で、要求元ノードは、シークレットポイントsAを組み立てる。
ノードのグループの中のノードの共同努力を通じてクレデンシャルが得られると、妥当性確認/認証のために中央当局に依存すること又はグループに戻ることなしに、クレデンシャルをチェック又は妥当性確認するメカニズムを有することが有利である。そのようにして、発行されたクレデンシャルを協力し合って検証し妥当性確認するノードのグループを有することに付随した時間遅延及び通信オーバーヘッドの負担なしで、同じグループのノードからの有効なクレデンシャルを有すると主張する2つのノードは、お互いのクレデンシャルを妥当性確認することができる。
概説として、グループ秘密鍵kが有限体の一員、すなわち、
[外2]
であると考える。クレデンシャルを取得する要求元ノードは、クレデンシャルを自身の識別子idA及び巡回群G1内のシークレットポイントsAの形で有している。この例となる実施形態で、識別子(又は“仮名”(pseudonym))idAは(Alice||role||満了時間)であり、||は、2つのストリングの連結を表し、roleは、グループのノード及び/又はその機能若しくは役割に関連したストリング又は他の英数字識別子である。要求元ノードは、その識別子を誰にでも公開することができるが、sAを秘密のままとする。
[外2]
であると考える。クレデンシャルを取得する要求元ノードは、クレデンシャルを自身の識別子idA及び巡回群G1内のシークレットポイントsAの形で有している。この例となる実施形態で、識別子(又は“仮名”(pseudonym))idAは(Alice||role||満了時間)であり、||は、2つのストリングの連結を表し、roleは、グループのノード及び/又はその機能若しくは役割に関連したストリング又は他の英数字識別子である。要求元ノードは、その識別子を誰にでも公開することができるが、sAを秘密のままとする。
他の要求元ノードは、(Bob||role||経過時間)としての識別子idBと、シークレットポイントsBとを取得する。
シークレットポイントsAは、sA=k・H1(idA)によって与えられ、シークレットポイントsBは、sB=k・H1(idB)によって与えられる点に留意されたい。
Alice及びBobが、お互いと信頼できる通信を確立したいとき、すなわち、彼らのうちの一方又は両方が他方のクレデンシャルを検証したいとき、2つのノードは、それらのシークレットポイントを開示することなしに、各自の識別子/仮名を交換する。
ノードAliceは、次いで:
KA=e(H1(Bob||role||経過時間),sA)
を計算することによって、セッション鍵KAを生成する。ここで、e()は、双線形写像(bilinear map)、すなわち、ペアリング操作である。ノードBobは:
KB=e(sB,H1(Alice||role||満了時間))
を計算することによって、セッション鍵KBを求める。
KA=e(H1(Bob||role||経過時間),sA)
を計算することによって、セッション鍵KAを生成する。ここで、e()は、双線形写像(bilinear map)、すなわち、ペアリング操作である。ノードBobは:
KB=e(sB,H1(Alice||role||満了時間))
を計算することによって、セッション鍵KBを求める。
演算H1()は、以下で更に記載されるように、マップ・ツー・ポイント関数である。ペアリングの特性により、2つの鍵は同じ、すなわち、KA=KBである。課題値を送り、それに対する応答を得ることによって、2つのノードは、プロトコルが成功したこと、すなわち、2つのノードが夫々、同じ役割を示すノードの同じグループによって発行されたクレデンシャルを保持すること、を検証することができる。代替的に、一方のパーティは、ハンドシェイクが成功した場合且つその場合に限り暗号解読に成功する何らかのコンテンツを他方へ送ることができる。
この例におけるペアリング操作は、この場合に同じ巡回群G1からのsA及びsBに依存する。他の場合に、2つは:
e:G1×G2→GT
として他のアーベル群内の値をとる2つのアーベル群として関係がある異なる巡回群G1及びG2からであってもよい。ここで、G1、G2及びGTは、同じ位数の巡回群である。
e:G1×G2→GT
として他のアーベル群内の値をとる2つのアーベル群として関係がある異なる巡回群G1及びG2からであってもよい。ここで、G1、G2及びGTは、同じ位数の巡回群である。
公であるクレデンシャルの生成においては特定のパラメータが存在する。それらは、プロセスにおいていずれかのノードによって生成され、他のノードと共有される。qが2及び3に対して相対的に素な素数のべき乗であるときに、Eは体
[外3]
にわたってn個の点を含む楕円曲線であるとの仮定から出発すると、公のパラメータは、次の:
params=(p、G1,G2,GT,g1,g2,e,H1,H2)
を含むことができる。ここで、g1(又はg2)は、双線形写像e(.,.)を有する素数位数pの群G1(又はG2)の生成元である。G1は、r、qが互いに素であるとして、位数rの
[外4]
の巡回部分群である。そして、e(g1,g2)は、やはり位数pを有するGTを生成する。H1及びH2は、夫々G1及びG2に対するマップ・ツー・ポイントハッシュである。上述されたように、いくつかの実施において、本明細書で記載される例の多くでは、G1のみが使用され得る。すなわち、同じマップ・ツー・ポイントハッシュH1が、両方のシークレットポイントsA及びsBのために使用される。
[外3]
にわたってn個の点を含む楕円曲線であるとの仮定から出発すると、公のパラメータは、次の:
params=(p、G1,G2,GT,g1,g2,e,H1,H2)
を含むことができる。ここで、g1(又はg2)は、双線形写像e(.,.)を有する素数位数pの群G1(又はG2)の生成元である。G1は、r、qが互いに素であるとして、位数rの
[外4]
の巡回部分群である。そして、e(g1,g2)は、やはり位数pを有するGTを生成する。H1及びH2は、夫々G1及びG2に対するマップ・ツー・ポイントハッシュである。上述されたように、いくつかの実施において、本明細書で記載される例の多くでは、G1のみが使用され得る。すなわち、同じマップ・ツー・ポイントハッシュH1が、両方のシークレットポイントsA及びsBのために使用される。
いくつかの楕円曲線暗号方式において、ハッシュアルゴリズムが、有限体の元であるパスワード又は他のストリングを所与の楕円曲線の点にマッピングするために使用される。それらはマップ・ツー・ポイントハッシュである。より正確には、マップ・ツー・ポイントハッシュH1は、入力にメッセージmを取り、点P∈E(K)を返す変換である。より具体的に、H1は点P∈E(K)[r]を返す。このとき、E(K)[r]は、G1によって生成されるE(K)の部分群である。この方式において、基礎体
[外5]
から曲線への一対一のマッピングfが存在する。これは、f(H(m))を用いてハッシングすることを可能にする。このとき、Hは古典的なハッシュ関数であり、
[外6]
[外5]
から曲線への一対一のマッピングfが存在する。これは、f(H(m))を用いてハッシングすることを可能にする。このとき、Hは古典的なハッシュ関数であり、
[外6]
これより図8を参照すると、図8は、お互いのクレデンシャルを妥当性確認することによって信頼できる通信チャネル確立することにおける2つのノードA及びBの間のメッセージフローを示す。この実施例において、ノードAは、自身の識別子idAをノードBへ供給する。識別子idAは、公に利用可能であり、いくつかの場合には、ノードBによって他のソースから取得されてもよい。このことから、ノードBは、ノードAの識別子と、ノードBによって保持されているシークレットポイントsBと、クレデンシャルを発行したノードのグループによって規定されるマップ・ツー・ポイントハッシュH1とを用いて、セッション鍵KBを生成することができる。セッション鍵KBは、やはりノードのグループによって規定されるペアリング操作e()を用いて、生成される:
KB=e(sB,H1(Alice||role||満了時間))
ここで、この例では、ノードBの識別子idBは、(Alice||role||満了時間)である。
KB=e(sB,H1(Alice||role||満了時間))
ここで、この例では、ノードBの識別子idBは、(Alice||role||満了時間)である。
ノードBは、自身のidBをノードAへ供給し、ノードAは次いで、同様に、ノードBの識別子と、自身のシークレットポイントsAと、同じペアリング操作及びマップ・ツー・ポイントハッシュとを用いて、セッション鍵KAを生成することができる:
KA=e(H1(Bob||role||経過時間),sA)
KA=e(H1(Bob||role||経過時間),sA)
シークレットポイントが、各々のノードA及びBの識別子と、同じグループ秘密鍵とを用いて、ノードのグループによって正当に協力し合って生成された場合に、ペアリング操作はKA=KBをもたらすはずである。これは、様々な方法でテストすることができる。この実施例では、ノードAは、セッション鍵KAで暗号化された課題をノードBへ送る。ノードBは、自身のセッション鍵KBを用いて課題を暗号解読しようと試み、課題に対する応答を送る。応答は、セッション鍵KBによって暗号化され得る。これに基づき、両方のノードは、それらが同じセッション鍵を有することを確信することができる。そのセッション鍵は、2つのノードの間の通信を暗号化するために使用され得る。他の実施では、セッション鍵は、他の鍵のセットアップをもたらす通信を暗号化するために使用されてもよい。更なる他の実施では、2つのノードの間の通信は、お互いのクレデンシャルを妥当性確認/認証するために単に上記のプロシージャに依存し、2つのノードの間の通信は、暗号化されないか、あるいは、ノードの通常の公開-秘密鍵対を用いて暗号化される。
他の実施例は、図9の信号図によって説明される。この例では、ノードAは、ランダムなノンスnonceAを生成することによって開始する。ノードAは、識別子idA及びそのノンスをノードBへ送る。ノードBは、自身のノンスnonceBを生成する。ノードBは次いで、この例では、値C0を生成する。値C0は、ペアリング操作の結果のハッシュと、ノンスを含む他のデータとである。この例では、値C0は:
C0=H(e(sB,H1(idA))||idA||idB||nonceA||nonceB)
によって与えられ得る。ここで、Hは、ストリングごとの衝突困難(collision resistant)ハッシュ関数である。1つの例において、HはSHA-256である。
C0=H(e(sB,H1(idA))||idA||idB||nonceA||nonceB)
によって与えられ得る。ここで、Hは、ストリングごとの衝突困難(collision resistant)ハッシュ関数である。1つの例において、HはSHA-256である。
次いで、ノードBは、その識別子idBと、そのノンスnonceBと、値C0とを供給してノードAに返信する。次いで、ノードAは、値C1を得るために同様の計算を実行する。C1は、この例では:
C1=H(e(H1(idB),sA)||idA||idB||nonceA||nonceB)
と表される。
C1=H(e(H1(idB),sA)||idA||idB||nonceA||nonceB)
と表される。
C0に対するC1の式中の引数の唯一の違いは、ペアリング操作にあることが分かる。従って、ノードA及びノードBのクレデンシャルがノードの同じグループから取得されたと双線形ペアリング操作により確かめられる場合に、2つの値は一致するはずである。ノードAは、それらが一致することを検証することができ、そうである場合に、C1をノードBへ送る。ノードBも、それらが一致することを検証する。1つの実施において、値C0=C1は、次いで、ノードAとノードBとの間の通信を暗号化するためにセッション鍵として使用される。いくつかの実施において、ノードは、単に、通信を暗号化するためにそれらの通常の公開鍵-秘密鍵対に依存し、上記の操作は、認証のためであり、セッション鍵を確立するためではない。
いくつかの実施例において、値C0及びC1を形成するために連結及びハッシングされるデータ又はストリングは、他のデータ又はストリングを含んでも、あるいは、先の例のストリングのいくつかを除いてもよい。例えば、1つの実施において、値C0及びC1は、識別子idA及びidBの連結を含まなくてもよい。なお、ハッシュ及びノンスは、中間者攻撃(man-in-the-middle attacks)から通信を保護するのを助けることが理解されるだろう。
これより図10を参照すると、図10は、ブロックチェーンノード1000の簡略化された例をブロック図形式で示す。この例におけるブロックチェーンノード1000は、プロセッサ1002と、ネットワークインターフェイス1004と、メモリ1006とを含む。ブロックチェーンノード1000は、ネットワーク接続性と、本明細書で記載される機能を実行するのに十分な処理及びメモリ資源とを有している如何なる適切な計算ハードウェアを用いても実装されてよい。ブロックチェーンノード1000は、本明細書で記載される機能を実装するためのプロセッサ実行可能命令を含んでよい。いくつかの場合に、プロセッサ実行可能命令は、ブロックチェーンアプリケーション1020と呼ばれ得る。なお、命令は、ハードウェア及びオペレーティングシステムに応じて、1以上のモジュール、アプリケーション、スクリプト又は他のプログラミング構造で実装されてよいことが理解されるだろう。プロセッサ1002は、マルチコアプロセッサ及び/又は複数のプロセッサを含んでもよい。
本明細書で記載されるデバイス及びプロセス、並びに映像特徴抽出部を構成するための記載された方法/プロセスを実装するあらゆるモジュール、ルーチン、プロセス、スレッド、アプリケーション、又は他のソフトウェアコンポーネントが、標準のコンピュータプログラミング技術及び言語を用いて実現され得ることが理解されるだろう。本願は、特定のプロセッサ、コンピュータ言語、コンピュータプログラミング仕様、データ構造、又は他のそのような実施詳細に限定されない。
上記の実施形態は、本発明を制限するのではなく説明しているのであって、当業者は、添付の特許請求の範囲によって定義される本発明の適用範囲から外れることなしに、多くの代替の実施形態を設計することが可能である点が留意されるべきである。特許請求の範囲において、かっこ内の如何なる参照符号も、特許請求の範囲を制限するものとして解釈されるべきではない。語「有する」(comprising及びcomprises)などは、いずれかの請求項又は明細書の全文に挙げられているもの以外の要素又はステップの存在を除外しない。本明細書中、「有する」(comprises)は、「~を含むか、又はそれらから成る」(includes or consists of)を意味し、「有する」(comprising)は、「~を含むか、又はそれらから成る」(including or consisting of)を意味する。要素の単一参照は、そのような要素の複数参照を除外せず、逆もまた同じである。本発明は、いくつかの個別要素を有するハードウェアを用いて、且つ、適切にプログラムされたコンピュータを用いて、実施されてよい。いくつかの手段を列挙している装置クレームでは、それらの手段のうちのいくつかが、ハードウェアの同一アイテムによって具現されてもよい。特定の手段が相互に異なる請求項で挙げられているという単なる事実は、それらの手段の組み合わせが有利に使用され得ないことを示すものではない。
Claims (15)
- 第2ノードが第1ノードとの信頼できる通信を確立するための、コンピュータにより実施される方法であって、前記第2ノードは第2ノード識別子及び第2シークレットポイントを有し、前記第2シークレットポイントはグループ秘密鍵に前記第2ノード識別子のマッシュ・ツー・ポイントハッシュを掛けたものであり、前記グループ秘密鍵は、クレデンシャルを付与するよう構成されたノードのグループに関連する、前記方法において、
前記グループ秘密鍵に第1ノード識別子のマップ・ツー・ポイントハッシュを掛けたものである第1シークレットポイントを前記ノードのグループから得ることと、
前記第1ノード識別子を得ることと、
前記第2シークレットポイントと前記第1ノード識別子のマップ・ツー・ポイントハッシュとによる双線形ペアリング操作を用いて第2ノードセッション鍵を生成することと、
前記第1ノードが第1ノードセッション鍵を生成することができるように前記第1ノードへ前記第2ノード識別子を供給することと、
前記第2ノード識別子のマップ・ツー・ポイントハッシュと前記第1シークレットポイントとによる双線形ペアリング操作を用いて前記第1ノードによって生成された前記第1ノードセッション鍵が前記第2ノードセッション鍵と一致することを確かめることと
を有する方法。 - 前記第1ノード識別子は、前記第1ノード以外のソースから取得される、
請求項1に記載の方法。 - 前記マップ・ツー・ポイントハッシュは、前記クレデンシャルを発行した前記ノードのグループによって規定される、
請求項1又は2に記載の方法。 - 前記第2ノードセッション鍵は、式:
KB=e(sB,H1(Alice||role||満了時間))
を用いて生成される、
請求項1乃至3のうちいずれか一項に記載の方法。 - 前記第1シークレットポイントを得ることは、前記ノードのグループ内の複数のノードの夫々から前記第1シークレットポイントの各々の部分を取得し、該各々の部分を結合して、前記グループ秘密鍵を再構成せずに前記第1シークレットポイントを形成することを有する、
請求項1乃至4のうちいずれか一項に記載の方法。 - 前記確かめることは、前記第1ノードセッション鍵により暗号化された課題を前記第1ノードから受け取り、該課題に対する応答を送信して、前記第1ノードが前記応答に基づき、前記第2ノードが前記第2ノードセッション鍵を用いて前記課題を有効に暗号解読したことを決定できるようにすることを有する、
請求項1乃至5のうちいずれか一項に記載の方法。 - 前記第1ノード識別子を得ることは、第1ノンスを得ることを更に有し、前記第2ノード識別子を供給することは、第2ノンスと、計算されたC0値とを供給することを更に有し、前記C0値は、前記第2ノードセッション鍵、前記第1ノンス、及び前記第2ノンスの連結のハッシュを有する、
請求項1乃至6のうちいずれか一項に記載の方法。 - 前記連結は、前記第1ノード識別子及び前記第2ノード識別子を更に含む、
請求項7に記載の方法。 - 前記第1ノードセッション鍵を生成することは、前記第1ノードセッション鍵、前記第1ノンス、及び前記第2ノンスの連結のハッシュを有する計算されたC1値を生成することを有し、前記確かめることは、前記計算されたC0値が前記計算されたC1値と一致することを確かめることを有する、
請求項7又は8に記載の方法。 - 前記第1シークレットポイント及び前記第2シークレットポイントは、夫々が、前記ノードのグループによって、秘密分散を用いて夫々前記第1ノード及び前記第2ノードへ供給される、
請求項1乃至9のうちいずれか一項に記載の方法。 - 前記第1ノードセッション鍵又は前記第2ノードセッション鍵は、前記第1ノードと前記第2ノードとの間の通信を暗号化するために使用される、
請求項1乃至10のうちいずれか一項に記載の方法。 - 第1ノードが第2ノードとの信頼できる通信を確立するための、コンピュータにより実施される方法であって、前記第2ノードは第2ノード識別子及び第2シークレットポイントを有し、前記第2シークレットポイントは、グループ秘密鍵に前記第2ノード識別子のマップ・ツー・ポイントハッシュを掛けたものであり、前記グループ秘密鍵は、クレデンシャルを付与するよう構成されたノードのグループに関連する、前記方法において、
前記グループ秘密鍵に第1ノード識別子のマップ・ツー・ポイントハッシュを掛けたものである第1シークレットポイントを前記ノードのグループから得ることと、
前記第1ノード識別子を前記第2ノードへ送ることと、
前記第2ノード識別子を受け取ることと、
前記第2ノード識別子のマップ・ツー・ポイントハッシュと前記第1シークレットポイントとによる双線形ペアリング操作を用いて、第1セッション鍵を生成することと、
前記第1セッション鍵が、前記第2シークレットポイントと前記第1ノード識別子のマップ・ツー・ポイントハッシュとによる前記双線形ペアリング操作を用いて前記第2ノードによって生成された第2セッション鍵と一致することを確かめることとを
有する方法。 - 前記第1セッション鍵を生成するための前記双線形ペアリング操作は、式:
KA=e(H1(idB),sA)、及び
KA=e(sB,H1(idA))
のうちの一方を有し、前記第2セッション鍵を生成するための前記双線形ペアリング操作は、前記式のうちの他方を有し、
e()は、前記双線形ペアリング操作であり、
H1()は、前記マップ・ツー・ポイントハッシュであり、
idA及びidBは、前記第1ノード識別子及び前記第2ノード識別子の夫々1つであり、
sA及びsBは、前記第1シークレットポイント及び前記第2シークレットポイントの夫々1つである、
請求項12に記載の方法。 - 1つ以上のプロセッサによって実行される場合に、前記1つ以上のプロセッサに、請求項1乃至11のうちいずれか一項に記載の方法の動作を実行させるプロセッサ実行可能命令を記憶している非一時的なプロセッサ可読媒体。
- 1つ以上のプロセッサによって実行される場合に、前記1つ以上のプロセッサに、請求項12又は13に記載の方法の動作を実行させるプロセッサ実行可能命令を記憶している非一時的なプロセッサ可読媒体。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB1709096.0A GB201709096D0 (en) | 2017-06-07 | 2017-06-07 | Computer-implemented system and method |
GB1709097.8 | 2017-06-07 | ||
GBGB1709097.8A GB201709097D0 (en) | 2017-06-07 | 2017-06-07 | Computer-Implemented system and method |
GB1709096.0 | 2017-06-07 | ||
JP2019561823A JP2020523813A (ja) | 2017-06-07 | 2018-06-04 | ブロックチェーンネットワークのためのクレデンシャル生成及び分配方法 |
PCT/IB2018/053981 WO2018224945A1 (en) | 2017-06-07 | 2018-06-04 | Credential generation and distribution method and system for a blockchain network |
JP2023019628A JP7514343B2 (ja) | 2017-06-07 | 2023-02-13 | ブロックチェーンネットワークのためのクレデンシャル生成及び分配方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023019628A Division JP7514343B2 (ja) | 2017-06-07 | 2023-02-13 | ブロックチェーンネットワークのためのクレデンシャル生成及び分配方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024114899A true JP2024114899A (ja) | 2024-08-23 |
Family
ID=62751223
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019561993A Active JP7065887B2 (ja) | 2017-06-07 | 2018-06-04 | ブロックチェーンネットワークにおいてノード間に信頼できるピア・ツー・ピア通信を確立する方法及びシステム |
JP2019561823A Pending JP2020523813A (ja) | 2017-06-07 | 2018-06-04 | ブロックチェーンネットワークのためのクレデンシャル生成及び分配方法 |
JP2023019628A Active JP7514343B2 (ja) | 2017-06-07 | 2023-02-13 | ブロックチェーンネットワークのためのクレデンシャル生成及び分配方法 |
JP2023028439A Pending JP2023054359A (ja) | 2017-06-07 | 2023-02-27 | ブロックチェーンネットワークのためのクレデンシャル生成及び分配方法 |
JP2024104517A Pending JP2024114899A (ja) | 2017-06-07 | 2024-06-28 | ブロックチェーンネットワークのためのクレデンシャル生成及び分配方法 |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019561993A Active JP7065887B2 (ja) | 2017-06-07 | 2018-06-04 | ブロックチェーンネットワークにおいてノード間に信頼できるピア・ツー・ピア通信を確立する方法及びシステム |
JP2019561823A Pending JP2020523813A (ja) | 2017-06-07 | 2018-06-04 | ブロックチェーンネットワークのためのクレデンシャル生成及び分配方法 |
JP2023019628A Active JP7514343B2 (ja) | 2017-06-07 | 2023-02-13 | ブロックチェーンネットワークのためのクレデンシャル生成及び分配方法 |
JP2023028439A Pending JP2023054359A (ja) | 2017-06-07 | 2023-02-27 | ブロックチェーンネットワークのためのクレデンシャル生成及び分配方法 |
Country Status (5)
Country | Link |
---|---|
US (4) | US20200186335A1 (ja) |
EP (6) | EP4210271A1 (ja) |
JP (5) | JP7065887B2 (ja) |
TW (1) | TWI744532B (ja) |
WO (2) | WO2018224945A1 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7065887B2 (ja) * | 2017-06-07 | 2022-05-12 | エヌチェーン ホールディングス リミテッド | ブロックチェーンネットワークにおいてノード間に信頼できるピア・ツー・ピア通信を確立する方法及びシステム |
CN111149324B (zh) * | 2017-09-21 | 2023-12-29 | Lg电子株式会社 | 用于管理具有链接值的数字证书的密码学方法和系统 |
GB201811263D0 (en) * | 2018-07-10 | 2018-08-29 | Netmaster Solutions Ltd | A method and system for managing digital using a blockchain |
CN112232817A (zh) * | 2018-10-25 | 2021-01-15 | 创新先进技术有限公司 | 基于区块链的交易处理方法及装置、电子设备 |
CN111367859A (zh) * | 2018-12-26 | 2020-07-03 | 北京邦天信息技术有限公司 | 一种区块链交易数据的存储方法及系统 |
KR102284422B1 (ko) | 2019-02-01 | 2021-08-04 | 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. | 블록체인 시스템에서 노드 사이의 통신 확립 방법 및 디바이스 |
CN109981739A (zh) * | 2019-02-25 | 2019-07-05 | 平安科技(深圳)有限公司 | 基于区块链的会话数据处理方法、装置、设备及介质 |
CN110336822A (zh) * | 2019-07-09 | 2019-10-15 | 青岛大学 | 一种基于双线性配对的信息加密方法、装置、设备及介质 |
CN111030821B (zh) * | 2019-08-27 | 2022-07-12 | 杭州云象网络技术有限公司 | 一种基于双线性映射技术的联盟链的加密方法 |
US11159326B1 (en) * | 2019-08-29 | 2021-10-26 | Hiro Systems Pbc | Client-side authentication system and associated method |
CN110602190B (zh) * | 2019-08-30 | 2022-04-19 | 上海唯链信息科技有限公司 | 区块链共识的方法及区块链节点和存储装置 |
US11216553B1 (en) * | 2020-05-14 | 2022-01-04 | Rapid7, Inc. | Machine scanning system with distributed credential storage |
Family Cites Families (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2002332671A1 (en) * | 2001-08-13 | 2003-03-03 | Board Of Trustees Of The Leland Stanford Junior University | Systems and methods for identity-based encryption and related cryptographic techniques |
GB0215590D0 (en) | 2002-07-05 | 2002-08-14 | Hewlett Packard Co | Method and apparatus for generating a cryptographic key |
GB0215524D0 (en) * | 2002-07-05 | 2002-08-14 | Hewlett Packard Co | Method and apparatus for generating a cryptographic key |
US8108678B1 (en) * | 2003-02-10 | 2012-01-31 | Voltage Security, Inc. | Identity-based signcryption system |
US7342896B2 (en) * | 2003-03-03 | 2008-03-11 | Sharp Laboratories Of America, Inc. | Centralized network organization and topology discover in Ad-Hoc network with central controller |
US7571321B2 (en) | 2003-03-14 | 2009-08-04 | Voltage Security, Inc. | Identity-based-encryption messaging system |
US8050409B2 (en) | 2004-04-02 | 2011-11-01 | University Of Cincinnati | Threshold and identity-based key management and authentication for wireless ad hoc networks |
US7590236B1 (en) * | 2004-06-04 | 2009-09-15 | Voltage Security, Inc. | Identity-based-encryption system |
US7657744B2 (en) * | 2004-08-10 | 2010-02-02 | Cisco Technology, Inc. | System and method for dynamically determining the role of a network device in a link authentication protocol exchange |
GB2419787B (en) * | 2004-10-28 | 2007-07-04 | Hewlett Packard Development Co | Method and apparatus for providing short-term private keys in public-key cryptographic systems |
US8285996B2 (en) | 2005-03-30 | 2012-10-09 | Dublin City University | Verification of identity based signatures |
KR100629495B1 (ko) * | 2005-07-23 | 2006-09-28 | 삼성전자주식회사 | 그룹 키 생성방법 |
JPWO2008156107A1 (ja) * | 2007-06-18 | 2010-08-26 | 日本電気株式会社 | 電子データの暗号化及び暗号化データ復号化システム及びその方法 |
CN101179380A (zh) * | 2007-11-19 | 2008-05-14 | 上海交通大学 | 一种双向认证方法、系统及网络终端 |
JP5102701B2 (ja) | 2008-05-27 | 2012-12-19 | パナソニック株式会社 | 秘密鍵配布方法、秘密鍵配布システム |
US9344438B2 (en) * | 2008-12-22 | 2016-05-17 | Qualcomm Incorporated | Secure node identifier assignment in a distributed hash table for peer-to-peer networks |
US20100235625A1 (en) * | 2009-03-13 | 2010-09-16 | Ravi Kant Pandey | Techniques and architectures for preventing sybil attacks |
US8850203B2 (en) | 2009-08-28 | 2014-09-30 | Alcatel Lucent | Secure key management in multimedia communication system |
JP5457848B2 (ja) | 2010-01-18 | 2014-04-02 | 日本電信電話株式会社 | Idベース認証鍵交換システム、認証鍵交換方法、認証鍵交換装置及びそのプログラムと記録媒体 |
CN101841479B (zh) | 2010-04-28 | 2012-12-05 | 四川大学 | 一种基于网络编码的高误码率长时延网络自适应传输方法 |
WO2011153539A1 (en) * | 2010-06-04 | 2011-12-08 | Northwestern University | Pseudonymous public keys based authentication |
CN102208962B (zh) | 2011-05-19 | 2014-04-02 | 清华大学 | 无线数据传输方法 |
US8874769B2 (en) * | 2011-06-30 | 2014-10-28 | Qualcomm Incorporated | Facilitating group access control to data objects in peer-to-peer overlay networks |
WO2013012734A1 (en) * | 2011-07-15 | 2013-01-24 | Alcatel-Lucent Usa Inc. | Secure group messaging |
US9065637B2 (en) | 2012-01-25 | 2015-06-23 | CertiVox Ltd. | System and method for securing private keys issued from distributed private key generator (D-PKG) nodes |
CN103297174A (zh) | 2012-02-27 | 2013-09-11 | 陈小虎 | 基于动态网络编码的高速移动自组网数据传输方法 |
EP2878112B1 (en) * | 2012-07-27 | 2015-10-21 | Telefonaktiebolaget L M Ericsson (PUBL) | Secure session for a group of network nodes |
US10454997B2 (en) * | 2012-09-07 | 2019-10-22 | Avigilon Corporation | Distributed physical security system |
US9154296B1 (en) | 2012-09-28 | 2015-10-06 | Emc Corporation | Secure and anonymous distributed authentication |
US20160105287A1 (en) * | 2013-04-30 | 2016-04-14 | Thomson Licensing | Device and method for traceable group encryption |
US9106644B2 (en) * | 2013-05-30 | 2015-08-11 | CertiVox Ltd. | Authentication |
US8971540B2 (en) * | 2013-05-30 | 2015-03-03 | CertiVox Ltd. | Authentication |
GB201309702D0 (en) * | 2013-05-30 | 2013-07-17 | Certivox Ltd | Security |
US9384362B2 (en) | 2013-10-14 | 2016-07-05 | Intuit Inc. | Method and system for distributing secrets |
US10069914B1 (en) | 2014-04-21 | 2018-09-04 | David Lane Smith | Distributed storage system for long term data storage |
US9946858B2 (en) | 2014-05-05 | 2018-04-17 | Analog Devices, Inc. | Authentication system and device including physical unclonable function and threshold cryptography |
SE538279C2 (sv) * | 2014-09-23 | 2016-04-19 | Kelisec Ab | Förfarande och system för att fastställa förekomst av |
US10304143B2 (en) | 2016-05-05 | 2019-05-28 | Lance Timothy Kasper | Consensus system for manipulation resistant digital record keeping |
US10097522B2 (en) * | 2015-05-21 | 2018-10-09 | Nili Philipp | Encrypted query-based access to data |
GB201509499D0 (en) * | 2015-06-02 | 2015-07-15 | Certivox Ltd | Zkd |
EP3113392A1 (en) | 2015-06-30 | 2017-01-04 | Thomson Licensing | Method and apparatus to distribute an access credential to multiple devices using ultrasonic communication |
US20170236120A1 (en) | 2016-02-11 | 2017-08-17 | Oracle International Corporation | Accountability and Trust in Distributed Ledger Systems |
US10608825B2 (en) | 2016-04-21 | 2020-03-31 | Protoblock, Inc. | Decentralized exchanges in a distributed autonomous platform |
CN105959269B (zh) * | 2016-04-25 | 2019-01-25 | 北京理工大学 | 一种基于身份的可认证动态群组密钥协商方法 |
US10204341B2 (en) * | 2016-05-24 | 2019-02-12 | Mastercard International Incorporated | Method and system for an efficient consensus mechanism for permissioned blockchains using bloom filters and audit guarantees |
US10856122B2 (en) * | 2016-05-31 | 2020-12-01 | Intel Corporation | System, apparatus and method for scalable internet of things (IoT) device on-boarding with quarantine capabilities |
CN106209369B (zh) | 2016-07-01 | 2019-04-12 | 中国人民解放军国防科学技术大学 | 一种基于身份密码系统的通信方法 |
US10417217B2 (en) | 2016-08-05 | 2019-09-17 | Chicago Mercantile Exchange Inc. | Systems and methods for blockchain rule synchronization |
DE112016007301T5 (de) * | 2016-09-30 | 2019-06-19 | Intel Corporation | Technologien zur authentifizierung mehrerer vorrichtungen in einem heterogenen netzwerk |
US10291627B2 (en) | 2016-10-17 | 2019-05-14 | Arm Ltd. | Blockchain mining using trusted nodes |
US10540652B2 (en) | 2016-11-18 | 2020-01-21 | Intel Corporation | Technology for secure partitioning and updating of a distributed digital ledger |
CN106603198A (zh) | 2016-12-02 | 2017-04-26 | 深圳大学 | 具有网络编码的区块链分布式存储方法及系统 |
US11233656B2 (en) | 2017-02-24 | 2022-01-25 | Nec Corporation | Method for mining a block in a decentralized blockchain consensus network |
WO2018153486A1 (en) | 2017-02-24 | 2018-08-30 | NEC Laboratories Europe GmbH | Method for signing a new block in a decentralized blockchain consensus network |
US11481360B2 (en) | 2017-04-07 | 2022-10-25 | Hwa-Shang CHANG | Blockchain network and method of operation thereof |
US10102265B1 (en) | 2017-04-12 | 2018-10-16 | Vijay K. Madisetti | Method and system for tuning blockchain scalability for fast and low-cost payment and transaction processing |
US11488121B2 (en) | 2017-05-11 | 2022-11-01 | Microsoft Technology Licensing, Llc | Cryptlet smart contract |
US10425235B2 (en) | 2017-06-02 | 2019-09-24 | Analog Devices, Inc. | Device and system with global tamper resistance |
JP7065887B2 (ja) * | 2017-06-07 | 2022-05-12 | エヌチェーン ホールディングス リミテッド | ブロックチェーンネットワークにおいてノード間に信頼できるピア・ツー・ピア通信を確立する方法及びシステム |
GB201709848D0 (en) * | 2017-06-20 | 2017-08-02 | Nchain Holdings Ltd | Computer-implemented system and method |
-
2018
- 2018-06-04 JP JP2019561993A patent/JP7065887B2/ja active Active
- 2018-06-04 EP EP23158641.3A patent/EP4210271A1/en active Pending
- 2018-06-04 EP EP21210931.8A patent/EP3979553B1/en active Active
- 2018-06-04 WO PCT/IB2018/053981 patent/WO2018224945A1/en unknown
- 2018-06-04 EP EP19210134.3A patent/EP3664005B1/en active Active
- 2018-06-04 US US16/620,461 patent/US20200186335A1/en active Pending
- 2018-06-04 EP EP18734633.3A patent/EP3465578B1/en active Active
- 2018-06-04 WO PCT/IB2018/053977 patent/WO2018224941A1/en unknown
- 2018-06-04 JP JP2019561823A patent/JP2020523813A/ja active Pending
- 2018-06-04 US US16/620,474 patent/US11296873B2/en active Active
- 2018-06-04 EP EP18734635.8A patent/EP3465579B1/en active Active
- 2018-06-04 EP EP23187848.9A patent/EP4254301A3/en active Pending
- 2018-06-06 TW TW107119490A patent/TWI744532B/zh active
-
2022
- 2022-03-29 US US17/707,834 patent/US11979493B2/en active Active
-
2023
- 2023-02-13 JP JP2023019628A patent/JP7514343B2/ja active Active
- 2023-02-24 US US18/114,213 patent/US20230208630A1/en active Pending
- 2023-02-27 JP JP2023028439A patent/JP2023054359A/ja active Pending
-
2024
- 2024-06-28 JP JP2024104517A patent/JP2024114899A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
TW201904232A (zh) | 2019-01-16 |
US11979493B2 (en) | 2024-05-07 |
EP3465578B1 (en) | 2019-07-24 |
EP4254301A2 (en) | 2023-10-04 |
JP7514343B2 (ja) | 2024-07-10 |
US20230208630A1 (en) | 2023-06-29 |
EP3465578A1 (en) | 2019-04-10 |
US20200186336A1 (en) | 2020-06-11 |
JP7065887B2 (ja) | 2022-05-12 |
US11296873B2 (en) | 2022-04-05 |
US20220294622A1 (en) | 2022-09-15 |
JP2023053218A (ja) | 2023-04-12 |
EP3664005B1 (en) | 2021-12-08 |
EP3465579B1 (en) | 2019-11-20 |
JP2020523813A (ja) | 2020-08-06 |
US20200186335A1 (en) | 2020-06-11 |
TWI744532B (zh) | 2021-11-01 |
EP3664005A1 (en) | 2020-06-10 |
EP4210271A1 (en) | 2023-07-12 |
EP3979553B1 (en) | 2024-06-19 |
WO2018224945A1 (en) | 2018-12-13 |
WO2018224941A1 (en) | 2018-12-13 |
JP2020526055A (ja) | 2020-08-27 |
CN110709875A (zh) | 2020-01-17 |
JP2023054359A (ja) | 2023-04-13 |
CN110709874A (zh) | 2020-01-17 |
EP3979553A1 (en) | 2022-04-06 |
EP4254301A3 (en) | 2023-10-11 |
EP3465579A1 (en) | 2019-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7514343B2 (ja) | ブロックチェーンネットワークのためのクレデンシャル生成及び分配方法 | |
JP7493014B2 (ja) | 複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を可能にする、コンピュータにより実現されるシステム及び方法 | |
CN108885741B (zh) | 一种实现区块链上交换的令牌化方法及系统 | |
JP2023179729A (ja) | コンピュータ実装されるシステムおよび方法 | |
JP2019507510A (ja) | 情報及び階層的で決定性の暗号化鍵のセキュアな交換のための共通秘密の決定 | |
JP2023504535A (ja) | アイデンティティ(id)ベース公開鍵生成プロトコル | |
CN110709875B (zh) | 在区块链网络中节点间建立可信点对点通信的方法和系统 | |
CN110709874B (zh) | 用于区块链网络的凭证生成与分发方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240628 |