(57)【特許請求の範囲】
【請求項１】
デジタル証明書を管理するための方法であって、
認証局によって送信された第1のトランザクション要求を受信するステップであって、前記第1のトランザクション要求が、前記認証局によってブロックチェーン内のノードに発行されたデジタル証明書を前記ブロックチェーンに書き込む要求を含む、ステップと、
前記デジタル証明書に対して前記ブロックチェーンによって実行される合意検証の合意結果を決定するステップであって、
前記デジタル証明書に関する合意検証に参加する前記ブロックチェーン内のノードのサブセットの検証結果を決定するステップ、
合意検証に参加するノードの前記サブセットの中の第1のノードの数および/または第2のノードの数を決定するステップであって、前記第1のノードが、検証結果が合意検証が成功であったことを示すノードを含み、前記第2のノードが、検証結果が合意検証が成功でなかったことを示すノードを含む、決定するステップ、ならびに
第1のノードの前記数および/または第2のノードの前記数に基づいて前記合意結果を決定するステップを含む、ステップと、
前記合意結果に基づいて前記第1のトランザクション要求に応答するかまたは前記第1のトランザクション要求を拒否するステップとを含む、方法。
【請求項２】
前記デジタル証明書に関する合意検証に参加する前記ブロックチェーン内のノードの前記サブセットが、前記ブロックチェーン内の予め設定された数のノードを含み、合意検証に参加するノードの前記サブセットの中の第1のノードの前記数および/または第2のノードの前記数を決定するステップが、前記予め設定された数のノードの中の前記第1のノードの割合を決定するステップを含む請求項1に記載の方法。
【請求項３】
前記デジタル証明書に関する合意検証に参加する前記ブロックチェーン内のノードの前記サブセットが、合意検証の予め設定された継続時間以内に合意検証を完了するいくつかのノードを含み、合意検証に参加するノードの前記サブセットの中の第1のノードの前記数および/または第2のノードの前記数を決定するステップが、ノードの前記サブセットの中の第1のノードの割合を決定するステップを含む請求項1に記載の方法。
【請求項４】
前記デジタル証明書に関する合意検証に参加する前記ブロックチェーン内のノードの前記サブセットの検証結果を決定するステップが、
前記ノードが前記デジタル証明書に対して合意検証を実行した後に前記ノードによって発給されるアナウンスを決定するステップであって、前記アナウンスが、前記第1のトランザクション要求および前記ノードの前記検証結果を別のノードにブロードキャストするために使用される、決定するステップと、
各ノードのアナウンスに基づいて合意検証に参加するノードの前記サブセットの前記検証結果を決定するステップとを含む請求項1に記載の方法。
【請求項５】
第1のノードの前記数に基づいて前記合意結果を決定するステップが、
第1のノードの前記数が第1の予め決められた閾値に達するとき、または合意検証に参加するノードの前記サブセットの中の前記第1のノードの割合が第2の予め決められた閾値に達するときに前記デジタル証明書に関する前記合意検証が成功すると決定するステップを含む請求項1に記載の方法。
【請求項６】
前記合意結果に基づいて前記第1のトランザクション要求に応答するかまたは前記第1のトランザクション要求を拒否するステップが、
前記合意結果が前記合意検証が成功であったことを示す場合に前記デジタル証明書を前記ブロックチェーンに書き込むために前記第1のトランザクション要求に応答するステップ、または
前記合意結果が前記合意検証が成功でなかったことを示す場合に前記第1のトランザクション要求を拒否するステップを含む請求項1に記載の方法。
【請求項７】
前記認証局によって送信された第2のトランザクション要求を受信するステップであって、前記第2のトランザクション要求が、証明書失効リストをブロックチェーンに書き込む要求を含み、前記証明書失効リストが、失効したデジタル証明書を記録するために使用される、ステップと、
前記証明書失効リストに対して前記ブロックチェーンによって実行される合意検証の合意結果を決定するステップと、
前記合意結果に基づいて前記第2のトランザクション要求に応答するかまたは前記第2のトランザクション要求を拒否するステップとをさらに含む請求項1から6のいずれか一項に記載の方法。
【請求項８】
前記証明書失効リストに基づいて前記ブロックチェーン内の第3のトランザクション要求を検証するステップであって、前記第3のトランザクション要求が、第1のノードのグループと第2のノードのグループとの間でトランザクションを完了することを要求するために使用される、ステップと、
検証結果に基づいて前記第3のトランザクション要求に応答するかまたは前記第3のトランザクション要求を拒否するステップとをさらに含む請求項7に記載の方法。
【請求項９】
前記証明書失効リストに基づいて前記ブロックチェーン内の前記第3のトランザクション要求を検証するステップが、
前記第1のノードのグループおよび前記第2のノードのグループのノードのデジタル証明書を前記証明書失効リストに記録された前記失効したデジタル証明書と比較するステップと、
前記トランザクションの予め決められたトランザクションの規則を参照して比較結果に基づいて前記検証結果を決定するステップとを含む請求項8に記載の方法。
【請求項１０】
前記認証局によって送信された第3のトランザクション要求を受信するステップであって、前記第3のトランザクション要求が、前記証明書失効リストの更新情報を前記ブロックチェーンに書き込むことを要求するために使用される、ステップと、
前記更新情報に対して前記ブロックチェーンによって実行される合意検証の合意結果を決定するステップと、
前記合意結果に基づいて前記第3のトランザクション要求に応答するかまたは前記第3のトランザクション要求を拒否するステップとをさらに含む請求項7に記載の方法。
【請求項１１】
前記認証局によって送信された第4のトランザクション要求を受信するステップであって、前記第4のトランザクション要求が、前記認証局によって失効させられたデジタル証明書のレコードをブロックチェーンに書き込む要求を含む、ステップと、
前記失効したデジタル証明書の前記レコードに対して前記ブロックチェーンによって実行される合意検証の合意結果を決定するステップと、
前記合意結果に基づいて前記第4のトランザクション要求に応答するかまたは前記第4のトランザクション要求を拒否するステップとをさらに含む請求項1から10のいずれか一項に記載の方法。
【請求項１２】
前記ブロックチェーンに書き込まれる前記失効したデジタル証明書の前記レコードに基づいて証明書失効リストを構築するステップであって、前記証明書失効リストが、前記失効したデジタル証明書を記録するために使用される、ステップをさらに含む請求項11に記載の方法。
【請求項１３】
デジタル証明書を管理するための方法であって、
ブロックチェーン内のノードによって送信された申し込み要求を受信するステップであって、前記申し込み要求が、デジタル証明書を前記ノードに発行するように認証局に要求するために使用される、ステップと、
前記申し込み要求に応答して前記デジタル証明書を前記ノードに発行するステップと、
前記ブロックチェーンに第1のトランザクション要求を送信するステップであって、前記第1のトランザクション要求が、前記デジタル証明書を前記ブロックチェーンに書き込む要求を含み、前記ブロックチェーンが、
前記デジタル証明書に関する合意検証に参加する前記ブロックチェーン内のノードのサブセットの検証結果を決定すること、
合意検証に参加するノードの前記サブセットの中の第1のノードの数および/または第2のノードの数を決定することであって、前記第1のノードが、検証結果が合意検証が成功であったことを示すノードを含み、前記第2のノードが、検証結果が合意検証が成功でなかったことを示すノードを含む、決定すること、ならびに
第1のノードの前記数および/または第2のノードの前記数に基づいて合意結果を決定することと、
前記合意結果に基づいて前記第1のトランザクション要求に応答するかまたは前記第1のトランザクション要求を拒否することと
によって前記デジタル証明書に対して合意検証を実行する、ステップとを含む、方法。
【請求項１４】
前記デジタル証明書が、バージョン、通し番号、署名アルゴリズムの種類、発行者情報、有効期間、発行者、発行された公開鍵、および認証局のデジタル署名のうちの少なくとも1つを含む請求項1から13のいずれか一項に記載の方法。
【請求項１５】
前記デジタル証明書が、前記ブロックチェーンの前記ノードにおいてチェーンにつながれる前は無効である請求項1から14のいずれか一項に記載の方法。
【請求項１６】
デジタル証明書の管理のための装置であって、請求項1から15のいずれか一項に記載の方法を実行するように構成された複数のモジュールを含む、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照によりその全体が本明細書に組み込まれる、2017年7月26日に出願した中国特許出願第201710617598.2号の優先権を主張するものである。
【０００２】
本出願は、ブロックチェーン技術の分野に関し、特に、デジタル証明書管理方法、装置、およびシステムに関する。
【背景技術】
【０００３】
ブロックチェーン技術は、分散型台帳技術とも呼ばれ、非集中的な分散型データベース技術である。ブロックチェーン技術は、非集中化、透過性、耐タンパー性、および信用によって特徴付けられる。ブロックチェーン内の各データは、ネットワーク全体のブロックチェーンノードにブロードキャストされ得る。したがって、各ノードが、完全な一貫性のあるデータを有する。
【０００４】
非集中化の基礎として、ブロックチェーン内の各ノードは、対応する鍵ペアを有する。キーペアのうちの公開鍵の有効性は、認証局(CA)によって検証される。図1を参照すると、CAが、ノード2がデジタル証明書に挙げられた公開鍵を正規に有することを証明するために、デジタル証明書をノード2に発行する。加えて、ノード2がトランザクションを開始するとき、CAは、ノード2のデジタル証明書が有効であるかどうかを遠隔で検証することができる。
【０００５】
しかし、ノードのデジタル証明書の許可は、CAがハッキングされるとき、またはCAが悪意を持って活動するとき、ランダムに変更され易い。結果として、ブロックチェーン全体のセキュリティが影響を受ける。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本出願の実装は、CAがハッキングされるときまたはCAが悪意を持って活動するときにノードのデジタル証明書のパーミッションがランダムに変更されることが多い既存の技術の問題を解決するためのデジタル証明書管理方法、装置、およびシステムを提供する。
【課題を解決するための手段】
【０００７】
本出願の実装は、以下、すなわち、認証局(CA: Certificate Authority)によって送信された第1のトランザクション要求を受信するステップであって、第1のトランザクション要求が、CAによってブロックチェーン内のノードに発行されたデジタル証明書をブロックチェーンに書き込むことを要求するために使用される、ステップと、デジタル証明書に対してブロックチェーンによって実行される合意(Consensus)検証の合意結果を決定するステップと、合意結果に基づいて第1のトランザクション要求に応答するかまたは第1のトランザクション要求を拒否するステップとを含むデジタル証明書管理方法を提供する。
【０００８】
任意で、デジタル証明書に対してブロックチェーンによって実行される合意検証の合意結果を決定するステップは、以下、すなわち、デジタル証明書に関する合意検証に参加するブロックチェーン内のノードの検証結果を決定することと、合意検証に参加するノードの中の第1のノードの数および/または第2のノードの数を決定することであって、第1のノードが、検証結果が「合意検証成功」であるノードであり、第2のノードが、検証結果が「合意検証失敗」であるノードである、決定することと、第1のノードの数および/または第2のノードの数に基づいて合意結果を決定することとを含む。
【０００９】
任意で、デジタル証明書に関する合意検証に参加するブロックチェーン内のノードの検証結果を決定することは、以下、すなわち、ノードがデジタル証明書に対して合意検証を実行した後にノードによって発給されるアナウンスを決定することであって、アナウンスが、トランザクション要求およびノードの検証結果を別のノードにブロードキャストするために使用される、決定することと、各ノードのアナウンスに基づいて合意検証に参加するノードの検証結果を決定することとを含む。
【００１０】
任意で、第1のノードの数に基づいて合意結果を決定することは、第1のノードの数が第1の予め決められた閾値に達するとき、または合意検証に参加するノードの中の第1のノードの割合が第2の予め決められた閾値に達するときにデジタル証明書に関する合意検証が成功すると決定することを含む。
【００１１】
任意で、合意結果に基づいて第1のトランザクション要求に応答するかまたは第1のトランザクション要求を拒否するステップは、以下、すなわち、合意結果が「合意検証成功」である場合にデジタル証明書をブロックチェーンに書き込むために第1のトランザクション要求に応答すること、または合意結果が「合意検証失敗」である場合に第1のトランザクション要求を拒否することを含む。
【００１２】
本出願の実装は、以下、すなわち、認証局(CA)によって送信された第2のトランザクション要求を受信するステップであって、第2のトランザクション要求が、証明書失効リストをブロックチェーンに書き込むことを要求するために使用され、証明書失効リストが、失効したデジタル証明書を記録するために使用される、ステップと、証明書失効リストに対してブロックチェーンによって実行される合意検証の合意結果を決定するステップと、合意結果に基づいて第2のトランザクション要求に応答するかまたは第2のトランザクション要求を拒否するステップとを含むデジタル証明書管理方法を提供する。
【００１３】
任意で、方法は、以下、すなわち、証明書失効リストに基づいてブロックチェーン内の第3のトランザクション要求を検証するステップであって、第3のトランザクション要求が、第1のノードのグループと第2のノードのグループとの間でトランザクションを完了することを要求するために使用される、ステップと、検証結果に基づいて第3のトランザクション要求に応答するかまたは第3のトランザクション要求を拒否するステップとをさらに含む。
【００１４】
任意で、証明書失効リストに基づいてブロックチェーン内の第3のトランザクション要求を検証するステップは、以下、すなわち、第1のノードのグループおよび第2のノードのグループのノードのデジタル証明書を証明書失効リストに記録された失効したデジタル証明書と比較することと、トランザクションの予め決められたトランザクションの規則を参照して比較結果に基づいて検証結果を決定することとを含む。
【００１５】
任意で、方法は、以下、すなわち、CAによって送信された第4のトランザクション要求を受信するステップであって、第4のトランザクション要求が、証明書失効リストの更新情報をブロックチェーンに書き込むことを要求するために使用される、ステップと、更新情報に対してブロックチェーンによって実行される合意検証の合意結果を決定するステップと、合意結果に基づいて第4のトランザクション要求に応答するかまたは第4のトランザクション要求を拒否するステップとをさらに含む。
【００１６】
本出願の実装は、以下、すなわち、認証局(CA)によって送信された第5のトランザクション要求を受信するステップであって、第5のトランザクション要求が、CAによって失効させられたデジタル証明書のレコードをブロックチェーンに書き込むことを要求するために使用される、ステップと、失効したデジタル証明書のレコードに対してブロックチェーンによって実行される合意検証の合意結果を決定するステップと、合意結果に基づいて第5のトランザクション要求に応答するかまたは第5のトランザクション要求を拒否するステップとを含むデジタル証明書管理方法を提供する。
【００１７】
任意で、方法は、ブロックチェーンに書き込まれる失効したデジタル証明書のレコードに基づいて証明書失効リストを構築するステップであって、証明書失効リストが、失効したデジタル証明書を記録するために使用される、ステップをさらに。
【００１８】
本出願の実装は、以下、すなわち、ブロックチェーン内のノードによって送信された申し込み要求(Application Request)を受信するステップであって、申し込み要求が、デジタル証明書をノードに発行するように認証局(CA)に要求するために使用される、ステップと、申し込み要求に応答してデジタル証明書をノードに発行するステップと、第6のトランザクション要求をブロックチェーンに送信するステップであって、第6のトランザクション要求が、デジタル証明書をブロックチェーンに書き込むことを要求するために使用される、ステップとを含むデジタル証明書管理方法を提供する。したがって、ブロックチェーンは、デジタル証明書に対して合意検証を実行し、合意結果に基づいて第6のトランザクション要求に応答するかまたは第6のトランザクション要求を拒否する。
【００１９】
本出願の実装は、以下、すなわち、認証局(CA)によって送信された第1のトランザクション要求を受信するように構成された受信ユニットであって、第1のトランザクション要求が、CAによってブロックチェーン内のノードに発行されたデジタル証明書をブロックチェーンに書き込むことを要求するために使用される、受信ユニットと、デジタル証明書に対してブロックチェーンによって実行される合意検証の合意結果を決定するように構成された決定ユニットと、合意結果に基づいて第1のトランザクション要求に応答するかまたは第1のトランザクション要求を拒否するように構成された応答ユニットとを含むデジタル証明書管理装置を提供する。
【００２０】
任意で、決定ユニットは、デジタル証明書に関する合意検証に参加するブロックチェーン内のノードの検証結果を決定することと、合意検証に参加するノードの中の第1のノードの数および/または第2のノードの数を決定することであって、第1のノードが、検証結果が「合意検証成功」であるノードであり、第2のノードが、検証結果が「合意検証失敗」であるノードである、決定することと、第1のノードの数および/または第2のノードの数に基づいて合意結果を決定することとを行うように構成される。
【００２１】
本出願の実装は、メモリおよびプロセッサを含み、メモリが、プログラムを記憶するように構成され、プロセッサが、メモリに記憶されたプログラムを実行し、特に、以下の動作、すなわち、認証局(CA)によって送信された第1のトランザクション要求を受信する動作であって、第1のトランザクション要求が、CAによってブロックチェーン内のノードに発行されたデジタル証明書をブロックチェーンに書き込むことを要求するために使用される、動作と、デジタル証明書に対してブロックチェーンによって実行される合意検証の合意結果を決定する動作と、合意結果に基づいて第1のトランザクション要求に応答するかまたは第1のトランザクション要求を拒否する動作とを実行するように構成されるデジタル証明書管理装置を提供する。
【００２２】
本出願の実装は、以下、すなわち、認証局(CA)によって送信された第2のトランザクション要求を受信するように構成された受信ユニットであって、第2のトランザクション要求が、証明書失効リストをブロックチェーンに書き込むことを要求するために使用され、証明書失効リストが、失効したデジタル証明書を記録するために使用される、受信ユニットと、証明書失効リストに対してブロックチェーンによって実行される合意検証の合意結果を決定するように構成された決定ユニットと、合意結果に基づいて第2のトランザクション要求に応答するかまたは第2のトランザクション要求を拒否するように構成された応答ユニットとを含むデジタル証明書管理装置を提供する。
【００２３】
任意で、応答ユニットは、証明書失効リストに基づいてブロックチェーン内の第3のトランザクション要求を検証することであって、第3のトランザクション要求が、第1のノードのグループと第2のノードのグループとの間でトランザクションを完了することを要求するために使用される、検証することと、検証結果に基づいて第3のトランザクション要求に応答するかまたは第3のトランザクション要求を拒否することとを行うようにさらに構成される。
【００２４】
任意で、応答ユニットは、第1のノードのグループおよび第2のノードのグループのノードのデジタル証明書を証明書失効リストに記録された失効したデジタル証明書と比較し、トランザクションの予め決められたトランザクションの規則を参照して比較結果に基づいて検証結果を決定するようにさらに構成される。
【００２５】
本出願の実装は、以下、すなわち、認証局(CA)によって送信された第5のトランザクション要求を受信するように構成された受信ユニットであって、第5のトランザクション要求が、CAによって失効させられたデジタル証明書のレコードをブロックチェーンに書き込むことを要求するために使用される、受信ユニットと、失効したデジタル証明書のレコードに対してブロックチェーンによって実行される合意検証の合意結果を決定するように構成された決定ユニットと、合意結果に基づいて第5のトランザクション要求に応答するかまたは第5のトランザクション要求を拒否するように構成された応答ユニットとを含むデジタル証明書管理装置を提供する。
【００２６】
任意で、応答ユニットは、ブロックチェーンに書き込まれる失効したデジタル証明書のレコードに基づいて証明書失効リストを構築するようにさらに構成され、証明書失効リストは、失効したデジタル証明書を記録するために使用される。
【００２７】
本出願の実装は、以下、すなわち、ブロックチェーン内のノードによって送信された申し込み要求を受信するように構成された受信ユニットであって、申し込み要求が、デジタル証明書をノードに発行するように認証局(CA)に要求するために使用される、受信ユニットと、申し込み要求に応答してデジタル証明書をノードに発行するように構成された応答ユニットと、第6のトランザクション要求をブロックチェーンに送信するように構成されたトランザクションユニットであって、第6のトランザクション要求が、デジタル証明書をブロックチェーンに書き込むことを要求するために使用される、トランザクションユニットとを含むデジタル証明書管理装置を提供する。したがって、ブロックチェーンは、デジタル証明書に対して合意検証を実行し、合意結果に基づいて第6のトランザクション要求に応答するかまたは第6のトランザクション要求を拒否する。
【００２８】
本出願の実装は、前述のデジタル証明書管理装置のうちの少なくとも1つを含むデジタル証明書管理システムを提供する。
【００２９】
本出願の実装は、以下の有益な効果を実現するために前述の技術的な解決策のうちの少なくとも1つを使用することができる。
【００３０】
CAがデジタル証明書を発行した後およびデジタル証明書がチェーンにつながれる(chained)前に、ブロックチェーンが、デジタル証明書に対して合意検証を実行し、検証結果に基づいてデジタル証明書の有効性を判定し、デジタル証明書がチェーンにつながれることを許す/拒否する。集中的なCAが証明書を発行し、証明書を直接チェーンにつなぐために使用される既存の技術の解決策と比較して、非集中的なCAは、本出願の実装においては、証明書を発行し、発行されたデジタル証明書をブロックチェーンに書き込むことを要求することのみが可能である。言い換えると、CAによって発行されたデジタル証明書は、チェーンにつながれる前は無効である。したがって、たとえCAが欠陥があり(たとえば、ハッキングされており)、デジタル証明書をランダムに発行するために悪意を持って使用されるとしても、発行されたデジタル証明書が無効であるので、ブロックチェーンのセキュリティは影響を受けない。したがって、本出願の実装においては、CAが欠陥があるとき、ブロックチェーンのセキュリティを改善するために、ブロックチェーン全体が、大きなセキュリティのリスクを負うことを効果的に防止され得る。
【００３１】
本明細書において説明される添付の図面は、本出願をさらに理解させ、本出願の一部をなすように意図される。本出願の例示的な実装および実装の説明は、本出願を説明するように意図されており、本出願を限定しない。
【図面の簡単な説明】
【００３２】
【図１】既存の技術においてCAシステムがブロックチェーンにデジタル証明書を書き込む手順を示す概略図である。
【図２】本出願の実装1によるデジタル証明書管理方法を示す概略的な流れ図である。
【図３】本出願の実装による、CAシステムがブロックチェーンにデジタル証明書を書き込む原理を示す概略図である。
【図４】本出願の実装2によるデジタル証明書管理方法の合意検証ステップを示す概略的な流れ図である。
【図５】本出願の実装3によるデジタル証明書管理方法を示す概略的な流れ図である。
【図６】本出願の実装による、CAシステムがブロックチェーンにデジタル証明書を書き込む原理を示す概略図である。
【図７】本出願の実装4によるデジタル証明書管理方法を示す概略的な流れ図である。
【図８】本出願の実装5によるデジタル証明書管理方法を示す概略的な流れ図である。
【図９】本出願の実装6によるデジタル証明書管理装置を示す概略的な構造図である。
【図１０】本出願の実装7による電子デバイスを示す概略的な構造図である。
【図１１】本出願の実装8によるデジタル証明書管理装置を示す概略的な構造図である。
【図１２】本出願の実装9による電子デバイスを示す概略的な構造図である。
【図１３】本出願の実装10によるデジタル証明書管理装置を示す概略的な構造図である。
【図１４】本出願の実装11による電子デバイスを示す概略的な構造図である。
【図１５】本出願の実装12によるデジタル証明書管理装置を示す概略的な構造図である。
【図１６】本出願の実装13による電子デバイスを示す概略的な構造図である。
【図１７】本開示の実装によるデジタル証明書管理システムにおいてデジタル証明書を守るためのコンピュータによって実施される方法の例を示す流れ図である。
【発明を実施するための形態】
【００３３】
本出願の目的、技術的な解決策、および利点をより明瞭にするために、以下で本出願の技術的な解決策を本出願の実装および対応する添付の図面を参照して説明する。明らかに、説明される実装は、本出願の実装のすべてではなく一部であるに過ぎない。創造的な努力なしに本出願の実装に基づいて当業者によって得られたその他の実装は、本出願の保護範囲内に入る。
【００３４】
本出願の実装において提供される技術的な解決策が、添付の図面を参照して以下で詳細に説明される。
【００３５】
実装1
図2は、本出願のこの実装によるデジタル証明書管理方法を示す概略的な流れ図である。図2を参照すると、方法は、特に、以下のステップを含む。
【００３６】
ステップ22:  認証局(CA)によって送信された第1のトランザクション要求を受信し、第1のトランザクション要求は、CAによってブロックチェーン内のノードに発行されたデジタル証明書をブロックチェーンに書き込むことを要求するために使用される。
【００３７】
たとえば、図3を参照すると、ブロックチェーン内のノード2が、CAにデジタル証明書を申し込む。CAは、ノード2にデジタル証明書を発行し、第1のトランザクション要求を開始することによってノード2のデジタル証明書をブロックチェーンに書き込むことを要求する。
【００３８】
デジタル証明書は、バージョン、通し番号、署名アルゴリズムの種類、発行者情報、有効期間、発行者、発行された公開鍵、CAのデジタル署名、その他の情報などを含み得る。
【００３９】
ステップ24:  デジタル証明書に対してブロックチェーンによって実行される合意検証の合意結果を決定する。
【００４０】
図3を参照すると、トランザクション要求を受信した後、ブロックチェーンは、ノード2のデジタル証明書に対して合意検証を実行する。検証の基準は、デジタル証明書内の情報に関連し、たとえば、有効期間が過ぎるかどうか、または通し番号が要件を満たすかどうかであることが可能である。代替的に、検証は、カスタマイズされた基準に基づいて実行され得る。たとえば、カスタマイズされた文字列Aが、デジタル証明書に追加され得る。検証は、文字列Aがデジタル証明書内に存在することをノードが検出する場合に成功する。検証は、文字列Aがデジタル証明書内に存在しない場合、失敗する。
【００４１】
ステップ26:  合意結果に基づいて第1のトランザクション要求に応答するかまたは第1のトランザクション要求を拒否する。
【００４２】
ブロックチェーンが、合意結果が「合意検証成功」である場合に第1のトランザクション要求に応答する、言い換えると、デジタル証明書が有効であると判定し、デジタル証明書がブロックチェーンに書き込まれることを許すことを理解することは、難しくない。証明書を申し込むノード(たとえば、図3のノード2)がトランザクションを開始するとき、ノードのデジタル証明書は、正常に使用され得る。ブロックチェーンは、合意結果が「合意検証失敗」である場合に第1のトランザクション要求を拒否し、言い換えると、CAによって発行されたデジタル証明書が無効であると考え、デジタル証明書がチェーンにつながれることを拒否する。
【００４３】
本出願のこの実装においては、CAがデジタル証明書を発行した後およびデジタル証明書がチェーンにつながれる前に、ブロックチェーンが、デジタル証明書に対して合意検証を実行し、検証結果に基づいてデジタル証明書の有効性を判定し、デジタル証明書がチェーンにつながれることを許す/拒否することが分かる。集中的なCAが証明書を発行し、証明書を直接チェーンにつなぐために使用される既存の技術の解決策と比較して、非集中的なCAは、本出願のこの実装においては、証明書を発行し、発行されたデジタル証明書をブロックチェーンに書き込むことを要求することのみが可能である。言い換えると、CAによって発行されたデジタル証明書は、チェーンにつながれる前は無効である。したがって、たとえCAが欠陥があり(たとえば、ハッキングされており)、デジタル証明書をランダムに発行するために悪意を持って使用されるとしても、発行されたデジタル証明書が無効であるので、ブロックチェーンのセキュリティは影響を受けない。したがって、本出願のこの実装においては、CAが欠陥があるとき、ブロックチェーンのセキュリティを改善するために、ブロックチェーン全体が、大きなセキュリティのリスクを負うことを効果的に防止され得る。
【００４４】
実装2
この実装と実装1との間の違いは、ステップ24がこの実装においてはさらに制限されることである。図4を参照すると、ステップ24における合意検証は、特に、以下のステップを含む。
【００４５】
ステップ42:  デジタル証明書に関する合意検証に参加するブロックチェーン内のノードの検証結果を決定する。
【００４６】
たとえば、図4を参照すると、CAが第1のトランザクション要求を使用することによってノード2に発行されたデジタル証明書をブロックチェーンに送信した後、ブロックチェーン内のノードが、デジタル証明書を検証する。
【００４７】
ポイントツーポイントネットワークには比較的大きなネットワーク遅延が存在し、ノードによって観測されるトランザクションのシーケンスは一貫性がない可能性がある。したがって、合意メカニズムは、ノード上で発生するトランザクションのシーケンスに関して合意に達するために予め決められる必要がある。
【００４８】
予め決められた合意メカニズムに基づいて、ブロックチェーン内のノードは、デジタル証明書に関する合意検証を順次実行する。各ノードは、ノードの検証結果およびCAのトランザクション要求を別のノードに通知するために、合意検証を完了した後にアナウンスをブロードキャストする。それから、合意検証に参加するノードの検証結果が、各ノードによってブロードキャストされたアナウンスに基づいて決定される。加えて、各ノードは、複数の署名および認証を完了するために、デジタル証明書を検証するとき、デジタル証明書に署名することができる。
【００４９】
予め決められた合意メカニズムは、プルーフオブワーク(proof of work)メカニズム、プルーフオブステーク(proof of stake)メカニズムなどであることが可能である。
【００５０】
ステップ44:  合意検証に参加するノードの中の第1のノードの数および/または第2のノードの数を決定し、第1のノードは、検証結果が「合意検証成功」であるノードであり、第2のノードは、検証結果が「合意検証失敗」であるノードである。
【００５１】
第1のノードの数および第2のノードの数をカウントするために、合意検証に参加するノードが、合意検証に参加するノードの検証結果に基づいて分類されることを理解することは難しくない。
【００５２】
ステップ46:  第1のノードの数および/または第2のノードの数に基づいて合意結果を決定する。
【００５３】
合意結果を決定するための複数の方法が存在することに留意されたい。例は、以下の通りである。
【００５４】
方法1:  第1のノードの数が第1の予め決められた閾値に達するときに、デジタル証明書に関する合意検証が成功すると判定する。
【００５５】
第1の予め決められた閾値は、ブロックチェーン内のノードの総和に等しいか、またはブロックチェーン内のノードの総和未満であることが可能であり、それは、状況に応じて特に決定されることが可能である。第1の予め決められた閾値がノードの総和に等しい場合、第2のノードの数が0に等しくないとき、デジタル証明書に関する合意検証が失敗すると判定される。
【００５６】
方法2:  第1に、合意検証に参加するノードの数が、たとえば、600に設定され、言い換えると、最初に合意検証を完了するノードであるブロックチェーン内の600個のノードに設定される。それから、600個のノードの中の第1のノードの割合が、リアルタイムで決定される。割合が第2の予め決められた閾値に達するときに、デジタル証明書に関する合意検証が成功すると判定する。
【００５７】
方法3:  第1に、合意検証の継続時間が、たとえば、2sに設定される。それから、2s以内に合意検証を完了する第1のノードおよび第2のノードの数がカウントされ、そして、第1のノード/第2のノードの割合が計算される。デジタル証明書に関する合意検証が成功するかどうかは、第1のノード/第2のノードの割合または数に基づいて判定される。
【００５８】
本出願のこの実施形態においては、達せられた合意結果を決定するために、合意検証を完了した後にノードによってブロードキャストされた検証結果に基づいて各ノードの検証結果が決定されることが分かる。ブロックチェーン内のノードの半分よりも多くまたはさらにはすべてが、合意検証プロセスに参加し、合意検証プロセスを完了する。したがって、合意結果は、ノードのほとんどまたはさらにはすべてが同時にハッキングされない限り影響を受けない。したがって、本出願のこの実装においては、ブロックチェーンのセキュリティが、さらに改善され得る。
【００５９】
実装3
図5は、本出願の実装3によるデジタル証明書管理方法を示す概略的な流れ図である。図5を参照すると、方法は、特に、以下のステップを含む。
【００６０】
ステップ52:  認証局(CA)によって送信された第2のトランザクション要求を受信し、第2のトランザクション要求は、証明書失効リストをブロックチェーンに書き込むことを要求するために使用され、証明書失効リストは、失効したデジタル証明書を記録するために使用される。
【００６１】
ステップ54:  証明書失効リストに対してブロックチェーンによって実行される合意検証の合意結果を決定する。
【００６２】
図6を参照すると、証明書失効リストがチェーンにつながれる前に、ブロックチェーンは、CAによって送信された証明書失効リストがCAがハッキングされた後にCAによって送信された正しくない証明書失効リストであることを防止するために、失効リストに対して合意検証を実行する必要があることに留意されたい。検証方法に関しては、実装1に記録された関連する内容を参照されたい。デジタル証明書の検証基準が証明書失効リストの検証基準と同じであることが可能であり、または異なることが可能であることを理解することは、難しくない。例として、カスタマイズされた検証方法が使用される。2つの対応する検証基準は、それぞれ、文字列Aであることが可能であり、またはそれぞれ、文字列Aおよび文字列Bであることが可能である。これは、本明細書において特に限定されない。
【００６３】
ステップ56:  合意結果に基づいて第2のトランザクション要求に応答するかまたは第2のトランザクション要求を拒否する。
【００６４】
合意検証が成功した後、ブロックチェーンは、ブロックチェーンのピアネットワークおよび合意アルゴリズムを使用することによって、証明書失効リストをブロックチェーン内の各ノードと同期することができることに留意されたい。言い換えると、ブロックチェーンは、各ノードに証明書失効リストをブロードキャストする。そして、ノードは、証明書失効リストをローカルの台帳に記憶することができる。
【００６５】
それから、第3のトランザクション要求がブロックチェーンにおいて発生するとき、ブロックチェーンは、両方のトランザクションの当事者のデジタル証明書のパーミッションを調べるために、ローカルの台帳の中の証明書失効リストに基づいてブロックチェーン内の第3のトランザクション要求を検証することができ、第3のトランザクション要求は、第1のノードのグループと第2のノードのグループとの間でトランザクションを完了することを要求するために使用され、ブロックチェーンは、検証結果に基づいて第3のトランザクション要求に応答するかまたは第3のトランザクション要求を拒否することができる。
【００６６】
第1のノードのグループおよび第2のノードのグループは、それぞれ、少なくとも1つのノードを含む。加えて、一方のノードのグループは、トランザクション開始ノードのグループであり、他方のノードのグループは、トランザクション受信ノードのグループである。
【００６７】
図6を参照すると、以下の検証方式が、ノード2がトランザクション開始ノードであり、ノード1がトランザクション受信ノードである例を使用することによって説明される。
【００６８】
方式1:  ノード1がノード2によって開始されたトランザクションを受信するとき、ノード1は、ノード2のデジタル証明書を取得するためにトランザクションを解析し、それから、ローカルの台帳から証明書失効リストを抽出し、ノード2のデジタル証明書を証明書失効リストに記録されたそれぞれの失効したデジタル証明書と比較する。ノード2のデジタル証明書が証明書失効リストに属する場合、ノード1は、ノード2のデジタル証明書が関連するトランザクションのパーミッションを持たないと判定し、ノード2によって開始されたトランザクション要求を拒否する。ノード2のデジタル証明書が関連するトランザクションのパーミッションを有する場合、ノード1は、2つのノードの間のトランザクションを完了し、トランザクションをチェーンにつなぐために、ノード2によって開始されたトランザクション要求に応答する。
【００６９】
方式2:  ノード1は、ノード2によって開始されたトランザクションを受信し、トランザクションデータをフィードバックするために、ノード2のデジタル証明書に関する検証が成功することを比較によって知った後、トランザクションに応答する。ノード2は、ノード1によってフィードバックされたトランザクションデータ内で運ばれるノード1のデジタル証明書を検証し、検証が失敗する場合、トランザクションを拒否し、または検証が成功する場合、トランザクションを完了し、トランザクションをチェーンにつなぐ。
【００７０】
加えて、トランザクションを開始する前に、ノード2およびノード1は、互いのデジタル証明書を取得するためにまず「ハンドシェイク」を行い、それから、それらのノードのそれぞれのローカルの台帳から証明書失効リストを抽出し、互いのデジタル証明書を検証することができる。ノード2は、両方の検証が成功する場合にトランザクションを開始する。
【００７１】
トランザクションの規則がトランザクションの特徴によって変わることを理解することは、難しくない。したがって、証明書失効リストの中のデジタル証明書と開始ノードのグループおよびトランザクション受信ノードのグループの中のデジタル証明書との間の比較の結果に対応する様々な種類の検証が存在し得る。たとえば、第1の種類のトランザクションは、以下の通りである。トランザクションの開始者が、ノードAのみを含み、トランザクションの受信者が、複数のノードを含む。トランザクションの規則は、両方のトランザクションの当事者のノードのすべてのデジタル証明書がトランザクションのパーミッションを有する必要があるということであることが可能である。トランザクションは、ノードAのデジタル証明書およびトランザクションの受信者のうちの少なくとも1つのノードのデジタル証明書がトランザクションのパーミッションを有する限り、実行され得る。ノードAは、トランザクションの受信者のうちのトランザクションのパーミッションを有するノードとのトランザクションを実行することができる。
【００７２】
トランザクションの規則は、ユーザのニーズに基づいて決定されることが可能であり、本明細書において限定されない。
【００７３】
トランザクションは、資産(asset)転送情報を含み得る。情報は、売り手(転送者)のアイデンティティ、買い手(受信者)のアイデンティティ、トランザクションの資産もしくは値、トランザクションの時間、および(または)潜在的な契約条項を含む。
【００７４】
この実装において、失効した証明書は、変わり得る。たとえば、1つまたは複数のデジタル証明書が追加される場合、CAは、追加される失効したデジタル証明書の関連情報を更新情報として使用し、証明書失効リストに関する更新情報をブロックチェーンに書き込むことを要求するために、更新情報を第4のトランザクション要求の形態でブロックチェーンに発給する。それから、ブロックチェーン内のノードが、合意結果に関する更新情報に対して合意検証を実行する。そして、ノードは、合意結果に基づいて第4のトランザクション要求に応答し、更新情報をブロックチェーンに書き込むか、または合意結果に基づいて第4のトランザクション要求を拒否する。
【００７５】
さらに、検証プロセスに関しては、前述の実装に記録された関連する内容を参照されたい。詳細は、本明細書において再度説明されない。
【００７６】
ブロックチェーン内のノードは、新しく追加された失効したデジタル証明書を証明書失効リストに追加する。
【００７７】
この実装においては、証明書失効リストがブロックチェーンに発給され、したがって、トランザクション要求を受信するとき、ノードは、ローカルの台帳から証明書失効リストを直接読み、トランザクション開始ノードのデジタル証明書が失効したデジタル証明書であるかどうかを検証することが分かる。ノードがトランザクション開始ノードのデジタル証明書をCAに送信し、CAが記憶された失効リストに基づいてデジタル証明書のパーミッションを検証し、検証結果をノードに返す既存の技術の技術的な解決策と比較すると、本出願のこの実装においては、CAの検証サービスを遠隔で要求する必要がない。したがって、デジタル証明書の検証のコストが、効果的に削減されることが可能であり、トランザクションの効率が、改善されることが可能である。
【００７８】
さらに、本出願のこの実施形態においては、ブロックチェーン内のノードが、証明書失効リストの有効性を検証するために、証明書失効リストがチェーンにつながれる前に証明書失効リストに関する合意検証を実行し、証明書失効リストに署名し、それによって、CAがハッキングされた後にCAによって送信された正しくない証明書失効リストを防止する。その上、証明書失効リストは、ローカルの台帳に記憶される。したがって、たとえCAがハッキングされるとしても、既存の技術的な解決策における以下の問題が起こらない。CAがハッキングされることが原因で、証明書失効リストがランダムに修正され、その結果、ノードのデジタル証明書のパーミッションがランダムに失効させられ、したがって、トランザクションが正常に実行され得ないか、またはブロックチェーン全体のセキュリティさえも影響を受ける。
【００７９】
実装4
図7は、本出願の実装4によるデジタル証明書管理方法を示す概略的な流れ図である。図7を参照すると、方法は、以下のステップを含む。
【００８０】
72.  認証局(CA)によって送信された第5のトランザクション要求を受信し、第5のトランザクション要求は、CAによって失効させられたデジタル証明書のレコードをブロックチェーンに書き込むことを要求するために使用される。
【００８１】
74.  失効したデジタル証明書のレコードに対してブロックチェーンによって実行される合意検証の合意結果を決定する。
【００８２】
76.  合意結果に基づいて第5のトランザクション要求に応答するかまたは第5のトランザクション要求を拒否する。
【００８３】
ブロックチェーンは、レコードに対する合意検証が失敗する場合、第5のトランザクション要求を拒否する。ブロックチェーンは、レコードに対する合意検証が成功する場合、第5のトランザクション要求に応答し、ブロックチェーンに書き込まれる失効したデジタル証明書のレコードに基づいて証明書失効リストを構築する。証明書失効リストは、失効したデジタル証明書を記録するために使用される。
【００８４】
そして、その後ブロックチェーンに書き込まれるレコードは、証明書失効リストを更新するための更新データとして使用される。
【００８５】
ブロックチェーンに書き込まれた後、レコードが各ノードにブロードキャストされることを理解することは、難しくない。したがって、各ノードは、ローカルの台帳内で証明書失効リストを構築する。
【００８６】
この実装は、実装3と同様であることに留意されたい。したがって、レコード検証方法、証明書失効リストを使用することによってトランザクションに参加するノードのデジタル証明書のパーミッションに対して実行される検証などに関しては、実装3の関連する記録を参照されたい。
【００８７】
この実装において、CAは、証明書を発行する、証明書を失効させることなどしかできず、証明書失効リストの構築、記憶、および保守は、ブロックチェーン内のノードによって完了されることが分かる。したがって、トランザクション要求を受信するとき、ノードは、ローカルの台帳から証明書失効リストを直接読み、トランザクション開始ノードのデジタル証明書が失効したデジタル証明書であるかどうかを検証することができる。ノードがトランザクション開始ノードのデジタル証明書をCAに送信し、CAが記憶された失効リストに基づいてデジタル証明書のパーミッションを検証し、検証結果をノードに返す既存の技術の技術的な解決策と比較すると、本出願のこの実装においては、CAの検証サービスを遠隔で要求する必要がない。したがって、デジタル証明書の検証のコストが、効果的に削減されることが可能であり、トランザクションの効率が、改善されることが可能である。
【００８８】
実装5
図8は、本出願の実装5によるデジタル証明書管理方法を示す概略的な流れ図である。図8を参照すると、この実装は、CAによって実行され、方法は、特に、以下のステップを含む。
【００８９】
82.  ブロックチェーン内のノードによって送信された申し込み要求を受信し、申し込み要求は、デジタル証明書をノードに発行するように認証局(CA)に要求するために使用される。
【００９０】
84.  申し込み要求に応じてノードにデジタル証明書を発行する。
【００９１】
86.  ブロックチェーンに第6のトランザクション要求を送信し、第6のトランザクション要求は、ブロックチェーンがデジタル証明書に対して合意検証を実行し、合意結果に基づいて第6のトランザクション要求に応答するかまたは第6のトランザクション要求を拒否するように、ブロックチェーンにデジタル証明書を書き込むことを要求するために使用される。
【００９２】
図3を参照すると、たとえば、ノード2が、CAに証明書申し込み要求を送信する。要求は、ノード2の関連情報、たとえば、ノード2の識別子を含む。そして、CAが、ノード2の関連情報を検証し、検証が成功する場合、ノード2にデジタル証明書を発行し、ノード2のデジタル証明書をブロックチェーンに書き込むための要求を開始する。
【００９３】
この実装および前述の実装は互いに対応するので、一部のステップは、再度詳細に説明されない。詳細に関しては、前述の実装の対応する部分を参照されたい。
【００９４】
本出願のこの実装においては、デジタル証明書をノードに発行した後、CAがデジタル証明書をチェーンにつなぐようにブロックチェーンに要求することが分かる。ブロックチェーンは、デジタル証明書の有効性を検証し、デジタル証明書をチェーンにつなぐべきかどうかを判定する。CAがデジタル証明書をノードに発行し、チェーンにつなぐためにブロックチェーンにデジタル証明書を直接書き込む既存の技術の解決策と比較して、本出願のこの実装のCAは、集中的な証明書の管理、証明書の記憶、および証明書のチェーンへの連結を実行することができず、デジタル証明書を発行することのみが可能である。したがって、CAが攻撃されるリスクが、減らされることが可能であり、CAの安定性およびセキュリティが、改善されることが可能である。
【００９５】
説明を簡潔にするために、前述の方法の実装が、一連のアクションの組合せとして表される。しかし、当業者は、一部のステップが本開示の実装に従ってその他の順序で実行されるかまたは同時に実行されることが可能であるので、本開示の実装が説明されたアクションの順序に限定されないことを理解するはずである。さらに、当業者は、本明細書において説明されたすべての実装が実装の例であり、言及されたアクションが本開示の実装に必須であるとは限らないことも理解するはずである。
【００９６】
実装6
図9は、本出願の実装6によるデジタル証明書管理装置を示す概略的な構造図である。図9を参照すると、装置は、受信ユニット91、決定ユニット92、および応答ユニット93を含む。
【００９７】
受信ユニット91は、認証局(CA)によって送信された第1のトランザクション要求を受信するように構成され、第1のトランザクション要求は、CAによってブロックチェーン内のノードに発行されたデジタル証明書をブロックチェーンに書き込むことを要求するために使用される。
【００９８】
決定ユニット92は、デジタル証明書に対してブロックチェーンによって実行される合意検証の合意結果を決定するように構成される。
【００９９】
応答ユニット93は、合意結果に基づいて第1のトランザクション要求に応答するかまたは第1のトランザクション要求を拒否するように構成される。
【０１００】
図3を参照すると、たとえば、ノード2が、CAに証明書申し込み要求を送信する。CAは、ノード2の要求に応答し、ノード2にデジタル証明書を発行し、発行されたデジタル証明書をチェーンにつなぐようにトランザクションの形態で要求する。受信ユニット91は、CAによって送信されたトランザクション要求を受信し、トランザクション要求を決定ユニット92に転送する。決定ユニット92は、デジタル証明書の有効性を判定するために、デジタル証明書に対してブロックチェーンによって実行される合意検証の合意結果を決定する。それから、決定ユニット92は、決定された合意結果を応答ユニット93に送信する。応答ユニット93は、合意結果を分析し、合意結果が「検証成功」であることを分析によって知る場合に、CAのトランザクション要求に応答し、デジタル証明書がチェーンにつながれることを許すか、または合意結果が「検証失敗」であることを分析によって知る場合に、CAのトランザクション要求を拒否し、デジタル証明書がチェーンにつながれることを拒絶する。
【０１０１】
この実装において、決定ユニット92の合意検証原理は、以下を含む。
【０１０２】
デジタル証明書に関する合意検証に参加するブロックチェーン内のノードの検証結果が、決定される。好ましくは、ノードがデジタル証明書に対して合意検証を実行した後にノードによって発給されるアナウンスが、決定される。アナウンスは、トランザクション要求およびノードの検証結果を別のノードにブロードキャストするために使用される。合意検証に参加するすべてのノードの検証結果が、各ノードのアナウンスに基づいて決定される。
【０１０３】
合意検証に参加するすべてのノードの中の第1のノードの数が、決定される。第1のノードは、検証結果が「合意検証成功」であるノードである。
【０１０４】
合意結果は、第1のノードの数に基づいて決定される。好ましくは、デジタル証明書に関する合意検証は、第1のノードの数が第1の予め決められた閾値に達するとき、または合意検証に参加するすべてのノードの中の第1のノードの割合が第2の予め決められた閾値に達するときに成功すると決定される。
【０１０５】
本出願のこの実装においては、CAがデジタル証明書を発行した後およびデジタル証明書がチェーンにつながれる前に、ブロックチェーンが、デジタル証明書に対して合意検証を実行し、検証結果に基づいてデジタル証明書の有効性を判定し、デジタル証明書がチェーンにつながれることを許す/拒否することが分かる。集中的なCAが証明書を発行し、証明書を直接チェーンにつなぐために使用される既存の技術の解決策と比較して、非集中的なCAは、本出願のこの実装においては、証明書を発行し、発行されたデジタル証明書をブロックチェーンに書き込むことを要求することのみが可能である。言い換えると、CAによって発行されたデジタル証明書は、チェーンにつながれる前は無効である。したがって、たとえCAが欠陥があり(たとえば、ハッキングされており)、デジタル証明書をランダムに発行するために悪意を持って使用されるとしても、発行されたデジタル証明書が無効であるので、ブロックチェーンのセキュリティは影響を受けない。したがって、本出願のこの実装においては、CAが欠陥があるとき、ブロックチェーンのセキュリティを改善するために、ブロックチェーン全体が、大きなセキュリティのリスクを負うことを効果的に防止され得る。
【０１０６】
実装7
図10は、本出願の実装7による電子デバイスを示す概略的な構造図である。図10を参照すると、ハードウェアの観点から見て、電子デバイスは、プロセッサと、内部バスと、ネットワークインターフェースと、メモリと、不揮発性メモリとを含み、もちろん、別のサービスによって必要とされるハードウェアをさらに含み得る。プロセッサは、不揮発性メモリからメモリに対応するコンピュータプログラムを読み込み、それから、論理的なレベルでデジタル証明書管理装置を形成するためにコンピュータプログラムを実行する。もちろん、ソフトウェアの実装に加えて、本出願は、別の実装、たとえば、論理デバイスまたはハードウェアとソフトウェアとの組合せを除外しない。言い換えると、以下の処理手順の実行主体は、論理ユニットに限定されず、ハードウェアまたは論理デバイスであることも可能である。
【０１０７】
ネットワークインターフェース、プロセッサ、およびメモリは、バスシステムを使用することによって相互に接続され得る。バスは、業界標準アーキテクチャ(ISA)バス、周辺装置相互接続(PCI: Peripheral Component Interconnect)バス、拡張業界標準アーキテクチャ(EISA)バスなどであることが可能である。バスは、アドレスバス、データバス、制御バスなどに分類され得る。指示を容易にするために、図10において、バスは、ただ1つの両方向矢印を使用することによって示される。しかし、それは、ただ1つのバスまたはただ1種類のバスが存在することを意味しない。
【０１０８】
メモリは、プログラムを記憶するように構成される。特に、プログラムは、プログラムコードを含むことが可能であり、プログラムコードは、コンピュータ動作命令を含む。メモリは、読み出し専用メモリおよびランダムアクセスメモリを含むことが可能であり、プロセッサのための命令およびデータを提供する。メモリは、高速ランダムアクセスメモリ(RAM)を含むことが可能であり、少なくとも1つの磁気ディスクメモリなどの不揮発性メモリ(non-volatile memory)をさらに含むことが可能である。
【０１０９】
プロセッサは、メモリに記憶されたプログラムを実行し、特に、以下の動作、すなわち、認証局(CA)によって送信された第1のトランザクション要求を受信する動作であって、第1のトランザクション要求が、CAによってブロックチェーン内のノードに発行されたデジタル証明書をブロックチェーンに書き込むことを要求するために使用される、動作と、デジタル証明書に対してブロックチェーンによって実行される合意検証の合意結果を決定する動作と、合意結果に基づいて第1のトランザクション要求に応答するかまたは第1のトランザクション要求を拒否する動作とを実行するように構成される。
【０１１０】
デジタル証明書管理装置またはマスタ(Master)ノードによって実行され、本出願の図2、図4、および図9に示された実装において開示された前述の方法は、プロセッサに適用されるかまたはプロセッサによって実施されることが可能である。プロセッサは、集積回路チップであることが可能であり、信号処理能力を有する。実施のプロセスにおいて、前述の方法のステップは、プロセッサのハードウェアの集積論理回路を使用することによってまたはソフトウェアの形態の命令を使用することによって実施され得る。プロセッサは、中央演算処理装置(CPU)、ネットワークプロセッサ(NP)などを含む汎用プロセッサであることが可能であり、あるいはデジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは別のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理デバイス、またはディスクリートハードウェア構成要素であることが可能であり、本出願の実装において開示された方法、ステップ、および論理ブロック図を実施または実行することが可能である。汎用プロセッサは、マイクロプロセッサであることが可能であり、またはプロセッサは、任意の通常のプロセッサなどであることが可能である。本出願の実装を参照して開示された方法のステップは、ハードウェア復号プロセッサまたは復号プロセッサのハードウェアとソフトウェアモジュールとの組合せを使用することによって直接実行され、完了されることが可能である。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読み出し専用メモリ、プログラマブル読み出し専用メモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの当技術分野の成熟したストレージ媒体に置かれることが可能である。ストレージ媒体は、メモリに置かれ、プロセッサは、メモリ内の情報を読み、プロセッサのハードウェアとの組合せで前述の方法のステップを完了する。
【０１１１】
デジタル証明書管理装置は、さらに、図2の方法を実行し、マスタノードによって実行される方法を実装することができる。
【０１１２】
実装8
図11は、本出願の実装8によるデジタル証明書管理装置を示す概略的な構造図である。図11を参照すると、装置は、受信ユニット111、決定ユニット112、および応答ユニット113を含む。
【０１１３】
受信ユニット111は、認証局(CA)によって送信された第2のトランザクション要求を受信するように構成され、第2のトランザクション要求は、証明書失効リストをブロックチェーンに書き込むことを要求するために使用され、証明書失効リストは、失効したデジタル証明書を記録するために使用される。
【０１１４】
決定ユニット112は、証明書失効リストに対してブロックチェーンによって実行される合意検証の合意結果を決定するように構成される。
【０１１５】
応答ユニット113は、合意結果に基づいて第2のトランザクション要求に応答するかまたは第2のトランザクション要求を拒否するように構成される。
【０１１６】
現在のブロックチェーン-CAシステムがアップグレードされた後、CAは、現在保有されている証明書失効リストをブロックチェーンに発給することに留意されたい。受信ユニット111が証明書失効リストを受信した後、証明書失効リストに対して合意検証が実行される。決定ユニット112は、合意結果を決定し、合意結果を応答ユニット113に送信する。応答ユニット113は、検証が成功することを応答ユニット113が知る場合、チェーンにつなぐことを許し、または検証が失敗する場合、チェーンにつなぐことを拒否する。
【０１１７】
さらに、チェーンにつなぐことは、特に、デジタル証明書のリストを各ノードのローカルの台帳に記憶することであることが可能である。そして、ノードが第3のトランザクション要求を受信するとき、応答ユニット113は、ローカルの台帳に記憶された証明書失効リストに基づいて第3のトランザクション要求を検証し、それから、検証結果に基づいて第3のトランザクション要求に応答するかまたは第3のトランザクション要求を拒否する。第3のトランザクション要求は、第1のノードのグループと第2のノードのグループとの間でトランザクションを完了することを要求するために使用される。
【０１１８】
この実装において、応答ユニット113の動作原理は、以下の通りである。
【０１１９】
第1のノードのグループおよび第2のノードのグループのノードのデジタル証明書が、証明書失効リストに記録された失効したデジタル証明書と比較される。検証結果は、トランザクションの予め決められたトランザクションの規則を参照して比較結果に基づいて決定される。
【０１２０】
この実装において、装置は、CAによって送信された第4のトランザクション要求を受信することであって、第4のトランザクション要求が、証明書失効リストの更新情報をブロックチェーンに書き込むことを要求するために使用される、受信することと、更新情報に対してブロックチェーンによって実行される合意検証の合意結果を決定することと、合意結果に基づいて第4のトランザクション要求に応答するかまたは第4のトランザクション要求を拒否するように構成された更新ユニットをさらに含む。
【０１２１】
この実装においては、トランザクション開始ノードによって開始されたトランザクションを受信するときに、ノードがローカルの台帳から証明書失効リストを直接読み、トランザクション開始ノードのデジタル証明書のパーミッションを検証するように、証明書失効リストがブロックチェーンに発給されることが分かる。CAの検証サービスを遠隔で呼び出す必要はない。したがって、検証のコストが、効果的に削減されることが可能であり、検証の効率が、改善されることが可能である。さらに、証明書失効リストがローカルの台帳に記憶されるので、たとえCAがハッキングされるとしても、深刻な結果にならない。
【０１２２】
実装9
図12は、本出願の実装9による電子デバイスを示す概略的な構造図である。図12を参照すると、電子デバイスは、プロセッサと、内部バスと、ネットワークインターフェースと、メモリと、不揮発性メモリとを含み、もちろん、別のサービスによって必要とされるハードウェアをさらに含み得る。プロセッサは、不揮発性メモリからメモリに対応するコンピュータプログラムを読み込み、それから、論理的なレベルでデジタル証明書管理装置を形成するためにコンピュータプログラムを実行する。もちろん、ソフトウェアの実装に加えて、本出願は、別の実装、たとえば、論理デバイスまたはハードウェアとソフトウェアとの組合せを除外しない。言い換えると、以下の処理手順の実行主体は、論理ユニットに限定されず、ハードウェアまたは論理デバイスであることも可能である。
【０１２３】
ネットワークインターフェース、プロセッサ、およびメモリは、バスシステムを使用することによって相互に接続され得る。バスは、業界標準アーキテクチャ(ISA)バス、周辺装置相互接続(PCI)バス、拡張業界標準アーキテクチャ(EISA)バスなどであることが可能である。バスは、アドレスバス、データバス、制御バスなどに分類され得る。指示を容易にするために、図12において、バスは、ただ1つの両方向矢印を使用することによって示される。しかし、それは、ただ1つのバスまたはただ1種類のバスが存在することを意味しない。
【０１２４】
メモリは、プログラムを記憶するように構成される。特に、プログラムは、プログラムコードを含むことが可能であり、プログラムコードは、コンピュータ動作命令を含む。メモリは、読み出し専用メモリおよびランダムアクセスメモリを含むことが可能であり、プロセッサのための命令およびデータを提供する。メモリは、高速ランダムアクセスメモリ(RAM)を含むことが可能であり、少なくとも1つの磁気ディスクメモリなどの不揮発性メモリ(non-volatile memory)をさらに含むことが可能である。
【０１２５】
プロセッサは、メモリに記憶されたプログラムを実行し、特に、以下の動作、すなわち、認証局(CA)によって送信された第2のトランザクション要求を受信する動作であって、第2のトランザクション要求が、証明書失効リストをブロックチェーンに書き込むことを要求するために使用され、証明書失効リストが、失効したデジタル証明書を記録するために使用される、動作と、証明書失効リストに対してブロックチェーンによって実行される合意検証の合意結果を決定する動作と、合意結果に基づいて第2のトランザクション要求に応答するかまたは第2のトランザクション要求を拒否する動作とを実行するように構成される。
【０１２６】
デジタル証明書管理装置またはマスタ(Master)ノードによって実行され、本出願の図5および図11に示された実装において開示された前述の方法は、プロセッサに適用されるかまたはプロセッサによって実施されることが可能である。プロセッサは、集積回路チップであることが可能であり、信号処理能力を有する。実施のプロセスにおいて、前述の方法のステップは、プロセッサのハードウェアの集積論理回路を使用することによってまたはソフトウェアの形態の命令を使用することによって実施され得る。プロセッサは、中央演算処理装置(CPU)、ネットワークプロセッサ(NP)などを含む汎用プロセッサであることが可能であり、あるいはデジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは別のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理デバイス、またはディスクリートハードウェア構成要素であることが可能であり、本出願の実装において開示された方法、ステップ、および論理ブロック図を実施または実行することが可能である。汎用プロセッサは、マイクロプロセッサであることが可能であり、またはプロセッサは、任意の通常のプロセッサなどであることが可能である。本出願の実装を参照して開示された方法のステップは、ハードウェア復号プロセッサまたは復号プロセッサのハードウェアとソフトウェアモジュールとの組合せを使用することによって直接実行され、完了されることが可能である。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読み出し専用メモリ、プログラマブル読み出し専用メモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの当技術分野の成熟したストレージ媒体に置かれることが可能である。ストレージ媒体は、メモリに置かれ、プロセッサは、メモリ内の情報を読み、プロセッサのハードウェアとの組合せで前述の方法のステップを完了する。
【０１２７】
デジタル証明書管理装置は、さらに、図5の方法を実行し、マスタノードによって実行される方法を実装することができる。
【０１２８】
実装10
図13は、本出願の実装10によるデジタル証明書管理装置を示す概略的な構造図である。図13を参照すると、装置は、受信ユニット131、決定ユニット132、および応答ユニット133を含む。
【０１２９】
受信ユニット131は、認証局(CA)によって送信された第5のトランザクション要求を受信するように構成され、第5のトランザクション要求は、CAによって失効させられたデジタル証明書のレコードをブロックチェーンに書き込むことを要求するために使用される。
【０１３０】
決定ユニット132は、失効したデジタル証明書のレコードに対してブロックチェーンによって実行される合意検証の合意結果を決定するように構成される。
【０１３１】
応答ユニット133は、合意結果に基づいて第5のトランザクション要求に応答するかまたは第5のトランザクション要求を拒否するように構成される。
【０１３２】
実装8との違いは、この実装が再構築されたCAシステムに適用可能であることであることに留意されたい。再構築されたシステムにおいて、CAは、ブロックチェーンに第1の失効した証明書のレコードを発給することを要求する。CAの要求を受信した後、受信ユニット131は、要求を決定ユニット132に転送する。決定ユニット132は、レコードに対して合意検証を実行し、検証結果を応答ユニット133に送信する。応答ユニット133は、検証が成功することを応答ユニット133が知る場合、チェーンにつなぐことを許し、または検証が失敗する場合、チェーンにつなぐことを拒否する。
【０１３３】
加えて、ブロックチェーン内の各ノードが、通し番号などの失効したデジタル証明書についての情報を記憶するために、第1の失効した証明書のレコードに基づいてローカルの台帳内に証明書失効リストを構築することを理解することは難しくない。そして、それぞれの証明書失効リストが、ブロックチェーンにその後書き込まれるレコードに基づいて更新され、保守される。
【０１３４】
トランザクションに参加するブロックチェーン内のノードのデジタル証明書のパーミッションを証明書失効リストに基づいて検証するステップなどのステップは、実装8または対応する方法の実装のステップと同様であることに留意されたい。したがって、詳細は、本明細書において再度説明されない。詳細に関しては、対応する実装の関連する記録を参照されたい。
【０１３５】
この実装において、CAは、ノードが証明書失効リストを構築するように、失効した証明書のレコードをブロックチェーンに発給することが分かる。そして、トランザクション開始ノードによって開始されたトランザクションを受信するとき、ノードは、ローカルの台帳から証明書失効リストを直接読み、トランザクション開始ノードのデジタル証明書のパーミッションを検証する。CAの検証サービスを遠隔で呼び出す必要はない。したがって、検証のコストが、効果的に削減されることが可能であり、検証の効率が、改善されることが可能である。さらに、証明書失効リストがローカルの台帳に記憶されるので、たとえCAがハッキングされるとしても、深刻な結果にならない。
【０１３６】
実装11
図14は、本出願の実装11による電子デバイスを示す概略的な構造図である。図14を参照すると、電子デバイスは、プロセッサと、内部バスと、ネットワークインターフェースと、メモリと、不揮発性メモリとを含み、もちろん、別のサービスによって必要とされるハードウェアをさらに含み得る。プロセッサは、不揮発性メモリからメモリに対応するコンピュータプログラムを読み込み、それから、論理的なレベルでデジタル証明書管理装置を形成するためにコンピュータプログラムを実行する。もちろん、ソフトウェアの実装に加えて、本出願は、別の実装、たとえば、論理デバイスまたはハードウェアとソフトウェアとの組合せを除外しない。言い換えると、以下の処理手順の実行主体は、論理ユニットに限定されず、ハードウェアまたは論理デバイスであることも可能である。
【０１３７】
ネットワークインターフェース、プロセッサ、およびメモリは、バスシステムを使用することによって相互に接続され得る。バスは、業界標準アーキテクチャ(ISA)バス、周辺装置相互接続(PCI)バス、拡張業界標準アーキテクチャ(EISA)バスなどであることが可能である。バスは、アドレスバス、データバス、制御バスなどに分類され得る。指示を容易にするために、図14において、バスは、ただ1つの両方向矢印を使用することによって示される。しかし、それは、ただ1つのバスまたはただ1種類のバスが存在することを意味しない。
【０１３８】
メモリは、プログラムを記憶するように構成される。特に、プログラムは、プログラムコードを含むことが可能であり、プログラムコードは、コンピュータ動作命令を含む。メモリは、読み出し専用メモリおよびランダムアクセスメモリを含むことが可能であり、プロセッサのための命令およびデータを提供する。メモリは、高速ランダムアクセスメモリ(RAM)を含むことが可能であり、少なくとも1つの磁気ディスクメモリなどの不揮発性メモリ(non-volatile memory)をさらに含むことが可能である。
【０１３９】
プロセッサは、メモリに記憶されたプログラムを実行し、特に、以下の動作、すなわち、認証局(CA)によって送信された第5のトランザクション要求を受信する動作であって、第5のトランザクション要求が、CAによって失効させられたデジタル証明書のレコードをブロックチェーンに書き込むことを要求するために使用される、動作と、失効したデジタル証明書のレコードに対してブロックチェーンによって実行される合意検証の合意結果を決定する動作と、合意結果に基づいて第5のトランザクション要求に応答するかまたは第5のトランザクション要求を拒否する動作とを実行するように構成される。
【０１４０】
デジタル証明書管理装置またはマスタ(Master)ノードによって実行され、本出願の図7および図13に示された実装において開示された前述の方法は、プロセッサに適用されるかまたはプロセッサによって実施されることが可能である。プロセッサは、集積回路チップであることが可能であり、信号処理能力を有する。実施のプロセスにおいて、前述の方法のステップは、プロセッサのハードウェアの集積論理回路を使用することによってまたはソフトウェアの形態の命令を使用することによって実施され得る。プロセッサは、中央演算処理装置(CPU)、ネットワークプロセッサ(NP)などを含む汎用プロセッサであることが可能であり、あるいはデジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは別のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理デバイス、またはディスクリートハードウェア構成要素であることが可能であり、本出願の実装において開示された方法、ステップ、および論理ブロック図を実施または実行することが可能である。汎用プロセッサは、マイクロプロセッサであることが可能であり、またはプロセッサは、任意の通常のプロセッサなどであることが可能である。本出願の実装を参照して開示された方法のステップは、ハードウェア復号プロセッサまたは復号プロセッサのハードウェアとソフトウェアモジュールとの組合せを使用することによって直接実行され、完了されることが可能である。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読み出し専用メモリ、プログラマブル読み出し専用メモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの当技術分野の成熟したストレージ媒体に置かれることが可能である。ストレージ媒体は、メモリに置かれ、プロセッサは、メモリ内の情報を読み、プロセッサのハードウェアとの組合せで前述の方法のステップを完了する。
【０１４１】
デジタル証明書管理装置は、さらに、図7の方法を実行し、マスタノードによって実行される方法を実装することができる。
【０１４２】
実装12
図15は、本出願の実装12によるデジタル証明書管理装置を示す概略的な構造図である。図15を参照すると、装置は、受信ユニット151、応答ユニット152、およびトランザクションユニット153を含む。
【０１４３】
受信ユニット151は、ブロックチェーン内のノードによって送信された申し込み要求を受信するように構成され、申し込み要求は、デジタル証明書をノードに発行するように認証局(CA)に要求するために使用される。
【０１４４】
応答ユニット152は、申し込み要求に応答してデジタル証明書をノードに発行するように構成される。
【０１４５】
トランザクションユニット153は、第6のトランザクション要求をブロックチェーンに送信するように構成され、第6のトランザクション要求は、デジタル証明書をブロックチェーンに書き込むことを要求するために使用される。したがって、ブロックチェーンは、デジタル証明書に対して合意検証を実行し、合意結果に基づいて第6のトランザクション要求に応答するかまたは第6のトランザクション要求を拒否する。
【０１４６】
ノードによって送信されたデジタル証明書申し込み要求を受信した後、受信ユニット151は、要求を応答ユニット152に送信することに留意されたい。応答ユニット152は、要求に応答し、発行されたデジタル証明書をチェーンにつなぐことを要求する。
【０１４７】
本出願のこの実装においては、デジタル証明書をノードに発行した後、CAがデジタル証明書をチェーンにつなぐようにブロックチェーンに要求することが分かる。ブロックチェーンは、デジタル証明書の有効性を検証し、デジタル証明書をチェーンにつなぐべきかどうかを判定する。CAがデジタル証明書をノードに発行し、チェーンにつなぐためにブロックチェーンにデジタル証明書を直接書き込む既存の技術の解決策と比較して、本出願のこの実装のCAは、集中的な証明書の管理、証明書の記憶、および証明書のチェーンへの連結を実行することができず、デジタル証明書を発行することのみが可能である。したがって、CAが攻撃されるリスクが、減らされることが可能であり、CAの安定性およびセキュリティが、改善されることが可能である。
【０１４８】
実装13
図16は、本出願の実装13による電子デバイスを示す概略的な構造図である。図16を参照すると、電子デバイスは、プロセッサと、内部バスと、ネットワークインターフェースと、メモリと、不揮発性メモリとを含み、もちろん、別のサービスによって必要とされるハードウェアをさらに含み得る。プロセッサは、不揮発性メモリからメモリに対応するコンピュータプログラムを読み込み、それから、論理的なレベルでデジタル証明書管理装置を形成するためにコンピュータプログラムを実行する。もちろん、ソフトウェアの実装に加えて、本出願は、別の実装、たとえば、論理デバイスまたはハードウェアとソフトウェアとの組合せを除外しない。言い換えると、以下の処理手順の実行主体は、論理ユニットに限定されず、ハードウェアまたは論理デバイスであることも可能である。
【０１４９】
ネットワークインターフェース、プロセッサ、およびメモリは、バスシステムを使用することによって相互に接続され得る。バスは、業界標準アーキテクチャ(ISA)バス、周辺装置相互接続(PCI)バス、拡張業界標準アーキテクチャ(EISA)バスなどであることが可能である。バスは、アドレスバス、データバス、制御バスなどに分類され得る。指示を容易にするために、図16において、バスは、ただ1つの両方向矢印を使用することによって示される。しかし、それは、ただ1つのバスまたはただ1種類のバスが存在することを意味しない。
【０１５０】
メモリは、プログラムを記憶するように構成される。特に、プログラムは、プログラムコードを含むことが可能であり、プログラムコードは、コンピュータ動作命令を含む。メモリは、読み出し専用メモリおよびランダムアクセスメモリを含むことが可能であり、プロセッサのための命令およびデータを提供する。メモリは、高速ランダムアクセスメモリ(RAM)を含むことが可能であり、少なくとも1つの磁気ディスクメモリなどの不揮発性メモリ(non-volatile memory)をさらに含むことが可能である。
【０１５１】
プロセッサは、メモリに記憶されたプログラムを実行し、特に、以下の動作、すなわち、ブロックチェーン内のノードによって送信された申し込み要求を受信する動作であって、申し込み要求が、デジタル証明書をノードに発行するように認証局(CA)に要求するために使用される、動作と、申し込み要求に応答してデジタル証明書をノードに発行する動作と、第6のトランザクション要求をブロックチェーンに送信する動作であって、第6のトランザクション要求が、デジタル証明書をブロックチェーンに書き込むことを要求するために使用される、動作とを実行するように構成される。したがって、ブロックチェーンは、デジタル証明書に対して合意検証を実行し、合意結果に基づいて第6のトランザクション要求に応答するかまたは第6のトランザクション要求を拒否する。
【０１５２】
デジタル証明書管理装置またはマスタ(Master)ノードによって実行され、本出願の図8および図15に示された実装において開示された前述の方法は、プロセッサに適用されるかまたはプロセッサによって実施されることが可能である。プロセッサは、集積回路チップであることが可能であり、信号処理能力を有する。実施のプロセスにおいて、前述の方法のステップは、プロセッサのハードウェアの集積論理回路を使用することによってまたはソフトウェアの形態の命令を使用することによって実施され得る。プロセッサは、中央演算処理装置(CPU)、ネットワークプロセッサ(NP)などを含む汎用プロセッサであることが可能であり、あるいはデジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは別のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理デバイス、またはディスクリートハードウェア構成要素であることが可能であり、本出願の実装において開示された方法、ステップ、および論理ブロック図を実施または実行することが可能である。汎用プロセッサは、マイクロプロセッサであることが可能であり、またはプロセッサは、任意の通常のプロセッサなどであることが可能である。本出願の実装を参照して開示された方法のステップは、ハードウェア復号プロセッサまたは復号プロセッサのハードウェアとソフトウェアモジュールとの組合せを使用することによって直接実行され、完了されることが可能である。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読み出し専用メモリ、プログラマブル読み出し専用メモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの当技術分野の成熟したストレージ媒体に置かれることが可能である。ストレージ媒体は、メモリに置かれ、プロセッサは、メモリ内の情報を読み、プロセッサのハードウェアとの組合せで前述の方法のステップを完了する。
【０１５３】
デジタル証明書管理装置は、さらに、図8の方法を実行し、マスタノードによって実行される方法を実装することができる。
【０１５４】
装置の実装は、方法の実装と基本的に同様であり、したがって簡潔に説明される。関連する部分に関しては、方法の実装の部分的な説明を参照されたい。
【０１５５】
本開示の装置の構成要素において、構成要素は、実装される機能に基づいて論理的に分割されることに留意されたい。しかし、本開示は、これに限定されず、構成要素は、必要に応じて分割されるかまたは組み合わされることが可能である。
【０１５６】
実装14
同じ発明の創造に基づいて、本出願のこの実装は、コンピュータ可読ストレージ媒体をさらに提供する。コンピュータ可読ストレージ媒体は、1つまたは複数のプログラムを記憶する。1つまたは複数のプログラムが複数のアプリケーションプログラムを含む電子デバイスによって実行されるとき、電子デバイスは、実装1、3、4、および5において提供されるデジタル証明書管理方法を実行することができる。
【０１５７】
実装15
同じ発明の創造に基づいて、本出願のこの実装は、図9、図11、図13、および図15に対応する例において提供されたデジタル証明書管理装置のうちのいずれか1つまたは複数を含むデジタル証明書管理システムをさらに提供する。
【０１５８】
当業者は、本開示の実装が方法、システム、またはコンピュータプログラム製品として提供され得ることを理解するはずである。したがって、本開示は、ハードウェアのみの実装、ソフトウェアのみの実装、またはソフトウェアとハードウェアとの組合せによる実装の形態を使用し得る。さらに、本開示は、コンピュータが使用可能なプログラムコードを含む(磁気ディスクメモリ、CD-ROM、光学式メモリなどを含むがこれらに限定されない)1つまたは複数のコンピュータが使用可能なストレージ媒体上に実装されるコンピュータプログラム製品の形態を用いることができる。
【０１５９】
本開示は、本開示の実装に基づく方法、デバイス(システム)、およびコンピュータプログラム製品の流れ図および/またはブロック図を参照して説明されている。流れ図および/またはブロック図の各プロセスおよび/または各ブロックと、流れ図および/またはブロック図のプロセスおよび/またはブロックの組合せとを実装するためにコンピュータプログラム命令が使用され得ることを理解されたい。これらのコンピュータプログラム命令は、コンピュータまたは任意のその他のプログラミング可能なデータ処理デバイスのプロセッサによって実行される命令が流れ図の1つもしくは複数のプロセスおよび/またはブロック図の1つもしくは複数のブロックの規定された機能を実装するための装置を生成するようにマシンを生成するために汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、または任意のその他のプログラミング可能なデータ処理デバイスのプロセッサのために提供され得る。
【０１６０】
これらのコンピュータプログラム命令は、コンピュータ可読メモリに記憶された命令が指示装置を含む製品を生成するように、規定された方法で働くようにコンピュータまたは任意のその他のプログラミング可能なデータ処理デバイスに命令し得るコンピュータ可読メモリに記憶されることが可能である。指示装置は、流れ図の1つもしくは複数のプロセスおよび/またはブロック図の1つもしくは複数のブロックの規定された機能を実装する。
【０１６１】
これらのコンピュータプログラム命令は、一連の動作およびステップがコンピュータまたは別のプログラミング可能なデバイス上で実行され、それによって、コンピュータによって実施される処理を生成するようにコンピュータまたは別のプログラミング可能なデータ処理デバイスにロードされ得る。したがって、コンピュータまたは別のプログラミング可能なデバイス上で実行される命令が、流れ図の1つもしくは複数のプロセスおよび/またはブロック図の1つもしくは複数のブロックの規定された機能を実施するためのステップを提供する。
【０１６２】
典型的な構成において、コンピューティングデバイスは、1つまたは複数のプロセッサ(CPU)と、入力/出力インターフェースと、ネットワークインターフェースと、メモリとを含む。
【０１６３】
メモリは、非永続的なメモリ、ランダムアクセスメモリ(RAM)、不揮発性メモリ、および/またはコンピュータ可読媒体、たとえば、読み出し専用メモリ(ROM)もしくはフラッシュメモリ(フラッシュRAM)内の別の形態を含み得る。メモリは、コンピュータ可読媒体の例である。
【０１６４】
コンピュータ可読媒体は、任意の方法または技術を使用することによって情報を記憶することができる、永続的な媒体、非永続的な媒体、移動可能な媒体、および移動不可能な媒体を含む。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータであることが可能である。コンピュータストレージ媒体の例は、パラメータランダムアクセスメモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、別の種類のランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、フラッシュメモリもしくは別のメモリ技術、コンパクトディスク読み出し専用メモリ(CD-ROM)、デジタルバーサタイルディスク(DVD)もしくは別の光学式メモリ、カセット磁気テープ、磁気テープディスクメモリ、もしくは別の磁気式ストレージデバイス、またはコンピューティングデバイスによってアクセスされ得る情報を記憶するために使用されることが可能である任意のその他の非一時的媒体を含むがこれらに限定されない。本明細書の定義に基づいて、コンピュータ可読媒体は、変調されたデータ信号およびキャリアなどのコンピュータ可読一時媒体(transitory media)を含まない。
【０１６５】
用語「含む(include)」、「含む(contain)」、またはそれらの用語の任意のその他の変化形は、非排他的包含を含むように意図され、したがって、一連の要素を含むプロセス、方法、物品、またはデバイスは、それらの要素を含むだけでなく、明示的に挙げられていないその他の要素も含むか、またはそのようなプロセス、方法、物品、もしくはデバイスに固有の要素をさらに含むことにさらに留意されたい。「〜を含む」によって示される要素は、さらなる制約なしに、その要素を含むプロセス、方法、物品、またはデバイスに別の同一の要素をさらに含む。
【０１６６】
当業者は、本出願の実装が方法、システム、またはコンピュータプログラム製品として提供され得ることを理解するはずである。したがって、本出願は、ハードウェアのみの実装、ソフトウェアのみの実装、またはソフトウェアとハードウェアとの組合せによる実装の形態を使用し得る。さらに、本出願は、コンピュータが使用可能なプログラムコードを含む(磁気ディスクメモリ、CD-ROM、光学式メモリなどを含むがこれらに限定されない)1つまたは複数のコンピュータが使用可能なストレージ媒体上に実装されるコンピュータプログラム製品の形態を用いることができる。
【０１６７】
前述の実装は、本出願の実装であるに過ぎず、本出願を限定するように意図されていない。当業者は、本出願に様々な修正および変更を行うことができる。本出願の精神および原理から逸脱することなくなされたあらゆる修正、均等な置き換え、または改善は、本出願の請求項の範囲内に入る。
【０１６８】
図17は、本開示の実装によるデジタル証明書管理システムにおいてデジタル証明書を守るためのコンピュータによって実施される方法1700の例を示す流れ図である。明瞭に示すために、以下の説明は、この説明のその他の図の文脈で方法1700を全体的に説明する。しかし、方法1700は、必要に応じて、たとえば、任意のシステム、環境、ソフトウェア、およびハードウェア、またはシステムと、環境と、ソフトウェアと、ハードウェアとの組合せによって実行されることが可能である。一部の実装において、方法1700の様々なステップは、並列に、組み合わせて、ループして、または任意の順序で実行されることが可能である。
【０１６９】
1702において、デジタル証明書管理システムが、ブロックチェーンネットワーク内のノードにおいて認証局からデジタル証明書を含むトランザクション要求を受信し、トランザクション要求は、ブロックチェーンネットワークに関連するブロックチェーンにデジタル証明書を書き込む要求であり、デジタル証明書は、ブロックチェーンネットワーク内のノードに発行される。認証局からのトランザクション要求は、デジタル証明書などの、トランザクションの要求を示す資産転送情報を含み得る。たとえば、資産転送情報は、売り手または転送者のアイデンティティ、(たとえば、受信されたノードに位置する)買い手または受信者のアイデンティティを含み得る。資産転送情報は、トランザクション情報の量を示すトランザクションの資産または値も含み得る。トランザクションの時間が要求され、1つまたは複数の潜在的な契約条項が要求された。トランザクション要求は、2者の間の支払いのためのものであるか、または2つの金融機関などの2者の間の支払いの要求であることが可能である。
【０１７０】
一部の実装において、トランザクション要求は、デジタル証明書を含み得る。デジタル証明書は、話をしている2者が信頼できる者であることを保証することができる。たとえば、デジタル証明書は、バージョン番号、通し番号、署名の種類、発行者情報、有効期間、発行者、発行された公開鍵、認証局のデジタル署名、およびトランザクション要求に関連するその他の情報を含み得る。1702から、方法1700は1704に進む。
【０１７１】
1704において、デジタル証明書管理システムが、トランザクション要求に関する合意検証の結果を決定し、合意検証の結果は、ブロックチェーンネットワーク内のノードによって生成される。一部の実装において、デジタル証明書管理システムは、合意検証を決定するために1つまたは複数の基準に依拠する。たとえば、1つまたは複数の基準は、たとえば、デジタル証明書が失効するまでにどれだけ長く有効であるのかに関する期限、またはデジタル証明書に対応する通し番号が2者の間の要件を満たすかどうかなどのデジタル証明書に関する情報を含む検証基準を含み得る。
【０１７２】
一部の実装において、ブロックチェーンネットワーク内の各ノードは、デジタル証明書に対する合意検証を順次実行する。たとえば、ブロックチェーンネットワークにおいて、ノードAが、第1の合意検証を実行し、それから、ノードAの合意検証の結果および認証局から受信されたトランザクション要求のアナウンスを別のノードBにブロードキャストする。このプロセスは、ノードBからZが受信されたトランザクション要求に対して合意検証をそれぞれ実行し、各ノードがあらゆるその他のノードの結果を知るまで継続する。最後に、各ノードが合意検証を実行した後、各ノードは、合意検証が完了したことを認証局に証明するためにデジタル証明書に署名する。
【０１７３】
一部の実装において、ブロックチェーンネットワーク内の各ノードは、合意検証を実行する。特に、ノードAなどのノードが、デジタル証明書を得るためにトランザクション要求を解析する。デジタル証明書が存在しない場合、ノードは、認証局からのトランザクション要求を拒絶する。デジタル証明書が存在する場合、ノードは、そのノードのメモリからローカルの台帳を抽出する。ローカルの台帳は、ノードによって実行されたトランザクションの各々のレコードおよび証明書失効リストを保有する。証明書失効リストは、ノードの各々および認証局によるアクセスを拒絶される証明書を追跡記録する。特に、ノードは、抽出されたデジタル証明書を証明書失効リスト内の各デジタル証明書と比較する。抽出されたデジタル証明書が証明書失効リスト内のデジタル証明書と一致する場合、ノードは、トランザクション要求を拒否する。抽出されたデジタル証明書が証明書失効リスト内のいかなるデジタル証明書とも一致しない場合、ノードは、そのノードに関するトランザクションを完了し、結果のアナウンスおよびトランザクション要求をブロードキャストする。トランザクション要求を完了することに応じて、ノードは、トランザクション要求をブロックチェーン内のローカルの台帳に追加する。その他の実装において、トランザクションは、ブロックチェーンネットワーク内の各ノードが合意検証を実行するまで完了しない。1704から、方法1700は1706に進む。
【０１７４】
1706において、デジタル証明書管理システムが、合意検証の結果を予め決められた閾値と比較する。ブロックチェーンネットワーク内の各ノードが合意検証を実行することに応じて、デジタル証明書管理システムは、合意検証の結果を予め決められた閾値と比較する。たとえば、デジタル証明書管理システムは、検証結果が成功である合意検証に参加するノードの数を分析する。デジタル証明書管理システムは、検証結果が失敗である合意検証に参加するノードの数も分析する。デジタル証明書管理システムは、合意検証が成功するノードの数を予め決められた閾値と比較する。数が予め決められた閾値を超えている場合、デジタル証明書管理システムは、デジタル証明書を記憶する。1706から、方法1700は1708に進む。
【０１７５】
1708においては、合意検証の結果が予め決められた閾値以上であるとデジタル証明書管理システムが判定することに応じて、デジタル証明書管理システムは、ブロックチェーンネットワークに関連するブロックチェーンにデジタル証明書を記憶する。特に、デジタル証明書管理システム(ノードのブロックチェーンネットワーク)は、デジタル証明書管理システムからの合意検証の結果が予め決められた閾値以上であることに応じて、デジタル証明書と、認証局からのトランザクション要求を特定するデータとを記憶する。デジタル証明書管理システムは、デジタル証明書と、トランザクション要求を特定するデータとを、ブロックチェーンネットワークのローカルの台帳またはブロックチェーンに記憶することができる。ノードの各々は、ローカルの台帳を読み、ローカルの台帳に書き込むために独自のノードにアクセスすることができる。さらに、各ノードは、デジタルローカル管理システム内の同じローカルの台帳またはブロックチェーンを有するべきである。デジタル証明書管理システムは、トランザクション要求の実行に関する日付および時間をログに記録する。デジタル証明書管理システムは、トランザクションが実行されたという指示を認証局に与える。1708の後、方法1700は停止する。
【０１７６】
本出願の特徴は、欠陥がある認証局による問題を取り除こうとする。たとえば、認証局によって送信されたトランザクション要求を受信することであって、トランザクション要求が、デジタル証明書をブロックチェーンネットワーク内のブロックチェーンに書き込むためのトランザクションデータおよびデジタル証明書を含む、受信することと、トランザクション要求に対してブロックチェーンネットワークによって実行される合意検証を決定し、合意検証の結果が予め決められた閾値よりも大きいと判定することに応じて、デジタル証明書をブロックチェーンネットワークのブロックチェーンに書き込み、認証局からのトランザクション要求を実行することとによる。デジタル証明書管理システムにおいて合意検証を実行することによって、トランザクションは、たとえ認証局が欠陥があるか、ハッキングされるか、またはデジタル証明書をランダムに発行するために悪意を持って使用されるとしても引き続き実行され得る。結局、ブロックチェーンネットワークは、ブロックチェーンネットワーク内のブロックチェーンのセキュリティを高めるために、欠陥のある認証局からの大きなセキュリティのリスクを取り除くことができる。
【０１７７】
本明細書に記載の実施形態および動作は、本明細書において開示された構造を含むデジタル電子回路、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェア、あるいはこれらのうちの1つまたは複数の組合せで実装されることが可能である。動作は、1つもしくは複数のコンピュータ可読ストレージデバイスに記憶された、またはその他のソースから受信されたデータに対してデータ処理装置によって実行される動作として実装され得る。データ処理システム、コンピュータ、またはコンピューティングデバイスは、例として、1つのプログラミング可能なプロセッサ、1台のコンピュータ、1つのシステムオンチップ、またはそれらの複数もしくは組合せを含む、データを処理するための装置、デバイス、および機械を包含する可能性がある。装置は、専用論理回路、たとえば、中央演算処理装置(CPU)、フィールドプログラマブルゲートアレイ(FPGA)、または特定用途向け集積回路(ASIC)を含み得る。装置は、問題にしているコンピュータプログラムのための実行環境を生成するコード、たとえば、プロセッサのファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム(たとえば、オペレーティングシステムもしくはオペレーティングシステムの組合せ)、クロスプラットフォームランタイム環境、仮想マシン、またはそれらのうちの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)を含む。通信ネットワークは、インターネット、別の通信ネットワーク、または通信ネットワークの組合せのすべてまたは一部を含み得る。情報は、ロングタームエボリューション(LTE)、5G、IEEE 802、インターネットプロトコル(IP)、またはその他のプロトコルもしくはプロトコルの組合せを含む様々なプロトコルおよび標準に従って通信ネットワーク上で送信され得る。通信ネットワークは、接続されたコンピューティングデバイスの間で音声、動画、生体、もしくは認証情報、またはその他の情報を送信することができる。
【０１８４】
別々の実装として説明された特徴が、単一の実装に組み合わせて実装される可能性があり、一方、単一の実装として説明された特徴が、複数の実装に別々にまたは任意の好適な部分的組合せで実装される可能性がある。特定の順序で説明され、主張された動作は、特定の順序が実行されなければならないことを要求とすると理解されるべきでなく、すべての示された動作が実行されなければならないことを要求するとも理解されるべきでない(一部の動作は任意であることができる)。必要に応じて、マルチタスクまたは並列処理(またはマルチタスクと並列処理との組合せ)が、実行され得る。
【符号の説明】
【０１８５】
91  受信ユニット
92  決定ユニット
93  応答ユニット
111  受信ユニット
112  決定ユニット
113  応答ユニット
131  受信ユニット
132  決定ユニット
133  応答ユニット
151  受信ユニット
152  応答ユニット
153  トランザクションユニット
1700  方法
【図１】
0006859506.tif 000002
【図２】
0006859506.tif 000003
【図３】
0006859506.tif 000004
【図４】
0006859506.tif 000005
【図５】
0006859506.tif 000006
【図６】
0006859506.tif 000007
【図７】
0006859506.tif 000008
【図８】
0006859506.tif 000009
【図９】
0006859506.tif 000010
【図１０】
0006859506.tif 000011
【図１１】
0006859506.tif 000012
【図１２】
0006859506.tif 000013
【図１３】
0006859506.tif 000014
【図１４】
0006859506.tif 000015
【図１５】
0006859506.tif 000016
【図１６】
0006859506.tif 000017
【図１７】
0006859506.tif 000018