(57)【要約】      （修正有）【課題】サーバ装置がクライアント装置から受信する識別情報に応じて暗号化方式を適切に選択し得る技術を提供する。【解決手段】サーバ装置であるプリンタ１０は、クライアント装置である端末装置１１０から印刷通知及びＣｌｉｅｎｔＨｅｌｌｏを受信する場合に（Ｔ１０、Ｔ３０）、暗号化通信に利用すべき暗号化方式として高速処理が可能なＣＢＣを選択する。この結果、プリンタ１０と端末装置１１０との間では、ＣＢＣに従って暗号化された印刷データの通信が実行される（Ｔ５０）。また、プリンタ１０は、印刷通知を受信せずにＣｌｉｅｎｔＨｅｌｌｏを受信する場合（Ｔ１１０）に、暗号化通信に利用すべき暗号化方式として高いセキュリティを有するＧＣＭを選択する。この結果、プリンタ１０と端末装置１１０との間では、ＧＣＭに従って暗号化された画面データの通信が実行される（Ｔ１４０）。【選択図】図３
2018026721.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置であって、
前記サーバ装置が、第１の暗号化方式と第２の暗号化方式とを含むＮ個（Ｎは２以上の整数）の暗号化方式を利用可能であることを示す可能情報を格納するメモリと、
クライアント装置から、前記クライアント装置が利用可能なＭ個（Ｍは２以上の整数）の暗号化方式を示す方式情報を受信する受信部と、
前記クライアント装置から、前記方式情報と、前記サーバ装置と前記クライアント装置との少なくとも一方の装置が特定機能を実行すべきことを示す機能情報と、が受信される第１の場合に、前記第１の暗号化方式が前記第２の暗号化方式よりも優先的に選択されるように、前記Ｎ個の暗号化方式と前記Ｍ個の暗号化方式との双方に含まれる２個以上の暗号化方式の中から、第１の対象方式を選択する第１の選択部と、
前記第１の対象方式が選択される場合に、選択済みの前記第１の対象方式を示す第１の選択情報を前記クライアント装置に送信する第１の送信部と、
前記第１の選択情報が送信される場合に、選択済みの前記第１の対象方式を利用して第１の対象データを暗号化することによって得られる第１の暗号化データの通信を前記クライアント装置と実行する第１の通信実行部と、
前記クライアント装置から、前記機能情報が受信されずに、前記方式情報が受信される第２の場合に、前記第２の暗号化方式が前記第１の暗号化方式よりも優先的に選択されるように、前記Ｎ個の暗号化方式と前記Ｍ個の暗号化方式との双方に含まれる２個以上の暗号化方式の中から、第２の対象方式を選択する第２の選択部と、
前記第２の対象方式が選択される場合に、選択済みの前記第２の対象方式を示す第２の選択情報を前記クライアント装置に送信する第２の送信部と、
前記第２の選択情報が送信される場合に、選択済みの前記第２の対象方式を利用して第２の対象データを暗号化することによって得られる第２の暗号化データの通信を前記クライアント装置と実行する第２の通信実行部と、
を備えるサーバ装置。
【請求項２】
前記サーバ装置は、さらに、
前記特定機能を実行するための機能実行部と、
前記第１の場合に、前記第１の対象データに関係する前記特定機能を前記機能実行部に実行させる機能制御部と、を備える、請求項１に記載のサーバ装置。
【請求項３】
前記機能実行部は、印刷実行部を含み、
前記第１の選択部は、前記クライアント装置から、前記クライアント装置が前記サーバ装置に印刷対象のデータを送信することを示す情報である前記機能情報が受信された後に、前記クライアント装置から前記方式情報が受信される前記第１の場合に、前記第１の対象方式を選択し、
前記第１の通信実行部は、前記クライアント装置が前記第１の対象方式を利用して前記第１の対象データを暗号化することによって得られる前記第１の暗号化データを前記クライアント装置から受信し、
前記サーバ装置は、さらに、
前記第１の暗号化データが受信される場合に、前記第１の対象方式を利用して前記第１の暗号化データを復号化して、前記第１の対象データを生成する復号部を備え、
前記機能制御部は、前記第１の対象データによって表わされる画像の印刷を前記印刷実行部に実行させる、請求項２に記載のサーバ装置。
【請求項４】
前記第１の選択部は、前記クライアント装置から、前記機能情報と、ＳＮＭＰ（Simple Network Management Protocolの略）に従った状態要求であって、前記サーバ装置の状態を問い合わせるための前記状態要求と、が受信された後に、前記クライアント装置から前記方式情報が受信される前記第１の場合に、前記第１の対象方式を選択する、請求項１から３のいずれかに記載のサーバ装置。
【請求項５】
前記サーバ装置は、さらに、
前記第２の場合に、前記クライアント装置で表示されるべき画面を表わす画面データである前記第２の対象データを、選択済みの前記第２の対象方式を利用して暗号化して、前記第２の暗号化データを生成する暗号部を備え、
前記第２の通信実行部は、前記第２の暗号化データが生成される場合に、前記第２の暗号化データを前記クライアント装置に送信する、請求項１から４のいずれか一項に記載のサーバ装置。
【請求項６】
前記可能情報は、前記Ｎ個の暗号化方式のそれぞれの優先順位が記述されている優先順位テーブルを含み、
前記優先順位テーブルでは、前記第２の暗号化方式の優先順位が前記第１の暗号化方式の優先順位よりも高く、
前記第２の選択部は、前記第２の場合に、前記優先順位テーブルに従って、前記第２の暗号化方式が前記第１の暗号化方式よりも優先的に選択されるように、前記第２の対象方式を選択し、
前記サーバ装置は、さらに、
前記クライアント装置から前記機能情報が受信される場合に、前記第１の暗号化方式の優先順位が前記第２の暗号化方式の優先順位よりも高くなるように、前記優先順位テーブルを変更する第１の変更部を備え、
前記第１の選択部は、前記第１の場合に、前記変更後の優先順位テーブルに従って、前記第１の暗号化方式が前記第２の暗号化方式よりも優先的に選択されるように、前記第１の対象方式を選択し、
前記サーバ装置は、さらに、
前記第１の対象方式が選択される場合に、前記第２の暗号化方式の優先順位が前記第１の暗号化方式の優先順位よりも高くなるように、前記変更後の優先順位テーブルを元の優先順位テーブルに変更する第２の変更部を備える、請求項１から５のいずれか一項に記載のサーバ装置。
【請求項７】
サーバ装置であって、
前記サーバ装置が、第１の暗号化方式と第２の暗号化方式とを含むＮ個（Ｎは２以上の整数）の暗号化方式を利用可能であることを示す可能情報を格納するメモリと、
第１のクライアント装置から、前記第１のクライアント装置が利用可能なＭ個（Ｍは２以上の整数）の暗号化方式を示す第１の方式情報を受信する第１の受信部と、
前記第１のクライアント装置から、前記第１の方式情報と、前記第１のクライアント装置を識別するための第１の識別情報であって、所定文字列を含む前記第１の識別情報と、が受信される第１の場合に、前記第１の暗号化方式が前記第２の暗号化方式よりも優先的に選択されるように、前記Ｎ個の暗号化方式と前記Ｍ個の暗号化方式との双方に含まれる２個以上の暗号化方式の中から、第１の対象方式を選択する第１の選択部と、
前記第１の対象方式が選択される場合に、選択済みの前記第１の対象方式を示す第１の選択情報を前記第１のクライアント装置に送信する第１の送信部と、
前記第１の選択情報が送信される場合に、選択済みの前記第１の対象方式を利用して第１の対象データを暗号化することによって得られる第１の暗号化データの通信を前記第１のクライアント装置と実行する第１の通信実行部と、
第２のクライアント装置から、前記第２のクライアント装置が利用可能なＬ個（Ｌは２以上の整数）の暗号化方式を示す第２の方式情報を受信する第２の受信部と、
前記第２のクライアント装置から、前記第２の方式情報と、前記第２のクライアント装置を識別するための第２の識別情報であって、前記所定文字列を含まない前記第２の識別情報と、が受信される第２の場合に、前記第２の暗号化方式が前記第１の暗号化方式よりも優先的に選択されるように、前記Ｎ個の暗号化方式と前記Ｌ個の暗号化方式との双方に含まれる２個以上の暗号化方式の中から、第２の対象方式を選択する第２の選択部と、
前記第２の対象方式が選択される場合に、選択済みの前記第２の対象方式を示す第２の選択情報を前記第２のクライアント装置に送信する第２の送信部と、
前記第２の選択情報が送信される場合に、選択済みの前記第２の対象方式を利用して第２の対象データを暗号化することによって得られる第２の暗号化データの通信を前記第２のクライアント装置と実行する第２の通信実行部と、
を備えるサーバ装置。
【請求項８】
前記所定文字列は、前記第１のクライアント装置を含む複数個の装置に共通して割り当てられている文字列を含む、請求項７に記載のサーバ装置。
【請求項９】
前記第１の識別情報は、前記第１のクライアント装置のＭＡＣアドレスであり、
前記第２の識別情報は、前記第２のクライアント装置のＭＡＣアドレスである、請求項７または８に記載のサーバ装置。
【請求項１０】
前記所定文字列は、ＭＡＣアドレスの一部を構成する文字列であって、前記第１のクライアント装置のベンダを示す前記文字列である、請求項９に記載のサーバ装置。
【請求項１１】
前記可能情報は、前記Ｎ個の暗号化方式のそれぞれの優先順位が記述されている優先順位テーブルを含み、
前記優先順位テーブルでは、前記第２の暗号化方式の優先順位が前記第１の暗号化方式の優先順位よりも高く、
前記第２の選択部は、前記第２の場合に、前記優先順位テーブルに従って、前記第２の暗号化方式が前記第１の暗号化方式よりも優先的に選択されるように、前記第２の対象方式を選択し、
前記サーバ装置は、さらに、
前記第１のクライアント装置から前記第１の識別情報が受信される場合に、前記第１の暗号化方式の優先順位が前記第２の暗号化方式の優先順位よりも高くなるように、前記優先順位テーブルを変更する第１の変更部を備え、
前記第１の選択部は、前記第１の場合に、前記変更後の優先順位テーブルに従って、前記第１の暗号化方式が前記第２の暗号化方式よりも優先的に選択されるように、前記第１の対象方式を選択し、
前記サーバ装置は、さらに、
前記第１の対象方式が選択される場合に、前記第２の暗号化方式の優先順位が前記第１の暗号化方式の優先順位よりも高くなるように、前記変更後の優先順位テーブルを元の優先順位テーブルに変更する第２の変更部を備える、請求項７から１０のいずれか一項に記載のサーバ装置。
【請求項１２】
前記第１の暗号化方式を利用してデータを暗号化するための時間は、前記第２の暗号化方式を利用して同じデータを暗号化するための時間よりも短い、請求項１から１１のいずれか一項に記載のサーバ装置。
【請求項１３】
サーバ装置のためのコンピュータプログラムであって、
前記サーバ装置は、
前記サーバ装置が、第１の暗号化方式と第２の暗号化方式とを含むＮ個（Ｎは２以上の整数）の暗号化方式を利用可能であることを示す可能情報を格納するメモリと、
プロセッサと、を備え、
前記コンピュータプログラムは、前記プロセッサに、以下の各処理、即ち、
クライアント装置から、前記クライアント装置が利用可能なＭ個（Ｍは２以上の整数）の暗号化方式を示す方式情報を受信する受信処理と、
前記クライアント装置から、前記方式情報と、前記サーバ装置と前記クライアント装置との少なくとも一方の装置が特定機能を実行すべきことを示す機能情報と、が受信される第１の場合に、前記第１の暗号化方式が前記第２の暗号化方式よりも優先的に選択されるように、前記Ｎ個の暗号化方式と前記Ｍ個の暗号化方式との双方に含まれる２個以上の暗号化方式の中から、第１の対象方式を選択する第１の選択処理と、
前記第１の対象方式が選択される場合に、選択済みの前記第１の対象方式を示す第１の選択情報を前記クライアント装置に送信する第１の送信処理と、
前記第１の選択情報が送信される場合に、選択済みの前記第１の対象方式を利用して第１の対象データを暗号化することによって得られる第１の暗号化データの通信を前記クライアント装置と実行する第１の通信実行処理と、
前記クライアント装置から、前記機能情報が受信されずに、前記方式情報が受信される第２の場合に、前記第２の暗号化方式が前記第１の暗号化方式よりも優先的に選択されるように、前記Ｎ個の暗号化方式と前記Ｍ個の暗号化方式との双方に含まれる２個以上の暗号化方式の中から、第２の対象方式を選択する第２の選択処理と、
前記第２の対象方式が選択される場合に、選択済みの前記第２の対象方式を示す第２の選択情報を前記クライアント装置に送信する第２の送信処理と、
前記第２の選択情報が送信される場合に、選択済みの前記第２の対象方式を利用して第２の対象データを暗号化することによって得られる第２の暗号化データの通信を前記クライアント装置と実行する第２の通信実行処理と、
を実行させる、コンピュータプログラム。
【請求項１４】
サーバ装置のためのコンピュータプログラムであって、
前記サーバ装置は、
前記サーバ装置が、第１の暗号化方式と第２の暗号化方式とを含むＮ個（Ｎは２以上の整数）の暗号化方式を利用可能であることを示す可能情報を格納するメモリと、
プロセッサと、を備え、
前記コンピュータプログラムは、前記プロセッサに、以下の各処理、即ち、
第１のクライアント装置から、前記第１のクライアント装置が利用可能なＭ個（Ｍは２以上の整数）の暗号化方式を示す第１の方式情報を受信する第１の受信処理と、
前記第１のクライアント装置から、前記第１の方式情報と、前記第１のクライアント装置を識別するための第１の識別情報であって、所定文字列を含む前記第１の識別情報と、が受信される第１の場合に、前記第１の暗号化方式が前記第２の暗号化方式よりも優先的に選択されるように、前記Ｎ個の暗号化方式と前記Ｍ個の暗号化方式との双方に含まれる２個以上の暗号化方式の中から、第１の対象方式を選択する第１の選択処理と、
前記第１の対象方式が選択される場合に、選択済みの前記第１の対象方式を示す第１の選択情報を前記第１のクライアント装置に送信する第１の送信処理と、
前記第１の選択情報が送信される場合に、選択済みの前記第１の対象方式を利用して第１の対象データを暗号化することによって得られる第１の暗号化データの通信を前記第１のクライアント装置と実行する第１の通信実行処理と、
第２のクライアント装置から、前記第２のクライアント装置が利用可能なＬ個（Ｌは２以上の整数）の暗号化方式を示す第２の方式情報を受信する第２の受信処理と、
前記第２のクライアント装置から、前記第２の方式情報と、前記第２のクライアント装置を識別するための第２の識別情報であって、前記所定文字列を含まない前記第２の識別情報と、が受信される第２の場合に、前記第２の暗号化方式が前記第１の暗号化方式よりも優先的に選択されるように、前記Ｎ個の暗号化方式と前記Ｌ個の暗号化方式との双方に含まれる２個以上の暗号化方式の中から、第２の対象方式を選択する第２の選択処理と、
前記第２の対象方式が選択される場合に、選択済みの前記第２の対象方式を示す第２の選択情報を前記第２のクライアント装置に送信する第２の送信処理と、
前記第２の選択情報が送信される場合に、選択済みの前記第２の対象方式を利用して第２の対象データを暗号化することによって得られる第２の暗号化データの通信を前記第２のクライアント装置と実行する第２の通信実行処理と、
を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、暗号化されたデータの通信をクライアント装置と実行するサーバ装置を開示する。
【背景技術】
【０００２】
特許文献１に開示されている複写機は、印刷対象の画像を表わすデータを暗号化して、暗号化されたデータをプリンタに送信する機能を有する。複写機は、複数個の暗号化手段のＩＤ等を含む暗号化選択テーブルから、複写機自身が利用可能な１個以上の暗号化手段を特定し、特定済みの１個以上の暗号化手段のそれぞれについて、当該暗号化手段を用いて印刷対象の画像を表わすデータを暗号化するのに要する時間を算出する。そして、複写機は、算出済みの時間が閾値より短い暗号化手段を用いてデータを暗号化し、暗号化されたデータをプリンタに送信する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−０５４７９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
サーバ装置とクライアント装置との間で暗号化されたデータの通信が実行されるべき際に、クライアント装置が、クライアント装置自身が利用可能な複数個の暗号化方式を示す方式情報をサーバ装置に送信することが考えられる。そして、サーバ装置が、方式情報によって示される複数個の暗号化方式の中から１個の暗号化方式を選択し、選択済みの暗号化方式を示す選択情報をクライアント装置に送信する。これにより、サーバ装置とクライアント装置との間において、選択済みの暗号化方式を利用して暗号化されたデータの通信が実行される。本明細書では、このような仕組みが利用される状況において、サーバ装置が暗号化方式を適切に選択し得る技術を提供する。
【課題を解決するための手段】
【０００５】
本明細書によって開示されるサーバ装置は、サーバ装置が、第１の暗号化方式と第２の暗号化方式とを含むＮ個（Ｎは２以上の整数）の暗号化方式を利用可能であることを示す可能情報を格納するメモリと、クライアント装置から、クライアント装置が利用可能なＭ個（Ｍは２以上の整数）の暗号化方式を示す方式情報を受信する受信部と、クライアント装置から、方式情報と、サーバ装置とクライアント装置との少なくとも一方の装置が特定機能を実行すべきことを示す機能情報と、が受信される第１の場合に、第１の暗号化方式が第２の暗号化方式よりも優先的に選択されるように、Ｎ個の暗号化方式とＭ個の暗号化方式との双方に含まれる２個以上の暗号化方式の中から、第１の対象方式を選択する第１の選択部と、第１の対象方式が選択される場合に、選択済みの第１の対象方式を示す第１の選択情報をクライアント装置に送信する第１の送信部と、第１の選択情報が送信される場合に、選択済みの第１の対象方式を利用して第１の対象データを暗号化することによって得られる第１の暗号化データの通信をクライアント装置と実行する第１の通信実行部と、クライアント装置から、機能情報が受信されずに、方式情報が受信される第２の場合に、第２の暗号化方式が第１の暗号化方式よりも優先的に選択されるように、Ｎ個の暗号化方式とＭ個の暗号化方式との双方に含まれる２個以上の暗号化方式の中から、第２の対象方式を選択する第２の選択部と、第２の対象方式が選択される場合に、選択済みの第２の対象方式を示す第２の選択情報をクライアント装置に送信する第２の送信部と、第２の選択情報が送信される場合に、選択済みの第２の対象方式を利用して第２の対象データを暗号化することによって得られる第２の暗号化データの通信をクライアント装置と実行する第２の通信実行部と、を備える。
【０００６】
上記の構成によると、サーバ装置は、クライアント装置から方式情報と機能情報とを受信する第１の場合に、第１の暗号化方式を第２の暗号化方式よりも優先的に選択するように、第１の対象方式を選択し、クライアント装置から機能情報を受信せずに方式情報を受信する第２の場合に、第２の暗号化方式を第１の暗号化方式よりも優先的に選択するように、第２の対象方式を選択する。このように、サーバ装置は、クライアント装置から機能情報を受信するのか否かに応じて、第１及び第２の暗号化方式の優先順位を変えるので、暗号化方式を適切に選択し得る。
【０００７】
本明細書によって開示されるサーバ装置は、サーバ装置が、第１の暗号化方式と第２の暗号化方式とを含むＮ個（Ｎは２以上の整数）の暗号化方式を利用可能であることを示す可能情報を格納するメモリと、第１のクライアント装置から、第１のクライアント装置が利用可能なＭ個（Ｍは２以上の整数）の暗号化方式を示す第１の方式情報を受信する第１の受信部と、第１のクライアント装置から、第１の方式情報と、第１のクライアント装置を識別するための第１の識別情報であって、所定文字列を含む第１の識別情報と、が受信される第１の場合に、第１の暗号化方式が第２の暗号化方式よりも優先的に選択されるように、Ｎ個の暗号化方式とＭ個の暗号化方式との双方に含まれる２個以上の暗号化方式の中から、第１の対象方式を選択する第１の選択部と、第１の対象方式が選択される場合に、選択済みの第１の対象方式を示す第１の選択情報を第１のクライアント装置に送信する第１の送信部と、第１の選択情報が送信される場合に、選択済みの第１の対象方式を利用して第１の対象データを暗号化することによって得られる第１の暗号化データの通信を第１のクライアント装置と実行する第１の通信実行部と、第２のクライアント装置から、第２のクライアント装置が利用可能なＬ個（Ｌは２以上の整数）の暗号化方式を示す第２の方式情報を受信する第２の受信部と、第２のクライアント装置から、第２の方式情報と、第２のクライアント装置を識別するための第２の識別情報であって、所定文字列を含まない第２の識別情報と、が受信される第２の場合に、第２の暗号化方式が第１の暗号化方式よりも優先的に選択されるように、Ｎ個の暗号化方式とＬ個の暗号化方式との双方に含まれる２個以上の暗号化方式の中から、第２の対象方式を選択する第２の選択部と、第２の対象方式が選択される場合に、選択済みの第２の対象方式を示す第２の選択情報を第２のクライアント装置に送信する第２の送信部と、第２の選択情報が送信される場合に、選択済みの第２の対象方式を利用して第２の対象データを暗号化することによって得られる第２の暗号化データの通信を第２のクライアント装置と実行する第２の通信実行部と、を備える。
【０００８】
上記の構成によると、サーバ装置は、第１のクライアント装置から第１の方式情報と所定文字列を含む第１の識別情報とを受信する第１の場合に、第１の暗号化方式を第２の暗号化方式よりも優先的に選択するように、第１の対象方式を選択し、第２のクライアント装置から第２の方式情報と所定文字列を含まない第２の識別情報とを受信する第２の場合に、第２の暗号化方式を第１の暗号化方式よりも優先的に選択するように、第２の対象方式を選択する。このように、サーバ装置は、クライアント装置から受信される識別情報が所定文字列を含むのか否かに応じて、第１及び第２の暗号化方式の優先順位を変えるので、暗号化方式を適切に選択し得る。
【０００９】
上記のサーバ装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。また、上記のサーバ装置とクライアント装置とを備える通信システムも、新規で有用である。
【図面の簡単な説明】
【００１０】
【図１】通信システムの構成を示す。
【図２】第１実施例に係るプリンタの処理のフローチャートを示す。
【図３】第１実施例の具体的なケースを示す。
【図４】第２実施例に係るプリンタの処理のフローチャートを示す。
【図５】第２実施例の具体的なケースを示す。
【発明を実施するための形態】
【００１１】
（通信システム２の構成；図１）
図１に示すように、通信システム２は、プリンタ１０と、複数個の端末装置１１０、１２０、１３０と、を備える。プリンタ１０と各端末装置１１０等は、ＡＰ（Access Pointの略）２００によって形成されている無線ネットワークに所属している。変形例では、プリンタ１０と各端末装置１１０等は、有線ネットワークに所属していてもよい。なお、以下では、複数個の端末装置１１０、１２０、１３０を総称して、単に「端末装置」と呼ぶ場合がある。
【００１２】
プリンタ１０と端末装置との間では、暗号化通信が実行され得る。当該暗号化通信は、ＳＳＬ（Secure Sockets Layerの略）／ＴＬＳ（Transport Layer Securityの略）に従った通信（以下では「ＳＳＬ通信」と呼ぶ）である。ＳＳＬ通信は、共通鍵暗号化方式と公開鍵暗号化方式とを組み合わせた暗号化通信である。特に、本実施例では、プリンタ１０は、ＳＳＬに従ったサーバとして機能し、端末装置は、ＳＳＬに従ったクライントとして機能する。変形例では、暗号化通信として、ＩＰｓｅｃ（Security Architecture for Internet Protocolの略）、ＳＭＢ（Server Message Block）３．０等が採用されてもよい。  
【００１３】
（プリンタ１０の構成）
プリンタ１０は、少なくとも印刷機能を実行可能な周辺装置（即ち端末装置の周辺装置）である。プリンタ１０は、操作部１２と、表示部１４と、ネットワークインターフェース（以下ではインターフェースを「Ｉ／Ｆ」と記載する）１６と、印刷実行部１８と、制御部３０と、を備える。
【００１４】
操作部１２は、複数のキーを備える。ユーザは、操作部１２を操作することによって、様々な指示をプリンタ１０に入力することができる。表示部１４は、様々な情報を表示するためのディスプレイである。表示部１４は、いわゆるタッチパネルとしても機能する。即ち、表示部１４は、操作部としても機能する。ネットワークＩ／Ｆ１６は、Ｗｉ−Ｆｉ方式に従った無線通信を実行するためのＩ／Ｆである。印刷実行部１８は、インクジェット方式、レーザ方式等の印刷機構である。
【００１５】
制御部３０は、ＣＰＵ３２と、メモリ３４と、を備える。ＣＰＵ３２は、メモリ３４に格納されているプログラム３６に従って、様々な処理を実行する。メモリ３４は、揮発性メモリ、不揮発性メモリ等によって構成される。メモリ３４は、プログラム３６に加えて、暗号化方式テーブル３８と画面データ４０とを格納する。
【００１６】
暗号化方式テーブル３８では、プリンタ１０が利用可能（即ち解釈可能）な複数個の暗号化方式のそれぞれの名称と、当該暗号化方式の優先順位と、が対応付けられている上記の複数個の暗号化方式は、ＧＣＭ（Galois/Counter Modeの略）とＣＢＣ（Cipher Block Chainingの略）とを含む。一般的には、ＧＣＭは、ＣＢＣよりも高いセキュリティを有する。また、ＣＢＣを利用してデータを暗号化（又は復号化）するのに要する時間は、ＧＣＭを利用して同じデータを暗号化（又は復号化）するのに要する時間よりも短い。プリンタ１０が印刷を実行しなくてよい状況では、テーブル３８において、ＧＣＭの優先順位がＣＢＣの優先順位よりも高くなるように設定されている。プリンタ１０が印刷を実行すべき状況では、テーブル３８において、ＣＢＣの優先順位がＧＣＭの優先順位よりも高くなるように変更され得る。
【００１７】
プリンタ１０は、ＷＥＢサーバとして機能して、ＷＥＢページを表わす画面データ４０を外部に送信することができる。例えば、端末装置がプリンタ１０のＷＥＢサーバにアクセスする場合に、画面データ４０が端末装置に送信される。
【００１８】
（端末装置１１０、１２０、１３０の構成）
端末装置は、携帯電話、スマートフォン等の可搬型の端末装置であってもよいし、デスクトップＰＣ等の据置型の端末装置であってもよい。２個の端末装置１１０、１２０は、同じベンダ「ＸＸＸ」によって製造されたものであり、端末装置１３０は、ベンダ「ＸＸＸ」とは異なるベンダ「ＹＹＹ」によって製造されたものである。端末装置１１０は、プリンタアプリケーション１１２を有する。アプリケーション１１２は、プリンタ１０に印刷データを送信する前に、印刷通知をプリンタ１０に送信するためのアプリケーションである。なお、印刷データのデータサイズは、比較的に大きく、上述の画面データ４０のデータサイズは、比較的に小さい。従って、一般的に、印刷データのデータサイズは、画面データ４０のデータサイズに比べて、大きい。アプリケーション１１２は、プリンタ１０のベンダによって提供されるアプリケーションであり、例えば、インターネット上のサーバから端末装置１１０にインストールされる。端末装置１２０、１３０は、プリンタアプリケーション１１２を有さない。
【００１９】
（プリンタの処理；図２）
続いて、図２を参照して、プリンタ１０が実行する処理について説明する。プリンタ１０によって実行される以下の通信は、ネットワークＩ／Ｆ１６を介した通信である。従って、以下では、「ネットワークＩ／Ｆ１６を介して」という説明を省略する。
【００２０】
Ｓ１２において、ＣＰＵ３２は、端末装置からトリガ信号を受信することを監視する。トリガ信号は、印刷通知、状態要求、ＣｌｉｅｎｔＨｅｌｌｏ等である。
【００２１】
Ｓ１４において、ＣＰＵ３２は、トリガ信号が印刷通知及び状態要求であるのか否かを判断する。印刷通知は、端末装置にプリンタアプリケーション１１２がインストールされており、かつ、端末装置において暗号化された印刷データを送信するための操作が実行される場合に、端末装置から送信される信号である。また、状態要求は、ＳＮＭＰ（Simple Network Management Protocolの略）に従った信号であって、プリンタ１０の状態の送信を要求するための信号である。ＣＰＵ３２は、Ｓ１２で受信されたトリガ信号が印刷通知及び状態要求であると判断する場合（Ｓ１４でＹＥＳ）に、Ｓ１６に進む。
【００２２】
Ｓ１６において、ＣＰＵ３２は、印刷を実行可能であるのか否か判断する。具体的には、ＣＰＵ３２は、各種のセンサ（図示省略）からの信号を確認し、エラー状態でなければ印刷を実行可能である（Ｓ１６でＹＥＳ）と判断してＳ１８に進み、エラー状態であれば印刷を実行不可能である（Ｓ１６でＮＯ）と判断してＳ４０に進む。上記の各種のセンサは、例えば、消耗品（トナー、インク等）の残量を検知するためのセンサ、印刷用紙が用紙トレイに収容されているのか否かを検知するためのセンサ等を含む。
【００２３】
Ｓ１８において、ＣＰＵ３２は、印刷を実行可能であることを示すＯＫ信号を端末装置に送信し、Ｓ２０に進む。一方、Ｓ４０において、ＣＰＵ３２は、印刷を実行不可能であることを示すＮＧ信号を端末装置に送信する。Ｓ４０が終了すると、端末装置とのさらなる通信が実行されることなく、Ｓ１２に戻る。これにより、プリンタ１０が印刷を実行不可能である状況において、印刷データの通信が実行されるのを抑制することができる。
【００２４】
Ｓ２０において、ＣＰＵ３２は、暗号化方式テーブル３８内の優先順位を変更する。具体的には、ＣＰＵ３２は、ＣＢＣの優先順位がＧＣＭの優先順位よりも高くなるように変更する。これにより、ＣＢＣがＧＣＭよりも優先して選択されるようになる。
【００２５】
Ｓ２２において、ＣＰＵ３２は、端末装置からＣｌｉｅｎｔＨｅｌｌｏを受信する。ＣｌｉｅｎｔＨｅｌｌｏは、ＳＳＬ通信の実行を要求するための信号である。ＣｌｉｅｎｔＨｅｌｌｏは、端末装置が利用可能な１個以上の暗号化方式を示す情報等を含む。
【００２６】
Ｓ２４において、ＣＰＵ３２は、印刷データの暗号化に利用されるべき暗号化方式を選択する。具体的には、ＣＰＵ３２は、暗号化方式テーブル３８及びＣｌｉｅｎｔＨｅｌｌｏの両方に含まれている１個以上の暗号化方式を特定し、特定済みの１個以上の暗号化方式の中から、テーブル３８内の優先順位が最も高い暗号化方式を選択する。例えば、ＣＢＣ及びＧＣＭが暗号化方式テーブル３８及びＣｌｉｅｎｔＨｅｌｌｏの両方に含まれている場合には、ＣＰＵ３２は、ＣＢＣの優先順位が高くなるようにテーブル３８が変更済みであるので（Ｓ２０）、ＣＢＣを選択する。
【００２７】
Ｓ２６において、ＣＰＵ３２は、選択済みの暗号化方式を示す情報を含むＳｅｒｖｅｒＨｅｌｌｏを端末装置に送信する。これにより、プリンタ１０と端末装置との間で、印刷データの暗号化に利用されるべき暗号化方式が合意される。この結果、端末装置において、合意済みの暗号化方式に従って印刷データが暗号化されることによって、暗号化データが生成される。
【００２８】
Ｓ３０において、ＣＰＵ３２は、端末装置から暗号化データを受信する。次いで、Ｓ３２において、ＣＰＵ３２は、選択済みの暗号化方式を利用して、暗号化データを復号化することによって、印刷データを生成する。そして、Ｓ３４において、ＣＰＵ３２は、印刷データを印刷実行部１８に供給して、印刷データによって表わされる画像の印刷を印刷実行部１８に実行させる。
【００２９】
Ｓ３６において、ＣＰＵ３２は、Ｓ２０で変更された暗号化方式テーブル３８内の優先順位を元の状態に戻す。即ち、ＣＰＵ３２は、ＧＣＭの優先順位がＣＢＣの優先順位よりも高くなるように変更する。Ｓ３６が終了すると、Ｓ１２に戻る。
【００３０】
また、ＣＰＵ３２は、Ｓ１２で受信されたトリガ信号がＣｌｉｅｎｔＨｅｌｌｏであると判断する場合（Ｓ５０でＹＥＳ）には、Ｓ５２に進む。端末装置においてプリンタ１０のＷＥＢサーバにアクセスするための操作が実行される場合に、端末装置から、印刷通知及び状態要求が送信されることなく、ＣｌｉｅｎｔＨｅｌｌｏが送信される。この場合、Ｓ５０でＹＥＳと判断される。Ｓ５２、Ｓ５４は、Ｓ２４、Ｓ２６と同様である。Ｓ５２が実行される前に、暗号化方式テーブル３８内の優先順位は変更されない（即ちＳ２０に相当する処理が実行されない）。
【００３１】
Ｓ６０において、ＣＰＵ３２は、端末装置から画面データ要求を受信する。画面データ要求は、ＷＥＢサーバとして機能するプリンタ１０に対して画面データ４０の送信を要求するための信号である。
【００３２】
Ｓ６２において、ＣＰＵ３２は、選択済みの暗号化方式を利用して、画面データ４０を暗号化することによって、暗号化データを生成する。
【００３３】
Ｓ６４において、ＣＰＵ３２は、暗号化データを端末装置に送信する。この結果、端末装置において、Ｓ５４で送信されたＳｅｒｖｅｒＨｅｌｌｏに含まれる暗号化方式を利用して暗号化データが復号化され、画面データ４０によって表わされるＷＥＢページが端末装置に表示される。Ｓ６４が終了すると、Ｓ１２に戻る。
【００３４】
また、ＣＰＵ３２は、Ｓ１２で受信されたトリガ信号が印刷通知を含まずに状態要求のみを含むと判断する場合（Ｓ５０でＮＯ）に、Ｓ７０に進む。端末装置において暗号化されない印刷データを送信するための操作が実行される場合に、端末装置から、印刷通知が送信されることなく、状態要求が送信される。Ｓ７０、Ｓ７２、Ｓ８０は、Ｓ１６、Ｓ１８、Ｓ４０と同様である。
【００３５】
Ｓ７４において、ＣＰＵ３２は、端末装置から印刷データを受信する。ここで受信される印刷データは暗号化されていないので、復号化が実行されない。Ｓ７６は、Ｓ３４と同様である。Ｓ７６が終了すると、Ｓ１２に戻る。
【００３６】
（具体的なケース；図３）
続いて図３を参照して、図２の処理によって実現される具体的なケースＡ〜Ｃについて説明する。
【００３７】
（ケースＡ）
ケースＡでは、プリンタ１０との通信を実行すべき端末装置は、プリンタアプリケーション１１２を有する端末装置１１０である。端末装置１１０では、データの暗号化通信を実行すべき設定がなされている。端末装置１１０が利用可能な暗号化方式は、ＧＣＭとＣＢＣとＣＣＭ（Counter with CBC-MACの略）とである。
【００３８】
ユーザは、端末装置１１０において、プリンタ１０に印刷を実行させるための操作（例えば印刷対象の画像を表わすファイルの選択）を実行する。この場合、Ｔ１０において、端末装置１１０は、プリンタアプリケーション１１２に従って印刷通知を生成し、次いで、ＳＮＭＰに従った印刷通知と状態要求とを同時的にプリンタ１０に送信する。
【００３９】
プリンタ１０は、Ｔ１０において、端末装置１１０から印刷通知及び状態要求を受信すると（図２のＳ１４でＹＥＳ）、Ｔ２０において、ＯＫ信号を端末装置１１０に送信する（Ｓ１６でＹＥＳ、Ｓ１８）。そして、Ｔ２２において、プリンタ１０は、暗号化方式テーブル３８内の優先順位を変更する（Ｓ２０）。
【００４０】
端末装置１１０は、Ｔ２０において、プリンタ１０からＯＫ信号を受信すると、Ｔ３０において、ＣｌｉｅｎｔＨｅｌｌｏをプリンタ１０に送信する。ＣｌｉｅｎｔＨｅｌｌｏは、ＧＣＭとＣＢＣとＣＣＭとを示す情報を含む。
【００４１】
プリンタ１０は、Ｔ３０において、端末装置１１０からＣｌｉｅｎｔＨｅｌｌｏを受信すると（Ｓ２２）、まず、暗号化方式テーブル３８及びＣｌｉｅｎｔＨｅｌｌｏの両方に含まれるＧＣＭ及びＣＢＣを特定し、次いで、ＧＣＭ及びＣＢＣの中から、最も高い優先順位を有するＣＢＣを選択する（Ｓ２４）。そして、Ｔ３２において、プリンタ１０は、ＣＢＣを示す情報を含むＳｅｒｖｅｒＨｅｌｌｏを端末装置１１０に送信する（Ｓ２６）。
【００４２】
端末装置１１０は、Ｔ３２において、プリンタ１０からＳｅｒｖｅｒＨｅｌｌｏを受信すると、Ｔ４０において、ＳｅｒｖｅｒＨｅｌｌｏに含まれる情報によって示されるＣＢＣに従って、印刷データを暗号化することによって、暗号化データを生成する。ここで、印刷データは、Ｔ１０が実行される前に、ユーザによって選択されるファイルを用いて得られるデータである。そして、Ｔ５０において、端末装置１１０は、暗号化データをプリンタ１０に送信する。
【００４３】
プリンタ１０は、Ｔ５０において、端末装置から暗号化データを受信すると（Ｓ３０）、Ｔ６０において、ＣＢＣに従って暗号化データを復号化することによって、印刷データを生成する（Ｓ３２）。そして、Ｔ６２において、プリンタ１０は、印刷データに従った印刷を実行する（Ｓ３４）。
【００４４】
印刷が完了すると、Ｔ７０において、プリンタ１０は、暗号化方式テーブル３８を変更前の状態に戻す（Ｓ３６）。Ｔ２２及びＴ７０においてテーブル３８内の優先順位を変更する構成を採用しているので、プリンタ１０は、端末装置１１０から印刷通知が受信される場合には、変更後のテーブル３８を利用することができる。一方、プリンタ１０は、印刷通知が受信されない場合（例えば画面データ４０の送信が要求される場合）には、変更前の暗号化方式テーブル３８を利用することができる。
【００４５】
（ケースＢ）
ケースＢでは、ケースＡと同様に、プリンタ１０は端末装置１１０との通信を実行する。ユーザは、端末装置１１０において、プリンタ１０のＷＥＢサーバにアクセスするための操作を実行する。この場合、Ｔ１１０において、端末装置１１０は、印刷通知及び状態要求を送信することなく、ＣｌｉｅｎｔＨｅｌｌｏをプリンタ１０に送信する。
【００４６】
プリンタ１０は、Ｔ１１０において、端末装置１１０からＣｌｉｅｎｔＨｅｌｌｏを受信すると（Ｓ５０でＹＥＳ）、まず、暗号化方式テーブル３８及びＣｌｉｅｎｔＨｅｌｌｏの両方に含まれるＧＣＭ及びＣＢＣを特定し、次いで、ＧＣＭ及びＣＢＣの中から、最も高い優先順位を有するＧＣＭを選択する（Ｓ５２）。そして、Ｔ１１２において、プリンタ１０は、ＧＣＭを示す情報を含むＳｅｒｖｅｒＨｅｌｌｏを端末装置１１０に送信する（Ｓ５４）。
【００４７】
端末装置１１０は、Ｔ１１２において、プリンタ１０からＳｅｒｖｅｒＨｅｌｌｏを受信すると、Ｔ１２０において、画面データ要求をプリンタ１０に送信する。
【００４８】
プリンタ１０は、Ｔ１２０において、端末装置１１０から画面データ要求を受信すると（Ｓ６０）、Ｔ１３０において、選択済みのＧＣＭに従って、画面データ４０を暗号化することによって、暗号化データを生成する（Ｓ６２）。そして、Ｔ１４０において、プリンタ１０は、暗号化データを端末装置１１０に送信する（Ｓ６４）。
【００４９】
端末装置１１０は、Ｔ１４０において、プリンタ１０から暗号化データを受信すると、Ｔ１５０において、Ｔ１１２のＳｅｒｖｅｒＨｅｌｌｏに含まれる情報によって示されるＧＣＭに従って、暗号化データを復号化することによって、画面データ４０を生成する。そして、Ｔ１５２において、端末装置１１０は、画面データ４０によって表わされるＷＥＢページを表示する。
【００５０】
（ケースＣ）
ケースＣでは、プリンタ１０との通信を実行すべき端末装置は、プリンタアプリケーション１１２を有さない端末装置１２０である。端末装置１２０では、データの暗号化通信を実行すべき設定がなされていない。
【００５１】
ユーザは、端末装置１２０において、プリンタ１０に印刷を実行させるための操作を実行する。この場合、Ｔ２１０において、端末装置１２０は、印刷通知を送信することなく、ＳＮＭＰに従った状態要求をプリンタ１０に送信する。
【００５２】
プリンタ１０は、Ｔ２１０において、端末装置１２０から印刷通知を受信することなく状態要求を受信すると（Ｓ５０でＮＯ）、Ｔ２２０において、ＯＫ信号を端末装置１２０に送信する（Ｓ７０でＹＥＳ、Ｓ７２）。
【００５３】
端末装置１２０は、Ｔ２２０において、プリンタ１０からＯＫ信号を受信すると、Ｔ２３０において、暗号化を実行することなく、印刷データをプリンタ１０に送信する。
【００５４】
プリンタ１０は、Ｔ２３０において、端末装置１２０から印刷データを受信すると（Ｓ７４）、Ｔ２４０において、復号化を実行することなく、印刷データに従った印刷を実行する（Ｓ７６）。
【００５５】
（第１実施例の効果）
上述のように、プリンタ１０と端末装置１１０との間では、比較的に大きいデータサイズを有する印刷データの暗号化通信と、比較的に小さいデータサイズを有する画面データ４０の暗号化通信と、が実行され得る。そして、プリンタ１０と端末装置１１０との双方が、ＧＣＭ及びＣＢＣを利用可能である。上述したように、ＣＢＣを利用してデータを暗号化（又は復号化）するのに要する時間は、ＧＣＭを利用して同じデータを暗号化（又は復号化）するのに要する時間よりも短い。そこで、本実施例では、プリンタ１０は、端末装置１１０から印刷通知を受信する場合（図３のＴ１０）、即ち、比較的に大きいデータサイズを有する印刷データの暗号化通信を実行すべき場合には、ＣＢＣを優先的に選択する（Ｔ２２、Ｔ３２）。これにより、Ｔ４０及びＴ６０に要する時間が短くて済み、この結果、Ｔ６２の印刷の結果物をユーザに迅速に提供することができる。一方、プリンタ１０は、端末装置１１０から印刷通知を受信しない場合、即ち、比較的に小さいデータサイズを有する画面データ４０の暗号化通信を実行すべき場合には、ＧＣＭを優先的に選択する（Ｔ１１２）。画面データ４０のデータサイズが小さいので、Ｔ１３０及びＴ１５０に要する時間が短くて済み、かつ、比較的に高いセキュリティを有するＧＣＭに従った暗号化通信を実行することができる。このように、プリンタ１０は、印刷通知を受信するのか否かに応じて、暗号化通信に利用されるべき暗号化方式を適切に選択することができる。
【００５６】
（対応関係）
プリンタ１０、端末装置１１０が、それぞれ、「サーバ装置」、「クライアント装置」の一例である。暗号化方式テーブル３８が、「可能情報」及び「優先順位テーブル」の一例である。印刷通知、ＣｌｉｅｎｔＨｅｌｌｏ、状態要求が、それぞれ、「機能情報」、「状態要求」、「方式情報」の一例である。ＣＢＣが、「第１の暗号化方式」及び「第１の対象方式」の一例である。ＧＣＭが、「第２の暗号化方式」及び「第２の対象方式」の一例である。印刷データ、画面データ４０が、それぞれ、「第１の対象データ」、「第２の対象データ」の一例である。印刷が、「特定機能」の一例である。また、プリンタ１０が印刷機能を実行すべきことを示す印刷通知が、「サーバ装置が特定機能を実行すべきことを示す機能情報」の一例である。
【００５７】
（第２実施例；図４）
第１実施例と異なる点を中心に説明する。本実施例では、端末装置１１０は、プリンタアプリケーション１１２を有していない。プリンタ１０は、印刷通知を受信するのか否かに応じて、暗号化方式を選択するための優先度を変えるのではなく、印刷の実行を要求する端末装置のベンダに応じて、暗号化方式を選択するための優先度を変える。ＣＰＵ３２は、図２の処理に代えて、図４の処理を実行する。ＣＰＵ３２は、端末装置からＳＮＭＰに従った状態要求を受信する場合に、図４の処理を開始する。
【００５８】
Ｓ１１２、Ｓ１１４、Ｓ１４０は、図２のＳ１６、Ｓ１８、Ｓ４０と同様である。Ｓ１２０において、ＣＰＵ３２は、端末装置からＣｌｉｅｎｔＨｅｌｌｏを受信したのか否かを判断する。ＣＰＵ３２は、ＣｌｉｅｎｔＨｅｌｌｏを受信したと判断する場合（Ｓ１２０でＹＥＳ）に、Ｓ１２２に進む。一方、ＣＰＵ３２は、ＣｌｉｅｎｔＨｅｌｌｏを受信することなく、暗号化されていない印刷データを受信する場合には、Ｓ１２０でＮＯと判断してＳ１７０に進む。Ｓ１７０は、図２のＳ７６と同様である。即ち、Ｓ１１２でＹＥＳ、Ｓ１１４、Ｓ１２０でＮＯ、Ｓ１７０と進むケースは、図２のＳ５０でＮＯ、Ｓ７０でＹＥＳ、Ｓ７２、Ｓ７４、Ｓ７６と進むケースと同様である。
【００５９】
Ｓ１２２において、ＣＰＵ３２は、端末装置が特定のベンダ（例えば、「ＸＸＸ」）によって製造された端末装置であるのか否かを判断する。具体的には、ＣＰＵ３２は、ＣｌｉｅｎｔＨｅｌｌｏに含まれる端末装置のＭＡＣアドレスが所定のベンダを示す所定文字列「ＸＸＸ」を含んでいるのか否かを判断する。上述したように、端末装置１１０、１２０のベンダは「ＸＸＸ」であり、これらの端末装置からＳ１２０のＣｌｉｅｎｔＨｅｌｌｏが送信される場合には、ＭＡＣアドレスは、所定文字列「ＸＸＸ」を含む。即ち、所定文字列「ＸＸＸ」は、同じベンダによって製造される複数個の端末装置に共通して割り当てられる文字列である。この場合、ＣＰＵ３２は、Ｓ１２２でＹＥＳと判断し、Ｓ１２４に進む。Ｓ１２４〜Ｓ１３６は、図２のＳ２０、Ｓ２４〜Ｓ３６と同様である。
【００６０】
一方、端末装置１３０のベンダは「ＹＹＹ」であり、端末装置１３０からＳ１２０のＣｌｉｅｎｔＨｅｌｌｏが送信される場合には、ＭＡＣアドレスは、所定文字列「ＸＸＸ」を含まない。この場合、ＣＰＵ３２は、Ｓ１２２でＮＯと判断し、Ｓ１５０に進む。Ｓ１５０〜Ｓ１５８は、Ｓ１２６〜Ｓ１３４と同様である。但し、Ｓ１５０が実行される前に、暗号化方式テーブル３８内の優先順位は変更されない（即ちＳ１２４に相当する処理が実行されない）。
【００６１】
（具体的なケース；図５）
続いて図５を参照して、図４の処理によって実現される具体的なケースＤ、Ｅについて説明する。
【００６２】
（ケースＤ）
ケースＤでは、プリンタ１０との通信を実行すべき端末装置は、ベンダ「ＸＸＸ」によって製造された端末装置１１０である。Ｔ４１０、Ｔ４２０、Ｔ４３０は、図３のケースＡのＴ１０、Ｔ２０、Ｔ３０と同様である。ここで、Ｔ４３０のＣｌｉｅｎｔＨｅｌｌｏは、端末装置１１０のＭＡＣアドレスを含み、当該ＭＡＣアドレスは、その一部として文字列「ＸＸＸ」を含む。
【００６３】
プリンタ１０は、Ｔ４３０において、端末装置１１０からＣｌｉｅｎｔＨｅｌｌｏを受信すると（Ｓ１２０でＹＥＳ）、ＭＡＣアドレスが所定文字列「ＸＸＸ」を含むと判断し（Ｓ１２２でＹＥＳ）、Ｔ４３２において、ＣＢＣの優先順位が高くなるように暗号化方式テーブル３８内の優先順位を変更する（Ｓ１２４）。Ｔ４３４〜Ｔ４７０は、図３のケースＡのＴ３２〜Ｔ７０と同様である。
【００６４】
（ケースＥ）
ケースＥでは、プリンタ１０との通信を実行すべき端末装置は、ベンダ「ＹＹＹ」によって製造された端末装置１３０である。端末装置１３０では、データの暗号化通信を実行すべき設定がなされている。端末装置１３０が利用可能な暗号化方式は、ＧＣＭとＣＢＣとＣＣＭとである。
【００６５】
Ｔ５１０〜Ｔ５３０は、ケースＤのＴ４１０〜Ｔ４３０と同様である。ただし、Ｔ５３０のＣｌｉｅｎｔＨｅｌｌｏは、端末装置１３０のＭＡＣアドレスを含み、当該ＭＡＣアドレスは、その一部として文字列「ＹＹＹ」を含む。
【００６６】
プリンタ１０は、Ｔ５３０において、端末装置１３０からＣｌｉｅｎｔＨｅｌｌｏを受信すると（Ｓ１２０でＹＥＳ）、ＭＡＣアドレスが所定文字列「ＸＸＸ」を含まないと判断し（Ｓ１２２でＮＯ）、優先順位が変更されていない暗号化方式テーブル３８に従って、ＧＣＭを選択する（Ｓ１５０）。Ｔ５３２〜Ｔ５６２は、ＣＢＣに代えてＧＣＭが利用される点を除くと、ケースＤのＴ４３４〜４６２と同様である。
【００６７】
（第２実施例の効果）
本実施例では、端末装置１１０のベンダ「ＸＸＸ」は、高速印刷の実現をプリンタ１０のベンダに要求することを想定している。そこで、本実施例では、プリンタ１０は、端末装置１１０からＣｌｉｅｎｔＨｅｌｌｏを受信する場合（図５のＴ４３０）、即ち、端末装置１１０のＭＡＣアドレスが所定文字列「ＸＸＸ」を含む場合には、ＣＢＣを優先的に選択する（Ｔ４３２、Ｔ４３４）。これにより、Ｔ４４０及びＴ４６０に要する時間が短くて済み、この結果、Ｔ４６２の印刷の結果物をユーザに迅速に提供することができる。一方、プリンタ１０は、ベンダ「ＸＸＸ」とは異なるベンダ「ＹＹＹ」によって製造された端末装置１３０からＣｌｉｅｎｔＨｅｌｌｏを受信する場合（Ｔ５３０）、即ち、端末装置１３０のＭＡＣアドレスが所定文字列「ＸＸＸ」を含まない場合には、ＧＣＭを優先的に選択する（Ｔ５３２）。これにより、プリンタ１０は、比較的に高いセキュリティを有するＧＣＭに従った暗号化通信を実行することができる。このように、プリンタ１０は、端末装置から受信されるＭＡＣアドレスが所定文字列「ＸＸＸ」を含むのか否かに応じて、暗号化方式の優先順位を変えるので、端末装置のベンダに応じて、暗号化通信に利用されるべき暗号化方式を適切に選択することができる。特に、本実施例では、印刷通知の有無で暗号化方式の優先順位を変える構成を採用していないので、プリンタ１０のベンダは、印刷通知を送信するためのプリンタアプリケーション１１２を準備せずに済む。プリンタ１０は、プリンタアプリケーションを利用しなくても、端末装置のベンダに応じて、暗号化方式を適切に選択することができる。
【００６８】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００６９】
（変形例１）プリンタ１０は、３個以上の暗号化方式（例えば、ＧＣＭ、ＣＣＭ、及び、ＣＢＣ）を利用可能であってもよい。ＣＣＭを利用してデータを暗号化するのに要する時間は、ＧＣＭを利用して同じデータを暗号化するのに要する時間よりも短く、ＣＢＣを利用して同じデータを暗号化するのに要する時間よりも長い。一般的には、ＣＣＭは、ＧＣＭよりも低いセキュリティを有し、ＣＢＣよりも高いセキュリティを有する。暗号化方式テーブル３８では、変更前には、優先順位が高い方から低い方に向かって、ＧＣＭ、ＣＣＭ、ＣＢＣの順に並んでいてもよく、変更後には、優先順位が高い方から低い方に向かって、ＣＢＣ、ＣＣＭ、ＧＣＭの順に並んでいてもよい。
【００７０】
（変形例２）上記の実施例では、ＣＰＵ３２は、プログラム３６に従って、データの暗号化及び復号化を実行する（図２のＳ３２、Ｓ６２、図４のＳ１３２、Ｓ１５６）。これに代えて、データの暗号化及び復号化は、論理回路等のハードウェアによって実行されてもよい。即ち、「暗号部」及び「復号部」は、ソフトウェアによって実現されてもよいし、ハードウェアによって実現されてもよい。
【００７１】
（変形例３）「サーバ装置」は、スキャン機能を実行可能なスキャナであってもよいし、印刷機能及びスキャン機能を含む多機能を実行可能な多機能機であってもよい。スキャンデータは、印刷データと同様に、比較的に大きいデータサイズを有する。このために、「サーバ装置」がスキャナである場合には、例えば、図２のＳ１４では、スキャンの実行を要求するためのスキャン通知が受信されたのか否かが判断される。Ｓ２６の後には、原稿のスキャンが実行されてスキャンデータが生成され、Ｓ２４で選択された暗号化方式に従ってスキャンデータの暗号化が実行される。Ｓ３０では、暗号化データが送信され、Ｓ３２及びＳ３４が実行されない。本変形例では、スキャン通知、スキャンデータが、それぞれ、「機能情報」、「第１の対象データ」の一例である。同様に、第２実施例でも暗号化されたスキャンデータの通信が実行されてもよい。この場合、図４の処理は、状態要求を受信することなく、ＣｌｉｅｎｔＨｅｌｌｏが受信される場合に開始される。従って、Ｓ１１２、Ｓ１１４、Ｓ１２０、Ｓ１４０、Ｓ１７０の処理は省略される。
【００７２】
（変形例４）「クライアント装置」が、スキャン機能を実行可能なスキャナであり、「サーバ装置」が、ＰＣ等の端末装置であってもよい。この場合、スキャナで生成されるスキャンデータが端末装置で表示されてもよい。例えば、ユーザがスキャナにおいて暗号化されたスキャンデータを送信するための操作を実行すると、スキャン通知がスキャナから端末装置に送信される。この場合、端末装置は、上記の実施例と同様に、ＣＢＣの優先順位がＧＣＭよりも高くなるように、暗号化方式テーブル内の暗号化方式の優先順位を変更する。その後、端末装置は、スキャナからＣＢＣ及びＧＣＭを含むＣｌｉｅｎｔＨｅｌｌｏを受信すると、暗号化方式テーブルに従ってＣＢＣを選択し、ＣＢＣを含むＳｅｒｖｅｒＨｅｌｌｏをスキャナに送信する。この結果、スキャナにおいて、スキャンデータが生成され、ＣＢＣに従ってスキャンデータが暗号化される。端末装置は、スキャナから暗号化データを受信すると、ＣＢＣに従って暗号化データを復号化してスキャンデータを生成し、スキャンデータによって表わされる画像を表示する。また、例えば、ユーザがスキャナ内の設定値（例えばデフォルトのスキャン設定）を送信するための操作を実行すると、スキャン通知が送信されることなく、ＣＢＣ及びＧＣＭを含むＣｌｉｅｎｔＨｅｌｌｏがスキャナから端末装置に送信される。この場合、端末装置は、暗号化方式テーブル内の暗号化方式の優先順位を変更しない。従って、ＧＣＭの優先順位がＣＢＣよりも高いので、端末装置は、ＧＣＭを選択し、ＧＣＭを含むＳｅｒｖｅｒＨｅｌｌｏをスキャナに送信する。この結果、スキャナにおいて、ＧＣＭに従って設定値が暗号化される。端末装置は、スキャナから暗号化データを受信すると、ＧＣＭに従って暗号化データを復号化して設定値を生成し、設定値を利用した処理（例えば、他のスキャナへの送信、表示等）を実行する。本変形例によると、端末装置は、スキャンデータの暗号化通信を迅速に実行することができ、かつ、高セキュリティを有する暗号化方式に従って設定値の暗号化通信を実行することができる。本変形例では、スキャン機能、スキャン通知、スキャンデータ、設定値が、それぞれ、「特定機能」、「機能情報」、「第１の対象データ」、「第２の対象データ」の一例である。また、スキャナがスキャン機能を実行すべきことを示すスキャン通知が、「クライアント装置が特定機能を実行すべきことを示す機能情報」の一例である。
【００７３】
（変形例５）「クライアント装置」が、スキャン機能を実行可能なスキャナであり、「サーバ装置」が、プリンタであり、スキャナ及びプリンタが協働してコピー機能を実現してもよい。例えば、ユーザがスキャナにおいてコピー機能に対応する操作を実行すると、コピー通知がスキャナからプリンタに送信される。プリンタは、スキャナからコピー通知を受信すると、上記の実施例と同様に、図２のＳ２０〜Ｓ２６を実行して、ＣＢＣを含むＳｅｒｖｅｒＨｅｌｌｏをスキャナに送信する。この結果、スキャナにおいて、スキャンデータが生成され、ＣＢＣに従ってスキャンデータが暗号化される。端末装置は、スキャナから暗号化データを受信すると、ＣＢＣに従って暗号化データを復号化してスキャンデータを生成し、スキャンデータによって表わされる画像を印刷する。また、例えば、ユーザがスキャナ内の設定値（例えばスキャナへログインするためのログインデータ（例えばユーザＩＤ及びパスワード））を送信するための操作を実行すると、コピー通知が送信されることなく、ＣＢＣ及びＧＣＭを含むＣｌｉｅｎｔＨｅｌｌｏがスキャナからプリンタに送信される。この場合、プリンタは、暗号化方式テーブル内の暗号化方式の優先順位を変更しない。従って、ＧＣＭの優先順位がＣＢＣよりも高いので、プリンタは、ＧＣＭを選択し、ＧＣＭを含むＳｅｒｖｅｒＨｅｌｌｏをスキャナに送信する。この結果、スキャナにおいて、ＧＣＭに従って設定値が暗号化される。プリンタは、スキャナから暗号化データを受信すると、ＧＣＭに従って暗号化データを復号化して設定値を生成し、設定値を利用した処理（例えば、プリンタ自身へのログインデータの設定）を実行する。本変形例によると、プリンタは、スキャンデータの暗号化通信を迅速に実行することができ、かつ、高セキュリティを有する暗号化方式に従って設定値の暗号化通信を実行することができる。本変形例では、コピー機能（即ちスキャン機能及び印刷機能の組合せ）、コピー通知、スキャンデータ、設定値が、それぞれ、「特定機能」、「機能情報」、「第１の対象データ」、「第２の対象データ」の一例である。また、プリンタとスキャナとがコピー機能を実行すべきことを示すコピー通知が、「サーバ装置とクライアント装置とが特定機能を実行すべきことを示す機能情報」の一例である。
【００７４】
（変形例６）図２のＳ２０が実行されず、Ｓ５２の前にＳ２０が実行されてもよい。そして、Ｓ６０の後に、変更後のテーブル３８に従って暗号化方式が実行されてもよい。即ち、プリンタ１０は、画面データ要求を受信する場合には、暗号化方式の優先順位を変更して暗号化方式（例えばＣＢＣ）を選択し、画面データ要求を受信しない場合には、暗号化方式の優先順位を変更せずに暗号化方式（例えばＧＣＭ）を選択してもよい。本変形例によると、プリンタ１０は、ＷＥＢページを表わす画面データの暗号化通信を迅速に実行することができ、かつ、高セキュリティを有する暗号化方式に従って印刷データの暗号化通信を実行することができる。本変形例では、画面データ要求、画面データ４０、印刷データが、それぞれ、「機能情報」、「第１の対象データ」、「第２の対象データ」の一例である。また、クライアント装置である端末装置がＷＥＢページを表示する機能が、「特定機能」の一例である。
【００７５】
（変形例７）第２実施例では、プリンタ１０は、以下の処理をさらに実行してもよい。即ち、プリンタ１０は、図４の処理のトリガである状態要求を受信することなく、端末装置からＣｌｉｅｎｔＨｅｌｌｏを受信する場合に、Ｓ１２２と同様の処理を実行してもよい。そして、プリンタ１０は、端末装置のＭＡＣアドレスが所定文字列「ＸＸＸ」を含んでいると判断する場合（例えば端末装置１１０の場合）に、図２のＳ２０及びＳ５２〜Ｓ６４を実行し、端末装置のＭＡＣアドレスが所定文字列「ＸＸＸ」を含んでいないと判断する場合（例えば端末装置１３０の場合）に、Ｓ２０を実行することなく、Ｓ５２〜Ｓ６４を実行する。本変形例によると、プリンタ１０は、端末装置のベンダに応じて、暗号化通信に利用されるべき暗号化方式を適切に選択することができる。本変形例では、画面データ４０が、「第１の対象データ」及び「第２の対象データ」の一例である。
【００７６】
（変形例８）プリンタ１０は、各端末装置１１０、１２０、１３０のＭＡＣアドレスと、当該端末装置から印刷の実行が要求される回数と、を対応付けて記憶しておいてもよい。そして、プリンタ１０は、図４のＳ１２２において、ＣｌｉｅｎｔＨｅｌｌｏの送信元の端末装置のＭＡＣアドレスが、所定値よりも大きい回数が対応付けられているＭＡＣアドレスに一致する場合には、Ｓ１２４に進み、一致しない場合には、Ｓ１５０に進んでもよい。本変形例によると、プリンタ１０は、印刷の実行を要求する頻度が高い端末装置との暗号化通信を迅速に実行することができ、かつ、高セキュリティを有する暗号化方式に従って、印刷の実行を要求する頻度が低い端末装置との暗号化通信を実行することができる。本変形例では、所定値よりも大きい回数が対応付けられているＭＡＣアドレスが、「所定文字列」及び「第１の識別情報」の一例であり、所定値以下の回数が対応付けられているＭＡＣアドレスが、「第２の識別情報」の一例である。なお、本変形例において、ＭＡＣアドレスに代えて、端末装置のＩＰアドレスが利用されてもよい。この場合、ＩＰアドレスが、「第１（又は第２）の識別情報」の一例である。
【００７７】
（変形例９）上記の各実施例では、ＣＰＵ３２がプログラム３６（即ちソフトウェア）を実行することによって、図２〜図５の各処理が実現される。これに代えて、図２〜図５の各処理のうちの少なくとも一部の処理は、論理回路等のハードウェアによって実現されてもよい。
【００７８】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００７９】
２：通信システム、１０：プリンタ、１２：操作部、１４：表示部、１６：ネットワークＩ／Ｆ、１８：印刷実行部、３０：制御部、３２：ＣＰＵ、３４：メモリ、３６：プログラム、３８：暗号化方式テーブル、４０：ＷＥＢページ、１１０、１２０、１３０：端末装置、１１２：プリンタアプリケーション
【図１】
2018026721.tif 000003
【図２】
2018026721.tif 000004
【図３】
2018026721.tif 000005
【図４】
2018026721.tif 000006
【図５】
2018026721.tif 000007