(57)【要約】【課題】形式の異なる公開鍵証明書を用いる装置間で、暗号通信を実現する。【解決手段】第一の通信機器（アプリケーションサーバ装置３００及び小型機器２００）が送信した第一の形式の公開鍵証明書を、公開鍵証明書受信部１２１が受信する。公開鍵証明書受信部１２１が受信した第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書を、公開鍵証明書取得部１２２が取得する。公開鍵証明書取得部１２２が取得した第二の形式の公開鍵証明書を、公開鍵証明書送信部１３３が第二の通信機器（小型機器２００及びアプリケーションサーバ装置３００）に対して送信する。第二の通信機器は、第一の形式の公開鍵証明書を検証できないが、第二の形式の公開鍵証明書を検証できるので、第一の通信機器を認証し、共通鍵を生成して、暗号通信をすることができる。【選択図】図９
2008109569.tif 000002
【特許請求の範囲】
【請求項１】
情報を処理する処理装置と、第一の通信機器及び第二の通信機器と通信する通信装置と、第一証明書受信部と、第二証明書取得部と、第二証明書送信部とを有し、
上記第一証明書受信部は、
上記通信装置を用いて、上記第一の通信機器が送信した第一の形式の公開鍵証明書である情報を受信し、上記処理装置を用いて、受信した第一の形式の公開鍵証明書を出力し、
上記第二証明書取得部は、
上記処理装置を用いて、上記第一証明書受信部が出力した第一の形式の公開鍵証明書を入力し、上記処理装置を用いて、入力した第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書である情報を取得し、上記処理装置を用いて、取得した第二の形式の公開鍵証明書を出力し、
上記第二証明書送信部は、
上記処理装置を用いて、上記第二証明書取得部が出力した第二の形式の公開鍵証明書を入力し、上記通信装置を用いて、入力した第二の形式の公開鍵証明書を、上記第二の通信機器に対して送信する
ことを特徴とする中継装置。
【請求項２】
上記中継装置は、更に、
情報を記憶する記憶装置と、証明書データベース記憶部とを有し、
上記証明書データベース記憶部は、
上記記憶装置を用いて、第一の形式の公開鍵証明書において、公開鍵の所有者を示す情報と、上記所有者と同一の所有者が公開鍵の所有者であることを証明する第二の形式の公開鍵証明書とを対応づけて記憶し、
上記第二証明書取得部は、
上記処理装置を用いて、入力した第一の形式の公開鍵証明書に基づいて、公開鍵の所有者を示す情報と、上記所有者が所有する公開鍵である情報とを取得し、上記処理装置を用いて、上記証明書データベース記憶部が記憶した情報に基づいて、取得した情報が示す所有者と同一の所有者が、取得した公開鍵と同一の公開鍵の所有者であることを証明する第二の形式の公開鍵証明書を取得する
ことを特徴とする請求項１に記載の中継装置。
【請求項３】
上記通信装置は、更に、
第一の形式の公開鍵証明書と第二の形式の公開鍵証明書との対応関係を記憶した証明書サーバ装置と通信し、
上記第二証明書取得部は、
上記通信装置を用いて、入力した第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書の検索を、上記証明書サーバ装置に対して要求する証明書検索要求情報を、上記証明書サーバ装置に対して送信し、上記通信装置を用いて、送信した証明書検索要求情報に対する応答として、上記証明書サーバ装置が送信した第二の形式の公開鍵証明書を受信することにより、第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書を取得する
ことを特徴とする請求項１に記載の中継装置。
【請求項４】
上記第一の形式の公開鍵証明書は、Ｘ．５０９形式の公開鍵証明書であり、
上記第二の形式の公開鍵証明書は、Ｘ．５０９形式以外の形式の公開鍵証明書であることを特徴とする請求項１に記載の中継装置。
【請求項５】
上記第一の形式の公開鍵証明書は、Ｘ．５０９形式以外の形式の公開鍵証明書であり、
上記第二の形式の公開鍵証明書は、Ｘ．５０９形式の公開鍵証明書であることを特徴とする請求項１に記載の中継装置。
【請求項６】
上記第一の形式の公開鍵証明書は、所定のアドレス体系において通信機器を識別するアドレス情報を、公開鍵の所有者を示す情報として含み、
上記第二の形式の公開鍵証明書は、上記所定のアドレス体系と異なるアドレス体系において通信機器を識別するアドレス情報を、公開鍵の所有者を示す情報として含むことを特徴とする請求項１に記載の中継装置。
【請求項７】
上記第二の形式の公開鍵証明書は、上記第一の形式の公開鍵証明書を、付加情報として含むことを特徴とする請求項１に記載の中継装置。
【請求項８】
請求項１に記載の中継装置を備えることを特徴とする通信システム。
【請求項９】
情報を処理する処理装置と、第一の通信機器及び第二の通信機器と通信する通信装置とを有する中継装置が、上記第一の通信機器と上記第二の通信機器との間の通信を中継する中継方法において、
上記通信装置が、上記第一の通信機器が送信した第一の形式の公開鍵証明書である情報を受信し、
上記処理装置が、上記通信装置が受信した第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書である情報を取得し、
上記通信装置が、上記処理装置が取得した第二の形式の公開鍵証明書を、上記第二の通信機器に対して送信する
ことを特徴とする中継方法。
【請求項１０】
情報を処理する処理装置と、第一の通信機器及び第二の通信機器と通信する通信装置とを有するコンピュータを、請求項１に記載の中継装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、公開鍵証明書を用いた暗号通信を中継する中継装置に関する。特に、異なる形式の公開鍵証明書を用いる装置間の暗号通信を中継する中継装置に関する。
【背景技術】
【０００２】
公開鍵暗号方式では、通信相手の公開鍵を用いて、通信相手を認証したり、通信に使用する共通鍵を生成したりする。そのための通信方式として、例えば、非特許文献３に規定されたプロトコルがある。
公開鍵基盤（ＰＫＩ：Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）は、公開鍵証明書を用いて、公開鍵が通信相手のものであることを保証するためのシステムである。
公開鍵証明書には、非特許文献２に規定されるＸ．５０９形式の公開鍵証明書が広く利用されている一方で、非特許文献４に規定される公開鍵証明書のように、Ｘ．５０９形式とは異なる形式の公開鍵証明書も利用されている。
【特許文献１】特開２００１−３５０４０６号公報
【特許文献２】特開２００２−１２３４９２号公報
【特許文献３】特開２０００−２２４１６４号公報
【特許文献４】特開２００４−３０２８３５号公報
【特許文献５】特開２００５−１２３８８８号公報
【特許文献６】特開２００４−２４７７９９号公報
【非特許文献１】Ｃ．  Ｅｌｌｉｓｏｎ「ＳＰＫＩ  Ｒｅｑｕｉｒｅｍｅｎｔｓ」ＲＦＣ２６９２、１９９９年９月、ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／
【非特許文献２】Ｒ．  Ｈｏｕｓｌｅｙ他「Ｉｎｔｅｒｎｅｔ  Ｘ．５０９  Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  Ｃｅｒｔｉｆｉｃａｔｅ  ａｎｄ  ＣＲＬ  Ｐｒｏｆｉｌｅ」ＲＦＣ２４５９、１９９９年１月、ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／
【非特許文献３】Ｔ．Ｄｉｅｒｋｓ、Ｃ．Ａｌｌｅｎ「Ｔｈｅ  ＴＬＳ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  １．０」ＲＫＣ２２４６、１９９９年１月、ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／
【非特許文献４】「ＴＥＮｅＴメッセージ仕様書  Ｖｅｒ．１．０」ＴＥＦ９５０−Ｓ００４−０１．００．００／ｊａ、Ｔ−Ｅｎｇｉｎｅフォーラム、２００５年３月、ｈｔｔｐ：／／ｗｗｗ．ｔ−ｅｎｇｉｎｅ．ｏｒｇ／ｊａｐａｎｅｓｅ／ｔｅｘｔ／ＴＥＦ９５０−Ｓ００４−０１．００．００＿ｊａ．ｐｄｆ
【発明の開示】
【発明が解決しようとする課題】
【０００３】
Ｘ．５０９形式の公開鍵証明書が国際標準として認知され、広く利用されているなかで、あえて非Ｘ．５０９形式公開鍵証明書を使用するのには、以下のような理由がある。
Ｘ．５０９形式公開鍵証明書はデータの形式がＡＳＮ．１で定義されているため、そのエンコード／デコード処理はコスト（消費する処理装置の処理能力や記憶装置の記憶容量）が高い。
ユビキタス化の進展などにより小型コンピュータがいろいろな場所に配置（埋め込み）されるようになってきており、そのような小型コンピュータ同士や小型コンピュータが組み込まれた小型機器とその制御装置との間の通信路のセキュリティを保つ必要がある。
そのために、公開鍵基盤を導入したいがコンピュータのリソースが乏しいため高コストなＸ．５０９形式公開鍵証明書は使用できない。
【０００４】
Ｘ．５０９形式と異なる形式の公開鍵証明書を利用する公開鍵基盤においては、Ｘ．５０９形式の公開鍵証明書を利用する公開鍵基盤において開発された豊富なアプリケーションを利用することができない。
【０００５】
この発明は、例えば、以上のような課題を解決し、非Ｘ．５０９形式公開鍵証明書を使用したＰＫＩシステムと、Ｘ．５０９形式公開鍵証明書を使用したシステムとの間を相互に接続することを目的とする。
【課題を解決するための手段】
【０００６】
この発明にかかる中継装置は、
情報を処理する処理装置と、第一の通信機器及び第二の通信機器と通信する通信装置と、第一証明書受信部と、第二証明書取得部と、第二証明書送信部とを有し、
上記第一証明書受信部は、
上記通信装置を用いて、上記第一の通信機器が送信した第一の形式の公開鍵証明書である情報を受信し、上記処理装置を用いて、受信した第一の形式の公開鍵証明書を出力し、
上記第二証明書取得部は、
上記処理装置を用いて、上記第一証明書受信部が出力した第一の形式の公開鍵証明書を入力し、上記処理装置を用いて、入力した第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書である情報を取得し、上記処理装置を用いて、取得した第二の形式の公開鍵証明書を出力し、
上記第二証明書送信部は、
上記処理装置を用いて、上記第二証明書取得部が出力した第二の形式の公開鍵証明書を入力し、上記通信装置を用いて、入力した第二の形式の公開鍵証明書を、上記第二の通信機器に対して送信することを特徴とする。
【発明の効果】
【０００７】
この発明にかかる中継装置によれば、第一の通信機器から受信した第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書を、第二証明書取得部が出力し、第二証明書送信部が第二の通信機器に対して送信するので、第二の通信機器が第一の形式の公開鍵証明書を検証できなくても、第一の通信機器を認証し、共通鍵を生成して、暗号通信をすることができるという効果を奏する。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
実施の形態１を、図１〜図１０を用いて説明する。
【０００９】
図１は、この実施の形態における通信システム８００の全体構成の一例を示すシステム構成図である。
通信システム８００は、複数の通信ネットワーク８０１，８０２を有する。
【００１０】
ネットワーク８０１，８０２は、データ通信を行うことができるデータ通信路である。
ネットワーク８０１には、ゲートウェイ装置１００、小型機器２００などが接続している。
ネットワーク８０２には、ゲートウェイ装置１００、アプリケーションサーバ装置３００、宛先サーバ装置４００、証明書サーバ装置５００などが接続している。
【００１１】
ゲートウェイ装置１００は、ネットワーク８０１とネットワーク８０２との双方に接続し、ネットワーク８０１に接続した小型機器２００と、ネットワーク８０２に接続したアプリケーションサーバ装置３００との間の通信を中継する。
ゲートウェイ装置１００は、中継装置の一例である。
【００１２】
小型機器２００は、ネットワーク８０１を介して、他の小型機器２００などネットワーク８０１に接続した装置と通信する。また、小型機器２００は、ゲートウェイ装置１００と通信することにより、ゲートウェイ装置１００を介してアプリケーションサーバ装置３００と通信する。
小型機器２００は、第一の通信機器または第二の通信機器の一例である。
【００１３】
アプリケーションサーバ装置３００は、ネットワーク８０２を介して、ネットワーク８０２に接続した他の装置と通信する。また、アプリケーションサーバ装置３００は、ゲートウェイ装置１００と通信することにより、ゲートウェイ装置１００を介して小型機器２００と通信する。
アプリケーションサーバ装置３００は、第一の通信機器または第二の通信機器の一例である。
【００１４】
宛先サーバ装置４００は、小型機器２００やアプリケーションサーバ装置３００を識別するアドレス情報を記憶している。
アドレス情報は、ネットワーク８０１やネットワーク８０２において、小型機器２００やアプリケーションサーバ装置３００を一意に識別する識別情報である。アドレス情報は、例えば、ドメイン名、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）、ＩＰアドレスなどである。
また、アプリケーションサーバ装置３００はゲートウェイ装置１００を介してネットワーク８０１に接続した機器と通信することもできるので、ネットワーク８０１においてアプリケーションサーバ装置３００を一意に識別する識別情報もある。逆に、ネットワーク８０２においてゲートウェイ装置１００を一意に識別する識別情報もある。これらの識別情報もアドレス情報である。
ネットワーク８０１のアドレス体系と、ネットワーク８０２のアドレス体系とが異なる場合、ネットワーク８０１においてアプリケーションサーバ装置３００を識別するアドレス情報と、ネットワーク８０２においてアプリケーションサーバ装置３００を識別するアドレス情報とが異なる場合がある。
宛先サーバ装置４００は、同一の機器を識別する複数のアドレス情報を対応づけて記憶する。
宛先サーバ装置４００は、問い合わせに応じて、あるネットワークにおけるアドレス情報を、同一の機器についての異なるネットワークにおけるアドレス情報に変換する。
なお、この例では、宛先サーバ装置４００がネットワーク８０２に接続しているが、ゲートウェイ装置１００と通信可能であればどこに接続していてもよい。例えば、ゲートウェイ装置１００と直接接続していてもよいし、ネットワーク８０１に接続していてもよい。
【００１５】
証明書サーバ装置５００は、小型機器２００やアプリケーションサーバ装置３００の公開鍵証明書を記憶している。
公開鍵証明書とは、公開鍵暗号方式において公開された公開鍵と、その所有者とを証明する電子情報である。
公開鍵証明書には、様々なフォーマットがある。もっとも一般的に用いられるフォーマットは、Ｘ．５０９形式である。
この実施の形態では、アプリケーションサーバ装置３００は、Ｘ．５０９形式の公開鍵証明書を処理することができるものとする。また、小型機器２００は、処理能力が低いため、Ｘ．５０９形式の公開鍵証明書を処理することができず、Ｘ．５０９形式よりも検証に必要な処理量・記憶容量が少ない形式の公開鍵証明書を処理することができるものとする。
証明書サーバ装置５００は、アプリケーションサーバ装置３００が処理できるＸ．５０９形式の公開鍵証明書と、小型機器２００が処理できる形式の公開鍵証明書との双方を、対応づけて記憶している。
証明書サーバ装置５００は、問い合わせに応じて、ある形式の公開鍵証明書に対応する別の形式の公開鍵証明書を応答する。
なお、この例では、証明書サーバ装置５００がネットワーク８０２に接続しているが、ゲートウェイ装置１００と通信可能であればどこに接続していてもよい。例えば、ゲートウェイ装置１００と直接接続していてもよいし、ネットワーク８０１に接続していてもよい。
【００１６】
図２は、この実施の形態におけるゲートウェイ装置１００、アプリケーションサーバ装置３００、宛先サーバ装置４００、証明書サーバ装置５００の外観の一例を示す図である。
ゲートウェイ装置１００、アプリケーションサーバ装置３００、宛先サーバ装置４００、証明書サーバ装置５００は、システムユニット９１０、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶）の表示画面を有する表示装置９０１、キーボード９０２（Ｋｅｙ・Ｂｏａｒｄ：Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット９１０は、コンピュータであり、ファクシミリ機９３２、電話器９３１とケーブルで接続され、また、ネットワーク８０１やネットワーク８０２に接続されている。
【００１７】
図３は、この実施の形態におけるゲートウェイ装置１００、小型機器２００、アプリケーションサーバ装置３００、宛先サーバ装置４００、証明書サーバ装置５００のハードウェア資源の一例を示す図である。
ゲートウェイ装置１００、小型機器２００、アプリケーションサーバ装置３００、宛先サーバ装置４００、証明書サーバ装置５００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信装置９１５、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ装置９０６、スキャナ装置９０７、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信装置９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。
また、通信装置９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。
【００１８】
通信装置９１５は、ファクシミリ機９３２、電話器９３１、ネットワーク８０１，８０２等に接続されている。
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００１９】
上記プログラム群９２３には、以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｃ）等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００２０】
また、以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、以下に述べる「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
【００２１】
次に、小型機器２００について説明する。
【００２２】
小型機器２００は、公開鍵暗号方式に基づく暗号通信を行うことができる装置である。
しかし、小型機器２００は、小型であるため処理速度や記憶容量の観点からＸ．５０９形式公開鍵証明書ではなく非Ｘ．５０９形式公開鍵証明書をサポートしている。
また、小型機器２００は、公開鍵暗号アルゴリズムとして、例えば、ディッフィーへルマン鍵交換（Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ）アルゴリズムをサポートしている。
【００２３】
図４は、この実施の形態における小型機器２００の機能ブロックの構成の一例を示すブロック構成図である。
小型機器２００は、接続先アドレス記憶部２１２、接続要求送信部２１３、公開鍵証明書受信部２２１、公開鍵証明書検証部２２２、秘密鍵記憶部２２３、共通鍵生成部２２４、証明書提示要求受信部２３１、公開鍵証明書記憶部２３２、公開鍵証明書送信部２３３、接続応答受信部２４１、復号部２４２、接続応答検証部２４５、暗号文受信部２５１、暗号化部２６１、暗号文送信部２６２を有する。
【００２４】
接続先アドレス記憶部２１２は、不揮発性メモリなどの記憶装置を用いて、アプリケーションサーバ装置３００など、通信したい相手のアドレス情報を記憶している。接続先アドレス記憶部２１２が記憶しているアドレス情報は、ネットワーク８０１におけるアドレス体系によるものである。
【００２５】
接続要求送信部２１３は、通信装置９１５を用いて、接続要求情報を送信する。
接続要求情報とは、通信したい相手に対して、暗号化された通信路の確立を要求することを示す情報である。接続要求情報は、例えば、ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）プロトコルにおけるＣｌｉｅｎｔＨｅｌｌｏメッセージに相当するものである。
【００２６】
接続要求送信部２１３は、ＣＰＵ９１１などの処理装置を用いて、接続要求情報を生成する。
接続要求送信部２１３は、ＣＰＵ９１１などの処理装置を用いて、接続先アドレス記憶部２１２が記憶したアドレス情報を取得する。
接続要求送信部２１３は、ＣＰＵ９１１などの処理装置を用いて、取得したアドレス情報を、接続要求情報の送信先を示す情報として、接続要求情報に付加する。
接続要求送信部２１３は、通信装置９１５を用いて、接続要求情報を送信する。
【００２７】
接続要求情報は、ネットワーク８０１を介し、付加された送信先を示す情報にしたがって、相手に届けられる。接続要求情報は、送信先がネットワーク８０２に接続した機器である場合には、ゲートウェイ装置１００に届けられ、ゲートウェイ装置１００が中継することで、ネットワーク８０２に接続した相手に届けられる。
【００２８】
公開鍵証明書受信部２２１は、通信装置９１５を用いて、通信相手の公開鍵証明書を受信する。
小型機器２００は、通信相手との間に暗号化された通信路を確立するために、通信相手の公開鍵を入手する必要がある。そのため、接続要求情報に対する応答として、通信相手が自分の公開鍵証明書を小型機器２００に対して送信する。例えば、ＴＬＳプロトコルにおいては、ＳｅｒｖｅｒＣｅｒｔｉｆｉｃａｔｅメッセージにより、公開鍵証明書を送信する。
【００２９】
公開鍵証明書受信部２２１は、通信装置９１５を用いて、公開鍵証明書を受信する。
公開鍵証明書受信部２２１は、ＣＰＵ９１１などの処理装置を用いて、受信した公開鍵証明書を出力する。
【００３０】
公開鍵証明書検証部２２２は、ＣＰＵ９１１などの処理装置を用いて、公開鍵証明書受信部２２１が受信した公開鍵証明書を検証し、その公開鍵の所有者が通信相手であることを確認する。
公開鍵証明書には、所有者を識別する情報（識別名、サブジェクト）と、その所有者の公開鍵と、これらの情報が正しいものであることを証明する認証局（ＣＡ：Ｃｅｒｔｉｆｉｃａｔｅ  Ａｕｔｈｏｒｉｔｙ）による電子署名とが含まれている。
公開鍵証明書検証部２２２は、これらを検証することにより、公開鍵の所有者が通信相手であることを確認する。
【００３１】
公開鍵証明書検証部２２２は、ＣＰＵ９１１などの処理装置を用いて、公開鍵証明書受信部２２１が出力した公開鍵証明書を入力する。
公開鍵証明書検証部２２２は、ＣＰＵ９１１などの処理装置を用いて、入力した公開鍵証明書に含まれる所有者の識別名が、通信相手を示すものであるか否かを判定する。
例えば、所有者の識別名と、接続先アドレス記憶部２１２が記憶した通信したい相手のアドレス情報とを比較し、一致するか否かを判定する。
所有者の識別名が、通信相手を示すものでないと判定した場合、公開鍵証明書検証部２２２は、ＣＰＵ９１１などの処理装置を用いて、検証に失敗したことを示す情報を出力する。
【００３２】
所有者の識別名が、通信相手を示すものであると判定した場合、公開鍵証明書検証部２２２は、ＣＰＵ９１１などの処理装置を用いて、入力した公開鍵証明書に含まれる認証局の電子署名を、認証局の公開鍵で復号して、公開鍵証明書の内容が正しいことを認証局が保証しているか否かを判定する。
小型機器２００が信頼する認証局の公開鍵は、小型機器２００があらかじめ記憶装置を用いて記憶している。
公開鍵証明書検証部２２２は、ＣＰＵ９１１などの処理装置を用いて、公開鍵証明書に電子署名した認証局の公開鍵を記憶しているか否かを判定し、記憶している場合には、あらかじめ記憶した認証局の公開鍵を用いて、電子署名を復号する。
【００３３】
認証局の公開鍵をあらかじめ記憶していない場合、公開鍵証明書検証部２２２は、ＣＰＵ９１１などの処理装置を用いて、認証局の公開鍵証明書を取得する。認証局の公開鍵証明書は、通常、通信相手の公開鍵証明書とともに、通信相手から送られてくる。
認証局の公開鍵証明書を取得できない場合、公開鍵証明書検証部２２２は、ＣＰＵ９１１などの処理装置を用いて、検証に失敗したことを示す情報を出力する。
【００３４】
認証局の公開鍵証明書を取得できた場合には、公開鍵証明書検証部２２２は、ＣＰＵ９１１などの処理装置を用いて、認証局の公開鍵証明書を検証する。
認証局の公開鍵証明書の検証に失敗した場合、公開鍵証明書検証部２２２は、ＣＰＵ９１１などの処理装置を用いて、検証に失敗したことを示す情報を出力する。
【００３５】
以上のようにして、公開鍵証明書検証部２２２は、入手した通信相手の非Ｘ．５０９形式公開鍵証明書を証明書検証する。
通信相手の公開鍵証明書の検証に成功した場合、公開鍵証明書検証部２２２は、ＣＰＵ９１１などの処理装置を用いて、通信相手の公開鍵を出力する。
【００３６】
秘密鍵記憶部２２３は、耐タンパ性のあるメモリなどの記憶装置を用いて、小型機器２００自身の秘密鍵を記憶している。秘密鍵記憶部２２３が記憶している秘密鍵は、小型機器２００が所有し、公開している公開鍵とペアをなすものである。
【００３７】
共通鍵生成部２２４は、通信相手の公開鍵と自身の秘密鍵とから、確立する通信路における通信を暗号化するための共通鍵を生成する。
共通鍵生成部２２４は、通常、秘密鍵記憶部２２３とともに耐タンパ性のあるモジュール内にあり、ＣＰＵ９１１とは独立した処理装置を用いて、共通鍵を生成する。
【００３８】
共通鍵生成部２２４は、公開鍵証明書検証部２２２が出力した通信相手の公開鍵を入力する。
共通鍵生成部２２４は、秘密鍵記憶部２２３が記憶した自身の秘密鍵を入力する。
共通鍵生成部２２４は、入力した公開鍵と秘密鍵とに基づいて、共通鍵を生成する。
例えば、共通鍵生成部２２４は、ディッフィーヘルマン鍵交換アルゴリズムに基づいて、共通鍵を生成する。
共通鍵生成部２２４は、生成した共通鍵を出力する。
【００３９】
証明書提示要求受信部２３１は、通信装置９１５を用いて、通信相手から送られてきた証明書提示要求情報を受信する。
証明書提示要求情報とは、通信相手が小型機器２００を認証するため、あるいは、共通鍵生成部２２４が生成した共通鍵と同一の共通鍵を通信相手が生成するために、小型機器２００の公開鍵証明書の送信を要求することを示す情報である。証明書提示要求情報は、例えば、ＴＬＳプロトコルにおけるＣｅｒｔｉｆｉｃａｔｅＲｅｑｕｅｓｔメッセージに相当するものである。
【００４０】
証明書提示要求受信部２３１は、通信装置９１５を用いて、証明書提示要求情報を受信する。
証明書提示要求受信部２３１は、ＣＰＵ９１１などの処理装置を用いて、受信した証明書提示要求情報を出力する。
【００４１】
公開鍵証明書記憶部２３２は、記憶装置を用いて、小型機器２００自身の公開鍵証明書を記憶している。
【００４２】
公開鍵証明書送信部２３３は、ＣＰＵ９１１などの処理装置を用いて、証明書提示要求受信部２３１が出力した証明書提示要求情報を入力する。
公開鍵証明書送信部２３３は、ＣＰＵ９１１などの処理装置を用いて、公開鍵証明書記憶部２３２が記憶した公開鍵証明書を入力する。
公開鍵証明書送信部２３３は、通信装置９１５を用いて、入力した公開鍵証明書を、通信相手に向けて送信する。
【００４３】
接続応答受信部２４１は、通信装置９１５を用いて、通信相手から送られてきた接続応答情報を受信する。
接続応答情報とは、通信相手が小型機器２００を認証し、共通鍵の生成に成功し、暗号通信の準備が整ったことを示す情報である。接続応答情報は、例えば、ＴＬＳプロトコルにおけるＦｉｎｉｓｈｅｄメッセージに相当するものである。
また、共通鍵生成部２２４が生成した共通鍵と、通信相手が生成した共通鍵とが一致していることを確認するため、接続応答情報は通常、共通鍵で暗号化してある。これを正しく復号できれば、生成した共通鍵が一致していることが確認できる。
【００４４】
復号部２４２は、共通鍵生成部２２４が生成した共通鍵を用いて、暗号文を復号する。
復号部２４２は、ＣＰＵ９１１などの処理装置を用いて、共通鍵生成部２２４が出力した共通鍵を入力する。
復号部２４２は、ＣＰＵ９１１などの処理装置を用いて、接続応答受信部２４１が出力した接続応答情報または暗号文受信部２５１が出力した暗号文情報を入力する。
復号部２４２は、ＣＰＵ９１１などの処理装置を用いて、入力した接続応答情報または暗号文情報を、入力した共通鍵で復号する。
復号部２４２は、ＣＰＵ９１１などの処理装置を用いて、復号した結果を出力する。
【００４５】
接続応答検証部２４５は、接続応答情報が正しく復号できたか否かを判定する。
接続応答検証部２４５は、ＣＰＵ９１１などの処理装置を用いて、復号部２４２が接続応答情報を復号した復号結果を入力する。
接続応答検証部２４５は、ＣＰＵ９１１などの処理装置を用いて、入力した復号結果が正しいか否かを判定する。
復号結果が正しい場合には、暗号通信の準備が整ったことが確認できたので、通信相手との暗号通信を開始する。
【００４６】
暗号文受信部２５１は、通信装置９１５を用いて、通信相手から送られてきた暗号文情報を受信する。
暗号文受信部２５１は、ＣＰＵ９１１などの処理装置を用いて、受信した暗号文情報を出力する。
【００４７】
暗号化部２６１は、ＣＰＵ９１１などの処理装置を用いて、共通鍵生成部２２４が出力した共通鍵を入力する。
暗号化部２６１は、ＣＰＵ９１１などの処理装置を用いて、通信相手に対して送信したい情報（平文情報）を入力する。
暗号化部２６１は、ＣＰＵ９１１などの処理装置を用いて、入力した平文情報を、入力した共通鍵で暗号化する。
暗号化部２６１は、ＣＰＵ９１１などの処理装置を用いて、暗号化した結果を暗号文情報として出力する。
【００４８】
暗号文送信部２６２は、ＣＰＵ９１１などの処理装置を用いて、暗号化部２６１が出力した暗号文情報を入力する。
暗号文送信部２６２は、通信装置９１５を用いて、入力した暗号文情報を、通信相手に向けて送信する。
【００４９】
以上のようにして、小型機器２００は、小型機器２００の公開鍵とペアをなす小型機器２００の秘密鍵と、受信した通信相手の非Ｘ．５０９形式公開鍵証明書とを使用して共通鍵を生成し、通信相手との間に暗号化された通信路を確立して、第三者による盗聴や改竄の危険がない安全な通信を実現する。
【００５０】
次に、アプリケーションサーバ装置３００について説明する。
【００５１】
アプリケーションサーバ装置３００は、Ｘ．５０９形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信を行うことができる。
また、アプリケーションサーバ装置３００は、公開鍵暗号アルゴリズムとして、例えば、ディッフィーへルマン鍵交換アルゴリズムをサポートしている。
【００５２】
図５は、この実施の形態におけるアプリケーションサーバ装置３００の機能ブロックの構成の一例を示すブロック構成図である。
アプリケーションサーバ装置３００は、接続要求受信部３１１、公開鍵証明書記憶部３３２、公開鍵証明書送信部３３３、証明書提示要求送信部３３４、公開鍵証明書受信部３２１、公開鍵証明書検証部３２２、秘密鍵記憶部３２３、共通鍵生成部３２４、接続応答生成部３４３、暗号化部３６１、接続応答送信部３４４、暗号文送信部３６２、暗号文受信部３５１、復号部３４２を有する。
【００５３】
接続要求受信部３１１は、通信装置９１５を用いて、接続要求情報を受信する。
接続要求情報は、アプリケーションサーバ装置３００との間に暗号化された通信路を確立したい機器（例えば、小型機器２００）から送られてくるものである。
接続要求受信部３１１は、ＣＰＵ９１１などの処理装置を用いて、受信した接続要求情報を出力する。
【００５４】
公開鍵証明書記憶部３３２は、磁気ディスク装置９２０などの記憶装置を用いて、アプリケーションサーバ装置３００自身の公開鍵証明書を記憶している。
公開鍵証明書記憶部３３２が記憶している公開鍵証明書は、Ｘ．５０９形式に対応したアプリケーションサーバ装置３００の公開鍵証明書である。
【００５５】
公開鍵証明書送信部３３３は、接続要求受信部３１１が受信した接続要求情報に対する応答として、アプリケーションサーバ装置３００自身の公開鍵証明書を送信する。
公開鍵証明書送信部３３３は、ＣＰＵ９１１などの処理装置を用いて、接続要求受信部３１１が出力した接続要求情報を入力する。
公開鍵証明書送信部３３３は、ＣＰＵ９１１などの処理装置を用いて、公開鍵証明書記憶部３３２が記憶した公開鍵証明書を入力する。
公開鍵証明書送信部３３３は、通信装置９１５を用いて、入力した公開鍵証明書を、入力した接続要求情報の送信元に向けて送信する。
【００５６】
証明書提示要求送信部３３４は、ＣＰＵ９１１などの処理装置を用いて、証明書提示要求情報を生成する。
証明書提示要求送信部３３４は、通信装置９１５を用いて、生成した証明書提示要求情報を、接続要求情報の送信元に向けて送信する。
【００５７】
公開鍵証明書受信部３２１は、証明書提示要求送信部３３４が送信した証明書提示要求情報に対する応答として、接続要求情報の送信元から送られてきた公開鍵証明書を受信する。
公開鍵証明書受信部３２１は、通信装置９１５を用いて、公開鍵証明書を受信する。
公開鍵証明書受信部３２１は、ＣＰＵ９１１などの処理装置を用いて、受信した公開鍵証明書を出力する。
【００５８】
公開鍵証明書検証部３２２は、公開鍵証明書受信部３２１が受信した公開鍵証明書を検証して、その公開鍵の所有者が、接続要求情報の送信元であることを確認する。
公開鍵証明書検証部３２２は、ＣＰＵ９１１などの処理装置を用いて、公開鍵証明書受信部３２１が出力した公開鍵証明書を入力する。
公開鍵証明書検証部３２２は、ＣＰＵ９１１などの処理装置を用いて、入力した公開鍵証明書を検証する。
なお、検証の詳細は、小型機器２００の公開鍵証明書検証部２２２と同様なので、説明を省略する。
検証に成功した場合、公開鍵証明書検証部３２２は、ＣＰＵ９１１などの処理装置を用いて、接続要求情報の送信元の公開鍵を出力する。
このように、公開鍵証明書検証部３２２（Ｘ．５０９証明書検証部）は、Ｘ．５０９形式公開鍵証明書に対応したアプリケーションサーバ装置３００が入手した通信相手のＸ．５０９形式公開鍵証明書を証明書検証する。
【００５９】
秘密鍵記憶部３２３は、耐タンパ性のあるメモリなどの記憶装置を用いて、アプリケーションサーバ装置３００自身の秘密鍵を記憶している。
秘密鍵記憶部３２３が記憶している秘密鍵は、アプリケーションサーバ装置３００が所有し、公開している公開鍵とペアをなすものである。
【００６０】
共通鍵生成部３２４は、公開鍵証明書検証部３２２が出力した通信相手の公開鍵と、秘密鍵記憶部３２３が記憶した秘密鍵とに基づいて、共通鍵を生成する。
共通鍵生成部３２４は、生成した共通鍵を出力する。
【００６１】
接続応答生成部３４３は、ＣＰＵ９１１などの処理装置を用いて、接続応答情報を生成する。
接続応答生成部３４３は、ＣＰＵ９１１などの処理装置を用いて、生成した接続応答情報を出力する。
【００６２】
暗号化部３６１は、ＣＰＵ９１１などの処理装置を用いて、共通鍵生成部３２４が出力した共通鍵を入力する。
暗号化部３６１は、ＣＰＵ９１１などの処理装置を用いて、接続応答生成部３４３が出力した接続応答情報や、通信相手に送信したい情報（平文情報）を入力する。
暗号化部３６１は、ＣＰＵ９１１などの処理装置を用いて、入力した情報を、入力した共通鍵で暗号化する。
暗号化部３６１は、ＣＰＵ９１１などの処理装置を用いて、暗号化した結果を暗号文情報として出力する。
【００６３】
接続応答送信部３４４は、ＣＰＵ９１１などの処理装置を用いて、暗号化部３６１が接続応答情報を暗号化した暗号文情報を入力する。
接続応答送信部３４４は、通信装置９１５を用いて、入力した暗号化された接続応答情報を、通信相手に向けて送信する。
【００６４】
これにより、暗号通信の準備が整ったことが通信相手に知らされる。
【００６５】
暗号文送信部３６２は、ＣＰＵ９１１などの処理装置を用いて、暗号化部３６１が出力した暗号文情報を入力する。
暗号文送信部３６２は、通信装置９１５を用いて、入力した暗号文情報を、通信相手に向けて送信する。
【００６６】
暗号文受信部３５１は、通信装置９１５を用いて、通信相手からの暗号文情報を受信する。
暗号文受信部３５１は、ＣＰＵ９１１などの処理装置を用いて、受信した暗号文情報を出力する。
【００６７】
復号部３４２は、ＣＰＵ９１１などの処理装置を用いて、共通鍵生成部３２４が出力した共通鍵を入力する。
復号部３４２は、ＣＰＵ９１１などの処理装置を用いて、暗号文受信部３５１が出力した暗号文情報を入力する。
復号部３４２は、ＣＰＵ９１１などの処理装置を用いて、入力した暗号文情報を、入力した共通鍵で復号する。
復号部３４２は、ＣＰＵ９１１などの処理装置を用いて、復号した結果を出力する。
【００６８】
以上のようにして、アプリケーションサーバ装置３００は、Ｘ．５０９形式公開鍵証明書を使用した公開鍵暗号方式に基づき、通信相手との間に暗号化された通信路を確立して、第三者による盗聴や改竄の危険がない安全な通信を実現する。
【００６９】
小型機器２００やアプリケーションサーバ装置３００は、通信相手から送られてきた公開鍵証明書を検証することにより、通信相手を認証したり、共通鍵を生成したりする。
【００７０】
前述したように、小型機器２００とアプリケーションサーバ装置３００とでは、処理できる公開鍵証明書の形式が異なる。
例えば、小型機器２００は、Ｘ．５０９形式の公開鍵証明書を検証できないので、アプリケーションサーバ装置３００が送った公開鍵証明書を検証できず、通信路を確立できない。
また、小型機器２００が処理できる形式の公開鍵証明書をアプリケーションサーバ装置３００が送ったとしても、ネットワーク８０１とネットワーク８０２とではアドレス体系が異なるので、公開鍵証明書に記載された公開鍵の識別名が一致せず、検証に失敗する。
【００７１】
ゲートウェイ装置１００は、このような原因で通信路の確立に失敗することを防ぎ、小型機器２００とアプリケーションサーバ装置３００との間に、安全な通信を実現するものである。
【００７２】
次に、ゲートウェイ装置１００について説明する。
【００７３】
ゲートウェイ装置１００は、小型機器２００の通信をサポートする装置である。
【００７４】
図６は、この実施の形態におけるゲートウェイ装置１００の機能ブロックの構成の一例を示すブロック構成図である。
ゲートウェイ装置１００は、中継装置の一例である。
【００７５】
ゲートウェイ装置１００は、接続要求受信部１１１、接続先アドレス変換部１１２、接続要求送信部１１３、証明書提示要求受信部１３１、証明書提示要求送信部１３４、公開鍵証明書受信部１２１、公開鍵証明書取得部１２２、公開鍵証明書送信部１３３、暗号文受信部１５１、暗号文送信部１６２を有する。
また、ゲートウェイ装置１００は、宛先テーブル記憶部４１２、証明書データベース記憶部５１２を有していてもよい。
【００７６】
接続要求受信部１１１は、小型機器２００がアプリケーションサーバ装置３００に対して送信した接続要求情報を、ネットワーク８０１を介して受信する。
接続要求受信部１１１は、通信装置９１５を用いて、接続要求情報を受信する。
接続要求受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、受信した接続要求情報を出力する。
【００７７】
接続要求受信部１１１が受信した接続要求情報に付加された送信先を示す情報は、ネットワーク８０１におけるアドレス体系に基づいて、アプリケーションサーバ装置３００を識別するアドレス情報である。
接続先アドレス変換部１１２は、これをネットワーク８０２におけるアドレス体系に基づいて、アプリケーションサーバ装置３００を識別するアドレス情報に変換する。
【００７８】
接続先アドレス変換部１１２は、ＣＰＵ９１１などの処理装置を用いて、接続要求受信部１１１が出力した接続要求情報を入力する。
接続先アドレス変換部１１２は、ＣＰＵ９１１などの処理装置を用いて、入力した接続要求情報に付加された送信先を示すアドレス情報を取得する。
接続先アドレス変換部１１２は、ＣＰＵ９１１などの処理装置を用いて、取得したアドレス情報を、ネットワーク８０２におけるアドレス体系に基づいて、アプリケーションサーバ装置３００を識別するアドレス情報に変換する。
接続先アドレス変換部１１２は、ＣＰＵ９１１などの処理装置を用いて、変換したアドレス情報を付加した接続要求情報を生成する。
接続先アドレス変換部１１２は、ＣＰＵ９１１などの処理装置を用いて、生成した接続要求情報を出力する。
【００７９】
例えば、接続先アドレス変換部１１２は、ＣＰＵ９１１などの処理装置を用いて、宛先テーブル記憶部４１２が記憶したアドレス情報の対応テーブルを検索することにより、アドレス情報を変換する。
宛先テーブル記憶部４１２は、磁気ディスク装置９２０などの記憶装置を用いて、異なるアドレス体系において同一の通信機器を識別する複数のアドレス情報を、対応づけて記憶している。
したがって、ネットワーク８０１におけるアドレス情報で検索すれば、ネットワーク８０２において、同一の通信機器を識別するアドレス情報を取得することができる。
【００８０】
あるいは、接続先アドレス変換部１１２は、通信装置９１５を用いて、宛先サーバ装置４００に対して、ネットワーク８０１におけるアドレス情報を含む宛先変換要求情報を送信し、通信装置９１５を用いて、送信した宛先変換要求情報に対する応答として、宛先サーバ装置４００が送信してきたアドレス情報を受信することにより、ネットワーク８０２におけるアドレス情報を取得してもよい。
すなわち、接続先アドレス変換部１１２（宛先検索要求送信部）は、小型機器２００から受け取った非Ｘ．５０９形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信で使用する通信先のアドレスを使用して宛先サーバ装置４００に問い合わせを行い、宛先サーバ装置４００から通信先のネットワーク８０２上でのアドレス（ＵＲＬなど）を取得する。
【００８１】
接続要求送信部１１３は、接続先アドレス変換部１１２がアドレス情報を変換した接続要求情報を、ネットワーク８０２を介して、アプリケーションサーバ装置３００に対して送信する。
接続要求送信部１１３は、ＣＰＵ９１１などの処理装置を用いて、接続先アドレス変換部１１２が出力した接続要求情報を入力する。
接続要求送信部１１３は、通信装置９１５を用いて、入力した接続要求情報を送信する。
接続要求送信部１１３が送信した接続要求情報には、ネットワーク８０２においてアプリケーションサーバ装置３００を識別するアドレス情報が付加されているので、接続要求情報がアプリケーションサーバ装置３００に届けられる。
【００８２】
証明書提示要求受信部１３１は、通信装置９１５を用いて、アプリケーションサーバ装置３００が小型機器２００に対して送信した証明書提示要求情報を受信する。
証明書提示要求受信部１３１は、ＣＰＵ９１１などの処理装置を用いて、受信した証明書提示要求情報を出力する。
【００８３】
証明書提示要求送信部１３４は、ＣＰＵ９１１などの処理装置を用いて、証明書提示要求受信部１３１が出力した証明書提示要求情報を入力する。
証明書提示要求送信部１３４は、通信装置９１５を用いて、入力した証明書提示要求情報を、小型機器２００に対して送信する。
【００８４】
公開鍵証明書受信部１２１は、アプリケーションサーバ装置３００が小型機器２００に対して送信した公開鍵証明書を、ネットワーク８０２を介して受信する。
公開鍵証明書受信部１２１は、また、小型機器２００がアプリケーションサーバ装置３００に対して送信した公開鍵証明書を、ネットワーク８０１を介して受信する。
公開鍵証明書受信部１２１は、通信装置９１５を用いて、公開鍵証明書を受信する。
公開鍵証明書受信部１２１は、ＣＰＵ９１１などの処理装置を用いて、受信した公開鍵証明書を出力する。
【００８５】
アプリケーションサーバ装置３００は、受信した接続要求情報に対する応答として、アプリケーションサーバ装置３００の公開鍵証明書を送信する。
また、小型機器２００は、受信した証明書提示要求情報に対する応答として、小型機器２００の公開鍵証明書を送信する。
【００８６】
アプリケーションサーバ装置３００が送信したアプリケーションサーバ装置３００の公開鍵証明書は、例えば、Ｘ．５０９形式の公開鍵証明書であり、小型機器２００は検証することができない。
また、アプリケーションサーバ装置３００が送信したアプリケーションサーバ装置３００の公開鍵証明書は、公開鍵の所有者の識別名として、ネットワーク８０２におけるアドレス体系に基づくアドレス情報を含むものであり、小型機器２００がアプリケーションサーバ装置３００の識別名として認識しているのは、ネットワーク８０１におけるアドレス体系に基づくアドレス情報であるから、両者は一致しない。したがって、アプリケーションサーバ装置３００が送信した公開鍵証明書を小型機器２００が検証できたとしても、検証に失敗する。
逆に、小型機器２００が送信した小型機器２００の公開鍵証明書は、Ｘ．５０９形式とは異なる形式の公開鍵証明書であるから、アプリケーションサーバ装置３００が検証できない可能性があり、検証できたとしても、識別名が不一致なので検証に失敗する。
そのため、ゲートウェイ装置１００は、受信した公開鍵証明書を、通信相手が検証できる公開鍵証明書に置き換えて、送信する。
【００８７】
公開鍵証明書取得部１２２は、ＣＰＵ９１１などの処理装置を用いて、公開鍵証明書受信部１２１が出力した公開鍵証明書を入力する。
公開鍵証明書取得部１２２は、ＣＰＵ９１１などの処理装置を用いて、入力した公開鍵証明書に対応する異なる形式の公開鍵証明書を取得する。
公開鍵証明書取得部１２２は、ＣＰＵ９１１などの処理装置を用いて、取得した公開鍵証明書を出力する。
【００８８】
例えば、公開鍵証明書取得部１２２は、ＣＰＵ９１１などの処理装置を用いて、証明書データベース記憶部５１２が記憶した公開鍵証明書の対応テーブルを検索することにより、対応する公開鍵証明書を取得する。
証明書データベース記憶部５１２は、磁気ディスク装置９２０などの記憶装置を用いて、複数の形式の公開鍵証明書を記憶している。
証明書データベース記憶部５１２は、例えば、Ｘ．５０９形式の公開鍵証明書と、Ｘ．５０９形式とは異なる形式の公開鍵証明書とを記憶している。また、アドレス体系の違いなどにより、同一の通信機器を識別する識別名が複数ある場合には、それぞれの識別名について、同一の公開鍵の所有者であることを証明する公開鍵証明書を、複数記憶していてもよい。この場合、識別名が異なる複数の公開鍵証明書は、異なる形式（例えば、Ｘ．５０９形式と、Ｘ．５０９形式でない形式）であってもよいし、同一の形式（例えば、Ｘ．５０９形式）であってもよい。ここでは、同一の通信機器を識別する異なるアドレス体系の識別名についての複数の公開鍵証明書は、形式が同一であっても、「異なる形式」と呼ぶこととする。
証明書データベース記憶部５１２は、同一の所有者が、同一の公開鍵の所有者であることを証明する複数の公開鍵証明書を、対応づけて記憶している。
したがって、あるアドレス体系における識別名と、その識別名で識別される所有者が所有する公開鍵とで検索すれば、対応する異なる形式の公開鍵証明書を取得することができる。
【００８９】
あるいは、公開鍵証明書取得部１２２は、通信装置９１５を用いて、証明書検索要求情報を、証明書サーバ装置５００に対して送信し、通信装置９１５を用いて、送信した証明書検索要求情報に対する応答として証明書サーバ装置５００が送信してきた公開鍵証明書を受信することにより、対応する異なる形式の公開鍵証明書を取得してもよい。
すなわち、公開鍵証明書取得部１２２（証明書検索要求送信部）は、通信先とＸ．５０９形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信を行うために小型機器２００のＸ．５０９形式公開鍵証明書を証明書サーバ装置５００に要求したり、小型機器２００に通信先が非Ｘ．５０９形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信をサポートしていると見せかけるために通信先の非Ｘ．５０９形式公開鍵証明書を証明書サーバ装置５００に要求したりする。
【００９０】
なお、公開鍵証明書取得部１２２は、入力した公開鍵証明書を検証してもよいし、検証しなくてもよい。公開鍵証明書取得部１２２が公開鍵証明書を検証する場合、検証に成功したときのみ、対応する公開鍵証明書を出力することとしてもよい。
【００９１】
公開鍵証明書送信部１３３は、通信相手が検証できる形式の公開鍵証明書を、その通信相手に対して送信する。
公開鍵証明書送信部１３３は、ＣＰＵ９１１などの処理装置を用いて、公開鍵証明書取得部１２２が出力した公開鍵証明書を入力する。
公開鍵証明書送信部１３３は、通信装置９１５を用いて、入力した公開鍵証明書を送信する。
【００９２】
このようにして、ゲートウェイ装置１００が、小型機器２００及びアプリケーションサーバ装置３００が検証できる公開鍵証明書を、それぞれに対して送信するので、小型機器２００及びアプリケーションサーバ装置３００は、通信相手を認証することができ、同一の共通鍵を生成して、暗号化した通信路を確立することができる。
すなわち、ゲートウェイ装置１００は、小型機器２００と非Ｘ．５０９形式公開鍵証明書の送受信を行い、小型機器２００の通信先とＸ．５０９形式公開鍵証明書の送受信を行って、両者の橋渡しをする。
【００９３】
暗号化した通信路が確立したあとは、ゲートウェイ装置１００は、暗号文情報を暗号化した共通鍵を知らないので、暗号文情報に手を加えることができない。ゲートウェイ装置１００は、単に、暗号文情報を中継するだけである。
【００９４】
暗号文受信部１５１は、通信装置９１５を用いて、小型機器２００またはアプリケーションサーバ装置３００が送信した暗号文情報（接続応答情報を含む）を受信する。
暗号文受信部１５１は、ＣＰＵ９１１などの処理装置を用いて、受信した暗号文情報を出力する。
【００９５】
暗号文送信部１６２は、ＣＰＵ９１１などの処理装置を用いて、暗号文受信部１５１が出力した暗号文情報を入力する。
暗号文送信部１６２は、ＣＰＵ９１１などの処理装置を用いて、入力した暗号文情報を、通信相手に対して送信する。
【００９６】
次に、宛先サーバ装置４００について説明する。
【００９７】
宛先サーバ装置４００は、小型機器２００から指定された宛先の情報を、ネットワーク８０２で利用可能な形式の宛先情報に変換するアドレス変換サーバである。
【００９８】
図７は、この実施の形態における宛先サーバ装置４００の機能ブロックの構成の一例を示すブロック構成図である。
宛先サーバ装置４００は、宛先検索要求受信部４１１、宛先テーブル記憶部４１２、宛先検索部４１３、宛先検索結果送信部４１４を有する。
【００９９】
宛先検索要求受信部４１１は、通信装置９１５を用いて、ゲートウェイ装置１００が送信してきた宛先検索要求情報を受信する。
宛先検索要求受信部４１１は、ＣＰＵ９１１などの処理装置を用いて、受信した宛先検索要求情報を出力する。
宛先検索要求情報は、例えば、アドレス体系を示す情報と、そのアドレス体系においてある通信機器を識別するアドレス情報と、アドレス情報を変換したい別のアドレス体系を示す情報とを含む。
このように、宛先検索要求受信部４１１（宛先検索要求受付部）は、ゲートウェイ装置１００からの宛先検索要求を受信して受け付ける。
【０１００】
宛先テーブル記憶部４１２は、磁気ディスク装置９２０などの記憶装置を用いて、アドレス情報を記憶している。
宛先テーブル記憶部４１２は、複数のアドレス体系におけるアドレス情報を記憶している。
宛先テーブル記憶部４１２は、異なる複数のアドレス体系において、同一の通信機器を識別する複数のアドレス情報を、対応づけて記憶している。
このように、宛先テーブル記憶部４１２は、非Ｘ．５０９形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信で使用するアドレス情報を、ネットワーク８０２（データ通信経路）で使用するアドレス情報（通常はＵＲＬ）に変換するための変換表（宛先表）を記憶する。
【０１０１】
宛先検索部４１３は、ＣＰＵ９１１などの処理装置を用いて、宛先検索要求受信部４１１が出力した宛先検索要求情報を入力する。
宛先検索部４１３は、ＣＰＵ９１１などの処理装置を用いて、入力した宛先検索要求情報に基づいて、宛先テーブル記憶部４１２が記憶したアドレス情報を検索し、対応するアドレス情報を取得する。
宛先検索部４１３は、ＣＰＵ９１１などの処理装置を用いて、取得したアドレス情報を出力する。
このように、宛先検索部４１３は、ゲートウェイ装置１００から受信した宛先検索要求を解析し、宛先テーブル（宛先表）を検索する。
【０１０２】
宛先検索結果送信部４１４は、ＣＰＵ９１１などの処理装置を用いて、宛先検索部４１３が出力したアドレス情報を入力する。
宛先検索結果送信部４１４は、通信装置９１５を用いて、宛先検索結果情報を、ゲートウェイ装置１００に対して送信する。
宛先検索結果情報は、入力したアドレス情報を含む。宛先検索結果情報に含まれるアドレス情報は、宛先検索要求情報に含まれるアドレス情報により識別される通信機器を、別のアドレス体系において識別するアドレス情報である。
【０１０３】
次に、証明書サーバ装置５００について説明する。
【０１０４】
証明書サーバ装置５００は、小型機器２００のＸ．５０９形式公開鍵証明書やＸ．５０９形式公開鍵証明書に対応したアプリケーションサーバ装置３００の非Ｘ．５０９形式公開鍵証明書などを保管しているサーバである。
【０１０５】
図８は、この実施の形態における証明書サーバ装置５００の機能ブロックの構成の一例を示すブロック構成図である。
証明書サーバ装置５００は、証明書検索要求受信部５１１、証明書データベース記憶部５１２、証明書検索部５１３、証明書検索結果送信部５１４を有する。
【０１０６】
証明書検索要求受信部５１１は、通信装置９１５を用いて、ゲートウェイ装置１００が送信してきた証明書検索要求情報を受信する。
証明書検索要求受信部５１１は、ＣＰＵ９１１などの処理装置を用いて、受信した証明書検索要求情報を出力する。
証明書検索要求情報は、例えば、公開鍵と、公開鍵の所有者の識別名と、検索したい公開鍵証明書の形式を示す情報とを含む。
このように、証明書検索要求受信部５１１（証明書検索要求受付部）は、ゲートウェイ装置１００からの証明書検索要求を受信して受け付ける。
【０１０７】
証明書データベース記憶部５１２は、磁気ディスク装置９２０などの記憶装置を用いて、公開鍵証明書を記憶している。
証明書データベース記憶部５１２は、形式の異なる複数の公開鍵証明書を記憶している。
証明書データベース記憶部５１２は、形式の異なる公開鍵証明書において、同一の所有者が、同一の公開鍵を所有していることを証明する公開鍵証明書を、対応づけて記憶している。
このように、証明書データベース記憶部５１２は、非Ｘ．５０９形式公開鍵証明書のサブジェクトの情報から、そのサブジェクトのＸ．５０９形式公開鍵証明書を検索可能なＸ．５０９証明書データベースや、Ｘ．５０９形式公開鍵証明書のサブジェクトの情報から、そのサブジェクトの非Ｘ．５０９形式公開鍵証明書を検索可能な非Ｘ．５０９データベースを記憶する。
【０１０８】
証明書検索部５１３は、ＣＰＵ９１１などの処理装置を用いて、証明書検索要求受信部５１１が出力した証明書検索要求情報を入力する。
証明書検索部５１３は、ＣＰＵ９１１などの処理装置を用いて、入力した証明書検索要求情報に基づいて、証明書データベース記憶部５１２が記憶した公開鍵証明書を検索し、対応する公開鍵証明書を取得する。
証明書検索部５１３は、ＣＰＵ９１１などの処理装置を用いて、取得した公開鍵証明書を出力する。
このように、証明書検索部５１３は、ゲートウェイ装置１００から受信したＸ．５０９形式公開鍵証明書の検索要求を処理するためにＸ．５０９証明書データベースを検索したり、非Ｘ．５０９形式公開鍵証明書の検索要求を処理するために非Ｘ．５０９証明書データベースを検索したりする。
【０１０９】
証明書検索結果送信部５１４は、ＣＰＵ９１１などの処理装置を用いて、証明書検索部５１３が出力した公開鍵証明書を入力する。
証明書検索結果送信部５１４は、通信装置９１５を用いて、入力した公開鍵証明書を、ゲートウェイ装置１００に対して送信する。
【０１１０】
次に、動作について説明する。
【０１１１】
図９は、この実施の形態における小型機器２００とアプリケーションサーバ装置３００とが暗号化された通信路を確立する通信路確立処理の流れの一例を示すフローチャート図（その１）である。
【０１１２】
小型機器２００は、Ｓ２１において、接続要求送信部２１３が、通信装置９１５を用いて、アプリケーションサーバ装置３００に対する接続要求情報を送信する。
小型機器２００は、ゲートウェイ装置１００に対してアプリケーションサーバ装置３００への暗号通信の接続を要求する。このとき、小型機器２００が接続先のアドレスとして指定するのは、非Ｘ．５０９形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信で使用されるアドレス体系を持ち、そのアドレス体系の中で、仮想的に、アプリケーションサーバ装置３００が小型機器２００に提供するサービスに対して割り振られたアドレスである。
【０１１３】
ゲートウェイ装置１００は、Ｓ０１において、接続要求受信部１１１が、通信装置９１５を用いて、Ｓ２１で小型機器２００が送信した接続要求情報を受信する。
接続要求受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、受信した接続要求情報を出力する。
【０１１４】
Ｓ０２において、接続先アドレス変換部１１２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ０１で接続要求受信部１１１が出力した接続要求情報を入力する。
接続先アドレス変換部１１２は、ＣＰＵ９１１などの処理装置を用いて、入力した接続要求情報から、送信先（アプリケーションサーバ装置３００）を示すアドレス情報を取得する。
接続先アドレス変換部１１２は、ＣＰＵ９１１などの処理装置を用いて、取得したアドレス情報を含む宛先検索要求情報を生成する。
接続先アドレス変換部１１２は、通信装置９１５を用いて、生成した宛先検索要求情報を、宛先サーバ装置４００に対して送信する。
すなわち、ゲートウェイ装置１００は、小型機器２００から指定されたアドレスを、ネットワーク８０２（データ通信経路）上で使用されるＵＲＬに変換するため、宛先サーバ装置４００にアプリケーションサーバ装置３００のＵＲＬを問い合わせる。
ゲートウェイ装置１００が宛先サーバ装置４００に送信する宛先検索要求情報（ＵＲＬ取得要求）の中には、小型機器２００が指定した、非Ｘ．５０９形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信で使用されるアプリケーションサーバ装置３００の仮想的なアドレスが含まれている。
【０１１５】
宛先サーバ装置４００は、ゲートウェイ装置１００から受け取ったＵＲＬ取得要求（宛先検索要求情報）にしたがって、アプリケーションサーバ装置３００のＵＲＬを検索し、その結果を応答する。
【０１１６】
接続先アドレス変換部１１２は、通信装置９１５を用いて、送信した宛先検索要求情報に対する応答として、宛先サーバ装置４００が送信した宛先検索結果情報を受信する。
接続先アドレス変換部１１２は、ＣＰＵ９１１などの処理装置を用いて、受信した宛先検索結果情報から、ネットワーク８０２のアドレス体系においてアプリケーションサーバ装置３００を示すアドレス情報を取得する。
接続先アドレス変換部１１２は、ＣＰＵ９１１などの処理装置を用いて、取得したアドレス情報を送信先として付加した接続要求情報を生成する。
接続先アドレス変換部１１２は、ＣＰＵ９１１などの処理装置を用いて、生成した接続要求情報を出力する。
【０１１７】
なお、ゲートウェイ装置１００が宛先テーブル記憶部４１２を有している場合には、宛先サーバ装置４００に問い合わせず、接続先アドレス変換部１１２が宛先テーブル記憶部４１２を検索して、アドレス情報を変換してもよい。
【０１１８】
Ｓ０３において、接続要求送信部１１３は、ＣＰＵ９１１などの処理装置を用いて、Ｓ０２で接続先アドレス変換部１１２が出力した接続要求情報を入力する。
接続要求送信部１１３は、通信装置９１５を用いて、入力した接続要求情報を、アプリケーションサーバ装置３００に対して送信する。
すなわち、ゲートウェイ装置１００は、宛先サーバ装置４００から受け取ったアプリケーションサーバ装置３００のＵＲＬ（アドレス情報）に対して、Ｘ．５０９形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信の接続要求を行う。
【０１１９】
アプリケーションサーバ装置３００は、Ｓ３１において、接続要求受信部３１１が、通信装置９１５を用いて、Ｓ０３でゲートウェイ装置１００が送信した接続要求情報を受信する。
【０１２０】
Ｓ３２において、公開鍵証明書送信部３３３は、Ｓ３１で受信した接続要求情報に対する応答として、通信装置９１５を用いて、アプリケーションサーバ装置３００の公開鍵証明書を送信する。
すなわち、アプリケーションサーバ装置３００は、ゲートウェイ装置１００からの接続要求を受けて、小型機器２００との暗号通信を確立するために、アプリケーションサーバ装置３００のＸ．５０９形式公開鍵証明書をゲートウェイ装置１００に送付する。
なお、アプリケーションサーバ装置３００が送信した公開鍵証明書は、形式が異なるため小型機器２００が検証することはできない。
【０１２１】
ゲートウェイ装置１００は、Ｓ０４において、公開鍵証明書受信部１２１が、通信装置９１５を用いて、Ｓ３２でアプリケーションサーバ装置３００が送信した公開鍵証明書を受信する。
公開鍵証明書受信部１２１は、ＣＰＵ９１１などの処理装置を用いて、受信した公開鍵証明書を出力する。
【０１２２】
Ｓ０５において、公開鍵証明書取得部１２２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ０４で公開鍵証明書受信部１２１が出力した公開鍵証明書を入力する。
公開鍵証明書取得部１２２は、ＣＰＵ９１１などの処理装置を用いて、入力した公開鍵証明書から、公開鍵の所有者の識別名と、公開鍵とを取得する。
公開鍵証明書取得部１２２は、ＣＰＵ９１１などの処理装置を用いて、取得した識別名と公開鍵とを含む証明書検索要求情報を生成する。
公開鍵証明書取得部１２２は、通信装置９１５を用いて、生成した証明書検索要求情報を、証明書サーバ装置５００に対して送信する。
すなわち、ゲートウェイ装置１００は、アプリケーションサーバ装置３００から受け取ったＸ．５０９形式公開鍵証明書をもとに、アプリケーションサーバ装置３００のＸ．５０９形式公開鍵証明書に設定されているものと同一の公開鍵が設定された逆マッピング公開鍵証明書（非Ｘ．５０９形式公開鍵証明書）の検索を、証明書サーバ装置５００に要求する。
【０１２３】
証明書サーバ装置５００は、ゲートウェイ装置１００から受け取った逆マッピング公開鍵証明書取得要求にしたがって、アプリケーションサーバ装置３００の公開鍵が設定された非Ｘ．５０９形式公開鍵証明書を検索し、その結果を応答する。
検索された非Ｘ．５０９形式公開鍵証明書には、Ｓ２１で小型機器２００が指定した、非Ｘ．５０９形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信で使用されるアプリケーションサーバ装置３００の仮想的なアドレスが、公開鍵証明書の所有者名として設定されている。
【０１２４】
公開鍵証明書取得部１２２は、通信装置９１５を用いて、送信した証明書検索要求情報に対する応答として、証明書サーバ装置５００が送信した公開鍵証明書を受信する。
公開鍵証明書取得部１２２は、ＣＰＵ９１１などの処理装置を用いて、受信した公開鍵証明書を出力する。
【０１２５】
なお、ゲートウェイ装置１００が証明書データベース記憶部５１２を有している場合には、証明書サーバ装置５００に問い合わせず、公開鍵証明書取得部１２２が証明書データベース記憶部５１２を検索して、公開鍵証明書を取得してもよい。
【０１２６】
Ｓ０６において、公開鍵証明書送信部１３３は、ＣＰＵ９１１などの処理装置を用いて、Ｓ０５で公開鍵証明書取得部１２２が出力した公開鍵証明書を入力する。
公開鍵証明書送信部１３３は、通信装置９１５を用いて、入力した公開鍵証明書を、小型機器２００に対して送信する。
すなわち、ゲートウェイ装置１００は、証明書サーバ装置５００から受け取ったアプリケーションサーバ装置３００の逆マッピング公開鍵証明書を、小型機器２００とアプリケーションサーバ装置３００との間で暗号通信を確立させるために小型機器２００に送付する。
【０１２７】
小型機器２００は、Ｓ２２において、公開鍵証明書受信部２２１が、通信装置９１５を用いて、Ｓ０６でゲートウェイ装置１００が送信した公開鍵証明書を受信する。
公開鍵証明書受信部２２１は、ＣＰＵ９１１などの処理装置を用いて、受信した公開鍵証明書を出力する。
公開鍵証明書受信部２２１が受信した公開鍵証明書は、ゲートウェイ装置１００により小型機器２００が検証できる形式のものとなっている。
【０１２８】
Ｓ２３において、公開鍵証明書検証部２２２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ２２で公開鍵証明書受信部２２１が出力した公開鍵証明書を入力する。
公開鍵証明書検証部２２２は、ＣＰＵ９１１などの処理装置を用いて、入力した公開鍵証明書を検証する。
すなわち、小型機器２００は、ゲートウェイ装置１００から受け取った逆マッピング公開鍵証明書を証明書検証する。なお、逆マッピング公開鍵証明書を検証するために使用する信頼点は、小型機器２００内にあらかじめ設定されている非Ｘ．５０９形式公開鍵証明書である。
【０１２９】
検証に成功した場合、公開鍵証明書検証部２２２は、ＣＰＵ９１１などの処理装置を用いて、入力した公開鍵証明書から取得した公開鍵を出力する。
【０１３０】
アプリケーションサーバ装置３００は、Ｓ３３において、証明書提示要求送信部３３４が、通信装置９１５を用いて、小型機器２００に対する証明書提示要求情報を送信する。
すなわち、アプリケーションサーバ装置３００は、小型機器２００との暗号通信を確立するために、小型機器２００のＸ．５０９形式公開鍵証明書を、ゲートウェイ装置１００に要求する。
【０１３１】
ゲートウェイ装置１００は、Ｓ０７において、証明書提示要求受信部１３１が、通信装置９１５を用いて、Ｓ３３でアプリケーションサーバ装置３００が送信した証明書提示要求情報を受信する。
証明書提示要求受信部１３１は、ＣＰＵ９１１などの処理装置を用いて、受信した証明書提示要求情報を出力する。
【０１３２】
Ｓ０８において、証明書提示要求送信部１３４は、ＣＰＵ９１１などの処理装置を用いて、Ｓ０７で証明書提示要求受信部１３１が出力した証明書提示要求情報を入力する。
証明書提示要求送信部１３４は、通信装置９１５を用いて、入力した証明書提示要求情報を、小型機器２００に対して送信する。
すなわち、ゲートウェイ装置１００は、アプリケーションサーバ装置３００からの要求にしたがって、小型機器２００に対して小型機器２００の公開鍵が設定された非Ｘ．５０９形式公開鍵証明書を要求する。
【０１３３】
小型機器２００は、Ｓ２４において、証明書提示要求受信部２３１が、通信装置９１５を用いて、Ｓ０８でゲートウェイ装置１００が送信した証明書提示要求情報を受信する。
【０１３４】
Ｓ２５において、公開鍵証明書送信部２３３は、通信装置９１５を用いて、Ｓ２４で証明書提示要求受信部２３１が受信した証明書提示要求情報に対する応答として、小型機器２００の公開鍵証明書を送信する。
すなわち、小型機器２００は、ゲートウェイ装置１００からの要求にしたがって、小型機器２００の公開鍵が設定された、小型機器２００の非Ｘ．５０９形式公開鍵証明書をゲートウェイ装置１００に応答する。
なお、小型機器２００が送信した公開鍵証明書は、形式が異なるためアプリケーションサーバ装置３００が検証することはできない。
【０１３５】
ゲートウェイ装置１００は、Ｓ０９において、公開鍵証明書受信部１２１が、通信装置９１５を用いて、Ｓ２５で小型機器２００が送信した公開鍵証明書を受信する。
公開鍵証明書受信部１２１は、ＣＰＵ９１１などの処理装置を用いて、受信した公開鍵証明書を出力する。
【０１３６】
以下、図１０へ続く。
【０１３７】
図１０は、この実施の形態における小型機器２００とアプリケーションサーバ装置３００とが暗号化された通信路を確立する通信路確立処理の流れの一例を示すフローチャート図（その２）である。
【０１３８】
ゲートウェイ装置１００は、Ｓ１０において、公開鍵証明書取得部１２２が、ＣＰＵ９１１などの処理装置を用いて、Ｓ０９で公開鍵証明書受信部１２１が出力した公開鍵証明書を入力する。
公開鍵証明書取得部１２２は、証明書サーバ装置５００に問い合わせるなどして、対応する公開鍵証明書を取得する。
公開鍵証明書取得部１２２は、ＣＰＵ９１１などの処理装置を用いて、取得した公開鍵証明書を出力する。
【０１３９】
すなわち、ゲートウェイ装置１００は、小型機器２００から受け取った非Ｘ．５０９形式公開鍵証明書をもとに、小型機器２００の非Ｘ．５０９形式公開鍵証明書に設定されているものと同一の公開鍵が設定されたマッピング公開鍵証明書（Ｘ．５０９形式公開鍵証明書）の検索を、証明書サーバ装置５００に要求する。
証明書サーバ装置５００は、ゲートウェイ装置１００から受け取ったマッピング公開鍵証明書取得要求にしたがって、小型機器２００の公開鍵が設定されたＸ．５０９形式公開鍵証明書を検索し、その結果を応答する。検索されたＸ．５０９形式公開鍵証明書には、小型機器２００の識別子が公開鍵証明書の所有者名として設定されている。
【０１４０】
Ｓ１１において、公開鍵証明書送信部１３３は、ＣＰＵ９１１などの処理装置を用いて、Ｓ１０で公開鍵証明書取得部１２２が出力した公開鍵証明書を入力する。
公開鍵証明書送信部１３３は、通信装置９１５を用いて、入力した公開鍵証明書を、アプリケーションサーバ装置３００に対して送信する。
すなわち、ゲートウェイ装置１００は、小型機器２００の公開鍵が設定されたＸ．５０９形式公開鍵証明書を、アプリケーションサーバ装置３００に応答する。
【０１４１】
アプリケーションサーバ装置３００は、Ｓ３４において、公開鍵証明書受信部３２１が、通信装置９１５を用いて、Ｓ１１でゲートウェイ装置１００が送信した公開鍵証明書を受信する。
公開鍵証明書受信部３２１は、ＣＰＵ９１１などの処理装置を用いて、受信した公開鍵証明書を出力する。
公開鍵証明書受信部３２１が受信した公開鍵証明書は、ゲートウェイ装置１００によりアプリケーションサーバ装置３００が検証できる形式のものになっている。
【０１４２】
Ｓ３５において、公開鍵証明書検証部３２２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ３４で公開鍵証明書受信部３２１が出力した公開鍵証明書を入力する。
公開鍵証明書検証部３２２は、ＣＰＵ９１１などの処理装置を用いて、入力した公開鍵証明書を検証する。
すなわち、アプリケーションサーバ装置３００は、ゲートウェイ装置１００から受け取った小型機器２００のマッピング公開鍵証明書を証明書検証する。なお、マッピング公開鍵証明書を検証するために使用する信頼点は、アプリケーションサーバ装置３００内にあらかじめ設定されているＸ．５０９形式公開鍵証明書である。
【０１４３】
検証に成功した場合、公開鍵証明書検証部３２２は、ＣＰＵ９１１などの処理装置を用いて、入力した公開鍵証明書から取得した公開鍵を出力する。
【０１４４】
小型機器２００は、Ｓ２６において、共通鍵生成部２２４が、ＣＰＵ９１１などの処理装置を用いて、共通鍵を生成する。
アプリケーションサーバ装置３００は、Ｓ３６において、共通鍵生成部３２４が、ＣＰＵ９１１などの処理装置を用いて、共通鍵を生成する。
小型機器２００とアプリケーションサーバ装置３００とは、互いに相手の公開鍵証明書から取得した公開鍵と自身の秘密鍵とをもとに共通鍵を生成するので、同一の共通鍵を生成でき、しかも、それまでのやり取りを盗聴していた第三者がいたとしても、第三者には、その共通鍵が生成できない。
【０１４５】
アプリケーションサーバ装置３００は、Ｓ３７において、接続応答送信部３４４が、通信装置９１５を用いて、接続応答情報を送信する。
接続応答情報は、Ｓ３６で共通鍵生成部３２４が生成した共通鍵で暗号化されている。
すなわち、アプリケーションサーバ装置３００は、小型機器２００のマッピング公開鍵証明書の検証に成功し、接続が完了した旨をゲートウェイ装置１００に応答する。
【０１４６】
ゲートウェイ装置１００は、Ｓ１２において、暗号文受信部１５１が、通信装置９１５を用いて、Ｓ３７でアプリケーションサーバ装置３００が送信した接続応答情報を受信する。
暗号文受信部１５１は、ＣＰＵ９１１などの処理装置を用いて、受信した接続応答情報を出力する。
【０１４７】
Ｓ１３において、暗号文送信部１６２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ１２で暗号文受信部１５１が出力した接続応答情報を入力する。
暗号文送信部１６２は、通信装置９１５を用いて、入力した接続応答情報を、小型機器２００に対して送信する。
すなわち、ゲートウェイ装置１００は、アプリケーションサーバ装置３００からの接続応答にしたがって、小型機器２００に接続応答をする。
【０１４８】
小型機器２００は、Ｓ２７において、接続応答受信部２４１が、通信装置９１５を用いて、Ｓ１３でゲートウェイ装置１００が送信した接続応答情報を受信する。
復号部２４２は、ＣＰＵ９１１などの処理装置を用いて、受信した接続応答情報を、Ｓ２６で共通鍵生成部２２４が生成した共通鍵で復号する。
【０１４９】
Ｓ２８において、接続応答検証部２４５は、ＣＰＵ９１１などの処理装置を用いて、Ｓ２７で復号部２４２が復号した接続応答情報を検証する。
検証に成功した場合、小型機器２００とアプリケーションサーバ装置３００とが同一の共通鍵を生成したことが確認される。
【０１５０】
ここまでの処理により、小型機器２００とアプリケーションサーバ装置３００とが同一の共通鍵（セッション鍵）を共有し、なおかつ、小型機器２００とアプリケーションサーバ装置３００との間の相互認証が完了したこととなり、暗号通信の準備が整う。
その後、Ｓ２９・Ｓ１４・Ｓ３８において、確立した安全な通信路を用いて、実際に暗号通信を実行する。
このとき、ゲートウェイ装置１００は、小型機器２００とアプリケーションサーバ装置３００との間の通信を中継するが、共通鍵を有していないので、通信の内容を知ることはできない。
【０１５１】
以上のようにして、非Ｘ．５０９形式公開鍵証明書を用いた暗号通信にのみ対応している小型機器２００が、マッピング証明書を使用して、Ｘ．５０９形式公開鍵証明書を用いた暗号通信にのみ対応しているアプリケーションサーバ装置３００と暗号通信を開始することができる。
【０１５２】
この実施の形態におけるゲートウェイ装置１００（中継装置）は、
情報を処理するＣＰＵ９１１などの処理装置と、第一の通信機器及び第二の通信機器（小型機器２００及びアプリケーションサーバ装置３００）と通信する通信装置９１５と、第一証明書受信部（公開鍵証明書受信部１２１）と、第二証明書取得部（公開鍵証明書取得部１２２）と、第二証明書送信部（公開鍵証明書送信部１３３）とを有することを特徴とする。
第一証明書受信部（公開鍵証明書受信部１２１）は、
通信装置９１５を用いて、第一の通信機器（アプリケーションサーバ装置３００及び小型機器２００）が送信した第一の形式の公開鍵証明書である情報を受信し、
ＣＰＵ９１１などの処理装置を用いて、受信した第一の形式の公開鍵証明書を出力することを特徴とする。
第二証明書取得部（公開鍵証明書取得部１２２）は、
ＣＰＵ９１１などの処理装置を用いて、第一証明書受信部（公開鍵証明書受信部１２１）が出力した第一の形式の公開鍵証明書を入力し、
ＣＰＵ９１１などの処理装置を用いて、入力した第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書である情報を取得し、
ＣＰＵ９１１などの処理装置を用いて、取得した第二の形式の公開鍵証明書を出力することを特徴とする。
第二証明書送信部（公開鍵証明書送信部１３３）は、
ＣＰＵ９１１などの処理装置を用いて、第二証明書取得部（公開鍵証明書取得部１２２）が出力した第二の形式の公開鍵証明書を入力し、
通信装置９１５を用いて、入力した第二の形式の公開鍵証明書を、第二の通信機器（小型機器２００及びアプリケーションサーバ装置３００）に対して送信することを特徴とする。
【０１５３】
この実施の形態におけるゲートウェイ装置１００（中継装置）によれば、第一の通信機器（アプリケーションサーバ装置３００及び小型機器２００）から受信した第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書を、第二証明書取得部（公開鍵証明書取得部１２２）が出力し、第二証明書送信部（公開鍵証明書送信部１３３）が第二の通信機器（小型機器２００及びアプリケーションサーバ装置３００）に対して送信するので、第二の通信機器（小型機器２００及びアプリケーションサーバ装置３００）が第一の形式の公開鍵証明書を検証できなくても、第一の通信機器（アプリケーションサーバ装置３００及び小型機器２００）を認証し、共通鍵を生成して、暗号通信をすることができるという効果を奏する。
【０１５４】
この実施の形態におけるゲートウェイ装置１００（中継装置）は、更に、
情報を記憶する磁気ディスク装置９２０などの記憶装置と、証明書データベース記憶部５１２とを有することを特徴とする。
証明書データベース記憶部５１２は、
磁気ディスク装置９２０などの記憶装置を用いて、第一の形式の公開鍵証明書において、公開鍵の所有者を示す情報（識別名）と、上記所有者と同一の所有者が公開鍵の所有者であることを証明する第二の形式の公開鍵証明書とを対応づけて記憶することを特徴とする。
第二証明書取得部（公開鍵証明書取得部１２２）は、
ＣＰＵ９１１などの処理装置を用いて、入力した第一の形式の公開鍵証明書に基づいて、公開鍵の所有者を示す情報（識別名）と、上記所有者が所有する公開鍵である情報とを取得し、
ＣＰＵ９１１などの処理装置を用いて、証明書データベース記憶部５１２が記憶した情報に基づいて、取得した情報が示す所有者と同一の所有者が、取得した公開鍵と同一の公開鍵の所有者であることを証明する第二の形式の公開鍵証明書を取得することを特徴とする。
【０１５５】
この実施の形態におけるゲートウェイ装置１００（中継装置）によれば、証明書データベース記憶部５１２が、第一の公開鍵証明書に対応する第二の形式の公開鍵証明書を記憶しているので、公開鍵証明書取得部１２２が第一の公開鍵証明書に対応する第二の形式の公開鍵証明書を取得することができるという効果を奏する。
【０１５６】
通信装置９１５は、更に、
第一の形式の公開鍵証明書と第二の形式の公開鍵証明書との対応関係を記憶した証明書サーバ装置５００と通信することを特徴とする。
第二証明書取得部（公開鍵証明書取得部１２２）は、
通信装置９１５を用いて、入力した第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書の検索を、証明書サーバ装置５００に対して要求する証明書検索要求情報を、証明書サーバ装置５００に対して送信し、
通信装置９１５を用いて、送信した証明書検索要求情報に対する応答として、証明書サーバ装置５００が送信した第二の形式の公開鍵証明書を受信することにより、第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書を取得することを特徴とする。
【０１５７】
この実施の形態におけるゲートウェイ装置１００（中継装置）によれば、公開鍵証明書取得部１２２が、第一の形式の公開鍵証明書と第二の形式の公開鍵証明書との対応関係を記憶した証明書サーバ装置５００と通信することにより、第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書を取得するので、証明書データベースを記憶する必要がなく、ゲートウェイ装置１００の記憶装置の容量が少なくて済むという効果を奏する。
【０１５８】
第一の形式の公開鍵証明書は、Ｘ．５０９形式の公開鍵証明書であることを特徴とする。
第二の形式の公開鍵証明書は、Ｘ．５０９形式以外の形式の公開鍵証明書であることを特徴とする。
【０１５９】
この実施の形態におけるゲートウェイ装置１００（中継装置）によれば、公開鍵証明書取得部１２２が、第一の通信機器（アプリケーションサーバ装置３００）から受信したＸ．５０９形式の公開鍵証明書に対応するＸ．５０９形式以外の形式の公開鍵証明書を、第二証明書取得部（公開鍵証明書取得部１２２）が出力し、第二証明書送信部（公開鍵証明書送信部１３３）が第二の通信機器（小型機器２００）に対して送信するので、第二の通信機器（小型機器２００）がＸ．５０９形式の公開鍵証明書を検証できなくても、第一の通信機器（アプリケーションサーバ装置３００）を認証し、共通鍵を生成して、暗号通信をすることができるという効果を奏する。
【０１６０】
第一の形式の公開鍵証明書は、Ｘ．５０９形式以外の形式の公開鍵証明書であることを特徴とする。
第二の形式の公開鍵証明書は、Ｘ．５０９形式の公開鍵証明書であることを特徴とする。
【０１６１】
この実施の形態におけるゲートウェイ装置１００（中継装置）によれば、公開鍵証明書取得部１２２が、第一の通信機器（小型機器２００）から受信したＸ．５０９形式以外の形式の公開鍵証明書に対応するＸ．５０９形式の公開鍵証明書を、第二証明書取得部（公開鍵証明書取得部１２２）が出力し、第二証明書送信部（公開鍵証明書送信部１３３）が第二の通信機器（アプリケーションサーバ装置３００）に対して送信するので、第二の通信機器（アプリケーションサーバ装置３００）がＸ．５０９形式以外の形式の公開鍵証明書を検証できなくても、第一の通信機器（小型機器２００）を認証し、共通鍵を生成して、暗号通信をすることができるという効果を奏する。
【０１６２】
第一の形式の公開鍵証明書は、所定のアドレス体系において通信機器を識別するアドレス情報を、公開鍵の所有者を示す情報として含むことを特徴とする。
第二の形式の公開鍵証明書は、上記所定のアドレス体系と異なるアドレス体系において通信機器を識別するアドレス情報を、公開鍵の所有者を示す情報として含むことを特徴とする。
【０１６３】
この実施の形態におけるゲートウェイ装置１００（中継装置）によれば、第一の通信機器（アプリケーションサーバ装置３００及び小型機器２００）が接続したネットワークにおけるアドレス体系と、第二の通信機器（小型機器２００及びアプリケーションサーバ装置３００）が接続したネットワークにおけるアドレス体系とが異なることにより、公開鍵証明書において公開鍵の所有者を示す情報が異なる場合でも、第二の通信機器（小型機器２００及びアプリケーションサーバ装置３００）が、第一の通信機器（アプリケーションサーバ装置３００及び小型機器２００）を認証し、共通鍵を生成して、暗号通信をすることができるという効果を奏する。
【０１６４】
この実施の形態における通信システム８００は、
上記説明したゲートウェイ装置１００（中継装置）を備えることを特徴とする。
【０１６５】
この実施の形態における通信システム８００によれば、第一の通信機器（アプリケーションサーバ装置３００及び小型機器２００）が送信した第一の形式の公開鍵証明書を、ゲートウェイ装置１００が、対応する第二の形式の公開鍵証明書に置き換えて、第二の通信機器（小型機器２００及びアプリケーションサーバ装置３００）に対して送信するので、第二の通信機器（小型機器２００及びアプリケーションサーバ装置３００）が第一の形式の公開鍵証明書を検証できなくても、第一の通信機器（アプリケーションサーバ装置３００及び小型機器２００）を認証し、共通鍵を生成して、暗号通信をすることができるという効果を奏する。
【０１６６】
この実施の形態におけるゲートウェイ装置１００（中継装置）が通信を中継する中継方法は、
情報を処理するＣＰＵ９１１などの処理装置と、第一の通信機器（アプリケーションサーバ装置３００及び小型機器２００）及び第二の通信機器（小型機器２００及びアプリケーションサーバ装置３００）と通信する通信装置９１５とを有する中継装置（ゲートウェイ装置１００）が、第一の通信機器（アプリケーションサーバ装置３００及び小型機器２００）と第二の通信機器（小型機器２００及びアプリケーションサーバ装置３００）との間の通信を中継する中継方法において、
通信装置９１５が、第一の通信機器（アプリケーションサーバ装置３００及び小型機器２００）が送信した第一の形式の公開鍵証明書である情報を受信し、
ＣＰＵ９１１などの処理装置が、通信装置９１５が受信した第一の形式の公開鍵証明書に対応する第二の形式の公開鍵証明書である情報を取得し、
通信装置９１５が、ＣＰＵ９１１などの上記処理装置が取得した第二の形式の公開鍵証明書を、第二の通信機器（小型機器２００及びアプリケーションサーバ装置３００）に対して送信することを特徴とする。
【０１６７】
この実施の形態における中継方法によれば、第一の通信機器（アプリケーションサーバ装置３００及び小型機器２００）が送信した第一の形式の公開鍵証明書を、ゲートウェイ装置１００が、対応する第二の形式の公開鍵証明書に置き換えて、第二の通信機器（小型機器２００及びアプリケーションサーバ装置３００）に対して送信するので、第二の通信機器（小型機器２００及びアプリケーションサーバ装置３００）が第一の形式の公開鍵証明書を検証できなくても、第一の通信機器（アプリケーションサーバ装置３００及び小型機器２００）を認証し、共通鍵を生成して、暗号通信をすることができるという効果を奏する。
【０１６８】
この実施の形態におけるゲートウェイ装置１００は、ＣＰＵ９１１などの処理装置と、通信装置９１５とを有するコンピュータを上記説明したゲートウェイ装置１００として機能させるプログラムを、上記コンピュータが実行することにより、実現することができる。
【０１６９】
この実施の形態におけるコンピュータプログラムは、
情報を処理するＣＰＵ９１１などの処理装置と、第一の通信機器（アプリケーションサーバ装置３００及び小型機器２００）及び第二の通信機器（小型機器２００及びアプリケーションサーバ装置３００）と通信する通信装置９１５とを有するコンピュータを、この実施の形態における中継装置として機能させることを特徴とする。
【０１７０】
この実施の形態におけるコンピュータプログラムによれば、第一の通信機器（アプリケーションサーバ装置３００及び小型機器２００）が送信した第一の形式の公開鍵証明書を、対応する第二の形式の公開鍵証明書に置き換えて、第二の通信機器（小型機器２００及びアプリケーションサーバ装置３００）に対して送信するので、第二の通信機器（小型機器２００及びアプリケーションサーバ装置３００）が第一の形式の公開鍵証明書を検証できなくても、第一の通信機器（アプリケーションサーバ装置３００及び小型機器２００）を認証し、共通鍵を生成して、暗号通信を可能にするゲートウェイ装置１００（中継装置）を実現することができるという効果を奏する。
【０１７１】
以上説明したゲートウェイ装置１００は、
非Ｘ．５０９形式公開鍵証明書を使用した公開鍵基盤をサポートする機器（非Ｘ．５０９機器）と、Ｘ．５０９形式公開鍵証明書を使用した公開鍵基盤をサポートする機器（Ｘ．５０９機器）との間で、非Ｘ．５０９機器の公開鍵証明書に設定された公開鍵と同一の公開鍵が設定されたＸ．５０９形式公開鍵証明書（マッピング証明書）と、Ｘ．５０９機器の公開鍵証明書に設定された公開鍵と同一の公開鍵が設定された非Ｘ．５０９形式公開鍵証明書（逆マッピング証明書）を使用して、非Ｘ．５０９機器とＸ．５０９機器との間でＰＫＩに基づく暗号通信を行うことができるようにすることを特徴とする。
【０１７２】
以上説明した宛先サーバ装置４００（アドレス変換サーバ装置）は、ゲートウェイ装置１００が、非Ｘ．５０９機器から、非Ｘ．５０９機器が使用するプロトコルでＸ．５０９機器への接続要求を受け付けた際、非Ｘ．５０９機器が使用するプロトコルのアドレス情報から、Ｘ．５０９機器が使用するアドレス情報に、アドレス変換をするために使用されることを特徴とする。
【０１７３】
なお、宛先サーバ装置４００（アドレス変換サーバ装置）は、非Ｘ．５０９機器が使用するプロトコルのアドレス情報を、Ｘ．５０９機器が使用するアドレス情報に変換する際、単にアドレス情報に変換するだけでなく、Ｘ．５０９機器が使用するプロトコルに関する情報を含んでもよい。プロトコルに関する情報を含むアドレス情報とは、例えばＵＲＬのようなもののことを指す。
【０１７４】
以上説明した公開鍵証明書は、
非Ｘ．５０９形式公開鍵証明書を使用した公開鍵基盤をサポートする機器（非Ｘ．５０９機器）と、Ｘ．５０９形式公開鍵証明書を使用した公開鍵基盤をサポートする機器（Ｘ．５０９機器）との間でＰＫＩに基づく暗号通信を行うことができるようにするために利用されるＸ．５０９形式公開鍵証明書であって、
設定される公開鍵は、対応する非Ｘ．５０９形式公開鍵証明書に設定されているものと同一であり、
サブジェクト名の一部に非Ｘ．５０９形式公開鍵証明書のサブジェクトとして設定されているデータを含み、
対応する非Ｘ．５０９形式公開鍵証明書がこのＸ．５０９形式公開鍵証明書の発行時点で有効であることを示すことを特徴とする。
【０１７５】
以上説明した公開鍵証明書は、
非Ｘ．５０９形式公開鍵証明書を使用した公開鍵基盤をサポートする機器（非Ｘ．５０９機器）と、Ｘ．５０９形式公開鍵証明書を使用した公開鍵基盤をサポートする機器（Ｘ．５０９機器）との間でＰＫＩに基づく暗号通信を行うことができるようにするために利用される非Ｘ．５０９形式公開鍵証明書であって、
設定される公開鍵は、対応するＸ．５０９形式公開鍵証明書に設定されているものと同一であり、
サブジェクトを示すデータとして、宛先サーバ装置４００（アドレス変換サーバ装置）によってＸ．５０９機器が使用するアドレス情報に変換可能なデータが記載され、
対応するＸ．５０９形式公開鍵証明書がこの非Ｘ．５０９形式公開鍵証明書の発行時点で有効であることを示すことを特徴とする。
【０１７６】
なお、非Ｘ．５０９形式公開鍵証明書は、サブジェクトを示すデータが宛先サーバ装置４００（アドレス変換サーバ装置）によって変換される際、単にＸ．５０９機器が使用するアドレス情報に変換されるだけではなく、Ｘ．５０９機器が使用するプロトコルに関する情報を含んでも良い。プロトコルに関する情報を含むアドレス情報とは、例えばＵＲＬのようなもののことを指す。
【０１７７】
以上のように、小型機器２００がＸ．５０９形式公開鍵証明書が取り扱えなくても、あらかじめ小型機器２００のマッピング公開鍵証明書、アプリケーションサーバ装置３００の逆マッピング公開鍵証明書を用意しておけば、小型機器２００とＸ．５０９形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信をサポートしたアプリケーションサーバ装置３００との間で暗号通信が行える。したがって、Ｘ．５０９形式公開鍵証明書を取り扱えない小型機器２００から一般的なアプリケーションサーバ装置３００によって提供されているサービスを利用することができる。
【０１７８】
実施の形態２．
実施の形態２について、図１１〜図１４を用いて説明する。
この実施の形態における通信システム８００の全体構成、ゲートウェイ装置１００、小型機器２００、アプリケーションサーバ装置３００、宛先サーバ装置４００、証明書サーバ装置５００のハードウェア構成及びブロック構成は、実施の形態１で説明したものと同様なので、ここでは説明を省略する。
【０１７９】
図１１は、この実施の形態における証明書データベース記憶部５１２が記憶する公開鍵証明書の一例を示す図である。
【０１８０】
公開鍵証明書７００は、公開鍵証明書７５０に対応して証明書データベース記憶部５１２が記憶している公開鍵証明書である。
公開鍵証明書７００は、証明内容情報７１０と電子署名７２０とを含んでいる。
電子署名７２０は、証明内容情報７１０について、認証局が署名した電子署名であり、これを認証局の公開鍵で復号することにより、証明内容情報７１０が正しいか検証できる。
証明内容情報７１０は、認証局の識別名７１１、所有者の識別名７１２、所有者の公開鍵７１３、公開鍵証明書の有効期限７１４、エクステンション７１５などを含んでいる。
【０１８１】
認証局の識別名７１１は、公開鍵証明書７００に署名した認証局を識別する情報である。公開鍵証明書７００を検証するには、認証局の識別名７１１に基づいて、認証局の公開鍵を取得し、取得した公開鍵で電子署名７２０を復号する。
所有者の識別名７１２は、公開鍵証明書７００において公開鍵の所有者であることが証明されている所有者を識別する情報である。例えば、所有者のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）、電子メールアドレス、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスなどである。
所有者の公開鍵７１３は、公開鍵証明書７００において識別名７１２で識別される所有者が所有していることが証明されている公開鍵である。
公開鍵証明書の有効期限７１４は、公開鍵証明書７００の証明内容が有効な期間を示す情報である。
エクステンション７１５は、その他様々な付加情報である。例えば、公開鍵の用途制限を示す情報や、証明書の使用目的を示す情報などである。
【０１８２】
公開鍵証明書７５０は、証明書データベース記憶部５１２が記憶している公開鍵証明書７００に対応する公開鍵証明書である。
公開鍵証明書７５０は、例えば、アプリケーションサーバ装置３００が送信するＸ．５０９形式の公開鍵証明書である。公開鍵証明書７５０は、あるいは、小型機器２００が送信するＸ．５０９形式と異なる形式の公開鍵証明書である。
【０１８３】
証明書データベース記憶部５１２が記憶している公開鍵証明書７００と、アプリケーションサーバ装置３００または小型機器２００が送信する公開鍵証明書７５０との間の関係は、以下のとおりである。
【０１８４】
公開鍵証明書７００における所有者の識別名７１２によって識別される所有者は、公開鍵証明書７５０における所有者の識別名７６２によって識別される所有者と同一である。しかし、アドレス体系の違いなどにより、識別名７１２と識別名７６２とが同一である必要はない（同一であってもよい）。
【０１８５】
公開鍵証明書７００における所有者の公開鍵７１３と、公開鍵証明書７５０における所有者の公開鍵７６３とは、同一である。これにより、小型機器２００及びアプリケーションサーバ装置３００は、相手が送信した公開鍵証明書から取得するのと同一の公開鍵を入手することができる。
【０１８６】
公開鍵証明書７００の有効期限７１４と、公開鍵証明書７５０の有効期限７６４とは、同一である。これにより、小型機器２００及びアプリケーションサーバ装置３００が有効期限の切れた公開鍵証明書７５０を送信した場合には、通信相手が、対応する公開鍵証明書７００を検証することにより、有効期限切れを認識することができる。
【０１８７】
公開鍵証明書７００のエクステンション７１５には、公開鍵証明書７５０そのものが含まれる。これにより、両方の形式の公開鍵証明書を検証できる場合には、公開鍵証明書７００を検証してもよいし、公開鍵証明書７５０を検証してもよいし、両方を検証してもよい。
【０１８８】
公開鍵証明書７００に署名した認証局と、公開鍵証明書７５０に署名した認証局とは、必ずしも同一でなくてもよい。
例えば、公開鍵証明書７５０を発行した認証局が、それと同時に公開鍵証明書７００を発行してもよい。あるいは、公開鍵証明書７５０を検証して有効であることを確認した認証局が、公開鍵証明書７００を発行してもよい。
【０１８９】
次に、公開鍵証明書取得部１２２が、公開鍵証明書を取得する動作について説明する。
【０１９０】
図１２は、この実施の形態における公開鍵証明書取得部１２２が公開鍵証明書を取得する公開鍵証明書取得処理の流れの一例を示すフローチャート図である。
これは、実施の形態１で説明した処理のうち、図９のＳ０５及び図１０のＳ１０に相当する処理である。
【０１９１】
ゲートウェイ装置１００は、Ｓ６１において、公開鍵証明書取得部１２２が、ＣＰＵ９１１などの処理装置を用いて、公開鍵証明書受信部１２１が出力した公開鍵証明書を入力する。
これは、アプリケーションサーバ装置３００または小型機器２００が送信した自身の公開鍵証明書７５０である。
【０１９２】
Ｓ６２において、公開鍵証明書取得部１２２は、ＣＰＵ９１１などの処理装置を用いて、証明書検索要求情報を生成する。公開鍵証明書取得部１２２が生成する証明書検索要求情報は、Ｓ６１で入力した公開鍵証明書７５０を含む。
【０１９３】
Ｓ６３において、公開鍵証明書取得部１２２は、通信装置９１５を用いて、Ｓ６２で生成した証明書検索要求情報を、証明書サーバ装置５００に対して送信する。
【０１９４】
証明書サーバ装置５００は、Ｓ５１において、証明書検索要求受信部５１１が、通信装置９１５を用いて、Ｓ６３でゲートウェイ装置１００が送信した証明書検索要求情報を受信する。
証明書検索要求受信部５１１は、ＣＰＵ９１１などの処理装置を用いて、受信した証明書検索要求情報を出力する。
【０１９５】
Ｓ５２において、証明書検索部５１３は、ＣＰＵ９１１などの処理装置を用いて、Ｓ５１で証明書検索要求受信部５１１が出力した証明書検索要求情報を入力する。
証明書検索部５１３は、ＣＰＵ９１１などの処理装置を用いて、入力した証明書検索要求情報から、公開鍵証明書７５０を取得する。
証明書検索部５１３は、ＣＰＵ９１１などの処理装置を用いて、証明書データベース記憶部５１２が記憶した公開鍵証明書７００を検索し、取得した公開鍵証明書７５０と同一の公開鍵証明書７５０をエクステンション７１５に含む公開鍵証明書７００を取得する。
証明書検索部５１３は、ＣＰＵ９１１などの処理装置を用いて、取得した公開鍵証明書７００を出力する。
【０１９６】
Ｓ５３において、証明書検索結果送信部５１４は、ＣＰＵ９１１などの処理装置を用いて、Ｓ５２で証明書検索部５１３が出力した公開鍵証明書７００を入力する。
証明書検索結果送信部５１４は、通信装置９１５を用いて、入力した公開鍵証明書７００を、ゲートウェイ装置１００に対して送信する。
【０１９７】
ゲートウェイ装置１００は、Ｓ６４において、公開鍵証明書取得部１２２が、通信装置９１５を用いて、Ｓ５３で証明書サーバ装置５００が送信した公開鍵証明書７００を受信する。
【０１９８】
Ｓ６５において、公開鍵証明書取得部１２２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６４で受信した公開鍵証明書７００を出力する。
【０１９９】
公開鍵証明書取得部１２２が出力した公開鍵証明書７００は、公開鍵証明書送信部１３３が小型機器２００またはアプリケーションサーバ装置３００に対して送信し、小型機器２００またはアプリケーションサーバ装置３００が検証する。
【０２００】
次に、接続応答情報の検証処理について説明する。
【０２０１】
小型機器２００とアプリケーションサーバ装置３００との間の通信は、同一の共通鍵を共有したのちにおいては、暗号化されているので第三者による盗聴・改竄を受けることなく、安全である。
これに対し、接続要求情報から接続応答情報の前までの通信は、共通鍵を共有していないので、暗号化されていない。
【０２０２】
暗号化されていない通信は、第三者に盗聴される危険がある。しかし、共通鍵を生成するには、小型機器２００またはアプリケーションサーバ装置３００の秘密鍵が必要なので、接続応答情報の前までの通信を第三者に盗聴されたとしても、第三者に共通鍵を知られる心配はない。
【０２０３】
また、暗号化されていない通信は、第三者に改竄される危険がある。
そこで、第三者による改竄を検出するため、接続要求情報から接続応答情報の前までに小型機器２００とアプリケーションサーバ装置３００との間で送受信されたすべての情報を結合し、これに対して、アプリケーションサーバ装置３００がダイジェストを作成する。
アプリケーションサーバ装置３００は、ダイジェストを含む接続応答情報を生成し、暗号化して小型機器２００に対して送信する。
小型機器２００は、接続応答情報を受信し、復号してアプリケーションサーバ装置３００が作成したダイジェストを取得する。小型機器２００は、これを自己の送受信記録と照合することにより、第三者による改竄を検出する。
第三者による改竄が検出された場合には、その後の通信の安全が保証できないので、通信路の確立に失敗したものと判断する。
【０２０４】
これにより、第三者の改竄を受けることなく、安全に通信路を確立することができる。
しかし、ゲートウェイ装置１００が、公開鍵証明書７５０を異なる形式の公開鍵証明書７００に置き換えた場合、正当な改変であるにもかかわらず、第三者による改竄と判断されてしまう。
【０２０５】
そこで、この実施の形態における通信システム８００では、以下のようにして、接続応答情報を検証する。
【０２０６】
図１３は、この実施の形態におけるアプリケーションサーバ装置３００が接続応答情報を生成する接続応答情報生成処理の流れの一例を示すフローチャート図である。
これは、実施の形態１で説明した処理のうち、図１０のＳ３７に相当する処理である。
【０２０７】
Ｓ７１において、接続応答生成部３４３は、ＣＰＵ９１１などの処理装置を用いて、送受信記録を取得する。送受信記録は、接続要求情報の受信に始まり、直前（小型機器２００の公開鍵証明書７００）までの間に小型機器２００との間で送受信した情報の記録である。
【０２０８】
Ｓ７２において、接続応答生成部３４３は、ＣＰＵ９１１などの処理装置を用いて、Ｓ７１で取得した送受信記録のなかから、受信した公開鍵証明書７００を抽出する。
【０２０９】
Ｓ７３において、接続応答生成部３４３は、ＣＰＵ９１１などの処理装置を用いて、抽出した公開鍵証明書７００のエクステンション７１５に公開鍵証明書７５０が含まれているか否かを判断する。
エクステンション７１５に公開鍵証明書７５０が含まれている場合、接続応答生成部３４３は、ＣＰＵ９１１などの処理装置を用いて、公開鍵証明書７００のエクステンション７１５から公開鍵証明書７５０を取得する。
接続応答生成部３４３は、ＣＰＵ９１１などの処理装置を用いて、送受信記録に含まれる公開鍵証明書７００を、取得した公開鍵証明書７５０で置き換える。
【０２１０】
エクステンション７１５に公開鍵証明書７５０が含まれている公開鍵証明書７００は、ゲートウェイ装置１００により置き換えられたものであるから、Ｓ７３の処理により、小型機器２００が送信した元の状態に戻ることになる。
【０２１１】
Ｓ７４において、接続応答生成部３４３は、ＣＰＵ９１１などの処理装置を用いて、送受信記録に対して電子署名する。
すなわち、接続応答生成部３４３は、ＣＰＵ９１１などの処理装置を用いて、送受信記録を結合して１つのデータ列とし、結合したデータ列のハッシュ値を算出する。接続応答生成部３４３は、ＣＰＵ９１１などの処理装置を用いて、算出したハッシュ値を、アプリケーションサーバ装置３００の秘密鍵で暗号化して、電子署名を生成する。
【０２１２】
Ｓ７５において、接続応答生成部３４３は、ＣＰＵ９１１などの処理装置を用いて、Ｓ７４で生成した電子署名を含む接続応答情報を生成する。
接続応答生成部３４３は、生成した接続応答情報を出力する。
【０２１３】
Ｓ７６において、暗号化部３６１は、ＣＰＵ９１１などの処理装置を用いて、Ｓ７５で接続応答生成部３４３が出力した接続応答情報を入力する。
暗号化部３６１は、ＣＰＵ９１１などの処理装置を用いて、入力した接続応答情報を、共通鍵生成部３２４が生成した共通鍵で暗号化する。
暗号化部３６１は、ＣＰＵ９１１などの処理装置を用いて、暗号化した接続応答情報を出力する。
【０２１４】
Ｓ７７において、接続応答送信部３４４は、ＣＰＵ９１１などの処理装置を用いて、Ｓ７６で暗号化部３６１が出力した接続応答情報を入力する。
接続応答送信部３４４は、通信装置９１５を用いて、入力した接続応答情報を送信する。
【０２１５】
アプリケーションサーバ装置３００が送信した接続応答情報は、ゲートウェイ装置１００が中継して、小型機器２００に届けられる。
【０２１６】
図１４は、この実施の形態における小型機器２００が接続応答情報を検証する接続応答検証処理の流れの一例を示すフローチャート図である。
これは、実施の形態１で説明した処理のうち、Ｓ２７〜Ｓ２８に相当する処理である。
【０２１７】
Ｓ８１において、接続応答受信部２４１は、通信装置９１５を用いて、接続応答情報を受信する。
接続応答受信部２４１は、ＣＰＵ９１１などの処理装置を用いて、受信した接続応答情報を出力する。
【０２１８】
Ｓ８２において、復号部２４２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ８１で接続応答受信部２４１が出力した接続応答情報を入力する。
復号部２４２は、ＣＰＵ９１１などの処理装置を用いて、入力した接続応答情報を、共通鍵生成部２２４が生成した共通鍵で復号する。
復号部２４２は、ＣＰＵ９１１などの処理装置を用いて、復号した接続応答情報を出力する。
【０２１９】
Ｓ８３において、接続応答検証部２４５は、ＣＰＵ９１１などの処理装置を用いて、送受信記録を取得する。送受信記録は、接続要求情報の送信に始まり、接続応答情報の直前（小型機器２００の公開鍵証明書７５０）までの間にアプリケーションサーバ装置３００との間で送受信した情報の記録である。
【０２２０】
Ｓ８４において、接続応答検証部２４５は、ＣＰＵ９１１などの処理装置を用いて、Ｓ８３で取得した送受信記録のなかから、受信した公開鍵証明書７００を抽出する。
【０２２１】
Ｓ８５において、接続応答検証部２４５は、ＣＰＵ９１１などの処理装置を用いて、抽出した公開鍵証明書７００のエクステンション７１５に公開鍵証明書７５０が含まれているか否かを判断する。
エクステンション７１５に公開鍵証明書７５０が含まれている場合、接続応答生成部３４３は、ＣＰＵ９１１などの処理装置を用いて、公開鍵証明書７００のエクステンション７１５から公開鍵証明書７５０を取得する。
接続応答生成部３４３は、ＣＰＵ９１１などの処理装置を用いて、送受信記録に含まれる公開鍵証明書７００を、取得した公開鍵証明書７５０で置き換える。
【０２２２】
Ｓ８６において、接続応答検証部２４５は、ＣＰＵ９１１などの処理装置を用いて、Ｓ８２で復号部２４２が出力した接続応答情報を入力する。
接続応答検証部２４５は、ＣＰＵ９１１などの処理装置を用いて、入力した接続応答情報から、アプリケーションサーバ装置３００の電子署名を取得する。
【０２２３】
接続応答検証部２４５は、ＣＰＵ９１１などの処理装置を用いて、Ｓ８６で取得した電子署名を検証する。
すなわち、接続応答検証部２４５は、ＣＰＵ９１１などの処理装置を用いて、電子署名を、アプリケーションサーバ装置３００の公開鍵で復号し、送受信記録のハッシュ値を取得する。接続応答検証部２４５は、ＣＰＵ９１１などの処理装置を用いて、自身の送受信記録からハッシュ値を算出し、一致するか否かを判断する。
ハッシュ値が一致していれば、アプリケーションサーバ装置３００の送受信記録と、小型機器２００の送受信記録とが一致し、第三者による改竄がないものと判断する。
【０２２４】
これにより、ゲートウェイ装置１００が公開鍵証明書を置き換えた以外には、小型機器２００とアプリケーションサーバ装置３００との間で送受信した情報が、第三者による改竄を受けていないことを確認することができる。
【０２２５】
公開鍵証明書は、信頼できる認証局が発行したものであれば、その内容を信頼することができるので、必ずしも、小型機器２００またはアプリケーションサーバ装置３００が送信した公開鍵証明書と同一の公開鍵証明書でなくてもよい。
【０２２６】
ゲートウェイ装置１００が置き換えることができるのは、公開鍵証明書だけであるから、小型機器２００またはアプリケーションサーバ装置３００がゲートウェイ装置１００を信頼していない場合であっても、通信の安全を保証できる。
【０２２７】
第二の形式の公開鍵証明書は、第一の形式の公開鍵証明書を、付加情報として含むことを特徴とする。
【０２２８】
この実施の形態におけるゲートウェイ装置１００（中継装置）によれば、第一の通信機器（アプリケーションサーバ装置３００及び小型機器２００）から受信した第一の形式の公開鍵証明書の代わりに、第二の通信機器（小型機器２００及びアプリケーションサーバ装置３００）に対して送信する第二の形式の公開鍵証明書に、もとの第一の形式の公開鍵証明書が含まれているので、第三者による改竄だけを検出することができるという効果を奏する。
【０２２９】
この実施の形態における証明書サーバ装置５００は、
ＣＰＵ９１１などの処理装置と、中継装置（ゲートウェイ装置１００）と通信する通信装置９１５と、証明書検索要求受信部５１１と、証明書データベース記憶部５１２と、証明書検索部５１３と、証明書検索結果送信部５１４とを有することを特徴とする。
証明書データベース記憶部５１２は、
識別名７６２により識別される所有者が、公開鍵７６３の所有者であることを証明する第一の形式の公開鍵証明書７５０を付加情報（エクステンション７１５）に含み、識別名７１２により識別される上記所有者と同一の所有者が、上記公開鍵７６３と同一の公開鍵７１３の所有者であることを証明する第二の形式の公開鍵証明書７００を記憶することを特徴とする。
証明書検索要求受信部５１１は、
通信装置９１５を用いて、中継装置（ゲートウェイ装置１００）が送信した公開鍵証明書７５０を含む証明書検索要求情報を受信し、
ＣＰＵ９１１などの処理装置を用いて、受信した証明書検索要求情報を出力することを特徴とする。
証明書検索部５１３は、
ＣＰＵ９１１などの処理装置を用いて、証明書検索要求受信部５１１が出力した証明書検索要求情報を入力し、
ＣＰＵ９１１などの処理装置を用いて、入力した証明書検索要求情報に含まれる公開鍵証明書７５０を取得し、
ＣＰＵ９１１などの処理装置を用いて、証明書データベース記憶部５１２を検索して、取得した公開鍵証明書７５０を付加情報（エクステンション７１５）に含む公開鍵証明書７００を取得し、
ＣＰＵ９１１などの処理装置を用いて、取得した公開鍵証明書７００を出力することを特徴とする。
証明書検索結果送信部５１４は、
ＣＰＵ９１１などの処理装置を用いて、証明書検索部５１３が出力した公開鍵証明書７００を入力し、
通信装置９１５を用いて、入力した公開鍵証明書７００を、中継装置（ゲートウェイ装置１００）に対して送信することを特徴とする。
【０２３０】
この実施の形態における証明書サーバ装置５００によれば、ゲートウェイ装置１００から受信した公開鍵証明書に対応し、受信した公開鍵証明書を含む公開鍵証明書を、証明書検索部５１３が検索し、証明書検索結果送信部５１４がゲートウェイ装置１００に対して送信するので、ゲートウェイ装置１００が公開鍵証明書を置き換えても、第一の通信機器（アプリケーションサーバ装置３００及び小型機器２００）と第二の通信機器（小型機器２００及びアプリケーションサーバ装置３００）との間の通信が第三者に改竄されているか否かを検出することができるという効果を奏する。
【０２３１】
この実施の形態におけるアプリケーションサーバ装置３００（第二の通信機器）は、
ＣＰＵ９１１などの処理装置と、中継装置（ゲートウェイ装置１００）を介して第一の通信装置（小型機器２００）と通信する通信装置９１５と、共通鍵生成部３２４と、接続応答生成部３４３と、暗号化部３６１と、接続応答送信部３４４とを有することを特徴とする。
共通鍵生成部３２４は、
ＣＰＵ９１１などの処理装置を用いて、第一の通信機器（小型機器２００）と共有する共通鍵を生成し、
ＣＰＵ９１１などの処理装置を用いて、生成した共通鍵を出力することを特徴とする。
接続応答生成部３４３は、
ＣＰＵ９１１などの処理装置を用いて、第一の通信機器（小型機器２００）との間の送受信記録を取得し、
ＣＰＵ９１１などの処理装置を用いて、取得した送受信記録のなかから、受信した第二の形式の公開鍵証明書７００を抽出し、
ＣＰＵ９１１などの処理装置を用いて、抽出した第二の形式の公開鍵証明書７００の付加情報（エクステンション７１５）に含まれる第一の形式の公開鍵証明書７５０を取得し、
ＣＰＵ９１１などの処理装置を用いて、取得した送受信記録に含まれる第二の形式の公開鍵証明書７００を、取得した第一の形式の公開鍵証明書７５０で置き換え、
ＣＰＵ９１１などの処理装置を用いて、置き換えた送受信記録に対する電子署名を生成し、
ＣＰＵ９１１などの処理装置を用いて、生成した電子署名を含む接続応答情報を生成し、
ＣＰＵ９１１などの処理装置を用いて、生成した接続応答情報を出力することを特徴とする。
暗号化部３６１は、
ＣＰＵ９１１などの処理装置を用いて、共通鍵生成部３２４が出力した共通鍵と、接続応答生成部３４３が出力した接続応答情報とを入力し、
ＣＰＵ９１１などの処理装置を用いて、入力した接続応答情報を、入力した共通鍵で暗号化し、
ＣＰＵ９１１などの処理装置を用いて、暗号化した接続応答情報を出力することを特徴とする。
接続応答送信部３４４は、
ＣＰＵ９１１などの処理装置を用いて、暗号化部３６１が出力した接続応答情報を入力し、
通信装置９１５を用いて、入力した接続応答情報を、第一の通信機器（小型機器２００）に対して送信することを特徴とする。
【０２３２】
この実施の形態におけるアプリケーションサーバ装置３００によれば、受信した公開鍵証明書７００の付加情報（エクステンション７１５）に公開鍵証明書７５０が含まれている場合に、送受信記録に含まれる公開鍵証明書７００を公開鍵証明書７５０で置き換えてから、第三者による改竄がないかを検証するための電子署名を生成するので、ゲートウェイ装置１００による公開鍵証明書の置換は検出せず、第三者による改竄だけを検出することができるという効果を奏する。
【０２３３】
この実施の形態における小型機器２００（第一の通信機器）は、
ＣＰＵ９１１などの処理装置と、中継装置（ゲートウェイ装置１００）を介して第二の通信機器（アプリケーションサーバ装置３００）と通信する通信装置９１５と、共通鍵生成部２２４と、接続応答受信部２４１と、復号部２４２と、接続応答検証部２４５とを有することを特徴とする。
共通鍵生成部２２４は、
ＣＰＵ９１１などの処理装置を用いて、第二の通信機器（アプリケーションサーバ装置３００）と共有する共通鍵を生成し、
ＣＰＵ９１１などの処理装置を用いて、生成した共通鍵を出力することを特徴とする。
接続応答受信部２４１は、
通信装置９１５を用いて、第二の通信機器（アプリケーションサーバ装置３００）が送信した接続応答情報を受信し、
ＣＰＵ９１１などの処理装置を用いて、受信した接続応答情報を出力することを特徴とする。
復号部２４２は、
ＣＰＵ９１１などの処理装置を用いて、共通鍵生成部２２４が出力した共通鍵と、接続応答受信部２４１が出力した接続応答情報とを入力し、
ＣＰＵ９１１などの処理装置を用いて、入力した接続応答情報を、入力した共通鍵で復号し、
ＣＰＵ９１１などの処理装置を用いて、復号した接続応答情報を出力することを特徴とする。
接続応答検証部２４５は、
ＣＰＵ９１１などの処理装置を用いて、第二の通信機器（アプリケーションサーバ装置３００）との間の送受信記録を取得し、
ＣＰＵ９１１などの処理装置を用いて、取得した送受信記録のなかから、受信した第二の形式の公開鍵証明書７００を抽出し、
ＣＰＵ９１１などの処理装置を用いて、抽出した第二の形式の公開鍵証明書７００の付加情報（エクステンション７１５）に含まれる第一の形式の公開鍵証明書７５０を取得し、
ＣＰＵ９１１などの処理装置を用いて、取得した送受信記録に含まれる第二の形式の公開鍵証明書７００を、取得した第一の形式の公開鍵証明書７５０で置き換え、
ＣＰＵ９１１などの処理装置を用いて、復号部２４２が出力した接続応答情報を入力し、
ＣＰＵ９１１などの処理装置を用いて、入力した接続応答情報から、アプリケーションサーバ装置３００が生成した電子署名を取得し、
ＣＰＵ９１１などの処理装置を用いて、取得した電子署名が、置き換えた送受信記録に対するものであるかを検証することを特徴とする。
【０２３４】
この実施の形態における小型機器２００（第一の通信機器）によれば、受信した公開鍵証明書７００の付加情報（エクステンション７１５）に公開鍵証明書７５０が含まれている場合に、送受信記録に含まれる公開鍵証明書７００を公開鍵証明書７５０で置き換えてから、第三者による改竄がないかを検証するので、ゲートウェイ装置１００による公開鍵証明書の置換は検出せず、第三者による改竄だけを検出することができるという効果を奏する。
【０２３５】
この実施の形態における通信システム８００は、
ゲートウェイ装置１００（中継装置）と、小型機器２００（第一の通信機器）と、アプリケーションサーバ装置３００（第二の通信機器）とを有することを特徴とする。
【０２３６】
この実施の形態における通信システム８００によれば、小型機器２００とアプリケーションサーバ装置３００との間の通信に含まれる公開鍵証明書７５０を、ゲートウェイ装置１００が、対応する公開鍵証明書７００で置き換えるので、小型機器２００とアプリケーションサーバ装置３００とが相互に認証し、共通鍵を生成し、第三者による改竄を検出することができるという効果を奏する。
【０２３７】
以上説明した公開鍵証明書７００は、
エクステンション７１５に、対応する非Ｘ．５０９形式公開鍵証明書７５０そのものを含むことを特徴とする。
【０２３８】
実施の形態３．
実施の形態３について、図１５を用いて説明する。
この実施の形態における通信システム８００の全体構成、ゲートウェイ装置１００、小型機器２００、アプリケーションサーバ装置３００、宛先サーバ装置４００のハードウェア構成及びブロック構成は、実施の形態２で説明したものと同様なので、ここでは説明を省略する。
【０２３９】
実施の形態２において、公開鍵証明書７５０をエクステンション７１５に含む公開鍵証明書７００は、認証局があらかじめ発行したものを、証明書サーバ装置５００（またはゲートウェイ装置１００）の証明書データベース記憶部５１２が記憶しておく。
【０２４０】
この実施の形態では、証明書サーバ装置５００（またはゲートウェイ装置１００）に公開鍵証明書７００を発行する権限があり、小型機器２００及びアプリケーションサーバ装置３００に信頼されている場合について説明する。
【０２４１】
図１５は、この実施の形態において、公開鍵証明書７５０を検証して公開鍵証明書７００を発行する証明書サーバ装置５００の機能ブロックの構成の一例を示すブロック構成図である。
【０２４２】
証明書サーバ装置５００は、証明書検索要求受信部５１１、証明書検証部５１５、証明書発行部５１６、証明書検索結果送信部５１４を有する。
証明書検索要求受信部５１１、証明書検索結果送信部５１４は、実施の形態２で説明したものと同様なので、ここでは説明を省略する。
【０２４３】
証明書検証部５１５は、ＣＰＵ９１１などの処理装置を用いて、証明書検索要求受信部５１１が出力した証明書検索要求情報を入力する。
証明書検証部５１５は、ＣＰＵ９１１などの処理装置を用いて、入力した証明書検索要求情報から、公開鍵証明書７００を取得する。
証明書検証部５１５は、ＣＰＵ９１１などの処理装置を用いて、取得した公開鍵証明書７００を検証する。
【０２４４】
証明書発行部５１６は、証明書検証部５１５が検証に成功した場合、ＣＰＵ９１１などの処理装置を用いて、公開鍵証明書７００を生成する。
証明書発行部５１６が生成する公開鍵証明書７００は、証明書検索要求受信部５１１が受信した証明書検索要求情報によって指示された形式の公開鍵証明書である。
公開鍵証明書７００における認証局の識別名７１１は、証明書サーバ装置５００を識別する情報である。
公開鍵証明書７００における所有者の識別名７１２は、公開鍵証明書７５０における所有者の識別名７６２によって識別される所有者と同一の所有者を識別する情報であり、公開鍵証明書７００の形式により、識別名７６２と同一である場合も、異なる場合もある。
公開鍵証明書７００における所有者の公開鍵７１３は、公開鍵証明書７５０における所有者の公開鍵７６３と同一である。
公開鍵証明書７００における有効期限７１４は、公開鍵証明書７５０における有効期限７６４と同一であってもよいし、有効期限７６４よりも短い期限であってもよい。
公開鍵証明書７００は、小型機器２００とアプリケーションサーバ装置３００との間の今回の通信の間のみ有効であればよいので、有効期限７１４は、例えば、１日程度の短い期間であってもよい。
【０２４５】
このようにして、証明書サーバ装置５００は、公開鍵証明書７５０に対応する公開鍵証明書７００を発行し、証明書検索要求情報に対する応答として、ゲートウェイ装置１００に対して送信する。
これにより、あらかじめ公開鍵証明書７００を発行・記憶しておく必要がないので、大量の公開鍵証明書７００をあらかじめ発行・記憶しておくコストが削減される。
【０２４６】
この実施の形態における証明書サーバ装置５００は、
ＣＰＵ９１１などの処理装置と、中継装置（ゲートウェイ装置１００）と通信する通信装置９１５と、証明書検索要求受信部５１１と、証明書検証部５１５と、証明書発行部５１６と、証明書検索結果送信部５１４とを有することを特徴とする。
証明書検索要求受信部５１１は、
通信装置９１５を用いて、中継装置（ゲートウェイ装置１００）が送信した証明書検索要求情報を受信し、
ＣＰＵ９１１などの処理装置を用いて、受信した証明書検索要求情報を出力することを特徴とする。
証明書検証部５１５は、
ＣＰＵ９１１などの処理装置を用いて、証明書検索要求受信部５１１が出力した証明書検索要求情報を入力し、
ＣＰＵ９１１などの処理装置を用いて、入力した証明書検索要求情報に含まれる第一の形式の公開鍵証明書７５０を取得し、
ＣＰＵ９１１などの処理装置を用いて、取得した公開鍵証明書７５０を検証することを特徴とする。
証明書発行部５１６は、
証明書検証部５１５が公開鍵証明書７５０の検証に成功した場合、ＣＰＵ９１１などの処理装置を用いて、公開鍵証明書７５０を付加情報（エクステンション７１５）に含む公開鍵証明書７００を生成し、
ＣＰＵ９１１などの処理装置を用いて、生成した公開鍵証明書７００を出力することを特徴とする。
証明書検索結果送信部５１４は、
ＣＰＵ９１１などの処理装置を用いて、証明書発行部５１６が出力した公開鍵証明書７００を入力し、
通信装置９１５を用いて、入力した公開鍵証明書７００を、中継装置（ゲートウェイ装置１００）に対して送信することを特徴とする。
【０２４７】
この実施の形態における証明書サーバ装置５００によれば、受信した公開鍵証明書７５０を証明書検証部５１５が検証し、検証に成功した場合に、受信した公開鍵証明書７５０を含む公開鍵証明書７００を、証明書発行部５１６が発行するので、あらかじめ公開鍵証明書７００を用意しておく必要がないという効果を奏する。
【０２４８】
実施の形態４．
実施の形態４について、図１６〜図２０を用いて説明する。
【０２４９】
図１６は、この実施の形態における通信システム８００の全体構成の一例を示すシステム構成図である。
通信システム８００は、ネットワーク８０１、ネットワーク８０２、ゲートウェイ装置１００、小型機器２００、宛先サーバ装置４００、証明書サーバ装置５００、ブラウザ装置６００を有する。
ネットワーク８０１、ネットワーク８０２、ゲートウェイ装置１００、小型機器２００、宛先サーバ装置４００、証明書サーバ装置５００は、実施の形態１〜実施の形態３で説明したものと同様なので、ここでは説明を省略する。
【０２５０】
ブラウザ装置６００は、ネットワーク８０２を介してゲートウェイ装置１００と通信し、更に、ゲートウェイ装置１００を介して小型機器２００と通信する。
ブラウザ装置６００は、第一の通信機器または第二の通信機器の一例である。
【０２５１】
実施の形態１〜実施の形態３では、小型機器２００がクライアントとして、ネットワーク８０２に接続したアプリケーションサーバ装置３００にアクセスする場合について説明したが、この実施の形態では、小型機器２００がサーバとしてサービスを提供し、ネットワーク８０２に接続したブラウザ装置６００がクライアントとして小型機器２００にアクセスし、小型機器２００が提供するサービスを利用する場合について説明する。
【０２５２】
図１７は、この実施の形態における小型機器２００の機能ブロックの構成の一例を示すブロック構成図である。
小型機器２００は、接続要求受信部２１１、公開鍵証明書記憶部２３２、公開鍵証明書送信部２３３、証明書提示要求送信部２３４、公開鍵証明書受信部２２１、公開鍵証明書検証部２２２、秘密鍵記憶部２２３、共通鍵生成部２２４、接続応答生成部２４３、接続応答送信部２４４、暗号化部２６１、暗号文送信部２６２、暗号文受信部２５１、復号部２４２を有する。
小型機器２００の各ブロックは、実施の形態１〜実施の形態３で説明したアプリケーションサーバ装置３００の各ブロックと同様なので、ここでは説明を省略する。
【０２５３】
次に、ブラウザ装置６００について説明する。
【０２５４】
ブラウザ装置６００は、Ｘ．５０９形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信が行うことができる。ブラウザ装置６００は、公開鍵暗号アルゴリズムとして、例えば、ディッフィーへルマン鍵交換アルゴリズムをサポートしている。ブラウザ装置６００は、例えば、小型機器２００が提供するサービスに接続するＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）ブラウザを実行する。
【０２５５】
図１８は、この実施の形態におけるブラウザ装置６００の機能ブロックの構成の一例を示すブロック構成図である。
ブラウザ装置６００は、接続先アドレス記憶部６１２、接続要求送信部６１３、公開鍵証明書受信部６２１、公開鍵証明書検証部６２２、秘密鍵記憶部６２３、共通鍵生成部６２４、証明書提示要求受信部６３１、公開鍵証明書記憶部６３２、公開鍵証明書送信部６３３、接続応答受信部６４１、復号部６４２、接続応答検証部６４５、暗号文受信部６５１、暗号化部６６１、暗号文送信部６６２を有する。
ブラウザ装置６００の各ブロックは、実施の形態１〜実施の形態３で説明した小型機器２００の各ブロックと同様なので、ここでは説明を省略する。
【０２５６】
図１９は、この実施の形態における小型機器２００とブラウザ装置６００とが暗号化された通信路を確立する通信路確立処理の流れの一例を示すフローチャート図（その１）である。
なお、実施の形態１で説明した通信路確立処理と共通する処理については、共通の符号を付す。
【０２５７】
ブラウザ装置６００は、Ｓ２１において、接続要求送信部６１３が、通信装置９１５を用いて、小型機器２００に対する接続要求情報を送信する。
すなわち、ブラウザ装置６００は、ゲートウェイ装置１００に対して小型機器２００とのＸ．５０９形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信の接続を要求する。
【０２５８】
ゲートウェイ装置１００は、Ｓ０１において、接続要求受信部１１１が、通信装置９１５を用いて、Ｓ２１でブラウザ装置６００が送信した接続要求情報を受信する。
接続要求受信部１１１は、ＣＰＵ９１１などの処理装置を用いて、受信した接続要求情報を出力する。
【０２５９】
Ｓ０２において、接続先アドレス変換部１１２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ０１で接続要求受信部１１１が出力した接続要求情報を入力する。
接続先アドレス変換部１１２は、ＣＰＵ９１１などの処理装置を用いて、入力した接続要求情報から、送信先（小型機器２００）を示すアドレス情報を取得する。
接続先アドレス変換部１１２は、ＣＰＵ９１１などの処理装置を用いて、取得したアドレス情報を含む宛先検索要求情報を生成する。
接続先アドレス変換部１１２は、通信装置９１５を用いて、生成した宛先検索要求情報を、宛先サーバ装置４００に対して送信する。
【０２６０】
接続先アドレス変換部１１２は、通信装置９１５を用いて、送信した宛先検索要求情報に対する応答として、宛先サーバ装置４００が送信した宛先検索結果情報を受信する。
接続先アドレス変換部１１２は、ＣＰＵ９１１などの処理装置を用いて、受信した宛先検索結果情報から、ネットワーク８０１のアドレス体系において小型機器２００を示すアドレス情報を取得する。
接続先アドレス変換部１１２は、ＣＰＵ９１１などの処理装置を用いて、取得したアドレス情報を送信先として付加した接続要求情報を生成する。
接続先アドレス変換部１１２は、ＣＰＵ９１１などの処理装置を用いて、生成した接続要求情報を出力する。
【０２６１】
なお、ゲートウェイ装置１００が宛先テーブル記憶部４１２を有している場合には、宛先サーバ装置４００に問い合わせず、接続先アドレス変換部１１２が宛先テーブル記憶部４１２を検索して、アドレス情報を変換してもよい。
【０２６２】
Ｓ０３において、接続要求送信部１１３は、ＣＰＵ９１１などの処理装置を用いて、Ｓ０２で接続先アドレス変換部１１２が出力した接続要求情報を入力する。
接続要求送信部１１３は、通信装置９１５を用いて、入力した接続要求情報を、小型機器２００に対して送信する。
すなわち、ゲートウェイ装置１００は、小型機器２００に対して非Ｘ．５０９形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信の接続を要求する。
【０２６３】
小型機器２００は、Ｓ３１において、接続要求受信部２１１が、通信装置９１５を用いて、Ｓ０３でゲートウェイ装置１００が送信した接続要求情報を受信する。
【０２６４】
Ｓ３２において、公開鍵証明書送信部２３３は、Ｓ３１で受信した接続要求情報に対する応答として、通信装置９１５を用いて、小型機器２００の公開鍵証明書を送信する。
すなわち、小型機器２００は、ゲートウェイ装置１００からの接続要求を受けて、ブラウザ装置６００との暗号通信を確立するために、小型機器２００の非Ｘ．５０９形式公開鍵証明書をゲートウェイ装置１００に送付する。
【０２６５】
ゲートウェイ装置１００は、Ｓ０４において、公開鍵証明書受信部１２１が、通信装置９１５を用いて、Ｓ３２で小型機器２００が送信した公開鍵証明書を受信する。
公開鍵証明書受信部１２１は、ＣＰＵ９１１などの処理装置を用いて、受信した公開鍵証明書を出力する。
【０２６６】
Ｓ０５において、公開鍵証明書取得部１２２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ０４で公開鍵証明書受信部１２１が出力した公開鍵証明書を入力する。
公開鍵証明書取得部１２２は、ＣＰＵ９１１などの処理装置を用いて、入力した公開鍵証明書から、公開鍵の所有者の識別名と、公開鍵とを取得する。
公開鍵証明書取得部１２２は、ＣＰＵ９１１などの処理装置を用いて、取得した識別名と公開鍵とを含む証明書検索要求情報を生成する。
公開鍵証明書取得部１２２は、通信装置９１５を用いて、生成した証明書検索要求情報を、証明書サーバ装置５００に対して送信する。
すなわち、ゲートウェイ装置１００は、小型機器２００から受け取った非Ｘ．５０９形式公開鍵証明書をもとに、小型機器２００の非Ｘ．５０９形式公開鍵証明書に設定されているものと同一の公開鍵が設定されたマッピング公開鍵証明書（Ｘ．５０９形式公開鍵証明書）の検索を、証明書サーバ装置５００に要求する。
【０２６７】
証明書サーバ装置５００は、ゲートウェイ装置１００から受け取ったマッピング公開鍵証明書取得要求にしたがって、小型機器２００の公開鍵が設定されたＸ．５０９形式公開鍵証明書を検索し、その結果を応答する。検索されたＸ．５０９形式公開鍵証明書には、小型機器２００の識別子が公開鍵証明書の所有者名として設定されている。
【０２６８】
公開鍵証明書取得部１２２は、通信装置９１５を用いて、送信した証明書検索要求情報に対する応答として、証明書サーバ装置５００が送信した公開鍵証明書を受信する。
公開鍵証明書取得部１２２は、ＣＰＵ９１１などの処理装置を用いて、受信した公開鍵証明書を出力する。
【０２６９】
なお、ゲートウェイ装置１００が証明書データベース記憶部５１２を有している場合には、証明書サーバ装置５００に問い合わせず、公開鍵証明書取得部１２２が証明書データベース記憶部５１２を検索して、公開鍵証明書を取得してもよい。
また、証明書サーバ装置５００に対して送信する証明書検索要求情報は、公開鍵証明書取得部１２２が入力した公開鍵証明書そのものを含んでいてもよい。
【０２７０】
Ｓ０６において、公開鍵証明書送信部１３３は、ＣＰＵ９１１などの処理装置を用いて、Ｓ０５で公開鍵証明書取得部１２２が出力した公開鍵証明書を入力する。
公開鍵証明書送信部１３３は、通信装置９１５を用いて、入力した公開鍵証明書を、ブラウザ装置６００に対して送信する。
すなわち、ゲートウェイ装置１００は、証明書サーバ装置５００から受け取った小型機器２００のマッピング公開鍵証明書を、ブラウザ装置６００と小型機器２００との間で暗号通信を確立させるためにブラウザ装置６００に送付する。
【０２７１】
ブラウザ装置６００は、Ｓ２２において、公開鍵証明書受信部６２１が、通信装置９１５を用いて、Ｓ０６でゲートウェイ装置１００が送信した公開鍵証明書を受信する。
公開鍵証明書受信部６２１は、ＣＰＵ９１１などの処理装置を用いて、受信した公開鍵証明書を出力する。
【０２７２】
Ｓ２３において、公開鍵証明書検証部６２２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ２２で公開鍵証明書受信部６２１が出力した公開鍵証明書を入力する。
公開鍵証明書検証部６２２は、ＣＰＵ９１１などの処理装置を用いて、入力した公開鍵証明書を検証する。
すなわち、ブラウザ装置６００は、ゲートウェイ装置１００から受け取ったマッピング公開鍵証明書を証明書検証する。マッピング公開鍵証明書を検証するために使用する信頼点は、ブラウザ装置６００内にあらかじめ設定されているＸ．５０９形式公開鍵証明書である。
【０２７３】
検証に成功した場合、公開鍵証明書検証部６２２は、ＣＰＵ９１１などの処理装置を用いて、入力した公開鍵証明書から取得した公開鍵を出力する。
【０２７４】
小型機器２００は、Ｓ３３において、証明書提示要求送信部２３４が、通信装置９１５を用いて、ブラウザ装置６００に対する証明書提示要求情報を送信する。
すなわち、小型機器２００は、ブラウザ装置６００との暗号通信を確立するために、ブラウザ装置６００の非Ｘ．５０９形式公開鍵証明書を、ゲートウェイ装置１００に要求する。
【０２７５】
ゲートウェイ装置１００は、Ｓ０７において、証明書提示要求受信部１３１が、通信装置９１５を用いて、Ｓ３３で小型機器２００が送信した証明書提示要求情報を受信する。
証明書提示要求受信部１３１は、ＣＰＵ９１１などの処理装置を用いて、受信した証明書提示要求情報を出力する。
【０２７６】
Ｓ０８において、証明書提示要求送信部１３４は、ＣＰＵ９１１などの処理装置を用いて、Ｓ０７で証明書提示要求受信部１３１が出力した証明書提示要求情報を入力する。
証明書提示要求送信部１３４は、通信装置９１５を用いて、入力した証明書提示要求情報を、ブラウザ装置６００に対して送信する。
すなわち、ゲートウェイ装置１００は、小型機器２００からの要求にしたがって、ブラウザ装置６００に対してブラウザ装置６００の公開鍵が設定されたＸ．５０９形式公開鍵証明書を要求する。
【０２７７】
ブラウザ装置６００は、Ｓ２４において、証明書提示要求受信部６３１が、通信装置９１５を用いて、Ｓ０８でゲートウェイ装置１００が送信した証明書提示要求情報を受信する。
【０２７８】
Ｓ２５において、公開鍵証明書送信部６３３は、通信装置９１５を用いて、Ｓ２４で証明書提示要求受信部６３１が受信した証明書提示要求情報に対する応答として、ブラウザ装置６００の公開鍵証明書を送信する。
すなわち、ブラウザ装置６００は、ゲートウェイ装置１００からの要求にしたがって、ブラウザ装置６００の公開鍵が設定された、ブラウザ装置６００のＸ．５０９形式公開鍵証明書をゲートウェイ装置１００に応答する。
【０２７９】
ゲートウェイ装置１００は、Ｓ０９において、公開鍵証明書受信部１２１が、通信装置９１５を用いて、Ｓ２５でブラウザ装置６００が送信した公開鍵証明書を受信する。
公開鍵証明書受信部１２１は、ＣＰＵ９１１などの処理装置を用いて、受信した公開鍵証明書を出力する。
【０２８０】
以下、図２０へ続く。
【０２８１】
図２０は、この実施の形態における小型機器２００とブラウザ装置６００とが暗号化された通信路を確立する通信路確立処理の流れの一例を示すフローチャート図（その２）である。
【０２８２】
ゲートウェイ装置１００は、Ｓ１０において、公開鍵証明書取得部１２２が、ＣＰＵ９１１などの処理装置を用いて、Ｓ０９で公開鍵証明書受信部１２１が出力した公開鍵証明書を入力する。
公開鍵証明書取得部１２２は、証明書サーバ装置５００に問い合わせるなどして、対応する公開鍵証明書を取得する。
公開鍵証明書取得部１２２は、ＣＰＵ９１１などの処理装置を用いて、取得した公開鍵証明書を出力する。
すなわち、ゲートウェイ装置１００は、ブラウザ装置６００から受け取ったＸ．５０９形式公開鍵証明書をもとに、ブラウザ装置６００のＸ．５０９形式公開鍵証明書に設定されているものと同一の公開鍵が設定された逆マッピング公開鍵証明書（非Ｘ．５０９形式公開鍵証明書）の検索を、証明書サーバ装置５００に要求する。
証明書サーバ装置５００は、ゲートウェイ装置１００から受け取った逆マッピング公開鍵証明書取得要求にしたがって、ブラウザ装置６００の公開鍵が設定された非Ｘ．５０９形式公開鍵証明書を検索し、その結果を応答する。検索された非Ｘ．５０９形式公開鍵証明書には、小型機器２００とゲートウェイ装置１００との間で使用されている、非Ｘ．５０９形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信で使用されるブラウザ装置６００の仮想的なアドレスが、公開鍵証明書の所有者名として設定されている。
【０２８３】
Ｓ１１において、公開鍵証明書送信部１３３は、ＣＰＵ９１１などの処理装置を用いて、Ｓ１０で公開鍵証明書取得部１２２が出力した公開鍵証明書を入力する。
公開鍵証明書送信部１３３は、通信装置９１５を用いて、入力した公開鍵証明書を、小型機器２００に対して送信する。
すなわち、ゲートウェイ装置１００は、ブラウザ装置６００の公開鍵が設定された非Ｘ．５０９形式公開鍵証明書を、小型機器２００に応答する。
【０２８４】
小型機器２００は、Ｓ３４において、公開鍵証明書受信部２２１が、通信装置９１５を用いて、Ｓ１１でゲートウェイ装置１００が送信した公開鍵証明書を受信する。
公開鍵証明書受信部２２１は、ＣＰＵ９１１などの処理装置を用いて、受信した公開鍵証明書を出力する。
【０２８５】
Ｓ３５において、公開鍵証明書検証部２２２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ３４で公開鍵証明書受信部２２１が出力した公開鍵証明書を入力する。
公開鍵証明書検証部２２２は、ＣＰＵ９１１などの処理装置を用いて、入力した公開鍵証明書を検証する。
すなわち、小型機器２００は、ゲートウェイ装置１００から受け取ったブラウザ装置６００の逆マッピング公開鍵証明書を証明書検証する。逆マッピング公開鍵証明書を検証するために使用する信頼点は、小型機器２００内にあらかじめ設定されている非Ｘ．５０９形式公開鍵証明書である。
【０２８６】
検証に成功した場合、公開鍵証明書検証部２２２は、ＣＰＵ９１１などの処理装置を用いて、入力した公開鍵証明書から取得した公開鍵を出力する。
【０２８７】
ブラウザ装置６００は、Ｓ２６において、共通鍵生成部６２４が、ＣＰＵ９１１などの処理装置を用いて、共通鍵を生成する。
小型機器２００は、Ｓ３６において、共通鍵生成部６２４が、ＣＰＵ９１１などの処理装置を用いて、共通鍵を生成する。
【０２８８】
小型機器２００は、Ｓ３７において、接続応答送信部２４４が、通信装置９１５を用いて、接続応答情報を送信する。
接続応答情報は、Ｓ３６で共通鍵生成部２２４が生成した共通鍵で暗号化されている。
すなわち、小型機器２００は、ブラウザ装置６００の逆マッピング公開鍵証明書の検証に成功し、接続が完了した旨をゲートウェイ装置１００に応答する。
【０２８９】
ゲートウェイ装置１００は、Ｓ１２において、暗号文受信部１５１が、通信装置９１５を用いて、Ｓ３７で小型機器２００が送信した接続応答情報を受信する。
暗号文受信部１５１は、ＣＰＵ９１１などの処理装置を用いて、受信した接続応答情報を出力する。
すなわち、ゲートウェイ装置１００は、小型機器２００からの接続応答にしたがって、ブラウザ装置６００に接続応答をする。
【０２９０】
Ｓ１３において、暗号文送信部１６２は、ＣＰＵ９１１などの処理装置を用いて、Ｓ１２で暗号文受信部１５１が出力した接続応答情報を入力する。
暗号文送信部１６２は、通信装置９１５を用いて、入力した接続応答情報を、ブラウザ装置６００に対して送信する。
【０２９１】
ブラウザ装置６００は、Ｓ２７において、接続応答受信部６４１が、通信装置９１５を用いて、Ｓ１３でゲートウェイ装置１００が送信した接続応答情報を受信する。
復号部６４２は、ＣＰＵ９１１などの処理装置を用いて、受信した接続応答情報を、Ｓ２６で共通鍵生成部６２４が生成した共通鍵で復号する。
【０２９２】
Ｓ２８において、接続応答検証部６４５は、ＣＰＵ９１１などの処理装置を用いて、Ｓ２７で復号部６４２が復号した接続応答情報を検証する。
検証に成功した場合、小型機器２００とブラウザ装置６００とが同一の共通鍵を生成したことが確認される。
【０２９３】
ここまでの処理により、小型機器２００とブラウザ装置６００とが相互認証し、同一の共通鍵（セッション鍵）を共有して、暗号通信の準備が整う。
その後、Ｓ２９・Ｓ１４・Ｓ３８において、確立した安全な通信路を用いて、実際に暗号通信を実行する。
このとき、ゲートウェイ装置１００は、小型機器２００とブラウザ装置６００との間の通信を中継するが、共通鍵を有していないので、通信の内容を知ることはできない。
【０２９４】
このようにして、Ｘ．５０９形式公開鍵証明書を用いた暗号通信にのみ対応しているブラウザ装置６００が、マッピング証明書を使用して、非Ｘ．５０９形式公開鍵証明書を用いた暗号通信にのみ対応している小型機器２００と暗号通信を開始する。
【０２９５】
以上のように、小型機器２００がＸ．５０９形式公開鍵証明書が取り扱えなくても、あらかじめ小型機器２００のマッピング公開鍵証明書、ブラウザ装置６００の逆マッピング公開鍵証明書を用意しておけば、小型機器２００とＸ．５０９形式公開鍵証明書を使用した公開鍵暗号方式に基づく暗号通信をサポートしたブラウザ装置６００との間で暗号通信が行える。したがって、一般的なブラウザ装置６００からＸ．５０９形式公開鍵証明書を取り扱えない小型機器２００によって提供されているサービスを利用することができる。
【０２９６】
このように、小型機器２００がサーバとして機能する場合でも、ゲートウェイ装置１００が、公開鍵証明書を相手が検証できる形式のもので置き換えることにより、小型機器２００とブラウザ装置６００との間で相互認証ができ、共通鍵を共有することができる。
【０２９７】
これにより、検証できる公開鍵証明書の形式が互いに異なる装置の間で、暗号化された通信路を確立し、第三者による盗聴や改竄を受けない安全な通信を実現することができる。
【図面の簡単な説明】
【０２９８】
【図１】実施の形態１における通信システム８００の全体構成の一例を示すシステム構成図。
【図２】実施の形態１におけるゲートウェイ装置１００、アプリケーションサーバ装置３００、宛先サーバ装置４００、証明書サーバ装置５００の外観の一例を示す図。
【図３】実施の形態１におけるゲートウェイ装置１００、小型機器２００、アプリケーションサーバ装置３００、宛先サーバ装置４００、証明書サーバ装置５００のハードウェア資源の一例を示す図。
【図４】実施の形態１における小型機器２００の機能ブロックの構成の一例を示すブロック構成図。
【図５】実施の形態１におけるアプリケーションサーバ装置３００の機能ブロックの構成の一例を示すブロック構成図。
【図６】実施の形態１におけるゲートウェイ装置１００の機能ブロックの構成の一例を示すブロック構成図。
【図７】実施の形態１における宛先サーバ装置４００の機能ブロックの構成の一例を示すブロック構成図。
【図８】実施の形態１における証明書サーバ装置５００の機能ブロックの構成の一例を示すブロック構成図。
【図９】実施の形態１における小型機器２００とアプリケーションサーバ装置３００とが暗号化された通信路を確立する通信路確立処理の流れの一例を示すフローチャート図。
【図１０】実施の形態１における小型機器２００とアプリケーションサーバ装置３００とが暗号化された通信路を確立する通信路確立処理の流れの一例を示すフローチャート図。
【図１１】実施の形態２における証明書データベース記憶部５１２が記憶する公開鍵証明書の一例を示す図。
【図１２】実施の形態２における公開鍵証明書取得部１２２が公開鍵証明書を取得する公開鍵証明書取得処理の流れの一例を示すフローチャート図。
【図１３】実施の形態２におけるアプリケーションサーバ装置３００が接続応答情報を生成する接続応答情報生成処理の流れの一例を示すフローチャート図。
【図１４】実施の形態２における小型機器２００が接続応答情報を検証する接続応答検証処理の流れの一例を示すフローチャート図。
【図１５】実施の形態３において、公開鍵証明書７５０を検証して公開鍵証明書７００を発行する証明書サーバ装置５００の機能ブロックの構成の一例を示すブロック構成図。
【図１６】実施の形態４における通信システム８００の全体構成の一例を示すシステム構成図。
【図１７】実施の形態４における小型機器２００の機能ブロックの構成の一例を示すブロック構成図。
【図１８】実施の形態４におけるブラウザ装置６００の機能ブロックの構成の一例を示すブロック構成図。
【図１９】実施の形態４における小型機器２００とブラウザ装置６００とが暗号化された通信路を確立する通信路確立処理の流れの一例を示すフローチャート図。
【図２０】実施の形態４における小型機器２００とブラウザ装置６００とが暗号化された通信路を確立する通信路確立処理の流れの一例を示すフローチャート図。
【符号の説明】
【０２９９】
１００  ゲートウェイ装置、１１１，２１１，３１１  接続要求受信部、１１２  接続先アドレス変換部、１１３，２１３，６１３  接続要求送信部、１２１，２２１，３２１，６２１  公開鍵証明書受信部、１２２  公開鍵証明書取得部、１３１，２３１，６３１  証明書提示要求受信部、１３３，２３３，３３３，６３３  公開鍵証明書送信部、１３４，２３４，３３４  証明書提示要求送信部、１５１，２５１，３５１，６５１  暗号文受信部、１６２，２６２，３６２，６６２  暗号文送信部、２００  小型機器、２１２，６１２  接続先アドレス記憶部、２２２，３２２，６２２  公開鍵証明書検証部、２２３，３２３，６２３  秘密鍵記憶部、２２４，３２４，６２４  共通鍵生成部、２３２，３３２，６３２  公開鍵証明書記憶部、２４１，６４１  接続応答受信部、２４２，３４２，６４２  復号部、２４３，３４３  接続応答生成部、２４４，３４４  接続応答送信部、２４５，６４５  接続応答検証部、２６１，３６１，６６１  暗号化部、３００  アプリケーションサーバ装置、４００  宛先サーバ装置、４１１  宛先検索要求受信部、４１２  宛先テーブル記憶部、４１３  宛先検索部、４１４  宛先検索結果送信部、５００  証明書サーバ装置、５１１  証明書検索要求受信部、５１２  証明書データベース記憶部、５１３  証明書検索部、５１４  証明書検索結果送信部、５１５  証明書検証部、５１６  証明書発行部、６００  ブラウザ装置、７００，７５０  公開鍵証明書、７１０，７６０  証明内容情報、７１１，７１２，７６１，７６２  識別名、７１３，７６３  公開鍵、７１４，７６４  有効期限、７１５，７６５  エクステンション、７２０，７７０  電子署名、８００  通信システム、８０１，８０２  ネットワーク、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９０７  スキャナ装置、９１０  システムユニット、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信装置、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群、９３１  電話器、９３２  ファクシミリ機、９４０  インターネット、９４１  ゲートウェイ、９４２  ＬＡＮ。
【図１】
2008109569.tif 000003
【図２】
2008109569.tif 000004
【図３】
2008109569.tif 000005
【図４】
2008109569.tif 000006
【図５】
2008109569.tif 000007
【図６】
2008109569.tif 000008
【図７】
2008109569.tif 000009
【図８】
2008109569.tif 000010
【図９】
2008109569.tif 000011
【図１０】
2008109569.tif 000012
【図１１】
2008109569.tif 000013
【図１２】
2008109569.tif 000014
【図１３】
2008109569.tif 000015
【図１４】
2008109569.tif 000016
【図１５】
2008109569.tif 000017
【図１６】
2008109569.tif 000018
【図１７】
2008109569.tif 000019
【図１８】
2008109569.tif 000020
【図１９】
2008109569.tif 000021
【図２０】
2008109569.tif 000022