(57)【要約】【課題】  プロトコルを動的に生成して装置環境に適したものとする。【解決手段】  プロトコル生成装置は、通信により相手装置の性能や通信環境および要求条件に関する情報を取得し、あらかじめライブラリ登録された1以上のコンポーネントを抽出することにより基本プロトコルを構築し、計算量理論に基づくパラメータを導出して基本プロトコルをカスタマイズすることで、通信相手に応じた最適なプロトコルを導出し実行する。このように動的に生成されるプロトコルを使用して認証や鍵共有を実行する。【選択図】      図１
2006186773.tif 000002
【特許請求の範囲】
【請求項１】
装置間で通信を行い動的にプロトコルを生成するプロトコル生成装置であって、
通信により相手装置の性能や通信環境、および要求条件に関する情報を相互に交換する情報交換部と、
前記要求条件に関する情報に基づき、あらかじめライブラリ登録された1以上のコンポーネントを抽出して基本プロトコルを構築し、前記相手装置の性能や通信環境に関する情報を用いて計算量理論に基づくパラメータを導出し、前記基本プロトコルをカスタマイズするプロトコル生成部と、
を具備することを特徴とするプロトコル生成装置。
【請求項２】
前記プロトコル生成部によりカスタマイズされたプロトコルを実行し、前記装置間の認証、および暗号化する鍵情報を共有するプロトコル実行部と、
を具備することを特徴とする請求項１に記載のプロトコル生成装置。
【請求項３】
前記プロトコル生成部は、
前記情報交換部により取得した情報から前記カスタマイズプロトコルの生成に必要な基本情報を生成し、当該基本情報を自身のセキュリティポリシーと照合して受け入れの有無を決定する基本情報生成部と、
前記基本データに基づき前記抽出されたコンポーネントで定義されている各データのデータ長、アルゴリズムを含むパラメータを決定するパラメータ導出部と、
を具備することを特徴とする請求項１に記載のプロトコル生成装置。
【請求項４】
前記情報交換部は、前記生成された基本情報を符号化して前記相手側装置へ送信すると共に、相手装置から前記基本情報を受信して保持し、前記プロトコル実行部は、前記保持した基本情報の確認を行うことを特徴とする請求項１〜３のいずれか１項に記載のプロトコル生成装置。
【請求項５】
前記情報交換部は、前記プロトコルに含まれる、使用コンポーネントライブラリとパラメータを符号化した情報を送信すると共に、相手装置から前記情報を受信し、前記プロトコル実行部は、返信データ構造の認識をすることを特徴とする請求項１〜４のいずれか１項に記載のプロトコル生成装置。
【請求項６】
装置間で通信を行い動的にプロトコルを生成するプロトコル生成方法であって、
通信により相手装置の性能や通信環境、および要求条件に関する情報を相互に交換するステップと、
前記要求条件に関する情報に基づき、あらかじめライブラリ登録された1以上のコンポーネントを抽出して基本プロトコルを構築し、前記相手装置の性能や通信環境に関する情報を用いて計算量理論に基づくパラメータを導出し、前記基本プロトコルをカスタマイズするステップと、
を有することを特徴とするプロトコル生成方法。
【請求項７】
装置間で通信を行い動的にプロトコルを生成するプロトコル生成装置に用いられるプログラムであって、
通信により相手装置の性能や通信環境、および要求条件に関する情報を相互に交換する処理と、
前記要求条件に関する情報に基づき、あらかじめライブラリ登録された1以上のコンポーネントを抽出して基本プロトコルを構築し、前記相手装置の性能や通信環境に関する情報を用いて計算量理論に基づくパラメータを導出し、前記基本プロトコルをカスタマイズする処理と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、装置間で通信を行い動的にプロトコルを生成する、プロトコル生成装置および方法ならびにプログラムに関する。
【背景技術】
【０００２】
近年、コンピュータを利用した様々なサービスが提供されるようになった。多くのサービスでは、利用者を認証する認証プロトコルや、暗号化するための鍵を交換するプロトコルが使用されている。上記の目的のために従来から多種多様なプロトコルが多数提案されている。
ところで、上記したプロトコルは、装置あるいはサービスの単位で１つ実装されることがほとんどであった。また、装置毎に実行するプロトコルを変更する場合は、その分だけ個別に実装せざるを得ない。具体的に、複数のプロトコルを共存させながら通信量を均等にし、最適な管理通信を行うシステムが提案されている（例えば、特許文献１参照）。
【特許文献１】特開平８−１９１３３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記した特許文献に開示された技術に限らず、例えば、ＩＰｓｅｃ（Internet Protocol Security）などは複数プロトコルを利用可能であるが、利用環境に最適なプロトコルを導出しているとはいえず、また、実行できるプロトコル数も２種類程度と非常に限られていた。また、安全性と利便性はトレードオフの関係にあり、１つのプロトコルが全ての装置に適しているとは限らない。
【０００４】
本発明は上記事情に鑑みてなされたものであり、通信相手の環境に合せてプロトコルを動的に生成し、あるいは変更することで最適なプロトコルを導出し、例えば、最適な認証あるいは鍵共有プロトコルにカスタマイズして、安全性、利便性共に装置に適したものとすることのできる、プロトコル生成装置および方法ならびにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記した課題を解決するために本発明は、装置間で通信を行い動的にプロトコルを生成するプロトコル生成装置であって、通信により相手装置の性能や通信環境、および要求条件に関する情報を相互に交換する情報交換部と、前記要求条件に関する情報に基づき、あらかじめライブラリ登録された1以上のコンポーネントを抽出して基本プロトコルを構築し、前記相手装置の性能や通信環境に関する情報を用いて計算量理論に基づくパラメータを導出し、前記基本プロトコルをカスタマイズするプロトコル生成部と、を具備することを特徴とする。
【０００６】
また、本発明において、前記プロトコル生成部によりカスタマイズされたプロトコルを実行し、前記装置間の認証、および暗号化する鍵情報を共有するプロトコル実行部と、を具備することを特徴とする。
【０００７】
また、本発明において、前記プロトコル生成部は、前記情報交換部により取得した情報から前記カスタマイズプロトコルの生成に必要な基本情報を生成し、当該基本情報を自身のセキュリティポリシーと照合して受け入れの有無を決定する基本情報生成部と、前記基本データに基づき前記抽出されたコンポーネントで定義されている各データのデータ長、アルゴリズムを含むパラメータを決定するパラメータ導出部と、を具備することを特徴とする。
【０００８】
また、本発明において、前記情報交換部は、前記生成された基本情報を符号化して前記相手側装置へ送信すると共に、相手側装置から前記基本情報を受信して保持し、前記プロトコル実行装置は前記保持した基本情報の確認を行うことを特徴とする。
【０００９】
また、本発明において、前記情報交換部は、前記プロトコルに含まれる、使用コンポーネントライブラリとパラメータを符号化した情報を送信すると共に、相手側装置から同情報を受信し、前記プロトコルル実行装置は、返信データ構造を認識することを特徴とする。
【００１０】
また、本発明は、装置間で通信を行い動的にプロトコルを生成するプロトコル生成方法であって、通信により相手装置の性能や通信環境、および要求条件に関する情報を相互に交換するステップと、前記要求条件に関する情報に基づき、あらかじめライブラリ登録された1以上のコンポーネントを抽出して基本プロトコルを構築し、前記相手装置の性能や通信環境に関する情報を用いて計算量理論に基づくパラメータを導出し、前記基本プロトコルをカスタマイズするステップと、を有することを特徴とする。
【００１１】
また、本発明は、装置間で通信を行い動的にプロトコルを生成するプロトコル生成装置に用いられるプログラムであって、通信により相手装置の性能や通信環境、および要求条件に関する情報を相互に交換する処理と、前記要求条件に関する情報に基づき、あらかじめライブラリ登録された1以上のコンポーネントを抽出して基本プロトコルを構築し、前記相手装置の性能や通信環境に関する情報を用いて計算量理論に基づくパラメータを導出し、前記基本プロトコルをカスタマイズする処理と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、通信により相手装置の性能や通信環境および要求条件に関する情報を取得し、あらかじめライブラリ登録された1以上のコンポーネントを抽出することにより基本プロトコルを構築し、計算量理論に基づくパラメータを導出して基本プロトコルをカスタマイズすることで、通信相手に応じた最適なプロトコルを導出し実行することができる。そして、生成したプロトコルを使用して認証や鍵共有を実行することにより、安全性、利便性共に装置に適したものとすることができる。
【００１３】
また、上記によりカイタマイズされたプロトコルを実行すると共に、生成された基本情報を符号化して相手側装置との間で送受信することにより、相互に基本情報の確認を行うことができる。更に、プロトコルに含まれる使用コンポーネントライブラリとパラメータを符号化した情報を送受信することにより、返信データ構造を認識することも可能である。これらにより、通信を行う装置間で動的に生成されたプロトコルの検証が可能になる。
【発明を実施するための最良の形態】
【００１４】
図１は、本発明実施形態に係わるプロトコル生成装置の内部構成を機能展開して示したブロック図である。
本発明のプロトコル生成装置は、コンポーネントライブラリ１０と、情報交換部１１と、基本情報生成部１２と、パラメータ導出部１３と、プロトコル生成部１４と、プロトコル実行部１５で構成される。これら各ブロックが持つ機能はプログラムによって具現化され、プロトコル生成装置を構成するＣＰＵと記憶装置（いずれも図示せず）のハードウェア資源により実現される。
【００１５】
コンポーネントライブラリ１０は、プロトコルを生成するためのコンポーネントファイルとして用意されたライブラリがあらかじめ用意され、格納されるファイルである。コンポーネントライブラリは、＜乱数送付、メッセージ認証子受信＞といった一往復のプロトコル仕様が記号化されたラベルとして添付された物理的なプログラムとして実装される、例えば、Ｊａｖａ（登録商標）のクラスファイル相当をいうものとする。
また、情報交換部１１は、自身が持つ環境と要求に関する情報を相手側装置へ送信すると共に、相手側装置から受信した前記情報を受信する機能を持つ。
【００１６】
一方、基本情報生成部１２は、情報交換部１１により取得した情報からカスタマイズプロトコルの生成に必要な基本情報を生成し、当該基本情報を自身のセキュリティポリシーと照合して受け入れの有無を決定する機能を持つ。また、パラメータ導出部１３は、基本データ生成部１２によって生成される基本情報に基づき、コンポーネントライブラリ１０から抽出されたコンポーネント毎、定義すべきパラメータを導出する機能を持つ。
プロトコル生成部１４は、上記した基本データ生成部１２とパラメータ導出部１３を含み、コンポーネントライブラリを組み合わせてカスタマイズされたプロトコルを生成する機能を持つ。
【００１７】
プロトコル実行部１５は、プロトコル生成部１４により生成されるカスタマイズされたプロトコルを実行して、例えば、認証もしくは鍵の共有を行い、その結果をアプリケーションへ引き渡す機能を持つ。
なお、情報交換部１１は、更に、生成された基本情報を符号化して相手側装置へ送信すると共に、相手側装置から基本情報を受信する機能も併せ持ち、このことにより、プロトコル実行部１５で保持する基本情報の確認を行うことが可能になる。情報交換部１１はまた、プロトコルに含まれる、使用コンポーネントライブラリとパラメータを符号化した情報を送信すると共に、相手側装置から同情報を受信する機能も併せ持ち、このことにより、プロトコル実行部１５は、返信データ構造を認識することができる。
【００１８】
図２は、本発明実施形態に係わる基本動作を説明するために引用したフローチャートであり、本発明のプログラムの処理手順も示している。
以下、図２に示すフローチャートを参照しながら、図１に示す本発明実施形態の動作について詳細に説明する。
【００１９】
まず、通信を行う双方の装置は、イニシエータ（先にプロトコルを開始する装置）、現在利用している通信速度Ｓ、自身の計算能力Ｐ、セキュリティレベル、共有鍵の有効期間、アプリケーションから入力された要求条件（例えば、相手認証あり、鍵共有あり）から情報交換用の情報を生成する（Ｓ２１）。そして、情報交換部１１を介して生成した情報を送受信して交換する（Ｓ２２）。
続いて、基本情報生成部１２は、情報交換部１１を介して交換した情報からプロトコル生成に必要な基本情報を構築する（Ｓ２３）。図３にその詳細な手順がフローチャートで示されている。
【００２０】
基本情報生成部１２は、図３に示されるように、例えば、通信速度、共有鍵の有効期限については（Ｓ２３１）、原則低い方の値に設定する（Ｓ２３５）。また、セキュリティレベルは（Ｓ２３２）、原則、高い法の値に設定する（Ｓ２３６）。更に、処理速度は（Ｓ２３３）、双方相手の処理速度情報を保持する（Ｓ２３７）。なお、要求条件については（Ｓ２３４）、相手装置が認証を要求しているか否かを保持すると共に（Ｓ２３８）、どちらか一方が、鍵共有を希望すれば（Ｓ２３９）、鍵共有ありに設定する（Ｓ２４０）。
【００２１】
説明を図２のフローチャートに戻し、基本情報生成部１２は、上記した条件に従い設定を行った結果をセキュリティポリシーと照合し、受け入れ可能か否かを判断する（Ｓ２４）。受け入れ可能か否かの判断は、自身が持つ装置性能等と比較することにより行われる。そして、受け入れ可能と判断されたとき、基本情報生成部１２は、その基本情報を符号化した情報を、情報交換部１１を介して交換することで、互いが同様の基本情報を保持していることを確認できる（Ｓ２５）。
続いて、基本情報生成部１２は、コンポーネントライブラリ１０に保持されている各コンポーネントライブラリの中から基本情報に合致するコンポーネントを抽出して組合せて基本プロトコルを作成する（Ｓ２６）。そして、パラメータ導出部１３を起動する。
【００２２】
パラメータ導出部１３は、基本情報生成部１２により抽出された各コンポーネントに定義されている各データのデータ長、あるいは使用するアルゴリズム等のパラメータを基本情報生成部１２により生成された基本情報から決定する（Ｓ２７）。例えば、通信速度（Ｓ）から導出される利用可能最大データ長（Ｍ）から、1個のデータ送受信に含まれるデータ長の合計がＭ以下でなければならないといった条件を抽出する。また、計算能力（Ｐ）からアメゴリズムを決定すると共に、各データのデータ長等を決定する。
プロトコル生成部１４は、上記したように、要求条件に関する情報に基づき、あらかじめライブラリ登録された1以上のコンポーネントを抽出して基本プロトコルを構築し、相手装置の性能や通信環境に関する情報を用いて計算量理論に基づくパラメータを導出し、基本プロトコルをカスタマイズしてプロトコル実行部１５へ引き渡す（Ｓ２８）。
【００２３】
図４にプロトコル実行の流れをフローチャートで示す。以下、図４に示すフローチャートを参照しながら、プロトコル実行部１５によるプロトコル実行の処理手順について説明する。
プロトコル実行部１５は、プロトコル生成部１４により生成され出力されるプロトコルを実行して認証や鍵共有を行う（Ｓ４１）。なお、プロトコルには、使用しているコンポーネントライブラリとパラメータを符号化したヘッダ情報が含まれているものとする。この情報を、通信を行う双方の装置が参照することによって互いの返信データ構造を認識することができる（Ｓ４２、Ｓ４３）。プロトコル実行部１５は、所定のプロトコルが終了したらその結果をアプリケーション（図示せず）に引き渡す（Ｓ４４、Ｓ４５）。
【００２４】
図５は、装置間の処理およびデータの流れをシーケンス図で示したものである。以下、図５に示す動作シーケンス図を参照しながら本発明のプロトコル生成方法について説明する。
図５において、装置Ａ、Ｂは、共に、それぞれの計算能力、通信環境等の環境情報と要求条件を生成して相互に交換する（Ｓ５１）。そして、双方が交換した情報に基づいてそれぞれプロトコルを自動生成する。プロトコル生成に際し、まず、要求条件を基にコンポーネントライブラリを組合せて基本プロトコルを生成する（Ｓ５２ａ、５２ｂ）。このとき、生成される基本情報（通信速度、認証有効期限、セキュリティレベル、処理速度等）は、装置Ａ、Ｂ間で交換することにより、相互に同様の基本情報を保持していることを確認することができる（Ｓ５３）。
【００２５】
次に、各装置Ａ、Ｂでは、環境情報を利用して計算量理論の観点か最適なパラメータ値を導出して基本プロトコルをカスタマイズする（Ｓ５４ａ、Ｓ５４ｂ）。そして、生成したカスタマイズプロトコルを使用して認証や鍵共有を実行する（Ｓ５５ａ、Ｓ５５ｂ）。
なお、このとき使用されるプロトコルには、使用しているコンポーネントライブラリとパラメータを符号化したヘッダ情報が含まれ、これを参照することで双方の装置Ａ、Ｂで返信データ構造を認識できる（Ｓ５６）。
【００２６】
以上説明のように本発明は、通信により相手装置の性能や通信環境および要求条件に関する情報を取得し、あらかじめライブラリ登録された1以上のコンポーネントを抽出することにより基本プロトコルを構築し、計算量理論に基づくパラメータを導出して基本プロトコルをカスタマイズすることで、通信相手に応じた最適なプロトコルを導出し実行するものである。このように動的に生成されるプロトコルを使用して認証や鍵共有を実行することにより、安全性、利便性共に装置に適したものとすることができる。
【００２７】
また、上記によりカイタマイズされたプロトコルを実行すると共に、生成された基本情報を符号化して相手側装置との間で送受信することにより、相互に基本情報の確認を行うことができる。更に、プロトコルに含まれる使用コンポーネントライブラリとパラメータを符号化した情報を送受信することにより、返信データ構造を認識することも可能である。これらにより、通信を行う装置間で動的に生成されたプロトコルの検証が可能になる。
【００２８】
なお、図１に示す、情報交換部１１、基本情報生成部１２、パラメータ導出部１３、プロトコル生成部１４、プロトコル実行部１５のそれぞれで実行される手順をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって本発明のプロトコル生成装置を実現することができる。ここでいうコンピュータシステムとは、ＯＳや周辺装置等のハードウェアを含む。
【００２９】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００３０】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【００３１】
【図１】本発明実施形態に係わるプロトコル生成装置の内部構成を機能展開して示したブロック図である。
【図２】本発明実施形態に係わる基本動作を説明するために引用したフローチャートである。
【図３】本発明実施形態に係わる動作を説明するために引用したフローチャートである。
【図４】本発明実施形態に係わる動作を説明するために引用したフローチャートである。
【図５】本発明実施形態に係わる動作を説明するために引用したフシーケンス図である。
【符号の説明】
【００３２】
１０…コンポーネントライブラリ、１１…情報交換部、１２…基本情報生成部、１３…パラメータ導出部、１４…プロトコル生成部、１５…プロトコル実行部
【図１】
2006186773.tif 000003
【図２】
2006186773.tif 000004
【図３】
2006186773.tif 000005
【図４】
2006186773.tif 000006
【図５】
2006186773.tif 000007