(57)【要約】【課題】  被評価プロトコルが証明可能安全性を有することを計算量理論に基づいて検証することを可能とする。【解決手段】  被評価プロトコルをエンティティ単位に分解するプロトコル入力変換部１と、該エンティティに対する不正確率を求め、この不正確率に基づいて当該被評価プロトコルの安全性を判定するプロトコル検証部２とを備えたことを特徴とする。【選択図】    図１
2005223417.tif 000002
【特許請求の範囲】
【請求項１】
被評価プロトコルをエンティティ単位に分解するプロトコル変換手段と、
前記エンティティに対する不正確率を求める不正確率演算手段と、
前記不正確率に基づいて当該被評価プロトコルの安全性を判定する判定手段と、
を備えたことを特徴とするプロトコル評価装置。
【請求項２】
プロトコルに要求される防御性能を満たすためのルールを予め定義し、当該ルールが遵守されていることを検証するルール検証手段を備え、
前記判定手段は、前記ルールの検証結果も加味して当該被評価プロトコルの安全性を判定することを特徴とする請求項１に記載のプロトコル評価装置。
【請求項３】
被評価プロトコルをエンティティ単位に分解する過程と、
前記エンティティに対する不正確率を求める過程と、
前記不正確率に基づいて当該被評価プロトコルの安全性を判定する過程と、
を含むことを特徴とするプロトコル評価方法。
【請求項４】
プロトコルに要求される防御性能を満たすためのルールが予め定義される過程と、
当該ルールが遵守されていることを検証する過程とをさらに含み、
前記ルールの検証結果も加味して当該被評価プロトコルの安全性を判定することを特徴とする請求項３に記載のプロトコル評価方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロトコル評価装置及びプロトコル評価方法に関する。
【背景技術】
【０００２】
近年、コンピュータを利用した様々なサービスが提供されている。このサービス提供システムにおいては、一般的に、利用者を認証するための認証プロトコルや、暗号化用の鍵を交換するための鍵交換プロトコル、暗号プロトコルなどの各種のプロトコルが使用されている。これらのプロトコルには統一的な客観評価手法が存在しないために、その安全性の確立は熟練者によるアドホックや、ルールベースの評価により行っている。しかしながら、その安全性確立に要する作業工数の負担や、潜在的なセキュリティホールの存在が問題となっており、従来は、サービス提供システムに対して安全性を強化するための構成をさらに追加している。例えば、情報を暗号化して授受するクライアント装置とサーバ装置間に中間装置を設け、この中間装置で更なる暗号化を行うようにしている（例えば、特許文献１参照）。
【特許文献１】特開２０００−１６５３７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、上述した従来のプロトコル評価技術では、証明可能安全性を持たないために十分安全な評価が行われているとは言えず、このため安全性確立のための更なる構成を追加することとなり、システム構成が複雑となりコストアップや処理遅延の増大等の問題を招いている。このような理由から、プロトコルが証明可能安全性を有することを計算量理論に基づいて検証することが要望されている。
【０００４】
本発明は、このような事情を考慮してなされたもので、その目的は、被評価プロトコルが証明可能安全性を有することを計算量理論に基づいて検証することができるプロトコル評価装置及びプロトコル評価方法を提供することにある。
【課題を解決するための手段】
【０００５】
上記の課題を解決するために、本発明に係るプロトコル評価装置は、被評価プロトコルをエンティティ単位に分解するプロトコル変換手段と、前記エンティティに対する不正確率を求める不正確率演算手段と、前記不正確率に基づいて当該被評価プロトコルの安全性を判定する判定手段とを備えたことを特徴としている。
【０００６】
本発明に係るプロトコル評価装置においては、プロトコルに要求される防御性能を満たすためのルールを予め定義し、当該ルールが遵守されていることを検証するルール検証手段を備え、前記判定手段は、前記ルールの検証結果も加味して当該被評価プロトコルの安全性を判定することを特徴とする。
【０００７】
本発明に係るプロトコル評価方法は、被評価プロトコルをエンティティ単位に分解する過程と、前記エンティティに対する不正確率を求める過程と、前記不正確率に基づいて当該被評価プロトコルの安全性を判定する過程とを含むことを特徴としている。
【０００８】
本発明に係るプロトコル評価方法においては、プロトコルに要求される防御性能を満たすためのルールが予め定義される過程と、当該ルールが遵守されていることを検証する過程とをさらに含み、前記ルールの検証結果も加味して当該被評価プロトコルの安全性を判定することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、被評価プロトコルをエンティティ単位に分解し、エンティティに対する不正確率を求めるので、当該プロトコルが証明可能安全性を有することを計算量理論に基づいて検証することができる。さらに、プロトコルに要求される防御性能を満たすためのルールを予め定義し、当該ルールが遵守されていることを検証するので、被評価プロトコルの安全性がさらに向上する。
【００１０】
これにより、プロトコルの安全性評価が自動的に且つ確度良く実行されるので、検証効率が格段に向上する。また、当該プロトコルが適用されるシステムにおいては、プロトコルの信頼度が向上するので、安全性を高めるための構成追加が不要となり、省コストや処理時間の短縮を図ることが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照し、本発明の一実施形態について説明する。
図１は、本発明の一実施形態に係るプロトコル評価装置の構成を示すブロック図である。図１において、プロトコル入力変換部１は、ＧＵＩ（Graphical User Interface）部４を介して被評価プロトコルを入力し、検証用に所定の式に変換する。プロトコル検証部２は、その変換された式を使用して当該プロトコルの安全性を検証する。結果出力部３は、プロトコル検証部２による検証結果をＧＵＩ部４を介して出力する。
【００１２】
次に、図２〜図４を参照して、プロトコル入力変換部１の動作を説明する。
この実施例では、プロトコルをリレーショナルデータベースモデルにモデリングするための変換を行う。プロトコル入力変換部１では、プロトコルを構成する一つのエンティティ（構成要素）を一つのデータベーステーブル（以下、オラクルと称する）として定義する。そして、攻撃者によるクエリー（問合せ）を受けたときの状態を観測できるように、プロトコルを定義し直す。
【００１３】
具体的には、以下に示すように被評価プロトコルを分解する。
ここでは、図２に示される一般的な３−ｗａｙプロトコルを例に挙げて説明する。図２のプロトコルは、２つのエンティティ１，２が、セッションｓにおいて相互にプロトコル手順Ａ，Ｂ，Ｃを順番に実行するものである。このプロトコルを、図３、図４に示される２つの独立したオラクルに分割する。
【００１４】
図３には、図２のエンティティ１に対応するオラクルΠｓ１，２が示されている。このオラクルΠｓ１，２は、セッションｓにおいて、クエリーλを受けると、手順Ａの出力を行う。次いで、手順Ｂの入力があると、手順Ｃの出力を行うとともに「Ａｃｃｅｐｔ」を出力して受理状態となり終了する。
【００１５】
図４には、図２のエンティティ２に対応するオラクルΠｓ２，１が示されている。このオラクルΠｓ２，１は、セッションｓにおいて、手順Ａの入力があると、手順Ｂの出力を行う。次いで、手順Ｃの入力があると、ダミー出力を行うとともに「Ａｃｃｅｐｔ」を出力して受理状態となり終了する。
【００１６】
上記した図３、図４の２つのオラクルに分割されたプロトコルにおいて、一方のオラクルの出力がもう一方のオラクルに直接入力されることにより、双方のオラクルがそれぞれ受理状態となることを「Ｍａｔｃｈｉｎｇ−Ｃｏｎｖｅｒｓａｔｉｏｎ」と呼ぶ。もし、この「Ｍａｔｃｈｉｎｇ−Ｃｏｎｖｅｒｓａｔｉｏｎ」以外の手段で、いずれか一方のオラクルを受理状態にさせることができた場合、攻撃が成功したと判定することができる。これに基づいて、プロトコル検証部２ではプロトコルの安全性を検証する。
【００１７】
次に、プロトコル検証部２の動作を説明する。
プロトコル検証部２では、プロトコル入力変換部１によりオラクルに分割されたプロトコルを使用して当該プロトコルの安全性を検証する。プロトコル検証部２は、不正確率と、所定のルールとに基づいて安全性を評価する。
【００１８】
先ず、不正確率について説明する。
プロトコル検証部２は、次の３つの場合（Ａ−１）、（Ａ−２）、（Ａ−３）についての不正確率を求める。
（Ａ−１）プロトコルを実行し、各手順でオラクルから出力される乱数の長さ、もしくは乱数を含むデータの長さを取得する。この取得した長さ（２進数表現のビット数）をｋとすると、２−ｋを不正確率とする。
【００１９】
（Ａ−２）オラクルの受理状態直前の入力（例えば図４のオラクルΠｓ２，１に対する手順Ｃの入力）において、偽造不可能なデータの長さ（２進数表現のビット数）をｋとすると、２−ｋを不正確率とする。但し、各オラクルの受理状態直前の入力についての偽造不可能なデータの長さは、ユーザにより設定する。
【００２０】
（Ａ−３）プロトコルを実行し、受理状態直前のオラクルへの入力に含まれる乱数を取得する。また、当該乱数を出力して受理状態になるオラクルが、実際に出力した乱数を取得する。そして、それら取得した乱数に基づいて、受理状態直前のオラクルへの入力に含まれる乱数のうち、受理状態になるオラクルが生成した乱数の長さ（２進数表現のビット数）をｋとすると、２−ｋを不正確率とする。例えば、図４のオラクルΠｓ２，１に対する手順Ｃの入力に含まれる乱数のうち、受理状態になる図３のオラクルΠｓ１，２が生成した乱数の長さをｋとし、不正確率２−ｋを求める。
【００２１】
プロトコル検証部２は、上記した３つの場合の不正確率２−ｋのうち、最大の値を当該プロトコルの不正確率とする。そして、この不正確率が所定の閾値未満であった場合に、不正確率に係る評価を良と判定する。
【００２２】
次に、所定のルールについて説明する。
プロトコル検証部２は、次の３つのルール（Ｂ−１）、（Ｂ−２）、（Ｂ−３）が遵守されていることを検証する。
（Ｂ−１）受理状態直前のオラクルへの入力は、それ以前の手順において出現してはいけない。このルールは、コピーによるリプレイ攻撃に対する耐性をプロトコルに持たせるためのものである。
【００２３】
（Ｂ−２）あるオラクルを受理状態にするために入力する情報には、当該情報の出力元のオラクルの識別情報を含まなければならない。このルールは、入力情報の出力元を明示し、攻撃目的の入力を排除するためのものである。
【００２４】
（Ｂ−３）受理状態直前のオラクルへの入力には、当該入力情報の出力元のオラクルが生成した乱数情報を含まなければならない。このルールは、同じ手順において前回の入力をコピーし、次回の入力として利用することを排除するためのものである。
【００２５】
プロトコル検証部２は、上記した３つのルールの全てが遵守されていた場合に、所定のルールに係る評価を良と判定する。なお、上記３つのルールは予め定義されてプロトコル評価装置に設定される。
【００２６】
プロトコル検証部２は、総合評価として、上記不正確率に係る評価及び所定のルールに係る評価の双方が良であった場合に、当該プロトコルが安全であると判定する。この判定結果は結果出力部３によりＧＵＩ部４を介して出力される。一方、一つでも不良となる箇所があった場合には、当該不良箇所の項目及び詳細データを結果出力部３によりＧＵＩ部４を介して出力する。
【００２７】
上述した実施形態によれば、被評価プロトコルをエンティティ単位に分解し、エンティティに対する不正確率を求めるので、当該プロトコルが証明可能安全性を有することを計算量理論に基づいて検証することができる。さらに、プロトコルに要求される防御性能を満たすためのルールを予め定義し、当該ルールが遵守されていることを検証するので、被評価プロトコルの安全性がさらに向上する。
【００２８】
これにより、プロトコルの安全性評価が自動的に且つ確度良く実行されるので、検証効率が格段に向上する。また、当該プロトコルが適用されるシステムにおいては、プロトコルの信頼度が向上するので、安全性を高めるための構成追加が不要となり、省コストや処理時間の短縮を図ることが可能となる。
【００２９】
なお、本実施形態に係るプロトコル評価装置は、専用のハードウェアにより実現されるものであってもよく、あるいはパーソナルコンピュータ等のコンピュータシステムにより構成され、図１に示される装置の各機能を実現するためのプログラムを実行することによりその機能を実現させるものであってもよい。
【００３０】
また、そのプロトコル評価装置には、周辺機器として入力装置、表示装置等（いずれも図示せず）が接続されるものとする。ここで、入力装置とはキーボード、マウス等の入力デバイスのことをいう。表示装置とはＣＲＴ（Cathode Ray Tube）や液晶表示装置等のことをいう。
また、上記周辺機器については、プロトコル評価装置に直接接続するものであってもよく、あるいは通信回線を介して接続するようにしてもよい。
【００３１】
なお、本発明は、利用者を認証するための認証プロトコルや、暗号化用の鍵を交換するための鍵交換プロトコル、暗号プロトコルなどの各種のプロトコルの評価に適用することができる。
【００３２】
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施形態に係るプロトコル評価装置の構成を示すブロック図である。
【図２】被評価プロトコルの一例を示す図である。
【図３】図２に示す被評価プロトコルの分解後の一エンティティ分を示第１の図である。
【図４】図２に示す被評価プロトコルの分解後の一エンティティ分を示す第２の図である。
【符号の説明】
【００３４】
１…プロトコル入力変換部、２…プロトコル検証部、３…結果出力部、４…ＧＵＩ部。
【図１】
2005223417.tif 000003
【図２】
2005223417.tif 000004
【図３】
2005223417.tif 000005
【図４】
2005223417.tif 000006