(57)【特許請求の範囲】
【請求項１】
サービスアクセスの制限を可能にする方法において、
サービスプロバイダ（ＳＰ）が少なくとも１つのサービス（ＳＲ）を提供し、ユーザ（Ｕ）の装置が、前記サービス（ＳＲ）の起動または登録に使用可能な複数の相異なるデジタルアイデンティティＩｉを所有し、
前記サービス（ＳＲ）へのアクセスが、第三者エンティティにおけるアカウントを必要とし、前記ユーザ（Ｕ）の装置が該アカウントに自己のデジタルアイデンティティＩｉを登録し、ユーザ（Ｕ）の装置が前記第三者エンティティとの間で秘密Ｓを取り決め、
該方法は、
ユーザ（Ｕ）の装置が、ユーザ（Ｕ）の装置の相異なるデジタルアイデンティティＩｉにカウンタ値ｋｉ，ＳＲを割り当てるステップと、
ユーザ（Ｕ）の装置が、特定のデジタルアイデンティティＩｉを使用して前記サービス（ＳＲ）を要求し、前記秘密Ｓおよび前記サービス要求のために使用されるデジタルアイデンティティＩｉに割り当てられた前記カウンタ値ｋｉ，ＳＲに暗号化アルゴリズムＨを適用することにより確認値、すなわち第１の確認値ｖ１を計算するステップと、
前記第三者エンティティが、前記第１の確認値ｖ１を受信し、前記暗号化アルゴリズムＨを適用することにより、前記使用されたカウンタ値ｋｉ，ＳＲを再構成し、再構成されたカウンタ値ｋｉ，ＳＲが限度ｌｉｍＳＲを超過するかどうかの情報を提供するステップと
を備えたことを特徴とする、サービスアクセスの制限を可能にする方法。
【請求項２】
前記サービス（ＳＲ）に、前記第三者エンティティにおいて前記サービス（ＳＲ）を識別するための一意的なサービス識別子ＩＳＲが割り当てられることを特徴とする請求項１に記載の方法。
【請求項３】
前記サービス識別子ＩＳＲがビット列に含まれ、該ビット列が、前記サービス（ＳＲ）のＵＲＬ（Uniform Resource Locator）、および／または、前記限度ｌｉｍＳＲ、および／または、具体的なサービスインスタンスの識別子、および／または、タイムスタンプ値、および／または、前記サービスプロバイダ（ＳＰ）および／または前記サービス（ＳＲ）の公開鍵証明書または証明書チェインを含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記第三者エンティティが登録認定機関（ＲＡ）であることを特徴とする請求項１ないし３のいずれか１項に記載の方法。
【請求項５】
前記第三者エンティティは、前記ユーザ（Ｕ）の装置が限られた個数のアカウントのみを所有することを保証することを特徴とする請求項１ないし４のいずれか１項に記載の方法。
【請求項６】
前記第三者エンティティは、前記第三者エンティティにおいて前記アカウントを作成する前に何らかの一意的な生体識別を提示するように前記ユーザ（Ｕ）の装置に要求することによって、前記ユーザ（Ｕ）の装置が複数のアカウントを有することができないことを保証することを特徴とする請求項１ないし４のいずれか１項に記載の方法。
【請求項７】
前記暗号化アルゴリズムＨが、決定論的な一方向性関数であることを特徴とする請求項１ないし６のいずれか１項に記載の方法。
【請求項８】
前記暗号化アルゴリズムＨが、ハッシュ関数であることを特徴とする請求項１ないし７のいずれか１項に記載の方法。
【請求項９】
前記秘密Ｓが前記ユーザ（Ｕ）の装置または前記第三者エンティティによってランダムに生成されることを特徴とする請求項１ないし８のいずれか１項に記載の方法。
【請求項１０】
前記ユーザ（Ｕ）の装置が、前記サービス（ＳＲ）にアクセスする場合、前記秘密Ｓおよび前記サービス識別子ＩＳＲに暗号化アルゴリズムＨを適用することによって値ｐを計算することを特徴とする請求項１ないし９のいずれか１項に記載の方法。
【請求項１１】
前記ユーザ（Ｕ）の装置が、前記値ｐおよび前記カウンタ値ｋｉ，ＳＲに暗号化アルゴリズムＨを適用することによって前記第１の確認値ｖ１を計算することを特徴とする請求項１０に記載の方法。
【請求項１２】
前記ユーザ（Ｕ）の装置が、前記第１の確認値ｖ１を前記サービスプロバイダ（ＳＰ）に転送することを特徴とする請求項１ないし１１のいずれか１項に記載の方法。
【請求項１３】
前記サービスプロバイダ（ＳＰ）が、前記第１の確認値ｖ１を、サービス識別子ＩＳＲとともに、前記第三者エンティティに提供することを特徴とする請求項１ないし１２のいずれか１項に記載の方法。
【請求項１４】
前記確認値ｖ１を受信した後、前記第三者エンティティは、前記ユーザ（Ｕ）の装置が前記サービス要求のために使用したデジタルアイデンティティＩｉに割り当てられたカウンタ値ｋｉ，ＳＲを再構成することを開始し、該再構成が、
前記第三者エンティティによって割り当てられた秘密のリストＶＳから秘密Ｓｎを選択するステップと、
前記ユーザ（Ｕ）の装置が実行したのと同様にして、前記選択された秘密Ｓｎおよび前記サービス識別子ＩＳＲに前記暗号化アルゴリズムＨを適用することによって値ｐｎバーを計算するステップと、
１と前記限度ｌｉｍＳＲとの間の整数λを選択し、前記ユーザ（Ｕ）の装置が実行したのと同様にして、前記値ｐｎバーおよび前記λに前記暗号化アルゴリズムＨを適用するステップと、
受信された第１の確認値ｖ１に結果が一致するまで、前記選択された数λおよび前記選択された秘密Ｓｎを順次変化させるステップと
を実行することによって行われることを特徴とする請求項１１ないし１３のいずれか１項に記載の方法。
【請求項１５】
前記サービスプロバイダ（ＳＰ）が、前記デジタルアイデンティティＩｉを前記第三者エンティティに提供することを特徴とする請求項１ないし１４のいずれか１項に記載の方法。
【請求項１６】
確認値ｖ１およびデジタルアイデンティティＩｉの両方を受信した後、前記第三者エンティティは、前記ユーザ（Ｕ）の装置が前記サービス要求のために使用したデジタルアイデンティティＩｉに割り当てられたカウンタ値ｋｉ，ＳＲを再構成することを開始し、該再構成が、
前記デジタルアイデンティティＩｉに対応する前記秘密Ｓを検索するステップと、
前記ユーザ（Ｕ）の装置が実行したのと同様にして、前記秘密Ｓおよび前記サービス識別子ＩＳＲに前記暗号化アルゴリズムＨを適用することによって値ｐバーを計算するステップと、
１と前記限度ｌｉｍＳＲとの間の整数λを選択し、前記ユーザ（Ｕ）の装置が実行したのと同様にして、前記値ｐバーおよび前記λに前記暗号化アルゴリズムＨを適用するステップと、
受信された第１の確認値ｖ１に結果が一致するまで、前記選択された数λを順次変化させるステップと
を実行することによって行われることを特徴とする請求項１１ないし１５のいずれか１項に記載の方法。
【請求項１７】
前記第三者エンティティは、正しい第１の確認値ｖ１が見つからなかった場合に失敗メッセージを提供し、正しい第１の確認値ｖ１が見つかった場合に成功メッセージを提供することを特徴とする請求項１ないし１６のいずれか１項に記載の方法。
【請求項１８】
前記サービスプロバイダ（ＳＰ）は、前記ユーザ（Ｕ）の装置から受信された第１の確認値ｖ１が含まれるリストＶＳＲを保持することを特徴とする請求項１ないし１７のいずれか１項に記載の方法。
【請求項１９】
前記再構成に成功した第１の確認値ｖ１がすでに前記リストＶＳＲの要素であることがチェックにより明らかになった場合、前記サービスプロバイダ（ＳＰ）が、前記サービス（ＳＲ）への前記ユーザ（Ｕ）の装置の登録を中断することを特徴とする請求項１８に記載の方法。
【請求項２０】
前記ユーザ（Ｕ）の装置が、前記値ｐ、前記使用されたデジタルアイデンティティＩｉ、および前記第１の確認値ｖ１に前記暗号化アルゴリズムＨを適用することによって、別の確認値、すなわち第２の確認値ｖ２を計算することを特徴とする請求項１０ないし１９のいずれか１項に記載の方法。
【請求項２１】
前記ユーザ（Ｕ）の装置が、前記第２の確認値ｖ２を前記サービスプロバイダ（ＳＰ）に転送することを特徴とする請求項２０に記載の方法。
【請求項２２】
前記サービスプロバイダ（ＳＰ）が、前記第２の確認値ｖ２を前記第三者エンティティに提供することを特徴とする請求項２０または２１に記載の方法。
【請求項２３】
正しい第１の確認値ｖ１を見つけることによって前記カウンタ値ｋｉ，ＳＲの再構成に成功した後、前記第三者エンティティは、前記ユーザ（Ｕ）の装置が実行したのと同様にして、前記値ｐバー、前記デジタルアイデンティティＩｉ、および前記第１の確認値ｖ１に前記暗号化アルゴリズムＨを適用することを開始して、前記第２の確認値ｖ２を再構成することを特徴とする請求項２０ないし２２のいずれか１項に記載の方法。
【請求項２４】
前記第三者エンティティは、正しい第２の確認値ｖ２が見つかった場合に成功メッセージを提供し、正しい第２の確認値ｖ２が見つからなかった場合に失敗メッセージを提供することを特徴とする請求項２３に記載の方法。
【請求項２５】
失敗メッセージの場合、前記サービスプロバイダ（ＳＰ）が、前記サービス（ＳＲ）への前記ユーザ（Ｕ）の装置の登録を中断することを特徴とする請求項１７または２４に記載の方法。
【請求項２６】
前記第三者エンティティが、限られた時間の間にのみオンラインとなることを特徴とする請求項１ないし２５のいずれか１項に記載の方法。
【請求項２７】
前記再構成されたカウンタ値ｋｉ，ＳＲに対する前記限度ｌｉｍＳＲが、サービスプロバイダ（ＳＲ）自身によって、または任意の外部インスタンスによって、事前に設定されることを特徴とする請求項１ないし２６のいずれか１項に記載の方法。
【請求項２８】
前記限度ｌｉｍＳＲが、動的パラメータに依存する変化を受けることを特徴とする請求項１ないし２７のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービスアクセスの制限を可能にする方法に関する。
【背景技術】
【０００２】
今日の通信ネットワークには多種類のサービスが存在し、それらを利用するユーザ数は着実に増えている。通常、これらのサービスはサービスプロバイダによって提供される。ユーザは、求めるサービスにアクセスするため、サービスプロバイダに登録を行うことが可能である。一般的には、サービスプロバイダへのユーザの登録は、ある意味で匿名プロセスである。すなわち、登録はユーザのデジタルアイデンティティに基づいているが、ユーザの実アイデンティティ（身元）は、サービスプロバイダには未知のままである。
【０００３】
デジタル世界における多くのアプリケーション、例えば、電子投票、電子マネー、電子クーポン、あるいはコンテンツの試し視聴等について、１ユーザがサービスの起動や登録を行う際に使う相異なるデジタルアイデンティティの個数に厳格な制限を課すことは重要な課題である。例えば、電子投票の場合、各ユーザが投票できるのは１回だけであることを確実に保証することが必須である。コンテンツの試し視聴の場合、プロバイダは通常、特定のユーザが映画や音楽等のコンテンツを自由に視聴するのは限られた回数だけにしたいと考える。例えば、サービスプロバイダはユーザに対して、映画は２本まで、楽曲は１０曲までダウンロード可能、とする場合がある。試し段階の後は、サービスプロバイダは、サービスへの支払をユーザに求める。
【０００４】
従来技術によれば、非対称暗号方式に基づいてサービスアクセスの制限を可能にする解決法がいくつか存在する。しかし、これら従来の方法は、使用される非対称技術が高価な計算および複雑な鍵管理手順を必要とし、計算オーバーヘッドが高くなるため、かなり不利である。そのような計算複雑性のため、これらの方法は多くのアプリケーションには適していない。
【０００５】
また、１ユーザがサービスの起動や登録を行う際に使う相異なるデジタルアイデンティティの個数に制限を課すことは、サービスプロバイダが登録ユーザに関する何らかの情報を所有することを必要とする。これは、サービスプロバイダにアクセスするために用いられたユーザのデジタルアイデンティティを、少なくともある程度、ユーザの実アイデンティティに関連づける。このような関連づけは、ユーザのプライバシーを保護することに関して問題となり得る。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、本発明の目的は、サービスアクセスの制限を可能にする方法において、制限の施行に関する高い信頼性を保証するような改良およびさらなる展開を行うことである。また、実施が容易で計算複雑性の少ないメカニズムを使用することにより、「正直な」ユーザ、すなわち、サービスアクセスの最大許容回数を超過しようとしていないユーザ、のプライバシーを保護することである。
【課題を解決するための手段】
【０００７】
本発明によれば、上記の目的は、請求項１の構成を備えた方法によって達成される。この請求項に記載の通り、サービスアクセスの制限を可能にする方法が開示される。サービスプロバイダは少なくとも１つのサービスを提供し、ユーザは、サービスの起動または登録に使用可能な複数の相異なるデジタルアイデンティティＩｉを所有する。サービスへのアクセスは、第三者エンティティにおけるアカウントを必要とする。ユーザは該アカウントに自己のデジタルアイデンティティＩｉを登録し、第三者エンティティとの間で秘密Ｓを取り決める。本方法は、
ユーザの相異なるデジタルアイデンティティＩｉにカウンタ値ｋｉ，ＳＲを割り当てるステップと、
ユーザが、特定のデジタルアイデンティティＩｉを使用してサービスを要求し、秘密Ｓおよびサービス要求のために使用されるデジタルアイデンティティＩｉに割り当てられたカウンタ値ｋｉ，ＳＲに暗号化アルゴリズムＨを適用することにより確認値、すなわち第１の確認値ｖ１を計算するステップと、
前記第三者エンティティが、第１の確認値ｖ１を受信し、暗号化アルゴリズムＨを適用することにより、使用されたカウンタ値ｋｉ，ＳＲを再構成し、再構成されたカウンタ値ｋｉ，ＳＲが限度ｌｉｍＳＲを超過するかどうかの情報を提供するステップと
を備えたことを特徴とする。
【０００８】
本発明によって初めて認識されたこととして、サービスアクセスの制限を可能にすることに関して、公開鍵プリミティブを用いた従来のメカニズムはかなり複雑であるため、さまざまな状況において適用できない。さらに認識されたこととして、非対称暗号方式は、特に許容可能登録数が大きい場合には、非常に高い計算オーバーヘッドを要求するということから、従来のメカニズムは効率的でない。
【０００９】
さらに認識されたこととして、第三者エンティティを適切に関与させることにより、対称暗号方式プリミティブのみに基づく効率的な登録制限施行が実現可能である。対称方式のみに基づくことにより、計算オーバーヘッドは非常に低くなり、鍵管理は比較的簡単になる。
【００１０】
本発明のもう１つの利点として、本方法は、限度の超過を防ぐために多様な応用分野で使用可能である。本発明によれば、制限は、必要な場合にはユーザの匿名性を取り消すことが可能であると同時に、「正直な」ユーザ、すなわち、限度を超過しようとしていないユーザ、のプライバシーを尊重するような形で施行される。すなわち、本発明による方法は、ユーザの匿名性を取り消す固有の能力を有する。
【００１１】
特定実施形態において、サービスには、第三者エンティティにおいてサービスを識別するための一意的なサービス識別子ＩＳＲが割り当てられる。特に、多数のサービスを提供するサービスプロバイダの場合、一意的サービス識別子ＩＳＲは、各サービスを区別するために使用可能である。サービスプロバイダは、自己のサービスに対して相異なるポリシーを適用したい場合、すなわち、例えばユーザの許容アクセス回数をサービスごとに変えたい場合、があるので、これは重要である。
【００１２】
好ましい実施形態によれば、サービス識別子ＩＳＲは、さらに、サービスに一意的に関連づけられる情報を伴っていてもよい。この目的のため、サービス識別子ＩＳＲは、好ましくは、あるビット列に含まれる。その場合、このビット列は、例えばサービスのＵＲＬ（Uniform Resource Locator）、サービスに対して設定された許容アクセス回数の限度ｌｉｍＳＲ、具体的なサービスインスタンスの識別子、タイムスタンプ値（例えばサービスの実行を示す）、および／または、サービスプロバイダおよび／またはサービスの公開鍵証明書または証明書チェインのような、他のサービス関連情報を含むことによって拡張可能である。
【００１３】
有利な態様として、第三者エンティティは登録認定機関である。登録認定機関は、制限を施行する際にサービスプロバイダを支援することが可能であり、匿名性取消機関として作用してもよい。登録認定機関は、ユーザアイデンティティからユーザへのマッピングを知ることになる。それゆえ、登録認定機関は、匿名性取消目的で要求されない限り、このマッピングを開示しないことで信頼される。その限りにおいて、登録認定機関が信頼できるエンティティである場合、例えば行政機関や少なくとも公的機関である場合には、有益であることがわかる。
【００１４】
好ましい実施形態によれば、第三者エンティティは、各ユーザがかなり限られた個数のアカウントのみを作成可能であることを保証してもよい。これは、何らかの形でユーザ個人に割り当てられた、実際には通常限られた個数しかユーザが所有しない文書を提示するようにユーザに要求することによって、実現してもよい。そのような文書の特徴的な例としては、パスポート、運転免許証、あるいはクレジットカードが挙げられる。
【００１５】
特に好ましい実施形態において、第三者エンティティは、各ユーザが複数のアカウントを有することができないことを保証する。第三者エンティティにおいて単一のアカウントのみとすることで、サービスプロバイダにおけるユーザのアクセス数の厳密な制御が可能となる。ユーザごとの複数アカウントの作成を防ぐことは、第三者エンティティにおいてアカウントを作成する前に、何らかの一意的な生体識別を提示するようにユーザに要求することによって、実現してもよい。
【００１６】
有利な態様として、暗号化アルゴリズムＨは、決定論的な一方向性関数である。本発明は、Ｈに対して、いかなる特定の一方向性関数の使用を課するものでもないが、それは決定論的である限りとする。すなわち、ａ＝ｂ  ⇒  Ｈ（ａ）＝Ｈ（ｂ）が要求される。本発明で使用可能な一方向性関数の例としては、（シード付き）擬似乱数ジェネレータ、対称暗号方式、メッセージ認証符号（ＭＡＣ）方式、およびハッシュ関数がある。ランダムオラクルの出力と区別できない出力を有する暗号学的ハッシュ関数を使用することが推奨される。
【００１７】
好ましい実施形態によれば、第三者エンティティにおけるアカウント作成時にユーザと第三者エンティティとの間で取り決められる秘密は、一意的な秘密値としてランダムに生成してもよい。秘密を生成した時点から、それはユーザと第三者エンティティとにのみ知られた秘密となる。パスワードやパスフレーズから導出してもよいが、大きい空間から一様ランダムに生成するのが好ましい。高い信頼性を保証するため、秘密は十分な長さとすべきである。秘密に対して推奨される長さは、使用される暗号化アルゴリズムＨの出力長に等しい。
【００１８】
効率的な暗号化に関して、ユーザは、サービスにアクセスする場合、第三者エンティティと取り決めた秘密および要求するサービスの一意的識別子ＩＳＲに暗号化アルゴリズムＨを適用することによって値ｐを計算するものとしてもよい。これは、まず、秘密と識別子の連接を生成してから、その連接された値に暗号化アルゴリズムＨを適用することによって実行可能である。別法として、秘密およびサービス識別子を、暗号化アルゴリズムＨに対する２個の独立の入力パラメータとして使用してもよい。しかし、いずれの場合でも、パラメータの順序は、それぞれの当事者によって維持されなければならないという点で重要である。
【００１９】
次のステップで、ユーザは、前に計算した値ｐおよび当該カウンタ値ｋｉ，ＳＲに暗号化アルゴリズムＨを適用することによって第１の確認値ｖ１を計算するものとしてもよい。当該カウンタ値ｋｉ，ＳＲは、サービスＳＲにアクセスしようとする際にユーザによって使用されたデジタルアイデンティティＩｉに対応するカウンタ値である。この場合も、２つの値は、Ｈを適用する前に連接しても、２個の独立のパラメータとして入力してもよい。
【００２０】
好ましい実施形態によれば、確認値ｖ１は、ユーザＵによって直接にサービスプロバイダに転送されるものとしてもよい。その後、サービスプロバイダは、さらに第三者エンティティに確認値ｖ１を転送することにより、以下でさらに詳細に説明するように、当該カウンタ値ｋｉ，ＳＲの再構成プロセスをトリガする。さらに、サービスプロバイダは、第三者エンティティに一意的サービス識別子ＩＳＲを送信することで、サービスが容易に識別できるようにしてもよい。なお、通常、サービスプロバイダはサービスアクセスに対して制限を施行することに関心があるので、サービスプロバイダによる値の転送は最も顕著な適用場面となる。しかし、例えば電子投票のように、サービス利用を制限すること、例えば、誰にも複数の票が与えられないことを保証することに関心があるのが、他のエンティティや他人、他の人々のグループ、あるいは公衆でさえあるようなアプリケーションが存在する。その場合、上記の値、特に第１の確認値ｖ１が外部エンティティによって第三者エンティティに転送されることも可能である。
【００２１】
第三者エンティティにおいて、確認値ｖ１を受信した後、（ユーザのサービス要求のために使用されたデジタルアイデンティティＩｉに割り当てられた）カウンタ値ｋｉ，ＳＲを以下のように再構成してもよい。第三者エンティティは、ユーザＵが実行したのと同様にして、秘密Ｓおよび一意的サービス識別子ＩＳＲに暗号化アルゴリズムＨを適用することによって値ｐバーを計算する。しかし、第三者エンティティは、確認値ｖ１と、場合によってはサービス識別子ＩＳＲとを受信しただけでは、ユーザの正しい秘密Ｓを導出できるための情報がないという問題がある。そこで、第三者エンティティは、第三者エンティティにおけるアカウントを有する全ユーザの秘密Ｓｎが含まれるリストＶＳを保持することが推奨される。その場合、第三者エンティティは、（ａ）リストＶＳの第１の秘密Ｓ１を選択し、（ｂ）上記のように暗号化アルゴリズムＨを適用して値ｐ１バーを得ることによって、計算を開始することができる。
【００２２】
次のステップで、第三者エンティティは、ユーザＵが前に値ｐおよびｋｉ，ＳＲに暗号化アルゴリズムＨを適用したのと同様にして、値ｐ１バーおよび値λに暗号化アルゴリズムＨを適用することによって確認値ｖ１を再構成することを試みる。λは、１と限度ｌｉｍＳＲとの間の値を表す。計算はλ＝１から開始してもよく、λの値は、正しい第１の確認値ｖ１が見つかるまで順次増大させてもよい。第三者エンティティは、正しい第１の確認値ｖ１を再生することに失敗した場合、別の秘密、例えばＳ２をリストＶＳから取り出して、上記のような計算を繰り返す。第三者エンティティが正しい第１の確認値ｖ１を再構成することに成功した場合は、ユーザが許容可能なデジタルアイデンティティを使用しており、しかもユーザはサービスアクセスの最大許容回数を超過していないことを意味している。他方、正しい第１の確認値ｖ１を再構成することに失敗した場合は、ユーザが、許可されたアクセス回数をすでに使い果たしており、限度ｌｉｍＳＲを超過しようとしていることを意味する。
【００２３】
好ましい実施形態によれば、サービスプロバイダＳＰは、第１の確認値ｖ１に加えて、ユーザによって使用されたデジタルアイデンティティＩｉを第三者エンティティに転送する。これにより、第三者エンティティ側では、計算量の大幅な低減が実現可能である。というのは、ユーザに対して第三者エンティティにおいて登録されたデジタルアイデンティティと、取り決められた秘密との間のマッピングにより、正しい秘密を直接に導出することができるからである。その結果、（ユーザのサービス要求のために使用されたデジタルアイデンティティＩｉに割り当てられた）カウンタ値ｋｉ，ＳＲを再構成するための計算は、１つの特定の秘密について実行するだけでよい。
【００２４】
有利な態様として、第１の確認値をデジタルアイデンティティＩｉとともに受信した後、第三者エンティティにおけるカウンタ値ｋｉ，ＳＲの再構成は、以下のステップを含んでもよい。第１ステップで、デジタルアイデンティティＩｉに対応する秘密Ｓを検索する。第２ステップで、ユーザが実行したのと同様にして、秘密Ｓおよび一意的サービス識別子ＩＳＲに暗号化アルゴリズムＨを適用することによって値ｐバーを計算する。第３ステップで、値ｐバーおよびλに暗号化アルゴリズムＨを適用することによって第１の確認値ｖ１を計算する。この場合もλは、１と限度ｌｉｍＳＲとの間の値である。計算はλ＝１から開始してもよく、λの値は、正しい第１の確認値ｖ１が見つかるまで、または限度ｌｉｍＳＲに到達するまで、順次増大させてもよい。
【００２５】
好ましい実施形態によれば、第三者エンティティは、正しい第１の確認値ｖ１が見つからなかった場合に失敗メッセージを提供し、正しい第１の確認値ｖ１が見つかった場合に成功メッセージを提供する。再構成の結果に応じて、サービスプロバイダは、ユーザのサービス要求の処理に関する相異なる決定を行うことができる。例えば、サービスプロバイダは、第三者エンティティから失敗メッセージを受信した場合、サービス要求を拒否するものとしてもよい。他方、第三者エンティティから成功メッセージを受信した場合には、サービスへのユーザアクセスを自動的に許可しないことが好ましい。有利な態様としては、この場合、サービスプロバイダにおいてさらなるチェックが実行される。この目的のため、サービスプロバイダＳＰは、確認値ｖ１のリストＶＳＲ、すなわち、ユーザから受信したすべての第１の確認値ｖ１が保存されるリストを保持する。サービスプロバイダは、第三者エンティティから成功メッセージを受信すると、対応する第１の確認値ｖ１が自己のリストＶＳＲにすでに含まれているかどうかをチェックしてもよい。含まれている場合、これは、ユーザが許容されているよりも多くの回数、サービスにアクセスしようとしている強力な証拠と解釈することができ、サービスプロバイダは要求を拒否してもよい。含まれていない場合、サービスプロバイダは、ユーザアクセスを許可し、受信した第１の確認値ｖ１をリストＶＳＲに追加してもよい。
【００２６】
サービスプロバイダが、ユーザによって使用されたデジタルアイデンティティＩｉを第三者エンティティに転送する場合、ユーザのプライバシーをさらに強化するための第２の確認値ｖ２を導入してもよい。すなわち、ユーザは、値ｐ、デジタルアイデンティティＩｉ、および第１の確認値ｖ１に暗号化アルゴリズムＨを適用することによって第２の確認値ｖ２を計算する。上記ですでに説明したように、これら３つの値をまず連接してから、連接された値に暗号化アルゴリズムＨを適用してもよい。この場合も、第２の確認値ｖ２は、ユーザＵによって直接にサービスプロバイダに転送されてもよい。その後、サービスプロバイダが、第三者エンティティに第２の確認値ｖ２を提供してもよい。
【００２７】
正しい第１の確認値ｖ１を見つけることによって、（ユーザのサービス要求のために使用されたデジタルアイデンティティＩｉに割り当てられた）カウンタ値ｋｉ，ＳＲの再構成に成功した後、第三者エンティティは、ユーザＵが実行したのと同様にして、前記値ｐバー、前記デジタルアイデンティティＩｉ、および前記第１の確認値ｖ１に暗号化アルゴリズムＨを適用することを開始して、第２の確認値ｖ２を再構成するものとしてもよい。
【００２８】
好ましい実施形態によれば、第三者エンティティは、正しい第２の確認値ｖ２が再構成できた場合に成功メッセージを提供する。他方、再構成に失敗した場合、失敗メッセージが第三者エンティティによって提供されてもよい。なお、第２の確認値ｖ２に対する再構成失敗（第１の確認値ｖ１は正しく再構成されている）は、値ｖ１と値ｖ２が一致せず、サービスプロバイダが第三者エンティティにおいて要求を操作したことを意味する。例えば、サービスプロバイダは、あるサービス要求で受信したデジタルアイデンティティＩｉを、別のサービス要求で受信した第１の確認値ｖ１と併合して、両方のサービス要求が同一ユーザによって発信されたかどうかを確認しようとした場合が考えられる。第三者エンティティにおいて値ｖ１に加えて値ｖ２をチェックすることにより、アプリケーションによっては許容されない場合があるこの種の濫用を認識することができ、サービスプロバイダに失敗メッセージを提供することによって、その濫用を無効化することができる。
【００２９】
好ましい実施形態によれば、第三者エンティティは、プロトコルの期間中にオンラインとなる。その結果、ユーザが限度を超過することを実際に防止することが可能となる。従来のシステムには、ユーザが限度を超過したことを事後に、すなわち、サービスプロビジョニングの後に検出するだけのものがある。しかし、第三者エンティティが常時オンラインであることを要求しないアプリケーションもあり、状況によっては、第三者エンティティは定期的にオンラインになればよいかもしれない。特に、サービスプロバイダは、ユーザが限度を超過することを防止することは必要でなく、代わりに、定期的な間隔で、重複アカウント（あるいは、より一般的には、限度を超過したアカウント）をデータベースから「清掃」すればよい場合がある。この場合、サービスプロバイダは、ユーザから受信する第１および第２の確認値ｖ１、ｖ２を保持し、定期的な間隔で、第三者エンティティの助けを借りて、アカウントを検証することができる。
【００３０】
好ましい実施形態によれば、限度ｌｉｍＳＲは、サービスプロバイダＳＲ自身によって、または任意の外部インスタンスによって、事前に設定される。例えば、電子投票アプリケーションの場合、限度ｌｉｍＳＲは、信頼できる機関によって指定されると有益である。別の好ましい実施形態によれば、限度ｌｉｍＳＲは、例えばサービスパラメータに応じて、動的に変更されてもよい。
【００３１】
本発明を好適な態様で実施するにはいくつもの可能性がある。このためには、一方で請求項１に従属する諸請求項を参照しつつ、他方で図面により例示された本発明の好ましい実施形態についての以下の説明を参照されたい。図面を用いて本発明の好ましい実施形態を説明する際には、本発明の教示による好ましい実施形態一般およびその変形例について説明する。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施形態によるサービスアクセスの制限を可能にする方法の一実施態様の模式図である。
【図２】本発明の一実施形態による登録制限施行プロトコルの実装のために使用されるアルゴリズムの第１の実施形態を示す。
【図３】本発明の一実施形態による登録制限施行プロトコルの実装のために使用されるアルゴリズムの第２の実施形態を示す。
【図４】本発明の一実施形態による登録制限施行プロトコルの実装のために使用されるアルゴリズムの第３の実施形態を示す。
【発明を実施するための形態】
【００３３】
図１は、本発明によるサービスアクセスの制限を可能にする方法の基本原理を模式的に示している。図１は、サービスプロバイダＳＰがサービスＳＲを（場合によっては、その他のサービスのうちから）提供し、ユーザＵが、サービスＳＲを利用するためにサービスＳＲに登録しようとしている場面に関するものである。ユーザＵは、サービスＳＲの起動または登録に使用可能な複数のデジタルアイデンティティＩｉを所有している。
【００３４】
サービスＳＲにアクセスするため、ユーザＵは、第三者エンティティにアカウントを有することを要求される。説明する具体例においては、第三者エンティティを登録認定機関ＲＡと称する。ユーザＵは、自己のデジタルアイデンティティＩｉを登録認定機関ＲＡのアカウントに登録し、ＲＡと秘密Ｓを取り決める。図１において、登録認定機関ＲＡでユーザＵのアカウントを作成することは図示していないが、アカウントは、サービスプロバイダＳＰでのユーザＵの最初の登録要求の前段階にすでに作成されているものとする。
【００３５】
登録認定機関ＲＡは、ユーザＵが単一のアカウントのみを有し得ること、または、ユーザＵが少なくとも非常に限定された個数のアカウントのみを所有することを保証する。単一のアカウントのみの許可は、ユーザＵに対して、登録認定機関ＲＡでのアカウント作成時に、何らかの一意的な生体識別を提示するように要求することによって、実現してもよい。
【００３６】
ユーザＵの登録要求後、サービスプロバイダＳＰは、本発明によるサービスアクセスの制限を可能にする方法の実行を開始する。すなわち、サービスプロバイダＳＰは、ユーザＵとのプロトコルをトリガする。これを以下では「登録制限施行プロトコル」と称し、後で図２、図３および図４を参照してさらに詳細に説明する。図１では、登録制限施行プロトコルは点線で示されている。基本的には、説明する特定実施形態において、このプロトコルは、ユーザＵがサービスプロバイダＳＰにメッセージを送信し、サービスプロバイダＳＰが登録認定機関ＲＡとの間で１回のメッセージ交換を行うことを含む。
【００３７】
最後に、プロトコルの結果に応じて、サービスプロバイダＳＰは、要求されたサービスへのアクセスをユーザＵに許可するか（成功）、または、サービスプロバイダＳＰは、アクセスを拒否する（失敗）ことができる。ユーザが最大許容回数（これは、サービスプロバイダＳＰのポリシーに基づいて指定してもよい）すでにアクセスを許可されていることがわかった場合、サービスプロバイダＳＰはアクセスを拒否する。
【００３８】
図２は、登録制限施行プロトコルの第１の実施形態をさらに詳細に示している。この場合も、ユーザＵはｎ個の相異なるデジタルアイデンティティを所有すると仮定し、それらをＩｉ（ｉ＝１, ..., ｎ、ｎ∈Ｎ）で表す。また、サービスプロバイダＳＰは、ユーザＵが登録したいと考えるサービスＳＲを提供すると仮定する。ここで、サービスプロバイダＳＰは、ユーザがサービスＳＲの起動または登録を行う場合に用いる相異なるデジタルアイデンティティＩｉの個数に関して、サービスＳＲに限度ｌｉｍＳＲを課する。また、ユーザＵは、登録認定機関ＲＡにおいて秘密Ｓによるアカウントをすでに有しているとともに、ユーザＵは、自己のデジタルアイデンティティＩｉを自己のＲＡアカウントに登録していると仮定する。その結果、登録認定機関ＲＡは、ユーザＵのデジタルアイデンティティＩｉからユーザの「実アイデンティティ」へ、または少なくとも取り決められた秘密Ｓへのマッピングが可能となる。
【００３９】
プロトコルを開始する前に、ユーザＵは、サービスＳＲの登録を試みる際に用いるそれぞれの相異なるアイデンティティに、一意的なカウンタ値を割り当てなければならない。それらのカウンタ値をｋｉ，ＳＲで表す。ユーザＵは、どのアイデンティティでサービスＳＲの登録を試みたかを把握しておかなければならない。例えば、ユーザＵは、デジタルアイデンティティ｛Ｉ１，Ｉ２，Ｉ３，Ｉ４，Ｉ５｝を有するとする。ユーザＵがサービスＳＲに登録する際に、最初にＩ２を用い、次にＩ４を用い、次にＩ１を用いた場合、カウンタ値ｋｉ，ＳＲは、ｋ２，ＳＲ＝１、ｋ４，ＳＲ＝２、およびｋ１，ＳＲ＝３という値をとると考えられる。ユーザＵ（あるいはより正確には、サービスＳＲにアクセスするために用いられるユーザＵの装置）は、これらのカウンタ値を記憶している必要がある。すなわち、ユーザＵは、将来再びサービスＳＲの登録（または起動）をしようとする場合、プロトコルにおいて同一カウンタ値を使用しなければならない。
【００４０】
ユーザＵが、特定のデジタルアイデンティティＩｉを用いて、サービスＳＲに対する登録要求をサービスプロバイダＳＰに送信するとき、ユーザＵとサービスプロバイダＳＰは、制限施行プロトコルを開始する前に、相互に自己を認証することが推奨される。認証メカニズムは、一意的サービス識別子ＩＳＲおよび使用されるデジタルアイデンティティＩｉに結びつけられるのが好ましい。すなわち、ユーザＵはサービス識別子ＩＳＲを認証し、サービスプロバイダＳＰはデジタルアイデンティティＩｉを認証することが推奨される。
【００４１】
また、サービスプロバイダＳＰと登録認定機関ＲＡは、制限施行プロトコルのメッセージを交換する前に、相互に相手を認証することが推奨される。特に、登録認定機関ＲＡは、サービス識別子ＩＳＲによって識別されるサービスを提供しているサービスプロバイダＳＰと実際に通信していることを保証することが推奨される。
【００４２】
制限施行プロトコルが開始されると、まず、ユーザが、秘密Ｓおよび一意的サービス識別子ＩＳＲに暗号化アルゴリズムＨを適用することによって値ｐを計算する。この目的のため、まず、秘密Ｓと識別子ＩＳＲを連接してから、その連接された結果にＨを適用する。図２に示す具体例では、暗号化アルゴリズムＨはハッシュ関数である。その後、ユーザＵは、値ｐおよびサービス要求のために用いられたデジタルアイデンティティＩｉに割り当てられたカウンタ値ｋｉ，ＳＲに暗号化アルゴリズムＨを適用することによって確認値ｖ１を計算する。この場合も、まず両方のパラメータを連接して、連接された結果にＨを適用する。
【００４３】
ユーザＵは、登録要求とともに、または別個のメッセージで、例えば相互認証後に、確認値ｖ１をサービスプロバイダＳＰに転送する。するとサービスプロバイダＳＰは、確認値ｖ１と、オプションとして（角括弧で示されているように）一意的サービス識別子ＩＳＲとを、登録認定機関ＲＡに提供する。一意的サービス識別子ＩＳＲは、例えば、登録認定機関ＲＡに対するサービスプロバイダＳＰの認証では、プロトコル実行がどの特定のサービスＳＲを目的としているかが明らかでない場合に送信される。
【００４４】
確認値ｖ１を受信した後、登録認定機関ＲＡにおけるユーザＵのサービス要求のために使用されたデジタルアイデンティティＩｉに割り当てられたカウンタ値ｋｉ，ＳＲの再構成は、次の４ステップを含み得る。
【００４５】
１）登録認定機関ＲＡは、登録認定機関ＲＡにおけるアカウントを有する全ユーザの秘密が保存されているリストＶＳから秘密Ｖｎを選択する。
【００４６】
２）登録認定機関ＲＡは、ユーザＵが前に実行したのと同様にして、選択した秘密Ｓｎおよび一意的サービス識別子ＩＳＲに暗号化アルゴリズムＨを適用することによって値ｐｎバーを計算する。この場合、ユーザＵおよび登録認定機関ＲＡは、どの特定のアルゴリズムＨが適用されるべきか、および、アルゴリズムの適用方法（すなわち、パラメータの入力方法）について知っているものと仮定する。例えば、ユーザＵには、登録認定機関ＲＡで自己のアカウントを作成する際に、対応する情報が提供されることが可能である。
【００４７】
３）登録認定機関ＲＡは、ユーザＵが前に実行したのと同様にして、値ｐｎバーおよび値λに暗号化アルゴリズムＨを適用することによって確認値ｖ１を再構成することを試みる。ここでλは、１と、サービスＳＲに対して設定された限度ｌｉｍＳＲとの間の値である。登録認定機関ＲＡは、λ＝１から計算を開始し、正しい確認値ｖ１が見つかるまで、または限度ｌｉｍＳＲに到達するまで、λの値を順次増大させる。
【００４８】
４）登録認定機関ＲＡが、確認値ｖ１を正しく再構成することに失敗した場合、リストＶＳから別の秘密Ｓｎを取り出して、１）から３）までのステップを繰り返し実行する。
【００４９】
再構成計算を終了した後、登録認定機関ＲＡは、正しい第１の確認値ｖ１が見つからなかった場合に失敗メッセージを提供し、ｖ１が見つかった場合に成功メッセージを提供する。確認値ｖ１の再構成の失敗は、ユーザが使用したデジタルアイデンティティＩｉに対応するカウンタ値ｋｉ，ＳＲが、サービスＳＲに対して指定された限度ｌｉｍＳＲを超過して、デジタルアイデンティティＩｉは許容できないことを意味する。そこで、失敗メッセージを受信すると、サービスプロバイダＳＰは、ユーザＵの登録を中断し、アクセスを拒否する。
【００５０】
サービスプロバイダＳＰは、登録目的で前にすでに使用された確認値ｖ１のリストＶＳＲを保持する。登録認定機関ＲＡから成功メッセージを受信した場合、サービスプロバイダＳＰは、確認値ｖ１がすでにリストＶＳＲの要素であるかどうかをチェックする。値ｖ１がまだリストＶＳＲに含まれていない場合、サービスプロバイダＳＰは、値ｖ１をリストＶＳＲに追加する。他方、確認値ｖ１がすでにＶＳＲに入っている場合、サービスプロバイダＳＰは、ユーザＵが、対応するデジタルアイデンティティですでにサービスＳＲに登録していることを知る。その結果、サービスプロバイダＳＰは、ユーザＵの登録要求を拒否する。
【００５１】
なお、図２に関連して説明したプロトコルを、ｋ回使用匿名クレデンシャルのためのメカニズムとして使用可能である。この場合、秘密Ｓは、上記のように準反復的に登録認定機関ＲＡで導出してもよい。別法として、正しいＳを取得するための他の任意のメカニズムが使用可能である。
【００５２】
図３は、登録制限施行プロトコルの第２の実施形態を示している。このプロトコルは、図２に示した実施形態に関して説明したプロトコルとよく似ている。同じ要素および同じパラメータは同一参照符号で表している。以下では、図２の実施形態との相違点を中心に説明する。
【００５３】
図３の実施形態によれば、サービスプロバイダＳＰは、より多くの情報を登録認定機関ＲＡに提供する。すなわち、確認値ｖ１に加えて、サービスプロバイダＳＰは、ユーザＵのサービス要求に関してユーザＵによって使用されたデジタルアイデンティティＩｉを登録認定機関ＲＡに転送する。この補助情報を提供することにより、登録認定機関ＲＡ側の計算量が大幅に低減される。ユーザに対して登録認定機関ＲＡに登録されたデジタルアイデンティティＩｉと、取り決められた秘密Ｓとの間のマッピングにより、登録認定機関ＲＡは、正しい秘密Ｓを直接に導出することができる。すなわち、登録認定機関ＲＡは、秘密Ｓを見つけるために、デジタルアイデンティティＩｉをインデックスとして使用する。その結果、（ユーザのサービス要求のために使用されたデジタルアイデンティティＩｉに割り当てられた）カウンタ値ｋｉ，ＳＲを再構成するための計算は、１つの特定の秘密について実行するだけでよい。詳細には、登録認定機関ＲＡは以下のステップを実行する。
【００５４】
１）登録認定機関ＲＡは、ユーザＵのデジタルアイデンティティＩｉに対応する秘密Ｓを検索する。
【００５５】
２）登録認定機関ＲＡは、ユーザＵが前に実行したのと同様にして、秘密Ｓおよび一意的サービス識別子ＩＳＲに暗号化アルゴリズムＨを適用することによって値ｐバーを計算する。
【００５６】
３）登録認定機関ＲＡは、ユーザＵが前に実行したのと同様にして、値ｐバーおよび値λに暗号化アルゴリズムＨを適用することによって確認値ｖ１を再構成することを試みる。ここでλは、１と、サービスＳＲに対して設定された限度ｌｉｍＳＲとの間の値である。登録認定機関ＲＡは、λ＝１から計算を開始し、正しい確認値ｖ１が見つかるまで、または限度ｌｉｍＳＲに到達するまで、λの値を順次増大させる。
【００５７】
図３によるプロトコルは、登録認定機関ＲＡ側での計算が、監視なしにサービスプロバイダから受信された２つのパラメータ、すなわち、確認値ｖ１およびデジタルアイデンティティＩｉに基づいているという点で、セキュリティの低下を伴う。サービスプロバイダＳＰがプロトコルを濫用しようとすることも起こり得る。例えば、サービスプロバイダＳＰは、あるサービス要求で受信したデジタルアイデンティティＩｉを、別のサービス要求で受信した第１の確認値ｖ１と組み合わせて、両方のサービス要求が同一ユーザによって発信されたかどうかを確認しようとする場合が考えられる。このような情報は、ユーザＵのプライバシーを脅かす。
【００５８】
図４は、図３に関して説明したプロトコルを拡張したプロトコルの実施形態を示している。このプロトコルは、上記のプライバシーの脅威を除去する。本実施形態では、ユーザＵは、値ｐ、デジタルアイデンティティＩｉ、および第１の確認値ｖ１に暗号化アルゴリズムＨを適用することによって第２の確認値ｖ２を計算する。その後、ユーザＵは、第２の確認値ｖ２を第１の確認値ｖ１とともにサービスプロバイダＳＰに転送する。その後、サービスプロバイダＳＰは、第２の確認値ｖ２を第１の確認値ｖ１およびデジタルアイデンティティＩｉ（さらにオプションとして一意的サービス識別子ＩＳＲ）とともに、登録認定機関ＲＡに提供する。
【００５９】
登録認定機関ＲＡにおいて、（当該カウンタ値ｋｉ，ＳＲの有効性の判断に対応する）第１の確認値ｖ１を再構成することに成功した後、ユーザＵが前に実行したのと同様にして、再構成された値ｐバー、受信したデジタルアイデンティティＩｉ、および受信した第１の確認値ｖ１に暗号化アルゴリズムＨを適用することによって第２の確認値ｖ２を計算する。登録認定機関ＲＡにおいて、値ｖ１に加えて値ｖ２をチェックすることにより、サービスプロバイダＳＰによるプロトコルの上記の濫用が明らかとなる。正しい第２の確認値ｖ２が見つからなかった場合に、サービスプロバイダＳＰに失敗メッセージを提供することによって、登録認定機関ＲＡは、サービスプロバイダＳＰの濫用を無効化できる。これに対して、正しい第２の確認値ｖ２が見つかった場合、すなわち、第１の確認値ｖ１およびデジタルアイデンティティＩｉが適合した場合には、登録認定機関ＲＡは成功メッセージを提供する。
【００６０】
上記の説明および添付図面の記載に基づいて、当業者は本発明の多くの変形例および他の実施形態に想到し得るであろう。したがって、本発明は、開示した具体的実施形態に限定されるものではなく、変形例および他の実施形態も、添付の特許請求の範囲内に含まれるものと解すべきである。本明細書では特定の用語を用いているが、それらは総称的・説明的意味でのみ用いられており、限定を目的としたものではない。
【図１】
0005275468.tif 000002
【図２】
0005275468.tif 000003
【図３】
0005275468.tif 000004
【図４】
0005275468.tif 000005