JP6768947B2 - コンセンサスノードおよびクライアントノードの間での通信の管理 - Google Patents

コンセンサスノードおよびクライアントノードの間での通信の管理 Download PDF

Info

Publication number
JP6768947B2
JP6768947B2 JP2019521655A JP2019521655A JP6768947B2 JP 6768947 B2 JP6768947 B2 JP 6768947B2 JP 2019521655 A JP2019521655 A JP 2019521655A JP 2019521655 A JP2019521655 A JP 2019521655A JP 6768947 B2 JP6768947 B2 JP 6768947B2
Authority
JP
Japan
Prior art keywords
public key
node
consensus
certificate
nodes
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.)
Active
Application number
JP2019521655A
Other languages
English (en)
Other versions
JP2020503717A (ja
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2020503717A publication Critical patent/JP2020503717A/ja
Application granted granted Critical
Publication of JP6768947B2 publication Critical patent/JP6768947B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • 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/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3265Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
    • 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
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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
    • 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/321Cryptographic 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 a third party or a trusted authority
    • 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/40Network security protocols
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Prostheses (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本開示は、コンセンサスノードおよびクライアントノードの間での通信の管理に関する。
ブロックチェーンシステム、コンセンサスネットワーク、分散型台帳システム(DLS)ネットワーク、またはブロックチェーンとも呼ばれ得るブロックチェーンネットワークは、参加するエンティティが安全にかつ変更不可能にデータを記録することを可能にする。ブロックチェーンはトランザクションの台帳として記述されることが可能であり、ブロックチェーンの複数のコピーがブロックチェーンネットワークにわたって記録される。例示的なタイプのブロックチェーンには、パブリックブロックチェーン、コンソーシアムブロックチェーン、およびプライベートブロックチェーンがあり得る。パブリックブロックチェーンは、そのブロックチェーンを使用しコンセンサスプロセスに参加するためにすべてのエンティティに対して開かれている。コンソーシアムブロックチェーンは、コンセンサスプロセスがノードの事前に選択されたセットによって制御される、ブロックチェーンである。プライベートブロックチェーンは、読取りパーミッションおよび書込みパーミッションを集中的に制御する特定のエンティティだけに提供される。
コンソーシアムブロックチェーンシステムは、コンソーシアムネットワークを使用するコンセンサスノードおよびクライアントノード(またはユーザ)を含み得る。一方では、コンセンサスノードは、コンセンサスに達するために他のコンセンサスノードと通信する。他方では、コンセンサスノードは、新しいトランザクションを受け入れてブロックに追加するために、クライアントノードと通信する。いくつかの場合、コンセンサスノードは、コンソーシアムシステム、またはセキュリティレベルの異なる他のコアシステムの、事前に選択されたノードのネットワークとも通信する。したがって、データのプライバシーおよびセキュリティを保護するために、異なるタイプの通信に対して境界を設定することができる。
本開示の実装形態は、コンセンサスノード間の通信と、コンセンサスノードとクライアントノードとの間の通信とを管理することを対象とする。より具体的には、本開示の実装形態は、クライアントノードがコンセンサスノード間で通信されるコンセンサスメッセージにアクセスできないように、コンセンサスノード間の通信、およびコンセンサスノードとクライアントノードとの間の通信のために、それぞれの認証局(CA)によって発行されたルート証明書を構成することを対象とする。
いくつかの実装形態では、活動は、コンセンサスノードによって、証明書署名要求(CSR: certificate signing request)を生成することと、CSRを第1の認証局(CA)に送信することと、CSRに応答した第1のCAからのコンセンサスノードの第1の公開鍵証明書、および第1の1つまたは複数のCAによって発行された1つまたは複数の他のコンセンサスノードの第1の1つまたは複数の公開鍵証明書を受信することと、CSRを第2のCAに送信することと、CSRに応答した第2のCAからのコンセンサスノードの第2の公開鍵証明書、および第2の1つまたは複数のCAによって発行された1つまたは複数のクライアントノードの第2の1つまたは複数の公開鍵証明書を受信することと、コンセンサスノード上で、第1の公開鍵証明書および1つまたは複数の他のコンセンサスノードの第1の1つまたは複数の公開鍵証明書を含む第1のトラストストアと、第2の公開鍵証明書および1つまたは複数のクライアントノードの第2の1つまたは複数の公開鍵証明書を含む第2のトラストストアとを構成することとを含む。他の実装形態は、対応するシステムと、装置と、コンピュータ記録デバイスに符号化される、方法の活動を実行するように構成されるコンピュータプログラムとを含む。
これらのおよび他の実装形態は各々、任意選択で以下の特徴のうちの1つまたは複数を含むことがあり、それらの特徴とは、第1の1つまたは複数のCAおよび第2の1つまたは複数のCAを決定すること、第1の1つまたは複数のCAおよび第2の1つまたは複数のCAからルート証明書を受信すること、第1の1つまたは複数のCAおよび第2の1つまたは複数のCAの対応する公開鍵に基づいてルート証明書を検証することであって、CSRが第1の公開鍵証明書または第2の公開鍵証明書に含まれるべき公開鍵および情報を含み、CSRが秘密鍵を使用してコンセンサスノードによってデジタル署名され、第1の1つまたは複数の公開鍵証明書の一部分のうちの少なくとも1つが対応するコンセンサスノードによって自己署名され、または第2の1つまたは複数の公開鍵証明書の一部分が対応するクライアントノードによって自己署名される、検証すること、コンセンサスノードの対応する秘密鍵を使用して公開鍵の自己署名された証明書を生成すること、ならびに、コンセンサスノード上で、コンセンサスノードの秘密鍵および自己署名された証明書を構成することであって、第1の公開鍵証明書、第1の1つまたは複数の公開鍵証明書、第2の公開鍵証明書、および第2の1つまたは複数の公開鍵証明書が、トランスポートレイヤセキュリティ(TLS)証明書である、構成することである。
本開示はまた、1つまたは複数のプロセッサによって実行されると、本明細書で提供される方法の実装形態に従って1つまたは複数のプロセッサに動作を実行させる命令が記録された、1つまたは複数のプロセッサに結合される1つまたは複数の非一時的コンピュータ可読記録媒体を提供する。
本開示はさらに、本明細書で提供される方法を実施するためのシステムを提供する。システムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行されると1つまたは複数のプロセッサに本明細書で提供される方法の実装形態に従って動作を実行させる命令が記録された、1つまたは複数のプロセッサに結合されるコンピュータ可読記録媒体とを含む。
本開示による方法は、本明細書で説明される態様および特徴の任意の組合せを含み得ることを了解されたい。すなわち、本開示による方法は、本明細書で特に説明される態様および特徴の組合せに限定されず、提供される態様および特徴の任意の組合せも含む。
本開示の1つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載される。本開示の他の特徴および利点が、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
本開示の実装形態を実行するために使用され得る例示的な環境の図である。 本開示の実装形態による例示的な概念のアーキテクチャの図である。 本開示の実装形態による、コンセンサスノード間の通信を構成する例示的なプロセスの図である。 本開示の実装形態による、コンセンサスノードとクライアントノードとの間の通信を構成する例示的なプロセスの図である。 本開示の実装形態による、コンセンサスノードとクライアントノードとの間の通信のための例示的な構成の図である。 本開示の実装形態による、コンセンサスノードおよびクライアントノードの通信を管理する例示的な方法の図である。
様々な図における同様の参照記号は同様の要素を示す。
本開示の実装形態は、コンセンサスノード間の通信と、コンセンサスノードとクライアントノードとの間の通信とを管理することを対象とする。より具体的には、本開示の実装形態は、クライアントノードがコンセンサスノード間で通信されるコンセンサスメッセージにアクセスできないように、コンセンサスノード間の通信、およびコンセンサスノードとクライアントノードとの間の通信のために、それぞれの認証局(CA)によって発行されたルート証明書を構成することを対象とする。
いくつかの実装形態では、活動は、コンセンサスノードによって、証明書署名要求(CSR)を生成することと、CSRを第1の認証局(CA)に送信することと、CSRに応答した第1のCAからのコンセンサスノードの第1の公開鍵証明書、および第1の1つまたは複数のCAによって発行された1つまたは複数の他のコンセンサスノードの第1の1つまたは複数の公開鍵証明書を受信することと、CSRを第2のCAに送信することと、CSRに応答した第2のCAからのコンセンサスノードの第2の公開鍵証明書、および第2の1つまたは複数のCAによって発行された1つまたは複数のクライアントノードの第2の1つまたは複数の公開鍵証明書を受信することと、コンセンサスノード上で、第1の公開鍵証明書および1つまたは複数の他のコンセンサスノードの第1の1つまたは複数の公開鍵証明書を含む第1のトラストストアと、第2の公開鍵証明書および1つまたは複数のクライアントノードの第2の1つまたは複数の公開鍵証明書を含む第2のトラストストアとを構成することとを含む。
本開示の、および上で紹介された実装形態のさらなる文脈を提供すると、コンセンサスネットワーク(たとえば、ピアツーピアノードからなる)、分散型台帳システム、または単にブロックチェーンとも呼ばれ得る、ブロックチェーンネットワークは、参加するエンティティが安全かつ変更不可能にトランザクションを行いデータを記録することを可能にする。ブロックチェーンは、パブリックブロックチェーン、プライベートブロックチェーン、またはコンソーシアムブロックチェーンとして提供され得る。本開示の実装形態は、参加するエンティティの間で公開されているパブリックブロックチェーンに関して、本明細書でさらに詳細に説明される。しかしながら、本開示の実装形態はあらゆる適切なタイプのブロックチェーンにおいて実現され得ることが企図される。
コンソーシアムブロックチェーンでは、コンセンサスプロセスがノードの認可されたセットによって制御され、1つまたは複数のノードがそれぞれのエンティティ(たとえば、企業)によって運営される。たとえば、10個のエンティティ(たとえば、会社)のコンソーシアムがコンソーシアムブロックチェーンシステムを運営することができ、それらの各々がコンソーシアムDLSの中の少なくとも1つのノードを運営する。したがって、コンソーシアムブロックチェーンシステムは、参加するエンティティに関して非公開のネットワークであると見なされ得る。いくつかの例では、ブロックが有効となりブロックチェーンに追加されるには、各エンティティ(ノード)がそれぞれのブロックに署名しなければならない。いくつかの例では、ブロックが有効となりブロックチェーンに追加されるには、エンティティ(ノード)の少なくともサブセット(たとえば、少なくとも7個のエンティティ)がそれぞれのブロックに署名しなければならない。例示的なコンソーシアムブロックチェーンシステムには、ニューヨーク州ニューヨークのJ.P. Morgan Chase & CO.によって開発されたQuorumがある。Quorumは、金融の使用事例のために特別に設計された、企業向けのパーミッションドブロックチェーンインフラストラクチャとして説明され得る。Quorumは、スイス、ツークのEthereum Foundationによって提供されるEthereumブロックチェーンの基本コードである、Go Ethereumから構築される。
一般に、コンソーシアムブロックチェーンシステムは、許可を得てコンソーシアムブロックチェーンシステムに参加しているエンティティ間のトランザクションをサポートする。トランザクションはコンソーシアムブロックチェーンシステム内のノードのすべてと共有され、それは、ブロックチェーンがすべてのノードにわたって複製されるからである。すなわち、すべてのノードがブロックチェーンに関して完全にコンセンサスのとれた状態にある。コンセンサス(たとえば、ブロックチェーンへのブロックの追加に対する合意)を達成するために、コンソーシアムブロックチェーンネットワーク内でコンセンサスプロトコルが実装される。例示的なコンセンサスプロトコルには、限定はされないが、ビットコインネットワークにおいて実装されるプルーフオブワーク(POW)がある。
本開示の実装形態は、上記の背景に鑑みて本明細書においてさらに詳細に説明される。より具体的には、上で紹介されたように、本開示の実装形態は、クライアントノードがコンセンサスノード間で通信されるコンセンサスメッセージにアクセスできないように、コンセンサスノード間の通信、およびコンセンサスノードとクライアントノードとの間の通信のために、それぞれのCAによって発行されたルート証明書を構成することを対象とする。
図1は、本開示の実装形態を実行するために使用され得る例示的な環境100を図示する。いくつかの例では、例示的な環境100は、エンティティがパブリックブロックチェーン102に参加することを可能にする。例示的な環境100は、コンピューティングシステム106、108、およびネットワーク110を含む。いくつかの例では、ネットワーク110は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはこれらの組合せを含み、ウェブサイト、ユーザデバイス(たとえば、コンピューティングデバイス)、およびバックエンドシステムを接続する。いくつかの例では、ネットワーク110は有線および/またはワイヤレス通信リンクを通じてアクセスされ得る。
図示される例では、コンピューティングシステム106、108は各々、ブロックチェーン104にトランザクションを記録するための、コンソーシアムブロックチェーンシステム102の中のノードとしての参加を可能にする、任意の適切なコンピューティングシステムを含み得る。例示的なコンピューティングデバイスには、限定はされないが、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピューティングデバイス、およびスマートフォンがある。いくつかの例では、コンピューティングシステム106、108は、コンソーシアムブロックチェーンシステム102と対話するための、1つまたは複数のコンピュータで実施されるサービスをホストする。たとえば、コンピューティングシステム106は、第1のエンティティ(たとえば、ユーザA)が1つまたは複数の他のエンティティ(たとえば、他のユーザ)とのトランザクションを管理するために使用するトランザクション管理システムなどの、第1のエンティティのコンピュータで実施されるサービスをホストすることができる。コンピューティングシステム108は、第2のエンティティ(たとえば、ユーザB)が1つまたは複数の他のエンティティ(たとえば、他のユーザ)とのトランザクションを管理するために使用するトランザクション管理システムなどの、第2のエンティティのコンピュータで実施されるサービスをホストすることができる。図1の例では、コンソーシアムブロックチェーンシステム102はノードのピアツーピアネットワークとして表され、コンピューティングシステム106、108はそれぞれ、コンソーシアムブロックチェーンシステム102に参加する第1のエンティティおよび第2のエンティティのノードを提供する。
図2は、本開示の実装形態による例示的な概念のアーキテクチャ200を図示する。例示的な概念のアーキテクチャ200は、エンティティレイヤ202、ホストされたサービスレイヤ204、およびブロックチェーンレイヤ206を含む。図示される例では、エンティティレイヤ202は、Entity_1(E1)、Entity_2(E2)、およびEntity_3(E3)という3つのエンティティを含み、各エンティティがそれぞれのトランザクション管理システム208をもつ。
図示される例では、ホストされるサービスレイヤ204は、各トランザクション管理システム208のためのブロックチェーンインターフェース210を含む。いくつかの例では、それぞれのトランザクション管理システム208は、通信プロトコル(たとえば、ハイパーテキスト転送プロトコルセキュア(HTTPS))を使用してネットワーク(たとえば、図1のネットワーク110)を通じてそれぞれのブロックチェーンインターフェース210と通信する。いくつかの例では、各ブロックチェーンインターフェース210は、それぞれのトランザクション管理システム208とブロックチェーンレイヤ206との間の通信接続を提供する。より具体的には、各ブロックチェーンインターフェース210は、それぞれのエンティティがブロックチェーンレイヤ206のコンソーシアムブロックチェーンシステム212に記録されるトランザクションを行うことを可能にする。いくつかの例では、ブロックチェーンインターフェース210とブロックチェーンレイヤ206との間の通信は、リモートプロシージャコール(RPC)を使用して行われる。いくつかの例では、ブロックチェーンインターフェース210は、それぞれのトランザクション管理システム208のためのコンセンサスノードを「ホスト」する。たとえば、ブロックチェーンインターフェース210は、コンソーシアムブロックチェーンシステム212へのアクセスのためにアプリケーションプログラミングインターフェース(API)を提供する。
ブロックチェーンシステムは、コンセンサスノードおよびクライアントノードを含み得る。コンセンサスノードは、コンセンサスプロセスに参加することができる。クライアントノードは、ブロックチェーンシステムを使用できるが、コンセンサスプロセスに参加しない。いくつかの実装形態では、コンセンサスノードは、他の目的でブロックチェーンシステムを使用しながらコンセンサスプロセスに参加することができる。いくつかの実装形態では、コンセンサスノードは、ユーザがクライアントノードを使用してトランザクションをブロックチェーンに提出できるように、クライアントノードと通信することができる。コンセンサスノードはまた、クライアントノードからのトランザクションをブロックチェーンに追加するために、互いに通信してコンセンサスに達することができる。
いくつかの実装形態では、コンセンサスノード間の通信、およびコンセンサスノードとクライアントノードとの間の通信は、通信のセキュリティを確実にするために、トランスポートレイヤセキュリティ(TLS)プロトコルなどの、暗号プロトコルに基づいて実行され得る。
プライバシーを向上させ、様々なノードによってアクセスされ得るデータを管理するために、コンセンサスノード間の通信は、コンセンサスノードとクライアントノードとの間の通信から分離され得る。いくつかの実装形態では、この分離は、異なるノードの公開鍵証明書の異なるTLSトラストストアを形成することによって行われ得る。公開鍵証明書は、コンセンサスノード間の通信およびコンセンサスノードとクライアントノードとの間の通信のためにそれぞれの認証局(CA)によって発行され得る。
図3Aは、本開示の実装形態による、コンセンサスノード302a間の通信を構成する例示的なプロセス300aを図示する。コンセンサスノード302aは、ブロックチェーンネットワークに接続される、コンピュータ、スマートフォン、またはサーバなどの任意の適切な電子デバイスを使用して実装され得る。
306aにおいて、コンセンサスノード302aは、信用できる1つまたは複数のCA304aを特定する。いくつかの実装形態では、CAは公開鍵証明書を発行するエンティティであり得る。公開鍵証明書は、証明書の指定された対象による公開鍵の所有権を証明するために使用され得る。指定された対象者はCA自体であってよく、または自身の公開鍵の証明を望む他のエンティティであってよい。CAによって所有され自己署名される公開鍵は、ルート証明書になることができる。いくつかの場合、コンセンサスノード302aの少なくとも一部分が、CAとして特定され得る。そのような場合、コンセンサスノードは、公開鍵証明書を生成するために自身の公開鍵を自己署名することができる。いくつかの場合、TLSプロトコルに基づいて生成される公開鍵証明書は、TLS証明書と呼ばれ得る。
308aにおいて、CA304aは、公開鍵および自己署名された証明書を準備する。自己署名された証明書は、それらの対応する公開鍵のCAルート証明書であり得る。
310aにおいて、CA304aは、自己署名された証明書をコンセンサスノード302aに送信する。いくつかの実装形態では、自己署名された証明書は、対応する秘密鍵を使用して署名されるCA304aのデジタル署名を含み得る。したがって、コンセンサスノード302aは、CA304aの公開鍵を使用して、証明書がCA304aによって発行されることを検証することができる。
312aにおいて、コンセンサスノード302aは、証明書署名要求(CSR)を生成する。CSRは、TLS証明書を請求するときにCA304aに与えられる、符号化されたテキストのブロックである。いくつかの例では、CSRは、組織名、一般名(ドメイン名)、地域、および国などの、TLS証明書に含まれる情報を含み得る。CSRはまた、TLS証明書に含まれるべき公開鍵を含み得る。コンセンサスノード302aは、CSRを作成するときに秘密鍵を作成し、秘密鍵を使用して対応するCSRに署名することができる。
314aにおいて、コンセンサスノード302aは、CSRをCA304aに送信する。316aにおいて、CA304aは、CSRに応答してコンセンサスノード302aのための公開鍵証明書を生成する。CA304aは、コンセンサスノード302aのための公開鍵証明書を生成する前に、コンセンサスノード302aからのCSRに対応するデジタル署名が正しいかどうかを検証することができる。
318aにおいて、CA304aは、公開鍵証明書をコンセンサスノード302aに送信する。CA304aは、ブロックチェーンネットワークの中のコンセンサスノード302aのすべてに公開鍵証明書を送信することができる。したがって、各コンセンサスノード302aは、ネットワークの中のすべての他のコンセンサスノード302aの公開鍵証明書のコピーを有し得る。
320aにおいて、コンセンサスノード302aは、トラストストア、秘密鍵、および自己署名された証明書を構成する。トラストストアは、信用されるCA304aからのTLS証明書を記録するために使用され得る。信用されるCAからのTLS証明書を受信して検証することによって、コンセンサスノード302aは、証明された公開鍵を使用して、メッセージを暗号化し、ネットワークの中の他のコンセンサスノードと安全に通信することができる。いくつかの実装形態では、コンセンサスノード302aはまた、対応するコンセンサスノード302aの対応する秘密鍵を使用して、自己署名された公開鍵証明書を生成することができる。秘密鍵はまた、対応するコンセンサスノード302aの公開鍵を使用して暗号化されるブロックチェーンネットワークの中の他のノードからのメッセージを復号するために使用され得る。
いくつかの実装形態では、ブロックチェーンネットワークは、コンセンサスノード間の通信およびコンセンサスノードとクライアントノードとの間の通信が分離されるように構成され得る。すなわち、クライアントノードは、コンセンサスノード間で通信されるデータにアクセスできず、コンセンサスノードは、他のコンセンサスノードとそれらに接続されるクライアントノードとの間で通信されるデータにアクセスできない。いくつかの例では、コンセンサスを実行するコンセンサスノードは、CAの第1のセットからTLS証明書を要求することができ、互いに通信するコンセンサスノード/クライアントノードのペアは、CAの第1のセットとは異なるCAからのTLS証明書を要求することができ、またはそれらのデータの公開鍵暗号化を実行しない。
図3Bは、本開示の実装形態による、コンセンサスノードとクライアントノード302bとの間の通信を構成するための例示的なプロセス300bを図示する。
306bにおいて、コンセンサスノードおよびクライアントノード302bは、図3Aを参照して上で論じられる例示的なプロセス300aにおいて特定されるCA304aとは異なる1つまたは複数のCA304bを特定する。いくつかの実装形態では、各コンセンサスノード/クライアントノードのペアは、それらの通信が互いに分離され得るように、異なるCAを特定することができる。いくつかの実装形態では、各コンセンサスノード/クライアントノードのペアが通信する各クライアントノードおよびコンセンサスノードは、小規模なネットワークを形成し、コンセンサスのために他のクライアントノードまたはコンセンサスノード302aによって使用されない1つまたは複数のCAを特定することができる。いくつかの場合、コンセンサスノードとクライアントノード302bの少なくとも一部分が、CAとして自身を特定することができる。そのような場合、それらのコンセンサスノードは、例示的なプロセス300aの中の他のコンセンサスノードとの通信のために証明書がコンセンサスノード302aによって自己署名されない限り、公開鍵証明書を生成するためにそれらの公開鍵を自己署名することができる。
308bにおいて、CA304bは、公開鍵および自己署名された証明書を準備する。自己署名された証明書は、それらの対応する公開鍵のCAルート証明書であり得る。
310bにおいて、CA304bは、自己署名された証明書をコンセンサスノードおよびクライアントノード302bに送信する。いくつかの実装形態では、自己署名された証明書は、それぞれの秘密鍵を使用して署名されるCA304bのデジタル署名を含み得る。したがって、コンセンサスノードおよびクライアントノード302bは、CA304bの公開鍵を使用して、証明書がCA304bによって発行されることを検証することができる。
312bにおいて、コンセンサスノードおよびクライアントノード302bはCSRを生成する。コンセンサスノードおよびクライアントノード302bは、CSRを作成するときに秘密鍵を作成し、秘密鍵を使用して対応するCSRに署名することができる。
314bにおいて、コンセンサスノードおよびクライアントノード302bは、CSRをCA304bに送信する。316bにおいて、CA304bは、CSRに応答してコンセンサスノードおよびクライアントノード302bのための公開鍵証明書を生成する。CA304bは、コンセンサスノードのための公開鍵証明書を生成する前に、CSRに対応するデジタル署名が正しいかどうかを検証することができる。
318bにおいて、CA304bは、公開鍵証明書をコンセンサスノードおよびクライアントノード302bに送信する。いくつかの実装形態では、異なるCAは、小規模な証明書トラストストアを形成するために、公開鍵証明書を異なるコンセンサスノード/クライアントノードのペアに送信することができる。したがって、各クライアントノードのペアは、通信のプライバシーを確実にするために、異なるCAによって発行されるコンセンサスノードの公開鍵証明書を有し得る。
320bにおいて、コンセンサスノードおよびクライアントノード302bは、トラストストア、秘密鍵、および自己署名された証明書を構成する。異なるクライアントノードが、暗号化された通信のためにTLS証明書の異なるトラストストアを有することがあり、コンセンサスノードが、暗号化された通信のためのTLS証明書の固有のトラストストアを有することがあるので、異なる関係者によって実行される通信のデータプライバシーが保護され得る。
図4は、本開示の実装形態による、コンセンサスノードとクライアントノードとの間の通信のための、例示的なブロックチェーンシステム400および構成を図示する。高水準において、例示的なブロックチェーンシステム400は、ノード1 302、ノード2 304、ノード3 306、およびノード4 308という4つのコンセンサスノードを含む。3つのクライアントノード、クライアント1 310、クライアント2 312、およびクライアント3 314は、コンセンサスノードに接続される。クライアント1 310はノード1 310およびノード2 312に接続され、クライアント2 312はノード3 306に接続され、クライアント3 314はノード4 308に接続される。コンセンサスノードは、ユーザがクライアントノードからのトランザクションをコンセンサスノードに提出できるように、クライアントノードと通信することができる。コンセンサスノードは、クライアントノードからのトランザクションをブロックチェーンに追加するために、互いに通信してコンセンサスプロセスを実行することができる。
コンセンサスノード間の通信のために、ノード1 402、ノード2 404、ノード3 406、およびノード4 408は各々、トラストストアAのブロックチェーンレプリカを取得することができる。トラストストアAは、CAの第1のセットによって発行されるノード1 402、ノード2 404、ノード3 406、およびノード4 408のTLS証明書を含み得る。いくつかの実装形態では、コンセンサスノードは、対応する公開鍵証明書を自己署名するためのCAであり得る。ノード1 402、ノード2 404、ノード3 406、およびノード4 408はまた、それぞれの秘密鍵および自己署名された証明書を用いて構成され得る。したがって、ノード1 402、ノード2 404、ノード3 406、およびノード4 408の間の通信は、トラストストアAのTLS証明書に基づき得る。
クライアント1 410は、ノード1 402およびノード2 404との通信のために接続される。クライアント1 410、ノード1 402、およびノード2 404は各々、トラストストアBのブロックチェーンレプリカを取得することができる。トラストストアBは、CAの第2のセットによって発行される、クライアント1 410、ノード1 402、およびノード2 404のTLS証明書を含み得る。やはり、署名機関が、分離されるべき他の通信のためのTLS証明書に署名するために使用される機関とは異なる限り、TLS証明書が自己署名され得る。クライアント1 410、ノード1 402、およびノード2 404はまた、それぞれの秘密鍵および自己署名された証明書を用いて構成され得る。したがって、クライアント1 410とノード1 402との間の通信、およびクライアント1 410とノード2 404の間の通信は、トラストストアBのTLS証明書に基づき得る。
いくつかの実装形態では、ノード1 402およびノード2 404はトラストストアAとトラストストアBの両方を維持するが、それらは、トラストストアAのTLS証明書のみに基づいて互いに通信することができる。それらは、トラストストアBのTLS証明書に基づいて通信できない。それに対応して、クライアント1 410は、ノード1 402とノード2 404との間で通信されるコンセンサスメッセージを見ることができない。
クライアント2 412は、ノード3 406との通信のために接続される。クライアント2 412およびノード3 406は各々、トラストストアCのブロックチェーンレプリカを取得することができる。トラストストアCは、CAの第3のセットによって発行される、クライアント2 412およびノード3 406のTLS証明書を含み得る。クライアント2 412、およびノード3 406はまた、それぞれの秘密鍵および自己署名された証明書を用いて構成され得る。したがって、クライアント2 412とノード3 406の間の通信は、トラストストアCのTLS証明書に基づき得る。
クライアント3 414は、ノード4 408と接続される。クライアント3 414とノード4 408との間の通信は暗号化されない。したがって、クライアント3 414は、通信のための公開鍵証明書を維持する必要がない。しかしながら、クライアント3 414は、ノード4 408と通信するためにクライアント3 414を装う他のノードなどの、身元の乗っ取りの危険性を想定することができる。
図5は、本開示の実装形態による、コンセンサスノードおよびクライアントノードの通信を管理するための例示的なプロセス500を図示する。提示を明確にするために、以下の説明は概して、この説明では他の図面の文脈で例示的なプロセス500を説明する。しかしながら、例示的なプロセス500は、たとえば、任意のシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組合せによって、適宜実行され得ることが理解されるであろう。いくつかの実装形態では、例示的なプロセス500の様々なステップは、並列に、組合せで、ループで、または任意の順序で行われ得る。
502において、コンセンサスノードはCSRを生成する。いくつかの実装形態では、CSRを生成する前に、コンセンサスノードは、第1の1つまたは複数のCA、および第2の1つまたは複数のCAを特定することができる。コンセンサスノードはまた、第1の1つまたは複数のCAおよび第2の1つまたは複数のCAからルート証明書を受信し、第1の1つまたは複数のCAおよび第2の1つまたは複数のCAのそれぞれの公開鍵に基づいてルート証明書を検証することができる。いくつかの実装形態では、CSRは、第1の公開鍵証明書または第2の公開鍵証明書に含まれるべき公開鍵および情報を含む。いくつかの実装形態では、CSRは、秘密鍵を使用してコンセンサスノードによってデジタル署名される。
504において、コンセンサスノードはCSRを第1のCAに送信する。
506において、コンセンサスノードは、CSRに応答した第1のCAからのコンセンサスノードの第1の公開鍵証明書、および第1の1つまたは複数のCAによって発行された1つまたは複数の他のコンセンサスノードの第1の1つまたは複数の公開鍵証明書を受信する。いくつかの実装形態では、第1の1つまたは複数の公開鍵証明書の一部分のうちの少なくとも1つが対応するコンセンサスノードによって自己署名され、または、第2の1つまたは複数の公開鍵証明書の一部分が対応するクライアントノードによって自己署名される。
508において、コンセンサスノードはCSRを第2のCAに送信する。いくつかの実装形態では、第1の1つまたは複数の公開鍵証明書の一部分のうちの少なくとも1つが対応するコンセンサスノードによって自己署名され、または、第2の1つまたは複数の公開鍵証明書の一部分が対応するクライアントノードによって自己署名される。
510において、コンセンサスノードは、CSRに応答した第2のCAからのコンセンサスノードの第2の公開鍵証明書、および第2の1つまたは複数のCAによって発行された1つまたは複数のクライアントノードの第2の1つまたは複数の公開鍵証明書を受信する。
512において、コンセンサスノードは、第1のトラストストアおよび第2のトラストストアを構成する。第1のトラストストアは、第1の公開鍵証明書と、1つまたは複数の他のコンセンサスノードの第1の1つまたは複数の公開鍵証明書とを含む。第2のトラストストアは、第2の公開鍵証明書と、1つまたは複数のクライアントノードの第2の1つまたは複数の公開鍵証明書とを含む。
いくつかの実装形態では、コンセンサスノードは、コンセンサスノードの対応する秘密鍵を使用して、公開鍵の自己署名された証明書を生成することができる。コンセンサスノードはまた、コンセンサスノードの秘密鍵および自己署名された証明書を構成することができる。
いくつかの実装形態では、第1の公開鍵証明書、第1の1つまたは複数の公開鍵証明書、第2の公開鍵証明書、および第2の1つまたは複数の公開鍵証明書は、TLS証明書である。
本明細書で説明される実装形態および動作は、本明細書で開示される構造もしくはそれらのうちの1つまたは複数の組合せを含めて、デジタル電子回路で、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェアで実装され得る。動作は、1つまたは複数のコンピュータ可読記録デバイスに記録される、または他のソースから受信されるデータに対して、データ処理装置によって実行される動作として実施され得る。データ処理装置、コンピュータ、またはコンピューティングデバイスは、前述の1つのプログラマブルプロセッサ、1つのコンピュータ、1つのシステムオンチップ、またはこれらの複数、または組合せを例として含む、データを処理するための装置、デバイス、および機械を包含し得る。装置は、専用論理回路、たとえば、中央処理装置(CPU)、フィールドプログラマブルゲートアレイ(FPGA)、または特定用途向け集積回路(ASIC)を含み得る。装置はまた、対象のコンピュータプログラムのための実行環境を作り出すコード、たとえば、プロセッサファームウェア、プロトロルスタック、データベース管理システム、オペレーティングシステム(たとえば、1つのオペレーティングシステムまたはオペレーティングシステムの組合せ)、クロスプラットフォームランタイム環境、仮想マシン、またはこれらの1つまたは複数の組合せを構成するコードを含み得る。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなどの、様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
コンピュータプログラム(たとえば、プログラム、ソフトウェア、ソフトウェアアプリケーション、ソフトウェアモジュール、ソフトウェアユニット、スクリプト、またはコードとしても知られている)は、コンパイル型またはインタプリタ型言語、宣言型または手続き型言語を含む、任意の形式のプログラミング言語で書かれてよく、スタンドアロンプログラムとして、または、モジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境において使用するのに適した他のユニットを含む、任意の形式で展開されてよい。プログラムは、他のプログラムもしくはデータ(たとえば、マークアップ言語ドキュメントに記録される1つまたは複数のスクリプト)を保持するファイルの一部分、対象のプログラムに専用の単一のファイル、または複数の協調的なファイル(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記録するファイル)に記録され得る。コンピュータプログラムは、1つの場所に位置する、または、複数の場所に分散され通信ネットワークによって相互接続される、1つのコンピュータまたは複数のコンピュータ上で実行され得る。
コンピュータプログラムの実行のためのプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読取り専用メモリまたはランダムアクセスメモリまたは両方から、命令およびデータを受信する。コンピュータの不可欠な要素は、命令に従って活動を実行するためのプロセッサ、ならびに、命令およびデータを記録するための1つまたは複数のメモリデバイスである。一般に、コンピュータは、データを記録するための1つまたは複数のマスストレージデバイスも含み、または、そのマスストレージデバイスからデータを受信し、もしくはそこへデータを移し、もしくはその両方を行うように、動作可能に結合される。コンピュータは、別のデバイス、たとえば、モバイルデバイス、携帯情報端末(PDA)、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記録デバイスに埋め込まれ得る。コンピュータプログラム命令およびデータを記録するのに適したデバイスは、例として、半導体メモリデバイス、磁気ディスク、および磁気光学ディスクを含む、不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用の論理回路によって補完されても、またはそれに組み込まれてもよい。
モバイルデバイスは、ハンドセット、ユーザ機器(UE)、携帯電話(たとえば、スマートフォン)、タブレット、ウェアラブルデバイス(たとえば、スマートウォッチおよびスマート眼鏡)、人体に埋め込まれたデバイス(たとえば、バイオセンサ、人工内耳)、または他のタイプのモバイルデバイスを含み得る。モバイルデバイスは、様々な通信ネットワーク(以下で説明される)にワイヤレスに(たとえば、高周波(RF)信号を使用して)通信することができる。モバイルデバイスは、モバイルデバイスの現在の環境の特性を決定するためのセンサを含み得る。センサは、カメラ、マイクロフォン、近接センサ、GPSセンサ、モーションセンサ、加速度計、周辺光センサ、水分センサ、ジャイロスコープ、コンパス、気圧計、指紋センサ、顔認識システム、RFセンサ(たとえば、Wi-Fiおよびセルラー無線)、温度センサ、または他のタイプのセンサを含み得る。たとえば、カメラは、可動レンズまたは固定レンズ、フラッシュ、イメージセンサ、およびイメージプロセッサを伴う、前面カメラまたは後面カメラを含み得る。カメラは、顔認識および/または虹彩認識のための詳細を捉えることが可能なメガピクセルカメラであり得る。カメラは、データプロセッサ、およびメモリに記録されるまたはリモートでアクセスされる認証情報とともに、顔認識システムを形成することができる。顔認識システムまたは1つまたは複数のセンサ、たとえば、マイクロフォン、モーションセンサ、加速度計、GPSセンサ、またはRFセンサは、ユーザ認証のために使用され得る。
ユーザとの対話を提供するために、実装形態は、ディスプレイデバイスおよび入力デバイス、たとえば、ユーザに情報を表示するための液晶ディスプレイ(LCD)または有機発光ダイオード(OLED)/仮想現実(VR)/拡張現実(AR)ディスプレイ、ならびに、ユーザがそれによってコンピュータに入力を提供できるタッチスクリーン、キーボード、およびポインティングデバイスを有する、コンピュータ上で実装され得る。他の種類のデバイスも、ユーザとの対話を提供するために使用され得る。たとえば、ユーザに提供されるフィードバックは任意の形式の感覚的なフィードバック、たとえば視覚的なフィードバック、聴覚的なフィードバック、または触覚的なフィードバックであってよく、ユーザからの入力は、音響入力、発話入力、または触覚入力を含む、任意の形式で受け取られ得る。加えて、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信してそれからドキュメントを受信することによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
実装形態は、有線またはワイヤレスデジタルデータ通信(またはそれらの組合せ)の任意の形式もしくは媒体、たとえば通信ネットワークによって相互接続されるコンピューティングデバイスを使用して実装され得る。相互接続されたデバイスの例は、一般に互いから離れており典型的には通信ネットワークを介して対話する、クライアントおよびサーバである。クライアント、たとえばモバイルデバイスは、たとえば、購入、売却、支払、贈与、送付、もしくは貸付のトランザクションの実行、またはこれらの認可を行うサーバと、またはサーバを通じて、自身でトランザクションを実行することができる。そのようなトランザクションは、活動と応答が時間的に近くなるようにリアルタイムであり得る。たとえば、ある個人は、活動および応答が実質的に同時に発生することを知覚し、その個人の活動に続く応答の時間差が1ミリ秒(ms)未満もしくは1秒(s)未満であり、または応答にシステムの処理制約を考慮した意図的な遅延がない。
通信ネットワークの例は、ローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)、およびワイドエリアネットワーク(WAN)を含む。通信ネットワークは、インターネット、別の通信ネットワーク、または通信ネットワークの組合せの、すべてもしくは一部分を含み得る。情報は、Long Term Evolution(LTE)、5G、IEEE 802、インターネットプロトコル(IP)、または他のプロトコルもしくはプロトコルの組合せを含む、様々なプロトコルおよび規格に従って通信ネットワーク上で送信され得る。通信ネットワークは、接続されたコンピューティングデバイス間で、音声データ、ビデオデータ、バイオメトリックデータ、または認証データ、または他の情報を送信することができる。
別個の実装形態として説明される特徴は、組合せで、単一の実装形態で実装され得るが、単一の実装形態として説明される特徴は、複数の実装形態で、別々に、または任意の適切な部分組合せで実装され得る。特定の順序で説明され特許請求される動作は、特定の順序が実行されなければならないこと、またはすべての図示される動作が実行されなければならないことを要求するものとして理解されるべきではない(いくつかの動作は任意選択であり得る)。適宜、マルチタスキングまたは並列処理(またはマルチタスキングと並列処理の組合せ)が実行され得る。
102 パブリックブロックチェーン
106 コンピューティングシステム
108 コンピューティングシステム
110 ネットワーク
202 エンティティレイヤ
204 ホストされたサービスレイヤ
206 パブリックブロックチェーンレイヤ
208 トランザクション管理システム
210 ブロックチェーンインターフェース
212 ブロックチェーンネットワーク
214 ノード
216 ブロックチェーン
302a コンセンサスノード
302b コンセンサスノードおよびクライアントノード
304 CA
402 ノード1
404 ノード2
406 ノード3
408 ノード4
410 クライアント1
412 クライアント2
414 クライアント3

Claims (9)

  1. コンセンサスノード間の通信と、コンセンサスノードとクライアントノードとの間の通信とを分離するためのコンピュータで実行される方法であって、
    コンセンサスノードによって、証明書署名要求(CSR)を生成するステップと、
    前記CSRを第1の認証局(CA)に送信するステップと、
    前記CSRに応答した第1のCAからの前記コンセンサスノードの第1の公開鍵証明書、および第1の1つまたは複数のCAによって発行された1つまたは複数の他のコンセンサスノードの第1の1つまたは複数の公開鍵証明書を受信するステップと、
    前記CSRを第2のCAに送信するステップと、
    前記CSRに応答した前記第2のCAからの前記コンセンサスノードの第2の公開鍵証明書、および第2の1つまたは複数のCAによって発行された1つまたは複数のクライアントノードの第2の1つまたは複数の公開鍵証明書を受信するステップと、
    前記コンセンサスノード上で、前記第1の公開鍵証明書および前記1つまたは複数の他のコンセンサスノードの前記第1の1つまたは複数の公開鍵証明書を含む第1のトラストストアと、前記第2の公開鍵証明書および前記1つまたは複数のクライアントノードの前記第2の1つまたは複数の公開鍵証明書を含む第2のトラストストアとを、構成するステップとを備える、
    コンピュータで実行される方法。
  2. 前記第1の1つまたは複数のCAおよび前記第2の1つまたは複数のCAを決定するステップと、
    前記第1の1つまたは複数のCAおよび前記第2の1つまたは複数のCAからルート証明書を受信するステップと、
    前記第1の1つまたは複数のCAおよび前記第2の1つまたは複数のCAの対応する公開鍵に基づいて前記ルート証明書を検証するステップとをさらに備える、
    請求項1に記載のコンピュータで実行される方法。
  3. 前記CSRが、前記第1の公開鍵証明書または前記第2の公開鍵証明書に含まれるべき公開鍵および情報を含む、
    請求項1に記載のコンピュータで実行される方法。
  4. 前記CSRが、秘密鍵を使用して前記コンセンサスノードによってデジタル署名される、
    請求項2に記載のコンピュータで実行される方法。
  5. 前記第1の1つまたは複数の公開鍵証明書の一部分のうちの少なくとも1つが対応するコンセンサスノードによって自己署名される、または、前記第2の1つまたは複数の公開鍵証明書の一部分が対応するクライアントノードによって自己署名される、
    請求項1に記載のコンピュータで実行される方法。
  6. 前記コンセンサスノードの対応する秘密鍵を使用して、公開鍵の自己署名された証明書を生成するステップと、
    前記コンセンサスノード上で、前記コンセンサスノードの前記秘密鍵および前記自己署名された証明書を構成するステップとをさらに備える、
    請求項1に記載のコンピュータで実行される方法。
  7. 前記第1の公開鍵証明書、前記第1の1つまたは複数の公開鍵証明書、前記第2の公開鍵証明書、および前記第2の1つまたは複数の公開鍵証明書が、トランスポートレイヤセキュリティ(TLS)証明書である、
    請求項1に記載のコンピュータで実行される方法。
  8. 1つまたは複数のプロセッサに結合され、かつ前記1つまたは複数のプロセッサによって実行されると、請求項1から7のいずれか一項に記載の方法に従った動作を前記1つまたは複数のプロセッサに実行させる命令が記録された、非一時的コンピュータ可読記録媒体。
  9. コンピューティングデバイスと、
    前記コンピューティングデバイスに結合され、かつ前記コンピューティングデバイスによって実行されると、請求項1から7のいずれか一項に記載の方法に従った動作を前記コンピューティングデバイスに実行させる命令が記録された、コンピュータ可読記録デバイスとを備える、システム。
JP2019521655A 2018-11-07 2018-11-07 コンセンサスノードおよびクライアントノードの間での通信の管理 Active JP6768947B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/114417 WO2019072267A2 (en) 2018-11-07 2018-11-07 COMMUNICATION MANAGEMENT BETWEEN CONSENSUS NODES AND CLIENT NODES

Publications (2)

Publication Number Publication Date
JP2020503717A JP2020503717A (ja) 2020-01-30
JP6768947B2 true JP6768947B2 (ja) 2020-10-14

Family

ID=66100011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019521655A Active JP6768947B2 (ja) 2018-11-07 2018-11-07 コンセンサスノードおよびクライアントノードの間での通信の管理

Country Status (16)

Country Link
US (2) US10887114B2 (ja)
EP (1) EP3533178B1 (ja)
JP (1) JP6768947B2 (ja)
KR (1) KR102266206B1 (ja)
CN (1) CN110383759B (ja)
AU (1) AU2018347189B2 (ja)
BR (1) BR112019008174A2 (ja)
CA (1) CA3041159C (ja)
ES (1) ES2818623T3 (ja)
MX (1) MX2019004653A (ja)
PH (1) PH12019500879A1 (ja)
PL (1) PL3533178T3 (ja)
RU (1) RU2713870C1 (ja)
SG (1) SG11201903572YA (ja)
WO (1) WO2019072267A2 (ja)
ZA (1) ZA201902559B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11172013B2 (en) 2019-01-31 2021-11-09 Open Text Corporation System and method for launching and connecting to a local server from a webpage
US11245537B2 (en) * 2019-06-07 2022-02-08 Open Text Corporation System and method for a local server with self-signed certificates
CN110492997B (zh) * 2019-08-09 2020-12-01 华南理工大学 一种基于超级账本的加密系统、方法、装置和存储介质
US11283629B2 (en) 2019-10-10 2022-03-22 Red Hat, Inc. Automated replacement of renewable server certificates
KR20210121805A (ko) * 2020-03-31 2021-10-08 삼성전자주식회사 블록체인 기반의 pki 도메인에 속하는 전자 장치, 인증 기관 기반의 pki 도메인에 속하는 전자 장치, 및 이들을 포함하는 암호화 통신 시스템
CN111489159B (zh) * 2020-04-09 2024-03-15 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机设备及介质
CN111858768B (zh) * 2020-07-27 2023-06-16 苏州区盟链数字科技有限公司 一种优化区块链可信节点与共识算法的装置
CN112560005A (zh) * 2020-12-01 2021-03-26 杭州趣链科技有限公司 身份可信服务系统、方法、电子设备和计算机可读介质
KR20230020262A (ko) * 2021-08-03 2023-02-10 삼성전자주식회사 디지털 컨텐츠에 대한 대체불가능 토큰을 관리하는 방법 및 장치

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743248B2 (en) * 1995-01-17 2010-06-22 Eoriginal, Inc. System and method for a remote access service enabling trust and interoperability when retrieving certificate status from multiple certification authority reporting components
JP3890959B2 (ja) * 2001-11-22 2007-03-07 株式会社日立製作所 公開鍵証明書の生成システム及び検証システム
ATE315859T1 (de) 2002-09-17 2006-02-15 Errikos Pitsos Verfahren und vorrichtung zur bereitstellung einer liste von öffentlichen schlüsseln in einem public-key-system
US7702902B2 (en) * 2004-06-25 2010-04-20 The Go Daddy Group, Inc. Method for a web site with a proxy domain name registration to receive a secure socket layer certificate
US7844816B2 (en) * 2005-06-08 2010-11-30 International Business Machines Corporation Relying party trust anchor based public key technology framework
US8898457B2 (en) * 2010-02-26 2014-11-25 Red Hat, Inc. Automatically generating a certificate operation request
US8627065B2 (en) * 2010-11-09 2014-01-07 Cleversafe, Inc. Validating a certificate chain in a dispersed storage network
US9021255B1 (en) * 2012-06-29 2015-04-28 Emc Corporation Techniques for multiple independent verifications for digital certificates
US8707027B1 (en) * 2012-07-02 2014-04-22 Symantec Corporation Automatic configuration and provisioning of SSL server certificates
JP6299047B2 (ja) 2014-05-08 2018-03-28 華為技術有限公司Huawei Technologies Co.,Ltd. 証明取得方法及び装置
US20170331896A1 (en) * 2016-05-13 2017-11-16 De La Rue International Limited Methods and systems for processing assets
US10700853B2 (en) * 2016-07-12 2020-06-30 International Business Machines Corporation Token identity and attribute management
KR101727525B1 (ko) * 2016-09-05 2017-04-17 주식회사 스케일체인 블록체인 기반 분산 저장 방법 및 이를 이용한 장치
US10382485B2 (en) * 2016-12-23 2019-08-13 Vmware, Inc. Blockchain-assisted public key infrastructure for internet of things applications
CN106789090B (zh) * 2017-02-24 2019-12-24 陈晶 基于区块链的公钥基础设施系统及半随机联合证书签名方法
CN108696348A (zh) * 2017-04-06 2018-10-23 中国移动通信有限公司研究院 一种实现ca互信的方法、装置、系统和电子设备
CN107392040B (zh) * 2017-04-28 2019-08-09 阿里巴巴集团控股有限公司 一种共识验证的方法及装置
CN107566337B (zh) * 2017-07-26 2019-08-09 阿里巴巴集团控股有限公司 一种区块链节点间的通信方法及装置
CN107592293A (zh) * 2017-07-26 2018-01-16 阿里巴巴集团控股有限公司 区块链节点间通讯方法、数字证书管理方法、装置和电子设备
CN107592292B (zh) * 2017-07-26 2019-08-09 阿里巴巴集团控股有限公司 一种区块链节点间通信方法及装置

Also Published As

Publication number Publication date
PL3533178T3 (pl) 2021-01-11
AU2018347189B2 (en) 2020-07-23
JP2020503717A (ja) 2020-01-30
KR20200054123A (ko) 2020-05-19
US20210083885A1 (en) 2021-03-18
WO2019072267A3 (en) 2019-07-25
ES2818623T3 (es) 2021-04-13
US20190253265A1 (en) 2019-08-15
CA3041159A1 (en) 2019-04-18
CA3041159C (en) 2021-12-07
SG11201903572YA (en) 2019-05-30
US10887114B2 (en) 2021-01-05
KR102266206B1 (ko) 2021-06-21
RU2713870C1 (ru) 2020-02-07
WO2019072267A2 (en) 2019-04-18
EP3533178A2 (en) 2019-09-04
CN110383759A (zh) 2019-10-25
ZA201902559B (en) 2019-12-18
EP3533178A4 (en) 2019-09-25
AU2018347189A1 (en) 2020-05-21
EP3533178B1 (en) 2020-09-09
US11108571B2 (en) 2021-08-31
PH12019500879A1 (en) 2019-11-25
BR112019008174A2 (pt) 2019-09-10
MX2019004653A (es) 2019-08-05
CN110383759B (zh) 2022-05-10

Similar Documents

Publication Publication Date Title
JP6768947B2 (ja) コンセンサスノードおよびクライアントノードの間での通信の管理
JP7123208B2 (ja) 準同型暗号を使用したブロックチェーンデータ保護
JP6767580B2 (ja) 準同型暗号を使用したブロックチェーンデータ保護
JP6810259B2 (ja) ワークフローに基づくブロックチェーンネットワーク上での非公開のトランザクションの管理
US11113421B2 (en) Secure communications in a blockchain network
US11107075B2 (en) Blockchain data processing methods, apparatuses, devices, and systems
JP6830530B2 (ja) アカウントモデルの下でパブリックおよびプライベートトランザクションをサポートするブロックチェーンシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200730

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200907

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200923

R150 Certificate of patent or registration of utility model

Ref document number: 6768947

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250