(57)【特許請求の範囲】
【請求項１】
光学的に原稿を読み取ることによって画像データを生成する生成部を備える通信装置と、中継装置と、を含み、前記通信装置と前記中継装置とのそれぞれが、前記通信装置に対して特定のサービスを提供するサービス提供装置と通信を行う通信システムであって、
前記通信装置は、
ユーザから前記特定のサービスの開始指示を受け取ることに応じて、前記中継装置を介さずに、前記サービス提供装置に対して、前記通信装置が使用可能な１個以上の暗号化方式を示す第１方式情報を送信し、
前記第１方式情報の送信に対する応答として、前記第１方式情報に示される１個以上の暗号化方式のうちの使用すべき第１暗号化方式を示す第１方式通知と、前記第１方式情報に含まれる１個以上の暗号化方式の使用を拒否することを示す拒否通知と、のいずれかを、前記サービス提供装置から受信し、
前記第１方式通知が受信される場合に、前記サービス提供装置との間に、前記第１暗号化方式に従う暗号通信を確立し、
前記第１暗号化方式に従う暗号通信が確立される場合に、前記特定のサービスに関する特定の画像データを前記生成部に生成させ、
確立済の前記第１暗号化方式に従う暗号通信を用いて、前記中継装置を介さずに、前記サービス提供装置に対して、前記特定の画像データを送信し、
前記拒否通知が受信される場合に、前記中継装置との間に、暗号通信を確立し、
前記中継装置は、
前記通信装置との間に、暗号通信を確立し、
前記通信装置との間の暗号通信の確立後に、前記サービス提供装置に対して、前記中継装置が使用可能な複数個の暗号化方式を示す第２方式情報であって前記第１暗号化方式とは異なる暗号化方式を示す１個以上の暗号化方式を含む前記第２方式情報を送信し、
前記第２方式情報の送信に対する応答として、前記第２方式情報に含まれる１個以上の暗号化方式のうちの使用すべき第２暗号化方式を示す第２方式通知を、前記サービス提供装置から受信し、
前記第２方式通知が受信される場合に、前記サービス提供装置との間に、前記第２暗号化方式に従う暗号通信を確立し、
前記第２暗号化方式に従う暗号通信が確立されることに応じて、前記第２暗号化方式に従う暗号通信の確立を示す確立通知を、前記通信装置に対して送信し、
確立済みの前記第２暗号化方式に従う暗号通信を切断し、
前記通信装置は、
前記確立通知が受信される場合に、前記中継装置との間の暗号通信を切断し、
前記中継装置との間の暗号通信の切断後に、前記特定の画像データを前記生成部に生成させ、
前記特定の画像データの生成後に、前記サービス提供装置に対して、再び前記第１方式情報を送信することなく、前記中継装置との間に、再び暗号通信を確立し、
前記中継装置との間に、再び確立された暗号通信を用いて、前記特定の画像データを前記中継装置に対して送信し、
前記中継装置は、
前記特定の画像データの生成後に、前記サービス提供装置に対して、再び前記第２方式情報を送信し、
再び送信された前記第２方式情報の送信に対する応答として、前記サービス提供装置から、再び前記第２方式通知を受信し、
前記第２方式通知が再び受信される場合に、前記サービス提供装置との間に、再び前記第２暗号化方式に従う暗号通信を確立し、
前記通信装置から受信される前記特定の画像データを、前記サービス提供装置との間に、再び確立された暗号通信を用いて、前記サービス提供装置に対して送信する、通信システム。
【請求項２】
請求項１に記載の通信システムであって、
前記中継装置は、
前記第２方式通知が受信される場合に、第２方式通知に示される前記第２暗号化方式を記憶し、
前記第２暗号化方式の記憶後に、前記通信装置から前記第１方式情報を受信し、
記憶済の前記第２暗号化方式を用いて、前記第１方式情報に含まれる１個以上の暗号化方式から、使用すべき第３暗号化方式を選択し、
前記第１方式情報の受信に対する応答として、前記第３暗号化方式を示す第３方式通知を、前記通信装置に対して送信し、
前記通信装置は、
前記中継装置にて前記第２暗号化方式が記憶された後に、前記中継装置に対して、前記第１方式情報を送信し、
前記第１方式情報の送信に対する応答として、前記第３方式通知を、前記中継装置から受信し、
前記第３方式通知が受信される場合に、前記中継装置との間に前記第３暗号化方式に従う暗号通信を確立する、通信システム。
【請求項３】
請求項２に記載の通信システムであって、
前記第２暗号化方式および前記第３暗号化方式は、装置の認証のための認証アルゴリズムと、通信データを暗号化するための暗号化アルゴリズムと、前記暗号化アルゴリズムで用いられる暗号化鍵を交換するための鍵交換アルゴリズムと、前記認証アルゴリズムと前記暗号化アルゴリズムと前記鍵交換アルゴリズムとの少なくとも一つで用いられるハッシュアルゴリズムと、を含む複数項目のアルゴリズムを含み、
前記中継装置は、
前記複数項目のアルゴリズムのうちの少なくとも１つの特定項目について、前記第２暗号化方式にて採用されるアルゴリズムを特定し、
前記第１方式情報に含まれる１個以上の暗号化方式のうち、少なくとも１つの前記特定項目について、前記第２暗号化方式にて採用されるアルゴリズムと同一または近似するアルゴリズムを採用する暗号化方式を、前記第３暗号化方式として選択する、通信システム。
【請求項４】
請求項３に記載の通信システムであって、
前記中継装置は、さらに、
少なくとも１つの前記特定項目について、セキュリティレベルおよび処理速度の少なくとも一方に基づく、複数個のアルゴリズムから１個のアルゴリズムを選択する際の優先度を示す優先度情報を記憶し、
前記優先度情報を用いて、前記第２暗号化方式にて採用されるアルゴリズムとセキュリティレベルおよび処理速度の少なくとも一方が同一または近似するアルゴリズムを採用する暗号化方式を、前記第３暗号化方式として選択する、画像処理装置。
【請求項５】
請求項２〜４のいずれかに記載の通信システムであって、
前記中継装置は、
前記第２暗号化方式を、前記サービス提供装置を示す識別子と関連付けて記憶し、
前記通信装置から、前記第１方式情報と前記サービス提供装置を示す前記識別子とを受信し、
前記サービス提供装置を示す前記識別子に関連付けて記憶される前記第２暗号化方式を用いて、前記第３暗号化方式を選択する、通信システム。
【請求項６】
請求項１〜５のいずれかに記載の通信システムであって、
前記通信装置は、前記拒否通知が受信される場合に、前記中継装置との間に確立された暗号通信を用いて、通信すべき前記サービス提供装置との通信要求を、前記中継装置に対して送信し、
前記中継装置は、
前記通信装置との間に確立された暗号通信を用いて、前記サービス提供装置との通信要求を、前記通信装置から受信し、
前記通信要求に基づいて、前記サービス提供装置に対して、前記第２方式情報を送信する、通信システム。
【請求項７】
請求項１〜６のいずれかに記載の通信システムであって、
前記特定の画像データの送信は、アプリケーション層に属するアプリケーション間の通信であり、
前記第１方式情報および前記第２方式情報の送受信は、前記アプリケーションより下位の層での通信である、通信システム。
【請求項８】
請求項７に記載の通信システムであって、
前記第１方式情報および前記第２方式情報の送受信を行うプロトコルは、ＳＳＬ（Secure Sockets Layer）／ＴＬＳ（Transport Layer Security）である、コンピュータプログラム。
【請求項９】
通信装置であって、
光学的に原稿を読み取ることによって画像データを生成する生成部と、
制御部と、
を備え、
前記制御部は、
ユーザから特定のサービスの開始指示を受け取ることに応じて、中継装置を介さずに、前記特定のサービスを提供するサービス提供装置に対して、前記通信装置が使用可能な１個以上の暗号化方式を示す方式情報を送信し、
前記方式情報の送信に対する応答として、前記方式情報に示される１個以上の暗号化方式のうちの使用すべき特定の暗号化方式を示す方式通知と、前記方式情報に含まれる１個以上の暗号化方式の使用を拒否することを示す拒否通知と、のいずれかを、前記サービス提供装置から受信し、
前記方式通知が受信される場合に、前記サービス提供装置との間に、前記特定の暗号化方式に従う暗号通信を確立し、
前記特定の暗号化方式に従う暗号通信が確立される場合に、前記特定のサービスに関する特定の画像データを前記生成部に生成させ、
確立済の前記特定の暗号化方式に従う暗号通信を用いて、前記中継装置を介さずに、前記サービス提供装置に対して、前記特定の画像データを送信し、
前記拒否通知が受信される場合に、前記中継装置との間に、暗号通信を確立し、
前記中継装置と前記サービス提供装置との間に暗号通信が確立されることに応じて前記中継装置から送信される確立通知が受信される場合に、前記中継装置との間の暗号通信を切断し、
前記中継装置との間の暗号通信の切断後に、前記特定の画像データを前記生成部に生成させ、
前記特定の画像データの生成後に、前記サービス提供装置に対して、再び前記方式情報を送信することなく、前記中継装置との間に、再び暗号通信を確立し、
前記中継装置との間に、再び確立された暗号通信を用いて、前記特定の画像データを前記中継装置に対して送信する、通信装置。
【請求項１０】
中継装置のためのコンピュータプログラムであって、
通信装置との間に、暗号通信を確立し、
前記通信装置との間の暗号通信の確立後に、特定のサービスを提供するサービス提供装置に対して、前記中継装置が使用可能な複数個の暗号化方式であって前記通信装置が使用可能な１個以上の暗号化方式とは異なる暗号化方式を含む前記複数個の暗号化方式を示す方式情報を送信し、
前記方式情報の送信に対する応答として、前記方式情報に含まれる１個以上の暗号化方式のうちの使用すべき特定の暗号化方式を示す方式通知を、前記サービス提供装置から受信し、
前記方式通知が受信される場合に、前記サービス提供装置との間に、前記特定の暗号化方式に従う暗号通信を確立し、
前記特定の暗号化方式に従う暗号通信が確立されることに応じて、前記特定の暗号化方式に従う暗号通信の確立を示す確立通知を、前記通信装置に対して送信し、
確立済みの前記特定の暗号化方式に従う暗号通信を切断し、
前記特定の暗号化方式に従う暗号通信の切断後に前記通信装置にて前記特定のサービスに関する特定の画像データが生成された後に、前記サービス提供装置に対して、再び前記方式情報を送信し、
再び送信された前記方式情報の送信に対する応答として、前記サービス提供装置から、再び前記方式通知を受信し、
前記方式通知が再び受信される場合に、前記サービス提供装置との間に、再び前記特定の暗号化方式に従う暗号通信を確立し、
前記通信装置との間に確立済の暗号通信と、前記サービス提供装置との間に再び確立された前記特定の暗号化方式に従う暗号通信と、を用いて、前記通信装置と前記サービス提供装置との間で、前記特定の画像データの通信を中継することを、
コンピュータに実現させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置と、通信装置に対して特定のサービスを提供するサービス提供装置と、の通信技術に関する。
【背景技術】
【０００２】
特許文献１には、クライアント装置と、プリントサーバと、を含むネットワーク印刷システムが開示されている。クライアント装置は、インターネットを介して接続されたプリントサーバと通信を行って、プリントサーバが提供する印刷サービスを利用することができる。クライアント装置とプリントサーバとの間の通信には、共通鍵を用いて暗号化された通信が用いられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３３９８４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術では、クライアント装置が使用可能な暗号化方式の使用がプリントサーバによって拒否される場合には、クライアント装置と、プリントサーバとが、暗号通信を実行できない可能性があった。特に、プリントサーバが、クライアント装置に対して使用を許容する暗号化方式を変更した場合には、クライアント装置は、プリントサーバとの間で暗号通信が可能な状態から、プリントサーバとの間で暗号通信が不可能な状態となり、クライアント装置のユーザにとって不便であった。
【０００５】
本明細書は、通信装置が使用可能な暗号化方式の使用が、特定のサービスを提供するサービス提供装置によって拒否される場合であっても、通信装置とサービス提供装置との間で、暗号通信が可能な状態を維持することができる技術を開示する。
【課題を解決するための手段】
【０００６】
本明細書に開示された技術は、以下の適用例として実現することが可能である。
【０００７】
［適用例１］通信装置と、中継装置と、を含み、前記通信装置と前記中継装置とのそれぞれが、前記通信装置に対して特定のサービスを提供するサービス提供装置と通信を行う通信システムであって、前記通信装置は、前記中継装置を介さずに、前記サービス提供装置に対して、前記通信装置が使用可能な１個以上の暗号化方式を示す第１方式情報を送信する第１送信部と、前記第１方式情報の送信に対する応答として、前記第１方式情報に示される１個以上の暗号化方式のうちの使用すべき第１暗号化方式を示す第１方式通知と、前記第１方式情報に含まれる１個以上の暗号化方式の使用を拒否することを示す拒否通知と、のいずれかを、前記サービス提供装置から受信する第１受信部と、前記第１方式通知が受信される場合に、前記サービス提供装置との間に、前記第１暗号化方式に従う暗号通信を確立する第１確立部と、確立済の前記第１暗号化方式に従う暗号通信を用いて、前記中継装置を介さずに、前記サービス提供装置との間で、前記特定のサービスに関する対象データの通信を行う第１通信部と、前記拒否通知が受信される場合に、前記中継装置との間に、暗号通信を確立する第２確立部と、前記中継装置との間に確立済の暗号通信を用いて、前記中継装置を介して、前記サービス提供装置との間で、前記対象データの通信を行う第２通信部と、を備え、前記中継装置は、前記通信装置との間に、暗号通信を確立する第３確立部と、前記通信装置との間の暗号通信の確立後に、前記サービス提供装置に対して、前記中継装置が使用可能な複数個の暗号化方式を示す第２方式情報を送信する第２送信部であって、前記第２方式情報に含まれる１個以上の暗号化方式は、前記第１暗号化方式とは異なる暗号化方式を含む、前記第２送信部と、前記第２方式情報の送信に対する応答として、前記第２方式情報に含まれる１個以上の暗号化方式のうちの使用すべき第２暗号化方式を示す第２方式通知を、前記サービス提供装置から受信する第２受信部と、前記第２方式通知が受信される場合に、前記サービス提供装置との間に、前記第２暗号化方式に従う暗号通信を確立する第４確立部と、前記通信装置との間に確立済の暗号通信と、前記サービス提供装置との間に確立済の暗号通信とを用いて、前記通信装置と前記サービス提供装置との間の前記対象データの通信を中継する中継部と、
を備える、通信システム。
【０００８】
上記構成によれば、通信装置が使用可能な暗号化方式の使用がサービス提供装置に拒否される場合であっても、通信装置は、中継装置を介した暗号通信によって、サービス提供装置との間で、特定のサービスに関する対象データの通信を行うことができる。この結果、通信装置が使用可能な暗号化方式の使用がサービス提供装置に拒否される場合であっても、通信装置とサービス提供装置との間で、暗号通信が可能な状態を維持することができる。
［適用例２］
適用例１に記載の通信システムであって、
前記中継装置は、さらに、
前記第２方式通知が受信される場合に、第２方式通知に示される前記第２暗号化方式を記憶する第１記憶部と、
前記第２暗号化方式の記憶後に、前記通信装置から前記第１方式情報を受信する第３受信部と、
記憶済の前記第２暗号化方式を用いて、前記第１方式情報に含まれる１個以上の暗号化方式から、使用すべき第３暗号化方式を選択する選択部と、
前記第１方式情報の受信に対する応答として、前記第３暗号化方式を示す第３方式通知を、前記通信装置に対して送信する、第３送信部と、
を備え、
前記通信装置は、さらに、
前記第２暗号化方式の記憶後に、前記中継装置に対して、前記第１方式情報を送信する第４送信部と、
前記第１方式情報の送信に対する応答として、前記第３方式通知を、前記中継装置から受信する第４受信部と、
を備え、
前記通信装置の前記第２確立部は、前記第３方式通知が受信される場合に、前記中継装置との間に前記第３暗号化方式に従う暗号通信を確立する、通信システム。
［適用例３］
適用例２に記載の通信システムであって、
前記第２暗号化方式および前記第３暗号化方式は、装置の認証のための認証アルゴリズムと、通信データを暗号化するための暗号化アルゴリズムと、前記暗号化アルゴリズムで用いられる暗号化鍵を交換するための鍵交換アルゴリズムと、前記認証アルゴリズムと前記暗号化アルゴリズムと前記鍵交換アルゴリズムとの少なくとも一つで用いられるハッシュアルゴリズムと、を含む複数項目のアルゴリズムを含み、
前記中継装置の前記選択部は、
前記複数項目のアルゴリズムのうちの少なくとも１つの特定項目について、前記第２暗号化方式にて採用されるアルゴリズムを特定し、
前記第１方式情報に含まれる１個以上の暗号化方式のうち、少なくとも１つの前記特定項目について、前記第２暗号化方式にて採用されるアルゴリズムと同一または近似するアルゴリズムを採用する暗号化方式を、前記第３暗号化方式として選択する、通信システム。
［適用例４］
適用例３に記載の通信システムであって、
前記中継装置は、さらに、少なくとも１つの前記特定項目について、セキュリティレベルおよび処理速度の少なくとも一方に基づく、複数個のアルゴリズムから１個のアルゴリズムを選択する際の優先度を示す優先度情報を記憶する第２記憶部を備え、
前記中継装置の前記選択部は、前記優先度情報を用いて、前記第２暗号化方式にて採用されるアルゴリズムとセキュリティレベルおよび処理速度の少なくとも一方が同一または近似するアルゴリズムを採用する暗号化方式を、前記第３暗号化方式として選択する、画像処理装置。
［適用例５］
適用例２〜４のいずれかに記載の通信システムであって、
前記中継装置の前記第１記憶部は、前記第２暗号化方式を、前記サービス提供装置を示す識別子と関連付けて記憶し、
前記中継装置の前記第３受信部は、前記通信装置から、前記第１方式情報と前記サービス提供装置を示す前記識別子とを受信し、
前記中継装置の前記選択部は、前記サービス提供装置を示す前記識別子に関連付けて記憶される前記第２暗号化方式を用いて、前記第３暗号化方式を選択する、通信システム。
［適用例６］
適用例１〜５のいずれかに記載の通信システムであって、
前記通信装置は、光学的に原稿を読み取ることによって画像データを生成する生成部を備え、
前記対象データの通信は、前記通信装置から前記サービス提供装置への前記画像データの送信を含み、
前記中継装置は、さらに、
前記第４確立部が前記第２暗号化方式に従う暗号通信を確立した後に、前記第２暗号化方式に従う暗号通信の確立を示す確立通知を、前記通信装置に対して送信する第５送信部を備え、
前記通信装置は、さらに、
前記確立通知を受信する第５受信部と、
前記確立通知が受信され、前記中継装置との間の暗号通信が切断された後に、前記生成部を用いて前記画像データを生成する生成制御部と、
を備え、
前記通信装置の前記第２確立部は、前記画像データの生成後に、前記中継装置との間に、再度、暗号通信を確立し、
前記通信装置の前記第２通信部は、前記中継装置との間に確立済の暗号通信を用いて、前記画像データを前記通信装置に対して送信し、
前記中継装置の前記第３確立部は、前記画像データの生成後に、再度、前記通信装置との間に、再度、暗号通信を確立し、
前記中継装置の前記第２送信部は、前記サービス提供装置に対して、再度、前記第２方式情報を送信し、
前記中継装置の前記第２受信部は、前記第２方式通知を、前記サービス提供装置から、再度、受信し、
前記中継装置の前記第４確立部は、前記第２方式通知が、再度、受信される場合に、前記サービス提供装置との間に、前記第２暗号化方式に従う暗号通信を、再度、確立し、
前記中継装置の前記中継部は、前記通信装置との間に確立済の暗号通信を用いて、前記画像データを、前記通信装置から受信し、前記サービス提供装置との間に確立済の暗号通信を用いて、前記画像データを、前記サービス提供装置に対して送信する、通信システム。
［適用例７］
適用例１〜６のいずれかに記載の通信システムであって、
前記通信装置は、さらに、前記第２確立部によって前記中継装置との間に確立された暗号通信を用いて、通信すべき前記サービス提供装置との通信要求を、前記中継装置に対して送信する第６送信部を備え、
前記中継装置は、さらに、前記第３確立部によって前記サービス提供装置との間に確立された暗号通信を用いて、前記サービス提供装置との通信要求を、前記通信装置から受信する第６受信部を備え、
前記中継装置の前記第２送信部は、前記通信要求に基づいて、前記サービス提供装置に対して、前記第２方式情報を送信する、通信システム。
［適用例８］
適用例１〜７のいずれかに記載の通信システムであって、
前記対象データの通信は、アプリケーション層に属するアプリケーション間の通信であり、
前記第１方式情報および第２方式情報の送受信は、前記アプリケーションより下位の層での通信である、通信システム。
［適用例９］
適用例８に記載の通信システムであって、
前記第１方式情報および第２方式情報の送受信を行うプロトコルは、ＳＳＬ（Secure Sockets Layer）／ＴＬＳ（Transport Layer Security）である、コンピュータプログラム。
【０００９】
［適用例１０］通信装置であって、中継装置を介さずに、特定のサービスを提供するサービス提供装置に対して、前記通信装置が使用可能な１個以上の暗号化方式を示す方式情報を送信する送信部と、前記方式情報の送信に対する応答として、前記方式情報に示される１個以上の暗号化方式のうちの使用すべき特定の暗号化方式を示す方式通知と、前記方式情報に含まれる１個以上の暗号化方式の使用を拒否することを示す拒否通知と、のいずれかを、前記サービス提供装置から受信する受信部と、前記方式通知が受信される場合に、前記サービス提供装置との間に、前記特定の暗号化方式に従う暗号通信を確立する第１確立部と、確立済の前記特定の暗号化方式に従う暗号通信を用いて、前記サービス提供装置との間で、前記特定のサービスに関する対象データの通信を行う第１通信部と、前記拒否通知が受信される場合に、前記中継装置との間に、暗号通信を確立する第２確立部と、前記中継装置との間に確立済の暗号通信を用いて、前記中継装置を介して、前記サービス提供装置との間で、前記対象データの通信を行う第２通信部と、を備える、通信装置。
【００１０】
上記構成によれば、通信装置が使用可能な暗号化方式の使用がサービス提供装置に拒否される場合であっても、通信装置は、中継装置を介した暗号通信によって、サービス提供装置との間で、特定のサービスに関する対象データの通信を行うことができる。この結果、通信装置が使用可能な暗号化方式の使用がサービス提供装置に拒否される場合であっても、通信装置とサービス提供装置との間で、暗号通信が可能な状態を維持することができる。
【００１１】
［適用例１１］中継装置のためのコンピュータプログラムであって、通信装置との間に、暗号通信を確立する第１確立機能と、前記通信装置との間の暗号通信の確立後に、特定のサービスを提供するサービス提供装置に対して、前記中継装置が使用可能な複数個の暗号化方式を示す方式情報を送信する送信機能であって、前記方式情報に含まれる１個以上の暗号化方式は、前記通信装置が使用可能な１個以上の暗号化方式とは異なる暗号化方式を含む、前記送信機能と、前記方式情報の送信に対する応答として、前記方式情報に含まれる１個以上の暗号化方式のうちの使用すべき特定の暗号化方式を示す方式通知を、前記サービス提供装置から受信する受信機能と、前記方式通知が受信される場合に、前記サービス提供装置との間に、前記特定の暗号化方式に従う暗号通信を確立する第２確立機能と、前記通信装置との間に確立済の暗号通信と、前記サービス提供装置との間に確立済の暗号通信と、を用いて、前記通信装置と前記サービス提供装置との間の前記対象データの通信を中継する中継機能と、をコンピュータに実現させる、コンピュータプログラム。
【００１２】
上記構成によれば、中継装置は、通信装置との間に暗号通信を確立するとともに、サービス提供サーバ３００との間に暗号通信を確立する。従って、通信装置が使用可能な暗号化方式の使用がサービス提供装置に拒否される場合であっても、中継装置を介した暗号通信によって、サービス提供装置との間で、特定のサービスに関する対象データの通信を行うことができる。この結果、通信装置が使用可能な暗号化方式の使用がサービス提供装置に拒否される場合であっても、通信装置とサービス提供装置との間で、暗号通信が可能な状態を維持することができる。
【００１３】
なお、本発明は、種々の形態で実現することが可能であり、例えば、通信装置と、前記通信装置に対して特定のサービスを提供するサービス提供装置と、の通信を中継する中継装置、通信装置と前記通信装置に対して特定のサービスを提供するサービス提供装置と、の通信方法、通信装置のためのコンピュータプログラム、上記のコンピュータプログラムを記録した記録媒体（例えば、一時的ではない記録媒体）、等の形態で実現することができる。
【図面の簡単な説明】
【００１４】
【図１】本実施例としてのシステム１０００の構成を示すブロック図である。
【図２】システム１０００内の装置が有する情報の概念図である。
【図３】システム１０００の通信の一例を示すシーケンス図である。
【図４】システム１０００の通信の一例を示すシーケンス図である。
【図５】システム１０００の通信の一例を示すシーケンス図である。
【図６】使用暗号化方式の選択のフローチャートである。
【発明を実施するための形態】
【００１５】
Ａ．実施例：
Ａ−１：システム１０００の構成
次に、実施の形態を実施例に基づき説明する。図１は、本実施例としてのシステム１０００の構成を示すブロック図である。図２は、システム１０００内の装置が有する情報の概念図である。
【００１６】
システム１０００は、通信装置としてのデバイス１００と、中継サーバ２００と、サービス提供サーバ３００と、を備える。デバイス１００は、ＬＡＮ（Local Area Network）７０に接続されている。ＬＡＮ７０は、インターネット８０に接続されている。中継サーバ２００、および、サービス提供サーバ３００は、インターネット８０に接続されている。この結果、デバイス１００と中継サーバ２００、および、中継サーバ２００とサービス提供サーバ３００は、ＬＡＮ７０やインターネット８０を介して、互いに通信することができる。
【００１７】
デバイス１００は、画像の印刷や画像のスキャンなどの画像処理を実行する、いわゆる複合機である。デバイス１００は、複合機に限らず、スキャナ、プリンタ、デジタルカメラなどの他の画像処理デバイスであってもよく、携帯端末装置、パーソナルコンピュータなどの汎用デバイスであっても良い。デバイス１００は、ＣＰＵ１１０と、ハードディスクドライブやＥＥＰＲＯＭなどの不揮発性記憶装置１２０と、ＲＡＭなどの揮発性記憶装置１３０と、所定の方式（例えば、レーザ方式や、インクジェット方式）で画像を印刷するプリンタ部１４０と、光学的に対象物（例えば、紙の文書）を読み取ることによってスキャンデータを生成するスキャナ部１５０と、タッチパネルやボタンなどの操作部１６０と、タッチパネルと重畳された液晶パネルなどの表示部１７０と、ネットワークインタフェース（ＩＦ）１８０と、を備えている。ネットワークＩＦ１８０は、例えば、イーサネット（登録商標）規格に準拠したインタフェースであり、ＬＡＮ７０に接続するために用いられる。
【００１８】
不揮発性記憶装置１２０は、コンピュータプログラムＰＧ１と、サーバ情報ＳＩと、暗号化方式リストＣＬ１と、を格納している。揮発性記憶装置１３０には、ＣＰＵ１１０が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域１３１が設けられている。
【００１９】
コンピュータプログラムＰＧ１は、デバイス１００の出荷時に、予め不揮発性記憶装置１２０に記憶される形態で提供される。コンピュータプログラムＰＧ１は、インターネット８０を介してデバイス１００に接続されたサーバからダウンロードされる形態で提供されても良く、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどに格納された形態で提供されても良い。
【００２０】
ＣＰＵ１１０は、コンピュータプログラムＰＧ１を実行することにより、デバイス１００のコントローラーとして機能する。たとえば、ＣＰＵ１１０は、プリンタ部１４０やスキャナ部１５０を制御して印刷やスキャンを実行する。また、ＣＰＵ１１０は、中継サーバ２００を介さずに、あるいは、中継サーバ２００を介して、サービス提供サーバ３００と通信を行うサーバ通信機能を実現できる。詳細は後述するが、本実施例のサーバ通信機能は、サービス提供サーバ３００に対して、デバイス１００において生成したスキャンデータを送信するために実行される。
【００２１】
サーバ情報ＳＩは、サーバ通信機能において通信すべきサーバの情報である。サーバ情報ＳＩは、デバイス１００が、通信を行うべき中継サーバ２００およびサービス提供サーバ３００を示す情報、具体的には、ＵＲＬ（Uniform Resource Locatorの略）と、サービス提供サーバ３００にログインするための認証情報（ユーザ名およびパスワード）を含む。
【００２２】
暗号化方式リストＣＬ１は、デバイス１００が使用可能な１個以上の暗号化方式を示すリストである。暗号化方式は、デバイス１００と、デバイス１００とネットワークを介して接続された外部装置（例えば、中継サーバ２００やサービス提供サーバ３００）と、の間の暗号通信の方式である。暗号化方式は、暗号通信に用いられる複数項目のアルゴリズムを並べて示す暗号化スイートによって定義される。
【００２３】
図２（Ａ）には、暗号化方式リストＣＬ１の一例が示されている。暗号化方式リストＣＬ１は、暗号化方式をそれぞれ示す複数個の暗号化スイートを含んでいる。１個の暗号化方式に含まれる複数項目のアルゴリズムは、鍵交換アルゴリズムと、認証アルゴリズムと、暗号化アルゴリズムと、ハッシュアルゴリズムと、を含んでいる。
【００２４】
鍵交換アルゴリズムは、通信データの暗号化に用いられる暗号化鍵（共有鍵）を、通信を行う２個の装置間で交換するためのアルゴリズムである。鍵交換アルゴリズムには、例えば、「ＲＳＡ」、「ＤＨＥ（Diffie-Hellman key Exchangeの略）」、「ＥＣＤＨＥ（Elliptic Curve Diffie-Hellman key Exchangeの略）」が用いられる。
【００２５】
ＲＳＡ鍵交換アルゴリズムは、第１装置が、第２装置の公開鍵を用いて共有鍵を暗号化した暗号データを第２装置に送信するプロセスを含む。第２装置は、自信の秘密鍵を用いて、暗号データを復号することによって、共有鍵を取得する。第３者は、秘密鍵を持っていないので、盗聴した暗号通信を復号することはできない。しかし、第３者は、将来、秘密鍵を入手できた場合、それまでに盗聴した暗号通信を復号して見ることができる。したがって、ＲＳＡ鍵交換アルゴリズムは、いわゆるＰＦＳ（Perfect Forward Secrecyの略）を達成できない。
【００２６】
一方、ＤＨＥ鍵交換アルゴリズムや、ＥＣＤＨＥ鍵交換アルゴリズムでは、セッション毎に第１装置と第２装置のそれぞれによって生成されるランダムなパラメータを用いて、共有鍵の交換を行う。これらのパラメータは、漏洩しても別のセッションでの通信のセキュリティには何ら影響を及ぼさない。したがって、ＤＨＥ鍵交換アルゴリズムや、ＥＣＤＨＥ鍵交換アルゴリズムでは、いわゆるＰＦＳを達成できる。
【００２７】
この観点からは、ＤＨＥ鍵交換アルゴリズムやＥＣＤＨＥ鍵交換アルゴリズムは、ＲＳＡ鍵交換アルゴリズムよりセキュリティレベルが高いということができる。
【００２８】
認証アルゴリズムは、通信を行う２個の装置のうち、少なくとも一方の装置の認証を行うためのアルゴリズムである。認証アルゴリズムには、例えば、「ＲＳＡ」、「ＤＳＡ（Digital Signature Algorithmの略）」が用いられる。
【００２９】
暗号化アルゴリズムは、交換された暗号化鍵（共有鍵）を用いて通信データを暗号化するためのアルゴリズムである。暗号化アルゴリズムには、例えば、「ＤＥＳ（Data Encryption Standardの略）」、「３ＤＥＳ（Triple Data Encryption Standardの略）」、「ＡＥＳ（Advanced Encryption Standardの略）」が用いられる。なお、暗号化アルゴリズムを示す各アルファベットの末尾に、暗号化鍵の鍵長を示す数字（例えば、１２８、２５６）を付加して、例えば、ＤＥＳ１２８、ＤＥＳ２５６と表現する。同じ種類の暗号化アルゴリズム間では、鍵長が長いほどセキュリティレベルが高い。
【００３０】
ハッシュアルゴリズムは、データのダイジェストを生成するためのアルゴリズムである。ハッシュアルゴリズムは、他のアルゴリズムの少なくとも一つで用いられる。ハッシュアルゴリズムは、例えば、認証アルゴリズムにおいて、署名データの生成や、電子証明書の検証などに用いられる。ハッシュアルゴリズムには、例えば、「ＳＨＡ（Secure Hash Algorithmの略）１」、「ＳＨＡ２５６」、「ＳＨＡ５１２」などが用いられる。セキュリティレベルは、「ＳＨＡ５１２」＞「ＳＨＡ２５６」＞「ＳＨＡ１」の順に高い。
【００３１】
ここで、本実施例では、図２に示すように、４種類の暗号化方式Ａ〜Ｄが用いられる。図２には、各暗号化方式Ａ〜Ｄを示す暗号化スイートが示されている。これらの暗号化スイートから解るように、暗号化方式Ａの鍵交換−認証−暗号化−ハッシュのアルゴリズムの組み合わせは、「ＲＳＡ」−「ＲＳＡ」−「ＡＥＳ１２８」−「ＳＨＡ２５６」である。そして、暗号化方式Ｂのアルゴリズムの組み合わせは、「ＲＳＡ」−「ＲＳＡ」−「ＡＥＳ２５６」−「ＳＨＡ２５６」である。暗号化方式Ｃのアルゴリズムの組み合わせは、「ＤＨＥ」−「ＲＳＡ」−「ＡＥＳ１２８」−「ＳＨＡ１」である。のアルゴリズムの組み合わせは、「ＤＨＥ」−「ＲＳＡ」−「ＡＥＳ２５６」−「ＳＨＡ１」である。
【００３２】
図２（Ａ）に示すように、暗号化方式リストＣＬ１は、暗号化方式Ａを示す暗号化スイートと、暗号化方式Ｂを示す暗号化スイートと、を含む。すなわち、デバイス１００は、２個の暗号化方式Ａ、Ｂを使用可能である。図２（Ａ）に示すように、暗号化方式Ａ、Ｂは、鍵交換アルゴリズムとして、「ＲＳＡ」を採用しており、よりセキュリティレベルが高い「ＤＨＥ」や「ＥＣＤＨＥ」を採用していない。
【００３３】
中継サーバ２００（図１）は、デバイス１００のベンダによって提供されるサーバである。中継サーバ２００は、詳細は後述するが、デバイス１００を含む複数個のデバイスと、サービス提供サーバ３００を含む複数個のサービス提供サーバと、の間の通信を中継する。
【００３４】
中継サーバ２００は、ＣＰＵ２１０と、ハードディスクドライブなどの不揮発性記憶装置２２０と、ＲＡＭなどの揮発性記憶装置２３０と、インターネット８０と接続するためのネットワークＩＦ２８０と、を備えている。
【００３５】
不揮発性記憶装置２２０は、コンピュータプログラムＰＧ２と、暗号化方式リストＣＬ２と、登録テーブルＣＴと、参照情報ＲＩと、を格納している。揮発性記憶装置２３０には、ＣＰＵ２１０が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域２３１が設けられている。
【００３６】
コンピュータプログラムＰＧ２は、インターネット８０を介して接続されるベンダの計算機からアップロードされる形態で提供されても良く、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどに格納された形態で提供されても良い。ＣＰＵ２１０は、コンピュータプログラムＰＧ２を実行することによって、中継サーバ２００のコントローラーとしての機能を実現する。これらの機能の詳細は、後述する。
【００３７】
暗号化方式リストＣＬ２は、中継サーバ２００が使用可能な複数個の暗号化方式を示すリストである。図２（Ｂ）に示すように、暗号化方式リストＣＬ２には、暗号化方式リストＣＬ１に示される暗号化方式Ａ、Ｂを示す暗号化スイートに加えて、暗号化方式リストＣＬ１に示される暗号化方式とは異なる暗号化方式Ｃ、Ｄを示す暗号化スイートを含む。すなわち、中継サーバ２００は、異なる４個の暗号化方式Ａ〜Ｄを使用可能である。中継サーバ２００は、デバイス１００だけでなく、図示しない複数個のデバイス、例えば、中継サーバ２００を提供するベンダが販売している複合機、スキャナ、プリンタとの通信を行う。また、中継サーバ２００は、サービス提供サーバ３００や、図示しない複数個のサービス提供サーバとの通信を行う。このために、中継サーバ２００は、これらのデバイスやサービス提供サーバが使用し得る多数の暗号化方式を使用できることが好ましい。
【００３８】
登録テーブルＣＴは、中継サーバ２００が暗号通信を確立したことがあるサービス提供サーバの情報が登録されるテーブルである。図２（Ｃ）に示すように、登録テーブルＣＴに登録される１個のエントリＥ１には、サービス提供サーバを示す識別子としてのＵＲＬと、使用暗号化方式と、が関連付けられている。使用暗号化方式は、サービス提供サーバとの間で確立された暗号通信にて用いられた暗号化方式である。
【００３９】
参照情報ＲＩは、暗号化方式に含まれる複数項目のアルゴリズムのうちの特定のアルゴリズムについて、セキュリティレベルの順序を示す情報である。図２（Ｄ）の参照情報ＲＩでは、暗号化アルゴリズムについて、「ＡＥＳ」＞「３ＤＥＳ」＞「ＤＥＳ」の順に、セキュリティレベルが高いこと示されている。
【００４０】
サービス提供サーバは、クライアント（例えば、デバイス１００）に対して、特定のサービスを提供するサーバである。例えば、サービス提供サーバ３００は、画像データを保存することができる保存サービスを提供する。保存サービスは、例えば、クライアントから送信されたデータを保存するストレージサービスや、クライアントから送信されたデータの保存と公開とを行うソーシャルネットワークサービスを含む。保存サービスは、具体的には、「Evernote（登録商標）」、「Dropbox（登録商標）」、「Facebook（登録商標）」などの公知のサービスを含む。
【００４１】
サービス提供サーバ３００は、ＣＰＵ３１０と、ハードディスクドライブなどの不揮発性記憶装置３２０と、ＲＡＭなどの揮発性記憶装置３３０と、インターネット８０と接続するためのネットワークＩＦ３８０と、を備えている。
【００４２】
不揮発性記憶装置３２０は、コンピュータプログラムＰＧ３と、暗号化方式リストＣＬ３と、を格納している。揮発性記憶装置３３０には、ＣＰＵ３１０が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域３３１が設けられている。
【００４３】
コンピュータプログラムＰＧ３は、インターネット８０を介して接続されるサービス提供サーバ３００の運営者の計算機からアップロードされる形態で提供されても良く、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどに格納された形態で提供されても良い。ＣＰＵ３１０は、コンピュータプログラムＰＧ３を実行することによって、サービス提供サーバ３００のコントローラーとしての機能を実現する。これらの機能の詳細は、後述する。
【００４４】
暗号化方式リストＣＬ３は、サービス提供サーバ３００が使用可能な１個以上の暗号化方式を示すリストである。図２（Ｅ）に示すように、暗号化方式リストＣＬ３は、２個の暗号化方式Ｃ、Ｄを２個の暗号化スイートを含む。すなわち、サービス提供サーバ３００は、２個の暗号化方式Ｃ、Ｄを使用可能である。図２（Ｅ）に示すように、暗号化方式Ｃ、Ｄは、鍵交換アルゴリズムとして、「ＤＨＥ」を採用しており、よりセキュリティレベルが低い「ＲＳＡ」を採用していない。
【００４５】
Ａ−２：システム１０００の動作
Ａ−２−１．通信プロトコル
本実施例において、デバイス１００を含む複数個のデバイスと、中継サーバ２００と、の間の通信のプロトコルについて説明する。各デバイスと、中継サーバ２００と、の間の通信は、デバイスおよび中継サーバ２００のそれぞれのアプリケーション層のプログラム（以下、単に、アプリケーションと呼ぶ）に従って、各デバイスをクライアント、中継サーバ２００をサーバとして、行われる。各デバイスと中継サーバ２００のアプリケーションは、アプリケーション層のプロトコルであるＨＴＴＰ（Hypertext Transfer Protocolの略）に従う通信を行う。アプリケーションの下位のトランスポート層の通信は、ＴＣＰ（Transmission Control Protocolの略）に従って行われる。そして、アプリケーション層のＨＴＴＰより下位で、トランスポート層のＴＣＰより上位の層で、ＳＳＬ／ＴＬＳ（Secure Sockets Layer／Transport Layer Securityの略）に従う通信によって、暗号化されたセキュアな通信路（以下、単に、暗号通信とも呼ぶ）が確立される。
【００４６】
本実施例において、中継サーバ２００と、サービス提供サーバ３００を含むサービス提供サーバと、の間の通信は、中継サーバ２００をクライアント、サービス提供サーバをサーバとして、行われる。中継サーバ２００とサービス提供サーバとの間の通信は、上述したデバイスと中継サーバ２００との間の通信と同じプロトコル、すなわち、ＨＴＴＰと、ＴＣＰと、ＴＣＰとＨＴＴＰとの間の層のＳＳＬ／ＴＬＳと、に従って行われる。
【００４７】
すなわち、デバイスと中継サーバ２００との間と、中継サーバ２００とサービス提供サーバとの間と、において、アプリケーションデータ（例えば、後述する画像データ）の送受信は、ＳＳＬ／ＴＬＳに従って確立された暗号通信を用いて、行われる。これによって、ユーザのアプリケーションデータのセキュリティが保たれている。
【００４８】
Ａ−２−２：システム１０００の通信
デバイス１００、中継サーバ２００、サービス提供サーバ３００間の通信を具体例として、システム１０００の動作について説明する。図３〜図５は、システム１０００の通信の一例を示すシーケンス図である。図３〜図５の通信は、デバイス１００が、原稿を光学的に読み取ることによって、原稿を示す画像データを生成し、該画像データをサービス提供サーバ３００に送信（アップロード）するために行われる。ユーザは、例えば、デバイス１００のスキャナ部１５０の原稿台に、原稿を載置したうえで、操作部１６０を介して、開始指示を入力する。図３〜図５の通信は、デバイス１００のＣＰＵ１１０が、ユーザからの開始指示を受け付けたときに開始される。
【００４９】
まず、デバイス１００は、中継サーバ２００を介さずに、サービス提供サーバ３００にアクセスして、サービス提供サーバ３００との間に、暗号通信を確立することを試みる。具体的には、Ｓ１０にて、デバイス１００のＣＰＵ１１０は、通信開始要求を、サービス提供サーバ３００に対して送信する。送信先のサービス提供サーバ３００は、上述したサーバ情報ＳＩに含まれるＵＲＬに基づいて特定される。通信開始要求には、図２（Ａ）の暗号化方式リストＣＬ１が含められる。
【００５０】
サービス提供サーバ３００が暗号化方式リストＣＬ１を受信すると、Ｓ１２にて、サービス提供サーバ３００のＣＰＵ３１０は、暗号化方式リストＣＬ１に示される複数個の暗号化方式の中から、使用すべき１個の暗号化方式（以下、使用暗号化方式と呼ぶ。）を選択する。具体的には、暗号化方式リストＣＬ１に示される暗号化方式であって、かつ、サービス提供サーバ３００自身も使用できる暗号化方式（すなわち、図２（Ｅ））の暗号化方式リストＣＬ３に示される暗号化方式のうちの１つ）が、使用暗号化方式として、選択される。
【００５１】
なお、このＳ１２において、使用暗号化方式の選択は、成功する場合と、失敗する場合とがある。例えば、デバイス１００の暗号化方式リストＣＬ１が、図２（Ａ）に示すように、暗号化方式Ａ、Ｂのみを含み、サービス提供サーバ３００の暗号化方式リストＣＬ３が、図２（Ｅ）に示すように、暗号化方式Ｃ、Ｄのみを含む場合を考える。この場合には、暗号化方式リストＣＬ１に示される暗号化方式であって、かつ、サービス提供サーバ３００自身も使用できる暗号化方式は、存在しないので、使用暗号化方式の選択は失敗する。
【００５２】
仮に、デバイス１００の暗号化方式リストＣＬ１が、図２（Ａ）に示すものとは異なり、暗号化方式Ｃを含んでいる場合には、暗号化方式リストＣＬ１に示される暗号化方式であって、かつ、サービス提供サーバ３００自身も使用できる暗号化方式として、暗号化方式Ｃが存在するので、使用暗号化方式の選択は、成功する。
【００５３】
使用暗号化方式の選択に、成功した場合には（Ｓ１４：ＹＥＳ）、Ｓ１６にて、ＣＰＵ３１０は、通信開始要求に対する応答として、使用暗号化方式（例えば、暗号化方式Ｃ）の通知を、デバイス１００に対して送信する。
【００５４】
デバイス１００が使用暗号化方式の通知を受信すると、Ｓ１８にて、通信確立処理が行われる。すなわち、Ｓ１８では、デバイス１００と、サービス提供サーバ３００との間で、使用暗号化方式を用いた暗号通信を確立するための通信が実行される。
【００５５】
なお、ここまでのＳ１０〜Ｓ１８の処理および通信は、ＳＳＬ／ＴＬＳに従って、デバイス１００とサービス提供サーバ３００との双方のＳＳＬ／ＴＬＳレイヤにて行われる。
【００５６】
Ｓ２０では、ＣＰＵ１１０は、スキャン処理を実行する。すなわち、Ｓ２０では、ＣＰＵ３１０は、スキャナ部１５０を制御して、原稿台に載置された原稿を光学的に読み取ることによって、原稿を示す画像データを生成する。
【００５７】
Ｓ２２では、ＣＰＵ１１０は、Ｓ１８にて確立済の暗号通信を用いて、中継サーバ２００を介さずに、生成済の画像データを、サービス提供サーバ３００に対して送信（アップロード）する一連の通信を実行する。一連の通信は、詳細の説明は省略するが、例えば、サービス提供サーバ３００にログインするための認証情報の送信、および、その後の画像データの送信を含む。
【００５８】
サービス提供サーバ３００が画像データを受信すると、Ｓ２４にて、ＣＰＵ３１０は、不揮発性記憶装置３２０内のユーザに割り当てられた記憶領域に、該画像データを保存する。Ｓ２６では、ＣＰＵ３１０は、画像データの保存が完了したことを示す保存完了の通知を、デバイス１００に対して送信する。なお、Ｓ２０〜Ｓ２６の処理および通信は、デバイス１００とサービス提供サーバ３００との双方のアプリケーションによって行われる。
【００５９】
デバイス１００が保存完了の通知を受信すると、通信は終了される。ＣＰＵ１１０は、例えば、表示部１７０を介して、画像データのサービス提供サーバ３００への保存の完了をユーザに通知して、処理を終了する。
【００６０】
次に、Ｓ１２にて、サービス提供サーバ３００のＣＰＵ３１０が、使用暗号化方式の選択に失敗した場合について説明する。使用暗号化方式の選択に、失敗した場合には（Ｓ１４：ＮＯ）、図４のＳ３０にて、ＣＰＵ３１０は、通信拒否の通知を、デバイス１００に対して送信する。通信拒否の通知は、デバイス１００から受信された暗号化方式リストＣＬ１に含まれる暗号化方式の使用を拒否することを示す通知、換言すれば、中継サーバ２００とデバイス１００とは、直接には通信ができないことを示す通知である。通信拒否の通知の送受信は、ＳＳＬ／ＴＬＳレイヤにて行われる。
【００６１】
デバイス１００が、通信拒否の通知を受信すると、Ｓ３２にて、ＣＰＵ１１０は、通信開始要求を、中継サーバ２００に対して送信する。送信先の中継サーバ２００は、上述したサーバ情報ＳＩに含まれるＵＲＬに基づいて特定される。通信開始要求には、図２（Ａ）の暗号化方式リストＣＬ１が含められる。中継サーバ２００が暗号化方式リストＣＬ１を受信すると、Ｓ３４にて、中継サーバ２００のＣＰＵ２１０は、暗号化方式リストＣＬ１に示される複数個の暗号化方式の中から、１個の使用暗号化方式を選択する。
【００６２】
具体的には、暗号化方式リストＣＬ１に示される暗号化方式であって、かつ、中継サーバ２００自身も使用できる暗号化方式（すなわち、図２（Ｂ）の暗号化方式リストＣＬ２に示される暗号化方式のうちの１つ）が、使用暗号化方式として、選択される。
【００６３】
例えば、デバイス１００の暗号化方式リストＣＬ１が、図２（Ａ）に示すように、暗号化方式Ａ、Ｂのみを含み、中継サーバ２００の暗号化方式リストＣＬ２が、図２（Ｂ）に示すように、暗号化方式Ａ〜Ｄを含む場合を考える。この場合には、例えば、両方のリストに共通して含まれる暗号化方式Ａ、Ｂのいずれかが使用暗号化方式として選択される。中継サーバ２００は、デバイス１００のベンダによって運営されており、該ベンダは、中継サーバ２００が、サポートすべき全てのベンダ製のデバイスと通信できるように、中継サーバ２００が使用可能な暗号化方式を設定している。このために、Ｓ３４では、中継サーバ２００において、使用暗号化方式の選択が失敗することは想定されない。なお、Ｓ３４での使用暗号化方式の選択については、さらに、詳細を後述する。
【００６４】
Ｓ３６では、ＣＰＵ２１０は、Ｓ３２での通信開始要求に対する応答として、使用暗号化方式、本実施例では、例えば、暗号化方式Ａの通知を、デバイス１００に対して送信する。
【００６５】
デバイス１００が使用暗号化方式の通知を受信すると、Ｓ３８にて、デバイス１００と、中継サーバ２００と、の間で通信確立処理が行われる。すなわち、Ｓ３８では、デバイス１００と、サービス提供サーバ３００との間で、使用暗号化方式を用いた暗号通信を確立するための通信が実行される。
【００６６】
なお、ここまでのＳ３２〜Ｓ３８の処理および通信は、デバイス１００と中継サーバ２００との双方のＳＳＬ／ＴＬＳレイヤにて行われる。
【００６７】
Ｓ４０では、ＣＰＵ１１０は、確立された暗号通信を用いて、サービス提供サーバ３００との通信要求を、中継サーバ２００に対して送信する。通信要求には、中継サーバ２００がサービス提供サーバ３００との通信を確立するための要求と、サーバ情報ＳＩに含まれるサービス提供サーバ３００のＵＲＬと、が含まれる。これらの情報によって、中継サーバ２００のＣＰＵ２１０は、後述する通信開始要求をサービス提供サーバ３００に送信する際に、デバイス１００が接続を望むサービス提供サーバ（例えば、サービス提供サーバ３００）を指定して通信開始要求を送信することができる。Ｓ４２では、ＣＰＵ１１０は、後述する通信確立の通知を受信するためのポーリングの送信を、定期的に（例えば、５秒間隔）中継サーバ２００に対して送信する。なお、Ｓ４０とＳ４２の送信は、ＨＴＴＰリクエストの送信として行われる。
【００６８】
中継サーバ２００が、サービス提供サーバ３００のＵＲＬを受信すると、Ｓ４３にて、ＣＰＵ２１０は、デバイス１００のグローバルＩＰアドレスを、サービス提供サーバ３００のＵＲＬと関連付けて、所定のテーブル（図示省略）に登録する。グローバルＩＰアドレスは、例えば、Ｓ４０で受信された通信要求（ＨＴＴＰリクエスト）のヘッダに含まれている。これによって、ＣＰＵ２１０は、次にＳ５６にて通信開始要求を受信した時点で、通信開始要求の送信元のデバイス（例えば、デバイス１００）が利用するサービス提供サーバ（例えば、サービス提供サーバ３００）を、認識することができる。続くＳ４４にて、ＣＰＵ２１０は、通信開始要求を、サービス提供サーバ３００に対して送信する。送信先のサービス提供サーバ３００は、デバイス１００から受信されたＵＲＬに基づいて特定される。通信開始要求には、図２（Ｂ）の暗号化方式リストＣＬ２が含められる。サービス提供サーバ３００が、暗号化方式リストＣＬ２を受信すると、Ｓ４６にて、サービス提供サーバ３００のＣＰＵ３１０は、暗号化方式リストＣＬ２に示される複数個の暗号化方式の中から、１個の使用暗号化方式を選択する。具体的には、暗号化方式リストＣＬ２に示される暗号化方式であって、かつ、サービス提供サーバ３００自身も使用できる暗号化方式（すなわち、図２（Ｅ））の暗号化方式リストＣＬ３に示される暗号化方式のうちの１つ）が、使用暗号化方式として、選択される。
【００６９】
例えば、中継サーバ２００の暗号化方式リストＣＬ２が、図２（Ｂ）に示すように、暗号化方式Ａ〜Ｄを含み、サービス提供サーバ３００の暗号化方式リストＣＬ３が、図２（Ｅ）に示すように、暗号化方式Ｃ、Ｄのみを含む場合を考える。この場合には、例えば、両方のリストに共通して含まれる暗号化方式Ｃ、Ｄのいずれか（本実施例では、暗号化方式Ｄとする）が使用暗号化方式として選択される。中継サーバ２００を運営するベンダは、サポートすべきベンダ製のデバイスが接続を望む可能性があるサービス提供サーバとできる限り通信できるように、中継サーバ２００が使用可能な暗号化方式を設定している。このために、Ｓ４６では、サービス提供サーバ３００において、使用暗号化方式の選択が失敗することは想定されない。
【００７０】
Ｓ４８では、ＣＰＵ２１０は、通信開始要求に対する応答として、使用暗号化方式、本実施例では、例えば、暗号化方式Ｄの通知を、中継サーバ２００に対して送信する。
【００７１】
デバイス１００が使用暗号化方式の通知を受信すると、Ｓ４９にて、デバイス１００と、サービス提供サーバ３００と、の間で通信確立処理が行われる。この結果、デバイス１００と、サービス提供サーバ３００との間で、使用暗号化方式を用いた暗号通信が確立される。
【００７２】
なお、ここまでのＳ４４〜Ｓ４９の処理および通信は、中継サーバ２００とサービス提供サーバ３００の双方のＳＳＬ／ＴＬＳレイヤにて行われる。
【００７３】
Ｓ５０では、ＣＰＵ２１０は、サービス提供サーバ３００との間で確立された暗号通信に用いられた使用暗号化方式、換言すれば、Ｓ４８で受信される通知に示される使用暗号化方式を記憶する。具体的には、該使用暗号方式は、サービス提供サーバ３００のＵＲＬと関連づけて、登録テーブルＣＴに登録される。
【００７４】
Ｓ５１では、ＣＰＵ２１０は、サービス提供サーバ３００との間で暗号通信が確立されたことを示す通信確立の通知を、デバイス１００に対して送信する。通信確立の通知は、Ｓ４２のポーリングとして送信されるＨＴＴＰリクエストに対する応答（すなわち、ＨＴＴＰレスポンス）として、送信される。
【００７５】
デバイス１００が通信確立の通知を受信すると、ＣＰＵ１１０は、デバイス１００と中継サーバ２００との間で、現在、確立されている通信を切断する。例えば、デバイス１００が主体となって、ＴＣＰレイヤまたはＳＳＬ／ＴＬＳレイヤでの論理的な通信路が切断される。なお、変形例としては、中継サーバ２００が主体となって、論理的な通信路の切断が行われても良い。Ｓ５３では、中継サーバ２００のＣＰＵ２１０は、中継サーバ２００とサービス提供サーバ３００との間で、現在、確立されている通信を切断する。例えば、中継サーバ２００が主体となって、ＴＣＰレイヤまたはＳＳＬ／ＴＬＳレイヤでの論理的な通信路が切断される。
【００７６】
ここで、一旦、デバイス１００と中継サーバ２００、および、中継サーバ２００とサービス提供サーバ３００との間の通信を切断するのは、比較的時間を要する後述するスキャン処理が行われている間、これらの通信が確立された状態を維持する必要がないためである。また、別の理由として、これらの通信が確立された状態としておくのは、セキュリティ上好ましくないからでもある。
【００７７】
Ｓ５４では、ＣＰＵ２１０は、図３のＳ２０と同様に、スキャン処理を実行する。すなわち、スキャナ部１５０が、原稿台に載置された原稿を光学的に読み取ることによって、原稿を示す画像データが生成される。
【００７８】
画像データの生成後に、デバイス１００と中継サーバ２００との間、および、中継サーバ２００とサービス提供サーバ３００との間の通信の再確立が行われる。具体的には、図５のＳ５６〜Ｓ７３の処理が、図４のＳ３２〜Ｓ４９の処理と同様に行われる。この結果、デバイス１００と中継サーバ２００との間には、例えば、暗号化方式Ａを用いた暗号通信が確立される。中継サーバ２００とサービス提供サーバ３００との間には、例えば、暗号化方式Ｄを用いた暗号通信が確立される。Ｓ７４では、中継サーバ２００は、通信確立の通知を、デバイス１００に対して送信する。
【００７９】
デバイス１００が、Ｓ７４の通信確立の通知を受信すると、Ｓ７６では、ＣＰＵ１１０は、生成済の画像データをサービス提供サーバ３００に対して送信（アップロード）する一連の通信を、再確立済の暗号通信を用いて中継サーバ２００に対して実行する。一連の通信は、上述したように、例えば、認証情報の送信、および、その後の画像データの送信を含む。
【００８０】
Ｓ７８では、中継サーバ２００のＣＰＵ２１０は、デバイス１００とサービス提供サーバ３００との間の一連の通信を中継する。例えば、ＣＰＵ２１０は、認証情報および画像データの受信完了を示す通知をデバイス１００に対して送信し（図示省略）、その後に、Ｓ７８にて、デバイス１００から送信された認証情報や画像データを、そのまま、サービス提供サーバ３００との間に再確立済の暗号通信を用いてサービス提供サーバ３００に対して送信する。
【００８１】
サービス提供サーバ３００が画像データを受信すると、Ｓ８０にて、ＣＰＵ３１０は、図３のＳ２４と同様に、不揮発性記憶装置３２０内に該画像データを保存する。Ｓ８２では、ＣＰＵ３１０は、図３のＳ２６と同様の保存完了の通知を、中継サーバ２００に対して送信する。Ｓ８４では、ＣＰＵ２１０は、サービス提供サーバ３００から受信した保存完了の通知を、そのまま、デバイス１００に対して送信する。なお、保存完了の通知は、例えば、デバイス１００が、上述のデータの受信完了を示す通知の受信後に行うポーリング（図示省略）に対する応答として、デバイス１００に対して送信される。変形例としては、保存完了の通知は、Ｓ７６で中継サーバ２００に対して送信される認証情報および画像データに対する応答として、デバイス１００に対して送信されても良い。デバイス１００が保存完了の通知を受信すると、通信は終了される。なお、Ｓ７６〜Ｓ８４の通信および処理は、デバイス１００、中継サーバ２００、および、サービス提供サーバ３００のアプリケーションによって行われる。
【００８２】
Ａ−２−３：デバイス１００との間の使用暗号化方式の選択
次に、図４のＳ３４および図５のＳ５８において、中継サーバ２００のＣＰＵ２１０によって実行される使用暗号化方式の選択については、さらに、詳細を後述する。Ｓ３４、Ｓ５８では、デバイス１００と中継サーバ２００との間の暗号通信で用いられる使用暗号化方式が選択される。図６は、使用暗号化方式の選択のフローチャートである。
【００８３】
Ｓ１１０では、ＣＰＵ２１０は、通信予定のサービス提供サーバと中継サーバ２００との間で用いられる使用暗号化方式が登録済みであるか否かを判断する。通信予定のサービス提供サーバ３００は、図４のＳ４０にて、デバイス１００から受信されたＵＲＬによって特定される。具体的には、ＣＰＵ２１０は、例えば、Ｓ５８の前のＳ５６にて受信される通信開始要求のヘッダに含まれるデバイス１００のグローバルＩＰアドレスを取得する。ＣＰＵ２１０は、上述した図４のＳ４３にてグローバルＩＰアドレスと関連付けて記録されたＵＲＬを取得する。これによって、通信開始要求の送信元のデバイス（例えば、デバイス１００）が利用するサービス提供サーバ（例えば、サービス提供サーバ３００）のＵＲＬが取得される。そして、ＣＰＵ２１０は、該ＵＲＬが、登録テーブルＣＴに登録済みであるか否かを判断し、該ＵＲＬが登録済みである場合には、通信予定のサービス提供サーバと中継サーバ２００との間で用いられる使用暗号化方式が登録済みであると判断する。
【００８４】
この時点までに、中継サーバ２００が、サービス提供サーバ３００との間で通信を確立したことがない場合には、登録テーブルＣＴに、サービス提供サーバ３００の使用暗号化方式が、登録されていない。この場合には、使用暗号化方式は、登録済みでないと判断される。一方、この時点までに、中継サーバ２００が、サービス提供サーバ３００との間で通信を確立したことがある場合には、例えば、図４のＳ５０にて、登録テーブルＣＴに、サービス提供サーバ３００の使用暗号化方式が、記憶されている。この場合には、使用暗号化方式は、登録済であると判断される。例えば、Ｓ５０でのサービス提供サーバ３００の使用暗号化方式の記憶後に、デバイス１００から通信開始要求および暗号化方式リストＣＬ１を受信した場合に行われるＳ５８の処理では、使用暗号化方式は、登録済であると判断される。また、２回目以降にデバイス１００がサービス提供サーバ３００にアクセスすべき、図３のＳ１０から始まる一連の通信を行う場合には、図４のＳ３４においても、使用暗号化方式は、登録済であると判断される。
【００８５】
使用暗号化方式が登録済でない場合には（Ｓ１１０：ＮＯ）、ＣＰＵ２１０は、Ｓ１１５にて、デバイス１００から受信された暗号化方式リストＣＬ１に示される暗号化方式であって、かつ、中継サーバ２００自身も使用できる暗号化方式（すなわち、図２（Ｂ）の暗号化方式リストＣＬ２に示される暗号化方式のうちの１つ）を、使用暗号化方式として、選択する。この際、ＣＰＵ２１０は、この条件を満たす暗号化方式が複数個ある場合には、単純に、暗号化方式リストＣＬ１の上位にある暗号化方式を、デバイス１００との間の通信で使用すべき使用暗号化方式として選択する。例えば、図２（Ａ）の例では、暗号化方式リストＣＬ１の２個の暗号化方式Ａ、Ｂのうち、暗号化方式Ａが選択される。
【００８６】
使用暗号化方式が登録済である場合には（Ｓ１１０：ＹＥＳ）、Ｓ１２０にて、ＣＰＵ２１０は、接続予定のサービス提供サーバの使用暗号化方式を、登録テーブルＣＴを参照して特定する。具体的には、ＣＰＵ２１０は、受信済の該サービス提供サーバのＵＲＬに関連付けられた使用暗号化方式を登録テーブルＣＴから特定する。この結果、複数種類のサービス提供サーバが存在する場合であっても、サービス提供サーバ３００との間の使用暗号化方式を適切に選択することができる。
【００８７】
そして、ＣＰＵ２１０は、特定されたサービス提供サーバ３００との間の使用暗号化方式で用いられる暗号化アルゴリズム（以下、使用暗号化アルゴリズムと呼ぶ）を特定する。例えば、サービス提供サーバ３００との間の使用暗号化方式が、暗号化方式Ｄ（図２（Ｅ））である場合には、暗号化方式Ｄの暗号化アルゴリズムである「ＡＥＳ２５６」が、使用暗号化アルゴリズムとして特定される。
【００８８】
Ｓ１２５では、ＣＰＵ２１０は、デバイス１００の暗号化方式リストＣＬ１に、特定済の使用暗号化アルゴリズムと同一の暗号化アルゴリズムを用いる暗号化方式があるか否かを判断する。
【００８９】
使用暗号化アルゴリズムと同一の暗号化アルゴリズムを用いる暗号化方式がある場合には（Ｓ１２５：ＹＥＳ）、Ｓ１３０にて、ＣＰＵ２１０は、当該暗号化方式を、デバイス１００との間で使用すべき使用暗号化方式として選択する。例えば、使用暗号化アルゴリズムが「ＡＥＳ２５６」である場合には、図２（Ａ）の暗号化方式リストＣＬ１に含まれる暗号化方式Ａ、Ｂのうち、暗号化方式Ｂが選択される。暗号化方式Ａの暗号化アルゴリズムは「ＡＥＳ１２８」であり、使用暗号化アルゴリズムと異なるが、暗号化方式Ｂの暗号化アルゴリズムは「ＡＥＳ２５６」であり、使用暗号化アルゴリズムと同一だからである。
【００９０】
使用暗号化アルゴリズムと同一の暗号化アルゴリズムを用いる暗号化方式がない場合には（Ｓ１２５：ＮＯ）、Ｓ１３５にて、ＣＰＵ２１０は、使用暗号化アルゴリズムと最も近いセキュリティレベルの暗号化アルゴリズムを採用する暗号化方式を選択する。このとき、暗号化アルゴリズムのセキュリティレベルを比較する際には、暗号化アルゴリズムのセキュリティレベルの順序を示す参照情報ＲＩが参照される。仮に、候補となる選択可能な暗号化方式が３個あり、それらの暗号化アルゴリズムが、それぞれ、「３ＤＥＳ１２８」、「３ＤＥＳ２５６」、「ＤＥＳ２５６」であるとする。そして、使用暗号化アルゴリズムが「ＡＥＳ２５６」であるとする。この場合には、先ず、鍵長を無視して、アルゴリズムの種類自体の比較が行われる。参照情報ＲＩに示すように、「３ＤＥＳ」のセキュリティレベルは、「ＤＥＳ」より「ＡＥＳ」に近いので、候補は、「３ＤＥＳ１２８」、「３ＤＥＳ２５６」に絞られる。次に、アルゴリズムの種類が同じである２個の候補を比較して、使用暗号化アルゴリズムの鍵長「２５６」に近い（この例では同じ）鍵長を有する「３ＤＥＳ２５６」が選択される。この結果、「３ＤＥＳ２５６」を採用する暗号化方式が、最終的に選択される。以上の説明から解るように、参照情報ＲＩは、セキュリティレベルに基づく、複数個のアルゴリズムから１個のアルゴリズムを選択する際の優先度を示す情報である、ということができる。
【００９１】
以上説明した実施例によれば、デバイス１００が使用可能な暗号化方式（すなわち、暗号化方式リストＣＬ１に含まれる１個以上の暗号化方式）の使用がサービス提供サーバ３００に拒否される場合には（図４のＳ３０）、デバイス１００は、中継サーバ２００との間に暗号通信を確立する（図４のＳ３２〜Ｓ３８、図５のＳ５６〜Ｓ６２）。そして、中継サーバ２００は、サービス提供サーバ３００との間に暗号通信を確立する（図４のＳ４４〜Ｓ４９、図５のＳ６６〜Ｓ７３）。そして、デバイス１００は、中継サーバ２００を介して、サービス提供サーバ３００が提供するサービスに関するデータ（具体的には、画像データ）を、サービス提供サーバ３００に対して送信する（図５のＳ７６、Ｓ７８）。したがって、デバイス１００が使用可能な暗号化方式の使用がサービス提供サーバ３００に拒否される場合であっても、デバイス１００は、中継サーバ２００を介した暗号通信によって、サービス提供サーバ３００との間で、特定のサービスに関するデータの通信を行うことができる。この結果、デバイス１００が使用可能な暗号化方式の使用がサービス提供サーバ３００に拒否される場合であっても、デバイス１００とサービス提供サーバ３００との間で、暗号通信が可能な状態を維持することができる。
【００９２】
より具体的に説明すると、サービス提供サーバ３００が使用可能な暗号化方式は、サービス提供サーバ３００の運営者によって、変更される場合もある。例えば、上述したＰＦＳを達成できない鍵交換アルゴリズム「ＲＳＡ」の使用が停止され、ＰＦＳを達成できる鍵交換アルゴリズム（例えば、「ＤＨＥ」）の使用のみが許容されるように、サービス提供サーバ３００が使用可能な暗号化方式が変更される場合がある。このような場合には、デバイス１００が使用可能な暗号化方式が鍵交換アルゴリズムとして「ＲＳＡ」を採用する方式のみであると、デバイス１００は、サービス提供サーバ３００と直接的に通信を行うことが不可能になる。しかしながら、デバイス１００を含む複数個のデバイスのコンピュータプログラムを、ＰＦＳを達成できる鍵交換アルゴリズム「ＤＨＥ」を使用できるように、速やかにアップデートするには、ユーザにとっても、デバイスのベンダにとっても、負担が大きい場合がある。このような場合であっても、本実施例によれば、中継サーバ２００が鍵交換アルゴリズム「ＤＨＥ」を含む暗号化方式を使用できれば、デバイス１００を含む複数個のデバイスは、例えば、鍵交換アルゴリズム「ＤＨＥ」を含む暗号化方式を使用できなくても、中継サーバ２００を介して、サービス提供サーバ３００と通信を行うことができる。中継サーバ２００は、デバイスのベンダが運営しており、かつ、デバイスと比較すれば、個数が少ない（例えば、１個）ので、中継サーバ２００が使用可能な暗号化方式を追加、変更することは容易である。
【００９３】
さらに、本実施例によれば、中継サーバ２００は、サービス提供サーバ３００から、使用暗号化方式の通知が受信される場合に（図４のＳ４８）、該方式の通知に示される使用暗号化方式を記憶する（Ｓ５０）。そして、中継サーバ２００は、その後に、デバイス１００から暗号化方式リストＣＬ１を含む通信開始要求を受信すると（図５のＳ５６、２回目以降の図４のＳ３２）、記憶済のサービス提供サーバ３００との間の使用暗号化方式を用いて、暗号化方式リストＣＬ１に含まれる暗号化方式から、デバイス１００との間の使用暗号化方式を選択する（図５のＳ５８、２回目以降の図４のＳ３４、図６のＳ１２０〜Ｓ１３５）。そして、その後、サービス提供サーバ３００との間の使用暗号化方式を用いて選択された使用暗号化方式に従う暗号通信が、デバイス１００とサービス提供サーバ３００との間に確立される（例えば、図５のＳ６０、Ｓ６２）。この結果、サービス提供装置からの第２方式通知に示される第２暗号化方式を用いて選択される第３暗号化方式に従う暗号通信が、中継装置と通信装置との間に確立される。従って、通信装置と中継装置との間に、中継装置を介したサービス提供装置との通信に適した暗号通信を確立し得る。
【００９４】
具体的には、中継サーバ２００は、暗号化方式の複数項目のアルゴリズムのうちの特定項目（本実施例では、暗号化アルゴリズム）について、サービス提供サーバ３００との間の使用暗号化方式にて採用されるアルゴリズムと同一または近似するアルゴリズムを採用する暗号化方式を、デバイス１００との間の使用暗号化方式として選択する。この結果、デバイス１００と中継サーバ２００との間に、中継サーバ２００を介したサービス提供サーバ３００との通信により適した暗号化方式を選択し得る。例えば、暗号化アルゴリズムについては、サービス提供サーバ３００が要求するセキュリティレベルに同一または近似するセキュリティレベルの暗号通信を、デバイス１００と中継サーバ２００との間で確立し得る。
【００９５】
さらに、上記実施例では、中継サーバ２００は、記憶済のサービス提供サーバ３００との間の使用暗号化方式を用いて、デバイス１００との間の使用暗号化方式を選択する際に、参照情報ＲＩを参照する。この結果、特定項目について、セキュリティレベルが同一または近似するアルゴリズムを採用する暗号化方式を、適切に選択することができる。
【００９６】
さらに、上記実施例では、中継サーバ２００とサービス提供サーバ３００の間に、一旦、暗号通信が確立された（図４のＳ４４〜Ｓ４９）後に、確立通知が、中継サーバ２００からデバイス１００に対して送信される（図４のＳ５１）。デバイス１００は、確立通知を受信すると、デバイス１００と中継サーバ２００との間の暗号通信が切断された（図４のＳ５２）後に、画像データを生成する（図４のＳ５４）。その後に、デバイス１００と中継サーバ２００との間、および、中継サーバ２００とサービス提供サーバ３００との間の暗号通信が、再度、確立される（図５のＳ５６〜Ｓ７３）。中継サーバ２００は、デバイス１００との間に確立済の暗号通信を用いて、画像データを、デバイス１００から受信し（図５のＳ７６）、サービス提供サーバ３００との間に確立済の暗号通信を用いて、画像データを、サービス提供サーバ３００に対して送信する（図５のＳ７８）。さらに、画像データが生成されている間、無駄に暗号通信が確立されている状態が続くことを抑制できる。この結果、通信のセキュリティを向上できる。
【００９７】
また、上記実施例では、デバイス１００は、サービス提供サーバ３００との通信要求を、中継サーバ２００に対して送信する（図４のＳ４０）。そして、中継サーバ２００は、該通信要求に基づいて、サービス提供サーバ３００に対して、暗号化方式リストＣＬ２を含む通信開始要求を送信する（図４のＳ４４）。この結果、中継サーバ２００は、デバイス１００からの通信要求に基づいて、適切なサービス提供サーバ３００と、デバイス１００と、の通信を中継することができる。
【００９８】
また、上記実施例において、画像データの通信は、アプリケーション層に属するアプリケーション間の通信であり、暗号化方式リストＣＬ１、ＣＬ２の送受信は、アプリケーションより下位の層（ＳＳＬ／ＴＬＳレイヤ）での通信である。そして、暗号化方式リストＣＬ１、ＣＬ２の送受信を行うプロトコルは、ＳＳＬ／ＴＬＳである。この結果、アプリケーションに特別な仕組みを設けなくとも、ＳＳＬ／ＴＬＳを用いて、アプリケーション間の通信のセキュリティレベルを、必要なレベルに維持することができる。
【００９９】
Ｂ．変形例：
（１）上記実施例では、中継サーバ２００は、サービス提供サーバ３００に対する通信開始要求の送信時に、中継サーバ２００が使用可能な全ての暗号化方式Ａ〜Ｄを含む暗号化方式リストＣＬ２を、サービス提供サーバ３００に送信している（図４のＳ４４など）。これに代えて、中継サーバ２００は、中継サーバ２００が使用可能な暗号化方式Ａ〜Ｄのうち、少なくともデバイス１００が使用可能な暗号化方式Ａ、Ｃとは異なる１個以上の暗号化方式（例えば、暗号化方式Ｄ）を含む暗号化方式リストＣＬ２を、サービス提供サーバ３００に送信すれば良い。
【０１００】
（２）図６に示す接続予定のサービス提供サーバ３００について登録済の使用暗号化方式を用いた、デバイス１００との間の使用暗号化方式の選択は行われなくても良い。この場合には、中継サーバ２００は、サービス提供サーバ３００との間の使用暗号化方式の登録（図４のＳ５０）を省略しても良い。この場合には、中継サーバ２００は、デバイス１００が使用可能な暗号化方式の中から、中継サーバ２００も使用可能な暗号化方式を、任意に選択すれば良い。
【０１０１】
（３）上記実施例では、図６のＳ１２５〜Ｓ１３５において、複数項目のアルゴリズムのうちの１個の項目（具体的には、暗号化アルゴリズム）について、サービス提供サーバ３００との間の使用暗号化方式と同一または近似するアルゴリズムを採用する暗号化方式が、デバイス１００が使用可能な暗号化方式から選択される。これに代えて、複数項目のアルゴリズムのうちの２個以上の項目（例えば、暗号化アルゴリズムと、ハッシュアルゴリズム）が考慮されてもよく、複数項目のアルゴリズムのうちの全ての項目が考慮されてもよい。一般的に言えば、複数項目のアルゴリズムのうちの少なくとも１個の項目について、サービス提供サーバ３００との間の使用暗号化方式と同一または近似するアルゴリズムを採用する暗号化方式が選択されても良い。こうすれば、複数項目のアルゴリズムのうちの少なくとも１つの項目について、中継サーバ２００を介したサービス提供サーバ３００との通信により適した暗号化方式を選択し得る。
【０１０２】
（４）図４のＳ４３にて、中継サーバ２００が、デバイス１００のグローバルＩＰアドレスをサービス提供サーバ３００のＵＲＬと関連付けて登録することに代えて、Ｓ３２やＳ５６にて、デバイス１００から中継サーバ２００に送信される通信開始要求に、サービス提供サーバ３００のＵＲＬが含められても良い。この場合でも、ＣＰＵ２１０は、Ｓ３２やＳ５６にて通信開始要求を受信した時点で、通信開始要求の送信元のデバイス１００が利用するサービス提供サーバを、認識することができる。したがって、上記実施例と同様に、Ｓ３４やＳ５８にて、図６の使用暗号化方式の選択を、適切に実行できる。
【０１０３】
（５）上記実施例では、一旦、デバイス１００と中継サーバ２００との間、および、中継サーバ２００とサービス提供サーバ３００との間の暗号通信が確立された後に、一旦、これらの通信が切断された後に、デバイス１００によって画像データが生成される。これに代えて、これらの通信が切断されることなく、維持されたまま、画像データが生成され、維持されたままの通信を用いて、画像データが、中継サーバ２００を介して、デバイス１００からサービス提供サーバ３００へと送信されても良い。
【０１０４】
（６）上記実施例の参照情報ＲＩ（図２（Ｄ））は、暗号化アルゴリズムについて、セキュリティレベルの順序を示す情報である。これに代えて、参照情報ＲＩは、暗号化アルゴリズムについて、暗号化通信にかかる処理速度の順序を示す情報であってもよい。換言すれば、参照情報ＲＩは、セキュリティレベルおよび処理速度の少なくとも一方に基づく、複数個のアルゴリズムから１個のアルゴリズムを選択する際の優先度を示す情報であれば良い。
【０１０５】
（７）中継サーバ２００を介して、または、中継サーバ２００を介さずに、デバイス１００からサービス提供サーバ３００へ画像データが送信される。これに代えて、サービス提供サーバ３００は、印刷データを提供するサーバであり、サービス提供サーバ３００からデバイス１００へ印刷データが送信（ダウンロード）されても良い。また、デバイス１００とサービス提供サーバ３００との間で送受信されるアプリケーションデータは、画像データや印刷データに限らず、サービス提供サーバ３００の提供するサービスに応じた他のデータ、例えば、テキストデータ、音楽データであっても良い。
【０１０６】
（８）中継サーバ２００や、サービス提供サーバ３００は、ネットワークを介して互いに通信可能な複数個の装置（例えば、コンピュータ）を含む、いわゆるクラウドサーバであっても良い。
【０１０７】
（９）上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。
【０１０８】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【０１０９】
８０...インターネット、１００...デバイス、１１０...ＣＰＵ、１２０...不揮発性記憶装置、１３０...揮発性記憶装置、１３１...バッファ領域、１４０...プリンタ部、１５０...スキャナ部、１６０...操作部、１７０...表示部、１８０...ネットワークＩＦ、２００...中継サーバ、２１０...ＣＰＵ、２２０...不揮発性記憶装置、２３０...揮発性記憶装置、２３１...バッファ領域、２８０...ネットワークＩＦ、３００...サービス提供サーバ、３１０...ＣＰＵ、３２０...不揮発性記憶装置、３３０...揮発性記憶装置、３３１...バッファ領域、３８０...ネットワークＩＦ、１０００...システム
【図１】
0006679867.tif 000002
【図２】
0006679867.tif 000003
【図３】
0006679867.tif 000004
【図４】
0006679867.tif 000005
【図５】
0006679867.tif 000006
【図６】
0006679867.tif 000007