以下に、本発明の実施の形態を説明する。
図1は、本発明の一実施形態に係る通信支援システム10の構成を示す。通信支援システム10は、通信支援サーバ20および複数の情報処理装置14を備える。複数の情報処理装置14のそれぞれは、例えば汎用コンピュータ、携帯電話、またはIP(Internet Protocol)電話器等の通信端末や、電子認証サーバまたは電子署名検証サーバ等のサービス提供サーバ等であり、インターネット等の通信網12に接続され、通信網12を介して互いに通信する。また、それぞれの情報処理装置14は、通信網12を介して、同じく通信網12に接続されている通信支援サーバ20と通信する。
ここで、複数の情報処理装置14の中で、2つの情報処理装置14が通信網12を介して互いに通信を行う場合、通信網12内を流れる通信データが、他の情報処理装置14に取得され、通信内容が漏洩する場合がある。これを回避するために、当該2つの情報処理装置14間で互いの通信データを暗号化する場合がある。
また、それぞれの情報処理装置14は、異なる方式や異なるバージョンの複数の暗号方式をサポートしている場合がある。通信元および通信相手の情報処理装置14がサポートしている暗号通信方式が異なると、通信元の情報処理装置14がサポートしている暗号方式によって暗号化された通信データを、通信相手の情報処理装置14は復号できない場合がある。そのため、適切に暗号通信を行うことができない場合があった。そこで、本発明では、通信支援サーバ20に複数の情報処理装置14がサポートしている通信条件を予め登録しておき、情報処理装置14が通信を開始する場合に、自身および通信相手の情報処理装置14に共通の通信条件に基づいて、通信支援サーバ20に暗号化に使用する共通鍵等の暗号鍵を発行させる。これにより、通信元の情報処理装置14と通信相手の情報処理装置14とは適切に暗号通信を開始することができる。以下、その詳細について説明する。
図2は、通信支援サーバ20の構成の一例を示すブロック図である。通信支援サーバ20は、暗号鍵格納部200、鍵共有部202、通信条件格納部204、通信条件受付部206、暗号通信部208、通信開始要求受信部210、通信条件抽出部212、鍵配布制御部214、および鍵情報生成部216を備える。鍵共有部202は、それぞれの情報処理装置14との間で、認証等の予め定められた手順に従い、予め定められた暗号通信方式に基づく暗号鍵であるサーバ−端末間用鍵の共有を行う。
暗号鍵格納部200は、鍵共有部202が情報処理装置14と共有したそれぞれのサーバ−端末間用鍵を、それぞれのサーバ−端末間用鍵の有効期限と共に、それぞれの情報処理装置14の識別情報に対応付けて格納する。
暗号通信部208は、情報処理装置14から情報処理装置14の識別情報と共にアクセスされた場合、当該識別情報に基づいて暗号鍵格納部200を参照し、当該識別情報に対応付けて格納されている、有効期限内のサーバ−端末間用鍵がない場合に、当該識別情報に対応するサーバ−端末間用鍵を暗号鍵格納部200から読み出し、当該サーバ−端末間用鍵を用いて情報処理装置14から受信したデータを復号して通信条件受付部206、通信開始要求受信部210、および鍵配布制御部214へ送る。識別情報に対応付けて暗号鍵格納部200に格納されている、有効期限内のサーバ−端末間用鍵がない場合、暗号通信部208は、鍵共有部202に情報処理装置14との間でサーバ−端末間用鍵の共有処理を行わせる。
また、暗号通信部208は、情報処理装置14へアクセスする場合、情報処理装置14へのアクセスに先立って、当該識別情報に基づいて暗号鍵格納部200を参照し、当該識別情報に対応付けて格納されている、有効期限内のサーバ−端末間用鍵がある場合に、当該識別情報に対応するサーバ−端末間用鍵を暗号鍵格納部200から読み出し、当該サーバ−端末間用鍵を用いて、鍵情報生成部216から受け取ったデータを暗号化して、通信網12を介して情報処理装置14へ送る。識別情報に対応付けて暗号鍵格納部200に格納されている、有効期限内のサーバ−端末間用鍵がない場合、暗号通信部208は、鍵共有部202に情報処理装置14との間でサーバ−端末間用鍵の共有処理を行わせる。
このように、有効期限内のサーバ−端末間用鍵が暗号鍵格納部200に格納されている場合に、鍵共有部202によるサーバ−端末間用鍵の共有処理を省略することにより、サーバ−端末間用鍵の共有処理を通信支援サーバ20へアクセスする度に行う構成に比べて、通信支援サーバ20とそれぞれの情報処理装置14との間の通信を迅速に行うことができる。
通信条件格納部204は、情報処理装置14毎に、当該情報処理装置14が実施可能な暗号通信の通信条件を、当該情報処理装置14の識別情報に対応付けて格納する。通信条件とは、例えば、サポートしている暗号アルゴリズムの種類、バージョン、鍵の長さ等の情報である。通信条件受付部206は、複数の情報処理装置14のそれぞれから、暗号通信部208を介して、それぞれの情報処理装置14の識別情報と共に、情報処理装置14のそれぞれの通信条件を受け付け、受け付けた通信条件を、対応する情報処理装置14の識別情報に対応付けて通信条件格納部204に格納させる。
通信開始要求受信部210は、暗号通信部208を介して情報処理装置14のそれぞれから通信を行う2つの情報処理装置14の識別情報を含む通信開始要求を受信した場合に、受信した通信開始要求を鍵配布制御部214へ送り、受信した通信開始要求から通信を行う2つの情報処理装置14の識別情報を抽出し、抽出した情報処理装置14の識別情報を通信条件抽出部212へ送る。通信条件抽出部212は、通信開始要求受信部210から受け取った2つの情報処理装置14の識別情報に基づいて通信条件格納部204を参照し、当該2つの情報処理装置14に共通する通信条件である共通通信条件を抽出する。
鍵情報生成部216は、通信条件抽出部212が抽出した共通通信条件に従った暗号通信で用いる鍵である端末−端末間用鍵および当該端末−端末間用鍵の有効期限を生成し、生成した端末−端末間用鍵および有効期限を、通信条件抽出部212が抽出した共通通信条件と共に鍵配布制御部214へ送る。また、他の例として、鍵情報生成部216は、通信条件抽出部212が抽出した共通通信条件に従った暗号通信で用いる鍵を算出するための種情報である端末−端末間用鍵情報および当該端末−端末間用鍵情報の有効期限を生成し、生成した端末−端末間用鍵情報および有効期限を、通信条件抽出部212が抽出した共通通信条件と共に鍵配布制御部214へ送ってもよい。
鍵配布制御部214は、通信開始要求受信部210より受け取った通信開始要求から通信を行う2つの情報処理装置14の識別情報を抽出し、抽出した情報処理装置14の識別情報のうち、通信相手の識別情報に対応する情報処理装置14へ、鍵情報生成部216が生成した端末−端末間用鍵および有効期限を、通信開始要求と共に暗号通信部208を介して送信する。また、鍵配布制御部214は、送信した通信開始要求に応答して情報処理装置14が返信した通信開始許可を、暗号通信部208を介して受信した場合、受信した通信開始許可に含まれる情報処理装置14の識別情報を参照して、通信開始要求を送信した情報処理装置14へ、鍵情報生成部216が生成した端末−端末間用鍵および有効期限を、通信開始許可と共に暗号通信部208を介して送信する。
このように、通信支援サーバ20は、共通の通信条件に基づいて端末−端末間用鍵を生成し、生成した端末−端末間用鍵を、通信網12を介して対応する情報処理装置14へ送信するので、暗号鍵を生成し、生成した暗号鍵をそれぞれの情報処理装置14へ配布するのみの構成に比べて、サポートしていない通信条件に基づく暗号鍵が配布されることがなくなり、情報処理装置14は、通信支援サーバ20から配布された暗号鍵を用いて、他の情報処理装置14と確実に暗号通信を開始することができる。
図3は、暗号鍵格納部200に格納されるデータの構造の一例を示す。暗号鍵格納部200は、対端末間の暗号通信に用いる暗号鍵であるサーバ−端末間用鍵2002および当該サーバ−端末間用鍵2002を使用し続けることができる期限である有効期限2004を、識別情報2000に対応付けて格納する。
暗号鍵格納部200を参照することにより、暗号通信部208は、アクセスしてきた情報処理装置14に対応するサーバ−端末間用鍵を用いて、当該情報処理装置14と暗号通信を行うことができる。また、暗号鍵格納部200を参照することにより、暗号通信部208は、情報処理装置14からアクセスされた場合、当該情報処理装置14の識別情報に対応する、有効期限内のサーバ−端末間用鍵がある場合に、当該識別情報に対応するサーバ−端末間用鍵を暗号鍵格納部200から読み出し、読み出したサーバ−端末間用鍵を用いてアクセスしてきた情報処理装置14との間で暗号通信を行うことができる。一方、アクセスしてきた情報処理装置14に対応する、有効期限内のサーバ−端末間用鍵がない場合、暗号通信部208は、鍵共有部202にアクセスしてきた情報処理装置14との間でサーバ−端末間用鍵の共有処理を行わせることができる。
なお、他の例として、通信支援サーバ20は、通信支援サーバ20が有する時刻を計時する機能を用いて、有効期限を経過したサーバ−端末間用鍵を暗号鍵格納部200から削除する手段を有してもよい。この場合、暗号通信部208は、アクセスしてきた、あるいはアクセスする情報処理装置14に対応するサーバ−端末間用鍵が暗号鍵格納部200に格納されているか否かを判定すればよく、サーバ−端末間用鍵の有効期限を検証する必要がなくなり、より高速に情報処理装置14との暗号通信を開始することができる。
図4は、通信条件格納部204に格納されるデータの構造の一例を示す。通信条件格納部204は、複数の通信条件2042および当該複数の通信条件2042のそれぞれに対応する優先度2044を、識別情報2040に対応付けて格納する。通信条件格納部204を参照することにより、通信条件抽出部212は、2つの情報処理装置14に共通の通信条件を抽出することができる。
また、2つの情報処理装置14に共通の通信条件が複数存在する場合には、通信条件抽出部212は、複数の共通通信条件の中で、例えば通信開始要求を送信した情報処理装置14の通信条件であって、かつ優先度が最も高い通信条件を共通通信条件として抽出する。これにより、例えば、処理時間の削減よりも暗号化の強度を高めたい場合や、暗号化の強度を多少犠牲にしてでも処理時間を削減したい場合等の通信開始要求を送信した情報処理装置14の嗜好に応じた端末間の暗号通信を実現することができる。
なお、共通する通信条件が通信条件格納部204内に存在しない場合、通信条件抽出部212は、例えば、共通通信条件として例えばNULLデータを抽出する。通信条件抽出部212がNULLデータを抽出した場合、鍵情報生成部216は、通信条件抽出部212が抽出したNULLデータを鍵配布制御部214へ送る。鍵配布制御部214は、鍵情報生成部216からNULLデータを受け取った場合、共通の通信条件が存在しない旨を、通信開始要求を送信した情報処理装置14へ、暗号通信部208を介して通知する。
図5は、情報処理装置14の構成の一例を示すブロック図である。情報処理装置14は、鍵共有部140、対サーバ暗号鍵格納部142、対サーバ間暗号通信部144、通信条件登録部146、通信条件格納部148、通信開始要求送信部150、通信データ処理部152、対端末暗号鍵受信部154、対端末間暗号通信部156、および対端末暗号鍵格納部158を備える。
鍵共有部140は、通信支援サーバ20との間で、認証等の予め定められた手順に従い、サーバ−端末間用鍵の共有を行う。対サーバ暗号鍵格納部142は、鍵共有部140が通信支援サーバ20と共有したサーバ−端末間用鍵を、当該サーバ−端末間用鍵の有効期限に対応付けて格納する。
対サーバ間暗号通信部144は、通信支援サーバ20からアクセスされた場合、対サーバ暗号鍵格納部142を参照し、対サーバ暗号鍵格納部142に格納されている、有効期限内のサーバ−端末間用鍵がある場合に、当該サーバ−端末間用鍵を対サーバ暗号鍵格納部142から読み出し、当該サーバ−端末間用鍵を用いて通信支援サーバ20から受信した通信データを復号して対端末暗号鍵受信部154へ送る。対サーバ暗号鍵格納部142に格納されている、有効期限内のサーバ−端末間用鍵がない場合、対サーバ間暗号通信部144は、鍵共有部140に通信支援サーバ20との間でサーバ−端末間用鍵の共有処理を行わせる。
また、対サーバ間暗号通信部144は、通信支援サーバ20へアクセスする場合、通信支援サーバ20へのアクセスに先立って、対サーバ暗号鍵格納部142を参照し、対サーバ暗号鍵格納部142に格納されている、有効期限内のサーバ−端末間用鍵がある場合に、当該サーバ−端末間用鍵を対サーバ暗号鍵格納部142から読み出し、当該サーバ−端末間用鍵を用いて、通信条件登録部146、通信開始要求送信部150、および対端末暗号鍵受信部154から受け取った通信データを暗号化して、通信網12を介して通信支援サーバ20へ送る。対サーバ暗号鍵格納部142に格納されている、有効期限内のサーバ−端末間用鍵がない場合、対サーバ間暗号通信部144は、鍵共有部140に通信支援サーバ20との間でサーバ−端末間用鍵の共有処理を行わせる。
通信条件格納部148は、情報処理装置14がサポートしている通信条件を格納する。通信条件登録部146は、通信条件格納部148を参照して、通信条件が変更された場合に、情報処理装置14がサポートしている通信条件を通信条件格納部148から読み出し、対サーバ間暗号通信部144を介して通信支援サーバ20へ送信する。なお、本例において通信条件登録部146は、サポートしている通信条件の一部が変更または追加された場合であっても、通信条件格納部148に格納されている全ての通信条件を通信支援サーバ20へ送信する。
通信データ処理部152は、通信相手の情報処理装置14の識別情報および送信すべき通信データを生成すると共に、対端末間暗号通信部156を介して受信した通信データを処理する。通信開始要求送信部150は、通信データ処理部152が生成した通信相手の情報処理装置14の識別情報を、自身の情報処理装置14の識別情報と共に、対サーバ間暗号通信部144を介して通信支援サーバ20へ送信する。
対端末暗号鍵受信部154は、通信開始要求送信部150が送信した通信開始要求に応答して通信支援サーバ20から送信された通信開始許可を、自身および通信相手の情報処理装置14に共通の通信条件に基づいて生成された端末−端末間用鍵、共通通信条件、および有効期限と共に受信し、受信した通信開始許可から通信相手の情報処理装置14の識別情報を抽出し、抽出した識別情報を通信支援サーバ20から受信した端末−端末間用鍵、共通通信条件、および有効期限と共に対端末暗号鍵格納部158へ送る。対端末暗号鍵格納部158は、対端末暗号鍵受信部154が通信支援サーバ20から受信した端末−端末間用鍵、共通通信条件、および有効期限を、対端末暗号鍵受信部154が通信開始許可から抽出した通信相手の情報処理装置14の識別情報に対応付けて格納する。
また、対端末暗号鍵受信部154は、他の情報処理装置14から通信支援サーバ20を介して通信開始要求を受信した場合、当該通信開始要求を通信データ処理部152へ通知する。通信データ処理部152は、対端末暗号鍵受信部154から通信開始要求を受け取った場合、当該通信開始要求を送信した情報処理装置14との間で暗号通信を行うか否か判断する。当該通信開始要求を送信した情報処理装置14との間で暗号通信を行う場合には、通信データ処理部152は、対端末暗号鍵受信部154に、通信開始要求を送信してきた情報処理装置14宛てに通信開始許可を、対サーバ間暗号通信部144を介して返信させる。一方、当該通信開始要求を送信した情報処理装置14との間で暗号通信を行わない場合には、通信データ処理部152は、対端末暗号鍵受信部154に、通信開始要求を送信してきた情報処理装置14宛てに通信開始を許可しない旨を、対サーバ間暗号通信部144を介して返信させる。また、対端末暗号鍵受信部154は、通信開始要求に応答して他の情報処理装置14が送信した通信開始を許可しない旨を受信した場合、その旨を通信データ処理部152へ通知する。
対端末間暗号通信部156は、通信データ処理部152が送信すべき通信データを生成した場合、当該通信データおよび通信相手の情報処理装置14の識別情報を通信データ処理部152から受け取る。そして、対端末間暗号通信部156は、通信データ処理部152から受け取った通信相手の情報処理装置14の識別情報に基づいて対端末暗号鍵格納部158を参照し、当該識別情報に対応付けて格納されている、有効期限内の端末−端末間用鍵がある場合に、当該識別情報に対応する端末−端末間用鍵および共通通信条件を対端末暗号鍵格納部158から読み出す。そして、対端末間暗号通信部156は、読み出した共通通信条件に格納されている暗号アルゴリズムやバージョン等の情報に従って、読み出した端末−端末間用鍵によって、通信データ処理部152から受け取った通信データを暗号化して通信網12を介して通信相手の情報処理装置14へ送信する。通信相手の情報処理装置14の識別情報に対応付けて対端末暗号鍵格納部158に格納されている、有効期限内の端末−端末間用鍵がない場合、対端末間暗号通信部156は、通信データ処理部152に通信支援サーバ20から端末−端末間用鍵の配布を受ける必要がある旨を通知する。この通知を受け取ると、通信データ処理部152は、通信開始要求送信部150に通信開始要求を通信支援サーバ20へ送信させる。
また、対端末間暗号通信部156は、通信網12を介して当該情報処理装置14から通信データを受信した場合、受信した通信データに含まれる通信相手の情報処理装置14の識別情報に基づいて対端末暗号鍵格納部158を参照し、当該識別情報に対応付けて格納されている、有効期限内の端末−端末間用鍵がある場合に、当該識別情報に対応する端末−端末間用鍵および共通通信条件を対端末暗号鍵格納部158から読み出し、読み出した共通通信条件に従って、対応する端末−端末間用鍵によって、通信データ処理部152から受け取った通信データを復号して通信データ処理部152へ送る。通信相手の情報処理装置14の識別情報に対応付けて対端末暗号鍵格納部158に格納されている、有効期限内の端末−端末間用鍵がない場合、対端末間暗号通信部156は、通信データを送信した情報処理装置14へ、通信支援サーバ20から端末−端末間用鍵の配布を受ける必要がある旨を返信する。
一方、通信相手の情報処理装置14の識別情報に対応付けて対端末暗号鍵格納部158に格納されている、有効期限内の端末−端末間用鍵がない場合、対端末間暗号通信部156は、通信データ処理部152に通信支援サーバ20から端末−端末間用鍵の配布を受ける必要がある旨を通知する。この通知を受け取ると、通信データ処理部152は、通信開始要求送信部150に通信開始要求を通信支援サーバ20へ送信させる。
なお、他の例として、情報処理装置14は、情報処理装置14が有する時刻を計時する機能を用いて、有効期限を経過したサーバ−端末間用鍵を対サーバ暗号鍵格納部142から削除する手段を有してもよい。この場合、対サーバ間暗号通信部144は、通信支援サーバ20からアクセスされた場合、または通信支援サーバ20へアクセスする場合に、サーバ−端末間用鍵が対サーバ暗号鍵格納部142に格納されているか否かを判定すればよく、サーバ−端末間用鍵の有効期限を検証する必要がなくなり、より高速に通信支援サーバ20との暗号通信を開始することができる。
図6は、対サーバ暗号鍵格納部142に格納されるデータの構造の一例を示す。対サーバ暗号鍵格納部142は、対サーバ間の暗号通信に用いる暗号鍵であるサーバ−端末間用鍵1422および当該サーバ−端末間用鍵1422を使用し続けることができる期限を示す有効期限1424を、自身の鍵共有部140に対応付けて格納する。対サーバ暗号鍵格納部142を参照することにより、対サーバ間暗号通信部144は、サーバ−端末間用鍵を用いて通信支援サーバ20との間で暗号通信を行うことができる。また、通信支援サーバ20へアクセスする場合または通信支援サーバ20からアクセスされた場合のいずれかの場合、対サーバ暗号鍵格納部142を参照することにより、対サーバ間暗号通信部144は、有効期限内のサーバ−端末間用鍵があれば、当該サーバ−端末間用鍵を用いて通信支援サーバ20との間で暗号通信を行うことができる。一方、有効期限内のサーバ−端末間用鍵がない場合、対サーバ間暗号通信部144は、鍵共有部140に通信支援サーバ20との間でサーバ−端末間用鍵の共有処理を行わせることができる。
図7は、通信条件格納部148に格納されるデータの構造の一例を示す。通信条件格納部148は、優先度1482を、自身の情報処理装置14がサポートする通信条件1480に対応付けて格納する。通信条件格納部148を参照することにより、通信条件登録部146は、優先度が対応付けられた通信条件を通信支援サーバ20の通信条件格納部204に登録することができ、通信条件抽出部212に、優先度に基づいて共通の通信条件を抽出させることができる。従って、通信開始要求を送信した情報処理装置14の嗜好に応じた端末間の暗号通信を実現することができる。
図8は、対端末暗号鍵格納部158に格納されるデータの構造の一例を示す。対端末暗号鍵格納部158は、通信相手の情報処理装置14との間の暗号通信に用いる端末−端末間用鍵1582、自身および通信相手の情報処理装置14に共通の通信条件である共通通信条件1584、端末−端末間用鍵1582および共通通信条件1584を使用し続けることができる期限である有効期限1586を、通信相手の情報処理装置14を識別する情報である通信相手識別情報1580に対応付けて格納する。対端末暗号鍵格納部158を参照することにより、対端末間暗号通信部156は、通信データ処理部152が生成した通信データを送信すべき通信相手の情報処理装置14の識別情報に対応付けて格納されている、有効期限内の端末−端末間用鍵があるか否かを判定することができる。
図9は、通信支援サーバ20の動作の一例を示すフローチャートである。電源投入等の所定のタイミングで、本フローチャートに示す通信支援サーバ20の動作が開始する。まず、暗号通信部208は、情報処理装置14からアクセスされたか否かを判定する(S100)。情報処理装置14からアクセスされていない場合(S100:No)、暗号通信部208は、情報処理装置14からアクセスされるまでステップ100を繰り返す。
ステップ100において、情報処理装置14からアクセスされた場合(S100:Yes)、暗号通信部208は、サーバ−端末間用鍵の共有を要求する通信データか否かを判定する(S102)。サーバ−端末間用鍵の共有を要求する通信データである場合(S102:Yes)、暗号通信部208は、鍵共有部202に、アクセスしてきた情報処理装置14との間でサーバ−端末間用鍵の共有処理を行わせ(S104)、再びステップ100に示した処理を行う。
ステップ104において、鍵共有部202は、例えば、サーバ−端末間の暗号通信に使用する一つ以上のパラメータの候補を情報処理装置14の鍵共有部140から受け付け、受け付けたパラメータの候補の中から、暗号通信部208がサポートしているパラメータを一つ選択し、鍵共有部140へ返信することにより、鍵共有部202は、鍵共有部140との間で暗号通信に用いるパラメータを共有する。そして、鍵共有部202は、通信支援サーバ20の公開鍵証明書を鍵共有部140へ送信すると共に、情報処理装置14の公開鍵証明書を鍵共有部140に要求する。そして、鍵共有部202は、鍵共有部140から受信した公開鍵証明書の有効期限、署名を検証することにより、公開鍵証明書を検証する。
公開鍵証明書の検証に成功した場合、鍵共有部202と鍵共有部140とは、共有したパラメータを電子署名と共に相手へ送信し、受信した電子署名を検証することにより、通信相手を認証する。そして、鍵共有部202と鍵共有部140とが互いの認証に成功した場合に、鍵共有部140は、共有したパラメータに基づいて、通信支援サーバ20の暗号通信部208との暗号通信に用いるサーバ−端末間用鍵を生成し、生成したサーバ−端末間用鍵を通信支援サーバ20の公開鍵を用いて暗号化して鍵共有部202へ送信することにより、鍵共有部202との間で暗号通信に用いるサーバ−端末間用鍵を共有する。
なお、鍵共有部202は、外部に設けられた検証サーバに、鍵共有部140から受信した公開鍵証明書の検証を依頼してもよい。鍵共有部202から公開鍵証明書を受信した場合、検証サーバは、当該公開鍵証明書に記載された認証局をたどり、行き着いた認証局から当該公開鍵証明書の失効情報を入手することにより、入手した失効情報を検証することにより、受信した公開鍵証明書を検証する。これにより、鍵共有部202は、より厳密に情報処理装置14の公開鍵証明書を検証することができる。
ステップ102において、受信した通信データがサーバ−端末間用鍵の共有を要求する通信データでない場合(S102:No)、暗号通信部208は、アクセスしてきた情報処理装置14の識別情報に基づいて暗号鍵格納部200を参照し、当該識別情報に対応付けて格納されている、有効期限内のサーバ−端末間用鍵があるか否かを判定する(S106)。有効期限内の、対応するサーバ−端末間用鍵がない場合(S106:No)、暗号通信部208は、鍵共有部202に、サーバ−端末間用鍵の共有処理を行う必要がある旨を、アクセスしてきた情報処理装置14へ通知させ(S128)、再びステップ100に示した処理を行う。
ステップ106において、有効期限内の、対応するサーバ−端末間用鍵がある場合(S106:Yes)、暗号通信部208は、対応するサーバ−端末間用鍵を暗号鍵格納部200から読み出し、読み出したサーバ−端末間用鍵を用いて受信した通信データを復号し、復号した通信データを通信条件受付部206、通信開始要求受信部210、および鍵配布制御部214へ送る(S108)。次に、通信条件受付部206は、受信した通信データが通信条件の登録を要求するデータか、それ以外かを判定する(S110)。受信した通信データが通信条件の登録を要求するデータである場合(S110:通信条件登録)、通信条件受付部206は、受信した通信データに含まれる通信条件を、当該通信データを送信した情報処理装置14の識別情報に対応付けて通信条件格納部204に格納し(S112)、暗号通信部208は、再びステップ100に示した処理を行う。
受信した通信データが通信条件の登録を要求するデータ以外である場合(S110:それ以外)、通信開始要求受信部210および鍵配布制御部214は、受信した通信データが通信開始要求を示すデータか、通信開始要求に応答して返信された通信開始許可を示すデータかを判定する(S114)。受信した通信データが通信許可を示すデータである場合(S114:通信許可)、鍵配布制御部214は、鍵情報生成部216が生成した端末−端末間用鍵および当該端末−端末間用鍵の有効期限を、通信開始許可と共に暗号通信部208を介して、通信開始要求を送信した情報処理装置14へ送信し(S116)、暗号通信部208は、再びステップ100に示した処理を行う。
ステップ114において、受信した通信データが通信開始要求を示すデータである場合(S114:通信開始要求)、通信開始要求受信部210は、受信した通信開始要求から通信を行う2つの情報処理装置14の識別情報を抽出し、抽出した情報処理装置14の識別情報を通信条件抽出部212へ送る。そして、通信条件抽出部212は、通信開始要求受信部210から受け取った2つの情報処理装置14の識別情報に基づいて通信条件格納部204を参照し、当該2つの情報処理装置14に共通する通信条件である共通通信条件を抽出する(S118)。
次に、鍵情報生成部216は、通信条件抽出部212が抽出した共通通信条件に従った暗号通信で用いる端末−端末間用鍵および当該端末−端末間用鍵の有効期限を生成し、生成した端末−端末間用鍵および有効期限を、通信条件抽出部212が抽出した共通通信条件と共に鍵配布制御部214へ送る。鍵配布制御部214は、通信開始要求受信部210より受け取った通信開始要求から通信を行う2つの情報処理装置14の識別情報を抽出し、抽出した情報処理装置14の識別情報のうち、通信相手の情報処理装置14の識別情報を宛先として、鍵情報生成部216が生成した端末−端末間用鍵および有効期限、ならびに、通信条件抽出部212が抽出した共通通信条件を、通信開始要求と共に暗号通信部208へ送る(S120)。
次に、暗号通信部208は、鍵配布制御部214から宛先として受け取った情報処理装置14の識別情報に基づいて暗号鍵格納部200を参照し、当該識別情報に対応付けて格納されている、有効期限内のサーバ−端末間用鍵があるか否かを判定する(S122)。有効期限内の、対応するサーバ−端末間用鍵がある場合(S122:Yes)、暗号通信部208は、対応するサーバ−端末間用鍵を暗号鍵格納部200から読み出し、読み出したサーバ−端末間用鍵を用いて、鍵配布制御部214から受け取った端末−端末間用鍵および有効期限、ならびに、通信条件抽出部212が抽出した共通通信条件を、通信開始要求と共に暗号化して、通信相手の情報処理装置14へ送信し(S126)、暗号通信部208は、再びステップ100に示した処理を行う。
ステップ122において、有効期限内の、対応するサーバ−端末間用鍵がない場合(S122:No)、暗号通信部208は、鍵共有部202に、通信相手の情報処理装置14との間でサーバ−端末間用鍵の共有処理を行わせ(S124)、ステップ126に示した処理を行う。
図10は、情報処理装置14が通信支援サーバ20または他の情報処理装置14にアクセスする場合の情報処理装置14の動作の一例を示すフローチャートである。電源投入等の所定のタイミングで、本フローチャートに示す情報処理装置14の動作が開始する。まず、通信データ処理部152は、送信すべき通信データが発生したか否かを判定する(S200)。送信すべき通信データが発生した場合(S200:Yes)、対端末間暗号通信部156は、当該通信データおよび通信相手の情報処理装置14の識別情報を通信データ処理部152から受け取り、受け取った通信相手の情報処理装置14の識別情報に基づいて対端末暗号鍵格納部158を参照し、当該識別情報に対応付けて格納されている、有効期限内の端末−端末間用鍵があるか否かを判定する(S202)。有効期限内の、対応する端末−端末間用鍵がある場合(S202:Yes)、対端末間暗号通信部156は、対応する端末−端末間用鍵を対端末暗号鍵格納部158から読み出し、読み出した端末−端末間用鍵用いて通信データ処理部152から受け取った通信データを暗号化して通信網12を介して通信相手の情報処理装置14へ送信し(S204)、通信データ処理部152は、再びステップ200に示した処理を行う。
ステップ202において、有効期限内の、対応する端末−端末間用鍵がない場合(S202:No)、対端末間暗号通信部156は、通信支援サーバ20から端末−端末間用鍵の配布を受ける必要がある旨を通信データ処理部152に通知する。この通知を受け取ると、通信データ処理部152は、通信開始要求送信部150に通信開始要求を、対サーバ間暗号通信部144を介して通信支援サーバ20へ送信させる。この場合、対サーバ間暗号通信部144は、対サーバ暗号鍵格納部142に格納されている、有効期限内のサーバ−端末間用鍵があるか否かを判定する(S206)。有効期限内のサーバ−端末間用鍵がある場合(S206:Yes)、対サーバ間暗号通信部144は、サーバ−端末間用鍵を対サーバ暗号鍵格納部142から読み出し、読み出したサーバ−端末間用鍵を用いて、通信開始要求送信部150から受け取った通信開始要求を暗号化して、通信網12を介して通信支援サーバ20へ送信し(S210)、通信データ処理部152は、再びステップ200に示した処理を行う。
ステップ206において、有効期限内のサーバ−端末間用鍵がない場合(S206:No)、対サーバ間暗号通信部144は、鍵共有部140に、通信支援サーバ20との間でサーバ−端末間用鍵の共有処理を行わせ(S208)、ステップ210に示した処理を行う。
ステップ200において、送信すべき通信データが発生していない場合(S200:No)、通信条件登録部146は、通信条件格納部148を参照して、通信条件格納部148に格納された通信条件が変更されたか否かを判定する(S212)。通信条件が変更されていない場合(S212:No)、通信データ処理部152は、再びステップ200に示した処理を行う。
ステップ212において、通信条件が変更された場合(S212:Yes)、通信条件登録部146は、通信条件格納部148に格納されている通信条件を全て読み出し、読み出した通信条件を含む通信条件登録要求を生成し、生成した通信条件登録要求を対サーバ間暗号通信部144へ送る。次に、対サーバ間暗号通信部144は、対サーバ暗号鍵格納部142に格納されている、有効期限内のサーバ−端末間用鍵があるか否かを判定する(S214)。有効期限内のサーバ−端末間用鍵がある場合(S214:Yes)、対サーバ間暗号通信部144は、サーバ−端末間用鍵を対サーバ暗号鍵格納部142から読み出し、読み出したサーバ−端末間用鍵を用いて、通信条件登録部146から受け取った通信条件登録要求を暗号化して、通信網12を介して通信支援サーバ20へ送信し(S218)、通信データ処理部152は、再びステップ200に示した処理を行う。
ステップ214において、有効期限内のサーバ−端末間用鍵がない場合(S214:No)、対サーバ間暗号通信部144は、鍵共有部140に、通信支援サーバ20との間でサーバ−端末間用鍵の共有処理を行わせ(S216)、ステップ218に示した処理を行う。
図11は、情報処理装置14が通信支援サーバ20または他の情報処理装置14からアクセスされる場合の情報処理装置14の動作の一例を示すフローチャートである。電源投入等の所定のタイミングで、本フローチャートに示す情報処理装置14の動作が開始する。まず、対サーバ間暗号通信部144および対端末間暗号通信部156は、通信支援サーバ20または他の情報処理装置14のいずれかからアクセスされたか否かを判定する(S300)。通信支援サーバ20または他の情報処理装置14のいずれからもアクセスされない場合(S300:No)、対サーバ間暗号通信部144および対端末間暗号通信部156は、通信支援サーバ20または他の情報処理装置14のいずれかからアクセスされるまでステップ300を繰り返す。
ステップ300において、通信支援サーバ20または他の情報処理装置14のいずれかからアクセスがあった場合(S300:Yes)、対サーバ間暗号通信部144は、当該アクセスが通信支援サーバ20からのものであるか否かを判定する(S302)。当該アクセスが通信支援サーバ20からのものではない、すなわち当該アクセスが他の情報処理装置14からのものである場合(S302:No)、対端末間暗号通信部156は、対端末暗号鍵格納部158を参照して、通信網12を介して通信データと共に他の情報処理装置14から受信した情報処理装置14の識別情報に基づいて対端末暗号鍵格納部158を参照し、当該識別情報に対応付けて格納されている、有効期限内の端末−端末間用鍵があるか否かを判定する(S324)。有効期限内の、対応する端末−端末間用鍵がある場合(S324:Yes)、対端末間暗号通信部156は、対応する端末−端末間用鍵を対端末暗号鍵格納部158から読み出し、読み出した端末−端末間用鍵用いて、他の情報処理装置14から受信した通信データを復号して通信データ処理部152へ送ると共に、受信した通信データに応じて通信データ処理部152が送信する通信データを暗号化して通信網12を介して通信相手の情報処理装置14へ返信し(S326)、対サーバ間暗号通信部144および対端末間暗号通信部156は、再びステップ300に示した処理を行う。
ステップ324において、有効期限内の、対応する端末−端末間用鍵がない場合(S324:No)、対端末間暗号通信部156は、アクセスしてきた他の情報処理装置14に通信支援サーバ20から端末−端末間用鍵の配布を受ける必要がある旨を返信し(S328)、対サーバ間暗号通信部144および対端末間暗号通信部156は、再びステップ300に示した処理を行う。
ステップ302において、通信支援サーバ20からのアクセスがあった場合(S302:Yes)、対サーバ間暗号通信部144は、対サーバ暗号鍵格納部142に格納されている、有効期限内のサーバ−端末間用鍵があるか否かを判定する(S304)。有効期限内のサーバ−端末間用鍵がある場合(S304:Yes)、対サーバ間暗号通信部144は、サーバ−端末間用鍵を対サーバ暗号鍵格納部142から読み出し、読み出したサーバ−端末間用鍵を用いて、通信支援サーバ20から受信したデータを復号する(S308)。有効期限内のサーバ−端末間用鍵がない場合(S304:No)、対サーバ間暗号通信部144は、鍵共有部140に、通信支援サーバ20との間でサーバ−端末間用鍵の共有処理を行わせ(S306)、ステップ308に示した処理を行う。
ステップ306の処理は、例外的な処理であり、例えば通信支援サーバ20と情報処理装置14との内部時計のずれ等によって発生するものである。
次に、対端末暗号鍵受信部154は、通信支援サーバ20から受信した通信データが通信開始要求を示すデータか、通信開始要求に応答して通信支援サーバ20を介して返信された通信開始許可を示すデータかを判定する(S310)。受信した通信データが通信開始要求である場合(S310:通信開始要求)、対端末暗号鍵受信部154は、受信した通信開始要求を通信データ処理部152へ送り、通信開始要求と共に受信した端末−端末間用鍵および当該端末−端末間用鍵の有効期限を、通信開始要求を送信した情報処理装置14の識別情報に対応付けて対端末暗号鍵格納部158に格納する(S312)。
次に、通信データ処理部152は、通信開始要求を送信してきた情報処理装置14と通信を行うか否かを判定する(S318)。通信開始要求を送信してきた情報処理装置14と通信を行う場合(S318:Yes)、通信データ処理部152は、通信開始要求送信部150に通信開始許可を、対サーバ間暗号通信部144を介して通信支援サーバ20へ送信させ(S322)、対サーバ間暗号通信部144および対端末間暗号通信部156は、再びステップ300に示した処理を行う。この場合、対サーバ間暗号通信部144は、対サーバ暗号鍵格納部142に格納されているサーバ−端末間用鍵を用いて当該通信開始許可を暗号化して通信網12を介して通信支援サーバ20へ送信する。
ステップ318において、通信開始要求を送信してきた情報処理装置14と通信を行わない場合(S318:No)、通信データ処理部152は、通信開始要求送信部150に通信開始を許可しない旨を、対サーバ間暗号通信部144を介して通信支援サーバ20へ送信させ(S320)、対サーバ間暗号通信部144および対端末間暗号通信部156は、再びステップ300に示した処理を行う。
ステップ310において、受信した通信データが通信開始許可である場合(S310:通信開始許可)、対端末暗号鍵受信部154は、受信した通信開始許可を通信データ処理部152へ送り、通信開始許可と共に受信した端末−端末間用鍵および当該端末−端末間用鍵の有効期限を、通信開始許可を送信した情報処理装置14の識別情報に対応付けて対端末暗号鍵格納部158に格納する(S314)。そして、対端末間暗号通信部156は、通信開始許可と共に受信した端末−端末間用鍵を対端末暗号鍵格納部158から読み出し、読み出した端末−端末間用鍵用いて、通信データ処理部152が生成した通信データを暗号化して、通信網12を介して他の情報処理装置14へ送信すると共に、他の情報処理装置14から通信網12を介して受信した通信データを復号して通信データ処理部152へ送る(S316)。そして、対サーバ間暗号通信部144および対端末間暗号通信部156は、再びステップ300に示した処理を行う。
ここで、図9、図10、および図11に示したそれぞれの処理の関係をまとめると次のようになる。
暗号通信を行う情報処理装置14どうしが、通信相手の情報処理装置14に対応する有効期限内の端末−端末間用鍵を有する場合、図10のステップ204において、発信側の情報処理装置14が端末−端末間用鍵を用いて通信データを暗号化して通信相手の情報処理装置14へ送信する。そして、図11のステップ326において、着信側の情報処理装置14が受信したデータを端末−端末間用鍵を用いて復号する。その後、2つ情報処理装置14は、対応する端末−端末間用鍵を用いて暗号通信を行う。
また、有効期限内のサーバ−端末間用鍵を有する情報処理装置14が、通信支援サーバ20へ通信条件を登録する場合、図10のステップ218において、サーバ−端末間用鍵を用いて通信条件を暗号化して通信支援サーバ20へ送信する。これを受けて、通信支援サーバ20は、図9のステップ112において、受信した通信条件を通信条件格納部204に格納する。
また、暗号通信を行う情報処理装置14どうしが、通信相手の情報処理装置14に対応する有効期限内の端末−端末間用鍵を有していなく、かつ有効期限内のサーバ−端末間用鍵を有していない場合、図10のステップ208において、発信側の情報処理装置14は、通信支援サーバ20との間でサーバ−端末間用鍵の共有処理を行う。このとき、通信支援サーバ20は、図9のステップ104において、アクセスしてきた情報処理装置14との間でサーバ−端末間用鍵の共有処理を行う。
その後、発信側の情報処理装置14は、図10のステップ210において、通信支援サーバ20との間で共有したサーバ−端末間用鍵を用いて、通信開始要求を暗号化して通信支援サーバ20へ送信する。これを受けて、通信支援サーバ20は、図9のステップ118および120において、暗号通信を行う2つの情報処理装置14の通信条件に基づいて端末−端末間用鍵を生成する。
そして、通信支援サーバ20は、図9のステップ124において、着信側の情報処理装置14との間でサーバ−端末間用鍵の共有処理を行う。このとき、着信側の情報処理装置14は、図11のステップ306において、通信支援サーバ20との間でサーバ−端末間用鍵の共有処理を行う。
そして、通信支援サーバ20は、図9のステップ126において、通信開始要求および端末−端末間用鍵等を、共有したサーバ−端末間用鍵で暗号化して、着信側の情報処理装置14へ送信する。このとき、着信側の情報処理装置14は、図11のステップ312において、通信開始要求と共に受信した端末−端末間用鍵等を格納し、ステップ322において、通信許可をサーバ−端末間用鍵で暗号化して通信支援サーバ20へ送信する。これを受けて、通信支援サーバ20は、図9のステップ116において、通信開始許可および端末−端末間用鍵等を、サーバ−端末間用鍵で暗号化して、発信側の情報処理装置14へ送信する。これを受けて、発信側の情報処理装置14は、図11のステップ314および316において、通信開始許可と共に受信した端末−端末間用鍵等を格納して、格納した端末−端末間用鍵を用いて着信側の報処理装置14との間で暗号通信を行う。
図12は、サーバ−端末間用鍵の有効期限内に複数の情報処理装置14と通信を行う動作を説明するためのシーケンス図である。図12に示す場合において、それぞれの情報処理装置14の通信条件は既に通信支援サーバ20に登録されているものとする。情報処理装置14−2との暗号通信に先立って、情報処理装置14−1は、通信支援サーバ20との間での暗号通信に用いるサーバ−端末間用鍵の共有処理を行う(S400)。そして、情報処理装置14−1は、情報処理装置14−2の識別情報を通信相手の識別情報とする通信開始要求を通信支援サーバ20へ送信する(S401)。
次に、通信支援サーバ20は、受信した通信開始要求に含まれる情報処理装置14−1および14−2の識別情報に基づいて、両者に共通の通信条件を抽出する。そして、通信支援サーバ20は、抽出した共通通信条件に基づいて、情報処理装置14−1と情報処理装置14−2との間の暗号通信に用いる端末−端末間用鍵1を生成する(S402)。そして、通信支援サーバ20は、通信開始要求と共に、生成した端末−端末間用鍵1および当該端末−端末間用鍵1を生成するのに参照した共通通信条件を情報処理装置14−2へ送信する(S403)。この場合、通信支援サーバ20と情報処理装置14−2との間で、有効期限内のサーバ−端末間用鍵が存在しない場合、通信支援サーバ20と情報処理装置14−2との間で、ステップ400に示したサーバ−端末間用鍵の共有処理が行われる。
次に、情報処理装置14−2は、通信開始要求に応じて通信開始許可を通信支援サーバ20に応答する(S404)。そして、通信支援サーバ20は、情報処理装置14−2から受信した通信開始許可を、生成した端末−端末間用鍵1および共通通信条件と共に情報処理装置14−1へ送信する(S405)。そして、情報処理装置14−1と情報処理装置14−2とは、通信支援サーバ20から配布された端末−端末間用鍵1および共通通信条件を用いて互いに暗号通信を行うことができる(S406)。
ステップ402において、通信支援サーバ20は、端末−端末間用鍵1と共に、当該端末−端末間用鍵1を使い続けることができる期限である有効期限を生成し、端末−端末間用鍵1および共通通信条件と共に、生成した有効期限を情報処理装置14−1および14−2へそれぞれ配布する。そのため、当該有効期限内であれば、ステップ410に示すように、情報処理装置14−1と情報処理装置14−2とはいつでも端末−端末間用鍵1を用いて暗号通信を行うことができる。
また、ステップ400において情報処理装置14−1と通信支援サーバ20とが共有したサーバ−端末間用鍵にも有効期限が対応付けられており、当該有効期限内であれば、情報処理装置14−1と通信支援サーバ20とは、ステップ400において共有したサーバ−端末間用鍵を使い続けることができる。そのため、例えば、情報処理装置14−1が情報処理装置14−3と暗号通信を行う場合、ステップ400において共有したサーバ−端末間用鍵の有効期限であれば、情報処理装置14−1は、通信支援サーバ20との鍵共有処理を省略して、ステップ400において共有したサーバ−端末間用鍵を用いて、情報処理装置14−3への通信開始要求を暗号化して通信支援サーバ20へ送信するステップから開始することができる(S420)。
以上のような動作により、情報処理装置14は、複数の他の情報処理装置14との間で暗号通信を行う場合に、それぞれの他の情報処理装置14との間で、端末−端末間用鍵の共有処理を行う必要がなく、代わりに、通信支援サーバ20との間で、サーバ−端末間用鍵の共有処理のみを行えばよい。さらに、情報処理装置14は、有効期限内のサーバ−端末間用鍵があれば、サーバ−端末間用鍵の共有処理を省略することができる。これにより、情報処理装置14は、一度、通信支援サーバ20との間でサーバ−端末間用鍵の共有処理を行った後に、有効期限内のサーバ−端末間用鍵があれば、サーバ−端末間用鍵の共有処理を行うことなく、より迅速に他の情報処理装置14との通信を開始することができる、いわゆるシングルサインオンを実現することができる。
図13は、通信支援サーバ20または情報処理装置14を実現可能な電子計算機30のハードウェア構成の一例を示す。電子計算機30は、CPU300、RAM301、ROM302、外部記憶装置303、通信インターフェイス304、入出力装置305、およびメディアインターフェイス306を備える。
CPU300は、RAM301およびROM302に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM302および外部記憶装置303は、電子計算機30の起動時にCPU300が実行するブートプログラムや、電子計算機30のハードウェアに依存するプログラム等を格納する。RAM301は、CPU300が実行するプログラムおよびCPU300が使用するデータ等を格納する。
通信インターフェイス304は、通信網12を介して他の電子計算機30から受信したプログラムおよび/またはデータを、RAM301または外部記憶装置303に提供したり、CPU300へ送ったりする。それと共に、通信インターフェイス304は、CPU300が生成したデータを他の電子計算機30へ送信する。入出力装置305は、電子計算機30の管理者やユーザからのデータを受け付けてCPU300へ送ると共に、CPU300が生成したデータを管理者やユーザ等に通知する。メディアインターフェイス306は、記録媒体307からプログラムおよび/またはデータを読み取り、RAM301または外部記憶装置303に提供する。
上記プログラムは、ROM302または外部記憶装置303に予め格納されていてよい。あるいは、上記プログラムは、必要に応じて、記録媒体307からメディアインターフェイス306を介して読み出されて、ROM302または外部記憶装置303に格納されてもよく、通信インターフェイス304と通信媒体とを介して、ROM302または外部記憶装置303に格納されてもよい。
電子計算機30が通信支援サーバ20として動作する場合、電子計算機30にインストールされて実行されるプログラムは、電子計算機30を、暗号鍵格納部200、鍵共有部202、通信条件格納部204、通信条件受付部206、暗号通信部208、通信開始要求受信部210、通信条件抽出部212、鍵配布制御部214、および鍵情報生成部216としてそれぞれ機能させる。
また、電子計算機30が情報処理装置14として動作する場合、電子計算機30にインストールされて実行されるプログラムは、電子計算機30を、鍵共有部140、対サーバ暗号鍵格納部142、対サーバ間暗号通信部144、通信条件登録部146、通信条件格納部148、通信開始要求送信部150、通信データ処理部152、対端末暗号鍵受信部154、対端末間暗号通信部156、および対端末暗号鍵格納部158としてそれぞれ機能させる。
記録媒体307は、例えばDVD、PD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体記録装置等であってよい。また、通信媒体は、例えばケーブル、搬送波、およびディジタル信号等であってよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記した実施の形態に記載の範囲には限定されない。また、上記した実施の形態に、多様な変更または改良を加えることが可能であることが当業者にとって明らかである。さらに、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
例えば、通信支援サーバ20および情報処理装置14が有する複数の機能ブロックのそれぞれは、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積ロジックICによりハード的に実現されるものでもよく、あるいは、DSP(Digital Signal Processor)や汎用計算機によりソフトウエア的に実現されてもよい。
また、本例では、通信条件格納部204に格納されるそれぞれの情報処理装置14の通信条件は、それぞれの情報処理装置14から通信網12を介して登録されるが、他の例として、それぞれの情報処理装置14の通信条件は、通信条件格納部204に予め登録されていてもよい。
10・・・通信支援システム、12・・・通信網、14・・・情報処理装置、140・・・鍵共有部、142・・・対サーバ暗号鍵格納部、1420、2000、2040・・・識別情報、1422・・・サーバ−端末間用鍵、1424、2004・・・有効期限、144・・・対サーバ間暗号通信部、146・・・通信条件登録部、148・・・通信条件格納部、1480・・・通信条件、1482・・・優先度、150・・・通信開始要求送信部、152・・・通信データ処理部、154・・・対端末暗号鍵受信部、156・・・対端末間暗号通信部、158・・・対端末暗号鍵格納部、20・・・通信支援サーバ、200・・・暗号鍵格納部、2002・・・サーバ−端末間用鍵、202・・・鍵共有部、204・・・通信条件格納部、2042・・・通信条件、2044・・・優先度、206・・・通信条件受付部、208・・・暗号通信部、210・・・通信開始要求受信部、212・・・通信条件抽出部、214・・・鍵配布制御部、216・・・鍵情報生成部、30・・・電子計算機、300・・・CPU、301・・・RAM、302・・・ROM、303・・・外部記憶装置、304・・・通信インターフェイス、305・・・入出力装置、306・・・メディアインターフェイス、307・・・記録媒体