説明

暗号プロトコル生成装置、暗号プロトコル生成方法およびプログラム

【課題】通信相手の環境や要求条件に応じて、最適な認証あるいは鍵共有プロトコルにカスタマイズして、自動的に暗号プロトコルを生成する暗号プロトコル生成装置を提供すること。
【解決手段】端末間で、セキュリティ要件と性能要件とからなる環境条件データや要求条件データを交換し、交換したセキュリティ要件に基づいて、基本プロトコルを生成する。そして、生成した基本プロトコルに不足したデータを追加するとともに、不足データを追加した基本プロトコルから重複したデータを削除する。さらに、格納された既知データと格納された鍵とを用いて、セッション鍵を生成するための鍵生成関数を決定し、性能要件に基づいて、少なくとも転送データの詳細やアルゴリズム、データ長を決定することによりパラメータを設定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介したサービスの提供に用いられる暗号プロトコルを自動的に生成する暗号プロトコル生成装置、暗号プロトコル生成方法およびプログラムに関する。
【背景技術】
【0002】
近年、インターネットに代表されるネットワーク技術の目覚しい進歩に伴い、多くの分野でコンピュータを利用した様々なサービスが提供されている。そして、こうしたサービスの多くには、利用者を認証する認証プロトコルや、暗号化するための鍵を交換する鍵交換プロトコルが使用されている。
【0003】
ところが、従来は、1つのプロトコルを実装することがほとんどであり、機器ごとにプロトコルを変更する場合には、その分、個別にプロトコルを実装せざるを得なかった。また、IPSEC等では、複数のプロトコルを利用することが可能であるが、最適なプロトコルを導出しているとは言えず、また実行できるプロトコルも2種類程度と非常に限られていた。
【0004】
さらに、複数のプロトコル(例えばRPCとSNMP)を共存させながら、あるプロトコルの通信処理手段(例えばSNMP通信処理手段)に障害が発生した場合、別のプロトコルの通信処理手段(例えばRPC通信処理手段)を使って管理を継続するネットワークのプロトコル管理方式も提案されている(例えば、特許文献1参照。)。
【特許文献1】特開平8−191336号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、一般に、プロトコルの最適化には、様々な環境条件や要求条件が存在する。したがって、上記の従来技術のように、複数のプロトコルを共存させる方法により、諸条件を充足させるプロトコルを提供するためには、膨大なプロトコルを共存させる必要があり、現実的ではない。
【0006】
また、これまでにも、多種多様なプロトコルが提案されているが、一般に安全性と利便性はトレードオフの関係にあり、1つのプロトコルがすべての機器に適しているとは限らない。
【0007】
そこで、本発明は、上記の課題に鑑みてなされたものであり、通信相手の環境や要求条件に応じて、最適な認証あるいは鍵共有プロトコルにカスタマイズして、自動的に暗号プロトコルを生成する暗号プロトコル生成装置、暗号プロトコル生成方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、上述の課題を解決するために、以下の事項を提案している。
(1)本発明は、サービスの提供にあたって、端末相互の諸条件に応じて、暗号プロトコルを自動的に生成する暗号プロトコル生成装置であって、送信データ、送信を行わずに保持しているデータ、受信データおよびこれらのデータから計算可能なデータを既知データとして格納する既知データ格納手段(例えば、図1の既知データ格納部60に相当)と、鍵を格納する鍵格納手段(例えば、図1の鍵格納部70に相当)と、前記端末間で、セキュリティ要件と性能要件とからなる環境条件データや要求条件データを交換する通信手段と、認証プロトコル用のコンポーネットと鍵共有プロトコル用のコンポーネントとをそれぞれ複数格納する基本コンポーネント格納手段(例えば、図1の基本コンポーネント格納部30に相当)と、前記交換したセキュリティ要件に基づいて、前記鍵共有プロトコル用のコンポーネントを組み合わせた後、前記認証プロトコル用のコンポーネットを重ね合わせて基本プロトコルを生成する基本プロトコル生成手段(例えば、図1の基本プロトコル生成部20に相当)と、該生成した基本プロトコルに不足したデータを追加するデータ追加手段(例えば、図1のデータ追加部40に相当)と、該不足データを追加した基本プロトコルから重複したデータを削除するデータ削除手段(例えば、図1のデータ削除部50に相当)と、前記既知データ格納手段した既知データと前記鍵格納手段に格納した鍵とを用いて、セッション鍵を生成するための鍵生成関数を決定する鍵生成関数決定手段(例えば、図1の鍵生成関数決定部80に相当)と、前記性能要件に基づいて、少なくとも転送データの詳細やアルゴリズム、データ長を決定することによりパラメータを設定するパラメータ設定手段(例えば、図1のパラメータ設定部90に相当)と、を備えたことを特徴とする暗号プロトコル生成装置を提案している。
【0009】
この発明によれば、既知データ格納手段は、送信データ、送信を行わずに保持しているデータ、受信データおよびこれらのデータから計算可能なデータを既知データとして格納し、鍵格納手段は、鍵を格納する。通信手段は、端末間で、セキュリティ要件と性能要件とからなる環境条件データや要求条件データを交換する。基本コンポーネント格納手段は、認証プロトコル用のコンポーネットと鍵共有プロトコル用のコンポーネントとをそれぞれ複数格納し、基本プロトコル生成手段が、交換したセキュリティ要件に基づいて、鍵共有プロトコル用のコンポーネントを組み合わせた後、認証プロトコル用のコンポーネットを重ね合わせ基本プロトコルを生成する。データ追加手段は、生成した基本プロトコルに不足したデータを追加し、データ削除手段は、不足データを追加した基本プロトコルから重複したデータを削除する。鍵生成関数決定手段は、既知データ格納手段した既知データと鍵格納手段に格納した鍵とを用いて、セッション鍵を生成するための鍵生成関数を決定し、パラメータ設定手段は、性能要件に基づいて、少なくとも転送データの詳細やアルゴリズム、データ長を決定することによりパラメータを設定する。
【0010】
したがって、端末間で、セキュリティ要件と性能要件とからなる環境条件データや要求条件データを交換し、これらに基づいて、サービス提供に用いられる暗号プロトコルを動的に生成し、あるいは、必要に応じて変更することにより、通信相手の環境に応じて、最適な認証あるいは鍵共有プロトコルにカスタマイズして、処理を実行することができる。つまり、接続する相手方の端末によって、少ない計算量によりサービスを提供したいというような要求や相手方の端末の計算能力が非常に高いために、多少時間がかかっても問題が無いような状況、あるいは、サービスの種別に応じて、要求されるプロトコルの安全性が異なるような場合においても、動的にプロトコルを変更することにより、従来のように、多くのプロトコルを実装する必要がない。また、従来のように、コンポーネントを積み上げて、条件判定によるマージを行う方式では、データや関数をマージできるのか否かを個別に判定するため、処理に時間がかかっていたが、コンポーネントを重ね合わせする方式では、判定ロジックが不要であるため、処理時間を短縮することができる。
【0011】
(2)本発明は、(1)の暗号プロトコル生成装置について、前記基本プロトコル生成手段が、各コンポーネントの第1番目のフローに着目し、同じ方向のフローを多重化し、該多重化後に、同一フローに存在するデータや関数等の要素をマージすることを特徴とする暗号プロトコル生成装置を提案している。
【0012】
この発明によれば、基本プロトコル生成手段が、各コンポーネントの第1番目のフローに着目し、同じ方向のフローを多重化し、多重化後に、同一フローに存在するデータや関数等の要素をマージする。
【0013】
つまり、従来のように、コンポーネントを積み上げて、条件判定によるマージを行う方式では、個別に判定ロジックが必要であったが、この発明では、各コンポーネントの第1番目のフローに着目し、同じ方向のフローを多重化し、多重化後に、同一フローに存在するデータや関数等の要素をマージすることから判定ロジックが不要となり、処理時間を短縮することができる。
【0014】
(3)本発明は、(1)または(2)の暗号プロトコル生成装置について、前記セキュリティ要件が、少なくとも前記端末が信頼できるか否か、事前共有鍵の有無、プロトコルにおけるフローの本数、利用可能なアルゴリズムの種別を含むことを特徴とする暗号プロトコル生成装置を提案している。
【0015】
この発明によれば、少なくとも前記端末が信頼できるか否か、事前共有鍵の有無、プロトコルにおけるフローの本数、利用可能なアルゴリズムの種別をセキュリティ要件としていることから、要求されるセキュリティレベルに応じたプロトコルを自動生成することができる。
【0016】
(4)本発明は、(1)から(3)の暗号プロトコル生成装置について、前記性能要件が、少なくとも通信帯域、端末の演算能力、鍵長を含むことを特徴とする暗号プロトコル生成装置を提案している。
【0017】
この発明によれば、少なくとも通信帯域、端末の演算能力、鍵長を性能要件としていることから、各端末の性能に応じたプロトコルを自動生成することができる。
【0018】
(5)本発明は、(2)から(4)の暗号プロトコル生成装置について、更に、ユーザが前記基本コンポーネント格納手段に格納される認証プロトコル用のコンポーネットと鍵共有プロトコル用のコンポーネントを構成するデータを任意に設定するデータ設定手段(例えば、図1のデータセット入力部31に相当)を備えたことを特徴とする暗号プロトコル生成装置を提案している。
【0019】
この発明によれば、ユーザが基本コンポーネント格納手段に格納される認証プロトコル用のコンポーネットと鍵共有プロトコル用のコンポーネントを構成するデータを任意に設定するデータ設定手段を更に備えている。したがって、こうした手段を設けることにより、基本コンポーネントの最適化を図るとともに、選択に自由度をもたせることにより、基本コンポーネント格納部において格納すべきコンポーネントの数を削減できる。
【0020】
(6)本発明は、サービスの提供にあたって、端末相互の諸条件に応じて、暗号プロトコルを自動的に生成する暗号プロトコル生成方法であって、前記端末間で、セキュリティ要件と性能要件とからなる環境条件データや要求条件データを交換する第1のステップ(例えば、図5のステップS101に相当)と、前記交換したセキュリティ要件に基づいて、格納されている鍵共有プロトコル用のコンポーネントを組み合わせた後、格納されている認証プロトコル用のコンポーネットを組み合わせて基本プロトコルを生成する第2のステップ(例えば、図5のステップS102、S103に相当)と、該生成した基本プロトコルに不足したデータを追加する第3のステップ(例えば、図5のステップS104に相当)と、該不足データを追加した基本プロトコルから重複したデータを削除する第4のステップ(例えば、図5のステップS105に相当)と、格納された既知データと格納された鍵とを用いて、セッション鍵を生成するための鍵生成関数を決定する第5のステップ(例えば、図5のステップS106に相当)と、前記性能要件に基づいて、少なくとも転送データの詳細やアルゴリズム、データ長を決定することによりパラメータを設定する第6のステップ(例えば、図5のステップS107に相当)と、を備えたことを特徴とする暗号プロトコル生成方法を提案している。
【0021】
この発明によれば、端末間で、セキュリティ要件と性能要件とからなる環境条件データや要求条件データを交換し、交換したセキュリティ要件に基づいて、格納されている鍵共有プロトコル用のコンポーネントを組み合わせた後、格納されている認証プロトコル用のコンポーネットを組み合わせて基本プロトコルを生成する。そして、生成した基本プロトコルに不足したデータを追加し、不足データを追加した基本プロトコルから重複したデータを削除するとともに、格納された既知データと格納された鍵とを用いて、セッション鍵を生成するための鍵生成関数を決定し、性能要件に基づいて、少なくとも転送データの詳細やアルゴリズム、データ長を決定することによりパラメータを設定する。
【0022】
したがって、端末間で、セキュリティ要件と性能要件とからなる環境条件データや要求条件データを交換し、これらに基づいて、サービス提供に用いられる暗号プロトコルを動的に生成し、あるいは、必要に応じて変更することにより、通信相手の環境に応じて、最適な認証あるいは鍵共有プロトコルにカスタマイズして、処理を実行することができる。
【0023】
(8)本発明は、サービスの提供にあたって、端末相互の諸条件に応じて、暗号プロトコルを自動的に生成する暗号プロトコル生成方法をコンピュータに実行させるためのプログラムであって、前記端末間で、セキュリティ要件と性能要件とからなる環境条件データや要求条件データを交換する第1のステップ(例えば、図5のステップS101に相当)と、前記交換したセキュリティ要件に基づいて、格納されている鍵共有プロトコル用のコンポーネントを組み合わせた後、格納されている認証プロトコル用のコンポーネットを組み合わせて基本プロトコルを生成する第2のステップ(例えば、図5のステップS102、S103に相当)と、該生成した基本プロトコルに不足したデータを追加する第3のステップ(例えば、図5のステップS104に相当)と、該不足データを追加した基本プロトコルから重複したデータを削除する第4のステップ(例えば、図5のステップS105に相当)と、格納された既知データと格納された鍵とを用いて、セッション鍵を生成するための鍵生成関数を決定する第5のステップ(例えば、図5のステップS106に相当)と、前記性能要件に基づいて、少なくとも転送データの詳細やアルゴリズム、データ長を決定することによりパラメータを設定する第6のステップ(例えば、図5のステップS107に相当)と、をコンピュータに実行させるためのプログラムを提案している。
【0024】
この発明によれば、端末間で、セキュリティ要件と性能要件とからなる環境条件データや要求条件データを交換し、交換したセキュリティ要件に基づいて、格納されている鍵共有プロトコル用のコンポーネントを組み合わせた後、格納されている認証プロトコル用のコンポーネットを組み合わせて基本プロトコルを生成する。そして、生成した基本プロトコルに不足したデータを追加し、不足データを追加した基本プロトコルから重複したデータを削除するとともに、格納された既知データと格納された鍵とを用いて、セッション鍵を生成するための鍵生成関数を決定し、性能要件に基づいて、少なくとも転送データの詳細やアルゴリズム、データ長を決定することによりパラメータを設定する。
【0025】
したがって、端末間で、セキュリティ要件と性能要件とからなる環境条件データや要求条件データを交換し、これらに基づいて、サービス提供に用いられる暗号プロトコルを動的に生成し、あるいは、必要に応じて変更することにより、通信相手の環境に応じて、最適な認証あるいは鍵共有プロトコルにカスタマイズして、処理を実行することができる。
【発明の効果】
【0026】
本発明によれば、認証プロトコルおよび鍵共有プロトコルを自動的にカスタマイズし、その環境に最適なプロトコルを自動生成できるようになるという効果がある。また、本発明によれば、各コンポーネントの第一番目のフローに着目し、同じ方向のフローを機械的に多重化(重ね合わせ)することにより、フローのマージを実行する。そして、その後、同一フロー上のデータ、関数のマージを実行する。こうすることによって、データや関数のマージを行えるか否かの条件判定ロジックを削除できるため、従来よりも処理時間を短縮することができるという効果がある。
【発明を実施するための最良の形態】
【0027】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0028】
<暗号プロトコル生成装置の構成>
本実施形態に係る暗号プロトコル生成装置は、図1に示すように、通信部10と、基本プロトコル生成部20と、基本コンポーネント格納部30と、データセット入力部31と、データ追加部40と、データ削除部50と、既知データ格納部60と、鍵格納部70と、鍵生成関数決定部80と、パラメータ決定部90とから構成されている。
【0029】
通信部10は、エンティティ(端末)間で、セキュリティ要件と性能要件とからなる環境条件データや要求条件データを交換するための通信を司る。ここで、セキュリティ要件としては、1)エンティティ(端末)が信頼できるか、できないか、2)攻撃者モデル(例えば、Known key attack、Foward Secrecy、Unknow key share attack)の安全性の要否、3)事前共有鍵の有無、4)フローの本数、5)利用可能なアルゴリズムの種別等がある。また、性能要件としては、1)通信帯域(1フローの許容データサイズ、2)エンティティ(端末)の演算能力、3)鍵長等がある。なお、通信帯域は、各フローで送受信可能な最大データ長として与えられる。また、エンティティ(端末)の演算能力は、クラス分けされた離散値として与えられる(例えば、HIGH、MIDIUM、LOW)。
【0030】
基本プロトコル生成部20は、通信部10において、交換したセキュリティ要件に基づいて、基本プロトコルを生成する。なお、基本プロトコルは、後述する基本コンポーネント格納部30に格納された認証プロトコル用のコンポーネットと鍵共有プロトコル用のコンポーネントとを用いて、交換したセキュリティ要件に基づいて、鍵共有プロトコル用のコンポーネントを組み合わせた後、認証プロトコル用のコンポーネットを重ね合わせて生成する。なお、ここで、コンポーネントとは、ひとかたまりのデータ群をさす。
【0031】
基本コンポーネント格納部30は、認証プロトコル用のコンポーネットと鍵共有プロトコル用のコンポーネントとを複数格納する記憶手段である。なお、認証プロトコル用の基本コンポーネットおよび鍵共有プロトコル用の基本コンポーネントの詳細については、後述する。また、データセット入力部31は、ユーザが基本コンポーネント格納部30に格納される認証プロトコル用のコンポーネットと鍵共有プロトコル用のコンポーネントを構成するデータを任意に設定するできる入力手段である。なお、データの設定に関しては、どのデータを選択するのかというルールについてもユーザが個々に設定できるようにしてもよい。
【0032】
データ追加部40は、基本プロトコル生成部20により生成された基本プロトコルに不足したデータを追加する。具体的には、例えば、プロトコルにおいて、テンポラリな公開鍵、秘密鍵を含んでいた場合には、公開鍵を送付するする必要がある。この場合、テンポラリな公開鍵によって生成されたデータが送信されるより前のフローにテンポラリな公開鍵の送付を追加する。なお、テンポラリな公開鍵には、署名もしくはMACを付与することで送付しなければならない。すなわち、Xをテンポラリな公開鍵、F(X)をメッセージ認証子生成関数もしくは署名関数としたとき、F(X)の選択は、事前共有鍵のあり/なしによる。
【0033】
データ削除部50は、不足データを追加した基本プロトコルから重複したデータを削除する。具体的には、一例として、プロトコルにおける各フローの同型性をチェックすることにより行う。ここで、同型性とは、フロー内で交換されるデータがほぼ同一のフォーマットになっていることを指す。具体的には、データの種別が同一、関数の構成が同一等の場合がこれに該当する。
【0034】
既知データ格納部60は、送信データ、送信を行わずに保持しているデータ、受信データおよびこれらのデータから計算可能なデータを既知データとして格納する。また、鍵格納部70は、鍵を格納する。
【0035】
鍵生成関数決定部80は、セッション鍵を計算する鍵生成関数を決定するものであり、既知データ格納部60に格納された既知データと鍵格納部70に格納されたエンティティ(端末)が保有する鍵とから構成される。鍵生成関数の計算方法としては、計算時間の少ない順に、1)乱数Random‘をそのまま利用する方法、2)2つの乱数により排他的論理和による方法(例えば、Random(+)Random‘)、3)2つの乱数を一方向関数に入力する方法(例えば、E(Random、Random‘)があるが、いずれを選択するかは、セキュリティ要件による。
【0036】
パラメータ決定部90は、通信部10により受信した性能要件に基づいて、少なくとも転送データの詳細やアルゴリズム、データ長を決定することによりパラメータを設定する。そして、これによって、カスタマイズされたプロトコル定義ファイルが生成される。
【0037】
<認証プロトコルの基本コンポーネント>
次に、図2および図3を参照して、認証プロトコルの基本コンポーネントについて説明する。
認証プロトコルの基本コンポーネントは、図2および図3に示すような構成となっている。ここで、図2は、エンティティ(端末)Aがエンティティ(端末)Bを認証する場合であり、図3は、エンティティ(端末)Bがエンティティ(端末)Aを認証する場合の構成を示している。したがって、相互認証を行う場合には、上記2つのコンポーネントを組み合わせることにより、認証プロトコルを構成する。また、図中、X、Yは、任意のデータ(複数でも良い)を表し、認証プロトコルにおける認証処理関数は、X、Y及び長期保有鍵などの永続的なデータから構成される。
【0038】
ここで、一例として、X、Yの構成は、以下の3つの組み合わせに大別される。すなわち、(X、Y)=(Random、F(Random))、(F^−1(Random)、Random)、(*、F(Time))。そして、この中から適当なコンポーネントを選択する。
【0039】
なお、ここで、Randomは乱数を、Timeは時刻情報やカウンタ情報など両者で正当性が検証可能な情報であり、*はデータなしを表す。
【0040】
また、F(X)は、Xについて、エンティティ(端末)Bのみが計算可能な関数、もしくは、エンティティ(端末)AとBのみが計算可能な関数である。F(X)は、環境パラメータに従って、1)メッセージ認証子生成関数、2)署名関数、3)共通鍵暗号アルゴリズム等が選択される。また、F^−1(X)については、1)共通鍵暗号アルゴリズム、2)公開鍵暗号アルゴリズム等が選択される。なお、いずれが選択されるかは、セキュリティ要件から決定される。
【0041】
また、F^−1(X)を選択する場合は、必ず関数Fが可逆でなければならない。従って、共通鍵暗号、公開鍵暗号が使えない環境下では、(F^−1(Random)、Random)は選択できない。逆に、MAC関数、署名関数、共通鍵暗号が使えない環境下では、(Random、F(Random))、(*、F(Time))は、選択できない。
【0042】
<鍵共有プロトコルの基本コンポーネント>
次に、図4を参照して、鍵共有プロトコルの基本コンポーネントについて説明する。
鍵共有プロトコルの基本コンポーネントは、図4に示すような構成になっている。ここで、X、Yは、任意のデータ(複数でも良い)を表し、Yは、エンティティ(端末)Aにおいてプロトコルの実行中にダイナミックに生成され、かつ送信データに含まれないデータ(の集合)である。また、Z1、Z2は、それぞれ各エンティティ(端末)が生成したデータであって、送信せずに保持しているデータを示している。
【0043】
鍵共有プロトコルにおける鍵共有処理関数は、X、Yおよび長期保有鍵などの永続的なデータから構成される。なお、セキュリティ要件によっては、相互にデータを交換し、セション鍵を生成する場合も考えられる。そのような条件下では、上記コンポーネントを2つ組合せることで構成する。また、三者間鍵共有も同様に、2つ以上のコンポーネントを組合せることで構成できる。
【0044】
ここで、一例として、X、Yの構成は、以下の3つの組み合わせに大別される。すなわち、(X、Y、Z1、Z2)=(Random、F(Random、G(Random‘))、Random’、*)、(Random、F(Random、Random’)、Random’、*)、(H(random)、H(Random’)、Random’、Random)
【0045】
ここで、F(X)は、Xについてエンティティ(端末)Aのみが計算可能な関数、もしくは、エンティティ(端末)AとBのみが計算可能な関数である。また、G(X)は、Xについてエンティティ(端末)Bのみが計算可能な関数、もしくは、エンティティ(端末)AとBのみが計算可能な関数である。さらに、H(X)は、誰でも計算できる関数であるが、H(X)からXを求めることが困難な関数である。また、ある関数H‘(X)に対して、H’(X1、H(X2))=H‘(X2、H(X1))を満たす。
【0046】
F(X)は、環境パラメータに従って、1)メッセージ認証子生成関数、2)署名関数、3)共通鍵暗号アルゴリズム等が選択される。また、G(X)については、1)共通鍵暗号アルゴリズム、2)公開鍵暗号アルゴリズム等が選択される。
【0047】
<基本プロトコル生成部の処理>
前述したように、基本プロトコル生成部20は、基本コンポーネント格納部30に格納された認証プロトコル用のコンポーネットと鍵共有プロトコル用のコンポーネントとを用いて、交換したセキュリティ要件に基づいて、鍵共有プロトコル用のコンポーネントを組み合わせた後、認証プロトコル用のコンポーネットを重ね合わせて生成する。
【0048】
上記の処理の詳細を図6および図7を参照して説明する。
図6に示すように、従来は、各コンポーネントを積み重ね、その積み重ねたコンポーネントから同じフローを見つけ出し、その見つけ出したフローにおいて、データや関数のマージを行えるか否かの条件判定を個別に行って、マージを行っていたため、処理に時間がかかるという問題があった。
【0049】
一方、本実施形態においては、図7に示すように、各コンポーネントの第一番目のフローに着目し、同じ方向のフローを機械的に多重化(重ね合わせ)することにより、フローのマージを実行する。そして、その後、同一フロー上のデータ、関数のマージを実行する。こうすることによって、データや関数のマージを行えるか否かの条件判定ロジックを削除できるため、従来よりも処理時間を短縮することができる。
【0050】
<暗号プロトコル生成装置の処理>
次に、図4を用いて、暗号プロトコル生成装置の処理について、説明する。
まず、前段の処理(以下、第1フェーズとよぶ)として、双方の端末は、どちらが先にプロトコルを開始するかどうか、現在利用している通信速度(S)、自身の計算能力(P)、セキュリティレベル、共有鍵の有効期間、アプリケーションから入力された要求条件(例えば、相手認証あり、鍵共有あり)から、情報交換用のデータを生成する。そして、作成したデータを交換する。さらに、交換したデータからプロトコル生成に必要な基本データを構築する。例えば、通信速度、共有鍵の有効期限は、原則として低いほうの値にあわせる。セキュリティレベルは、原則として高いほうにあわせる。また、処理速度は、双方相手の処理速度情報を保持する。要求条件については、相手が認証を要求しているかを保持すると共に、どちらか一方が鍵共有を希望すれば、鍵共有ありに設定する。以上の条件で設定を行なった結果を、セキュリティポリシーと照らし合わせ、受け入れ可能かどうかを判断する。そして決定した基本データを符号化したデータを交換することで、お互いが同様の基本データを保持していることを確認する。
【0051】
そして、第1フェーズで取得した環境パラメータを解釈して、これをセキュリティ要件と性能要件に分離する(ステップS101)。次に、セキュリティ要件に基づいて、基本コンポーネント格納部30に格納されている鍵共有プロトコル用のコンポーネントを組み合わせて、基本プロトコル生成部20が鍵共有プロトコルのワークフレームの選択処理を実行する(ステップS102)。さらに、基本コンポーネント格納部30に格納されている認証プロトコル用のコンポーネントを組み合わせて、基本プロトコル生成部20が認証プロトコルのワークフレームの選択処理を実行する(ステップS103)。
【0052】
続いて、公開鍵の送信等を行うことにより、データ追加部40が不足データの追加処理を実行し(ステップS104)、データ削除部50が、重複データの削除処理を実行する(ステップS105)。さらに、鍵生成関数決定部80が、既知データ格納部60に格納された既知データと鍵格納部70に格納された鍵とを用いて、鍵生成関数の作成処理を実行する(ステップS106)。
【0053】
そして、パラメータ設定部90が、性能要件に関する情報を利用して、転送データの詳細やアルゴリズム、データ長といったパラメータを決定し、カスタマイズを行って、プロトコル定義ファイルを出力する(ステップS107)。
【0054】
なお、ステップS107において、要求される性能要件を充足することができない場合(例えば、プロトコルの本数が多いために、通信帯域の要件を満足できない等)には、例えば、セキュリティ要件のレベルを下げて、再び、ステップS102からステップS107の処理を行う。そして、例えば、セキュリティ要件のレベルを順次下げて処理を行っても、要求される性能要件を充足することができない場合には、エラーを出力して処理を終了する。
【0055】
以上、説明したように、本実施形態によれば、端末間で、セキュリティ要件と性能要件とからなる環境条件データや要求条件データを交換し、これらに基づいて、サービス提供に用いられる暗号プロトコルを動的に生成し、あるいは、必要に応じて変更することにより、通信相手の環境に応じて、最適な認証あるいは鍵共有プロトコルにカスタマイズして、処理を実行することができる。また、各コンポーネントの第一番目のフローに着目し、同じ方向のフローを機械的に多重化(重ね合わせ)することにより、フローのマージを実行する。そして、その後、同一フロー上のデータ、関数のマージを実行する。こうすることによって、データや関数のマージを行えるか否かの条件判定ロジックを削除できるため、従来よりも処理時間を短縮することができる。したがって、本実施形態の暗号プロトコル生成装置は、認証や鍵交換を行うサービスにおけるシステム設計全般に広く適用することができる。例えば、インターネット事業における認証プロトコルやモバイル・ユビキタス間環境における最適認証・鍵共有プロトコルなどに適用が可能である。
【0056】
なお、暗号プロトコル生成装置の処理をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを暗号プロトコル生成装置に読み込ませ、実行することによって本発明の暗号プロトコル生成装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
【0057】
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されても良い。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
【0058】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0059】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【0060】
【図1】本実施形態に係る暗号プロトコル生成装置の構成図である。
【図2】本実施形態に係る認証プロトコルの基本コンポーネントを示す図である。
【図3】本実施形態に係る認証プロトコルの基本コンポーネントを示す図である。
【図4】本実施形態に係る鍵共有プロトコルの基本コンポーネントを示す図である。
【図5】本実施形態に係る暗号プロトコル生成装置の処理フローである。
【図6】従来の基本プロトコル生成部の処理概念を示した図である。
【図7】本実施形態に係る基本プロトコル生成部の処理概念を示した図である。
【符号の説明】
【0061】
10・・・通信部
20・・・基本プロトコル生成部
30・・・基本コンポーネント格納部
31・・・データセット入力部
40・・・データ追加部
50・・・データ削除部
60・・・既知データ格納部
70・・・鍵格納部
80・・・鍵生成関数決定部
90・・・パラメータ決定部

【特許請求の範囲】
【請求項1】
サービスの提供にあたって、端末相互の諸条件に応じて、暗号プロトコルを自動的に生成する暗号プロトコル生成装置であって、
送信データ、送信を行わずに保持しているデータ、受信データおよびこれらのデータから計算可能なデータを既知データとして格納する既知データ格納手段と、
鍵を格納する鍵格納手段と、
前記端末間で、セキュリティ要件と性能要件とからなる環境条件データや要求条件データを交換する通信手段と、
認証プロトコル用のコンポーネットと鍵共有プロトコル用のコンポーネントとをそれぞれ複数格納する基本コンポーネント格納手段と、
前記交換したセキュリティ要件に基づいて、前記鍵共有プロトコル用のコンポーネントを組み合わせた後、前記認証プロトコル用のコンポーネットを重ね合わせて基本プロトコルを生成する基本プロトコル生成手段と、
該生成した基本プロトコルに不足したデータを追加するデータ追加手段と、
該不足データを追加した基本プロトコルから重複したデータを削除するデータ削除手段と、
前記既知データ格納手段した既知データと前記鍵格納手段に格納した鍵とを用いて、セッション鍵を生成するための鍵生成関数を決定する鍵生成関数決定手段と、
前記性能要件に基づいて、少なくとも転送データの詳細やアルゴリズム、データ長を決定することによりパラメータを設定するパラメータ設定手段と、
を備えたことを特徴とする暗号プロトコル生成装置。
【請求項2】
前記基本プロトコル生成手段が、各コンポーネントの第1番目のフローに着目し、同じ方向のフローを多重化し、該多重化後に、同一フローに存在するデータや関数等の要素をマージすることを特徴とする請求項1に記載の暗号プロトコル生成装置。
【請求項3】
前記セキュリティ要件が、少なくとも前記端末が信頼できるか否か、事前共有鍵の有無、プロトコルにおけるフローの本数、利用可能なアルゴリズムの種別を含むことを特徴とする請求項1または請求項2に記載の暗号プロトコル生成装置。
【請求項4】
前記性能要件が、少なくとも通信帯域、端末の演算能力、鍵長を含むことを特徴とする請求項1から請求項3のいずれかに記載の暗号プロトコル生成装置。
【請求項5】
更に、ユーザが前記基本コンポーネント格納手段に格納される認証プロトコル用のコンポーネットと鍵共有プロトコル用のコンポーネントを構成するデータを任意に設定するデータ設定手段を備えたことを特徴とする請求項2から請求項4のいずれかに記載の暗号プロトコル生成装置。
【請求項6】
サービスの提供にあたって、端末相互の諸条件に応じて、暗号プロトコルを自動的に生成する暗号プロトコル生成方法であって、
前記端末間で、セキュリティ要件と性能要件とからなる環境条件データや要求条件データを交換する第1のステップと、
前記交換したセキュリティ要件に基づいて、格納されている鍵共有プロトコル用のコンポーネントを組み合わせた後、格納されている認証プロトコル用のコンポーネットを重ね合わせて基本プロトコルを生成する第2のステップと、
該生成した基本プロトコルに不足したデータを追加する第3のステップと、
該不足データを追加した基本プロトコルから重複したデータを削除する第4のステップと、
格納された既知データと格納された鍵とを用いて、セッション鍵を生成するための鍵生成関数を決定する第5のステップと、
前記性能要件に基づいて、少なくとも転送データの詳細やアルゴリズム、データ長を決定することによりパラメータを設定する第6のステップと、
を備えたことを特徴とする暗号プロトコル生成方法。
【請求項7】
サービスの提供にあたって、端末相互の諸条件に応じて、暗号プロトコルを自動的に生成する暗号プロトコル生成方法をコンピュータに実行させるためのプログラムであって、
前記端末間で、セキュリティ要件と性能要件とからなる環境条件データや要求条件データを交換する第1のステップと、
前記交換したセキュリティ要件に基づいて、格納されている鍵共有プロトコル用のコンポーネントを組み合わせた後、格納されている認証プロトコル用のコンポーネットを重ね合わせて基本プロトコルを生成する第2のステップと、
該生成した基本プロトコルに不足したデータを追加する第3のステップと、
該不足データを追加した基本プロトコルから重複したデータを削除する第4のステップと、
格納された既知データと格納された鍵とを用いて、セッション鍵を生成するための鍵生成関数を決定する第5のステップと、
前記性能要件に基づいて、少なくとも転送データの詳細やアルゴリズム、データ長を決定することによりパラメータを設定する第6のステップと、
をコンピュータに実行させるためのプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2009−194602(P2009−194602A)
【公開日】平成21年8月27日(2009.8.27)
【国際特許分類】
【出願番号】特願2008−32716(P2008−32716)
【出願日】平成20年2月14日(2008.2.14)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成19年度、情報通信研究機構、「ユビキタスネットワークにおける環境に応じたセキュリティプロトコルの自動生成・カスタマイズ技術」委託研究、産業活力再生特別措置法第30条の適用を受ける特許出願
【出願人】(599108264)株式会社KDDI研究所 (233)
【Fターム(参考)】