(57)【要約】  発行先が異なっている複数のサーバ証明書を記憶する記憶部（１１２）と、複数のサーバ証明書の何れかを用いて行われる通信の接続要求を受信するとともに、複数のサーバ証明書から、接続要求の送信元ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスに応じて選択された一つのサーバ証明書を接続要求の送信元に送信する通信部（１１３）と、を備える。
2019092825.tif 000002
【特許請求の範囲】
【請求項１】
発行先が異なっている複数のサーバ証明書を記憶する記憶部と、
前記複数のサーバ証明書の何れかを用いて行われる通信の接続要求を受信するとともに、前記複数のサーバ証明書から、前記接続要求の送信元ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスに応じて選択された一つのサーバ証明書を前記接続要求の送信元に送信する通信部と、を備えること
を特徴とする情報処理装置。
【請求項２】
前記一つのサーバ証明書を選択する制御部をさらに備え、
前記制御部は、前記送信元ＩＰアドレスが、前記情報処理装置の属するサブネットのＩＰアドレスであるか否かにより、前記複数のサーバ証明書から前記一つのサーバ証明書として選択するサーバ証明書を変えること
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記一つのサーバ証明書を選択する制御部をさらに備え、
前記制御部は、前記送信元ＩＰアドレスが、グローバルＩＰアドレスか、プライベートＩＰアドレスかにより、前記複数のサーバ証明書から前記一つのサーバ証明書として選択するサーバ証明書を変えること
を特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記一つのサーバ証明書を選択する制御部をさらに備え、
前記記憶部は、前記送信元ＩＰアドレスに応じて、前記複数のサーバ証明書から前記一つのサーバ証明書を選択するためのサーバ証明書選択情報をさらに記憶し、
前記制御部は、前記サーバ証明書選択情報を参照することで、前記一つのサーバ証明書を選択すること
を特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記記憶部は、複数の送信先ＩＰアドレス及び複数のゲートウェイアドレスを示すルーティングテーブルをさらに記憶し、前記複数のゲートウェイアドレスの各々は、前記複数の送信先ＩＰアドレスの何れかに対応付けられており、
前記サーバ証明書選択情報は、前記複数のゲートウェイアドレス及び前記複数のサーバ証明書を示し、前記複数のサーバ証明書の各々は、前記複数のゲートウェイアドレスの何れかに対応付けられており、
前記制御部は、前記ルーティングテーブルを参照することで、前記複数の送信先ＩＰアドレスから、前記送信元ＩＰアドレスに一致する送信先ＩＰアドレスを特定し、前記複数のゲートウェイアドレスから、前記特定された送信先ＩＰアドレスに対応付けられているゲートウェイアドレスを特定するとともに、前記サーバ証明書選択情報を参照することで、前記複数のサーバ証明書から、前記特定されたゲートウェイアドレスに対応付けられているサーバ証明書を特定し、前記特定されたサーバ証明書を前記一つのサーバ証明書として選択すること
を特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記サーバ証明書選択情報は、複数の対象ＩＰアドレス及び前記複数のサーバ証明書を示し、前記複数のサーバ証明書の各々は、前記複数の対象ＩＰアドレスの何れかに対応付けられており、
前記制御部は、前記サーバ証明書選択情報を参照することで、前記複数の対象ＩＰアドレスから、前記送信元ＩＰアドレスに一致する対象ＩＰアドレスを特定し、前記複数のサーバ証明書から、前記特定された対象ＩＰアドレスに対応付けられているサーバ証明書を特定し、前記特定されたサーバ証明書を前記一つのサーバ証明書として選択すること
を特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記発行先は、ＩＰアドレス又はドメイン名であること
を特徴とする請求項１から６の何れか一項に記載の情報処理装置。
【請求項８】
前記通信部は、前記情報処理装置が接続されている第１のネットワークとは異なる第２のネットワークに接続されているサーバに、前記第１のネットワークと前記第２のネットワークとの間でＩＰアドレスを変換するネットワークアドレス変換中継装置を介して、取得要求を送信することで、前記取得要求の応答として、前記サーバから、前記第２のネットワークにおいて前記ネットワークアドレス変換中継装置に割り当てられているＩＰアドレスである変換前ＩＰアドレス、又は、前記第２のネットワークにおいてＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）で前記変換前ＩＰアドレスに変換されるドメイン名である変換前ドメイン名を受信し、
前記制御部は、前記変換前ＩＰアドレス又は前記変換前ドメイン名を前記発行先とするサーバ証明書を、前記複数のサーバ証明書の一つとして生成すること
を特徴とする請求項２から６の何れか一項に記載の情報処理装置。
【請求項９】
発行先が異なっている複数のサーバ証明書の何れかを用いて行われる通信の接続要求を受信し、
前記複数のサーバ証明書から、前記接続要求の送信元ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスに応じて選択された一つのサーバ証明書を前記接続要求の送信元に送信すること
を特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理方法に関し、特に、サーバ証明書を用いて通信を行う情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
家電機器を制御する設備管理装置等の情報処理装置を、Ｗｅｂを介してＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等により操作することが、現在、一般に行われている。情報処理装置とＰＣとの間の通信は、暗号化されていないＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）で行われる場合が多いが、暗号化され、通信の改ざん防止に対応したＨＴＴＰＳ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  Ｓｅｃｕｒｅ）で行われる場合も広がり始めている。【０００３】
ＨＴＴＰＳで通信を行う場合は、サーバ装置の正当性を保障するためのサーバ証明書が必須となっている。Ｗｅｂを介して情報処理装置を操作する場合、情報処理装置がサーバ装置となる。
サーバ証明書には、情報処理装置のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス又はドメイン名が発行先として記述される場合がある。サーバ証明書は、一般には、第三者の認証局により発行される場合が多い。しかしながら、情報処理装置のＩＰアドレス又はドメイン名は、情報処理装置の出荷時には決められないため、第三者の認証局が発行したサーバ証明書を、情報処理装置の出荷時に組み込んでおくことはできない。【０００４】
このため、情報処理装置が動作する際に、情報処理装置自体が認証局となり、情報処理装置のＩＰアドレス又はドメイン名が決定した後、情報処理装置自身でサーバ証明書を生成することが行われる。【０００５】
通常、ＨＴＴＰＳに対応したサーバ装置であるＨＴＴＰＳサーバでは、一つのサーバ証明書のみ登録可能であり、どのようなネットワークから接続されたとしても、ＨＴＴＰＳサーバは、登録された一つのサーバ証明書のみを応答する。【０００６】
しかしながら、例えば、サーバ証明書の発行先としてＩＰアドレスが記載されている場合、ＨＴＴＰＳサーバとして動作する情報処理装置に複数のＩＰアドレスが登録されていると、情報処理装置は、接続されたネットワークに応じて異なるＩＰアドレスで応答することになる。ＩＰアドレスが異なれば、応答に使用するサーバ証明書も異なるものを使用しなければならない。ところが、通常のＨＴＴＰＳサーバは、一つのサーバ証明書でしか応答できないため、正しくＨＴＴＰＳが動作しない場合がある。【０００７】
これに対して、特許文献１に記載されたプリンタは、有線ホスト名を有線所有者名情報として含む有線サーバ証明書及び無線ホスト名を無線所有者名情報として含む無線サーバ証明書を生成する。そして、プリンタは、有線Ｉ／Ｆ（ＩｎｔｅｒＦａｃｅ）を介して通信してきた機器には、有線サーバ証明書を提供し、無線Ｉ／Ｆを介して通信してきた機器には、無線サーバ証明書を提供する。これにより、プリンタは、有線Ｉ／Ｆ及び無線Ｉ／Ｆの両方を介して、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）を利用した通信を行うことができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１６−１６３１５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来の技術は、プリンタが物理的に異なる二つのネットワークインターフェースを有することを想定している。このため、一つのネットワークインターフェースしか持たない情報処理装置に対して、ＰＣが複数の宛先を用いて接続するようなネットワーク構成の場合には、従来の技術を適用することができない。【００１０】
そこで、本発明は、ネットワーク構成に応じて、複数のサーバ証明書から適切なサーバ証明書を選択できるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一態様に係る情報処理装置は、発行先が異なっている複数のサーバ証明書を記憶する記憶部と、前記複数のサーバ証明書の何れかを用いて行われる通信の接続要求を受信するとともに、前記複数のサーバ証明書から、前記接続要求の送信元ＩＰアドレスに応じて選択された一つのサーバ証明書を前記接続要求の送信元に送信する通信部と、を備えることを特徴とする。【００１２】
本発明の一態様に係る情報処理方法は、発行先が異なっている複数のサーバ証明書の何れかを用いて行われる通信の接続要求を受信し、前記複数のサーバ証明書から、前記接続要求の送信元ＩＰアドレスに応じて選択された一つのサーバ証明書を前記接続要求の送信元に送信することを特徴とする。
【発明の効果】
【００１３】
本発明の一態様によれば、ネットワーク構成に応じて、複数のサーバ証明書から適切なサーバ証明書を選択することができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１に係る通信システムの構成を概略的に示すブロック図である。
【図２】実施の形態１〜４における情報処理装置の構成を概略的に示すブロック図である。
【図３】（Ａ）〜（Ｃ）は、実施の形態１、２及び４における、ルート証明書、第１のサーバ証明書及び第２のサーバ証明書の例を示す概略図である。
【図４】実施の形態１におけるアドレス変換と送信先ＩＰアドレスとを説明するための表である。
【図５】（Ａ）及び（Ｂ）は、実施の形態１〜４におけるハードウェア構成を示す概略図である。
【図６】実施の形態２に係る通信システムの構成を概略的に示すブロック図である。
【図７】実施の形態３に係る通信システムの構成を概略的に示すブロック図である。
【図８】（Ａ）〜（Ｃ）は、実施の形態３における、ルート証明書、第１のサーバ証明書及び第２のサーバ証明書の例を示す概略図である。
【図９】実施の形態３におけるルーティングテーブルの一例を示す概略図である。
【図１０】実施の形態３におけるサーバ証明書選択情報の第１の例を示す概略図である。
【図１１】実施の形態３におけるサーバ証明書選択情報の第２の例を示す概略図である。
【図１２】実施の形態３におけるサーバ証明書選択情報の第３の例を示す概略図である。
【図１３】実施の形態３におけるサーバ証明書選択情報の第４の例を示す概略図である。
【図１４】実施の形態４に係る通信システムの構成を概略的に示すブロック図である。
【発明を実施するための形態】
【００１５】
実施の形態１．
図１は、実施の形態１に係る通信システム１００の構成を概略的に示すブロック図である。
図示するように、通信システム１００は、情報処理装置１１０と、ローカルＰＣ１２０と、ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）ルータ１３０と、拠点外ＰＣ１４０と、外部サーバ１５０とを備える。
【００１６】
情報処理装置１１０、ローカルＰＣ１２０及びＮＡＴルータ１３０は、第１のネットワークであるＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０１に接続されている。
ＮＡＴルータ１３０、拠点外ＰＣ１４０及び外部サーバ１５０は、第２のネットワークであるインターネット１０２に接続されている。
【００１７】
情報処理装置１１０には、第１のプライベートＩＰアドレスが割り当てられている。ローカルＰＣ１２０には、第２のプライベートＩＰアドレスが割り当てられている。情報処理装置１１０及びローカルＰＣ１２０は、同じサブネットに属している。このため、第１のプライベートＩＰアドレス及び第２のプライベートＩＰアドレスのネットワーク部は、同じである。
【００１８】
拠点外ＰＣ１４０は、情報処理装置１１０の第１のプライベートＩＰアドレスに直接接続することはできない。ＮＡＴルータ１３０が、静的ＮＡＴ又はポートフォワードに対応している場合には、拠点外ＰＣ１４０は、ＮＡＴルータ１３０を介して、情報処理装置１１０に接続することができる。
例えば、ＮＡＴルータ１３０が静的ＮＡＴに対応している場合には、拠点外ＰＣ１４０が、ＮＡＴルータ１３０に割り当てられている第１のグローバルＩＰアドレスに接続した場合、ＮＡＴルータ１３０は、その宛先アドレスを第１のプライベートＩＰアドレスに変換し、情報処理装置１１０に通信を転送する。ＮＡＴルータ１３０に割り当てられている第１のグローバルＩＰアドレスを変換前ＩＰアドレスともいう。
また、ＮＡＴルータ１３０がポートフォワードに対応している場合には、拠点外ＰＣ１４０が、ＮＡＴルータ１３０に割り当てられている第１のグローバルＩＰアドレスに、情報処理装置１１０に割り当てられているポート番号を指定して接続した場合、ＮＡＴルータ１３０は、その宛先アドレスを第１のプライベートＩＰアドレスに変換し、情報処理装置１１０に通信を転送する。
以下では、静的ＮＡＴ及びポートフォワードを併せて静的処理という。
ＮＡＴルータ１３０は、静的処理に対応しているものとする。
【００１９】
以上のように構成されている通信システム１００において、仮に、情報処理装置１１０が従来の技術のように、自装置に割り当てられている第１のプライベートＩＰアドレスを宛先とするサーバ証明書しか保有していない場合について説明する。
【００２０】
まず、ローカルＰＣ１２０が情報処理装置１１０に接続する場合、情報処理装置１１０は、第１のプライベートＩＰアドレスで応答し、サーバ証明書には、第１のプライベートＩＰアドレスが記載されている。この場合、ローカルＰＣ１２０は、情報処理装置１１０のアドレスと、サーバ証明書に記載されているアドレスとが一致するため、ＨＴＴＰＳに従って情報処理装置１１０と通信を行うことができる。
【００２１】
一方、拠点外ＰＣ１４０が情報処理装置１１０に接続する場合、拠点外ＰＣ１４０は、ＮＡＴルータ１３０に割り当てられている第１のグローバルＩＰアドレスを宛先として用い、ＮＡＴルータ１３０は、宛先を第１のプライベートＩＰアドレスに変換する。情報処理装置１１０は、第１のプライベートＩＰアドレスで応答し、サーバ証明書には、第１のプライベートＩＰアドレスが記載されている。拠点外ＰＣが接続した宛先は、第１のグローバルＩＰアドレスであり、応答されたサーバ証明書には第１のプライベートＩＰアドレスが記載されているため、ＨＴＴＰＳは正しく動作しない。
以上のような問題点を、実施の形態１では、解決する。
【００２２】
図２は、実施の形態１における情報処理装置１１０の構成を概略的に示すブロック図である。
情報処理装置１１０は、制御部１１１と、記憶部１１２と、通信部１１３と、入力部１１４とを備える。
制御部１１１は、情報処理装置１１０での処理を制御する。例えば、制御部１１１は、ルート証明書及びサーバ証明書を生成する。具体的には、制御部１１１は、ルート証明書、ＬＡＮ１０１用のサーバ証明書である第１のサーバ証明書、及び、インターネット１０２用のサーバ証明書である第２のサーバ証明書を生成する。
また、制御部１１１は、送信元ＩＰアドレスに応じて、送信するサーバ証明書を選択する。例えば、実施の形態１においては、制御部１１１は、サーバ証明書を用いて行われる通信の接続要求の送信元ＩＰアドレスが、情報処理装置１１０の属するサブネットのＩＰアドレスであるか否かにより、複数のサーバ証明書から選択するサーバ証明書を変える。
【００２３】
まず、図３（Ａ）〜（Ｃ）を参照しながら、サーバ証明書について説明する。
デジタル証明書には、証明書の発行元と発行先が記述されており、特に、発行元と発行先が同一の証明書を自己署名証明書という。自己署名証明書は、セキュリティの強化により、ＨＴＴＰＳのサーバ証明書として使用できなくなっている。
但し、自己署名証明書は、ルート証明書として使用可能となっている。
【００２４】
図３（Ａ）に示されているように、ルート証明書１６０は、発行元１６０ａと、発行先１６０ｂと、署名１６０ｃと、公開鍵１６０ｄとを含む。
ルート証明書１６０の発行元１６０ａは、任意の固定された名前でよく、発行先１６０ｂは、発行元１６０ａと同一である。
ルート証明書１６０は、ルート証明書１６０用の公開鍵１６０ｄを含む。ルート証明書１６０用の秘密鍵１６０ｅは、公開鍵１６０ｄとペアとなっている。
ルート証明書１６０の記載内容に基づいて、予め定められた情報を秘密鍵１６０ｅで暗号化を施すことにより、署名１６０ｃが生成される。例えば、ルート証明書１６０の記載内容のハッシュ値を秘密鍵１６０ｅで暗号化することで、署名１６０ｃが生成される。署名１６０ｃを公開鍵１６０ｄで復号し、復号された値とルート証明書１６０の記載内容のハッシュ値とを比較することで、ルート証明書１６０に変更が加えられていないことを証明することができる。
【００２５】
ルート証明書１６０は、情報処理装置１１０の工場出荷時に未定の情報を含んでおらず、情報処理装置１１０の出荷前に、情報処理装置１１０に登録しておくことができる。
または、制御部１１１は、情報処理装置１１０の起動時にルート証明書１６０が記憶部１１２に記憶されていないことを検出した場合、公開鍵１６０ｄ及び秘密鍵１６０ｅのペアを生成した上で、ルート証明書１６０を生成する。制御部１１１は、生成したルート証明書１６０を情報処理装置１１０内の記憶部１１２に記憶させる。
【００２６】
次に、図３（Ｂ）を用いて、ＬＡＮ１０１用のサーバ証明書である第１のサーバ証明書１６１について説明する。
情報処理装置１１０のプライベートＩＰアドレスは、情報処理装置１１０の起動時に、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）により自動的に付与されるか、情報処理装置１１０の入力部１１４を用いて、ユーザにより、情報処理装置１１０に手動で入力されるものとする。または、情報処理装置１１０の工場出荷時に、予め特定の静的なプライベートＩＰアドレスが登録されていてもよい。実施の形態１において情報処理装置１１０に割り当てられる静的なプライベートＩＰアドレスは、第１のプライベートＩＰアドレスである。
【００２７】
制御部１１１は、情報処理装置１１０の起動時に、第１のプライベートＩＰアドレスが登録されていた場合、言い換えると、第１のプライベートＩＰアドレスが記憶部１１２に記憶されていた場合、記憶部１１２に第１のサーバ証明書１６１が記憶されているか否かを確認する。第１のサーバ証明書１６１が記憶されていない場合、制御部１１１は、公開鍵１６１ｄ及び秘密鍵１６１ｅのペアを生成した上で、発行先１６１ｂが第１のプライベートＩＰアドレスとなるように、ルート証明書１６０を使い、第１のサーバ証明書１６１を生成する。具体的には、制御部１１１は、ルート証明書１６０の発行先１６０ｂを、第１のサーバ証明書１６１の発行元１６１ａとする。また、制御部１１１は、第１のサーバ証明書１６１の記載内容に基づいて、予め定められた情報をルート証明書１６０に対応する秘密鍵１６０ｅで暗号化を施すことにより、署名１６１ｃを生成する。
以上のようにして生成された第１のサーバ証明書１６１は、記憶部１１２に記憶される。
【００２８】
また、情報処理装置１１０の静的なプライベートＩＰアドレスがＤＨＣＰにより自動的に付与される場合には、制御部１１１は、図示しないＤＨＣＰサーバから情報処理装置１１０に第１のプライベートＩＰアドレスが配布された時点で、公開鍵１６１ｄ及び秘密鍵１６１ｅのペアを生成し、ＤＨＣＰで配布された第１のプライベートＩＰアドレスが発行先１６１ｂとなるよう、ルート証明書１６０を使い、第１のサーバ証明書１６１を生成する。
【００２９】
ここで、既に第１のサーバ証明書１６１が記憶部１１２に記憶されていても、第１のサーバ証明書１６１の発行先１６１ｂと、情報処理装置１１０に割り当てられた第１のプライベートＩＰアドレスが異なる場合には、制御部１１１は、記憶されている第１のサーバ証明書１６１を削除した上で、情報処理装置１１０に割り当てられた第１のプライベートＩＰアドレスを用いて第１のサーバ証明書１６１を再度生成する。再度生成された第１のサーバ証明書１６１は、記憶部１１２に記憶される。
【００３０】
次に、図３（Ｃ）を用いて、第２のサーバ証明書１６２について説明する。
第１のグローバルＩＰアドレスは、情報処理装置１１０とは異なる、ＮＡＴルータ１３０が所有する情報である。
このため、情報処理装置１１０のユーザは、入力部１１４を用いて、ＮＡＴルータ１３０の第１のグローバルＩＰアドレスを情報処理装置１１０に入力することにより、情報処理装置１１０にそれを記憶させることができる。
【００３１】
次に、情報処理装置１１０のユーザに手動で第１のグローバルＩＰアドレスを入力させる方法とは異なり、情報処理装置１１０が自動でＮＡＴルータ１３０の第１のグローバルＩＰアドレスを取得する方法を説明する。
【００３２】
図１に示されているように、通信システム１００において、外部サーバ１５０をインターネット１０２に接続しておく。外部サーバ１５０は、情報処理装置１１０とＨＴＴＰＳ通信を行う拠点外ＰＣ１４０とは異なる装置である。外部サーバ１５０情報処理装置１１０は、ＮＡＴルータ１３０を介して、外部サーバ１５０へ接続を行う。この通信は、特に暗号化されていてもいなくてもよく、ＨＴＴＰであってもなくてもよい。ここでは、情報処理装置１１０は、外部サーバ１５０に、アドレスの取得要求を送信するものとする。
【００３３】
情報処理装置１１０から外部サーバ１５０へ通信する場合、ＮＡＴルータ１３０は、送信元ＩＰアドレスを、第１のプライベートＩＰアドレスから第１のグローバルＩＰアドレスに変換して、取得要求を外部サーバ１５０に転送する。
そのような取得要求を受信した外部サーバ１５０は、送信元ＩＰアドレスを取得し、応答用の通信データに取得した送信元ＩＰアドレスを記載して、情報処理装置１１０に応答する。ここで取得される送信元ＩＰアドレスは、第１のグローバルＩＰアドレスである。
【００３４】
外部サーバ１５０と情報処理装置１１０がＨＴＴＰで通信する場合、外部サーバ１５０は、ＨＴＴＰサーバとして動作し、受信したＨＴＴＰヘッダに記載されているＲＥＭＯＴＥ＿ＡＤＤＲ変数から取得した送信元ＩＰアドレスを、ＨＴＴＰペイロードに記載して、そのパケットを情報処理装置１１０に応答してもよい。
【００３５】
外部サーバ１５０から応答を受け取った情報処理装置１１０は、応答用の通信データから、ＮＡＴルータ１３０の第１のグローバルＩＰアドレスを取得する。
【００３６】
以上のように、ユーザによる手入力により、又は、外部サーバ１５０からの応答により、ＮＡＴルータ１３０の第１のグローバルＩＰアドレスを取得すると、制御部１１１は、公開鍵１６２ｄ及び秘密鍵１６２ｅのペアを生成した上で、発行先１６２ｂが第１のグローバルＩＰアドレスとなるように、ルート証明書１６０を使い、図３（Ｃ）に示されているような第２のサーバ証明書１６２を生成する。具体的には、制御部１１１は、ルート証明書１６０の発行先１６０ｂを、第２のサーバ証明書１６２の発行元１６２ａとする。また、制御部１１１は、第２のサーバ証明書１６２の記載内容に基づいて、予め定められた情報をルート証明書１６０に対応する秘密鍵１６０ｅで暗号化を施すことにより、署名１６２ｃを生成する。
【００３７】
なお、情報処理装置１１０は、定期的に取得要求を外部サーバ１５０に送り、前回取得したグローバルＩＰアドレスと異なるグローバルＩＰアドレスであることを検出した場合には、制御部１１１は、新たに取得されたグローバルＩＰアドレスを用いて、第２のサーバ証明書１６２を新たに生成する。そして、制御部１１１は、記憶部１１２に記憶されている古い第２のサーバ証明書１６２を削除して、新たに生成された第２のサーバ証明書１６２を、記憶部１１２に記憶させる。
【００３８】
なお、外部サーバ１５０に接続するための情報、例えば、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）又はＩＰアドレスは、情報処理装置１１０の出荷前に予め記憶部１１２に記憶されているものとするか、後に、情報処理装置１１０のユーザが入力又は変更ができるようにしておく。
【００３９】
ＨＴＴＰＳ通信を正常に行うためには、情報処理装置１１０に記憶されているルート証明書１６０が必要となる。このため、通信システム１００では、情報処理装置１１０からルート証明書１６０を取得する手段が用意されており、ＨＴＴＰＳ通信を行おうとするローカルＰＣ１２０及び拠点外ＰＣ１４０に、ルート証明書１６０が記憶されているものとする。
ルート証明書１６０は、機密情報を含んでいないため、特に不正流出対策は不要で、誰でも入手できるようにしておいてかまわない。
【００４０】
次に、情報処理装置１１０の制御部１１１が、第１のサーバ証明書１６１及び第２のサーバ証明書１６２を選択して、接続要求の送信元に送信する処理について説明する。
【００４１】
図４は、ＮＡＴルータ１３０によるアドレス変換と、情報処理装置１１０が認識する送信先ＩＰアドレスとを説明するための表である。
拠点外ＰＣ１４０には、第２のグローバルＩＰアドレスが割り当てられているため、送信元ＩＰアドレスは、第２のグローバルＩＰアドレスとなる。拠点外ＰＣ１４０は、ＮＡＴルータ１３０を介して情報処理装置１１０に接続するため、拠点外ＰＣ１４０が送信する際の送信先ＩＰアドレス、言い換えると、ＮＡＴ変換前の送信先ＩＰアドレスは、第１のグローバルＩＰアドレスとなる。ＮＡＴルータ１３０は、送信先ＩＰアドレスを、情報処理装置１１０に割り当てられている第１のプライベートＩＰアドレスに書き換えるため、情報処理装置１１０で認識される送信先ＩＰアドレスは、第１のプライベートＩＰアドレスである。
一方、ローカルＰＣ１２０は、情報処理装置１１０と同じサブネットに所属しているため、送信元ＩＰアドレスは、ローカルＰＣ１２０に割り当てられている第２のプライベートＩＰアドレスであり、送信する際の送信先ＩＰアドレスは、情報処理装置１１０に割り当てられている第１のプライベートＩＰアドレスである。情報処理装置１１０が認識する送信先ＩＰアドレスも、第１のプライベートＩＰアドレスである。
【００４２】
図４に示されているように、情報処理装置１１０は、一つの通信部１１３しか備えていないため、情報処理装置１１０が認識する送信先ＩＰアドレスは、全て同一となる。
一方、情報処理装置１１０が認識する送信元ＩＰアドレスは大きく異なる。このため、制御部１１１は、送信元ＩＰアドレスにより、第１のサーバ証明書１６１及び第２のサーバ証明書１６２の何れを選択するかを決定する。
具体的には、実施の形態１においては、制御部１１１は、セキュアな通信であるＨＴＴＰＳ通信の接続要求の送信元の送信元ＩＰアドレスを取得し、送信元ＩＰアドレスが情報処理装置１１０と同一のサブネットの場合、第１のプライベートＩＰアドレスが記載された第１のサーバ証明書１６１を選択し、それ以外の場合、第１のグローバルＩＰアドレスが記載された第２のサーバ証明書１６２を選択する。
【００４３】
記憶部１１２は、情報処理装置１１０での処理に必要な情報を記憶する。例えば、記憶部１１２は、ルート証明書１６０及びルート証明書１６０に含まれている公開鍵１６０ｄとペアとなる秘密鍵１６０ｅ、第１のサーバ証明書１６１及び第１のサーバ証明書１６１に含まれている公開鍵１６１ｄとペアとなる秘密鍵１６１ｅ、並びに、第２のサーバ証明書１６２及び第２のサーバ証明書１６２に含まれている公開鍵１６２ｄとペアとなる秘密鍵１６２ｅを記憶する。
さらに、記憶部１１２は、情報処理装置１１０に割り当てられた第１のプライベートＩＰアドレス、及び、外部サーバ１５０に接続するための情報を記憶する。
なお、記憶部１１２は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、不揮発性のメモリ等の記憶装置により実現することができる。
【００４４】
通信部１１３は、ＬＡＮ１０１と通信するための通信インターフェースである。例えば、通信部１１３は、複数のサーバ証明書の何れかを用いて行われる通信の接続要求を受信する。また、通信部１１３は、複数のサーバ証明書から、その接続要求の送信元ＩＰアドレスに応じて選択された一つのサーバ証明書をその接続要求の送信元に送信する。
具体的には、通信部１１３は、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）により実現することができる。
【００４５】
入力部１１４は、操作の入力を受け付ける。
入力部１１４は、キーデバイス等の入力装置により実現することができる。
【００４６】
以上に記載された制御部１１１の一部又は全部は、例えば、図５（Ａ）に示されているように、メモリ１０と、メモリ１０に格納されているプログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のプロセッサ１１とにより構成することができる。このようなプログラムは、ネットワークを通じて提供されてもよく、また、記録媒体に記録されて提供されてもよい。即ち、このようなプログラムは、例えば、プログラムプロダクトとして提供されてもよい。
【００４７】
また、制御部１１１の一部は、例えば、図５（Ｂ）に示されているように、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ）又はＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の処理回路１２で構成することもできる。
【００４８】
実施の形態２．
図６は、実施の形態２に係る通信システム２００の構成を概略的に示すブロック図である。
図示するように、通信システム２００は、情報処理装置２１０と、第１のローカルＰＣ２２０と、ＮＡＴルータ１３０と、拠点外ＰＣ１４０と、外部サーバ１５０と、ルータ２２２と、第２のローカルＰＣ２２３とを備える。
実施の形態２における通信システム２００のＮＡＴルータ１３０、拠点外ＰＣ１４０及び外部サーバ１５０は、実施の形態１における通信システム１００のＮＡＴルータ１３０、拠点外ＰＣ１４０及び外部サーバ１５０と同様である。
【００４９】
情報処理装置２１０、第１のローカルＰＣ２２０、ＮＡＴルータ１３０及びルータ２２２は、第１のネットワークである第１のＬＡＮ２０１に接続されている。なお、実施の形態２における第１のＬＡＮ２０１は、実施の形態１におけるＬＡＮ１０１と同様である。
ＮＡＴルータ１３０、拠点外ＰＣ１４０及び外部サーバ１５０は、第２のネットワークであるインターネット１０２に接続されている。
ルータ２２２及び第２のローカルＰＣ２２３は、第３のネットワークである第２のＬＡＮ２０３に接続されている。
【００５０】
情報処理装置２１０には、第１のプライベートＩＰアドレスが割り当てられている。第１のローカルＰＣ２２０には、第２のプライベートＩＰアドレスが割り当てられている。情報処理装置２１０及び第１のローカルＰＣ２２０は、同じサブネットである第１のＬＡＮ２０１に属している。このため、第１のプライベートＩＰアドレス及び第２のプライベートＩＰアドレスのネットワーク部は、同じである。
第２のローカルＰＣ２２３には、第３のプライベートＩＰアドレスが割り当てられている。第２のローカルＰＣ２２３は、情報処理装置２１０及び第１のローカルＰＣ２２０とは異なるサブネットである第２のＬＡＮ２０３に属している。このため、第３のプライベートＩＰアドレスのネットワーク部は、第１のプライベートＩＰアドレス及び第２のプライベートＩＰアドレスのネットワーク部と異なっている。
【００５１】
実施の形態２に係る通信システム２００では、ある拠点に複数のＬＡＮ２０１、２０３が存在し、その内の一つである第１のＬＡＮ２０１にのみ情報処理装置２１０が接続されている。第１のＬＡＮ２０１は、実施の形態１におけるＬＡＮ１０１と同様に、ＮＡＴルータ１３０経由で、インターネット１０２に接続されている。第２のＬＡＮ２０３は、ＮＡＴ動作を行わないルータ２２２で、第１のＬＡＮ２０１に接続されている。
【００５２】
第２のローカルＰＣ２２３から、情報処理装置２１０にＨＴＴＰＳ接続した場合、第１のＬＡＮ２０１と第２のＬＡＮ２０３とでは、サブネットが異なる。仮に、情報処理装置２１０が実施の形態１における情報処理装置１１０と同様の処理を行うと、第２のローカルＰＣ２２３には、第１のグローバルＩＰアドレスが記載された第２のサーバ証明書１６２が応答されてしまう。
しかしながら、図６に示されている通信システム２００においては、第２のローカルＰＣ２２３は、第１のプライベートＩＰアドレスを送信先ＩＰアドレスとして用いて情報処理装置２１０に接続する。このため、情報処理装置２１０は、第２のローカルＰＣ２２３に対して、第１のプライベートＩＰアドレスが記載された第１のサーバ証明書１６１を応答しなければならない。
【００５３】
図２に示されているように、実施の形態２における情報処理装置２１０は、制御部２１１と、記憶部１１２と、通信部１１３と、入力部１１４とを備える。
実施の形態２における情報処理装置２１０の記憶部１１２、通信部１１３及び入力部１１４は、実施の形態１における情報処理装置１１０の記憶部１１２、通信部１１３及び入力部１１４と同様である。
【００５４】
制御部２１１は、情報処理装置２１０での処理を制御する。実施の形態２における制御部２１１は、送信元ＩＰアドレスに応じて送信するサーバ証明書を選択する処理において、実施の形態１における制御部１１１と異なっている。例えば、実施の形態２においては、制御部２１１は、サーバ証明書を用いて行われる通信の接続要求の送信元ＩＰアドレスが、グローバルＩＰアドレスか、プライベートＩＰアドレスかにより、複数のサーバ証明書から選択するサーバ証明書を変える。
【００５５】
具体的には、実施の形態２における制御部２１１は、ＨＴＴＰＳ通信の接続要求の送信元の送信元ＩＰアドレスを取得し、送信元ＩＰアドレスがプライベートＩＰアドレスである場合、第１のプライベートＩＰアドレスが記載された第１のサーバ証明書１６１を選択し、それ以外の場合、第１のグローバルＩＰアドレスが記載された第２のサーバ証明書１６２を選択する。
【００５６】
具体的には、制御部２１１は、ＨＴＴＰＳ通信のＳＳＬ／ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）プロトコルのハンドシェイク時において、送信元ＩＰアドレスが、クラスＡのプライベートＩＰアドレス１０．０．０．０／８、クラスＢのプライベートＩＰアドレス１７２．１６．０．０／１２又はクラスＣのプライベートＩＰアドレス１９２．１６８．０．０／１６のいずれかの場合、第１のサーバ証明書１６１を選択し、それ以外の場合、第２のサーバ証明書１６２を選択する。
クラスＡ〜ＣのプライベートＩＰアドレスは、グローバルＩＰアドレスとして使用されないと決められており、ローカルネットワークのサブネットで割り当てられるＩＰアドレスは、多くの場合、クラスＡ〜ＣのプライベートＩＰアドレスとなっている。
【００５７】
実施の形態３．
図７は、実施の形態３に係る通信システム３００の構成を概略的に示すブロック図である。
図示するように、通信システム３００は、情報処理装置３１０と、第１のローカルＰＣ２２０と、ルータ２２２と、第２のローカルＰＣ２２３と、ＮＡＴルータ３３０と、第３のローカルＰＣ３２４と、外部サーバ３５０とを備える。
実施の形態３における通信システム３００の第１のローカルＰＣ２２０、ルータ２２２及び第２のローカルＰＣ２２３は、実施の形態２における通信システム２００の第１のローカルＰＣ２２０、ルータ２２２及び第２のローカルＰＣ２２３と同様である。
【００５８】
情報処理装置３１０、第１のローカルＰＣ２２０、ＮＡＴルータ３３０及びルータ２２２は、第１のネットワークである第１のＬＡＮ２０１に接続されている。
ＮＡＴルータ３３０、第３のローカルＰＣ３２４及び外部サーバ３５０は、第２のネットワークである第３のＬＡＮ３０３に接続されている。
ルータ２２２及び第２のローカルＰＣ２２３は、第３のネットワークである第２のＬＡＮ２０３に接続されている。
【００５９】
情報処理装置３１０には、第１のプライベートＩＰアドレスが割り当てられている。第１のローカルＰＣ２２０には、第２のプライベートＩＰアドレスが割り当てられている。ルータ２２２には、第１のＬＡＮ２０１で通信を行うために第４のプライベートＩＰアドレスが割り当てられている。ＮＡＴルータ３３０には、第１のＬＡＮ２０１で通信を行うために第５のプライベートＩＰアドレスが割り当てられている。情報処理装置２１０と、第１のローカルＰＣ２２０と、ルータ２２２と、ＮＡＴルータ３３０とは、同じサブネットである第１のＬＡＮ２０１に属している。このため、第１のプライベートＩＰアドレス、第２のプライベートＩＰアドレス、第４のプライベートＩＰアドレス及び第５のプライベートＩＰアドレスのネットワーク部は、同じである。
第２のローカルＰＣ２２３には、第３のプライベートＩＰアドレスが割り当てられている。第２のローカルＰＣ２２３は、情報処理装置２１０及び第１のローカルＰＣ２２０とは異なるサブネットである第２のＬＡＮ２０３に属している。このため、第３のプライベートＩＰアドレスのネットワーク部は、第１のプライベートＩＰアドレス及び第２のプライベートＩＰアドレスのネットワーク部と異なっている。
ＮＡＴルータ３３０には、第３のＬＡＮ３０３で通信を行うために第６のプライベートＩＰアドレスも割り当てられている。ＮＡＴルータ３３０は、情報処理装置２１０及び第１のローカルＰＣ２２０とは異なるサブネットである第３のＬＡＮ３０３にも属している。このため、第６のプライベートＩＰアドレスのネットワーク部は、第１のプライベートＩＰアドレス及び第２のプライベートＩＰアドレスのネットワーク部と異なっている。なお、第６のプライベートＩＰアドレスを変換前ＩＰアドレスともいう。
【００６０】
図７に示されている通信システム３００においては、情報処理装置３１０が接続されている第１のＬＡＮ２０１には、ＮＡＴルータ３３０が接続されている。ＮＡＴルータ３３０は、第１の実施の形態及び第２の実施の形態とは異なり、インターネットではなく第３のＬＡＮ３０３に接続されている。第１のＬＡＮ２０１から第３のＬＡＮ３０３へは自由に通信できるが、第３のＬＡＮ３０３から第１のＬＡＮ２０１へは自由に通信できないようになっている。
但し、第１のＬＡＮ２０１への静的処理をＮＡＴルータ３３０に設定することにより、第３のＬＡＮ３０３に接続されている第３のローカルＰＣ３２４は、ＮＡＴルータ３３０に割り当てられている第６のプライベートＩＰアドレスへ接続することで、第１のＬＡＮ２０１内の情報処理装置３１０へ接続可能となる。
【００６１】
一方、ルータ２２２は、ＮＡＴ機能を有していないため、第２のＬＡＮ２０３内の第２のローカルＰＣ２２３は、直接、情報処理装置３１０の第１のプライベートＩＰアドレスへ通信が可能である。
情報処理装置３１０は、第３のローカルＰＣ３２４と、第１のローカルＰＣ２２０及び第２のローカルＰＣ２２３とで異なるサーバ証明書を応答する必要がある。
【００６２】
図２に示されているように、実施の形態３における情報処理装置３１０は、制御部３１１と、記憶部３１２と、通信部１１３と、入力部１１４とを備える。
実施の形態３における情報処理装置３１０の通信部１１３及び入力部１１４は、実施の形態１における情報処理装置１１０の通信部１１３及び入力部１１４と同様である。
【００６３】
制御部３１１は、情報処理装置３１０での処理を制御する。例えば、制御部３１１は、ルート証明書及びサーバ証明書を生成する。具体的には、制御部３１１は、ルート証明書、第１のＬＡＮ２０１用のサーバ証明書である第１のサーバ証明書、及び、第３のＬＡＮ３０３用のサーバ証明書である第３のサーバ証明書を生成する。
また、制御部３１１は、送信元ＩＰアドレスに応じて、送信するサーバ証明書を選択する。例えば、実施の形態３においては、制御部３１１は、複数のサーバ証明書から一つのサーバ証明書を選択するためのサーバ証明書選択情報を参照することで、サーバ証明書を用いて行われる通信の接続要求の送信元ＩＰアドレスに応じて、複数のサーバ証明書から一つのサーバ証明書を選択する。
【００６４】
まず、図８（Ａ）〜（Ｃ）を参照しながら、サーバ証明書について説明する。
実施の形態３におけるルート証明書１６０及び第１のサーバ証明書１６１は、実施の形態１におけるルート証明書１６０及び第１のサーバ証明書１６１と同様である。
【００６５】
制御部３１１は、第３のサーバ証明書３６３を生成するために、ＮＡＴルータ３３０に割り当てられている第６のプライベートＩＰアドレスを取得する。第６のプライベートＩＰアドレスの取得方法については、実施の形態１と同様に、入力部１１４を介してユーザから入力を受け付ける方法、又は、外部サーバ３５０にアドレスの取得要求を行うことで、外部サーバ３５０から、第６のプライベートＩＰアドレスが記載された応答を受け付ける方法がある。
ここで、実施の形態３における外部サーバ３５０の処理は、実施の形態１における外部サーバ１５０の処理と同様である。
【００６６】
ユーザによる手入力により、又は、外部サーバ３５０からの応答により、ＮＡＴルータ３３０の第６のプライベートＩＰアドレスを取得すると、制御部３１１は、公開鍵３６３ｄ及び秘密鍵３６３ｅのペアを生成した上で、発行先３６２ｂが第６のプライベートＩＰアドレスとなるよう、ルート証明書１６０を使い、図８（Ｃ）に示されているような第３のサーバ証明書３６３を生成する。具体的には、制御部３１１は、ルート証明書１６０の発行先１６０ｂを、第３のサーバ証明書３６３の発行元３６３ａとする。また、制御部３１１は、第３のサーバ証明書３６３の記載内容に基づいて、予め定められた情報をルート証明書１６０に対応する秘密鍵１６０ｅで暗号化を施すことにより、署名３６３ｃを生成する。
【００６７】
なお、情報処理装置３１０は、定期的にアドレスの取得要求を外部サーバ３５０に送り、前回取得したプライベートＩＰアドレスと異なるプライベートＩＰアドレスであることを検出した場合には、制御部３１１は、新たに取得されたプライベートＩＰアドレスを用いて、第３のサーバ証明書３６３を新たに生成する。そして、制御部３１１は、記憶部３１２に記憶されている古い第３のサーバ証明書３６３を削除して、新たに生成された第３のサーバ証明書３６３を、記憶部３１２に記憶させる。
【００６８】
なお、外部サーバ３５０に接続するための情報は、情報処理装置３１０の出荷前に予め記憶部３１２に記憶されているものとするか、後に、情報処理装置３１０のユーザが入力又は変更ができるようにしておく。
【００６９】
次に、情報処理装置３１０の制御部３１１が、第１のサーバ証明書１６１及び第３のサーバ証明書３６３を選択して、ＨＴＴＰＳ通信の接続要求の送信元に送信する処理について説明する。
【００７０】
図７に示されている通信システム３００において、ＩＰ通信が成立するためには、情報処理装置３１０のルーティングテーブルを適切に設定しておく必要がある。ルーティングテーブルは、異なるネットワークの経路を記述した表であり、ＩＰ通信には必須となっている。具体的には、ルーティングテーブルは、自装置が属するネットワークと異なるネットワークにパケット送信する際に、自装置が属するネットワーク内のどのＩＰアドレスに送信すればよいかを記述したものとなっている。
【００７１】
図９は、図７に示されている通信システム３００において正常に通信が行われるために、情報処理装置３１０に設定されるルーティングテーブルの一例を示す概略図である。
図９に示されているルーティングテーブル３７０は、送信先ネットワーク列３７０ａと、ゲートウェイアドレス列３７０ｂとを有する。
送信先ネットワーク列３７０ａには、送信先となるネットワークのＩＰアドレスである送信先ＩＰアドレスが格納される。
ゲートウェイアドレス列３７０ｂには、送信先ネットワーク列３７０ａの対応する行に格納されている送信先ＩＰアドレスにパケットを送信する際に、そのパケットを送信する第１のＬＡＮ２０１内のプライベートＩＰアドレスであるゲートウェイアドレスを示す。ゲートウェイアドレス列３７０ｂに格納されるプライベートＩＰアドレスは、必ず、情報処理装置３１０に割り当てられている第１のプライベートＩＰアドレスと同一のサブネットに属するＩＰアドレスでなければならない。
即ち、ルーティングテーブル３７０では、複数のゲートウェイアドレス各々は、複数の送信先ＩＰアドレスの何れかに対応付けられている。
【００７２】
例えば、第１の行３７０ｃでは、第２のＬＡＮ２０３のサブネットに割り当てられているプライベートＩＰアドレスが、送信先ネットワーク列３７０ａに格納されており、第２のＬＡＮ２０３にパケットを送信する際に、情報処理装置３１０が第１のＬＡＮ２０１内で送信する送信先であるルータ２２２に割り当てられている第４のプライベートＩＰアドレスがゲートウェイアドレス列３７０ｂに格納されている。
また、第２の行３７０ｄでは、第３のＬＡＮ３０３のサブネットに割り当てられているプライベートＩＰアドレスが、送信先ネットワーク列３７０ａに格納されており、第３のＬＡＮ３０３にパケットを送信する際に、情報処理装置３１０が第１のＬＡＮ２０１内で送信する送信先であるＮＡＴルータ３３０に割り当てられている第５のプライベートＩＰアドレスがゲートウェイアドレス列３７０ｂに格納されている。
さらに、第３の行３７０ｅでは、任意のＩＰアドレスを示す値が、送信先ネットワーク列３７０ａに格納されており、任意のＩＰアドレスにパケットを送信する際に、情報処理装置３１０が第１のＬＡＮ２０１内で送信するデフォルトのゲートウェイアドレスとして、ＮＡＴルータ３３０に割り当てられている第５のプライベートＩＰアドレスがゲートウェイアドレス列３７０ｂに格納されている。送信先のネットワークが他の行に存在しない場合、言い換えると、第１のＬＡＮ２０１、第２のＬＡＮ２０３及び第３のＬＡＮ３０３以外のネットワークにパケットを送信する際には、情報処理装置３１０は、ＮＡＴルータ３３０にそのパケットを送信する。
なお、ルーティングテーブル３７０は、通常、情報処理装置３１０のユーザが、情報処理装置３１０に設定を行う。
【００７３】
以上のようなルーティングテーブル３７０により、情報処理装置３１０は、異なるネットワークへもパケットを送信することができる。
そこで、情報処理装置３１０のユーザは、ルーティングテーブル３７０の設定時に、サーバ証明書を選択するためのサーバ証明書選択情報を生成することで、適切にサーバ証明書を選択することができる。
例えば、サーバ証明書選択情報は、ルーティングテーブル３７０に設定されるゲートウェイアドレス毎に、選択するサーバ証明書を示す。実施の形態３では、サーバ証明書選択情報は、第１のプライベートＩＰアドレスが記載された第１のサーバ証明書１６１か、ＮＡＴルータ３３０に割り当てられている第５のプライベートＩＰアドレスが記載された第３のサーバ証明書３６３か、の２択で済ませられる。
【００７４】
図１０は、サーバ証明書選択情報の一例を示す概略図である。
図１０には、サーバ証明書選択情報の一例として、サーバ証明書選択テーブル３７１が示されている。
サーバ証明書選択テーブル３７１は、ゲートウェイアドレス列３７１ａと、サーバ証明書列３７１ｂとを有する。
ゲートウェイアドレス列３７１ａは、ルーティングテーブル３７０に格納されているゲートウェイアドレスを格納する。
サーバ証明書列３７１ｂは、対応する行に格納されているゲートウェイアドレスに対して選択するサーバ証明書を示す情報を格納する。
即ち、サーバ証明書選択テーブル３７１では、複数のサーバ証明書の各々は、複数のゲートウェイアドレスの何れかに対応付けられている。
【００７５】
以上のようなサーバ証明書選択テーブル３７１を使用することにより、図２に示されている情報処理装置３１０の制御部３１１は、情報処理装置３１０にＨＴＴＰＳ通信の接続要求を受けると、ＨＴＴＰＳ通信のＳＳＬ／ＴＬＳプロトコルのハンドシェイク時に、ルーティングテーブル３７０を参照することで、接続要求の送信元ＩＰアドレスに一致する送信先ＩＰアドレスを特定し、特定された送信先ＩＰアドレスに対応付けられているゲートウェイアドレスを特定する。そして、制御部３１１は、サーバ証明書選択テーブル３７１を参照することで、特定されたゲートウェイアドレスに対応付けられているサーバ証明書を選択する。
なお、制御部３１１は、接続要求の送信元ＩＰアドレスが、情報処理装置３１０のサブネットである第１のＬＡＮ２０１のプライベートＩＰアドレスである場合には、ルーティングテーブル３７０及びサーバ証明書選択テーブル３７１を参照することなく、第１のサーバ証明書１６１を選択する。
【００７６】
記憶部３１２は、情報処理装置３１０での処理に必要な情報を記憶する。例えば、記憶部３１２は、ルート証明書１６０及びルート証明書１６０に含まれている公開鍵１６０ｄとペアとなる秘密鍵１６０ｅ、第１のサーバ証明書１６１及び第１のサーバ証明書１６１に含まれている公開鍵１６１ｄとペアとなる秘密鍵１６１ｅ、並びに、第３のサーバ証明書３６３及び第３のサーバ証明書３６３に含まれている公開鍵３６３ｄとペアとなる秘密鍵３６３ｅを記憶する。
また、記憶部３１２は、情報処理装置３１０に割り当てられた第１のプライベートＩＰアドレス、及び、外部サーバ３５０に接続するための情報を記憶する。
さらに、記憶部３１２は、ルーティングテーブル３７０及びサーバ証明書選択テーブル３７１を記憶する。
【００７７】
以上に記載された実施の形態３では、ルーティングテーブル３７０及びサーバ証明書選択テーブル３７１を参照することで、サーバ証明書を選択しているが、ルーティングテーブル３７０を参照する過程を省略することもできる。
例えば、情報処理装置３１０のユーザは、サーバ証明書選択情報として、図１１に示されているようなサーバ証明書選択テーブル３７２を生成してもよい。
図１１に示されているように、サーバ証明書選択テーブル３７２は、対象ネットワーク列３７２ａと、サーバ証明書列３７２ｂとを備える。
対象ネットワーク列３７２ａは、ルーティングテーブル３７０の送信先ネットワーク列３７０ａに格納されている送信先ＩＰアドレスに対応する対象ＩＰアドレスを格納する。
サーバ証明書列３７２ｂは、ＨＴＴＰＳ通信の接続要求の送信元ＩＰアドレスが、対応する行の対象ＩＰアドレスと一致する場合に選択するサーバ証明書を示す情報を格納する。
【００７８】
以上のようなサーバ証明書選択テーブル３７２を使用することにより、図２に示されている情報処理装置３１０の制御部３１１は、情報処理装置３１０にＨＴＴＰＳ通信の接続要求を受けると、ＨＴＴＰＳ通信のＳＳＬ／ＴＬＳプロトコルのハンドシェイク時に、サーバ証明書選択テーブル３７２を参照することで、接続要求の送信元ＩＰアドレスに一致する対象ＩＰアドレスを特定し、特定された対象ＩＰアドレスに対応付けられているサーバ証明書を選択することができる。
【００７９】
なお、情報処理装置３１０のユーザは、例えば、図１２に示されているように、情報処理装置３１０が属するサブネットである第１のＬＡＮ２０１のＩＰアドレスを含むサーバ証明書選択テーブル３７３を生成してもよい。
【００８０】
なお、実施の形態１〜実施の形態３の全てを網羅するために、情報処理装置３１０のユーザは、図１３に示されているようなサーバ証明書選択テーブル３７４を生成してもよい。図１３に示されているサーバ証明書選択テーブル３７４は、接続要求の送信元ＩＰアドレスがプライベートＩＰアドレスである場合には、接続要求の送信元ＩＰアドレスが属するサブネット毎に対応するプライベートＩＰアドレスが記載されたサーバ証明書を選択することを示し、接続要求の送信元アドレスがプライベートＩＰアドレスではない場合には、インターネットに接続するために用いられているＮＡＴルータのグローバルＩＰアドレスが記載されているサーバ証明書を選択することを示している。
【００８１】
実施の形態４．
以上に記載した実施の形態１〜３では、情報処理装置１１０〜３１０にＨＴＴＰＳ通信で接続する際に、情報処理装置１１０〜３１０にＩＰアドレスで接続することを前提としてきたが、ドメイン名で情報処理装置１１０〜３１０に接続する場合もある。以下、実施の形態４では、実施の形態１と同様の構成で、ドメイン名を用いる場合を説明する。
【００８２】
図１４は、実施の形態４に係る通信システム４００の構成を概略的に示すブロック図である。
図示するように、通信システム４００は、情報処理装置４１０と、ローカルＰＣ１２０と、ＮＡＴルータ１３０と、拠点外ＰＣ１４０と、外部サーバ４５０と、ＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）サーバ４８０、４８１とを備える。
【００８３】
情報処理装置４１０、ローカルＰＣ１２０、ＮＡＴルータ１３０及びＤＮＳサーバ４８０は、ＬＡＮ１０１に接続されている。
ＮＡＴルータ１３０、拠点外ＰＣ１４０、外部サーバ４５０及びＤＮＳサーバ４８１は、インターネット１０２に接続されている。
【００８４】
実施の形態４に係る通信システム４００のローカルＰＣ１２０、ＮＡＴルータ１３０及び拠点外ＰＣ１４０は、実施の形態１に係る通信システム１００のローカルＰＣ１２０、ＮＡＴルータ１３０及び拠点外ＰＣ１４０と同様である。但し、ローカルＰＣ１２０は、情報処理装置４１０に接続する場合には、ＬＡＮ１０１において、ＤＮＳサーバ４８０により情報処理装置４１０に割り当てられている第１のプライベートＩＰアドレスに変換される第１のドメイン名（例えば、ｍａｃｈｉｎｅ１）を指定する。そして、ローカルＰＣ１２０は、ＤＮＳサーバ４８０から、第１のドメイン名に対応する第１のプライベートＩＰアドレスを取得することにより、情報処理装置４１０に接続する。言い換えると、第１のドメイン名は、ＬＡＮ１０１において、ＤＮＳにより第１のプライベートＩＰアドレスに変換されるドメイン名である。
【００８５】
また、拠点外ＰＣ１４０も、情報処理装置４１０に接続する場合には、インターネット１０２において、ＤＮＳサーバ４８１によりＮＡＴルータ１３０に割り当てられている第１のグローバルＩＰアドレスに変換される第２のドメイン名（例えば、ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ）を指定する。そして、拠点外ＰＣ１４０は、ＤＮＳサーバ４８１から、第２のドメイン名に対応する第１のグローバルＩＰアドレスを取得することにより、情報処理装置４１０に接続する。なお、ＮＡＴルータ１３０は、実施の形態１と同様に、静的処理により、第１のグローバルＩＰアドレスを第１のプライベートＩＰアドレスに変換する。言い換えると、第２のドメイン名は、インターネット１０２において、ＤＮＳにより第１のグローバルＩＰアドレスに変換されるドメイン名である。ここで、第２のドメイン名を変換前ドメイン名ともいう。
【００８６】
図２に示されているように、実施の形態４における情報処理装置４１０は、制御部４１１と、記憶部４１２と、通信部１１３と、入力部１１４とを備える。
実施の形態４における情報処理装置４１０の通信部１１３及び入力部１１４は、実施の形態１における情報処理装置１１０の通信部１１３及び入力部１１４と同様である。
【００８７】
制御部４１１は、情報処理装置４１０での処理を制御する。例えば、制御部４１１は、ルート証明書及びサーバ証明書を生成する。具体的には、制御部４１１は、図３（Ａ）〜（Ｃ）に示されているように、ルート証明書１６０、ＬＡＮ１０１用のサーバ証明書である第１のサーバ証明書１６１＃、及び、インターネット１０２用のサーバ証明書である第２のサーバ証明書１６２＃を生成する。なお、ルート証明書１６０については、実施の形態１におけるルート証明書１６０と同様である。
【００８８】
制御部４１１は、実施の形態１と同様に、第１のプライベートＩＰアドレスを取得すると、通信部１１３を介してＤＮＳサーバ４８０に取得要求を送信することで、第１のプライベートＩＰアドレスを用いてＤＮＳの逆引きを行い、ＤＮＳサーバ４８０から、第１のプライベートＩＰアドレスに対応する第１のドメイン名を取得する。
そして、制御部４１１は、公開鍵１６１ｄ及び秘密鍵１６１ｅのペアを生成した上で、発行先１６１ｂ＃が第１のドメイン名となるよう、ルート証明書１６０を使い、第１のサーバ証明書１６１＃を生成する。具体的には、制御部４１１は、ルート証明書１６０の発行先１６０ｂを、第１のサーバ証明書１６１＃の発行元１６１ａとする。また、制御部４１１は、第１のサーバ証明書１６１＃の記載内容に基づいて、予め定められた情報をルート証明書１６０に対応する秘密鍵１６０ｅで暗号化を施すことにより、署名１６１ｃ＃を生成する。
以上のようにして生成された第１のサーバ証明書１６１＃は、記憶部４１２に記憶される。
【００８９】
また、制御部４１１は、通信部１１３を介して、外部サーバ４５０へ接続を行う。この通信は、特に暗号化されていてもいなくてもよく、ＨＴＴＰであってもなくてもよい。ここでは、情報処理装置４１０は、外部サーバ１５０に、ドメイン名の取得要求を送信するものとする。
【００９０】
情報処理装置４１０から外部サーバ４５０へ通信する場合、ＮＡＴルータ１３０は、送信元ＩＰアドレスを、第１のプライベートＩＰアドレスから第１のグローバルＩＰアドレスに書き換えて、取得要求を外部サーバ４５０に転送する。
そのような取得要求を受信した外部サーバ４５０は、送信元ＩＰアドレス（ここでは、第１のグローバルＩＰアドレス）を取得し、ＤＮＳサーバ４８１に取得要求を行うことで、第１のグローバルＩＰアドレスを用いてＤＮＳの逆引きを行い、ＤＮＳサーバ４８１から、第１のグローバルＩＰアドレスに対応する第２のドメイン名を取得する。
そして、外部サーバ４５０は、応答用の通信データに取得した第２のドメイン名を記載して、情報処理装置４１０に応答する。
【００９１】
外部サーバ４５０と情報処理装置４１０がＨＴＴＰで通信する場合、外部サーバ４５０は、ＨＴＴＰサーバとして動作し、受信したＨＴＴＰヘッダに記載されているＲＥＭＯＴＥ＿ＡＤＤＲ変数から取得した送信元ＩＰアドレスを取得して、ＤＮＳの逆引きを行い、取得された第２のドメイン名をＨＴＴＰペイロードに記載して、そのパケットを情報処理装置４１０に応答してもよい。
【００９２】
外部サーバ４５０から応答を受け取った情報処理装置４１０は、応答用の通信データから、ＮＡＴルータ１３０の第２のドメイン名を取得する。
なお、情報処理装置４１０は、入力部１１４を介して、ユーザの手入力により、第２のドメイン名を取得してもよい。
【００９３】
以上のように、ユーザによる手入力により、又は、外部サーバ４５０からの応答により、第２のドメイン名を取得すると、制御部４１１は、公開鍵１６２ｄ及び秘密鍵１６２ｅのペアを生成した上で、発行先１６２ｂ＃が第２のドメイン名となるよう、ルート証明書１６０を使い、第２のサーバ証明書１６２＃を生成する。具体的には、制御部４１１は、ルート証明書１６０の発行先１６０ｂを、第２のサーバ証明書１６２＃の発行元１６２ａとする。また、制御部４１１は、第２のサーバ証明書１６２＃の記載内容に基づいて、予め定められた情報をルート証明書１６０に対応する秘密鍵１６０ｅで暗号化を施すことにより、署名１６２ｃ＃を生成する。
【００９４】
また、制御部４１１は、送信元ＩＰアドレスに応じて、送信するサーバ証明書を選択する。
例えば、制御部４１１は、ＨＴＴＰＳ通信の接続要求を送信した送信元の送信元ＩＰアドレスを取得し、送信元ＩＰアドレスが情報処理装置４１０と同一のサブネットの場合、第１のドメイン名が記載された第１のサーバ証明書１６１＃を選択し、それ以外の場合、第２のドメイン名が記載された第２のサーバ証明書１６２＃を選択する。
【００９５】
記憶部４１２は、情報処理装置４１０での処理に必要な情報を記憶する。例えば、記憶部４１２は、ルート証明書１６０及びルート証明書１６０に含まれている公開鍵１６０ｄとペアとなる秘密鍵１６０ｅ、第１のサーバ証明書１６１＃及び第１のサーバ証明書１６１＃に含まれている公開鍵１６１ｄとペアとなる秘密鍵１６１ｅ、並びに、第２のサーバ証明書１６２＃及び第２のサーバ証明書１６２＃に含まれている公開鍵１６２ｄとペアとなる秘密鍵１６２ｅを記憶する。
さらに、記憶部４１２は、情報処理装置４１０に割り当てられた第１のプライベートＩＰアドレス、及び、外部サーバ４５０に接続するための情報を記憶する。
【００９６】
なお、以上に記載したように、ＤＮＳの逆引きを行うか否かは、ネットワークの運用方針に依存するため、情報処理装置４１０の設定で、ＤＮＳの逆引きを行うか否かを選択できるようにしておいてもよい。
【００９７】
また、以上に記載したようにＤＮＳの逆引きを行うのではなく、情報処理装置４１０の使用者が、入力部１１４を介して、第１のドメイン名及び第２のドメイン名を入力してもよい。
【００９８】
実施の形態４では、実施の形態１に係る通信システム１００を例に、ドメイン名を用いる場合について説明したが、ＤＮＳの逆引きを行うこと、又は、ユーザからの入力を受け付けることで、実施の形態２及び３においても、上記と同様に、ドメイン名を用いることができる。
【符号の説明】
【００９９】
１００，２００，３００，４００  通信システム、  １１０，２１０，３１０，４１０  情報処理装置、  １１１，２１１，３１１，４１１  制御部、  １１２，３１２，４１２  記憶部、  １１３  通信部、  １１４  入力部、  １２０  ローカルＰＣ、  ２２０  第１のローカルＰＣ、  ２２３  第２のローカルＰＣ、  ３２４  第３のローカルＰＣ、  １３０，３３０  ＮＡＴルータ、  １４０  拠点外ＰＣ、  １５０，３５０，４５０  外部サーバ、  ４８０，４８１  ＤＮＳサーバ。
【図１】
2019092825.tif 000003
【図２】
2019092825.tif 000004
【図３】
2019092825.tif 000005
【図４】
2019092825.tif 000006
【図５】
2019092825.tif 000007
【図６】
2019092825.tif 000008
【図７】
2019092825.tif 000009
【図８】
2019092825.tif 000010
【図９】
2019092825.tif 000011
【図１０】
2019092825.tif 000012
【図１１】
2019092825.tif 000013
【図１２】
2019092825.tif 000014
【図１３】
2019092825.tif 000015
【図１４】
2019092825.tif 000016
【国際調査報告】
2019092825.tif 000017
2019092825.tif 000018
2019092825.tif 000019