(57)【特許請求の範囲】
【請求項１】
ブロックチェーンノード間の通信のための方法であって、
ブロックチェーンへの参加を要求する参加要求ノードによって、証明書申請要求を認証局センタに送るステップと、
前記参加要求ノードによって、前記認証局センタから前記参加要求ノードのデジタル証明書と前記デジタル証明書の有効性状態情報を受け取るステップと、
前記ブロックチェーン内の全てのノード内に前記デジタル証明書と前記デジタル証明書の証明書有効性情報を記憶するステップであって、前記デジタル証明書の前記証明書有効性情報は前記デジタル証明書の有効性状態情報を反映するステップと、
前記ブロックチェーンの少なくとも１つのノードによって、前記デジタル証明書が有効か無効かを示す前記デジタル証明書の新たな有効性状態情報を前記認証局センタから受け取るステップと、
前記新たな有効性状態情報に基づいて前記ブロックチェーン内の全てのノード内に記憶された前記デジタル証明書の前記証明書有効性情報を更新するステップと、
前記ブロックチェーン内の第２のノードによって、前記ブロックチェーン内の第１のノードと前記第２のノードの間の第１の通信接続を確立するための第１の要求を受け取るステップであって、前記第１の要求が前記第１のノードによって送られ、前記第１の要求が前記第１のノードの第１のデジタル証明書を含む、ステップと、
前記第１の要求および前記第２のノード内に局所的に記憶される前記デジタル証明書の証明書有効性情報に基づいて前記第２のノードによって、前記第１のノードの前記第１のデジタル証明書が有効であるかどうかを検証するステップと、
前記第１のノードの前記第１のデジタル証明書が有効である場合、前記第２のノードによって、前記第１のノードへの前記第１の通信接続を確立することを決定するステップと
を含む方法。
【請求項２】
前記第２のノードによって、前記第２のノードと前記第１のノードの間の第２の通信接続を確立するための第２の要求を送るステップであって、前記第２の要求が前記第１のノードに送られ、前記第２の要求が前記第２のノードの第２のデジタル証明書を含むステップと、
前記第１のノードが、前記第２の要求および前記第１のノード内に局所的に記憶される前記第２のデジタル証明書の証明書有効性情報に基づいて、前記第２のノードの前記デジタル証明書が有効であるかどうかを検証するステップをさらに含み、
前記第１のノードの前記第１のデジタル証明書が有効である場合、前記第２のノードによって、前記第１のノードへの前記第２の通信接続を確立するかどうかを決定するステップが、
前記第１のノードの前記第１のデジタル証明書が有効であり、かつ、前記第２のノードの前記第２のデジタル証明書が有効であることを前記第１のノードが検証するときに、前記第２のノードによって、前記第１のノードへの前記第２の通信接続を確立するステップ
を含む、請求項１に記載の方法。
【請求項３】
前記第１のノードの前記デジタル証明書の証明書有効性情報は、有効証明書リストに基づく、請求項１または２に記載の方法。
【請求項４】
前記第２のノードによって、前記第１のノードの前記第１のデジタル証明書が有効であるかどうかを検証する前記ステップが、
前記第１のノードの前記第１のデジタル証明書が有効デジタル証明書を記録する前記証明書有効性情報の中に有効なデジタルシグネチャとして記録されている場合、前記第１のノードの前記第１のデジタル証明書が有効であると検証するステップと
を含む、請求項１または２に記載の方法。
【請求項５】
前記第２のノードによって受け取られる前記第１の要求が、SSLプロトコルまたはTLSプロトコルに基づいて前記第１のノードによって送られる、請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記証明書申請要求が、前記参加要求ノードの申請情報を含み、前記参加要求ノードの前記デジタル証明書を前記認証局センタに申請するために使用される、
請求項１から５のいずれか一項に記載の方法。
【請求項７】
前記デジタル証明書が、バージョン番号、通し番号、証明書保持者情報、有効性期間および認証局センタシグネチャのうちの少なくとも１つを含む、請求項１から６のいずれか一項に記載の方法。
【請求項８】
前記ブロックチェーンの前記ノード内に連鎖される前は、前記デジタル証明書は無効である、請求項１から７のいずれか一項に記載の方法。
【請求項９】
ブロックチェーン内の第２のノードに適用される電子デバイスであって、
プロセッサと、
コンピュータ実行可能命令を記憶するように構成されたメモリであって、前記実行可能命令は、請求項１から８のいずれか一項に記載の方法を実行するように前記プロセッサによって実行される、メモリと
を備える、電子デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照によりその全体が本明細書に組み込まれている、2017年7月26日に出願した中国特許出願第201710617599.7号の優先権を主張するものである。
【０００２】
本出願はコンピュータ技術の分野に関し、詳細にはブロックチェーンノード間の通信のための方法、装置および電子デバイス、ならびにブロックチェーンに基づくデジタル証明書管理のための方法、装置および電子デバイスに関する。
【背景技術】
【０００３】
コンピュータ技術の開発に伴い、ブロックチェーン技術(分散型台帳技術とも呼ばれている)が分散化、開放性および透明性、耐タンパー性および信頼性などの利点のために奨励されており、したがって多くの分野、例えばインテリジェント契約、有価証券取引、電子商取引、モノのインターネット、ソーシャル通信、ファイル記憶装置、存在証明、同一性認証およびエクイティクラウドファンディングに広く適用されている。
【０００４】
現在、ブロックチェーンシステムは、パブリックブロックチェーン、プライベートブロックチェーンおよびコンソーシアムブロックチェーンの主として3つのタイプに分類されている。これらの3つのタイプのブロックチェーンは、主として公開対象が異なっている。パブリックブロックチェーンは誰に対しても公開されている。プライベートブロックチェーンは、単一の個人、実体または団体に対して公開されている。コンソーシアムブロックチェーンは、特定の個人、実体または団体に対して公開されており、他の個人、実体または団体に対しては公開されていない。
【０００５】
ブロックチェーン、とりわけ特定の団体のためのコンソーシアムブロックチェーンでは、通信セキュリティを改善するために、認証局センタ(CAセンタ：Certificate Authority Center)は、通常、ブロックチェーン通信に参加する個々のノードにノード証明書(Node Certificate)を発行するように設計されており、したがって有効証明書を保持しているノードのみが互いに通信することができる。いくつかの実施態様では、発行されるノード証明書および証明書有効性に関連する情報、例えば証明書取消しリスト(Certificate Revocation List)は、CAセンタ内のサーバ内に記憶される。ブロックチェーン内のノードが互いの通信を必要とすると、証明書の有効性を確認し、また、通信プロセスの検証を完了するために、CAセンタ内に記憶されている情報および証明書有効性に関する情報が呼び出され、かつ、照会される。この方法の主な欠点は以下の通りである。
【０００６】
ブロックチェーンノード間の安全な通信は、通信接続が確立される際のノード証明書の有効性の検証に依存している。CAセンタがハッキングされると、ハッカーは、証明書有効性に関連する情報を任意に修正することができる。例えばハッカーは証明書取消しリストを改ざんすることができ、取り消された証明書を回復して正常に戻すことができる。ハッカーは、さらに、これらの既に取り消されている証明書を使用して、許可されることなくブロックチェーンに参加することができ、また、ブロックチェーン内のノードは、改ざんされた情報に基づいて証明書有効性を確認することとなり、これはブロックチェーンのセキュリティにとって脅威である。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本出願の実施態様は、ブロックチェーンノード間の通信のセキュリティを改善し、また、ブロックチェーンネットワークのセキュリティをさらに改善するために、ブロックチェーンノード間の通信のための方法、装置および電子デバイス、ならびにブロックチェーンに基づくデジタル証明書管理のための方法、装置および電子デバイスを提供する。
【課題を解決するための手段】
【０００８】
本出願の実施態様には以下の技術的解決法が使用される。
【０００９】
第1の態様によれば、本出願の実施態様は、ブロックチェーンノード間の通信のための方法であって、第2のノードによって、第1のノードによって送られる第1の通信要求を受け取るステップであって、第1の通信要求が第1のノードのデジタル証明書を含み、また、第1のノードのデジタル証明書が第1のノードおよび第2のノードを含むブロックチェーン内に記憶される、ステップと、第1の通信要求および証明書有効性情報に基づいて第2のノードによって、第1のノードのデジタル証明書が有効であるかどうかを検証するステップであって、証明書有効性情報がブロックチェーン内に記憶され、また、ノードのデジタル証明書の有効性状態情報を反映するために使用される、ステップと、第1のノードのデジタル証明書が有効である場合、第2のノードによって、第1のノードへの通信接続を確立するかどうかを決定するステップとを含む方法を提供する。
【００１０】
好ましくは、第1の態様で提供される、ブロックチェーンノード間の通信のための方法は、第2のノードによって、第2の通信要求を第1のノードに送るステップであって、第2の通信要求が第2のノードのデジタル証明書を含むことで第1のノードが、第2の通信要求および証明書有効性情報に基づいて、第2のノードのデジタル証明書が有効であるかどうかを検証する、ステップをさらに含み、第1のノードのデジタル証明書が有効である場合、第2のノードによって、第1のノードへの通信接続を確立するかどうかを決定する上記ステップは、第1のノードのデジタル証明書が有効であり、かつ、第2のノードのデジタル証明書が有効であることを第1のノードが検証するときに、第2のノードによって、第1のノードへの通信接続を確立するステップを含む。
【００１１】
好ましくは、第1の態様で提供される、ブロックチェーンノード間の通信のための方法では、証明書有効性情報は、取り消される無効デジタル証明書を記録し、また、第1の通信要求および証明書有効性情報に基づいて第2のノードによって、第1のノードのデジタル証明書が有効であるかどうかを検証する上記ステップは、第2のノードによって、第1の通信要求に基づいて第1のノードのデジタル証明書を決定するステップと、ブロックチェーン内に記憶されている証明書有効性情報に基づいて第2のノードによって、第1のノードのデジタル証明書が証明書有効性情報の中に記録されているかどうかを検証するステップと、第1のノードのデジタル証明書が証明書有効性情報の中に記録されている場合、第1のノードのデジタル証明書が無効であると検証するステップとを含む。
【００１２】
好ましくは、第1の態様で提供される、ブロックチェーンノード間の通信のための方法では、証明書有効性情報は有効デジタル証明書を記録し、また、第1の通信要求および証明書有効性情報に基づいて第2のノードによって、第1のノードのデジタル証明書が有効であるかどうかを検証する上記ステップは、第2のノードによって、第1の通信要求に基づいて第1のノードのデジタル証明書を決定するステップと、ブロックチェーン内に記憶されている証明書有効性情報に基づいて第2のノードによって、第1のノードのデジタル証明書が証明書有効性情報の中に記録されているかどうかを検証するステップと、第1のノードのデジタル証明書が証明書有効性情報の中に記録されている場合、第1のノードのデジタル証明書が有効であると検証するステップとを含む。
【００１３】
好ましくは、第2のノードによって、第1のノードによって送られる第1の通信要求を受け取る上記ステップの前に、第1の態様で提供される、ブロックチェーンノード間の通信のための方法は、第1のノードのデジタル証明書をブロックチェーン内に書き込むことにより、第1のノードおよび第2のノードを含むブロックチェーン内に第1のノードのデジタル証明書を記憶するステップをさらに含む。
【００１４】
好ましくは、第1の態様で提供される、ブロックチェーンノード間の通信のための方法では、証明書有効性情報は、ブロックチェーンによって受け取られる、取り消された無効デジタル証明書および/または有効デジタル証明書に基づいて決定される。
【００１５】
好ましくは、第1の態様で提供される、ブロックチェーンノード間の通信のための方法では、第2のノードによって受け取られる第1の通信要求は、Secure Sockets Layer(SSL)プロトコルまたはTransport Layer Security(TLS)プロトコルに基づいて第1のノードによって送られる。
【００１６】
第2の態様によれば、本出願の実施態様は、ブロックチェーンに基づくデジタル証明書管理のための方法であって、CAセンタによって送られる、ノードのデジタル証明書および該デジタル証明書の有効性状態情報を受け取るステップと、デジタル証明書の有効性状態情報に基づいて、デジタル証明書の有効性状態情報を反映するために使用される証明書有効性情報を決定するステップと、デジタル証明書および証明書有効性情報をブロックチェーン内に記憶するステップであって、ブロックチェーン内の第2のノードが第1のノードによって送られた第1の通信要求を受け取った後、デジタル証明書および証明書有効性情報を使用して、第1の通信要求に含まれている第1のノードのデジタル証明書が有効であるかどうかを検証する、ステップとを含む方法を提供する。
【００１７】
好ましくは、第2の態様で提供される、ブロックチェーンに基づくデジタル証明書管理のための方法は、ブロックチェーン内の第1のノードによって、証明書申請要求をCAセンタに送るステップであって、証明書申請要求が、第1のノードの申請情報を含み、また、第1のノードのデジタル証明書をCAセンタに申請(apply)するために使用される、ステップをさらに含む。
【００１８】
第3の態様によれば、本出願の実施態様は、ブロックチェーンに基づくデジタル証明書管理のための方法であって、ブロックチェーン内のノードのデジタル証明書および該デジタル証明書の有効性状態情報をブロックチェーンに送るステップを含み、それによりブロックチェーンが、デジタル証明書の有効性状態情報に基づいて、デジタル証明書の有効性状態情報を反映するために使用される証明書有効性情報を決定し、また、ブロックチェーン内の第2のノードが第1のノードによって送られた第1の通信要求を受け取った後、第1の通信要求に含まれている第1のノードのデジタル証明書が有効であるかどうかを検証するために、デジタル証明書および証明書有効性情報を記憶する、方法を提供する。
【００１９】
好ましくは、第3の態様で提供される、ブロックチェーンに基づくデジタル証明書管理のための方法は、ブロックチェーン内のノードによって送られる証明書申請要求を受け取るステップであって、証明書申請要求が、第1のノードの申請情報を含み、また、第1のノードのデジタル証明書をCAセンタに申請するために使用される、ステップと、第1のノードの申請情報を受け取りかつ、検査(review)するステップと、第1のノードの申請情報が検査に合格すると、第1のノードにデジタル証明書を発行するステップであって、デジタル証明書の有効性状態情報が有効である、ステップとをさらに含む。
【００２０】
第4の態様によれば、本出願の実施態様は、ブロックチェーンノード間の通信のための装置を提供する。装置はブロックチェーン内の第2のノードに適用され、また、第1のノードによって送られる第1の通信要求を受け取るように構成された通信要求受取りモジュールであって、第1の通信要求が第1のノードのデジタル証明書を含み、また、第1のノードのデジタル証明書が第1のノードおよび第2のノードを含むブロックチェーン内に記憶される、モジュールと、第1の通信要求および証明書有効性情報に基づいて、第1のノードのデジタル証明書が有効であるかどうかを検証するように構成された有効性検証モジュールであって、証明書有効性情報がブロックチェーン内に記憶され、また、ノードのデジタル証明書の有効性状態情報を反映するために使用される、モジュールと、第1のノードのデジタル証明書が有効である場合、第1のノードへの通信接続を確立するかどうかを決定するように構成された通信接続確立モジュールとを含む。
【００２１】
好ましくは、第4の態様で提供される、ブロックチェーンノード間の通信のための装置は、第2の通信要求を第1のノードに送るように構成された通信要求発信モジュールであって、第2の通信要求が第2のノードのデジタル証明書を含むことで第1のノードが、第2の通信要求および証明書有効性情報に基づいて、第2のノードのデジタル証明書が有効であるかどうかを検証する、モジュールをさらに含み、上記通信接続確立モジュールは、第1のノードのデジタル証明書が有効であり、かつ、第2のノードのデジタル証明書が有効であることを第1のノードが検証するときに、とりわけ第1のノードへの通信接続を確立するように構成される。
【００２２】
第5の態様によれば、本出願の実施態様は電子デバイスを提供する。電子デバイスはブロックチェーン内の第2のノードに適用され、また、プロセッサと、コンピュータ実行可能命令を記憶するように構成されたメモリとを含み、実行可能命令はプロセッサによって実行され、第1のノードによって送られる第1の通信要求を受け取る動作であって、第1の通信要求が第1のノードのデジタル証明書を含み、また、第1のノードのデジタル証明書が第1のノードおよび第2のノードを含むブロックチェーン内に記憶される、動作と、第1の通信要求および証明書有効性情報に基づいて、第1のノードのデジタル証明書が有効であるかどうかを検証する動作であって、証明書有効性情報がブロックチェーン内に記憶され、また、ノードのデジタル証明書の有効性状態情報を反映するために使用される、動作と、第1のノードのデジタル証明書が有効である場合、第1のノードへの通信接続を確立するかどうかを決定する動作とを実施する。
【００２３】
好ましくは、第5の態様で提供される電子デバイスでは、実行可能命令はプロセッサによって実行され、第2の通信要求を第1のノードに送る動作であって、第2の通信要求が第2のノードのデジタル証明書を含み、それにより第1のノードが、第2の通信要求および証明書有効性情報に基づいて、第2のノードのデジタル証明書が有効であるかどうかを検証する、動作と、第1のノードのデジタル証明書が有効であり、かつ、第2のノードのデジタル証明書が有効であることを第1のノードが検証するときに、第2のノードによって、第1のノードへの通信接続を確立する動作をさらに実施する。
【００２４】
第6の態様によれば、本出願の実施態様は、ブロックチェーンに基づくデジタル証明書管理のための装置を提供する。装置はブロックチェーンに適用され、また、CAセンタによって送られるノードのデジタル証明書および該デジタル証明書の有効性状態情報を受け取るように構成された証明書情報受取りモジュールと、デジタル証明書の有効性状態情報に基づいて、デジタル証明書の有効性状態情報を反映するために使用される証明書有効性情報を決定するように構成された証明書有効性情報決定モジュールと、デジタル証明書および証明書有効性情報をブロックチェーン内に記憶するように構成された記憶モジュールであって、ブロックチェーン内の第2のノードが第1のノードによって送られた第1の通信要求を受け取った後、デジタル証明書および証明書有効性情報を使用して、第1の通信要求に含まれている第1のノードのデジタル証明書が有効であるかどうかを検証する、モジュールとを含む。
【００２５】
第7の態様によれば、本出願の実施態様は電子デバイスを提供する。電子デバイスはブロックチェーンに適用され、また、プロセッサと、コンピュータ実行可能命令を記憶するように構成されたメモリとを含み、実行可能命令はプロセッサによって実行され、CAセンタによって送られるノードのデジタル証明書および該デジタル証明書の有効性状態情報を受け取る動作と、デジタル証明書の有効性状態情報に基づいて、デジタル証明書の有効性状態情報を反映するために使用される証明書有効性情報を決定する動作と、デジタル証明書および証明書有効性情報をブロックチェーン内に記憶する動作であって、ブロックチェーン内の第2のノードが第1のノードによって送られた第1の通信要求を受け取った後、デジタル証明書および証明書有効性情報を使用して、第1の通信要求に含まれている第1のノードのデジタル証明書が有効であるかどうかを検証する、動作とを実施する。
【００２６】
第8の態様によれば、本出願の実施態様は、ブロックチェーンに基づくデジタル証明書管理のための装置を提供する。装置はCAセンタに適用され、また、ブロックチェーン内のノードのデジタル証明書および該デジタル証明書の有効性状態情報をブロックチェーンに送るように構成された発信モジュールであって、それによりブロックチェーンが、デジタル証明書の有効性状態情報に基づいて、デジタル証明書の有効性状態情報を反映するために使用される証明書有効性情報を決定し、また、ブロックチェーン内の第2のノードが第1のノードによって送られた第1の通信要求を受け取った後、第1の通信要求に含まれている第1のノードのデジタル証明書が有効であるかどうかを検証するために、デジタル証明書および証明書有効性情報を記憶する、モジュールを含む。
【００２７】
好ましくは、第8の態様で提供される、ブロックチェーンに基づくデジタル証明書管理のための装置は、ブロックチェーン内のノードによって送られる証明書申請要求を受け取るように構成された申請要求受取りモジュールであって、証明書申請要求が、第1のノードの申請情報を含み、また、第1のノードのデジタル証明書をCAセンタに申請するために使用される、モジュールと、第1のノードの申請情報を受け取りかつ、検査するように構成された受取りおよび検査モジュールと、第1のノードの申請情報が検査に合格すると、第1のノードにデジタル証明書を発行するように構成された発行および発信モジュールであって、デジタル証明書の有効性状態情報が有効である、モジュールとをさらに含む。
【００２８】
第9の態様によれば、本出願の実施態様は電子デバイスを提供する。電子デバイスはCAセンタに適用され、また、プロセッサと、コンピュータ実行可能命令を記憶するように構成されたメモリとを含み、実行可能命令はプロセッサによって実行され、ブロックチェーン内のノードのデジタル証明書および該デジタル証明書の有効性状態情報をブロックチェーンに送る動作であって、それによりブロックチェーンが、デジタル証明書の有効性状態情報に基づいて、デジタル証明書の有効性状態情報を反映するために使用される証明書有効性情報を決定し、また、ブロックチェーン内の第2のノードが第1のノードによって送られた第1の通信要求を受け取った後、第1の通信要求に含まれている第1のノードのデジタル証明書が有効であるかどうかを検証するために、デジタル証明書および証明書有効性情報を記憶する、動作を実施する。
【００２９】
好ましくは、第9の態様で提供される電子デバイスでは、実行可能命令はプロセッサによって実行され、ブロックチェーン内のノードによって送られる証明書申請要求を受け取る動作であって、証明書申請要求が、第1のノードの申請情報を含み、また、第1のノードのデジタル証明書をCAセンタに申請するために使用される、動作と、第1のノードの申請情報を受け取りかつ、検査する動作と、第1のノードの申請情報が検査に合格すると、第1のノードにデジタル証明書を発行する動作であって、デジタル証明書の有効性状態情報が有効である、動作とをさらに実施する。
【００３０】
本出願の実施態様は、上記技術的解決法のうちの少なくとも1つを使用して、以下の有利な効果を達成することができる。
【００３１】
本出願の技術的解決法を使用することにより、第1のノードが通信要求を送る際に必要なデジタル証明書がブロックチェーン内に記憶され、また、第1のノードのデジタル証明書が有効であるかどうかを第2のノードが検証する際の基本として使用される証明書有効性情報も同じくブロックチェーン内に記憶される。ブロックチェーンの分散化、開放性および透明性、ならびに耐タンパー性(Tamper-Resistance)などの利点のため、たとえCAセンタがハッキングされても、ハッカーは、ブロックチェーン内に記憶されているデジタル証明書および証明書有効性情報を改ざんすることができず、したがって無効デジタル証明書を使用してブロックチェーンに参加することはできない。証明書の有効性情報はブロックチェーン内に記憶され、また、ノード証明書の有効性状態情報を適切に反映することができる。したがって証明書の有効性情報を使用してノードの証明書が有効であるかどうかを検証することにより、無許可ノードによるブロックチェーンへの参加を防止することができ、したがってブロックチェーンノード間の通信のセキュリティが保証され、また、ブロックチェーンネットワークのセキュリティがさらに改善される。
【００３２】
ここで説明される添付の図面には、本出願についてのさらなる理解を提供することが意図されており、また、本出願の一部をなしている。本出願の例証実施態様および実施態様の説明には本出願を説明することが意図されており、本出願を制限するものではない。
【図面の簡単な説明】
【００３３】
【図１】本出願の実施態様による、ブロックチェーンノード間の通信のための方法を示す略フローチャートである。
【図２】本出願の実施態様による、ブロックチェーンノード間の通信のための方法の簡易シナリオを示す略図である。
【図３】本出願の実施態様による、ブロックチェーンに基づくデジタル証明書管理のための方法を示す略フローチャートである。
【図４】本出願の実施態様による、ブロックチェーンとCAセンタが対話してデジタル証明書を管理するシナリオを示す略図である。
【図５】本出願の実施態様による、ブロックチェーンに適用される、ブロックチェーンノード間の通信のための装置を示す概略構造図である。
【図６】本出願の実施態様による、ブロックチェーンに適用される、ブロックチェーンノード間の通信のための別の装置を示す概略構造図である。
【図７】本出願の実施態様による、ブロックチェーン内のノードに適用される電子デバイスを示す概略構造図である。
【図８】本出願の実施態様による、ブロックチェーンに適用されるデジタル証明書管理のための装置を示す概略構造図である。
【図９】本出願の実施態様による、ブロックチェーンに適用されるデジタル証明書管理のための電子デバイスを示す概略構造図である。
【図１０】本出願の実施態様による、CAセンタにおけるデジタル証明書管理のための電子デバイスを示す概略構造図である。
【図１１】本開示の実施態様による、ブロックチェーンノード間の通信のためのコンピュータ実現方法の例を示すフローチャートである。
【発明を実施するための形態】
【００３４】
本出願の目的、技術的解決法および利点を明確にするために、以下、本出願の技術的解決法について、本出願の特定の実施態様および対応する添付の図面を参照して説明する。説明されている実施態様は、本出願の実施態様のすべてではなく、単なる一部にすぎないことは明らかである。本出願の実施態様に基づいて、創造的努力なしに当業者によって得られる他の実施態様は、本出願の保護範囲内とする。
【００３５】
現在、ブロックチェーンシステムは、パブリックブロックチェーン、プライベートブロックチェーンおよびコンソーシアムブロックチェーンの主として3つのタイプに分類されている。これらの3つのタイプのブロックチェーンは、主として公開対象が異なっている。パブリックブロックチェーンは誰に対しても公開されている。誰でも読み出すことができ、また、トランザクションを送ることができ、そのトランザクションは効果的に確認することができる。誰でも合意プロセスに参加することができる。典型的なアプリケーションは、ビットコイン、Ethereum、hyperledger、等々を含む。プライベートブロックチェーンは、単一の個人、実体または団体に対して公開されている。書込み許可は、ただ1つの団体によってのみ制御される。読出し許可は外部に公開することができ、あるいは無作為に限定することができる。典型的なアプリケーションは、Linux(登録商標) Foundationのhyperledgerプロジェクト、等々、R3CEVCordaプラットフォームおよびGem Healthネットワークを含む。パブリックブロックチェーンとプライベートブロックチェーンの間でサービスするコンソーシアムブロックチェーンは、特定の個人、実体または団体に対して公開されており、他の個人、実体または団体は限定されている。
【００３６】
ブロックチェーン、とりわけ複数の特定の団体のためのコンソーシアムブロックチェーンでは、通信セキュリティを改善するために、通常、認証局センタ(CAセンタ)が設計されている。CA団体とも呼ばれるCAセンタは、電子商取引トランザクションにおける信用された第3者として働き、公開鍵方式における公開鍵の有効性検証に責任を負っている。CAセンタは、公開鍵を使用する個々のノードユーザにデジタル証明書を発行する。デジタル証明書の機能は、証明書に挙げられているユーザが証明書に挙げられている公開鍵を有効に所有していることを証明することである。アタッカーによる証明書の偽造または改造を防止するために、CAセンタは個々のデジタル証明書にデジタルサインを施している。
【００３７】
ブロックチェーンアプリケーションでは、ブロックチェーンのCAセンタは、ブロックチェーン内のノード間の相互認証を実現し、また、ブロックチェーンノード間の通信のセキュリティを改善することができる。ブロックチェーンは1つのCAセンタを維持し、また、ブロックチェーン通信に参加する個々のノードに、ノードのデジタル証明書(ノード証明書とも呼ばれる)を発行し、したがって有効証明書を保持しているノードのみが互いに通信することができる。
【００３８】
いくつかの実施態様では、発行されたノード証明書および証明書有効性(証明書に対応するノードがブロックチェーンへの参加を許可されているかどうかを反映している)に関連する情報は、いずれもCAセンタのサーバ内に記憶され、また、通信中、ブロックチェーン内のノードによって呼び出し、かつ、照会することができ、それにより通信プロセスの検証を完了することができる。ブロックチェーンノード間の安全な通信は、通信接続が確立される際のノード証明書有効性の検証に依存しているため、この方法には比較的大きいセキュリティの危険が存在している。上記実施態様解決法では、CAセンタによって発行されるノード証明書および証明書有効性に関連する情報は、いずれもCAセンタのサーバ内に記憶される。CAセンタがハッキングされると、ハッカーは、証明書有効性に関連する情報を任意に修正することができる。例えばハッカーは証明書取消しリストを変更し、取り消された証明書を正常に回復することができる。ハッカーは、これらの既に取り消されている証明書を使用して、許可されることなくブロックチェーンに参加することができ、それによってブロックチェーンのセキュリティに脅威をもたらす。
【００３９】
さらに、上記実施態様解決法では、ノード証明書有効性を検証するために、ブロックチェーンは、CAセンタ内に記憶されている、証明書有効性に関連する情報を遠隔で呼び出さなければならない。したがって応答速度が遅くなる可能性があり、伝送中に情報が傍受され、情報呼出し速度およびセキュリティに関連する危険が生じる可能性があり、したがってノード証明書有効性の検証が影響される。
【００４０】
したがって本出願の実施態様は、ブロックチェーンノード間の通信のセキュリティを改善し、また、ブロックチェーンネットワークのセキュリティをさらに改善するために、ブロックチェーンノード間の通信のための方法、装置および電子デバイス、ならびにブロックチェーンに基づくデジタル証明書管理のための方法、装置および電子デバイスを提供する。
【００４１】
本出願の実施態様で提供される技術的解決法について、以下、添付の図面を参照して詳細に説明する。
【００４２】
図1に示されているように、本出願の実施態様は、ブロックチェーンノード間の通信のための方法を提供する。方法は、とりわけ以下のステップを含むことができる。
【００４３】
S101  第2のノードが第1のノードによって送られる第1の通信要求を受け取り、第1の通信要求は第1のノードのデジタル証明書を含み、また、第1のノードのデジタル証明書は、第1のノードおよび第2のノードを含むブロックチェーン内に記憶される。
【００４４】
S103  第2のノードが、第1の通信要求および証明書有効性情報に基づいて、第1のノードのデジタル証明書が有効であるかどうかを検証し、証明書有効性情報はブロックチェーン内に記憶され、また、ノードのデジタル証明書の有効性状態情報を反映するために使用される。
【００４５】
S105  第1のノードのデジタル証明書が有効である場合、第2のノードが第1のノードへの通信接続を確立する。
【００４６】
上記実施態様における第1のノードおよび第2のノードは、ブロックチェーン内の任意の2つの異なるノードであってもよいことを理解することができる。ブロックチェーン内の第1のノード(ブロックチェーン内の任意のノードであってもよい)が第2のノード(ブロックチェーン内の第1のノード以外の任意のノードであってもよい)と通信することを期待している場合、第1のノードは、第1のノードのデジタル証明書を通信要求に追加し、その通信要求を第2のノードに送ることができ、それによりCAセンタによって認証されている第1のノードの有効同一性を第2のノードに証明することができる。この対話プロセスの適用可能シナリオは、第1のノードが第2のノードと通信することを期待し、また、通信接続を確立する前に、第2のノードが、通信を要求している第1のノードが許可されたノードであるかどうかを最初に検証し、それにより第1のノードの通信要求に同意するかどうかを決定することであり得る。このシナリオでは、第2のノードに対応する第1のノードが先行する第1の通信要求を第2のノードに送り、かつ、第1のノードのデジタル証明書を検証のために第2のノードに送り、また、第1のノードが、次に、第2のノードからの応答またはフィードバックの受取りを待機する。例えば応答またはフィードバックは、デジタル証明書検証結果、すなわち有効性または無効性であってもよく、または第1のノードのデジタル証明書が有効であることを第2のノードが検証した後における、通信接続を確立する決定を示す情報であってもよく、あるいは第1のノードによる検証のために第2のノードによって第1のノードに送られる第2のノードのデジタル証明書であってもよい。
【００４７】
ブロックチェーン内の第2のノード(ブロックチェーン内の任意のノードであってもよい)が第1のノード(ブロックチェーン内の第2のノード以外の任意のノードであってもよい)と通信することを期待している場合、ステップS101の前に、第1のノードとのセッションを確立するよう要求するために第2のノードがハンドシェーク要求を第1のノードに送り、また、第1のノードのデジタル証明書を検証のために送るように第1のノードに要求し、それに応答して次に第1のノードが先行する第1の通信要求を第2のノードに送ることができ、また、第1のノードのデジタル証明書を検証のために第2のノードに送る予備ステップを含むことができることをさらに理解することができる。この対話プロセスの適用可能シナリオは、第2のノードが第1のノードと通信することを期待し、また、通信接続を確立する際に、第2のノードが、ブロックチェーン内の第1のノードが許可されたノードであるかどうかを最初に検証することを期待し、それにより第1のノードへの通信接続を確立するかどうかを決定することであり得る。その前のシナリオと同様、第2のノードは、様々なタイプの内容を含み、また、様々な形態である情報を第1のノードにフィードバックすることができ、詳細はここでは説明されない。
【００４８】
通信セキュリティを保証するためには、通信要求を受け取る第2のノードは、第2のノードへの通信接続を確立する第1のノードが有効同一性を有しているかどうかを検証しなければならず、また、とりわけ第2のノードは、第1のノードによって送られる通信要求に含まれている第1のノードのデジタル証明書が有効デジタル証明書であるかどうかを検証することができることを理解することができる。特定の実施態様では、本出願は、ブロックチェーン内に記憶されている証明書有効性情報を使用して第1のノードのデジタル証明書を検証する。
【００４９】
本出願の実施態様では、ブロックチェーン内の個々のノードのデジタル証明書および先行する証明書有効性情報は、そのノードを含むブロックチェーン内に記憶され、また、デジタル証明書は、デジタル証明書をブロックチェーン内に書き込むことによってブロックチェーン内に記憶することができる。したがって本出願の実施態様では、分散化および耐タンパー性などのブロックチェーンの特性を使用して、ハッカーによるデジタル証明書および該デジタル証明書の有効性状態情報を反映している証明書有効性情報の改ざんを防止することができ、したがって証明書有効性検証結果が適切で、かつ、正確であることを保証することができ、また、ブロックチェーンネットワークのセキュリティおよび安定性を保証することができる。さらに、本出願のこの実施態様では、デジタル証明書の有効性を検証する際に、第2のノードは、CAセンタ内に記憶されている証明書有効性情報を遠隔的に呼び出す必要なく、ノード内に局所的に記憶されている証明書有効性情報を直接読み出すことができ、したがって有効性検証の速度およびセキュリティが改善される。さらに、証明書有効性情報などの情報を局所的に呼び出すことにより、CAセンタに対するブロックチェーンの一点依存性を除去することができ、また、ブロックチェーンネットワークの信頼性がさらに改善される。
【００５０】
本出願のこの実施態様では、デジタル証明書の有効性状態情報は2つのタイプに分類することができ、1つのタイプの有効性状態情報は証明書が有効であることを示し、もう1つのタイプの有効性状態情報は証明書が無効であることを示す。無効デジタル証明書は、通常、CAセンタによって取り消される。
【００５１】
ステップS103の実施に先立って、第1のノードおよび第2のノードを含むブロックチェーンから証明書有効性情報を呼び出すことによってデジタル証明書の有効性を検証するために、ブロックチェーンによって受け取られるデジタル証明書および該デジタル証明書の有効性状態情報の記録を予め照合して、第2のノードによる照会のための証明書有効性情報を形成することができる。より詳細には、証明書有効性情報は、有効証明書リストからアセンブルされた有効デジタル証明書を受け取るための基本として具体化することができ、また、取り消された証明書リストからアセンブルされた無効デジタル証明書の受取りの基本を同じく反映している。
【００５２】
さらに、取り消される無効デジタル証明書が先行する証明書有効性情報の中に記録される場合、例えば先行する証明書有効性情報は、受け取られる無効デジタル証明書の記録に基づいて形成される取り消された証明書リストとして具体化され、先行するステップS103で第2のノードが、第1の通信要求および証明書有効性情報に基づいて、第1のノードのデジタル証明書が有効であるかどうかを検証することは、とりわけ、第2のノードによって、第1の通信要求に基づいて第1のノードのデジタル証明書を決定するステップと、ブロックチェーン内に記憶されている証明書有効性情報に基づいて第2のノードによって、第1のノードのデジタル証明書が先行する証明書有効性情報の中に記録されているかどうかを検証するステップと、第1のノードのデジタル証明書が証明書有効性情報の中に記録されており、第1のノードのデジタル証明書が取り消されていることを示している場合、第1のノードのデジタル証明書が無効であると検証するステップとを含むことができる。
【００５３】
同様に、先行する証明書有効性情報が有効デジタル証明書を記録する場合、例えば先行する証明書有効性情報は、受け取られる有効デジタル証明書の記録に基づいて形成される有効証明書リストとして具体化され、先行するステップS103で第2のノードが、第1の通信要求および証明書有効性情報に基づいて、第1のノードのデジタル証明書が有効であるかどうかを検証することは、とりわけ、第2のノードによって、第1の通信要求に基づいて第1のノードのデジタル証明書を決定するステップと、ブロックチェーン内に記憶されている証明書有効性情報に基づいて第2のノードによって、第1のノードのデジタル証明書が証明書有効性情報の中に記録されているかどうかを検証するステップと、第1のノードのデジタル証明書が証明書有効性情報の中に記録されており、第1のノードのデジタル証明書が認証されていることを示している場合、第1のノードのデジタル証明書が有効であると検証するステップとを含むことができる。
【００５４】
特定の実施態様では、第2のノードは、第1のノードによって送られる第1の通信要求を構文解析して、第1のノードのデジタル証明書を決定することができる。
【００５５】
ノードのデジタル証明書は、CAセンタ(先行するCAセンタであってもよい)によって発行され、また、ブロックチェーン通信に参加する個々のノードの実体同一性を検証するために使用される。インターネット通信では、デジタル証明書は、通信における当事者の同一性情報を示す数の列として具体化することができ、また、証明書バージョン番号、証明書保持者情報(例えば証明書保持者情報は、証明書に対応するノードの同一性情報として具体化することができる)、CAセンタ情報、証明書有効性期間、証明書通し番号およびCAセンタシグネチャなどの内容を含むことができる。
【００５６】
上記実施態様では、第2のノードが第1のノードのデジタル証明書を検証するプロセスが説明されている。第1のノードのデジタル証明書が有効である場合、第2のノードは、第1のノードへの通信接続を確立するかどうかをさらに決定することができる。より詳細には、第1のノードへの通信接続の確立は、ブロックチェーンが設置されている第1のノードと第2のノードの間の通信プロトコルに基づいて決定することができる。以下、例を使用して詳細に説明する。
【００５７】
例えば通信のプロトコルが、ノード間通信のために一方向検証のみを実施する必要があることを規定している場合、第2のノードが、第1のノードのデジタル証明書が有効であると検証すると、第2のノードは、直ちに第1のノードへの通信接続を確立することができる。
【００５８】
例えば通信プロトコルが、ノード間通信のために二方向検証を実施する必要があることを規定している場合、本出願のこの実施態様では、第2のノードは、第1のノードの証明書有効性の検証に加えて、第2のノードのデジタル証明書を第1のノードに同じく送る必要があり、したがって第1のノードは、第2のノードのデジタル証明書の有効性を検証する。とりわけ本出願のこの実施態様における方法は、第2のノードによって第2の通信要求を第1のノードに送るステップであって、第2の通信要求が第2のノードのデジタル証明書を含む、ステップをさらに含むことができる。第2のノードは、第2のノードのデジタル証明書を第1のノードに送り、したがって第1のノードは、第2の通信要求の中のデジタル証明書、および第1のノードに局所的に記憶されている証明書有効性情報に基づいて、第2のノードのデジタル証明書が有効であるかどうかを検証する。さらに、第2のノードのデジタル証明書が有効であることを第1のノードが検証し、かつ、第1のノードのデジタル証明書が有効であることを第2のノードが検証するときに、第2のノードと第1のノードの間の通信接続が確立される。ブロックチェーンノード間の通信のこのポイントツーポイントアプリケーションシナリオの場合、二方向検証方法が好ましい。
【００５９】
特定の実施態様では、特定のノードが通信要求イニシエータとして作用し、また、別のノードが通信要求レシピエントとして作用する。両方のノードの対話シーケンスは、最終的には同位ノードのデジタル証明書を検証することができることを条件として、両方のノードの通信プロトコルによって決定することができる。本出願のこの実施態様で提供される解決法は、特定のステップおよびステップの実行順序に制限を課すことはない。
【００６０】
特定の実施態様では、好ましくは通信接続は、SSLプロトコルまたはTLSプロトコルを使用することによってブロックチェーン内のノード間で確立される。したがって第2のノードによって受け取られる第1の通信要求は、SSLプロトコルまたはTLSプロトコルに基づいて第1のノードによって送られ、したがって暗号化された通信チャネルがノード間に確立される。ネットワーク接続は、SSLプロトコルまたはTLSプロトコルを使用することによって伝送層において暗号化することができ、したがってデータ伝送セキュリティが保証される。データ暗号化技術を使用することにより、ネットワーク伝送プロセスにおいてデータが傍受されないこと、あるいは盗聴されないことをさらに保証することができる。
【００６１】
上記実施態様は、本出願におけるブロックチェーンノード間の通信のための方法の複数の態様を詳細に説明している。図2は、方法の情報交換プロセスを簡単に例証したものである。ここでは一方向認証のみが例として使用されている。
【００６２】
S01  第1のノードが通信要求を第2のノードに送る。
【００６３】
S02  第2のノードが局所的に証明書有効性情報を呼び出し、かつ、第1のノードのデジタル証明書が有効であるかどうかを検証する。
【００６４】
S03  第1のノードのデジタル証明書が有効である場合、第2のノードが第1のノードへの通信接続を確立する。
【００６５】
本出願のこの実施態様の核心着想は次の通りである。ブロックチェーンのデジタル証明書がブロックチェーン内に記憶され、ノードのデジタル証明書の有効性状態情報を反映するために使用される証明書有効性情報が同じくブロックチェーン内に記憶され、したがって耐タンパー性情報などを使用することによってデジタル証明書が検証され、それにより検証結果の適切さおよび正確さが保証され、また、ブロックチェーン内のノードの通信セキュリティが保証される。
【００６６】
以下、ブロックチェーンシステムおよびCAセンタによる、ブロックチェーンに基づくデジタル証明書管理の特定の実施態様について詳細に説明する。
【００６７】
図3に示されているように、本出願の実施態様は、ブロックチェーンに基づくデジタル証明書管理のための方法を提供する。この方法はブロックチェーンシステムに適用され、とりわけ以下のステップを含むことができる。
【００６８】
S201  CAセンタによって送られるノードのデジタル証明書および該デジタル証明書の有効性状態情報を受け取る。
【００６９】
S203  デジタル証明書の有効性状態情報に基づいて、デジタル証明書の有効性状態情報を反映するために使用される証明書有効性情報を決定する。
【００７０】
S205  デジタル証明書および証明書有効性情報をブロックチェーン内に記憶し、ブロックチェーン内の第2のノードが第1のノードによって送られた第1の通信要求を受け取った後、デジタル証明書および証明書有効性情報を使用して、第1の通信要求に含まれている第1のノードのデジタル証明書が有効であるかどうかを検証する。
【００７１】
とりわけ、デジタル証明書の有効性状態情報に基づいて、デジタル証明書の有効性状態情報を反映するために使用される証明書有効性情報を決定するステップS203が実施されると、上記実施態様で説明したように、ブロックチェーンによって受け取られるデジタル証明書および該デジタル証明書の有効性状態情報の記録を照合することができ、したがって第2のノードによって照会されることになる証明書有効性情報を決定することができる。より詳細には、証明書有効性情報は、受け取られる有効デジタル証明書の記録に基づいて形成される有効証明書リストとして具体化することができるだけでなく、受け取られる無効デジタル証明書の記録に基づいて形成される取り消された証明書リストとしても同じく具体化することができる。
【００７２】
特定の実施態様では、ブロックチェーンは、ステップS201で受け取られるノードのデジタル証明書および該デジタル証明書の有効性状態情報に基づいて、新しいデジタル証明書または該デジタル証明書の新しい有効性状態情報を記憶することができ、したがってブロックチェーン内に記憶されている証明書有効性情報をそれに応じて更新することもでき、それにより検証結果の正確さを保証することができる。
【００７３】
ブロックチェーンに基づくデジタル証明書管理のための上記方法に対応する方法では、CAセンタは、ブロックチェーン内のノードのデジタル証明書および該デジタル証明書の有効性状態情報をブロックチェーンに同じく送り、したがってブロックチェーンは、デジタル証明書の有効性状態情報に基づいて、デジタル証明書の有効性状態情報を反映するために使用される証明書有効性情報を決定し、また、そのデジタル証明書および証明書有効性情報を記憶し、それによりブロックチェーン内の第2のノードが第1のノードによって送られた第1の通信要求を受け取った後、第1の通信要求に含まれている第1のノードのデジタル証明書が有効であるかどうかを検証する。
【００７４】
ブロックチェーンの場合、CAセンタによって送られるデジタル証明書および該デジタル証明書の有効性状態情報の受取りに加えて、ブロックチェーンへの参加を要求しているノードは、証明書申請要求(Certificate Application Request)をCAセンタにさらに送ることができる。証明書申請要求は第1のノードの申請情報を含み、また、第1のノードのデジタル証明書をCAセンタに申請するために使用される。
【００７５】
したがってCAセンタは、ブロックチェーン内のノードによって送られる証明書申請要求を受け取ることができる。証明書申請要求は第1のノードの申請情報を含み、また、第1のノードのデジタル証明書をCAセンタに申請するために使用される。CAセンタは、第1のノードの申請情報をさらに受け取り、かつ、検査する。第1のノードの申請情報が検査に合格すると、CAセンタは第1のノードにデジタル証明書を発行し、また、デジタル証明書の有効性状態情報は「有効」である。
【００７６】
図4は、ブロックチェーンシステムとCAセンタの間の対話の例示的プロセスを簡単に図解したものである。ブロックチェーン内のノードがCAセンタにデジタル証明書を申請するステージは、とりわけ以下のステップを含むことができる。
【００７７】
S10  ブロックチェーンシステム(例えば第1のノード)がCAセンタ(証明書申請を受け付けるRA機関および証明書を発行するCA機関を含む)に、デジタル証明書を申請するための申請を送る。
【００７８】
S12  RA(受領機関)がその申請を受け取り、かつ、検査し、また、申請が検査に合格すると、RAはその申請を処理するためにCA機関(証明機関)に送る。
【００７９】
S14  CA機関がデジタル証明書を発行し、また、CA機関がその発行されたデジタル証明書をブロックチェーンシステムに送る。
【００８０】
S16  発行されたデジタル証明書を受け取ると、ブロックチェーンシステムは、その証明書をブロックチェーン内に書き込んでその証明書をブロックチェーンシステム内のすべてのノード(図4に示されている第1のノード、第2のノード、第3のノードおよび第4のノードなど)内に記憶する。
【００８１】
さらに、CAセンタによって発行されたデジタル証明書が取り消されると、デジタル証明書の有効性状態情報が「有効」から「無効」(または「取消し」)に変更され、また、CAセンタはステップS20を実施して、証明書の有効性状態情報を更新する命令をブロックチェーンシステムに送る。特定の実施態様では、CAセンタは、新しいデジタル証明書を発行するための同様の方法を使用することにより、デジタル証明書および該デジタル証明書の有効性状態情報の両方をブロックチェーンに送ることができる。唯一の相違は、この状況ではデジタル証明書の有効性状態情報が「無効」または「取消し」であることである。上記情報を受け取ると、ブロックチェーンはステップS22を実施して、証明書の新しい有効性状態情報に基づいて証明書有効性情報を更新し、また、その証明書有効性情報をブロックチェーン内に書き込み、それによりノードのデジタル証明書が検証される際に正確な証明書有効性情報を提供する。
【００８２】
本出願の実施態様は、さらに、ブロックチェーンノード間の通信のための装置を提供する。図5に示されているように、装置はブロックチェーン内の第2のノードに適用され、また、第1のノードによって送られる第1の通信要求を受け取るように構成された通信要求受取りモジュール101であって、第1の通信要求が第1のノードのデジタル証明書を含み、また、第1のノードのデジタル証明書が第1のノードおよび第2のノードを含むブロックチェーン内に記憶される、モジュール101と、第1の通信要求および証明書有効性情報に基づいて、第1のノードのデジタル証明書が有効であるかどうかを検証するように構成された有効性検証モジュール103であって、証明書有効性情報がブロックチェーン内に記憶され、また、ノードのデジタル証明書の有効性状態情報を反映するために使用される、モジュール103と、第1のノードのデジタル証明書が有効である場合、第1のノードへの通信接続を確立するかどうかを決定するように構成された通信接続確立モジュール105とを含む。
【００８３】
図6に示されているように、上記装置は、第2の通信要求を第1のノードに送るように構成された通信要求発信モジュール107であって、第2の通信要求が第2のノードのデジタル証明書を含むことで第1のノードが、第2の通信要求および証明書有効性情報に基づいて、第2のノードのデジタル証明書が有効であるかどうかを検証する、モジュール107をさらに含むことができ、上記通信接続確立モジュール105は、第1のノードのデジタル証明書が有効であり、かつ、第2のノードのデジタル証明書が有効であることを第1のノードが検証するときに、とりわけ第1のノードへの通信接続を確立するように構成することができる。
【００８４】
図7は、本出願の実施態様による電子デバイスの概略構造図である。図7を参照すると、ハードウェアの観点で、電子デバイスはプロセッサを含み、また、任意選択で、内部バス、ネットワークインタフェースおよび記憶装置をさらに含む。記憶装置は、メモリ、例えば高速ランダムアクセスメモリ(RAM)を含むことができ、あるいは不揮発性メモリ、例えば少なくとも1つの磁気ディスクメモリをさらに含むことができる。電子デバイスは、別のサービスによって要求されるハードウェアをさらに含むことができることは確かである。
【００８５】
プロセッサ、ネットワークインタフェースおよび記憶装置は、内部バスを使用することによって相互接続することができる。内部バスは、産業標準アーキテクチャ(ISA)バス、周辺構成要素相互接続(PCI)バス、拡張産業標準アーキテクチャ(EISA)バス、等々であってもよい。バスは、アドレスバス、データバス、制御バス、等々に分類することができる。表現を容易にするために、図7には双方向矢印のみが使用されているが、それは、1つのバスのみが存在し、あるいは1つのタイプのバスのみが存在することを示しているわけではない。
【００８６】
記憶装置はプログラムを記憶するように構成される。とりわけプログラムはプログラムコードを含むことができ、また、プログラムコードはコンピュータ動作命令を含む。記憶装置はメモリおよび不揮発性メモリを含むことができ、また、プロセッサのための命令およびデータを提供することができる。
【００８７】
プロセッサは、不揮発性メモリから対応するコンピュータプログラムをメモリ内に読み出し、次にその対応するコンピュータプログラムを走らせ、それによりブロックチェーンノード間の通信のための装置を論理の観点で形成する。プロセッサは、記憶装置に記憶されているプログラムを実行して、第1のノードによって送られる第1の通信要求を受け取る動作であって、第1の通信要求が第1のノードのデジタル証明書を含み、また、第1のノードのデジタル証明書が第1のノードおよび第2のノードを含むブロックチェーン内に記憶される、動作と、第1の通信要求および証明書有効性情報に基づいて、第1のノードのデジタル証明書が有効であるかどうかを検証する動作であって、証明書有効性情報がブロックチェーン内に記憶され、また、ノードのデジタル証明書の有効性状態情報を反映するために使用される、動作と、第1のノードのデジタル証明書が有効である場合、第1のノードへの通信接続を確立するかどうかを決定する動作とを実施する。
【００８８】
ブロックチェーンノード間の通信のための装置によって実施され、また、本出願の図1に示されている実施態様で開示されている上記方法は、プロセッサに適用することができ、あるいはプロセッサによって実現することができる。プロセッサは集積回路チップであってもよく、また、信号処理能力を有することができる。実施態様プロセスでは、上記方法のステップは、プロセッサ内のハードウェアの集積論理回路またはソフトウェアの形態の命令を使用することによって完了することができる。上記プロセッサは汎用プロセッサであってもよく、また、中央処理装置(CPU)、ネットワークプロセッサ(NP)、等々を含み、あるいはデジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、書換え可能ゲートアレイ(FPGA)または別のプログラマブル論理デバイス(PLD)、離散ゲートまたはトランジスタ論理デバイス、あるいは離散ハードウェア構成要素であってもよい。上記プロセッサは、本出願の実施態様で開示される方法、ステップおよび論理ブロック線図を実現し、あるいは実施することができる。汎用プロセッサはマイクロプロセッサであってもよく、あるいはプロセッサは任意の従来のプロセッサ、等々であってもよい。本出願の実施態様を参照して開示されている方法のステップは、ハードウェア復号プロセッサによって直接実施し、かつ、完了することができ、あるいは復号プロセッサ内のハードウェアモジュールとソフトウェアモジュールの組合せを使用することによって実施し、かつ、完了することができる。ソフトウェアモジュールは、RAM、フラッシュメモリ、リードオンリメモリ(ROM)、プログラマブルリードオンリメモリ(PROM)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)またはレジスタなどの、当分野で十分に発達した記憶媒体中に置くことができる。記憶媒体は、記憶装置内に置かれ、また、プロセッサは、プロセッサのハードウェアを使用することによって記憶装置から情報を読み出し、また、上記方法のステップを完了する。
【００８９】
電子デバイスは、さらに、ブロックチェーンノード間の通信のための装置によって実施される図1の方法を実施することができ、また、図1に示されている実施態様における、ブロックチェーンノード間の通信のための装置の機能を実現することができる。詳細は、本出願のこの実施態様では説明されない。
【００９０】
本出願の実施態様は、さらに、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は1つまたは複数のプログラムを記憶し、その1つまたは複数のプログラムは命令を含む。命令は、図1に示されている実施態様における、ブロックチェーンノード間の通信のための装置によって実施される方法を実施するための複数のアプリケーションプログラムを含む電子デバイスによって実行され、第1のノードによって送られる第1の通信要求を受け取ることであって、第1の通信要求が第1のノードのデジタル証明書を含み、また、第1のノードのデジタル証明書が第1のノードおよび第2のノードを含むブロックチェーン内に記憶される、受け取ることと、第1の通信要求および証明書有効性情報に基づいて、第1のノードのデジタル証明書が有効であるかどうかを検証することであって、証明書有効性情報がブロックチェーン内に記憶され、また、ノードのデジタル証明書の有効性状態情報を反映するために使用される、検証することと、第1のノードのデジタル証明書が有効である場合、第1のノードへの通信接続を確立するかどうかを決定することとを含む。
【００９１】
さらに、図7に示されている電子デバイスでは、実行可能命令はプロセッサによって実行され、第2の通信要求を第1のノードに送る動作であって、第2の通信要求が第2のノードのデジタル証明書を含み、それにより第1のノードが、第2の通信要求および証明書有効性情報に基づいて、第2のノードのデジタル証明書が有効であるかどうかを検証する、動作と、第1のノードのデジタル証明書が有効であり、かつ、第2のノードのデジタル証明書が有効であることを第1のノードが検証するときに、第2のノードによって、第1のノードへの通信接続を確立する動作とをさらに実施する。
【００９２】
本出願の実施態様は、さらに、ブロックチェーンに基づくデジタル証明書管理のための装置を提供する。図8に示されているように、装置はブロックチェーンに適用され、また、CAセンタによって送られるノードのデジタル証明書および該デジタル証明書の有効性状態情報を受け取るように構成された証明書情報受取りモジュール201と、デジタル証明書の有効性状態情報に基づいて、デジタル証明書の有効性状態情報を反映するために使用される証明書有効性情報を決定するように構成された証明書有効性情報決定モジュール203と、デジタル証明書および証明書有効性情報をブロックチェーン内に記憶するように構成された記憶モジュール205であって、ブロックチェーン内の第2のノードが第1のノードによって送られた第1の通信要求を受け取った後、デジタル証明書および証明書有効性情報を使用して、第1の通信要求に含まれている第1のノードのデジタル証明書が有効であるかどうかを検証する、モジュール205とを含む。
【００９３】
図9は、本出願の実施態様による電子デバイスの概略構造図である。図9を参照すると、ハードウェアの観点で、電子デバイスはプロセッサを含み、また、任意選択で、内部バス、ネットワークインタフェースおよび記憶装置をさらに含む。記憶装置は、メモリ、例えば高速RAMを含むことができ、あるいは不揮発性メモリ、例えば少なくとも1つの磁気ディスクメモリをさらに含むことができる。電子デバイスは、別のサービスによって要求されるハードウェアをさらに含むことができることは確かである。
【００９４】
プロセッサ、ネットワークインタフェースおよび記憶装置は、内部バスを使用することによって相互接続することができる。内部バスは、ISAバス、PCIバス、EISAバス、等々であってもよい。バスは、アドレスバス、データバス、制御バス、等々に分類することができる。表現を容易にするために、図9には双方向矢印のみが使用されているが、それは、1つのバスのみが存在し、あるいは1つのタイプのバスのみが存在することを示しているわけではない。
【００９５】
記憶装置はプログラムを記憶するように構成される。とりわけプログラムはプログラムコードを含むことができ、また、プログラムコードはコンピュータ動作命令を含む。記憶装置はメモリおよび不揮発性メモリを含むことができ、また、プロセッサのための命令およびデータを提供することができる。
【００９６】
プロセッサは、不揮発性メモリから対応するコンピュータプログラムをメモリ内に読み出し、次にその対応するコンピュータプログラムを走らせ、それによりブロックチェーンに基づくデジタル証明書管理のための装置を論理の観点で形成する。プロセッサは、記憶装置に記憶されているプログラムを実行して、CAセンタによって送られるノードのデジタル証明書および該デジタル証明書の有効性状態情報を受け取る動作と、デジタル証明書の有効性状態情報に基づいて、デジタル証明書の有効性状態情報を反映するために使用される証明書有効性情報を決定する動作と、デジタル証明書および証明書有効性情報をブロックチェーン内に記憶する動作であって、ブロックチェーン内の第2のノードが第1のノードによって送られた第1の通信要求を受け取った後、デジタル証明書および証明書有効性情報を使用して、第1の通信要求に含まれている第1のノードのデジタル証明書が有効であるかどうかを検証する、動作とを実施する。
【００９７】
ブロックチェーンに基づくデジタル証明書管理のための装置によって実施され、また、本出願の上記実施態様で開示されている上記方法は、プロセッサに適用することができ、あるいはプロセッサによって実現することができる。プロセッサは集積回路チップであってもよく、また、信号処理能力を有することができる。実施態様プロセスでは、上記方法のステップは、プロセッサ内のハードウェアの集積論理回路またはソフトウェアの形態の命令を使用することによって完了することができる。上記プロセッサは汎用プロセッサであってもよく、また、CPU、NP、等々を含み、あるいはDSP、ASIC、FPGAまたは別のPLD、離散ゲートまたはトランジスタ論理デバイス、あるいは離散ハードウェア構成要素であってもよい。上記プロセッサは、本出願の実施態様で開示される方法、ステップおよび論理ブロック線図を実現し、あるいは実施することができる。汎用プロセッサはマイクロプロセッサであってもよく、あるいはプロセッサは任意の従来のプロセッサ、等々であってもよい。本出願の実施態様を参照して開示されている方法のステップは、ハードウェア復号プロセッサによって直接実施し、かつ、完了することができ、あるいは復号プロセッサ内のハードウェアモジュールとソフトウェアモジュールの組合せを使用することによって実施し、かつ、完了することができる。ソフトウェアモジュールは、RAM、フラッシュメモリ、ROM、PROM、EEPROMまたはレジスタなどの、当分野で十分に発達した記憶媒体中に置くことができる。記憶媒体は、記憶装置内に置かれ、また、プロセッサは、プロセッサのハードウェアを使用することによって記憶装置から情報を読み出し、また、上記方法のステップを完了する。
【００９８】
電子デバイスは、さらに、ブロックチェーンに基づくデジタル証明書管理のための装置によって実施される方法を実施することができ、また、上記実施態様における、ブロックチェーンに基づくデジタル証明書管理のための装置の機能を実現することができる。詳細は、本出願のこの実施態様では説明されない。
【００９９】
本出願の実施態様は、さらに、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は1つまたは複数のプログラムを記憶し、その1つまたは複数のプログラムは命令を含む。命令は、上記実施態様における、ブロックチェーンに基づくデジタル証明書管理のための装置によって実施される方法を実施するための複数のアプリケーションプログラムを含む電子デバイスによって実行され、CAセンタによって送られるノードのデジタル証明書および該デジタル証明書の有効性状態情報を受け取ることと、デジタル証明書の有効性状態情報に基づいて、デジタル証明書の有効性状態情報を反映するために使用される証明書有効性情報を決定することと、デジタル証明書および証明書有効性情報をブロックチェーン内に記憶することであって、ブロックチェーン内の第2のノードが第1のノードによって送られた第1の通信要求を受け取った後、デジタル証明書および証明書有効性情報を使用して、第1の通信要求に含まれている第1のノードのデジタル証明書が有効であるかどうかを検証する、記憶することとを含む。
【０１００】
本出願の実施態様は、さらに、ブロックチェーンに基づくデジタル証明書管理のための装置を提供する。装置はCAセンタに適用され、また、ブロックチェーン内のノードのデジタル証明書および該デジタル証明書の有効性状態情報をブロックチェーンに送るように構成された発信モジュールであって、それによりブロックチェーンが、デジタル証明書の有効性状態情報に基づいて、デジタル証明書の有効性状態情報を反映するために使用される証明書有効性情報を決定し、また、ブロックチェーン内の第2のノードが第1のノードによって送られた第1の通信要求を受け取った後、第1の通信要求に含まれている第1のノードのデジタル証明書が有効であるかどうかを検証するために、デジタル証明書および証明書有効性情報を記憶する、モジュールを含む。
【０１０１】
さらに、上記装置は、ブロックチェーン内のノードによって送られる証明書申請要求を受け取るように構成された申請要求受取りモジュールであって、証明書申請要求が、第1のノードの申請情報を含み、また、第1のノードのデジタル証明書をCAセンタに申請するために使用される、モジュールと、第1のノードの申請情報を受け取りかつ、検査するように構成された受取りおよび検査モジュールと、第1のノードの申請情報が検査に合格すると、第1のノードにデジタル証明書を発行するように構成された発行および発信モジュールであって、デジタル証明書の有効性状態情報が有効である、モジュールとをさらに含む。
【０１０２】
図10は、本出願の実施態様による電子デバイスの概略構造図である。図10を参照すると、ハードウェアの観点で、電子デバイスはプロセッサを含み、また、任意選択で、内部バス、ネットワークインタフェースおよび記憶装置をさらに含む。記憶装置は、メモリ、例えば高速RAMを含むことができ、あるいは不揮発性メモリ、例えば少なくとも1つの磁気ディスクメモリをさらに含むことができる。電子デバイスは、別のサービスによって要求されるハードウェアをさらに含むことができることは確かである。
【０１０３】
プロセッサ、ネットワークインタフェースおよび記憶装置は、内部バスを使用することによって相互接続することができる。内部バスは、ISAバス、PCIバス、EISAバス、等々であってもよい。バスは、アドレスバス、データバス、制御バス、等々に分類することができる。表現を容易にするために、図10には双方向矢印のみが使用されているが、それは、1つのバスのみが存在し、あるいは1つのタイプのバスのみが存在することを示しているわけではない。
【０１０４】
記憶装置はプログラムを記憶するように構成される。とりわけプログラムはプログラムコードを含むことができ、また、プログラムコードはコンピュータ動作命令を含む。記憶装置はメモリおよび不揮発性メモリを含むことができ、また、プロセッサのための命令およびデータを提供することができる。
【０１０５】
プロセッサは、不揮発性メモリから対応するコンピュータプログラムをメモリ内に読み出し、次にその対応するコンピュータプログラムを走らせ、それによりブロックチェーンに基づくデジタル証明書管理のための装置を論理の観点で形成する。プロセッサは、記憶装置に記憶されているプログラムを実行して、ブロックチェーン内のノードのデジタル証明書および該デジタル証明書の有効性状態情報をブロックチェーンに送る動作であって、それによりブロックチェーンが、デジタル証明書の有効性状態情報に基づいて、デジタル証明書の有効性状態情報を反映するために使用される証明書有効性情報を決定し、また、ブロックチェーン内の第2のノードが第1のノードによって送られた第1の通信要求を受け取った後、第1の通信要求に含まれている第1のノードのデジタル証明書が有効であるかどうかを検証するために、デジタル証明書および証明書有効性情報を記憶する、動作を実施する。
【０１０６】
ブロックチェーンに基づくデジタル証明書管理のための装置によって実施され、また、本出願の上記実施態様で開示されている上記方法は、プロセッサに適用することができ、あるいはプロセッサによって実現することができる。プロセッサは集積回路チップであってもよく、また、信号処理能力を有することができる。実施態様プロセスでは、上記方法のステップは、プロセッサ内のハードウェアの集積論理回路またはソフトウェアの形態の命令を使用することによって完了することができる。上記プロセッサは汎用プロセッサであってもよく、また、CPU、NP、等々を含み、あるいはDSP、ASIC、FPGAまたは別のPLD、離散ゲートまたはトランジスタ論理デバイス、あるいは離散ハードウェア構成要素であってもよい。上記プロセッサは、本出願の実施態様で開示される方法、ステップおよび論理ブロック線図を実現し、あるいは実施することができる。汎用プロセッサはマイクロプロセッサであってもよく、あるいはプロセッサは任意の従来のプロセッサ、等々であってもよい。本出願の実施態様を参照して開示されている方法のステップは、ハードウェア復号プロセッサによって直接実施し、かつ、完了することができ、あるいは復号プロセッサ内のハードウェアモジュールとソフトウェアモジュールの組合せを使用することによって実施し、かつ、完了することができる。ソフトウェアモジュールは、RAM、フラッシュメモリ、ROM、PROM、EEPROMおよびレジスタなどの、当分野で十分に発達した記憶媒体中に置くことができる。記憶媒体は、記憶装置内に置かれ、また、プロセッサは、プロセッサのハードウェアを使用することによって記憶装置から情報を読み出し、また、上記方法のステップを完了する。
【０１０７】
電子デバイスは、さらに、ブロックチェーンに基づくデジタル証明書管理のための装置によって実施される方法を実施することができ、また、上記実施態様における、ブロックチェーンに基づくデジタル証明書管理のための装置の機能を実現することができる。詳細は、本出願のこの実施態様では説明されない。
【０１０８】
本出願の実施態様は、さらに、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は1つまたは複数のプログラムを記憶し、その1つまたは複数のプログラムは命令を含む。命令は、上記実施態様における、ブロックチェーンに基づくデジタル証明書管理のための装置によって実施される方法を実施するための複数のアプリケーションプログラムを含む電子デバイスによって実行され、ブロックチェーン内のノードのデジタル証明書および該デジタル証明書の有効性状態情報をブロックチェーンに送ることを含み、それによりブロックチェーンが、デジタル証明書の有効性状態情報に基づいて、デジタル証明書の有効性状態情報を反映するために使用される証明書有効性情報を決定し、また、ブロックチェーン内の第2のノードが第1のノードによって送られた第1の通信要求を受け取った後、第1の通信要求に含まれている第1のノードのデジタル証明書が有効であるかどうかを検証するために、デジタル証明書および証明書有効性情報を記憶する。
【０１０９】
さらに、図10に示されている電子デバイスでは、実行可能命令はプロセッサによって実行され、ブロックチェーン内のノードによって送られる証明書申請要求を受け取る動作であって、証明書申請要求が、第1のノードの申請情報を含み、また、第1のノードのデジタル証明書をCAセンタに申請するために使用される、動作と、第1のノードの申請情報を受け取りかつ、検査する動作と、第1のノードの申請情報が検査に合格すると、第1のノードにデジタル証明書を発行する動作であって、デジタル証明書の有効性状態情報が有効である、動作とをさらに実施する。
【０１１０】
本出願における実施態様は漸進方法で説明される。実施態様における同じまたは同様の部分に対してはその実施態様を参照する。個々の実施態様は、他の実施態様との相違に的を絞っている。詳細には、システム実施態様は方法実施態様に類似しており、したがって簡単に説明されている。関連する部分に対しては、方法実施態様における関連する説明を参照する。
【０１１１】
上では、本出願の特定の実施態様が説明されている。他の実施態様は、添付の特許請求の範囲の範疇である。いくつかの状況では、特許請求の範囲で説明されているアクションまたはステップは、実施態様における順序とは異なる順序で実施することができ、依然として所望の結果を達成することができる。さらに、添付の図面に描写されているプロセスは、所望の結果を得るために特定の実行順序を必ずしも必要としない。いくつかの実施態様では、多重タスキングおよび並列処理が有利であり得る。
【０１１２】
当業者には、本開示の実施態様は、方法、システムまたはコンピュータプログラム製品として提供することができることを理解されたい。したがって本開示は、ある形態のハードウェアのみの実施態様、ソフトウェアのみの実施態様、またはソフトウェアとハードウェアの組合せを有する実施態様を使用することができる。さらに、本開示は、コンピュータ使用可能プログラムコードを含んだ1つまたは複数のコンピュータ使用可能記憶媒体(それらに限定されないが、磁気ディスクメモリ、コンパクトディスクリードオンリメモリ(CD-ROM)および光メモリを含む)上に実現された、ある形態のコンピュータプログラム製品を使用することも可能である。
【０１１３】
本開示は、本開示の実施態様に基づく方法、デバイス(システム)およびコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照して説明される。コンピュータプログラム命令を使用して、フローチャートおよび/またはブロック図における個々の手順および/または個々のブロック、およびフローチャートおよび/またはブロック図における手順および/またはブロックの組合せを実現することができることを理解されたい。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、埋込みプロセッサ、または別のプログラマブルデータ処理デバイスのプロセッサに対して提供して機械を生成することができ、したがって命令は、コンピュータまたは別のプログラマブルデータ処理デバイスのプロセッサによって実行され、フローチャートにおける1つまたは複数の手順の中で、および/またはブロック図における1つまたは複数のブロックの中で規定された機能を実現するための装置を生成する。
【０１１４】
特定の方法で動作するようにコンピュータまたは別のプログラマブルデータ処理デバイスに命令することができるこれらのコンピュータプログラム命令は、コンピュータ可読メモリに記憶することができ、したがってコンピュータ可読メモリに記憶されている命令は、命令装置を含むアーチファクトを生成する。命令装置は、フローチャートにおける1つまたは複数の手順および/またはブロック図における1つまたは複数のブロックにおける特定の機能を実現する。
【０１１５】
これらのコンピュータプログラム命令は、コンピュータまたは別のプログラマブルデータ処理デバイスにロードすることができ、したがって一連の動作すなわちステップがコンピュータまたは別のプログラマブルデバイス上で実施され、コンピュータ実現処理を生成する。したがってコンピュータまたは別のプログラマブルデバイス上で実行される命令は、フローチャートにおける1つまたは複数の手順の中、および/またはブロック図における1つまたは複数のブロックの中で規定された機能を実現するためのステップを提供する。
【０１１６】
典型的な構成では、計算デバイスは、1つまたは複数のCPU、入力/出力インタフェース、ネットワークインタフェースおよびメモリを含む。
【０１１７】
メモリは、コンピュータ可読媒体、例えばROMまたはフラッシュメモリ内に揮発性メモリ、RAMおよび/または不揮発性メモリ、等々を含むことができる。メモリはコンピュータ可読媒体の例である。
【０１１８】
コンピュータ可読媒体は、任意の方法または技術を使用することによって情報を記憶することができる、持続、非持続、可動および非可動媒体を含む。情報は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータであってもよい。コンピュータ記憶媒体は、それらに限定されないが、位相変化RAM(PRAM)、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、他のタイプのRAM、ROM、EEPROM、フラッシュメモリまたは別のメモリ記憶デバイス、CD-ROM、デジタル汎用ディスク(DVD)または別の光メモリ、カセット、磁気ディスクまたは別の磁気記憶デバイスあるいは任意の他の非伝送媒体を含む。コンピュータ記憶媒体は、計算デバイスによってアクセスすることができる情報を記憶するように構成することができる。本明細書における定義に基づいて、コンピュータ可読媒体は、変調データ信号および搬送波などのコンピュータ可読一時的媒体は含まない。
【０１１９】
「含む」、「備える」という用語、または任意の他の変形には、非排他的包含をカバーすることが意図されており、したがって一連の要素を含むプロセス、方法、商品(commodity)またはデバイスは、これらの要素を含んでいるだけでなく、明確に列挙されていない他の要素を同じく含み、あるいはこのようなプロセス、方法、商品またはデバイスに固有の要素をさらに含むことにさらに留意されたい。「...を含む」が前に付く要素は、他に制約がなければ、その要素を含むプロセス、方法、商品またはデバイスにおける全く同じ追加要素の存在を排除しない。
【０１２０】
当業者には、本出願の実施態様は、方法、システムまたはコンピュータプログラム製品として提供することができることを理解されたい。したがって本出願は、ある形態のハードウェアのみの実施態様、ソフトウェアのみの実施態様、またはソフトウェアとハードウェアの組合せを有する実施態様を使用することができる。さらに、本出願は、コンピュータ使用可能プログラムコードを含んだ1つまたは複数のコンピュータ使用可能記憶媒体(それらに限定されないが、磁気ディスクメモリ、CD-ROMおよび光メモリを含む)上に実現された、ある形態のコンピュータプログラム製品を使用することも可能である。
【０１２１】
上記説明は本出願の単なる実施態様にすぎず、また、本出願を制限することは意図されていない。当業者は、本出願に様々な修正および変更を加えることができる。本出願の精神および原理の範囲内でなされるすべての修正、等価物、置換、改善、等々は、本出願の特許請求の保護範囲内とする。
【０１２２】
図11は、本開示の実施態様による、ブロックチェーンノード間の通信のためのコンピュータ実現方法1100の例を示すフローチャートである。提示を明確にするために、以下の説明は、概ね、本説明における他の図の文脈で方法1100を説明している。しかしながら方法1100は、適切である場合、例えば任意のシステム、環境、ソフトウェアおよびハードウェア、またはシステム、環境、ソフトウェアおよびハードウェアの組合せによって実施することができることは理解されよう。いくつかの実施態様では、方法1100の様々なステップは、並列に、組み合わせて、ループで、あるいは任意の順序で実行することができる。
【０１２３】
1102で、第1の通信要求がブロックチェーン内の第2のノードにおいて受け取られ、第1の通信要求は、同じブロックチェーン内の第1のノードから受け取られる。本明細書において説明されている第1のノードおよび第2のノードは、ブロックチェーン内の任意の2つの異なるノードであってもよい。第1のノードが第2のノードと通信することを期待している場合、第1のノードは、説明されているプロセスを開始することができる。ここでは第1の通信要求は、第1のノードの同一性を検証するために第2のノードによって使用される第1のノードのデジタル証明書を含むことができる。さらに、第1のノードのデジタル証明書はブロックチェーン内に記憶される。方法1100は1102から1104へ進行する。
【０１２４】
1104で、第2のノードは、第1の通信要求に基づいて、ブロックチェーン内のノードと結合した一組の証明書有効性情報にアクセスすることができる。証明書有効性情報は、ブロックチェーン内に記憶されている特定のデジタル証明書を識別する情報を有効または無効(例えば取り消されたデジタル証明書)として記憶するか、あるいは書き込むことができる。いくつかの実例では、証明書有効性情報は、時が経つにつれて、新しい有効性情報が認証局などから受け取られると、更新することができる。いくつかの実例では、1102の動作に先立ってノードのデジタル証明書が受け取られると、ノードのデジタル証明書がブロックチェーン内に記憶される。さらに、デジタル証明書に基づく、また、受け取られるデジタル証明書および関連するノードの有効性状態情報を反映するために使用される一組の証明書有効性情報が同じくブロックチェーン内に記憶される。そうすることにより、耐タンパー情報を使用してデジタル証明書を検証することができ、それによりブロックチェーン外の他の照会を必要とすることなく、検証結果の適切さおよび正確さを保証することができ、延いてはブロックチェーン内におけるノードの通信セキュリティを保証することができる。いくつかの実例では、証明書有効性情報は、有効証明書リストおよび取消し証明書リストを含むことができ、これらのリストを使用して特定のノードの有効性状態およびデジタル証明書を決定することができる。方法1100は1104から1106へ進行する。
【０１２５】
1106で、第1の通信要求およびアクセスした証明書有効性情報に基づいて、第2のノードが、第1のノードのデジタル証明書が有効であるかどうかを検証する。第1のノードのデジタル証明書が有効であるかどうかを検証するために、第2のノードは、認証局(CA)センタ内に記憶されている証明書有効性情報を遠隔的に呼び出す必要なく、ノード内に記憶されている証明書有効性情報を局所的に直接読み出すことができる。検証は、第1のノードおよびそのデジタル証明書が局所証明書有効性情報に記憶されている有効証明書リストに含まれているか、あるいは無効証明書リストに含まれているかどうかの決定を含むことができる。第1のノードのデジタル証明書が有効であると決定されると、方法1100は1108を継続することができる。第1のノードのデジタル証明書が無効であると決定されると、第1のノードのデジタル証明書を有効として検証することができないため、方法1100は終了する。
【０１２６】
1108で、ノード間通信(例えば第1のノードと第2のノードの間)のための通信プロトコルが一方向であるかまたは二方向であるかどうかの決定がなされる。通信プロトコルが一方向検証を必要とする場合、方法1100は1110を継続する。通信プロトコルが二方向検証を必要とする場合、方法1100は1112へ進行する。一方向検証では、第2のノードと第1のノードの間の通信接続を確立するためには第1のノードのデジタル証明書の有効性の検証で十分である。二方向検証では、第1のノードは、通信接続を確立することができる前に、第2のノードを同じく検証しなければならない。
【０１２７】
1112で、二方向検証実施態様では、第2の通信要求が第2のノードから第1のノードへ送られ、第2の通信要求は第2のノードのデジタル証明書を含み、第2のノードのデジタル証明書は、2つのノードと同じブロックチェーン内に記憶される。第1のノードの有効性が首尾よく検証されると、それに応答して第2の通信要求を送ることができ、あるいは第1の通信要求を受け取ると、それに応答して第2の通信要求を送ることができる。いくつかの実例では、第1のノードが有効であると決定されるか、あるいは無効であると決定されるかどうかには無関係に第2の通信要求を送ることができる。方法1100は1112から1114へ進行する。
【０１２８】
1114で、第1のノードは、第2の通信要求に基づいて、1104で第2のノードによって実施される動作と同様、証明書有効性情報にアクセスすることができる。1116で、第1のノードは、第2の通信要求およびアクセスした証明書有効性情報に基づいて、1106で第1のノードによって実施される動作と同様、第2のノードのデジタル証明書が有効であるかどうかを検証することができる。第2のノードのデジタル証明書が無効である場合、通信接続を確立することはできない。しかしながら第2のノードのデジタル証明書が有効として検証されると、方法1100は1110へ進行することができる。
【０１２９】
1110で、検証に基づいて第2のノードと第1のノードの間の通信接続を確立することができる。
【０１３０】
いくつかの実例では、特定のノードと結合した1つまたは複数のデジタル証明書をそのデジタル証明書を既に発行したCAによって取り消すことができる。これらの実例では、デジタル証明書の有効性状態情報が「有効」から「無効」(または「取消し」)に変更される。次にCAは、特定のノードに対するデジタル証明書の有効性状態情報を更新する命令をブロックチェーンに送ることができる。その命令を受け取ると、記憶されているデジタル証明書を更新することができ、また、認証情報を更新して、ノードのデジタル証明書の現在の状態を反映することができる。このような情報はブロックチェーン内に記憶することができ、また、将来の対話のために使用することができる。
【０１３１】
いくつかの実例では、通信接続は、SSLプロトコルまたはTLSプロトコルを使用することによってブロックチェーン内のノード間で確立される。したがって第2のノードによって受け取られる第1の通信要求は、SSLプロトコルまたはTLSプロトコルに基づいて第1のノードによって送られ、また、暗号化された通信チャネルがノード間に確立される。ネットワーク接続は、SSLプロトコルまたはTLSプロトコルを使用することによって伝送層において暗号化することができ、それによりデータ伝送セキュリティが保証される。データ暗号化技術を使用することにより、ネットワーク伝送プロセスにおいてデータが傍受されないこと、あるいは盗聴されないことをさらに保証することができる。1110の後、方法1100は停止する。
【０１３２】
本明細書において説明されている主題の実施態様は、特定の利点または技術的効果を現実化するべく実現することができる。例えば説明されている主題の実施態様は、分散化、開放性および透明性ならびに耐タンパー性などのブロックチェーンの利点を使用して、セキュリティが維持されることを保証している。たとえCAセンタがハッキングされても、ハッカーは、ブロックチェーン内に記憶されているデジタル証明書および証明書有効性情報を改ざんすることができず、したがって無効デジタル証明書を使用してブロックチェーンに参加することはできない。証明書の有効性情報はブロックチェーン内に記憶され、また、ノード証明書の有効性状態情報を適切に反映することができる。したがって証明書の有効性情報を使用してノードの証明書が有効であるかどうかを検証することにより、無許可ノードによるブロックチェーンへの参加を防止することができ、それによりブロックチェーンノード間の通信のセキュリティが保証され、また、ブロックチェーンネットワークのセキュリティがさらに改善される。
【０１３３】
本出願の実施態様では、ブロックチェーン内の個々のノードのデジタル証明書および先行する証明書有効性情報は、そのノードを含むブロックチェーン内に記憶され、また、デジタル証明書は、デジタル証明書をブロックチェーン内に書き込むことによってブロックチェーン内に記憶することができる。したがって本出願の実施態様では、分散化および耐タンパー性などのブロックチェーンの特性を使用して、ハッカーによるデジタル証明書および該デジタル証明書の有効性状態情報を反映している証明書有効性情報の改ざんを防止することができ、それにより証明書有効性検証結果が適切で、かつ、正確であることを保証することができ、延いてはブロックチェーンネットワークのセキュリティおよび安定性を保証することができる。さらに、本出願のこの実施態様では、デジタル証明書の有効性を検証する際に、第2のノードは、CAセンタ内に記憶されている証明書有効性情報を遠隔的に呼び出す必要なく、ノード内に局所的に記憶されている証明書有効性情報を直接読み出すことができる。これに基づいて、有効性検証の速度およびセキュリティが改善される。さらに、証明書有効性情報などの情報を局所的に呼び出すことにより、CAセンタに対するブロックチェーンの一点依存性を除去することができ、また、ブロックチェーンネットワークの信頼性がさらに改善される。
【０１３４】
本明細書において説明されている実施形態および動作は、デジタル電子回路の中、または本明細書において開示されている構造を含むコンピュータソフトウェア、ファームウェアまたはハードウェアの中、あるいはそれらのうちの1つまたは複数の組合せの中で実現することができる。動作は、1つまたは複数のコンピュータ可読記憶デバイス上に記憶されているデータ上、または他のソースから受け取られるデータ上でデータ処理装置によって実施される動作として実現することができる。データ処理装置、コンピュータまたは計算デバイスは、一例としてプログラマブルプロセッサ、コンピュータ、システムオンチップ、またはそれらのうちの複数あるいは組合せを含む、データを処理するための装置、デバイスおよび機械を包含することができる。装置は、専用論理回路、例えば中央処理装置(CPU)、書換え可能ゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)を含むことができる。また、装置は、当該コンピュータプログラムのための実行環境を生成するコード、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム(例えば1つのオペレーティングシステムまたはオペレーティングシステムの組合せ)、クロスプラットフォームランタイム環境、仮想計算機、またはそれらのうちの1つまたは複数の組合せを構成するコードを含むことも可能である。装置および実行環境は、ウェブサービス、分散型計算およびグリッドコンピューティングインフラストラクチャなどの様々な異なる計算モデルインフラストラクチャを実現することができる。
【０１３５】
コンピュータプログラム(例えばプログラム、ソフトウェア、ソフトウェアアプリケーション、ソフトウェアモジュール、ソフトウェアユニット、スクリプトまたはコードとしても知られている)は、コンパイル済みまたは翻訳済み言語、宣言または手続き型言語を含む任意の形態のプログラミング言語で作成することができ、また、独立型プログラムとして、またはモジュールとして、コンポーネント、サブルーチン、オブジェクト、または計算環境における使用に適した他のユニットを含む任意の形態で展開することができる。プログラムは、他のプログラムまたはデータ(例えばマーク付け言語文書の中に記憶された1つまたは複数のスクリプト)を保持しているファイルの一部の中、当該プログラム専用の単一のファイルの中、または複数の調整済みファイル(Coordinated File)(例えば1つまたは複数のモジュール、サブプログラムまたはコードの部分を記憶するファイル)の中に記憶することができる。コンピュータプログラムは、1つのコンピュータ上で実行することができ、または1つのサイトに配置される、あるいは複数のサイトにわたって分散され、通信ネットワークによって相互接続される複数のコンピュータ上で実行することができる。
【０１３６】
コンピュータプログラムを実行するためのプロセッサは、一例として、汎用マイクロプロセッサおよび専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。通常、プロセッサは、リードオンリメモリまたはランダムアクセスメモリあるいは両方から命令およびデータを受け取ることができる。コンピュータの本質的な要素は、命令に従ってアクションを実施するためのプロセッサ、および命令およびデータを記憶するための1つまたは複数のメモリデバイスである。通常、コンピュータは、データを受け取り、またはデータを転送し、あるいは両方のために、データを記憶するための1つまたは複数の大容量記憶デバイスを同じく含むか、あるいはそれらに動作結合する。コンピュータは、別のデバイス、例えば移動デバイス、パーソナルデジタルアシスタント(PDA)、ゲームコンソール、全地球測位システム(GPS)レシーバまたは携帯型記憶デバイスの中に埋め込むことができる。コンピュータプログラム命令およびデータを記憶するのに適したデバイスは、不揮発性メモリ、一例として半導体メモリデバイスを含む媒体およびメモリデバイス、磁気ディスクおよび光磁気ディスクを含む。プロセッサおよびメモリは、専用論理回路によって補足することができ、あるいは専用論理回路の中に組み込むことができる。
【０１３７】
移動デバイスは、ハンドセット、ユーザ機器(UE)、移動電話(例えばスマートフォン)、タブレット、着用可能デバイス(例えばスマートウォッチおよびスマート眼鏡)、人体内に移植されたデバイス(例えばバイオセンサ、人工内耳)または他のタイプの移動デバイスを含むことができる。移動デバイスは、様々な通信ネットワーク(以下で説明される)に無線で(例えば無線周波数(RF)信号を使用して)通信することができる。移動デバイスは、移動デバイスの現在の環境の特性を決定するためのセンサを含むことができる。センサは、カメラ、マイクロフォン、近接センサ、GPSセンサ、運動センサ、加速度計、周辺光センサ、湿気センサ、ジャイロスコープ、コンパス、気圧計、指紋センサ、顔認識システム、RFセンサ(例えばWi-Fiおよびセルラー無線)、熱センサまたは他のタイプのセンサを含むことができる。例えばカメラは、可動レンズまたは固定レンズを備えた前向きまたは後ろ向きカメラ、フラッシュ、イメージセンサおよびイメージプロセッサを含むことができる。カメラは、顔および/または虹彩認識のための詳細を捕獲することができるメガピクセルカメラであってもよい。カメラは、データプロセッサ、およびメモリに記憶されている、あるいは遠隔的にアクセスされる認証情報と共に、顔認識システムを形成することができる。顔認識システムまたは1つまたは複数のセンサ、例えばマイクロフォン、運動センサ、加速度計、GPSセンサまたはRFセンサは、ユーザ認証のために使用することができる。
【０１３８】
ユーザとの対話を提供するために、実施形態は、表示デバイスおよび入力デバイス、例えば情報をユーザに表示するための液晶ディスプレイ(LCD)または有機発光ダイオード(OLED)/仮想現実感(VR)/拡張現実感(AR)ディスプレイ、およびユーザがコンピュータに入力を提供することができるタッチスクリーン、キーボードおよび位置決めデバイスを有するコンピュータ上で実現することができる。他の種類のデバイスを使用してユーザとの対話を提供することも同じく可能であり、例えばユーザに提供されるフィードバックは、任意の形態の知覚フィードバック、例えば視覚フィードバック、聴覚フィードバックまたは触覚フィードバックであってもよく、また、ユーザからの入力は、音響、会話または触覚入力を含む任意の形態で受け取ることができる。さらに、コンピュータは、ユーザによって使用されるデバイスに文書を送り、また、このようなデバイスから文書を受け取ることによってユーザと対話することも可能であり、例えばウェブブラウザから受け取った要求に応答して、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送ることによってユーザと対話することができる。
【０１３９】
実施形態は、任意の形態の、または任意の媒体の有線デジタルデータ通信または無線デジタルデータ通信(あるいはそれらの組合せ)、例えば通信ネットワークによって相互接続される計算デバイスを使用して実現することができる。相互接続されるデバイスの例は、一般的には互いに遠隔であり、典型的には通信ネットワークを介して対話するクライアントおよびサーバである。クライアント、例えば移動デバイスは、サーバと、あるいはサーバを介してトランザクション自体を実施することができ、例えば購入トランザクション、販売トランザクション、支払いトランザクション、給付(give)トランザクション、送金(send)トランザクションまたはローントランザクションあるいはその許可を実施することができる。このようなトランザクションは、アクションおよび応答が一時的に近接するよう、実時間におけるトランザクションであってもよく、例えば個人は、実質的に同時に生じるアクションおよび応答を知覚し、個人のアクションに引き続く応答に対する時間差は、1ミリ秒(ms)未満または1秒(s)未満であり、あるいは応答には、システムの処理限界を考慮した故意の遅延はない。
【０１４０】
通信ネットワークの例は、ローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)および広域ネットワーク(WAN)を含む。通信ネットワークは、インターネット、別の通信ネットワークまたは通信ネットワークの組合せのうちのすべてまたは一部を含むことができる。情報は、Long Term Evolution(LTE)、5G、IEEE 802、Internet Protocol(IP)または他のプロトコル、あるいはプロトコルの組合せを含む様々なプロトコルおよび規格に従って通信ネットワーク上で伝送することができる。通信ネットワークは、音声データ、ビデオデータ、生物測定データまたは認証データ、あるいは他の情報を、接続されている計算デバイス間で伝送することができる。
【０１４１】
個別の実施態様として説明されている特徴は、単一の実施態様の中で組み合わせて実現することができ、一方、単一の実施態様として説明されている特徴は、複数の実施態様の中で、個別に、あるいは任意の適切な副組合せで実現することができる。特定の順序で説明され、また、特許請求されている動作は、その特定の順序を必要とするものとして理解してはならず、また、例証されているすべての動作を実施しなければならないものとして理解してはならない(いくつかの動作は任意選択であってもよい)。適切である場合、多重タスキングまたは並列処理(または多重タスキングと並列処理の組合せ)を実施することができる。
【符号の説明】
【０１４２】
101  通信要求受取りモジュール
103  有効性検証モジュール
105  通信接続確立モジュール
107  通信要求発信モジュール
201  証明書情報受取りモジュール
203  証明書有効性情報決定モジュール
205  記憶モジュール
1100  ブロックチェーンノード間の通信のためのコンピュータ実現方法
【図１】
0006934058.tif 000002
【図２】
0006934058.tif 000003
【図３】
0006934058.tif 000004
【図４】
0006934058.tif 000005
【図５】
0006934058.tif 000006
【図６】
0006934058.tif 000007
【図７】
0006934058.tif 000008
【図８】
0006934058.tif 000009
【図９】
0006934058.tif 000010
【図１０】
0006934058.tif 000011
【図１１】
0006934058.tif 000012