説明

サービスアクセスの制限を可能にする方法

サービスアクセスの制限を可能にする方法を提供する。サービスプロバイダ(SP)が少なくとも1つのサービス(SR)を提供し、ユーザ(U)が、サービス(SR)の起動または登録に使用可能な複数の相異なるデジタルアイデンティティIを所有する。サービス(SR)へのアクセスが、第三者エンティティにおけるアカウントを必要とし、ユーザ(U)が該アカウントに自己のデジタルアイデンティティIを登録し、ユーザ(U)が第三者エンティティとの間で秘密Sを取り決める。本方法は、ユーザ(U)が自己の相異なるデジタルアイデンティティIにカウンタ値ki,SRを割り当てるステップと、ユーザ(U)が、特定のデジタルアイデンティティIを使用してサービス(SR)を要求し、秘密Sおよびサービス要求のために使用されるデジタルアイデンティティIに割り当てられたカウンタ値ki,SRに暗号化アルゴリズムHを適用することにより確認値、すなわち第1の確認値Vを計算するステップと、第三者エンティティが、第1の確認値Vを受信し、暗号化アルゴリズムHを適用することにより、使用されたカウンタ値ki,SRを再構成し、再構成されたカウンタ値ki,SRが限度limSRを超過するかどうかの情報を提供するステップとを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サービスアクセスの制限を可能にする方法に関する。
【背景技術】
【0002】
今日の通信ネットワークには多種類のサービスが存在し、それらを利用するユーザ数は着実に増えている。通常、これらのサービスはサービスプロバイダによって提供される。ユーザは、求めるサービスにアクセスするため、サービスプロバイダに登録を行うことが可能である。一般的には、サービスプロバイダへのユーザの登録は、ある意味で匿名プロセスである。すなわち、登録はユーザのデジタルアイデンティティに基づいているが、ユーザの実アイデンティティ(身元)は、サービスプロバイダには未知のままである。
【0003】
デジタル世界における多くのアプリケーション、例えば、電子投票、電子マネー、電子クーポン、あるいはコンテンツの試し視聴等について、1ユーザがサービスの起動や登録を行う際に使う相異なるデジタルアイデンティティの個数に厳格な制限を課すことは重要な課題である。例えば、電子投票の場合、各ユーザが投票できるのは1回だけであることを確実に保証することが必須である。コンテンツの試し視聴の場合、プロバイダは通常、特定のユーザが映画や音楽等のコンテンツを自由に視聴するのは限られた回数だけにしたいと考える。例えば、サービスプロバイダはユーザに対して、映画は2本まで、楽曲は10曲までダウンロード可能、とする場合がある。試し段階の後は、サービスプロバイダは、サービスへの支払をユーザに求める。
【0004】
従来技術によれば、非対称暗号方式に基づいてサービスアクセスの制限を可能にする解決法がいくつか存在する。しかし、これら従来の方法は、使用される非対称技術が高価な計算および複雑な鍵管理手順を必要とし、計算オーバーヘッドが高くなるため、かなり不利である。そのような計算複雑性のため、これらの方法は多くのアプリケーションには適していない。
【0005】
また、1ユーザがサービスの起動や登録を行う際に使う相異なるデジタルアイデンティティの個数に制限を課すことは、サービスプロバイダが登録ユーザに関する何らかの情報を所有することを必要とする。これは、サービスプロバイダにアクセスするために用いられたユーザのデジタルアイデンティティを、少なくともある程度、ユーザの実アイデンティティに関連づける。このような関連づけは、ユーザのプライバシーを保護することに関して問題となり得る。
【発明の概要】
【発明が解決しようとする課題】
【0006】
したがって、本発明の目的は、サービスアクセスの制限を可能にする方法において、制限の施行に関する高い信頼性を保証するような改良およびさらなる展開を行うことである。また、実施が容易で計算複雑性の少ないメカニズムを使用することにより、「正直な」ユーザ、すなわち、サービスアクセスの最大許容回数を超過しようとしていないユーザ、のプライバシーを保護することである。
【課題を解決するための手段】
【0007】
本発明によれば、上記の目的は、請求項1の構成を備えた方法によって達成される。この請求項に記載の通り、サービスアクセスの制限を可能にする方法が開示される。サービスプロバイダは少なくとも1つのサービスを提供し、ユーザは、サービスの起動または登録に使用可能な複数の相異なるデジタルアイデンティティIを所有する。サービスへのアクセスは、第三者エンティティにおけるアカウントを必要とする。ユーザは該アカウントに自己のデジタルアイデンティティIを登録し、第三者エンティティとの間で秘密Sを取り決める。本方法は、
ユーザの相異なるデジタルアイデンティティIにカウンタ値ki,SRを割り当てるステップと、
ユーザが、特定のデジタルアイデンティティIを使用してサービスを要求し、秘密Sおよびサービス要求のために使用されるデジタルアイデンティティIに割り当てられたカウンタ値ki,SRに暗号化アルゴリズムHを適用することにより確認値、すなわち第1の確認値vを計算するステップと、
前記第三者エンティティが、第1の確認値vを受信し、暗号化アルゴリズムHを適用することにより、使用されたカウンタ値ki,SRを再構成し、再構成されたカウンタ値ki,SRが限度limSRを超過するかどうかの情報を提供するステップと
を備えたことを特徴とする。
【0008】
本発明によって初めて認識されたこととして、サービスアクセスの制限を可能にすることに関して、公開鍵プリミティブを用いた従来のメカニズムはかなり複雑であるため、さまざまな状況において適用できない。さらに認識されたこととして、非対称暗号方式は、特に許容可能登録数が大きい場合には、非常に高い計算オーバーヘッドを要求するということから、従来のメカニズムは効率的でない。
【0009】
さらに認識されたこととして、第三者エンティティを適切に関与させることにより、対称暗号方式プリミティブのみに基づく効率的な登録制限施行が実現可能である。対称方式のみに基づくことにより、計算オーバーヘッドは非常に低くなり、鍵管理は比較的簡単になる。
【0010】
本発明のもう1つの利点として、本方法は、限度の超過を防ぐために多様な応用分野で使用可能である。本発明によれば、制限は、必要な場合にはユーザの匿名性を取り消すことが可能であると同時に、「正直な」ユーザ、すなわち、限度を超過しようとしていないユーザ、のプライバシーを尊重するような形で施行される。すなわち、本発明による方法は、ユーザの匿名性を取り消す固有の能力を有する。
【0011】
特定実施形態において、サービスには、第三者エンティティにおいてサービスを識別するための一意的なサービス識別子ISRが割り当てられる。特に、多数のサービスを提供するサービスプロバイダの場合、一意的サービス識別子ISRは、各サービスを区別するために使用可能である。サービスプロバイダは、自己のサービスに対して相異なるポリシーを適用したい場合、すなわち、例えばユーザの許容アクセス回数をサービスごとに変えたい場合、があるので、これは重要である。
【0012】
好ましい実施形態によれば、サービス識別子ISRは、さらに、サービスに一意的に関連づけられる情報を伴っていてもよい。この目的のため、サービス識別子ISRは、好ましくは、あるビット列に含まれる。その場合、このビット列は、例えばサービスのURL(Uniform Resource Locator)、サービスに対して設定された許容アクセス回数の限度limSR、具体的なサービスインスタンスの識別子、タイムスタンプ値(例えばサービスの実行を示す)、および/または、サービスプロバイダおよび/またはサービスの公開鍵証明書または証明書チェインのような、他のサービス関連情報を含むことによって拡張可能である。
【0013】
有利な態様として、第三者エンティティは登録認定機関である。登録認定機関は、制限を施行する際にサービスプロバイダを支援することが可能であり、匿名性取消機関として作用してもよい。登録認定機関は、ユーザアイデンティティからユーザへのマッピングを知ることになる。それゆえ、登録認定機関は、匿名性取消目的で要求されない限り、このマッピングを開示しないことで信頼される。その限りにおいて、登録認定機関が信頼できるエンティティである場合、例えば行政機関や少なくとも公的機関である場合には、有益であることがわかる。
【0014】
好ましい実施形態によれば、第三者エンティティは、各ユーザがかなり限られた個数のアカウントのみを作成可能であることを保証してもよい。これは、何らかの形でユーザ個人に割り当てられた、実際には通常限られた個数しかユーザが所有しない文書を提示するようにユーザに要求することによって、実現してもよい。そのような文書の特徴的な例としては、パスポート、運転免許証、あるいはクレジットカードが挙げられる。
【0015】
特に好ましい実施形態において、第三者エンティティは、各ユーザが複数のアカウントを有することができないことを保証する。第三者エンティティにおいて単一のアカウントのみとすることで、サービスプロバイダにおけるユーザのアクセス数の厳密な制御が可能となる。ユーザごとの複数アカウントの作成を防ぐことは、第三者エンティティにおいてアカウントを作成する前に、何らかの一意的な生体識別を提示するようにユーザに要求することによって、実現してもよい。
【0016】
有利な態様として、暗号化アルゴリズムHは、決定論的な一方向性関数である。本発明は、Hに対して、いかなる特定の一方向性関数の使用を課するものでもないが、それは決定論的である限りとする。すなわち、a=b ⇒ H(a)=H(b)が要求される。本発明で使用可能な一方向性関数の例としては、(シード付き)擬似乱数ジェネレータ、対称暗号方式、メッセージ認証符号(MAC)方式、およびハッシュ関数がある。ランダムオラクルの出力と区別できない出力を有する暗号学的ハッシュ関数を使用することが推奨される。
【0017】
好ましい実施形態によれば、第三者エンティティにおけるアカウント作成時にユーザと第三者エンティティとの間で取り決められる秘密は、一意的な秘密値としてランダムに生成してもよい。秘密を生成した時点から、それはユーザと第三者エンティティとにのみ知られた秘密となる。パスワードやパスフレーズから導出してもよいが、大きい空間から一様ランダムに生成するのが好ましい。高い信頼性を保証するため、秘密は十分な長さとすべきである。秘密に対して推奨される長さは、使用される暗号化アルゴリズムHの出力長に等しい。
【0018】
効率的な暗号化に関して、ユーザは、サービスにアクセスする場合、第三者エンティティと取り決めた秘密および要求するサービスの一意的識別子ISRに暗号化アルゴリズムHを適用することによって値pを計算するものとしてもよい。これは、まず、秘密と識別子の連接を生成してから、その連接された値に暗号化アルゴリズムHを適用することによって実行可能である。別法として、秘密およびサービス識別子を、暗号化アルゴリズムHに対する2個の独立の入力パラメータとして使用してもよい。しかし、いずれの場合でも、パラメータの順序は、それぞれの当事者によって維持されなければならないという点で重要である。
【0019】
次のステップで、ユーザは、前に計算した値pおよび当該カウンタ値ki,SRに暗号化アルゴリズムHを適用することによって第1の確認値vを計算するものとしてもよい。当該カウンタ値ki,SRは、サービスSRにアクセスしようとする際にユーザによって使用されたデジタルアイデンティティIに対応するカウンタ値である。この場合も、2つの値は、Hを適用する前に連接しても、2個の独立のパラメータとして入力してもよい。
【0020】
好ましい実施形態によれば、確認値vは、ユーザUによって直接にサービスプロバイダに転送されるものとしてもよい。その後、サービスプロバイダは、さらに第三者エンティティに確認値vを転送することにより、以下でさらに詳細に説明するように、当該カウンタ値ki,SRの再構成プロセスをトリガする。さらに、サービスプロバイダは、第三者エンティティに一意的サービス識別子ISRを送信することで、サービスが容易に識別できるようにしてもよい。なお、通常、サービスプロバイダはサービスアクセスに対して制限を施行することに関心があるので、サービスプロバイダによる値の転送は最も顕著な適用場面となる。しかし、例えば電子投票のように、サービス利用を制限すること、例えば、誰にも複数の票が与えられないことを保証することに関心があるのが、他のエンティティや他人、他の人々のグループ、あるいは公衆でさえあるようなアプリケーションが存在する。その場合、上記の値、特に第1の確認値vが外部エンティティによって第三者エンティティに転送されることも可能である。
【0021】
第三者エンティティにおいて、確認値vを受信した後、(ユーザのサービス要求のために使用されたデジタルアイデンティティIに割り当てられた)カウンタ値ki,SRを以下のように再構成してもよい。第三者エンティティは、ユーザUが実行したのと同様にして、秘密Sおよび一意的サービス識別子ISRに暗号化アルゴリズムHを適用することによって値pバーを計算する。しかし、第三者エンティティは、確認値vと、場合によってはサービス識別子ISRとを受信しただけでは、ユーザの正しい秘密Sを導出できるための情報がないという問題がある。そこで、第三者エンティティは、第三者エンティティにおけるアカウントを有する全ユーザの秘密Sが含まれるリストVを保持することが推奨される。その場合、第三者エンティティは、(a)リストVの第1の秘密Sを選択し、(b)上記のように暗号化アルゴリズムHを適用して値pバーを得ることによって、計算を開始することができる。
【0022】
次のステップで、第三者エンティティは、ユーザUが前に値pおよびki,SRに暗号化アルゴリズムHを適用したのと同様にして、値pバーおよび値λに暗号化アルゴリズムHを適用することによって確認値vを再構成することを試みる。λは、1と限度limSRとの間の値を表す。計算はλ=1から開始してもよく、λの値は、正しい第1の確認値vが見つかるまで順次増大させてもよい。第三者エンティティは、正しい第1の確認値vを再生することに失敗した場合、別の秘密、例えばSをリストVから取り出して、上記のような計算を繰り返す。第三者エンティティが正しい第1の確認値vを再構成することに成功した場合は、ユーザが許容可能なデジタルアイデンティティを使用しており、しかもユーザはサービスアクセスの最大許容回数を超過していないことを意味している。他方、正しい第1の確認値vを再構成することに失敗した場合は、ユーザが、許可されたアクセス回数をすでに使い果たしており、限度limSRを超過しようとしていることを意味する。
【0023】
好ましい実施形態によれば、サービスプロバイダSPは、第1の確認値vに加えて、ユーザによって使用されたデジタルアイデンティティIを第三者エンティティに転送する。これにより、第三者エンティティ側では、計算量の大幅な低減が実現可能である。というのは、ユーザに対して第三者エンティティにおいて登録されたデジタルアイデンティティと、取り決められた秘密との間のマッピングにより、正しい秘密を直接に導出することができるからである。その結果、(ユーザのサービス要求のために使用されたデジタルアイデンティティIに割り当てられた)カウンタ値ki,SRを再構成するための計算は、1つの特定の秘密について実行するだけでよい。
【0024】
有利な態様として、第1の確認値をデジタルアイデンティティIとともに受信した後、第三者エンティティにおけるカウンタ値ki,SRの再構成は、以下のステップを含んでもよい。第1ステップで、デジタルアイデンティティIに対応する秘密Sを検索する。第2ステップで、ユーザが実行したのと同様にして、秘密Sおよび一意的サービス識別子ISRに暗号化アルゴリズムHを適用することによって値pバーを計算する。第3ステップで、値pバーおよびλに暗号化アルゴリズムHを適用することによって第1の確認値vを計算する。この場合もλは、1と限度limSRとの間の値である。計算はλ=1から開始してもよく、λの値は、正しい第1の確認値vが見つかるまで、または限度limSRに到達するまで、順次増大させてもよい。
【0025】
好ましい実施形態によれば、第三者エンティティは、正しい第1の確認値vが見つからなかった場合に失敗メッセージを提供し、正しい第1の確認値vが見つかった場合に成功メッセージを提供する。再構成の結果に応じて、サービスプロバイダは、ユーザのサービス要求の処理に関する相異なる決定を行うことができる。例えば、サービスプロバイダは、第三者エンティティから失敗メッセージを受信した場合、サービス要求を拒否するものとしてもよい。他方、第三者エンティティから成功メッセージを受信した場合には、サービスへのユーザアクセスを自動的に許可しないことが好ましい。有利な態様としては、この場合、サービスプロバイダにおいてさらなるチェックが実行される。この目的のため、サービスプロバイダSPは、確認値vのリストVSR、すなわち、ユーザから受信したすべての第1の確認値vが保存されるリストを保持する。サービスプロバイダは、第三者エンティティから成功メッセージを受信すると、対応する第1の確認値vが自己のリストVSRにすでに含まれているかどうかをチェックしてもよい。含まれている場合、これは、ユーザが許容されているよりも多くの回数、サービスにアクセスしようとしている強力な証拠と解釈することができ、サービスプロバイダは要求を拒否してもよい。含まれていない場合、サービスプロバイダは、ユーザアクセスを許可し、受信した第1の確認値vをリストVSRに追加してもよい。
【0026】
サービスプロバイダが、ユーザによって使用されたデジタルアイデンティティIを第三者エンティティに転送する場合、ユーザのプライバシーをさらに強化するための第2の確認値vを導入してもよい。すなわち、ユーザは、値p、デジタルアイデンティティI、および第1の確認値vに暗号化アルゴリズムHを適用することによって第2の確認値vを計算する。上記ですでに説明したように、これら3つの値をまず連接してから、連接された値に暗号化アルゴリズムHを適用してもよい。この場合も、第2の確認値vは、ユーザUによって直接にサービスプロバイダに転送されてもよい。その後、サービスプロバイダが、第三者エンティティに第2の確認値vを提供してもよい。
【0027】
正しい第1の確認値vを見つけることによって、(ユーザのサービス要求のために使用されたデジタルアイデンティティIに割り当てられた)カウンタ値ki,SRの再構成に成功した後、第三者エンティティは、ユーザUが実行したのと同様にして、前記値pバー、前記デジタルアイデンティティI、および前記第1の確認値vに暗号化アルゴリズムHを適用することを開始して、第2の確認値vを再構成するものとしてもよい。
【0028】
好ましい実施形態によれば、第三者エンティティは、正しい第2の確認値vが再構成できた場合に成功メッセージを提供する。他方、再構成に失敗した場合、失敗メッセージが第三者エンティティによって提供されてもよい。なお、第2の確認値vに対する再構成失敗(第1の確認値vは正しく再構成されている)は、値vと値vが一致せず、サービスプロバイダが第三者エンティティにおいて要求を操作したことを意味する。例えば、サービスプロバイダは、あるサービス要求で受信したデジタルアイデンティティIを、別のサービス要求で受信した第1の確認値vと併合して、両方のサービス要求が同一ユーザによって発信されたかどうかを確認しようとした場合が考えられる。第三者エンティティにおいて値vに加えて値vをチェックすることにより、アプリケーションによっては許容されない場合があるこの種の濫用を認識することができ、サービスプロバイダに失敗メッセージを提供することによって、その濫用を無効化することができる。
【0029】
好ましい実施形態によれば、第三者エンティティは、プロトコルの期間中にオンラインとなる。その結果、ユーザが限度を超過することを実際に防止することが可能となる。従来のシステムには、ユーザが限度を超過したことを事後に、すなわち、サービスプロビジョニングの後に検出するだけのものがある。しかし、第三者エンティティが常時オンラインであることを要求しないアプリケーションもあり、状況によっては、第三者エンティティは定期的にオンラインになればよいかもしれない。特に、サービスプロバイダは、ユーザが限度を超過することを防止することは必要でなく、代わりに、定期的な間隔で、重複アカウント(あるいは、より一般的には、限度を超過したアカウント)をデータベースから「清掃」すればよい場合がある。この場合、サービスプロバイダは、ユーザから受信する第1および第2の確認値v、vを保持し、定期的な間隔で、第三者エンティティの助けを借りて、アカウントを検証することができる。
【0030】
好ましい実施形態によれば、限度limSRは、サービスプロバイダSR自身によって、または任意の外部インスタンスによって、事前に設定される。例えば、電子投票アプリケーションの場合、限度limSRは、信頼できる機関によって指定されると有益である。別の好ましい実施形態によれば、限度limSRは、例えばサービスパラメータに応じて、動的に変更されてもよい。
【0031】
本発明を好適な態様で実施するにはいくつもの可能性がある。このためには、一方で請求項1に従属する諸請求項を参照しつつ、他方で図面により例示された本発明の好ましい実施形態についての以下の説明を参照されたい。図面を用いて本発明の好ましい実施形態を説明する際には、本発明の教示による好ましい実施形態一般およびその変形例について説明する。
【図面の簡単な説明】
【0032】
【図1】本発明の一実施形態によるサービスアクセスの制限を可能にする方法の一実施態様の模式図である。
【図2】本発明の一実施形態による登録制限施行プロトコルの実装のために使用されるアルゴリズムの第1の実施形態を示す。
【図3】本発明の一実施形態による登録制限施行プロトコルの実装のために使用されるアルゴリズムの第2の実施形態を示す。
【図4】本発明の一実施形態による登録制限施行プロトコルの実装のために使用されるアルゴリズムの第3の実施形態を示す。
【発明を実施するための形態】
【0033】
図1は、本発明によるサービスアクセスの制限を可能にする方法の基本原理を模式的に示している。図1は、サービスプロバイダSPがサービスSRを(場合によっては、その他のサービスのうちから)提供し、ユーザUが、サービスSRを利用するためにサービスSRに登録しようとしている場面に関するものである。ユーザUは、サービスSRの起動または登録に使用可能な複数のデジタルアイデンティティIを所有している。
【0034】
サービスSRにアクセスするため、ユーザUは、第三者エンティティにアカウントを有することを要求される。説明する具体例においては、第三者エンティティを登録認定機関RAと称する。ユーザUは、自己のデジタルアイデンティティIを登録認定機関RAのアカウントに登録し、RAと秘密Sを取り決める。図1において、登録認定機関RAでユーザUのアカウントを作成することは図示していないが、アカウントは、サービスプロバイダSPでのユーザUの最初の登録要求の前段階にすでに作成されているものとする。
【0035】
登録認定機関RAは、ユーザUが単一のアカウントのみを有し得ること、または、ユーザUが少なくとも非常に限定された個数のアカウントのみを所有することを保証する。単一のアカウントのみの許可は、ユーザUに対して、登録認定機関RAでのアカウント作成時に、何らかの一意的な生体識別を提示するように要求することによって、実現してもよい。
【0036】
ユーザUの登録要求後、サービスプロバイダSPは、本発明によるサービスアクセスの制限を可能にする方法の実行を開始する。すなわち、サービスプロバイダSPは、ユーザUとのプロトコルをトリガする。これを以下では「登録制限施行プロトコル」と称し、後で図2、図3および図4を参照してさらに詳細に説明する。図1では、登録制限施行プロトコルは点線で示されている。基本的には、説明する特定実施形態において、このプロトコルは、ユーザUがサービスプロバイダSPにメッセージを送信し、サービスプロバイダSPが登録認定機関RAとの間で1回のメッセージ交換を行うことを含む。
【0037】
最後に、プロトコルの結果に応じて、サービスプロバイダSPは、要求されたサービスへのアクセスをユーザUに許可するか(成功)、または、サービスプロバイダSPは、アクセスを拒否する(失敗)ことができる。ユーザが最大許容回数(これは、サービスプロバイダSPのポリシーに基づいて指定してもよい)すでにアクセスを許可されていることがわかった場合、サービスプロバイダSPはアクセスを拒否する。
【0038】
図2は、登録制限施行プロトコルの第1の実施形態をさらに詳細に示している。この場合も、ユーザUはn個の相異なるデジタルアイデンティティを所有すると仮定し、それらをI(i=1, ..., n、n∈N)で表す。また、サービスプロバイダSPは、ユーザUが登録したいと考えるサービスSRを提供すると仮定する。ここで、サービスプロバイダSPは、ユーザがサービスSRの起動または登録を行う場合に用いる相異なるデジタルアイデンティティIの個数に関して、サービスSRに限度limSRを課する。また、ユーザUは、登録認定機関RAにおいて秘密Sによるアカウントをすでに有しているとともに、ユーザUは、自己のデジタルアイデンティティIを自己のRAアカウントに登録していると仮定する。その結果、登録認定機関RAは、ユーザUのデジタルアイデンティティIからユーザの「実アイデンティティ」へ、または少なくとも取り決められた秘密Sへのマッピングが可能となる。
【0039】
プロトコルを開始する前に、ユーザUは、サービスSRの登録を試みる際に用いるそれぞれの相異なるアイデンティティに、一意的なカウンタ値を割り当てなければならない。それらのカウンタ値をki,SRで表す。ユーザUは、どのアイデンティティでサービスSRの登録を試みたかを把握しておかなければならない。例えば、ユーザUは、デジタルアイデンティティ{I,I,I,I,I}を有するとする。ユーザUがサービスSRに登録する際に、最初にIを用い、次にIを用い、次にIを用いた場合、カウンタ値ki,SRは、k2,SR=1、k4,SR=2、およびk1,SR=3という値をとると考えられる。ユーザU(あるいはより正確には、サービスSRにアクセスするために用いられるユーザUの装置)は、これらのカウンタ値を記憶している必要がある。すなわち、ユーザUは、将来再びサービスSRの登録(または起動)をしようとする場合、プロトコルにおいて同一カウンタ値を使用しなければならない。
【0040】
ユーザUが、特定のデジタルアイデンティティIを用いて、サービスSRに対する登録要求をサービスプロバイダSPに送信するとき、ユーザUとサービスプロバイダSPは、制限施行プロトコルを開始する前に、相互に自己を認証することが推奨される。認証メカニズムは、一意的サービス識別子ISRおよび使用されるデジタルアイデンティティIに結びつけられるのが好ましい。すなわち、ユーザUはサービス識別子ISRを認証し、サービスプロバイダSPはデジタルアイデンティティIを認証することが推奨される。
【0041】
また、サービスプロバイダSPと登録認定機関RAは、制限施行プロトコルのメッセージを交換する前に、相互に相手を認証することが推奨される。特に、登録認定機関RAは、サービス識別子ISRによって識別されるサービスを提供しているサービスプロバイダSPと実際に通信していることを保証することが推奨される。
【0042】
制限施行プロトコルが開始されると、まず、ユーザが、秘密Sおよび一意的サービス識別子ISRに暗号化アルゴリズムHを適用することによって値pを計算する。この目的のため、まず、秘密Sと識別子ISRを連接してから、その連接された結果にHを適用する。図2に示す具体例では、暗号化アルゴリズムHはハッシュ関数である。その後、ユーザUは、値pおよびサービス要求のために用いられたデジタルアイデンティティIに割り当てられたカウンタ値ki,SRに暗号化アルゴリズムHを適用することによって確認値vを計算する。この場合も、まず両方のパラメータを連接して、連接された結果にHを適用する。
【0043】
ユーザUは、登録要求とともに、または別個のメッセージで、例えば相互認証後に、確認値vをサービスプロバイダSPに転送する。するとサービスプロバイダSPは、確認値vと、オプションとして(角括弧で示されているように)一意的サービス識別子ISRとを、登録認定機関RAに提供する。一意的サービス識別子ISRは、例えば、登録認定機関RAに対するサービスプロバイダSPの認証では、プロトコル実行がどの特定のサービスSRを目的としているかが明らかでない場合に送信される。
【0044】
確認値vを受信した後、登録認定機関RAにおけるユーザUのサービス要求のために使用されたデジタルアイデンティティIに割り当てられたカウンタ値ki,SRの再構成は、次の4ステップを含み得る。
【0045】
1)登録認定機関RAは、登録認定機関RAにおけるアカウントを有する全ユーザの秘密が保存されているリストVから秘密Vを選択する。
【0046】
2)登録認定機関RAは、ユーザUが前に実行したのと同様にして、選択した秘密Sおよび一意的サービス識別子ISRに暗号化アルゴリズムHを適用することによって値pバーを計算する。この場合、ユーザUおよび登録認定機関RAは、どの特定のアルゴリズムHが適用されるべきか、および、アルゴリズムの適用方法(すなわち、パラメータの入力方法)について知っているものと仮定する。例えば、ユーザUには、登録認定機関RAで自己のアカウントを作成する際に、対応する情報が提供されることが可能である。
【0047】
3)登録認定機関RAは、ユーザUが前に実行したのと同様にして、値pバーおよび値λに暗号化アルゴリズムHを適用することによって確認値vを再構成することを試みる。ここでλは、1と、サービスSRに対して設定された限度limSRとの間の値である。登録認定機関RAは、λ=1から計算を開始し、正しい確認値vが見つかるまで、または限度limSRに到達するまで、λの値を順次増大させる。
【0048】
4)登録認定機関RAが、確認値vを正しく再構成することに失敗した場合、リストVから別の秘密Sを取り出して、1)から3)までのステップを繰り返し実行する。
【0049】
再構成計算を終了した後、登録認定機関RAは、正しい第1の確認値vが見つからなかった場合に失敗メッセージを提供し、vが見つかった場合に成功メッセージを提供する。確認値vの再構成の失敗は、ユーザが使用したデジタルアイデンティティIに対応するカウンタ値ki,SRが、サービスSRに対して指定された限度limSRを超過して、デジタルアイデンティティIは許容できないことを意味する。そこで、失敗メッセージを受信すると、サービスプロバイダSPは、ユーザUの登録を中断し、アクセスを拒否する。
【0050】
サービスプロバイダSPは、登録目的で前にすでに使用された確認値vのリストVSRを保持する。登録認定機関RAから成功メッセージを受信した場合、サービスプロバイダSPは、確認値vがすでにリストVSRの要素であるかどうかをチェックする。値vがまだリストVSRに含まれていない場合、サービスプロバイダSPは、値vをリストVSRに追加する。他方、確認値vがすでにVSRに入っている場合、サービスプロバイダSPは、ユーザUが、対応するデジタルアイデンティティですでにサービスSRに登録していることを知る。その結果、サービスプロバイダSPは、ユーザUの登録要求を拒否する。
【0051】
なお、図2に関連して説明したプロトコルを、k回使用匿名クレデンシャルのためのメカニズムとして使用可能である。この場合、秘密Sは、上記のように準反復的に登録認定機関RAで導出してもよい。別法として、正しいSを取得するための他の任意のメカニズムが使用可能である。
【0052】
図3は、登録制限施行プロトコルの第2の実施形態を示している。このプロトコルは、図2に示した実施形態に関して説明したプロトコルとよく似ている。同じ要素および同じパラメータは同一参照符号で表している。以下では、図2の実施形態との相違点を中心に説明する。
【0053】
図3の実施形態によれば、サービスプロバイダSPは、より多くの情報を登録認定機関RAに提供する。すなわち、確認値vに加えて、サービスプロバイダSPは、ユーザUのサービス要求に関してユーザUによって使用されたデジタルアイデンティティIを登録認定機関RAに転送する。この補助情報を提供することにより、登録認定機関RA側の計算量が大幅に低減される。ユーザに対して登録認定機関RAに登録されたデジタルアイデンティティIと、取り決められた秘密Sとの間のマッピングにより、登録認定機関RAは、正しい秘密Sを直接に導出することができる。すなわち、登録認定機関RAは、秘密Sを見つけるために、デジタルアイデンティティIをインデックスとして使用する。その結果、(ユーザのサービス要求のために使用されたデジタルアイデンティティIに割り当てられた)カウンタ値ki,SRを再構成するための計算は、1つの特定の秘密について実行するだけでよい。詳細には、登録認定機関RAは以下のステップを実行する。
【0054】
1)登録認定機関RAは、ユーザUのデジタルアイデンティティIに対応する秘密Sを検索する。
【0055】
2)登録認定機関RAは、ユーザUが前に実行したのと同様にして、秘密Sおよび一意的サービス識別子ISRに暗号化アルゴリズムHを適用することによって値pバーを計算する。
【0056】
3)登録認定機関RAは、ユーザUが前に実行したのと同様にして、値pバーおよび値λに暗号化アルゴリズムHを適用することによって確認値vを再構成することを試みる。ここでλは、1と、サービスSRに対して設定された限度limSRとの間の値である。登録認定機関RAは、λ=1から計算を開始し、正しい確認値vが見つかるまで、または限度limSRに到達するまで、λの値を順次増大させる。
【0057】
図3によるプロトコルは、登録認定機関RA側での計算が、監視なしにサービスプロバイダから受信された2つのパラメータ、すなわち、確認値vおよびデジタルアイデンティティIに基づいているという点で、セキュリティの低下を伴う。サービスプロバイダSPがプロトコルを濫用しようとすることも起こり得る。例えば、サービスプロバイダSPは、あるサービス要求で受信したデジタルアイデンティティIを、別のサービス要求で受信した第1の確認値vと組み合わせて、両方のサービス要求が同一ユーザによって発信されたかどうかを確認しようとする場合が考えられる。このような情報は、ユーザUのプライバシーを脅かす。
【0058】
図4は、図3に関して説明したプロトコルを拡張したプロトコルの実施形態を示している。このプロトコルは、上記のプライバシーの脅威を除去する。本実施形態では、ユーザUは、値p、デジタルアイデンティティI、および第1の確認値vに暗号化アルゴリズムHを適用することによって第2の確認値vを計算する。その後、ユーザUは、第2の確認値vを第1の確認値vとともにサービスプロバイダSPに転送する。その後、サービスプロバイダSPは、第2の確認値vを第1の確認値vおよびデジタルアイデンティティI(さらにオプションとして一意的サービス識別子ISR)とともに、登録認定機関RAに提供する。
【0059】
登録認定機関RAにおいて、(当該カウンタ値ki,SRの有効性の判断に対応する)第1の確認値vを再構成することに成功した後、ユーザUが前に実行したのと同様にして、再構成された値pバー、受信したデジタルアイデンティティI、および受信した第1の確認値vに暗号化アルゴリズムHを適用することによって第2の確認値vを計算する。登録認定機関RAにおいて、値vに加えて値vをチェックすることにより、サービスプロバイダSPによるプロトコルの上記の濫用が明らかとなる。正しい第2の確認値vが見つからなかった場合に、サービスプロバイダSPに失敗メッセージを提供することによって、登録認定機関RAは、サービスプロバイダSPの濫用を無効化できる。これに対して、正しい第2の確認値vが見つかった場合、すなわち、第1の確認値vおよびデジタルアイデンティティIが適合した場合には、登録認定機関RAは成功メッセージを提供する。
【0060】
上記の説明および添付図面の記載に基づいて、当業者は本発明の多くの変形例および他の実施形態に想到し得るであろう。したがって、本発明は、開示した具体的実施形態に限定されるものではなく、変形例および他の実施形態も、添付の特許請求の範囲内に含まれるものと解すべきである。本明細書では特定の用語を用いているが、それらは総称的・説明的意味でのみ用いられており、限定を目的としたものではない。

【特許請求の範囲】
【請求項1】
サービスアクセスの制限を可能にする方法において、
サービスプロバイダ(SP)が少なくとも1つのサービス(SR)を提供し、ユーザ(U)が、前記サービス(SR)の起動または登録に使用可能な複数の相異なるデジタルアイデンティティIを所有し、
前記サービス(SR)へのアクセスが、第三者エンティティにおけるアカウントを必要とし、前記ユーザ(U)が該アカウントに自己のデジタルアイデンティティIを登録し、ユーザ(U)が前記第三者エンティティとの間で秘密Sを取り決め、
該方法は、
ユーザ(U)の相異なるデジタルアイデンティティIにカウンタ値ki,SRを割り当てるステップと、
ユーザ(U)が、特定のデジタルアイデンティティIを使用して前記サービス(SR)を要求し、前記秘密Sおよび前記サービス要求のために使用されるデジタルアイデンティティIに割り当てられた前記カウンタ値ki,SRに暗号化アルゴリズムHを適用することにより確認値、すなわち第1の確認値vを計算するステップと、
前記第三者エンティティが、前記第1の確認値vを受信し、前記暗号化アルゴリズムHを適用することにより、前記使用されたカウンタ値ki,SRを再構成し、再構成されたカウンタ値ki,SRが限度limSRを超過するかどうかの情報を提供するステップと
を備えたことを特徴とする、サービスアクセスの制限を可能にする方法。
【請求項2】
前記サービス(SR)に、前記第三者エンティティにおいて前記サービス(SR)を識別するための一意的なサービス識別子ISRが割り当てられることを特徴とする請求項1に記載の方法。
【請求項3】
前記サービス識別子ISRがビット列に含まれ、該ビット列が、前記サービス(SR)のURL(Uniform Resource Locator)、および/または、前記限度limSR、および/または、具体的なサービスインスタンスの識別子、および/または、タイムスタンプ値、および/または、前記サービスプロバイダ(SP)および/または前記サービス(SR)の公開鍵証明書または証明書チェインを含むことを特徴とする請求項2に記載の方法。
【請求項4】
前記第三者エンティティが登録認定機関(RA)であることを特徴とする請求項1ないし3のいずれか1項に記載の方法。
【請求項5】
前記第三者エンティティは、前記ユーザ(U)が限られた個数のアカウントのみを所有することを保証することを特徴とする請求項1ないし4のいずれか1項に記載の方法。
【請求項6】
前記第三者エンティティは、好ましくは前記第三者エンティティにおいて前記アカウントを作成する前に何らかの一意的な生体識別を提示するように前記ユーザ(U)に要求することによって、前記ユーザ(U)が複数のアカウントを有することができないことを保証することを特徴とする請求項1ないし4のいずれか1項に記載の方法。
【請求項7】
前記暗号化アルゴリズムHが、決定論的な一方向性関数であることを特徴とする請求項1ないし6のいずれか1項に記載の方法。
【請求項8】
前記暗号化アルゴリズムHが、ハッシュ関数であることを特徴とする請求項1ないし7のいずれか1項に記載の方法。
【請求項9】
前記秘密Sがランダムに生成されることを特徴とする請求項1ないし8のいずれか1項に記載の方法。
【請求項10】
前記ユーザ(U)が、前記サービス(SR)にアクセスする場合、前記秘密Sおよび前記サービス識別子ISRに暗号化アルゴリズムHを適用することによって値pを計算することを特徴とする請求項1ないし9のいずれか1項に記載の方法。
【請求項11】
前記ユーザ(U)が、前記値pおよび前記カウンタ値ki,SRに暗号化アルゴリズムHを適用することによって前記第1の確認値vを計算することを特徴とする請求項10に記載の方法。
【請求項12】
前記ユーザ(U)が、前記第1の確認値vを前記サービスプロバイダ(SP)に転送することを特徴とする請求項1ないし11のいずれか1項に記載の方法。
【請求項13】
前記サービスプロバイダ(SP)が、前記第1の確認値vを、好ましくはサービス識別子ISRとともに、前記第三者エンティティに提供することを特徴とする請求項1ないし12のいずれか1項に記載の方法。
【請求項14】
前記確認値vを受信した後、前記第三者エンティティは、前記ユーザ(U)が前記サービス要求のために使用したデジタルアイデンティティIに割り当てられたカウンタ値ki,SRを再構成することを開始し、該再構成が、
前記第三者エンティティによって割り当てられた秘密のリストVから秘密Sを選択するステップと、
前記ユーザ(U)が実行したのと同様にして、前記選択された秘密Sおよび前記サービス識別子ISRに前記暗号化アルゴリズムHを適用することによって値pバーを計算するステップと、
1と前記限度limSRとの間の整数λを選択し、前記ユーザ(U)が実行したのと同様にして、前記値pバーおよび前記λに前記暗号化アルゴリズムHを適用するステップと、
受信された第1の確認値vに結果が一致するまで、前記選択された数λおよび前記選択された秘密Sを順次変化させるステップと
を実行することによって行われることを特徴とする請求項11ないし13のいずれか1項に記載の方法。
【請求項15】
前記サービスプロバイダ(SP)が、前記デジタルアイデンティティIを前記第三者エンティティに提供することを特徴とする請求項1ないし14のいずれか1項に記載の方法。
【請求項16】
確認値vおよびデジタルアイデンティティIの両方を受信した後、前記第三者エンティティは、前記ユーザ(U)が前記サービス要求のために使用したデジタルアイデンティティIに割り当てられたカウンタ値ki,SRを再構成することを開始し、該再構成が、
前記デジタルアイデンティティIに対応する前記秘密Sを検索するステップと、
前記ユーザ(U)が実行したのと同様にして、前記秘密Sおよび前記サービス識別子ISRに前記暗号化アルゴリズムHを適用することによって値pバーを計算するステップと、
1と前記限度limSRとの間の整数λを選択し、前記ユーザ(U)が実行したのと同様にして、前記値pバーおよび前記λに前記暗号化アルゴリズムHを適用するステップと、
受信された第1の確認値vに結果が一致するまで、前記選択された数λを順次変化させるステップと
を実行することによって行われることを特徴とする請求項11ないし15のいずれか1項に記載の方法。
【請求項17】
前記第三者エンティティは、正しい第1の確認値vが見つからなかった場合に失敗メッセージを提供し、正しい第1の確認値vが見つかった場合に成功メッセージを提供することを特徴とする請求項1ないし16のいずれか1項に記載の方法。
【請求項18】
前記サービスプロバイダ(SP)は、前記ユーザ(U)から受信された第1の確認値vが含まれるリストVSRを保持することを特徴とする請求項1ないし17のいずれか1項に記載の方法。
【請求項19】
前記再構成に成功した第1の確認値vがすでに前記リストVSRの要素であることがチェックにより明らかになった場合、前記サービスプロバイダ(SP)が、前記サービス(SR)への前記ユーザ(U)の登録を中断することを特徴とする請求項18に記載の方法。
【請求項20】
前記ユーザ(U)が、前記値p、前記使用されたデジタルアイデンティティI、および前記第1の確認値vに前記暗号化アルゴリズムHを適用することによって、別の確認値、すなわち第2の確認値vを計算することを特徴とする請求項10ないし19のいずれか1項に記載の方法。
【請求項21】
前記ユーザ(U)が、前記第2の確認値vを前記サービスプロバイダ(SP)に転送することを特徴とする請求項20に記載の方法。
【請求項22】
前記サービスプロバイダ(SP)が、前記第2の確認値vを前記第三者エンティティに提供することを特徴とする請求項20または21に記載の方法。
【請求項23】
正しい第1の確認値vを見つけることによって前記カウンタ値ki,SRの再構成に成功した後、前記第三者エンティティは、前記ユーザ(U)が実行したのと同様にして、前記値pバー、前記デジタルアイデンティティI、および前記第1の確認値vに前記暗号化アルゴリズムHを適用することを開始して、前記第2の確認値vを再構成することを特徴とする請求項20ないし22のいずれか1項に記載の方法。
【請求項24】
前記第三者エンティティは、正しい第2の確認値vが見つかった場合に成功メッセージを提供し、正しい第2の確認値vが見つからなかった場合に失敗メッセージを提供することを特徴とする請求項23に記載の方法。
【請求項25】
失敗メッセージの場合、前記サービスプロバイダ(SP)が、前記サービス(SR)への前記ユーザ(U)の登録を中断することを特徴とする請求項17または24に記載の方法。
【請求項26】
前記第三者エンティティが、限られた時間の間にのみオンラインとなることを特徴とする請求項1ないし25のいずれか1項に記載の方法。
【請求項27】
前記限度limSRが、サービスプロバイダ(SR)自身によって、または任意の外部インスタンスによって、事前に設定されることを特徴とする請求項1ないし26のいずれか1項に記載の方法。
【請求項28】
前記限度limSRが、動的パラメータに依存する変化を受けることを特徴とする請求項1ないし27のいずれか1項に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公表番号】特表2012−502522(P2012−502522A)
【公表日】平成24年1月26日(2012.1.26)
【国際特許分類】
【出願番号】特願2011−525419(P2011−525419)
【出願日】平成21年5月11日(2009.5.11)
【国際出願番号】PCT/EP2009/003323
【国際公開番号】WO2010/028705
【国際公開日】平成22年3月18日(2010.3.18)
【出願人】(508342183)エヌイーシー ヨーロッパ リミテッド (101)
【氏名又は名称原語表記】NEC EUROPE LTD.
【Fターム(参考)】