(57)【要約】【課題】  ＬＡＮを介してインターネットに接続された機器同士で、不正アクセスができないピアツーピア通信を容易に実現する。【解決手段】  要求発行機器１０２は、要求受諾機器１０３との通信を行う際、機器１０２及び１０３の各機器ＩＤを含む接続要求パケット２２７をサーバ装置１０１に送信する。サーバ装置１０１は、パケット２２７から機器１０２及び１０３の各機器ＩＤを取得するとともに、機器１０３に接続要求パケット２３６を送信する。機器１０３は、パケット２３６に応答して、サーバ装置１０１に接続機器登録要求パケット２０８を送信するとともに、機器間の通信を開始するＴＣＰ接続開始パケット２１０を機器１０２に送信する。サーバ装置１０１は、互いに接続を確立したことがある一対の機器の機器ＩＤの組を含む接続機器リストを備え、パケット２０８に応答して、取得された機器１０２及び１０３の機器ＩＤの組を接続機器リストに追加する。【選択図】図２
2005311747.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）とは異なる暗号化通信を用いてもよい。又は、これらステップＳ２０３及びＳ２０６におけるＴＣＰ通信の暗号化は省略されてもよい。この場合、ステップＳ２０３において、要求発行機器１０２は、ＴＣＰ接続開始パケット２２１を送信してＴＣＰ接続を確立した後すぐに接続要求パケット２２７を送信し、ステップＳ２０６において、サーバ装置１０１は、ＴＣＰ接続開始パケット２３１を受信した後すぐに接続要求パケット２３６を送信してもよい。
【０１３３】
また、データ通信シーケンスのステップＳ２１１の処理は、ステップＳ２０３及びＳ２０６と同様に、ＳＳＬなどの暗号化通信を用いて実行してもよい。また、ステップＳ２１１におけるデータの送受信は、ＵＤＰなど他の伝送プロトコルを用いて実行してもよい。
【０１３４】
説明された実施形態の通信システムでは、要求発行機器１０２が要求受諾機器１０３と通信したことがあるか否かについての情報を内部のメモリに記憶し、要求発行機器１０２が要求受諾機器１０３のパスワードを送信するか否かによって、図２乃至図４の通信シーケンスであるのか、あるいは図５乃至図７の通信シーケンスであるのかが、サーバ装置１０１及び要求受諾機器１０３にも判断されるようになっていた。しかしながら、要求発行機器１０２が要求受諾機器１０３と通信したことがあるか否かについての情報は、サーバ装置１０１によって記憶されていてもよい。この場合、サーバ装置１０１は、要求発行機器１０２から要求受諾機器１０３宛てのパケットを受信したときに、要求発行機器１０２と要求受諾機器１０３の最初の通信であるにもかかわらず当該パケットにパスワードが付加されていないならば、要求発行機器１０２に対してパスワードの再送信を要求したり、要求発行機器１０２にエラー通知パケットを送信して通信を終了したりすることができる。
【０１３５】
また、実施形態の通信システムでは、変形例として、パケット内におけるパスワードの有無によって最初の通信と２回目以降の通信とを区別することに代えて、パケット内の所定のフラグによって最初の通信と２回目以降の通信とを区別してもよい。この場合、サーバ装置１０１は、パケット２２７又は２２７ａを要求発行機器１０２から受信したときに、受信したパケット内の上記フラグが最初の通信であることを示しているならば図２の通信シーケンスに従って動作し、受信したパケット内の上記フラグが２回目以降の通信であることを示しているならば図５の通信シーケンスに従って動作する。同様に、要求受諾機器１０３は、パケット２３６又は２３６ａをサーバ装置１０１から受信したときに、受信したパケット内の上記フラグが最初の通信であることを示しているならば図２の通信シーケンスに従って動作し、受信したパケット内の上記フラグが２回目以降の通信であることを示しているならば図５の通信シーケンスに従って動作する。
【０１３６】
説明された実施形態の通信システムでは、要求発行機器１０２が要求発行機器１０２の機器ＩＤ“１０５１”と要求受諾機器１０３の機器ＩＤ“２１３３”とをサーバ装置１０１に送信することによって、サーバ装置１０１に機器情報リストを参照させて、機器ＩＤ“１０５１”で示される機器が機器ＩＤ“２１３３”で示される機器の既接続機器として登録されているか否かを判断させていた。しかしながら、要求発行機器１０２はその機器ＩＤ“１０５１”をサーバ装置１０１に送信せず、サーバ装置１０１は、機器ＩＤとは異なる要求発行機器１０２の識別情報を用いて、要求発行機器１０２が要求受諾機器１０３の既接続機器であるか否かを判断してもよい。例えば、サーバ装置１０１は、図２のステップＳ２０９において、要求発行機器１０２に関連付けられたＩＰアドレスを要求受諾機器１０３の既接続機器として機器情報リストに追加し、次いで、図５の通信シーケンスにおいて、要求発行機器１０２から要求受諾機器１０３との通信を要求する通信要求パケット２２７ａ（ただし、要求発行機器１０２の機器ＩＤを含まない）を受信した際に、ステップＳ２１２において、この通信要求パケット２２７ａの発信元ＩＰアドレスとサーバ装置１０１内の機器情報リストとを参照して、要求発行機器１０２が要求受諾機器１０３の既接続機器であるか否かを判断してもよい。
【０１３７】
また、要求受諾機器１０３は、パケット２０８を送信してサーバ装置１０１にサーバ装置１０１内の機器情報リストに登録させた既接続機器の機器ＩＤを、必要に応じて削除できるようにしてもよい。削除する際には、要求受諾機器１０３はサーバ装置１０１に接続機器登録削除要求パケットを送信し、サーバ装置１０１に、サーバ装置１０１の機器情報リスト内に既接続機器として登録された要求発行機器１０２の機器ＩＤを削除させる。
【０１３８】
また、図１０乃至図１２に示す機器登録パケット２０１、接続要求パケット２２７、接続要求通知パケット２０５、接続機器登録要求パケット２０８、接続要求パケット２３６、通信要求パケット２２７ａ及び通信要求パケット２３６ａは一例であって、これらのパケットには、他のフィールドが含まれていてもよいし、各フィールドの順序が異なっていてもよい。
【０１３９】
また、図１から図１３で用いているＩＰアドレス、ポート番号及び機器ＩＤは一例であって、他の値であっても構わない。
【０１４０】
以上説明したように、本実施形態では、異なるＬＡＮを介してそれぞれインターネット（ＷＡＮ）に接続された機器同士で、不正アクセスができないピアツーピア通信を容易に実現する通信システムを提供する。この通信システムにおいて、サーバ装置１０１は、要求発行機器１０２からの接続要求パケット２２７を、要求受諾機器１０３に中継する。接続要求パケット２２７には、要求発行機器１０２にパケットを到達させることができるルータ装置１０４ａのＩＰアドレス及びポート番号が付加されている。要求受諾機器１０３は、接続要求パケット２２７に含まれているＩＰアドレス及びポート番号宛に接続することで、要求発行機器１０２と要求受諾機器１０３との間でピアツーピア通信を行うことができる。また接続要求パケット２２７に要求受諾機器１０３のパスワードを付加し、要求受諾機器１０３がパスワードの確認を行うことで、不正な機器からの接続要求を受け付けないようにする。また要求受諾機器１０３は、一度接続を行った機器の機器ＩＤをサーバ装置１０１の機器情報リストに登録しておくと、要求発行機器１０２はパスワードを含まない通信要求メッセージをサーバ装置１０１経由で要求受諾機器１０３に送信することで、より容易に要求発行機器１０２と要求受諾機器１０３との間でピアツーピア通信を行うことができる。
【０１４１】
本発明はさらに別の実施形態として、図２乃至図７に示された処理に係る各ステップを含むプログラムとして提供してもよく、あるいは、上記プログラムを記録し、コンピュータが読み取り可能な記録媒体として提供してもよい。この場合、上記プログラムを、インターネットに接続されたコンピュータ又は機器に読み込ませて、上記プログラム中の各ステップを当該コンピュータ又は機器に実行させることにより、当該コンピュータ又は機器を、以上説明された実施形態におけるサーバ装置１０１、要求発行機器１０２、及び／又は要求受諾機器１０３として動作させることができる。上記プログラムを記録した記録媒体の例として、ＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭ等の光記録媒体、フレキシブルディスク及びハードディスク等の磁気記録媒体、又は半導体記憶装置などが可能であるが、それらに制限されない。また、上記プログラムは、インターネットなどのネットワークを介して分配されてもよい。
【産業上の利用可能性】
【０１４２】
以上説明したように、本発明によれば、異なるＬＡＮを介してそれぞれインターネット（ＷＡＮ）に接続された機器同士で、不正アクセスができないピアツーピア通信を容易に実現する通信システムを提供することができる。
【図面の簡単な説明】
【０１４３】
【図１】本発明の実施形態に係る通信システムの構成を示すブロック図である。
【図２】図１の通信システムにおいて実行される通信シーケンスであって、要求発行機器１０２が要求受諾機器１０３と最初に通信する場合の通信シーケンスを示すシーケンス図である。
【図３】図２の第１の接続要求シーケンスＳ２０３の詳細な処理を示すシーケンス図である。
【図４】図２の第２の接続要求シーケンスＳ２０６の詳細な処理を示すシーケンス図である。
【図５】図１の通信システムにおいて実行される通信シーケンスであって、要求発行機器１０２が要求受諾機器１０３と２回目以降に通信する場合の通信シーケンスを示すシーケンス図である。
【図６】図２の第１の通信要求シーケンスＳ２０３ａの詳細な処理を示すシーケンス図である。
【図７】図２の第２の通信要求シーケンスＳ２０６ａの詳細な処理を示すシーケンス図である。
【図８】図１の要求発行機器１０２及び要求受諾機器１０３に対してサーバ装置１０１の正当性を認証するための認証局装置５１を示すブロック図である。
【図９】図１のルータ装置１０４ａの内部のメモリに格納しているＮＡＰＴテーブルの一例を示す表である。
【図１０】（ａ）は図２のＬＡＮ側での機器登録パケット２０１の構成を示す図であり、（ｂ）は図２のＷＡＮ側での機器登録パケット２０１の構成を示す図であり、（ｃ）は図３のＬＡＮ側での接続要求パケット２２７の構成を示す図であり、（ｄ）は図３のＷＡＮ側での接続要求パケット２２７の構成を示す図である。
【図１１】（ａ）は図２のＬＡＮ側での接続要求通知パケット２０５の構成を示す図であり、（ｂ）は図２のＷＡＮ側での接続要求通知パケット２０５の構成を示す図であり、（ｃ）は図４のＬＡＮ側での接続要求パケット２３６の構成を示す図であり、（ｄ）は図４のＷＡＮ側での接続要求パケット２３６の構成を示す図であり、（ｅ）は図２のＬＡＮ側での接続機器登録要求パケット２０８の構成を示す図であり、（ｆ）は図２のＷＡＮ側での接続機器登録要求パケット２０８の構成を示す図である。
【図１２】（ａ）は図６のＬＡＮ側での通信要求パケット２２７ａの構成を示す図であり、（ｂ）は図６のＷＡＮ側での通信要求パケット２２７ａの構成を示す図であり、（ｃ）は図７のＬＡＮ側での通信要求パケット２３６ａの構成を示す図であり、（ｄ）は図７のＷＡＮ側での通信要求パケット２３６ａの構成を示す図である。
【図１３】図１のサーバ装置１０１で保存している機器情報リストの一例を示す表である。
【図１４】従来技術に係る通信システムの構成の一例を示すブロック図である。
【図１５】ルータ装置１０４のＮＡＰＴ機能を用いた通信の通信シーケンスの一例を示すシーケンス図である。
【図１６】ルータ装置１０４のＮＡＰＴテーブルの一例を示す表である。
【図１７】図１４の通信システムの通信シーケンスの一例を示すシーケンス図である。
【符号の説明】
【０１４４】
５１…認証局（ＣＡ）装置、
５２…ＣＡ公開鍵、
５３…ＣＡ秘密鍵、
５４…サーバ証明書データ発行パケット、
５５…ＣＡ証明書データパケット、
６１…サーバ秘密鍵、
６２…サーバ公開鍵、
６３…サーバ証明書データ要求パケット、
６４…署名、
６５…サーバ証明書データ、
７１…要求発行機器側通信用共通鍵作成情報、
７２…サーバ装置側通信用共通鍵作成情報、
８１…要求受諾機器側通信用共通鍵作成情報、
８２…サーバ装置側通信用共通鍵作成情報、
７３，８３…通信用共通鍵、
１０１…サーバ装置、
１０２…要求発行機器、
１０３…要求受諾機器、
１０４ａ，１０４ｂ…ルータ装置、
１０５…インターネット（ＷＡＮ）、
１０６ａ，１０６ｂ…ＬＡＮ、
２０１…機器登録パケット、
２０５…接続要求通知パケット、
２０８…接続機器登録要求パケット、
２１０，２２１，２３１…ＴＣＰ接続開始パケット、
２２２，２３２…暗号化通信開始要求パケット、
２２３，２３３…暗号化通信開始応答パケット、
２２４…サーバ証明書データパケット、
２２５…要求発行機器側通信用共通鍵作成情報パケット、
２２６，２３５…サーバ装置側通信用共通鍵作成情報パケット、
２２７，２３６…接続要求パケット、
２２７ａ，２３６ａ…通信要求パケット、
２３４…要求受諾機器側通信用共通鍵作成情報パケット。
【図１】
2005311747.tif 000003
【図２】
2005311747.tif 000004
【図３】
2005311747.tif 000005
【図４】
2005311747.tif 000006
【図５】
2005311747.tif 000007
【図６】
2005311747.tif 000008
【図７】
2005311747.tif 000009
【図８】
2005311747.tif 000010
【図９】
2005311747.tif 000011
【図１０】
2005311747.tif 000012
【図１１】
2005311747.tif 000013
【図１２】
2005311747.tif 000014
【図１３】
2005311747.tif 000015
【図１４】
2005311747.tif 000016
【図１５】
2005311747.tif 000017
【図１６】
2005311747.tif 000018
【図１７】
2005311747.tif 000019