説明

物理ランダム関数を共有する信頼できるフォワード秘密鍵のシステム及び方法

秘密鍵アグリーメントの問題に対するセキュアな解決手段が提供される。特に、十分に一致するプロファイルを有する2つの正当な主体の間の信頼できるフォワード秘密鍵共有化方法が、開示される。本発明は、秘密鍵アグリーメントの問題に対するセキュアな解決手段を提供するため、PUF(Physical Unclonable Function)と呼ばれることもある物理ランダム関数によるものである。一実施例では、1パスプロトコルは、条件のないセキュアな解決手段を導くReed−Solomonコードに基づき導入される。さらなる実施例では、第1実施例の解決手段は、擬似ランダム関数群に基づき条件付きのセキュアな解決手段を提供することにより改善される。さらなる実施例では、識別及び真正性のため、排他的に使用される2パスプロトコルが導入される。2パスプロトコルの原理によると、2つの通信が必要とされ、1パスプロトコルと異なり、第2主体が秘密鍵Kを選択する。


【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号化システム及び関連する方法に関し、より詳細には、物理ランダム関数を共有する信頼できるフォワード秘密鍵のシステム及び方法に関する。
【背景技術】
【0002】
情報のセキュアな送信は、電子通信分野において重要な目的である。秘匿性と一貫性は、特定タイプの情報を通信するのに特に重要である。これは、例えば、機密性のある政府情報、企業情報、医療記録情報などの個人情報などを含むかもしれない。暗号化を利用した各種スキームが、電子メッセージに関するセキュリティの問題を解決するのに開発されてきた。
【0003】
A.JuelsとM.Wattenbergによる「A fuzzy commitment scheme」(6th ACM Conference on Computer and Communication Security,p.28−36,1999)では、情報(すなわち、V+A)が第1主体から第2主体に送信される1パス(one−pass)プロトコルが開示されている(ただし、Vはコードワードであり、Aは(ノイジー)レスポンスであり、何れも長さはnである)。このプロトコルは、最小でもnシンボルの通信を要し、さらに、適切に動作させるための誤り訂正復号化アルゴリズムを必要とするという点に欠点がある。
【0004】
A.JuelsとM.Sudanによる「A fuzzy vault scheme」(Proceedings of the 2002 IEEE International Symposium on Information Theory,p.408,2002)では、第1主体であるAliceが、p(.)が多項式であり、K=p(0)が秘密鍵であるポイント(a_i,p(a_i))計算する1パスプロトコルが開示されている。Aliceは、多数のランダムポイント(x,y)によりインタリーブされたランダムな順序により上記ポイントを送信する(xは、相異なるものであり、a_iの何れにも等しくない)。ランダムポイント(サイズ22の集合に対して10のオーダによる)は、ポストランダム化(post randomization)と呼ばれるものを表す。これらは、攻撃者であるEveが多項式p(.)について不確定なものに維持し、セキュリティを保証するのに必要とされる。第2主体であるBob18は、消失誤り訂正(errors−and−erasures)RS復号化アルゴリズムを利用することにより、p(.)を再構成することができる。この1パスプロトコルは、2パスプロトコルと同様に順序づけされていない集合に対して機能する。この方法は、ポストランダム化の処理から生じる多大な通信コストによる欠点がある。
【0005】
U.M.Maurerは、「Secret key agreement by public discussion from common information」(IEEE Trans. on Information Theory,39,p.733−742,1993)において、第1主体Aliceと第1主体Bobとの間の距離を両者の間の相互情報量I(A;B)として定義している。この論文では、衛星が、各主体AliceとBobと共に攻撃者Eveが、ランダムバイナリ文字列Xのノイジーバージョンを受信するランダムバイナリ文字列Xを配信する。advantage distillation段階、reconciliation段階及びprivacy amplification段階を含む各種段階に分割されるマルチパスプロトコルが、秘密鍵の共有のため説明されている。このスキームの欠点は、マルチパスプロトコルが、AliceとBobの2人の主体間の複数の通信ステップを含むということである。
【発明の開示】
【発明が解決しようとする課題】
【0006】
従って、通信コストを最小化し、これにより従来技術による上記問題点を解決する簡単化されたプロトコルが必要とされる。
【課題を解決するための手段】
【0007】
本発明は、秘密鍵アグリーメントの問題に対するセキュアな解決策を提供する。本発明は、十分に一致するプロファイルを有する2人の正当な主体の間の信頼できるフォワード秘密鍵共有の問題を解決する。本発明は、秘密鍵アグリーメントに対するセキュアな解決策を提供するため、PUF(Physical Unclonable Function)と呼ばれることもある物理ランダム関数によるものである。
【0008】
一実施例では、制限のないセキュアな手段を導くReed−Solomonコードに基づく1パスプロトコルが導入される。
【0009】
さらなる実施例では、第1実施例の手段が、擬似乱数関数系に基づく条件付きのセキュアな手段を提供することにより向上される。
【0010】
さらなる実施例では、識別及び認証用にのみ利用される2パスプロトコルが導入される。2パスプロトコルの原理に従って、2つの通信が必要とされ、1パスプロトコルと異なり、第2主体は秘密鍵Kを選択する。
【0011】
各実施例において、敵対者が存在する場合にもセキュリティ及びロウバストネスが同時に達成される効率的な解決策を構成することが目的となる。さらなる目的は、パブリック通信チャネルの利用を最小限するということである。各実施例において示されるように、本発明の主要な特徴は、セキュリティが計算上困難な問題に基づくということである。
【0012】
本発明の上記特徴は、添付した図面と共に、本発明の例示的な実施例の以下の詳細な説明を参照することにより、容易に明らかとなり、理解されるであろう。
【発明を実施するための最良の形態】
【0013】
以下の詳細な説明は説明のための多数の詳細を含んでいるが、当業者は、以下の説明に対する多くの変形及び変更が本発明の範囲内に属するということを理解するであろう。
【0014】
従って、本発明の以下の好適な実施例は、一般性を失うことなく、また制限を課されることなく、請求される発明について与えられる。
【0015】
図1を参照するに、暗号化システムが、100により全体的に示される。Alice16とBob18と呼ばれる主体16と18のペアが、ネットワーク22を介し通信する。各主体16と18は、ALU(Arithmetic Logic Unit)32と42を有する。ALUは、本発明の暗号化プロトコルを実現する暗号化ユニットを有する汎用コンピュータとすることができる。ソースP20は、汎用シンボル生成ソースと仮定される。
【0016】
登録段階中、Alice16は、ソースP20にチャレンジCを発行し、ソースP20からレスポンスを受け取る。このチャレンジ・レスポンススキームは、例えば、Alice16により生成された所与の値(チャレンジ)が、ソースP20により生成された値(レスポンス)により応答されるスキームであり、通常、チャレンジ・レスポンスペア(C,A)と呼ばれる。同様に、Bob18は、ソースP20に同じチャレンジCを発行し、ソースP20からレスポンスB、すなわち、(C,B)を受け取る。レスポンスAとBは、同じチャレンジCのノイジーバージョンに対応することに留意されたい。
【0017】
ソースP20からAlice16により受信されるシンボルシーケンスAは、
【0018】
【数1】

と記すことができる。
【0019】
ソースP20からBobにより受信されるシンボルシーケンスBは、
【0020】
【数2】

と記すことができる。
【0021】
ソースP20から攻撃者であるEve17により受信されるシンボルシーケンスは、
【0022】
【数3】

と記すことができる。
【0023】
Alice16は、Bob18とランダムに選択された秘密鍵Kを共有可能な秘密鍵共有プロトコルが所望される。これは、Bob18により受信されるシンボルシーケンスBが、Alice16により受信されるシンボルシーケンスに十分近いものであると決定される場合、実現されるようにしてもよい。
【0024】
何れか2つのコード又はシンボルシーケンス(AとBなど)の間の距離を記載する標準的な測度は、nビット(又はシンボル)コードの任意のペアに対し、ビット(又はシンボル)が異なっているポジション数を単にカウントするハミング距離を計算することである。すなわち、「11110000」と「01110001」は、最初と最後のポジションが異なっているため、ハミング距離は2となる。シンボルシーケンスAとBの間のハミング距離は、
【0025】
【数4】

として記すことができる。
【0026】
誤り訂正理論の基礎は、nビットコードが、任意の2つのコード間の距離を規定することが可能なn次元空間を構成するというアイデアである。距離を記述する標準的な方法は、ハミング距離である。シンボルシーケンスAとBの間のハミング距離d(A,B)が、ある閾値t未満である場合、すなわち、
【0027】
【数5】

である場合、Alice16とBob18は、秘密鍵Kを共有することができるであろう。ハミング距離が閾値tより小さい場合には常に、Alice16とBob18のそれぞれにより受信されるシンボルシーケンスAとBは、両者の間で秘密鍵Kを共有することができるように、ソースP20に固有のノイズを補償し、2つのシンボルシーケンスAとBの間の誤りを訂正することが可能である。
【0028】
所望される鍵共有プロトコルは、Alice16が非未知鍵Kを共有することに成功した主体が、シンボルシーケンスAに近いシンボルシーケンスを知っているということをAlice16が知っており、Bob16と秘密鍵を共有することに成功した主体が、シンボルシーケンスBに近いシンボルシーケンスを知っているということをBob18が知っているという意味において、真正性を提供すべきである。
【0029】
所望の鍵共有プロトコルは、ある閾値tより大きなハミング距離d(A,E)を有する公開的に送信される情報IとシンボルシーケンスEしか知らない攻撃者Eve17などの他の何れかの者が、秘密鍵Kに関するわずかな情報しか取得しないという意味において、セキュリティを提供すべきである。
【0030】
Alice16とEve17との間のハミング距離を
【0031】
【数6】

として定義すると、閾値基準は、
【0032】
【数7】

(ただし、閾値t>tである)として記述することができる。
【0033】
1パスプロトコル(第1実施例)
所望の真正性とセキュリティの両方を提供するプロトコルは、Alice16とBob18が秘密鍵Kを共有するのにパブリックチャネルを1回しか使用しないことから、「1パス」プロトコルと呼ばれる。1パスプロトコルは、パブリック通信チャネル22の使用を最小限にするという意味において望ましい。1パスプロトコルに従って、第1主体(Alice16)は、第2主体(Bob18)と共有すべきランダムに選択された秘密鍵Kを生成する。
【0034】
再び図1を参照するに、1パスプロトコルが第1実施例によりどのように実現されるか規定するため、ソースP20がまずAlice16、Bob18及びEve17にそれぞれレスポンスA、B及びCを各自のチャレンジ・レスポンスセッション(C,A)、(C,B)及び(C,E)の一部として提供すると仮定する。Alice16とBob18が各自のレスポンスを受信するとすぐに、Alice16とBob18は、暗号プリミティブの秘密鍵Kを利用して、パブリックチャネルを介し機密データを交換することを可能にするため、秘密鍵Kを共有することを所望すると仮定する。
【0035】
しかしながら、パブリックチャネル22を介したAlice16とBob18との間の通信はまた、物理システムP20をモデル化し、秘密鍵Kを盗もうとする攻撃者Eve17にも通信されることとなるということに留意すべきである。
【0036】
上記から、2つの要請が再記述される。第1には、ソースP20からAlice16とBob18へのレスポンスが十分近いものである場合、両者は秘密鍵Kを共有することができるであろう。すなわち、ハミング距離d(A,B)がある閾値tより小さい場合(式4を参照せよ)、両者は秘密鍵Kを共有することができるであろう。第2には、ソースP20による攻撃者Eve17とAlice16へのレスポンスが大きく離れている場合、1パスプロトコルはセキュアであるべきである。すなわち、ハミング距離d(A,E)がある閾値tより大きい場合(式5を参照せよ)、1パスプロトコルはセキュアであるべきである。
【0037】
上述のように、Alice16は、自分が選択したランダム秘密鍵KをBob18と共有することを所望している。ただし、秘密鍵Kは、
【0038】
【数8】

と記すことができる。
【0039】
第1実施例によると、Alice16とBob18は、攻撃者Eve17が同一の冗長な情報Iを受け取る場合、それが鍵Kに関する情報を生成するのに役に立たないように、Bob18が秘密鍵Kを生成することができるような方法により、Alice16が冗長な情報IをBob18に送信する1パスプロトコルを利用して秘密鍵Kを共有することが可能となる。
【0040】
第1実施例による所望の1パスプロトコルは、後述されるように、符号化段階と復号化段階から構成される。
【0041】
符号化段階
符号化段階では、Alice16は、秘密鍵K=(K,...,K)を選択し、当該秘密鍵KをA=(a,...,a)と共に、
【0042】
【数9】

と表すことが可能なReed−SolomonコードワードWに符号化する。これは、出力として冗長シンボル(すなわち、冗長情報I)とみなされる(d−1)個のパリティシンボルP
【0043】
【数10】

を導く。(d−1)個のパリティシンボルPは、第2主体(Bob18など)が第1主体Alice16から送信された秘密鍵Kを再構成することができるように、イレイジャ及びエラーを訂正するためコードにある最小距離dを生成するよう導入される。式(10)のパリティシンボルPは、ノイズを訂正するため追加的な符号化レイヤを実現するパブリックチャネル22を介し送信されるため、誤り状態にはないと考えられることに留意されたい。
【0044】
式(9)のReed−SolomonコードワードWは、長さ[n+k+(d−1)]、次元[n+k]及び最小距離dを有し、通常、
【0045】
【数11】

として記される。
【0046】
周知のように、Reed−Solomonコードはシステマティックであり、これは任意の(n+k)のポジションが情報集合を構成することを意味する。最小距離はdであり、これは(d−1)個のイレイジャ(すなわち、エントリが受信又は計算されていないポジション)の任意の集合が訂正可能であることを意味する。これはまた、非イレイジャポジションが情報集合を構成するという事実に従う。
【0047】
本発明の主要な特徴は、本発明の1パスプロトコルに従ってBob18による秘密鍵Kの再構成を可能にするため、(d−1)のみのパリティシンボルPが、パブリック通信チャネル22を介しAlice16からBob18に送信されるということである。本実施例では、(d−1)のパリティシンボルPが冗長情報Iとみなされる。対照的に従来技術によると、Reed−SolomonコードワードVとレスポンスベクトルAのベクトル和V+Aをパブリックチャネル22を介し送信することにより通信コストはより大きなものとなる。ただし、VとAは共に長さnを有し、Vは、
【0048】
【数12】

として記すことができる。ただし、Rはランダムに選ばれたシンボルであり、Mは公開利用可能なランダム逆行列である。
【0049】
復号化段階
Bob18は、秘密鍵Kを決定するため、パブリックチャネル22を介しAlice16により冗長情報Iとして送信されるパリティシンボルP=(p,...,pd−1)を受信し、Wを再構成するようReed−Solomon復号化を実行する。
【0050】
コードワードWを再構成するため、Bob18は、次のnポジションのシンボルシーケンスB(チャレンジ・レスポンスペア(C,B)から)と最後の(d−1)ポジションのパリティシンボルPに先行する最初のkポジションのクエスチョンマークを含むワードW’を構成することによりReed−Solomon復号化を実行する。
【0051】
【数13】

ワードW’のk個のクエスチョンマークのそれぞれは、イレイジャを表す。ワードW’の最初のKポジションに対してイレイジャが供給される。なぜなら、パブリックチャネルを介しAlice16からパリティシンボルPを受信すると、Bob18は、秘密鍵Kを有するシンボルを知らず、これらk個の未知のシンボルについてイレイジャを使用するためである。
【0052】
本発明の主要な特徴は、パブリックチャネルを介しAlice16からBob18に冗長情報I(すなわち、(d−1)のパリティシンボルP)のみを送信することは、Bob18が秘密鍵Kを抽出又は決定することを可能にするのに高い確率で十分となるであろう。これは、上述のようにnシンボルを送信する従来技術と際だって対照的である。
【0053】
Bob18により構成されるワードW’のb〜bのBのポジションの何れかが誤り状態であるかもしれないということに留意すべきである。しかしながら、これらの誤りのポジションは、Bob18には知られていない。
【0054】
要約すると、Alice16により送信されるコードワードWと比較して、Bobにより構成されたワードW’は、最初のkポジションのクエスチョンマークとして表されるk個のイレイジャと、d(A,B)個のエラー(d(A,B)の未知のポジションiについて、a≠b)とを有する。
【0055】
Reed−Solomonコードが最小距離dを有することを知っているとき、従来の消失誤り訂正復号化アルゴリズムは、
【0056】
【数14】

すなわち、
【0057】
【数15】

である場合、かつその場合に限ってBobの構成されたワードW’をAliceの送信されたコードワードWに訂正する。
【0058】
従って、AliceとBobの各自のレスポンスAとBとの間のハミング距離d(A,B)が、(15)の不等式を満たす場合、かつその場合に限って、Bob18は秘密鍵Kを抽出することができる。それがBob18が秘密鍵Kを抽出することができるか否かに関する確率的な決定であるということに留意されたい。しかしながら、鍵Kの決定における失敗の確率は、スケーリング係数によるn及びdの増加により非常に小さいものにすることができる。ただし、nは登録中に実行されるレスポンス・チャレンジセッションからのレスポンスシンボル、すなわち、レスポンスAとBのシンボル数を表し、(d−1)はあるスケーリング係数によりパブリックチャネル22を介しAlice16からBob18に送信されるパリティシンボルのシンボル数を表す。
【0059】
大数法則から、AとBの間のハミング距離は、スケーリング係数に比例した平均とスケーリング係数の平方根に比例した標準偏差によりほぼガウス分布する。従って、失敗確率(すなわち、式15が満たされない)は、増加するスケーリング係数に対して非常に小さなものとなる。
【0060】
上述のように、P=(p,...,pd−1)の(d−1)のパリティシンボルは、パブリックチャネル22を介し送信される冗長情報を構成する。これは、攻撃者Eve17に秘密鍵Kを取得するための知識を与える。Eve17は、
【0061】
【数16】

なるワードW”を構成する。
【0062】
Eve17により構成されるワードW”は、不等式(17)が満たされる場合、すなわち、
【0063】
【数17】

である場合、鍵Kに関する情報を含まないことを示しうる。すなわち、Eve17により構成されるワードW”の誤りの個数が少なくとも(d−1)に等しい場合、秘密鍵Kに関する情報がEve17に漏れることはない。これは、誤りポジションの外部のポジションが情報集合の一部であるという理由からであり、このことは各鍵Kが等しく可能性があり、このためEve17がKに関する情報を取得していないということを意味する。
【0064】
すなわち、第1実施例によると、Alice16とBob18は、攻撃者であるEve17が同一の冗長情報Iを受信する場合、それが秘密鍵Kに関する情報を生成するのに役に立たなくなるようにBob18が秘密鍵Kを生成することができるように、Alice16が冗長情報IをBob18に送信する1パスプロトコルを利用して、Alice16とBob18が秘密鍵Kを共有することができることが示される。
【0065】
1パスプロトコル(第2実施例)
1パスプロトコルの本実施例では、Alice16は、第1実施例と同様に、情報Iとして(d−1)のパリティシンボルPをパブリックチャネル22を介しBob18に送信する。しかしながら、(d−1)のパリティシンボルPを送信するのに加えて、Alice16はまた自分のレスポンスAのハッシュ、すなわち、h(A)を送信する。本実施例はハッシュ関数を用いて説明されるが、任意の関数の使用が、物理システムP20から統計的に独立した擬似ランダム関数群から選択されてもよい。
【0066】
本実施例では、Alice16は、(d−1)のパリティシンボルPとAのハッシュh(A)とを情報Iとしてパブリックチャネル22を介しBob18に送信する。すなわち、
【0067】
【数18】

展開された情報Iは、
【0068】
【数19】

として展開形により記述されてもよい。
【0069】
上述の実施例と同様に、Bob18は、Alice16によりパブリックチャネル22を介し送信された情報Iから秘密鍵Kを再構成しようとする。
【0070】
Alice16から情報Iを受信すると、Bob18は、まず自らのレスポンスシンボルBのすべてのハッシュを計算することにより、すなわち、
【0071】
【数20】

を計算することにより、秘密鍵Kを再構成しようとする。
【0072】
次に、Bob18は、aのハッシュとbのハッシュとの間で一致する、すなわち、
【0073】
【数21】

となるすべてのポジションiを含む集合Sを計算する。この集合Sは、
【0074】
【数22】

として計算される。式(22)の第2式は圧倒的確率で成り立つ。すなわち、圧倒的確率により、h(a)=h(b)がa=bとなることを意味するように、ノイズ特性が仮定される。
【0075】
第1実施例と同様に、Bob18は、最初のkポジションにイレイジャ(?)と最後の(d−1)ポジションにパリティシンボルPを有するワードW’を構成する。しかしながら、本実施例では、ワードW’は誤りを含まず、それは単に集合SとパリティシンボルPの外部のポジションにイレイジャを含むにすぎない。これは、パリティシンボルPがパブリックチャネル22を介し正確に受信され、このため誤り又はイレイジャを含まないと仮定されるために生じる。また、最初のkポジションは、すべてイレイジャとして扱われる。すなわち、
【0076】
【数23】

となる。
【0077】
W’の他のすべてのポジション(すなわち、Sのポジションを有するBの要素のすべて)は、圧倒的な確率により誤りを生じさせない。このことは、消失誤り訂正復号化が鍵Kを抽出するのに利用される前述の実施例と比較して、本実施例では、イレイジャのみの復号化によりW、すなわち、秘密鍵Kを再構成するのに十分であるため、複雑さのかなりの低減が実現される。しかしながら、複雑さの低減はトレードオフを表すことに留意されたい。具体的には、本実施例は、パリティシンボルPに加えて、第1実施例において送信される追加的情報、すなわち、Aのハッシュh(a)を送信する。しかしながら、本実施例の1パスプロトコルは、以下でより十分に説明されるように、従来技術と比較して、通信コストの低減をもたらす従来技術に対する係数2の向上を表す。
【0078】
第1実施例の式(14)と(15)が、式(24)と(25)として再び記述される。
【0079】
【数24】

【0080】
【数25】

Reed−Solomonコードワードの何れか1つの誤りを訂正するため、2つのパリティシンボルが必要とされるということは周知である。さらに、1つのイレイジャを訂正するため、1つのパリティシンボルが必要とされる。本実施例では、イレイジャのみの復号化が秘密鍵Kを再構成するのに十分であり、これにより係数2の向上をもたらす。また、式(24)は、式(26)のように2の乗数なしに書き換え可能である。
【0081】
【数26】

この不等式が満たされる場合、Bob18は、秘密鍵Kを抽出することができる。本実施例では、攻撃者Eve17は、パブリックチャネルを介し受信し、これにより、
【0082】
【数27】

を所有することとなる。前述の実施例と同様に、各自のレスポンスAとEの間のハミング距離d(A,E)が(d−1)より大きい場合、Eve17は秘密鍵Kに関して取るに足らない量の情報しか取得しない。
【0083】
【数28】

本実施例の係数2の向上は、閾値tとtの間のギャップがかなり小さくなるということを意味することに留意されたい。
【0084】
大数法則から、AとBの間のハミング距離d(A,B)と、AとEとの間のハミング距離d(A,E)は、スケーリング係数に比例した平均とスケーリング係数の平方根に比例した標準偏差によりほぼガウス分布している。tとtのギャップが係数2の向上のためより小さい者であるため、より大きな標準偏差はロウバスト性とセキュリティを実現することを可能にする。従って、このスケーリング係数は、閾値tとtのギャップが第1実施例のギャップと同程度の大きさとなる従来技術と比較して、より小さなものとなりうる。この点が、図2に関してより十分に示される。
【0085】
図2aを参照するに、2つのガウス分布、すなわち、第1ガウス分布201と第2ガウス分布203が示される。第1ガウス分布201は、一般にはAliceとBobにより受信される各自のレスポンス、すなわち、AとBにおける平均誤り数を表す閾値tの1/2であるt/2を中心とする。ガウス曲線201の領域A’に存在する確率は、Bob18が秘密鍵Kを再構成することが不可能な確率に等しい。上述のように、これは、AとBの誤り数が閾値tを超えるという事実によるものである。
【0086】
ガウス曲線201の標準偏差は、n(レスポンスAとBの長さ)の平方根に比例する。レスポンスの長さnをスケーリング係数によりスケールアップすることによって、標準偏差はスケーリング係数の平方根に比例してスケールアップされ、平均はスケーリング係数に比例してスケールアップされる。このスケーリングは、テール領域(領域A’)の確率がより小さくなることを意味する。従って、Bob18は、鍵Kを再構成するより高い確率を有することとなる。曲線201は、レスポンスの長さnをスケールアップする効果を反映していないことに留意すべきである。
【0087】
Alice 16と攻撃者Eve17の間の誤り数を表す図2aの第2のガウス曲線203を参照するに、テール領域(領域B’)は、攻撃者Eve17が秘密鍵Kに関する情報を取得する確率である。従って、このテール領域(領域B’)を可能な限り小さくすることが望ましい。上述のように、正確なスケーリングが実行される。すなわち、スケーリング係数だけnをスケールアップすることにより、標準偏差はスケーリング係数の平方根に比例してスケールアップされ、平均はスケーリング係数に比例してスケールアップされる。このスケーリングは、テール領域(領域B’)の確率がより小さくなることを意味する。従って、Eve17は、鍵Kに関する情報を取得するより低い確率を有することとなる。再び、曲線203は、レスポンスnの長さをスケールアップする効果を反映していないことに留意すべきである。
【0088】
図2bを参照するに、各ガウス曲線205と207は、上述の第1実施例に対する第2実施例の係数2の向上を反映している。また、d’/n’はd/nより小さくなるよう選ばれることに留意されたい。これは、閾値がt’/n’<t/nとなることを意味する(t/nの閾値は、Δだけ左にシフトする)。しかしながら、係数2の向上のため、t’/n’>t/nとなる(t/nの閾値は、Δだけ右にシフトする)。従って、両側からt/nとt/nの間のギャップが収束することが示される。しかしながら、レスポンスの長さに対するピーク(すなわち、平均)のポジションは、図2aと2bの曲線について同一となることに留意されたい。領域A’とB’はより小さいものであるため、図2aと2bから同様の確率が維持される場合(すなわち、係数2の向上の前後において)、より大きな標準偏差が許容される。このことは、スケーリング係数によるnのスケーリングアップからのよりピークのある分布の変わりに、より広い分布の可能性を意味する。より広い分布は、より大きな閾値tとより小さい閾値tを有することにより補償される。より広い分布は、より小さなスケーリング係数に対応する。
【0089】
通信コストに関して、本実施例では通信コストはh(A)に比例し、従来技術では通信コストはAに比例することとなり、何れのケースでも、
【0090】
【数29】

に等しくなることに留意されたい。ただし、n’は、登録段階において実行されるレスポンス・チャレンジセッション(C,A)においてAlice16により受信されるレスポンスAの長さに等しい。比較することにより、本実施例では、スケーリング係数は従来技術と比較して低減され、これにより、やや少ない通信コストとなり、すなわち、
【0091】
【数30】

となる、ただし、(d−1)は、一般にnよりはるかに小さな値である。
【0092】
PUF(Physically Unclonable Functions)
上述の実施例の実際的な適用を説明する前に、まず、ときどき物理ランダム関数と呼ばれるPUF(Physically Unclonable Functions)の一般原理を言及することが有用である。
【0093】
PUFは、予測が困難であって、物理装置により実現される方法によりチャレンジをレスポンスに変換し、以下の性質を検証するランダム関数でする。すなわち、(1)評価が容易である−物理装置は、短時間に関数を容易に評価することができる。(2)特徴付けが困難である−多項式数のありうる物理測定から(例えば、選択された個数のチャレンジ・レスポンスペアにより決定されるなど)、物理装置(ICまたはチップなど)を有さず、自分に利用可能な多項式量のリソース(時間、物質など)のみを有する者が、ランダムに選択されたチャレンジに対するレスポンスに関する無視しうる量の情報のみしか抽出することができない。「短」時間及び「多項式」とは物理装置のサイズに対するものであり、セキュリティパラメータであることに留意されたい。特に、短いとは、リニア又は低次の多項式を意味する。PUFについては、その内容のすべてが参照することによりここに含まれる、B.Gassend、D.Clarke、M van Dijk及びS.Devadasによる「Silicon physical random functions」(Proceedings of the 9th ACM Conference on Computer and Communications Security(CCS’02),2002)においてより詳細に説明される。
【0094】
PUFはときどき、チャレンジ・レスポンスペアから物理システムを再構成することが困難であるという意味において、物理一方向関数と呼ばれる。しかしながら、一方向関数と異なり、PUFは、レスポンスからチャレンジへの変換が困難となることを要求するものではない。PUFについては、すべての問題が、物理装置を利用する効果なくチャレンジからレスポンスへの変換が困難であるということである。
【0095】
具体例として、シリコンPUF、すなわち、半導体集積回路(IC又はチップ)を考える。IC又はチップがPUFを実現する物理システム又は装置としてみなすことができる。ICは同一のデジタルロジック機能を有するよう高い信頼性により大量生産することができるが、各ICは、異なるダイ、ウエハ、プロセスを通じた製造における固有の変形によりそれの遅延特性において一意的なものである。デジタルロジック機能はタイミング制約が満たされることに依存するが、同一のデジタル機能を有する各ICは、これらの制約は満たされないとき、その遅延特性が異なるため、一意的な動作を有することとなる。従って、このような各チップは、一般には同一の入力を異なる出力(すなわち、チャレンジ・レスポンスペア)にマッピングする。従って、IC又はチップは、PUFがチップの設計に基づき評価が(1)容易であって、(2)予測が困難な方法により入力を出力にマッピングする物理ランダム又はPUFを含む複雑な物理システムの一例である。言い換えると、異なるチップの製造の変形により、与えられた入力(チャレンジ)に対し、チップの正確な出力(レスポンス)がどうなるか予測することはほとんど不可能である。
【0096】
具体例1
以下の例は、本発明の各種特徴を例示するためのものであるが、本発明の範囲を具体的な実施例及び説明された使用に限定するものではない。
【0097】
第1及び第2実施例の本例による適用では、1パスプロトコルが、物理ランダム関数又はPUFを実現する物理装置(プロセッサ)に関して説明される。当該適用は、第1主体(Alice16など)から第2主体(Bob18など)に送信される暗号化された入力データによるプログラムの認証された実行を表す。
【0098】
図3は、本発明の実施例による暗号化システム100を示す、図3は、PUF33を実現するプロセッサ30を示す。プロセッサ30は、図1のBob18の役割を担うものとみなすことができ、PUF33は、図1のソースP20の役割を担うものとしてみなすことができる。Bob18とソースP20が独立した(結合されていない)主体である図1と異なり、プロセッサ30とPUF33は共に結合されて示されている。
【0099】
図示された例では、Alice16は、プロセッサ30上でプログラム(コード)を実行することを所望する。登録段階中、Alice16は、チャレンジCをPUF33に送信し、図示されるようにレスポンスAを受信する。登録後、Alice16は、プロセッサ30上でプログラムを実行することを所望する。このため、Alice16は秘密鍵Kを選択する。Alice16は、コードワードWを生成するため、Reed−Solomonエンコーダへの入力として、登録中に発行されたチャレンジ・レスポンスセッションにおいて、(1)秘密鍵Kと(2)チャレンジCに対するレスポンスAを提供する。これは、(d−1)の冗長パリティシンボルPの生成をもたらす。実施例に応じて、第1実施例のプロトコルが利用される場合、Alice16は、
【0100】
【数31】

を構成し、第2実施例が利用される場合、Alice16は、
【0101】
【数32】

を構成する。
【0102】
実行段階中、Alice16は、以下のアイテムをプロセッサ30に供給する。
・C(登録中に提供されるチャレンジ)
・I(選択された実施例に応じて、式(31)又は(32)から)
・プロセッサ30上で実行されるプログラム(ソフトウェア)(秘密鍵Kにより暗号化されてもよい)
・秘密鍵Kにより暗号化された入力データ
チャレンジCを受信すると、登録中、プロセッサ30(Bob)は、チャレンジ・レスポンスセッションにおいてPUF33をクエリし、レスポンス、すなわち、(C,B)を受信する。
【0103】
パリティシンボルPを受信すると、実行中、プロセッサ30は、上述の第1又は第2実施例のプロトコルの1つに従ってワードW’を構成する。プロセッサ30は、秘密鍵Kに対応するk個のポジションにクエスチョンマーク(?)を含めることによりワードW’を構成する。第2実施例のプロトコルが使用される場合、レスポンスBのポジションにイレイジャが追加される。最後に、どのプロトコルが使用されているかに関係なく、送信されるパリティ情報、すなわち、(d−1)のパリティシンボルがワードW’の最後の部分に追加される。その後、ワードW’は、上述のように、秘密鍵K
【0104】
【数33】

を抽出するためオリジナルのコードワード再構成するため、ALU42のReed−Solomonデコーダへの入力として供給される。
【0105】
式(31)及び(32)に示されるように、送信される冗長情報Iの一部として、Alice16はまた、秘密鍵KがALU42により正確に再構成されたか検証するため、プロセッサ30により使用可能なハッシュ(K)をパブリックチャネルを介しプロセッサ30のALU42に送信する。このステップは、訂正ミス又は復号化失敗を導く多すぎる誤りが発生する確率を防ぐ。プロセッサ30のALU42が秘密鍵Kを再構成すると、それはAlice16により送信されるハッシュ(K)と一致するか判断するため、ハッシュ(K)を計算することができる。
【0106】
抽出された秘密鍵Kにより、プロセッサ30は、プログラムによる使用のためオリジナルデータを返すため、秘密鍵Kにより暗号化されたデータを解読する。
【0107】
プログラムの実行後、プロセッサ30は、秘密鍵Kを用いて出力を認証し、及び/又は鍵Kを用いてAlice16に送り返すため出力を暗号化するようにしてもよい。暗号化された出力を受信すると、Alice16は、鍵Kを用いて認証をチェックし、出力を解読するようにしてもよい。このようにして、出力は鍵Kを用いて適切に認証される。
【0108】
上述のシナリオでは、さらに敵対者であるEve17がパブリックチャネルを聴取し、初期の段階において、すなわち、実行前にプロセッサ30へのアクセスを取得することが可能であることが仮定される。この実行において、mEve17は、機械学習アルゴリズムなどを利用して、プロセッサ30の動作を識別するため実験を実行する。例えば、Eve17は、プロセッサ30のソフトウェアモデルを生成するため、数百万の任意のチャレンジを実行することができる。ある時点において、Eve17は、未検出のプロセッサ30を返す。
【0109】
本発明において例示されるような本発明の主要な特徴は、Eve17が任意の多数のチャレンジを用いてプロセッサ30のソフトウェアモデルを構成することが可能であるが、当該モデルはその中にかなりの程度の誤りを有することとなるということである。これは真である。なぜなら、ある時点において、Eve17がAlice16からプロセッサ30に送信されたチャレンジCを傍受する場合、指数的に多数のチャレンジが提示可能であると、Alice16によりプロセッサ30に送信されるチャレンジが、Eve17のソフトウェアモデルからの既知のレスポンスを生じさせる確率は、統計的な意味において極めて小さなものとなる。
【0110】
2パスプロトコル
図4は、本発明の実施例による暗号化システム100を示す。特に、図4は、本発明の2パスプロトコルを示す一例となる暗号化システム100を示す。図4に示されるように、Alice16は、IをBob18に送信し、Bob18は、鍵Kを選択し、IをAlice16に送信する。その間、Eve17はすべてのパブリック通信を聴取する。ソースP20は、Alice16、Bob18及びEve17のそれぞれにレスポンスA、B及びEを提供する。
【0111】
2パスプロトコルでは、Alice16はまず、Alice16がBob18に送信する
【0112】
【数34】

を計算する。パブリックチャネルを介しAlice16から情報Iを受信すると、Bob18は、aとbのハッシュが一致する、すなわち、
【0113】
【数35】

となるすべてのポジションiを含む集合Sを計算する。この集合Sは、
【0114】
【数36】

として計算される。式(38)の第2式は、圧倒的な確率により成り立つ。集合Sは、レスポンスシンボルAのハッシュとレスポンスシンボルBのハッシュの一致するポジションの集合を表す。例えば、AとBがそれぞれ12個のシンボルを有し、AとBにおいてポジション1、3、7及び8が一致していると仮定する。このとき本例では、集合Sは、
【0115】
【数37】

と記すことができる。
【0116】
次に、Bob18は、集合Sを冗長情報IとしてAlice16に送り返す。この送信は、2パスプロトコルの第2通信を構成する。集合Sを受信すると、Alice16は、何れのポジションが一致しているか認識し、当該一致するポジションのAからのaのみを抽出する。この時点において、Bob18とAlice16は、ジョイント共有鍵
【0117】
【数38】

をもたらす共通の情報を知ることとなる。
【0118】
ジョイント共有秘密鍵Kを生成するため、プライバシー拡張が利用される。一実現形態では、ジョイント共有鍵Jはパブリックに利用可能なランダム行列と乗算することにより圧縮される。他の実現形態では、パブリックに利用可能なハッシュ関数がJに対して利用される。
【0119】
敵対者であるEve17は、(1)ソースP3からのE(すなわち、シミュレートされたレスポンス)、(2)I=h(A)、すなわち、各aのハッシュ、及び(3)集合S=I(Alice16とBob18との間のアグリーメントのポジション)を有する。
【0120】
【数39】

展開形式で書かれると、
【0121】
【数40】

となる。
【0122】
2パスプロトコルの本実施例は、長所と短所を提供する。2パスプロトコルの1つの短所は、暗号化された入力による認証された実行が可能でないということである。これは、入力が暗号化されている場合、Alice16は、秘密鍵Kを予め知っている必要があるが、2パスプルとこるでは、Alice16は、当該鍵を予め選択することが許可されていないためである。2パスプロトコルの1つの長所は、Reed−Solomon符号化が不要であるということである。他の長所は、Alice16が、自らのチャレンジ・レスポンスから、Eve17に対してはAを開示せず、Bob18に対しては完全に開示する。
【0123】
さらなる長所は、集合Sにより表されるように、鍵を共有するのに十分なものをBob18(プロセッサ30)と共通に有しているかについて、Bob18(プロセッサ30)はフルコントロール状態にあるということである。言い換えると、Bob18(プロセッサ30)は、Alice16により与えられる情報が、秘密鍵Kの共有を保証するのに十分であるかについての最終的な決定者である。
【0124】
本実施例のさらなる長所は、A、B及びEがベクトルの代わりに順序付けされていない集合とすることができるということである。この場合、Aを集合とすると、Alice16は、当該集合を順序付けし、上記式(35)において記述されているように、h(A)を送信する。Bob18(プロセッサ30)は、h(A)=(h(a),...)を受取り、h(b)と受信した各h(a)を比較する。一致が存在する場合、圧倒的な確率により、b=aであり、jは集合Sに入れられる。
【0125】
以下は、第1主体(Alice16)が、Bob18による処理又は実行と、認証のためAlice16に返すため、第2主体(Bob18)に暗号化されていないデータを送信する2パスプロトコルの具体的な適用である。
【0126】
具体例2
以下の具体例は、本発明の各種特徴を例示するものであって、本発明の範囲を特定の実施例及び説明された使用に限定するものではない。
【0127】
図4を再び参照して、2パスプロトコルの適用は暗号化による認証された実行と呼ばれる。本例では、Alice16は、プロセッサ30上で実行するプログラム(コード)を送信し、プロセッサ30からの返される出力がクローンではなく、実際にはプロセッサ30により処理されたことを確認することを所望する。プログラムがプロセッサ30のみにより処理されることを保証するため、Alice16は、プロセッサ30と秘密鍵を共有することを必要とする。
【0128】
1パスプロトコル及び前述の例とは対照的に、Alice16は、プログラム(ソフトウェア又はコード)と当該プログラムにより実行される関連する入力データを暗号化されていない形式によりプロセッサ30に送信する。
【0129】
2パスプロトコルの原理に従って、Alice16(第1主体)ではなく、プロセッサ30(又は第2主体)が、暗号化及び認証形式によりAlice16に送り返されるプロセッサ30上でプログラムを実行することから生成される出力データを認証及び暗号化するための秘密鍵を生成する。出力データを暗号化形式で受信すると、Alice16は、秘密鍵を抽出し、出力を解読し、クローンではなくプロセッサ30が必要とされる処理を実行したという保証を提供するため、証明書をチェックする。
【0130】
このプロセスが、以下においてより詳細に説明される。
【0131】
実行段階中、Alice16は、
・チャレンジ・レスポンスセッション中にAlice16により発行されたチャレンジC
・レスポンスAから導かれる冗長情報I
・入力データを処理するためのプログラム(ソフトウェア)
・入力データ
を構成し、プロセッサ30に送信する。
【0132】
を受信すると、プロセッサ30は、秘密鍵Kを選択し、I、B(Bは、Alice16から送信されるチャレンジCに対応するPUF33からのレスポンスである)及び選択された秘密鍵Kを用いることによりIを計算する。プロセッサ30は、Alice16から送信されるプログラムを実行し、秘密鍵Kにより出力を認証及び暗号化し、暗号化された出力をAlice16に送り返す。すなわち、次にAlice16は、
・レスポンスBから導かれる冗長情報I
・認証及び暗号化されたプログラム出力データ(何れも秘密鍵Kを使用して)
をプロセッサ30から受け取る。
【0133】
パブリックチャネルを介し暗号化された出力を受信すると、Alice16はI、I及びAを用いて秘密鍵Kを抽出する。秘密鍵KがAlice16により抽出されると、暗号化された出力及び証明書が、秘密鍵Kを用いて解読されてもよく、証明書が真正性についてチェックされる。
【0134】
具体例3
以下の具体例は、本発明の各種特徴を例示するものであって、本発明の範囲を特定の実施例及び説明された使用に限定するものではない。
【0135】
図5は、光PUF30がスマートカード50に埋め込まれ、真正性と識別のため使用されるスマートカードアプリケーションの一例である。本例では、光PUF60と共に接続されて示されるプロセッサ30(Alice)が秘密鍵Kを選択する。
【0136】
Bob18(複数のATMマシーンを備える銀行)がスマートカード50と物理的に接触する登録段階中、Bob18(銀行)は、レーザビーム形式により光PUF60にチャレンジCを発行し、光PUF60への出力における検出器が、衝突したレーザの干渉パターンを検出し、チャレンジ・レスポンスペア(B,C)と呼ばれるチャレンジCへのレスポンスBをBob18(銀行)に出力する。
【0137】
登録段階後しばらくして、スマートカード50は、取引を実行するため、おそらく多数のATMマシーンの1つを介しBob18(銀行)とセキュアに通信することを所望するかもしれない。このため、スマートカード50を銀行のATMマシーン(Bob18)に挿入すると、銀行のATM(Bob18)は、登録中に提示したものと同一のチャレンジCをスマートカード50に提供する。再び、スマートカード50の光PUF60の後方の検出器が、Alice16(プロセッサ)に出力される銀行のATMチャレンジCに対するレスポンスAを計算する。環境及び測定ノイズにより、レスポンスAとBは異なるものであってもよい(式(1)と(2)及び上記説明を参照されたい)。
【0138】
Alice16(プロセッサ)がレスポンスAを受信すると、Alice16(プロセッサ)は、秘密鍵Kを生成し、上述のようにレスポンスAと鍵Kに基づきコードワードWを生成する。生成されたコードワードWから、Alice16(プロセッサ)は、メッセージIを計算する(ここで、Iは冗長情報を表す)。冗長情報Iは、ATM取引に従ってBob18(銀行のATM)に送り返され、鍵Kにより暗号化及び認証される。Bob18(銀行のATM)は、レスポンスAとBが互いに十分近いものである場合、秘密鍵Kを再構成することができ、暗号化された取引を解読及び認証することが可能である。これは、各レスポンスの間のハミング距離d(A,B)が十分小さい、すなわち、閾値tより小さい場合、かつその場合に限って可能である(式(5)を参照されたい)。
【0139】
さらに、敵対者Eve17は、ある時点においてスマートカードを取得し、同様のPUFによる他のスマートカードから有用な情報を抽出するため、ソフトウェアモデルを構成しようとしたかもしれない。しかしながら、ソフトウェアモデル及び他のスマートカードを用いてシミュレートされたレスポンスEを生成する敵対者であるEve17は、レスポンスAとEが十分離れているため、秘密鍵Kに関する情報を取得することができない。すなわち、ハミング距離d(A,E)は閾値tより大きなものとなる(式(7)を参照されたい)。
【0140】
具体例4
以下の具体例は、本発明の各種特徴を例示するものであって、本発明の範囲を特定の実施例及び説明された使用に限定するものではない。
【0141】
図6は、物理システムP20がAliceの指紋Xを測定する生体アプリケーションの一例である。すなわち、登録段階中、Alice16は、物理システムP20を使用し、Aliceの指紋Xを測定する。結果として得られるAは、冗長情報Iを計算するためAlice16により使用される。
【0142】
【数41】

ただし、h(K)は、Alice16により選択されたランダムに選択された秘密鍵Kのハッシュであり、h(A)は、AliceのレスポンスAのハッシュであり、P=[p,...,pd−1]である。
【0143】
Iの最初の2つの要素、すなわち、h(K)とh(A)が、データベース70にこれらの値を格納する(例えば、ATMマシーンの役割を担う)Bob18に提供される。データベース70が一方向関数の画像を含むため、データベースが公開されている場合には、セキュリティは危険にされない。
【0144】
Bob18(ATM)は、Alice16の指紋を2回測定するようにしてもよい。これは、Bob18(ATM)に測定された指紋Bを与える。PUFに関して上述されたものと同様に、AとBは、おそらく異なる測定装置を用いて異なる時点に行われた測定を表す。一般に、AとBは互いに等しいものではない。しかしながら、AとBは同一の指紋Xの測定結果であるため、これらの間のハミング距離d(A,B)は小さなものである。これは、Bob18(ATM)が本発明の方法を用いて、秘密鍵Kを再構成し、それのコミットメントをチェックすることを可能にする。
【0145】
本例では、攻撃者であるEve17の役割は、例えば、Aliceの指紋を含む置かれたコーヒーカップを利用することにより、Aliceの指紋からコピーを取得しようとする。指紋のEveのバージョンは、Eであり、よりノイズが大きなものであり、このため、パブリックデータベース(h(K)及びh(A))及びパブリック通信Pへのアクセスにより、Eveは、秘密鍵Kに関する情報を取得することはできない。
【0146】
本発明が特定の実施例を参照して説明されたが、添付された請求項に与えられるような本発明の趣旨及び範囲から逸脱することなく、多数の変形が可能であるということは理解されるであろう。従って、明細書及び図面は、例示的なものとみなされるべきであり、添付された請求項を範囲を限定するものではない。
【0147】
添付された請求項を解釈するのに、a)「有する」という単語は、与えられた請求項に列挙されるもの以外の他の要素又はステップの存在を排除するものではなく、b)要素に先行する「ある」という単語は、当該要素が複数存在することを排除するものではなく、c)請求項の参照符号はその範囲を限定するものではなく、d)すべての「手段」は、同一のアイテム又はハードウェア、又はソフトウェアにより実現される構成又は機能により表されてもよく、e)開示された各要素は、ハードウェア部分(個別の電子回路)、ソフトウェア部分(コンピュータプログラミングなど)、又はこれらの任意の組み合わせから構成されてもよい。
【図面の簡単な説明】
【0148】
【図1】図1は、本発明の実施例による1パスプロトコルを示す暗号化システムの図である。
【図2】図2a及び2bは、本発明の実施例による1パスプロトコルの計数2の向上を示すガウス分布曲線である。
【図3】図3は、本発明の他の実施例による1パスプロトコルを示す暗号化システムの図である。
【図4】図4は、本発明のさらなる他の実施例による1パスプロトコルを示す暗号化システムの図である。
【図5】図5は、本発明の実施例によるスマートカードアプリケーションを示す暗号化システムの図である。
【図6】図6は、本発明の実施例による生体アプリケーションを示す暗号化システムの図である。

【特許請求の範囲】
【請求項1】
第1主体と第2主体との間の秘密鍵アグリーメントの方法であって、
(a)前記第1主体により、ソースPからレスポンスAを受信するステップと、
(b)前記第2主体により、前記ソースPからレスポンスBを受信するステップと、
(c)前記第1主体により、前記第1主体により選ばれた秘密鍵Kと前記レスポンスAを含む入力を有するコードワードWの出力として、(d−1)のパリティシンボルを生成するステップと、
(d)前記第1主体により、前記(d−1)のパリティシンボルをパブリック通信チャネルを介し前記第2主体に送信するステップと、
(e)前記第2主体により、前記秘密鍵Kを決定するため、前記(d−1)のパリティシンボルと前記レスポンスBとを含む入力を有するワードW’を生成するステップと、
を有することを特徴とする方法。
【請求項2】
請求項1記載の方法であって、
前記レスポンスAとBは、前記第1及び第2主体のそれぞれから生成されるチャレンジCに応答して前記第1及び第2主体により受信されることを特徴とする方法。
【請求項3】
請求項1記載の方法であって、
前記レスポンスAは、A=(a,...,a)の形式のシンボルシーケンスから構成されることを特徴とする方法。
【請求項4】
請求項1記載の方法であって、
前記レスポンスBは、B=(b,...,b)の形式のシンボルシーケンスから構成されることを特徴とする方法。
【請求項5】
請求項1記載の方法であって、
前記秘密鍵Kは、K=(k,...,k)の形式のシンボルシーケンスから構成されることを特徴とする方法。
【請求項6】
請求項1記載の方法であって、
前記秘密鍵Kは、d(A,B)をシンボルシーケンスAとBの間のハミング距離、dを最小距離、kを前記秘密鍵Kのシンボル数としたとき、不等式d(A,B)≦(d−1−k)/2を満足することによって、前記(d−1)のパリティシンボル及び前記レスポンスBから決定可能であることを特徴とする方法。
【請求項7】
請求項1記載の方法であって、
前記コードワードは、Reed−Solomonコードワードであることを特徴とする方法。
【請求項8】
請求項1記載の方法であって、
前記秘密鍵Kは、Eを前記秘密鍵Kを学習しようとする攻撃者により取得されるシンボルシーケンス、d(A,E)をシンボルシーケンスAとEの間のハミング距離、dを最小距離としたとき、不等式d(A,E)≧d−1が満足される場合、前記第1及び第2主体以外の第三者により決定不可能であることを特徴とする方法。
【請求項9】
第1主体と第2主体の間の秘密鍵アグリーメントの方法であって、
登録段階中、
(a)時間t1において、チャレンジCを前記第1主体からソースに送信するステップと、
(b)前記第1主体により、前記チャレンジCに対するレスポンスAを受信するステップと、
(c)時間t2において、前記チャレンジCを前記第2主体から前記ソースに送信するステップと、
(d)前記第2主体により、前記チャレンジCに対するレスポンスBを受信するステップと、
符号化段階中、前記第1主体により、
(a)秘密鍵Kを選択するステップと、
(b)前記秘密鍵Kと前記レスポンスAを用いて(d−1)のパリティシンボルPを生成することによりコードワードWを形成するステップと、
(c)前記(d−1)のパリティシンボルPをパブリック通信チャネルを介し前記第2主体に送信するステップと、
復号化段階中、前記第2主体により、
(a)前記秘密鍵Kを決定するため、前記(d−1)の送信されたパリティシンボルと前記レスポンスBとを用いてワードW’を構成するステップと、
を有することを特徴とする方法。
【請求項10】
請求項9記載の方法であって、
前記レスポンスAは、A=(a,...,a)の形式のシンボルシーケンスから構成されることを特徴とする方法。
【請求項11】
請求項9記載の方法であって、
前記レスポンスBは、B=(b,...,b)の形式のシンボルシーケンスから構成されることを特徴とする方法。
【請求項12】
請求項9記載の方法であって、
前記秘密鍵Kは、K=(k,...,k)の形式のシンボルシーケンスから構成されることを特徴とする方法。
【請求項13】
請求項9記載の方法であって、
前記秘密鍵Kは、d(A,B)をシンボルシーケンスAとBの間のハミング距離、dを最小距離、kを前記秘密鍵Kのシンボル数としたとき、不等式d(A,B)≦(d−1−k)/2を満足する場合、かつその場合に限って、前記ワードW’から決定可能であることを特徴とする方法。
【請求項14】
請求項9記載の方法であって、
前記コードワードWは、Reed−Solomonコードワードであることを特徴とする方法。
【請求項15】
請求項9記載の方法であって、
前記秘密鍵Kは、Eを前記秘密鍵Kを学習しようとする攻撃者により取得されるシンボルシーケンス、d(A,E)をシンボルシーケンスAとEの間のハミング距離、dを最小距離としたとき、不等式d(A,E)≧d−1が満足される場合、かつその場合に限って、前記第1及び第2主体以外の第三者により決定不可能であることを特徴とする方法。
【請求項16】
第1主体と第2主体の間の秘密鍵アグリーメントの方法であって、
前記第1主体により、ソースPからレスポンスAを受信するステップと、
前記第2主体により、前記ソースPからレスポンスBを受信するステップと、
前記第1主体により、前記第1主体により選ばれた秘密鍵Kと前記レスポンスAとを含む入力を有するコードワードWの出力として、(d−1)のパリティシンボルを生成するステップと、
前記第1主体により、Aにおいて評価される擬似ランダム関数と前記(d−1)のパリティシンボルをパブリック通信チャネルを介し前記第2主体に送信するステップと、
前記第2主体により、前記第1主体により選択された前記秘密鍵Kを決定するため、前記(d−1)のパリティシンボルと、前記擬似ランダムにより評価されたAと、前記レスポンスBとを含む入力を有するワードW’を生成するステップと、
を有することを特徴とする方法。
【請求項17】
請求項16記載の方法であって、
前記擬似ランダム関数は、Aを前記ソースPからのレスポンスAとするとき、h(A)=(h(a),...,h(a))形式のハッシュ関数であることを特徴とする方法。
【請求項18】
請求項16記載の方法であって、
前記レスポンスAは、A=(a,...,a)の形式のシンボルシーケンスから構成されることを特徴とする方法。
【請求項19】
請求項16記載の方法であって、
前記レスポンスBは、B=(b,...,b)の形式のシンボルシーケンスから構成されることを特徴とする方法。
【請求項20】
請求項16記載の方法であって、
前記秘密鍵Kは、K=(k,...,k)の形式のシンボルシーケンスから構成されることを特徴とする方法。
【請求項21】
請求項16記載の方法であって、
前記秘密鍵Kは、d(A,B)をシンボルシーケンスAとBの間のハミング距離、dを最小距離、kを前記秘密鍵Kのシンボル数としたとき、不等式d(A,B)≦(d−1−k)を満足する場合、前記ワードW’から決定可能であることを特徴とする方法。
【請求項22】
請求項16記載の方法であって、
前記コードワードWは、Reed−Solomonコードワードであることを特徴とする方法。
【請求項23】
請求項16記載の方法であって、
前記秘密鍵Kは、Eを前記秘密鍵Kを学習しようとする攻撃者により取得されるシンボルシーケンス、d(A,E)をシンボルシーケンスAとEの間のハミング距離、dを最小距離としたとき、不等式d(A,E)≧d−1が満足される場合、前記第1及び第2主体以外の第三者により決定不可能であることを特徴とする方法。
【請求項24】
第1主体と第2主体の間の秘密鍵アグリーメントの方法であって、
登録段階中、
時間t1において、チャレンジCを前記第1主体からソースに送信するステップと、
前記チャレンジCに対するレスポンスAを受信するステップと、
時間t2において、前記チャレンジCを前記第2主体から前記ソースに送信するステップと、
符号化段階中、
前記第1主体により、秘密鍵Kを選択するステップと、
前記秘密鍵Kと、登録段階中に前記第1主体により受信されるレスポンスAと、(d−1)のパリティシンボルPとを用いてコードワードWを形成するステップと、
前記第1主体からのAの擬似ランダム関数h(A)と、前記(d−1)のパリティシンボルPとをパブリック通信チャネルを介し前記第2主体に送信するステップと、
復号化段階中、
前記秘密鍵Kを決定するため、前記第2主体によりAにおいて評価される前記擬似ランダム関数と前記(d−1)の送信されたパリティシンボルとを用いてワードW’を構成するステップと、
を有することを特徴とする方法。
【請求項25】
請求項24記載の方法であって、
前記擬似ランダム関数は、ハッシュ関数h(A)=(h(a),...,h(a))であることを特徴とする方法。
【請求項26】
請求項24記載の方法であって、
前記レスポンスAは、A=(a,...,a)の形式のシンボルシーケンスから構成されることを特徴とする方法。
【請求項27】
請求項24記載の方法であって、
前記レスポンスBは、B=(b,...,b)の形式のシンボルシーケンスから構成されることを特徴とする方法。
【請求項28】
請求項24記載の方法であって、
前記秘密鍵Kは、K=(k,...,k)の形式のシンボルシーケンスから構成されることを特徴とする方法。
【請求項29】
請求項24記載の方法であって、
前記秘密鍵Kは、d(A,B)をシンボルシーケンスAとBの間のハミング距離、dを最小距離、kを前記秘密鍵Kのシンボル数としたとき、不等式d(A,B)≦(d−1−k)を満足する場合、前記ワードW’から決定可能であることを特徴とする方法。
【請求項30】
請求項24記載の方法であって、
前記コードワードWは、Reed−Solomonコードワードであることを特徴とする方法。
【請求項31】
請求項24記載の方法であって、
前記秘密鍵Kは、Eを前記秘密鍵Kを学習しようとする攻撃者により取得されるシンボルシーケンス、d(A,E)をシンボルシーケンスAとEの間のハミング距離、dを最小距離としたとき、不等式d(A,E)≧d−1が満足される場合、前記第1及び第2主体以外の第三者により決定不可能であることを特徴とする方法。
【請求項32】
第1主体と第2主体の間の秘密鍵アグリーメントの方法であって、
前記第1主体により、ソースPからレスポンスA(Aは、シンボルの集合である)を受信するステップと、
前記第2主体により、前記ソースPからレスポンスB(Bは、シンボルの集合である)を受信するステップと、
前記第1主体により、前記シンボルの集合Aをシーケンスa,...,aに順序付けするステップと、
前記第1主体により、前記順序付けされたシンボルの集合Aの擬似ランダム関数h(A)を計算するステップと、
前記第1主体により、h(A)=(h(a),...,h(a))を前記第2主体に送信するステップと、
前記第2主体により、集合Bの各シンボルbについて、前記順序付けされたシンボルの集合Bの擬似ランダム関数h(b)を計算するステップと、
前記第2主体により、h(a)=h(b)となるようなBの要素が存在するすべてのポジションjを含む集合Sを計算するステップと、
前記第2主体により、前記集合Sを前記第1主体に送り返すステップと、
前記第1主体と前記第2主体の両者により、h(a)=h(b)となるSのシンボルaと集合Bのシンボルbとに基づき、ジョイント鍵Jを抽出するステップと、
を有することを特徴とする方法。
【請求項33】
請求項32記載の方法であって、さらに、
プライバシー拡張を用いて前記ジョイント鍵Jから秘密鍵Kを抽出するステップを有することを特徴とする方法。
【請求項34】
請求項33記載の方法であって、
前記プライバシー拡張の使用は、前記ジョイント鍵Jと乗算するためのランダム行列乗数と、ハッシュ関数において評価されるジョイント鍵Jの1つを使用することを特徴とする方法。
【請求項35】
請求項32記載の方法であって、
前記レスポンスAとBは、前記第1主体と前記第2主体から生成されるチャレンジCに応答して、前記第1主体と前記第2主体のそれぞれにより受信されることを特徴とする方法。
【請求項36】
請求項32記載の方法であって、
前記レスポンスAは、A=(a,...,a)の形式のシンボルシーケンスから構成されることを特徴とする方法。
【請求項37】
請求項32記載の方法であって、
前記レスポンスBは、B=(b,...,b)の形式のシンボルシーケンスから構成されることを特徴とする方法。
【請求項38】
請求項32記載の方法であって、
前記秘密鍵Kは、K=(k,...,k)の形式のシンボルシーケンスから構成されることを特徴とする方法。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公表番号】特表2007−510349(P2007−510349A)
【公表日】平成19年4月19日(2007.4.19)
【国際特許分類】
【出願番号】特願2006−537534(P2006−537534)
【出願日】平成16年10月28日(2004.10.28)
【国際出願番号】PCT/IB2004/052235
【国際公開番号】WO2005/043805
【国際公開日】平成17年5月12日(2005.5.12)
【出願人】(590000248)コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ (12,071)
【Fターム(参考)】