説明

近似的なシミュレーション関係の確認に用いられる測度分解装置及びプログラム

【課題】近似的なシミュレーション関係の確認に用いられる測度分解装置及びプログラムを提供すること。
【解決手段】第1の入力測度と同値な測度の集合及び第2の入力測度と同値な測度の集合をリストアップし、前記第1の入力測度と同値な測度のうちの1つと前記第2の入力測度と同値な測度のうちの1つとから構成される対の集合を生成する対リストアップユニットと、対間の距離が一定以下である対をチェックする対チェックユニットと、前記対間の距離が一定以下である対に対して、対の距離を縮める操作を行って分解後の測度を生成する対調整ユニットと、前記分解後の測度のそれぞれを同値な測度に写すことにより同値遷移後の測度の対を生成する同値遷移ユニットと、前記同値遷移後の測度の対からなる対リストを記憶する対リスト保存メモリと、前記対リスト保存メモリに記憶されている対リストから、未使用の同値遷移後の測度の対を選択して出力する対選択ユニットとを具備する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、タスクPIOA(Task-Structured Probabilistic I/O Automata)を用いた暗号プロトコルの安全性証明に関する。
【背景技術】
【0002】
暗号プロトコルの解析方法には様々なものがあるが、プロトコルをタスクPIOAを用いて表現し、汎用的結合可能性のフレームワークを用いて解析する方法が知られている(例えば「非特許文献1」参照。)。この解析方法は、タスクPIOAで表現した現実プロトコルから理想プロトコルへのインプリメンテーション(implementation)関係を示すことによりプロトコルの安全性を証明するというものである。一般に、シミュレーション(simulation)関係が満たされるとき、インプリメンテーション関係も満たされる。そこで、実際にインプリメンテーション関係を示す際には、インプリメンテーション関係よりも証明が容易なシミュレーション関係の存在を証明する。この場合、証明可能なプロトコルの範囲はシミュレーション関係を満たすプロトコルに制限される。
【0003】
上記非特許文献1の解析方法は、厳密なシミュレーション関係を用いるものであるが、シミュレーション関係の条件を緩和したいくつかの近似的なシミュレーション関係が提案されている。厳密なシミュレーション関係を確認する操作の一部は自動化されている(例えば「非特許文献2」参照。)。しかしながら、近似的なシミュレーション関係を確認する操作(例えば「非特許文献3」参照。)については自動化されていない。
【非特許文献1】R.Canetti et al., "Using Task-Structured Probabilistic I/O Automata to Analyze an Oblivious Transfer Protocol", IACR e-print/2005/452, 2005.
【非特許文献2】櫟粛之,「Task-PIOAに基づくIdeal-Functionality実現の証明の自動化」,信学技報AI2006-18
【非特許文献3】R.Segala and A.Turrini, “Approximated Computationally Bounded Simulation Relations for Probabilistic Automata”, IEEE-Computer-Security-Foundations-Symposium-2007
【発明の開示】
【発明が解決しようとする課題】
【0004】
本発明は、近似的なシミュレーション関係を確認する操作については自動化されていない点に鑑みてなされたものであり、近似的なシミュレーション関係の確認に用いられ、特に、これまでの厳密なシミュレーション関係の確認の際には必要ではなかった測度分解操作を行う測度分解装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明の一観点に係る測度分解装置は、入力された第1の入力測度と第2の入力測度のそれぞれを分解する測度分解装置である。該測度分解装置は、前記第1の入力測度と同値な測度の集合及び前記第2の入力測度と同値な測度の集合をリストアップし、前記第1の入力測度と同値な測度のうちの1つと前記第2の入力測度と同値な測度のうちの1つとから構成される対の集合を生成する対リストアップユニットと、対間の距離が一定以下である対をチェックする対チェックユニットと、前記対間の距離が一定以下である対に対して、対の距離を縮める操作を行って分解後の測度を生成する対調整ユニットと、前記分解後の測度のそれぞれを同値な測度に写すことにより同値遷移後の測度の対を生成する同値遷移ユニットと、前記同値遷移後の測度の対からなる対リストを記憶する対リスト保存メモリと、前記対リスト保存メモリに記憶されている対リストから、未使用の同値遷移後の測度の対を選択して出力する対選択ユニットとを具備する。
【発明の効果】
【0006】
本発明によれば、近似的なシミュレーション関係の確認に用いられる測度分解装置及びプログラムを提供できる。
【発明を実施するための最良の形態】
【0007】
以下、図面を参照しながら本発明の実施形態を説明する。本実施形態では近似的なシミュレーション関係の確認に用いられる測度分解装置について説明する。この当該装置は、コンピュータを測度分解装置として機能させるためのプログラムとして実現することも可能である。
【0008】
本実施形態では、以下の性質を持つ関係を、確認の対象となる関係とする。
【0009】
(1)2つの測度に関して、近似的な関係Rεの元となっている厳密な関係Rについて、Rが成立しているならば、2つの測度のトレースが等しくなるような関係。すなわちμRμ→tdist(μ)=tdist(μ)である。
【0010】
(2)分解前の測度について当該関係Rεが成立するとは、分解後の測度について誤差のない厳密な関係Rが成立することを意味するような関係。ここで、測度はμεμ→μ’Rμ’,μ=(1−ε)μ’+εμ”,μ=(1−ε)μ’+εμ”のように分解できる。ただし、εは微小な値である。
【0011】
ここで、本実施形態に係る測度分解装置の具体的構成を説明する前に、関連する概念としてPIOAの定義、タスクPIOA及びタスクスケジューラの定義、ならびにシミュレーション関係の定義についてそれぞれ説明する。
【0012】
先ず、測度については、例えば非特許文献1の「2.1.1 Probability-measures」の項において定義されている。
【0013】
PIOAについては、例えば非特許文献1の「Definition 2.5」の項において定義されている。PIOA(Probabilistic I/O Automata;確率的入出力オートマトン)は、Qを状態の可算集合,q ̄∈Qを初期状態,Iを入力アクションの可算集合,Oを出力アクションの可算集合,Hを内部アクションの可算集合,D⊆(Q×(I∪O∪H)×Disc(Q))を遷移関係とするとき、Ρ=(Q,q ̄,I,O,H,D)で表される。I∪O∪HをAと表記し、Ρの「アクション」と呼ぶ。なお、表記「q ̄」において本来ならば「 ̄」は「q」の直上に記されるが、本明細書では「q ̄」と表記している。I∪OをEと表記し、Ρの「外部アクション」と呼ぶ。PIOA Ρの「実行フラグメント」とは、状態とアクションの有限又は無限の列であって状態で始まるものである。実行フラグメントのうち最初の状態が初期状態であるものを「実行」と呼ぶ。「トレース」とは、実行フラグメントを外部アクションに制限したものである。
【0014】
タスクPIOA及びタスクスケジューラについては、例えば非特許文献1の「Definition 3.1」「Definition 3.2」の項においてそれぞれ定義されている。Τ=(Ρ,R)の対を「タスクPIOA」と呼ぶ。Ρ=(Q,(q) ̄,I,O,H,D)はPIOAであり、Rは、locally−controlled action(O∪H)上の同値類である。なお、集合Sにおいてa,b,c∈Sに対し、二項関係〜が反射律(a〜a)、対称律(a〜b⇒b〜a)、推移律(a〜bかつb〜c⇒a〜c)を満たすとき、「〜」は同値関係という。ここで、Rの要素を「タスク(task)」という。Τ=(Ρ,R)を閉じたタスクPIOAとする。Τの「タスクスケジュラ」は、R内のタスクの有限個または無限個の列ρ=T・・・と定義される。タスクPIOAの実行フラグメントの分布は、タスクスケジューラ内のタスクを順に施していくことによって刻々と変化する。このプロセス(確率的な実行)を記述するのがapply関数である。apply関数は、有限の実行フラグメント上の離散確率測度とタスクスケジュールの対を入力とし、実行フラグメント上の離散確率測度を出力する関数である。ここで、μを実行フラグメント上の確率測度とするとき、tdist(μ)はμに含まれる各実行フラグメントに対してトレースをとることによって得られる像測度である。
【0015】
ここで、タスクPIOAの動作履歴について、一例を挙げて説明する。
【0016】
先ず「実行フラグメント(execution fragment)」は、状態から始まりアクションと状態が交互に出現する列のことであり、例えば1/2{q+qq’a’q’a’q’}で表される。但し、q,q,q,q,q’,q’,q’,q’’∈Q(状態)であり、a,a,a’,a’∈E(外部アクション)であり、a3,a’3∈H(内部アクション)であるとする。
【0017】
「実行(execution)」とは、初期状態から始まる実行フラグメントのことである。PIOAであるΡについての実行の全ての集合をexecs(Ρ)と表記する。
【0018】
トレース(trace)とは、実行フラグメントを外部アクションに制限して得られる列のことであり、例えば上記に対応するものは、1/2{a+aa’}と表すことができる。ここで、aはqに対応し、aa’はqq’a’a’q’に対応する。
【0019】
「tdist」とは、各トレースの出現確率を表す確率分布のことである。
【0020】
「遷移」とは、apply関数によって、実行フラグメント上の分布にタスクスケジューラの列を作用させて、新しい分布に写すことをいう。遷移の一例は、例えばq→1/2{qq’+qq’’}と表される。
【0021】
シミュレーション関係については、例えば非特許文献1の「Definition 3.23」「Definition 3.24」「Definition 3.25」の項において定義されている。
【0022】
図1に示すようなタスクスケジュール間の対応付け写像が存在するとき、RはSimulation(シミュレーション)関係であるという。厳密には、シミュレーション関係は次のように定義される。
【0023】
Τ=(Ρ,R),Τ=(Ρ,R)をcomparableであってclosedであり、action−deterministicなタスクPIOAsとする。Rは、Ρの有限execution上の離散分布からΡの有限execution上の離散分布への関係であり、εRεならば、tdist(ε)=tdist(ε)とする。また、c:(R×R)→Rとする。開始条件すなわちδ(q ̄)Rδ(q ̄)を満たし、ステップ条件すなわちεRεでρ∈Rであり、εがρとconsistentであり、εがfull(c)(ρ)とconsistentであって、T∈Rとする。このとき、ε’Ε(R)ε’,ε’=apply(ε,T),ε’=apply(ε,c(ρ,T))を満たすとき、RはΤからΤへのシミュレーション関係である。
【0024】
関連する概念としては以上である。次に、冒頭で述べた確認の対象となる関係、すなわち近似的なシミュレーション関係を次のように定義する。
【0025】
2つの実行の上の測度μ,μを以下のように分解する。
【0026】
μ=(1−ε)μ’+εμ’’
μ=(1−ε)μ’+εμ’’
ここで、εは微小な値である。μ’Rμ’となる分解方法が存在するとき、近似的なシミュレーション関係(μεμ)が成り立つと定義する。ここで、Rは厳密なシミュレーション関係を表す。
【0027】
シミュレーション関係の確認について説明する。シミュレーション関係の確認は3つの段階、すなわち(1)実システムのタスクPIOAモデルと理想システムのタスクPIOAモデルとを構成する段階、(2)中間システムを構成する段階、(3)実システムから中間システムへのシミュレーション関係、及び中間システムから理想システムへのシミュレーション関係の確認を行う段階を有する。このうち、(3)の段階のみが自動化されており、これを自動実行するユニットを「関係自動確認ユニット」と呼ぶことにする。関係自動確認ユニットについては例えば非特許文献2に記載されている。
【0028】
図2は、一実施形態に係る近似的なシミュレーション関係の自動確認装置を示すブロック図である。この装置は2つの測度を入力とし、これらが近似的なシミュレーション関係を充足するかそれとも不充足であるかを結果として出力する装置であって、測度分解ユニット1と、関係自動確認ユニット2と、結果判定部3と、終了判定部4とを具備する。
【0029】
図3は、図2に示される近似的なシミュレーション関係の自動確認装置の動作手順を示すフローチャートである。先ず測度分解ユニット1に測度が入力される(ステップS1)。測度分解ユニット1はこの入力された測度を分解し、いくつかの分解パターンを出力する(ステップS2)。測度分解ユニット1が測度をどのように分解するかについては後述する。分解された測度は、関係自動確認ユニット2に送られる。関係自動確認ユニット2は、分解された測度について、これがシミュレーション関係を充足するかそれとも不充足であるかを確認し、その結果を出力する(ステップS3)。次に、結果判定部3は、ステップ3において出力された結果が「充足」であれば、その旨を出力して処理を終了し、「不充足」であればステップS5に移行する(ステップS4)。ステップS5では、ステップS2において得られている分解パターンの全てについて関係確認を試したかを終了判定部4が判定する。全ての分解パターンについて関係確認を行っていないならば、その分解パターンが測度分解ユニット1から出力され、関係自動確認ユニット2に与えられるよう、制御はステップS2に移行する。全ての分解パターンについて関係確認を終えており、全て「不充足」の結果となっているならば、終了判定部4はその旨を出力して処理を終了する。
【0030】
なお、図2に示される自動確認装置の構成及びその動作手順はあくまで一例であって、実施形態に係る測度分解ユニットは、これとは別の装置構成に適用することができる。
【0031】
従来のシミュレーション関係の自動確認装置は、本実施形態のような測度分解ユニットを備えておらず、入力された測度を分解することなく、関係自動確認ユニットによりシミュレーション関係を充足するか否かを確認するものである。
【0032】
測度分解ユニット1は、本実施形態の冒頭で説明した性質を持つような近似的なシミュレーション関係を確認するために用いられ、図4に示されるように、コントローラ10と、対リストアップユニット11と、対チェックユニット12と、対調整ユニット13と、同値遷移ユニット14と、対リスト保存メモリ15と、対選択ユニット16とを具備する。
【0033】
コントローラ10は、当該測度分解ユニット1が何回目に呼び出されたかを管理している。これは、図3のステップS5に示した処理(全ての分解パターンを試したかどうかの判定)に関係する。コントローラ10は、測度分解ユニット1が最初に呼び出されたときは、入力された測度を対リストアップユニット11に渡し、当該測度の分解処理が行われるようにする。そして測度分解ユニット1の2回目以降の呼び出しの際には、対選択ユニット16を制御し、対リスト保存メモリ15に保存されている未使用の測度(分解された測度)が出力されるようにする。
【0034】
測度分解ユニット1には、暗号プロトコルの実行履歴である実行が測度として入力される。ここで、2つの測度(第1の入力測度μと第2の入力測度μ)が測度分解ユニット1に入力され、測度分解ユニット1が第1の入力測度と第2の入力測度のそれぞれを分解するものとする。μ,μは、状態とアクションが交互に出現するような列であり、アクションには、入力アクション、出力アクション、内部アクションがある。
【0035】
対リストアップユニット11は、第1の入力測度μと同値な測度の集合と、第2の入力測度μと同値な測度の集合とをリストアップし、第1の入力測度μと同値な測度のうちの1つと、第2の入力測度μと同値な測度のうちの1つとにより構成される対の集合を作る。
【0036】
具体的には、対リストアップユニット11はμ,μに対してtdist(μ)を計算する。これは、μ,μについて、入力アクションと出力アクションのみを残すことによって得られる。次に、対リストアップユニット11はtdist(μ)=tdist(μi,ji)となるような、測度μi,jiをリストアップする。つまり、μi,jiは、状態と内部アクションの違いは無視して、入力アクションと出力アクションについて比較したときに、μと同じになるものである。
【0037】
対チェックユニット12は、対の間の距離が一定以下であるかをチェックする。
【0038】
具体的には、対チェックユニット12は全ての対(μ1,j1,μ2,j2),(j1=1,...,m,j2=1,...,n)について、各実行フラグメントαに対する測度の差を求め、その総和すなわち
【数1】

【0039】
を計算し、この値がε以下になる対をリストアップする。その結果、残った対を(μ1,j1,μ2,j2),(j1=1,...,m’,j2=1,...,n’)とする。
【0040】
対調整ユニット13は、対チェックユニット12によるチェックを通過した対、すなわち対間の距離が一定以下である対に対して、対の距離を縮める操作を行う。
【0041】
具体的には、対チェックユニット12によるチェックの結果、残った対すなわち(μ1,j1,μ2,j2),(j1=1,...,m’,j2=1,...,n’)について、対調整ユニット13は
μ1,j1=(1−ε)μ’1,j1+εμ’’1,j1’
μ2,j2=(1−ε)μ’2,j2+εμ’’2,j2’
μ’1,j1=μ’2,j2=min(μ1,j1,μ2,j2)となるような分解後の測度を生成する。尚、各実行フラグメントαに対してμ’1,j1(α)=μ’2,j2(α)=min(μ1,j1(α),μ2,j2(α))である。
【0042】
同値遷移ユニット14は、このようにして対調整ユニット13により生成された対をなす測度のそれぞれを同値な測度に写す。これにより同値遷移後の測度の対を生成する。同値遷移後の測度の対は、対リストとして対リスト保存メモリ15に格納される。
【0043】
具体的には、
【数2】

【0044】
とするとき、
【数3】

【0045】
となる分布を考える。同値遷移ユニット14は、
【数4】

【0046】
を対リストメモリ15に加える。
【0047】
なお、「i」が添え字「j」の添え字である場合に、本明細書では、「ji」(例えば「j1」「j2」)と表記している箇所もあるが、両者の意味するところは同じである。また、表記「μ~」において本来ならば「~」は「μ」の直上に記されるが、本明細書では「μ~」と表記している。
【0048】
図5にμの同値類及びμの同値類をそれぞれ示す。また、μの同値類について、遷移した同値な測度の一例としてμ~’1,2を図6に示す。
【0049】
対選択ユニット16は、コントローラ10から呼び出されるたびに、対リスト保存メモリ15の中から1つの測度を選択して出力する。対選択ユニット16が一度出力した測度については、「使用済み」としてチェックが付与される。「使用済み」とチェックされた測度が以後出力され、関係自動確認に用いられることがないよう対選択ユニット16は制御を行う。
【0050】
以上説明した本発明の実施形態によれば、近似的なシミュレーション関係の確認に用いられ、入力された測度に対して測度分解操作を行う測度分解ユニット及びプログラムを提供することができる。
【0051】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【0052】
【図1】シミュレーション関係を説明するための図
【図2】一実施形態に係る近似的なシミュレーション関係の自動確認装置を示すブロック図
【図3】図2に示される近似的なシミュレーション関係の自動確認装置の動作手順を示すフローチャート
【図4】一実施形態に係る測度分解ユニットを示すブロック図
【図5】μの同値類及びμの同値類をそれぞれ示す図
【図6】同値遷移の一例を示す図
【符号の説明】
【0053】
1…測度分解ユニット;
2…関係自動確認ユニット;
3…結果判定部;
4…終了判定部;
10…コントローラ;
11…対リストアップユニット;
12…対チェックユニット;
13…対調整ユニット;
14…同値遷移ユニット;
15…対リスト保存メモリ;
16…対選択ユニット

【特許請求の範囲】
【請求項1】
入力された第1の入力測度と第2の入力測度のそれぞれを分解する測度分解装置であって、
前記第1の入力測度と同値な測度の集合及び前記第2の入力測度と同値な測度の集合をリストアップし、前記第1の入力測度と同値な測度のうちの1つと前記第2の入力測度と同値な測度のうちの1つとから構成される対の集合を生成する対リストアップユニットと、
対間の距離が一定以下である対をチェックする対チェックユニットと、
前記対間の距離が一定以下である対に対して、対の距離を縮める操作を行って分解後の測度を生成する対調整ユニットと、
前記分解後の測度のそれぞれを同値な測度に写すことにより同値遷移後の測度の対を生成する同値遷移ユニットと、
前記同値遷移後の測度の対からなる対リストを記憶する対リスト保存メモリと、
前記対リスト保存メモリに記憶されている対リストから、未使用の同値遷移後の測度の対を選択して出力する対選択ユニットとを具備する測度分解装置。
【請求項2】
前記第1及び第2の測度として、暗号プロトコルの実行履歴である実行を入力する請求項1記載の測度分解装置。
【請求項3】
前記対チェックユニットは、全ての対について各実行フラグメントに対する測度の差を求めると共に、その総和を求め、前記総和が所定値以下となる対を前記対間の距離が一定以下である対としてチェックする請求項1記載の測度分解装置。
【請求項4】
前記対間の距離が一定以下である対が(μ1,j1,μ2,j2),(j1=1,...,m’,j2=1,...,n’)であるとき、
μ1,j1=(1−ε)μ’1,j1+εμ’’1,j1’
μ2,j2=(1−ε)μ’2,j2+εμ’’2,j2’
μ’1,j1=μ’2,j2=min(μ1,j1,μ2,j2)となるような分解後の測度を生成する請求項1記載の測度分解装置。
【請求項5】
入力された第1の入力測度と第2の入力測度のそれぞれを分解する測度分解プログラムであって、
コンピュータを、
前記第1の入力測度と同値な測度の集合及び前記第2の入力測度と同値な測度の集合をリストアップし、前記第1の入力測度と同値な測度のうちの1つと前記第2の入力測度と同値な測度のうちの1つとから構成される対の集合を生成する対リストアップユニット、
対間の距離が一定以下である対をチェックする対チェックユニット、
前記対間の距離が一定以下である対に対して、対の距離を縮める操作を行って分解後の測度を生成する対調整ユニット、
前記分解後の測度のそれぞれを同値な測度に写すことにより同値遷移後の測度の対を生成する同値遷移ユニット、
前記同値遷移後の測度の対からなる対リストを記憶する対リスト保存メモリ、
前記対リスト保存メモリに記憶されている対リストから、未使用の同値遷移後の測度の対を選択して出力する対選択ユニットとして機能させるための測度分解プログラム。
【請求項6】
前記第1及び第2の測度として、暗号プロトコルの実行履歴である実行を入力する請求項5記載の測度分解プログラム。
【請求項7】
前記対チェックユニットは、全ての対について各実行フラグメントに対する測度の差を求めると共に、その総和を求め、前記総和が所定値以下となる対を前記対間の距離が一定以下である対としてチェックする請求項5記載の測度分解プログラム。
【請求項8】
前記対間の距離が一定以下である対が(μ1,j1,μ2,j2),(j1=1,...,m’,j2=1,...,n’)であるとき、
μ1,j1=(1−ε)μ’1,j1+εμ’’1,j1’
μ2,j2=(1−ε)μ’2,j2+εμ’’2,j2’
μ’1,j1=μ’2,j2=min(μ1,j1,μ2,j2)となるような分解後の測度を生成する請求項5記載の測度分解プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2009−210648(P2009−210648A)
【公開日】平成21年9月17日(2009.9.17)
【国際特許分類】
【出願番号】特願2008−51187(P2008−51187)
【出願日】平成20年2月29日(2008.2.29)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】