説明

検証エンティティによるエンティティの認証方法

検証エンティティによりエンティティを認証する方法。前記エンティティは1対の秘密鍵XおよびYを共有している。秘密鍵XおよびYは、n × m (n, m > 1)のバイナリ行列であり、前記方法は、以下のステップ:・前記検証エンティティ(2)および前記認証されるエンティティ(1)によりそれぞれ無作為に抽出されたnビットのバイナリベクトルaおよびbを交換するステップと、前記認証されるエンティティ(1)が、mビットのノイズバイナリベクトルcを無作為に抽出するステップと、(I)であるmビットの応答ベクトルzを計算し検証エンティティ(2)に送信するステップと、・前記検証エンティティが、誤りベクトル(II)のハミング重み(220')を計算するステップと、・r個の誤りベクトルeのハミング重みが、確率ηの関数であるパラメータ(T, t)と、比較関係(230')を満たす場合に、認証を承認する(240')ステップと、をr回(r≧1)繰り返すことを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検証エンティティによりエンティティを認証する方法に関する。
【0002】
本発明は、特にRFID(radio-frequency identification)タグにおける接触または非接触での、超低価格の電子マイクロチップの認証のための暗号プロトコルの分野におけるアプリケーションに特に有利である。
【背景技術】
【0003】
例えばRFID型などの低価格電子マイクロチップは、標識付け(labeling)または、対象の追跡(薬の処方、図書館の本など)ならびに製造、および公共交通機関のチケットといった電子チケットの検証といった多くの応用技術に使用されている。
【0004】
それらの応用技術に関係なく、マイクロチップを偽造すること、特に、それらをコピーまたは複製すること、またはそれらが送信するデータを再現することによるによる不正を防ぐ必要がある。それらの応用技術をそういった侵害から保護するために、マイクロチップがマイクロチップリーダーと情報をやりとりする(interact)場合に、その認証を必要とすることは避けられない。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】A. Juels and S.A. Weis, "Authenticating Pervasive Devices with Human Protocols", in V. Shoup, Editor, Advances in Cryptology - Crypto 05, Lecture Notes in Computer Science, Vol. 3126, pp. 293-308, Springer Verlag
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、低価格マイクロチップなどの認証されるエンティティとマイクロチップリーダーなどの検証エンティティ(verification entity)間に使用されるどの認証プロトコルも、通常、配線論理タイプ(hard-wired logic)であり、このタイプのマイクロチップの非常に限定された計算リソース(computation resource)を考慮しなければならない。
【0007】
RFIDマイクロチップの要件に合うように特殊設計された対称HB+(Hopper-Blum)認証プロトコルが、近年提唱されている(A. Juels and S.A. Weis, "Authenticating Pervasive Devices with Human Protocols", in V. Shoup, Editor, Advances in Cryptology - Crypto 05, Lecture Notes in Computer Science, Vol. 3126, pp. 293-308, Springer Verlagを参照)。
【0008】
図1は、認証されるエンティティと検証エンティティ間におけるHB+プロトコル下でのデータ交換(exchange)を示している。
【0009】
この図から分かるように、例えば、RFIDマイクロチップである認証されるエンティティおよび、例えば、マイクロチップリーダーである検証エンティティは、nビットのバイナリベクトルからなる1対の秘密鍵xおよびyを共有する。これらの秘密鍵は、マイクロチップの記憶手段10およびマイクロチップリーダーの記憶手段20に格納されている。
【0010】
前記HB+プロトコルは、r回の連続した逐次代入(successive iteration)を展開する(unfold)。それぞれの逐次代入(iteration)において、マイクロチップは、nビットのバイナリベクトルbを無作為に抽出し(draw)(ブロック100)、前記マイクロチップリーダーに送信する(1)。同様に、前記マイクロチップリーダーは、nビットのバイナリベクトルaを無作為に抽出し(ブロック200)、前記マイクロチップに送信する(2)。前記ベクトルbおよびaの無作為抽出は、一様(uniform)確率法則に従って達成される。
【0011】
その後前記マイクロチップは、前記マイクロチップリーダーにより発信された(launched)チャレンジ(challenge)aを計算することにより(ブロック120)応答し、それに以下の
【0012】
【数1】

【0013】
で示されるノイズzにより影響をうける応答を送信する(3)。ここで、
【0014】
【数2】

【0015】
は、モジュロ2(modulo 2)スカラー積演算を表し、
【0016】
【数3】

【0017】
は、モジュロ2和を表している。ノイズビットνは、マイクロチップにより無作為に抽出される(ブロック110)。ノイズビットνは、η<1/2の確率で値1であり、(1−η)の確率で値0である。
【0018】
前記マイクロチップリーダーは、前記受信した応答zが以下の式
【0019】
【数4】

【0020】
を満たさなければ、現在の逐次代入を拒否する(ブロック210)。この場合において、拒否された逐次代入の数nbrのカウンタは、1ユニット増加される(ブロック220)。逐次代入の数nbtのカウンタによりカウントされた(ブロック250)r回の逐次代入の最後に、拒否された逐次代入の数nbrであるカウンタの数が所与のしきい値t以下のとき(ブロック230)かつそのときに限り前記認証が承認される(ブロック240)。もちろん値tは、確率ηの関数であり、単純な値tとしては例えばt=r×ηである。
【0021】
HB+プロトコルが推奨のデータ交換は、r回の3パスの逐次代入(r iterations of three passes)で構成されているが、b、a、zのr値を計算するとともに同時に送信する3パスのデータ交換1回に減らすことも可能である。
【0022】
前記HB+プロトコルの利点は、認証計算がかなりシンプルである点にある。
【0023】
さらに、そのロバストネスは、LPN(Learning Parity with Noise:雑音存在下におけるパリティ値の同定)問題の雑音下の線形システムの解法を見つけることの困難性による。最後に、HB+プロトコルは、項
【0024】
【数5】

【0025】
を備えない雑音下における応答という点において、それとは異なる歴史的に早期のHBプロトコルと比較し、バイナリベクトルbにより誘導されたマスキング効果が、秘密鍵yと結合されるという利点を有する。HBプロトコルは、攻撃者(adversary)が、一定のチャレンジaを送信しマイクロチップリーダーからの応答を受信するという攻撃に弱かった。最も多い応答は
【0026】
【数6】

【0027】
であり、aが知られている。第1ステップにおいて十分な数のa値のために
【0028】
【数7】

【0029】
を得て、第2ステップで、線形システムを解くことによりxを導き出すことが可能であった。
【0030】
しかし、実際には、HB+プロトコルは、効率的に使用することを妨げるという欠点を有している。
【0031】
既に指摘したように、第1の欠点は、このプロトコルはaに対するいくつかの積極的攻撃に対して耐性があるけれども、それにもかかわらず、攻撃者が複数の連続した認証(成功/失敗)の結果を利用できる場合に遭遇する他の攻撃への脆弱性が残っている。
【0032】
そのような攻撃はマイクロチップリーダーからマイクロチップへチャレンジaが送信される場合に前記チャレンジaを妨害し、連続してそのビットを改変する。例えば、aの第1ビットが改変された場合、この改変後においても結果が変わらなかったならば、秘密ベクトルxの第1ビットは0であることが明白である。逆に、結果が変わったならば、xの第1ビットはおそらく1と等しい。xの第2ビットを見つけるためにaの第2ビットを修正すれば十分であり、xのnビット全てを得るために、nビットまで同様に繰り返す。
【0033】
HB+プロトコルの第2の欠点は、過度の誤認警報(false alarm)を生成することである。誤認警報は、正当なマイクロチップの認証拒絶と定義される。以下の値: n = 224 ビット、η = 0.25、r = 100の逐次代入、t = η×r = 25において、例えば、誤認警報率は45%であり、これは全く受け入れられるものではない。偽陽性率(false positive rate)、すなわち無作為に応答するチップの認証の成功は、3 × 10-7付近である。
【0034】
tに期待値t = η×r = 25の代わりに、例えば35といった高い値をとった場合、前記誤認警報率は、1%にまで下がる。これは、依然として受け入れられないが、偽陽性率は、およそ1.7 × 10-3まで増加する。
【0035】
最後に、HB+の第3の欠点は、マイクロチップとマイクロチップリーダー間の通信において過度の複雑さ導くことである。前と同じ数値において、それぞれの認証に44900ビットのデータ交換が必要であることが示される。すなわち、100回の逐次代入のそれぞれにおいて、bに対し224ビット、aに対し224ビット、結果zに対し1ビットである。
【0036】
たとえ10000bpsのビットレートであったとしても、マイクロチップリーダーは、マイクロチップの認証に4秒以上も必要とし、これは、マイクロチップへの電力供給に関する問題はいうまでもなく、人間工学の観点からも耐え難い。
【課題を解決するための手段】
【0037】
そこで、本発明は、検証エンティティによるエンティティ認証の方法を提供する。前記エンティティは、1対の秘密鍵XおよびYを共有している。前記方法は、前記秘密鍵XおよびYが n × m (n, m > 1)のバイナリ行列であるという点、および、以下のステップ:
【0038】
・認証されるエンティティおよび検証エンティティが、検証エンティティおよび認証されるエンティティからそれぞれ無作為に抽出されたnビットのバイナリベクトルaおよびbのデータ交換するステップと、前記認証されるエンティティが、mビットのノイズバイナリベクトルcを無作為に抽出するステップと、以下の
【0039】
【数8】

【0040】
で与えられるmビットの応答ベクトルzを計算し検証エンティティに送信するステップ。ここで、前記mビットのそれぞれは、1/2未満の確率ηで1である。
【0041】
・検証エンティティが、誤りベクトル
【0042】
【数9】

【0043】
のハミング重みを計算するステップ。
【0044】
・rの誤りベクトルのハミング重みが、確率ηの関数であるパラメータと比較関係を満たした場合に、その後認証を承認する(accepting)ステップ。
【0045】
を含み、r回(r≧1)繰り返すことに特徴がある。
【0046】
したがって、本発明の方法は、HB+プロトコルと比較して、秘密鍵Xを再構成することを目的とするチャレンジaのビットを改変する攻撃への耐性が、改善されている。もし、aの第1ビットが改変された場合、その改変は、Xのm列の第1ビットとそのビットとの積(product)に影響し、積aXのmビットにも影響する。したがって、応答z全体にわたって影響する。したがって、aのビットの改変の認証結果の効果を観測することにより、秘密鍵Xに関するどの情報も推測することは、不可能である。なぜならzの複数のmビットが、その数またはその位置を示す(tell)ことなく改変されうるからである。HB+プロトコルにおいては、aの1ビットの改変は、1ビットのみからなる応答zに直接影響する。
【0047】
本発明の方法の実施においては、1回だけの逐次代入によりあたかもm回の逐次代入がなされたかのように、それぞれの逐次代入の応答zは、mビットで記述される。
【0048】
この結果、第一極限状態(first extreme situation)において、次数という因数により逐次代入の数を推測することが可能である。そして、実際には、逐次代入の数を1回のみに限定することは、誤認警報率の点ではHB+プロトコルのパフォーマンスを保つが、交換されるビットの数は、r(2n + 1)から(2n + m)まで、すなわちn = 224、およびm = 128において44900ビットから576ビットまで減少し、かなりの改善を示す。この例は、HB+プロトコルでは想定できない逐次代入の回数rを1に限定する場合の本発明の恩恵を十分に証明する。
【0049】
第二極限状態において、逐次代入の回数は同じである。交換されるデータの総量は、わずかに増加するが誤認警報率は、微々たるものである。
【0050】
もちろん、実際的な状態は、誤認警報率を減少させるとともにマイクロチップとマイクロチップリーダー間の交換されるビットの数を減少させるという観点において、これら2つの極限状態間から選択されなければならない。
【0051】
それはそれとして、本発明は、誤認警報率および当該2つのエンティティ間で交換される情報の総量に関しHB+プロトコルよりもよいパフォーマンスを提供することが明白である。
【0052】
本発明の一構成例において、前記行列XおよびYは、Toeplitz行列である。以下においてさらに詳しく示されるが、この有利な特徴は、マイクロチップおよびマイクロチップリーダーの記憶容量を、他の行列が選択された場合のn × mにかえて(n + m − 1)の範囲にする点にある。他の利点は、単純化された積aXおよびbYの計算である。
【0053】
本発明は、検証エンティティにより認証されるエンティティも提供する。前記エンティティは、1対の秘密鍵XおよびYを共有し、前記認証されるエンティティは、n × m (n, m > 1)のバイナリ行列からなる秘密鍵XおよびYを格納する手段と、前記検証エンティティと伝送する手段と、以下のステップ:
【0054】
・nビットのバイナリベクトルbを無作為に抽出し、検証エンティティへ送信するステップ。
【0055】
・検証エンティティから、nビットのバイナリベクトルaを受信するステップ。
【0056】
・mビットのノイズバイナリベクトルcを無作為に抽出するステップと、前記mビットのそれぞれは、1/2未満の確率ηで1であり、
【0057】
【数10】

【0058】
であるmビットの応答ベクトルzを計算し検証エンティティへ送信するステップ。
【0059】
をr回(r≧1)実施するように構成されている計算手段と、を含むことを特徴とする。
【0060】
本発明は、また、プログラムが、前記認証されるエンティティの計算手段のコンピュータフォーミングパートにより実行される場合に、前記認証されるエンティティにより実施されるステップを実行するためのプログラム命令を含むコンピュータプログラムを提供する。
【0061】
本発明は、さらに、1対の秘密鍵XおよびYを認証されるエンティティと共有している検証エンティティを提供する。前記検証エンティティは、n × m (n, m > 1)のバイナリ行列からなる秘密鍵XおよびYを格納する手段と、前記認証されるエンティティと伝送する手段と、以下のステップ:
【0062】
・認証されるエンティティからnビットのバイナリベクトルbを受信するステップ。
【0063】
・nビットのバイナリベクトルaを無作為に抽出し、前記認証されるエンティティに送信するステップ。
【0064】
・前記認証されるエンティティからmビットの応答ベクトルzを受信するステップ。
【0065】
・誤りベクトル
【0066】
【数11】

【0067】
のハミング重みを計算するステップと、r個の誤りベクトルeのハミング重みが、所定の確率ηの関数であるパラメータ(T, t)と比較関係を満たす場合には、認証を承認するステップ。
をr回(r≧1)実施するように構成された計算手段と、を含むことを特徴とする。
【0068】
本発明は、最後に、プログラムが、前記検証エンティティの前記計算手段のコンピュータフォーミングパートにより実行される場合に、前記検証エンティティにより実施されるステップを実行するプログラム命令を含むコンピュータプログラムを提供する。
【0069】
以下の説明は、添付の図面を参照して限定されない例として提示するものであり、本発明の本質が何に存するか、どのように実行されるのかを説明するものである。
【図面の簡単な説明】
【0070】
【図1】HB+プロトコル下における認証されるエンティティと検証エンティティ間のデータ交換を示している。
【図2】本発明の方法における認証されるエンティティと検証エンティティ間のデータ交換を示している。
【図3】図2の方法により認証されるエンティティを図示したものである。
【図4】図3のエンティティを、図2の方法を使用して認証するための検証エンティティを図示したものである。
【発明を実施するための形態】
【0071】
図2は、例えば、接触または非接触のマイクロチップリーダーである検証エンティティが、この例ではRFIDマイクロチップである認証されるエンティティの同一性の検証を可能とする認証方法を示している。
【0072】
図2に示されている前記方法は、対称法(symmetrical method)と呼ばれ、2つのエンティティ(マイクロチップとマイクロチップリーダー)が同じ秘密鍵を共有する。これらのXおよびYで指定されている鍵は、n行m列からなるn × m (n, m > 1)のバイナリ行列である。前記秘密鍵XおよびYは、前記マイクロチップの格納手段10およびマイクロチップリーダーの格納手段20に格納されている(図2、図3、図4を参照).
【0073】
本発明の方法は、r回(r≧1))繰り返される複数のステップで構成されている。「r回」という表現は、前記マイクロチップと前記マイクロチップリーダー間の交換が、図2に示されているように順次にr回の3パスの逐次代入が実施されることを示している。逐次代入の回数nbtは、カウンタによりそれぞれの逐次代入ごと、または、3パスと並列的に、1づつ増加させられる(ブロック250)。それぞれのパスは、あるエンティティから他のエンティティへのデータのrアイテムの伝送を含む。
【0074】
図2における例では、前記マイクロチップ1は、それぞれの逐次代入ごとに無作為に抽出し(ブロック100)、マイクロチップリーダー2に、1列のnビットのバイナリベクトルbを送信する(1)。その後前記マイクロチップリーダー2は、前記マイクロチップ1に、無作為に抽出された1列のnビットのバイナリベクトルであるチャレンジa(ブロック200)を送信する(2)。前記バイナリベクトルbおよびaは、0と1ビットの一様分布(uniform distribution)にしたがって無作為に抽出される。
【0075】
前記チャレンジaに応答して、前記マイクロチップ1は、モジュロ2和
【0076】
【数12】

【0077】
(ブロック120')であるmビットの一列のバイナリベクトルzを、前記マイクロチップリーダー2に送信する(3)。ここで、cは、確率法則にしたがって、マイクロチップ1により無作為に抽出されたmビットの1列のノイズバイナリベクトルである(ブロック110')。cのそれぞれのビットは確率法則にしたがって、等確率、または1/2未満であるパラメータη未満の確率、またはパラメータηと等しい確率で1に等しいことが保証される。そのために、ノイズベクトルcのそれぞれのビットは、パラメータ η < 1/2によりベルヌーイの法則にしたがって、他とは無関係に無作為で抽出される。前記ノイズベクトルcは、前記ビットの和(ハミング重み)が、η < 1/2において値 η × m 以下であるmビットの全てのベクトルから無作為で抽出してもよい。もちろん、前記ノイズベクトルcは、バイナリベクトルbを無作為に抽出するのと同時に、マイクロチップにより無作為に抽出してもよい。前記バイナリベクトルbは、前記ベルトルaの積極的攻撃をマスクするのに使用されることを想起すべきである。
【0078】
それぞれの逐次代入において、前記マイクロチップリーダー2は、以下の式
【0079】
【数13】

【0080】
で与えられるmビットの誤りベクトルe計算する(ブロック210')。ここで、zは、前記マイクロチップ1により送信された応答ベクトルであり、誤りベクトルeのハミング重みPH(e) (block 220')は、このようにして得られる。
【0081】
r回の逐次代入の後、マイクロチップリーダー2によるマイクロチップ1の認証の承認又は拒絶が、それぞれの逐次代入において得られる誤りベクトルeのr個のハミング重みPH(e)と、確率ηの関数であるパラメータとの比較から決定される。
【0082】
いくつかのストラテジがまた可能である。
【0083】
図2に代表される第1ストラテジは、r個の誤りベクトルeのハミング重みの和S (ブロック221')が、例えばr(η+ε)mである所与のしきい値Tより下の場合(ブロック230')かつそのときに限り認証を承認する(ブロック240')。ここで、εは、1/2以下のマージンであり、おそらくゼロである。
【0084】
第2ストラテジは、それぞれの逐次代入において得られる誤りベクトルeのハミング重みがしきい値T以下である場合かつそのときに限り認証を承認する。
【0085】
最後に、第3ストラテジは、それぞれの逐次代入において得られる誤りベクトルeのハミング重みが値tと等しい場合かつそのときに限り認証を承認する。
【0086】
第2および第3ストラテジにおいて、前記パラメータtは、値(η+ε)mを有する。ここでεは、1/2以下のマージンであり、おそらくゼロである。
【0087】
r = 1, n = 256, m = 128, η=0.25をとり、長さ128のバイナリベクトルから無作為に抽出したノイズベクトルc、そのハミング重みを32、すなわち η × mであり、マイクロチップの認証は、上記第3ストラテジ下において、それぞれの逐次代入における誤りベクトルeの重みがきっかり32と等しい場合かつそのときに限り承認される。ここでε = 0である。
【0088】
この例において、データ交換の全体の長さは640ビット、すなわち(2n + m)ビットのみである。その一方で、誤認警報率は、厳密にゼロであり、zの乱数値での攻撃による儀陽性率は、10-8付近であり、全体として実際上受け入れられる。
【0089】
図2において、前記マイクロチップ1と前記マイクロチップリーダー2間の一連の交換は、以下のとおりである:前記マイクロチップリーダーにbを送信するステップ、前記マイクロチップにaを送信するステップ、前記マイクロチップがcを無作為に抽出するステップ、および前記マイクロチップリーダーにzを送信するステップ。異なるシーケンスであっても等しく使用可能である点に注意しなければならない。すなわち:前記マイクロチップにaを送信するステップ、前記マイクロチップがbおよびcを無作為に抽出するステップ、および前記マイクロチップリーダーがbおよびzを送信するステップ。このシーケンスは、データ交換の回数を減少させるという利点を有する。
【0090】
行列XおよびYを格納するのに必要なメモリ量を大いに減少させ、前記マイクロチップと前記検証エンティティにより実施される計算の複雑さをおおいに減少させる実施においては、それぞれの行列XおよびYは、n × m未満の複数のビットを使用する前記マイクロチップ内に定義されているすべてのn × m行列の狭義の部分集合(strict subset)内から選択されうる。例えば、それぞれの行列を格納するのに必要なメモリ量は、XおよびYがToeplitz行列の場合には(n + m - 1)のみに減少可能である。すなわち、全ての係数において対角線に沿って一定係数の行列であることから、全体が第1行および第1列の係数により決定される。Xが、Toeplitz行列であって、xi,jがi番目の行およびj番目の列の係数である場合には、xi,jは、iがj以上の場合には、xi−j+1,1と等しく、その他の場合には、x1,j−i+1と等しい。
【0091】
以下の実施は非常に効率的に、バイナリベクトルである例えばaと、(n + m - 1)個のそれの第1行およびそれの第1列の係数によって定められたToeplitz行列である例えばXの、ビットごとの積を、mビットの2つのレジスタを使用して計算する。前記レジスタの1つは前記行列の現在の行を計算するために使用され、他方は0に初期化され、ベクトル-行列積の部分結果を記憶するために使用される。第1レジスタは、Xの第1行で初期化される。その後、ベクトルaのそれぞれのビットが以下の方法で処理される。aの現在のビットが1である場合には、Xの現在の行の値は、部分結果記憶レジスタの現在の値と排他的論理和演算子を使用し、ビットごとに結合される。そうでなければ、このレジスタの現在の値は、修正されない。どちらにしても、現在の行が行列Xの最後の行でない場合には、その行列の現在の行を含む前記レジスタは、このレジスタの最も左のセルに、新しい現在の行に対応する第1列の係数をコピーすることに続いてこのレジスタの中身を右方向に1ビットローテートすることで更新される。
【0092】
1対の秘密鍵XおよびYを共有している2つのエンティティにおいて、図3に示されているように、マイクロチップリーダー2により認証されるマイクロチップ1は、n × m (n, m > 1)のバイナリ行列からなる秘密鍵XおよびYを格納する手段10と、マイクロチップリーダー2と伝送する手段12と、図2を参照して説明されている方法の以下のステップ:
【0093】
・nビットのバイナリベクトルbを無作為に抽出し、マイクロチップリーダー2に送信するステップ。
【0094】
・nビットのバイナリベクトルaをマイクロチップリーダー2から受信するステップ。
【0095】
・mビットのノイズバイナリベクトルcを無作為に抽出するステップと、前記mビットのそれぞれは、1/2以下の確率ηで1であり、以下の
【0096】
【数14】

【0097】
であるmビットの応答ベクトルzを計算し、マイクロチップリーダー2へ送信するステップ。
、をr回実行するように構成されている計算手段11と、を含む。
【0098】
同様に、図4における、マイクロチップ1を認証するためのマイクロチップリーダー2は、n × m (n, m > 1)のバイナリ行列からなる秘密鍵XおよびYを格納する手段20と、認証されるマイクロチップ1と伝送する手段22と、図2を参照して説明されている方法の以下のステップ:
【0099】
・認証されるマイクロチップ1からnビットのバイナリベクトルbを受信するステップ。
【0100】
・mビットのバイナリベクトルaを無作為に抽出し、マイクロチップ1へ送信するステップ。
【0101】
・マイクロチップ1からmビットの応答ベクトルzを受信するステップ。
【0102】
・誤りベクトル
【0103】
【数15】

【0104】
のハミング重みを計算するステップと、r個の誤りベクトルeのハミング重みが、確率ηの関数であるパラメータと比較関係を満たす場合に認証を承認するステップ。
、をr回(r≧1)実行するように構成されている計算手段21と、を含む。具体的には、これまで詳述したように、r回の逐次代入にわたり得られる誤りベクトルeのハミング重みの和が、しきい値Tであるパラメータ未満である場合に認証が承認される。
【符号の説明】
【0105】
X,Y 秘密鍵(n × m のバイナリ行列)
a,b バイナリベクトル
c ノイズバイナリベクトル
e 誤りベクトル
z 応答ベクトル
η 確率

【特許請求の範囲】
【請求項1】
検証エンティティ(2)によりエンティティ(1)を認証する方法であって、
前記エンティティは、1対の秘密鍵XおよびYを共有ており、前記秘密鍵XおよびYは、n × m (n, m > 1)のバイナリ行列であることを特徴とし、
前記方法は、
・前記認証されるエンティティ(1)および前記検証エンティティ(2)が、前記検証エンティティ(2)および前記認証されるエンティティ(1)から無作為にそれぞれ抽出されたnビットのバイナリベクトルaおよびbを交換するステップと、前記認証されるエンティティ(1)が、mビットのノイズバイナリベクトルcを無作為に抽出するステップと、前記mビットのそれぞれは、1/2未満の確率ηで1と等しく、
【数1】

であるmビットの応答ベクトルzを計算し前記検証エンティティ(2)に送信するステップと、
・前記検証エンティティ(2)が、誤りベクトル
【数2】

のハミング重みを計算するステップと、
・その後、r個の誤りベクトルeのハミング重みが、確率ηの関数であるパラメータ(T, t)との比較関係を満たす場合に、認証を承認するステップと、
を具備し、
これらのステップをr回(r≧1)繰り返すことを特徴とする検証エンティティ(2)によりエンティティ(1)を認証する方法。
【請求項2】
前記比較関係は、r回の逐次代入にわたり得られた誤りベクトルeのハミング重みの和が、しきい値Tであるパラメータ未満であることを特徴とする請求項1に記載の方法。
【請求項3】
前記しきい値Tは、値r(η+ε)mであり、εは1/2未満のマージンであることを特徴とする請求項2に記載の方法。
【請求項4】
前記比較関係は、それぞれの逐次代入で得られた誤りベクトルeのハミング重みが、しきい値Tであるパラメータ未満であることを特徴とする請求項1に記載の方法。
【請求項5】
前記比較関係は、それぞれの逐次代入で得られた誤りベクトルeのハミング重みが、しきい値Tであるパラメータと等しいことであることを特徴とする請求項1に記載の方法。
【請求項6】
前記tは、値(η+ε)mであり、εは、1/2未満のマージンであることを特徴とする請求項4または5に記載の方法。
【請求項7】
前記行列XおよびYは、Toeplitz行列であることを特徴とする請求項1から6のいずれか一項に記載の方法。
【請求項8】
検証エンティティ(2)により認証されるエンティティであって、
前記エンティティは、一対の秘密鍵XおよびYを共有しており、
前記認証されるエンティティ(1)は、n × m (n, m > 1)のバイナリ行列からなる前記秘密鍵XおよびYを格納する手段(10)と、前記検証エンティティ(2)と伝送する手段(12)と、以下のステップ:
・nビットのバイナリベクトルbを無作為に抽出し、検証エンティティ(2)に送信するステップと、
・nビットのバイナリベクトルaを検証エンティティ(2)から受信するステップと、
・mビットのノイズバイナリベクトルcを無作為に抽出するステップと、前記mビットのそれぞれは1/2未満の確率ηで1であり、
【数3】

であるmビットの応答ベクトルzを計算し検証エンティティ(2)に送信するステップと、
をr回(r≧1)実施するように構成されている計算手段と、
を含むことを特徴とする検証エンティティ(2)により認証されるエンティティ。
【請求項9】
コンピュータプログラムが、認証されるエンティティ(1)の計算手段(11)のコンピュータのフォーミングパートにより実行される場合に、請求項8に記載のステップを実行するプログラム命令を含むことを特徴とするコンピュータプログラム。
【請求項10】
認証されるエンティティ(1)と秘密鍵XおよびYを共有している検証エンティティであって、前記検証エンティティ(2)は、
n × m (n, m > 1)のバイナリ行列からなる秘密鍵XおよびYを格納する手段(20)と、
認証されるエンティティ(1)と伝送する手段(22)と、
以下のステップ:
・前記認証されるエンティティ(1)からnビットのバイナリベクトルbを受信するステップと、
・前記認証されるエンティティ(1)にnビットのバイナリベクトルaを無作為に抽出し送信するステップと、
・前記認証されるエンティティ(1)からmビットの応答ベクトルzを受信するステップと、
・誤りベクトル
【数4】

のハミング重みを計算するステップと、r個の誤りベクトルeのハミング重みが、所定の確率ηの関数であるパラメータ(T, t)との比較関係を満たす場合に、認証を承認するステップと、
を、r回(r≧1)実施するように構成されている計算手段(21)と、
を具備することを特徴とする検証エンティティ(2)。
【請求項11】
前記コンピュータプログラムが、前記検証エンティティ(2)の前記計算手段(21)のコンピュータフォーミングパートにより実行される場合に、請求項10に記載のステップを実行するプログラム命令を含むことを特徴とするコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公表番号】特表2010−528512(P2010−528512A)
【公表日】平成22年8月19日(2010.8.19)
【国際特許分類】
【出願番号】特願2010−508886(P2010−508886)
【出願日】平成20年5月21日(2008.5.21)
【国際出願番号】PCT/FR2008/050879
【国際公開番号】WO2008/149031
【国際公開日】平成20年12月11日(2008.12.11)
【出願人】(591034154)フランス・テレコム (290)
【Fターム(参考)】