(57)【特許請求の範囲】
【請求項１】
通信機器であって、
有線ネットワークを利用した通信を実行するための有線インターフェースと、
無線ネットワークを利用した通信を実行するための無線インターフェースと、
前記有線ネットワークにおいて前記通信機器を識別するための有線用の機器識別情報と、前記無線ネットワークにおいて前記通信機器を識別するための無線用の機器識別情報と、を記憶するメモリと、
ＳＳＬ（Secure Sockets Layerの略）通信を実行するための有線用のサーバ証明書と、前記ＳＳＬ通信を実行するための無線用のサーバ証明書と、を生成する生成部であって、前記有線用のサーバ証明書は、前記有線用の機器識別情報を所有者情報として含み、前記無線用のサーバ証明書は、前記無線用の機器識別情報を所有者情報として含む、前記生成部と、
前記ＳＳＬ通信の実行を要求するためのＳＳＬ通信要求を受信する受信部と、
前記ＳＳＬ通信要求が、前記有線ネットワークに所属する第１の特定機器から前記有線インターフェースを介して受信された第１の前記ＳＳＬ通信要求であるのか、前記無線ネットワークに所属する第２の特定機器から前記無線インターフェースを介して受信された第２の前記ＳＳＬ通信要求であるのか、を判断する判断部と、
前記有線ネットワークに所属する前記第１の特定機器から前記有線インターフェースを介して前記第１のＳＳＬ通信要求が受信される場合に、前記有線用のサーバ証明書を利用して、前記有線インターフェースを介して、前記第１の特定機器との前記ＳＳＬ通信を実行する第１の通信実行部と、
前記無線ネットワークに所属する前記第２の特定機器から前記無線インターフェースを介して前記第２のＳＳＬ通信要求が受信される場合に、前記無線用のサーバ証明書を利用して、前記無線インターフェースを介して、前記第２の特定機器との前記ＳＳＬ通信を実行する第２の通信実行部と、
を備える通信機器。
【請求項２】
前記生成部は、前記生成済みの有線用のサーバ証明書と前記生成済みの前記無線用のサーバ証明書との双方を前記メモリに記憶させ、
前記通信機器は、さらに、
前記有線用のサーバ証明書と前記無線用のサーバ証明書との双方が前記メモリに記憶されている状態で、前記有線ネットワークに所属する前記第１の特定機器から前記有線インターフェースを介して前記第１のＳＳＬ通信要求が受信される場合に、前記有線用のサーバ証明書と前記無線用のサーバ証明書とのうちの前記有線用のサーバ証明書を選択し、
前記有線用のサーバ証明書と前記無線用のサーバ証明書との双方が前記メモリに記憶されている状態で、前記無線ネットワークに所属する前記第２の特定機器から前記無線インターフェースを介して前記第２のＳＳＬ通信要求が受信される場合に、前記有線用のサーバ証明書と前記無線用のサーバ証明書とのうちの前記無線用のサーバ証明書を選択する選択部を備え、
前記第１の通信実行部は、前記有線用のサーバ証明書が選択される場合に、前記有線用のサーバ証明書を利用して、前記有線インターフェースを介して、前記第１の特定機器との前記ＳＳＬ通信を実行し、
前記第２の通信実行部は、前記無線用のサーバ証明書が選択される場合に、前記無線用のサーバ証明書を利用して、前記無線インターフェースを介して、前記第２の特定機器との前記ＳＳＬ通信を実行する、請求項１に記載の通信機器。
【請求項３】
前記生成部は、前記通信機器が起動される際に、前記有線用の機器識別情報と前記無線用の機器識別情報とを前記メモリから取得し、前記取得済みの有線用の機器識別情報と前記取得済みの無線用の機器識別情報とを利用して、前記有線用のサーバ証明書と前記無線用のサーバ証明書とを生成し、前記生成済みの有線用のサーバ証明書と前記生成済みの無線用のサーバ証明書との双方を前記メモリに記憶させる、請求項２に記載の通信機器。
【請求項４】
前記生成部は、
前記有線ネットワークに所属する前記第１の特定機器から前記有線インターフェースを介して前記第１のＳＳＬ通信要求が受信される際に、前記メモリから前記有線用の機器識別情報を取得し、前記取得済みの有線用の機器識別情報を利用して、前記有線用のサーバ証明書を生成し、
前記無線ネットワークに所属する前記第２の特定機器から前記無線インターフェースを介して前記第２のＳＳＬ通信要求が受信される際に、前記メモリから前記無線用の機器識別情報を取得し、前記取得済みの無線用の機器識別情報を利用して、前記無線用のサーバ証明書を生成し、
前記第１の通信実行部は、前記有線用のサーバ証明書が生成される場合に、前記有線用のサーバ証明書を利用して、前記有線インターフェースを介して、前記第１の特定機器との前記ＳＳＬ通信を実行し、
前記第２の通信実行部は、前記無線用のサーバ証明書が生成される場合に、前記無線用のサーバ証明書を利用して、前記無線インターフェースを介して、前記第２の特定機器との前記ＳＳＬ通信を実行する、請求項１に記載の通信機器。
【請求項５】
前記有線用の機器識別情報は、前記有線ネットワークにおいて前記通信機器を識別するための第１のホスト名であり、
前記無線用の機器識別情報は、前記無線ネットワークにおいて前記通信機器を識別するための第２のホスト名である、請求項１から４のいずれか一項に記載の通信機器。
【請求項６】
前記有線用のサーバ証明書及び前記無線用のサーバ証明書のそれぞれは、自己署名証明書であり、
前記生成部は、さらに、有線用の公開鍵と、前記有線用の公開鍵に対応する有線用の秘密鍵と、無線用の公開鍵と、前記無線用の公開鍵に対応する無線用の秘密鍵と、を生成し、
前記有線用のサーバ証明書は、前記有線用の公開鍵を含み、
前記無線用のサーバ証明書は、前記無線用の公開鍵を含み、
前記通信機器は、さらに、
前記有線用のサーバ証明書が生成される場合に、前記有線用のサーバ証明書と前記有線用の秘密鍵とを関連付けて前記メモリに記憶させ、前記無線用のサーバ証明書が生成される場合に、前記無線用のサーバ証明書と前記無線用の秘密鍵とを関連付けて前記メモリに記憶させる記憶制御部を備え、
前記第１の通信実行部は、前記有線ネットワークに所属する前記第１の特定機器から前記有線インターフェースを介して前記第１のＳＳＬ通信要求が受信される場合に、前記有線用の公開鍵を含む前記有線用のサーバ証明書と、前記有線用のサーバ証明書に関連付けられている前記有線用の秘密鍵と、を利用して、前記有線インターフェースを介して、前記第１の特定機器との前記ＳＳＬ通信を実行し、
前記第２の通信実行部は、前記無線ネットワークに所属する前記第２の特定機器から前記無線インターフェースを介して前記第２のＳＳＬ通信要求が受信される場合に、前記無線用の公開鍵を含む前記無線用のサーバ証明書と、前記無線用のサーバ証明書に関連付けられている前記無線用の秘密鍵と、を利用して、前記無線インターフェースを介して、前記第２の特定機器との前記ＳＳＬ通信を実行する、請求項１から５のいずれか一項に記載の通信機器。
【請求項７】
前記通信機器は、印刷機能及びスキャン機能のうちの少なくとも一方を実行可能な機器である、請求項１から６のいずれか一項に記載の通信機器。
【請求項８】
前記判断部は、さらに、前記ＳＳＬ通信要求の送信先を示す送信先ＩＰアドレスが、前記有線用の機器識別情報に対応する第１のＩＰアドレスと前記無線用の機器識別情報に対応する第２のＩＰアドレスとのうちのどちらであるのかを判断することによって、前記ＳＳＬ通信要求が、前記第１のＳＳＬ通信要求であるのか、前記第２のＳＳＬ通信要求であるのか、を判断する、請求項１から７のいずれか一項に記載の通信機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、サーバ証明書を利用して、特定機器との通信を実行する通信機器を開示する。
【背景技術】
【０００２】
特許文献１には、サーバ証明書を記憶するプリントサーバと、クライアントＰＣ（Personal Computerの略）と、が開示されている。サーバ証明書は、プリントサーバの識別情報（例えば、ホスト名）を所有者情報として含む。プリントサーバは、ＳＳＬ（Secure Sockets Layerの略）を利用した通信の実行を要求するためのＳＳＬ通信要求をクライアントＰＣから受信する場合に、サーバ証明書をクライアントＰＣに送信する。これにより、プリントサーバは、サーバ証明書を利用して、暗号化されたデータの通信をクライアントＰＣと実行し得る。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１３５９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、プリントサーバが複数個のインターフェースを備えることについて何ら考慮されていない。本明細書では、複数個のインターフェースを備える通信機器が、サーバ証明書を利用して、特定機器との通信を適切に実行し得る技術を提供する。
【課題を解決するための手段】
【０００５】
本明細書によって開示される通信機器は、第１のインターフェースと、第２のインターフェースと、メモリと、生成部と、受信部と、判断部と、第１の通信実行部と、第２の通信実行部と、を備える。第１のインターフェースは、第１のネットワークを利用した通信を実行するためのインターフェースである。第２のインターフェースは、第２のネットワークを利用した通信を実行するためのインターフェースである。メモリは、第１のネットワークにおいて通信機器を識別するための第１の機器情報と、第２のネットワークにおいて通信機器を識別するための第２の機器情報と、を記憶する。生成部は、第１の機器情報を所有者情報として含む第１のサーバ証明書と、第２の機器情報を所有者情報として含む第２のサーバ証明書と、を生成する。受信部は、サーバ証明書を利用した通信の実行を要求するための通信要求を受信する。判断部は、通信要求が、第１のネットワークに所属する第１の特定機器から第１のインターフェースを介して受信された第１の通信要求であるのか、第２のネットワークに所属する第２の特定機器から第２のインターフェースを介して受信された第２の通信要求であるのか、を判断する。第１の通信実行部は、第１の特定機器から第１の通信要求が受信される場合に、第１のサーバ証明書を利用して、第１のインターフェースを介して、第１の特定機器との通信を実行する。第２の通信実行部は、第２の特定機器から第２の通信要求が受信される場合に、第２のサーバ証明書を利用して、前記第２のインターフェースを介して、第２の特定機器との通信を実行する。
【０００６】
上記の構成によると、通信機器は、第１のインターフェースに対応する第１のネットワークにおいて通信機器を識別するための第１の機器情報を所有者情報として含む第１のサーバ証明書を生成する。このために、通信機器は、第１のサーバ証明書を利用して、第１のインターフェースを介して、第１の特定機器との通信を適切に実行することができる。また、通信機器は、さらに、第２のインターフェースに対応する第２のネットワークにおいて通信機器を識別するための第２の機器情報を所有者情報として含む第２のサーバ証明書を生成する。このために、通信機器は、第２のサーバ証明書を利用して、第２のインターフェースを介して、第２の特定機器との通信を適切に実行することができる。このように、通信機器は、複数個のインターフェースに応じた複数個のサーバ証明書を利用して、第１及び第２の特定機器との通信を適切に実行することができる。
前記生成部は、前記生成済みの第１のサーバ証明書と前記生成済みの前記第２のサーバ証明書との双方を前記メモリに記憶させ、
前記通信機器は、さらに、
前記第１のサーバ証明書と前記第２のサーバ証明書との双方が前記メモリに記憶されている状態で、前記第１の特定機器から前記第１の通信要求が受信される場合に、前記第１のサーバ証明書と前記第２のサーバ証明書とのうちの前記第１のサーバ証明書を選択し、
前記第１のサーバ証明書と前記第２のサーバ証明書との双方が前記メモリに記憶されている状態で、前記第２の特定機器から前記第２の通信要求が受信される場合に、前記第１のサーバ証明書と前記第２のサーバ証明書とのうちの前記第２のサーバ証明書を選択する選択部を備え、
前記第１の通信実行部は、前記第１のサーバ証明書が選択される場合に、前記第１のサーバ証明書を利用して、前記第１のインターフェースを介して、前記第１の特定機器との通信を実行し、
前記第２の通信実行部は、前記第２のサーバ証明書が選択される場合に、前記第２のサーバ証明書を利用して、前記第２のインターフェースを介して、前記第２の特定機器との通信を実行してもよい。
前記生成部は、前記通信機器が起動される際に、前記第１の機器情報と前記第２の機器情報とを前記メモリから取得し、前記取得済みの第１の機器情報と前記取得済みの第２の機器情報とを利用して、前記第１のサーバ証明書と前記第２のサーバ証明書とを生成し、前記生成済みの第１のサーバ証明書と前記生成済みの第２のサーバ証明書との双方を前記メモリに記憶させてもよい。
前記生成部は、
前記第１の特定機器から前記第１の通信要求が受信される際に、前記メモリから前記第１の機器情報を取得し、前記取得済みの第１の機器情報を利用して、前記第１のサーバ証明書を生成し、
前記第２の特定機器から前記第２の通信要求が受信される際に、前記メモリから前記第２の機器情報を取得し、前記取得済みの第２の機器情報を利用して、前記第２のサーバ証明書を生成し、
前記第１の通信実行部は、前記第１のサーバ証明書が生成される場合に、前記第１のサーバ証明書を利用して、前記第１のインターフェースを介して、前記第１の特定機器との通信を実行し、
前記第２の通信実行部は、前記第２のサーバ証明書が生成される場合に、前記第２のサーバ証明書を利用して、前記第２のインターフェースを介して、前記第２の特定機器との通信を実行してもよい。
前記第１の機器情報は、前記第１のネットワークにおいて前記通信機器を識別するための第１のホスト名であり、
前記第２の機器情報は、前記第２のネットワークにおいて前記通信機器を識別するための第２のホスト名であってもよい。
前記第１のサーバ証明書及び前記第２のサーバ証明書のそれぞれは、自己署名証明書であってもよい。
前記通信機器は、印刷機能及びスキャン機能のうちの少なくとも一方を実行可能な機器であってもよい。
前記第１のインターフェースは、有線ネットワークである前記第１のネットワークを利用した通信を実行するためのハードウェアインターフェースであり、
前記第２のインターフェースは、無線ネットワークである前記第２のネットワークを利用した通信を実行するためのハードウェアインターフェースであってもよい。
前記第１のインターフェースは、アクセスポイントを含む無線ネットワークである前記第１のネットワークを利用した通信を実行するためのソフトウェアインターフェースであり、
前記第２のインターフェースは、アクセスポイントを含まない無線ネットワークである前記第２のネットワークを利用した通信を実行するためのソフトウェアインターフェースであってもよい。
前記判断部は、さらに、前記通信要求の送信先を示す送信先ＩＰアドレスが、前記第１の機器情報に対応する第１のＩＰアドレスと前記第２の機器情報に対応する第２のＩＰアドレスとのうちのどちらであるのかを判断することによって、前記通信要求が、前記第１の通信要求であるのか、前記第２の通信要求であるのか、を判断してもよい。
【０００７】
上記の通信機器を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ読取可能記録媒体も、新規で有用である。また、上記の通信機器と少なくとも１個の機器（例えば、第１の特定機器、第２の特定機器）とを備える通信システムも、新規で有用である。
【図面の簡単な説明】
【０００８】
【図１】通信システムの構成を示す。
【図２】第１実施例の証明書生成処理のフローチャートを示す。
【図３】第１実施例の証明書変更処理のフローチャートを示す。
【図４】第１実施例のＳＳＬ通信処理のフローチャートを示す。
【図５】第１実施例の具体的なケースのシーケンス図を示す。
【図６】第２実施例のＳＳＬ通信処理のフローチャートを示す。
【図７】第２実施例の具体的なケースのシーケンス図を示す。
【発明を実施するための形態】
【０００９】
（第１実施例）
（通信システム２の構成；図１）
通信システム２は、プリンタＰＲと、端末機器７０，８０と、アクセスポイント（以下では「ＡＰ」と呼ぶ）１００と、を備える。プリンタＰＲと端末機器７０とは、有線ＬＡＮ（Local Area Networkの略）に所属しており、有線ケーブル４を介して、相互に有線通信を実行可能である。プリンタＰＲと端末機器８０とは、ＡＰ１００によって形成されている無線ＬＡＮに所属している。プリンタＰＲと端末機器８０とは、ＡＰ１００を介して、相互に無線通信を実行可能である。
【００１０】
（プリンタＰＲの構成）
プリンタＰＲは、印刷機能を実行可能な周辺機器（即ち端末機器７０，８０等の周辺機器）である。プリンタＰＲは、例えば、周辺機器からの要求に応じて、印刷機能を実行可能である。即ち、プリンタＰＲは、印刷サービスを周辺機器に提供可能なサーバ機器であると言える。プリンタＰＲは、操作部１２と、表示部１４と、印刷実行部１６と、有線インターフェース２０と、無線インターフェース２２と、制御部３０と、を備える。以下では、インターフェースのことを「Ｉ／Ｆ」と記載する。
【００１１】
操作部１２は、複数のキーによって構成される。ユーザは、操作部１２を操作することによって、様々な指示をプリンタＰＲに入力することができる。表示部１４は、様々な情報を表示するためのディスプレイである。印刷実行部１６は、インクジェット方式、レーザ方式等の印刷機構である。有線Ｉ／Ｆ２０は、有線通信を実行するためのハードウェアＩ／Ｆである。有線Ｉ／Ｆ２０には、有線ケーブル４が接続されている。無線Ｉ／Ｆ２２は、有線Ｉ／Ｆ２０とは異なるチップによって構成されているハードウェアＩ／Ｆであり、より具体的には、Ｗｉ−Ｆｉ方式に従った無線通信を実行するためのハードウェアＩ／Ｆである。Ｗｉ−Ｆｉ方式は、例えば、ＩＥＥＥ（The Institute of Electrical and Electronics Engineers, Inc.の略）の８０２．１１の規格、及び、それに準ずる規格（例えば８０２．１１ａ，１１ｂ，１１ｇ，１１ｎ等）に従って、無線通信を実行するための無線通信方式である。
【００１２】
制御部３０は、ＣＰＵ３２と、メモリ３４と、を備える。ＣＰＵ３２は、メモリ３４に記憶されているプログラム３６に従って、様々な処理を実行するプロセッサである。メモリ３４は、ＲＡＭ、ＲＯＭ等によって構成される。メモリ３４は、プログラム３６の他に、さらに、有線ＩＰアドレスＩＰｘと、有線ホスト名Ｈｘと、有線サーバ証明書Ｃｘと、有線秘密鍵ＳＫｘと、を関連付けて記憶する。また、メモリ３４は、無線ＩＰアドレスＩＰｙと、無線ホスト名Ｈｙと、無線サーバ証明書Ｃｙと、無線秘密鍵ＳＫｙと、を関連付けて記憶する。
【００１３】
有線ＩＰアドレスＩＰｘは、有線Ｉ／Ｆ２０に割り当てられているＩＰアドレスである。有線ＩＰアドレスＩＰｘは、例えば、有線ＬＡＮに所属するＤＨＣＰ（Dynamic Host Configuration Protocolの略）サーバによって、有線Ｉ／Ｆ２０に自動的に割り当てられる。変形例では、有線ＩＰアドレスＩＰｘは、例えば、ユーザによって指定される固定的なＩＰアドレスであってもよい。有線ホスト名Ｈｘは、有線ＬＡＮに所属する機器（例えば端末機器７０）がプリンタＰＲを識別するための名称であり、プリンタＰＲのベンダによって、有線Ｉ／Ｆ２０に予め割り当てられている。即ち、有線ホスト名Ｈｘは、プリンタＰＲの出荷段階において、メモリ３４に記憶されている。なお、有線ホスト名Ｈｘは、ユーザの操作によって、任意の名称に変更され得る。この場合、有線ホスト名Ｈｘは、変更後の名称になる。
【００１４】
有線サーバ証明書Ｃｘは、有線ＬＡＮに所属する機器（例えば端末機器７０）に印刷サービスを提供するためのサーバ証明書である。より具体的には、有線サーバ証明書Ｃｘは、ＳＳＬ（Secure Sockets Layerの略）を利用した通信（以下では「ＳＳＬ通信」と呼ぶ）を実行するために必要な情報である。有線サーバ証明書Ｃｘは、有線ハッシュ対象情報ＨＩｘと、有線署名Ｓｘと、を含む。有線ハッシュ対象情報ＨＩｘは、有線公開鍵ＰＫｘと、有線所有者情報Ｐｘと、を含む。有線公開鍵ＰＫｘは、プリンタＰＲとは異なる機器が取得可能な鍵である。具体的には、例えば、端末機器７０は、有線公開鍵ＰＫｘを含む有線サーバ証明書ＣｘをプリンタＰＲから受信することによって、有線公開鍵ＰＫｘを取得することができる。有線所有者情報Ｐｘは、有線サーバ証明書Ｃｘの所有者（即ちプリンタＰＲ）を示す情報であり、有線ホスト名Ｈｘを含む。有線署名Ｓｘは、有線ハッシュ対象情報ＨＩｘをハッシュ化することによって得られるハッシュ値が、有線秘密鍵ＳＫｘを利用して暗号化された値である。
【００１５】
有線サーバ証明書Ｃｘは、プリンタＰＲ自身によって署名（即ち生成）される自己署名証明書であり、プリンタＰＲとは異なる認証局によって署名される認証局証明書とは異なる。本実施例では、プリンタＰＲは、自己署名証明書である有線サーバ証明書Ｃｘを利用するので、認証局を利用せずに済む。そのため、プリンタＰＲは、有線サーバ証明書Ｃｘを比較的に容易に取得（即ち生成）することができる。
【００１６】
有線秘密鍵ＳＫｘは、プリンタＰＲとは異なる機器が取得不可能な鍵であり、有線公開鍵ＰＫｘに対応する鍵である。例えば、有線秘密鍵ＳＫｘを利用して暗号化されたデータは、有線公開鍵ＰＫｘを利用して復号化可能である。しかしながら、当該データは、有線秘密鍵ＳＫｘを利用して復号化不可能である。また、有線公開鍵ＰＫｘを利用して暗号化されたデータは、有線秘密鍵ＳＫｘを利用して復号化可能である。しかしながら、当該データは、有線公開鍵ＰＫｘを利用して復号化不可能である。
【００１７】
無線ＩＰアドレスＩＰｙは、無線Ｉ／Ｆ２２に割り当てられているＩＰアドレスである。無線ＩＰアドレスＩＰｙは、例えば、ＤＨＣＰサーバとして機能するＡＰ１００によって、無線Ｉ／Ｆ２２に自動的に割り当てられる。変形例では、無線ＩＰアドレスＩＰｙは、例えば、ユーザによって指定される固定的なＩＰアドレスであってもよい。無線ホスト名Ｈｙは、無線ＬＡＮに所属する機器（例えば端末機器８０）がプリンタＰＲを識別するための名称であり、プリンタＰＲのベンダによって、無線Ｉ／Ｆ２２に予め割り当てられている。本実施例では、無線ホスト名Ｈｙを構成する文字列は、有線ホスト名Ｈｘを構成する文字列とは異なる。なお、無線ホスト名Ｈｙは、ユーザの操作によって、任意の名称に変更され得る。この場合、無線ホスト名Ｈｙは、変更後の名称になる。
【００１８】
無線サーバ証明書Ｃｙは、無線ＬＡＮに所属する機器（例えば端末機器８０）に印刷サービスを提供するためのサーバ証明書であり、ＳＳＬ通信を実行するために必要な情報である。無線サーバ証明書Ｃｙは、無線ハッシュ対象情報ＨＩｙと、無線署名Ｓｙと、を含む。無線ハッシュ対象情報ＨＩｙは、無線公開鍵ＰＫｙと、無線所有者情報Ｐｙと、を含む。これらの情報ＰＫｙ，Ｐｙ，Ｓｙは、それぞれ、上記の各情報ＰＫｘ，Ｐｘ，Ｓｘと同様である。また、無線秘密鍵ＳＫｙは、プリンタＰＲとは異なる機器が取得不可能な鍵であり、無線公開鍵ＰＫｙに対応する鍵である。
【００１９】
（端末機器７０，８０の構成）
端末機器７０，８０は、例えば、携帯電話、スマートフォン、ノートＰＣ、タブレットＰＣ等の可搬型の機器であってもよいし、デスクトップＰＣ、テレビ等の据置型の機器であってもよい。端末機器８０は、プリンタＰＲと同様に、Ｗｉ−Ｆｉ方式をサポートしている。
【００２０】
（証明書生成処理；図２）
続いて、図２を参照して、プリンタＰＲのＣＰＵ３２が実行する証明書生成処理の内容について説明する。証明書生成処理は、プリンタＰＲの電源がユーザによってＯＮされること、即ち、プリンタＰＲが起動されること、をトリガとして実行される。プリンタＰＲの電源がＯＮされる状況では、プリンタＰＲのメモリ３４には、ホスト名Ｈｘ，Ｈｙは記憶されているが、ＩＰアドレスＩＰｘ，ＩＰｙは記憶されていない。また、サーバ証明書Ｃｘ，Ｃｙと秘密鍵ＳＫｘ，ＳＫｙとは、図２の処理が過去に１回でも実行されていれば、メモリ３４に記憶されているが、図２の処理が過去に１回も実行されていなければ、メモリ３４に記憶されていない。
【００２１】
Ｓ１０では、ＣＰＵ３２は、有線サーバ証明書Ｃｘ及び無線サーバ証明書Ｃｙを生成済みであるのか否かを判断する。具体的には、ＣＰＵ３２は、有線サーバ証明書Ｃｘ及び無線サーバ証明書Ｃｙがメモリ３４に記憶されている場合（Ｓ１０でＹＥＳ）に、図２の処理を終了する。一方、ＣＰＵ３２は、有線サーバ証明書Ｃｘ及び無線サーバ証明書Ｃｙがメモリ３４に記憶されていない場合（Ｓ１０でＮＯ）に、Ｓ１１において、有線ホスト名Ｈｘ及び無線ホスト名Ｈｙをメモリ３４から取得する。
【００２２】
Ｓ１２では、ＣＰＵ３２は、有線サーバ証明書Ｃｘ及び無線サーバ証明書Ｃｙを生成して、有線サーバ証明書Ｃｘ及び無線サーバ証明書Ｃｙをメモリ３４に記憶する。具体的には、まず、ＣＰＵ３２は、所定のアルゴリズムに基づいて、有線公開鍵ＰＫｘ及び有線秘密鍵ＳＫｘを生成し、さらに、Ｓ１１で取得済みの有線ホスト名Ｈｘを利用して有線所有者情報Ｐｘを生成する。次いで、ＣＰＵ３２は、有線公開鍵ＰＫｘ及び有線所有者情報Ｐｘを含む有線ハッシュ対象情報ＨＩｘをハッシュ化してハッシュ値を算出し、有線秘密鍵ＳＫｘを利用して当該ハッシュ値を暗号化することによって有線署名Ｓｘを生成する。次いで、ＣＰＵ３２は、有線公開鍵ＰＫｘ、有線所有者情報Ｐｘ、及び、有線署名Ｓｘを含む有線サーバ証明書Ｃｘを生成し、有線サーバ証明書Ｃｘを有線ホスト名Ｈｘに関連付けてメモリ３４に記憶する。また、ＣＰＵ３２は、有線秘密鍵ＳＫｘを、有線ホスト名Ｈｘ及び有線サーバ証明書Ｃｘに関連付けてメモリ３４に記憶する。ＣＰＵ３２は、同様の手法で、Ｓ１１で取得済みの無線ホスト名Ｈｙを利用して、無線サーバ証明書Ｃｙを生成し、無線サーバ証明書Ｃｙを無線ホスト名Ｈｙに関連付けてメモリ３４に記憶する。また、ＣＰＵ３２は、無線秘密鍵ＳＫｙを、無線ホスト名Ｈｙ及び無線サーバ証明書Ｃｙに関連付けてメモリ３４に記憶する。Ｓ１２が終了すると、図２の処理が終了する。
【００２３】
（証明書変更処理；図３）
続いて、図３を参照して、プリンタＰＲのＣＰＵ３２が実行する証明書変更処理の内容について説明する。図３の処理が実行される状況では、各サーバ証明書Ｃｘ，Ｃｙがメモリ３４に記憶済みである（図２のＳ１２参照）。
【００２４】
Ｓ１１０では、ＣＰＵ３２は、有線ホスト名Ｈｘが変更されることを監視する。ＣＰＵ３２は、有線ホスト名Ｈｘを変更するための操作がユーザによって操作部１２に実行される場合（Ｓ１１０でＹＥＳ）に、Ｓ１１２に進む。
【００２５】
Ｓ１１２では、ＣＰＵ３２は、図２のＳ１２と同様の手法で、変更後の有線ホスト名Ｈｘを利用して、変更後の有線サーバ証明書Ｃｘを生成して、変更後の有線サーバ証明書Ｃｘを、変更後の有線ホスト名Ｈｘに関連付けてメモリ３４に記憶する。なお、ＣＰＵ３２は、Ｓ１１２を実行する際に、有線公開鍵ＰＫｘ及び有線秘密鍵ＳＫｘを変更してもよいし変更しなくてもよい。
【００２６】
Ｓ１１６では、ＣＰＵ３２は、無線ホスト名Ｈｙが変更されることを監視する。ＣＰＵ３２は、無線ホスト名Ｈｙを変更するための操作がユーザによって操作部１２に実行される場合（Ｓ１１６でＹＥＳ）に、Ｓ１１８に進む。
【００２７】
Ｓ１１８では、ＣＰＵ３２は、図２のＳ１２と同様の手法で、変更後の無線ホスト名Ｈｙを利用して、変更後の無線サーバ証明書Ｃｙを生成して、変更後の無線サーバ証明書Ｃｙを、変更後の無線ホスト名Ｈｙに関連付けてメモリ３４に記憶する。なお、ＣＰＵ３２は、Ｓ１１８を実行する際に、無線公開鍵ＰＫｙ及び無線秘密鍵ＳＫｙを変更してもよいし変更しなくてもよい。
【００２８】
プリンタＰＲは、有線ホスト名Ｈｘ又は無線ホスト名Ｈｙが変更される場合に、上記のＳ１１２又はＳ１１８を実行するので、変更後の有線サーバ証明書Ｃｘ又は変更後の無線サーバ証明書Ｃｙを利用して、ＳＳＬ通信を適切に実行することができる。Ｓ１１２又はＳ１１８が終了すると、Ｓ１１０及びＳ１１６の監視処理に戻る。
【００２９】
（ＳＳＬ通信処理；図４）
続いて、図４を参照して、プリンタＰＲのＣＰＵ３２が実行するＳＳＬ通信処理の内容について説明する。図４の処理が実行される状況では、各サーバ証明書Ｃｘ，Ｃｙがメモリ３４に記憶済みである（図２のＳ１２参照）。また、以下では、有線Ｉ／Ｆ２０に有線ケーブル４が接続されており、かつ、無線Ｉ／Ｆ２２を介した無線接続がＡＰ１００と確立されている状況を想定する。即ち、各ＩＰアドレスＩＰｘ，ＩＰｙがメモリ３４に記憶済みである。
【００３０】
Ｓ２１０では、ＣＰＵ３２は、ＳＳＬ通信の実行を要求するためのＳＳＬ通信要求を端末機器（例えば７０，８０）から有線Ｉ／Ｆ２０又は無線Ｉ／Ｆ２２を介して受信することを監視する。ＣＰＵ３２は、ＳＳＬ通信要求を端末機器から受信する場合（Ｓ２１０でＹＥＳ）に、Ｓ２１１に進む。ＳＳＬ通信要求は、プリンタＰＲの有線ＩＰアドレスＩＰｘ又は無線ＩＰアドレスＩＰｙを示す送信先ＩＰアドレスを含む。
【００３１】
Ｓ２１１では、ＣＰＵ３２は、ＳＳＬ通信要求に含まれる送信先ＩＰアドレスが有線ＩＰアドレスＩＰｘ及び無線ＩＰアドレスＩＰｙのうちのどちらであるのかを判断する。そして、Ｓ２１２では、ＣＰＵ３２は、Ｓ２１１の判断結果に応じて、有線サーバ証明書Ｃｘ又は無線サーバ証明書Ｃｙを選択する。具体的には、ＣＰＵ３２は、Ｓ２１１において、送信先ＩＰアドレスが有線ＩＰアドレスＩＰｘであると判断した場合に、Ｓ２１２において、有線ＩＰアドレスＩＰｘに関連付けてメモリ３４に記憶されている有線サーバ証明書Ｃｘを選択する。一方、ＣＰＵ３２は、Ｓ２１１において、送信先ＩＰアドレスが無線ＩＰアドレスＩＰｙであると判断した場合に、Ｓ２１２において、無線ＩＰアドレスＩＰｙに関連付けてメモリ３４に記憶されている無線サーバ証明書Ｃｙを選択する。
【００３２】
Ｓ２１４では、ＣＰＵ３２は、選択済みのサーバ証明書を端末機器に送信する。具体的には、選択済みの証明書が有線サーバ証明書Ｃｘである場合では、ＣＰＵ３２は、有線Ｉ／Ｆ２０を介して、有線サーバ証明書Ｃｘを端末機器（例えば７０）に送信する。一方、選択済みの証明書が無線サーバ証明書Ｃｙである場合では、ＣＰＵ３２は、無線Ｉ／Ｆ２２を介して、無線サーバ証明書Ｃｙを端末機器（例えば８０）に送信する。
【００３３】
Ｓ２１６では、ＣＰＵ３２は、端末機器から、Ｓ２１４で送信済みのサーバ証明書に含まれる公開鍵を利用して暗号化された共通鍵を受信する。そして、ＣＰＵ３２は、秘密鍵を利用して当該共通鍵を復号化することによって、共通鍵を取得する。共通鍵は、公開鍵及び秘密鍵とは異なり、暗号化及び復号化の双方で共通して利用可能な鍵である。即ち、共通鍵を利用して暗号化されたデータは、共通鍵を利用して復号化可能である。ここで、ＣＰＵ３２は、Ｓ２１２において、有線サーバ証明書Ｃｘを選択した場合に、Ｓ２１６において、有線サーバ証明書Ｃｘに関連付けてメモリ３４に記憶されている有線秘密鍵ＳＫｘを利用して、共通鍵を復号化する。一方、ＣＰＵ３２は、Ｓ２１２において、無線サーバ証明書Ｃｙを選択した場合に、Ｓ２１６において、無線サーバ証明書Ｃｙに関連付けてメモリ３４に記憶されている無線秘密鍵ＳＫｙを利用して、公開鍵を復号化する。プリンタＰＲがＳ２１６で共通鍵を取得するので、プリンタＰＲ及び端末機器は、同じ共通鍵を利用することができる（即ち共通鍵を共有することができる）。上述したように、端末機器からプリンタＰＲに送信される共通鍵が暗号化されており、プリンタＰＲの秘密鍵がなければ、当該共通鍵を復号化することができない。従って、例えば、プリンタＰＲとは異なる機器が、暗号化された共通鍵を不正に受信したとしても、当該機器は、プリンタＰＲから秘密鍵を取得不可能であるので、暗号化された共通鍵を復号化することができない。
【００３４】
Ｓ２１８では、ＣＰＵ３２は、取得済みの共通鍵を利用して、端末機器とのＳＳＬ通信を実行する。例えば、ＣＰＵ３２は、共通鍵を利用して暗号化された画像ファイルを端末機器から受信する場合に、共通鍵を利用して当該画像ファイルを復号化する。そして、ＣＰＵ３２は、復号化された画像ファイルによって表わされる画像の印刷を印刷実行部１６に実行させることができる。
【００３５】
（具体的なケース；図５）
続いて、図５を参照して、図２〜図４のフローチャートに従って実現される具体的なケースの内容を説明する。図５の初期状態では、図２の処理が１回も実行されておらず、プリンタＰＲのメモリ３４には、各サーバ証明書Ｃｘ，Ｃｙが格納されていない。また、端末機器８０は、ＡＰ１００によって形成されている無線ＬＡＮに所属している。
【００３６】
Ｔ１０では、ユーザは、プリンタＰＲの電源をＯＮする（図２のトリガ）。Ｔ１１では、プリンタＰＲは、有線サーバ証明書Ｃｘ及び無線サーバ証明書Ｃｙを生成し、生成済みの有線サーバ証明書Ｃｘ及び無線サーバ証明書Ｃｙを記憶する（図２のＳ１２）。
【００３７】
Ｔ１２，Ｔ１３では、ユーザは、プリンタＰＲ及び端末機器７０に有線ケーブル４を接続する。これにより、プリンタＰＲ及び端末機器７０は、有線ＬＡＮに所属する。次いで、有線ＩＰアドレスＩＰｘが、有線ＬＡＮに所属するＤＨＣＰサーバ（図示省略）によってプリンタＰＲに割り当てられる。この場合、プリンタＰＲは、有線ＩＰアドレスＩＰｘを有線ホスト名Ｈｘに関連付けて記憶する。
【００３８】
Ｔ１５では、ユーザは、プリンタＰＲとＡＰ１００との間の無線接続を確立するための接続操作をプリンタＰＲに実行する。これにより、Ｔ１６では、プリンタＰＲは、ＡＰ１００との無線接続を確立し、ＡＰ１００によって形成されている無線ＬＡＮに所属する。次いで、無線ＩＰアドレスＩＰｙが、ＤＨＣＰサーバとして機能するＡＰ１００によってプリンタＰＲに割り当てられる。この場合、プリンタＰＲは、無線ＩＰアドレスＩＰｙを無線ホスト名Ｈｙに関連付けて記憶する。
【００３９】
なお、Ｔ１１〜Ｔ１６について、変形例では、プリンタＰＲは、有線ＬＡＮに所属し、かつ、有線ＩＰアドレスＩＰｘを記憶した後に、有線サーバ証明書Ｃｘを生成して、有線サーバ証明書Ｃｘを記憶してもよい。また、プリンタＰＲは、無線ＬＡＮに所属し、かつ、無線ＩＰアドレスＩＰｙを記憶した後に、無線サーバ証明書Ｃｙを生成して、無線サーバ証明書Ｃｙを記憶してもよい。
【００４０】
Ｔ１７では、ユーザは、印刷指示操作を端末機器７０に実行する。印刷指示操作は、ＳＳＬ通信要求の送信先機器としてプリンタＰＲを指定するための送信先指定操作を含む。具体的には、送信先指定操作は、送信先機器を示す送信先ホスト名としてプリンタＰＲの有線ホスト名Ｈｘを指定する操作である。端末機器７０は、送信先指定操作が実行される場合に、名前解決を実行することによって、有線ホスト名Ｈｘに基づいて、送信先ＩＰアドレス（即ち有線ＩＰアドレスＩＰｘ）を取得する。具体的には、例えば、端末機器７０は、有線ＬＡＮに所属するＤＮＳ（Domain Name System）サーバ（図示省略）に有線ホスト名Ｈｘを送信して、当該ＤＮＳサーバから有線ＩＰアドレスＩＰｘを受信する。印刷指示操作は、さらに、端末機器７０に記憶されている１個以上の画像ファイルの中から、プリンタＰＲが印刷を実行すべき対象である画像を表わす画像ファイルを指定するための画像指定操作を含む。
【００４１】
Ｔ１８では、プリンタＰＲは、有線Ｉ／Ｆ２０を介して、有線ＩＰアドレスＩＰｘを送信先ＩＰアドレスとして含むＳＳＬ通信要求を端末機器７０から受信する（図４のＳ２１０でＹＥＳ）。この場合、プリンタＰＲは、送信先ＩＰアドレスが有線ＩＰアドレスＩＰｘであると判断し（Ｓ２１１）、Ｔ２０において、有線ＩＰアドレスＩＰｘに関連付けられている有線サーバ証明書Ｃｘを選択する（Ｓ２１２）。Ｔ２２では、プリンタＰＲは、有線Ｉ／Ｆ２０を介して、選択済みの有線サーバ証明書Ｃｘを端末機器７０に送信する（Ｓ２１４）。
【００４２】
Ｔ２４では、端末機器７０は、有線サーバ証明書Ｃｘの検証を実行する。具体的には、端末機器７０は、以下の第１〜第３の検証を実行する、端末機器７０は、まず、第１の検証において、有線サーバ証明書Ｃｘ内の有線公開鍵ＰＫｘを利用して、有線サーバ証明書Ｃｘ内の有線署名Ｓｘを復号化することを試行する。端末機器７０は、有線公開鍵ＰＫｘを利用して有線署名Ｓｘを復号化することによって有線ハッシュ値を取得できた場合には、第１の検証が成功したと判断し、有線署名Ｓｘを復号化できなかった場合には、第１の検証が失敗したと判断する。第１の検証が成功した後に、端末機器７０は、第２の検証において、有線サーバ証明書Ｃｘに含まれる有線ハッシュ対象情報ＨＩｘをハッシュ化して、ハッシュ値を算出する。端末機器７０は、算出済みのハッシュ値が、第１の検証で取得された有線ハッシュ値に一致する場合に、第２の検証が成功したと判断し、これらのハッシュ値が一致しない場合に、第２の検証が失敗したと判断する。第２の検証が成功した後に、端末機器７０は、第３の検証において、有線サーバ証明書Ｃｘに含まれる所有者情報Ｐｘ内のホスト名Ｈｘが、Ｔ１７で指定された送信先ホスト名に一致するのか否かを判断する。端末機器７０は、ホスト名Ｈｘが送信先ホスト名に一致する場合に、第３の検証が成功したと判断し、ホスト名Ｈｘが送信先ホスト名に一致しない場合に、第３の検証が失敗したと判断する。端末機器７０は、第１〜第３の検証の全てが成功する場合に、有線サーバ証明書Ｃｘの検証が成功したと判断する。Ｔ２４では、有線サーバ証明書Ｃｘの検証が成功するケースを示す。
【００４３】
Ｔ２５では、端末機器７０は、有線サーバ証明書Ｃｘに含まれる有線公開鍵ＰＫｘを利用して共通鍵を暗号化し、当該共通鍵をプリンタＰＲに送信する。これにより、Ｔ２５では、プリンタＰＲは、有線Ｉ／Ｆ２０を介して、端末機器７０から共通鍵を受信し、有線秘密鍵ＳＫｘを利用して当該共通鍵を復号化する（図４のＳ２１６）。
【００４４】
Ｔ２６では、端末機器７０は、共通鍵を利用して、Ｔ１７で指定された画像ファイルを暗号化し、当該画像ファイルをプリンタＰＲに送信する。これにより、Ｔ２６では、プリンタＰＲは、有線Ｉ／Ｆ２０を介して、端末機器７０から画像ファイルを受信し（図４のＳ２１８）、共通鍵を利用して当該画像ファイルを復号化する。そして、Ｔ２８では、プリンタＰＲは、画像ファイルによって表わされる画像の印刷を実行する。
【００４５】
続いて、プリンタＰＲが、無線ＬＡＮに所属する端末機器８０からの要求に応じて、印刷を実行するケースを説明する。Ｔ２９では、ユーザは、送信先指定操作及び画像指定操作を含む印刷指示操作を端末機器８０に実行する。ユーザは、送信先指定操作において、送信先ホスト名としてプリンタＰＲの無線ホスト名Ｈｙを指定する。端末機器８０は、無線ホスト名Ｈｙを利用した名前解決を実行することによって、例えば、無線ＬＡＮに所属するＤＮＳサーバ（図示省略）から送信先ＩＰアドレス（即ちプリンタＰＲの無線ＩＰアドレスＩＰｙ）を取得する。
【００４６】
プリンタＰＲは、Ｔ３０，Ｔ３２において、無線Ｉ／Ｆ２２を介して、無線ＩＰアドレスＩＰｙを送信先ＩＰアドレスとして含むＳＳＬ通信要求を端末機器８０から受信する（図４のＳ２１０でＹＥＳ）。プリンタＰＲは、送信先ＩＰアドレスが無線ＩＰアドレスＩＰｙであると判断し（Ｓ２１１）、Ｔ３４において、無線ＩＰアドレスＩＰｙに関連付けられている無線サーバ証明書Ｃｙを選択する（Ｓ２１２）。Ｔ３６，Ｔ３８では、プリンタＰＲは、無線Ｉ／Ｆ２２を介して、選択済みの無線サーバ証明書Ｃｙを端末機器８０に送信する（Ｓ２１４）。Ｔ４０は、Ｔ２４と同様であり、無線サーバ証明書Ｃｙの検証が成功する。
【００４７】
Ｔ４２，Ｔ４４では、プリンタＰＲは、無線サーバ証明書Ｃｙに含まれる無線公開鍵ＰＫｙを利用して端末機器８０によって暗号化された共通鍵を端末機器８０から受信し、無線秘密鍵ＳＫｙを利用して当該共通鍵を復号化することによって、共通鍵を取得する（図４のＳ２１６）。
【００４８】
Ｔ４６，Ｔ４８では、プリンタＰＲは、共通鍵を利用して端末機器８０によって暗号化された画像ファイルを端末機器８０から受信し（図４のＳ２１８）、共通鍵を利用して当該画像ファイルを復号化する。Ｔ５０では、プリンタＰＲは、復号化された画像ファイルによって表わされる画像の印刷を実行する。
【００４９】
（本ケースの効果）
本ケースのプリンタＰＲのように、複数個のＩ／Ｆを備える機器では、Ｉ／Ｆ毎に機器の識別情報（即ちホスト名）が割り当てられ、この場合、各ホスト名が互いに異なる可能性が高い。本ケースによると、プリンタＰＲは、有線ホスト名Ｈｘを有線所有者情報Ｐｘとして含む有線サーバ証明書Ｃｘを生成する（Ｔ１１）。このために、プリンタＰＲは、有線サーバ証明書Ｃｘを利用して、有線Ｉ／Ｆ２０を介して、端末機器７０との画像ファイルの通信を適切に実行することができる（Ｔ２２〜Ｔ２６）。また、プリンタＰＲは、さらに、無線ホスト名Ｈｙを無線所有者情報Ｐｙとして含む無線サーバ証明書Ｃｙを生成する（Ｔ１１）。このために、プリンタＰＲは、無線サーバ証明書Ｃｙを利用して、無線Ｉ／Ｆ２２を介して、端末機器８０との画像ファイルの通信を適切に実行することができる（Ｔ３６〜Ｔ４８）。このように、プリンタＰＲは、複数個のＩ／Ｆ２０，２２に応じた複数個のサーバ証明書Ｃｘ，Ｃｙを利用して、端末機器７０，８０との通信を適切に実行することができる。
【００５０】
また、本ケースでは、ＳＳＬ通信要求が受信される前（即ちＴ１８，Ｔ３２の前）に、プリンタＰＲは、有線サーバ証明書Ｃｘ及び無線サーバ証明書Ｃｙを生成し、生成済みの有線サーバ証明書Ｃｘ及び無線サーバ証明書Ｃｙを記憶しておく（Ｔ１１）。また、プリンタＰＲは、端末機器７０からＳＳＬ通信要求が受信される際（Ｔ１８）に、有線サーバ証明書Ｃｘを生成する必要がない。また、プリンタＰＲは、端末機器８０からＳＳＬ通信要求が受信される際（Ｔ３２）に、無線サーバ証明書Ｃｙを生成する必要がない。これにより、プリンタＰＲは、通信要求の送信元である端末機器７０，８０との画像ファイルの通信を迅速に実行することができる。
【００５１】
また、本実施例では、プリンタＰＲは、有線ＬＡＮ及び無線ＬＡＮの双方に同時的に所属する機能を有する。これにより、プリンタＰＲは、有線ＬＡＮ及び無線ＬＡＮの双方に同時的に所属している状況で、有線サーバ証明書Ｃｘ及び無線サーバ証明書Ｃｙを利用して、端末機器７０，８０との通信を適切に実行することができる。
【００５２】
また、プリンタＰＲは、ユーザによって各ホスト名Ｈｘ，Ｈｙが変更される場合に、変更後の各ホスト名Ｈｘ，Ｈｙを利用して、各サーバ証明書Ｃｘ，Ｃｙを自動で更新する。そのため、ユーザは、各サーバ証明書Ｃｘ，Ｃｙの更新するための操作を実行する必要がない。また、本実施例では、各サーバ証明書Ｃｘ，Ｃｙは、各ホスト名Ｈｘ，Ｈｙを所有者情報として含むが、比較例では、例えば、ＩＰアドレスＩＰｘ，ＩＰｙを所有者情報として含む構成が考えられる。しかしながら、ＩＰアドレスはホスト名に比べて変更されやすいので、比較例の構成では、各サーバ証明書Ｃｘ，Ｃｙの更新頻度が高くなる。これに対し、本実施例では、プリンタＰＲは、各サーバ証明書Ｃｘ，Ｃｙを頻繁に更新せずに済むので、更新のための処理負荷を低減させ得る。
【００５３】
また、本実施例では、プリンタＰＲは、ＳＳＬ通信要求に含まれる送信先ＩＰアドレスに基づいて、有線サーバ証明書Ｃｘ又は無線サーバ証明書Ｃｙを選択する。そのため、プリンタＰＲは、各端末機器７０，８０からプリンタＰＲの各ホスト名Ｈｘ，Ｈｙを受信しなくても、有線サーバ証明書Ｃｘ又は無線サーバ証明書Ｃｙを適切に選択することができる 。
【００５４】
（対応関係）
プリンタＰＲ、端末機器７０、端末機器８０が、それぞれ、「通信機器」、「第１の特定機器」、「第２の特定機器」の一例である。有線Ｉ／Ｆ２０、無線Ｉ／Ｆ２２が、それぞれ、「第１のインターフェース」、「第２のインターフェース」の一例である。有線ＬＡＮ、無線ＬＡＮが、それぞれ、「第１のネットワーク」、「第２のネットワーク」の一例である。有線ホスト名Ｈｘが、「第１の機器情報」及び「第１のホスト名」の一例である。無線ホスト名Ｈｙが、「第２の機器情報」及び「第２のホスト名」の一例である。有線サーバ証明書Ｃｘ、無線サーバ証明書Ｃｙが、それぞれ、「第１の証明書」、「第２の証明書」の一例である。有線ＩＰアドレスＩＰｘ、無線ＩＰアドレスＩＰｙが、それぞれ、「第１のＩＰアドレス」、「第２のＩＰアドレス」の一例である。Ｔ１８のＳＳＬ通信要求、Ｔ３２のＳＳＬ通信要求が、それぞれ、「第１の通信要求」、「第２の通信要求」の一例である。
【００５５】
図２のＳ１２、図４のＳ２１０，Ｓ２１１，Ｓ２１２が、それぞれ、「生成部」、「受信部」、「判断部」、「選択部」によって実行される処理の一例である。Ｓ２１４〜Ｓ２１８が、「第１の通信実行部」及び「第２の通信実行部」によって実行される処理の一例である。
【００５６】
（第２実施例；図６）
本実施例では、図２、図３の処理は実行されない。また、図４のＳＳＬ通信処理に代えて、図６のＳＳＬ通信処理が実行される。具体的には、プリンタＰＲは、プリンタＰＲの電源がＯＮされる際ではなく、ＳＳＬ通信要求が受信される際に、サーバ証明書（Ｃｘ又はＣｙ）を生成する。図６の処理が実行される状況では、各サーバ証明書Ｃｘ，Ｃｙはメモリ３４に記憶されておらず、各ＩＰアドレスＩＰｘ，ＩＰｙはメモリ３４に記憶済みである。Ｓ３１０，Ｓ３１１は、図４のＳ２１０，Ｓ２１１と同様である。
【００５７】
Ｓ３１２では、ＣＰＵ３２は、有線サーバ証明書Ｃｘ又は無線サーバ証明書Ｃｙを生成する。具体的には、ＣＰＵ３２は、Ｓ３１１において、送信先ＩＰアドレスが有線ＩＰアドレスＩＰｘであると判断した場合に、Ｓ３１２において、図２のＳ１２と同様に、有線ＩＰアドレスＩＰｘに関連付けてメモリ３４に記憶されている有線ホスト名Ｈｘを利用して、有線サーバ証明書Ｃｘを生成する。一方、ＣＰＵ３２は、Ｓ３１１において、送信先ＩＰアドレスが無線ＩＰアドレスＩＰｙであると判断した場合に、ＣＰＵ３２は、Ｓ３１２において、図２のＳ１２と同様に、無線ＩＰアドレスＩＰｙに関連付けてメモリ３４に記憶されている無線ホスト名Ｈｙを利用して、無線サーバ証明書Ｃｙを生成する。
【００５８】
なお、Ｓ３１２では、ＣＰＵ３２は、サーバ証明書（Ｃｘ又はＣｙ）と秘密鍵（ＳＫｘ又はＳＫｙ）とをメモリ３４に一時的に記憶する。具体的には、ＣＰＵ３２は、Ｓ３１８が終了するまで、サーバ証明書と秘密鍵とをメモリ３４に記憶し、Ｓ３１８が終了すると、サーバ証明書と秘密鍵とをメモリ３４から消去する。
【００５９】
Ｓ３１４では、ＣＰＵ３２は、生成済みのサーバ証明書を端末機器に送信する。具体的には、ＣＰＵ３２は、Ｓ３１２において、有線サーバ証明書Ｃｘを生成した場合に、Ｓ３１４において、有線Ｉ／Ｆ２０を介して、有線サーバ証明書Ｃｘを端末機器（例えば７０）に送信する。一方、ＣＰＵ３２は、Ｓ３１２において、無線サーバ証明書Ｃｙを生成した場合に、Ｓ３１４において、無線Ｉ／Ｆ２２を介して、無線サーバ証明書Ｃｙを端末機器（例えば８０）に送信する。Ｓ３１６，Ｓ３１８は、それぞれ、図４のＳ２１６，Ｓ２１８と同様である。
【００６０】
（具体的なケース；図７）
続いて、図７を参照して、図６のフローチャートに従って実現される具体的なケースの内容を説明する。本ケースの初期状態は、図５のケースの初期状態と同様である。Ｔ１１０〜Ｔ１１８は、図５のＴ１０〜Ｔ１８と同様である。
【００６１】
Ｔ１２０では、プリンタＰＲは、端末機器７０からＳＳＬ通信要求を受信する際に、有線ＩＰアドレスＩＰｘに関連付けられている有線ホスト名Ｈｘを利用して、有線サーバ証明書Ｃｘを生成する（図６のＳ３１２）。Ｔ１２２〜Ｔ１２８は、図５のＴ２２〜Ｔ２８と同様である。本ケースでも、プリンタＰＲは、有線サーバ証明書Ｃｘを利用して、端末機器７０との画像ファイルの通信を適切に実行することができる。
【００６２】
また、Ｔ１２９〜Ｔ１３２は、図５のＴ２９〜Ｔ３２と同様である。Ｔ１３４では、プリンタＰＲは、端末機器８０からＳＳＬ通信要求を受信する際に、無線ＩＰアドレスＩＰｙに関連付けてプリンタＰＲに記憶されている無線ホスト名Ｈｙを利用して、無線サーバ証明書Ｃｙを生成する（図６のＳ３１２）。Ｔ１３６〜Ｔ１５０は、図５のＴ３６〜Ｔ５０と同様である。本ケースでも、プリンタＰＲは、無線サーバ証明書Ｃｙを利用して、端末機器８０との画像ファイルの通信を適切に実行することができる。
【００６３】
本実施例では、プリンタＰＲは、ＳＳＬ通信要求を受信する前に、有線サーバ証明書Ｃｘ及び無線サーバ証明書Ｃｙの双方を予め記憶しておく必要がない。このため、プリンタＰＲのメモリ３４の記憶容量を節約することができる。なお、本実施例では、図６のＳ３１０，Ｓ３１１，Ｓ３１２が、それぞれ、「受信部」、「判断部」、「生成部」によって実行される処理の一例である。Ｓ３１４〜Ｓ３１８が、「第１の通信実行部」及び「第２の通信実行部」によって実行される処理の一例である。
【００６４】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００６５】
（変形例１）上記の各実施例では、プリンタＰＲは、１個の有線Ｉ／Ｆ２０及び１個の無線Ｉ／Ｆ２２を備える。変形例では、プリンタＰＲは、２個の異なるチップによって構成される２個の無線ハードウェアＩ／Ｆを備えていてもよい。そして、プリンタＰＲは、２個の無線ハードウェアＩ／Ｆに対応する２個の無線ホスト名に基づいて、２個の無線サーバ証明書を生成してもよい。プリンタＰＲは、一方の無線ハードウェアＩ／Ｆを介して、端末機器からＳＳＬ通信要求を受信する場合に、一方の無線ハードウェアＩ／Ｆに対応する一方の無線サーバ証明書を利用して、端末機器との通信を実行する。また、プリンタＰＲは、他方の無線ハードウェアＩ／Ｆを介して、端末機器からＳＳＬ通信要求を受信する場合に、他方の無線ハードウェアＩ／Ｆに対応する他方の無線サーバ証明書を利用して、端末機器との通信を実行する。即ち、「第１のネットワーク」及び「第２のネットワーク」の双方が無線ネットワークであってもよい。
【００６６】
また、別の変形例では、プリンタＰＲは、２個の異なるチップによって構成される２個の有線ハードウェアＩ／Ｆを備えていてもよい。そして、プリンタＰＲは、２個の有線ハードウェアＩ／Ｆに対応する２個の有線ホスト名に基づいて、２個の有線サーバ証明書を生成してもよい。即ち、「第１のネットワーク」及び「第２のネットワーク」の双方が有線ネットワークであってもよい。
【００６７】
（変形例２）プリンタＰＲは、１個のチップによって構成される１個の無線ハードウェアＩ／Ｆを備えており、当該１個の無線ハードウェアＩ／Ｆが、２個のソフトウェア無線Ｉ／Ｆとして機能してもよい。２個のソフトウェア無線Ｉ／Ｆのうちの一方は、ＡＰ１００を含む無線ＬＡＮを利用した無線通信を実行するためのＩ／Ｆであり、他方は、Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅによって策定されたＷＦＤ（Wi-Fi Directの略）方式に従った無線通信、即ち、ＡＰを含まない無線ＬＡＮを利用した無線通信を実行するためのＩ／Ｆである。そして、プリンタＰＲは、２個の無線ソフトウェアＩ／Ｆに対応する２個の無線ホスト名に基づいて、２個の無線サーバ証明書を生成してもよい。
【００６８】
（変形例３）上記の第１実施例では、プリンタＰＲの電源がユーザによってＯＮされる際に、プリンタＰＲは、各サーバ証明書Ｃｘ，Ｃｙを生成し、各サーバ証明書Ｃｘ，Ｃｙを記憶する。これに代えて、プリンタＰＲの電源をＯＮするための操作とは異なる操作（例えば、証明書を生成するための操作）がユーザによって操作部１２に実行される際に、プリンタＰＲは、各サーバ証明書Ｃｘ，Ｃｙを生成し、各サーバ証明書Ｃｘ，Ｃｙを記憶してもよい。即ち、サーバ証明書が生成されるタイミングは、通信機器が起動される際、及び、通信要求が受信される際に限られない。
【００６９】
（変形例４）有線サーバ証明書Ｃｘは、有線ホスト名Ｈｘに代えて、有線ＩＰアドレスＩＰｘを有線所有者情報Ｐｘとして含んでいてもよい。また、無線サーバ証明書Ｃｙは、無線ホスト名Ｈｙに代えて、無線ＩＰアドレスＩＰｙを無線所有者情報Ｐｙとして含んでいてもよい。即ち、「第１の機器情報」、「第２の機器情報」は、それぞれ、「第１のホスト名」、「第２のホスト名」でなくてもよい。
【００７０】
（変形例５）サーバ証明書Ｃｘ，Ｃｙは、プリンタＰＲとは異なる認証局によって生成及び署名され、プリンタＰＲに供給される認証局証明書であってもよい。即ち、「第１のサーバ証明書」及び「第２のサーバ証明書」のそれぞれは、自己署名証明書でなくてもよい。本変形例では、サーバ証明書の信頼性をより高くすることができる。
【００７１】
（変形例６）「通信機器」は、印刷機能を実行可能なプリンタＰＲに限られず、例えば、スキャン機能を実行可能なスキャナ、印刷機能及びスキャン機能を実行可能な多機能機等であってもよい。また、「通信機器」は、他の機器（例えば、ＰＣ、サーバ、携帯端末（携帯電話、スマートフォン、ＰＤＡ等）等）であってもよい。「通信機器」は、少なくとも２個のインターフェースを備え、かつ、サーバ証明書を利用して、他の機器との通信を実行可能なあらゆる機器を含む。また、サーバ証明書が利用される通信は、画像ファイルの通信に限らず、例えば、プリンタＰＲが備えるウェブサーバ機能に基づいて、ウェブページデータを要求するための通信要求に応じて送信されるウェブページデータであってもよい。
【００７２】
（変形例７）上記の各実施例では、プリンタＰＲは、通信要求に含まれる送信先ＩＰアドレスに基づいて、サーバ証明書を選択する。これに代えて、プリンタＰＲは、通信要求を受信する際に利用されるＩ／Ｆが、有線Ｉ／Ｆ２０及び無線Ｉ／Ｆ２２のうちのいずれであるかを判断することによって、サーバ証明書を選択してもよい。
【００７３】
また、上記の各実施例では、プリンタＰＲは、有線Ｉ／Ｆ２０及び無線Ｉ／Ｆ２２の双方を同時的に有効化することができる（即ち有線ＬＡＮ及び無線ＬＡＮの双方に同時的に所属することができる）。変形例では、プリンタＰＲは、有線Ｉ／Ｆ２０及び無線Ｉ／Ｆ２２のうちの一方を有効化する場合に、他方を利用した通信を実行不可能であってもよい。この場合、プリンタＰＲは、プリンタＰＲの電源がＯＮされる際に、プリンタＰＲが有線ＬＡＮ又は無線ＬＡＮのうちのいずれのネットワークに所属しているのかを判断し、判断結果に応じたホスト名を所有者情報として含むサーバ証明書を生成してもよい。
【００７４】
（変形例８）上記の各実施例では、プリンタＰＲのＣＰＵ３２がプログラム（即ちソフトウェア）を実行することによって、図２〜図７の各処理が実現される。これに代えて、図２〜図７の各処理のうちの少なくとも１つの処理は、論理回路等のハードウェアによって実現されてもよい。
【００７５】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００７６】
２：通信システム、４：有線ケーブル、１２：操作部、１４：表示部、１６：印刷実行部、２０：有線インターフェース、２２：無線インターフェース、３０：制御部、３２：ＣＰＵ、３４：メモリ、３６：プログラム、７０，８０：端末機器、Ｃｘ：有線サーバ証明書、Ｃｙ：無線サーバ証明書、ＨＩｘ：有線ハッシュ対象情報、ＨＩｙ：無線ハッシュ対象情報、Ｈｘ：有線ホスト名、Ｈｙ：無線ホスト名、ＩＰｘ：有線ＩＰアドレス、ＩＰｙ：無線ＩＰアドレス、ＰＫｘ：有線公開鍵、ＰＫｙ：無線公開鍵、ＰＲ：プリンタ、Ｐｘ：有線所有者情報、Ｐｙ：無線所有者情報、ＳＫｘ：有線秘密鍵、ＳＫｙ：無線秘密鍵、Ｓｘ：有線署名、Ｓｙ：無線署名
【図１】
0006471537.tif 000002
【図２】
0006471537.tif 000003
【図３】
0006471537.tif 000004
【図４】
0006471537.tif 000005
【図５】
0006471537.tif 000006
【図６】
0006471537.tif 000007
【図７】
0006471537.tif 000008