(57)【要約】【課題】  セキュリティを確保することは、困難だった。【解決手段】  ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバ１０３は、デジカメ１０２とプリンタ１０１から、それぞれのＳＤＰ（Ｓｅｓｓｉｏｎ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を受信して、セキュリティ管理サーバ１０４に転送する。ＳＤＰは、セキュリティ情報を含む。セキュリティ管理サーバ１０４は、ＳＩＰサーバ１０３から受信したＳＤＰに基づいて、ＩＰｓｅｃ設定内容を生成して、デジカメ１０２及びプリンタ１０１に送信する。【選択図】  図４
2005346556.tif 000002
【特許請求の範囲】
【請求項１】
セキュリティ通信を行うために必要な情報を第１の装置と第２の装置に提供する提供装置であって、
第１の装置がセキュリティ通信を行うためのパラメータ、及び、第２の装置がセキュリティ通信を行うためのパラメータを、第１の装置と第２の装置を接続する接続装置から受信する受信手段と、
接続装置から受信したパラメータに基づいて、セキュリティ通信を行うために必要な情報を生成する生成手段と、
前記生成手段により生成されたセキュリティ通信を行うために必要な情報を、前記第１の装置及び第２の装置に送信する送信手段とを有することを特徴とする提供装置。
【請求項２】
セキュリティ通信を行うために必要な情報を第１の装置と第２の装置に提供する提供プログラムであって、
第１の装置がセキュリティ通信を行うためのパラメータ、及び、第２の装置がセキュリティ通信を行うためのパラメータを、第１の装置と第２の装置を接続する接続装置から受信し、
接続装置から受信したパラメータに基づいて、セキュリティ通信を行うために必要な情報を生成し、
前記生成されたセキュリティ通信を行うために必要な情報を、前記第１の装置及び第２の装置に送信することを特徴とする提供プログラム。
【請求項３】
セキュリティ通信を行うために必要な情報を提供装置から第１の装置と第２の装置に提供する提供方法であって、
第１の装置と第２の装置を接続する接続装置が、第１の装置がセキュリティ通信を行うためのパラメータを第１の装置から受信して、提供装置に転送し、
接続装置が、第２の装置がセキュリティ通信を行うためのパラメータを第２の装置から受信して、提供装置に転送し、
提供装置が、接続装置から受信したパラメータに基づいて、セキュリティ通信を行うために必要な情報を生成して、前記第１の装置及び第２の装置に送信することを特徴とする提供方法。
【請求項４】
通信相手との間で行う通信のセキュリティを確保するために必要な情報を提供装置から受け取る通信装置であって、
セキュリティを確保するためのパラメータを、通信相手との接続を行う接続装置に送信する送信手段と、
セキュリティを確保するために必要な情報を、提供装置から受信する受信手段と、
前記受信手段により提供装置から受信した情報を元に、通信相手との通信にセキュリティを確保するセキュリティ確保手段とを有することを特徴とする通信装置。
【請求項５】
通信相手との間で行う通信のセキュリティを確保するために必要な情報を提供装置から受け取るプログラムであって、
セキュリティを確保するためのパラメータを、通信相手との接続を行う接続装置に送信し、
セキュリティを確保するために必要な情報を、提供装置から受信し、
提供装置から受信したセキュリティを確保するために必要な情報を元に、通信相手との通信にセキュリティを確保することを特徴とするプログラム。
【請求項６】
第１の通信装置と第２の通信装置との間で行う通信のセキュリティを確保するために必要な情報を提供装置から受け取る方法であって、
第１の通信装置と第２の通信装置が、セキュリティを確保するためのパラメータを、通信相手との接続を行う接続装置に送信し、
接続装置が、セキュリティを確保するためのパラメータを提供装置に転送し、
第１の通信装置と第２の通信装置が、セキュリティを確保するために必要な情報を提供装置から受信し、受信した情報を元に通信相手との通信にセキュリティを確保することを特徴とする方法。
【請求項７】
セキュリティを確保するためのパラメータは、セキュリティを確保するための認証又は暗号化を行うか決定するためのパラメータであることを特徴とする請求項１の提供装置、請求項２のプログラム、請求項３の提供方法、請求項４の通信装置、請求項５の方法、もしくは、請求項６のプログラム。
【請求項８】
セキュリティ通信を行うために必要な情報あるいはセキュリティを確保するために必要な情報は、セキュリティを確保するための認証アルゴリズム又は暗号化アルゴリズムであることを特徴とする請求項１の提供装置、請求項２のプログラム、請求項３の提供方法、請求項４の通信装置、請求項５の方法、もしくは、請求項６のプログラム。
【請求項９】
セキュリティ通信を行うために必要な情報あるいはセキュリティを確保するために必要な情報は、セキュリティを確保するための鍵であることを特徴とする請求項１の提供装置、請求項２のプログラム、請求項３の提供方法、請求項４の通信装置、請求項５の通信方法、もしくは、請求項６のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュリティ通信を行うために必要な情報を第１の装置と第２の装置に提供する提供装置、提供プログラム、提供方法、通信相手との間で行う通信のセキュリティを確保するために必要な情報を提供装置から受け取る通信装置、プログラム、方法に関する。
【背景技術】
【０００２】
ＩＰｓｅｃは、一般的なＩＰレイヤでのセキュリティを実現するための十分な機能と安全性を備えた、標準化された技術である。ＩＰｓｅｃの中核は、ＲＦＣ  ２４０９  Ｔｈｅ  Ｉｎｔｅｒｎｅｔ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ（ＩＫＥ）で規定された  ＩＫＥプロトコルによるＳＡ（Ｓｅｃｕｒｉｔｙ  Ａｓｓｏｃｉａｔｉｏｎ）の自動生成であり、ＳＡ確立は、Ｐｈａｓｅ１（またはＩＳＡＫＭＰ  ＳＡ）、Ｐｈａｓｅ２（またはＩＰｓｅｃ  ＳＡ）の二段階に分けて行わる。ＩＰｓｅｃに関する特許文献としては、特許文献１がある。
【０００３】
アグレッシブモードの場合、Ｐｈａｓｅ１では、１往復目でＩＫＥ通信路の暗号アルゴリズムを選び、２往復目でＤＨ（Ｄｉｆｆｅｅ−Ｈｅｌｌｍａｎ）鍵交換アルゴリズムにより鍵交換（ＩＫＥ通信用の鍵）を行い３往復目で通信相手の認証を行う。Ｐｈａｓｅ２では、１往復目でＰｈａｓｅ１で確立した秘密の通信路を使いセキュリティ・プロトコルＥＳＰあるいはＡＨで用いる暗号アルゴリズムや秘密鍵を交換し、以降の接続了承を送信のみとして送る。こうして交換された設定情報は、両端末機器のＳＡＤ（Ｓｅｃｕｒｉｔｙ  Ａｓｓｏｃｉａｔｉｏｎ  Ｄａｔａｂａｓｅ）のＳＡエントリとして登録され、相互のセキュアな通信で利用される。
【０００４】
ＩＰｓｅｃ通信は、このように端末機器間で自動設定できるように標準化されているが、このためにはいくつかの事前設定が必須である。
【特許文献１】特開２００１−２９８４４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
Ｐｈａｓｅ１の３往復目で実施される認証は、Ｐｒｅ−Ｓｈａｒｅｄ  Ｋｅｙ方式による認証が一般的に支持されている。Ｐｒｅ−Ｓｈａｒｅｄ  Ｋｅｙ方式はセキュリティ通信を行う２者の端末機器間のみで有効な、つまり、他者に知られないように秘匿しなければならない共通鍵を、技術を持った管理者が対象機器に対し直接設定する事を前提としている。このため、特定少数機器間では運用可能であるが、不特定多数の機器間でＰｒｅ−Ｓｈａｒｅｄ  Ｋｅｙを設定する際の運用上の困難さが指摘されている。
【０００６】
また、ＩＰｓｅｃで利用する、ＤＨ鍵交換アルゴリズム、公開鍵暗号アルゴリズム等は処理が重く、ＣＰＵパワーの比較的低い移動体端末等でＩＰｓｅｃを処理した場合に、数秒以上の時間がかかるため、実用的には専用演算チップを必要とするなど、実装面での問題が指摘されている。
【０００７】
本発明は、セキュリティを確保するための処理を軽減することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の提供装置、プログラムは、第１の装置がセキュリティ通信を行うためのパラメータ、及び、第２の装置がセキュリティ通信を行うためのパラメータを、第１の装置と第２の装置を接続する接続装置から受信し、接続装置から受信したパラメータに基づいて、セキュリティ通信を行うために必要な情報を生成し、前記生成されたセキュリティ通信を行うために必要な情報を、前記第１の装置及び第２の装置に送信することを特徴とする。
【０００９】
また、本発明の提供方法は、第１の装置と第２の装置を接続する接続装置が、第１の装置がセキュリティ通信を行うためのパラメータを第１の装置から受信して、提供装置に転送し、接続装置が、第２の装置がセキュリティ通信を行うためのパラメータを第２の装置から受信して、提供装置に転送し、提供装置が、接続装置から受信したパラメータに基づいて、セキュリティ通信を行うために必要な情報を生成して、前記第１の装置及び第２の装置に送信することを特徴とする。
【００１０】
また、本発明の通信装置、プログラムは、セキュリティを確保するためのパラメータを、通信相手との接続を行う接続装置に送信し、セキュリティを確保するために必要な情報を、提供装置から受信し、提供装置から受信したセキュリティを確保するために必要な情報を元に、通信相手との通信にセキュリティを確保することを特徴とする。
【００１１】
また、本発明の方法は、第１の通信装置と第２の通信装置が、セキュリティを確保するためのパラメータを、通信相手との接続を行う接続装置に送信し、接続装置が、セキュリティを確保するためのパラメータを提供装置に転送し、第１の通信装置と第２の通信装置が、セキュリティを確保するために必要な情報を提供装置から受信し、受信した情報を元に通信相手との通信にセキュリティを確保することを特徴とする。
【発明の効果】
【００１２】
以上述べたように、セキュリティを確保するための処理を軽減することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら本発明に係る実施の形態を詳細に説明する。
【００１４】
図１は本発明の一実施形態のネットワーク構成図である。図１において１００はインターネットであり、ＩＰｖ６プロトコルを利用した通信が可能である。１０１はインターネット１００に直接または間接的に接続したプリンタであり、インターネット１００を介してＩＰｖ６プロトコルを用いた通信が可能である。１０２はインターネット１００に直接または間接的に接続したデジタルスチルカメラ（以降、デジカメと呼ぶ）であり、インターネット１００を介してＩＰｖ６プロトコルを用いた通信が可能である。
【００１５】
１０３はインターネット１００に接続したＳＩＰサーバであり、プリンタ１０１とデジカメ１０２とのＩＰｖ６プロトコルを利用したピアツーピアな通信のためのセッションを確立する。つまり、プリンタ１０１とデジカメ１０２がピアツーピアに通信を行う際、ＳＩＰサーバ１０３に対して両機器がアドレス登録（ＳＩＰ  Ｒｅｇｉｓｔｅｒ）を行い、デジカメ１０２からセッション要求（ＳＩＰ  Ｉｎｖｉｔｅ）をプリンタ１０１にＳＩＰサーバ１０３を経由して送信することで、両機器はピアツーピア通信を行うためのセッション確立を行う。このセッション確立後に、両機器は所用のアプリケーションによるピアツーピア通信を行うことが可能となる。なお、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）は、ＲＦＣ２５４３で規定されている。
【００１６】
１０４はインターネット１００に接続したセキュリティ管理サーバであり、プリンタ１０１やデジカメ１０２の、インターネット１００を介したピアツーピア通信におけるセキュリティを管理するサーバである。セキュリティ管理サーバ１０４は、両機器の詳細情報を保持しており、両機器とのインターネット１００を介した通信は既にセキュリティを確保されている。つまり、セキュリティ管理サーバ１０４とプリンタ１０１には、共通な認証鍵・暗号鍵が、外部に情報が漏洩しないように仕込まれており、この認証鍵・暗号鍵の情報を元に、セキュリティ管理サーバ１０４とプリンタ１０１がお互いに通信に関する認証と通信内容の暗号化が行える。また、セキュリティ管理サーバ１０４は、ＳＩＰサーバ１０３に対して、ＳＩＰ  ＵＡとしての機能も保持している。
【００１７】
図１のネットワーク構成において、セキュリティ通信を行うために必要な情報を提供装置であるセキュリティ管理サーバ１０４から第１の装置であるデジカメ１０２と第２の装置であるプリンタ１０１に提供する。
【００１８】
プリンタ１０１とデジカメ１０２を接続する接続装置であるＳＩＰサーバ１０３は、デジカメ１０２がセキュリティ通信を行うためのパラメータをデジカメ１０２から受信して、セキュリティ管理サーバ１０４に転送し、プリンタ１０１がセキュリティ通信を行うためのパラメータをプリンタ１０１から受信して、セキュリティ管理サーバ１０４に転送する。このセキュリティ通信を行うためのパラメータは、例えば、セキュリティのレベル（セキュリティが必須か、など）セキュリティのタイプ（認証、暗号化）である。
【００１９】
セキュリティ管理サーバ１０４は、ＳＩＰサーバ１０３から受信したパラメータに基づいて、セキュリティ通信を行うために必要な情報を生成して、デジカメ１０２及びプリンタ１０１に送信する。このセキュリティ通信を行うために必要な情報は、例えば、セキュリティ通信のための鍵である。
【００２０】
図２は、本実施形態での機能を実現するソフトウェアプログラムを動作させるためのハードウェア構成の一例を示したものである。ここでは、セキュリティ管理サーバ１０４をコンピュータ１９００により構成した場合の例を示すが、ＳＩＰサーバ１０３も、同様の構成を有する。また、プリント部、撮像部を追加することにより、プリンタ１０１、デジカメ１０２も、同様に、構成できる。
【００２１】
コンピュータ１９００は、ＣＰＵ１９０１と、ＲＯＭ１９０２と、ＲＡＭ１９０３と、ハードディスク（ＨＤ）１９０７及びフロッピー（登録商標）ディスク（ＦＤ）１９０８のディスクコントローラ（ＤＣ）１９０５と、ネットワークインタフェースカード（ＮＩＣ）１９０６とが、システムバス１９０４を介して互いに通信可能に接続された構成としている。そして、システムバス１９０４が、上記図１に示したインターネット１００とネットワークインタフェースカード１９０６を介して接続される。
【００２２】
ＣＰＵ１９０１は、ＲＯＭ１９０２あるいはＨＤ１９０７に記憶されたソフトウェア、あるいはＦＤ１９０８より供給されるソフトウェアを実行することで、システムバス１９０４に接続された各構成部を統括的に制御する。すなわち、ＣＰＵ１９０１は、以下に説明する処理シーケンスに従った処理プログラムを、ＲＯＭ１９０２、あるいはＨＤ１９０７、あるいはＦＤ１９０８から読み出して実行することで、本実施形態での動作を実現するための制御を行う。ＲＡＭ１９０３は、ＣＰＵ１９０１の主メモリあるいはワークエリア等として機能する。ＤＣ１９０５は、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、ネットワーク管理プログラム、および本実施形態における上記処理プログラム等を記憶するＨＤ１９０７、およびＦＤ１９０８とのアクセスを制御する。ＮＩＣ１９０６は、インターネット１００を通じてＩＰｖ６通信プロトコルを用いた相互通信をする。
【００２３】
セキュリティ管理サーバ１０４は、セキュリティ通信を行うために必要な情報を第１の装置であるデジカメ１０２と第２の装置であるプリンタ１０１に提供する提供装置であって、デジカメ１０２がセキュリティ通信を行うためのパラメータ、及び、プリンタ１０１がセキュリティ通信を行うためのパラメータを、デジカメ１０２とプリンタ１０１を接続する接続装置であるＳＩＰサーバ１０３から受信する受信手段であるＮＩＣ１９０６を有する。また、セキュリティ管理サーバ１０４は、ＳＩＰサーバ１０３から受信したパラメータに基づいて、セキュリティ通信を行うために必要な情報を生成する生成手段であるＣＰＵ１９０１を有する。ＮＩＣ１９０６は、ＣＰＵ１９０１により生成されたセキュリティ通信を行うために必要な情報を、デジカメ１０２及びプリンタ１０１に送信する送信手段である。
【００２４】
また、デジカメ１０２、プリンタ１０１は、通信相手との間で行う通信のセキュリティを確保するために必要な情報を提供装置であるセキュリティ管理サーバ１０４から受け取る通信装置であって、セキュリティを確保するためのパラメータを、通信相手との接続を行う接続装置であるＳＩＰサーバ１０３に送信する送信手段であるＮＩＣ１９０６を有する。また、デジカメ１０２、１０２、プリンタ１０１のＮＩＣ１９０６は、セキュリティを確保するために必要な情報を、セキュリティ管理サーバ１０４から受信する受信手段である。また、デジカメ１０２、プリンタ１０１は、ＮＩＣ１９０６によりセキュリティ管理サーバ１０４から受信した情報を元に、通信相手との通信にセキュリティを確保するセキュリティ確保手段であるＣＰＵ１９０１を有する。
【００２５】
ＳＩＰサーバ１０３は、ＲＡＭ１９０３あるいはＨＤ１９０７内にロケーションデータベースを保持する。ロケーションデータベースに格納される情報は、インターネット１００に接続される各端末、及び、セキュリティ管理サーバ１０４のＳＩＰ  ＵＲＩ及びＩＰｖ６アドレスである。プリンタ１０１、デジカメ１０２、及び、セキュリティ管理サーバ１０４のＳＩＰ  ＵＲＩは、例えば、ＢＪ００１＠ｄｅｖｉｃｅ．ｏａｎｏｎ．ｃｏｍ、ＤＣ１０１＠ｄｅｖｉｃｅ．ｏａｎｏｎ．ｃｏｍ、ＳＳ９００＠ｄｅｖｉｃｅ．ｏａｎｏｎ．ｃｏｍである。また、プリンタ１０１、デジカメ１０２、及び、セキュリティ管理サーバ１０４のＩＰｖ６アドレスは、例えば、３ｆｆｅ：５１４：：１、２００２：２００：：１、２００１：３４０：：１である。
【００２６】
以下、ＳＩＰサーバ１０３のロケーションデータベースに、これらの情報が登録される流れを簡単に説明する。ＳＩＰサーバ１０３は、「ｄｅｖｉｃｅ．ｏａｎｏｎ．ｃｏｍ」というドメインのＳＩＰサーバとしてレジストリサービス、ロケーションサービス、プロキシサービスを提供している。プリンタ１０１はインターネット１００に接続した際に自動的に設定されるＩＰｖ６アドレス（３ｆｆｅ：５１４：：１）を、自己のＩＤ（ＢＪ００１）と共にＳＩＰサーバ１０３に登録（ＳＩＰ  Ｒｅｇｉｓｔｅｒ）する。
【００２７】
登録要求を受けたＳＩＰサーバ１０３は、ＳＩＰで定義された認証を行い、プリンタ１０１の登録を受け付ける。この際、機器のＩＤ（ＢＪ００１）に、ＳＩＰサーバ１０３が管理しているドメイン（ｄｅｖｉｃｅ．ｏａｎｏｎ．ｃｏｍ）を「＠」で繋げることで、その機器のＳＩＰ  ＵＲＩを作成する。また、ＩＰｖ６アドレス（３ｆｆｅ：５１４：：１）をプリンタ１０１からの登録要求メッセージ（ＳＩＰ  Ｒｅｇｉｓｔｅｒメッセージ）より抽出し、先に作成したＳＩＰ  ＵＲＩ（ＢＪ００１＠ｄｅｖｉｃｅ．ｃａｎｏｎ．ｃｏｍ）と共にロケーションデータベースに格納する。
【００２８】
図３は、プリンタ１０１とセキュリティ管理サーバ１０４のモジュール構成図である。３０１〜３０６はセキュリティ管理サーバ１０４内に搭載されたモジュールであり、３１１〜３１４はプリンタ１０１内に搭載されたモジュールである。なお、デジカメ１０２も、プリンタ１０１と同様のモジュール構成を有する。
【００２９】
３０１はＳＩＰ通信モジュールであり、ＳＩＰサーバ１０３とＳＩＰメッセージのやり取りが行われる。３０２はメッセージ解析モジュールであり、ＳＩＰ通信モジュール３０１でやり取りされたＳＩＰメッセージの解析処理が行われる。３０３はセッションテーブルであり、メッセージ解析モジュール３０２でセッション確立やセッション削除のメッセージ解析から得られた、各機器間のセッション情報を管理・格納される。なお、セッションテーブルに関しては、図５にて詳細を説明する。
【００３０】
３０４は暗号通信モジュールであり、プリンタ１０１と事前に確保されたセキュアな通信路を利用したメッセージのやり取りが行われる。３０５はＩＰｓｅｃ管理モジュールであり、セッションテーブル３０３と後述する機器データベース３０６の情報から、プリンタ１０１にて利用するＩＰｓｅｃ設定内容の作成処理が行われる。３０６は機器データベースであり、ＩＰｓｅｃ作成時に利用される機器固有の情報が確保されている。なお、機器データベースに関しては、図６にて詳細を説明する。セッションテーブル３０３、機器データベース３０６は、ＲＡＭ１９０３あるいはＨＤ１９０７上に設けられる。
【００３１】
３１１はＳＩＰ通信モジュールであり、プリンタ１０１側のＳＩＰメッセージの通信処理モジュールである。このモジュールはＳＩＰ通信モジュール３０１と同等のモジュールである。３１２はアプリケーションであり、プリンタ１０１が他の機器（例えば、デジカメ１０２）とピアツーピアな通信を行う際に利用するアプリケーションである。３１３は暗号通信モジュールであり、セキュリティ管理サーバ１０４と事前に確保されたセキュアな通信路を利用したメッセージのやり取りが行われる。このモジュールは暗号通信モジュール３０４と同等のモジュールである。３１４はＩＰｓｅｃ設定・削除モジュールであり、ＩＰｓｅｃ管理モジュール３０５にて作成されたＩＰｓｅｃ設定内容をプリンタ１０１に設定するモジュールである。
【００３２】
図４は本実施形態のシーケンス図である。このシーケンス図では、ＳＩＰ通信を行うための登録処理（ＳＩＰ  Ｒｅｇｉｓｔｅｒ）は既に完了している状態であり、デジカメ１０２からプリンタ１０１に対してピアツーピアな通信を行う際の手順を示す。図４は、セキュリティ通信を行うために必要な情報を提供装置であるセキュリティ管理サーバ１０４から第１の装置であるデジカメ１０２と第２の装置であるプリンタ１０１に提供する提供方法を示す。また、デジカメ１０２とプリンタ１０１との間で行う通信のセキュリティを確保するために必要な情報をセキュリティ管理サーバ１０４から受け取る方法を示す。
【００３３】
４０１はセッション確立を要求するＩｎｖｉｔｅ要求メッセージであり、デジカメ１０２からＳＩＰサーバ１０３に送信される。このＩｎｖｉｔｅ要求メッセージ４０１は、Ｉｎｖｉｔｅ要求先であるプリンタ１０１のＳＩＰ  ＵＲＩ（ＢＪ００１＠ｄｅｖｉｃｅ．ｏａｎｏｎ．ｃｏｍ）を含む。また、この４０１のＩｎｖｉｔｅ要求メッセージ内には、デジカメ１０２とプリンタ１０１でピアツーピア通信を行う際のアドレス情報やアプリケーション情報（ポート番号）、ピアツーピア通信をセキュアに行うためのセキュリティ情報が、ＳＤＰ（Ｓｅｓｓｉｏｎ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）に記述され、添付されている。このＳＤＰの詳細説明は後述する。
【００３４】
４０２にてＳＩＰサーバ１０３が４０１のＩｎｖｉｔｅ要求メッセージを受信すると、そのＩｎｖｉｔｅ要求先であるプリンタ１０１のＳＩＰ  ＵＲＩ（ＢＪ００１＠ｄｅｖｉｃｅ．ｏａｎｏｎ．ｃｏｍ）からＩＰｖ６アドレスを前述のロケーションデータベースより調査し、４０１のメッセージをプリンタ１０１にそのまま転送する（４０３）。この転送の際に、ＳＩＰサーバ１０３は、セキュリティ管理サーバ１０４に対しても４０１のＩｎｖｉｔｅ要求メッセージをそのまま転送する処理を行う（４０４）。この転送処理は、例えば、ＳＩＰにて規定されているｆｏｒｋ機能を用いて実現される。セキュリティ管理サーバ１０４のＩＰｖ６アドレスも、ロケーションデータベースに登録されている。すなわち、ＳＩＰサーバ１０３は、デジカメ１０２がＳＩＰサーバ１０３宛てに送信したＩｎｖｉｔｅ要求メッセージの宛先を、プリンタ１０１とセキュリティ管理サーバ１０４に書き換えたメッセージ４０３、４０４を送信する。
【００３５】
以降、このセッション確立のためのＳＩＰメッセージは、セキュリティ管理サーバ１０４へＳＩＰ  ｆｏｒｋ機能を用いて転送され、４０５にてデジカメ１０２とプリンタ１０１のセッション情報が収集される。セッション情報は、セッションテーブル３０３に登録される。
【００３６】
プリンタ１０１では、受信したＩｎｖｉｔｅ要求メッセージ４０３の返信として、４０６のレスポンスメッセージをＳＩＰサーバ１０３経由でデジカメ１０２に対して送信する。この４０６のレスポンスメッセージには、セッション受入を許可する「２００ＯＫ」が返信され（これ以降、２００ＯＫメッセージと呼ぶ）、デジカメ１０２とのピアツーピア通信に必要な各種情報を記述したＳＤＰも含まれる。レスポンスメッセージには他にエラーメッセージ等も存在するが、その場合の説明は図７にて行う。
【００３７】
４０７では、ＳＩＰサーバ１０３は、４０２と同様に、宛先ＳＩＰ  ＵＲＩからＩＰｖ６アドレスを調査し、４０６の２００ＯＫメッセージをそのまま転送する（４０８）。ここでも、上記のＳＩＰ  ｆｏｒｋ機能を利用し、４０６の２００ＯＫメッセージをセキュリティ管理サーバ１０４に転送する（４０９）。４１０ではＩｎｖｉｔｅ要求に対する２００ＯＫメッセージを受信したデジカメ１０２から、２００ＯＫメッセージを受理した旨を通知するＡｃｋメッセージをプリンタ１０１に対してＳＩＰサーバ１０３経由で送信する。４１１では、ＳＩＰサーバ１０３は、先の４０２、４０７と同様に、４１０のＡｃｋメッセージをプリンタ１０１に転送（４１２）し、また、セキュリティ管理サーバ１０４にも転送（４１３）する。ここまでのＳＩＰメッセージのやり取りにより、ＳＩＰによるデジカメ１０２とプリンタ１０１のピアツーピア通信を行うセッションが確立される。
【００３８】
また、セキュリティ管理サーバ１０４でのセッション情報の収集処理（４０５）においても、デジカメ１０２とプリンタ１０１のセッション情報がすべてそろったため、それらの情報から、両機器にて交わされるピアツーピア通信のセキュリティレベルに応じて、それぞれの機器で設定すべきＩＰｓｅｃ設定内容を作成し、４１４と４１５にて両機器に対して送信する。なお、このＩＰｓｅｃ設定内容の送信（４１４、４１５）には、先に説明した暗号通信モジュール（３０４、３１３）を用いて、通信内容を暗号化して送信される。この暗号化により、ＩＰｓｅｃ設定内容に含まれるピアツーピア通信用の鍵情報を安全に両機器（デジカメ１０２とプリンタ１０１）に提供可能となる。
【００３９】
４１６、４１７ではプリンタ１０１、デジカメ１０２がそれぞれ、セキュリティ管理サーバ１０４より受信したＩＰｓｅｃ設定内容を機器に設定する。両機器における具体的な設定方法は、前述のＩＰｓｅｃ設定・削除モジュール３１４にて、受信したＩＰｓｅｃ設定内容をそのまま「ｓｅｔｋｅｙ」コマンドでカーネルに入力している。このＩＰｓｅｃ設定が正常に行われたか、エラーとなったかを、４１８、４１９にてそれぞれセキュリティ管理サーバ１０４に返信する。このＩＰｓｅｃ設定の確認をセキュリティ管理サーバ１０４に通知することで、サーバ１０４側でのセッション情報の管理とＩＰｓｅｃ通信の管理を同時に行うことが可能となる。両機器（デジカメ１０２とプリンタ１０１）でのＩＰｓｅｃ設定が正常に行われると、４２０にて各機器のアプリケーション３１２が起動され、ＩＰｓｅｃを利用したピアツーピア通信が可能となる。
【００４０】
ＳＩＰ  Ｉｎｖｉｔｅ関連メッセージに添付されるＳＤＰの一例は以下の通りである。なお、この例は、プリンタ１０１が２００ＯＫメッセージに添付するプリンタ側のＳＤＰ内容である。
【００４１】
ｖ＝０
ｏ＝ＢＪ００１  ２４５１８５１  １１２１４４３８７０  ＩＮ  ＩＰ６  ３ｆｆｅ：５１４：：１
ｓ＝−
ｃ＝ＩＮ  ＩＰ６  ３ｆｆｅ：５１４：：１
ｔ＝０  ０
ｍ＝ａｐｐｌｉｃａｔｉｏｎ  ８０  ＨＴＴＰ
ｋ＝ｉｐｓｅｃ＿ｌｅｖｅｌ：ｒｅｑｕｉｒｅ
ｋ＝ｉｐｓｅｃ＿ｔｙｐｅ：ａｈ＆ｅｓｐ
ｋ＝ｉｐｓｅｃ＿ｓｐｉ：０ｘ４４ｃ
【００４２】
重要な情報に関して説明する。二つ目「ｏ＝」の「ＢＪ００１」が機器ＩＤ、「３ｆｆｅ：５１４：：１」がプリンタ１０１のＩＰｖ６アドレスである。同様に、四つ目「ｃ＝」にもＩＰｖ６アドレスが記述される。六つ目「ｍ＝」の「８０」がアプリケーションのポート番号であり、「ＨＴＴＰ」のプロトコルを利用することを示す。そして、七行目から九行目の「ｋ＝」にて、ｓｅｃ＿ｌｅｖｅｌ、ｓｅｃ＿ｔｙｐｅ、ＳＰＩ番号がそれぞれ記述される。
【００４３】
なお、セキュリティレベルｓｅｃ＿ｌｅｖｅｌは、ｕｓｅ（ＩＰｓｅｃ利用は必須ではない）、ｒｅｑｕｉｒｅ（ＩＰｓｅｃ利用は必須）、ｕｎｉｑｕｅ（ＩＰｓｅｃで利用するＳＡを一意に指定）の各値を持つことが可能である。セキュリティタイプｓｅｃ＿ｔｙｐｅは、ａｈ（認証）、ｅｓｐ（暗号化）、ａｈ＆ｅｓｐ（認証と暗号化）の各値を持つことが可能である。このセキュリティタイプは、セキュリティの確保のために使用されるプロトコル（ａｈあるいはｅｓｐ、もしくは、それらの両方）を示す。また、ＳＤＰは、ＩＰｓｅｃのＳＡ情報におけるＳＰＩ（Ｓｅｃｕｒｉｔｙ  Ｐａｒａｍｅｔｅｒ  Ｉｎｄｅｘ）の値も含む。
【００４４】
ＳＤＰは、セキュリティ通信を行うためのパラメータ、あるいは、セキュリティを確保するためのパラメータを含む。そのパラメータの例は、以上の通りである。
【００４５】
以上のように、図４では、第１の装置であるデジカメ１０２と第２の装置であるプリンタ１０１を接続する接続装置であるＳＩＰサーバ１０３が、デジカメ１０２がセキュリティ通信を行うためのパラメータ（Ｉｎｖｉｔｅ要求メッセージ４０１に添付されたＳＤＰに含まれる）をデジカメ１０２から受信して、セキュリティ管理サーバ１０４に転送し、プリンタ１０１がセキュリティ通信を行うためのパラメータ（レスポンス４０６に添付されたＳＤＰに含まれる）をプリンタ１０１から受信して、セキュリティ管理サーバ１０４に転送する。デジカメ１０２は、プリンタ１０１と通信するための要求を、ＳＩＰサーバ１０３に送信する。この要求は、プリンタ１０１の識別情報を含む。ＳＩＰサーバ１０３は、このプリンタ１０１の識別情報をＩＰアドレスに変換し、デジカメ１０２からの要求を、プリンタ１０１に転送する。また、ＳＩＰサーバ１０３は、この要求を、セキュリティ管理サーバ１０４へも、転送する。プリンタ１０１は、この要求に対する応答（２００ＯＫ）４０６を、ＳＩＰサーバ１０３経由で、デジカメ１０２に返し、更に、デジカメ１０２は、応答（Ａｃｋ）４１０を、ＳＩＰサーバ１０３経由で、プリンタ１０１に返す。デジカメ１０２のセキュリティ通信のためのパラメータは、要求４０１又は応答（Ａｃｋ）４１０に含まれ、プリンタ１０１のセキュリティ通信のためのパラメータは、応答（２００ＯＫ）４０６に含まれる。
【００４６】
セキュリティ管理サーバ１０４は、ＳＩＰサーバ１０３から受信したパラメータに基づいて、セキュリティ通信を行うために必要な情報（ＩＰｓｅｃ設定内容）を生成して、デジカメ１０２及びプリンタ１０１に送信する（４１５、４１４）。
【００４７】
また、デジカメ１０２とプリンタ１０１が、セキュリティを確保するためのパラメータ（Ｉｎｖｉｔｅ要求メッセージ４０１あるいはレスポンス４０６に添付されたＳＤＰに含まれる）を、通信相手との接続を行うＳＩＰサーバ１０３に送信し、ＳＩＰサーバ１０３が、セキュリティを確保するためのパラメータをセキュリティ管理サーバ１０４に転送し、デジカメ１０２とプリンタ１０１が、セキュリティを確保するために必要な情報（ＩＰｓｅｃ設定内容）をセキュリティ管理サーバ１０４から受信し、受信した情報を元に通信相手との通信にセキュリティを確保する。
【００４８】
デジカメ１０２、プリンタ１０１のＣＰＵ１９０１は、ＲＯＭ１９０２、あるいは、ＨＤ１９０７に格納されたプログラムにしたがって、以上のような動作を行う。このプログラムは、通信相手との間で行う通信のセキュリティを確保するために必要な情報を提供装置から受け取るプログラムであって、セキュリティを確保するためのパラメータを、通信相手との接続を行う接続装置に送信し、セキュリティを確保するために必要な情報を、提供装置から受信し、提供装置から受信したセキュリティを確保するために必要な情報を元に、通信相手との通信にセキュリティを確保するプログラムである。
【００４９】
図５では、前記セッションテーブル３０３の一例を示す。５１１がセッションテーブルの１つのエントリであり、デジカメ１０２の情報（５１２）とプリンタ１０１の情報（５１３）を格納している。５０１はセッションＩＤであり、前述したＩｎｖｉｔｅ要求メッセージ４０１からＡｃｋメッセージ４１３まで、ＳＩＰメッセージ内で一意のＩＤとして含まれるものである。このセッションＩＤがデジカメ１０２とプリンタ１０１で確立したセッションの識別子となる。
【００５０】
５０２、５０３は、前述したＩｎｖｉｔｅ要求メッセージ４０１からＡｃｋメッセージ４１３まで、ＳＩＰメッセージ内で一意のＩｎｖｉｔｅ要求側（Ｆｒｏｍ）とＩｎｖｉｔｅ受信側（Ｔｏ）の各機器（つまり、Ｆｒｏｍとしてはデジカメ１０２、Ｔｏとしてはプリンタ１０１）の情報を確保する。５０４はセッションテーブルの状態を示すフラグであり、セッション確立処理の最後に交わされるＡｃｋメッセージを取得したことを示すＡｃｋフラグと、セッション確立処理の途中におけるエラーや、セッション終了処理の完了を示すｄｅｌｅｔｅフラグの２種類が存在する。
【００５１】
各機器の情報５０２、５０３の詳細を、５１２、５１３（５０５〜５１０）に示す。５０５〜５１０はセッション確立処理にて両機器間で交わされたＳＩＰメッセージに添付されていたＳＤＰの情報より取得される。以下に個々の説明を行う。５０５は機器固有のＩＤである。本形態では、機器ＩＤは、ＳＩＰ  ＵＲＩの「＠」より左側（つまり、プリンタ１０１の場合はＳＩＰ  ＵＲＩが「ＢＪ１０１＠ｄｅｖｉｃｅ．ｏａｎｏｎ．ｃｏｍ」のため、機器ＩＤは「ＢＪ１０１」となる）である。５０６はセッション確立時点で利用しているＩＰｖ６アドレスであり、ＳＤＰ内に記述された情報から取得される。５０７はセッション確立にて通信を行う、アプリケーションのポート番号であり、これもＳＤＰ内に記述された情報から取得される。
【００５２】
５０８は両機器間で行われるピアツーピア通信のセキュリティレベルであり、ｕｓｅ（ＩＰｓｅｃ利用は必須ではない）、ｒｅｑｕｉｒｅ（ＩＰｓｅｃ利用は必須）、ｕｎｉｑｕｅ（ＩＰｓｅｃで利用するＳＡを一意に指定）の各値を持つことが可能である。こちらもＳＤＰ内に記述された情報から取得される。５０９は両機器間で行われるピアツーピア通信のセキュリティタイプであり、ａｈ（認証）、ｅｓｐ（暗号化）、ａｈ＆ｅｓｐ（認証と暗号化）の各値を持つことが可能である。こちらもＳＤＰ内に記述された情報から取得される。このセキュリティタイプは、セキュリティの確保のために使用されるプロトコル（ａｈあるいはｅｓｐ、もしくは、それらの両方）を示す。５１０は両機器間で保持されるＩＰｓｅｃのＳＡ情報におけるＳＰＩ（Ｓｅｃｕｒｉｔｙ  Ｐａｒａｍｅｔｅｒ  Ｉｎｄｅｘ）の値であり、こちらもＳＤＰ内に記述された情報から取得される。
【００５３】
図６では、前記機器データベース３０６の一例を示す。６０１は前述した機器固有のＩＤである。６０２は機器の種別である。６０３はその機器が保有しているａｈ（認証）アルゴリズムである。６０４はその機器が保有しているｅｓｐ（暗号化）アルゴリズムである。６１１、６１２はそれぞれデジカメ１０２、プリンタ１０１の機器情報である。これらの機器データベースの項目は、その他にも、セキュリティ管理サーバ１０４と各機器とで共有されている認証鍵・暗号鍵なども含めることが可能である。これらの情報は、予め、機器データベース３０６に登録されているものとする。また、ＳＤＰに含めて、あるいは、ＳＤＰと共に、各機器からセキュリティ管理サーバ１０４に送信し、機器データベース３０６に登録するようにしてもよい。
【００５４】
図７は前記４０５における処理のうち、前記メッセージ解析モジュール３０２での処理を示す。特に、デジカメ１０２からプリンタ１０１へのセッション確立処理でやり取りされるＳＩＰ  Ｉｎｖｉｔｅ関連メッセージ（Ｉｎｖｉｔｅ要求メッセージ、２００ＯＫメッセージ、ＡｃｋメッセージとＩｎｖｉｔｅ要求に対するエラーメッセージ等）から、セッションテーブル３０３へのエントリを作成する処理を中心に説明する。
【００５５】
７０１では、ＳＩＰ  Ｉｎｖｉｔｅ関連メッセージ内から、Ｃａｌｌ−ＩＤタグ、Ｆｒｏｍタグ、Ｔｏタグの各情報を取得する。Ｃａｌｌ−ＩＤタグの情報をセッションＩＤとして利用することで、確立しようとしているセッションを一意に識別でき、また、Ｆｒｏｍタグ、Ｔｏタグの情報より、そのセッション確立を行っている二つの機器（デジカメ１０２とプリンタ１０１）も一意に識別可能である。７０２では、受信したＳＩＰ  Ｉｎｖｉｔｅ関連メッセージが、Ｉｎｖｉｔｅ要求メッセージ（４０４）であるかを判定している。つまり、セッション確立処理の最初のメッセージを判別している。ここで、Ｉｎｖｉｔｅ要求メッセージを受信した場合には、７０３の処理に進み、それ以外のメッセージ（２００ＯＫメッセージやＡｃｋメッセージ、エラーメッセージ等）の場合は７０８へ処理は進む。
【００５６】
７０３において、セッションを新たに確立しようとしている二つの機器が存在することが判明するため、セッションテーブル３０３に新規にエントリを作成する処理を行う。ここで入力されるエントリ項目としては、Ｃａｌｌ−ＩＤ、Ｆｒｏｍの機器ＩＤ、Ｔｏの機器ＩＤとなる。７０４では、受信したＳＩＰ  Ｉｎｖｉｔｅ関連メッセージ内にＳＤＰ情報が含まれているかの判定を行う。ここで、ＳＤＰ情報がＩｎｖｉｔｅ要求メッセージ内に含まれている場合には７０５に処理が進み、含まれていない場合には７０６へ処理が進む。一般的に、Ｉｎｖｉｔｅ要求メッセージにはＳＤＰが添付されていることが多いが、ＳＩＰの規定として含まれていない場合も考えられるため、この判定を行う。
【００５７】
７０５では、ＳＩＰ  Ｉｎｖｉｔｅ関連メッセージに含まれているＳＤＰ情報から、該当する機器（ＦｒｏｍまたはＴｏ）の情報を取得し、セッションテーブルの各項目に入力する。どちらの機器情報かの判断には、ＳＤＰに含まれている機器ＩＤと、セッションテーブルに登録されている機器ＩＤから判断し、セッションテーブル３０３内のａｄｄｒｅｓｓ、ｐｏｒｔ（アプリケーションのポート番号）、ｓｅｃ＿ｌｅｖｅｌ、ｓｅｃ＿ｔｙｐｅ、ｓｐｉの各項目情報をＳＤＰより取得し、エントリに入力する。７０６ではセッションテーブルのｆｌａｇ項目をチェックし、Ａｃｋフラグが立っているかを判定する。ここで、Ａｃｋフラグが立っている場合には７０７の処理に進み、立っていない場合には処理を終了し、次のＳＩＰ  Ｉｎｖｉｔｅ関連メッセージの処理に戻る。Ｉｎｖｉｔｅ要求メッセージ（４０４）を受信した場合、ここで終了となる。
【００５８】
続いて、２００ＯＫメッセージ（４０９）を受信した場合の流れを説明する。２００ＯＫメッセージを受信した場合、７０１でのＣａｌｌ−ＩＤ、Ｆｒｏｍ、Ｔｏの各情報取得後、７０２のメッセージ種別の判定において、７０８に処理が進む。７０８では、先の７０１で得られたＣａｌｌ−ＩＤ、Ｆｒｏｍ、Ｔｏの各情報から、セッションテーブル３０３内のエントリを検索し、該当するエントリを取得する。ここで、該当するセッションテーブルのエントリが存在しない場合、７０９の判定でエラーとなる。７１０において、ＳＩＰ  Ｉｎｖｉｔｅ関連メッセージの種別判定が行われ、Ａｃｋメッセージの場合には７１１へ、それ以外のメッセージ（２００ＯＫメッセージ、エラーメッセージ等）の場合は７１４へ処理が進む。
【００５９】
２００ＯＫメッセージの場合には７１４へ進み、ここで、更にメッセージ種別の判定が行われる。７１４では、２００ＯＫメッセージを判定し、２００ＯＫメッセージの場合には７０４へ、その他のメッセージ（エラーメッセージ他）の場合には７１５へと処理が進む。２００ＯＫメッセージの処理においては、前述したとおり、７０４に処理が進み、７０４のＳＤＰ判定が行われ、７０５のＳＤＰ情報の取得処理、７０６にてＡｃｋフラグの判定の末、終了となる。２００ＯＫメッセージにはＳＤＰ情報が含まれているので、７０４からは前述の流れで処理が行われる。
【００６０】
次にエラーメッセージを受信した場合の流れを説明する。エラーメッセージは、Ｉｎｖｉｔｅ要求メッセージにて要求を受けたプリンタ１０１が、セッション確立を行えない場合に送信される。例えば、他の機器とセッションを確立中であり、デジカメ１０２との新たなセッションを確立できない場合や、デジカメ１０２から送信されたＳＤＰ情報の中で、プリンタ１０２側ではサポートされていない機能の要求があった場合などにエラーメッセージを、２００ＯＫメッセージのかわりに送信される。エラーメッセージをこのメッセージ解析モジュールが受信した際には、７０１、７０２、７０８、７０９、７１０、７１４と処理が進み、７１５にてメッセージ種別判定が行われる。
【００６１】
ＳＩＰでは、要求メッセージに対する返信メッセージとして、ＨＴＴＰプロトコルと類似したコードを返信する。そのコードは、２００番台が成功を示し、３００番台以上がエラーやリダイレクト等を示す。そして、１００番台という返信コードもあり、これは通信相手（ここではプリンタ１０１）への呼び出し中や、メッセージを受信したことを示す時に利用される。この７１５の判定では、上記の１００番台のメッセージか、あるいはエラーメッセージかを判断し、エラーメッセージの場合には７１６へ処理が進む。７１６では、セッションテーブル３０３に登録されたエントリを削除するために、ｄｅｌｅｔｅフラグを立てる処理を行い、終了する。
【００６２】
最後にＡｃｋメッセージを受信した場合の流れを説明する。Ａｃｋメッセージは、ＳＩＰ  Ｉｎｖｉｔｅ関連メッセージの三番目にやり取りされるメッセージであり、２００ＯＫメッセージか、エラーメッセージの後にやり取りされる。Ａｃｋメッセージを受信すると、７０１、７０２、７０８、７０９、７１０と進み、７１１のｄｅｌｅｔｅフラグ判定処理が行われる。ｄｅｌｅｔｅフラグが立っている場合には７１３へ、立っていない場合には７１２へ処理が進む。Ａｃｋメッセージの直前にエラーメッセージを処理していた場合には、先の７１６処理においてｄｅｌｅｔｅフラグがセットされるので、７１３にてセッションテーブル３０３にある該当エントリが削除され、処理が終了する。これは、セッション確立が二つの機器間で実現できなかった場合である。
【００６３】
一方、Ａｃｋメッセージの直前に２００ＯＫメッセージを処理していた場合には、７１２にてＡｃｋフラグを立てる。この場合は、二つの機器間でセッション確立が完了したことを意味している。その後、処理は７０４にてＳＤＰ情報の判定が行われる。一般的なＳＩＰ  Ｉｎｖｉｔｅ処理では、ＡｃｋメッセージにＳＤＰ情報は含まれないことが多いが、含まれている場合もある。ＳＤＰ情報がある場合には７０５にてＳＤＰ情報を取得し、セッションテーブル３０３のエントリに入力する。その後、ＳＤＰ情報の有無に関わらず、７０６にてメッセージ判定の末、７０７へ処理が進む。７０７では、前記ＩＰｓｅｃ管理モジュール３０５に対して、完成したセッションテーブル３０３のエントリデータと共に、ＩＰｓｅｃ設定依頼を行う。この処理に関しては図８にて詳細に説明する。
【００６４】
図８は前記４０５における処理のうち、前記ＩＰｓｅｃ管理モジュール３０５での処理を示す。特に、先の７０７のＩＰｓｅｃ設定依頼を受け、デジカメ１０２とプリンタ１０１それぞれに対するピアツーピア通信用のＩＰｓｅｃ設定内容を作成する処理に関して説明する。
【００６５】
ＩＰｓｅｃ設定依頼を受けた前記ＩＰｓｅｃ管理モジュール３０５は、８０１にてセッションテーブル３０３より指定されたエントリの内容を取得する。取得したセッションテーブルの情報より、二つの機器情報（Ｆｒｏｍ側のデジカメ１０２の情報と、Ｔｏ側のプリンタ１０１の情報）の、ｓｅｃ＿ｌｅｖｅｌ項目と、ｓｅｃ＿ｔｙｐｅ項目をそれぞれ８０２、８０３にて比較する。これらの情報は、ＳＩＰ  Ｉｎｖｉｔｅ処理にて両機器よりＳＤＰを利用して自己情報を通知し、共通のセキュリティポリシーでの通信を行うために、ネゴシエーションを行う形態では、一致する。仮に不一致の場合にはエラー終了となる。一致した場合、８０４では、機器データベース３０６より、ＦｒｏｍとＴｏに指定された機器（デジカメ１０２とプリンタ１０１）の情報を取得する。
【００６６】
８０５では、セッションテーブル３０３のｓｅｃ＿ｔｙｐｅ項目をチェックし、ａｈ（認証）の利用が指定されているかを判定する。ａｈの利用が指定されている場合には８０６へ、指定されていない場合には８０８へ処理が進む。ａｈの利用が指定されている場合、８０４で機器データベース３０６より取得した両機器の情報から、ａｈ＿ａｌｇｏ項目のデータを比較し、共通の認証アルゴリズムが存在するかを判定する。二つの機器（デジカメ１０２とプリンタ１０１）で共通の認証アルゴリズムが存在した場合には８０７へ進み、共通の認証アルゴリズムが存在しない場合には、エラー終了となる。８０７では、二つの機器で共通な認証アルゴリズム（の識別子）を取得する。
【００６７】
８０８では、セッションテーブルのｓｅｃ＿ｔｙｐｅ項目をチェックし、ｅｓｐ（暗号化）の利用が指定されているかを判定する。ｅｓｐの利用が指定されている場合には８０９へ、指定されていない場合には８１１へ処理が進む。ｅｓｐの利用が指定されている場合、８０４で機器データベースより取得した両機器の情報から、ｅｓｐ＿ａｌｇｏ項目のデータを比較し、共通の暗号化アルゴリズムが存在するかを判定する。二つの機器（デジカメ１０２とプリンタ１０１）で共通の暗号化アルゴリズムが存在した場合には８１０へ進み、共通の暗号化アルゴリズムが存在しない場合には、エラー終了となる。８１０では、二つの機器で共通な暗号化アルゴリズム（の識別子）を取得する。
【００６８】
８１１では、８０７、８１０で取得された認証アルゴリズム、暗号化アルゴリズムのそれぞれの情報から、それらのアルゴリズムに適した鍵を生成する。鍵生成は、乱数を用いて生成し、そのアルゴリズムに適した鍵の長さに調整する。アルゴリズムと鍵長の関係は、後述する。８１２では、ＩＰｓｅｃ設定内容のテンプレートデータに、８０１で取得したセッションテーブルの各情報と、８０７、８１０、８１１で取得・生成したＩＰｓｅｃ関連の各アルゴリズムとその鍵情報から、適したデータを入力し、ＩＰｓｅｃ設定内容を作成する。なお、ＩＰｓｅｃ設定内容テンプレートに関しては、図９にて詳細に説明する。作成されたＩＰｓｅｃ設定内容は８１３にてＦｒｏｍ側機器（デジカメ１０２）のＩＰｓｅｃ設定内容として完成する。
【００６９】
そして、８１４では、８１２で作成したＩＰｓｅｃ設定内容の一部を修正する。具体的な修正内容は、ＳＰ（Ｓｅｃｕｒｉｔｙ  Ｐｏｌｉｃｙ）の設定内容において、通信の方向を規定している「ｉｎ」と「ｏｕｔ」の記述を入れ換える。８１４で修正したＩＰｓｅｃ設定内容は８１５にてＴｏ側機器（プリンタ１０１）のＩＰｓｅｃ設定内容として完成する。
【００７０】
そして、８１６にて８１３、８１５で完成したＦｒｏｍ側機器ＩＰｓｅｃ設定内容、Ｔｏ側機器ＩＰｓｅｃ設定内容（４１４、４１５）をそれぞれ、両機器に送信する。この送信には、前述の暗号通信モジュール（３０４、３１３）を利用した送信内容の暗号化を行う。送信に用いるプロトコルとしては、ＳＩＰを利用する。８１７では、両機器に送信したＩＰｓｅｃ設定内容が有効に設定されたかどうかのレスポンス通知（４１８、４１９）を受信する。そのレスポンス通知の結果を８１８にて判定し、両機器ともＩＰｓｅｃの設定が正常に完了した場合には、ＩＰｓｅｃ設定依頼の処理を正常終了し、それ以外の場合にはエラー終了する。
【００７１】
図７及び図８は、セキュリティ通信を行うために必要な情報を第１の装置であるデジカメ１０２と第２の装置であるプリンタ１０１に提供する提供プログラムを示す。
【００７２】
このプログラムでは、デジカメ１０２がセキュリティ通信を行うためのパラメータ、及び、プリンタ１０１がセキュリティ通信を行うためのパラメータ（ＳＤＰに含まれる）を、デジカメ１０２とプリンタ１０１を接続する接続装置であるＳＩＰサーバ１０３から受信し（７０５）、ＳＩＰサーバ１０３から受信したパラメータに基づいて、セキュリティ通信を行うために必要な情報を生成し（８１３）、前記生成されたセキュリティ通信を行うために必要な情報を、デジカメ１０２及びプリンタ１０１に送信する（８１６）。
【００７３】
前述した８１１処理における認証アルゴリズム、暗号化アルゴリズムに対応する鍵の長さに関しては、以下の通りである。例えば、認証アルゴリズムとして「ｈｍａｃ−ｓｈａ１」が選択されていた場合、８１１にて生成される鍵の長さは１６０ビットとなる。また、暗号化アルゴリズムとして「３ｄｅｓ−ｃｂｃ」が選択されていた場合、この暗号化アルゴリズムに対応する鍵として、長さが６４ビットの鍵が生成される。また、認証アルゴリズムが「ｈｍａｃ−ｍｄ５」であれば、１２８ビットの鍵が生成される。アルゴリズムの中には、「ｂｌｏｗｆｉｓｈ−ｃｂｃ」のように鍵の長さが４０ビットから４４８ビットまでの任意のビット長で生成可能なものや、「ｒｉｊｎｄａｅｌ−ｃｂｃ」のように、１２８ビット、１９２ビット、２５６ビットのいずれかのビット長を利用するものが存在する。
【００７４】
図９は、前述した８１２処理におけるＩＰｓｅｃ設定テンプレートの一例を示す。ＩＰｓｅｃ設定テンプレートは、ＩＰｓｅｃを設定する「ｓｅｔｋｅｙ」コマンドのフォーマットに合わせて記述されているが、このフォーマットに限定するものではない。一行目、二行目がＳＰ（Ｓｅｃｕｒｉｔｙ  Ｐｏｌｉｃｙ）情報を示し、三行目から六行目がＳＡ（Ｓｅｃｕｒｉｔｙ  Ａｓｓｏｃｉａｔｉｏｎ）情報を示す。図中の＜  ＞項目にセッションテーブルや機器データベース、また、先に生成された鍵情報を代入することで、ＩＰｓｅｃ設定内容が完成する。各項目の意味を以下で説明する。
【００７５】
＜Ｆｒｏｍ＿ａｄｄｒ＞にはＦｒｏｍ側機器のＩＰｖ６アドレスを代入し、＜Ｔｏ＿ａｄｄｒ＞にはＴｏ側機器のＩＰｖ６アドレスを代入する。＜Ｆｒｏｍ＿ｐｏｒｔ＞にはＦｒｏｍ側機器のポート番号を代入し、＜Ｔｏ＿ｐｏｒｔ＞にはＴｏ側機器のポート番号を代入する。＜ｓｅｃ＿ｔｙｐｅ＞には両機器で共通なｓｅｃ＿ｔｙｐｅを代入し、＜ｓｅｃ＿ｌｅｖｅｌ＞には両機器で共通なｓｅｃ＿ｌｅｖｅｌを代入する。なお、ｓｅｃ＿ｔｙｐｅに「ａｈ＆ｅｓｐ」を指定されている場合（つまり、認証と暗号化を両方利用する場合）、「＜ｓｅｃ＿ｔｙｐｅ＞／ｔｒａｎｓｐｏｒｔ／／＜ｓｅｃ＿ｌｅｖｅｌ＞」を繰り返し設定する。つまり、「〜ａｈ／ｔｒａｎｓｐｏｒｔ／／ｒｅｑｕｉｒｅ  ｅｓｐ／ｔｒａｎｓｐｏｒｔ／／ｒｅｑｕｉｒｅ〜」のように記述される。＜Ｆｒｏｍ＿ｓｐｉ＞にはＦｒｏｍ側機器のＳＰＩを代入し、＜Ｔｏ＿ｓｐｉ＞にはＴｏ側機器のＳＰＩを代入する。
【００７６】
なお、ｓｅｃ＿ｔｙｐｅでａｈのみ利用の場合は、四行目と六行目のｅｓｐに関するＳＡ登録は削除し、ｓｅｃ＿ｔｙｐｅでｅｓｐのみ利用の場合は、三行目と五行目のａｈに関するＳＡ登録を削除する。ｓｅｃ＿ｔｙｐｅにてａｈとｅｓｐを両方利用する場合には、テンプレートからの特定行の削除は行わず、複数の＜Ｆｒｏｍ＿ｓｐｉ＞や＜Ｔｏ＿ｓｐｉ＞にはプラス１を加えて異なった値を代入する。つまり、Ｆｒｏｍ側機器のＳＰＩが０ｘ８３４の場合、五行目の＜Ｆｒｏｍ＿ｓｐｉ＞には「０ｘ８３４」を代入し、六行目の＜Ｆｒｏｍ＿ｓｐｉ＞には「０ｘ８３５」を代入する。そして、＜ａｈ＿ａｌｇｏ＞、＜ｅｓｐ＿ａｌｇｏ＞にはそれぞれ、両機器で共通の認証アルゴリズム、暗号化アルゴリズムを代入し、＜ａｈ＿ｋｅｙ＞、＜ｅｓｐ＿ｋｅｙ＞には認証、暗号用に生成した鍵をそれぞれ代入する。
【００７７】
図１０は、前述した８１６処理におけるＩＰｓｅｃ設定内容の一例を示す。特に、図のデータはデジカメ１０２に対して送信されるＩＰｓｅｃ設定内容４１５を示す。データはＸＭＬ形式で記述され、＜ｉｐｓｅｃ−ｄａｔａ＞タグに囲まれている。なお、本形態において、このデータ形式をＸＭＬ形式にすることに重要性はなく、その他の形式によるデータ伝達方法でも問題はない。セキュリティ通信を行うために必要な情報、あるいは、セキュリティを確保するために必要は情報の例は、使用するプロトコルを示す情報であるｓｅｃ＿ｔｙｐｅである。又は、他の例は、セキュリティ通信を行うか、あるいは、セキュリティを確保するかを示すｓｅｃ＿ｌｅｖｅｌである。
【００７８】
また、前述した８１７処理における両機器から返信されるレスポンス４１８、４１９の一例は、＜ｉｐｓｅｃ−ｄａｔａ  ｒｅｓｐｏｎｓｅ＝ＯＫ／＞である。図１０のＩＰｓｅｃ設定内容と同様に、ＸＭＬ形式で記述されたデータを受信する。ＩＰｓｅｃ設定内容を正常に設定できた場合には、＜ｉｐｓｅｃ−ｄａｔａ＞タグのａｔｔｒｉｂｕｔｅとしてＯＫを通知する。
【００７９】
続いて、デジカメ１０２とプリンタ１０１のＩＰｓｅｃを利用したピアツーピア通信を終了する際の、セッション終了処理（ＳＩＰ  Ｂｙｅ）の流れと、セキュリティ管理サーバ１０４における、ＩＰｓｅｃ設定削除処理に関して説明する。
【００８０】
図１１は本実施形態のシーケンス図である。特に、二つの機器間（デジカメ１０２とプリンタ１０１）におけるＩＰｓｅｃを利用したピアツーピア通信の終了時に関して説明する。
【００８１】
１４０１はデジカメ１０２とプリンタ１０１にて、ＩＰｓｅｃを利用したピアツーピア通信であり、図４の４２０に対応する。１４０２、１４０３はそれぞれ、デジカメ側、プリンタ側の、ピアツーピア通信に用いたＩＰｓｅｃの設定を示す。１４０４はデジカメ１０２とプリンタ１０１のセッション情報が、セキュリティ管理サーバ１０４にて管理されている状態を示す。
【００８２】
デジカメ１０２とプリンタ１０１とのＩＰｓｅｃを利用したピアツーピア通信が終了すると、デジカメ１０２側から、セッション終了処理を開始する。セッション終了処理では、ＳＩＰ  Ｂｙｅ関連メッセージが利用され、セッション終了要請を行うＢｙｅ要求メッセージと、その要請に対する返信である２００ＯＫメッセージ、エラーメッセージ等が存在する。
【００８３】
１４０５にてデジカメ１０２はＢｙｅ要求メッセージをＳＩＰサーバ１０３経由でプリンタ１０１に対して送信する。このＢｙｅ要求メッセージ１４０５には、終了させたいセッションＩＤ（Ｃａｌｌ−ＩＤタグの情報）が記述されている。デジカメ１０２からのＢｙｅ要求メッセージを受信したＳＩＰサーバ１０３は、１４０６にて送信先をチェックし、プリンタ１０１に対して、Ｂｙｅ要求メッセージをそのまま転送する（１４０７）。また、同時にＢｙｅ要求メッセージを、先に説明したｆｏｒｋ機能を利用してセキュリティ管理サーバ１０４にも転送する（１４０８）。
【００８４】
１４０７のＢｙｅ要求メッセージを受信したプリンタ１０１は、そのレスポンスとして２００ＯＫメッセージを１４０９にてＳＩＰサーバ１０３経由で送信する。なお、このレスポンスでは他にエラーメッセージ等も送信される可能性がある。１４１０では、ＳＩＰサーバ１０３はプリンタ１０１からの２００ＯＫメッセージを受信し、送信先であるデジカメ１０２に対して２００ＯＫメッセージをそのまま転送し（１４１１）、また、ｆｏｒｋ機能によりセキュリティ管理サーバ１０４へも同一のメッセージを転送する（１４１２）。
【００８５】
セキュリティ管理サーバ１０４では、１４０８、１４１２のＳＩＰ  Ｂｙｅ関連メッセージを受信することで、確立されたデジカメ１０２とプリンタ１０１間のセッションが終了することを検知する。そこで、後述する図１２、図１３の処理を経て、ＩＰｓｅｃ削除内容を１４１３、１４１４によって両機器に対して送信する。１４１３のＩＰｓｅｃ削除内容を受信したプリンタ１０１は、デジカメ１０２とのピアツーピア通信で利用したＩＰｓｅｃを、前述のＩＰｓｅｃ設定・削除モジュール３１４にて削除し、その結果を１４１５にてセキュリティ管理サーバ１０４に送信する。同様に、デジカメ１０２側でも１４１４のＩＰｓｅｃ削除内容からＩＰｓｅｃを削除し、その結果を１４１６にてセキュリティ管理サーバ１０４に送信する。
【００８６】
１４１５、１４１６を受信したセキュリティ管理サーバ１０４は、両機器が正常にＩＰｓｅｃの設定を削除できたことを検知し、サーバ１０４内で管理しているセッション管理テーブル３０３のセッション情報を削除する。なお、１４１３から１４１６でやり取りされるデータは、先の暗号通信モジュール（３０４、３１３）にてセキュアに通信される。
【００８７】
図１２は、前記１４０４における処理のうち、前記メッセージ解析モジュール３０２での処理を示す。特に、デジカメ１０２からプリンタ１０１へのセッション終了処理でやり取りされるＳＩＰ  Ｂｙｅ関連メッセージ（Ｂｙｅ要求メッセージ、２００ＯＫメッセージとＢｙｅ要求に対するエラーメッセージ等）から、セッションテーブル３０３のエントリを削除する処理を中心に説明する。
【００８８】
１５０１では受信したＳＩＰ  Ｂｙｅ関連メッセージのＣａｌｌ−ＩＤタグ、Ｆｒｏｍタグ、Ｔｏタグの各情報を取得する。そして、取得した情報から、１５０２においてセッションテーブル３０３に格納されたエントリを検索する。１５０３において、セッションテーブル検索の結果を判定し、該当するエントリが存在しない場合にはエラーとなる。該当エントリが発見された場合には、１５０４に処理が進む。１５０４では、受信したＳＩＰ  Ｂｙｅ関連メッセージの種別を判定する。受信したメッセージがＢｙｅ要求メッセージの場合、１５０５にてｄｅｌｅｔｅフラグを立て、正常終了となる。
【００８９】
一方、受信したメッセージが２００ＯＫメッセージの場合、１５０４から１５０６へと処理が進む。１５０６でもメッセージの種別判定を行い、１５０７へと処理が進む。１５０７では、セッションテーブルのｆｌａｇ項目をチェックし、ｄｅｌｅｔｅフラグが立っているかを確認している。ｄｅｌｅｔｅフラグが立っている場合、１５０８にて前述したＩＰｓｅｃ管理モジュール３０５に対してＩＰｓｅｃ削除依頼を行い、１５０９にて該当のセッションテーブルのエントリを削除する。なお、２００ＯＫメッセージのかわりにエラーメッセージを受信した場合、１５０６にてエラーとなり、セッションテーブルのエントリは削除されない。
【００９０】
図１３では、前述のＩＰｓｅｃ管理モジュール３０５におけるＩＰｓｅｃ削除処理の流れを説明する。
【００９１】
１６０１では、ＩＰｓｅｃ削除依頼の対象となるセッションテーブルのエントリを取得する。ここで取得される情報は、ＩＰｓｅｃ削除内容を送信する二つの機器（デジカメ１０２とプリンタ１０１）のアドレス（ＩＰｖ６アドレスまたはＳＩＰ  ＵＲＩ）である。１６０２では既に用意されたＩＰｓｅｃ削除内容から送信するデータを作成し、１６０３にて二つの機器に対してＩＰｓｅｃ削除内容（１４１３、１４１４）を送信する。１６０４では両機器からのレスポンス（１４１５、１４１６）を受信し、１６０５にて二つの機器から送信されたレスポンスの内容から、ＩＰｓｅｃ削除処理が正常に行われたかを判定する。ここで、両機器ともＩＰｓｅｃ削除が正常に行われていた場合には正常終了となり、どちらかでもＩＰｓｅｃ削除処理が失敗した場合にはエラーとなる。
【００９２】
ＩＰｓｅｃ削除内容の一例は、以下の通りである。
＜ｉｐｓｅｃ−ｄａｔａ＞
ｓｐｄｆｌｕｓｈ
＜／ｉｐｓｅｃ−ｄａｔａ＞
【００９３】
なお、ＩＰｓｅｃ削除内容では、機器に設定されたＩＰｓｅｃ設定をすべて削除する場合、すべての機器に共通の削除内容で削除処理が行える。その為、このＩＰｓｅｃ削除内容はそのまま、該当する二つの機器に送信可能である。なお、データの記述方法は、図１０と同様、ＸＭＬ形式であるが、これに限定するものではない。
【００９４】
ＩＰｓｅｃ削除処理を行った結果をセキュリティ管理サーバ１０４に送信するレスポンスデータの一例は、＜ｉｐｓｅｃ−ｄａｔａ  ｒｅｓｐｏｎｓｅ＝ＯＫ／＞である。なお、これは、ＩＰｓｅｃ設定処理に対するレスポンスデータと全く同一の内容となる。
【図面の簡単な説明】
【００９５】
【図１】本発明の実施形態のネットワーク構成図である。
【図２】本実施形態での機能を実現するソフトウェアプログラムを動作させるためのハードウェア構成図である。
【図３】プリンタ１０１とセキュリティ管理サーバ１０４のモジュール構成図である。
【図４】本実施形態のシーケンス図である。
【図５】セッションテーブル３０３の一例の図である。
【図６】機器データベース３０６の一例の図である。
【図７】メッセージ解析モジュール３０２での処理を示す図である。
【図８】ＩＰｓｅｃ管理モジュール３０５での処理を示す図である。
【図９】ＩＰｓｅｃ設定テンプレートの一例を示す図である。
【図１０】ＩＰｓｅｃ設定内容の一例を示す図である。
【図１１】本実施形態のシーケンス図である。
【図１２】メッセージ解析モジュール３０２での処理を示す図である。
【図１３】ＩＰｓｅｃ削除処理の流れを説明する図である。
【符号の説明】
【００９６】
１００  インターネット
１０１  プリンタ
１０２  デジタルスチルカメラ（デジカメ）
１０３  ＳＩＰサーバ
１０４  セキュリティ管理サーバ
【図１】
2005346556.tif 000003
【図２】
2005346556.tif 000004
【図３】
2005346556.tif 000005
【図４】
2005346556.tif 000006
【図５】
2005346556.tif 000007
【図６】
2005346556.tif 000008
【図７】
2005346556.tif 000009
【図８】
2005346556.tif 000010
【図９】
2005346556.tif 000011
【図１０】
2005346556.tif 000012
【図１１】
2005346556.tif 000013
【図１２】
2005346556.tif 000014
【図１３】
2005346556.tif 000015