(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-06
(45)【発行日】2022-05-16
(54)【発明の名称】複数のエンティティのルートオブトラストを構築する方法
(51)【国際特許分類】
H04L 9/32 20060101AFI20220509BHJP
H04L 9/08 20060101ALI20220509BHJP
G09C 1/00 20060101ALI20220509BHJP
【FI】
H04L9/32 200Z
H04L9/08 F
G09C1/00 640D
(21)【出願番号】P 2021501061
(86)(22)【出願日】2019-04-11
(86)【国際出願番号】 CA2019050443
(87)【国際公開番号】W WO2019195940
(87)【国際公開日】2019-10-17
【審査請求日】2020-09-30
(32)【優先日】2018-04-12
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-04-10
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518220637
【氏名又は名称】イサラ コーポレイション
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100176418
【氏名又は名称】工藤 嘉晃
(72)【発明者】
【氏名】アリミ パーニアン
(72)【発明者】
【氏名】スイ ジャユアン
(72)【発明者】
【氏名】山田 淳
(72)【発明者】
【氏名】ウィリアムズ ロバート
(72)【発明者】
【氏名】ファイエタ アレッサンドロ
【審査官】宮司 卓佳
(56)【参考文献】
【文献】中国特許出願公開第106301792(CN,A)
【文献】中国特許出願公開第106372941(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/00-9/40
G09C 1/00
(57)【特許請求の範囲】
【請求項1】
コンピュータシステムによって実行される方法であって、
ルートオブトラストコンソーシアムのそれぞれのメンバーエンティティを表すジェネシスブロックデータエントリを含むジェネシスデータブロックを生成するステップを含み、
前記各ジェネシスブロックデータエントリが、
前記ジェネシスブロックデータエントリによって表される前記メンバーエンティティの識別子と、
前記ジェネシスブロックデータエントリによって表される前記メンバーエンティティの公開鍵と、
前記ジェネシスブロックデータエントリによって表される前記メンバーエンティティ以外のメンバーエンティティのデジタル署名と、
を含み、
前記方法が、
前記ルートオブトラストコンソーシアムに関連付けられたブロックチェーンのジェネシスブロックを生成するステップを更に含み、
前記ジェネシスブロックを生成するステップは、前記ジェネシスデータブロックにデジタル署名するステップを含み、
前記方法が、
1又は2以上のエンドエンティティにより、暗号システムのルートオブトラストとして使用するため前記ジェネシスブロックを含む前記ブロックチェーンを提供するステップを更に含み、
前記ブロックチェーンをルートオブトラストとして使用することが、前記ブロックチェーンに基づいてデジタル証明書を発行し妥当性確認することを含
み、前記ブロックチェーンを使用すると、前記ブロックチェーンに記録された情報を辿ることにより、公開鍵の有効性を検証できる、
ことを特徴とする方法。
【請求項2】
前記ジェネシスデータブロックにデジタル署名するステップが、
前記ルートオブトラストコンソーシアムの管理者のデジタル署名を生成するステップと、
前記管理者のデジタル署名を前記ジェネシスデータブロックに付加するステップと、
を含む、請求項1に記載の方法。
【請求項3】
前記ジェネシスデータブロックを前記メンバーエンティティのサブセットに送るステップと、
前記メンバーエンティティのサブセットからデジタル署名を受け取るステップと、
を更に含み、
前記デジタル署名の各々が、前記ジェネシスデータブロックに基づいて前記メンバーエンティティのそれぞれによって生成され、
前記ジェネシスブロックを生成するステップが、前記受け取ったデジタル署名、前記管理者のデジタル署名、及びジェネシスデータブロックを組み合わせるステップを含む、
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記メンバーエンティティから前記ジェネシスブロックデータエントリを取得するステップを含む、請求項1~3の何れか1項に記載の方法。
【請求項5】
前記ジェネシスブロックデータエントリを取得するステップが、リング署名プロセスを開始するステップを含み、前記各ジェネシスブロックデータエントリが、異なるエントリのデジタル署名を含む、請求項4に記載の方法。
【請求項6】
ルートオブトラストとして使用するため前記ジェネシスブロックを提供するステップの前に、前記ジェネシスブロックデータエントリを妥当性確認するステップを更に含む、請求項1~3の何れか1項に記載の方法。
【請求項7】
前記ブロックチェーンの既存のブロックのハッシュを取得するステップと、
新しいデータエントリを含む新しいデータブロックを生成するステップと、
を更に含み、
前記新しいデータエントリは、前記ルートオブトラストコンソーシアムの1又は2以上のメンバーエンティティによりアクションを識別し、
前記方法が更に、
ルートオブトラストコンソーシアム用の前記ブロックチェーンの新しいブロックを生成するステップを含み、
前記新しいブロックを生成するステップは、前記新しいデータブロックと前記既存のブロックのハッシュとの組み合わせにデジタル署名するステップを含み、
前記方法が更に、
前記1又は2以上のエンドエンティティにより、前記暗
号システムのルートオブトラストとして使用するため前記新しいブロックを提供して前記ブロックチェーンを更新するステップを含む、
請求項1~3の何れか1項に記載の方法。
【請求項8】
コンピュータシステムであって、
1又は2以上のプロセッサと、
前記1又は2以上のプロセッサによって実行されたときに動作を実行するよう動作可能な命令を格納するメモリと、
を備え、前記動作が、
ルートオブトラストコンソーシアムのそれぞれのメンバーエンティティを表すジェネシスブロックデータエントリを含むジェネシスデータブロックを生成するステップを含み、
前記各ジェネシスブロックデータエントリが、
前記ジェネシスブロックデータエントリによって表される前記メンバーエンティティの識別子と、
前記ジェネシスブロックデータエントリによって表される前記メンバーエンティティの公開鍵と、
前記ジェネシスブロックデータエントリによって表される前記メンバーエンティティ以外のメンバーエンティティのデジタル署名と、
を含み、
前記動作が、
前記ルートオブトラストコンソーシアムに関連付けられたブロックチェーンのジェネシスブロックを生成するステップを更に含み、
前記ジェネシスブロックを生成するステップは、前記ジェネシスデータブロックにデジタル署名するステップを含み、
前記動作が、
1又は2以上のエンドエンティティにより、暗号システムのルートオブトラストとして使用するため前記ジェネシスブロックを含む前記ブロックチェーンを提供するステップを更に含み、
前記ブロックチェーンをルートオブトラストとして使用することが、前記ブロックチェーンに基づいてデジタル証明書を発行し妥当性確認することを含
み、前記ブロックチェーンを使用すると、前記ブロックチェーンに記録された情報を辿ることにより、公開鍵の有効性を検証できる、
ことを特徴とするコンピュータシステム。
【請求項9】
前記ジェネシスデータブロックにデジタル署名するステップが、
前記ルートオブトラストコンソーシアムの管理者のデジタル署名を生成するステップと、
前記管理者のデジタル署名を前記ジェネシスデータブロックに付加するステップと、
を含む、請求項8に記載のコンピュータシステム。
【請求項10】
前記動作が、
前記ジェネシスデータブロックを前記メンバーエンティティのサブセットに送るステップと、
前記メンバーエンティティのサブセットからデジタル署名を受け取るステップと、
を更に含み、
前記デジタル署名の各々が、前記ジェネシスデータブロックに基づいて前記メンバーエンティティのそれぞれによって生成され、
前記ジェネシスブロックを生成するステップが、前記受け取ったデジタル署名、前記管理者のデジタル署名、及びジェネシスデータブロックを組み合わせるステップを含む、
請求項9に記載のコンピュータシステム。
【請求項11】
前記動作が、前記メンバーエンティティから前記ジェネシスブロックデータエントリを取得するステップを含む、請求項8~10の何れか1項に記載のコンピュータシステム。
【請求項12】
前記ジェネシスブロックデータエントリを取得するステップが、リング署名プロセスを開始するステップを含み、前記各ジェネシスブロックデータエントリが、異なるエントリのデジタル署名を含む、請求項11に記載のコンピュータシステム。
【請求項13】
前記動作が、ルートオブトラストとして使用するため前記ジェネシスブロックを提供するステップの前に、前記ジェネシスブロックデータエントリを妥当性確認するステップを更に含む、請求項8~10の何れか1項に記載のコンピュータシステム。
【請求項14】
前記動作が、
前記ブロックチェーンの既存のブロックのハッシュを取得するステップと、
新しいデータエントリを含む新しいデータブロックを生成するステップと、
を更に含み、
前記新しいデータエントリは、前記ルートオブトラストコンソーシアムの1又は2以上のメンバーエンティティによりアクションを識別し、
前記動作が更に、
ルートオブトラストコンソーシアム用の前記ブロックチェーンの新しいブロックを生成するステップを含み、
前記新しいブロックを生成するステップは、前記新しいデータブロックと前記既存のブロックのハッシュとの組み合わせにデジタル署名するステップを含み、
前記動作が更に、
前記1又は2以上のエンドエンティティにより、前記暗
号システムのルートオブトラストとして使用するため前記新しいブロックを提供して前記ブロックチェーンを更新するステップを含む、
請求項8~10の何れか1項に記載のコンピュータシステム。
【請求項15】
コンピュータシステムによって実行される方法であって、
1又は2以上のエンドエンティティにより、暗号システムのルートオブトラストとして使用するためルートオブトラストコンソーシアムによって提供されるブロックチェーン
であって、前記ルートオブトラストコンソーシアムによって提供されるジェネシスブロックを含むブロックチェーンの既存のブロックのハッシュを取得するステップと、
前記ルートオブトラストコンソーシアムの1又は2以上のメンバーエンティティによる
複数のアクションを識別する
複数のデータエントリを含むデータブロックを生成するステップと、
前記ルートオブトラストコンソーシアム用の前記ブロックチェーンの新しいブロックを生成するステップと、
を含み、
前記新しいブロックを生成するステップは、前記データブロックと前記既存のブロックのハッシュとの組み合わせにデジタル署名するステップを含み、
前記方法が更に、
前記1又は2以上のエンドエンティティにより、前記暗号
システムの前記ルートオブトラストとして使用するため前記新しいブロックを提供して前記ブロックチェーンを更新するステップを含み、
前記ブロックチェーンをルートオブトラストとして使用することが、前記ブロックチェーンに基づいてデジタル証明書を発行し妥当性確認することを含
み、前記ブロックチェーンを使用すると、前記ブロックチェーンに記録された情報を辿ることにより、公開鍵の有効性を検証できる、
方法。
【請求項16】
前記データエントリが、アクションタイプの識別子、前記メンバーエンティティのアイデンティティ、前記メンバーエンティティの公開鍵、及びデジタル署名を含む、請求項15に記載の方法。
【請求項17】
ルートオブトラストとして使用するために前記新しいブロックを提供するステップの前に、前記データエントリにおける前記デジタル署名を妥当性確認するステップを更に含む、請求項16に記載の方法。
【請求項18】
前記アクションが、
前記ルートオブトラストコンソーシアムへの新しいメンバーの追加、
前記ルートオブトラストコンソーシアムからのメンバーの削除、
前記ルートオブトラストコンソーシアムのメンバーの公開鍵の更新、
前記ルートオブトラストコンソーシアムのメンバーの公開鍵の無効化、
前記ルートオブトラストコンソーシアムのメンバーの公開鍵の置換、
前記ルートオブトラストコンソーシアムのメンバーの追加の公開鍵の追加、
前記ルートオブトラストコンソーシアムのメンバーの公開鍵のキャンセル、
前記ブロックチェーンの有効な状態のタイムスタンプ、
現在有効な全てのアイデンティティ情報の要約の記録、
前記ブロックチェーンのフリーズ、
及び前記ブロックチェーンのフリーズ解除、
のうちの少なくとも1つを含む、
請求項15~17の何れか1項に記載の方法。
【請求項19】
前記データブロックと前記既存のブロックのハッシュとの組み合わせにデジタル署名するステップが、
前記ルートオブトラストコンソーシアムの管理者のデジタル署名を生成するステップと、
前記管理者のデジタル署名を前記データブロックに付加するステップと、
を含む、
請求項15~17の何れか1項に記載の方法。
【請求項20】
前記データブロックを前記メンバーエンティティのサブセットに送るステップと、
前記メンバーエンティティのサブセットからデジタル署名を受け取るステップと、
を更に含み、
前記デジタル署名の各々が、前記データブロックに基づいて、前記メンバーエンティティのそれぞれ1つによって生成され、
前記新しいブロックを生成するステップが、前記受け取ったデジタル署名、前記管理者のデジタル署名及び前記データブロックを組み合わせることを含む、
請求項
19に記載の方法。
【請求項21】
コンピュータシステムであって、
1又は2以上のプロセッサと、
前記1又は2以上のプロセッサによって実行されたときに動作を実行するよう動作可能な命令を格納するメモリと、
を備え、前記動作が、
1又は2以上のエンドエンティティにより、暗号システムのルートオブトラストとして使用するためルートオブトラストコンソーシアムによって提供されるブロックチェーン
であって、前記ルートオブトラストコンソーシアムによって提供されるジェネシスブロックを含むブロックチェーンの既存のブロックのハッシュを取得するステップと、
前記ルートオブトラストコンソーシアムの1又は2以上のメンバーエンティティによる
複数のアクションを識別する
複数のデータエントリを含むデータブロックを生成するステップと、
前記ルートオブトラストコンソーシアム用の前記ブロックチェーンの新しいブロックを生成するステップと、
を含み、
前記新しいブロックを生成するステップは、前記データブロックと前記既存のブロックのハッシュとの組み合わせにデジタル署名するステップを含み、
前記動作が更に、
前記1又は2以上のエンドエンティティにより、前記暗
号システムの前記ルートオブトラストとして使用するため前記新しいブロックを提供して前記ブロックチェーンを更新するステップを含み、
前記ブロックチェーンをルートオブトラストとして使用することが、前記ブロックチェーンに基づいてデジタル証明書を発行し妥当性確認することを含
み、前記ブロックチェーンを使用すると、前記ブロックチェーンに記録された情報を辿ることにより、公開鍵の有効性を検証できる、
ことを特徴とするコンピュータシステム。
【請求項22】
前記データエントリが、アクションタイプの識別子、前記メンバーエンティティのアイデンティティ、前記メンバーエンティティの公開鍵、及びデジタル署名を含む、
請求項
21に記載のコンピュータシステム。
【請求項23】
前記動作が更に、ルートオブトラストとして使用するために前記新しいブロックを提供するステップの前に、前記データエントリにおける前記デジタル署名を妥当性確認するステップを含む、請求項
22に記載のコンピュータシステム。
【請求項24】
前記アクションが、
前記ルートオブトラストコンソーシアムへの新しいメンバーの追加、
前記ルートオブトラストコンソーシアムからのメンバーの削除、
前記ルートオブトラストコンソーシアムのメンバーの公開鍵の更新、
前記ルートオブトラストコンソーシアムのメンバーの公開鍵の無効化、
前記ルートオブトラストコンソーシアムのメンバーの公開鍵の置換、
前記ルートオブトラストコンソーシアムのメンバーの追加の公開鍵の追加、
前記ルートオブトラストコンソーシアムのメンバーの公開鍵のキャンセル、
前記ブロックチェーンの有効な状態のタイムスタンプ、
現在有効な全てのアイデンティティ情報の要約の記録、
前記ブロックチェーンのフリーズ、
及び前記ブロックチェーンのフリーズ解除、
のうちの少なくとも1つを含む、
請求項
21~
23の何れか1項に記載のコンピュータシステム。
【請求項25】
前記データブロックと前記既存のブロックのハッシュとの組み合わせにデジタル署名するステップが、
前記ルートオブトラストコンソーシアムの管理者のデジタル署名を生成するステップと、
前記管理者のデジタル署名を前記データブロックに付加するステップと、
を含む、
請求項
21~
23の何れか1項に記載のコンピュータシステム。
【請求項26】
前記動作が更に、
前記データブロックを前記メンバーエンティティのサブセットに送るステップと、
前記メンバーエンティティのサブセットからデジタル署名を受け取るステップと、
を含み、
前記デジタル署名の各々が、前記データブロックに基づいて、前記メンバーエンティティのそれぞれ1つによって生成され、
前記新しいブロックを生成するステップが、前記受け取ったデジタル署名、前記管理者のデジタル署名及び前記データブロックを組み合わせることを含む、
請求項
25に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本国際出願は、2018年4月12日に提出された「複数のエンティティのルートオブトラストを構築する方法」という名称の米国仮出願第62/656,672号に対して優先権を主張する、2019年4月10日に提出した「複数のエンティティのルートオブトラストを構築する方法」という名称の米国非仮出願第16/380,548号に対する優先権を主張する。米国仮出願の両方は、引用により本明細書に組み込まれる。
【0002】
以下の記載は、暗号化システムのための複数のエンティティのルートオブトラスト(信頼の基点)に関する。
【背景技術】
【0003】
暗号化システムは、パブリックチャネルを介してセキュアに通信するのに使用される。例えば、一部の暗号化システムは、メッセージを暗号化することによって機密性を提供し、また一部の暗号化システムは、デジタル署名を通じて真正性を提供する。一部の暗号化システムは、公開鍵、秘密鍵、及び共有秘密鍵を用いて動作する。
【図面の簡単な説明】
【0004】
【
図1A】複数のエンティティルートオブトラストを使用する例示的な通信システムの概略図である。
【
図1B】
図1Aにおいてルートオブトラストとして使用することができる例示的なブロックチェーンの概略図である。
【
図2】複数のエンティティルートオブトラストのための例示的なリング署名プロセスの例図である。
【
図3】複数のエンティティルートオブトラストの例示的なジェネシスブロックの概略図である。
【
図4】複数のエンティティルートオブトラストの別の例示的なジェネシスブロックの概略図である。
【
図5A】複数のエンティティルートオブトラストとして提供されたチェーンに新しいブロックを追加する例示的なプロセスを示す概略図である。
【
図5B】複数のエンティティルートオブトラストとして提供されたチェーンに新しいブロックを追加する例示的なプロセスを示す概略図である。
【
図6】例示的なコンピュータシステムの概略図である。
【発明を実施するための形態】
【0005】
本明細書で記載されることの幾つかの態様では、複数のエンティティからの分散型のルートオブトラスト又は別のタイプの複数エンティティのルートオブトラストが、暗号化システムで使用するために構築される。幾つかの例では、本明細書で記載されるシステム及び手法の実施構成により、既存の技術に対する技術的な利点又は改善がもたらされる。一例として、単一エンティティの侵害(例えば、攻撃、技術的機能不全、又は他の事象から生じるセキュリティの侵害)による損害は、複数エンティティのルートオブトラストを使用することで抑制することができる。例えば、複数エンティティのルートオブトラストは、侵害された秘密鍵に対応する公開鍵をルートオブトラストから無効化するため、又は一部の例では、問題のあるエンティティを完全に削除するためのプロトコル又は別の形式的メカニズムを提供することができる。
【0006】
従って、本明細書で記載されるシステム及び手法の態様を用いて、通信システム(例えば、データネットワークなど)、コンピュータシステム(例えば、ネットワーク接続されたコンピュータなど)、スマートデバイス(例えば、いわゆる、「モノのインターネット」(IoT)デバイス、その他)及び他のクラスの技術の動作を改善することができる。例えば、幅広い種類の現代の技術は、セキュアな運用のためコンピュータに実装された暗号システムに依存しており、本明細書で記載される手法は、このようなコンピュータに実装された暗号システムを改善し、例えば、これらをよりセキュアでより効率的にし、幾つかの例では他の利点を提供することができる。
【0007】
公開鍵暗号化は、セキュアな認証、秘密鍵の共有、その他を実現するために様々な技術において幅広く導入されている。公開鍵を使用して、デジタル署名の妥当性確認をし、通信当事者のアイデンティティを検証する、又は共有秘密鍵を確立してメッセージをセキュアに暗号化することができる。公開鍵暗号化によって提供されるセキュリティは、典型的には、受け取った公開鍵が正当なIDに信頼できる方法でセキュアに結びつけられていることに依存している。このようなセキュアな結びつけがないと、エンティティは、対象とする当事者になりすましている悪意のある当事者のアイデンティティを無意識のうちに信頼する、実際には敵対者である間違った受信者にメッセージを送信する可能性がある。2つの一般的なタイプのシステムを用いて、正当なアイデンティティ:公開鍵基盤(PKI)及びウェブオブトラスト(web-of-trust)に結びつけられている公開鍵の信頼を確立している。
【0008】
PKIは現在、暗号化システムの信頼を確立するために最も広く展開されているメカニズムです。従来、PKIシステムは、ルート認証局(ルートCA)と呼ばれる信頼されたエンティティから生じる信頼の階層ツリーを構築し、自身をルートオブトラストとして提示する。典型的なPKIシステムでは、CAは、公開鍵がアイデンティティに属していることを確認し、この2つをデジタル署名で結びつけ、デジタル証明書の形式で結びつけを発行する。任意の当事者(「エンドエンティティ」)は、CAの公開鍵を使用して証明書のCAのデジタル署名を妥当性確認することにより、公開鍵とアイデンティティの結びつけを検証することができる。この妥当性確認動作は、CAの公開鍵を使用するので、CAの公開鍵もまた信頼されている必要がある。従って、この公開鍵が署名付き証明書を発行することでCAに属していることを保証する親CAが必要となる。このようにして、証明書は、ルートCAにチェーンされて信頼を構築する。また、このチェーンはどこかで終わらなければならない。チェーンの最後の証明書はルート証明書であり、ルートCAと呼ばれるエンドエンティティに属している。このルートCAは、ルートオブトラストとしての役割を果たし、その証明書によって表され、ルート証明書と呼ばれる。ルート証明書は、保証する上位のサードパーティCAがないので、自己署名がされている。従って、ルート証明書は、別の方法で信頼される。典型的には、ルート証明書の信頼には、公知又はパーソナルコミュニケーションなどの方法が使用される。
【0009】
従来のPKIシステムは、特定の技術的な課題及び脆弱性に直面している。シングルポイント障害となる可能性がある理由から、PKIシステムの最も重要な脆弱性の1つはルートCAである。ルートCAが侵害されると、システム全体のセキュリティが壊滅的な崩壊を引き起こす可能性がある。侵害されたルートCAの秘密鍵を所持している攻撃者は、ルート証明書によって検証可能な証明書を発行することができる。これは、攻撃者がシステム内の任意のエンティティになりすまして、システム全体のセキュリティ及び信頼の壊滅的な崩壊を引き起こす可能性があることを意味する。従って、複数のエンティティで構成されたルートオブトラストを提供するテクノロジープラットフォームは、セキュリティ及び効率を向上させることができ、例えば、単一のエンティティのセキュリティ侵害による損害を抑制又は他の方法で軽減することができる。
【0010】
一部のシナリオでは、ルートCA(従来のPKIの潜在的なシングルポイント障害)のリスク及び責任がPKIの展開を妨げ、システムをセキュリティの脆弱性に開いたままにする可能性がある。例えば、ピア(及び場合によっては競合する)組織のコンソーシアムのために単一のPKIシステムを構築しようと試みる場合、単一の組織がセキュリティ障害の責任を負うことを望まず、従って、どのピア組織のボランティアもルートCAの役割を引き受けない可能性がある。また、組織は、これらを管理する上位のオーソリティを必要としない場合がある。このような場合、複数のピアエンティティが委員会としてルートオブトラストを確立できるようにするテクノロジープラットフォームは、セキュリティ及び効率を向上させるPKIを構築するのにより魅力的で受け入れられるものとなる。
【0011】
例えば、ルートCAよりも上位でルート証明書を無効化する権限が与えられている信頼できるエンティティが存在しないので、従来のPKIシステムは、ルートCAの秘密鍵の侵害に起因する重大な障害に対して準備が十分ではない可能性がある。例えば、ルート証明書を無効化する形式的メカニズム、又は有効期限が切れたルート証明書をユーザが識別する何らかのメカニズムを提供していないシステムは、脆弱な可能性がある。代わりに、このような従来のPKIシステムのユーザは、侵害されたルート証明書を特定するのに、公表(例えば、「オプションの」ソフトウェア更新を含む)及び口コミに依存している。従って、無効化されたルート証明書を表現及び識別するためのより体系的な方法の確立を可能にするテクノロジープラットフォームは、セキュリティ及び効率の向上をもたらす。
【0012】
公開鍵の信頼を構築する別の従来のメカニズムは、Pretty Good Privacy(PGP)などのシステムで展開されるウェブオブトラストである。このメカニズムは、管理オーソリティを回避するように設計されていたので、ウェブオブトラストシステムにはルートオブトラストが存在しない。代わりに、ウェブオブトラストシステムのセキュリティは、ピアツーピアの信頼に基づいている。例えば、このメカニズムは、正体不明型の「友人」の信頼ネットワークとして説明することができ、よく知っている人(「友人」)を信頼し、友人のデジタル証明書にデジタル署名することによって友人の公開鍵の結びつけ及びアイデンティティを保証する。エンティティに多数の友人がいる場合、エンティティは、証明書に複数の署名を取得することができる。従って、デジタル証明書の保証の量は、2つの基準、すなわち、証明書の署名の数。例えば、直接の友人の数;及び署名に接続されて証明書に到達する証明書のチェーン(例えば、友人)のホップ数、によって測定することができる。例えば、直接の友人の証明書に署名することができる。従って、自分の署名が証明書に存在するという理由から、その証明書が信頼される。自分の直接の友人の証明書でない場合には、信頼できる人、すなわち、友人の友人に到達するまで、友人のホップを辿ることができる。しかしながら、従来のウェブオブトラストの顕著な欠点の1つは、十分な数の接続パスを確保するために、信頼ネットワークのサイズが相当に大きくする必要があることであり、そうでなければ、チェーンを完了して直接の友人に到達できない可能性があり、すなわち、妥当性確認ができないことになる。十分に接続されたネットワークの構築には時間がかかる場合があり、従来のウェブオブトラストは、階層構造が可能ではない。従来のウェブオブトラストは、ピアツーピア大規模パブリックネットワーク及び他のケースで良好に機能することができる。しかしながら、企業などの組織又は階層構造を有する組織には必ずしも適さない場合がある。更に、従来のウェブオブトラストシステムにおける証明書の無効化は困難な場合があり、これは、証明書を無効化するオーソリティがないので、無効化は合意によって確立される。このようなプロセスには時間がかかる可能性が高くなり、プロセス中にユーザが危険にさらされる。
【0013】
幾つかの実施構成では、複数エンティティのルートオブトラストシステムは、例えば、従来のPKIシステム及び従来のウェブオブトラストシステムに優る技術的な利点を提供することができる。例えば、複数エンティティのルートオブトラストシステムは、単一のトラストルートがなくても階層構造を構築できる信頼メカニズムを提供することができる。加えて、複数エンティティルートオブトラストシステムは、ルートオブトラストエンティティの証明書を無効化する効率的なメカニズムを提供することができる。
【0014】
複数エンティティのルートオブトラストシステムでは、例えば、ルートCAに関連付けられた単一のルート証明書を使用する代わりに、複数エンティティのルートオブトラストが使用される。複数エンティティのルートオブトラストは、複数のエンティティのアイデンティティ及び公開鍵を含むデータセット(例えば、データブロックのチェーン)とすることができ又は表現することができる。このような複数エンティティのルートオブトラストは、メンバーエンティティのコンソーシアム(例えば、委員会、組織、又はエンティティの他のアソシエーション)を表すことができ、メンバーエンティティは、CA又はエンドエンティティ(もしくはその両方)として機能し、複数エンティティのルートオブトラストに依存することができる。複数エンティティのルートオブトラストは、複数の異なるメンバーエンティティを表すので、単一エンティティがシングルポイント障害になり得ない。複数エンティティのルートオブトラストデータブロックチェーンは、暗号化システムで使用するために発行、ブロードキャスト、又は配布することができる(例えば、従来のルート証明書が発行、ブロードキャスト、又は配布されることになると)。複数エンティティのルートオブトラストデータブロックチェーンはまた、例えば、コンソーシアムの新しいエンティティを表すなど、新しいデータブロックをチェーンに追加することにより、ルートオブトラストコンソーシアムに対し動的変更を可能にし、従って、柔軟性を提供すると共に、エンティティの無効化も可能になる。加えて、複数エンティティのルートオブトラストを構築すると、例えば、メンバーエンティティもまたCAとして機能し、このためその下にPKIサブツリーを構築できる場合、階層構造が可能になる。
【0015】
一部の実施構成では、複数のエンティティのルートオブトラストメカニズムにより、少なくともルートCAレベルが削除又は置換されるので、従来のPKIアプローチから少なくとも1つの階層の階層が削減される。一部の例では、複数エンティティのルートオブトラストシステムがメンバーCAの下位層に展開された場合、層の数が更に減少する可能性がある。加えて、メンバーの証明書を管理するための複数エンティティのルートオブトラストのメカニズムは、ベースとなる暗号化方式に非依存型とすることができる。その結果、コンソーシアムのメンバーは、署名方式の1又はコレクションを使用することができる。
【0016】
従って、複数エンティティのルートオブトラストは動的であり、複数のエンティティを利用することができる。複数エンティティのルートオブトラストテクノロジープラットフォームに導入することができる、複数エンティティのルートオブトラストデータブロックチェーンをセキュアな方法で構築及び維持するためのメカニズムの実施例について、以下で詳しく説明する。
【0017】
例示的な実施構成の概要として、複数エンティティのルートオブトラストのブロックのチェーンは、単一のジェネシスブロックから開始することができる。ジェネシスブロックは、ルートオブトラストコンソーシアムの創設メンバーによって確立された初期ルートオブトラストとして提供することができる。ジェネシスブロックは、以下のように構築することができる。例えば、創設メンバーは、最初にルートオブトラストを確立することに同意することができる。各創設メンバーは、公開鍵-秘密鍵ペアを有し、エンティティの公開鍵-秘密鍵ペアは、秘密鍵と対応する公開鍵を含み、これらは暗号システムによって規定されるように関連付けられている。秘密鍵は、エンティティの秘密として保持され、公開鍵は、暗号システム内の他のエンティティに公開することができる。創設メンバーエンティティが確立されると、各創設メンバーエンティティのアイデンティティと公開鍵の組み合わせは、少なくとも1つの他の創設メンバーエンティティによってデジタル署名される。1又は2以上の他の創設メンバーエンティティのアイデンティティ、公開鍵、及びデジタル署名を含む各創設メンバーエンティティのデータセットは、データブロックを構築するために収集される。次いで、このデータブロックは、その完全性を保証し、承認の証拠を記録するために、1又は2以上の創設メンバーエンティティによってデジタル署名することができる。これらの複数の署名及びアイデンティティと公開鍵の組み合わせの個々の署名は更に、シングルポイント障害の防止に貢献することができる。この署名されたデータブロックがジェネシスブロックになる。例示的なジェネシスブロックの構築は、
図2及び3に関して以下でより詳細に説明される。
【0018】
変更が発生するときはいつでも(例えば、ルートオブトラストコンソーシアムのメンバーにおいて)、新しいブロックをチェーンすることができる。かかる変更は、メンバーの追加又は削除、既存メンバーの公開鍵の更新・無効化・置換・追加・キャンセル、又は他のタイプの変更を含むことができる。変更の情報をデータエントリとして含む新しいブロックは、暗号化プロセスによって既存のブロックチェーンに追加することができ、ここで、新しいデータブロックは、前のブロックのハッシュと連結され、この組み合わせにデジタル署名される(例えば、複数回)。一部の実施構成では、チェーンからのブロックの削除は許可されておらず、ブロックは、時系列順にチェーンされる。従って、ブロックを最新のものから古いものまで追跡することにより、ルートオブトラストコンソーシアムメンバーの現在の状態を確定的に示すことができ、アイデンティティの公開鍵の有効性を確認することができる。
【0019】
コンソーシアムメンバーエンティティの秘密鍵の侵害による損害は、このようなエンティティはシングルポイント障害ではないので、抑制することができる。例えば、このような侵害のリスクは、侵害されたメンバーエンティティの下のサブネットワークに限定することができ、他のメンバーの下のサブネットワークは影響を受けない。また、複数のエンティティのシグネチャを各ブロックに提供することができ、よって、単一のエンティティの侵害はブロックチェーン内のメンバーデータを変更するのに十分ではないことになる。このメカニズムはまた、侵害された秘密鍵に対応する公開鍵の迅速な無効化、又はセキュアで体系的な方法での問題のあるメンバーの削除を実現することができる。
【0020】
図1Aは、例示的な通信システム100の態様を示すブロック図である。
図1Aに示す例示的な通信システム100は、4つのノード、すなわち2つのエンティティノード102、104、及び2つの認証局ノード112、114を含む。ノードは、ネットワーク106を介して相互に通信する。通信システム100は、追加の又は異なる特徴を含むことができ、通信システムの構成要素は、
図1Aに示されるように又は別の方法で構成することができる。
【0021】
幾つかの実施構成では、通信システム100内のノードは、サーバとクライアントの関係を有する。例えば、ノード102はサーバとすることができ、ノード104は、サービス対象ネットワークのクライアントとすることができ、又はその逆にすることができる。幾つかの実施構成では、通信システム100内のノードは、ピアツーピア関係を有することができる。例えば、ノード102、104は、サービスされるネットワーク、ピアツーピアネットワーク、又は別のタイプのネットワーク内のピアすることができる。ノードは、通信システム100において別のタイプの関係を有することができる。
【0022】
図1Aに示す実施例では、例示的なエンティティノード102、104及び認証局ノード112、114は各々、他のノードと通信するのに使用される計算リソース(例えば、ハードウェア、ソフトウェア、ファームウェア)を有する。例えば、
図1Aに示す通信システム100のノードの各々は、
図6に示される例示的なコンピュータシステム600又はそのコンポーネントとして実装することができる。幾つかの実施構成では、通信システム100のノードは、例えば、ラップトップ、デスクトップ、ワークステーション、スマートフォン、タブレット、携帯情報端末、サーバ、サーバクラスタ、メインフレーム、及び他のタイプのコンピュータシステムなどの様々なシステムにおいて実装することができる。一部の例では、単一のデバイスが、エンティティノードと認証局ノードの両方として動作することができる。
【0023】
図1Aに示す実施例では、エンドエンティティ(エンティティノード102、104の何れかによって表される)又は認証局エンティティ(認証局ノード112、114の何れかによって表される)は、コンピューティングデバイス、コンピュータシステム、IPアドレス又は他のネットワークアドレス、或いは別のタイプのコンピュータリソースのコンピュータ読み取り可能な識別子又はインスタンスに対応することができる。従って、各エンティティの計算及び他の動作は、それぞれのノードの1又は2以上のプロセッサ又は他の要素によって実行することができる。同様に、エンティティによって送受信される情報は、それぞれのノードの要素(例えば、1又は2以上のプロセッサ、メモリ、又はインターフェイス)によって送受信することができる。
【0024】
例示的なネットワーク106は、データ通信ネットワーク又は別のタイプの通信リンクの全部又は一部を含むことができる。例えば、ネットワーク106は、1又は2以上の有線又は無線接続、1又は2以上の有線又は無線ネットワーク、或いは他の通信チャネルを含むことができる。幾つかの実施例では、ネットワーク106は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、プライベートネットワーク、仮想プライベートネットワーク(VPN)、パブリックネットワーク(インターネットなど)、ピアピアツーピアネットワーク、セルラーネットワーク、Wi-Fiネットワーク、パーソナルエリアネットワーク(PAN)(例えば、Bluetooth低エネルギー(BTLE)ネットワーク、ZigBeeネットワーク、その他)、又はマシン-マシン間(M2M)通信を含む他の短距離ネットワーク、或いは別のタイプのデータ通信ネットワークを含む。
【0025】
幾つかの例では、
図1Aに示されるノードは、ジェネシスブロック及び恐らくはジェネシスブロックにチェーンされた1又は2以上のブロックのチェーンを含む複数エンティティのルートオブトラストに基づいて、セキュアな方法で互いに通信する。例えば、ノードは、暗号化システム又はルートオブトラスト120の実施例に基づいて信頼が確立される別のタイプのシステムを利用することができる。
図1Aに示す例示的なルートオブトラスト120は、ジェネシスブロック122及び2つのアクションブロック124A、124Bを含む。第1アクションブロック124Aは、ジェネシスブロック122にチェーンされ、第2アクションブロック124Bは、第1アクションブロック124Aにチェーンされる。
【0026】
一般に、複数エンティティのルートオブトラストは、ジェネシスブロック122のみを含むことができ、又は任意の数のアクションブロック124を含むことができる。ジェネシスブロック122は、ルートオブトラストコンソーシアムによって、又はその代理として生成されるチェーンの最初のブロックであり、アクションブロック124A、124Bは、ルートオブトラスト120又はルートオブトラストコンソーシアムに関連する変更を表す。ジェネシスブロックの実施例が
図3及び4に示され、例示的なアクションブロックが、
図5A及び5Bに示される。一部の例において、ルートオブトラスト120は、追加又は異なるタイプのブロックを含むことができる。
【0027】
幾つかの実施構成では、認証局ノード112、114は、複数エンティティのルートオブトラスト120に基づいてデジタル証明書を発行することができる。一例として、第1の認証局112は、公開鍵がルートオブトラスト120(例えば、ジェネシスブロック122又はアクションブロック124Aの1つにおいて、或いは両方)に含まれるルートオブトラストコンソーシアムメンバーとすることができ、第1の認証局112は、ルートオブトラスト120の公開鍵を使用して妥当性確認することができるデジタル証明書を発行することができる。従って、他のエンティティは、ルートオブトラスト120を使用して、第1の認証局ノード112によって発行されたデジタル証明書の信頼を確立することができる。一部の実施構成では、第2の認証局ノード114は、公開鍵がルートオブトラスト120(例えば、ジェネシスブロック122又はアクションブロック124Aの1つにおいて、或いは両方)にも含まれるルートオブトラストコンソーシアムの別のメンバーである。代替的又は追加的に、第2の認証局ノード114は、第1の認証局ノード112によって発行されたデジタル証明書に基づいて他のエンティティによって信頼される下位CAとすることができる。
【0028】
幾つかの実施構成では、認証局ノード112、114によって発行されたデジタル証明書は、従来のルートCA証明書の代わりに、複数エンティティのルートオブトラスト120に対してデジタル証明書を妥当性確認できることを除いて、従来のPKIシステムでのデジタル証明書の使用と同様の方法でエンドエンティティによって使用することができる。一例として、エンドエンティティ102は、認証局ノード112によって発行されたデジタル証明書を所有することができ、ここでデジタル証明書は、エンドエンティティの公開鍵と、エンドエンティティの公開鍵をエンドエンティティのアイデンティティと暗号で結びつけるCAのデジタル署名を含み、デジタル証明書内のCAのデジタル署名の妥当性確認に基づいて、他のエンドエンティティがエンドエンティティの公開鍵を信頼できるようにする。ここでは、ルートオブトラスト120において公開鍵を使用して妥当性確認されているので、CAのデジタル署名は信頼されている。
【0029】
幾つかの例では、エンティティノード102、104及び認証局ノード112、114は、ルートオブトラスト120に基づいて信頼を確立する暗号化システムを使用して、ネットワーク106を介してセキュアに通信することができる。例えば、暗号化システムには、複数エンティティのルートオブトラスト120に基づいて信頼されるデジタル証明書を使用する暗号化プロトコルを含むことができる。
【0030】
一部の例では、ノード102、104は、各ノードが他のノードから受け取ったメッセージの真正性を検証できるようにするデジタル署名方式を使用する。デジタル署名方式は、例えば、楕円曲線暗号(ECC)ベースの署名方式、RSAベースの署名方式、格子ベースの署名方式、コードベースの署名方式、又は別のタイプの暗号を用いた方式とすることができる。デジタル署名が署名者の公開鍵を使用して妥当性確認されると、バリデータは、ルートオブトラスト120に基づいて署名者の公開鍵の信頼を確立することができる。
【0031】
一部の例では、ノード102、104は、各ノードが他のノードに機密メッセージを送信できるようにする暗号化方式を使用する。暗号化方式は、例えば、楕円曲線暗号化(ECC)ベースの暗号化方式、RSAベースの暗号化方式、格子ベースの暗号化方式、コードベースの暗号化方式、又は別のタイプの暗号を使用する方式である。受信者宛のメッセージが受信者の公開鍵を用いて暗号化されると、送信者は、ルートオブトラスト120に基づいて、受信者の公開鍵の信頼を確立することができる。
【0032】
図1Bは、
図1Aのルートオブトラスト120として使用できる例示的なブロックチェーンの概略図である。
図1Bにて表されるブロックチェーンの実施例は、例えば、コンソーシアムブロックチェーンプロトコルによるブロックチェーン手法を使用して、順次的にチェーンされたブロックを含む。パブリックブロックチェーンプロトコル(例えば、ビットコイン及び他の形式の暗号通貨により使用されるブロックチェーン技術)とは異なり、コンソーシアムブロックチェーンプロトコルは、新しいブロックを追加するのにマイニングに依存してしない。代わりに、ブロックは、許可されたエンティティによってチェーンに追加され、ブロックをチェーンする暗号化技術は、マイニングを利用するパブリックブロックチェーンプロトコルとはかなり異なる場合がある。
【0033】
図1Bに示す実施例では、ブロックのチェーンは、チェーンの第1のブロック(「Block_0」)であるジェネシスブロック122によって開始される。例示のジェネシスブロック122には、データブロック(「Data Block#0」)とデータブロック用のデジタル署名を含む。チェーンの新しいブロック各々を形成するプロセスでは、チェーン内の従前のブロックのハッシュが、ハッシュ関数を従前のブロックに適用することによって計算され、このハッシュは新しいデータブロックに付加される。
図1Bに示すように、アクションブロック124A(「Block_1」)は、ジェネシスブロック122からチェーンされ、アクションブロック124Aは、新しいデータブロック(「Data Block#1」)及び従前のブロックのハッシュ(Hash(Block_0))を含む。ジェネシスブロック122のハッシュは、Hash(Block_0)を計算することによって生成される。ここで、Hash(・)は、入力値(例えば、「Block_0」)に暗号ハッシュ関数を適用することによって生成された出力ハッシュ値を表す。一部の実施構成では、SHA-2ファミリ(例えば、SHA-256、SHA-512)又はSHA-3ファミリにおける1又は2以上の従来のハッシュ関数を使用することができる。追加又は異なるハッシュ関数を使用してもよい。
【0034】
チェーン用の各新しいブロックを形成するプロセスでは、新しいデータブロックのデジタル署名及び従前のブロックのハッシュが生成され、デジタル署名は、新しいデータブロック及び従前のブロックのハッシュに付加される。
図1Bに示すように、デジタル署名は、新しいデータブロック(「Data Block#1」)とハッシュ(Hash(Block_0))の連結に基づいて生成され、デジタル署名が付加されてアクションブロック124Aを形成する。通常、デジタル署名は、署名エンティティの秘密鍵及び署名されるメッセージ(例えば、
図1Bに示すデータブロックとハッシュ)を含む入力上で動作するデジタル署名アルゴリズムによって生成される。デジタル署名は、適切なデジタル署名アルゴリズム(RSA、DSA、ECDSA、格子ベースのデジタル署名アルゴリズムなど)に従って生成することができる。
【0035】
チェーンの後続の各ブロックは、同様のプロセスを使用して生成することができる。
図1Bに示すように、アクションブロック124B(「Block_n」)は、従前のブロック(「Block_(n-1)」)からチェーンされ、アクションブロック124Bは、新しいデータブロック(「Data Block#n」)及び従前のブロックのハッシュを含む。また
図1Bに示すように、デジタル署名は、新しいデータブロック(「Data Block#n」)とハッシュ(「Hash(Block_(n-1))」)の連結に基づいて生成され、デジタル署名が付加されてアクションブロック124Bを形成する。
【0036】
図1Bに示す実施例では、従前のブロックのハッシュは、2つのブロック(例えば、生成ブロック122とアクションブロック124A)の間のリンクを明確に特定し、デジタル署名により、従前のブロックからの新しいブロック及びリンクの完全性が保証される。
図2、
図3、
図4、
図5A及び
図5Bの実施例並びに以下の関連する議論に示されるように、ブロックのチェーンを構築するため
図1Bで表されるタイプのデータ構造及び方法論は、複数エンティティのルートオブトラストを構築するための基礎として使用することができる。
【0037】
幾つかの実施構成では、(例えば、
図2、3、4、5A、及び5Bの実施例に従って)複数エンティティのルートオブトラストを構築すると、通信システムにおけるノードによって表されるエンティティのネットワーク間に信頼が構築される。例えば、ノードの各々は、CAエンティティ又はエンドエンティティを表すことができる。ノードを接続する通信チャネルは、セキュリティが適用されていないオープン且つパブリックであると想定することができる。ノードによって表されるエンティティは、コミュニティを構成することができ、CA及びエンドエンティティの観点から幾つかの階層が存在することができる。コンソーシアムは、ルートオブトラストを確立するために、エンティティのグループ(例えば、コミュニティ又はその他内の)によって形成することができる。一例として、コンソーシアムは、政府機関によって主導される場合がある。別の実施例では、認証局(CA)は、コンソーシアムを形成する同じ業界(例えば、自動車業界、銀行業界など)の異なる製造業者又はサービスプロバイダー(例えば、競合ブランド)とすることができる。一部の例では、コンソーシアムのメンバーは様々な国のエンティティを含み、例えば、様々な認証システムを有する可能性がある様々な国で携帯電話を使用できるようにする。担当する単一のCAが存在しないため、複数エンティティのルートオブトラストを有することで、これら及び他のタイプの認証シナリオにおける解決策を提供することができる。加えて、新しい会社(又は他のタイプの事業体)を設立することができ、以前の会社が廃業して、コンソーシアムのメンバーに影響を与える可能性がある。このシナリオはまた、複数エンティティのルートオブトラストによって対処され、静的ではなく、メンバーの変更に伴って発展化することができる。
【0038】
複数エンティティルートオブトラストシステムのジェネシスブロックを構築するときに、各コンソーシアムメンバーのジェネシスブロックデータエントリを収集して、データエントリアレイを形成することができる。次に、アレイは、1又は2以上のデジタル署名と連結される。従って、ジェネシスブロックは、以下の構成要素、すなわち、ジェネシスブロックデータエントリのアレイ及び1又は2以上のデジタル署名で構成することができる。
図3及び4は、複数エンティティのルートオブトラストの例示的な生成ブロック300、400の概略図である。一部の例では、他のタイプのジェネシスブロックを使用してもよい。
【0039】
複数エンティティのルートオブトラストにおいてチェーンブロック(例えば、アクションブロック)を構築するときには、チェーンブロックデータエントリを収集してアレイを形成することができる。次に、アレイは、従前のブロックのハッシュと連結される。連結されたデータは、更に、1又は2以上のデジタル署名と連結される。従って、チェーンブロックは、以下の構成要素、すなわち、データエントリ又はデータエントリのアレイ、従前のブロックのハッシュ、及び1又は2以上のデジタル署名から構成することができる。
図5A及び5Bは、複数エンティティのルートオブトラストのブロックの例示的なチェーンの概略図を示す。
【0040】
幾つかの実施構成では、ジェネシスブロック作成プロセスは、創設メンバー(例えば、上記で論じたコンソーシアムのエンティティ)間のデータの通信を含む。一部の例では、通信内容には必ずしも秘密情報が存在しない場合があるので、オープンなパブリックチャネルを利用してこの情報を通信することができる。幾つかの実施例では、ジェネシスブロックの作成は、以下のステップを実行することによって実行される(各ステップは、示されている順序で、又は別の順序で、或いは一部の例では直列で又は並列して実行することができる)。
1.データエントリのコレクションの管理者を選択する。
2.各メンバーのアイデンティティ及び公開鍵は、別のメンバーによってデジタル署名されており、これはジェネシスブロックのデータエントリと見なすことができる。
3.管理者は、データエントリを収集し、ジェネシスブロックのデータブロック(例えば、ステップ2で生成されたデータエントリのアレイ)を形成し、データブロックにデジタル署名する。
4.管理者は、署名されたデータブロックを他のメンバーに送信して、これら他のメンバーによって更にデジタル署名するようにする。
5.管理者は、ジェネシスブロックを公開する。
【0041】
ジェネシスブロックのブロック構築を容易にするために、コンソーシアムの創設メンバーの1人を管理者として選択し、上記のステップ1で述べたようにジェネシスブロックを作成するプロセスを主導することができる。一部の例では、創設メンバーが集まり、ジェネシスブロック作成タスクを管理者としての役割を果たすメンバーの1人に委任することに同意することができる。管理者は、ジェネシスブロックに含まれる情報を変更する権限を有していない。更に、結果として得られるジェネシスブロックは、創設メンバー間で共有されることになり、メンバーは、ブロックの妥当性をチェックしてその完全性を保証することができる。従って、管理者は、何れの創設メンバーでも可能であるが、管理者を指名してもシングルポイント障害は発生しない。
【0042】
上記のジェネシスブロックの作成では、ステップ2を実行して、コンソーシアムの各メンバー(各創設メンバー)のデータエントリを作成することができる。各メンバーのデータエントリの作成(各データエントリは、メンバーのアイデンティティ及び別のメンバーによって署名された公開鍵を含む)は、例えば、PKCS#10(例えば、https://tools.ietf.org/html/rfc2986を参照)に基づく証明書署名要求(CSR)と同様の方法で実行することができる。メンバーの(署名された)ジェネシスブロックデータエントリが、管理者に送信される(例えば、公開鍵の所有者の代わりに)。一部の例では、アイデンティティと公開鍵のペアごとに複数の署名が必要になる場合があるが、アイデンティティと公開鍵のペアごとに単一のデジタル署名で十分な場合もある。例えば、ステップ2を複数回実行することにより、複数の署名を実行することができる。幾つかのコンテキストでは、ステップ2を実行するための最も計算効率が高く帯域幅効率のよい方法は、この署名プロセスをリング方式で実行することであり、この場合、各メンバーのアイデンティティ及び公開鍵のセットは、
図2に示すように厳密に他の1人のメンバーによって署名される。ステップ2の署名プロセスは、別の方法で実行することができる。例えば、各署名は、非同期で独立して発生することができる。
【0043】
上記のジェネシスブロックの作成では、ステップ3により、各創設メンバーのアイデンティティ、公開鍵、及びデジタル署名を含むデータのセットが管理者によって収集される。管理者は、全ての署名を妥当性確認し、データブロック、例えば、
図3に示すデータエントリのアレイを形成する。
図3に示す実施例では、各メンバーのデータエントリMember0、Member1、・・・MemberNが連結されて、データエントリのアレイを形成する。次いで、データエントリのアレイは管理者によってデジタル署名され、ジェネシスデータブロックを形成する。例えば、管理者のデジタル署名は、管理者の秘密鍵とデータエントリのアレイを使用して生成することができ、次いで、管理者のデジタル署名をデータエントリのアレイに付加して、ジェネシスデータブロックを形成することができる。
【0044】
図3に示される例示的なジェネシスブロック300は、ジェネシスデータブロックを形成するジェネシスブロックデータエントリ302A、302B、302Cのアレイを含む。ジェネシスブロックデータエントリ302A、302B、302Cは、ルートオブトラストコンソーシアムの各々のメンバーエンティティを表している。図示の実施例では、N個のメンバーエンティティがある(Member0、Member1、Member2、...MemberN)、ここでNは一般に、1よりも大きい任意の整数とすることができる。
【0045】
図3に示す実施例では、各ジェネシスブロックデータエントリ302A、302B、302Cは、ジェネシスブロックデータエントリによって表されるメンバーエンティティの識別子を含む。例えば、ジェネシスブロックデータエントリ302Aは、Member0を表し、Member0の識別子(「ID_Member0」)を含み、ジェネシスブロックデータエントリ302Bは、Member1を表し、Member1の識別子(「ID_Member1」)を含む、等など。識別子は、例えば、テキスト文字列、整数、又は適切な形式又はフォーマットの他のタイプのラベルもしくは名称とすることができる。
【0046】
図3に示す実施例では、各ジェネシスブロックデータエントリ302A、302B、302Cはまた、ジェネシスブロックデータエントリによって表されるメンバーエンティティの公開鍵を含む。例えば、ジェネシスブロックデータエントリ302Aは、Member0を表し、Member0の公開鍵(「Public_Key_Member0」)を含み、ジェネシスブロックデータエントリ302BはMember1を表し、Member1の公開鍵(「Public_Key_Member1」)を含む、等など。公開鍵は、例えば、暗号化システムで使用するために生成された公開鍵-秘密鍵ペアの公開鍵とすることができる(例えば、暗号化システムによって指定された鍵生成プロトコルに従って)。
【0047】
図3に示す実施例では、各ジェネシスブロックデータエントリ302A、302B、302Cはまた、別のメンバーエンティティ(すなわち、ジェネシスブロックデータエントリによって表されるメンバー以外のルートオブトラストコンソーシアムのメンバー)のデジタル署名を含む。例えば、ジェネシスブロックデータエントリ302Aは、Member0を表し、Member1のデジタル署名を含み(「Signature_Member1(ID_Member0、Public_Key_Member0)」)、ジェネシスブロックデータエントリ302Bは、Member1を表し、Member2のデジタル署名(「Signature_Member2(ID_Member1、Public_Key_Member1)」)を含む、等など。他のエンティティのデジタル署名は、他のエンティティ自らの秘密鍵を使用して、他のエンティティによって生成することができる。一部の例では、識別子及び公開鍵を含む入力メッセージにデジタル署名プロトコルを適用することができる。例えば、ジェネシスブロックデータエントリ302AにおけるMember1のデジタル署名は、「ID_Member0」及び「Public_Key_Member0」を含む入力に適用されるデジタル署名プロトコルにおいてMember1の秘密鍵を使用して生成される。
【0048】
動作の幾つかの態様では、ジェネシスブロックデータエントリ302A、302B、302Cは、ルートオブトラストコンソーシアムのメンバーエンティティから取得される。例えば、コンソーシアムの管理者は、
図2に示すリング署名プロセス200又は別のタイプのプロセスを開始することにより、メンバーエンティティからジェネシスブロックデータエントリ302A、302B、302Cを取得することができる。リング署名プロセス200では、各メンバーがジェネシスブロックデータエントリの1つに対してデジタル署名を生成し、従って、各ジェネシスブロックデータエントリは、異なるメンバーエンティティのデジタル署名を含む。次いで、管理者エンティティは、ルートオブトラストとして使用するためジェネシスブロックを提供する前に、ジェネシスブロックデータエントリ302A、302B、302Cの各々のデジタル署名を妥当性確認することができる。
【0049】
図3に示すジェネシスブロック300は、図示の実施例においてはジェネシスブロックデータエントリ302A、302B、302Cのアレイである、ジェネシスデータブロックに基づいてルートオブトラストコンソーシアムに対して生成される。ジェネシスブロックの生成300は、ジェネシスデータブロックをデジタル署名するステップを含む。
図3に示す実施例では、ジェネシスデータブロックにデジタル署名するステップは、ルートオブトラストコンソーシアムの管理者のデジタル署名304を生成して、管理者のデジタル署名304をジェネシスデータブロックに付加するステップを含む。管理者のデジタル署名は、管理者自身の秘密鍵を使用して管理者により生成することができる。例えば、デジタル署名プロトコルは、ジェネシスブロックデータエントリ302A、302B、302Cのアレイを含む入力メッセージに適用することができる。
【0050】
図4に示すように、ジェネシスブロック400の作成において、ジェネシスデータブロック402は、例えばジェネシスデータブロック402が管理者によって署名された後、1又は2以上の他の創設メンバー、例えば、Member0…MemberMによりデジタル署名されて、データの完全性を提供しシングルポイント障害を更に回避することができる。
図3に示すジェネシスブロックデータエントリ302A、302B、302Cのアレイは、1又は2以上の他の創設メンバーによって署名されている
図4のジェネシスデータブロック402として使用することができる。ブロックに対して複数のメンバー署名が必要とされる場合、管理者は、パブリックチャネルを介してジェネシスデータブロック402を他のメンバーに送信し、当該メンバーによってジェネシスデータブロック402がデジタル署名されるようにすることができる。割り当てられたメンバーは、署名を妥当性確認し、データエントリの有効性を検証し、ブロックに署名し、署名を付加して返信する。この処理を繰り返すことにより、管理者は、
図4に示すジェネシスブロック400の作成を完了することができる。
【0051】
動作の幾つかの態様では、ジェネシスデータブロック402は、管理者以外のメンバーエンティティのサブセット(すなわち、1つ、幾つか、又は全て)に送信される。管理者は、メンバーエンティティのサブセットからデジタル署名406A、406Bを受け取ることができ、ここで、デジタル署名406A、406Bの各々は、ジェネシスデータブロック402に基づいて、メンバーエンティティのそれぞれ1つによって生成することができる。次いで、生成ブロック400は、受け取ったデジタル署名406A、406B、管理者404のデジタル署名、及びジェネシスデータブロック402を組み合わせることによって生成することができる。
【0052】
ジェネシスブロックが作成されると、チェーン内の追加のデータブロックを構築することができる。ルートオブトラストは、ジェネシスブロックから生じるブロックのチェーンで表すことができ、ここでは、ルートオブトラストコンソーシアムへの変更、例えば、コンソーシアムのメンバーの追加又は削除は、チェーンブロックによって記録される。
図5に示す実施例では、単一のブロックが、例えばラウンドごとに一度にチェーンの最後のブロックに追加され、単一のスレッドチェーンを作成する。例えば、ブロックのチェーンは、付加専用チェーンとして展開することができ、ここでチェーンからのブロックの削除は許可されない。これは、ブロックが時系列順にチェーンされ、最後のブロックが最新であることを意味する。従って、ルートオブトラストコンソーシアムに属していると主張するメンバーによる署名を妥当性確認するには、最後のブロックからチェーンを辿り、有効な公開鍵に関連付けられているこのメンバーのアイデンティティの最初(すなわち、最新)の出現を見つけ、公開鍵を使用して署名を妥当性確認することができる。
【0053】
ジェネシスブロックの作成と同様に、ブロックをチェーンするプロセスを主導する管理者を(例えば、現在のラウンド用に)選択することができる。このチェーンブロックを作成する管理者は、ジェネシスブロック作成管理者と同じでも異なっていてもよい。また、一部の例では、異なるブロックに対して異なる管理者を選択することができる。これは、例えば、メンバーがルートオブトラストコンソーシアムから削除された場合又は他のシナリオにおいて重要とすることができる。一部の実施構成では、ブロックを構築するための全ての通信は、オープンなパブリックチャネルを介して実行することができる。
【0054】
幾つかの実施例では、既存のブロックのチェーンに新しいブロック(例えば、アクションブロック)を追加するために、以下のステップを行うことができる(ステップは、図示の順序で、又は別の順序で、或いは一部の例では直列又は並列で実行することができる):
1.管理者を特定する。
2.管理者はデータエントリを収集し、データエントリのアレイを作成する。
3.データエントリのアレイは、従前のブロックのハッシュと連結される。
4.管理者は、1又は2以上のメンバーによってデジタル署名されたアレイとハッシュの連結を有する。
5.管理者は、新しいブロックを含むブロックのチェーンを公開する。
【0055】
従って、新しいブロック(例えば、アクションブロック)が追加されるたびに、チェーンの既存のブロックのハッシュが取得され(例えば、直近に追加されたブロックにハッシュ関数を適用することによって);新しいデータエントリを含む新しいデータブロックが生成されて、新しいデータエントリがルートオブトラストコンソーシアムの1又は2以上のメンバーエンティティによるアクションを識別し;新しいブロックは、新しいデータブロックと既存のブロックのハッシュとの組み合わせ(例えば、連結)にデジタル署名することによって生成される。デジタル署名するステップは、複数のデジタル署名(例えば、管理者エンティティと1又は2以上の他のメンバーエンティティのデジタル署名)の適用を含むことができる。次いで、新しいブロックは、暗号化システムのルートオブトラストとして、1又は2以上のエンドエンティティによって(例えば、チェーンの他のブロックと共に)使用するために提供される。
【0056】
一部の実施例では、例えば、新しいメンバーの追加、或いは既存のメンバーの更新、置換、又は公開鍵の追加などのアクションのデータを含むデータエントリは、現在のラウンドの管理者にレポートすることができる。一部の実施例では、新しい公開鍵の所有者は、デジタル署名を提示して、例えば、PKCS#10と同様の方法で対応する秘密鍵の所有権を証明する。例えば、公開鍵の無効化又はキャンセル、或いはメンバーの削除など他のタイプのアクションもまた、管理者に報告されて、ブロックチェーンプロセスを開始することができる。
【0057】
ジェネシスブロック及びチェーンブロックは、それぞれのデータブロックのデータ構造を有することができる。一部の例では、ジェネシス及びチェーンブロックのデータ構造は、共通した特定のフィールド、すなわち、アイデンティティフィールド、公開鍵フィールド、及び署名フィールドを有することができる。一部の例では、ブロックのこの部分は、X.509証明書又は他の何れかのデジタル証明書フォーマットに類似することができる。例えば、X.509のフォーマット及びエンコーディング、又は他の何れかのデジタル証明書を使用して、データブロックのこの部分を表すことができるが、より単純なエンコーディングを使用することもできる。しかしながら、一部の例では、X.509とは異なり、データブロックに複数の署名を適用してもよい。
【0058】
幾つかの実施例では、アイデンティティフィールドは、エンティティに関するアイデンティティ情報データを含む。公開鍵データフィールドは、例えば、公開鍵が属するドメインパラメータ、公開鍵、一部の例では終了時間又は他の時間表現(例えば、期間)を含むことができる有効期限を備えた暗号システムを含む、構成要素を備えたデータ構造を有することができる。デジタル署名のデータ構造は、例えば、署名者のアイデンティティ、署名が生成されるドメインパラメータを備えた暗号化システム、デジタル署名、及びタイムスタンプなどの構成要素を含むことができる。
【0059】
ジェネシスブロックは、例えば、
図3に示される例示的なジェネシスデータブロック300におけるように、各メンバーに対する1又は2以上のデータエントリのアレイを含むことができる。ジェネシスブロックの各データエントリは、アイデンティティフィールド、公開鍵フィールド、及び1又は2以上の署名フィールドを含むことができる。例えば、特定のコンテキスト又は実装に応じて、他のフィールドをデータブロックに含むことができる。
【0060】
ジェネシスブロックと同様に、各チェーンデータブロック(例えば、
図5A及び5Bに示すブロック502A、ブロック502B、ブロック502C)は、1又は2以上のデータエントリを含む。
図5に示すように、チェーンブロック内のデータエントリは、追加のフィールド、例えばアクションタイプフィールドを含む。アクションタイプフィールドは、ルートオブトラストコンソーシアムの1又は2以上のメンバーエンティティによるアクションを識別する。例えば、ジェネシスブロックデータエントリが非明示的に「新規」と示されているので、アクションタイプフィールドは、ジェネシスブロックから省略することができる。例えば、ジェネシスブロックは、新しいメンバーを追加するアクションと見なすことができる。前述のように、チェーンブロックデータ構造はまた、アイデンティティフィールド、公開鍵フィールド、及びオプションで1又は2以上の署名フィールドを含むことができる。一部の例では、ブロック全体のデジタル署名で十分であり、各エントリのデジタル署名よりも効率的とすることができるので、各エントリのデジタル署名はオプションである。
【0061】
一部の実施構成では、複数エンティティのルートオブトラストシステムは、ブロックのチェーンに記録することができるアクションタイプを定義する。データエントリにおいて識別することができる実施可能なアクションタイプの実施例は、以下を含む。
1.新しいメンバーの追加(「新規」)
2.メンバーの削除(「削除」)
3.公開鍵の更新(「更新」)
4.公開鍵の無効化(「無効化」)
5.無効化後の公開鍵の置換(「置換」)
6.公開鍵の追加(「追加」)
7.古い公開鍵のキャンセル(「キャンセル」)
8.タイムスタンプ(「タイムスタンプ」)
9.既知のステータス(「ステータス」)
10.フリーズ(「フリーズ」)
11. フリーズ解除(「フリーズ解除」)
【0062】
一部の実施例では、他のタイプのアクションを定義し利用することもできる。次に、上記で挙げたアクションタイプをどのようにして定義し利用できるかの実施例について説明する。これら及び他のアクションタイプは、別の方法で実装することができる。
【0063】
「新規」のアクションは、新しいメンバーを追加するのに使用される。例えば、このアクションは、このメンバーがルートオブトラストコンソーシアムに存在しなかったことを示す。従って、新しいアイデンティティとこれに関連する公開鍵がデータエントリに表れる。
【0064】
「削除」のアクションは、メンバーをルートオブトラストコンソーシアムから削除するのに使用される。これは、メンバーが行動していないことを示し、単にその秘密鍵が侵害されたことを示さないので、公開鍵を無効化するよりも強力なアクションである。この場合、公開鍵は不要であり、不正行為を行ったメンバーのアイデンティティを含めることで十分である。
【0065】
「更新」のアクションは、公開鍵の有効期限が近づいているときに使用される。従って、このアクションにより、同じ暗号システムの同じセキュリティ強度を有する2つの公開鍵が、古いものが期限切れになるまで同一のアイデンティティに対して共存する猶予期間が可能になる。更新された公開鍵をデータエントリにおいて指定することができる。
【0066】
「無効化」のアクションは、公開鍵の即時の無効化を促す。無効化された公開鍵がデータエントリに指定される。公開鍵が無効化されると、この公開鍵の所有者は、「置換」アクションにより再度有効にすることができる。置換公開鍵は、データエントリで指定することができる。
【0067】
「追加」のアクションは、既存のアイデンティティに第2の公開鍵を追加し、例えば、メンバーが2つの有効な公開鍵を同時に所有するような状況を作り出すことができる。これは、第2の公開鍵が異なる暗号システムに属する、又は同じ暗号システムに属するがセキュリティ強度が異なる移行シナリオにおいて有用とすることができる。第2の公開鍵は、システムが移行する新しい暗号化システム、セキュリティ強度、又はその両方のためのものである。
【0068】
「追加」アクションによって開始された移行における古い公開鍵は、「キャンセル」アクションによって非アクティブにすることができる。一部の実施構成では、「無効化」を使用してこの「キャンセル」アクションを示すことができる。
【0069】
「タイムスタンプ」アクションを用いて、チェーンが最新であり、公開された日時にて適正であったことを示すことができる。コンソーシアムは、「タイムスタンプ」ブロックを公開する適切な間隔を自由に選択することができる。一部の実施構成では、公開されたチェーンにおいて最近の「タイムスタンプ」ブロックが存在しないことは、チェーンの最新のブロックが保留されている又は公開されていないことを示す指示としてクライアントにより解釈することができる。
【0070】
「ステータス」アクションを使用して、現在有効な全てのアイデンティティ情報の概要を記録することができる。このようなブロックは、以前のブロックから計算可能な情報が含まれているので冗長とすることができる。「ステータス」ブロックは、中間ジェネシスブロックと見なすことができる。消費者(特に制約のあるデバイスの)は、受信時に通常どおりにステータスブロックを妥当性確認することができる。将来のチェーンの妥当性確認は、現在のチェーンの終わりから以前に妥当性確認されたステータスブロックまで機能し、信頼の検証に必要な作業を削減することができる。完全な妥当性確認が望ましい場合には、チェーン全体を引き続き利用可能である。
【0071】
「フリーズ」アクションはオプションである。このアクションは、一定の時間期間に新しいブロックが更新されない、すなわち、アクションが実行されないことを示す。従って、このアクションブロックは、フリーズ期間の時間期間又は有効期限を関連付ける必要がある。この時間を用いて、メンバーがブロックのチェーンを同期可能にすることができる。また、オプションで、時間が指定されない場合があり、ブロックのチェーンが無期限にフリーズされることを示す。これは、例えば、チェーンを終端させるのに使用することができる。
【0072】
「フリーズ解除」アクションはオプションである。このアクションは、「フリーズ」アクションの偶発的又は悪意のある使用が検出された場合にのみ使用される。このアクションは、このような「フリーズ」アクションを取り消すことができる。
【0073】
一部の実施構成では、メンバー及び公開鍵を管理するために上記で紹介したアクションタイプは、暗号化の俊敏性を実現する新しい暗号システムに移行する機能を提供する。例えば、公開鍵アルゴリズムを古いものから新しいものに移行する必要がある場合、アクションタイプにより、新しいアイデンティティに対する第2の公開鍵を迅速に追加して、移行期間の生成、及び移行が完了したときに後で古い公開鍵を無効化する定義済みの方法を可能にする。
【0074】
一部の実施構成では、複数エンティティのルートオブトラストメカニズムにより、各データエントリ並びにブロック全体に対するデジタル署名を可能にする。シングルポイント障害を回避するために、複数エンティティルートオブトラストシステムは、各データエントリが2又は3人以上のメンバーからのデジタル署名によって確実に保護されるようにすることができ、さもなければ、メンバーの侵害によりルートオブトラストデータが変更される可能性がある。
【0075】
コンソーシアムのメンバーによって見たときに、有効な証明書及び無効化された証明書の状態の一貫性は、各ラウンドにおいて単一の選出されたオーソリティ(管理者)が新しいブロックを構築して、これを最新の公開ブロックにチェーンするという事実に起因することができる。結果として、マイニングを利用するパブリックブロックチェーンとは異なり、複数エンティティのルートオブトラストメカニズムではフォークは実施可能ではない。
【0076】
一部の実施例では、複数エンティティルートオブトラストシステムによって、階層構造が可能となり、ここではより低レベルの構造の自由度がある。例えば、コンソーシアムのルートオブトラストよりも下位のレベルは、PKIサブシステムではなく、別のブロックチェーンとすることができ、或いは、これらの混合とすることができる。このシステムでは、PKIサブシステムのレイヤーとブロックチェーンの混在が可能になる。一部の実施例では、サブシステムなしで複数エンティティルートオブトラストシステムを展開することができる。例えば、システムは完全にフラットとすることができ、コンソーシアムのルートオブトラストのメンバーは、CAではなくエンドエンティティである。
【0077】
図5A及び5Bは、複数エンティティのルートオブトラストとして提供されているチェーン500に新しいブロックを追加するための例示的なプロセスを示す概略図である。例示的なチェーン500は、ブロック502A(「Block_(i-1)」)、ブロック502B(「Block_i」)及びブロック502C(「Block_(i+1)」)を含む一連のチェーンブロックを含む。各ブロックは、1又は2以上のデータエントリを含む。例えば、ブロック502Aは、データエントリ510A、データエントリ510B、データエントリ510C、及び場合によっては他のデータエントリを含む。図示の実施例では、各データエントリは、アクションタイプ、アイデンティティ、公開鍵、及び1又は2以上のデジタル署名を識別する情報を含む。
【0078】
データエントリにおいて識別されたアクションタイプは、上記の例示的なアクションのうちの1又は2以上を示すことができる。例えば、アクションは、以下のアクションタイプ、すなわち、ルートオブトラストコンソーシアムへの新しいメンバーの追加;ルートオブトラストコンソーシアムからのメンバーの削除;ルートオブトラストコンソーシアムのメンバーの公開鍵の更新;ルートオブトラストコンソーシアムのメンバーの公開鍵の無効化;ルートオブトラストコンソーシアムのメンバーの公開鍵の置換;ルートオブトラストコンソーシアムのメンバーの追加の公開鍵の追加;ルートオブトラストコンソーシアムのメンバーの公開鍵のキャンセル;チェーンの有効な状態のタイムスタンプ;現在有効な全てのアイデンティティ情報の要約の記録;ブロックのフリーズ;ブロックのフリーズ解除;又は別のタイプのアクション、のうちの1又は2以上であるか、又はこれらを含むことができる。
【0079】
チェーン500内の各ブロック502A、502B、502Cはまた、従前のブロックのハッシュを含む。例えば、データブロック502B(「Block_i」)は、従前のブロック502A)のハッシュ512(「Hash(Block_(i-1))」を含む。次いで、データブロック内のデータエントリ(又はエントリのアレイ)は、従前のブロックのハッシュと組み合わされ(例えば、連結され)て、データブロックを形成し、データブロックは、1又は2回以上署名されてチェーンの新しいブロックを形成する。
【0080】
図示の実施例では、ブロック502Bは、管理者のデジタル署名514(「Signature_Manager(Data_Block_i)」)、別のメンバーエンティティのデジタル署名516(「Signature_Member(Data_Block_i)」)、及び場合によってはデータブロックに付加された追加メンバーのデジタル署名エンティティを含む。デジタル署名は、データエントリ、データブロック全体、又はその両方で生成される。一部の実施例では、ブロックで必要とされる署名の最小数は、特定のネットワークのメンバーに対するトラストレベルによって異なる。この閾値が高いほど、障害点がより少なくなる。一部の実施例では、ブロックにエントリが1つしかない場合、ブロックにのみ署名が必要になる。例えば、ブロック502Aが1つだけのエントリを有する場合、データブロックに1つの署名だけが必要とすることができ、データエントリの署名は、追加の作用を与えない。一部の実施例では、管理者は、署名のためデータブロックを1又は2以上の他のメンバーに送信することができる。同様のステップが実行され、チェーン内の後続の各ブロック、例えば、
図5Bに示すブロック502C(「Block_(i + 1)」)を構築する。
【0081】
従って、データブロックと既存の(従前の)ブロックのハッシュの組み合わせにデジタル署名することは、ルートオブトラストコンソーシアムの管理者のデジタル署名514を生成すること、及び管理者のデジタル署名514をデータブロックに付加することを含むことができる。データブロックは、メンバーエンティティのサブセット(すなわち、1つ、一部、又は全て)に送ることができ、デジタル署名は、メンバーエンティティのサブセットから受け取ることができ、ここでデジタル署名の各々(例えば、デジタル署名516)は、データブロックに基づいて、メンバーエンティティのそれぞれ1つによって生成される。次に、受け取ったデジタル署名(例えば、デジタル署名516)は、管理者のデジタル署名514及びデータブロックと組み合わされて、チェーンのための新しいブロック502Bを形成することができる。
【0082】
本明細書で記載される動作の一部は、コンピュータシステム又はコンピュータ可読命令(例えば、コンピュータプログラム)を実行するデータ処理装置によって実行される動作として実装することができる。
【0083】
図6は、データ処理装置及び1又は2以上のコンピュータ可読ストレージデバイスを含むコンピュータシステム600の実施例を示すブロック図である。用語「データ処理装置」は、例として、プログラム可能なプロセッサ、コンピュータ、システムオンチップ、又は複数のプロセッサ、もしくは前述の例えばプロセッサ610の組み合わせを含む、データを処理するためのあらゆる種類の装置、デバイス、ノード、及びマシンを含む。この装置は、例えば、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)などの専用ロジック回路を含むことができる。装置はまた、ハードウェアに加えて、目的とするコンピュータプログラムの実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、又はこれらの1又は2以上のものの組み合わせを構成するコードを含むことができる。
【0084】
コンパイラ型言語又はインタープリタ型言語、宣言型言語又は手続き型言語を含むあらゆる形のプログラミング言語で書くことができ、スタンドアロンプログラム、又はモジュール、コンポーネント、サブルーチン、オブジェクト、又はコンピュータ環境で使用するのに適した他のユニットとしての形を含むあらゆる形で展開することができる。コンピュータプログラムは、必須ではないが、ファイルシステム内のファイルに対応することができる。プログラムは、プログラム専用の単一のファイル内の、又は複数の連動するファイル(例えば、1又は2以上のモジュール、サブプログラム、又はコードの一部を記憶するファイル)内の、他のプログラム又はデータ(例えば、マークアップ言語リソースに記憶された1又は2以上のスクリプト)を保持するファイルの一部に記憶することができる。コンピュータプログラムは、1つのコンピュータ上で実行されるように展開することも、或いは1つのサイトに位置する、又は複数のサイトに分散して通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することもできる。
【0085】
本明細書で説明したプロセス及びロジックフローの一部は、1又は2以上のコンピュータプログラムを実行する1又は2以上のプログラマブルプロセッサ(例えば、プロセッサ610)によって、入力データに作用して出力を生成することによって動作を行うように実行することができる。プロセス及びロジックフローは、例えばFPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)などの専用論理回路によって実行することもでき、装置をこのような専用論理回路として実装することもできる。
【0086】
コンピュータプログラムを実行するのに適したプロセッサとしては、一例として、汎用マイクロプロセッサ及び専用マイクロプロセッサの両方、並びにあらゆる種類のデジタルコンピュータのプロセッサが挙げられる。一般に、プロセッサは、リードオンリメモリ又はランダムアクセスメモリ、或いはこれらの両方(例えば、メモリ620)から命令及びデータを受け取る。コンピュータの要素は、命令に従って動作を実行するプロセッサと、命令及びデータを記憶する1又は2以上のメモリデバイスとを含む。コンピュータは、例えば非磁気ドライブ(例えば、半導体ドライブ)、磁気ディスク、光磁気ディスク、光学ディスクなどの、データを記憶する1又は2以上の大容量記憶装置を含むこともでき、或いはこのような記憶装置との間でのデータの受け取り及びデータの転送、又はこれらの両方を行うように動作可能に結合することもできる。しかしながら、コンピュータは、このような装置を有していなくてもよい。更に、コンピュータは、例えば電話機、電子機器、モバイルオーディオプレーヤ又はビデオプレーヤ、ゲーム機、全地球測位システム(GPS)受信機、又はポータブル記憶装置(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ)などの別の装置に組み込むこともできる。コンピュータプログラム命令及びデータの記憶に適した装置としては、一例として、半導体メモリデバイス(例えば、EPROM、EEPROM及びフラッシュメモリデバイスなど)、磁気ディスク(例えば、内部ハードディスク又はリムーバブルディスクなど)、磁気光学ディスク、並びにCD ROM及びDVD-ROMディスクを含む全ての形態の不揮発性メモリ、媒体及びメモリデバイスが挙げられる。一部の実施例では、プロセッサ及びメモリは、専用論理回路によって補完又は組み込むことができる。
【0087】
例示的な電源ユニット640は、コンピュータシステム600の他の構成要素に電力を提供する。例えば、他の構成要素は、電圧バス又は他の接続を介して電源ユニット640によって提供される電力に基づいて動作することができる。幾つかの実施構成では、電源ユニット640は、バッテリ又はバッテリシステム、例えば、充電式バッテリを含む。幾つかの実施構成では、電源ユニット640は、外部電源信号を(外部供給源から)受け取り、外部電源信号をコンピュータシステム600の構成要素用に調整された内部電源信号に変換するアダプタ(例えば、ACアダプタ)を含む。電源ユニット640は、他の構成要素を含むか、又は別の方法で動作することができる。
【0088】
ユーザとの対話を提供するために、動作は、ユーザに情報を表示するためのディスプレイ装置(例えばディスプレイ650)(例えば、モニタ、又は別のタイプのディスプレイデバイス)と、ユーザがコンピュータに入力を提供することができるキーボード及びポインティングデバイス(例えば、マウス、トラックボール、タブレット、タッチセンシティブスクリーン、又は別のタイプのポインティングデバイス)とを有するコンピュータ上で実施することができる。他の種類のデバイスを使用して、ユーザとの対話も提供することもでき、例えば、ユーザに提供されるフィードバックは、例えば、視覚的フィードバック、聴覚的フィードバック、又は触覚的フィードバックなどの任意の形態の感覚的フィードバックとすることができ、ユーザからの入力は、音響、音声、又は触覚入力を含む任意の形式で受け取ることができる。加えて、コンピュータは、ユーザによって使用されるデバイスとの間でドキュメントを送信及び受信することにより、例えば、ウェブブラウザから受け取った要求に応答して、ユーザのクライアントデバイス上でウェブブラウザにウェブページを送信することによりユーザと対話することができる。
【0089】
コンピュータシステム600は、単一のコンピューティングデバイス、或いは互いに近接して又は一般的には遠隔で動作して、通常は通信ネットワーク(例えばインターフェース630)を介して相互作用する複数のコンピュータを含むことができる。通信ネットワークの実施例は、ローカルエリアネットワーク(「LAN」)及びワイドエリアネットワーク(「WAN」)、インターネットワーク(例えば、インターネット)、衛星リンクを含むネットワーク、ピアツーピアネットワーク(例えば、アドホックピアツーピアネットワーク)を含む。クライアントとサーバの関係は、それぞれのコンピュータ上で動作して互いにクライアント/サーバの関係を有するコンピュータプログラムによって生じることができる。
【0090】
例示的なインターフェイス630は、他のシステム又はデバイスとの通信を提供することができる。一部の実施例では、インターフェイス630は、例えば、とりわけBluetooth(登録商標)、Wi-Fi、近距離通信(NFC)、GMS音声通話、SMS、EMS、又はMMSメッセージング、無線標準規格(例えば、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、GPRS)などの様々な無線プロトコル下で無線通信を提供する無線通信インターフェイスを含む。このような通信は、例えば無線周波数トランシーバ又は別のタイプのコンポーネントを通じて行うことができる。一部の実施例では、インターフェイス630は、例えばキーボード、ポインティングデバイス、スキャナなどの1又は2以上の入力/出力装置に、或いは、例えばネットワークアダプタを通じてスイッチ又はルータなどのネットワーク装置に接続できる有線通信インターフェイス(例えば、USB、Ethernet)を含む。
【0091】
一般的な態様において、暗号化システムのエンドエンティティによる使用のために、複数エンティティのルートオブトラストが生成又は修正されて提供される。
【0092】
第1の実施例では、ジェネシスデータブロックが生成される。ジェネシスデータブロックは、ルートオブトラストコンソーシアムのそれぞれのメンバーエンティティを表すジェネシスブロックデータエントリを含む。各ジェネシスブロックデータエントリは、ジェネシスブロックデータエントリによって表されるメンバーエンティティの識別子と、ジェネシスブロックデータエントリによって表されるメンバーエンティティの公開鍵と、別のメンバーエンティティのデジタル署名(すなわち、ジェネシスブロックデータエントリによって表されるメンバーエンティティ以外)とを含む。ジェネシスブロックは、ジェネシスデータブロックに基づいてルートオブトラストコンソーシアムに対して生成される。ジェネシスブロックの生成は、ジェネシスデータブロックへのデジタル署名をすることを含む。ジェネシスブロックは、1又は2以上のエンドエンティティにより暗号化システムのルートオブトラストとして使用するのに提供される。
【0093】
一部の実施例では、第1の実施例の実装は、以下の特徴のうちの1又は2以上を含むことができる。ジェネシスデータブロックにデジタル署名することは、ルートオブトラストコンソーシアムの管理者のデジタル署名を生成すること、及び管理者のデジタル署名をジェネシスデータブロックに付加することを含む。ジェネシスデータブロックは、管理者以外のメンバーエンティティのサブセット(すなわち、1つ、一部、又は全て)に送ることができる。デジタル署名は、メンバーエンティティのサブセットから受け取ることができ、ここでデジタル署名の各々は、ジェネシスデータブロックに基づいてメンバーエンティティのそれぞれ1つによって生成される。ジェネシスブロックを生成することは、受け取ったデジタル署名、管理者のデジタル署名、ジェネシスデータブロックを組み合わせることを含むことができる。
【0094】
一部の実施例では、第1の実施例の実装は、以下の特徴の1又は2以上を含むことができる。ジェネシスブロックデータエントリは、メンバーエンティティから取得される。メンバーエンティティからジェネシスブロックデータエントリを取得することは、リング署名プロセス(例えば、
図2に示す)又は別のタイプの署名プロセスを開始することを含むことができる。各ジェネシスブロックデータエントリは、(例えば、
図3に示す実施例のように)異なるエンティティのデジタル署名を含むことができる。ジェネシスブロックのデータエントリは、ルートオブトラストとして使用するためジェネシスブロックを提供する前に、(例えば、メンバーエンティティのデジタル署名又はその他によって)妥当性確認することができる。
【0095】
一部の実施例では、第1の実施例の実装は、以下の特徴の1又は2以上を含むことができる。ルートオブトラストとして、ジェネシスブロックを含むチェーンが提供される。チェーンの既存のブロックのハッシュが取得される(例えば、既存のブロックにハッシュ関数を適用することによって)。新しいデータエントリを含む新しいデータブロックが生成される。新しいデータエントリは、ルートオブトラストコンソーシアムの1又は2以上のメンバーエンティティによるアクションを識別する。チェーンの新しいブロックが生成される。新しいブロックを生成することは、新しいデータブロックと既存のブロックのハッシュとの組み合わせにデジタル署名することを含む。新しいブロックは、暗号化システムの(更新された)ルートオブトラストとして、1又は2以上のエンドエンティティによって使用するために提供される。
【0096】
第2の実施例では、ルートオブトラストコンソーシアムによって提供されるチェーンの既存のブロックのハッシュが取得される。データエントリを含むデータブロックが生成される。データエントリは、ルートオブトラストコンソーシアムの1又は2以上のメンバーエンティティによるアクションを識別する。チェーンの新しいブロックが生成される。新しいブロックを生成することは、データブロックと既存のブロックのハッシュとの組み合わせにデジタル署名することを含む。新しいブロックは、1又は2以上のエンドエンティティによって、暗号化システムのルートオブトラストとして使用するために提供される。
【0097】
一部の実施例では、第2の実施例の実装は、以下の特徴の1又は2以上を含むことができる。データエントリは、アクションタイプの識別子、メンバーエンティティのアイデンティティ、メンバーエンティティの公開鍵、及びデジタル署名を含むことができる。ルートオブトラストとして使用する新しいブロックを提供する前に、各データエントリのデジタル署名が妥当性確認される。データブロックは、メンバーエンティティの1又は2以上による複数のアクションを識別する複数のデータエントリを含む。
【0098】
一部の実施例では、第2の実施例の実装は、以下の特徴の1又は2以上を含むことができる。アクションは、以下のアクションタイプ、すなわち、ルートオブトラストコンソーシアムへの新しいメンバーの追加;ルートオブトラストコンソーシアムからのメンバーの削除;ルートオブトラストコンソーシアムのメンバーの公開鍵の更新;ルートオブトラストコンソーシアムのメンバーの公開鍵の無効化;ルートオブトラストコンソーシアムのメンバーの公開鍵の置換;ルートオブトラストコンソーシアムのメンバーの追加の公開鍵の追加;ルートオブトラストコンソーシアムのメンバーの公開鍵のキャンセル;チェーンの有効な状態のタイムスタンプ;現在有効な全てのアイデンティティ情報の要約の記録;ブロックのフリーズ;及びブロックのフリーズ解除;のうちの1又は2以上であるか、又はこれらを含むことができる。
【0099】
一部の実施例では、第2の実施例の実装は、以下の特徴の1又は2以上を含むことができる。データブロックと既存のブロックのハッシュとの組み合わせにデジタル署名することは、ルートオブトラストコンソーシアムの管理者のデジタル署名を生成すること、及び管理者のデジタル署名をデータブロックに付加することが含むことができる。データブロックは、メンバーエンティティのサブセット(すなわち、1つ、一部、又は全て)に送ることができる。デジタル署名は、メンバーエンティティのサブセットから受け取ることができ、ここでデジタル署名の各々は、データブロックに基づいてメンバーエンティティのそれぞれ1つによって生成される。新しいブロックを生成することは、受け取ったデジタル署名、管理者のデジタル署名、及びデータブロックを組み合わせることを含むことができる。
【0100】
第3の実施例では、コンピュータシステムは、1又は2以上のプロセッサ及びメモリを含む。メモリは、1又は2以上のプロセッサによって実行されたときに、第1の実施例、第2の実施例、又はその両方のうちの1又は2以上の動作を実行するように動作可能な命令を格納する。第4の実施例では、コンピュータ可読媒体は、第1の実施例、第2の実施例、又はこれらの両方の1又は2以上の動作を実行するようにデータ処理装置によって実行されるときに動作可能な命令を格納する。
【0101】
一部の態様では、ブロックのチェーンを構築し、ルートオブトラストエンティティ(ルートオブトラストコンソーシアムのメンバー)のリストに従ってブロックチェーンを管理するための方法及びシステムが提供される。一部の実施例では、ジェネシスブロックは、信頼ブロックエンティティのリストにおける各メンバーのデータエントリで構築される。別の実施例では、新しいデータブロックは、1又は2以上のデータエントリで構成され、ここで各エントリは、変更を示すアクションタイプフィールドを含む(例えば、ルートオブトラストエンティティのリストのメンバーの変更、メンバーの公開鍵又は他の変更)。新しいデータブロックは、ジェネシスブロック又はブロックのチェーンの後続のブロックからチェーンされる。
【0102】
本明細書は多くの詳細を含んでいるが、これらの詳細は、特許請求できる内容の範囲に対する限定ではなく、むしろ特定の例に固有の特徴の説明として理解されたい。別個の実装の文脈で本明細書において説明した又は図面に示した幾つかの特徴は組み合わせることもできる。これとは逆に、単一の実装の文脈で説明又は図示した様々な特徴は、複数の実施形態において別個に実装することも、或いはあらゆる好適な部分的組み合わせで実装することもできる。
【0103】
同様に、図面には特定の順序で動作を示しているが、これは、このような動作は、望ましい結果を得るために図示した特定の順序又は順番で実施されること、又は例示した動作が全て実施されるものと理解すべきではない。特定の状況では、マルチタスク及び並行処理が有利な場合がある。更に、上述の実装において様々なシステム構成要素の分離は、かかる分離が全ての実装において必要であると理解すべきではなく、記載のプログラム構成要素及びシステムを単一の製品に全体として統合し、又は複数の製品にパッケージ化することができる点を理解されたい。
【0104】
複数の実装について説明してきた。それでもなお、様々な修正を行うことも可能であることは理解されるであろう。従って、他の実施形態も以下の特許請求の範囲内にある。
【符号の説明】
【0105】
120 ルートオブトラスト
122 ジェネシスブロック
124A,124B アクションブロック