(57)【要約】閾値コイントス・スキームを実行するシステムにおいて、コインシェアジェネレータを用いる。該コインシェアジェネレータは、コイン値を決定するコイン決定ユニットと、コイン値と属性のセットに関連付けられた秘密鍵とに基づいてコインシェアを生成して、属性のセットに関連付けられるコインシェアを得る、コインシェア生成ユニットとを備える。本システムは更に、検証すべきコインシェアを決定するコインシェア決定ユニットであって、前記コインシェアは属性のセットに関連付けられる、コインシェア決定ユニットと、コインシェアに関連付けられる属性のセットを考慮して、コインシェアの妥当性を検証するコインシェア検証ユニットとを有する、コインシェア検証器を備える。
2015513156.tif 000002
【特許請求の範囲】
【請求項１】
閾値コイントス・スキームを実行するシステムにおいて使用するためのコインシェアジェネレータであって、
コイン値を決定するコイン決定ユニットと、
前記コイン値と属性のセットに関連付けられた秘密鍵とに基づいてコインシェアを生成するコインシェア生成ユニットであって、前記コインシェアは前記属性のセットに関連付けられる、コインシェア生成ユニットと
を備える、コインシェアジェネレータ。
【請求項２】
前記コインシェア生成ユニットは、その属性に対する所定のポリシーを満たす属性のセットに関連付けられる特定の閾値数のコインシェアに基づいて、受信側エンティティがコインを再構築するのを可能にするコインシェアを生成するように構成される、請求項１に記載のコインシェアジェネレータ。
【請求項３】
閾値コイントス・スキームを実行するシステムにおいて使用するためのコインシェア検証器であって、
検証すべきコインシェアを決定するコインシェア決定ユニットであって、前記コインシェアは属性のセットに関連付けられる、コインシェア決定ユニットと、
前記コインシェアに関連付けられる前記属性のセットを考慮して、前記コインシェアの妥当性を検証するコインシェア検証ユニットと
を備える、コインシェア検証器。
【請求項４】
前記コインシェア検証ユニットは、前記コインシェアが特定の属性に有効に関連付けられることを検証する属し検証ユニットを備える、請求項３に記載のコインシェア検証器。
【請求項５】
属性のコレクションに対するポリシーを決定するポリシー決定ユニットを更に備え、前記属性のセットは前記属性のコレクションのサブセットを備え、
前記コインシェア検証ユニットは、前記コインシェアが前記ポリシーを満たす属性のセットに関連付けられているかどうかを検証するように更に構成される、請求項３に記載のコインシェア検証器。
【請求項６】
少なくとも所定の閾値数のコインシェアを組み合わせることによってコインを再構築する、シェア結合ユニットを更に備え、前記コインシェアは、前記属性に対しる所定のポリシーを満たす属性のそれぞれのセットに関連付けられる、請求項３に記載のコインシェア検証器。
【請求項７】
前記コインシェアは、前記コインシェアに関連付けられる前記属性のセットの識別情報を備え、前記コインシェアは、属性ベースの暗号化を使用して暗号により処理される、請求項１に記載のコインシェアジェネレータ又は請求項３に記載のコインシェア検証器。
【請求項８】
ビザンチン・フォールトトレランスプロトコルを実行するためのシステムであって、請求項１に記載のコインシェアジェネレータ及び／又は請求項３に記載のコインシェア検証器を備える、システム。
【請求項９】
ルート権限サブシステムを更に備え、該ルート権限サブシステムは、
エンティティの属性のセットを選択するための属性セレクタと、
前記属性のセットに関連付けられる秘密鍵を生成するための鍵生成ユニットと、
前記秘密鍵をコインシェアジェネレータに提供するための鍵分配器と
を備える、請求項８に記載のシステム。
【請求項１０】
請求項１に記載のコインシェアジェネレータ、請求項３に記載のコインシェア検証器及び／又は請求項８に記載のビザンチン・フォールトトレランスプロトコルを実行するためのシステムを備える、ワークステーション又はモバイル端末。
【請求項１１】
閾値コイントス・スキームにおいてコインシェアを生成する方法であって、
コイン値を決定するステップと、
コイン値と属性のセットに関連付けられる秘密鍵とに基づいてコインシェアを決定するステップであって、前記コインシェアは前記属性のセットに関連付けられる、ステップと
を含む、方法。
【請求項１２】
閾値コイントス・スキームにおいてコインシェアを検証する方法であって、
検証すべきコインシェアを決定するステップであって、前記コインシェアは属性のセットに関連付けられる、ステップと、
前記コインシェアに関連付けられる前記属性のセットを考慮して、前記コインシェアの妥当性を検証するステップと
を含む、方法。
【請求項１３】
少なくとも所定の閾値数のコインシェアを組み合わせることによって、コインを再構築するステップを更に備え、前記コインシェアは、前記属性に対する所定のポリシーを満たす属性のそれぞれのセットを関連付ける、請求項１２に記載の方法。
【請求項１４】
プロセッサシステムに請求項１１又は請求項１２に記載の方法を実行させる命令を備えた、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コインシェア生成に関する。本発明は更に、コインシェア検証にも関する。本発明は更に、ビザンチン・フォールトトレランス・プロトコルを実行することにも関する。
【背景技術】
【０００２】
最近、クラウドコンピューティングが約束する利点により、クラウドコンピューティングへの関心が著しく高まってきている。クラウドコンピューティングにおいて、コンピューティングサービスは、要求に応じて利用され得るユーティリティサービスと同様に、要求に応じて容易に利用可能である。ユーザは、複雑なＩＴインフラストラクチャを構築して管理することに多く投資する必要はなく、またその困難性に直面する必要がない。そのようなモデルにおいて、ユーザは、サービスがホストされる場所に関わらず、自身のニーズに基づいてサービスにアクセスすることが可能である。クラウドコンピューティングは、典型的に、ネットワーク化された仮想マシンの集合を含む最先端のデータセンサによってサポートされる、コンピューティングサービスの動的なプロビジョニングのための新たなパラダイムとして分類され得る。クラウドコンピューティングは、インフラストラクチャ、プラットフォーム及びソフトウェア（アプリケーション）をサービスとして供給する。これらはそれぞれ、インフラストラクチャ・アズ・ア・サービス（ＩａａＳ）、プラットフォーム・アズ・ア・サービス（ＰａａＳ）及びソフトウェア・アズ・ア・サービス（ＳａａＳ）と呼ばれる。
【０００３】
クラウドは、データセンタを仮想サービス（ハードウェア、データベース、ユーザインタフェース、アプリケーションロジック）のネットワークとして設計することによって、改善された次世代のデータセンタを提供することができ、その結果、ユーザは、ユーザの所望のＱｏＳ（Quality  of  Service）レベルに応じた競争価格で、要求に応じて、世界中のどこからでもアプリケーションにアクセスし、展開することができる。新たなインターネットサービスについての革新的なアイディアを有する開発者達は、そのサービスを展開するハードウェアへの多くの設備投資や、これを操作する人件費を必要としない。これは、基本的なハードウェア（サーバ）及びソフトウェアインフラストラクチャを設定するという低いレベルのタスクからＩＴ企業を開放し、したがってこれらの企業が自身のサービスのための革新及びビジネス的価値を創造することに焦点を当てることを可能にすることにより、ＩＴ企業に大きな利益をもたらす。
【０００４】
世界中からの多くのユーザをサポートするために、クラウドインフラストラクチャのプロバイダ（すなわちＩａａＳプロバイタ）は、複数の地理的な場所にデータセンタを設置し、冗長性を提供してサイト障害の場合の信頼性を保証している。
【０００５】
クラウドコンピューティングは複数の利点を提供するが、解決する必要のある可用性、信頼性及びセキュリティに関連する多くの課題が依然として存在する。
【０００６】
ビザンチン・フォールトトレランス（ＢＦＴ：Byzantine  fault  tolerance）は、実用的なシステムの可用性及びセキュリティを改善する機構として知られている。ＢＦＴのアプリケーションの１つは、クラウドコンピューティングにあり、特にクラウドで展開される本質的なサービスである。例えばサービスは、クラウドのサブセット内の障害に耐えるように、複数の独立のクラウドプロバイダによってホストされる可能性がある。ＢＦＴプロトコルは、閾値コイントス・スキーム（threshold  coin  tossing  scheme）を、フォールトトレランスを強調する手段として使用する。閾値コイントス・スキームは、スキーム内の参加者の識別情報に基づいて障害を管理することを可能にする。閾値コイントス・スキームにおいて使用される公開鍵のサイズは、パーティの数により増加する。
【０００７】
Ｃ．Ｄｗｏｒｋ等による特許文献１「Our  Data,  Ourselves:  Privacy  via  Distributed  Noise  Generation」（Proceedings  Eurocrypt,  Springer,  2006,  pages  486-503）には、悪意ある参加者に対するランダムなノイズ、セキュアのシェアを生成するための分散プロトコルを開示している。データベース内のプライバシは、少量のガウス又は指数関数的に分散されるランダムノイズの追加によって、データベースクエリに対する本当の必要性をなくす。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Ｃ．Ｄｗｏｒｋ等著「Our  Data,  Ourselves:  Privacy  via  Distributed  Noise  Generation」，Proceedings  Eurocrypt，Springer，２００６年，ｐ．４８６−５０３
【発明の概要】
【発明が解決しようとする課題】
【０００９】
閾値コイントス・スキームを実行するために改善されたシステムがあることは有利であろう。
【課題を解決するための手段】
【００１０】
この課題により良く対処するために、本発明の第１の態様は、閾値コイントス・スキームを実行するシステムにおいて使用するためのコインシェアジェネレータを提供する。該コインシェアジェネレータは、
コイン値を決定するように構成されたコイン決定ユニットと、
コイン値と属性のセットに関連付けられる秘密鍵とに基づいてコインシェアを生成し、属性のセットに関連付けられたコインシェアを得るように構成されたコインシェア生成ユニットと
を備える。
【００１１】
コインシェアを属性のセットに関連付けることによって、所定の属性を有する参加パーティを許可する閾値コイントス・スキームを実行することが可能になる。識別情報に基づく暗号処理を使用する必要がない。属性に基づいて障害を管理する利点の１つは、同じ鍵が複数のパーティによって保持され得るときのような、公開鍵のサイズの低減である。さらに、これは、属性のリストに対するポリシーに基づいてエンティティを管理することも許容する。提案されるコインシェアジェネレータは、属性のセットに関連付けられるコインシェアの生成を許容する。このために、検証ユニットによる、パーティの属性セットに対するポリシーに基づくコインシェアの検証及び再構築が可能になる。
【００１２】
コインシェア生成ユニットは、その属性に対する所定のポリシーを満たす属性のセットに関連付けられる特定の閾値数のコインシェアに基づいて、受信側のエンティティがコインを再構築することを可能にする、コインシェアを生成するように構成されることがある。このようにして、属性を、送り手の識別情報の代わりに使用して、コインを再構築することができる。これは、異なるユーザの識別情報に対して公開鍵を管理する負荷を低減するか無くす。
【００１３】
別の態様において、本発明は、閾値コイントス・スキームを実行するシステムにおいて使用するためのコインシェア検証器を提供する。該コインシェア検証器は、
検証すべきコインシェアを決定するように構成されたコインシェア決定ユニットであって、前記コインシェアが属性のセットに関連付けられる、コインシェア決定ユニットと、
コインシェアに関連付けられる属性のセットを考慮して、コインシェアの妥当性を検証するように構成されたコインシェア検証ユニットと
を備える。
【００１４】
そのようなコインシェア検証器は、コインシェアの妥当性を、コインシェアに関連付けられる属性に基づいて評価することができる。これは、属性が幾つかのエンティティの間で再使用されることがあるので、必要とされる公開鍵のサイズを低減し得る。さらに、ユーザの特権をそのユーザの属性によって表すことが可能であるので、コインシェア検証器は、ユーザの特権をトラックし続ける必要がなく、鍵の取り扱いが簡単になる。
【００１５】
コインシェア検証ユニットは、コインシェアが特定の属性に有効に関連付けられることを検証するように構成される属性検証ユニットを備えることがある。例えばコインシェアは関連付けられる属性のリストを含むので、コインシェアは、属性の特定のセットに関連付けられると考えられる。属性検証ユニットは、例えば属性ベースの暗号化を使用して、コインシェアがこれらの属性に有効に関連付けられることを検証するのを助ける。これは、コインシェアが特性の属性に関連付けられるかどうかを属性検証ユニットが検証することが許容されるためである。
【００１６】
コインシェア検証器は、属性のコレクションにわたるポリシーを決定するように構成されたポリシー決定器を備えることがある。ここで、属性のセットは、属性のコレクションのサブセットであり、コインシェア検証ユニットは更に、コインシェアが、上記ポリシーを満たす属性のセットに関連付けられるかどうかを検証するように構成される。属性の異なるセットが、コインシェアの有利な検証のために容認される場合があり得る。属性の容認可能なセットとなるものを定義する制約は、システム内の属性のコレクションに対するポリシーによって表されることがある。これにより、コインシェア検証パラメータのコンパクトな表現が可能になり、及び／又はコインシェア検証器の柔軟な構成が可能になる。
【００１７】
コインシェア検証器は、少なくとも所定の閾値数のコインシェアを組み合わせることによって、コインを再構築するように構成されるシェア結合ユニットを備えることがある。ここで、コインシェアは、属性にわたる所定のポリシーを満たす属性のそれぞれのセットに関連付けられる。必ずしも全てのコインシェアが、コインの再構築の成功のために属性の同じセットに関連付けられる必要はない。しかしながら、コインシェアは、属性のコレクションに対するポリシーを満たす属性のそれぞれのセットに関連付けられるべきである。
【００１８】
シェア結合ユニットは、コインシェアから属性を除去して、再構築されたコインシェアを得るためのコインシェア再構築ユニットを備えることがある。これらの再構築されたコインシェアは、暗号化により処理されているので、コインシェアの属性ベースの暗号化に起因するいずれかの暗号化又は符号化が除去される。これにより、コインシェアを結合してコインを再構築することがより容易になる。
【００１９】
コインシェアは、コインシェアに関連付けられた属性のセットの識別情報を備えることがある。これは、検証器による処理を容易にする。さらに、コインシェアは属性ベースの暗号化を使用して暗号化により処理され得る。これは、検証器による高レベルのシステムセキュリティでの検証を可能にする。
【００２０】
別の態様において、本発明は、ビザンチン・フォールトトレランスプロトコルを実行するためのシステムを提供する。このシステムは、本明細書で説明されるようなコインシェアジェネレータを備える。あるいはまた、システムは、本明細書で説明されるコインシェア検証器を備える。
【００２１】
このシステムは更に、ルート権限サブシステムを備え、該ルート権限サブシステムは、
ユーザの属性のセットを選択するための属性セレクタと、
属性のセットに関連付けられた秘密鍵を生成するための鍵生成ユニットと、
秘密鍵をコインシェアジェネレータへ提供するための鍵分配器と
を備える。
【００２２】
これにより、コインシェアジェネレータが、該コインシェアジェネレータのユーザの属性のセットに関連付けられるコインを生成することが可能になる。
【００２３】
ワークステーション又はモバイル端末を提供してもよく、このワークステーション又はモバイル端末は、本明細書で説明されるコインシェアジェネレータ、本明細書で説明されるコインシェア検証器及び／又は本明細書で説明されるビザンチン・フォールトトレラントプロトコルを実行するためのシステムを備える。
【００２４】
別の態様において、本発明は、閾値コイントス・スキームにおけるコインシェアを生成する方法を提供する。この方法は、
コイン値を決定するステップと、
コイン値と属性のセットに関連付けられる秘密鍵とに基づいてコインシェアを生成し、属性のセットに関連付けられるコインシェアを得るステップと
を含む。
【００２５】
別の態様において、本発明は、閾値コイントス・スキームにおいてコインシェアを検証する方法を提供する。この方法は、
検証すべきコインシェアを決定するステップであって、前記コインシェアが属性のセットに関連付けられる、ステップと、
コインシェアに関連付けられる属性のセットを考慮して、コインシェアの妥当性を検証するステップと
を含む。
【００２６】
この方法は更に、少なくとも所定の閾値数のコインシェアを組み合わせることによって、コインを再構築するステップを含み、ここでコインシェアは、属性に対する所定のポリシーを満たすそれぞれの属性のセットに関連付けられる。
【００２７】
別の態様において、本発明は、プロセッサシステムに、説明される方法の１つ又は複数を実行させる命令を備えるコンピュータプログラム製品を提供する。
【００２８】
当業者には、本発明の上述の実施形態、実装及び／又は態様の２つ又はそれ以上を、任意の有益と思われる方法で組み合わせてもよいことが認識されよう。
【００２９】
システムについて説明される修正及び変更に対応するイメージ取得装置、ワークステーション、システム、方法及び／又はコンピュータプログラム製品の修正及び変更は、本説明に基づいて当業者によって実施されることが可能である。
【００３０】
本発明のこれら及び他の態様は、図面との関連で明らかになり、解明され得る。
【図面の簡単な説明】
【００３１】
【図１】閾値コイントス・スキームを実行するシステムのブロック図である。
【図２】閾値コイントス・スキームを実行する方法のフローチャートである。
【発明を実施するための形態】
【００３２】
閾値コイントス・スキームを説明する１つの方法は、スキーム内の異なるアクターによって用いられるアルゴリズムのセットを説明することによるものである。これらのアルゴリズムは、これらの異なるアクターの制御下にあるデバイスにおいて実装され得る。
【００３３】
例示のアルゴリズムのセットは、次の通りである。  
−  セットアップ（）：  このアルゴリズムは、ルート権限者（ＲＡ：root  authority）によって実行されてよく、一部の実施形態では、入力として、いずれのパラメータもとる必要がない。しかしながら、いくつかのパラメータをシステムの設計によって暗黙的に定義してもよい。そのようなパラメータには、計算を実行するのに使用されるフィールドが含まれることがある。セットアップアルゴリズムは、出力として、公開パラメータＰＫのセット及びマスタ秘密鍵ＭＫを生成することができる。マスタ秘密鍵ＭＫは、秘密鍵の生成のための鍵生成アルゴリズムにおいて使用され得る。  
−  鍵生成（ＭＫ，ω）：  このアルゴリズムは、ルート権限者によって実行されてよい。あるいは、エンティティに分配する個別鍵によって実行されてもよい。鍵生成アルゴリズムは、マスタ秘密鍵ＭＫと、パーティＰｉによって保持される属性セットωとを入力としてとる。このアルゴリズムの出力は、属性セットωに関連付けられる秘密鍵ＳＫω，Ｐｉである。  
−  コインシェア生成（Ｃ，ＳＫω，Ｐｉ）：  アルゴリズムは、複数のパーティのうちの１つ、例えばＰｉによって制御されるコンピューティング環境において実行され得る。このアルゴリズムは、コインＣ∈｛０，１｝*と、パーティＰｉの秘密鍵ＳＫω，Ｐｉを入力としてとる。この秘密鍵ＳＫω，Ｐｉは、属性セットωに関連付けられる。このアルゴリズムの出力は、コインＣのシェアである。しかしながら、コインＣのこのシェアは、例えば属性のセットωにデジタル署名する等、属性ベースの暗号化を使用して処理され、その結果、受信側のパーティは、シェアが、Ｐｉによって保持される属性セットωに関連付けられることを検証することができる。  
−  シェア検証（ＰＫ，σω，Ｐｉ）：  このアルゴリズムは、公開鍵ＰＫ及びパーティＰｉからのコインのシェアσω，Ｐｉを入力としてとる。コインシェアが有効であるかどうかを判断する。例えばコインシェアが、属性の適切なセットで有効に署名されているかどうかを判断する。  
−  シェア結合（σω，Ｐｉ）：  シェア結合アルゴリズムは、属性セットωを使用して署名されたコインＣの有効なシェアを入力としてとる。十分に多くの数のコインのシェアが利用可能である場合、コインの元の値を出力してよい。
【００３４】
属性ベースの閾値コイントス・スキーマが提供され得る。ここで、コインシェアは、複数の属性に対するポリシーに従って生成される。パーティの属性に関連する秘密鍵コンポーネントは、ディーラー、例えばルート権限者によって発行され得る。これらの鍵を発行した後、ディーラーは必ずしも、対話プロトコルにおいて果たすべき更なる役割を有する必要はない。通常の閾値コイントス・スキームと同様に、正しいコインは、有効なコインシェアを提供する十分なパーティが存在する場合、すなわち、「ｎ」から「ｔ」をとる（t  out  of  n）場合にのみ構築され得る。しかしながら、属性ベースの閾値コイントス・スキームにおいて、これらのコインシェアは、属性の適切なリストに関連付けられる必要がある。
【００３５】
図１は、閾値コイントス・スキームを実行することができる複数のエンティティを備えるシステムの例を図示している。本システムは、ルート権限サブシステム１、コインシェアジェネレータ５及びコインシェア検証器８を備える。典型的には１つより多くのコインシェアジェネレータが存在することを示すため、第２のコインシェアジェネレータ５’も描かれている。システム内には１つより多くのコインシェア検証器も存在することがある。しかしながら、これは図には示されていない。複数のコインシェアジェネレータ５、５’は、それぞれのコインシェアを生成し、検証及びコインの再構築のためにこれらのコインシェアを同じコインシェア検出器８に送信してよい。
【００３６】
ルート権限サブシステム１は、ユーザの属性のセットを選択するための属性セレクタ２を備えることがある。このような属性セレクタ２は、システムの図示されていない他の要素に動作可能に結合されてもよい。例えば属性セレクタ２は、システムの様々なユーザに関する情報を格納する保護されたユーザデータベースに対するアクセスを有してもよい。属性セレクタ２は、ユーザの属性のセットを、データベース内のそのユーザに関する情報に応じて選択するように構成されることもある。あるいはまた、属性セレクタ２は、ユーザが属性の１つ又は複数を選ぶのを可能にするユーザインタフェースを備えてもよい。
【００３７】
ルート権限サブシステム１は更に、属性セレクタ２によって選択された属性のセットに関連付けられる秘密鍵を生成するための鍵生成ユニット３を備えることがある。この秘密鍵は、例えば属性ベースの暗号化鍵又は属性ベースのデジタル署名鍵とすることができる。そのような鍵の例の更なる詳細は以下で提供される。
【００３８】
ルート権限サブシステム１は更に、秘密鍵をコインシェアジェネレータに提供するための鍵分配器４を備えることがある。この鍵分配器は、秘密鍵を、その鍵の適法なユーザに送信するためにインターネット又はプライベートネットワークのようなネットワークに動作可能に接続され得る。この鍵分配器は、単に鍵を出力するために構成されることもあり、その結果、人間のオペレータは鍵をその鍵のユーザに物理的に配布することがある。
【００３９】
コインシェアジェネレータ５は、コインシェアを生成するために構成され得る。このために、コインシェアジェネレータは、コイン値を決定するために構成されるコイン決定ユニット６を備えることがある。このコイン値は、受信側のパーティへ伝送されるべき値であり得る。コイン決定ユニット６は、コイン値を外部プログラム、サブルーチン又はデータベースから受信するように構成され得る。コイン決定ユニット６は、ユーザ入力に基づいてコイン値を決定するように構成されることもある。コイン値を決定する他の方法は、従来の閾値コイントスアルゴリズム及びビザンチン・フォールトトレランスシステムの当業者には明らかであろう。
【００４０】
コインシェアジェネレータ５は更に、コイン値と属性のセットに関連付けられる秘密鍵とに基づいてコインシェアを生成するコインシェア生成ユニット７を備えることがある。この秘密鍵は典型的に、ルート権限サブシステム１から受信される。生成されるコインシェアは、コイン値の少なくとも一部の表現を備える。しかしながら、コイン値の権限を確立し、及び／又はコイン値を再構築することができるよう十分な数のコインシェアが必要とされる。さらに、コインシェアジェネレータ５は、コインシェアが属性のセットに関連付けられるような方法により、コインシェアを生成するように構成される。この関連付けを、例えば属性ベースの暗号化及び／又は署名アルゴリズムを使用して実行することができる。
【００４１】
コインシェア生成ユニット７は、コインシェアを生成するように構成されることがあり、このコインシェアは、受信側エンティティが、その属性に対するポリシーを満たす属性のセットに関連付けられた特定の閾値数のコインシェアに基づいて、コインを再構築するのを可能にする。典型的に、再構築において使用される異なるコインシェアは、異なるコインシェアジェネレータ５、５’によって生成される。
【００４２】
コインシェア検証器８は、検証すべきコインシェアを決定するためのコインシェア決定ユニット９を備えることがあり、コインシェアは、属性に関連付けられる。例えばコインシェア決定ユニット９は、コインシェアジェネレータ５、５’にネットワーク接続を介して接続される。これにより、コインシェア決定ユニット９がコインシェアをコインシェアジェネレータ５、５’からネットワークを介して受け取ることが可能になる。あるいは、コインシェアを受け取り、これらをコインシェア検証器８の制御下のデータベースに格納するように、別個のプログラム又はデバイスを構成してもよい。コインシェアをコインシェアジェネレータ５、５’からコインシェア検証器８へ伝送する他の方法が、当業者には明らかであろう。
【００４３】
コインシェア検証器８は更に、コインシェアの妥当性を、該コインシェアに関連付けられた属性のセットを考慮して検証するためのコインシェア検証ユニット１０を備えることがある。コインシェア検証ユニット１０は、したがって、コインシェアの信頼性を、コインシェアが関連付けられるべきと考えられる属性のセットとの関連で検証する。コインシェア検証ユニットは、属性のセットをコインシェア自体から抽出するように構成され得る。例えばコインシェアは、該コインシェアに関連付けられる属性のセットのプレーンテキストの表現を備えることがある。あるいは、コインシェア検証器は、送り手の各々についての属性のリストへのアクセスを有する。これらの属性の信頼性は、コインシェア検証器８によって暗号により確認されることがある。
【００４４】
コインシェア検証ユニット１０は、コインシェアが特定に属性について有効に関連付けられるかどうかを検証するために構成される属性検証ユニット１１を備えることもある。例えばコインシェア検証ユニットは、検証するのに必要な属性について繰り返し属性検証ユニット１１をアクティブ化するように構成され得る。
【００４５】
コインシェア検証器８は更に、属性のコレクションに対するポリシーを決定するように構成されたポリシー決定ユニット１２を備えることもある。属性のセットは、この属性のコレクションのサブセットである。属性ベースのシステムでは、一般に属性の母集団が定義される。本明細書において、この属性の母集団は、属性のコレクションと呼ばれる。属性のどの組み合わせがコインシェアに受け入れ可能であるかを指定することによって、ポリシーを表すことができる。ポリシー決定ユニット１２はポリシーを決定する。このポリシーの詳細は、システムにおいて関与する異なるパーティの特権のような、外的な考慮事項によって課されることがある。ポリシー決定ユニット１２は、別のエンティティからポリシーを受信するか、ユーザ入力によって若しくは他の所定の設定によってポリシーを受信するように構成され得る。ポリシー決定ユニット１２は、ポリシーをコインシェア検証ユニット１０に提供し、その結果、該コインシェア検証ユニット１０は、コインシェアがポリシーを満たすかどうかを検証することができる。同じポリシーを全てのコインシェアに課してもよく、異なるポリシーが異なるコインシェアに対して許容されてもよい。
【００４６】
コインシェア検証器８は、少なくとも所定の閾値数のコインシェアを組み合わせることによってコイン値を再構築する、シェア結合ユニット１３を備えることもある。これらのコインシェアは、その属性に対する所定のポリシーを満たす属性のそれぞれセットと関連付けられることがある。限定ではないが、２段階のアプローチを用いることができる。この２段階のアプローチでは、まず、属性がコインシェアから除去される。これは、コインシェア５が、属性を「むき出しの（ｂａｒｅ）」コインシェアの周囲の「ラッパー」として追加するように構成されることを前提とする。この「むき出しの」コインシェアを、既存の閾値コインシェアスキームにおけるコインシェアの生成及び組み合わせと同じ手法で生成し、組み合わせることができる。この２段階アプローチをサポートするために、シェア結合ユニット１３は、属性をコインシェアから除去して、再構築されたコインシェアを得るためのコインシェア再構築ユニット１４を備えることがある。
【００４７】
コインシェアは、例えば暗号化されていない表現の属性のリスト等、コインシェアに関連付けられる属性のセットの識別情報を備え得ることが理解されよう。さらに、コインシェアは属性ベースの暗号化を使用して暗号により処理されてよい。この暗号処理はコインシェア全体に適用されてもよく、その一部にのみ適用されてもよい。暗号処理は、属性ベースの暗号化／暗号化解除並びに／あるいは属性ベースの署名生成及び検証を備えることがある。したがって、コインシェアは、コインシェアジェネレータ５の属性のセットに従って、暗号化された部分及び／又はデジタル署名された部分を備えることがある。
【００４８】
属性ベースの閾値コイントス・スキームを実行するシステムは、ビザンチン・フォールトトレランスプロトコルを実行するシステムに適合されるか、及び／又はこのシステムに含まれることがある。当業者は、本開示に基づいて、このために必要な適合を実行することが可能である。
【００４９】
本明細書に開示される様々なアルゴリズム及びエンティティは、説明される機能を実行する専用の電子回路を備えたデバイスによって実装され得る。あるいは、これらのアルゴリズム及びエンティティは、適切にプログラムされた処理デバイスによって実装されることもある。このような処理デバイスは、ワークステーション又はパーソナルコンピュータ、あるいはタブレット又はスマートフォンのようなモバイルデバイスとすることができる。これらは、インターネットに接続されるサーバシステムにおいて、「クラウド内に」ホストされることもある。ユーザは、このようにホストされるアプリケーションに、例えばウェブブラウザを介してクライアントデバイスを使用してアクセスすることができる。全ての場合において、アルゴリズムの使用は、悪意ある使用から保護され得る。例えばユーザアクセスコントロールを、プロトコルの鍵の部分を実装するユニットに課すことができる。
【００５０】
図２は、閾値コイントス・スキームにおいてコインシェアを生成する例示的な方法を示している。方法はステップ２００において開始する。本方法は、準備ステップ２０１を備え、該ステップ２０１は、ユーザのための属性のセットを選択することと、ユーザの属性のセットに関連付けられる秘密鍵を生成するステップと、秘密鍵をユーザ又はユーザのコインシェアジェネレータに提供することとを含む。ステップ２０６において、別のユーザに秘密鍵が必要かどうかを判断し、必要である場合はステップ２０１が繰り返される。
【００５１】
ステップ２０２において、コイン値が決定される。ステップ２０３において、コイン値の少なくとも一部を表すコインシェアが生成される。コインシェアは、ユーザの属性のセットに関連付けられ、提供された秘密鍵を使用して作成される。ステップ２０４において、コインシェアを受信側に送信することができる。受信側は、本明細書で説明されるようなコインシェア検証器を有することができる。ステップ２０２からステップ２０４は、本明細書で説明されるコインシェアジェネレータによって実行されてよい。ステップ２０５において、別のコインシェアジェネレータからのコインシェアが必要である場合、ステップ２０２からステップ２０４が、別のコインシェアジェネレータを使用して、該別のコインシェアジェネレータの秘密鍵を用いて繰り返されるが、コイン値は同じである。
【００５２】
ステップ２０７において、検証すべきコインシェアが決定される。例えばコインシェアは、該コインシェアを生成したコインシェアジェネレータから受信される。ステップ２０８において、コインシェアの妥当性が、該コインシェアに関連付けられた属性のセットを考慮して決定される。ステップ２０９において、利用可能なコインシェアがさらに見つかった場合、残っているコインシェアについてステップ２０７及びステップ２０８が繰り返される。ステップ２１０において、有効なシェアの数が所定の閾値と少なくとも同等であるかどうかを決定する。有効なシェアの数が所定の閾値よりも小さい場合、処理はステップ２１２で終了する。そうではなく、有効なシェアの数が所定の閾値と少なくとも同等である場合、ステップ２１１において、少なくとも所定の数のコインシェアを組み合わせることによって、コイン値が再構築され得る。その後、処理はステップ２１３で終了する。
【００５３】
方法は、プロセッサシステムに該方法を実行させる命令を備えたコンピュータプログラム製品によって実装されてもよい。このコンピュータプログラム製品は、システムを使用する幾つかの異なるパーティの制御の下で、異なるコンピュータシステムにおいて動作する幾つかの部分に分けられてもよい。
【００５４】
以下では、本システム及び方法において使用されるアルゴリズムの例をより詳細に説明する。これらのアルゴリズムは、属性ベースの閾値コイントス・スキームの一部である。これらの詳細は、非限定的な例示の実装として意図されていることが理解されよう。高レベルにおいて、これらのスキーマは次のように機能する。コインＣ∈｛０，１｝*の値は、初めにＣをハッシュして、
2015513156.tif 000003
を得て、次いで、
2015513156.tif 000004
を計算して、グループ
2015513156.tif 000005
に属するコインの値を得ることによって取得される。これらの秘密指数（secret  exponent）ｘ０は、シャミールの秘密共有スキーマを使用して、属性セットωを有するＰｉによって示されるパーティの間に分散される。ｘ０の共有に加えて、各パーティは、属性セットωに関連する秘密鍵も有する。ｘ０のシェアすなわちｘｉと、秘密鍵コンポーネント、すなわちＨ（ｊ）ｒｊ＋α・ｘｉ：∀ｊ∈ωを使用して、コインのシェアを有効性証明とともに生成する。コインのシェアが次いで結合され、指数の補間によって
2015513156.tif 000006
が得られる。
【００５５】
セットアップ（）：  セットアップアルゴリズムは、第１の順番（prime  order）ｐの双一次グループ
2015513156.tif 000007
及びランダムジェネレータ
2015513156.tif 000008
を選択する。加えて、このアルゴリズムは、ハッシュ関数
2015513156.tif 000009
も用いる。この関数を使用して、バイナリの文字列として記載される任意の属性を、ランダムグループの要素にマップする。バイナリマップ
2015513156.tif 000010
も選択する。このセットアップアルゴリズムは、
2015513156.tif 000011
を選択し、ここで、
2015513156.tif 000012
であり、Ｎはシステム内の属性の合計数である。公開パラメータＰＫ及びマスタ秘密鍵ＭＫは、以下の構成要素からなる。
【数１】
2015513156.tif 000013
【００５６】
鍵生成（ＭＫ，ωＰｉ）：  鍵生成アルゴリズムは、中央の信頼できる権限者によって実行される。このアルゴリズムは、入力としてパーティＰｉに対する属性のセット、マスタ秘密鍵ＭＫをとり、属性セットωに関連するユーザの秘密鍵を出力する。アルゴリズムは、各パーティＰｉについてｘｉ＝ｆ（ｉ）を選択し、ここでｆは、ｋより少ない次数
2015513156.tif 000014
にわたる多項式である。次いで、属性セットωに関連するパーティＰｉについて秘密鍵が生成される。これは次の構成要素からなる。  
【数２】
2015513156.tif 000015
【００５７】
コインシェアの生成（ＳＫω，Ｐｉ）：一般的なコインＣ∈｛０，１｝について、
2015513156.tif 000016
とする。有効性証明とともにパーティＰｉについてのコインシェアを、ＳＫω，Ｐｉを用いて生成することができ、このコインシェアは、以下の構成要素からなる。  
【数３】
2015513156.tif 000017
【００５８】
注記：この関数では、あるクラウドが、値ｘｉのシェアを、例えばｘｉという値の代わりに閾値秘密共有スキーマを用いるコインシェアの生成の間に使用する可能性がある。
【００５９】
シェア検証（ＰＫ，σω，Ｐｉ）：  シェア検証アルゴリズムは、入力として公開パラメータと、属性セットωを使用してパーティＰｉによって生成されたコインのシェアσω，Ｐｉを入力としてとる。  
【数４】
2015513156.tif 000018
【数５】
2015513156.tif 000019
上記ルーチンを、全てのパーティ
2015513156.tif 000020
のコインのシェアに適用してもよく、ここで、ｎはシステム内のパーティの合計数である。
【００６０】
シェア結合（σω，Ｐｉ）：  シェア結合アルゴリズムは、初めに全てのパーティＰｉについてコインのシェアを再構築する。コインシェアの再構築の後、コインの最終的な値を回復する。
【００６１】
（ａ）段階１  ＲｅｃｏｎｓｔｒｕｃｔＳｈａｒｅＯｆＣｏｉｎ（Ｐｉ）：このルーチンは、各パーティＰｉのコインのシェアを構築するのに使用される。ρは、パーティＰｉによる請求される属性のリストとする。  
【数６】
2015513156.tif 000021
ここで、ηは、ρのおける属性の合計数である。  
注記：ηの使用はオプションである。コインのシェアの生成の間、ｘｉもコインシェアの生成に使用される属性の間で共有される場合、その後、ηはこの関数に必ずしも必要ではなく、代わりにラグランジュ補間を使用してもよい。
【００６２】
段階２  ＲｅｃｏｎｓｔｒｕｃｔＣｏｉｎ（）：  属性の請求されたセットに対する少なくともｔ個のパーティについてコインのシェアを構築した後、以下が計算される。  
【数７】
2015513156.tif 000022
ここで、λｉは、ラグランジュ補間係数を表す。
【００６３】
本発明は、本発明を実践するように適合されるコンピュータプログラム、特に担体上又は担体内のコンピュータプログラムにも当てはまることが認識されよう。プログラムは、部分的にコンパイルされた形又は本発明に係る方法の実装に使用するのに適した任意の他の形式のような、ソースコード、オブジェクトコード、コード中間ソース及びオブジェクトコードの形式であってよい。そのようなプログラムには多くの異なるアーキテクチャ設計があり得ることも認識されよう。例えば本発明に係る方法又はシステムの機能を実装するプログラムコードは、１つ又は複数のサブルーチンに細分されることがある。これらのサブルーチンの間に機能を分散させる多くの異なる方法が当業者には明らかになるであろう。サブルーチンは、１つの実行可能ファイルとともに格納されて、自己完結型プログラムを形成することがある、そのような実行可能ファイルは、コンピュータ実行可能命令、例えばプロセッサ命令及び／又はインタプリタ命令（例えばＪａｖａ（登録商標）インタプリタ命令）を備えることがある。あるいは、サブルーチンの１つ若しくは複数、又は全てを少なくとも１つの外部ライブラリファイルに格納して、例えばランタイム時に静的又は動的にメインプログラムとリンクさせてもよい。メインプログラムは、サブルーチンの少なくとも１つに対する少なくとも１つの呼び出しを含む。サブルーチンは、互いに対する呼び出しも含むことがある。コンピュータプログラム製品に関連する実施形態は、本明細書で説明される方法のうちの少なくとも１つの各処理ステップに対応するコンピュータ実行可能命令を備える。これらの命令は、サブルーチンに細分されるか、及び／又は静的若しくは動的にリンクされ得る１つ若しくは複数のファイルに格納され得る。コンピュータプログラム製品に関連する別の実施形態は、本明細書で説明されるシステム及び／又は製品のうちの少なくとも１つの各手段に対応するコンピュータ実行可能命令を備える。これらの命令は、サブルーチンに細分されるか、及び／又は静的若しくは動的にリンクされ得る１つ若しくは複数のファイルに格納され得る。
【００６４】
コンピュータプログラムの担体は、プログラムを担持することができる任意のエンティティ又はデバイスであってよい。例えば担体は、例えばＣＤ  ＲＯＭ又は半導体ＲＯＭのようなＲＯＭ、あるいは例えばフラッシュドライブ又はハードディスクのような磁気記録媒体などの記憶媒体を含むことがある。さらに、担体は、無線又は他の手段で電気ケーブル又は光ケーブルを介して伝送可能な電気信号又は光信号のような伝送可能な担体であってもよい。プログラムがそのような信号に具現化されるとき、担体は、そのようなケーブル又は他のデバイス又は他の手段によって構成され得る。あるいは担体は、プログラムが組み込まれる集積回路であってもよく、集積回路は、関連する方法を実行するように適合されるか、実行に使用されるように適合される。
【００６５】
上述の実施形態は、本発明を限定するものではなく、当業者は、添付の特許請求の範囲から逸脱することなく、多くの代替的な実施形態を設計することが可能であろうことに留意されたい。請求項において、括弧内に示される参照符号は、請求項を限定するものとして解釈されるべきではない。「備える（ｃｏｍｐｒｉｓｅ）」という動詞及びその変化形の使用は、請求項内に記載されるもの以外の要素又はステップの存在を排除するものではない。要素に先行する冠詞「ある（ａ，ａｎ）」は、複数のそのような要素の存在を解除するものではない。本発明は、幾つかの別個の要素を備えるハードウェアの手段によって及び適切にプログラムされたコンピュータによって実装され得る。幾つかの手段を列挙するデバイスの請求項では、これらの手段の幾つかが、ハードウェアの１つの同じアイテムによって具現化され得る。ある特定の手段が互い異なる従属請求項に記載されているという単なる事実は、これらの手段の組み合わせを有利に用いることができないことを意味するものではない。
【図１】
2015513156.tif 000023
【図２】
2015513156.tif 000024
【手続補正書】
【提出日】平成26年9月16日(2014.9.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ルート権限サブシステムであって、
エンティティの属性のセットを選択するための属性セレクタであって、前記属性のセットは属性のコレクションのサブセットを備える、属性セレクタと、
閾値コイントス・スキーマにおいて使用するための秘密鍵を生成する鍵生成ユニットであって、前記秘密鍵は、前記属性のセットに関連付けられ、前記秘密鍵は、前記属性のセット内の属性に関連する秘密鍵コンポーネントを含む秘密鍵コンポーネントを有する、鍵生成ユニットと、
前記秘密鍵をコインシェアジェネレータに提供するための鍵分配器と
を備える、ルート権限サブシステム。
【請求項２】
閾値コイントス・スキームを実行するシステムにおいて使用するためのコインシェアジェネレータであって、
コイン値を決定するコイン決定ユニットと、
前記コイン値と属性のセットに関連付けられた秘密鍵とに基づいてコインシェアを生成するコインシェア生成ユニットであって、前記秘密鍵は、請求項１に記載のルート権限から得られ、前記コインシェアは、前記属性のセットの各属性に対するコンポーネントを備えることによって前記属性のセットに関連付けられる、コインシェア生成ユニットと
を備える、コインシェアジェネレータ。
【請求項３】
前記コインシェア生成ユニットは、その属性に対する所定のポリシーを満たす属性のセットに関連付けられる特定の閾値数のコインシェアに基づいて、受信側エンティティがコインを再構築するのを可能にするコインシェアを生成するように構成される、請求項２に記載のコインシェアジェネレータ。
【請求項４】
閾値コイントス・スキームを実行するシステムにおいて使用するためのコインシェア検証器であって、
検証すべきコインシェアを決定するコインシェア決定ユニットであって、前記コインシェアは請求項３に記載のコインシェアジェネレータから得られ、前記コインシェアは属性のセットに関連付けられる、コインシェア決定ユニットと、
前記コインシェアに関連付けられる前記属性のセットを考慮して、前記コインシェアの妥当性を検証するコインシェア検証ユニットと
を備える、コインシェア検証器。
【請求項５】
前記コインシェア検証ユニットは、前記コインシェアが特定の属性に有効に関連付けられることを検証する属し検証ユニットを備える、請求項４に記載のコインシェア検証器。
【請求項６】
属性のコレクションに対するポリシーを決定するポリシー決定ユニットを更に備え、前記属性のセットは前記属性のコレクションのサブセットを備え、
前記コインシェア検証ユニットは、前記コインシェアが前記ポリシーを満たす属性のセットに関連付けられているかどうかを検証するように更に構成される、請求項４に記載のコインシェア検証器。
【請求項７】
少なくとも所定の閾値数のコインシェアを組み合わせることによってコインを再構築する、シェア結合ユニットを更に備え、前記コインシェアは、前記属性に対しる所定のポリシーを満たす属性のそれぞれのセットに関連付けられる、請求項４に記載のコインシェア検証器。
【請求項８】
前記コインシェアは、前記コインシェアに関連付けられる前記属性のセットの識別情報を備え、前記コインシェアは、属性ベースの暗号化を使用して暗号により処理される、請求項２に記載のコインシェアジェネレータ又は請求項４に記載のコインシェア検証器。
【請求項９】
ビザンチン・フォールトトレランスプロトコルを実行するためのシステムであって、請求項１に記載のルート権限サブシステム、請求項２に記載のコインシェアジェネレータ及び／又は請求項４に記載のコインシェア検証器を備える、システム。
【請求項１０】
請求項２に記載のコインシェアジェネレータ、請求項４に記載のコインシェア検証器及び／又は請求項９に記載のビザンチン・フォールトトレランスプロトコルを実行するためのシステムを備える、ワークステーション又はモバイル端末。
【請求項１１】
閾値コイントス・スキームにおいて秘密鍵を生成する方法であって、
エンティティの属性のセットを選択するステップであって、前記属性のセットは属性のコレクションのサブセットを備える、ステップと、
前記属性のセットに関連付けられる前記秘密鍵を生成するステップであって、前記秘密鍵は、前記属性のセット内の属性に関連する秘密鍵コンポーネントを含む秘密鍵コンポーネントを有する、ステップと、
前記秘密鍵をコインシェアジェネレータに提供するステップと
を含む、方法。
【請求項１２】
閾値コイントス・スキームにおいてコインシェアを生成する方法であって、
コイン値を決定するステップと、
コイン値と属性のセットに関連付けられる秘密鍵とに基づいてコインシェアを決定するステップであって、前記秘密鍵は請求項１１に記載の秘密鍵を生成する方法から得られ、前記コインシェアは、前記属性のセットの各属性に対するコンポーネントを備えることによって前記属性のセットに関連付けられる、ステップと
を含む、方法。
【請求項１３】
閾値コイントス・スキームにおいてコインシェアを検証する方法であって、
検証すべきコインシェアを決定するステップであって、前記コインシェアは属性のセットに関連付けられ、前記コインシェアは請求項１２に記載のコインシェアを生成する方法から得られる、ステップと、
前記コインシェアに関連付けられる前記属性のセットを考慮して、前記コインシェアの妥当性を検証するステップと
を含む、方法。
【請求項１４】
少なくとも所定の閾値数のコインシェアを組み合わせることによって、コインを再構築するステップを更に備え、前記コインシェアは、前記属性に対する所定のポリシーを満たす属性のそれぞれのセットを関連付ける、請求項１３に記載の方法。
【請求項１５】
プロセッサシステムに請求項１１、１２又は１３に記載の方法を実行させる命令を備えた、コンピュータプログラム。
【国際調査報告】
2015513156.tif 000025
2015513156.tif 000026