(57)【要約】【課題】  ＬＡＮを介してインターネットに接続された機器同士で、不正アクセスができないピアツーピア通信を容易に実現する。【解決手段】  要求受諾機器１０３は、要求受諾機器１０３の接続許可機器リストをサーバ装置１０１に予め送信し、サーバ装置１０１は、送信された要求受諾機器１０３の接続許可機器リストを記憶する。要求発行機器１０２は、要求発行機器１０２の機器ＩＤを含む接続要求パケット２２７をサーバ装置１０１に送信し、サーバ装置１０１は、記憶された要求受諾機器１０３の接続許可機器リストが要求発行機器１０２を含むとき、要求受諾機器１０３に接続要求パケット２３６を送信する。要求受諾機器１０３は、接続要求パケット２３６に応答してＴＣＰ接続開始パケット２１３を要求発行機器１０２に送信し、要求発行機器１０２は、ＴＣＰ接続開始パケット２１３に応答して要求受諾機器１０３との間の通信を受諾して通信を開始する。【選択図】図２
2005303784.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークにそれぞれ接続された要求発行機器と要求受諾機器とを含む複数の機器と、上記ネットワークに接続されたサーバ装置とを備えた通信システムにおいて設けられ、上記要求発行機器から上記要求受諾機器への接続要求信号を転送するサーバ装置であって、
上記複数の機器のそれぞれについて、当該機器との接続の確立を許可する機器の機器ＩＤにてなる接続許可機器リストを格納するための接続許可機器リスト格納手段を備え、
上記要求受諾機器から送信された上記要求受諾機器の接続許可機器リストを受信し、上記受信された上記要求受諾機器の接続許可機器リストを上記接続許可機器リスト格納手段に格納し、
上記要求受諾機器から定期的に送信される機器登録信号を受信し、
上記要求発行機器から送信される第１のＴＣＰ接続開始信号を受信することにより上記要求発行機器との間の第１のＴＣＰ接続を確立し、
上記確立された第１のＴＣＰ接続を用いて、上記要求発行機器の機器ＩＤを含みかつ上記要求受諾機器との接続の確立を要求する第１の接続要求信号を上記要求発行機器から受信し、
上記受信された第１の接続要求信号に応答して、上記接続許可機器リスト格納手段に格納された上記要求受諾機器の接続許可機器リストが上記要求発行機器の機器ＩＤを含むときに、上記機器登録信号に対する応答信号として上記要求受諾機器に第２の接続要求信号を送信することを特徴とするサーバ装置。
【請求項２】
上記機器登録信号は上記要求受諾機器の機器ＩＤを含み、
上記第１の接続要求信号は、上記要求受諾機器の機器ＩＤと、上記要求発行機器に関連付けられたＩＰアドレス及びポート番号とをさらに含み、
上記サーバ装置は、
上記複数の機器にそれぞれ関連付けられたＩＰアドレス及びポート番号と、上記各機器の機器ＩＤとからなる上記各機器に係る機器情報の組を含む機器情報リストを格納するための機器情報格納手段を備え、
上記機器登録信号に含まれた上記要求受諾機器の機器ＩＤと、上記機器登録信号の発信元ＩＰアドレス及び発信元ポート番号とを、上記要求受諾機器に係る機器情報の組として上記機器情報格納手段に格納し、
上記第１の接続要求信号に応答した後でありかつ上記第２の接続要求信号を送信する前に、上記接続許可機器リスト格納手段に格納された上記要求受諾機器の接続許可機器リストが上記要求発行機器の機器ＩＤを含むときに、上記第１の接続要求信号に含まれた上記要求受諾機器の機器ＩＤを、上記機器情報格納手段に格納している機器情報リストから検索し、上記機器情報リスト上で、上記第１の接続要求信号に含まれる要求受諾機器の機器ＩＤと一致した機器ＩＤを含む機器情報の組に係る機器を上記要求受諾機器として識別し、上記機器情報リスト上で、上記識別された要求受諾機器に係る機器情報の組に含まれるＩＰアドレス及びポート番号を上記要求受諾機器に関連付けられたＩＰアドレス及びポート番号として識別し、
上記識別された要求受諾機器に対して、上記識別されたＩＰアドレス及びポート番号を宛先として、上記受信された第１の接続要求信号に含まれる上記要求発行機器に関連付けられたＩＰアドレス及びポート番号を含む第２の接続要求信号を送信することを特徴とする請求項１記載のサーバ装置。
【請求項３】
上記識別された要求受諾機器に係る機器情報の組に含まれるＩＰアドレス及びポート番号を上記要求受諾機器に関連付けられたＩＰアドレス及びポート番号として識別した後であって、かつ上記要求受諾機器に上記第２の接続要求信号を送信する前に、上記要求受諾機器に第３の接続要求信号を送信し、上記第３の接続要求信号に対する応答信号として第２のＴＣＰ接続開始信号を上記要求受諾機器から受信することにより上記要求受諾機器との間において第２のＴＣＰ接続を確立し、
上記確立された第２のＴＣＰ接続を用いて、上記要求受諾機器に上記第２の接続要求信号を送信することを特徴とする請求項２記載のサーバ装置。
【請求項４】
送受信する信号を暗号化しかつ復号化するための第１及び第２の通信用共通鍵を生成し、上記第１の通信用共通鍵を用いて受信する信号の復号化を実行し、上記第２の通信用共通鍵を用いて送信する信号の暗号化を実行する第１の暗号通信手段と、上記サーバ装置の正当性を証明するためのサーバ証明書情報を格納した証明書情報格納手段とを備え、
上記第１の接続要求信号を受信する前に、上記要求発行機器に上記サーバ証明書情報を送信し、
上記要求発行機器から、上記サーバ証明書情報に応答して生成された第１の共通鍵作成情報を上記第１のＴＣＰ接続を用いて受信し、上記第１の共通鍵作成情報に応答して上記第１の暗号通信手段により第２の共通鍵作成情報を生成し、上記第１の共通鍵作成情報及び上記第２の共通鍵作成情報に基づいて上記第１の暗号通信手段により第１の通信用共通鍵を生成する一方、上記第２の共通鍵作成情報を上記要求発行機器に上記第１のＴＣＰ接続を用いて送信し、上記第１の通信用共通鍵と同一の通信用共通鍵を上記第１の共通鍵作成情報及び上記第２の共通鍵作成情報に基づいて上記要求発行機器に生成させることにより上記第１の通信用共通鍵を上記要求発行機器との間で共有し、
上記要求発行機器から、上記第１の通信用共通鍵を用いて暗号化された上記第１の接続要求信号を、上記第１のＴＣＰ接続を用いて受信し、上記受信された第１の接続要求信号を、上記第１の通信用共通鍵を用いて上記第１の暗号通信手段により復号化し、
上記第２の接続要求信号を送信する前に、上記要求受諾機器に上記サーバ証明書情報を送信し、
上記要求受諾機器から、上記サーバ証明書情報に応答して生成された第３の共通鍵作成情報を上記第２のＴＣＰ接続を用いて受信し、上記第３の共通鍵作成情報に応答して上記第１の暗号通信手段により第４の共通鍵作成情報を生成し、上記第３の共通鍵作成情報及び上記第４の共通鍵作成情報に基づいて上記第１の暗号通信手段により第２の通信用共通鍵を生成する一方、上記第４の共通鍵作成情報を上記要求受諾機器に上記第２のＴＣＰ接続を用いて送信し、上記第２の通信用共通鍵と同一の通信用共通鍵を上記第３の共通鍵作成情報及び上記第４の共通鍵作成情報に基づいて上記要求受諾機器に生成させることにより上記第２の通信用共通鍵を上記要求受諾機器との間で共有し、
上記第１の接続要求信号を受信した後であってかつ上記第２の接続要求信号を送信する前に、上記第２の通信用共通鍵を用いて上記第１の暗号通信手段により上記第２の接続要求信号を暗号化することを特徴とする請求項３記載のサーバ装置。
【請求項５】
ネットワークにそれぞれ接続された要求発行機器と要求受諾機器とを含む複数の機器と、上記ネットワークに接続されたサーバ装置とを備えた通信システムにおいて設けられ、上記サーバ装置及び上記要求受諾機器と通信する要求発行機器であって、
上記サーバ装置に第１のＴＣＰ接続開始信号を送信することによって上記サーバ装置との間の第１のＴＣＰ接続を確立し、
上記確立された第１のＴＣＰ接続を用いて、上記要求発行機器の機器ＩＤを含みかつ上記要求受諾機器との接続の確立を要求する第１の接続要求信号を上記サーバ装置に送信し、
上記要求受諾機器から送信されかつ上記要求発行機器と上記要求受諾機器との間の通信を要求する通信要求信号を受信し、上記受信された通信要求信号に応答して上記要求発行機器と上記要求受諾機器との間の通信を受諾し、上記要求受諾機器との間の通信を開始することを特徴とする要求発行機器。
【請求項６】
上記第１の接続要求信号は、上記要求受諾機器の機器ＩＤと、上記要求発行機器に関連付けられたＩＰアドレス及びポート番号とをさらに含むことを特徴とする請求項５記載の要求発行機器。
【請求項７】
上記要求受諾機器のパスワード情報を格納したパスワード情報格納手段を備え、
上記要求受諾機器との通信を開始した後に、上記要求発行機器のパスワード情報格納手段に格納された上記パスワード情報を上記要求受諾機器に送信することを特徴とする請求項６記載の要求発行機器。
【請求項８】
送受信する信号を暗号化しかつ復号化するための第１の通信用共通鍵を生成し、上記第１の通信用共通鍵を用いて送信する信号の暗号化を実行する第２の暗号通信手段と、上記サーバ装置の正当性を証明するためのサーバ証明書情報を認証する第１の証明書情報認証手段とを備え、
上記第１の接続要求信号を送信する前に、上記サーバ装置から上記サーバ証明書情報を受信し、
上記受信されたサーバ証明書情報を上記第１の証明書情報認証手段により認証し、上記受信されたサーバ証明書情報が正規であるか否かを確認し、
上記受信されたサーバ証明書情報を正規であると確認したとき、上記第２の暗号通信手段により第１の共通鍵作成情報を生成し、上記生成された第１の共通鍵作成情報を上記第１のＴＣＰ接続を用いて上記サーバ装置に送信し、上記サーバ装置から、上記第１の共通鍵作成情報に応答して生成された第２の共通鍵作成情報を上記第１のＴＣＰ接続を用いて受信し、上記第１の共通鍵作成情報及び上記第２の共通鍵作成情報に基づいて上記第２の暗号通信手段により第１の通信用共通鍵を生成する一方、上記第１の通信用共通鍵と同一の通信用共通鍵を上記第１の共通鍵作成情報及び上記第２の共通鍵作成情報に基づいて上記サーバ装置に生成させることにより上記第１の通信用共通鍵を上記サーバ装置との間で共有し、
上記第１の接続要求信号を送信する前に、上記第１の通信用共通鍵を用いて上記第２の暗号通信手段により上記第１の接続要求信号を暗号化し、
上記暗号化された上記第１の接続要求信号を上記第１のＴＣＰ接続を用いて上記サーバ装置に送信することを特徴とする請求項５乃至７のうちのいずれか１つに記載の要求発行機器。
【請求項９】
ネットワークにそれぞれ接続された要求発行機器と要求受諾機器とを含む複数の機器と、上記ネットワークに接続されたサーバ装置とを備えた通信システムにおいて設けられ、上記サーバ装置及び上記要求発行機器と通信する要求受諾機器であって、
上記要求受諾機器との接続の確立を許可する機器の機器ＩＤにてなる上記要求受諾機器の接続許可機器リストを上記サーバ装置に予め送信し、
機器登録信号を上記サーバ装置に定期的に送信し、
上記機器登録信号に対する応答信号として第２の接続要求信号を上記サーバ装置から受信し、
上記受信された第２の接続要求信号に応答して、上記要求受諾機器と上記要求発行機器との間の通信を要求する通信要求信号を上記要求発行機器に送信し、
上記要求発行機器が上記通信要求信号に応答して上記要求受諾機器と上記要求発行機器との間の通信を受諾した後に、上記要求発行機器との通信を開始することを特徴とする要求受諾機器。
【請求項１０】
上記要求受諾機器は、上記機器登録信号に上記要求受諾機器の機器ＩＤを付加して上記サーバ装置に送信し、
上記第２の接続要求信号は、上記要求発行機器に関連付けられたＩＰアドレス及びポート番号を含み、
上記要求受諾機器は、上記サーバ装置から受信された上記第２の接続要求信号に含まれる上記要求発行機器に関連付けられたＩＰアドレス及びポート番号を宛先として上記通信要求信号を送信することを特徴とする請求項９記載の要求受諾機器。
【請求項１１】
上記機器登録信号を上記サーバ装置に送信した後であって上記第２の接続要求信号を受信する前に、上記機器登録信号に対する応答信号として上記サーバ装置から第３の接続要求信号を受信し、上記第３の接続要求信号に対する応答信号として第２のＴＣＰ接続開始信号を上記サーバ装置に送信することにより上記サーバ装置との間において第２のＴＣＰ接続を確立し、
上記確立された第２のＴＣＰ接続を用いて上記サーバ装置から上記第２の接続要求信号を受信することを特徴とする請求項１０記載の要求受諾機器。
【請求項１２】
上記要求受諾機器のパスワード情報を格納したパスワード情報格納手段を備え、
上記要求発行機器との間の通信を開始した後に、上記要求発行機器から送信されたパスワード情報を受信し、
上記受信されたパスワード情報が、上記要求受諾機器のパスワード情報格納手段に格納された上記パスワード情報と一致しているときに上記要求発行機器との通信を継続する一方、一致しないときには上記通信を中止することを特徴とする請求項１１記載の要求受諾機器。
【請求項１３】
送受信する信号を暗号化しかつ復号化するための第２の通信用共通鍵を生成し、上記第２の通信用共通鍵を用いて受信する信号の復号化を実行する第３の暗号通信手段と、上記サーバ装置の正当性を証明するためのサーバ証明書情報を認証する第２の証明書情報認証手段とを備え、
上記第２の接続要求信号を受信する前に、上記サーバ装置から上記サーバ証明書情報を受信し、
上記受信されたサーバ証明書情報を上記第２の証明書情報認証手段により認証し、上記受信されたサーバ証明書情報が正規であるか否かを確認し、
上記受信されたサーバ証明書情報を正規であると確認したとき、上記第３の暗号通信手段により第３の共通鍵作成情報を生成し、上記生成された第３の共通鍵作成情報を上記第２のＴＣＰ接続を用いて上記サーバ装置に送信し、上記サーバ装置から、上記第３の共通鍵作成情報に応答して生成された第４の共通鍵作成情報を上記第２のＴＣＰ接続を用いて受信し、上記第２の共通鍵作成情報及び上記第４の共通鍵作成情報に基づいて上記第３の暗号通信手段により第２の通信用共通鍵を生成する一方、上記第２の通信用共通鍵と同一の通信用共通鍵を上記第３の共通鍵作成情報及び上記第４の共通鍵作成情報に基づいて上記サーバ装置に生成させることにより上記第２の通信用共通鍵を上記サーバ装置との間で共有し、
上記サーバ装置から、上記第２の通信用共通鍵を用いて暗号化された上記第２の接続要求信号を、上記第２のＴＣＰ接続を用いて受信し、上記受信された第２の接続要求信号を、上記第２の通信用共通鍵を用いて上記第３の暗号通信手段により復号化することを特徴とする請求項１１又は１２記載の要求受諾機器。
【請求項１４】
請求項１記載のサーバ装置と、請求項５記載の要求発行機器及び請求項９記載の要求受諾機器を含む複数の機器とを備えた通信システムであって、
上記複数の機器と上記サーバ装置とはそれぞれネットワークに接続されたことを特徴とする通信システム。
【請求項１５】
請求項２記載のサーバ装置と、請求項６記載の要求発行機器及び請求項１０記載の要求受諾機器を含む複数の機器とを備えた通信システムであって、
上記複数の機器と上記サーバ装置とはそれぞれネットワークに接続されたことを特徴とする通信システム。
【請求項１６】
請求項３記載のサーバ装置と、請求項６記載の要求発行機器及び請求項１１記載の要求受諾機器を含む複数の機器とを備えた通信システムであって、
上記複数の機器と上記サーバ装置とはそれぞれネットワークに接続されたことを特徴とする通信システム。
【請求項１７】
請求項３記載のサーバ装置と、請求項７記載の要求発行機器及び請求項１２記載の要求受諾機器を含む複数の機器とを備えた通信システムであって、
上記複数の機器と上記サーバ装置とはそれぞれネットワークに接続されたことを特徴とする通信システム。
【請求項１８】
請求項４記載のサーバ装置と、請求項８記載の要求発行機器及び請求項１３記載の要求受諾機器を含む複数の機器とを備えた通信システムであって、
上記複数の機器と上記サーバ装置とはそれぞれネットワークに接続されたことを特徴とする通信システム。
【請求項１９】
ネットワークにそれぞれ接続された要求発行機器と要求受諾機器とを含む複数の機器と、上記ネットワークに接続されたサーバ装置とを備えた通信システムにおいて設けられ、上記要求発行機器から上記要求受諾機器への接続要求信号を転送するサーバ装置の通信方法であって、
上記サーバ装置は、上記複数の機器のそれぞれについて、当該機器との接続の確立を許可する機器の機器ＩＤにてなる接続許可機器リストを格納するための接続許可機器リスト格納手段を備え、
上記通信方法は、
上記要求受諾機器から送信された上記要求受諾機器の接続許可機器リストを受信し、上記受信された上記要求受諾機器の接続許可機器リストを上記接続許可機器リスト格納手段に格納するステップと、
上記要求受諾機器から定期的に送信される機器登録信号を受信するステップと、
上記要求発行機器から送信される第１のＴＣＰ接続開始信号を受信することにより上記要求発行機器との間の第１のＴＣＰ接続を確立するステップと、
上記確立された第１のＴＣＰ接続を用いて、上記要求発行機器の機器ＩＤを含みかつ上記要求受諾機器との接続の確立を要求する第１の接続要求信号を上記要求発行機器から受信するステップと、
上記受信された第１の接続要求信号に応答して、上記接続許可機器リスト格納手段に格納された上記要求受諾機器の接続許可機器リストが上記要求発行機器の機器ＩＤを含むときに、上記機器登録信号に対する応答信号として上記要求受諾機器に第２の接続要求信号を送信するステップとを含むことを特徴とする通信方法。
【請求項２０】
上記機器登録信号は上記要求受諾機器の機器ＩＤを含み、
上記第１の接続要求信号は、上記要求受諾機器の機器ＩＤと、上記要求発行機器に関連付けられたＩＰアドレス及びポート番号とをさらに含み、
上記サーバ装置は、上記複数の機器にそれぞれ関連付けられたＩＰアドレス及びポート番号と、上記各機器の機器ＩＤとからなる上記各機器に係る機器情報の組を含む機器情報リストを格納するための機器情報格納手段を備え、
上記通信方法は、
上記機器登録信号に含まれた上記要求受諾機器の機器ＩＤと、上記機器登録信号の発信元ＩＰアドレス及び発信元ポート番号とを、上記要求受諾機器に係る機器情報の組として上記機器情報格納手段に格納するステップと、
上記第１の接続要求信号に応答した後でありかつ上記第２の接続要求信号を送信する前に、上記接続許可機器リスト格納手段に格納された上記要求受諾機器の接続許可機器リストが上記要求発行機器の機器ＩＤを含むときに、上記第１の接続要求信号に含まれた上記要求受諾機器の機器ＩＤを、上記機器情報格納手段に格納している機器情報リストから検索し、上記機器情報リスト上で、上記第１の接続要求信号に含まれる要求受諾機器の機器ＩＤと一致した機器ＩＤを含む機器情報の組に係る機器を上記要求受諾機器として識別し、上記機器情報リスト上で、上記識別された要求受諾機器に係る機器情報の組に含まれるＩＰアドレス及びポート番号を上記要求受諾機器に関連付けられたＩＰアドレス及びポート番号として識別するステップと、
上記識別された要求受諾機器に対して、上記識別されたＩＰアドレス及びポート番号を宛先として、上記受信された第１の接続要求信号に含まれる上記要求発行機器に関連付けられたＩＰアドレス及びポート番号を含む第２の接続要求信号を送信するステップとをさらに含むことを特徴とする請求項１９記載の通信方法。
【請求項２１】
上記識別された要求受諾機器に係る機器情報の組に含まれるＩＰアドレス及びポート番号を上記要求受諾機器に関連付けられたＩＰアドレス及びポート番号として識別した後であって、かつ上記要求受諾機器に上記第２の接続要求信号を送信する前に、上記要求受諾機器に第３の接続要求信号を送信し、上記第３の接続要求信号に対する応答信号として第２のＴＣＰ接続開始信号を上記要求受諾機器から受信することにより上記要求受諾機器との間において第２のＴＣＰ接続を確立するステップと、
上記確立された第２のＴＣＰ接続を用いて、上記要求受諾機器に上記第２の接続要求信号を送信するステップとをさらに含むことを特徴とする請求項２０記載の通信方法。
【請求項２２】
上記サーバ装置は、送受信する信号を暗号化しかつ復号化するための第１及び第２の通信用共通鍵を生成し、上記第１の通信用共通鍵を用いて受信する信号の復号化を実行し、上記第２の通信用共通鍵を用いて送信する信号の暗号化を実行する第１の暗号通信手段と、上記サーバ装置の正当性を証明するためのサーバ証明書情報を格納した証明書情報格納手段とを備え、
上記通信方法は、
上記第１の接続要求信号を受信する前に、上記要求発行機器に上記サーバ証明書情報を送信するステップと、
上記要求発行機器から、上記サーバ証明書情報に応答して生成された第１の共通鍵作成情報を上記第１のＴＣＰ接続を用いて受信し、上記第１の共通鍵作成情報に応答して上記第１の暗号通信手段により第２の共通鍵作成情報を生成し、上記第１の共通鍵作成情報及び上記第２の共通鍵作成情報に基づいて上記第１の暗号通信手段により第１の通信用共通鍵を生成する一方、上記第２の共通鍵作成情報を上記要求発行機器に上記第１のＴＣＰ接続を用いて送信し、上記第１の通信用共通鍵と同一の通信用共通鍵を上記第１の共通鍵作成情報及び上記第２の共通鍵作成情報に基づいて上記要求発行機器に生成させることにより上記第１の通信用共通鍵を上記要求発行機器との間で共有するステップと、
上記要求発行機器から、上記第１の通信用共通鍵を用いて暗号化された上記第１の接続要求信号を、上記第１のＴＣＰ接続を用いて受信し、上記受信された第１の接続要求信号を、上記第１の通信用共通鍵を用いて上記第１の暗号通信手段により復号化するステップと、
上記第２の接続要求信号を送信する前に、上記要求受諾機器に上記サーバ証明書情報を送信するステップと、
上記要求受諾機器から、上記サーバ証明書情報に応答して生成された第３の共通鍵作成情報を上記第２のＴＣＰ接続を用いて受信し、上記第３の共通鍵作成情報に応答して上記第１の暗号通信手段により第４の共通鍵作成情報を生成し、上記第３の共通鍵作成情報及び上記第４の共通鍵作成情報に基づいて上記第１の暗号通信手段により第２の通信用共通鍵を生成する一方、上記第４の共通鍵作成情報を上記要求受諾機器に上記第２のＴＣＰ接続を用いて送信し、上記第２の通信用共通鍵と同一の通信用共通鍵を上記第３の共通鍵作成情報及び上記第４の共通鍵作成情報に基づいて上記要求受諾機器に生成させることにより上記第２の通信用共通鍵を上記要求受諾機器との間で共有するステップと、
上記第１の接続要求信号を受信した後であってかつ上記第２の接続要求信号を送信する前に、上記第２の通信用共通鍵を用いて上記第１の暗号通信手段により上記第２の接続要求信号を暗号化するステップとをさらに含むことを特徴とする請求項２１記載の通信方法。
【請求項２３】
ネットワークにそれぞれ接続された要求発行機器と要求受諾機器とを含む複数の機器と、上記ネットワークに接続されたサーバ装置とを備えた通信システムにおいて設けられ、上記サーバ装置及び上記要求受諾機器と通信する要求発行機器の通信方法であって、
上記サーバ装置に第１のＴＣＰ接続開始信号を送信することによって上記サーバ装置との間の第１のＴＣＰ接続を確立するステップと、
上記確立された第１のＴＣＰ接続を用いて、上記要求発行機器の機器ＩＤを含みかつ上記要求受諾機器との接続の確立を要求する第１の接続要求信号を上記サーバ装置に送信するステップと、
上記要求受諾機器から送信されかつ上記要求発行機器と上記要求受諾機器との間の通信を要求する通信要求信号を受信し、上記受信された通信要求信号に応答して上記要求発行機器と上記要求受諾機器との間の通信を受諾し、上記要求受諾機器との間の通信を開始するステップとを含むことを特徴とする通信方法。
【請求項２４】
上記第１の接続要求信号は、上記要求受諾機器の機器ＩＤと、上記要求発行機器に関連付けられたＩＰアドレス及びポート番号とをさらに含むことを特徴とする請求項２３記載の通信方法。
【請求項２５】
上記要求発行機器は、上記要求受諾機器のパスワード情報を格納したパスワード情報格納手段を備え、
上記通信方法は、上記要求受諾機器との通信を開始した後に、上記要求発行機器のパスワード情報格納手段に格納された上記パスワード情報を上記要求受諾機器に送信するステップをさらに含むことを特徴とする請求項２４記載の通信方法。
【請求項２６】
上記要求発行機器は、送受信する信号を暗号化しかつ復号化するための第１の通信用共通鍵を生成し、上記第１の通信用共通鍵を用いて送信する信号の暗号化を実行する第２の暗号通信手段と、上記サーバ装置の正当性を証明するためのサーバ証明書情報を認証する第１の証明書情報認証手段とを備え、
上記通信方法は、
上記第１の接続要求信号を送信する前に、上記サーバ装置から上記サーバ証明書情報を受信するステップと、
上記受信されたサーバ証明書情報を上記第１の証明書情報認証手段により認証し、上記受信されたサーバ証明書情報が正規であるか否かを確認するステップと、
上記受信されたサーバ証明書情報を正規であると確認したとき、上記第２の暗号通信手段により第１の共通鍵作成情報を生成し、上記生成された第１の共通鍵作成情報を上記第１のＴＣＰ接続を用いて上記サーバ装置に送信し、上記サーバ装置から、上記第１の共通鍵作成情報に応答して生成された第２の共通鍵作成情報を上記第１のＴＣＰ接続を用いて受信し、上記第１の共通鍵作成情報及び上記第２の共通鍵作成情報に基づいて上記第２の暗号通信手段により第１の通信用共通鍵を生成する一方、上記第１の通信用共通鍵と同一の通信用共通鍵を上記第１の共通鍵作成情報及び上記第２の共通鍵作成情報に基づいて上記サーバ装置に生成させることにより上記第１の通信用共通鍵を上記サーバ装置との間で共有するステップと、
上記第１の接続要求信号を送信する前に、上記第１の通信用共通鍵を用いて上記第２の暗号通信手段により上記第１の接続要求信号を暗号化するステップと、
上記暗号化された上記第１の接続要求信号を上記第１のＴＣＰ接続を用いて上記サーバ装置に送信するステップとをさらに含むことを特徴とする請求項２３乃至２５のうちのいずれか１つに記載の通信方法。
【請求項２７】
ネットワークにそれぞれ接続された要求発行機器と要求受諾機器とを含む複数の機器と、上記ネットワークに接続されたサーバ装置とを備えた通信システムにおいて設けられ、上記サーバ装置及び上記要求発行機器と通信する要求受諾機器の通信方法であって、
上記要求受諾機器との接続の確立を許可する機器の機器ＩＤにてなる上記要求受諾機器の接続許可機器リストを上記サーバ装置に予め送信するステップと、
機器登録信号を上記サーバ装置に定期的に送信するステップと、
上記機器登録信号に対する応答信号として第２の接続要求信号を上記サーバ装置から受信するステップと、
上記受信された第２の接続要求信号に応答して、上記要求受諾機器と上記要求発行機器との間の通信を要求する通信要求信号を上記要求発行機器に送信するステップと、
上記要求発行機器が上記通信要求信号に応答して上記要求受諾機器と上記要求発行機器との間の通信を受諾した後に、上記要求発行機器との通信を開始するステップとを含むことを特徴とする通信方法。
【請求項２８】
上記機器登録信号は上記要求受諾機器の機器ＩＤを含み、
上記第２の接続要求信号は、上記要求発行機器に関連付けられたＩＰアドレス及びポート番号を含み、
上記通信方法は、上記サーバ装置から受信された上記第２の接続要求信号に含まれる上記要求発行機器に関連付けられたＩＰアドレス及びポート番号を宛先として上記通信要求信号を送信するステップをさらに含むことを特徴とする請求項２７記載の通信方法。
【請求項２９】
上記機器登録信号を上記サーバ装置に送信した後であって上記第２の接続要求信号を受信する前に、上記機器登録信号に対する応答信号として上記サーバ装置から第３の接続要求信号を受信し、上記第３の接続要求信号に対する応答信号として第２のＴＣＰ接続開始信号を上記サーバ装置に送信することにより上記サーバ装置との間において第２のＴＣＰ接続を確立するステップと、
上記確立された第２のＴＣＰ接続を用いて上記サーバ装置から上記第２の接続要求信号を受信するステップとをさらに含むことを特徴とする請求項２８記載の通信方法。
【請求項３０】
上記要求受諾機器は、上記要求受諾機器のパスワード情報を格納したパスワード情報格納手段を備え、
上記通信方法は、
上記要求発行機器との間の通信を開始した後に、上記要求発行機器から送信されたパスワード情報を受信するステップと、
上記受信されたパスワード情報が、上記要求受諾機器のパスワード情報格納手段に格納された上記パスワード情報と一致しているときに上記要求発行機器との通信を継続する一方、一致しないときには上記通信を中止するステップとをさらに含むことを特徴とする請求項２９記載の通信方法。
【請求項３１】
上記要求受諾機器は、送受信する信号を暗号化しかつ復号化するための第２の通信用共通鍵を生成し、上記第２の通信用共通鍵を用いて受信する信号の復号化を実行する第３の暗号通信手段と、上記サーバ装置の正当性を証明するためのサーバ証明書情報を認証する第２の証明書情報認証手段とを備え、
上記通信方法は、
上記第２の接続要求信号を受信する前に、上記サーバ装置から上記サーバ証明書情報を受信するステップと、
上記受信されたサーバ証明書情報を上記第２の証明書情報認証手段により認証し、上記受信されたサーバ証明書情報が正規であるか否かを確認するステップと、
上記受信されたサーバ証明書情報を正規であると確認したとき、上記第３の暗号通信手段により第３の共通鍵作成情報を生成し、上記生成された第３の共通鍵作成情報を上記第２のＴＣＰ接続を用いて上記サーバ装置に送信し、上記サーバ装置から、上記第３の共通鍵作成情報に応答して生成された第４の共通鍵作成情報を上記第２のＴＣＰ接続を用いて受信し、上記第２の共通鍵作成情報及び上記第４の共通鍵作成情報に基づいて上記第３の暗号通信手段により第２の通信用共通鍵を生成する一方、上記第２の通信用共通鍵と同一の通信用共通鍵を上記第３の共通鍵作成情報及び上記第４の共通鍵作成情報に基づいて上記サーバ装置に生成させることにより上記第２の通信用共通鍵を上記サーバ装置との間で共有するステップと、
上記サーバ装置から、上記第２の通信用共通鍵を用いて暗号化された上記第２の接続要求信号を、上記第２のＴＣＰ接続を用いて受信し、上記受信された第２の接続要求信号を、上記第２の通信用共通鍵を用いて上記第３の暗号通信手段により復号化するステップとをさらに含むことを特徴とする請求項２９又は３０記載の通信方法。
【請求項３２】
上記サーバ装置と、上記要求発行機器及び上記要求受諾機器を含む複数の機器とを備えた通信システムの通信方法であって、
上記複数の機器と上記サーバ装置とはそれぞれネットワークに接続され、
請求項１９記載の通信方法に係る各ステップと、請求項２３記載の通信方法に係る各ステップと、請求項２７記載の通信方法に係る各ステップとを含むことを特徴とする通信方法。
【請求項３３】
上記サーバ装置と、上記要求発行機器及び上記要求受諾機器を含む複数の機器とを備えた通信システムの通信方法であって、
上記複数の機器と上記サーバ装置とはそれぞれネットワークに接続され、
請求項２０記載の通信方法に係る各ステップと、請求項２４記載の通信方法に係る各ステップと、請求項２８記載の通信方法に係る各ステップとを含むことを特徴とする通信方法。
【請求項３４】
上記サーバ装置と、上記要求発行機器及び上記要求受諾機器を含む複数の機器とを備えた通信システムの通信方法であって、
上記複数の機器と上記サーバ装置とはそれぞれネットワークに接続され、
請求項２１記載の通信方法に係る各ステップと、請求項２４記載の通信方法に係る各ステップと、請求項２９記載の通信方法に係る各ステップとを含むことを特徴とする通信方法。
【請求項３５】
上記サーバ装置と、上記要求発行機器及び上記要求受諾機器を含む複数の機器とを備えた通信システムの通信方法であって、
上記複数の機器と上記サーバ装置とはそれぞれネットワークに接続され、
請求項２１記載の通信方法に係る各ステップと、請求項２５記載の通信方法に係る各ステップと、請求項３０記載の通信方法に係る各ステップとを含むことを特徴とする通信方法。
【請求項３６】
上記サーバ装置と、上記要求発行機器及び上記要求受諾機器を含む複数の機器とを備えた通信システムの通信方法であって、
上記複数の機器と上記サーバ装置とはそれぞれネットワークに接続され、
請求項２２記載の通信方法に係る各ステップと、請求項２６記載の通信方法に係る各ステップと、請求項３１記載の通信方法に係る各ステップとを含むことを特徴とする通信方法。
【請求項３７】
請求項１９乃至２２のうちの１つの通信方法に係る各ステップを含むことを特徴とするプログラム。
【請求項３８】
請求項２３乃至２６のうちの１つの通信方法に係る各ステップを含むことを特徴とするプログラム。
【請求項３９】
請求項２７乃至３１のうちの１つの通信方法に係る各ステップを含むことを特徴とするプログラム。
【請求項４０】
請求項３２乃至３６のうちの１つの通信方法に係る各ステップを含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＴＣＰ／ＩＰプロトコル群を用いた通信システムであり、例えばインターネット等のネットワークに接続された機器間においてピアツーピア接続による通信を行うためのサーバ装置と、接続要求信号を発行する要求発行機器と、接続要求信号を受諾する要求受諾機器と、サーバ装置、要求発行機器及び要求受諾機器を含む通信システムと、通信方法とに関する。本発明はさらに、上記通信方法に係る各ステップを含むプログラムに関する。
【背景技術】
【０００２】
近年、ｘＤＳＬや光ファイバケーブルなどのブロードバンド環境が整ったことにより、企業、一般家庭を問わずインターネットが急速に普及してきている。また、パーソナルコンピュータ（ＰＣ）だけでなく、テレビジョン受像機やＤＶＤレコーダなどのＡＶ機器や、エアコンディショナー、冷蔵庫のような白物家庭電気製品もインターネットに接続できるようになってきている。本願明細書では、上記インターネットなどのネットワークに接続されて通信を行う機器を、「通信機器」又は「機器」という。
【０００３】
家庭や企業内のローカルエリアネットワーク（以下、ＬＡＮという。）からインターネットに接続する場合には、ネットワーク・アドレス変換（Network Address Translation；以下、ＮＡＴという。）機能やネットワーク・アドレス・ポート変換（Network Address Port Translation；以下、ＮＡＰＴという。）機能を有するルータ装置を用いるのが一般的になっている。
【０００４】
インターネットに接続された機器間において通信を行う場合には、機器毎に一意に割り当てられたグローバルＩＰアドレスが使用される。しかし、インターネットに接続する機器の急増により、グローバルＩＰアドレスの数が不足する傾向にある。そのため、インターネットに直接的には接続されずにＬＡＮを介してインターネットに接続された機器においては、ＲＦＣ１９１８により規定されたＬＡＮ内においてのみ一意であるプライベートＩＰアドレスが使用されることが多い。ただし、プライベートＩＰアドレスはインターネット上においては一意ではなく、またその使用を許されていないため、プライベートＩＰアドレスを有する機器は、そのままではインターネットに接続された他の機器との通信ができない。
【０００５】
ＮＡＴもしくはＮＡＰＴ機能は、こうした問題を解決するもので、プライベートＩＰアドレスとグローバルＩＰアドレスの相互変換を行い、ＬＡＮに接続されかつプライベートＩＰアドレスが割り当てられた機器が、インターネットに接続された他の機器と通信を行えるようにする。
【０００６】
以下、ＮＡＰＴ機能の仕組みについて、図１５乃至図１７を用いて説明する。
【０００７】
図１５は、従来技術に係る通信システムのネットワーク構成の一例を示すブロック図である。図１５において、要求受諾機器１３とＮＡＰＴ機能を有するルータ装置１０４とはＬＡＮ１０６を介して接続され、ルータ装置１０４は、そのＷＡＮ側のポートにおいてインターネット（ＷＡＮ）１０５に接続されている。サーバ装置１１と、要求発行機器１２もまた、インターネット（ＷＡＮ）１０５に接続されている。
【０００８】
本願明細書では、いわゆるインターネットをＬＡＮと明確に区別するために、インターネットをＷＡＮ（Wide Area Network）と表記することにする。
【０００９】
図１６は、ＮＡＰＴ機能を用いた通信の通信シーケンス図の一例である。図１６において、パケット２１は、要求受諾機器１３からルータ装置１０４に送信されるパケットであり、パケット２３は、ルータ装置１０４においてパケット２１に対して往路変換処理のステップＳ２２を実行することにより、ルータ装置１０４からサーバ装置１１に送信されるパケットである。同様に、パケット２５は、サーバ装置１１からルータ装置１０４に送信されるパケットであり、パケット２７は、ルータ装置１０４においてパケット２５に対して復路変換処理のステップＳ２６を実行することにより、ルータ装置１０４から要求受諾機器１３に送信されるパケットである。また、図１７は、ルータ装置１０４のＮＡＰＴテーブルの一例を示す表であり、ルータ装置１０４内のテーブルメモリ（図示せず。）には、このＮＡＰＴテーブルの内容が記憶されている。
【００１０】
ここで、図１５に示されたように、サーバ装置１１にはグローバルＩＰアドレス“１３０．７４．２３．６”が割り当てられ、ルータ装置１０４のＷＡＮ側にはグローバルＩＰアドレス“２０２．２０４．１６．１３”が割り当てられており、また要求受諾機器１３にはプライベートＩＰアドレス“１９２．１６８．１．３”が割り当てられているものとする。
【００１１】
インターネット上においての通信に用いられるＩＰパケットには、送信元（ソース）を特定する発信元ＩＰアドレスフィールド（以下、ＳＡという。）と、宛先（ディスティネーション）を指定する宛先ＩＰアドレスフィールド（以下、ＤＡという。）が含まれている。また、通信プロトコルとして、ＴＣＰ（Transmission Control Protocol）やＵＤＰ（User Datagram Protocol）を使用する場合には、ＩＰパケットには、さらに送信元（ソース）のポート番号である発信元ポート番号フィールド（以下、ＳＰという。）と宛先（ディスティネーション）のポート番号である宛先ポート番号フィールド（以下、ＤＰという。）が含まれる。
【００１２】
要求受諾機器１３が、サーバ装置１１とＴＣＰ通信する場合には、例えば図１６のようなパケット２１をルータ装置１０４に送信する。パケット２１には、発信元を特定するＳＡ“１９２．１６８．１．３”及びＳＰ“２０００”と、宛先を示すＤＡ“１３０．７４３．２３．６”及びＤＰ“１２００”とが含まれている。
【００１３】
ルータ装置１０４は、受信したパケット２１に往路変換処理のステップＳ２２を実行し、処理後のパケット２３を、宛先であるサーバ装置１１に送信する。往路変換処理のステップＳ２２において、ルータ装置１０４は、プライベートＩＰアドレスであるＳＡ“１９２．１６８．１．３”を、ルータ装置１０４のＷＡＮ側グローバルＩＰアドレスである“２０２．２０４．１６．１３”に置換し、同時にＳＰ“２０００”をルータ装置１０４のＷＡＮ側ポート番号“３４００”に置換する。このとき、ルータ装置１０４は、図１７のように、ＩＰアドレス“１９２．１６８．１．３”及び“２０２．２０４．１６．１３”とポート番号“２０００”及び“３４００”との組を、ＮＡＰＴテーブルに保存しておく。
【００１４】
さて、サーバ装置１１はパケット２３を受信すると、所定の応答処理のステップＳ２４を行った後、パケット２３に対する応答として、パケット２５をルータ装置１０４に送信する。パケット２５には、発信元を特定するＳＡ“１３０．７４３．２３．６”及びＳＰ“１２００”と、宛先を示すＤＡ“２０２．２０４．１６．１３”及びＤＰ“３４００”とが含まれている。
【００１５】
ルータ装置１０４は、パケット２５を受信すると、ＮＡＰＴテーブルを参照し、パケット２５に復路変換処理のステップＳ２６を実行し、処理後のパケット２７を要求受諾機器１３に送信する。復路変換処理のステップＳ２６において、ルータ装置１０４は、まずＮＡＰＴテーブルからＤＡ“２０２．２０４．１６．１３”とＤＰ“３４００”の組を参照する。ここではこの組は存在しているので、ルータ装置１０４は、パケット２５上のＤＡを“２０２．２０４．１６．１３”から“１９２．１６８．１．３”に置換し、パケット２５上のＤＰを“３４００”から“２０００”に置換する。
【００１６】
ＮＡＰＴテーブル内のデータは、その通信が行われている間中は保持され、通信が終了すると破棄される。
【００１７】
以上の動作により、ＬＡＮに接続されかつプライベートＩＰアドレスを持つ機器から、インターネットに接続された他の機器への通信を行うことができる。ただし、この場合だと、反対にインターネットに接続された機器から、ＬＡＮに接続されかつプライベートＩＰアドレスを持つ機器への通信を開始することができない。
【００１８】
そこでこれを解決するために、静的ＮＡＰＴと呼ばれる機能がある。すなわち、予め静的なＮＡＰＴテーブルをルータ装置１０４上に設定しておく。静的なＮＡＰＴテーブルの内容は、図１７のＮＡＰＴテーブルと同様であるが、この場合ＷＡＮ側のポート番号は、設定時に未使用のポート番号を指定しなければならない。静的ＮＡＰＴ機能を用いると、例えばインターネット側の機器から、設定されたグローバルＩＰアドレスとポート番号に対してパケットを送信すると、ルータ装置１０４が図１６と同様にＩＰアドレスとポート番号の変換を行うことにより、ＬＡＮに接続されかつプライベートＩＰアドレスを持つ要求受諾機器１３にパケットが到達することになる。これにより、インターネットに接続された機器から、ＬＡＮに接続されかつプライベートＩＰアドレスを持つ機器への通信を行えるようになる。
【００１９】
ところで、ルータ装置１０４のグローバルＩＰアドレスは常に一定であるとは限らない。例えば、ＰＰＰ（Point-to-Point Protocol）を用いてインターネットサービスプロバイダと接続し、又はＤＨＣＰ（Dynamic Host Configuration Protocol）によりＩＰアドレスが動的に割り当てられる場合には、インターネットに接続する毎にグローバルＩＰアドレスが変わることがある。このため、接続先機器のグローバルＩＰアドレスを把握しておくのは困難となる。また、静的ＮＡＰＴを用いていると、通信していない間も、ＬＡＮに接続された機器へのアクセスが可能となるため、セキュリティが低くなってしまう。
【００２０】
こうした課題を解決するための通信システムが、特許文献１において提案されており、以下、図１５乃至図１８を用いて、特許文献１において提案されている通信システムについて説明する。
【００２１】
図１８は、図１５の通信システムの通信シーケンスの一例を示すシーケンス図である。ここで、図１５に示されたように、要求発行機器１２には、グローバルＩＰアドレスとして“８．１１７．１２．１０９”が割り当てられているものとする。また要求受諾機器１３は、一意に割り当てられた機器ＩＤを内部のメモリ（図示せず。）に格納しているものとする。
【００２２】
要求受諾機器１３は、定期的に、機器ＩＤをペイロードに持つ機器登録パケット３１を、ＵＤＰを用いてサーバ装置１１に送信する。ＵＤＰパケットである機器登録パケット３１のＳＡには、要求受諾機器１３のプライベートＩＰアドレスである“１９２．１６８．１．３”が書き込まれているが、機器登録パケット３１がルータ装置１０４を通るときに、上記説明したようにＮＡＰＴ機能によって機器登録パケット３１のＳＡとＳＰが変換され、サーバ装置１１に送信される。サーバ装置１１は、受信した機器登録パケット３１を参照し、ステップＳ３２において要求受諾機器１３の機器ＩＤ、グローバルＩＰアドレス及びポート番号の組を保存しておく。
【００２３】
要求受諾機器１３は、定期的に機器登録パケット３１をサーバ装置１１に送信するため、ルータ装置１０４のグローバルＩＰアドレスもしくはＷＡＮ側ポート番号が変更になった場合でも、ステップＳ３２や、同様のステップＳ３２Ａなどが実行されることにより、サーバ装置１１に保存された要求受諾機器１３の機器ＩＤ、グローバルＩＰアドレス及びポート番号の組は自動的に更新される。
【００２４】
一方、要求発行機器１２が要求受諾機器１３との通信を行いたい場合には、要求発行機器１２は、まずサーバ装置１１にＴＣＰ接続開始パケット３３を送信することによってサーバ装置１１とのＴＣＰ接続を確立し、接続相手である要求受諾機器１３の機器ＩＤを書き込んだ接続要求パケット３４をサーバ装置１１に送信する。サーバ装置１１は、接続要求パケット３４を受信すると、ステップＳ３５において、内部のメモリ（図示せず。）に格納している機器ＩＤリストを参照し、接続要求パケット３４内に含まれた機器ＩＤの情報と同じ機器ＩＤの情報が存在すれば、この機器ＩＤに関連付けられているＩＰアドレス及びポート番号が示す機器に対して、ＵＤＰを用いて接続要求通知パケット３６を送信する。接続要求通知パケット３６は、機器登録パケット３１に対する応答としてルータ装置１０４に送信されるため、ルータ装置１０４においてＩＰアドレスとポート番号の変換が行われ、要求受諾機器１３に到達できる。要求受諾機器１３は、接続要求通知パケット３６を受信すると、サーバ装置１１に対してＴＣＰ接続開始パケット３７を送信することによってサーバ装置１１とのＴＣＰ接続を確立する。
【００２５】
以降、要求発行機器１２が、ＴＣＰ接続開始パケット３３により開始されたＴＣＰ接続を用いてコマンド信号３８をサーバ装置１１に送信すると、サーバ装置１１は、ＴＣＰ接続開始パケット３７により開始されたＴＣＰ接続を用いてコマンド信号３８を要求受諾機器１３に転送できるようになる。同様にして、要求受諾機器１３が、ＴＣＰ接続開始パケット３７により開始されたＴＣＰ接続を用いてサーバ装置１１にパケットを送信すると、サーバ装置１１は、ＴＣＰ接続開始パケット３３により開始されたＴＣＰ接続を用いてこのパケットを要求発行機器１２に転送する。
【００２６】
以上のようにして、サーバ装置１１を中継することにより、インターネットに接続されかつグローバルＩＰアドレスを持つ機器である要求発行機器１２と、ＬＡＮに接続されかつプライベートＩＰアドレスを持つ機器である要求受諾機器１３との間において、通信を行うことができるようになる。別のＬＡＮに接続された要求発行機器１２が存在しかつ別のルータ装置を通してインターネットに接続されている場合でも、同様の動作により要求受諾機器１３との通信を行える。
【００２７】
また、特許文献２では、インターネットに接続されかつグローバルＩＰアドレスをそれぞれ有するが、互いのグローバルＩＰアドレスを知らない機器間において直接伝送を行うための、すなわちピアツーピア伝送を行うための情報処理システムが開示されている。グローバルＩＰアドレスを有するクライアント間であるパーソナルコンピュータ同士の接続をピアツーピア接続とし、その他のクライアント間の接続を、サーバを経由したクライアント・サーバ型接続とさせる。ピアツーピア接続はサーバから取得した互いのグローバルＩＰアドレスに基づいて確立され、クライアント・サーバ型接続からピアツーピア型接続への一部遷移によって、サーバに対するトラフィックの一局集中を避けることができる。
【００２８】
【特許文献１】特許３４４５９８６号公報。
【特許文献２】特開２００３−２０３０２３号公報。
【発明の開示】
【発明が解決しようとする課題】
【００２９】
上記説明した特許文献１記載の通信システムは、常にサーバ装置１１経由により通信を行うため、例えば機器間において動画データのように大容量のデータを伝送しようとすると、サーバ装置１１に多大な負荷がかかるという問題があった。特に複数組の通信が同時に行われると、複数台のサーバ装置により分散処理を行っても対応できない可能性もある。
【００３０】
また、特許文献２記載の情報処理システムは、グローバルＩＰアドレスを持つ機器同士でのみピアツーピア伝送を行うようになっており、ＬＡＮに接続されかつプライベートＩＰアドレスを持つ機器の場合はピアツーピア伝送を行わないようになっている。
【００３１】
本発明の目的は以上の問題点を解決し、プライベートＩＰアドレスをそれぞれ有しかつ異なるＬＡＮを介してそれぞれインターネットに接続された機器間においてピアツーピア伝送を実現し、かつ不正アクセスを許さないサーバ装置、要求発行機器、要求受諾機器、通信システム及び通信方法を提供することにある。また、本発明の別の目的は、上記通信方法に係る各ステップを含むプログラムを提供することにある。
【課題を解決するための手段】
【００３２】
本願の第１の発明に係るサーバ装置は、ネットワークにそれぞれ接続された要求発行機器と要求受諾機器とを含む複数の機器と、上記ネットワークに接続されたサーバ装置とを備えた通信システムにおいて設けられ、上記要求発行機器から上記要求受諾機器への接続要求信号を転送するサーバ装置であって、
上記複数の機器のそれぞれについて、当該機器との接続の確立を許可する機器の機器ＩＤにてなる接続許可機器リストを格納するための接続許可機器リスト格納手段を備え、
上記要求受諾機器から送信された上記要求受諾機器の接続許可機器リストを受信し、上記受信された上記要求受諾機器の接続許可機器リストを上記接続許可機器リスト格納手段に格納し、
上記要求受諾機器から定期的に送信される機器登録信号を受信し、
上記要求発行機器から送信される第１のＴＣＰ接続開始信号を受信することにより上記要求発行機器との間の第１のＴＣＰ接続を確立し、
上記確立された第１のＴＣＰ接続を用いて、上記要求発行機器の機器ＩＤを含みかつ上記要求受諾機器との接続の確立を要求する第１の接続要求信号を上記要求発行機器から受信し、
上記受信された第１の接続要求信号に応答して、上記接続許可機器リスト格納手段に格納された上記要求受諾機器の接続許可機器リストが上記要求発行機器の機器ＩＤを含むときに、上記機器登録信号に対する応答信号として上記要求受諾機器に第２の接続要求信号を送信することを特徴とする。
【００３３】
上記本願の第１の発明に係るサーバ装置において、
上記機器登録信号は上記要求受諾機器の機器ＩＤを含み、
上記第１の接続要求信号は、上記要求受諾機器の機器ＩＤと、上記要求発行機器に関連付けられたＩＰアドレス及びポート番号とをさらに含み、
上記サーバ装置は、
上記複数の機器にそれぞれ関連付けられたＩＰアドレス及びポート番号と、上記各機器の機器ＩＤとからなる上記各機器に係る機器情報の組を含む機器情報リストを格納するための機器情報格納手段を備え、
上記機器登録信号に含まれた上記要求受諾機器の機器ＩＤと、上記機器登録信号の発信元ＩＰアドレス及び発信元ポート番号とを、上記要求受諾機器に係る機器情報の組として上記機器情報格納手段に格納し、
上記第１の接続要求信号に応答した後でありかつ上記第２の接続要求信号を送信する前に、上記接続許可機器リスト格納手段に格納された上記要求受諾機器の接続許可機器リストが上記要求発行機器の機器ＩＤを含むときに、上記第１の接続要求信号に含まれた上記要求受諾機器の機器ＩＤを、上記機器情報格納手段に格納している機器情報リストから検索し、上記機器情報リスト上で、上記第１の接続要求信号に含まれる要求受諾機器の機器ＩＤと一致した機器ＩＤを含む機器情報の組に係る機器を上記要求受諾機器として識別し、上記機器情報リスト上で、上記識別された要求受諾機器に係る機器情報の組に含まれるＩＰアドレス及びポート番号を上記要求受諾機器に関連付けられたＩＰアドレス及びポート番号として識別し、
上記識別された要求受諾機器に対して、上記識別されたＩＰアドレス及びポート番号を宛先として、上記受信された第１の接続要求信号に含まれる上記要求発行機器に関連付けられたＩＰアドレス及びポート番号を含む第２の接続要求信号を送信することを特徴とする。
【００３４】
上記本願の第１の発明に係るサーバ装置において、
上記識別された要求受諾機器に係る機器情報の組に含まれるＩＰアドレス及びポート番号を上記要求受諾機器に関連付けられたＩＰアドレス及びポート番号として識別した後であって、かつ上記要求受諾機器に上記第２の接続要求信号を送信する前に、上記要求受諾機器に第３の接続要求信号を送信し、上記第３の接続要求信号に対する応答信号として第２のＴＣＰ接続開始信号を上記要求受諾機器から受信することにより上記要求受諾機器との間において第２のＴＣＰ接続を確立し、
上記確立された第２のＴＣＰ接続を用いて、上記要求受諾機器に上記第２の接続要求信号を送信することを特徴とする。
【００３５】
上記本願の第１の発明に係るサーバ装置において、
送受信する信号を暗号化しかつ復号化するための第１及び第２の通信用共通鍵を生成し、上記第１の通信用共通鍵を用いて受信する信号の復号化を実行し、上記第２の通信用共通鍵を用いて送信する信号の暗号化を実行する第１の暗号通信手段と、上記サーバ装置の正当性を証明するためのサーバ証明書情報を格納した証明書情報格納手段とを備え、
上記第１の接続要求信号を受信する前に、上記要求発行機器に上記サーバ証明書情報を送信し、
上記要求発行機器から、上記サーバ証明書情報に応答して生成された第１の共通鍵作成情報を上記第１のＴＣＰ接続を用いて受信し、上記第１の共通鍵作成情報に応答して上記第１の暗号通信手段により第２の共通鍵作成情報を生成し、上記第１の共通鍵作成情報及び上記第２の共通鍵作成情報に基づいて上記第１の暗号通信手段により第１の通信用共通鍵を生成する一方、上記第２の共通鍵作成情報を上記要求発行機器に上記第１のＴＣＰ接続を用いて送信し、上記第１の通信用共通鍵と同一の通信用共通鍵を上記第１の共通鍵作成情報及び上記第２の共通鍵作成情報に基づいて上記要求発行機器に生成させることにより上記第１の通信用共通鍵を上記要求発行機器との間で共有し、
上記要求発行機器から、上記第１の通信用共通鍵を用いて暗号化された上記第１の接続要求信号を、上記第１のＴＣＰ接続を用いて受信し、上記受信された第１の接続要求信号を、上記第１の通信用共通鍵を用いて上記第１の暗号通信手段により復号化し、
上記第２の接続要求信号を送信する前に、上記要求受諾機器に上記サーバ証明書情報を送信し、
上記要求受諾機器から、上記サーバ証明書情報に応答して生成された第３の共通鍵作成情報を上記第２のＴＣＰ接続を用いて受信し、上記第３の共通鍵作成情報に応答して上記第１の暗号通信手段により第４の共通鍵作成情報を生成し、上記第３の共通鍵作成情報及び上記第４の共通鍵作成情報に基づいて上記第１の暗号通信手段により第２の通信用共通鍵を生成する一方、上記第４の共通鍵作成情報を上記要求受諾機器に上記第２のＴＣＰ接続を用いて送信し、上記第２の通信用共通鍵と同一の通信用共通鍵を上記第３の共通鍵作成情報及び上記第４の共通鍵作成情報に基づいて上記要求受諾機器に生成させることにより上記第２の通信用共通鍵を上記要求受諾機器との間で共有し、
上記第１の接続要求信号を受信した後であってかつ上記第２の接続要求信号を送信する前に、上記第２の通信用共通鍵を用いて上記第１の暗号通信手段により上記第２の接続要求信号を暗号化することを特徴とする。
【００３６】
本願の第２の発明に係る要求発行機器は、ネットワークにそれぞれ接続された要求発行機器と要求受諾機器とを含む複数の機器と、上記ネットワークに接続されたサーバ装置とを備えた通信システムにおいて設けられ、上記サーバ装置及び上記要求受諾機器と通信する要求発行機器であって、
上記サーバ装置に第１のＴＣＰ接続開始信号を送信することによって上記サーバ装置との間の第１のＴＣＰ接続を確立し、
上記確立された第１のＴＣＰ接続を用いて、上記要求発行機器の機器ＩＤを含みかつ上記要求受諾機器との接続の確立を要求する第１の接続要求信号を上記サーバ装置に送信し、
上記要求受諾機器から送信されかつ上記要求発行機器と上記要求受諾機器との間の通信を要求する通信要求信号を受信し、上記受信された通信要求信号に応答して上記要求発行機器と上記要求受諾機器との間の通信を受諾し、上記要求受諾機器との間の通信を開始することを特徴とする。
【００３７】
上記本願の第２の発明に係る要求発行機器において、
上記第１の接続要求信号は、上記要求受諾機器の機器ＩＤと、上記要求発行機器に関連付けられたＩＰアドレス及びポート番号とをさらに含むことを特徴とする。
【００３８】
上記本願の第２の発明に係る要求発行機器において、
上記要求受諾機器のパスワード情報を格納したパスワード情報格納手段を備え、
上記要求受諾機器との通信を開始した後に、上記要求発行機器のパスワード情報格納手段に格納された上記パスワード情報を上記要求受諾機器に送信することを特徴とする。
【００３９】
上記本願の第２の発明に係る要求発行機器において、
送受信する信号を暗号化しかつ復号化するための第１の通信用共通鍵を生成し、上記第１の通信用共通鍵を用いて送信する信号の暗号化を実行する第２の暗号通信手段と、上記サーバ装置の正当性を証明するためのサーバ証明書情報を認証する第１の証明書情報認証手段とを備え、
上記第１の接続要求信号を送信する前に、上記サーバ装置から上記サーバ証明書情報を受信し、
上記受信されたサーバ証明書情報を上記第１の証明書情報認証手段により認証し、上記受信されたサーバ証明書情報が正規であるか否かを確認し、
上記受信されたサーバ証明書情報を正規であると確認したとき、上記第２の暗号通信手段により第１の共通鍵作成情報を生成し、上記生成された第１の共通鍵作成情報を上記第１のＴＣＰ接続を用いて上記サーバ装置に送信し、上記サーバ装置から、上記第１の共通鍵作成情報に応答して生成された第２の共通鍵作成情報を上記第１のＴＣＰ接続を用いて受信し、上記第１の共通鍵作成情報及び上記第２の共通鍵作成情報に基づいて上記第２の暗号通信手段により第１の通信用共通鍵を生成する一方、上記第１の通信用共通鍵と同一の通信用共通鍵を上記第１の共通鍵作成情報及び上記第２の共通鍵作成情報に基づいて上記サーバ装置に生成させることにより上記第１の通信用共通鍵を上記サーバ装置との間で共有し、
上記第１の接続要求信号を送信する前に、上記第１の通信用共通鍵を用いて上記第２の暗号通信手段により上記第１の接続要求信号を暗号化し、
上記暗号化された上記第１の接続要求信号を上記第１のＴＣＰ接続を用いて上記サーバ装置に送信することを特徴とする。
【００４０】
本願の第３の発明に係る要求発行機器は、ネットワークにそれぞれ接続された要求発行機器と要求受諾機器とを含む複数の機器と、上記ネットワークに接続されたサーバ装置とを備えた通信システムにおいて設けられ、上記サーバ装置及び上記要求発行機器と通信する要求受諾機器であって、
上記要求受諾機器との接続の確立を許可する機器の機器ＩＤにてなる上記要求受諾機器の接続許可機器リストを上記サーバ装置に予め送信し、
機器登録信号を上記サーバ装置に定期的に送信し、
上記機器登録信号に対する応答信号として第２の接続要求信号を上記サーバ装置から受信し、
上記受信された第２の接続要求信号に応答して、上記要求受諾機器と上記要求発行機器との間の通信を要求する通信要求信号を上記要求発行機器に送信し、
上記要求発行機器が上記通信要求信号に応答して上記要求受諾機器と上記要求発行機器との間の通信を受諾した後に、上記要求発行機器との通信を開始することを特徴とする。
【００４１】
上記本願の第３の発明に係る要求受諾機器において、
上記要求受諾機器は、上記機器登録信号に上記要求受諾機器の機器ＩＤを付加して上記サーバ装置に送信し、
上記第２の接続要求信号は、上記要求発行機器に関連付けられたＩＰアドレス及びポート番号を含み、
上記要求受諾機器は、上記サーバ装置から受信された上記第２の接続要求信号に含まれる上記要求発行機器に関連付けられたＩＰアドレス及びポート番号を宛先として上記通信要求信号を送信することを特徴とする。
【００４２】
上記本願の第３の発明に係る要求受諾機器において、
上記機器登録信号を上記サーバ装置に送信した後であって上記第２の接続要求信号を受信する前に、上記機器登録信号に対する応答信号として上記サーバ装置から第３の接続要求信号を受信し、上記第３の接続要求信号に対する応答信号として第２のＴＣＰ接続開始信号を上記サーバ装置に送信することにより上記サーバ装置との間において第２のＴＣＰ接続を確立し、
上記確立された第２のＴＣＰ接続を用いて上記サーバ装置から上記第２の接続要求信号を受信することを特徴とする。
【００４３】
上記本願の第３の発明に係る要求受諾機器において、
上記要求受諾機器のパスワード情報を格納したパスワード情報格納手段を備え、
上記要求発行機器との間の通信を開始した後に、上記要求発行機器から送信されたパスワード情報を受信し、
上記受信されたパスワード情報が、上記要求受諾機器のパスワード情報格納手段に格納された上記パスワード情報と一致しているときに上記要求発行機器との通信を継続する一方、一致しないときには上記通信を中止することを特徴とする。
【００４４】
上記本願の第３の発明に係る要求受諾機器において、
送受信する信号を暗号化しかつ復号化するための第２の通信用共通鍵を生成し、上記第２の通信用共通鍵を用いて受信する信号の復号化を実行する第３の暗号通信手段と、上記サーバ装置の正当性を証明するためのサーバ証明書情報を認証する第２の証明書情報認証手段とを備え、
上記第２の接続要求信号を受信する前に、上記サーバ装置から上記サーバ証明書情報を受信し、
上記受信されたサーバ証明書情報を上記第２の証明書情報認証手段により認証し、上記受信されたサーバ証明書情報が正規であるか否かを確認し、
上記受信されたサーバ証明書情報を正規であると確認したとき、上記第３の暗号通信手段により第３の共通鍵作成情報を生成し、上記生成された第３の共通鍵作成情報を上記第２のＴＣＰ接続を用いて上記サーバ装置に送信し、上記サーバ装置から、上記第３の共通鍵作成情報に応答して生成された第４の共通鍵作成情報を上記第２のＴＣＰ接続を用いて受信し、上記第２の共通鍵作成情報及び上記第４の共通鍵作成情報に基づいて上記第３の暗号通信手段により第２の通信用共通鍵を生成する一方、上記第２の通信用共通鍵と同一の通信用共通鍵を上記第３の共通鍵作成情報及び上記第４の共通鍵作成情報に基づいて上記サーバ装置に生成させることにより上記第２の通信用共通鍵を上記サーバ装置との間で共有し、
上記サーバ装置から、上記第２の通信用共通鍵を用いて暗号化された上記第２の接続要求信号を、上記第２のＴＣＰ接続を用いて受信し、上記受信された第２の接続要求信号を、上記第２の通信用共通鍵を用いて上記第３の暗号通信手段により復号化することを特徴とする。
【００４５】
本願の第４の発明に係る通信システムは、本願の第１の発明に係るサーバ装置と、本願の第２の発明に係る要求発行機器及び本願の第３の発明に係る要求受諾機器を含む複数の機器とを備えた通信システムであって、
上記複数の機器と上記サーバ装置とはそれぞれネットワークに接続されたことを特徴とする。
【００４６】
本願の第５の発明に係るサーバ装置の通信方法は、ネットワークにそれぞれ接続された要求発行機器と要求受諾機器とを含む複数の機器と、上記ネットワークに接続されたサーバ装置とを備えた通信システムにおいて設けられ、上記要求発行機器から上記要求受諾機器への接続要求信号を転送するサーバ装置の通信方法であって、
上記サーバ装置は、上記複数の機器のそれぞれについて、当該機器との接続の確立を許可する機器の機器ＩＤにてなる接続許可機器リストを格納するための接続許可機器リスト格納手段を備え、
上記通信方法は、
上記要求受諾機器から送信された上記要求受諾機器の接続許可機器リストを受信し、上記受信された上記要求受諾機器の接続許可機器リストを上記接続許可機器リスト格納手段に格納するステップと、
上記要求受諾機器から定期的に送信される機器登録信号を受信するステップと、
上記要求発行機器から送信される第１のＴＣＰ接続開始信号を受信することにより上記要求発行機器との間の第１のＴＣＰ接続を確立するステップと、
上記確立された第１のＴＣＰ接続を用いて、上記要求発行機器の機器ＩＤを含みかつ上記要求受諾機器との接続の確立を要求する第１の接続要求信号を上記要求発行機器から受信するステップと、
上記受信された第１の接続要求信号に応答して、上記接続許可機器リスト格納手段に格納された上記要求受諾機器の接続許可機器リストが上記要求発行機器の機器ＩＤを含むときに、上記機器登録信号に対する応答信号として上記要求受諾機器に第２の接続要求信号を送信するステップとを含むことを特徴とする。
【００４７】
上記本願の第５の発明に係る通信方法において、
上記機器登録信号は上記要求受諾機器の機器ＩＤを含み、
上記第１の接続要求信号は、上記要求受諾機器の機器ＩＤと、上記要求発行機器に関連付けられたＩＰアドレス及びポート番号とをさらに含み、
上記サーバ装置は、上記複数の機器にそれぞれ関連付けられたＩＰアドレス及びポート番号と、上記各機器の機器ＩＤとからなる上記各機器に係る機器情報の組を含む機器情報リストを格納するための機器情報格納手段を備え、
上記通信方法は、
上記機器登録信号に含まれた上記要求受諾機器の機器ＩＤと、上記機器登録信号の発信元ＩＰアドレス及び発信元ポート番号とを、上記要求受諾機器に係る機器情報の組として上記機器情報格納手段に格納するステップと、
上記第１の接続要求信号に応答した後でありかつ上記第２の接続要求信号を送信する前に、上記接続許可機器リスト格納手段に格納された上記要求受諾機器の接続許可機器リストが上記要求発行機器の機器ＩＤを含むときに、上記第１の接続要求信号に含まれた上記要求受諾機器の機器ＩＤを、上記機器情報格納手段に格納している機器情報リストから検索し、上記機器情報リスト上で、上記第１の接続要求信号に含まれる要求受諾機器の機器ＩＤと一致した機器ＩＤを含む機器情報の組に係る機器を上記要求受諾機器として識別し、上記機器情報リスト上で、上記識別された要求受諾機器に係る機器情報の組に含まれるＩＰアドレス及びポート番号を上記要求受諾機器に関連付けられたＩＰアドレス及びポート番号として識別するステップと、
上記識別された要求受諾機器に対して、上記識別されたＩＰアドレス及びポート番号を宛先として、上記受信された第１の接続要求信号に含まれる上記要求発行機器に関連付けられたＩＰアドレス及びポート番号を含む第２の接続要求信号を送信するステップとをさらに含むことを特徴とする。
【００４８】
上記本願の第５の発明に係る通信方法において、
上記識別された要求受諾機器に係る機器情報の組に含まれるＩＰアドレス及びポート番号を上記要求受諾機器に関連付けられたＩＰアドレス及びポート番号として識別した後であって、かつ上記要求受諾機器に上記第２の接続要求信号を送信する前に、上記要求受諾機器に第３の接続要求信号を送信し、上記第３の接続要求信号に対する応答信号として第２のＴＣＰ接続開始信号を上記要求受諾機器から受信することにより上記要求受諾機器との間において第２のＴＣＰ接続を確立するステップと、
上記確立された第２のＴＣＰ接続を用いて、上記要求受諾機器に上記第２の接続要求信号を送信するステップとをさらに含むことを特徴とする。
【００４９】
上記本願の第５の発明に係る通信方法において、
上記サーバ装置は、送受信する信号を暗号化しかつ復号化するための第１及び第２の通信用共通鍵を生成し、上記第１の通信用共通鍵を用いて受信する信号の復号化を実行し、上記第２の通信用共通鍵を用いて送信する信号の暗号化を実行する第１の暗号通信手段と、上記サーバ装置の正当性を証明するためのサーバ証明書情報を格納した証明書情報格納手段とを備え、
上記通信方法は、
上記第１の接続要求信号を受信する前に、上記要求発行機器に上記サーバ証明書情報を送信するステップと、
上記要求発行機器から、上記サーバ証明書情報に応答して生成された第１の共通鍵作成情報を上記第１のＴＣＰ接続を用いて受信し、上記第１の共通鍵作成情報に応答して上記第１の暗号通信手段により第２の共通鍵作成情報を生成し、上記第１の共通鍵作成情報及び上記第２の共通鍵作成情報に基づいて上記第１の暗号通信手段により第１の通信用共通鍵を生成する一方、上記第２の共通鍵作成情報を上記要求発行機器に上記第１のＴＣＰ接続を用いて送信し、上記第１の通信用共通鍵と同一の通信用共通鍵を上記第１の共通鍵作成情報及び上記第２の共通鍵作成情報に基づいて上記要求発行機器に生成させることにより上記第１の通信用共通鍵を上記要求発行機器との間で共有するステップと、
上記要求発行機器から、上記第１の通信用共通鍵を用いて暗号化された上記第１の接続要求信号を、上記第１のＴＣＰ接続を用いて受信し、上記受信された第１の接続要求信号を、上記第１の通信用共通鍵を用いて上記第１の暗号通信手段により復号化するステップと、
上記第２の接続要求信号を送信する前に、上記要求受諾機器に上記サーバ証明書情報を送信するステップと、
上記要求受諾機器から、上記サーバ証明書情報に応答して生成された第３の共通鍵作成情報を上記第２のＴＣＰ接続を用いて受信し、上記第３の共通鍵作成情報に応答して上記第１の暗号通信手段により第４の共通鍵作成情報を生成し、上記第３の共通鍵作成情報及び上記第４の共通鍵作成情報に基づいて上記第１の暗号通信手段により第２の通信用共通鍵を生成する一方、上記第４の共通鍵作成情報を上記要求受諾機器に上記第２のＴＣＰ接続を用いて送信し、上記第２の通信用共通鍵と同一の通信用共通鍵を上記第３の共通鍵作成情報及び上記第４の共通鍵作成情報に基づいて上記要求受諾機器に生成させることにより上記第２の通信用共通鍵を上記要求受諾機器との間で共有するステップと、
上記第１の接続要求信号を受信した後であってかつ上記第２の接続要求信号を送信する前に、上記第２の通信用共通鍵を用いて上記第１の暗号通信手段により上記第２の接続要求信号を暗号化するステップとをさらに含むことを特徴とする。
【００５０】
本願の第６の発明に係る要求発行機器の通信方法は、ネットワークにそれぞれ接続された要求発行機器と要求受諾機器とを含む複数の機器と、上記ネットワークに接続されたサーバ装置とを備えた通信システムにおいて設けられ、上記サーバ装置及び上記要求受諾機器と通信する要求発行機器の通信方法であって、
上記サーバ装置に第１のＴＣＰ接続開始信号を送信することによって上記サーバ装置との間の第１のＴＣＰ接続を確立するステップと、
上記確立された第１のＴＣＰ接続を用いて、上記要求発行機器の機器ＩＤを含みかつ上記要求受諾機器との接続の確立を要求する第１の接続要求信号を上記サーバ装置に送信するステップと、
上記要求受諾機器から送信されかつ上記要求発行機器と上記要求受諾機器との間の通信を要求する通信要求信号を受信し、上記受信された通信要求信号に応答して上記要求発行機器と上記要求受諾機器との間の通信を受諾し、上記要求受諾機器との間の通信を開始するステップとを含むことを特徴とする。
【００５１】
上記本願の第６の発明に係る通信方法において、
上記第１の接続要求信号は、上記要求受諾機器の機器ＩＤと、上記要求発行機器に関連付けられたＩＰアドレス及びポート番号とをさらに含むことを特徴とする。
【００５２】
上記本願の第６の発明に係る通信方法において、
上記要求発行機器は、上記要求受諾機器のパスワード情報を格納したパスワード情報格納手段を備え、
上記通信方法は、上記要求受諾機器との通信を開始した後に、上記要求発行機器のパスワード情報格納手段に格納された上記パスワード情報を上記要求受諾機器に送信するステップをさらに含むことを特徴とする。
【００５３】
上記本願の第６の発明に係る通信方法において、
上記要求発行機器は、送受信する信号を暗号化しかつ復号化するための第１の通信用共通鍵を生成し、上記第１の通信用共通鍵を用いて送信する信号の暗号化を実行する第２の暗号通信手段と、上記サーバ装置の正当性を証明するためのサーバ証明書情報を認証する第１の証明書情報認証手段とを備え、
上記通信方法は、
上記第１の接続要求信号を送信する前に、上記サーバ装置から上記サーバ証明書情報を受信するステップと、
上記受信されたサーバ証明書情報を上記第１の証明書情報認証手段により認証し、上記受信されたサーバ証明書情報が正規であるか否かを確認するステップと、
上記受信されたサーバ証明書情報を正規であると確認したとき、上記第２の暗号通信手段により第１の共通鍵作成情報を生成し、上記生成された第１の共通鍵作成情報を上記第１のＴＣＰ接続を用いて上記サーバ装置に送信し、上記サーバ装置から、上記第１の共通鍵作成情報に応答して生成された第２の共通鍵作成情報を上記第１のＴＣＰ接続を用いて受信し、上記第１の共通鍵作成情報及び上記第２の共通鍵作成情報に基づいて上記第２の暗号通信手段により第１の通信用共通鍵を生成する一方、上記第１の通信用共通鍵と同一の通信用共通鍵を上記第１の共通鍵作成情報及び上記第２の共通鍵作成情報に基づいて上記サーバ装置に生成させることにより上記第１の通信用共通鍵を上記サーバ装置との間で共有するステップと、
上記第１の接続要求信号を送信する前に、上記第１の通信用共通鍵を用いて上記第２の暗号通信手段により上記第１の接続要求信号を暗号化するステップと、
上記暗号化された上記第１の接続要求信号を上記第１のＴＣＰ接続を用いて上記サーバ装置に送信するステップとをさらに含むことを特徴とする。
【００５４】
本願の第７の発明に係る要求受諾機器の通信方法は、ネットワークにそれぞれ接続された要求発行機器と要求受諾機器とを含む複数の機器と、上記ネットワークに接続されたサーバ装置とを備えた通信システムにおいて設けられ、上記サーバ装置及び上記要求発行機器と通信する要求受諾機器の通信方法であって、
上記要求受諾機器との接続の確立を許可する機器の機器ＩＤにてなる上記要求受諾機器の接続許可機器リストを上記サーバ装置に予め送信するステップと、
機器登録信号を上記サーバ装置に定期的に送信するステップと、
上記機器登録信号に対する応答信号として第２の接続要求信号を上記サーバ装置から受信するステップと、
上記受信された第２の接続要求信号に応答して、上記要求受諾機器と上記要求発行機器との間の通信を要求する通信要求信号を上記要求発行機器に送信するステップと、
上記要求発行機器が上記通信要求信号に応答して上記要求受諾機器と上記要求発行機器との間の通信を受諾した後に、上記要求発行機器との通信を開始するステップとを含むことを特徴とする。
【００５５】
上記本願の第７の発明に係る通信方法において、
上記機器登録信号は上記要求受諾機器の機器ＩＤを含み、
上記第２の接続要求信号は、上記要求発行機器に関連付けられたＩＰアドレス及びポート番号を含み、
上記通信方法は、上記サーバ装置から受信された上記第２の接続要求信号に含まれる上記要求発行機器に関連付けられたＩＰアドレス及びポート番号を宛先として上記通信要求信号を送信するステップをさらに含むことを特徴とする。
【００５６】
上記本願の第７の発明に係る通信方法において、
上記機器登録信号を上記サーバ装置に送信した後であって上記第２の接続要求信号を受信する前に、上記機器登録信号に対する応答信号として上記サーバ装置から第３の接続要求信号を受信し、上記第３の接続要求信号に対する応答信号として第２のＴＣＰ接続開始信号を上記サーバ装置に送信することにより上記サーバ装置との間において第２のＴＣＰ接続を確立するステップと、
上記確立された第２のＴＣＰ接続を用いて上記サーバ装置から上記第２の接続要求信号を受信するステップとをさらに含むことを特徴とする。
【００５７】
上記本願の第７の発明に係る通信方法において、
上記要求受諾機器は、上記要求受諾機器のパスワード情報を格納したパスワード情報格納手段を備え、
上記通信方法は、
上記要求発行機器との間の通信を開始した後に、上記要求発行機器から送信されたパスワード情報を受信するステップと、
上記受信されたパスワード情報が、上記要求受諾機器のパスワード情報格納手段に格納された上記パスワード情報と一致しているときに上記要求発行機器との通信を継続する一方、一致しないときには上記通信を中止するステップとをさらに含むことを特徴とする。
【００５８】
上記本願の第７の発明に係る通信方法において、
上記要求受諾機器は、送受信する信号を暗号化しかつ復号化するための第２の通信用共通鍵を生成し、上記第２の通信用共通鍵を用いて受信する信号の復号化を実行する第３の暗号通信手段と、上記サーバ装置の正当性を証明するためのサーバ証明書情報を認証する第２の証明書情報認証手段とを備え、
上記通信方法は、
上記第２の接続要求信号を受信する前に、上記サーバ装置から上記サーバ証明書情報を受信するステップと、
上記受信されたサーバ証明書情報を上記第２の証明書情報認証手段により認証し、上記受信されたサーバ証明書情報が正規であるか否かを確認するステップと、
上記受信されたサーバ証明書情報を正規であると確認したとき、上記第３の暗号通信手段により第３の共通鍵作成情報を生成し、上記生成された第３の共通鍵作成情報を上記第２のＴＣＰ接続を用いて上記サーバ装置に送信し、上記サーバ装置から、上記第３の共通鍵作成情報に応答して生成された第４の共通鍵作成情報を上記第２のＴＣＰ接続を用いて受信し、上記第２の共通鍵作成情報及び上記第４の共通鍵作成情報に基づいて上記第３の暗号通信手段により第２の通信用共通鍵を生成する一方、上記第２の通信用共通鍵と同一の通信用共通鍵を上記第３の共通鍵作成情報及び上記第４の共通鍵作成情報に基づいて上記サーバ装置に生成させることにより上記第２の通信用共通鍵を上記サーバ装置との間で共有するステップと、
上記サーバ装置から、上記第２の通信用共通鍵を用いて暗号化された上記第２の接続要求信号を、上記第２のＴＣＰ接続を用いて受信し、上記受信された第２の接続要求信号を、上記第２の通信用共通鍵を用いて上記第３の暗号通信手段により復号化するステップとをさらに含むことを特徴とする。
【００５９】
本願の第８の発明に係る通信システムの通信方法は、上記サーバ装置と、上記要求発行機器及び上記要求受諾機器を含む複数の機器とを備えた通信システムの通信方法であって、
上記複数の機器と上記サーバ装置とはそれぞれネットワークに接続され、
本願の第５の発明に係る通信方法における各ステップと、本願の第６の発明に係る通信方法における各ステップと、本願の第７の発明に係る通信方法における各ステップとを含むことを特徴とする。
【００６０】
また、本願の第９の発明に係るプログラムは、上記通信方法のうちの１つに係る各ステップを含むことを特徴とする。
【発明の効果】
【００６１】
従って、本発明によれば、サーバ装置を利用することにより、プライベートＩＰアドレスをそれぞれ有しかつ異なったＬＡＮを介してそれぞれインターネットに接続された機器である要求発行機器と要求受諾機器との間において、ピアツーピア通信を実現でき、かつ不正アクセスを許さないサーバ装置、要求発行機器、要求受諾機器、通信システム及び通信方法を容易に提供することができる。本発明はさらに、インターネットに接続されたコンピュータ又は機器に読み込まれたときに上記通信方法に係る各ステップを当該コンピュータ又は機器に実行させる、上記通信方法に係る各ステップを含むプログラムとして提供することもできる。
【発明を実施するための最良の形態】
【００６２】
以下、本発明の実施形態について図１乃至図１０を参照して説明する。
【００６３】
図１は、本発明の実施形態に係る通信システムのネットワーク構成の一例を示すブロック図である。要求発行機器１０２とＮＡＰＴ機能を有するルータ装置１０４ａとは要求発行側ＬＡＮ１０６ａを介して接続され、ルータ装置１０４ａは、そのＷＡＮ側のポートにおいてインターネット（ＷＡＮ）１０５に接続されている。同様に、要求受諾機器１０３とＮＡＰＴ機能を有するルータ装置１０４ｂとは要求受諾側ＬＡＮ１０６ｂを介して接続され、ルータ装置１０４ｂは、そのＷＡＮ側のポートにおいてインターネット（ＷＡＮ）１０５に接続されている。サーバ装置１０１もまたインターネット（ＷＡＮ）１０５に接続されている。
【００６４】
本実施形態の通信システムによれば、インターネット１０５にそれぞれ接続された要求発行機器１０２と要求受諾機器１０３とを含む複数の機器と、インターネット１０５に接続されたサーバ装置１０１とを備え、要求発行機器１０２から要求受諾機器１０３への接続要求信号をサーバ装置１０１が転送し、要求発行機器１０２と要求受諾機器１０３との間で通信を行う通信システムが提供される。この通信システムにおいて、サーバ装置１０１は、上記複数の機器にそれぞれ関連付けられたＩＰアドレス及びポート番号と、上記各機器の機器ＩＤとからなる上記各機器に係る機器情報の組を含む図１０の機器情報リストを格納するための機器情報格納手段又はテーブルメモリ（図示せず。）を備え、要求受諾機器１０３は、要求受諾機器１０３に係る機器情報の組を含む機器登録パケット２０１をサーバ装置１０１に定期的に送信し、サーバ装置１０１は、機器登録パケット２０１を受信し、図２のステップＳ２０２において、この受信された機器登録パケット２０１に含まれる要求受諾機器１０３に係る機器情報の組を上記機器情報格納手段に格納する。要求受諾機器１０３は、要求受諾機器１０３との接続の確立を許可する機器の機器ＩＤにてなる要求受諾機器１０３の接続許可機器リストを含む接続許可機器登録パケット２０４をサーバ装置１０１に予め送信し、サーバ装置１０１は、接続許可機器リスト格納手段を有し（本実施形態では、機器情報リストと同じテーブルメモリを共用する。）、要求受諾機器１０３から送信された接続許可機器登録パケット２０４に含まれる要求受諾機器１０３の接続許可機器リストを接続許可機器リスト格納手段に格納する。要求発行機器１０２は、要求受諾機器１０３との通信を行う際に、まず、第１の接続要求シーケンスのステップＳ２０６を実行し、ステップＳ２０６では、サーバ装置１０１にＴＣＰ接続開始パケット２２１を送信することによってサーバ装置１０１との間の第１のＴＣＰ接続を確立し、確立された第１のＴＣＰ接続を用いて、要求発行機器１０２の機器ＩＤを含みかつ要求受諾機器１０３との接続の確立を要求する接続要求パケット２２７をサーバ装置１０１に送信する。サーバ装置１０１は、要求発行機器１０２から送信された接続要求パケット２２７に応答して、接続許可機器リスト格納手段に格納された要求受諾機器１０３の接続許可機器リストが要求発行機器１０２の機器ＩＤを含むときに、機器登録パケット２０１に対する応答信号として要求受諾機器１０３に接続要求パケット２３６を送信する。要求受諾機器１０３は、サーバ装置１０１から送信された接続要求パケット２３６に応答して、要求発行機器１０２と要求受諾機器１０３との間の通信を要求する通信要求信号としてＴＣＰ接続要求パケット２１３を要求発行機器１０２に送信し、要求発行機器１０２が、要求受諾機器１０３から送信されたＴＣＰ接続開始パケット２１３に応答して要求発行機器１０２と要求受諾機器１０３との間の通信を受諾すると、要求受諾機器１０３と要求発行機器１０２との間の通信を開始する。
【００６５】
本実施形態において、サーバ装置１０１、要求発行機器１０２及び要求受諾機器１０３は、専用の通信機器として構成されてもよく、又は、以下に説明される複数のステップを実行するためのプログラムによって動作される汎用のコンピュータとして構成されてもよい。
【００６６】
本実施形態においては、図１に示すように、サーバ装置１０１にはグローバルＩＰアドレスとして“１３０．７４．２３．６”が割り当てられ、サーバ装置１０１は、それ自体のグローバルＩＰアドレスを格納したメモリ（図示せず。）と、機器情報リストを格納したテーブルメモリ（図示せず。）とを備えているものとする。要求発行機器１０２にはプライベートＩＰアドレスとして“１９２．１６８．１．１１”が割り当てられ、要求受諾機器１０３にはプライベートＩＰアドレスとして“１９２．１６８．１．３”が割り当てられ、要求発行機器１０２は、それ自体のプライベートＩＰアドレス及びポート番号を格納したメモリ（図示せず。）を備え、要求受諾機器１０３は、それ自体のプライベートＩＰアドレス及びポート番号を格納したメモリ（図示せず。）を備えているものとする。ルータ装置１０４ａにはグローバルＩＰアドレスとして“４．１７．１６８．２”が割り当てられ、ルータ装置１０４ｂにはグローバルＩＰアドレスとして“２０２．２０４．１６．１３”が割り当てられているものとする。ルータ装置１０４ａは、そのＷＡＮ側のポート番号及びそのグローバルＩＰアドレスと、要求発行機器１０２のプライベートＩＰアドレス及びポート番号とを含む、図１７と同様のＮＡＰＴテーブル（図６を参照）の内容をその内部のテーブルメモリ（図示せず。）に格納している。ルータ装置１０４ｂもまた、そのＷＡＮ側のポート番号及びそのグローバルＩＰアドレスと、要求受諾機器１０３のプライベートＩＰアドレス及びポート番号とを含むＮＡＰＴテーブルの内容をその内部のテーブルメモリ（図示せず。）に格納している。
【００６７】
また、要求発行機器１０２は、一意に割り当てられた機器ＩＤ“１０５１”をその内部のメモリに格納し、要求受諾機器１０３は、一意に割り当てられた機器ＩＤ“２１３３”をその内部のメモリに格納しているものとする。この機器ＩＤは、ピアツーピア通信を行う本実施形態の各機器に対して一意に定められた識別情報であって、例えば、当該機器の製造業者によって割り当てられた識別番号、又はＭＡＣアドレスを用いることが可能であるが、それらに限定されない。
【００６８】
さらに要求受諾機器１０３は、秘密情報であるパスワードをその内部のメモリに格納しているものとする。後述するように要求受諾機器１０３とのピアツーピア通信を行うことを希望する要求発行機器１０２は、要求受諾機器１０２のパスワード及び機器ＩＤと、ルータ装置１０４ａのグローバルＩＰアドレス及びＷＡＮ側ポート番号とを予め取得して内部のメモリに格納しておく必要がある。
【００６９】
図２乃至図４は、図１の通信システムにおいて実行される通信シーケンスの一例を示すシーケンス図である。また、図７乃至図９に、図２乃至図４の通信シーケンスにおいて用いるいくつかのパケットの一例が示されている。
【００７０】
要求受諾機器１０３は、定期的に、又は所定の周期を有して周期的に、機器ＩＤをペイロードに持つ機器登録パケット２０１を、ＵＤＰを用いてサーバ装置１０１に送信する。図７（ａ）に示すように、要求受諾側ＬＡＮ１０６ｂ内において、機器登録パケット２０１のＳＡには“１９２．１６８．１．３”が書き込まれ、ＳＰには“２０００”が書き込まれている。機器登録パケット２０１はルータ装置１０４ｂを介してサーバ装置１０１に送信され、機器登録パケット２０１がルータ装置１０４ｂを通るときに、ルータ装置１０４ｂは、そのＮＡＰＴ機能により、機器登録パケット２０１上のＳＡを“２０２．２０４．１６．１３”に変換し、機器登録パケット２０１上のＳＰを“３４００”に変換する。図７（ｂ）に示された、ＮＡＰＴ機能によって変換された後の機器登録パケット２０１は、インターネット（ＷＡＮ）１０５経由によりサーバ装置１０１に送信される。
【００７１】
サーバ装置１０１は、インターネット（ＷＡＮ）１０５に接続された複数の機器にそれぞれ関連付けられたＩＰアドレス及びポート番号、並びに上記各機器の機器ＩＤからなる上記各機器に係る機器情報の組を含む機器情報リストを格納するためのテーブルメモリ（図示せず。）を備えている。サーバ装置１０１は、受信した機器登録パケット２０１のＳＡ、ＳＰ及びペイロードを参照し、ステップＳ２０２において、要求受諾機器１０３の機器ＩＤと、ルータ装置１０４ｂのグローバルＩＰアドレスと、ルータ装置１０４ｂのＷＡＮ側のポート番号との組を、要求受諾機器１０３に対応する機器情報の組（すなわち機器情報リストの項目）として、サーバ装置１０１内のテーブルメモリに格納して保存する。本実施形態では、ルータ装置１０４ｂのグローバルＩＰアドレスとＷＡＮ側のポート番号とを、要求受諾機器１０３に関連付けられたＩＰアドレス及びポート番号として参照する。すなわち、サーバ装置１０１が要求受諾機器１０３に対してパケットを送信するときに、要求受諾機器１０３をインターネット１０５に接続するルータ装置１０４ｂのグローバルＩＰアドレス及びＷＡＮ側のポート番号を宛先として参照する。図１０に、サーバ装置１０１内のテーブルメモリに格納した機器情報リストの一例を示す。
【００７２】
要求受諾機器１０３は、定期的に機器登録パケット２０１をサーバ装置１０１に送信するので、ルータ装置１０４ｂのグローバルＩＰアドレスもしくはＷＡＮ側ポート番号が変更になった場合でも、ステップＳ２０２が定期的に実行されることにより、サーバ装置１０１上の機器情報リストは自動的に更新される。
【００７３】
また、要求受諾機器１０３は、当該要求受諾機器１０３との接続の確立を許可する機器（以下、接続許可機器という。）のリストを、必要に応じてサーバ装置１０１に登録しておく。本実施形態では、図１０の機器情報リストが各機器に係る機器情報の組に加えて各機器の接続許可機器のリストも含んでいるが、接続許可機器のリストは、機器情報の組とは別のメモリに格納されてもよい。本実施形態において、要求受諾機器１０３は、要求受諾機器１０３の接続許可機器として、要求発行機器１０２を含む。要求受諾機器１０３は、要求発行機器１０２を要求受諾機器１０３の接続許可機器として登録するため、サーバ装置１０１に対してＴＣＰ接続開始パケット２０３を送信することによってサーバ装置１０１との間のＴＣＰ接続を確立し、この確立されたＴＣＰ接続を用いて、例えば図７（ｃ）及び（ｄ）に示すような接続許可機器登録パケット２０４をサーバ装置１０１に送信する。接続許可機器登録パケット２０４には、要求受諾機器１０３の接続許可機器の機器ＩＤリストが付加されており、図７（ｃ）及び（ｄ）に示されたパケット２０４には、要求発行機器１０２の機器ＩＤである“１０５１”が付加されている。
【００７４】
本実施形態において、機器情報リストは、図１０のように、登録された各機器毎に、当該機器の接続許可機器の機器ＩＤリストをさらに含む。サーバ装置１０１は、接続許可機器登録パケット２０４を受信すると、ステップＳ２０５において、図１０のように、機器情報リストにすでに登録されている要求受諾機器１０３の接続許可機器の機器ＩＤの項目に、要求発行機器１０２の機器ＩＤである“１０５１”を登録する。
【００７５】
一方、要求発行機器１０２が要求受諾機器１０３とのデータ通信を所望する場合には、このことを通知する接続要求メッセージを、サーバ装置１０１を介して要求受諾機器１０３に伝達する。要求発行機器１０２は、接続要求メッセージを要求受諾機器１０３に伝達するために、最初に、要求発行機器１０２とサーバ装置１０１との間において第１の接続要求シーケンスのステップＳ２０６を実行する。
【００７６】
第１の接続要求シーケンスのステップＳ２０６は、要求発行機器１０２及び要求受諾機器１０３の各機器ＩＤ、要求発行機器１０２に関連付けられたＩＰアドレス及びポート番号のような秘密情報を伝送する必要があるので、本実施形態ではＳＳＬを用いて暗号化される。まず、後述の接続要求パケット２２７の送信などを暗号化するために用いられるＳＳＬ通信について図３及び図５を用いて説明する。
【００７７】
図５は、要求発行機器１０２及び要求受諾機器１０３に対してサーバ装置１０１の正当性を認証するための認証局装置５１を示すブロック図であって、特に、サーバ装置１０１の正当性を証明するためのサーバ証明書データ６５の配付及び認証方法を示す図である。図５では、ルータ装置１０４ａ及び１０４ｂなどは認証に関する説明では本質的ではないので省略した。図５において、認証局装置（ＣＡ）５１は、固有のＣＡ公開鍵５２及びＣＡ秘密鍵５３のペアを認証局装置５１のメモリ（図示せず。）に格納し、また、サーバ装置１０１は、固有のサーバ秘密鍵６１及びサーバ公開鍵６２のペアと、認証局装置５１によって発行されたサーバ証明書データ６５とを、サーバ装置１０１のメモリ（図示せず。）に格納している。サーバ証明書データ６５は、サーバ公開鍵６２と、認証局装置５１によって生成された署名６４とを備えて構成される。
【００７８】
図２の第１の接続要求シーケンスのステップＳ２０６及び第２の接続要求シーケンスのステップＳ２１２の処理を実行するために、まず予め、サーバ装置１０１は、以下に説明する処理に従って、認証局装置５１からサーバ証明書データ６５を発行してもらう必要がある。
【００７９】
認証局装置５１は、予めＣＡ公開鍵５２とＣＡ秘密鍵５３のペアを格納したメモリ（図示せず。）を備えている。サーバ装置１０１は、まずサーバ公開鍵６２とサーバ秘密鍵６１のペアを生成する。サーバ装置１０１は、サーバ公開鍵６２とサーバ装置１０１に関する情報とを、サーバ証明書データ要求パケット６３として認証局装置５１に送信し、サーバ証明書データ６５の発行を依頼する。認証局装置５１は、サーバ証明書データ要求パケット６３を受信すると、ＣＡ秘密鍵５３を用いて、サーバ装置１０１から受信した情報やその他必要な情報から署名６４を生成し、サーバ装置１０１から受信した情報やその他必要な情報及び署名６４を組み合わせたデータをサーバ証明書データ６５としてサーバ装置１０１に対して発行する。発行されたサーバ証明書データ６５は、サーバ証明書データ発行パケット５４として、認証局装置５１からサーバ装置１０１に送信される。サーバ装置１０１は、受信したサーバ証明書データ６５をサーバ装置１０１の内部のメモリに格納しておく。
【００８０】
また、クライアント装置である要求発行機器１０２及び要求受諾機器１０３は、予め認証局装置５１からＣＡ公開鍵５２を取得し、内部のメモリに格納しておく。なお、一般に、ＣＡ公開鍵５２は、認証局装置５１の情報などと合わせたＣＡ証明書データパケット５５の形態でクライアント装置（すなわちサーバ装置１０１と通信する他の機器）などに配布される。要求発行機器１０２及び要求受諾機器１０３は、後述のように、サーバ装置１０１からのサーバ証明書データパケット２２４を介してサーバ証明書データ６５を受信すると、要求発行機器１０２及び要求受諾機器１０３のそれぞれの証明書情報認証処理部（図示せず。）を用いて、内部のメモリに格納しているＣＡ公開鍵５２でサーバ証明書データ６５内の署名６４を認証することにより、サーバ証明書データ６５内のサーバ公開鍵６２の正当性を確認することができる。
【００８１】
実際に、要求発行機器１０２とサーバ装置１０１の間においての秘密通信である第１の接続要求シーケンスのステップＳ２０６は、以下説明するように実行される。
【００８２】
図３は、第１の接続要求シーケンスＳ２０６の詳細な処理を示すシーケンス図であり、ＳＳＬ通信を用いて接続要求パケット２２７を送信するためのフローを示す図である。図３において、参照番号７３は秘密通信に用いる通信用共通鍵を示す。
【００８３】
サーバ装置１０１は、送受信する信号を暗号化しかつ復号化するための通信用共通鍵７３及び８３を生成し、生成した通信用共通鍵７３を用いて、要求発行機器１０２との間で送受信する信号の暗号化及び復号化を実行し、通信用共通鍵８３を用いて、要求受諾機器１０３との間で送受信する信号の暗号化及び復号化を実行する暗号通信処理部をさらに備えるものとする（図示せず。）。要求発行機器１０２は、送受信する信号を暗号化しかつ復号化するための通信用共通鍵７３を生成し、生成した通信用共通鍵７３を用いて、サーバ装置１０１との間で送受信する信号の暗号化及び復号化を実行する暗号通信処理部と、サーバ証明書データ６５を認証する証明書情報認証処理部とをさらに備えるものとする（いずれも図示せず。）。
【００８４】
ＳＳＬ通信において、クライアント側である要求発行機器１０２は、まず、ＴＣＰ接続開始パケット２２１を、ルータ装置１０４ａを介してサーバ装置１０１に送信することによって、ＴＣＰ接続によるサーバ装置１０１との通信開始を要求する。ここで、図６に、ルータ装置１０４ａの内部のメモリに格納しているＮＡＰＴテーブルの一例を示す。ＴＣＰ接続開始パケット２２１がルータ装置１０４ａを通るときに、ルータ装置１０４ａは、そのＮＡＰＴ機能を用いて、上記ＮＡＰＴテーブルに従って、ＴＣＰ接続開始パケット２２１上のＳＡを“１９２．１６８．１．１１”から“４．１７．１６８．２”に変換し、ＴＣＰ接続開始パケット２２１上のＳＰを“１５００”から“７０００”に変換する。また、ルータ装置１０４ａが要求発行機器１０２宛のパケットを受信するとき、当該パケットのＤＡに対して上記の変換と逆の変換を実行し、当該パケットのＤＰに対しても別の変換を実行して要求発行機器１０２に送信する。以下、本願明細書では、説明の簡単化のためにルータ装置１０４ａのＮＡＰＴ処理動作について言及することを省略するが、実際に要求発行機器１０２がインターネット（ＷＡＮ）１０５上のサーバ装置１０１又は他の機器との間でパケットを送受信する際には、常にルータ装置１０４ａを介して送受信し、常にルータ装置１０４ａが当該パケットに対してＮＡＰＴ処理を実行するものとする。
【００８５】
次いで、要求発行機器１０２とサーバ装置１０１は、暗号化仕様交渉のステップを実行することにより、秘密通信で用いる暗号化方式の仕様を相互に確認する。要求発行機器１０２は、最初に、ＴＣＰ接続開始パケット２２１で確立されたＴＣＰ接続（以下、第１のＴＣＰ接続という。）を用いて、暗号化通信開始要求パケット（client_helloパケットともいう。）２２２をサーバ装置１０１に送信する。暗号化通信開始要求パケット２２２の中には、使用可能なＳＳＬのバージョン、使用可能な暗号化方式のリスト、セッションＩＤなどが書き込まれ、その中に、要求発行機器１０２が生成した乱数ClientHello.randamも含まれている。サーバ装置１０１は、暗号化通信開始要求パケット２２２を受信し、通信を開始することを了承すると、第１のＴＣＰ接続を用いて暗号化通信開始応答パケット（server_helloパケットともいう。）２２３を要求発行機器１０２に送信する。この暗号化通信開始応答パケット２２３は、使用するＳＳＬのバージョン（要求発行機器１０２とサーバ装置１０１との両方がサポートする中で最も高いバージョン）、セッションＩＤ、使用する暗号化方式などを含み、さらに、サーバ装置１０１において乱数ClientHello.randamと同様に生成された乱数ServerHello.randamを含んでいる。以下この第１の接続要求シーケンスのステップＳ２０６では、暗号化通信開始応答パケット２２３において指定されたＳＳＬのバージョン及び暗号化方式が使用される。これらの乱数ClientHello.randam及びServerHello.randamは、３２ビットのタイムスタンプと、２８バイトの乱数（もしくは十分安全な疑似乱数）として、要求発行機器１０２とサーバ装置１０１それぞれが独立に生成する。これらの乱数ClientHello.randam及びServerHello.randamをそれぞれ含む暗号化通信開始要求パケット２２２及び暗号化通信開始応答パケット２２３は、暗号化されずに送信される。
【００８６】
次にサーバ装置１０１は、要求発行機器１０２にサーバ証明書データパケット２２４を送信する。要求発行機器１０２へのサーバ証明書データパケット２２４の送信は、暗号化通信開始応答パケット２２３送信の後に限らず、後述される要求発行機器側通信用共通鍵作成情報パケット２２５の受信の前であれば（例えば、第１の接続要求シーケンスのステップＳ２０６の前）、いつでもよい。要求発行機器１０２の証明書情報認証処理部は、上記説明したように、内部に格納しているＣＡ公開鍵５２を用いて、送信されたサーバ証明書データパケット２２４内のサーバ証明書データ６５が正規のものであるか否かを確認する。
【００８７】
要求発行機器１０２は、その証明書情報認証処理部を用いて、送信されたサーバ証明書データ６５が正規のものであると確認すると、要求発行機器側通信用共通鍵作成情報７１及びサーバ装置側通信用共通鍵作成情報７２の送受信を含む、共通鍵作成情報交換のステップを開始する。
【００８８】
共通鍵作成情報交換のステップにおいて、最初に、要求発行機器１０２は、要求発行機器１０２の暗号通信処理部により要求発行機器側通信用共通鍵作成情報７１を生成して内部のメモリ（図示せず。）に格納するとともに、この生成された共通鍵作成情報７１を含む要求発行機器側通信用共通鍵作成情報パケット２２５を、第１のＴＣＰ接続を用いてサーバ装置１０１に送信する。サーバ装置１０１は、送信された要求発行機器側通信用共通鍵作成情報パケット２２５に応答して、サーバ装置１０１の暗号通信処理部により、サーバ装置側通信用共通鍵作成情報７２を生成して内部のメモリ（図示せず。）に格納するとともに、この生成された共通鍵作成情報７２を含むサーバ装置側通信用共通鍵作成情報パケット２２６を、第１のＴＣＰ接続を用いて要求発行機器１０２に送信する。要求発行機器１０２及びサーバ装置１０１は、双方の共通鍵作成情報７１及び７２に基づいて、それぞれの暗号通信処理部により同一の通信用共通鍵７３をそれぞれ生成する。これにより、要求発行機器１０２とサーバ装置１０１とで通信用共通鍵７３を共有することができる。
【００８９】
共通鍵作成情報交換の実施形態は、ＳＳＬの鍵交換において使用される暗号化方式によって変化する。ＲＳＡ暗号化方式を使用する場合において、要求発行機器１０２の暗号通信処理部は、要求発行機器側通信用共通鍵作成情報７１として、プリマスタシークレット（Pre Master Secret：ＰＭＳ）と呼ばれる４８バイトの乱数を生成し、サーバ証明書データ６５に含まれるサーバ公開鍵６２を用いて上記生成されたＰＭＳを暗号化する。次いで、要求発行機器１０２は、第１のＴＣＰ接続を用いて、暗号化されたＰＭＳをサーバ装置１０１に送信する。サーバ装置１０１は暗号通信処理部を使用し、暗号化された状態で受信したＰＭＳを、自分の持っているサーバ秘密鍵６１を用いて復号化することによって、送信されたＰＭＳを取得する。一方、サーバ装置側通信用共通鍵作成情報７２の生成及び送信は省略される。サーバ装置１０１及び要求発行機器１０２は、このＰＭＳを使って通信用共通鍵７３を作成する（詳細後述）ことにより鍵共有を行う。
【００９０】
ディフィー−ヘルマン（Diffie-Hellman）暗号化方式を使用する場合は、要求発行機器１０２及びサーバ装置１０１は、ディフィー−ヘルマン鍵共有に用いるための２つのパラメータ（すなわち素数ｐとその素数の原始根ｇ）について予め同意している。サーバ証明書パケット２２４を受信した後、要求発行機器１０２は乱数ａを生成し、ｐを法とするｇａの最小の正の剰余を要求発行機器側通信用共通鍵作成情報７１として計算し、この共通鍵作成情報７１を含む要求発行機器側通信用共通鍵作成情報パケット２２５をサーバ装置１０１に送信する一方、サーバ装置１０１は乱数ｂを生成し、ｐを法とするｇｂの最小の正の剰余をサーバ装置側通信用共通鍵作成情報７２として計算し、この共通鍵作成情報７２を含むサーバ装置側通信用共通鍵作成情報パケット２２６を要求発行機器１０２に送信する。従って、互いに送信されるこれらの共通鍵作成情報が、ディフィー−ヘルマン公開鍵として用いられる。さらに、これらの共通鍵作成情報７１及び７２を送信するときに、要求発行機器１０２及びサーバ装置１０１のそれぞれの署名を付加してもよい。
【００９１】
また、同じディフィー−ヘルマン暗号化方式でも、固定ディフィー−ヘルマン暗号化方式の場合には、サーバ装置１０１からの情報はサーバ証明書データ６５に含まれる値を使用するので、この場合はサーバ装置側通信用共通鍵作成情報７２の生成及び送信は省略される。
【００９２】
以上のように、要求発行機器１０２及びサーバ装置１０１の間において共通鍵作成情報７１及び７２が交換されると、これらの共通鍵作成情報７１及び７２を用いることによって、後の通信において秘密鍵として用いるための通信用共通鍵７３が生成される。通信用共通鍵７３を生成するためには、互いに交換された共通鍵作成情報７１及び７２から、最初にプリマスタシークレット（ＰＭＳ）を生成する。ＲＳＡ暗号化方式の場合には、ＰＭＳは、上述のように要求発行機器側通信用共通鍵作成情報７１である。ディフィー−ヘルマン暗号化方式の場合には、両者のディフィー−ヘルマン公開鍵を用いてＰＭＳを生成する。すなわち、サーバ装置１０１は、受信したｐを法とするｇａの最小の正の剰余をｂ乗した値の、ｐを法とする最小の正の剰余を計算してＰＭＳとし、要求発行機器１０２は、受信したｐを法とするｇｂの最小の正の剰余をａ乗した値の、ｐを法とする最小の正の剰余を計算してＰＭＳとする。ディフィー−ヘルマン暗号化方式を用いた場合において、要求発行機器１０２及びサーバ装置１０１のそれぞれにおいて計算されたＰＭＳは、ｐを法とするｇａｂの最小の正の剰余に等しい。
【００９３】
ＰＭＳから通信用共通鍵７３を作成するためには、ＭＤ５（Message Digest 5）とＳＨＡ（Secure Hash Algorithm）との２つのハッシュアルゴリズムを使用し、以下のように計算する。
【００９４】
［数１］
共通鍵master_secret 
= MD5(PMS || SHA('A' || PMS ||  ClientHello.randam || ServerHello.randam)) || 
MD5(PMS || SHA('BB' || PMS ||  ClientHello.randam || ServerHello.randam)) || 
MD5(PMS || SHA('CCC' || PMS || ClientHello.randam || ServerHello.randam))
【００９５】
ここで「||」はビット列の連結を表す。
【００９６】
以降、要求発行機器１０２及びサーバ装置１０１は、数１を用いて計算された共通鍵master_secretを通信用共通鍵７３として用いて、接続要求パケット２２７の暗号化及び復号化を行うことにより、秘密通信を行うことが可能となる。すなわち、要求発行機器１０２及びサーバ装置１０１の間での通信用共通鍵７３の共有が完了すると、要求発行機器１０２は、第１の接続要求パケット２２７を送信する前に、接続相手である要求受諾機器１０３の機器ＩＤと、要求発行機器１０２の機器ＩＤと、要求発行機器１０２に関連付けられかつ通信に用いるためのＩＰアドレス及びポート番号とを含むデータを通信用共通鍵７３を用いて要求発行機器１０２の暗号通信手段により暗号化する。ここで、要求発行機器１０２に関連付けられたＩＰアドレス及びポート番号は、要求発行機器１０２をインターネット１０５に接続するルータ装置１０４ａのグローバルＩＰアドレス及びＷＡＮ側ポート番号である。要求発行機器１０２は、この暗号化されたデータをペイロードとする接続要求パケット２２７を生成し、生成された接続要求パケット２２７を、第１のＴＣＰ接続を用いてサーバ装置１０１に送信する。詳しくは、要求発行機器１０２は、図７（ｃ）に示された接続要求パケット２２７をルータ装置１０４ａに送信し、ルータ装置１０４ａは受信した接続要求パケット２２７に対してＮＡＰＴ処理を実行し、図７（ｄ）に示されたＮＡＰＴ処理後の接続要求パケット２２７をサーバ装置１０１に送信する。一方、サーバ装置１０１は、秘密情報として暗号化されたデータを含む接続要求パケット２２７を、第１のＴＣＰ接続を用いて要求発行機器１０２から受信すると、通信用共通鍵７３を用いて、上記暗号化されたデータをサーバ装置１０１の暗号通信処理部により復号化する。
【００９７】
接続要求パケット２２７に書き込まれたルータ装置１０４ａのＷＡＮ側グローバルＩＰアドレスとＷＡＮ側ポート番号は、後のＴＣＰ接続開始パケット２１３とデータ通信シーケンスのステップＳ２１６に係るパケットとを送受信する際に使用される。すなわち、要求受諾機器１０３が要求発行機器１０２にＴＣＰ接続開始パケット２１３を送信するとき、ルータ装置１０４ａのＷＡＮ側グローバルＩＰアドレス及びＷＡＮ側ポート番号はこの送信されたパケットに書き込まれており、このパケットに書き込まれたルータ装置１０４ａのＷＡＮ側グローバルＩＰアドレス及びＷＡＮ側ポート番号は、ルータ装置１０４ａのＮＡＰＴ機能を用いて要求発行機器１０２のプライベートＩＰアドレス及びポート番号に変換できるものとする。要求発行機器１０２と要求受諾機器１０３が、ＴＣＰ接続開始パケット２１３によって確立されたＴＣＰ接続上においてデータ通信シーケンスのステップＳ２１６に係るパケットを送受信する際（後述）にも、このパケットに書き込まれたルータ装置１０４ａのＷＡＮ側グローバルＩＰアドレス及びＷＡＮ側ポート番号は、ルータ装置１０４ａのＮＡＰＴ機能を用いて要求発行機器１０２のプライベートＩＰアドレス及びポート番号と相互変換できるものとする。
【００９８】
例えば、要求発行機器１０２が要求受諾機器１０３からのＴＣＰ接続開始パケット２１３を受信するためのポート番号を“１６００”とすると、このときのルータ装置１０４ａのＮＡＰＴテーブルは図６のようになる。
【００９９】
図６のＮＡＰＴテーブルの２行目が、要求発行機器１０２が要求受諾機器１０３からのＴＣＰ接続開始パケット２１３とその後のデータ通信シーケンスのステップＳ２１６におけるパケットとを受信するための変換テーブルである。要求受諾機器１０３は、グローバルＩＰアドレス“４．１７．１６８．２”及びポート番号“５０００”を有するルータ装置１０４ａに対してＴＣＰ接続を確立するためにＴＣＰ接続開始パケット２１３を送信すると、ルータ装置１０４ａのＮＡＰＴ機能により、ＴＣＰ接続開始パケット２１３上に書き込まれたルータ装置１０４ａのＩＰアドレスとポート番号が要求発行機器１０２のプライベートＩＰアドレスとポート番号とに変換されて、最終的に、要求受諾機器１０３は、要求発行機器１０２に対してＴＣＰ接続を確立することができる。
【０１００】
サーバ装置１０１は、接続要求パケット２２７を受信すると、ステップＳ２０７において、内部のテーブルメモリに格納している図１０の機器情報リストを参照し、受信された接続要求パケット２２７に含まれている接続相手である要求受諾機器１０３の機器ＩＤ“２１３３”を機器情報リストから検索する。機器情報リスト上で“２１３３”と一致した機器ＩＤが見つかると、サーバ装置１０１は、この機器ＩＤ“２１３３”を有する機器を接続相手の要求受諾機器１０３として識別し、次に、機器ＩＤ“２１３３”を有する機器の接続許可機器の機器ＩＤリストを検索する。要求受諾機器の接続許可機器の機器ＩＤリストに、接続要求パケット２２７に含まれている要求発行機器１０２の機器ＩＤ“１０５１”が含まれていれば、サーバ装置１０１は、ステップＳ２１０において、機器情報リスト上で、識別された要求受諾機器１０３に係る機器情報の組に含まれるＩＰアドレス及びポート番号を要求受諾機器１０３に関連付けられたＩＰアドレス及びポート番号として識別する。サーバ装置１０１は、受信された接続要求パケット２２７に含まれた要求発行機器１０２に関連付けられたＩＰアドレス及びポート番号を要求受諾機器１０３に対してすぐには送信せず、まず、要求受諾機器１０３に関連付けられている（すなわち、機器ＩＤ“２１３３”と同じ機器情報の組に含まれた）ＩＰアドレス“２０２．２０４．１６．１３”及びポート番号“３４００”を宛先として有する接続要求通知パケット２１１をＵＤＰを用いて送信する。接続要求通知パケット２１１は、機器登録パケット２０１に対する応答信号としてルータ装置１０４ｂに送信されるため、ルータ装置１０４ｂにおいてＩＰアドレス及びポート番号の変換が行われ、要求受諾機器１０３に到達できる。図９（ａ）及び（ｂ）に示すように、接続要求通知パケット２１１は、接続要求通知を示すパケットであることを示す接続要求通知フラグを含んでいる。
【０１０１】
一方、ステップＳ２０７において、要求発行機器１０２の機器ＩＤが接続許可機器の機器ＩＤとして機器情報リストに登録されていない場合には、サーバ装置はエラー通知パケット２０８を要求発行機器１０２に送信し、要求発行機器１０２は、エラー通知パケットを受信すると、ステップＳ２０９において処理の中断を決定する。
【０１０２】
要求受諾機器１０３は、接続要求通知パケット２１１を受信すると、サーバ装置１０１との間において第２の接続要求シーケンスＳ２１２を実行する。
【０１０３】
図４は、第２の接続要求シーケンスＳ２１２の詳細な処理を示すシーケンス図である。第２の接続要求シーケンスのステップＳ２１２もまた、第１の接続要求シーケンスのステップＳ２０６と同様に、要求発行機器１０２に関連付けられたＩＰアドレス及びポート番号のような秘密情報を伝送する必要があるので、本実施形態ではＳＳＬを用いて暗号化される。ここで、要求受諾機器１０３は、送受信する信号を暗号化しかつ復号化するための通信用共通鍵８３を生成し、生成した通信用共通鍵８３を用いて、サーバ装置１０１との間で送受信する信号の暗号化及び復号化を実行する暗号通信処理部と、サーバ証明書データ６５を認証する証明書情報認証処理部とをさらに備えるものとする（いずれも図示せず。）。サーバ装置１０１と要求受諾機器１０３との間での秘密通信である第２の接続要求シーケンスのステップＳ２１２は、以下説明するように実行される。
【０１０４】
ＳＳＬ通信において、クライアント側である要求受諾機器１０３は、まず、ＴＣＰ接続開始パケット２３１を、ルータ装置１０４ｂを介してサーバ装置１０１に送信することによって、ＴＣＰ接続によるサーバ装置１０１との通信開始を要求する。ＴＣＰ接続開始パケット２３１がルータ装置１０４ｂを通るときに、ルータ装置１０４ｂは、機器登録パケット２０１の送信時に用いたＮＡＰＴ機能を使用し、ＴＣＰ接続開始パケット２３１上のＳＡ及びＳＰを変換する。また、ルータ装置１０４ｂが要求受諾機器１０３宛のパケットを受信するとき、当該パケットのＤＡに対して上記の変換と逆の変換を実行し、当該パケットのＤＰに対しても別の変換を実行して要求受諾機器１０３に送信する。以下、本願明細書では、説明の簡単化のためにルータ装置１０４ｂのＮＡＰＴ処理動作について言及することを省略するが、実際に要求受諾機器１０３がパケットを送受信する際には、常にルータ装置１０４ｂを介して送受信し、常にルータ装置１０４ｂが当該パケットに対してＮＡＰＴ処理を実行するものとする。
【０１０５】
次いで、要求受諾機器１０３とサーバ装置１０１は、暗号化仕様交渉のステップを実行することにより、秘密通信で用いる暗号化方式の仕様を相互に確認する。要求受諾機器１０３は、最初に、ＴＣＰ接続開始パケット２３１で確立されたＴＣＰ接続（以下、第２のＴＣＰ接続という。）を用いて、暗号化通信開始要求パケット（client_helloパケットともいう。）２３２をサーバ装置１０１に送信する。暗号化通信開始要求パケット２３２の中には、使用可能なＳＳＬのバージョン、使用可能な暗号化方式のリスト、セッションＩＤなどが書き込まれ、その中に、要求受諾機器１０３が生成した乱数ClientHello.randamも含まれている。サーバ装置１０１は、要求受諾機器１０３から暗号化通信開始要求パケット２３２を受信すると、第２のＴＣＰ接続を用いて暗号化通信開始応答パケット（server_helloパケットともいう。）２３３を要求受諾機器１０３に送信する。この暗号化通信開始応答パケット２３３は、使用するＳＳＬのバージョン（要求発行機器１０２とサーバ装置１０１との両方がサポートする中で最も高いバージョン）、セッションＩＤ、使用する暗号化方式などを含み、さらに、サーバ装置１０１において生成された乱数ServerHello.randamを含んでいる。以下この第２の接続要求シーケンスのステップＳ２１２では、暗号化通信開始応答パケット２３３において指定されたＳＳＬのバージョン及び暗号化方式が使用される。これらの乱数ClientHello.randam及びServerHello.randamは、３２ビットのタイムスタンプと、２８バイトの乱数（もしくは十分安全な疑似乱数）として、要求受諾機器１０３とサーバ装置１０１それぞれが独立に生成する。これらの乱数ClientHello.randam及びServerHello.randamをそれぞれ含む暗号化通信開始要求パケット２３２及び暗号化通信開始応答パケット２３３は、暗号化されずに送信される。
【０１０６】
次にサーバ装置１０１は、要求受諾機器１０３にサーバ証明書データパケット２２４を送信する。要求受諾機器１０３へのサーバ証明書データパケット２２４の送信は、暗号化通信開始応答パケット２３３送信の後に限らず、後述される要求受諾機器側通信用共通鍵作成情報パケット２３４の受信の前であれば（例えば、第２の接続要求シーケンスのステップＳ２１２の前）、いつでもよい。要求受諾機器１０３の証明書情報認証処理部は、図５を参照して要求発行機器１０２の場合について説明したときと同様に、内部に格納しているＣＡ公開鍵５２を用いて、送信されたサーバ証明書データパケット２２４内のサーバ証明書データ６５が正規のものであるか否かを確認する。
【０１０７】
要求受諾機器１０３は、その証明書情報認証処理部を用いて、送信されたサーバ証明書データ６５が正規のものであると確認すると、以下、要求受諾機器側通信用共通鍵作成情報８１及びサーバ装置側通信用共通鍵作成情報８２の送受信を含む、共通鍵作成情報交換のステップを開始する。
【０１０８】
共通鍵作成情報交換のステップにおいて、最初に、要求受諾機器１０３は、要求受諾機器１０３の暗号通信処理部により要求受諾機器側通信用共通鍵作成情報８１を生成して内部のメモリ（図示せず。）に格納するとともに、この生成された共通鍵作成情報８１を含む要求受諾機器側通信用共通鍵作成情報パケット２３４を、第２のＴＣＰ接続を用いてサーバ装置１０１に送信する。サーバ装置１０１は、送信された要求受諾機器側通信用共通鍵作成情報パケット２３４に応答して、サーバ装置１０１の暗号通信処理部により、サーバ装置側通信用共通鍵作成情報８２を生成して内部のメモリ（図示せず。）に格納するとともに、この生成された共通鍵作成情報８２を含むサーバ装置側通信用共通鍵作成情報パケット２３５を、第２のＴＣＰ接続を用いて要求受諾機器１０３に送信する。要求受諾機器１０３及びサーバ装置１０１は、双方の共通鍵作成情報８１及び８２に基づいて、それぞれの暗号通信処理部により同一の通信用共通鍵８３をそれぞれ生成する。通信用共通鍵８３を生成するためには、第１の接続要求シーケンスのステップＳ２０６の場合について説明されたときと同様にＲＳＡ暗号化方式又はディフィー−ヘルマン暗号化方式などを用いて、生成された共通鍵作成情報８１及び８２を互いに交換し、サーバ装置１０１及び要求受諾機器１０３の各暗号通信処理部は、これらの共通鍵作成情報８１及び８２を用いることによって、後の通信で秘密鍵として用いるための通信用共通鍵８３をそれぞれ生成する。
【０１０９】
これにより、サーバ装置１０１及び要求受諾機器１０３の間において通信用共通鍵８３を共有することができ、サーバ装置１０１及び要求受諾機器１０３は、通信用共通鍵８３を用いて、接続要求パケット２３６の暗号化及び復号化を行うことで、秘密通信を行うことが可能となる。すなわち、第１の接続要求パケット２２７を受信した後であってかつ第２の接続要求パケット２３６を送信する前に、サーバ装置１０１及び要求受諾機器１０３の間での通信用共通鍵８３の共有が完了すると、サーバ装置１０１は、接続要求パケット２２７に含まれた、通信に用いるルータ装置１０４ａのグローバルＩＰアドレス“４．１７．１６８．２”とポート番号“５０００”とを含むデータを通信用共通鍵８３を用いてサーバ装置１０１の暗号通信処理部により暗号化する。サーバ装置１０１は、この暗号化されたデータをペイロードとして含む接続要求パケット２３６を生成し、生成された接続要求パケット２３６を、機器登録パケット２０１に対する応答信号として、第２のＴＣＰ接続を用いて要求受諾機器１０３に送信する。詳しくは、サーバ装置１０１は、図２のステップＳ２１０においてサーバ装置１０１の機器情報リスト内で要求受諾機器１０３のものとして識別されたＩＰアドレス及びポート番号を宛先として、図９（ｂ）に示された接続要求パケット２３６をルータ装置１０４ｂに送信し、ルータ装置１０４ｂは受信した接続要求パケット２３６に対してＮＡＰＴ処理を実行し、図９（ａ）に示されたＮＡＰＴ処理後の接続要求パケット２３６を要求受諾機器１０３に送信する。一方、要求受諾機器１０３は、秘密情報として暗号化されたデータを含む接続要求パケット２３６をサーバ装置から第２のＴＣＰ接続を用いて受信すると、通信用共通鍵８３を用いて、上記暗号化されたデータを要求受諾機器１０３の暗号通信処理部により復号化する。以上のようにして、要求発行機器１０２が要求受諾機器１０３とのデータ通信を所望することを伝達する接続要求メッセージが、要求発行機器１０２から要求受諾機器１０３に伝達される。
【０１１０】
要求受諾機器１０３は、接続要求パケット２３６を受信すると、接続要求パケット２３６に含まれているＩＰアドレス“４．１７．１６８．２”とポート番号“５０００”に関連付けられた機器に対してＴＣＰ接続開始パケット２１３を送信する。パケット２１３は、前述のようにルータ装置１０４ａのＮＡＰＴ機能により要求発行機器１０２に到達し、それによって、要求受諾機器１０３は、要求発行機器１０２とのＴＣＰ接続（以下、第３のＴＣＰ接続という。）を確立することができる。
【０１１１】
要求発行機器１０２は、要求受諾機器１０３からのＴＣＰ接続開始パケット２１３を受信することによって第３のＴＣＰ接続を確立すると、このＴＣＰ接続を用いて、要求受諾機器１０３に、予め取得された要求受諾機器１０３のパスワードを含むパスワード伝送パケット２１４を送信する。
【０１１２】
要求受諾機器１０３は、ステップＳ２１５において、パケット２１４によって受信したパスワードが、要求受諾機器１０３内のメモリに格納された要求受諾機器１０３のパスワードと一致した正しいものであるか否かを認証する。パスワードが正しければ、要求受諾機器１０３は要求発行機器１０２との間の第３のＴＣＰ接続を継続し、以降、要求発行機器１０２と要求受諾機器１０３との間でデータ通信シーケンスのステップＳ２１６を行う。もしパケット２１４で受信したパスワードが不正なものであれば、第３のＴＣＰ接続を切断する。
【０１１３】
以上のようにして、サーバ装置１０１を利用することで、プライベートＩＰアドレスをそれぞれ有しかつ異なったＬＡＮ１０６ａ，１０６ｂに接続された機器である要求発行機器１０２と要求受諾機器１０３との間で、データ通信を行うことができるようになる。
【０１１４】
なお、要求発行機器１０２がグローバルＩＰアドレスを保有し、直接インターネット（ＷＡＮ）１０５に接続されている場合でも、同様の動作で要求発行機器１０２と要求受諾機器１０３との間において通信を行うことができる。また、要求受諾機器１０３がグローバルＩＰアドレスを保有し、直接インターネット（ＷＡＮ）１０５に接続されている場合でも、同様の動作で要求発行機器１０２と要求受諾機器１０３との間において通信を行うことができる。いずれの場合でも、ルータ装置によってＩＰアドレスやポート番号の変換が行われないだけで、それ以外の動作は上記説明と同様の動作となる。
【０１１５】
本実施形態では、サーバ装置１０１、要求発行機器１０２及び要求受諾機器１０３はインターネット（ＷＡＮ）１０５に接続されているが、本発明の実施形態はそれに限定されず、サーバ装置１０１、要求発行機器１０２及び要求受諾機器１０３は、その他の公開されたネットワーク及び／又は専用のネットワークに接続されるように構成されてもよい。
【０１１６】
また、ルータ装置１０４ａやルータ装置１０４ｂが、ＮＡＰＴ機能ではなくＮＡＴ機能のみ有している場合でも同様の動作で要求発行機器１０２と要求受諾機器１０３との間における通信を行うことができる。この場合、ルータ装置においてポート番号の変換は行われない。
【０１１７】
また、要求発行機器１０２は、ＴＣＰ接続開始パケット２１３を受信するためのＩＰアドレスとポート番号の組み合わせを常に図６のようなＮＡＰＴテーブルに設定したままでもよいし、又は、第１の接続要求シーケンスＳ２０６においてＴＣＰ接続開始パケット２２１を送信する際にこの組み合わせをＮＡＰＴテーブルに設定し、データ通信シーケンスのステップＳ２１６が終了するとこの組み合わせをＮＡＰＴテーブルから削除するようにしてもよい。ＮＡＰＴテーブルの設定は、静的ＮＡＰＴを用いてもよいし、ユニバーサル・プラグ・アンド・プレイ（Universal Plug and Play）などの機能を用いてもよい。
【０１１８】
また、第１の接続要求シーケンスのステップＳ２０６におけるＴＣＰ接続開始パケット２２１により開始されるＴＣＰ接続を介した通信と、第２の接続要求シーケンスのステップＳ２１２におけるＴＣＰ接続開始パケット２３１により開始されるＴＣＰ接続を介した通信とは、ＳＳＬ（Secure Sockets Layer）とは異なる暗号化通信を用いてもよい。又は、これらステップＳ２０６及びＳ２１２におけるＴＣＰ通信の暗号化は省略されてもよい。この場合、ステップＳ２０６において、要求発行機器１０２は、ＴＣＰ接続開始パケット２２１を送信してＴＣＰ接続を確立した後すぐに接続要求パケット２２７を送信し、ステップＳ２１２において、サーバ装置１０１は、ＴＣＰ接続開始パケット２３１を受信した後すぐに接続要求パケット２３６を送信してもよい。
【０１１９】
また、データ通信シーケンスのステップＳ２１６の処理は、ステップＳ２０６及びＳ２１２と同様に、ＳＳＬなどの暗号化通信を用いて実行してもよい。また、ステップＳ２１６におけるデータの送受信は、ＵＤＰなど他の伝送プロトコルを用いて実行してもよい。
【０１２０】
また、図７乃至図９に示す機器登録パケット２０１、接続許可機器登録パケット２０４、接続要求パケット２２７、接続要求通知パケット２１１及び接続要求パケット２３６は一例であって、他のフィールドが含まれていてもよいし、各フィールドの順序が異なっていてもよい。
【０１２１】
また、図１から図１０で用いているＩＰアドレス、ポート番号及び機器ＩＤは一例であって、他の値であっても構わない。
【０１２２】
以上説明したように、本実施形態では、異なるＬＡＮを介してそれぞれインターネット（ＷＡＮ）に接続された機器同士で、不正アクセスができないピアツーピア通信を容易に実現する通信システムを提供する。この通信システムにおいて、要求受諾機器１０３は、予め接続を許可する機器の機器ＩＤをサーバ装置１０１に登録しておく。サーバ装置１０１は、要求発行機器１０２から接続要求パケット２２７を受信すると、接続要求パケット２２７に含まれる要求発行機器１０２の機器ＩＤが、要求受諾機器１０３の接続許可機器リストに登録されている場合のみ、接続要求パケット２３６を要求受諾機器１０３に中継する。接続要求パケット２３６には、要求発行機器１０２にパケットを到達させることができるルータ装置１０４ａのＩＰアドレス及びポート番号が付加されている。要求受諾機器１０３は、接続要求パケット２３６に含まれているＩＰアドレス及びポート番号宛に接続を行うことで、要求発行機器１０２と要求受諾機器１０３との間でピアツーピア通信を行うことができる。また要求発行機器１０２は、要求受諾機器１０３との通信開始時に、要求受諾機器１０３のパスワードを含むパスワード伝送パケット２１４を送信し、要求受諾機器１０３がパスワードの確認を行うことで、不正な機器からの接続要求を受け付けないようにする。
【０１２３】
＜変形例＞
ここで、以上説明した本発明の実施形態に対する変形例について図１１乃至図１４を参照して説明する。図２に示された通信シーケンスでは、要求発行機器１０２は、ＴＣＰ接続開始パケット２１３によって第３のＴＣＰ接続を確立した後に、要求受諾機器１０３のパスワードを含むパスワード伝送パケット２１４を要求受諾機器１０３に送信するとしたが、このパスワードは、接続要求パケット２２７及び接続要求パケット２３６に付加して送信してもよい。この場合、要求受諾機器１０３は、接続要求パケット２３６を受信した時にパケット２３６に含まれたパスワードが正しいか否かの判定を行い、当該パスワードが正当なものであれば要求発行機器１０２にＴＣＰ接続開始パケット２１３を送信し、当該パスワードが不正なものであればＴＣＰ接続開始パケット２１３を送信しないようにすればよい。
【０１２４】
図１１において、通信シーケンスの開始から第２の接続要求シーケンスのステップＳ２１２ａまでは、図２の通信シーケンスの開始からステップＳ２１２までと同様である。ただし、第１の接続要求シーケンスのステップＳ２０６ａ（図１２を参照）における最後の接続要求パケット２２７ａと、第２の接続要求シーケンスのステップＳ２１２ａ（図１３を参照）における最後の接続要求パケット２３６ａとがパスワードをさらに含むという点で、図２乃至図４で説明した実施形態と異なっている。
【０１２５】
パケット２２７ａ及び２３６ａを介して、要求発行機器１０２が送ったパスワードが要求受諾機器１０３に到達すると、要求受諾機器１０２は、ステップＳ２１５において、パケット２３６ａによって受信したパスワードが、要求受諾機器１０３内のメモリに格納された要求受諾機器１０３のパスワードと一致した正しいものであるか否かを認証する。パスワードが正しければ、要求受諾機器１０３は、ＴＣＰ接続開始パケット２１３を要求発行機器１０２に送信することにより第３のＴＣＰ接続を確立し、以降、要求発行機器１０２と要求受諾機器１０３との間でデータ通信シーケンスのステップＳ２１６を行う。もしパケット２１４で受信したパスワードが不正なものであれば、要求受諾機器１０３はパケット２１３を送信せず、処理を終了する。
【０１２６】
本発明に係る実施形態のこの変形例によれば、要求受諾機器１０３は、パケット２１３の送信前にもパスワードを用いて要求発行機器１０２を認証することができる。
【０１２７】
本発明はさらに別の実施形態として、図２乃至図４に示された処理又は図１１乃至図１３に示された処理に係る各ステップを含むプログラムとして提供してもよく、あるいは、上記プログラムを記録し、コンピュータが読み取り可能な記録媒体として提供してもよい。この場合、上記プログラムを、インターネットに接続されたコンピュータ又は機器に読み込ませて、上記プログラム中の各ステップを当該コンピュータ又は機器に実行させることにより、当該コンピュータ又は機器を、以上説明された実施形態におけるサーバ装置１０１、要求発行機器１０２、及び／又は要求受諾機器１０３として動作させることができる。上記プログラムを記録した記録媒体の例として、ＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭ等の光記録媒体、フレキシブルディスク及びハードディスク等の磁気記録媒体、又は半導体記憶装置などが可能であるが、それらに制限されない。また、上記プログラムは、インターネットなどのネットワークを介して分配されてもよい。
【産業上の利用可能性】
【０１２８】
以上説明したように、本発明によれば、異なるＬＡＮを介してそれぞれインターネット（ＷＡＮ）に接続された機器同士で、不正アクセスができないピアツーピア通信を容易に実現する通信システムを提供することができる。
【図面の簡単な説明】
【０１２９】
【図１】本発明の実施形態に係る通信システムのネットワーク構成を示すブロック図である。
【図２】図１の通信システムにおいて実行される通信シーケンスの一例を示すシーケンス図である。
【図３】図２の第１の接続要求シーケンスＳ２０６の詳細な処理を示すシーケンス図である。
【図４】図２の第２の接続要求シーケンスＳ２１２の詳細な処理を示すシーケンス図である。
【図５】図１の要求発行機器１０２及び要求受諾機器１０３に対してサーバ装置１０１の正当性を認証するための認証局装置５１を示すブロック図である。
【図６】図１のルータ装置１０４ａの内部のメモリに格納しているＮＡＰＴテーブルの一例を示す表である。
【図７】（ａ）は図２のＬＡＮ側での機器登録パケット２０１の構成を示す図であり、（ｂ）は図２のＷＡＮ側での機器登録パケット２０１の構成を示す図であり、（ｃ）は図２のＬＡＮ側での接続許可機器登録パケット２０４の構成を示す図であり、（ｄ）は図２のＷＡＮ側での接続許可機器登録パケット２０４の構成を示す図である。
【図８】（ａ）は図３のＬＡＮ側での接続要求パケット２２７の構成を示す図であり、（ｂ）は図３のＷＡＮ側での接続要求パケット２２７の構成を示す図である。
【図９】（ａ）は図２のＬＡＮ側での接続要求通知パケット２１１の構成を示す図であり、（ｂ）は図２のＷＡＮ側での接続要求通知パケット２１１の構成を示す図であり、（ｃ）は図４のＬＡＮ側での接続要求パケット２３６の構成を示す図であり、（ｄ）は図４のＷＡＮ側での接続要求パケット２３６の構成を示す図である。
【図１０】図１のサーバ装置１０１で保存している機器情報リストの一例を示す表である。
【図１１】本発明の実施形態の変形例に係る通信シーケンスの一例を示すシーケンス図である。
【図１２】図１１の第１の接続要求シーケンスＳ２０６ａの詳細な処理を示すシーケンス図である。
【図１３】図１１の第２の接続要求シーケンスＳ２１２ａの詳細な処理を示すシーケンス図である。
【図１４】（ａ）は図１２のＬＡＮ側での接続要求パケット２２７ａの構成を示す図であり、（ｂ）は図１２のＷＡＮ側での接続要求パケット２２７ａの構成を示す図であり、（ｃ）は図１２のＬＡＮ側での接続要求パケット２３６ａの構成を示す図であり、（ｄ）は図１２のＷＡＮ側での接続要求パケット２３６ａの構成を示す図である。
【図１５】従来技術に係る通信システムのネットワーク構成の一例を示すブロック図である。
【図１６】ルータ装置１０４のＮＡＰＴ機能を用いた通信の通信シーケンスの一例を示すシーケンス図である。
【図１７】ルータ装置１０４のＮＡＰＴテーブルの一例を示す表である。
【図１８】図１５の通信システムの通信シーケンスの一例を示すシーケンス図である。
【符号の説明】
【０１３０】
５１…認証局（ＣＡ）装置、
５２…ＣＡ公開鍵、
５３…ＣＡ秘密鍵、
５４…サーバ証明書データ発行パケット、
５５…ＣＡ証明書データパケット、
６１…サーバ秘密鍵、
６２…サーバ公開鍵、
６３…サーバ証明書データ要求パケット、
６４…署名、
６５…サーバ証明書データ、
７１…要求発行機器側通信用共通鍵作成情報、
７２…サーバ装置側通信用共通鍵作成情報、
８１…要求受諾機器側通信用共通鍵作成情報、
８２…サーバ装置側通信用共通鍵作成情報、
７３，８３…通信用共通鍵、
１０１…サーバ装置、
１０２…要求発行機器、
１０３…要求受諾機器、
１０４ａ，１０４ｂ…ルータ装置、
１０５…インターネット（ＷＡＮ）、
１０６ａ，１０６ｂ…ＬＡＮ、
２０１…機器登録パケット、
２０３，２１３，２２１，２３１…ＴＣＰ接続開始パケット、
２０４…接続許可機器登録パケット、
２１１…接続要求通知パケット、
２１４…パスワード伝送パケット、
２２２，２３２…暗号化通信開始要求パケット、
２２３，２３３…暗号化通信開始応答パケット、
２２４…サーバ証明書データパケット、
２２５…要求発行機器側通信用共通鍵作成情報パケット、
２２６，２３５…サーバ装置側通信用共通鍵作成情報パケット、
２２７，２２７ａ，２３６，２３６ａ…接続要求パケット、
２３４…要求受諾機器側通信用共通鍵作成情報パケット。
【図１】
2005303784.tif 000003
【図２】
2005303784.tif 000004
【図３】
2005303784.tif 000005
【図４】
2005303784.tif 000006
【図５】
2005303784.tif 000007
【図６】
2005303784.tif 000008
【図７】
2005303784.tif 000009
【図８】
2005303784.tif 000010
【図９】
2005303784.tif 000011
【図１０】
2005303784.tif 000012
【図１１】
2005303784.tif 000013
【図１２】
2005303784.tif 000014
【図１３】
2005303784.tif 000015
【図１４】
2005303784.tif 000016
【図１５】
2005303784.tif 000017
【図１６】
2005303784.tif 000018
【図１７】
2005303784.tif 000019
【図１８】
2005303784.tif 000020