(57)【特許請求の範囲】
【請求項１】
ブロックチェーンに適用されるデジタル証明書管理装置によるデジタル証明書管理のための方法であって、前記方法は、
有効なデジタル証明書をノードに割り当てるための要求を受信するステップであって、前記要求は、前記ブロックチェーン内の前記ノードによって送信され、前記要求は、前記ノードのための前記有効なデジタル証明書についての申請であり、前記有効なデジタル証明書は、前記ノードが前記ブロックチェーン内で通信することを認可し、前記要求は、前記ノードの固有秘密鍵を使用して前記ノードによって署名された検証用デジタル証明書を含み、前記要求は、前記ブロックチェーン内の前記ノードのための前記有効なデジタル証明書を記憶するためのものである、ステップ(S101)と、
前記ブロックチェーン内のコンセンサス検証に関与している複数のノードの各ノードによって前記検証用デジタル証明書についての複数のコンセンサス検証を行うことによって、前記ノードの前記検証用デジタル証明書のコンセンサス検証結果を決定するステップ(S103)と、
前記コンセンサス検証結果に基づいて、前記検証用デジタル証明書を前記ブロックチェーンに記憶するかどうかを決定するステップ(S105)と、
前記コンセンサス検証結果が前記ブロックチェーンにおいて前記検証用デジタル証明書を認可するための承認を含む場合には、ブロックチェーン通信のために前記ノードを認可するために前記有効なデジタル証明書を記憶するステップであって、前記有効なデジタル証明書は、前記ブロックチェーンの複数のノードに記憶され、前記有効なデジタル証明書を前記ノードに割り当てる、ステップとを含む、方法。
【請求項２】
前記ノードの前記検証用デジタル証明書の前記コンセンサス検証結果を決定するステップは、
前記ブロックチェーン内の前記コンセンサス検証に関与している前記複数のノードの各ノードの検証結果を決定するステップ(S301)と、
前記ブロックチェーン内の前記コンセンサス検証に関与している前記複数のノードに由来する第1のノードの数および第2のノードの数を決定するステップであって、前記第1のノードの数に由来する第1のノードの各々の検証結果は、前記コンセンサス検証についての承認を含み、前記第2のノードの数に由来する第2のノードの各々の検証結果は、前記コンセンサス検証についての拒否を含む、ステップ(S303)と、
前記第1のノードの数および前記第2のノードの数に基づいて前記コンセンサス検証結果を決定するステップ(S305)とを含む、請求項1に記載の方法。
【請求項３】
前記ノードの前記検証用デジタル証明書の前記コンセンサス検証結果を決定するステップは、
前記ブロックチェーン内の前記コンセンサス検証に関与している前記複数のノードの各ノードの検証結果を決定するステップ(S301)と、
前記ブロックチェーン内の前記コンセンサス検証に関与している前記複数のノードに由来する第1のノードの数を決定するステップであって、前記第1のノードの数に由来する第1のノードの各々の検証結果は、前記コンセンサス検証の承認を含む、ステップ(S303)と、
前記第1のノードの数に基づいて前記コンセンサス検証結果を決定するステップ(S305)とを含む、請求項1に記載の方法。
【請求項４】
前記ノードの前記検証用デジタル証明書の前記コンセンサス検証結果を決定するステップは、
前記ブロックチェーン内の前記コンセンサス検証に関与している前記複数のノードの各ノードの検証結果を決定するステップ(S301)と、
前記ブロックチェーン内の前記コンセンサス検証に関与している前記複数のノードに由来する第2のノードの数を決定するステップであって、前記第2のノードの数に由来する第2のノードの各々の検証結果は、前記コンセンサス検証の拒否を含む、ステップ(S303)と、
前記第2のノードの数に基づいて前記コンセンサス検証結果を決定するステップ(S305)とを含む、請求項1に記載の方法。
【請求項５】
前記第1のノードの数に基づいて前記コンセンサス検証結果を決定するステップは、
前記第1のノードの数が第1の所定の条件を満足する場合には、前記コンセンサス検証結果が前記コンセンサス検証をパスしていると決定するステップを含み、
前記第1の所定の条件は、
前記第1のノードの数が第1の所定の閾値に達することと、
前記ブロックチェーン内の前記コンセンサス検証に関与している前記複数のノードの総数に対する前記第1のノードの数の比が第2の所定の閾値に達することと、
前記ブロックチェーン内の前記コンセンサス検証に関与している前記複数のノードの前記総数に対する前記第1のノードの数の比が第3の所定の閾値に達することとのうちの1つまたは複数を含む、請求項2に記載の方法。
【請求項６】
ターゲットノードのデジタル証明書の取り消しのための要求を受信するステップであって、前記取り消しのための要求は、前記ブロックチェーン内の前記ノードによって送信されるとともに、取り消すように要求されている前記ターゲットノードの前記デジタル証明書を含む、ステップ(S201)と、
前記ターゲットノードの前記デジタル証明書のコンセンサス検証結果を決定するステップ(S203)と、
前記ターゲットノードの前記デジタル証明書の前記コンセンサス検証結果に基づいて、前記ターゲットノードの前記デジタル証明書を取り消すかどうかを決定するステップ(S205)とをさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項７】
前記コンセンサス検証結果に基づいて、前記ブロックチェーン内の前記ターゲットノードの前記デジタル証明書を取り消すかどうかを決定するステップは、
前記コンセンサス検証結果が前記コンセンサス検証をパスしている場合には、前記ブロックチェーン内の前記ターゲットノードの前記デジタル証明書を取り消すステップを含む、請求項6に記載の方法。
【請求項８】
前記ブロックチェーン内の前記ノードによって、前記ブロックチェーンが、前記ノードの前記検証用デジタル証明書の前記コンセンサス検証結果を決定するように、前記要求を前記ブロックチェーンに送信するステップをさらに含む、請求項1から5のいずれか一項に記載の方法。
【請求項９】
前記ブロックチェーン内の取り消し要求ノードによって、前記ブロックチェーンが、ターゲットノードのデジタル証明書のコンセンサス検証結果を決定し、前記ターゲットノードの前記デジタル証明書の前記コンセンサス検証結果に基づいて、前記ブロックチェーン内の前記ターゲットノードの前記デジタル証明書を取り消すかどうかを決定するように、前記ターゲットノードの前記デジタル証明書の取り消しのための要求を前記ブロックチェーンに送信するステップであって、前記取り消しのための要求は、前記取り消すように要求されているターゲットノードの前記デジタル証明書を含む、ステップをさらに含む、請求項1から5のいずれか一項に記載の方法。
【請求項１０】
前記デジタル証明書は、バージョン、シリアルナンバー、発行者情報、有効期間、および発行者のシグニチャのうちの少なくとも1つを含む、請求項1から7のいずれか一項に記載の方法。
【請求項１１】
前記ブロックチェーンにおいて前記ノードに割り当てられる前は、前記デジタル証明書は無認可である、請求項1から8のいずれか一項に記載の方法。
【請求項１２】
電子デバイスであって、前記電子デバイスは、ブロックチェーンに適用され、
プロセッサと、
コンピュータ実行可能命令を記憶するように構成される、ストレージであって、前記コンピュータ実行可能命令が実行されると、前記プロセッサは、請求項1から11のいずれか一項に記載の方法を行う、ストレージとを含む、電子デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、その全体が参照により組み込まれている、2017年7月26日に出願した中国特許出願第201710617611.4号に対する優先権を主張する。
【０００２】
本出願は、コンピュータ技術の分野に関し、詳細には、デジタル証明書管理方法および装置ならびに電子デバイスに関する。
【背景技術】
【０００３】
コンピュータ技術の進歩に伴い、ブロックチェーン技術(分散型台帳技術とも称する)は、その分散化、開放性および透明性、非改竄性、ならびに信頼性に関して支持されており、インテリジェントコントラクト、セキュリティトランザクション、Eコマース、モノのインターネット、ソーシャル通信、ファイルストレージ、存在証明、本人確認、およびエクイティクラウドソーシングなどの多くの分野に広く適用されている。
【０００４】
現時点、ブロックチェーンシステムは、パブリックブロックチェーン(Public Blockchain)、プライベートブロックチェーン(Private Blockchain)、およびコンソーシアムブロックチェーン(Consortium Blockchain)の3つのタイプに主に分割され得る。3つのタイプのブロックチェーンは開放性の客体が主に異なる。パブリックブロックチェーンは、すべての個人に対してオープンであり得るし、プライベートブロックチェーンは、ある個人またはある事業団体のみに対してオープンであり、コンソーシアムブロックチェーンは、特定の個人または事業団体に対してオープンであるが他の個人または事業団体に対してはオープンではない、パブリックブロックチェーンとプライベートブロックチェーンとの間の存在である。
【０００５】
ブロックチェーンでは、特に、特定の組織のためのコンソーシアムブロックチェーンでは、認可済みの証明書を有するノードのみが互いに通信することができるように、通信セキュリティを改善するべく、認証局(CA)センタは、ノード証明書をブロックチェーン通信に関与している各ノードに発行するように通常は設計されている。既存の技術においては、発行されたノード証明書と証明書取り消しリストなどの証明書の有効性に関する情報との両方が、CAセンタのサーバに記憶されている。ブロックチェーン内のノードが互いに通信する必要がある場合には、証明書の有効性を確認して通信プロセス検証を完遂するために、CAセンタに記憶されている証明書の有効性に関する情報が呼び出されクエリが発行される。このアプローチの主な欠点は以下の通りである。
【０００６】
ノードデジタル証明書と証明書の有効性に関する情報との両方がCAセンタに記憶されている。CAセンタがハッキングされると、ハッカーは、証明書の有効性に関する情報を勝手に変更し得る。例えば、ハッカーは、証明書取り消しリストを改竄して、取り消された証明書を正常状態に復元し得る。ハッカーはさらに、以前取り消された問題のある証明書を使用してブロックチェーンに不正に参加し得るし、ブロックチェーン内のノードは、改竄された情報に基づいて証明書の有効性を確認し得るため、それによって、ブロックチェーンのセキュリティが脅かされている。さらに、CAセンタの秘密鍵もハッカーによってハッキングされ得るし、ハッカーはデジタル証明書を勝手に発行し得るため、ブロックチェーンネットワークのセキュリティが脅かされている。
【発明の概要】
【課題を解決するための手段】
【０００７】
本出願の実施形態は、ブロックチェーンネットワークのセキュリティを改善する、デジタル証明書管理方法、装置、および対応する電子デバイスを提供している。
【０００８】
以下の技術的ソリューションが本出願の実施形態において使用される。
【０００９】
第1の態様に従って、本出願の実施形態は、デジタル証明書管理方法を提供しており、ブロックチェーン内のノードによって送信されたデジタル証明書連結リクエストを受信するステップであって、デジタル証明書連結リクエストは、秘密鍵を使用して署名することでノードによって生成される検証用デジタル証明書を含むとともに、検証用デジタル証明書をブロックチェーンに書き込むように要求するために使用される、ステップと、ノードの検証用デジタル証明書のコンセンサス検証結果を決定するステップと、コンセンサス検証結果に基づいて、検証用デジタル証明書をブロックチェーンに書き込むかどうかを決定するステップとを含む。
【００１０】
好ましくは、第1の態様において提供したデジタル証明書管理方法においては、ノードの検証用デジタル証明書のコンセンサス検証結果を決定するステップは、ブロックチェーン内のコンセンサス検証に関与しているノードの検証結果を決定するステップと、コンセンサス検証に関与しているノードのうちの第1のノードの数および/または第2のノードの数を決定するステップであって、第1のノードの検証結果は、コンセンサス検証をパスしているであり、第2のノードの検証結果は、コンセンサス検証をパスしていないである、ステップと、第1のノードの数および/または第2のノードの数に基づいてコンセンサス検証結果を決定するステップとを含む。
【００１１】
好ましくは、第1の態様において提供したデジタル証明書管理方法においては、第1のノードの数に基づいてコンセンサス検証結果を決定するステップは、第1のノードの数が第1の所定の条件を満足する場合には、コンセンサス検証結果がコンセンサス検証をパスしているであると決定するステップを含み、第1の所定の条件は、第1のノードの数が第1の所定の閾値に達することと、コンセンサス検証に関与しているノードの数に対する第1のノードの数の比が第2の所定の閾値に達することと、ブロックチェーン内のノードの数に対する第1のノードの数の比が第3の所定の閾値に達することとのうちの1つまたは複数を含む。
【００１２】
好ましくは、第1の態様において提供したデジタル証明書管理方法においては、コンセンサス検証結果に基づいて、検証用デジタル証明書をブロックチェーンに書き込むかどうかを決定するステップは、コンセンサス検証結果がコンセンサス検証をパスしているである場合には、検証用デジタル証明書をブロックチェーンに書き込むステップを含む。
【００１３】
好ましくは、第1の態様において提供したデジタル証明書管理方法においては、方法は、ブロックチェーン内のノードによって送信されたデジタル証明書取消リクエストを受信するステップであって、デジタル証明書取消リクエストは、取り消すように要求されているターゲットノードのデジタル証明書を含む、ステップと、ターゲットノードのデジタル証明書のコンセンサス検証結果を決定するステップと、コンセンサス検証結果に基づいて、ターゲットノードのデジタル証明書を取り消すかどうかを決定するステップとをさらに含む。
【００１４】
第2の態様に従って、本出願の実施形態は、デジタル証明書管理方法を提供しており、ブロックチェーン内のノードによって送信されたデジタル証明書取消リクエストを受信するステップであって、デジタル証明書取消リクエストは、取り消すように要求されているターゲットノードのデジタル証明書を含む、ステップと、ターゲットノードのデジタル証明書のコンセンサス検証結果を決定するステップと、コンセンサス検証結果に基づいて、ブロックチェーン内のターゲットノードのデジタル証明書を取り消すかどうかを決定するステップとを含む。
【００１５】
好ましくは、第2の態様において提供したデジタル証明書管理方法においては、ターゲットノードのデジタル証明書のコンセンサス検証結果を決定するステップは、ブロックチェーン内のコンセンサス検証に関与しているノードの検証結果を決定するステップと、コンセンサス検証に関与しているノードのうちの第1のノードの数および/または第2のノードの数を決定するステップであって、第1のノードの検証結果は、コンセンサス検証をパスしているであり、第2のノードの検証結果は、コンセンサス検証をパスしていないである、ステップと、第1のノードの数および/または第2のノードの数に基づいてコンセンサス検証結果を決定するステップとを含む。
【００１６】
好ましくは、第2の態様において提供したデジタル証明書管理方法においては、第1のノードの数に基づいてコンセンサス検証結果を決定するステップは、第1のノードの数が第1の所定の条件を満足する場合には、コンセンサス検証結果がコンセンサス検証をパスしているであると決定するステップを含み、第1の所定の条件は、第1のノードの数が第1の所定の閾値に達することと、コンセンサス検証に関与しているノードの数に対する第1のノードの数の比が第2の所定の閾値に達することと、ブロックチェーン内のノードの数に対する第1のノードの数の比が第3の所定の閾値に達することとのうちの1つまたは複数を含む。
【００１７】
好ましくは、第2の態様において提供したデジタル証明書管理方法においては、コンセンサス検証結果に基づいて、ブロックチェーン内のターゲットノードのデジタル証明書を取り消すかどうかを決定するステップは、コンセンサス検証結果がコンセンサス検証をパスしているである場合には、ブロックチェーン内のターゲットノードのデジタル証明書を取り消すステップを含む。
【００１８】
第3の態様に従って、本出願の実施形態は、デジタル証明書管理方法を提供しており、ブロックチェーン内のノードによって、ブロックチェーンが、ノードの検証用デジタル証明書のコンセンサス検証結果を決定し、コンセンサス検証結果に基づいて、検証用デジタル証明書をブロックチェーンに書き込むかどうかを決定するように、デジタル証明書連結リクエストをブロックチェーンに送信するステップであって、デジタル証明書連結リクエストは、秘密鍵を使用して署名することでノードによって生成される検証用デジタル証明書を含むとともに、検証用デジタル証明書をブロックチェーンに書き込むように要求するために使用される、ステップを含む。
【００１９】
第4の態様に従って、本出願の実施形態は、デジタル証明書管理方法を提供しており、ブロックチェーン内のノードによって、ブロックチェーンが、ターゲットノードのデジタル証明書のコンセンサス検証結果を決定し、コンセンサス検証結果に基づいて、ブロックチェーン内のターゲットノードのデジタル証明書を取り消すかどうかを決定するように、デジタル証明書取消リクエストをブロックチェーンに送信するステップであって、デジタル証明書取消リクエストは、取り消すように要求されているターゲットノードのデジタル証明書を含む、ステップを含む。
【００２０】
第5の態様に従って、本出願の実施形態は、デジタル証明書管理装置を提供しており、装置は、ブロックチェーンに適用され、ブロックチェーン内のノードによって送信されたデジタル証明書連結リクエストを受信するように構成される、リクエスト受信モジュールであって、デジタル証明書連結リクエストは、秘密鍵を使用して署名することでノードによって生成される検証用デジタル証明書を含むとともに、検証用デジタル証明書をブロックチェーンに書き込むように要求するために使用される、リクエスト受信モジュールと、ノードの検証用デジタル証明書のコンセンサス検証結果を決定するように構成される、コンセンサス検証結果決定モジュールと、コンセンサス検証結果に基づいて、検証用デジタル証明書をブロックチェーンに書き込むかどうかを決定するように構成される、証明書管理モジュールとを含む。
【００２１】
第6の態様に従って、本出願の実施形態は、電子デバイスを提供しており、電子デバイスは、ブロックチェーンに適用され、プロセッサと、コンピュータ実行可能命令を記憶するように構成される、ストレージとを含み、実行可能命令が実行されると、プロセッサは、ブロックチェーン内のノードによって送信されたデジタル証明書連結リクエストを受信するステップであって、デジタル証明書連結リクエストは、秘密鍵を使用して署名することでノードによって生成される検証用デジタル証明書を含むとともに、検証用デジタル証明書をブロックチェーンに書き込むように要求するために使用される、ステップと、ノードの検証用デジタル証明書のコンセンサス検証結果を決定するステップと、コンセンサス検証結果に基づいて、検証用デジタル証明書をブロックチェーンに書き込むかどうかを決定するステップという動作を行う。
【００２２】
第7の態様に従って、本出願の実施形態は、デジタル証明書管理装置を提供しており、装置は、ブロックチェーンに適用され、ブロックチェーン内のノードによって送信されたデジタル証明書取消リクエストを受信するように構成される、リクエスト受信モジュールであって、デジタル証明書取消リクエストは、取り消すように要求されているターゲットノードのデジタル証明書を含む、リクエスト受信モジュールと、ターゲットノードのデジタル証明書のコンセンサス検証結果を決定するように構成される、コンセンサス検証結果決定モジュールと、コンセンサス検証結果に基づいて、ブロックチェーン内のターゲットノードのデジタル証明書を取り消すかどうかを決定するように構成される、証明書管理モジュールとを含む。
【００２３】
第8の態様に従って、本出願の実施形態は、電子デバイスを提供しており、電子デバイスは、ブロックチェーンに適用され、プロセッサと、コンピュータ実行可能命令を記憶するように構成される、ストレージとを含み、実行可能命令が実行されると、プロセッサは、ブロックチェーン内のノードによって送信されたデジタル証明書取消リクエストを受信するステップであって、デジタル証明書取消リクエストは、取り消すように要求されているターゲットノードのデジタル証明書を含む、ステップと、ターゲットノードのデジタル証明書のコンセンサス検証結果を決定するステップと、コンセンサス検証結果に基づいて、ブロックチェーン内のターゲットノードのデジタル証明書を取り消すかどうかを決定するステップという動作を行う。
【００２４】
第9の態様に従って、本出願の実施形態は、デジタル証明書管理装置を提供しており、装置は、ブロックチェーン内のノードに適用され、ブロックチェーンが、ノードの検証用デジタル証明書のコンセンサス検証結果を決定し、コンセンサス検証結果に基づいて、検証用デジタル証明書をブロックチェーンに書き込むかどうかを決定するように、デジタル証明書連結リクエストをブロックチェーンに送信するように構成される、リクエスト開始モジュールであって、デジタル証明書連結リクエストは、秘密鍵を使用して署名することでノードによって生成される検証用デジタル証明書を含むとともに、検証用デジタル証明書をブロックチェーンに書き込むように要求するために使用される、リクエスト開始モジュールを含む。
【００２５】
第10の態様に従って、本出願の実施形態は、電子デバイスを提供しており、電子デバイスは、ブロックチェーン内のノードに適用され、プロセッサと、コンピュータ実行可能命令を記憶するように構成される、ストレージとを含み、実行可能命令が実行されると、プロセッサは、ブロックチェーンが、ノードの検証用デジタル証明書のコンセンサス検証結果を決定し、コンセンサス検証結果に基づいて、検証用デジタル証明書をブロックチェーンに書き込むかどうかを決定するように、デジタル証明書連結リクエストをブロックチェーンに送信するステップであって、デジタル証明書連結リクエストは、秘密鍵を使用して署名することでノードによって生成される検証用デジタル証明書を含むとともに、検証用デジタル証明書をブロックチェーンに書き込むように要求するために使用される、ステップという動作を行う。
【００２６】
第11の態様に従って、本出願の実施形態は、デジタル証明書管理装置を提供しており、装置は、ブロックチェーン内のノードに適用され、ブロックチェーンが、ターゲットノードのデジタル証明書のコンセンサス検証結果を決定し、コンセンサス検証結果に基づいて、ブロックチェーン内のターゲットノードのデジタル証明書を取り消すかどうかを決定するように、デジタル証明書取消リクエストをブロックチェーンに送信するように構成される、リクエスト開始モジュールであって、デジタル証明書取消リクエストは、取り消すように要求されているターゲットノードのデジタル証明書を含む、リクエスト開始モジュールを含む。
【００２７】
第12の態様に従って、本出願の実施形態は、電子デバイスを提供しており、電子デバイスは、ブロックチェーン内のノードに適用され、プロセッサと、コンピュータ実行可能命令を記憶するように構成される、ストレージとを含み、実行可能命令が実行されると、プロセッサは、ブロックチェーンが、ターゲットノードのデジタル証明書のコンセンサス検証結果を決定し、コンセンサス検証結果に基づいて、ブロックチェーン内のターゲットノードのデジタル証明書を取り消すかどうかを決定するように、デジタル証明書取消リクエストをブロックチェーンに送信するステップであって、デジタル証明書取消リクエストは、取り消すように要求されているターゲットノードのデジタル証明書を含む、ステップという動作を行う。
【００２８】
本出願の実施形態において使用される少なくとも1つの技術的ソリューションは、以下の有益な効果を達成し得る。
【００２９】
本出願の実施形態のソリューションにおいては、従来のCAセンタの機能がブロックチェーンによって実施される。ブロックチェーン内のノードがデジタル証明書を申請する必要がある場合には、ノードは、ブロックチェーン固有秘密鍵を使用して、それ自身によって、署名して検証用デジタル証明書を生成し得る。デジタル証明書は、ブロックチェーンネットワーク内でコンセンサス検証をパスした後にデジタル証明書が連結された後のみ、認可済み且つ有効なデジタル証明書となり得る。デジタル証明書の発行、検証、および記憶のプロセスが、ブロックチェーン内で行われる。
【００３０】
本出願の実施形態においては、コンセンサス検証をパスしたデジタル証明書が連結され、連結済みのデジタル証明書のみが認可済みのデジタル証明書である。したがって、ノードがハッカーによって攻撃された場合でさえも、または、たとえハッカーがCA秘密鍵を取得してデジタル証明書をランダムに発行できる場合でさえも、ハッカーは、ブロックチェーン内の認可済みのデジタル証明書を取得することはできず、したがって、ブロックチェーンネットワークに参加して無認可の通信を行うことはできない。したがって、分散化、開放性および透明性、ならびに非改竄性などの利点に基づいて、デジタル証明書が分散機構を使用して管理されており、ブロックチェーンネットワークのセキュリティを改善している。
【００３１】
本明細書で記載した添付の図面は、本出願の更なる理解を提供することを意図しており、本出願の一部分を構成する。本出願の事例示的な実施形態およびその説明は、本出願を説明することを意図しており、本出願に対する不適切な限定を構成するものではない。添付の図面は以下の通りである。
【図面の簡単な説明】
【００３２】
【図１】本出願の実施形態による、デジタル証明書管理方法を図示している概略フローチャートである。
【図２】本出願の実施形態による、第2のデジタル証明書管理方法を図示している概略フローチャートである。
【図３】本出願の実施形態による、第3のデジタル証明書管理方法を図示している概略フローチャートである。
【図４】本出願の実施形態による、実施形態シナリオを図示している概略図である。
【図５】本出願の実施形態による、デジタル証明書管理装置を図示している概略構造図である。
【図６】本出願の実施形態による、電子デバイスを図示している概略構造図である。
【図７】本出願の実施形態による、第2のデジタル証明書管理装置を図示している概略構造図である。
【図８】本出願の実施形態による、第2の電子デバイスを図示している概略構造図である。
【図９】本出願の実施形態による、第3のデジタル証明書管理装置を図示している概略構造図である。
【図１０】本出願の実施形態による、第3の電子デバイスを図示している概略構造図である。
【図１１】本出願の実施形態による、第4のデジタル証明書管理装置を図示している概略構造図である。
【図１２】本出願の実施形態による、第4の電子デバイスを図示している概略構造図である。
【図１３】本開示の実施形態による、ノードのデジタル証明書の認証するためのコンピュータ実施方法の例を図示しているフローチャートである。
【発明を実施するための形態】
【００３３】
本出願の目的、技術的ソリューション、および利点をより明確にするために、本出願の特定の実施形態および対応する添付の図面を参照して、本出願の技術的ソリューションを明確且つ包括的に以下に説明している。説明した実施形態が本出願の実施形態のすべてではなく一部であることは明らかであろう。創造的努力無しで本出願の実施形態に基づいて当業者によって得られる他の実施形態は本出願の保護範囲に含まれるものとする。
【００３４】
本出願の実施形態によって提供した技術的ソリューションを添付の図面を参照して以下に詳細に説明している。
【００３５】
図1を参照すれば、本出願の実施形態は、デジタル証明書管理方法を提供しており、以下のステップを含む。
【００３６】
S101: ブロックチェーン内のノードによって送信されたデジタル証明書連結リクエストを受信する、ここで、デジタル証明書連結リクエストは、秘密鍵を使用して署名することでノードによって生成される検証用デジタル証明書を含むとともに、検証用デジタル証明書をブロックチェーンに書き込むように要求するために使用される。
【００３７】
S103: ノードの検証用デジタル証明書のコンセンサス検証結果を決定する。
【００３８】
S105: コンセンサス検証結果に基づいて、検証用デジタル証明書をブロックチェーンに書き込むかどうかを決定する。
【００３９】
ブロックチェーン内のデジタル証明書連結リクエストを送信するノードがブロックチェーン内のデジタル証明書を申請することを望む任意のノードであり得ることは理解できよう。本出願の実施形態においては、ノードは、ブロックチェーンにおいて開示した秘密鍵を使用して、それ自身によって、署名して検証用デジタル証明書を生成し得るし、ブロックチェーンが検証用デジタル証明書をブロックチェーンに書き込むように要求され得るように、検証用デジタル証明書を含むデジタル証明書連結リクエストをさらに送信し得る。特定の実施形態においては、ノードは、ネットワーク規模のブロードキャスト方法でデジタル証明書連結リクエストを送信し得る。
【００４０】
ノードによって独立して発行される検証用デジタル証明書は、デジタル証明書が連結される前に認証されることはないが、内容および形式が認可済み且つ有効なデジタル証明書と異なることはない。本出願の実施形態においては、検証用デジタル証明書は、対応するノードの識別情報を示す一連の数字によって表され得るし、証明書のバージョン番号、証明書所有者に関する情報(例えば、証明書に対応するノードの識別情報によって表され得る)、証明書発行者に関する情報(ここでは、証明書所有者に関する情報と同一であり得る、または、秘密鍵のソースを反映し得る)、証明書の有効期間、証明書のシリアルナンバー、証明書発行者のシグニチャなどを含む内容を含み得る。
【００４１】
ノードによって独立して発行される検証用デジタル証明書は認証されているわけではない。ブロックチェーンに書き込まれたデジタル証明書のみが、認可済みのデジタル証明書であり、認可済みのデジタル証明書に対応するノードのみが、ブロックチェーンの通信に正常に関与することができる。したがって、本出願の実施形態においては、証明書を発行するために必要とされる秘密鍵が開示されてしまった場合でさえも、デジタル証明書管理の管理において障害を引き起こすことはないであろうし、ブロックチェーンネットワークのセキュリティに影響を与えることはないであろう。それどころか、認可済みのデジタル証明書は、ステップS103を行ってネットワーク全体でコンセンサス検証を行うブロックチェーンに基づいて生成されており、その結果、ブロックチェーンネットワークのセキュリティを改善している。
【００４２】
デジタル証明書連結リクエストを受信した後に、ブロックチェーンは、リクエストを解析してリクエストに含まれる検証用デジタル証明書を取得し得る。その後、コンセンサス検証をノードの検証用デジタル証明書に対して行う。コンセンサス検証はブロックチェーン内の各ノードが検証用デジタル証明書の検証に関与し得ることを意味し、コンセンサス検証結果はブロックチェーンのコンセンサス機構に基づいて決定されることは理解できよう。
【００４３】
ブロックチェーン内の各ノードは、事前に合意された検証基準に基づいて特定の検証を行い得る。検証のための内容は、検証用デジタル証明書内の情報、例えば、有効期間が満了しているかどうか、シリアルナンバーが要件を満足しているかどうか、アプリケーションノードの識別情報が要件を満足しているかどうかなどに関連し得る。
【００４４】
ネットワーク遅延がポイント・ツー・ポイントネットワークには存在し得るため、ブロックチェーン内のノードは、異なる時間でデジタル証明書連結リクエストを受信し得し、異なる速度でリクエストに応答し得る。したがって、ブロックチェーン内の高い受信速度と高い応答速度を有するノードは、検証用デジタル証明書に対するコンセンサス検証に関与するより多くの機会を有する。
【００４５】
検証用デジタル証明書に対する検証を完遂した後に、ブロックチェーン内のコンセンサス検証に関与しているノードは、ネットワーク規模のブロードキャスト方法で検証結果をブロックチェーン(すなわち、ブロックチェーンのノード)に送信し得る。それに対応するように、図2を参照すれば、ブロックチェーンがステップS103を行ってノードの検証用デジタル証明書のコンセンサス検証結果を決定することは、以下のステップを含み得る。
【００４６】
S301: ブロックチェーン内のコンセンサス検証に関与しているノードの検証結果を決定する。
【００４７】
検証結果が「コンセンサス検証をパスしている」または「コンセンサス検証をパスしていない」であり得ることは理解できよう。加えて、提示ステップが、検証用デジタル証明書をブロードキャストした時間から所定の時間の後に行われ得る、または、コンセンサス検証の開始の後にリアルタイムに行われ得る、または、周期的に決定され得る、または、コンセンサス検証に関与しているノードの数が所定の値に達した場合に行われ得る。本出願の実施形態においては、ブロックチェーンのコンセンサス機構を満足しているコンセンサス検証結果を得るために、ステップS301〜S305の各々または組合せが繰り返し行われ得るが、本出願の実施形態に限定されない。
【００４８】
S303: コンセンサス検証に関与しているノードのうちの第1のノードの数および/または第2のノードの数を決定する、ここで、第1のノードの検証結果は、コンセンサス検証をパスしているであり、第2のノードの検証結果は、コンセンサス検証をパスしていないである。
【００４９】
特に、コンセンサス検証に関与しているノードがそれぞれの検証結果をブロードキャストした後に、ノードは、検証結果に基づいて、その検証結果が「コンセンサス検証をパスしている」である第1のノード、およびその検証結果が「コンセンサス検証をパスしていない」である第2のノードに分類され得る。さらに、コンセンサス検証結果を決定するべくコンセンサス機構によって合意されている条件を満足しているかどうかを決定するために、2つのタイプのノードの一方がカウントされ得る、または、2つのタイプのノードの両方の数が一緒にカウントされ得る。ノードの数を決定する場合には、ノードの絶対数がカウントされ得る。例えば、コンセンサス検証に関与している10個のノードが存在し、4個の第1のノードおよび6個の第2のノードが存在することが考えられる。あるいは、ノードの重み付きの数がコンセンサス検証中のノードの重みに基づいてカウントされ得る(特定の重みがブロックチェーンのコンセンサス機構に基づいて決定され得る)。例えば、コンセンサス検証に関与している合計で4個のノードが存在し、第1のノードおよび第2のノードの絶対数が両方とも2であり、2つの第1のノードの重みはそれぞれ0.5および1.2であり、2つの第2のノードの重みはそれぞれ2および4であると仮定する。第1のノードの数の計算式は1×0.5+1×1.2=1.7となり、第2のノードの数の計算式は1×2+1×4=6となる。
【００５０】
S305: 第1のノードの数および/または第2のノードの数に基づいてコンセンサス検証結果を決定する。
【００５１】
ブロックチェーンの異なるコンセンサス機構に応じて、コンセンサス検証結果が、その検証結果が「コンセンサス検証をパスしている」である第1のノードの数に基づいて決定され得る、または、その検証結果が「コンセンサス検証をパスしていない」である第2のノードの数に基づいて決定され得る、または、2つのタイプのノードの両方の数に基づいて決定され得ることは理解できよう。それは本出願の実施形態に限定されない。
【００５２】
コンセンサス検証結果を第1のノードの数に基づいて決定する場合には、第1のノードの数が第1の所定の閾値に達することと、コンセンサス検証に関与しているノードの数に対する第1のノードの数の比が第2の所定の閾値に達することと、ブロックチェーン内のノードの数に対する第1のノードの数の比が第3の所定の閾値に達することといった条件のうちの1つまたは複数を第1のノードの数が満足しているかどうかがチェックされ得る。
【００５３】
ブロックチェーンの異なるコンセンサス機構に応じて異なる条件が事前に決定されてコンセンサス検証結果を決定し得ることは理解できよう。あるレベルに達した第1のノードの数が、ブロックチェーン内の十分な数(具体的な基準は異なるコンセンサス機構に応じて異なり得る)のノードによって取得された検証用デジタル証明書の検証結果が「コンセンサス検証をパスしている」であることを示していることを、上記の3つの例示的な態様のすべてが反映し得る。したがって、上記の条件を満足しているならば、コンセンサス検証の結果は「コンセンサス検証をパスしている」とみなされ得る。本結果は、連結されるように要求している検証用デジタル証明書が認可済みであるとみなす十分な数のノードがブロックチェーンに存在していると理解され得る。したがって、認可済みのデジタル証明書がブロックチェーンに記憶されるように、検証用デジタル証明書はブロックチェーンにさらに書き込まれ得るし、デジタル証明書に対応するノードはブロックチェーン内で正常な通信を行い得る。
【００５４】
コンセンサス検証結果を第2のノードの数に基づいて決定する場合には、十分な数(同様に、具体的な基準は異なるコンセンサス機構に応じて異なり得る)のノードによって取得された検証用デジタル証明書の検証結果が「コンセンサス検証をパスしていない」であるならば、ブロックチェーン内の十分な数のノードが連結されるように要求している検証用デジタル証明書は無認可であるとみなしていることを示している。したがって、検証用デジタル証明書を、ブロックチェーンに書き込んで、認可済みのデジタル証明書となるようにし得ない。それに対応するように、その検証用デジタル証明書に対応するノードは、ブロックチェーンネットワークの通信に関与することはできない。第2のノードの数に基づいてコンセンサス検証結果を決定する具体的な基準は、上記の例と同様であり得るし、ブロックチェーンのコンセンサス機構に依存することは理解できよう。詳細をここでは再び説明しない。
【００５５】
ブロックチェーンによって実行される実施形態に対応して、本出願の実施形態は、デジタル証明書を申請するノードによって行われる、デジタル証明書管理方法をさらに提供しており、以下のことを含み得る。
【００５６】
ブロックチェーン内のノードは、ブロックチェーンが、ノードの検証用デジタル証明書のコンセンサス検証結果を決定し、コンセンサス検証結果に基づいて、検証用デジタル証明書をブロックチェーンに書き込むかどうかを決定するように、デジタル証明書連結リクエストをブロックチェーンに送信する。
【００５７】
デジタル証明書連結リクエストは、秘密鍵を使用して署名することでノードによって生成される検証用デジタル証明書を含むとともに、検証用デジタル証明書をブロックチェーンに書き込むように要求するために使用される。
【００５８】
ブロックチェーンによって実行される上記の実施形態におけるすべての関連する説明は、ここでも適用可能であり、ここでは再び説明しない。
【００５９】
本出願の実施形態を使用して行われるデジタル証明書管理は、デジタル証明書の発行、検証、および連結に加えて、デジタル証明書の取り消しを含み得る。図3を参照すれば、本出願の実施形態は、以下のステップを行うことによって連結済みの認可済みのデジタル証明書を取り消す、デジタル証明書管理方法をさらに提供している。
【００６０】
S201: ブロックチェーン内のノードによって送信されたデジタル証明書取消リクエストを受信する、ここで、デジタル証明書取消リクエストは、取り消すように要求されているターゲットノードのデジタル証明書を含む。
【００６１】
S203: ターゲットノードのデジタル証明書のコンセンサス検証結果を決定する。
【００６２】
S205: コンセンサス検証結果に基づいて、ターゲットノードのデジタル証明書を取り消すかどうかを決定する。
【００６３】
ターゲットノードのデジタル証明書のコンセンサス検証結果を決定するステップS203は、ブロックチェーン内のコンセンサス検証に関与しているノードの検証結果を決定するステップと、コンセンサス検証に関与しているノードのうちの第1のノードの数および/または第2のノードの数を決定するステップであって、第1のノードの検証結果は、コンセンサス検証をパスしているであり、第2のノードの検証結果は、コンセンサス検証をパスしていないである、ステップと、第1のノードの数および/または第2のノードの数に基づいてコンセンサス検証結果を決定するステップとを含み得る。
【００６４】
さらに、第1のノードの数に基づいてコンセンサス検証結果を決定するステップは、第1のノードの数が第1の所定の条件を満足する場合には、コンセンサス検証結果がコンセンサス検証をパスしているであると決定するステップを含み、第1の所定の条件は、第1のノードの数が第1の所定の閾値に達することと、コンセンサス検証に関与しているノードの数に対する第1のノードの数の比が第2の所定の閾値に達することと、ブロックチェーン内のノードの数に対する第1のノードの数の比が第3の所定の閾値に達することとのうちの1つまたは複数を含む。
【００６５】
ターゲットノードのデジタル証明書は、コンセンサス検証結果がコンセンサス検証をパスしているである場合には、ブロックチェーンにおいて取り消される。
【００６６】
ブロックチェーン内の各ノードが、デジタル証明書取消リクエストを開始し得るし、ノードのデジタル証明書を取り消すように要求し得る、または、別の問題のあるノードのデジタル証明書を取り消すように要求し得るが、このことに限定されないことは理解できよう。加えて、コンセンサス検証をパスしているかどうかをブロックチェーン内のコンセンサス検証に関与している各ノードが決定するように、取り消すように要求されているターゲットノードのデジタル証明書に加えて、デジタル証明書取消リクエストがターゲットノードのデジタル証明書を取り消す理由を含み得ることを理解することは困難ではない。
【００６７】
コンセンサス検証をデジタル証明書取消リクエストに対して行う場合には、デジタル証明書取消リクエストを開始するノードとターゲットノードとの両方がコンセンサス検証に関与し得ることに留意されたい。しかしながら、コンセンサス検証をデジタル証明書連結リクエストに対して行う場合には、リクエストを開始するノードは、ノードが、認可済みのデジタル証明書を取得しておらず、ブロックチェーンネットワークに参加できないため、コンセンサス検証に関与することはできない。
【００６８】
コンセンサス検証をデジタル証明書取消リクエストに対して行う場合には、「コンセンサス検証をパスしている」という第1のノードの検証結果は、第1のノードがターゲットノードのデジタル証明書を取り消すことに同意していることを示しており、「コンセンサス検証をパスしていない」という第2のノードの検証結果は、第2のノードがターゲットノードのデジタル証明書を取り消すことに同意していないことを示していることにさらに留意されたい。さらに、実施形態においては、ターゲットノードのデジタル証明書を取り消すかどうかを決定するために、コンセンサス検証結果が第1のノードの数および/または第2のノードの数に基づいて決定され得る。コンセンサス検証結果を決定するプロセスは、検証用デジタル証明書に対するコンセンサス検証と同様である。具体的な基準は、コンセンサス機構によって決定されるため、ここでは説明しない。
【００６９】
図3に示したブロックチェーンによって実行される実施形態に対応して、本出願の実施形態は、デジタル証明書を申請するノードによって行われる、デジタル証明書管理方法をさらに提供しており、以下のことを含み得る。
【００７０】
ブロックチェーン内のノードは、ブロックチェーンが、ターゲットノードのデジタル証明書のコンセンサス検証結果を決定し、コンセンサス検証結果に基づいて、ブロックチェーン内のターゲットノードのデジタル証明書を取り消すかどうかを決定するように、デジタル証明書取消リクエストをブロックチェーンに送信する。
【００７１】
デジタル証明書取消リクエストは、取り消すように要求されているターゲットノードのデジタル証明書を含む。
【００７２】
ブロックチェーンによって実行される上記の実施形態におけるすべての関連する説明は、ここでも適用可能であり、ここでは再び説明しない。
【００７３】
図4は、ブロックチェーンネットワーク内のデジタル証明書管理の情報交換プロセスを簡単に示している。例えば、デジタル証明書の発行、検証、および連結のプロセスは、以下のステップを含む。
【００７４】
S11: ノード4は、開始ノードであり、開示されている秘密鍵を使用してそれ自身で署名して検証用デジタル証明書を生成する。
【００７５】
S12: ノード4は、生成した検証用デジタル証明書をブロックチェーンにブロードキャストする。
【００７６】
S13: ノード1、ノード2、およびノード3は、検証用デジタル証明書に対するコンセンサス検証に順に関与しており、コンセンサス検証結果が「コンセンサス検証をパスしている」場合には、ブロックチェーン内の各ノード(ノード1〜4に限定されない)は、連結するために認可済み且つ有効なデジタル証明書としてノード4の検証用デジタル証明書を使用する。したがって、ノード4は、認可済み且つ有効なデジタル証明書を取得して、ブロックチェーンネットワークの通信に正常に関与することができる。
【００７７】
デジタル証明書取消プロセスがデジタル証明書の発行、検証、および連結のプロセスと同様であることは理解できよう。開始ノードによって送信されたリクエストがデジタル証明書連結リクエストからデジタル証明書取消リクエストへと変わっていることが主な違いである。詳細をここでは再び説明しない。
【００７８】
本出願の実施形態のソリューションにおいては、従来のCAセンタの機能がブロックチェーンによって実施される。ブロックチェーン内のノードがデジタル証明書を申請する必要がある場合には、ノードは、ブロックチェーン固有秘密鍵を使用して、それ自身によって、署名して検証用デジタル証明書を生成し得る。デジタル証明書は、ブロックチェーンネットワーク内でコンセンサス検証をパスした後にデジタル証明書が連結された後のみ、認可済み且つ有効なデジタル証明書となり得る。デジタル証明書の発行、検証、および記憶のプロセスが、ブロックチェーン内で行われる。デジタル証明書取消プロセスも、ブロックチェーン内で行われ得る。
【００７９】
本出願の実施形態においては、コンセンサス検証をパスしたデジタル証明書が連結され、連結済みのデジタル証明書のみが認可済みのデジタル証明書である。したがって、たとえノードがハッカーによって攻撃されたとしても、または、たとえハッカーがCA秘密鍵を取得してデジタル証明書をランダムに発行したとしても、ハッカーは、ブロックチェーン内の認可済みのデジタル証明書を取得することはできず、したがって、ブロックチェーンネットワークに参加して無認可の通信を行うことはできない。したがって、分散化、開放性および透明性、ならびに非改竄性などの利点に基づいて、デジタル証明書が分散機構を使用して管理されており、ブロックチェーンネットワークのセキュリティを改善している。
【００８０】
図5を参照すれば、本出願の実施形態は、デジタル証明書管理装置をさらに提供しており、装置は、ブロックチェーンに適用され、ブロックチェーン内のノードによって送信されたデジタル証明書連結リクエストを受信するように構成される、リクエスト受信モジュール101であって、デジタル証明書連結リクエストは、秘密鍵を使用して署名することでノードによって生成される検証用デジタル証明書を含むとともに、検証用デジタル証明書をブロックチェーンに書き込むように要求するために使用される、リクエスト受信モジュール101と、ノードの検証用デジタル証明書のコンセンサス検証結果を決定するように構成される、コンセンサス検証結果決定モジュール103と、コンセンサス検証結果に基づいて、検証用デジタル証明書をブロックチェーンに書き込むかどうかを決定するように構成される、証明書管理モジュール105とを含む。
【００８１】
図6は、本出願の実施形態による、電子デバイスを図示している概略構造図である。図6を参照すれば、ハードウェアに関しては、電子デバイスは、プロセッサを含み、必要に応じて、内部バス、ネットワークインターフェース、およびストレージをさらに含む。ストレージは、例えば、高速ランダムアクセスメモリ(RAM)といった、メモリを含み得るし、例えば、少なくとも1つの磁気ディスクストレージといった、不揮発性メモリ(nonvolatile memory)をさらに含み得る。当然のことながら、電子デバイスは、別のサービスによって必要とされるハードウェアをさらに含み得る。
【００８２】
プロセッサ、ネットワークインターフェース、およびストレージは、内部バスを使用して互いに接続され得る。内部バスは、業界標準アーキテクチャ(ISA)バス、ペリフェラルコンポーネントインターコネクト(PCI)バス、拡張業界標準アーキテクチャ(EISA)バスなどであり得る。バスは、アドレスバス、データバス、制御バスなどに分類され得る。表示を簡潔にするために、図6では1つの両矢印のみを使用してバスを示している。しかしながら、1つのバスのみが存在しているまたは1種類のバスのみが存在していることを意味しているわけではない。
【００８３】
ストレージは、プログラムを記憶するように構成される。プログラムは、プログラムコードを含み得るし、プログラムコードは、コンピュータ動作命令を含む。ストレージは、メモリおよび不揮発性メモリを含み、プロセッサのための命令およびデータを提供し得る。
【００８４】
プロセッサは実行するために不揮発性メモリからメモリへと対応するコンピュータプログラムを読み出し、デジタル証明書管理装置が論理的に形成される。プロセッサは、ストレージに記憶されているプログラムを実行するとともに、ブロックチェーン内のノードによって送信されたデジタル証明書連結リクエストを受信するステップであって、デジタル証明書連結リクエストは、秘密鍵を使用して署名することでノードによって生成される検証用デジタル証明書を含むとともに、検証用デジタル証明書をブロックチェーンに書き込むように要求するために使用される、ステップと、ノードの検証用デジタル証明書のコンセンサス検証結果を決定するステップと、コンセンサス検証結果に基づいて、検証用デジタル証明書をブロックチェーンに書き込むかどうかを決定するステップという動作を行うように構成される。
【００８５】
本出願の図1に示した実施形態において開示したデジタル証明書管理装置によって実行される上記の方法は、プロセッサに適用され得る、または、プロセッサによって実施され得る。プロセッサは、集積回路チップであり、信号処理能力を有し得る。実施プロセスにおいては、上記の方法におけるステップは、プロセッサ内のハードウェア集積論理回路を使用して、または、ソフトウェアの形式で命令を使用して、実施され得る。プロセッサは、中央処理ユニット(CPU)、ネットワークプロセッサ(NP)などを含む汎用プロセッサであり得る、または、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは別のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントなどのデジタル信号プロセッサ(DSP)であり得る。プロセッサは、本出願の実施形態において開示した方法、ステップ、および論理ブロック図を実施または行い得る。汎用プロセッサはマイクロプロセッサであり得る、または、プロセッサは任意の従来のプロセッサなどであり得る本出願の実施形態において開示した方法のステップは、ハードウェアデコーディングプロセッサによって直接行われ得る、または、デコーディングプロセッサにおけるハードウェアモジュールとソフトウェアモジュールとの組合せによって行われ得る。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、リードオンリーメモリ、プログラマブルリードオンリーメモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの分野における実績のある記憶媒体に位置し得る。記憶媒体は、ストレージに位置し、プロセッサは、ストレージ内の情報を読み出し、プロセッサ内のハードウェアと共同して上記の方法におけるステップを完遂する。
【００８６】
電子デバイスはさらに、図1中のデジタル証明書管理装置によって行われる方法を行い、図1に示した実施形態におけるデジタル証明書管理装置の機能を実施し得る。詳細は本出願の実施形態では説明しない。
【００８７】
本出願の実施形態はコンピュータ可読記憶媒体をさらに提供しており、コンピュータ可読記憶媒体は1つまたは複数のプログラムを記憶し、1つまたは複数のプログラムは命令を含む。命令が複数のアプリケーションプログラムを含む電子デバイスによって実行されると、電子デバイスは、図1に示した実施形態におけるデジタル証明書管理装置によって実行される方法を実行し得るし、ブロックチェーン内のノードによって送信されたデジタル証明書連結リクエストを受信するステップであって、デジタル証明書連結リクエストは、秘密鍵を使用して署名することでノードによって生成される検証用デジタル証明書を含むとともに、検証用デジタル証明書をブロックチェーンに書き込むように要求するために使用される、ステップと、ノードの検証用デジタル証明書のコンセンサス検証結果を決定するステップと、コンセンサス検証結果に基づいて、検証用デジタル証明書をブロックチェーンに書き込むかどうかを決定するステップという動作を行うように構成される。
【００８８】
図7を参照すれば、本出願の実施形態は、デジタル証明書管理装置をさらに提供しており、装置は、ブロックチェーンに適用され、ブロックチェーン内のノードによって送信されたデジタル証明書取消リクエストを受信するように構成される、リクエスト受信モジュール201であって、デジタル証明書取消リクエストは、取り消すように要求されているターゲットノードのデジタル証明書を含む、リクエスト受信モジュール201と、ターゲットノードのデジタル証明書のコンセンサス検証結果を決定するように構成される、コンセンサス検証結果決定モジュール203と、コンセンサス検証結果に基づいて、ブロックチェーン内のターゲットノードのデジタル証明書を取り消すかどうかを決定するように構成される、証明書管理モジュール205とを含む。
【００８９】
図8は、本出願の実施形態による、電子デバイスを図示している概略構造図である。図8を参照すれば、ハードウェアに関しては、電子デバイスは、プロセッサを含み、必要に応じて、内部バス、ネットワークインターフェース、およびストレージをさらに含む。ストレージは、例えば、高速ランダムアクセスメモリ(RAM)といった、メモリを含み得るし、例えば、少なくとも1つの磁気ディスクストレージといった、不揮発性メモリ(nonvolatile memory)をさらに含み得る。当然のことながら、電子デバイスは、別のサービスによって必要とされるハードウェアをさらに含み得る。
【００９０】
プロセッサ、ネットワークインターフェース、およびストレージは、内部バスを使用して互いに接続され得る。内部バスは、業界標準アーキテクチャ(ISA)バス、ペリフェラルコンポーネントインターコネクト(PCI)バス、拡張業界標準アーキテクチャ(EISA)バスなどであり得る。バスは、アドレスバス、データバス、制御バスなどに分類され得る。表示を簡潔にするために、図8では1つの両矢印のみを使用してバスを示している。しかしながら、1つのバスのみが存在しているまたは1種類のバスのみが存在していることを意味しているわけではない。
【００９１】
ストレージは、プログラムを記憶するように構成される。プログラムは、プログラムコードを含み得るし、プログラムコードは、コンピュータ動作命令を含む。ストレージは、メモリおよび不揮発性メモリを含み、プロセッサのための命令およびデータを提供し得る。
【００９２】
プロセッサは実行するために不揮発性メモリからメモリへと対応するコンピュータプログラムを読み出し、デジタル証明書管理装置が論理的に形成される。プロセッサは、ストレージに記憶されているプログラムを実行するとともに、ブロックチェーン内のノードによって送信されたデジタル証明書取消リクエストを受信するステップであって、デジタル証明書取消リクエストは、取り消すように要求されているターゲットノードのデジタル証明書を含む、ステップと、ターゲットノードのデジタル証明書のコンセンサス検証結果を決定するステップと、コンセンサス検証結果に基づいて、ブロックチェーン内のターゲットノードのデジタル証明書を取り消すかどうかを決定するステップという動作を行うように構成される。
【００９３】
本出願の図3に示した実施形態において開示したデジタル証明書管理装置によって実行される上記の方法は、プロセッサに適用され得る、または、プロセッサによって実施され得る。プロセッサは、集積回路チップであり、信号処理能力を有し得る。実施プロセスにおいては、上記の方法におけるステップは、プロセッサ内のハードウェア集積論理回路を使用して、または、ソフトウェアの形式で命令を使用して、実施され得る。プロセッサは、中央処理ユニット(CPU)、ネットワークプロセッサ(NP)などを含む汎用プロセッサであり得る、または、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは別のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントなどのデジタル信号プロセッサ(DSP)であり得る。プロセッサは、本出願の実施形態において開示した方法、ステップ、および論理ブロック図を実施または行い得る。汎用プロセッサはマイクロプロセッサであり得る、または、プロセッサは任意の従来のプロセッサなどであり得る本出願の実施形態において開示した方法のステップは、ハードウェアデコーディングプロセッサによって直接行われ得る、または、デコーディングプロセッサにおけるハードウェアモジュールとソフトウェアモジュールとの組合せによって行われ得る。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、リードオンリーメモリ、プログラマブルリードオンリーメモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの分野における実績のある記憶媒体に位置し得る。記憶媒体は、ストレージに位置し、プロセッサは、ストレージ内の情報を読み出し、プロセッサ内のハードウェアと共同して上記の方法におけるステップを完遂する。
【００９４】
電子デバイスはさらに、図3中のデジタル証明書管理装置によって行われる方法を行い、図3に示した実施形態におけるデジタル証明書管理装置の機能を実施し得る。詳細は本出願の実施形態では説明しない。
【００９５】
本出願の実施形態はコンピュータ可読記憶媒体をさらに提供しており、コンピュータ可読記憶媒体は1つまたは複数のプログラムを記憶し、1つまたは複数のプログラムは命令を含む。命令が複数のアプリケーションプログラムを含む電子デバイスによって実行されると、電子デバイスは、図1に示した実施形態におけるデジタル証明書管理装置によって実行される方法を実行し得るし、ブロックチェーン内のノードによって送信されたデジタル証明書取消リクエストを受信するステップであって、デジタル証明書取消リクエストは、取り消すように要求されているターゲットノードのデジタル証明書を含む、ステップと、ターゲットノードのデジタル証明書のコンセンサス検証結果を決定するステップと、コンセンサス検証結果に基づいて、ブロックチェーン内のターゲットノードのデジタル証明書を取り消すかどうかを決定するステップという動作を行うように構成される。
【００９６】
図9を参照すれば、本出願の実施形態は、デジタル証明書管理装置を提供しており、装置は、ブロックチェーン内のノードに適用され、ブロックチェーンが、ノードの検証用デジタル証明書のコンセンサス検証結果を決定し、コンセンサス検証結果に基づいて、検証用デジタル証明書をブロックチェーンに書き込むかどうかを決定するように、デジタル証明書連結リクエストをブロックチェーンに送信するように構成される、リクエスト開始モジュール401であって、デジタル証明書連結リクエストは、秘密鍵を使用して署名することでノードによって生成される検証用デジタル証明書を含むとともに、検証用デジタル証明書をブロックチェーンに書き込むように要求するために使用される、リクエスト開始モジュール401を含む。
【００９７】
図10は、本出願の実施形態による、電子デバイスを図示している概略構造図である。図10を参照すれば、ハードウェアに関しては、電子デバイスは、プロセッサを含み、必要に応じて、内部バス、ネットワークインターフェース、およびストレージをさらに含む。ストレージは、例えば、高速ランダムアクセスメモリ(RAM)といった、メモリを含み得るし、例えば、少なくとも1つの磁気ディスクストレージといった、不揮発性メモリ(nonvolatile memory)をさらに含み得る。当然のことながら、電子デバイスは、別のサービスによって必要とされるハードウェアをさらに含み得る。
【００９８】
プロセッサ、ネットワークインターフェース、およびストレージは、内部バスを使用して互いに接続され得る。内部バスは、業界標準アーキテクチャ(ISA)バス、ペリフェラルコンポーネントインターコネクト(PCI)バス、拡張業界標準アーキテクチャ(EISA)バスなどであり得る。バスは、アドレスバス、データバス、制御バスなどに分類され得る。表示を簡潔にするために、図10では1つの両矢印のみを使用してバスを示している。しかしながら、1つのバスのみが存在しているまたは1種類のバスのみが存在していることを意味しているわけではない。
【００９９】
ストレージは、プログラムを記憶するように構成される。プログラムは、プログラムコードを含み得るし、プログラムコードは、コンピュータ動作命令を含む。ストレージは、メモリおよび不揮発性メモリを含み、プロセッサのための命令およびデータを提供し得る。
【０１００】
プロセッサは実行するために不揮発性メモリからメモリへと対応するコンピュータプログラムを読み出し、デジタル証明書管理装置が論理的に形成される。プロセッサは、ストレージに記憶されているプログラムを実行するとともに、ブロックチェーンが、ノードの検証用デジタル証明書のコンセンサス検証結果を決定し、コンセンサス検証結果に基づいて、検証用デジタル証明書をブロックチェーンに書き込むかどうかを決定するように、デジタル証明書連結リクエストをブロックチェーンに送信するステップであって、デジタル証明書連結リクエストは、秘密鍵を使用して署名することでノードによって生成される検証用デジタル証明書を含むとともに、検証用デジタル証明書をブロックチェーンに書き込むように要求するために使用される、ステップという動作を行うように構成される。
【０１０１】
本出願の上記の実施形態において開示したデジタル証明書管理装置によって実行される上記の方法は、プロセッサに適用され得る、または、プロセッサによって実施され得る。プロセッサは、集積回路チップであり、信号処理能力を有し得る。実施プロセスにおいては、上記の方法におけるステップは、プロセッサ内のハードウェア集積論理回路を使用して、または、ソフトウェアの形式で命令を使用して、実施され得る。プロセッサは、中央処理ユニット(CPU)、ネットワークプロセッサ(NP)などを含む汎用プロセッサであり得る、または、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは別のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントなどのデジタル信号プロセッサ(DSP)であり得る。プロセッサは、本出願の実施形態において開示した方法、ステップ、および論理ブロック図を実施または行い得る。汎用プロセッサはマイクロプロセッサであり得る、または、プロセッサは任意の従来のプロセッサなどであり得る本出願の実施形態において開示した方法のステップは、ハードウェアデコーディングプロセッサによって直接行われ得る、または、デコーディングプロセッサにおけるハードウェアモジュールとソフトウェアモジュールとの組合せによって行われ得る。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、リードオンリーメモリ、プログラマブルリードオンリーメモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの分野における実績のある記憶媒体に位置し得る。記憶媒体は、ストレージに位置し、プロセッサは、ストレージ内の情報を読み出し、プロセッサ内のハードウェアと共同して上記の方法におけるステップを完遂する。
【０１０２】
電子デバイスはさらに、デジタル証明書管理装置によって行われる方法を行い、上記の実施形態におけるデジタル証明書管理装置の機能を実施し得る。詳細は本出願の実施形態では説明しない。
【０１０３】
本出願の実施形態はコンピュータ可読記憶媒体をさらに提供しており、コンピュータ可読記憶媒体は1つまたは複数のプログラムを記憶し、1つまたは複数のプログラムは命令を含む。命令が複数のアプリケーションプログラムを含む電子デバイスによって実行されると、電子デバイスは、上記の実施形態におけるデジタル証明書管理装置によって実行される方法を実行し得るし、ブロックチェーンが、ノードの検証用デジタル証明書のコンセンサス検証結果を決定し、コンセンサス検証結果に基づいて、検証用デジタル証明書をブロックチェーンに書き込むかどうかを決定するように、デジタル証明書連結リクエストをブロックチェーンに送信するステップであって、デジタル証明書連結リクエストは、秘密鍵を使用して署名することでノードによって生成される検証用デジタル証明書を含むとともに、検証用デジタル証明書をブロックチェーンに書き込むように要求するために使用される、ステップという動作を行うように構成される。
【０１０４】
図11を参照すれば、本出願の実施形態は、デジタル証明書管理装置をさらに提供しており、装置は、ブロックチェーン内のノードに適用され、ブロックチェーンが、ターゲットノードのデジタル証明書のコンセンサス検証結果を決定し、コンセンサス検証結果に基づいて、ブロックチェーン内のターゲットノードのデジタル証明書を取り消すかどうかを決定するように、デジタル証明書取消リクエストをブロックチェーンに送信するように構成される、リクエスト開始モジュール501であって、デジタル証明書取消リクエストは、取り消すように要求されているターゲットノードのデジタル証明書を含む、リクエスト開始モジュール501を含む。
【０１０５】
図12は、本出願の実施形態による、電子デバイスを図示している概略構造図である。図12を参照すれば、ハードウェアに関しては、電子デバイスは、プロセッサを含み、必要に応じて、内部バス、ネットワークインターフェース、およびストレージをさらに含む。ストレージは、例えば、高速ランダムアクセスメモリ(RAM)といった、メモリを含み得るし、例えば、少なくとも1つの磁気ディスクストレージといった、不揮発性メモリをさらに含み得る。当然のことながら、電子デバイスは、別のサービスによって必要とされるハードウェアをさらに含み得る。
【０１０６】
プロセッサ、ネットワークインターフェース、およびストレージは、内部バスを使用して互いに接続され得る。内部バスは、業界標準アーキテクチャ(ISA)バス、ペリフェラルコンポーネントインターコネクト(PCI)バス、拡張業界標準アーキテクチャ(EISA)バスなどであり得る。バスは、アドレスバス、データバス、制御バスなどに分類され得る。表示を簡潔にするために、図12では1つの両矢印のみを使用してバスを示している。しかしながら、1つのバスのみが存在しているまたは1種類のバスのみが存在していることを意味しているわけではない。
【０１０７】
ストレージは、プログラムを記憶するように構成される。プログラムは、プログラムコードを含み得るし、プログラムコードは、コンピュータ動作命令を含む。ストレージは、メモリおよび不揮発性メモリを含み、プロセッサのための命令およびデータを提供し得る。
【０１０８】
プロセッサは実行するために不揮発性メモリからメモリへと対応するコンピュータプログラムを読み出し、デジタル証明書管理装置が論理的に形成される。プロセッサは、ストレージに記憶されているプログラムを実行するとともに、ブロックチェーンが、ターゲットノードのデジタル証明書のコンセンサス検証結果を決定し、コンセンサス検証結果に基づいて、ブロックチェーン内のターゲットノードのデジタル証明書を取り消すかどうかを決定するように、デジタル証明書取消リクエストをブロックチェーンに送信するステップであって、デジタル証明書取消リクエストは、取り消すように要求されているターゲットノードのデジタル証明書を含む、ステップという動作を行うように構成される。
【０１０９】
本出願の上記の実施形態において開示したデジタル証明書管理装置によって実行される上記の方法は、プロセッサに適用され得る、または、プロセッサによって実施され得る。プロセッサは、集積回路チップであり、信号処理能力を有し得る。実施プロセスにおいては、上記の方法におけるステップは、プロセッサ内のハードウェア集積論理回路を使用して、または、ソフトウェアの形式で命令を使用して、実施され得る。プロセッサは、中央処理ユニット(CPU)、ネットワークプロセッサ(NP)などを含む汎用プロセッサであり得る、または、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは別のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントなどのデジタル信号プロセッサ(DSP)であり得る。プロセッサは、本出願の実施形態において開示した方法、ステップ、および論理ブロック図を実施または行い得る。汎用プロセッサはマイクロプロセッサであり得る、または、プロセッサは任意の従来のプロセッサなどであり得る本出願の実施形態において開示した方法のステップは、ハードウェアデコーディングプロセッサによって直接行われ得る、または、デコーディングプロセッサにおけるハードウェアモジュールとソフトウェアモジュールとの組合せによって行われ得る。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、リードオンリーメモリ、プログラマブルリードオンリーメモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの分野における実績のある記憶媒体に位置し得る。記憶媒体は、ストレージに位置し、プロセッサは、ストレージ内の情報を読み出し、プロセッサ内のハードウェアと共同して上記の方法におけるステップを完遂する。
【０１１０】
電子デバイスはさらに、デジタル証明書管理装置によって行われる方法を行い、上記の実施形態におけるデジタル証明書管理装置の機能を実施し得る。詳細は本出願の実施形態では説明しない。
【０１１１】
本出願の実施形態はコンピュータ可読記憶媒体をさらに提供しており、コンピュータ可読記憶媒体は1つまたは複数のプログラムを記憶し、1つまたは複数のプログラムは命令を含む。命令が複数のアプリケーションプログラムを含む電子デバイスによって実行されると、電子デバイスは、上記の実施形態におけるデジタル証明書管理装置によって実行される方法を実行し得るし、ブロックチェーンが、ターゲットノードのデジタル証明書のコンセンサス検証結果を決定し、コンセンサス検証結果に基づいて、ブロックチェーン内のターゲットノードのデジタル証明書を取り消すかどうかを決定するように、デジタル証明書取消リクエストをブロックチェーンに送信するステップであって、デジタル証明書取消リクエストは、取り消すように要求されているターゲットノードのデジタル証明書を含む、ステップという動作を行うように構成される。
【０１１２】
本開示の実施形態が方法、システム、またはコンピュータプログラム製品として提供され得ることを当業者は理解されたい。したがって、本開示は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、またはソフトウェアとハードウェアとの組合せを用いた実施形態の形式を使用し得る。さらに、本開示は、コンピュータ使用可能プログラムコードを含む1つまたは複数のコンピュータ使用可能記憶媒体(磁気ディスクストレージ、CD-ROM、光学メモリなどを含むがこれらに限定されない)上で実施されるコンピュータプログラム製品の形式を使用し得る。
【０１１３】
本開示は、本開示の実施形態による、方法、デバイス(システム)、およびコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照して説明している。コンピュータプログラム命令がフローチャートおよび/またはブロック図中の各プロセスおよび/または各ブロックならびにフローチャートおよび/またはブロック図中のプロセスおよび/またはブロックの組合せを実施するために使用され得ることを理解されたい。このようなコンピュータプログラム命令は、コンピュータまたは別のプログラマブルデータ処理デバイスのプロセッサによって実行された命令がフローチャート中の1つまたは複数のプロセスにおけるおよび/またはブロック図中の1つまたは複数のブロックにおける特定の機能を実施するための装置を生成するように、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、または別のプログラマブルデータ処理デバイスのプロセッサに提供され、機構を生成し得る。
【０１１４】
このようなコンピュータプログラム命令は、コンピュータ可読メモリに記憶されている命令が命令装置を含むアーチファクトを生成するように、コンピュータ可読メモリに記憶され得るし、コンピュータまたは別のプログラマブルデータ処理デバイスが特定の方法で動作するように命令し得る。命令装置は、フローチャート中の1つまたは複数のプロセスにおけるおよび/またはブロック図中の1つまたは複数のブロックにおける特定の機能を実施する。
【０１１５】
このようなコンピュータプログラム命令は、コンピュータまたは別のプログラマブルデータ処理デバイスにロードされ得るし、その結果、一連の動作およびステップがコンピュータまたは別のプログラマブルデバイス上で行われ、それによって、コンピュータ実施処理を生成している。したがって、コンピュータまたは別のプログラマブルデバイス上で実行される命令は、フローチャート中の1つまたは複数のプロセスにおいておよび/またはブロック図中の1つまたは複数のブロックにおいて特定の機能を実施するためのステップを提供する。
【０１１６】
典型的な設定においては、コンピューティングデバイスは、1つまたは複数のプロセッサ(CPU)、入力/出力インターフェース、ネットワークインターフェース、およびメモリを含む。
【０１１７】
メモリは、例えば、リードオンリーメモリ(ROM)またはフラッシュメモリ(flash memory)といった、コンピュータ可読媒体に存在する、非持続的ストレージ、ランダムアクセスメモリ(RAM)、不揮発性メモリ、および/または別の形式を含み得る。メモリは、コンピュータ可読媒体の例である。
【０１１８】
コンピュータ可読媒体は、任意の方法または技術を使用する情報ストレージを実装し得る、持続性、非持続性、ムーバブル、および非ムーバブル媒体を含む。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータであり得る。コンピュータ記憶媒体の例としては、パラメータランダムアクセスメモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、別のタイプのランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)、フラッシュメモリ、もしくは別のメモリ技術と、コンパクトディスクリードオンリーメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、もしくは他の光学ストレージと、カセット磁気テープ、テープおよびディスクストレージ、もしくは別の磁気ストレージデバイスと、またはコンピューティングデバイスによってアクセスされ得る情報を記憶するように構成され得る任意の他の非伝送媒体とを含むがこれらに限定されない。本明細書における定義に基づけば、コンピュータ可読媒体は、例えば、変調データ信号およびキャリアといった、一時的コンピュータ可読媒体(transitory computer-readable media)を含まない。
【０１１９】
本明細書においては、「含む」、「備える」といった用語、またはそれらの任意の他の類型は、非排他的な包含をカバーすることを意図しており、その結果、多くの要素を含むプロセス、方法、物品、もしくはデバイスが、これらの要素だけでなく、明示的に記載していない他の要素も含む、または、そのようなプロセス、方法、物品、またはデバイスに本来備わっている要素をさらに含むことをさらに留意されたい。「・・・を含む」で終わる要素は、さらなる制約がない状態で、要素を含むプロセス、方法、物品、またはデバイスにおける追加の同一要素の存在を除外することはしない。
【０１２０】
本出願の実施形態が方法、システム、またはコンピュータプログラム製品として提供され得ることを当業者は理解されたい。したがって、本開示は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、またはソフトウェアとハードウェアとの組合せを用いた実施形態の形式を使用し得る。さらに、本出願は、コンピュータ使用可能プログラムコードを含む1つまたは複数のコンピュータ使用可能記憶媒体(磁気ディスクストレージ、CD-ROM、光学メモリなどを含むがこれらに限定されない)上で実施されるコンピュータプログラム製品の形式を使用し得る。
【０１２１】
上記の説明は、本出願の実施形態であり、本出願を限定することは意図していない。当業者のために、本出願は様々な修正および変更を有し得る。本出願の精神および原理から逸脱することなくなされた任意の修正、均等物との置換、または改良は、本出願の特許請求の範囲の範囲に含まれるものとする。
【０１２２】
図13は、本開示の実施形態による、ノードのデジタル証明書の認証するためのコンピュータ実施方法1300の例を図示しているフローチャートである。提示を明確にするために、以下の説明は、本説明における他の図に即して方法1300を一般的に説明している。例えば、方法1300は、図4を参照して説明したブロックチェーンノード、図5のデジタル証明書管理装置、またはブロックチェーンノードと通信する任意の他のコンピューティングデバイスによって実施され得る。しかしながら、方法1300が、例えば、任意のシステム、環境、ソフトウェア、およびハードウェアによって、または、必要に応じて、システムと、環境と、ソフトウェアと、ハードウェアとの組合せによって、行われ得ることは理解されよう。いくつかの実施形態においては、方法1300の様々なステップは、並列して、組み合わせて、ループして、または任意の順序で動作され得る。
【０１２３】
1302において、連結リクエストをノードから受信する。連結リクエストは、ノードをブロックチェーンネットワークに連結するリクエストを含む。図4中のノード4は、連結リクエストを送信するノードの例である。ノードは、連結リクエスト内にデジタルコードを含み得る。連結リクエストが承認されたケースにおいては、デジタル証明書が、デジタルコードに基づいてノードに割り当てられる。デジタルコードは、まだ承認されていないデジタル証明書の形式であり得る。ノードは、ノードに関連付けられた秘密鍵に基づいてデジタル証明書を提供し得る。ノードは、リクエストをブロックチェーンネットワークに送信する。例えば、ノードは、ブロックチェーンノード(例えば、図4中のノード1〜3)のリクエストセットを送信し得る、または、コンセンサス検証のためのブロックチェーンノードのセットに対する連結リクエストを転送するデジタル証明書管理デバイス(例えば、CA)に送信し得る。1302から、方法1300は1304に進む。
【０１２４】
1304において、連結を承認または拒否するブロックチェーンノードから1つまたは複数のコンセンサス検証メッセージを受信する。例えば、連結リクエストを受信したブロックチェーンノードのセットの各ノードは、コンセンサス検証メッセージの形式でリクエストの承認または拒否を送信し得る。ブロックチェーンノードのセットのうちのいくつかのノードは、コンセンサス検証メッセージを、互いに、ブロックチェーンのデジタル証明書管理デバイスに、またはブロックチェーンノードのセットのノードの組合せおよびブロックチェーンのデジタル証明書管理デバイスに送信する。いくつかの実施形態においては、ブロックチェーンノードのセットのノードの数が閾値の数より大きい必要がある。いくつかの例においては、閾値の数をブロックチェーン内のすべてのノードの総数に基づいて決定する。例えば、閾値は、ノードの総数の60%(または30%)であり得る。1304から、方法1300は1306に進む。
【０１２５】
1306において、コンセンサス検証結果を、ブロックチェーンノードのセットから受信したコンセンサス検証メッセージに基づいて決定する。コンセンサス検証結果をブロックチェーンノードのセットのノードの数に基づいて決定し得る。例えば、コンセンサス検証結果は、多数派、または、ブロックチェーンノードのセットから受信した承認および拒否のコンセンサス検証メッセージの比に基づいて、決定され得る。いくつかの実施形態においては、1つまたは複数のブロックチェーンノードは重みに関連付けられ、コンセンサス検証結果がそれぞれのノードの重みに基づいて決定される。例えば、異なる重みを有する2つのノード間では、より大きな重みを有するノードが、他のノードよりも多くコンセンサス検証結果に影響を及ぼし得る。コンセンサス検証結果は、ブロックチェーンノードのセットが連結リクエストを承認または拒否したかどうかを示している。1306から、方法1300は1308に進む。
【０１２６】
1308において、連結リクエストが承認されたかどうかについて決定がなされる。決定が、コンセンサス検証結果に基づいてなされる。いくつかの例においては、連結リクエストは、連結リクエストを承認しているブロックチェーンノードの数が閾値の数より多いと決定したことに基づいて、承認されるべきと決定される。いくつかの例においては、連結リクエストは、コンセンサス検証メッセージを提供したブロックチェーンノードの数に対する連結リクエストを承認しているブロックチェーンノードの数の比が閾値の数より多いと決定したことに基づいて、承認されるべきと決定される。いくつかの例においては、連結リクエストは、ブロックチェーンネットワーク内のすべてのブロックチェーンノードの数に対する連結リクエストを承認しているブロックチェーンノードの数の比が閾値の数より多いと決定したことに基づいて、承認されるべきと決定される。連結リクエストが承認されたと決定されると、方法1300は1310に進む。さもなければ、連結リクエストが承認されていない(または拒否された)と決定されると、方法1300は1312に進む。
【０１２７】
1310において、(要求ノードである)ノードに関連付けられたデジタル証明書をブロックチェーンに記憶する。ブロックチェーンが連結リクエストを承認すると、ノードはブロックチェーンに追加され(または連結され)、ノードに関連付けられたデジタル証明書はブロックチェーンに記憶される。デジタル証明書は、連結リクエストに含まれるデジタルコードに基づいて提供され得る。デジタル証明書は、ブロックチェーンノード(例えば、ブロックチェーンの複数のノード)に、ブロックチェーンに関連付けられたデジタル証明書管理デバイス(例えば、CA)に、またはその両方に記憶され得る。
【０１２８】
1312において、連結リクエストを拒否する。連結リクエストを拒否した場合には、デジタル証明書がノードに割り当てられず、ノードはブロックチェーンに追加されない。いくつかの実施形態においては、拒否された連結リクエストまたは拒否された連結に含まれるデジタルコードの履歴がブロックチェーンに(例えば、複数のブロックチェーンノードに)記憶される。
【０１２９】
方法1300は、デジタル証明書ブロックチェーンノードを認証する例示的な方法を提供している。いくつかの実施形態においては、デジタル証明書は、ブロックチェーンノードによって取り消され得る。例えば、ブロックチェーンのノードは、ブロックチェーン内で既に有効なデジタル証明書の取り消しを要求し得る。ノードは、それ自身のデジタル証明書または別のノードのデジタル証明書を取り消すために取消リクエストを送信し得る。取消リクエストは、取り消すように要求されているターゲットにされているノードのデジタル証明書または別の識別子を含み得る。取消リクエストはまた、リクエストのための理由、例えば、ターゲットにされているノードがブロックチェーン内でセキュアではないトランザクションを行っていたという指示を含み得る。
【０１３０】
認証プロセスと同様に、取消プロセスは、ブロックチェーンノードのセットから受信したコンセンサス検証に基づいて行われる。それゆえ、1つまたは複数の取消コンセンサスメッセージは1つまたは複数のブロックチェーンノードから受信され、取消コンセンサスメッセージの各々はそれぞれのブロックチェーンノードが取消リクエストを承認したかまたは拒否したかを示している。受信した取消コンセンサスメッセージに基づいて、取消コンセンサス結果を決定する。取消コンセンサス結果は、取消リクエストが1つまたは複数のブロックチェーンノードによって承認されたかまたは拒否されたかを示している。取消コンセンサス結果が承認されたと決定した場合には、ターゲットにされているノードのデジタル証明書は、ブロックチェーンネットワークに記憶されているデジタル証明書から取り消される。デジタル証明書が取り消されたノードは、ブロックチェーンへの接続を失う。ノードがブロックチェーンに再接続(または、連結)することを望む場合には、ノードは、連結リクエストをブロックチェーンに送信する必要がある。いくつかの実施形態においては、取り消されたデジタル証明書のリストは、ブロックチェーンに記憶されている。例えば、複数のノード(例えば、取り消しを承認した1つまたは複数のノード)は、ターゲットにされているノードの取り消されたデジタル証明書または別の識別子を取り消しリストに記憶し得る。
【０１３１】
ブロックチェーン通信内のセキュリティを保証するために、各ブロックチェーンノードはデジタル証明書を割り当てられる。有効なデジタル証明書を有しているノードのみが、ブロックチェーン内で通信することを認可される。従来では、デジタル証明書は、CAによってノードに割り当てられる。CAは、ブロックチェーンに関連付けられた秘密鍵に基づいてデジタル証明書を提供する。CAは、発行されたデジタル証明書、取り消されたデジタル証明書、有効なデジタル証明書の情報を記憶する。ブロックチェーン内のノードが互いに通信する必要がある場合には、それぞれのノードのデジタル証明書の有効性は、CAにおいてデジタル証明書のクエリを発行することによってチェックされる。
【０１３２】
デジタル証明書の発行、取り消し、および有効性チェックに関するCAに対する従来の依存性は、リスクがあるだけでなくハッカーの改竄にさらされたブロックチェーン通信をもたらす。CAがハッキングされると、ハッカーはCAに記憶されているデジタル証明書の有効性を改竄し得る。例えば、ハッカーは、1つまたは複数の認可済みのノードのデジタル証明書を取り消し得る、または、1つまたは複数の以前取り消されたノードのためのデジタル証明書を認証し得る。加えて、ハッカーは、CAに偽のデジタル証明書を含ませることによってブロックチェーンに無認可のノードを追加し得る。
【０１３３】
本開示の実施形態は、ブロックチェーンのセキュリティを改善する技法を提供している。実施形態によれば、デジタル証明書の認証、取り消し、または記憶が、CAではなく(または、CAに加えて)ブロックチェーンのノードによって行われる。ブロックチェーンに連結されるようにノードを承認する、複数のブロックチェーンノードがコンセンサス検証をパスした後のみ、デジタル証明書は認証される。同様に、ノードのデジタル証明書の取り消しを承認する、複数のブロックチェーンノードがコンセンサス検証をパスした場合のみ、デジタル証明書は取り消される。さらに、ブロックチェーンノードの有効性(または取り消し)は、CAだけにではなく、複数のノードに記憶される。それゆえ、ノードまたはCAがハッカーによって攻撃された場合でさえも、ハッカーは、ブロックチェーンノードの承認を受けることなくブロックチェーンノードのデジタル証明書の有効性を勝手に発行、取り消し、または改竄することはできない。
【０１３４】
本明細書において説明した実施形態および動作は、本明細書において開示した構造またはそれらのうちの1つまたは複数の組合せを含む、デジタル電子回路の形式で、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェアの形式で実装され得る。動作は、1つまたは複数のコンピュータ可読ストレージデバイス上に記憶されるまたは他のソースから受信されるデータに対してデータ処理装置によって行われる動作として実装され得る。データ処理装置、コンピュータ、またはコンピューティングデバイスは、例として、プログラマブルプロセッサ、コンピュータ、システム・オン・チップ、または前述したもののうちの複数もしくは組合せを含む、処理データのための装置、デバイス、マシンを含み得る。装置は、例えば、中央処理ユニット(CPU)、フィールドプログラマブルゲートアレイ(FPGA)、または特定用途向け集積回路(ASIC)といった、特殊用途ロジック回路を含み得る。装置はまた、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム(例えばオペレーティングシステムもしくはオペレーティングシステムの組合せ)、クロスプラットフォームランタイム環境、仮想マシン、またはそれらのうちの1つもしくは複数の組合せを構成するコードといった、当該コンピュータプログラムのための実行環境を作成するコードを含み得る。装置および実行環境は、ウェブサービス、分散コンピューティング、およびグリッドコンピューティングインフラなどといった、様々な異なるコンピューティングモデルインフラを実現し得る。
【０１３５】
コンピュータプログラム(例えば、プログラム、ソフトウェア、ソフトウェアアプリケーション、ソフトウェアモジュール、ソフトウェアユニット、スクリプト、またはコードとしても知られる)は、コンパイル型またはインタプリタ型言語、宣言型または手続き型言語を含む、任意の形式のプログラミング言語で書かれ得るし、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境における使用に適した他のユニットとしてといったことを含む、任意の形式でデプロイされ得る。プログラムは、他のプログラムまたはデータを保持しているファイルの一部(例えば、マークアップ言語ドキュメントに記憶されている1つまたは複数のスクリプト)に、当該のプログラム専用の単一のファイルに、または複数の協調ファイル(例えば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または、1つのサイトに位置しもしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された、複数のコンピュータ上で実行され得る。
【０１３６】
コンピュータプログラムの実行のためのプロセッサは、例として、汎用および特殊用途マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般的に、プロセッサは、リードオンリーメモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受信することになる。コンピュータの必須の要素は、命令に従ってアクションを行うためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスとである。一般的に、コンピュータはまた、データを記憶するための1つまたは複数のマスストレージデバイスを含むことになる、または、そのようなマスストレージデバイスからデータを受信もしくはそのようなマスストレージデバイスにデータを送信もしくはその両方を行うことが動作可能なように結合されることになる。コンピュータは、例えば、モバイルデバイス、携帯情報端末(PDA)、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブルストレージデバイスといった、別のデバイスに組み込まれ得る。コンピュータプログラム命令およびデータを記憶するのに適したデバイスは、例として、半導体メモリデバイス、磁気ディスク、および光磁気ディスクといった、不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、殊用途ロジック回路によって補完され得る、またはそれに組み込まれ得る。
【０１３７】
モバイルデバイスは、ハンドセット、ユーザ機器(UE)、モバイル電話(例えば、スマートフォン)、タブレット、ウェアラブルデバイス(例えば、スマートウォッチおよびスマートメガネ)、人体内部の埋め込みデバイス(例えば、バイオセンサ、人工内耳)、または他のタイプのモバイルデバイスを含み得る。モバイルデバイスは、様々な通信ネットワーク(以下で説明)と無線で(例えば、無線周波数(RF)信号を使用して)通信し得る。モバイルデバイスは、モバイルデバイスの現在の環境の特性を決定するためのセンサを含み得る。センサは、カメラ、マイクロフォン、近接センサ、GPSセンサ、モーションセンサ、加速度計、照度センサ、水分センサ、ジャイロスコープ、コンパス、気圧計、指紋センサ、顔認識システム、RFセンサ(例えば、Wi-Fiおよびセルラ無線)、熱センサ、または他のタイプのセンサを含み得る。例えば、カメラは、可動または固定レンズ、フラッシュ、画像センサ、および画像プロセッサを有する、前面または背面カメラを含み得る。カメラは、顔および/または虹彩認識のために細部をキャプチャすることが可能なメガピクセルカメラであり得る。データプロセッサ、およびメモリに記憶されているまたはリモートでアクセスされる認証情報とともに、カメラは、顔認識システムを形成し得る。顔認識システム、または、例えば、マイクロフォン、モーションセンサ、加速度計、GPSセンサ、もしくはRFセンサといった、1つまたは複数のセンサが、ユーザ認証のために使用され得る。
【０１３８】
ユーザとのインタラクションを提供するために、実施形態は、例えば、情報を表示するための液晶ディスプレイ(LCD)または有機発光ダイオード(OLED)/仮想現実(VR)/拡張現実(AR)ディスプレイと、ユーザがコンピュータに入力を提供することを可能にするタッチスクリーン、キーボード、およびポインティングデバイスといった、表示デバイスと入力デバイスとを有するコンピュータ上で実施され得る。同様に他の種類のデバイスをユーザとのインタラクションを提供するために使用し得るし、例えば、ユーザに提供されるフィードバックは、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックといった任意の形式の感覚フィードバックであり得るし、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受信され得る。加えて、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信することおよびユーザによって使用されるデバイスからドキュメントを受信することによって、例えば、ユーザのクライアントデバイス上のウェブブラウザから受信した要求に応答してウェブブラウザにウェブページを送信することによって、ユーザとのインタラクションを行い得る。
【０１３９】
実施形態は、例えば、通信ネットワークといった、任意の形式または媒体の有線または無線デジタルデータ通信(またはその組合せ)によって相互接続されたコンピューティングデバイスを使用して実施され得る。相互接続されたデバイスの例としては、通信ネットワークを介して通常はやりとりする、一般的に互いにリモートに存在するクライアントとサーバとがある。例えば、モバイルデバイスといった、クライアントは、購入、売却、支払、贈与、送付、もしくは貸付のトランザクションを行うもしくはこれらを許可するサーバとのトランザクションを、またはそのようなサーバを介したトランザクションを、それ自身で実行し得る。そのようなトランザクションは、アクションとレスポンスとが時間的にほぼ同じであるリアルタイムであり得る。例えば、個人が、アクションとレスポンスとが実質的に同時に知覚し、個人のアクションの後のレスポンスについての時間差が1ミリ秒(ms)または1秒(s)未満である、またはレスポンスは、システムの処理限界を考慮しつつも意図的な遅延は有していない。
【０１４０】
通信ネットワークの例としては、ローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)、およびワイドエリアネットワーク(WAN)を含む。通信ネットワークは、インターネット、別の通信ネットワーク、または通信ネットワークの組合せのすべてまたは一部を含み得る。情報は、ロング・ターム・エボリューション(LTE)、5G、IEEE802、インターネットプロトコル(IP)、または他のプロトコルもしくはプロトコルの組合せを含む、様々なプロトコルおよび標準に準拠した通信ネットワーク上で送信され得る。通信ネットワークは、接続されたコンピューティングデバイス間で、音声、ビデオ、生体、もしくは認証データ、または他の情報を送信し得る。
【０１４１】
別個の実施形態として説明した特徴を、組合せで、単一の実施形態で実施し得る一方で、単一の実施形態として説明した特徴を、複数の実施形態で、別々に、または任意の適切なサブコンビネーションで実施し得る。特定の順序で説明および主張した動作は、その特定の順序を必要とするものとして理解されるべきではないし、図示した動作のすべてを行う必要があると理解すべきではない(いくつかの動作がオプションであり得る)。必要に応じて、マルチタスク処理または並列処理(またはマルチタスク処理と並列処理との組合せ)が行われ得る。
【符号の説明】
【０１４２】
101  リクエスト受信モジュール
103  コンセンサス検証結果決定モジュール
105  証明書管理モジュール
201  リクエスト受信モジュール
203  コンセンサス検証結果決定モジュール
205  証明書管理モジュール
401  リクエスト開始モジュール
501  リクエスト開始モジュール
【図１】
0006912585.tif 000002
【図２】
0006912585.tif 000003
【図３】
0006912585.tif 000004
【図４】
0006912585.tif 000005
【図５】
0006912585.tif 000006
【図６】
0006912585.tif 000007
【図７】
0006912585.tif 000008
【図８】
0006912585.tif 000009
【図９】
0006912585.tif 000010
【図１０】
0006912585.tif 000011
【図１１】
0006912585.tif 000012
【図１２】
0006912585.tif 000013
【図１３】
0006912585.tif 000014