説明

匿名認証方法

本発明は、各々が、特定されるべきクライアントエンティティ(Ai)と関連付けられる、いくつかの秘密鍵(KAi)を有する認証エンティティ(B)による、クライアントエンティティ(A)の認証方法に関する。本発明の方法は、認証要求の後に、認証エンティティ(B)からクライアントエンティティ(A)に認証カウンタ値(CB)を送信するステップと、クライアントエンティティの側において、受信されたカウンタ値が、クライアントエンティティに記憶されるカウンタ値(CA)より厳密に大きいことを検証するステップと、クライアントエンティティの側において、カウンタ署名(S(K,CB))を算出し、それを認証エンティティに伝送するステップと、クライアントエンティティによって記憶されるカウンタ値(CA)を認証カウンタ値(CB)に更新するステップと、認証エンティティ(B)の側において、対応するカウンタ署名(S(KAi,CB))が受信されたカウンタ署名(S(K,CB))に一致する、特定されるべきクライアントエンティティ(Ai)を探すステップと、認証カウンタ(COMPTB)を増加させるステップとを有する。


【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、認証されている(被認証中の)ユーザの匿名性が要求されるときに、このユーザに、リソースにアクセスする権限を与えるか否かという点を考慮した、秘密鍵による、少なくとも1人のユーザの認証方法に関する。
【背景技術】
【0002】
本明細書において、リソースの範囲は、非常に広いものとして使用されなければならない。一般に、リソースの範囲は、ユーザがアクセス可能であり、そのアクセスは、認証処理を完了したときに与えられる、先の認証によって条件付けられた、いかなる機能、アプリケーション、サービス、及びデータのセットをも示す。非限定的な例として、リソースは、特定のサーバによって提供されるサービス、ネットワークへのアクセス機能、データベースのような情報リソース、又は、サーバ上で利用でき、複数のユーザによって共有されることができるソフトウェアアプリケーションであることができる。
【0003】
一般に、認証は、認証エンティティによって実行されるセキュリティサービスである。認証の目的は、特定されることを希望するユーザのアイデンティティ(身元)を確認し、このユーザが対象のリソースにアクセスすることが正当であることの証明を持つことである。一般に、認証エンティティは、認証プロセスを集中して行い、且つ、通信ネットワークを介して、リソースへのアクセスのために認証されること(被認証)を希望するユーザによってアクセス可能な、いかなる機器、装置、又はコンピュータシステムをも意味する。
【0004】
通常、認証プロセスを起動させることを希望するユーザは、ユーザに認証エンティティとの通信を可能にする、クライアントエンティティを持っている。本明細書におけるクライアントエンティティは、認証エンティティとデータのやりとりをするいかなる電子システム又は電子機器をも意味し、非接触式であることが好ましい。
【0005】
従来技術によると、秘密鍵による認証は、図1に示されるような連続する以下の段階を、本質的な特徴としている。したがって、クライアントエンティティAが認証エンティティBによる認証を受けることを希望するときに、クライアントエンティティAは、最初に、自身のアイデンティティを自身に固有の静的識別子の形式で、認証エンティティBに与え、その後、エンティティAとエンティティBのみによって知られ、共有される秘密鍵Kを用いて、アイデンティティを証明する。
【0006】
これを行うため、認証エンティティBがアイデンティティを有するクライアントエンティティAによって送信された認証要求を受信したとき、前記認証エンティティは、最初にハザード(hazard)と称される又はチャレンジと称される乱数を生成し、このハザードをクライアントエンティティAに送信する。これに応答して、クライアントエンティティは、受信されたハザードを、DES(英語Data Encryption Standardの頭文字)アルゴリズムのような、秘密鍵を用いた、予め定義された暗号化アルゴリズムに従って、デジタル化又は符号化する。その後、エンティティAは、値C(K,ハザード)を認証エンティティBに送り返す。ここで、Cは、暗号関数である。
【0007】
エンティティBは、エンティティBの側において、暗号関数Cと、エンティティAの秘密鍵Kとを用いることによって、同じ計算を行い、得られた結果を、エンティティAによってエンティティBに送り返された値と比較する。予測された結果と送り返された値Aとが一致する場合は、認証エンティティBは、認証を有効とする。このことは、エンティティAが認証に成功したことを意味する。例えば、認証されたクライアントAのために予定されている認証エンティティを経由して、リソースへのアクセス権を送信することによって、認証の確認が移動する。
【発明の開示】
【発明が解決しようとする課題】
【0008】
このような秘密鍵を用いた認証方法は通信ネットワークを通じて広く普及しているが、認証を受けることを希望するクライアントエンティティの匿名性の保護に関して、未だいくつかの問題点がある。
【0009】
実際、認証方法を初期設定するために、クライアントエンティティの固有の識別子は、必ず平文で認証エンティティに伝送される。したがって、悪意ある第三者は、認証エンティティと、被認証中のエンティティとの間の処理を観察することによって、被認証中のエンティティの固有の識別子を知ることができる。
【0010】
また、認証を受けることを希望するエンティティの固有の識別子は、このとき積極的に行動する、すなわち、被認証中のエンティティに向かい合う認証エンティティとみなされることにより認証プロセスを初期設定する、悪意ある第三者によって、同様に推測され得る。
【0011】
被認証中のエンティティは、そのエンティティの挙動の観察、特に、以前の認証プロセスの途中でそのエンティティによって提供された応答の観察によっても認識され得る。
【0012】
実際に、被認証中のエンティティによって提供された応答は、それら応答が認証エンティティによって決められたハザードに対応する、ある入力の特性を示す。同じ入力に対しては、被認証中のエンティティは、常に同じ応答を出力する。ハザードの性質を示す値に対するエンティティの応答の事前観察において、エンティティからの応答がすでに観察された、これらハザード値のうちの1つを再度送信することによって、被認証中のエンティティを認識することが可能である。従って、ハザードに署名する、認証を受けるエンティティは、特定のハザード値(例えば、0、10、100、1000、…など)に対するその応答によって、特徴付けられる。同じハザードを持つ2つの連続した識別子を観察することによって、これらの被認証中のエンティティが、2つの異なるエンティティであるのか、同じエンティティであるのかを判断することが可能である。
【0013】
本発明の目的は、秘密鍵を用いた暗号化アルゴリズムに基づく認証方法であって、その認証方法において、被認証中のエンティティの匿名性が保証され、それによって唯一の正当な認証エンティティのみが被認証中のエンティティのアイデンティティを認識することができる認証方法を提案することによって、上記問題点を解決することである。
【課題を解決するための手段】
【0014】
このような目的によって、本発明は、認証エンティティによる、少なくとも1つのクライアントエンティティの認証方法であって、
前記認証エンティティは、1組の秘密鍵を有し、
前記秘密鍵の各々は、前記認証エンティティによって特定されることができるクライアントエンティティに関連付けられ、
a. 匿名認証要求を、前記クライアントエンティティの一部から前記認証エンティティに伝送するステップと、
b. 前記認証エンティティのカウンタの現在の状態に対応する認証カウンタ値を、前記認証エンティティから前記クライアントエンティティに送信するステップと、
c. 前記クライアントエンティティの側において、受信された前記認証カウンタ値が前記クライアントエンティティによって記憶されるカウンタ値より厳密に大きいことを検証するステップと、
d. 前記クライアントエンティティの側において、オペランドとして、前記認証カウンタ値と、前記クライアントエンティティに関連付けられた秘密鍵とを用い、前記クライアントエンティティ及び前記認証エンティティによって共有される暗号関数を適用することによって、カウンタ署名を算出するステップと、
e. 前記カウンタ署名を前記認証エンティティに伝送するステップと、
f. 前記クライアントエンティティによって記憶される前記カウンタ値を、前記認証カウンタ値に更新するステップと、
g. 前記認証エンティティの側において、前記認証カウンタ値のための対応するカウンタ署名が、受信された前記カウンタ署名と一致する、少なくとも1つの特定されることができるクライアントエンティティをサーチするステップと、
h. 前記認証カウンタを増加させるステップと
を有する。
【0015】
ステップbからhまでは、特定された前記クライアントエンティティが、各繰り返しにおいて、同一であることを保証するように、少なくとも1回繰り返されることが望ましい。
【0016】
特別の実施形態によれば、前記サーチするステップは、
i. 前記カウンタ値について、特定されることができるクライアントエンティティ及び対応するカウンタ署名の対のリストを編集するために、特定されることができるクライアントエンティティの各々について、オペランドとして、前記認証カウンタ値と、関連付けられた秘密鍵とを用い、前記暗号関数を適用することによって、前記対応するカウンタ署名を算出するステップと、
j. 受信された前記カウンタ署名と、前記リストの少なくとも1つのカウンタ署名との間の一致を検証するステップと
を有する。
【0017】
前記認証エンティティの側において、所定の認証カウンタ値について編集された、特定されることができるクライアントエンティティ及び対応するカウンタ署名の対のリストが、前記カウンタ署名の値にしたがって、順序付けられることが望ましい。
【0018】
本実施形態によれば、受信された前記カウンタ署名と、複数の対の前記カウンタ署名とが一致する場合に、前記カウンタ署名が、受信された前記カウンタ署名と一致する1つの対が得られるまで、ステップbからhまでが繰り返される。
【0019】
ステップiの繰り返し中に、前記カウンタ署名は、先行する繰り返しにおいて求められた前記複数の対に対応するクライアントエンティティに対してのみ、計算される。
【0020】
変形例において、本発明の方法は、ステップaにおけるクライアントエンティティからの認証要求に関連する前記ステップiを前もって実行するステップを有し、
前記前もって実行されたステップiは、
前記認証エンティティの側において、将来の認証カウンタ値の少なくとも1つについて、特定されることができるクライアントエンティティ及び対応するカウンタ署名の対のリストを、前記将来の認証カウンタ値の各々について、予め生成するステップと、
前記認証エンティティの側において、前記予め生成されたリストを記憶するステップと
を含み、
前記認証エンティティから前記クライアントエンティティへの認証カウンタ値のいかなる送信も、特定されることができるクライアントエンティティ及び対応するカウンタ署名の対のリストが予め既に生成された、認証カウンタ値の送信に相当する。
【0021】
ステップhは、前記認証カウンタを一定の割合で増加させるステップを有することが望ましい。
【0022】
変形例において、ステップhは、前記認証カウンタをランダムな割合で増加させるステップを有することが望ましい。
【0023】
特別な実施形態によれば、ステップbは、認証要求に応じて、前記認証エンティティの側において、前記認証カウンタ値に加え、前記認証カウンタ値に関連付けられたランダム値を送信するステップを有し、
送信された前記認証カウンタ値の各々について、前記ランダム値は異なり、
前記方法の期間中に実行されるカウンタ署名の各々のステップは、オペランドとして前記関連付けられたランダム値をさらに有する前記暗号関数を適用することを含む、前記認証カウンタ値及び関連付けられたランダム値の対の署名ステップによって置き換えられる。
【0024】
変形例によれば、ステップcは、前記受信された認証カウンタ値と前記クライアントエンティティによって記憶される前記カウンタ値の差が、所定の値以下であることを検証するステップをさらに有する。
【0025】
変形例において、前記ステップcが検証されない場合には、以下の中間ステップが実行され、この中間ステップは、
前記クライアントエンティティによって記憶される前記カウンタ値を、前記クライアントエンティティから前記認証エンティティに送信するステップと、
前記クライアントエンティティによって記憶される前記カウンタ値より大きい一時認証カウンタ値を、前記認証エンティティから前記クライアントエンティティに送信するステップと、その後、
前記一時認証カウンタ値に基づいて、ステップdからgまでを実行するステップと、
前記クライアントエンティティの認証が成功した場合には、
前記認証エンティティの前記カウンタの前記現在の状態に対応する前記認証カウンタ値を、前記一時認証カウンタ値に更新し、そしてステップhを実行するステップと
を有する。
【0026】
ステップeは、前記認証エンティティに、さらに前記認証カウンタ値を伝送するステップを有することが好ましい。
【0027】
前記認証カウンタ値は、少なくとも128ビットで符号化されることが好ましい。
【0028】
本発明は、同様に、集積回路と、秘密鍵を記憶し、本発明の方法を実行する手段とを有することを特徴とするチップカードに関する。
【0029】
好ましくは、チップカードは、非接触式チップカードである。
【0030】
本発明は、また、本発明の方法を実行する手段が装備されたチップカード読取装置を有することを特徴とする、少なくとも1つのクライアントエンティティの認証エンティティに関する。
【0031】
認証エンティティは、非接触式チップカード読取装置を備えることが好ましい。
【発明を実施するための最良の形態】
【0032】
本発明の他の特徴及び利点は、例として且つ非限定的なものとして与えられる以下の説明から、及び、添付された図を参照して、より明瞭になる。添付された図において、
・図1は、技術の状態に基づく、秘密鍵による認証プロセスを示す概略図であり、既に説明されており、
・図2は、本発明による認証プロセスの主要な段階を示す概略図である。
【0033】
図2は、本発明による、認証エンティティBによる、秘密鍵を用いた、クライアントエンティティAの認証プロセスの主要な段階を示している。
【0034】
認証を受けることを希望するエンティティAは、それに固有の秘密鍵Kと、カウンタ値CAの記憶手段と、認証エンティティBによって共有される暗号署名関数Sとを有する。暗号署名関数Sは、カウンタ値に署名するように、以下の2つのオペランド、すなわち、秘密鍵とカウンタ値を用いて適用するために、備えられている。
【0035】
認証エンティティBは、その一部として、対(Ai,KAi)のリストを有する。Aiは、認証エンティティBによって認証されることが可能なn個のクライアントエンティティのうちの1つの名称である。KAiは、クライアントエンティティAiに関連付けられた、それに固有の秘密鍵である。
【0036】
認証エンティティはさらに、カウンタ値CBを出力するカウンタCOMPTBと、クライアントエンティティAにおいて実行されるものと同一の暗号関数Sとを有する。
【0037】
本発明による匿名認証プロセスの順序は、以下の通りである。第1段階において、クライアントエンティティAが認証エンティティBによる認証を受けることを希望する場合に、匿名認証要求「認証要求(DemandeAuthentication)」の伝送によって、そのことが認証エンティティBに通知される。応答して、第2段階において、認証エンティティBは、クライアントエンティティAに、そのカウンタCOMPTBの現在の状態に対応するカウンタ値CBを送信する。
【0038】
第3段階において、クライアントエンティティAは、受信されたカウンタ値CBと、クライアントエンティティAによって記憶されるカウンタ値CAとを比較する。この段階において、クライアントエンティティAには、2つの可能性がある。
【0039】
一つの可能性は、CA≧CBの場合である。この状況は、あるエンティティがクライアントエンティティAに対する署名を再度行おうとしていることを示しているので、クライアントエンティティAは、それ以上何も実行しない。本発明の特徴によれば、クライアントエンティティAの挙動によって認識されないようにするために、クライアントエンティティは、決して同じデータに2回署名をしない。
【0040】
したがって、この状況は、認証方法を終了させる。
【0041】
また、他の可能性は、CA<CBの場合である。この状況においては、クライアントエンティティAは、認証エンティティBを信頼することができる。なぜなら、受信されたカウンタ値CBは、クライアントエンティティAによって記憶されるカウンタ値よりも厳密に大きく、このことは、このカウンタ値CBは、署名のために送信されたことがないことを意味しているからである。その後、このプロセスは次の段階に進む。
【0042】
第4段階において、クライアントエンティティAは、オペランドとして、クライアントエンティティAと関連付けられた秘密鍵Kと、カウンタ値CBとを用いた、暗号関数Sの適用によって、受信されたカウンタ値CBに署名する。このカウンタ署名S(K,CB)の動作の結果は、クライアントエンティティAから認証エンティティBに伝送される。その後、第5段階において、クライアントエンティティAは、自身に記憶されるカウンタ値CAを、認証エンティティBによってクライアントエンティティAに伝送された最新の正当なカウンタ値、すなわち、CBに更新する。
【0043】
第6段階において、認証エンティティBは、認証することが可能なn個のクライアントエンティティの中から、カウンタ値CBに対応する署名S(KAi,CB)が、認証を受けようとしているクライアントエンティティから受信されたカウンタ署名S(K,CB)と一致する、少なくとも1つのクライアントエンティティAiをサーチする。
【0044】
特定されることができるクライアントエンティティが見つからないならば、このことは、認証が失敗したことを意味する。逆に、サーチ段階の完了時に、S(K,CB)=S(KAi,CB)となる唯一のクライアントエンティティAiが見つけられたならば、認証エンティティBは、A=Aiであるとの結論を下す。このことは、認証エンティティBによって認証されようとしていたエンティティは、クライアントエンティティAiであり、この認証が成功したことを意味する。
【0045】
この認証方法を完了させる最後の第7段階において、認証エンティティBは、次の認証要求のために、カウンタ値CBを増加させる。
【0046】
不正を行おうとする者が、ランダムに抽出された数字を送信することによって、実在する値S(KAi,CB)を見つけ出し、そして、クライアントエンティティAiとみなされることは可能である。このリスクを回避するため、いつも同じクライアントエンティティを認識していることを保証するように、認証エンティティBは、認証プロセスを、計画的に少なくとも2回繰り返させることができる。このプロセスは、同じクライアントエンティティに対応する署名の値にN回偶然に出くわす十分に低い可能性が得られるまで、N回繰り返されることさえできる。
【0047】
また、この認証方法のさらなる最適化は、衝突(collision)のケースを管理することに関する。実際に、第6段階の終わりに、結果が衝突のケースになり得る。すなわち、認証エンティティBによって特定されそうな、カウンタ署名S(KAi,CB)が受信されたカウンタ署名S(K,CB)と一致する、数台のクライアントエンティティAiが見つけられた。暗号関数Sが2つの異なるデータについて同一の結果を出す、ゼロではない、僅かな可能性がある。この衝突の状況においては、S(KAi,CB)=S(K,CB)となる唯一の特定されることができるクライアントエンティティAiが得られるまで、第2段階からプロセスの段階を繰り返す必要があり、この繰り返しの度に、カウンタ値CBはインクリメントされる。
【0048】
第6段階は、認証エンティティティが、カウンタ値CBの対応するカウンタ署名S(KAi,CB)が、認証されようとしているクライアントエンティティから受信されたカウンタ署名S(K,CB)と一致する、認証エンティティティが認証することができるn個のクライアントエンティティの中から、少なくとも1つのクライアントエンティティAiをサーチする段階を含む。第6段階は、以下のように行われることができる。認証エンティティBは、現在のカウンタ値CBに対して、特定されることができるクライアントエンティティ及び対応するカウンタ署名の対(Ai,S(KAi,CB))のリストを生成するように、特定されることができるクライアントエンティティAiの各々について、オペランドとして、認証カウンタ値CBと、KAiに関連付けられた秘密鍵とを用いて、暗号関数Sを適用することによって、対応するカウンタ署名S(KAi,CB)を算出する。
【0049】
一旦このリストが編集されると、認証エンティティは、S(KAi,CB)=S(K,CB)を検証する、特定されることができる少なくとも1つのクライアントエンティティAiがあるかどうかを検証するため、このリストを調べる。
【0050】
いくつかの対(Ai,S(KAi,CB))が一致する場合、カウンタ値CBの送信及び署名動作を繰り返すことが明らかに必要であった。それにもかかわらず、この繰り返しは、一致するいくつかの対(Ai,S(KAi,CB))が存在するという結論に達することさえできる。この場合、先の繰り返しにおいてすでに選択された対のうち、可能性のある対に対してのみサーチが行われる。
【0051】
したがって、繰り返しの各々において、先の繰り返しの際に選択された対(Ai,S(KAi,CB))に対応するクライアントエンティティAiに対してのみ、カウンタ署名S(KAi,CB)が算出されるので、処理は、より早く唯一のクライアントエンティティAiに集中されるであろう。
【0052】
第6段階において、特定されることができるクライアントエンティティAiの各々のため、対応するカウンタ署名S(KAi,CB)の、Bによる計算の段階は、現在のカウンタ値CBのための、特定されることができるクライアントエンティティ及び対応するカウンタ署名の対(Ai,S(KAi,CB))のリストを編集するために、非常に長くなることがあり、応答時間の点では痛手である。この問題を解決するために、本発明の変形例において、認証エンティティBは、将来の少なくとも1つの認証カウンタ値CBについて、将来のこれらの値CBについての対(Ai,S(KAi,CB))のリストを予め算出し、これらの結果を記憶する。したがって、あるクライアントエンティティが認証要求メッセージの送信によって認証を受けようとする場合、認証エンティティBはリスト(Ai,S(KAi,CB))がすでに編集された認証カウンタ値CBを送信することによって応答する。一般に、この実施形態によれば、BからAへの認証カウンタ値CBの送信は、リスト(Ai,S(KAi,CB))がすでに編集された、認証カウンタ値に対応するであろう。
【0053】
認証エンティティBによる検証段階は、S(KAi,CB)=S(K,CB)となる、リスト(Ai,S(KAi,CB))の少なくとも1つのクライアントエンティティAiの存在をサーチする段階を有する。シーケンシャルなサーチ、理論上はn個の要素を有するリストを用いるおよそn/2回のテストの場合は、認証エンティティBによる検証段階は、同様に、非常に長い時間がかかるかもしれない。また、この段階を最適化するために、得られた対(Ai,S(KAi,CB))のリストは、カウンタ署名の値S(KAi,CB)にしたがって、昇順(又は降順)に並べられることができる。この並べられたリストにおいて、カウンタ署名S(KAi,CB)がS(K,CB)に一致する対をサーチすることは、二分法サーチ(dichotomic search)によって行うことができる。この場合、サーチされるクライアントエンティティは、平均的には、非常に大きな時間ゲインを持つ、log(n)動作を実行した後に、見つけられる。
【0054】
カウンタ値CBは、各認証に固有であるので、認証セッション(認証期間)の識別子として用いられることができる。そのため、もしも数個のエンティティAiが認証エンティティBによって同時に認証を受けているならば、認証エンティティBは、この値によって、対話を区別することができる。認証を受けることを希望するクライアントエンティティは、署名の値S(K,CB)のほかに値CBを送り返せば十分である。
【0055】
認証カウンタ値CBを提供するカウンタCOMPTBは、一定の割合で増加することが望ましい。
【0056】
それでもやはり、カウンタ値CBが一定の割合で増加するという事実は、将来の認証中に用いられる認証カウンタ値を与えることがあり得る。このため、不正行為者は、幾つかのカウンタ値CBについての、あるエンティティAの幾つかの値S(K,CB)を要求し、最終的に、そのクライアントエンティティAから以前に得られた値を認証エンティティBに送り返すことによって、認証エンティティBによる認証を受けることを要求することができる。それゆえ、不正行為者は、Aとみなされることによって、認証を受けることができる。認証システムに対するこのような攻撃する2種類の防御が、利用できる。
【0057】
まず、第1の防御は、連続した値CBを、もはや用いないために、各認証において、ランダムな割合によってカウンタCOMPTBを増加させるステップを有する。この場合には、カウンタが停止に至らないように、カウンタは、大きな容量を持たなければならないであろう。
【0058】
他の防御は、認証を受けようとするクライアントエンティティAに対する簡単なカウンタ値CBにはもはや署名せず、対(CB,ハザード)に署名する。ここで、CBは、一定の割合でインクリメントし、ハザードは、ランダムな値をとる。このランダムな値は、送信された認証カウンタ値ごとに異なるように与えられる。変形例のいずれか一つにおける、認証プロセス中に用いられるカウンタ署名のための各段階は、オペランドとして前記関連付けられたランダム値を用いる暗号関数Sの適用をさらに含む、対(CB,ハザード)の署名段階によって置き換えられる。
【0059】
上記されたような認証プロセスは、各認証の時に、エンティティAとBがカウンタ値CBに同期するという事実によって、カウンタジャンプによる攻撃に対して脆弱である。したがって、悪意ある機械は、認証エンティティBにみなされることがあり得、そして、認証を受けることを希望するクライアントエンティティAに対し、認証エンティティBのカウンタCOMPTBの現在の値に対応する、有効な認証カウンタ値CBより遙かに大きいカウンタ値を送信することができる。エンティティAは、それ自身に記憶されているカウンタ値CAを、エンティティAに送られたこの大きな値に更新することによって、もはや認証要求に応答することができなくなる。なぜなら、認証エンティティBのカウンタ値CBは、第3段階のテストのせいで、この値CAを埋め合わせることができなくなったからである。
【0060】
また、もしも悪意ある機械が、自身に記憶されているカウンタ値CAを、この最大値に更新することによって、エンティティAに最大のカウンタ値を与えるならば、エンティティAはそれ以降、最終的に使用不能になる。
【0061】
これらの攻撃に対する防御は、より詳しくは、クライアントエンティティAが、受信されたカウンタ値CBを、クライアントエンティティAに記憶されるカウンタ値CAと比較する、この認証プロセスの第3段階に関する。
【0062】
本発明の変形例による、CA≧CBの場合には、以下の中間段階が採用される。
・エンティティAは、エンティティBに、自身が記憶しているカウンタ値CAが値CBよりも大きいことを示す信号を送り、そして、エンティティBにCAを送り返す。
・エンティティBは、エンティティAに、CAより大きい一時のカウンタ値CBを送信する。その後、認証プロセスのその他の段階は、一時の値CBに基づいて実行される。もしもエンティティAの認証が一時の値CBで成功した場合には、エンティティBは、自身のカウンタCOMPTBの現在の状況に対応する自身の認証カウンタ値CBを、認証カウンタ値の一時の値CBに更新する。最後に、カウンタの値は、次の認証のためにインクリメントされる。このプロセスにより、認証エンティティは、カウンタジャンプによる攻撃から守られる。実際に、そのカウンタを更新する前に、まずクライアントエンティティAを一時の値CBを用いて認証する。また、認証エンティティBがカウンタジャンプによる攻撃を受けた場合に、このプロセスは、クライアントエンティティAが、認証エンティティBのカウンタを、自身に記憶されるカウンタ値に一致させる。
【0063】
この段階において、エンティティBは、追加の保護対策を実行することもできる。例えば、Bは、クライアントエンティティ毎及び期間毎に、これらカウンタを一致させることを、ある台数のカウンタにのみ権限を与えるようにすることができる。また、Bは、これらの保護を、クライアントエンティティによって記憶されるカウンタ値CAと、認証カウンタ値CBとの差が、所定値よりも小さい合理的な期間内においてのみ許可するようにすることができる。
【0064】
他の変形例によれば、このプロセスの第3段階で、CA<CBの関係が検証された場合には、クライアントエンティティの側で、受信された認証カウンタ値CBと、クライアントエンティティによって記憶されるカウンタ値CAとの差が、所定値A以下である、すなわち、CB−CA≦Δであることも検証される。この追加の条件が検証された場合にのみ、エンティティAは、カウンタ値CBに署名することを容認する。この追加の条件により、認証されようとするクライアントエンティティAは、自身に記憶されているカウンタ値のある適度の増加のみを受け入れること、及び、自身が記憶しているカウンタ値よりも遙かに大きい認証カウンタ値を用いる勧誘を無視することによって、カウンタジャンプによって攻撃を制限することができる。
【0065】
ある実施形態によると、カウンタ値CA及びCBは、システムがカウンタCOMPTBの消耗(exhaustion)に至る前に、2128回の認証を可能にする、少なくとも128ビットで符号化された2進数であることができる。
【0066】
クライアントエンティティの側における、本発明によるプロセスの段階は、例えば、チップカード上、好ましくは非接触式チップカード上で実行される。本発明によるプロセスの段階を実行するためのチップカードは、実行される動作が単純(せいぜい、カウンタの署名)である限りは、小さな計算能力のみを必要とする。したがって、認証エンティティは、接触式又は非接触式のチップカード読取装置の形態で存在する。
【0067】
本発明のプロセスによれば、正当な認証エンティティのみが、認証されようとするクライアントエンティティのアイデンティティを認識できるという利点がある。認証されようとするクライアントエンティティAのアイデンティティは、認証エンティティBのみが知り、認証中は決して明らかにされない。また、クライアントエンティティAは、認証エンティティによって、どのような名前の元で特定されるかを、知らない。被認証中のエンティティは、実際に、明らかにされることができる静的アイデンティティを持っていない。
【0068】
一方、既に従った質問がある場合には、エンティティが認証されることを拒否することを保証することによって、悪意ある第三者は、エンティティを識別することができない。2つの連続する認証については、これらが、被認証中の2つの異なるエンティティであるのか、又は、同じエンティティであるのかを、知ることは可能ではない。したがって、匿名性は完全である。
【図面の簡単な説明】
【0069】
【図1】技術の状態に基づく、秘密鍵による認証プロセスを示す概略図である。
【図2】本発明による認証プロセスの主要な段階を示す概略図である。

【特許請求の範囲】
【請求項1】
認証エンティティ(B)による、少なくとも1つのクライアントエンティティ(A)の認証方法であって、
前記認証エンティティ(B)は、1組の秘密鍵(KAi)を有し、
前記秘密鍵の各々は、前記認証エンティティによって特定されることができるクライアントエンティティ(Ai)に関連付けられ、
a. 匿名認証要求(DemandeAuthentification)を、前記クライアントエンティティ(A)の一部から前記認証エンティティ(B)に伝送するステップと、
b. 前記認証エンティティ(B)のカウンタ(COMPTB)の現在の状態に対応する認証カウンタ値(CB)を、前記認証エンティティ(B)から前記クライアントエンティティ(A)に送信するステップと、
c. 前記クライアントエンティティ(A)の側において、受信された前記認証カウンタ値(CB)が前記クライアントエンティティ(A)によって記憶されるカウンタ値(CA)より厳密に大きいことを検証するステップと、
d. 前記クライアントエンティティ(A)の側において、オペランドとして、前記認証カウンタ値(CB)と、前記クライアントエンティティ(A)に関連付けられた秘密鍵(K)とを用い、前記クライアントエンティティ(A)及び前記認証エンティティ(B)によって共有される暗号関数(S)を適用することによって、カウンタ署名を算出するステップと、
e. 前記カウンタ署名(S(K,CB))を前記認証エンティティ(B)に伝送するステップと、
f. 前記クライアントエンティティ(A)によって記憶される前記カウンタ値(CA)を、前記認証カウンタ値(CB)に更新するステップと、
g. 前記認証エンティティ(B)の側において、前記認証カウンタ値(CB)のための対応するカウンタ署名(S(KAi,CB))が、受信された前記カウンタ署名(S(K,CB))と一致する、少なくとも1つの特定されることができるクライアントエンティティ(A)をサーチするステップと、
h. 前記認証カウンタ(COMPTB)を増加させるステップと
を有することを特徴とする認証方法。
【請求項2】
ステップbからhまでは、特定された前記クライアントエンティティが、各繰り返しにおいて同一であることを保証するように、少なくとも1回繰り返されることを特徴とする請求項1に記載の認証方法。
【請求項3】
前記サーチするステップは、
i. 前記カウンタ値(CB)について、特定されることができるクライアントエンティティ及び対応するカウンタ署名の対(Ai,S(KAi,CB))のリストを編集するために、特定されることができるクライアントエンティティ(Ai)の各々について、オペランドとして、前記認証カウンタ値(CB)と、関連付けられた秘密鍵(K)とを用い、前記暗号関数(S)を適用することによって、前記対応するカウンタ署名(S(KAi,CB))を算出するステップと、
j. 受信された前記カウンタ署名(S(K,CB))と、前記リストの少なくとも1つのカウンタ署名(S(KAi,CB))との間の一致を検証するステップと
を有することを特徴とする請求項1又は2に記載の認証方法。
【請求項4】
前記認証エンティティの側において、所定の認証カウンタ値(CB)について編集された、特定されることができるクライアントエンティティ及び対応するカウンタ署名の対(Ai,S(KAi,CB))のリストが、前記カウンタ署名(S(KAi,CB))の値にしたがって、順序付けられることを特徴とする請求項3に記載の認証方法。
【請求項5】
受信された前記カウンタ署名(S(K,CB))と、複数の対の前記カウンタ署名(S(KAi,CB))とが一致する場合に、前記カウンタ署名が、受信された前記カウンタ署名と一致する1つの対が得られるまで、ステップbからhまでが繰り返されることを特徴とする請求項3又は4に記載の認証方法。
【請求項6】
ステップiの繰り返し中に、前記カウンタ署名(S(KAi,CB))は、先行する繰り返しにおいて求められた前記複数の対に対応する前記クライアントエンティティ(Ai)に対してのみ、計算されることを特徴とする請求項5に記載の認証方法。
【請求項7】
ステップaにおけるクライアントエンティティ(A)からの認証要求に関連するステップiを前もって実行するステップを有し、
前記前もって実行されたステップiは、
前記認証エンティティ(B)の側において、将来の認証カウンタ値(CB)の少なくとも1つについて、特定されることができるクライアントエンティティ及び対応するカウンタ署名の対(Ai,S(KAi,CB))のリストを、前記将来の認証カウンタ値の各々について、予め生成するステップと、
前記認証エンティティ(B)の側において、前記予め生成されたリストを記憶するステップと
を含み、
前記認証エンティティ(B)から前記クライアントエンティティ(A)への認証カウンタ値(CB)のいかなる送信も、特定されることができるクライアントエンティティ及び対応するカウンタ署名の対(Ai,S(KAi,CB))のリストが既に予め生成された、認証カウンタ値(CB)の送信に相当する
請求項3乃至5のいずれか1項に記載の認証方法。
【請求項8】
ステップhは、前記認証カウンタ(COMPTB)を一定の割合で増加させるステップを有することを特徴とする請求項1乃至7のいずれか1項に記載の認証方法。
【請求項9】
ステップhは、前記認証カウンタ(COMPTB)をランダムな割合で増加させるステップを有することを特徴とする請求項1乃至7のいずれか1項に記載の認証方法。
【請求項10】
ステップbは、認証要求に応じて、前記認証エンティティ(B)の側において、前記認証カウンタ値(CB)に加え、前記認証カウンタ値(CB)に関連付けられたランダム値を送信するステップを有し、
送信された前記認証カウンタ値の各々について、前記ランダム値は異なり、
前記方法の期間中に実行されるカウンタ署名の各々のステップは、オペランドとして関連付けられた前記ランダム値をさらに有する前記暗号関数(S)を適用することを含む、前記認証カウンタ値及び関連付けられた前記ランダム値の対の署名ステップによって置き換えられる
ことを特徴とする請求項1乃至8のいずれか1項に記載の認証方法。
【請求項11】
ステップcは、前記受信された認証カウンタ値(CB)と前記クライアントエンティティ(A)によって記憶される前記カウンタ値(CA)の差が、所定の値以下であることを検証するステップをさらに有することを特徴とする請求項1乃至10のいずれか1項に記載の認証方法。
【請求項12】
前記ステップcが検証されない場合には、以下の中間ステップが実行され、この中間ステップは、
前記クライアントエンティティ(A)によって記憶される前記カウンタ値(CA)を、前記クライアントエンティティ(A)から前記認証エンティティ(B)に送信するステップと、
前記クライアントエンティティ(A)によって記憶される前記カウンタ値(CA)より大きい一時認証カウンタ値を、前記認証エンティティ(B)から前記クライアントエンティティ(A)に送信するステップと、その後、
前記一時認証カウンタ値に基づいて、ステップdからgまでを実行するステップと、
前記クライアントエンティティ(A)の認証が成功した場合には、
前記認証エンティティ(B)の前記カウンタ(COMPTB)の前記現在の状態に対応する前記認証カウンタ値(CB)を、前記一時認証カウンタ値に更新し、そしてステップhを実行するステップと
を有することを特徴とする請求項1乃至10のいずれか1項に記載の認証方法。
【請求項13】
ステップeは、前記認証エンティティ(B)に、さらに前記認証カウンタ値(CB)を伝送するステップを有することを特徴とする請求項1乃至12のいずれか1項に記載の認証方法。
【請求項14】
前記認証カウンタ値(CB)は、少なくとも128ビットで符号化されることを特徴とする請求項1乃至13のいずれか1項に記載の認証方法。
【請求項15】
集積回路と、
秘密鍵(K)を記憶し、請求項1乃至14のいずれか1項に記載の方法を実行する手段と
を有することを特徴とするチップカード。
【請求項16】
非接触式チップカードであることを特徴とする請求項15に記載のチップカード。
【請求項17】
請求項1乃至14のいずれか1項に記載の方法を実行する手段が装備されたチップカード読取装置を有することを特徴とする、少なくとも1つのクライアントエンティティ(A)の認証エンティティ(B)。
【請求項18】
非接触式チップカード読取装置を備えることを特徴とする請求項17に記載の認証エンティティ。

【図1】
image rotate

【図2】
image rotate


【公表番号】特表2007−529935(P2007−529935A)
【公表日】平成19年10月25日(2007.10.25)
【国際特許分類】
【出願番号】特願2007−503366(P2007−503366)
【出願日】平成17年3月4日(2005.3.4)
【国際出願番号】PCT/FR2005/000528
【国際公開番号】WO2005/101726
【国際公開日】平成17年10月27日(2005.10.27)
【出願人】(591034154)フランス テレコム (290)
【Fターム(参考)】