(57)【要約】【課題】信頼関係を有しない不特定多数との通信相手に対しても安全性を確保しながら暗号鍵の交換を行って暗号化通信を行うこと。【解決手段】暗号化通信の通信を行う際に、発呼端末１００は、公開鍵を複数の部分公開鍵に分割して、分割された部分公開鍵と受呼端末１１０のアドレス情報を含む複数の部分公開鍵情報を生成し、生成された複数の部分公開鍵情報の中の一つを、アドレス情報で指定された通信相手の通信装置に転送する複数の鍵転送サーバ１２１〜１２ｎに、該鍵転送サーバのそれぞれが異なる部分公開鍵情報となるように送信する。鍵転送サーバ１２１〜１２ｎは、発呼端末１００から部分公開鍵を含む部分公開鍵情報を受信し、受呼端末１１０に転送する。受呼端末１１０は、鍵転送サーバ１２１〜１２ｎから、鍵転送サーバごとに異なる複数の部分公開鍵情報を受信し、受信した複数の部分公開鍵情報に基づいて発呼端末１００の公開鍵を再構築する。【選択図】        図１
2005064984.tif 000002
【特許請求の範囲】
【請求項１】
通信相手の通信装置と通信する際に、前記通信相手の通信装置に対して自己の公開鍵を送信し、前記通信相手の通信装置から前記公開鍵によって暗号化された鍵情報を受信することによって前記通信装置との通信に用いる暗号鍵を交換する通信装置であって、
前記公開鍵を複数の部分公開鍵に分割して、この分割された部分公開鍵と前記通信相手のアドレス情報を含む複数の部分公開鍵情報を生成する公開鍵分割手段と、
前記公開鍵分割手段によって生成された複数の部分公開鍵情報の中の一つを、前記アドレス情報で指定された前記通信相手の通信装置に転送する複数の鍵転送サーバに、該鍵転送サーバのそれぞれが異なる前記部分公開鍵情報となるように送信する送信手段と、
を備えたことを特徴とする通信装置。
【請求項２】
前記送信手段は、前記部分公開鍵情報を、前記複数の鍵転送サーバに送信する際に、該部分公開鍵情報を該鍵転送サーバが復号化可能に暗号化することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記公開鍵分割手段は、前記公開鍵を複数の部分公開鍵に分割して、この分割された部分公開鍵と、前記通信相手のアドレス情報と、前記公開鍵をいくつの部分公開鍵に分割したかを示す分割数と、該部分公開鍵が前記公開鍵上のどの位置の情報であるかを示す位置情報と、を含む複数の部分公開鍵情報を生成することを特徴とする請求項１に記載の通信装置。
【請求項４】
前記公開鍵を予め定められた暗号鍵で暗号化する暗号化手段を更に備え、
前記公開鍵分割手段は、前記暗号化された公開鍵に誤り符号を付加したデータを複数の部分公開鍵に分割すると共に、前記暗号鍵を複数の部分暗号鍵に分割し、分割された前記部分公開鍵の中の一つと、分割された前記部分暗号鍵の中の一つと、前記通信相手のアドレス情報とを含む複数の部分公開鍵情報をそれぞれ生成することを特徴とする請求項１に記載の通信装置。
【請求項５】
前記送信手段は、前記複数の部分公開鍵情報のそれぞれを、前記通信相手の通信装置とアドレス情報が近似するアドレス情報の前記鍵転送サーバに送信することを特徴とする請求項１〜４のいずれか一つに記載の通信装置。
【請求項６】
通信相手の通信装置と通信する際に、前記通信相手の通信装置から公開鍵を取得して、取得した公開鍵によって暗号化した鍵情報を前記通信相手の通信装置に送信することによって前記通信装置との通信に用いる暗号鍵を交換する通信装置であって、
前記通信相手の通信装置から前記通信相手の公開鍵を分割した複数の部分公開鍵の中の一つを含むそれぞれ別の部分公開鍵情報を受信する複数の鍵転送サーバから、複数の部分公開鍵情報を受信する受信手段と、
前記受信手段によって受信した複数の部分公開鍵情報に基づいて前記通信相手の通信装置の公開鍵を再構築する公開鍵再構築手段と、
を備えたことを特徴とする通信装置。
【請求項７】
前記受信手段は、前記鍵転送サーバから前記部分公開鍵と、前記公開鍵をいくつの部分公開鍵に分割したかを示す分割数と、該部分公開鍵が前記公開鍵上のどの位置の情報であるかを示す位置情報と、を含む複数の前記部分公開鍵情報を受信し、
前記公開鍵再構築手段は、前記分割数と前記部分公開鍵の位置情報とに基づいて前記部分公開鍵を結合し、前記通信相手の暗号鍵を再構築することを特徴とする請求項６に記載の通信装置。
【請求項８】
前記受信手段によって受信した部分公開鍵情報に含まれる部分公開鍵の誤り検出を行う誤り検出手段をさらに備え、
前記受信手段は、前記鍵転送サーバから、暗号化された公開鍵に誤り符号を付加したデータを分割した部分公開鍵と、前記暗号化された公開鍵の暗号鍵を分割した部分暗号鍵とを含む複数の前記部分公開鍵情報を受信し、
前記公開鍵再構築手段は、前記複数の部分公開鍵を結合すると共に前記複数の部分暗号鍵を結合し、該結合した部分公開鍵を該結合した暗号鍵で復号化して一の鍵情報を復号化し、
前記誤り検出手段によって、該鍵情報に誤りが検出できない場合には、前記鍵情報を前記通信相手先の公開鍵とすることを特徴とする請求項６に記載の通信装置。
【請求項９】
第１の通信装置と、第２の通信装置とを備え、第１の通信装置と第２の通信装置との間で暗号化通信の通信を行う際に、前記第２の通信装置に対して前記第１の公開鍵を送信し、前記第１の通信装置が前記第２の通信装置から前記公開鍵によって暗号化された通信のための暗号鍵を受信することによって鍵交換を行う鍵交換システムであって、
前記第１の通信装置から前記公開鍵を分割した部分公開鍵の中の一つを含む部分鍵情報を受信する部分公開鍵情報受信手段と、
前記部分公開鍵情報受信手段によって受信した部分公開鍵情報を、前記第２の通信装置に転送する転送手段を備えた複数の鍵転送サーバを更に備え、
前記第１の通信装置は、
前記公開鍵を複数の部分公開鍵に分割して、分割された部分公開鍵の中の一つと前記第２の通信装置のアドレス情報を含む複数の部分公開鍵情報を生成する公開鍵分割手段と、
前記公開鍵分割手段によって生成された複数の部分公開鍵情報の中の一つを、前記鍵転送サーバに、該鍵転送サーバのそれぞれが異なる前記部分公開鍵情報となるように送信する送信手段と、を備え、
前記第２の通信装置は、
前記鍵転送サーバから、前記鍵転送サーバごとに異なる複数の部分公開鍵情報を受信する受信手段と、
前記受信手段によって受信した複数の部分公開鍵情報に基づいて前記第１の通信装置の公開鍵を再構築する公開鍵再構築手段と、
を備えたことを特徴とする鍵交換システム。
【請求項１０】
通信相手の通信装置と通信する際に、前記通信相手の通信装置に対して公開鍵を送信し、前記通信相手の通信装置から前記公開鍵によって暗号化された鍵情報を受信することによって前記通信装置との通信に用いる暗号鍵を交換する鍵交換プログラムであって、
前記公開鍵を複数の部分公開鍵に分割して、この分割された部分公開鍵と前記通信相手のアドレス情報を含む複数の部分公開鍵情報を生成する公開鍵分割ステップと、
前記公開鍵分割ステップによって生成された複数の部分公開鍵情報の中の一つを、前記アドレス情報で指定された前記通信相手の通信装置に転送する複数の鍵転送サーバに、該鍵転送サーバのそれぞれが異なる前記部分公開鍵情報となるように送信する送信ステップと、
をコンピュータに実行させる鍵交換プログラム。
【請求項１１】
通信相手の通信装置と通信する際に、前記通信相手の通信装置から公開鍵を取得して、取得した公開鍵によって暗号化した鍵情報を前記通信相手の通信装置に送信することによって前記通信装置との通信に用いる暗号鍵を交換する鍵交換プログラムであって、
前記通信相手の通信装置から前記通信相手の公開鍵を分割した部分公開鍵の中の一つを含むそれぞれ別の複数の部分公開鍵情報を受信する複数の鍵転送サーバから、複数の部分公開鍵情報を受信する受信ステップと、
前記受信手段によって受信した複数の部分公開鍵情報に基づいて前記通信相手の通信装置の公開鍵を再構築する公開鍵再構築ステップと、
をコンピュータに実行させる鍵交換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワーク上の２つの通信装置の間で暗号化通信の通信を確立する際に、公開鍵を交換する通信装置、鍵交換システムおよび鍵交換プログラムに関する。
【背景技術】
【０００２】
近年、 世界最大のコンピュータネットワークであるインターネット（Ｉｎｔｅｒｎｅｔ）の利用が普及しており、 インターネット上に公開された情報やサービスを利用したり、あるいはインターネットを介してアクセスしてくる外部ユーザに対して、各種情報やサービスを提供することによって、新たなコンピュータビジネスが開拓されている。
【０００３】
このようなインターネットは情報の入手やサービスの提供を容易に受けることができる点で有用なものであるが、その一方、インターネットによる通信において、通信内容の漏洩が問題となっている。すなわち、特定の利用者とのインターネットを介した通信、例えばＩＰ電話やインスタントメッセージなどにおいて、インターネット上を流れる情報内容を悪意のある第三者によって傍受、盗聴される可能性があり、このような傍受、盗聴を防止するために情報を暗号化して送信し、受信先で復号化する暗号化通信を行うことが一般的となっている。
【０００４】
インターネットにおける暗号化通信においては、インターネットを利用するアプリケーションに意識させずに、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）プロトコルのレベルで自動的に暗号化通信を実現し、セキュリティを確保するためのＩＰＳｅｃ（Ｓｅｃｕｒｉｔｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）のプロトコルがＩＰｖ４（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ４）およびＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ４）で規定されている。
【０００５】
ＩＰＳｅｃでは、事前に通信相手と使用する暗号アルゴリズム（例えば共通鍵方式、公開鍵方式など）と暗号鍵をＳＡ（Ｓｅｃｕｒｉｔｙ  Ａｓｓｏｃｉａｔｉｏｎ）という合意とり、通信相手の認証を行った上で暗号鍵の交換を行うこととしている。そして、自動的にＳＡの合意をとって暗号鍵の交換を行う鍵交換プロトコルとして、ＩＫＥ（Ｉｎｔｅｒｎｅｔ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ）が規定されている。このＩＫＥプロトコルでは、暗号鍵の交換の際、悪意のある第三者が伝送路中で暗号鍵を傍受して偽造した鍵情報を通信相手に送信されてしまう可能性があるため、事前に通信相手の認証を行って通信相手との信頼関係を築いた上で暗号鍵の交換を行っている（非特許文献１、非特許文献２参照）。
【０００６】
また、特開平１１−１８７０１２号公報には、以下のような共有鍵交換方式が開示されている。暗号通信を行う２つの通信装置が自身で生成した公開数値を管理センタの公開鍵を用いて暗号化し管理センタに送信し、管理センタではこれを自身の秘密鍵を用いて復号化し、２つの通信装置の２つの公開数値を得た後、復号公開数値と自身の秘密鍵を用いて暗号化した所定の関数を暗号通信を行う２つの通信装置に送信する。各通信装置は、受信した値を管理センタの公開鍵を用いて復号化することで認証を行うとともに復号値を得て、その復号値と自身の公開数値とから関数ｇを計算し、さらに乱数を用いて共有鍵を計算する、という方式である（特許文献１参照）。
【０００７】
【非特許文献１】IETF RFC2401 Security Architecture for the Internet Protocol
【非特許文献２】IETF RFC2460 Internet Protocol, Version 6 (IPv6) Specification
【特許文献１】特開平１１−１８７０１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、ＩＫＥプロトコルや上記従来技術では、通信相手の認証を行って通信相手との信頼関係を築くことが前提となっているため、不特定多数を対象として通信を行う場合には、すべての通信相手の認証を行う必要があり暗号鍵の交換は困難になるという問題がある。
【０００９】
ところが、実際のコミュニケーションにおいては、通信相手を認証して安全性を確保することまでは必要ないが、暗号化通信を安全に行いたい場合がある。このような場合、ＲＳＡ方式などに代表される非対象鍵暗号方式を利用して、自己の公開鍵を通信相手に渡せれば、通信相手を認証しなくても比較的安全な暗号化通信を行なうことは可能である。
【００１０】
しかしながら、単純に公開鍵を交換する場合には、公開鍵の送信元と送信先の間の伝送路に介入して、両方に知られることなく送信される公開鍵を傍受して、改ざんしたり、公開鍵の送信元になりすましたりする攻撃、すなわちｍａｎ−ｉｎ−ｔｈｅ−ｍｉｄｄｌｅ攻撃が容易に行われてしまう可能性があるという問題がある。
【００１１】
この発明は上記に鑑みてなされたもので、信頼関係を有しない不特定多数との通信相手に対しても安全性を確保しながら通信相手と通信に用いる暗号鍵の交換を行って暗号化通信を行うことができる通信装置、鍵交換システムおよび鍵交換プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明は、通信相手の通信装置と通信する際に、前記通信相手の通信装置に対して自己の公開鍵を送信し、前記通信相手の通信装置から前記公開鍵によって暗号化された鍵情報を受信することによって前記通信装置との通信に用いる暗号鍵を交換する通信装置であって、前記公開鍵を複数の部分公開鍵に分割して、この分割された部分公開鍵と前記通信相手のアドレス情報を含む複数の部分公開鍵情報を生成する公開鍵分割手段と、前記公開鍵分割手段によって生成された複数の部分公開鍵情報の中の一つを、前記アドレス情報で指定された前記通信相手の通信装置に転送する複数の鍵転送サーバに、該鍵転送サーバのそれぞれが異なる前記部分公開鍵情報となるように送信する送信手段と、を備えたことを特徴とする。
【００１３】
また、本発明は、通信相手の通信装置と通信する際に、前記通信相手の通信装置から公開鍵を取得して、取得した公開鍵によって暗号化した鍵情報を前記通信相手の通信装置に送信することによって前記通信装置との通信に用いる暗号鍵を交換する通信装置であって、前記通信相手の通信装置から前記通信相手の公開鍵を分割した複数の部分公開鍵の中の一つを含むそれぞれ別の部分公開鍵情報を受信する複数の鍵転送サーバから、複数の部分公開鍵情報を受信する受信手段と、前記受信手段によって受信した複数の部分公開鍵情報に基づいて前記通信相手の通信装置の公開鍵を再構築する公開鍵再構築手段と、を備えたことを特徴とする。
【００１４】
また、本発明は、第１の通信装置と、第２の通信装置とを備え、第１の通信装置と第２の通信装置との間で暗号化通信の通信を行う際に、前記第２の通信装置に対して前記第１の公開鍵を送信し、前記第１の通信装置が前記第２の通信装置から前記公開鍵によって暗号化された通信のための暗号鍵を受信することによって鍵交換を行う鍵交換システムであって、前記第１の通信装置から前記公開鍵を分割した部分公開鍵の中の一つを含む部分鍵情報を受信する部分公開鍵情報受信手段と、前記部分公開鍵情報受信手段によって受信した部分公開鍵情報を、前記第２の通信装置に転送する転送手段を備えた複数の鍵転送サーバを更に備え、前記第１の通信装置は、前記公開鍵を複数の部分公開鍵に分割して、分割された部分公開鍵の中の一つと前記第２の通信装置のアドレス情報を含む複数の部分公開鍵情報を生成する公開鍵分割手段と、前記公開鍵分割手段によって生成された複数の部分公開鍵情報の中の一つを、前記鍵転送サーバに、該鍵転送サーバのそれぞれが異なる前記部分公開鍵情報となるように送信する送信手段と、を備え、前記第２の通信装置は、前記鍵転送サーバから、前記鍵転送サーバごとに異なる複数の部分公開鍵情報を受信する受信手段と、前記受信手段によって受信した複数の部分公開鍵情報に基づいて前記第１の通信装置の公開鍵を再構築する公開鍵再構築手段と、を備えたことを特徴とする。
【００１５】
この発明によれば、第１の通信装置から公開鍵を分割した部分公開鍵を含む部分鍵情報を受信して、受信した部分公開鍵情報を第２の通信装置に転送する複数の鍵交換サーバを備え、第１の通信装置では、公開鍵を複数の部分公開鍵に分割して、分割された部分公開鍵の中の一つと第２の通信装置のアドレス情報を含む複数の部分公開鍵情報を生成し、生成された複数の部分公開鍵情報の中の一つを、アドレス情報で指定された通信相手の通信装置に転送する複数の鍵転送サーバに、該鍵転送サーバのそれぞれが異なる部分公開鍵情報となるように送信し、一方、第２の通信装置は、鍵転送サーバから、鍵転送サーバごとに異なる複数の部分公開鍵情報を受信し、受信した複数の部分公開鍵情報に基づいて第１の通信装置の公開鍵を再構築することで、鍵転送サーバと受呼端末である第２の通信装置間の伝送経路で部分公開鍵を傍受しようとする悪意のある第三者は、複数の鍵転送サーバと第２の通信装置のすべて伝送経路で部分公開鍵の傍受を行わなくてはならず、また傍受できたとしても複数の部分公開鍵から公開鍵の再構築を行う必要がある。このため、公開鍵の傍受が困難となり、通信の安全性を確保できる。また、本発明によれば、第１の通信装置と第２の通信装置との間、および鍵転送サーバと第２の通信装置との間で暗号化通信が確立されていない場合でも、第１の通信装置と複数の鍵転送サーバとの間で暗号化通信が確立されていれば、この鍵転送サーバを経由して部分公開鍵を第１の通信装置から第２の通信装置に安全に送信することができるので、不特定多数との通信相手に対しても安全性を確保しながら公開鍵の交換を行って暗号化通信を行うことができる。
【発明の効果】
【００１６】
本発明によれば、鍵転送サーバと受呼端末である通信装置間の伝送経路で部分公開鍵を傍受しようとする悪意のある第三者は、複数の鍵転送サーバと第２の通信装置のすべて伝送経路で部分公開鍵の傍受を行わなくてはならず、また傍受できたとしても複数の部分公開鍵から公開鍵の再構築を行う必要があるため、公開鍵の傍受が困難となり、通信の安全性を確保できるという効果を奏する。また、本発明によれば、第１の通信装置と第２の通信装置との間、および鍵転送サーバと第２の通信装置との間で暗号化通信が確立されていない場合でも、第１の通信装置と暗号化通信が確立されている複数の鍵転送サーバを経由して部分公開鍵を第１の通信装置から第２の通信装置に安全に送信することができるので、不特定多数との通信相手に対しても安全性を確保しながら公開鍵の交換を行って暗号化通信を行うことができるという効果を奏する。
【発明を実施するための最良の形態】
【００１７】
以下に添付図面を参照して、この発明にかかる通信装置、鍵交換システムおよび鍵交換プログラムの好適な実施の形態を詳細に説明する。
【００１８】
（実施の形態１）
本実施の形態では、ＩＰ電話やインターネットのインスタントメッセージを不特定多数の通信相手と行う場合において、暗号化通信の確立の際に行う公開鍵の交換について説明する。ここで、インターネットの通信プロトコルは、ＩＰｖ６を利用するものとする。
【００１９】
図１は、この発明の実施の形態１である鍵交換システムのネットワーク構成を示すブロック図である。図１に示すように、ＩＰ電話の発呼を行う発呼端末１００と、受呼を行う受呼端末１１０と、公開鍵を発呼端末１００から受信して受呼端末１１０に転送する鍵転送サーバ１２１〜１２ｎがインターネット１３０に接続された構成となっている。ここで、発呼端末１００は、本発明における通信装置および第１の通信装置を構成する。また、受呼端末１１０は、本発明における通信装置および第２の通信装置を構成する。
【００２０】
なお、本実施の形態では、発呼端末１００から受呼端末１１０に公開鍵を送信する場合を例にあげて説明する。
【００２１】
まず、本実施の形態の公開鍵の交換処理の概要を説明する。発呼端末１００では、暗号化通信の確立を受呼端末１１０と行う際に、自己の公開鍵を生成して、生成した公開鍵を任意の数に分割した部分公開鍵を生成する。そして、発呼端末１００は、生成した部分公開鍵に、分割数、部分公開鍵の公開鍵上での位置、送信元ＩＰアドレス、送信先ＩＰアドレス、公開鍵の識別情報であるインデックス番号を付加した部分公開鍵データを部分公開鍵ごとに複数生成し、それぞれ異なる鍵転送サーバ１２１〜１２ｎに送信する。ここで、鍵転送サーバ１２１〜１２ｎは発呼端末１００と暗号化通信の確立がなされており、信頼関係のある通信相手である。このような鍵転送サーバ１２１〜１２ｎとしては、例えばインターネットのサービスプロバイダなどを利用すればよい。
【００２２】
鍵転送サーバ１２１〜１２ｎのそれぞれでは、部分公開鍵データを受信して、部分公開鍵データに含まれる送信先ＩＰアドレスの端末、すなわち受呼端末１１０に受信した部分公開鍵データを転送する。
【００２３】
受呼端末１１０では、鍵転送サーバ１２１〜１２ｎのそれぞれから部分公開鍵データを逐次受信する。そして、すべての部分公開鍵データを受信したら、部分公開鍵データの部分公開鍵を結合することによって発呼端末１００の公開鍵の再構築を行う。そして、受呼端末１１０は、再構築した公開鍵によって発呼端末１００との暗号化通信に使用する共通鍵を暗号化して暗号化した共通鍵を発呼端末に送信する。
【００２４】
一方、発呼端末１００では、暗号化された共通鍵を受信して公開鍵に対応した秘密鍵で復号化する。そして、復号化された共通鍵によって暗号化通信を確立する。
【００２５】
次に、発呼端末１００について説明する。発呼端末１００は、ＩＰ電話、インスタントメッセージ等において、通信相手先の受呼端末に発呼を行う端末である。
【００２６】
図２は、発呼端末１００の機能的構成を示すブロック図である。発呼端末１００は、公開鍵生成部２０１と、公開鍵分割部２０２と、秘密鍵生成部２０４と、復号化処理部２０３と、通信処理部２０５とを備えている。
【００２７】
公開鍵生成部２０１は、発呼端末１００の公開鍵を生成するものであり、生成のタイミングは新たな通信を確立する時点、発呼端末１００上で動作する異なるアプリケーションによって通信の確立要求が行われた時点などである。
【００２８】
公開鍵分割部２０２は、公開鍵生成部２０１によって生成された公開鍵を任意の数に分割して複数の部分公開鍵を生成する。また、公開鍵分割部２０２は、生成された部分公開鍵に、分割数、部分公開鍵の公開鍵の先頭からのビット数（位置）、部分公開鍵のビット長（サイズ）、送信元ＩＰアドレス（発呼端末１００のＩＰアドレス）、送信先ＩＰアドレス（受呼端末１１０のＩＰアドレス）、受呼端末側で公開鍵を識別するためのインデックス番号とを付加した部分公開鍵データを、部分公開鍵の数だけ生成する。なお、部分公開鍵データの構造については後述する。
【００２９】
秘密鍵生成部２０４は、公開鍵生成部２０１によって生成された公開鍵に体操する秘密鍵を生成するものである。
【００３０】
復号化処理部２０３は、受呼端末１１０から受信した暗号化された共通鍵を復号化するものである。
【００３１】
通信処理部２０５は、インターネット１３０を介して各種データの送受信を行うものである。具体的には、通信処理部２０５は、公開鍵分割部２０２によって生成された複数の部分公開鍵データから、部分公開鍵データごとにＩＰパケットを生成してそれぞれ異なる鍵転送サーバ１２１〜１２ｎに送信する。この通信処理部２０５は、本発明における送信手段を構成する。また、通信処理部２０５は、受呼端末１１０から暗号化された共通鍵を受信する。
【００３２】
次に、受呼端末１１０について説明する。発呼端末１１０は、ＩＰ電話、インスタントメッセージ等において、通信相手先の発呼端末１００からの発呼を受信する端末である。
【００３３】
図３は、受呼端末１１０の機能的構成を示すブロック図である。受呼端末１１０は、公開鍵再構築部３０１と、共通鍵生成部３０２と、暗号化処理部３０３と、通信処理部３０４とを備えている。
【００３４】
公開鍵再構築部３０１は、鍵転送サーバ１２１〜１２ｎからそれぞれ受信した複数の部分公開鍵データから部分公開鍵を抽出して、部分公開鍵データに含まれる分割数、部分公開鍵の公開鍵上での先頭ビット数およびビット長から部分公開鍵を結合して、発呼端末１００の公開鍵を再構築するものである。
【００３５】
共通鍵生成部３０２は、発呼端末１００との間の暗号化通信の確立を行うための共通鍵を生成するものである。
【００３６】
暗号化処理部３０３は、共通鍵生成部３０２によって生成された共通鍵を、公開鍵再構築部３０１によって再構築された発呼端末１００の公開鍵によって暗号化するものである。
【００３７】
通信処理部３０４は、インターネット１３０を介して各種データの送受信を行うものである。具体的には、通信処理部３０４は、鍵転送サーバ１２１〜１２ｎのそれぞれから部分公開鍵データのＩＰパケットを受信する。この通信処理部３０４は、本発明における受信手段を構成する。また、通信処理部３０４は、暗号化した共通鍵を含むＩＰパケットを生成して発呼端末１００に送信する。
【００３８】
次に、鍵転送サーバ１２１〜１２ｎについて説明する。鍵転送サーバ１２１〜１２ｎは、発呼端末１００から受信した部分公開鍵データのＩＰパケットを受呼端末１１０に転送するものであり、いずれも同様の構成をしている。
【００３９】
図４は、鍵転送サーバ１２１〜１２ｎの機能的構成を示すブロック図である。鍵転送サーバ１２１〜１２ｎは、図４に示すように、公開鍵転送処理部４０１と、通信処理部４０２とを備えている。
【００４０】
公開鍵転送処理部４０１は、発呼端末１００から受信した部分公開鍵データから送信先ＩＰアドレス（受呼端末１１０のＩＰアドレス）を抽出するものである。
【００４１】
通信処理部４０２は、インターネット１３０を介して各種データの送受信を行うものである。具体的には、通信処理部４０２は、発呼端末１００から部分公開鍵データのＩＰパケットを受信する。また、通信処理部４０２は、公開鍵転送処理部４０１によって抽出された送信先ＩＰアドレスを指定して部分公開鍵データのＩＰパケットを生成し、受呼端末１１０に送信する。
【００４２】
本実施形態の発呼端末１００、受呼端末１１０、鍵転送サーバ１２１〜１２ｎのそれぞれは、いずれもＣＰＵなどの制御装置と、ハードディスク装置（ＨＤＤ）などの記録装置と、ＲＯＭやＲＡＭ等の記憶装置と、ネットワークボード等の通信装置とが接続されており、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やワークステーションなどコンピュータを利用した構成である。
【００４３】
尚、本実施形態の発呼端末１００、受呼端末１１０、鍵転送サーバ１２１〜１２ｎでは、それぞれ鍵交換プログラムが実行される。この鍵交換プログラムのそれぞれは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【００４４】
また、本実施形態の鍵交換プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の鍵交換をインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００４５】
本実施形態にかかる鍵交換プログラムは、発呼端末１００、受呼端末１１０、鍵転送サーバ１２１〜１２ｎのそれぞれで上記記憶媒体から読み出して実行することにより主記憶装置上にロードされ、上記機能的構成で説明した各部が主記憶装置上に生成されるようになっている。
【００４６】
次に、以上のように構成された本実施の形態の鍵交換システムによる鍵交換処理について説明する。図５は、発呼端末１００による公開鍵の分割の処理手順を示すフローチャートである。
【００４７】
発呼端末１００は、受呼端末１１０と新たな暗号化通信のコネクションを確立する際に、あるいは発呼端末１００上で動作するアプリケーションからの要求で暗号化通信のコネクションを確立する際に、まず公開鍵生成部２０１によって発呼端末１００の公開鍵Ｉｋｐを生成する（ステップＳ５０１）。そして、秘密鍵生成部２０４によって、公開鍵生成部２０１によって生成された公開鍵Ｉｋｐに対応する秘密鍵を生成する（ステップＳ５０２）。
【００４８】
次に、公開鍵分割部２０２によって、ステップ５０１で生成された公開鍵Ｉｋｐを複数の部分公開鍵Ｉｋｐ−ｍ（ｍ＝１〜ｎ）に分割する（ステップＳ５０３）。ここで、公開鍵Ｉｋｐの分割は、任意の数、任意の箇所で行ってよいが、受呼端末１１０での公開鍵の再構築の時間を考慮すると、なるべく短時間で再構築が行え、かつ悪意のある第三者からの攻撃の防御するため、２〜３個の部分公開鍵に分割することが好ましい。
【００４９】
図６−１、図６−２、図６−３は、公開鍵Ｉｋｐから部分公開鍵データが生成される過程を示す説明図である。図６−１は公開鍵Ｉｋｐのデータ構造図、図６−２は公開鍵Ｉｋｐをｎ個の部分公開鍵Ｉｋｐ−ｍに分割した状態のデータ構造図、図６−３は部分公開鍵データのデータ構造図である。
【００５０】
次いで、公開鍵分割部２０２によって、発呼端末１００の公開鍵Ｉｋｐに固有の識別データであるインデックス番号を決定する（ステップＳ５０４）。そして、公開鍵分割部２０２によって、部分公開鍵Ｉｋｐ−ｍごとに部分公開鍵データを生成する（ステップＳ５０５）。
【００５１】
具体的には、図６−３に示すように、部分公開鍵Ｉｋｐ−ｍに、分割数、部分公開鍵の公開鍵の先頭からのビット数（位置）、部分公開鍵のビット長（サイズ）、送信元ＩＰアドレス（発呼端末１００のＩＰアドレス）、送信先ＩＰアドレス（受呼端末１１０のＩＰアドレス）、ステップＳ５０４で決定したインデックス番号とを付加し、部分公開鍵データとする。
【００５２】
そして、通信処理部２０５によって、部分公開鍵データからＩＰパケットを生成し、複数の部分公開鍵データのＩＰパケットのそれぞれを異なる鍵転送サーバ１２１〜１２ｎに送信する（ステップＳ５０６）。
【００５３】
ここで、ＩＰパケットを生成する場合には、送信先のＩＰアドレスに鍵転送サーバ１２１〜１２ｎのＩＰアドレスを指定する。この鍵転送サーバ１２１〜１２ｎは、発呼端末１００とすでに暗号化通信の確立がなされているものである。このため、具体的には、発呼端末１００は、各鍵転送サーバ１２１〜１２ｎと発呼端末１００との間で定められた暗号アルゴリズムと暗号鍵によって部分公開鍵データを暗号化して鍵転送サーバ１２１〜１２ｎに送信し、鍵転送サーバ１２１〜１２ｎでは同様の暗号アルゴリズムと暗号鍵によって部分公開鍵データが復号化されることになる。
【００５４】
また、このような鍵転送サーバ１２１〜１２ｎとしては、インターネット上の任意の鍵転送サーバ１２１〜１２ｎを選択することができるが、受呼端末１１０に近距離の鍵転送サーバ１２１〜１２ｎを選択して部分公開鍵データを送信することが好ましい。発呼端末１００と鍵転送サーバ１２１〜１２ｎとの間は暗号化通信が確立されており、信頼性を有しているが、鍵転送サーバ１２１〜１２ｎと不特定多数の受呼端末１１０との間には、暗号化通信が確立されておらず、信頼性が低いため、鍵転送サーバ１２１〜１２ｎと不特定多数の受呼端末１１０との伝送経路中に悪意のある第三者によって部分公開鍵データが傍受される危険性があるため、できるだけ受呼端末１１０と近距離な鍵転送サーバ１２１〜１２ｎを選択して、鍵転送サーバ１２１〜１２ｎと不特定多数の受呼端末１１０との伝送経路中における傍受の危険性を少なくするためである。
【００５５】
このような近距離の鍵転送サーバ１２１〜１２ｎは、例えば次のように選択すればよい。図７は、ＩＰｖ６におけるＩＰアドレスの構造を示す説明図である。
【００５６】
図６において、１３ｂｉｔのＴＬＡ  ＩＤは最上位識別子であり、通信事業者を示すものであり、１３ｂｉｔのｓＴＬＡ  ＩＤは、その通信事業者の各地域の事業者を示すものである。ＩＰｖ６ではＩＰアドレスの構造がこのような構造となっているため、例えば、鍵転送サーバ１２１〜１２ｎと受呼端末１１０のＴＬＤ  ＩＤが同一で、ｓＴＬＤ  ＩＤが異なっているような近似したＩＰアドレスの場合、鍵転送サーバ１２１〜１２ｎと受呼端末１１０は比較的近距離に存在すると言える。
【００５７】
このような部分公開鍵データの鍵転送サーバ１２１〜１２ｎへの送信処理は、すべての部分公開鍵データの送信が完了するまで繰り返し行われる（ステップＳ５０７）。これによって、公開鍵を分割した複数の部分公開鍵のそれぞれが異なる鍵転送サーバ１２１〜１２ｎに送信されることになる。
【００５８】
次に、鍵転送サーバ１２１〜１２ｍによる部分公開鍵の転送処理について説明する。図８は、鍵転送サーバ１２１〜１２ｎにおける部分公開鍵データの転送処理の手順を示すフローチャートである。
【００５９】
鍵転送サーバ１２１〜１２ｎは、通信処理部４０２によって発呼端末１００から部分公開鍵データのＩＰパケットを受信すると、公開鍵転送処理部４０１によって、受信したＩＰパケットから部分公開鍵データを抽出する（ステップＳ８０１）。
【００６０】
そして、公開鍵転送処理部４０１によって、抽出した部分公開鍵データから送信先ＩＰアドレスを取得する（ステップＳ８０２）。次いで、通信処理部４０２によって、取得した送信先ＩＰアドレス（受呼端末１１０のＩＰアドレス）を指定し、部分公開鍵データを含むＩＰパケットを生成し送信する（ステップＳ８０３）。これによって、部分公開鍵データが受呼端末１１０に転送されることになる。
【００６１】
次に、受呼端末１１０による公開鍵の再構築処理について説明する。図１０は、受呼端末１１０による公開鍵の再構築処理の手順を示すフローチャートである。受呼端末１１０では、通信処理部３０４によって、部分公開鍵データのＩＰパケットを受信すると、公開鍵再構築部３０１によって、ＩＰパケットから部分公開鍵データを取り出し、分割数、インデックス番号、部分公開鍵を取得する（ステップＳ１００１）。
【００６２】
そして、公開鍵再構築部３０１によって、取得したインデックス番号が、すでに受信済みの部分公開鍵データのインデックス番号と一致するか否かを調べることにより、部分公開鍵Ｉｋｐ−ｍが既に受信した部分公開鍵と同一の公開鍵から分割されたものか否かを判断する（ステップＳ１００２）。
【００６３】
そして、一致しない場合には（ステップＳ１００２：Ｎｏ）、次の部分公開鍵データのＩＰパケットの受信を待つ。一方、一致する場合には（ステップＳ１００２：Ｙｅｓ）、部分公開鍵Ｉｋｐ−ｍが既に受信した部分公開鍵と同一の公開鍵から分割されたものであると判断し、次に公開鍵再構築部３０１によって、分割数分の部分公開鍵データのＩＰパケットの受信が完了したか否かを判断する（ステップＳ１００３）。
【００６４】
まだ、分割数分の部分公開鍵データのＩＰパケットの受信が完了していないと判断した場合には（ステップＳ１００３：Ｎｏ）、次の部分公開鍵データのＩＰパケットの受信を待つ。一方、分割数分の部分公開鍵データのＩＰパケットの受信が完了したと判断した場合には（ステップＳ１００３：Ｙｅｓ）、公開鍵再構築部３０１によって、受信したすべての部分公開鍵データの部分公開鍵を、先頭ビット数の小さい順から逐次結合していき、発呼端末１００の公開鍵を再構築（生成）する（ステップＳ１００４）。
【００６５】
次いで、共通鍵生成部３０２によって、発呼端末１００との暗号化通信で使用する共通鍵を生成する（ステップＳ１００５）。そして、生成した共通鍵を、暗号化処理部３０３によって、ステップ１００４で再構築された発呼端末１００の公開鍵で暗号化する（ステップＳ１００６）。次いで、暗号化した共通鍵を部分公開鍵データ中の送信元ＩＰアドレス（発呼端末１００のＩＰアドレス）に送信する（ステップＳ１００７）。これによって、共通鍵が暗号化されて発呼端末１００で受信されることになる。
【００６６】
図９は、共通鍵を受信した発呼端末１００が行う暗号化通信の確立の処理手順を示すフローチャートである。発呼端末１００では、通信処理部２０５によって共通鍵を受信すると、復号化処理部２０３によって、共通鍵を復号化する（ステップＳ９０１）。
【００６７】
次に、通信処理部２０５によって、受呼端末１１０との暗号化通信の確立を行う（ステップＳ９０２）。これによって、発呼端末１００と受呼端末１１０との間で共通鍵を使用した暗号化通信が可能となる。なお、発呼端末１００は、部分公開鍵データのＩＰパケットの送信後、一定時間経過しても受呼端末１１０から共通鍵を受信しない場合には、鍵転送サーバ１２１〜１２ｎと受呼端末１１０の間の伝送経路で部分公開鍵が傍受され、偽造の公開鍵と差し替えられたと判断して、再度他の公開鍵を生成して分割して、部分公開鍵の鍵転送サーバ１２１〜１２ｎへ送信するように構成してもよい。この場合には、公開鍵の交換をより安全に行うことができる。
【００６８】
このように実施の形態１の鍵交換システムでは、鍵転送サーバ１２１〜１２ｎと受呼端末１１０間の伝送経路で部分公開鍵を傍受しようとする悪意のある第三者は、複数の鍵転送サーバ１２１〜１２ｎと受呼端末１１０のすべて伝送経路で部分公開鍵の傍受を行わなくてはならない。また傍受できたとしても複数の部分公開鍵から公開鍵の再構築を行う必要があるため、公開鍵の傍受が困難となり、通信の安全性を確保できる。また、発呼端末１００と受呼端末１１０との間、および複数の鍵転送サーバ１２１〜１２ｎと受呼端末１１０との間で暗号化通信が確立されていない場合でも、発呼端末１００と暗号化通信が確立されている複数の鍵転送サーバ１２１〜１２ｎを経由して部分公開鍵を、発呼端末１００から受呼端末１１０に安全に送信することができるので、不特定多数との通信相手に対しても安全性を確保しながら公開鍵の交換を行って暗号化通信を行うことができる。
【００６９】
（実施の形態２）
実施の形態１の鍵交換システムでは、部分公開鍵データに公開鍵の分割数、部分公開鍵の公開鍵上での位置およびサイズを含めていたため、鍵伝送サーバ１２１〜１２ｎから受呼端末１１０への伝送経路中で悪意のある第三者により部分公開鍵の入手が可能である。この実施の形態２では、より安全性を確保するため、部分公開鍵データに、公開鍵の分割数、部分公開鍵の公開鍵上での位置およびサイズを含まないものである。
【００７０】
図１１は、発呼端末１１００の機能的構成を示すブロック図である。発呼端末１１００は、公開鍵生成部２０１と、公開鍵分割部１１０２と、秘密鍵生成部２０４と、復号化処理部２０３と、暗号化処理部１１０３と、通信処理部２０５とを備えている。
【００７１】
実施の形態１の発呼端末１１０と同様の機能を有するものは、図２と同一符号を付し、説明を省略する。
【００７２】
暗号化処理部１１０３は、公開鍵生成部２０１によって生成された公開鍵ＩＫｐを暗号鍵Ｋｔで暗号化するものである。
【００７３】
公開鍵分割部１１０２は、暗号化された公開鍵Ｅ−ＩＫｐに巡回符号（ＣＲＣ）を付加して、巡回符号（ＣＲＣ）を付加した公開鍵Ｅ−ＩＫｐを任意の数に分割して複数の部分公開鍵Ｅ−ＩＫｐＣ−ｍを生成する。また、公開鍵分割部１１０２は、暗号鍵Ｋｔを部分公開鍵と同数に部分暗号鍵Ｋｔ−ｍに分割する。また、公開鍵分割部１１０２は、生成された部分公開鍵Ｅ−ＩＫｐＣ−ｍに、Ｎｏ．（順番）、送信元ＩＰアドレス（発呼端末１００のＩＰアドレス）、送信先ＩＰアドレス（受呼端末１１０のＩＰアドレス）、部分暗号鍵Ｋｔ−ｍ、受呼端末側で公開鍵を識別するためのインデックス番号とを付加した部分公開鍵データを生成する。
【００７４】
図１２は、受呼端末１１１０の機能的構成を示すブロック図である。受呼端末１１１０は、公開鍵再構築部１２０１と、共通鍵生成部３０２と、暗号化処理部３０３と、通信処理部３０４と、復号化処理部１２０２、誤り検出部１２０３を備えている。
【００７５】
実施の形態１の発呼端末１１１０と同様の機能を有するものは、図３と同一符号を付し、説明を省略する。
【００７６】
公開鍵再構築部３０１は、鍵転送サーバ１２１〜１２ｎからそれぞれ受信した複数の部分公開鍵データから暗号化された部分公開鍵を抽出して結合するとともに、部分公開鍵データに含まれる部分暗号鍵を結合するものである。
【００７７】
復号化処理部１２０２は、結合された部分公開鍵を結合された部分暗号鍵で復号化するものである。
【００７８】
誤り検出部１２０３は、復号化処理部１２０２によって復号化され、結合された部分公開鍵に対し巡回符号（ＣＲＣ）を用いて誤り検出をおこなうものである。
【００７９】
なお、本実施の形態の鍵転送サーバ１２１〜１２ｎは、実施の形態１と同様の構成をしているため、説明を省略する。
【００８０】
次に、以上のように構成された本実施の形態の鍵交換システムによる鍵交換処理について説明する。図１３は、発呼端末１１００による公開鍵の分割の処理手順を示すフローチャートである。
【００８１】
発呼端末１１００は、受呼端末１１１０と新たな暗号化通信のコネクションを確立する際に、あるいは発呼端末１１００上で動作するアプリケーションからの要求で暗号化通信のコネクションを確立する際に、まず公開鍵生成部２０１によって発呼端末１００の公開鍵ＩＫｐを生成する（ステップＳ１３０１）。そして、秘密鍵生成部２０４によって、公開鍵生成部２０１によって生成された公開鍵ＩＫｐに対応する秘密鍵を生成する（ステップＳ１３０２）。
【００８２】
次に、暗号化処理部１１０３によって、公開鍵ＩＫｐを予め定められた暗号鍵Ｋｔによって暗号化する（ステップＳ１３０３）。そして、公開鍵分割部１１０２によって、暗号化された公開鍵Ｅ−ＩＫｐに巡回符号（ＣＲＣ）を付加し（ステップＳ１３０４）、巡回符号（ＣＲＣ）を付加した公開鍵Ｅ−ＩＫｐを、複数の部分公開鍵Ｅ−ＩＫｐ−ｍ（ｍ＝１〜ｎ）に分割する（ステップＳ１３０５）。
【００８３】
ここで、分割は、実施の形態１と同様に、任意の数、任意の箇所で行ってよいが、受呼端末１１１０での公開鍵の再構築の時間を考慮すると、なるべく短時間で再構築が行え、かつ悪意のある第三者からの攻撃の防御するため、２〜３個の部分公開鍵に分割することが好ましい。
【００８４】
次いで、公開鍵分割部１１０２によって、暗号鍵Ｋｔを部分公開鍵Ｅ−ＩＫｐ−ｍと同じ個数に分割して部分暗号鍵Ｋｔ−ｍを生成する（ステップＳ１３０６）。そして、公開鍵分割部１１０２によって、発呼端末１１００の公開鍵ＩＫｐに固有の識別データであるインデックス番号を決定する（ステップＳ１３０７）。そして、公開鍵分割部１１０２によって、部分公開鍵Ｅ−ＩＫｐ−ｍごとに部分公開鍵データを生成する（ステップＳ１３０８）。
【００８５】
図１４−１、図１４−２、図１４−３、図１４−４は、公開鍵ＩＫｐから部分公開鍵データが生成される過程を示す説明図である。図１４−１は公開鍵ＩＫｐと暗号鍵Ｋｔのデータ構造図、図１４−２は、暗号化された公開鍵Ｅ−ＩＫｐに巡回符号（ＣＲＣ）を付加したデータのデータ構造図、図１４−３は暗号化された公開鍵Ｅ−ＩＫｐに巡回符号（ＣＲＣ）を付加したデータをｎ個の部分公開鍵Ｅ−ＩＫｐＣ−ｍに分割した状態と暗号鍵をｎ個に分割した状態のデータ構造図、図１４−４は部分公開鍵データのデータ構造図である。
【００８６】
部分公開鍵データの生成は、具体的には、図１４−４に示すように、部分公開鍵Ｅ−ＩＫｐＣ−ｍに、分割の順番を示すＮｏ．、送信元ＩＰアドレス（発呼端末１００のＩＰアドレス）、送信先ＩＰアドレス（受呼端末１１０のＩＰアドレス）、部分暗号鍵Ｋｔ−ｍ、ステップＳ１３０７で決定したインデックス番号とを付加し、部分公開鍵データとする。ここで、本実施の形態では、部分公開鍵Ｅ−ＩＫｐＣ−ｍの公開鍵上の位置を示す先頭ビット数やサイズであるビット長は含まれていない。
【００８７】
そして、通信処理部２０５によって、部分公開鍵データからＩＰパケットを生成し、複数の部分公開鍵データのＩＰパケットのそれぞれを異なる鍵転送サーバ１２１〜１２ｎに送信する（ステップＳ１３０９）。
【００８８】
ここで、ＩＰパケットの生成については、実施の形態１と同様に行われ、発呼端末１１００は、各鍵転送サーバ１２１〜１２ｎと発呼端末１００との間で定められた暗号アルゴリズムと暗号鍵によって部分公開鍵データを暗号化して鍵転送サーバ１２１〜１２ｎに送信し、鍵転送サーバ１２１〜１２ｎでは同様の暗号アルゴリズムと暗号鍵によって部分公開鍵データが復号化されることになる。
【００８９】
このような部分公開鍵データの鍵転送サーバ１２１〜１２ｎへの送信処理は、すべての部分公開鍵データの送信が完了するまで繰り返し行われる（ステップＳ１３１０）。これによって、分割された複数の部分公開鍵のそれぞれが異なる鍵転送サーバ１２１〜１２ｎに送信されることになる。
【００９０】
部分公開鍵データを受信した鍵転送サーバ１２１〜１２ｍによる部分公開鍵の転送処理は実施の形態１と同様に行われるため、説明を省略する。
【００９１】
次に、受呼端末１１１０による公開鍵の再構築処理について説明する。図１５は、受呼端末１１１０による公開鍵の再構築処理の手順を示すフローチャートである。受呼端末１１１０では、通信処理部３０４によって、部分公開鍵データのＩＰパケットを受信すると、公開鍵再構築部３０１によって、ＩＰパケットから部分公開鍵データを取り出し、Ｎｏ．、インデックス番号、部分公開鍵Ｅ−ＩＫｐＣ−ｍを取得する（ステップＳ１５０１）。
【００９２】
そして、公開鍵再構築部１２０１によって、取得したインデックス番号が、すでに受信済みの部分公開鍵データのインデックス番号と一致するか否かを調べることにより、部分公開鍵Ｅ−ＩＫｐＣ−ｍが既に受信した部分公開鍵と同一の公開鍵から分割されたものか否かを判断する（ステップＳ１５０２）。
【００９３】
そして、一致しない場合には（ステップＳ１５０２：Ｎｏ）、次の部分公開鍵データのＩＰパケットの受信を待つ。一方、一致する場合には（ステップＳ１５０２：Ｙｅｓ）、部分公開鍵Ｅ−ＩＫｐＣ−ｍが既に受信した部分公開鍵と同一の公開鍵から分割されたものであると判断し、次に公開鍵再構築部１２０１によって、ステップＳ１５０１で取得したＮｏ．がすでに受信済みの部分公開鍵データのＮｏ．に連続しているか否かを調べる（ステップＳ１５０３）。そして、連続していない場合には（ステップＳ１５０３：Ｎｏ）、次の部分公開鍵データのＩＰパケットの受信を待つ。
【００９４】
一方、連続している場合には（ステップＳ１５０３：Ｙｅｓ）、次に公開鍵再構築部１２０１によって、部分公開鍵Ｅ−ＩＫｐＣ−ｍを既に受信済みの部分公開鍵と結合する（ステップＳ１５０４）。そして、公開鍵再構築部１２０１によって、部分暗号鍵Ｋｔ−ｍを既に受信済みの部分暗号鍵と結合する（ステップＳ１５０５）。
【００９５】
次に、復号化処理部１２０２によって、結合された部分公開鍵を結合された部分暗号鍵によって復号化する（ステップＳ１５０６）。そして、誤り検出部１２０３によって、復号化された部分公開鍵に誤り検出がされたか否かを、巡回符号（ＣＲＣ）によって判断する（ステップＳ１５０７）。
【００９６】
そして、誤り検出がされた場合には、まだすべての部分公開鍵データのＩＰパケットの受信が完了していないと判断し（ステップＳ１５０７：Ｎｏ）、次の部分公開鍵データのＩＰパケットの受信を待つ。一方、誤り検出がされなかった場合には、すべての部分公開鍵データのＩＰパケットの受信が完了したと判断し（ステップＳ１５０７：Ｎｏ）、結合された部分公開鍵が発呼端末１１００の公開鍵であると認定する。
【００９７】
そして、共通鍵生成部３０２によって、発呼端末１００との暗号化通信で使用する共通鍵を生成する（ステップＳ１５０８）。そして、生成した共通鍵を、暗号化処理部３０３によって、再構築された発呼端末１１００の公開鍵で暗号化する（ステップＳ１５０９）。次いで、暗号化した共通鍵を部分公開鍵データ中の送信元ＩＰアドレス（発呼端末１１００のＩＰアドレス）に送信する（ステップＳ１５１０）。これによって、共通鍵が暗号化されて発呼端末１１００で受信されることになる。
【００９８】
共通鍵を受信した発呼端末１００が行う暗号化通信の確立の処理は、実施の形態１と同様に行われるため、説明を省略する。
【００９９】
このように実施の形態２の鍵交換システムによれば、実施の形態１と同様に、不特定多数との通信相手に対しても安全性を確保しながら公開鍵の交換を行って暗号化通信を行うことができる。さらに、実施の形態２の鍵交換システムによれば、分割数や部分公開鍵の公開鍵上での位置や部分公開鍵のサイズを含めないで部分公開鍵データを生成して送信しているので、鍵転送サーバ１２１〜１２ｎと受呼端末１１１０の間の伝送経路で、悪意のある第三者が部分公開鍵を傍受できたとしても、すべての部分公開鍵を取得できたか否かが不明であり、部分公開鍵から公開鍵の再構築が困難であるため、より安全性を確保しながら不特定多数との通信相手と公開鍵の交換を行って暗号化通信を行うことができる。
【産業上の利用可能性】
【０１００】
以上のように、本発明にかかる通信装置、鍵交換システムおよび鍵交換プログラムは、ＩＰ電話やインターネットのインスタントメッセージを不特定多数の通信相手と行う場合における通信装置、、鍵交換システムおよび鍵交換プログラムに適している。
【図面の簡単な説明】
【０１０１】
【図１】実施の形態１の鍵交換システムのネットワーク構成を示すブロック図である
【図２】実施の形態１の発呼端末の機能的構成を示すブロック図である。
【図３】実施の形態１の受呼端末の機能的構成を示すブロック図である。
【図４】実施の形態１の鍵転送サーバの機能的構成を示すブロック図である。
【図５】実施の形態１の発呼端末による公開鍵の分割の処理手順を示すフローチャートである。
【図６−１】公開鍵Ｉｋｐのデータ構造図である。
【図６−２】公開鍵Ｉｋｐをｎ個の部分公開鍵Ｉｋｐ−ｍに分割した状態のデータ構造図である。
【図６−３】部分公開鍵データのデータ構造図である。
【図７】ＩＰｖ６におけるＩＰアドレスの構造を示す説明図である。
【図８】実施の形態１の鍵転送サーバにおける部分公開鍵データの転送処理の手順を示すフローチャートである。
【図９】実施の形態１の共通鍵を受信した発呼端末１００が行う暗号化通信の確立の処理手順を示すフローチャートである。
【図１０】実施の形態１の受呼端末による公開鍵の再構築処理の手順を示すフローチャートである。
【図１１】実施の形態２の発呼端末の機能的構成を示すブロック図である。
【図１２】実施の形態２の受呼端末の機能的構成を示すブロック図である。
【図１３】実施の形態２の発呼端末による公開鍵の分割の処理手順を示すフローチャートである。
【図１４−１】公開鍵ＩＫｐと暗号鍵Ｋｔのデータ構造図である。
【図１４−２】暗号化された公開鍵Ｅ−ＩＫｐに巡回符号（ＣＲＣ）を付加したデータのデータ構造図である。
【図１４−３】暗号化された公開鍵Ｅ−ＩＫｐに巡回符号（ＣＲＣ）を付加したデータをｎ個の部分公開鍵Ｅ−ＩＫｐＣ−ｍに分割した状態と暗号鍵をｎ個に分割した状態のデータ構造図である。
【図１４−４】部分公開鍵データのデータ構造図である。
【図１５】実施の形態２の受呼端末による公開鍵の再構築処理の手順を示すフローチャートである。
【符号の説明】
【０１０２】
１００，１１００  発呼端末
１１０、１１１０  受呼端末
１２１〜１２ｎ      鍵転送サーバ
１３０  インターネット
２０１  公開鍵生成部
２０２，１１０２  公開鍵分割部
２０３  復号化処理部
２０４  秘密鍵生成部
２０５  通信処理部
３０１，１２０１  公開鍵再構築部
３０２  共通鍵生成部
３０３  暗号化処理部
３０４  通信処理部
４０１  公開鍵転送処理部
４０２  通信処理部
１１０３  暗号化処理部
１２０２  復号化処理部
１２０３  誤り検出部
【図１】
2005064984.tif 000003
【図２】
2005064984.tif 000004
【図３】
2005064984.tif 000005
【図４】
2005064984.tif 000006
【図５】
2005064984.tif 000007
【図６−１】
2005064984.tif 000008
【図６−２】
2005064984.tif 000009
【図６−３】
2005064984.tif 000010
【図７】
2005064984.tif 000011
【図８】
2005064984.tif 000012
【図９】
2005064984.tif 000013
【図１０】
2005064984.tif 000014
【図１１】
2005064984.tif 000015
【図１２】
2005064984.tif 000016
【図１３】
2005064984.tif 000017
【図１４−１】
2005064984.tif 000018
【図１４−２】
2005064984.tif 000019
【図１４−３】
2005064984.tif 000020
【図１４−４】
2005064984.tif 000021
【図１５】
2005064984.tif 000022