(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024076536
(43)【公開日】2024-06-06
(54)【発明の名称】通信装置及び通信装置のためのコンピュータプログラム
(51)【国際特許分類】
H04L 9/14 20060101AFI20240530BHJP
H04L 12/66 20060101ALI20240530BHJP
【FI】
H04L9/14
H04L12/66
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022188113
(22)【出願日】2022-11-25
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】佐々木 博幸
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030GA15
5K030HC01
5K030HC14
5K030HD03
5K030LD19
(57)【要約】
【課題】セキュアな通信を実現し得る技術を提供すること。
【解決手段】第1の通信装置は、暗号化通信プロトコルの第1のバージョンを示す第1のバージョン情報を含まないと共に、暗号化通信プロトコルの第2のバージョンを示す第2のバージョン情報を含む第1の設定要求を取得する場合に、第2のバージョン情報と、第2の暗号化方式を示す第2の方式情報と、を含むと共に、第2のバージョンが第2の暗号化方式よりも低いセキュリティを有する第1の暗号化方式を利用可能であるにも関わらず、第1の暗号化方式を示す第1の方式情報を含まない第1の設定情報を第2の通信装置に送信する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
第1の通信装置であって、
前記第1の通信装置は、暗号化通信プロトコルの第1のバージョンと、前記暗号化通信プロトコルの第2のバージョンであって、前記第1のバージョンよりも新しい前記第2のバージョンと、をサポートしており、
前記第1のバージョンは、第1の暗号化方式を利用可能であり、
前記第2のバージョンは、前記第1の暗号化方式を利用可能であると共に、前記第1の暗号化方式よりも高いセキュリティを有する第2の暗号化方式を利用可能であり、
前記第1の通信装置は、
前記暗号化通信プロトコルに関する設定要求を取得する取得部と、
前記設定要求が取得された後に、前記設定要求に応じた設定情報を第2の通信装置に送信する送信部と、
前記設定情報が前記第2の通信装置に送信された後に、前記設定情報に基づいて前記第2の通信装置によって決定されたバージョン及び暗号化方式を利用して、前記第2の通信装置との暗号化通信を実行する通信実行部と、
を備え、
前記送信部は、
前記第1のバージョンを示す第1のバージョン情報を含まないと共に前記第2のバージョンを示す第2のバージョン情報を含む第1の設定要求が取得される場合に、第1の設定情報を前記第2の通信装置に送信する第1の送信部であって、前記第1の設定情報は、前記第2のバージョン情報と、前記第2の暗号化方式を示す第2の方式情報と、を含むと共に、前記第2のバージョンが前記第1の暗号化方式を利用可能であるにも関わらず、前記第1の暗号化方式を示す第1の方式情報を含まない、前記第1の送信部と、
前記第1のバージョン情報と前記第2のバージョン情報とを含む第2の設定要求が取得される場合に、第2の設定情報を前記第2の通信装置に送信する第2の送信部であって、前記第2の設定情報は、前記第1のバージョン情報と、前記第2のバージョン情報と、前記第1の方式情報と、前記第2の方式情報と、を含む、前記第2の送信部と、
を備える、第1の通信装置。
【請求項2】
前記第1の通信装置は、さらに、前記暗号化通信プロトコルの第3のバージョンであって、前記第2のバージョンよりも新しい前記第3のバージョンをサポートしており、
前記第3のバージョンは、前記第1の暗号化方式と前記第2の暗号化方式とを利用不可能であると共に、前記第2の暗号化方式よりも高いセキュリティを有する第3の暗号化方式を利用可能であり、
前記送信部は、さらに、
前記第1のバージョン情報を含まないと共に前記第2のバージョン情報と前記第3のバージョンを示す第3のバージョン情報とを含む第3の設定要求が取得される場合に、第3の設定情報を前記第2の通信装置に送信する第3の送信部であって、前記第3の設定情報は、前記第2のバージョン情報と、前記第3のバージョンを示す前記第3のバージョン情報と、前記第2の方式情報と、前記第3の暗号化方式を示す第3の方式情報と、を含むと共に、前記第2のバージョンが前記第1の暗号化方式を利用可能であるにも関わらず、前記第1の方式情報を含まない、前記第3の送信部を備える、請求項1に記載の第1の通信装置。
【請求項3】
前記取得部は、
第1の画面において前記第2のバージョンがユーザによって選択される場合に、前記第1のバージョン情報を含まないと共に前記第2のバージョン情報を含む前記第1の設定要求を取得し、
前記第1の画面において前記第1のバージョンと前記第2のバージョンとが前記ユーザによって選択される場合に、前記第1のバージョン情報と前記第2のバージョン情報とを含む前記第2の設定要求を取得し、
前記第1の画面は、前記ユーザが暗号化方式を選択不可能な態様を有する、請求項1に記載の第1の通信装置。
【請求項4】
前記取得部は、さらに、前記第1の画面とは異なる第2の画面において、前記第2のバージョンが前記ユーザによって選択されると共に、前記第2のバージョンが利用可能な複数の暗号化方式であって、前記第1の暗号化方式と前記第2の暗号化方式とを含む前記複数の暗号化方式の中から1個以上の暗号化方式が前記ユーザによって選択される場合に、前記第2のバージョン情報と前記1個以上の暗号化方式を示す1個以上の方式情報とを含む第4の設定要求を取得し、
前記送信部は、さらに、前記第4の設定要求が取得される場合に、第4の設定情報を前記第2の通信装置に送信する第4の送信部であって、前記第4の設定情報は、前記第2のバージョン情報と前記1個以上の方式情報とを含む、前記第4の送信部を備える、請求項3に記載の第1の通信装置。
【請求項5】
前記暗号化通信プロトコルは、Transport Layer Security(TLS)に従ったプロトコルである、請求項1に記載の第1の通信装置。
【請求項6】
第1の通信装置であって、
前記第1の通信装置は、暗号化通信プロトコルの第1のバージョンと、前記暗号化通信プロトコルの第2のバージョンであって、前記第1のバージョンよりも新しい前記第2のバージョンと、をサポートしており、
前記第1のバージョンは、第1の暗号化方式を利用可能であり、
前記第2のバージョンは、前記第1の暗号化方式を利用可能であると共に、前記第1の暗号化方式よりも高いセキュリティを有する第2の暗号化方式を利用可能であり、
前記第1の通信装置は、
前記暗号化通信プロトコルに関する設定要求を取得する取得部と、
前記設定要求が取得された後に、第2の通信装置から、前記第2の通信装置が利用可能な前記暗号化通信プロトコルのバージョンを示すバージョン情報と、前記第2の通信装置が利用可能な暗号化方式を示す方式情報と、を含む候補情報を受信する受信部と、
前記第2の通信装置との暗号化通信に利用されるべき前記暗号化通信プロトコルのバージョンである対象バージョンと、前記第2の通信装置との暗号化通信に利用されるべき暗号化方式である対象暗号化方式と、を決定する決定部と、
前記対象バージョン及び前記対象暗号化方式を利用して、前記第2の通信装置との前記暗号化通信を実行する通信実行部と、
を備え、
前記決定部は、
前記第1のバージョンを示す第1のバージョン情報を含まないと共に前記第2のバージョンを示す第2のバージョン情報を含む第1の設定要求が取得され、かつ、前記第2の通信装置から、前記第2のバージョン情報と、前記第2の暗号化方式を示す第2の方式情報と、を含む第1の候補情報が受信される場合に、前記第2のバージョンを前記対象バージョンとして決定すると共に前記第2の暗号化方式を前記対象暗号化方式として決定し、
前記第1の設定要求が取得され、かつ、前記第2の通信装置から、前記第2のバージョン情報と前記第1の暗号化方式を示す第1の方式情報とを含むと共に前記第2の方式情報を含まない第2の候補情報が受信される場合に、前記第2のバージョンが前記第1の暗号化方式を利用可能であるにも関わらず、前記第1の暗号化方式を前記対象暗号化方式として決定せず、
前記第1のバージョン情報と前記第2のバージョン情報とを含む第2の設定要求が取得され、かつ、前記第2の通信装置から前記第1の候補情報が受信される場合に、前記第2のバージョンを前記対象バージョンとして決定すると共に前記第2の暗号化方式を前記対象暗号化方式として決定し、
前記第2の設定要求が取得され、かつ、前記第2の通信装置から前記第2の候補情報が受信される場合に、前記第2のバージョンを前記対象バージョンとして決定すると共に前記第1の暗号化方式を前記対象暗号化方式として決定する、第1の通信装置。
【請求項7】
前記第1の通信装置は、さらに、前記暗号化通信プロトコルの第3のバージョンであって、前記第2のバージョンよりも新しい前記第3のバージョンをサポートしており、
前記第3のバージョンは、前記第1の暗号化方式と前記第2の暗号化方式とを利用不可能であると共に、前記第2の暗号化方式よりも高いセキュリティを有する第3の暗号化方式を利用可能であり、
前記決定部は、さらに、
前記第1のバージョン情報を含まないと共に前記第2のバージョン情報と前記第3のバージョンを示す第3のバージョン情報とを含む第3の設定要求が取得され、かつ、前記第2の通信装置から、前記第3のバージョン情報を含まない前記第1の候補情報が受信される場合に、前記第2のバージョンを前記対象バージョンとして決定すると共に前記第2の暗号化方式を前記対象暗号化方式として決定し、
前記第3の設定要求が取得され、かつ、前記第2の通信装置から、前記第3のバージョン情報を含まない前記第2の候補情報が受信される場合に、前記第2のバージョンが前記第1の暗号化方式を利用可能であるにも関わらず、前記第1の暗号化方式を前記対象暗号化方式として決定せず、
前記第3の設定要求が取得され、かつ、前記第2の通信装置から、前記第3のバージョン情報と前記第3の暗号化方式を示す第3の方式情報とを含む第3の候補情報が受信される場合に、前記第3のバージョンを前記対象バージョンとして決定すると共に前記第3の暗号化方式を前記対象暗号化方式として決定する、
請求項6に記載の第1の通信装置。
【請求項8】
前記取得部は、
第1の画面において前記第2のバージョンがユーザによって選択される場合に、前記第1のバージョン情報を含まないと共に前記第2のバージョン情報を含む前記第1の設定要求を取得し、
前記第1の画面において前記第1のバージョンと前記第2のバージョンとが前記ユーザによって選択される場合に、前記第1のバージョン情報と前記第2のバージョン情報とを含む前記第2の設定要求を取得し、
前記第1の画面は、前記ユーザが暗号化方式を選択不可能な態様を有する、請求項6に記載の第1の通信装置。
【請求項9】
前記取得部は、さらに、前記第1の画面とは異なる第2の画面において、前記第2のバージョンが前記ユーザによって選択されると共に、前記第2のバージョンが利用可能な複数の暗号化方式であって、前記第1の暗号化方式と前記第2の暗号化方式とを含む前記複数の暗号化方式の中からM個(前記Mは1以上の整数)の暗号化方式が前記ユーザによって選択される場合に、前記第2のバージョン情報と前記M個の暗号化方式を示すM個の方式情報とを含む第4の設定要求を取得し、
前記決定部は、さらに、前記第4の設定要求が取得され、かつ、前記第2の通信装置から、前記第2のバージョン情報と、N個(前記Nは1以上の整数)の暗号化方式を示すN個の方式情報と、を含む前記候補情報が受信される場合に、前記第2のバージョンを前記対象バージョンとして決定すると共に、前記M個の暗号化方式と前記N個の暗号化方式との双方に含まれる1個の暗号化方式を前記対象暗号化方式として決定する、請求項8に記載の第1の通信装置。
【請求項10】
前記暗号化通信プロトコルは、Transport Layer Security(TLS)に従ったプロトコルである、請求項6に記載の第1の通信装置。
【請求項11】
第1の通信装置のためのコンピュータプログラムであって、
前記第1の通信装置は、暗号化通信プロトコルの第1のバージョンと、前記暗号化通信プロトコルの第2のバージョンであって、前記第1のバージョンよりも新しい前記第2のバージョンと、をサポートしており、
前記第1のバージョンは、第1の暗号化方式を利用可能であり、
前記第2のバージョンは、前記第1の暗号化方式を利用可能であると共に、前記第1の暗号化方式よりも高いセキュリティを有する第2の暗号化方式を利用可能であり、
前記コンピュータプログラムは、前記第1の通信装置のコンピュータを、以下の各部、即ち、
前記暗号化通信プロトコルに関する設定要求を取得する取得部と、
前記設定要求が取得された後に、前記設定要求に応じた設定情報を第2の通信装置に送信する送信部と、
前記設定情報が前記第2の通信装置に送信された後に、前記設定情報に基づいて前記第2の通信装置によって決定されたバージョン及び暗号化方式を利用して、前記第2の通信装置との暗号化通信を実行する通信実行部と、
として機能させ、
前記送信部は、
前記第1のバージョンを示す第1のバージョン情報を含まないと共に前記第2のバージョンを示す第2のバージョン情報を含む第1の設定要求が取得される場合に、第1の設定情報を前記第2の通信装置に送信する第1の送信部であって、前記第1の設定情報は、前記第2のバージョン情報と、前記第2の暗号化方式を示す第2の方式情報と、を含むと共に、前記第2のバージョンが前記第1の暗号化方式を利用可能であるにも関わらず、前記第1の暗号化方式を示す第1の方式情報を含まない、前記第1の送信部と、
前記第1のバージョン情報と前記第2のバージョン情報とを含む第2の設定要求が取得される場合に、第2の設定情報を前記第2の通信装置に送信する第2の送信部であって、前記第2の設定情報は、前記第1のバージョン情報と、前記第2のバージョン情報と、前記第1の方式情報と、前記第2の方式情報と、を含む、前記第2の送信部と、
を備える、コンピュータプログラム。
【請求項12】
第1の通信装置のためのコンピュータプログラムであって、
前記第1の通信装置は、暗号化通信プロトコルの第1のバージョンと、前記暗号化通信プロトコルの第2のバージョンであって、前記第1のバージョンよりも新しい前記第2のバージョンと、をサポートしており、
前記第1のバージョンは、第1の暗号化方式を利用可能であり、
前記第2のバージョンは、前記第1の暗号化方式を利用可能であると共に、前記第1の暗号化方式よりも高いセキュリティを有する第2の暗号化方式を利用可能であり、
前記コンピュータプログラムは、前記第1の通信装置のコンピュータを、以下の各部、即ち、
前記暗号化通信プロトコルに関する設定要求を取得する取得部と、
前記設定要求が取得された後に、第2の通信装置から、前記第2の通信装置が利用可能な前記暗号化通信プロトコルのバージョンを示すバージョン情報と、前記第2の通信装置が利用可能な暗号化方式を示す方式情報と、を含む候補情報を受信する受信部と、
前記第2の通信装置との暗号化通信に利用されるべき前記暗号化通信プロトコルのバージョンである対象バージョンと、前記第2の通信装置との暗号化通信に利用されるべき暗号化方式である対象暗号化方式と、を決定する決定部と、
前記対象バージョン及び前記対象暗号化方式を利用して、前記第2の通信装置との前記暗号化通信を実行する通信実行部と、
として機能させ、
前記決定部は、
前記第1のバージョンを示す第1のバージョン情報を含まないと共に前記第2のバージョンを示す第2のバージョン情報を含む第1の設定要求が取得され、かつ、前記第2の通信装置から、前記第2のバージョン情報と、前記第2の暗号化方式を示す第2の方式情報と、を含む第1の候補情報が受信される場合に、前記第2のバージョンを前記対象バージョンとして決定すると共に前記第2の暗号化方式を前記対象暗号化方式として決定し、
前記第1の設定要求が取得され、かつ、前記第2の通信装置から、前記第2のバージョン情報と前記第1の暗号化方式を示す第1の方式情報とを含むと共に前記第2の方式情報を含まない第2の候補情報が受信される場合に、前記第2のバージョンが前記第1の暗号化方式を利用可能であるにも関わらず、前記第1の暗号化方式を前記対象暗号化方式として決定せず、
前記第1のバージョン情報と前記第2のバージョン情報とを含む第2の設定要求が取得され、かつ、前記第2の通信装置から前記第1の候補情報が受信される場合に、前記第2のバージョンを前記対象バージョンとして決定すると共に前記第2の暗号化方式を前記対象暗号化方式として決定し、
前記第2の設定要求が取得され、かつ、前記第2の通信装置から前記第2の候補情報が受信される場合に、前記第2のバージョンを前記対象バージョンとして決定すると共に前記第1の暗号化方式を前記対象暗号化方式として決定する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、暗号化通信プロトコルを利用した通信を実行するための技術に関する。
【背景技術】
【0002】
ネットワークを介してセキュアに通信するための暗号化通信プロトコルとして、Transport Layer Security(TLS)が知られている。非特許文献1には、TLSのバージョン1.3が記載されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】RFC8446 The Transport Layer Security (TLS) Protocol Version 1.3, Internet Engineering Task Force (IETF)、2018年
【発明の概要】
【発明が解決しようとする課題】
【0004】
本明細書では、セキュアな通信を実現し得る技術を提供する。
【課題を解決するための手段】
【0005】
本明細書は、第1の通信装置を開示する。前記第1の通信装置は、暗号化通信プロトコルの第1のバージョンと、前記暗号化通信プロトコルの第2のバージョンであって、前記第1のバージョンよりも新しい前記第2のバージョンと、をサポートしていてもよい。前記第1のバージョンは、第1の暗号化方式を利用可能であり、前記第2のバージョンは、前記第1の暗号化方式を利用可能であると共に、前記第1の暗号化方式よりも高いセキュリティを有する第2の暗号化方式を利用可能であってもよい。前記第1の通信装置は、前記暗号化通信プロトコルに関する設定要求を取得する取得部と、前記設定要求が取得された後に、前記設定要求に応じた設定情報を第2の通信装置に送信する送信部と、前記設定情報が前記第2の通信装置に送信された後に、前記設定情報に基づいて前記第2の通信装置によって決定されたバージョン及び暗号化方式を利用して、前記第2の通信装置との暗号化通信を実行する通信実行部と、を備えてもよい。前記送信部は、前記第1のバージョンを示す第1のバージョン情報を含まないと共に前記第2のバージョンを示す第2のバージョン情報を含む第1の設定要求が取得される場合に、第1の設定情報を前記第2の通信装置に送信する第1の送信部であって、前記第1の設定情報は、前記第2のバージョン情報と、前記第2の暗号化方式を示す第2の方式情報と、を含むと共に、前記第2のバージョンが前記第1の暗号化方式を利用可能であるにも関わらず、前記第1の暗号化方式を示す第1の方式情報を含まない、前記第1の送信部と、前記第1のバージョン情報と前記第2のバージョン情報とを含む第2の設定要求が取得される場合に、第2の設定情報を前記第2の通信装置に送信する第2の送信部であって、前記第2の設定情報は、前記第1のバージョン情報と、前記第2のバージョン情報と、前記第1の方式情報と、前記第2の方式情報と、を含む、前記第2の送信部と、を備えてもよい。
【0006】
上記の構成によると、第1の通信装置は、第1のバージョン情報を含まないと共に第2のバージョン情報を含む第1の設定要求を取得する場合に、第2のバージョン情報と第2の方式情報とを含むと共に、第2のバージョンが第1の暗号化方式を利用可能であるにも関わらず、第1の方式情報を含まない第1の設定情報を第2の通信装置に送信する。従って、第1の暗号化方式よりも高いセキュリティを有する第2の暗号化方式を利用することを第2の通信装置に決定させ得る。この結果、第1の通信装置と第2の通信装置との間でセキュアな通信を実現し得る。
【0007】
本明細書は、別の第1の通信装置も開示する。前記第1の通信装置は、暗号化通信プロトコルの第1のバージョンと、前記暗号化通信プロトコルの第2のバージョンであって、前記第1のバージョンよりも新しい前記第2のバージョンと、をサポートしていてもよい。前記第1のバージョンは、第1の暗号化方式を利用可能であり、前記第2のバージョンは、前記第1の暗号化方式を利用可能であると共に、前記第1の暗号化方式よりも高いセキュリティを有する第2の暗号化方式を利用可能であってもよい。前記第1の通信装置は、前記暗号化通信プロトコルに関する設定要求を取得する取得部と、前記設定要求が取得された後に、第2の通信装置から、前記第2の通信装置が利用可能な前記暗号化通信プロトコルのバージョンを示すバージョン情報と、前記第2の通信装置が利用可能な暗号化方式を示す方式情報と、を含む候補情報を受信する受信部と、前記第2の通信装置との暗号化通信に利用されるべき前記暗号化通信プロトコルのバージョンである対象バージョンと、前記第2の通信装置との暗号化通信に利用されるべき暗号化方式である対象暗号化方式と、を決定する決定部と、前記対象バージョン及び前記対象暗号化方式を利用して、前記第2の通信装置との前記暗号化通信を実行する通信実行部と、を備えてもよい。前記決定部は、前記第1のバージョンを示す第1のバージョン情報を含まないと共に前記第2のバージョンを示す第2のバージョン情報を含む第1の設定要求が取得され、かつ、前記第2の通信装置から、前記第2のバージョン情報と、前記第2の暗号化方式を示す第2の方式情報と、を含む第1の候補情報が受信される場合に、前記第2のバージョンを前記対象バージョンとして決定すると共に前記第2の暗号化方式を前記対象暗号化方式として決定し、前記第1の設定要求が取得され、かつ、前記第2の通信装置から、前記第2のバージョン情報と前記第1の暗号化方式を示す第1の方式情報とを含むと共に前記第2の方式情報を含まない第2の候補情報が受信される場合に、前記第2のバージョンが前記第1の暗号化方式を利用可能であるにも関わらず、前記第1の暗号化方式を前記対象暗号化方式として決定せず、前記第1のバージョン情報と前記第2のバージョン情報とを含む第2の設定要求が取得され、かつ、前記第2の通信装置から前記第1の候補情報が受信される場合に、前記第2のバージョンを前記対象バージョンとして決定すると共に前記第2の暗号化方式を前記対象暗号化方式として決定し、前記第2の設定要求が取得され、かつ、前記第2の通信装置から前記第2の候補情報が受信される場合に、前記第2のバージョンを前記対象バージョンとして決定すると共に前記第1の暗号化方式を前記対象暗号化方式として決定してもよい。
【0008】
上記の構成によると、第1の通信装置は、第1のバージョン情報を含まないと共に第2のバージョン情報を含む第1の設定要求を取得し、かつ、第2の通信装置から、第2のバージョン情報と第1の方式情報とを含むと共に第2の方式情報を含まない第2の候補情報が受信される場合に、第2のバージョンが第1の暗号化方式を利用可能であるにも関わらず、第1の暗号化方式を対象暗号化方式として決定しない。従って、第1の通信装置と第2の通信装置との間で、第2の暗号化方式よりも低い第1の暗号化方式が利用された暗号化通信が実行されることが抑制される。このために、第1の通信装置と第2の通信装置との間で、セキュアな通信を実現し得る。
【0009】
上記の第1の通信装置のためのコンピュータプログラム、当該コンピュータプログラムを記憶するコンピュータ可読記録媒体、及び、第1の通信装置によって実行される方法も、新規で有用である。
【図面の簡単な説明】
【0010】
【
図2】MFPの第1の暗号化方式リスト及びサーバの暗号化方式リストである。
【発明を実施するための形態】
【0011】
(第1実施例)
(通信システム2の構成;
図1)
図1に示されるように、通信システム2は、Multi-Function Peripheral(MFP)10と、3個の端末100A~100Cと、サーバ200と、を備える。MFP10及び各端末100A~100Cは、Local Area Network(LAN)4に接続されており、LAN4を介して相互に通信可能である。LAN4は、無線LANであってもよいし、有線LANであってもよい。LAN4は、インターネット6に接続されている。サーバ200は、インターネット6上に設置されている。従って、各装置10,100A~100Cとサーバ200とは、LAN4及びインターネット6を介して相互に通信可能である。
【0012】
本実施例では、MFP10と他の装置(例えば端末100A~100C、サーバ200)との間で暗号化通信を実行するための暗号化通信プロトコルのバージョン及び暗号化方式を決定するための技術を開示する。暗号化通信プロトコルは、Transport Layer Security(TLS)プロトコルである。
【0013】
TLSでは、4個のバージョン1.0、1.1、1.2、及び1.3が定義されている。バージョン1.3が最新のバージョンであり、バージョンが高いほどセキュリティが高い。特に、バージョン1.0及び1.1のセキュリティは比較的低く、1.2及び1.3のセキュリティは比較的高い。また、各バージョンの互換性に関して、古くから定義されているバージョン1.0及び1.1に対応している装置は比較的多い。一方、新しいバージョンである1.2及び1.3、特にバージョン1.3に対応している装置は比較的少ない。
【0014】
詳しくは後述するが、ユーザは、TLSのバージョンを設定する際に、6個の選択肢「1.3」、「1.3/1.2」、「1.3/1.2/1.1/1.0」、「1.2」、「1.2/1.1/1.0」、及び「1.1/1.0」の中から1個の選択肢を選択可能である(
図5参照)。ここで、選択肢中のスラッシュ「/」は、複数のバージョンのいずれかを利用することを意味する。例えば、選択肢「1.3/1.2」は、バージョン1.3及び1.2のいずれかを利用することを意味する。
【0015】
(MFP10の構成)
MFP10は、印刷機能、スキャン機能、ファクシミリ機能等を実行可能な周辺装置、例えば端末100A~100Cの周辺装置である。変形例では、MFP10は、印刷機能のみを実行可能なプリンタ、スキャン機能のみを実行可能なスキャナ等であってもよい。MFP10は、TLSの上記の4個のバージョン(即ち1.0~1.3)の全てを利用可能である。MFP10は、操作部12と表示部14と通信インターフェース16と印刷エンジン18とスキャンエンジン20と制御部30とを備える。各部12~30は、バス線に接続されている。以下では、インターフェースのことを「I/F」と記載する。
【0016】
操作部12は、ユーザが様々な情報をMFP10に対して入力することを可能とするI/Fであり、例えばタッチスクリーン、ボタンを備える。ユーザは、操作部12を介して、様々な情報をMFP10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。通信I/F16は、LAN4に接続されている。印刷エンジン18は、例えばインクジェット方式、レーザ方式の印刷機構を備える。スキャンエンジン20は、例えばCIS、CCDのスキャン機構を備える。
【0017】
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に記憶されているプログラム36に従って、様々な処理を実行する。メモリ34は、例えばROM、RAMである。メモリ34は、さらに、第1の暗号化方式リスト38と、第2の暗号化方式リスト40と、選択情報42,44と、を記憶する。第1の暗号化方式リスト38及び第2の暗号化方式リスト40の詳細については、
図2及び
図3を参照して後述する。選択情報42は、クライアントとして動作するMFP10のためにユーザによって選択されたTLSのバージョンを示す。選択情報44は、サーバとして動作するMFP10のためにユーザによって選択されたTLSのバージョンを示す。各選択情報42,44は、上記の6個の選択肢によって示される6個のバージョン情報のうちのいずれか1個のバージョン情報を示す。
【0018】
(端末100Aの構成)
端末100Aは、携帯電話、スマートフォン、PDA、タブレットPC等の可搬型の端末装置である。変形例では、端末100Aは、据置型のPC、ラップトップPC等であってもよい。端末100Aは、TLSのバージョン1.2のみをサポートしている。
【0019】
端末100Aは、通信I/F116と制御部130とを備える。通信I/F116と制御部130とは、バス線に接続されている。通信I/F116は、LAN4に接続されている。
【0020】
制御部130は、CPU132とメモリ134とを備える。メモリ134は、OSプログラム136を記憶する。CPU132は、メモリ134に記憶されているOSプログラム136に従って、様々な処理を実行する。メモリ134は、例えばROM、RAMである。以下では、OSプログラムのことを「OS」と記載する。OS136は、端末100Aの基本的な動作を制御する。
【0021】
メモリ134は、さらに、端末100Aが利用可能な暗号化方式のリストを示す暗号化方式リスト140Aを記憶する。暗号化方式リスト140Aの詳細は、
図4を参照して後述する。
【0022】
(端末100Bの構成)
端末100Bは、暗号化方式リスト140Aに代えて暗号化方式リスト140Bが記憶されている点を除いて、端末100Aの構成と同様である。
【0023】
(端末100Cの構成)
端末100Cは、TLSのバージョン1.3のみをサポートしている点、及び、暗号化方式リスト140Aに代えて暗号化方式リスト140Cが記憶されている点を除いて、端末100Aの構成と同様である。
【0024】
(サーバ200の構成)
サーバ200は、例えば、MFP10においてスキャンが実行される際に、当該スキャンによって生成されるスキャンデータを記憶するためのサーバである。サーバ200は、通信I/F216と制御部230とを備える。通信I/F216と制御部230とは、バス線に接続されている。通信I/F216は、インターネット6に接続されている。サーバ200は、TLSの上記の4個のバージョン(即ち1.0~1.3)の全てを利用可能である。
【0025】
制御部230は、CPU232とメモリ234とを備える。メモリ234は、プログラム236を記憶する。CPU232は、メモリ234に記憶されているプログラム236に従って、様々な処理を実行する。メモリ234は、例えばROM、RAMである。
【0026】
(各暗号化方式リストについて;
図2~
図4)
続いて、
図2~
図4を参照して、各装置10,100A~100C,200に記憶される各暗号化方式リストを説明する。
【0027】
(第1の暗号化方式リスト38及び暗号化方式リスト238;
図2)
図2は、MFP10のメモリ34に記憶される第1の暗号化方式リスト38、及び、サーバ200のメモリ234に記憶される暗号化方式リスト238を示す。各リスト38,238は同じ内容を示す。1列目は、暗号化方式(例えばTLS_AES_128_GCM_SHA128)を示す。上の行ほど、セキュリティが高い。但し、セキュリティの高さと処理効率(例えば処理速度、利用するメモリ容量)が相反する場合もあり、利用される暗号化方式は、セキュリティの高さと処理効率とのバランスを考慮して決定される。1行目は、上記の6個の選択肢に対応する6個のバージョン情報を示す。丸印は、利用可能な暗号化方式を意味する。例えば、バージョン情報「1.3」は、3個の丸印に関連付けられている。これは、例えばMFP10においてTLSのバージョン「1.3」が採用されると、MFP10が3個の暗号化方式のいずれかを利用可能であると共に他の暗号化方式を利用不可能であることを意味する。
【0028】
(第2の暗号化方式リスト40;
図3)
図3は、MFP10のメモリ34に記憶される第2の暗号化方式リスト40を示す。第2の暗号化方式リスト40は、バージョン情報「1.3/1.2」及び「1.2」に付されている丸印が第1の暗号化方式リスト38と異なる。即ち、第1の暗号化方式リスト38では、MFP10は、バージョン「1.3/1.2」が採用されると、全ての暗号化方式を利用可能である。一方、第2の暗号化方式リスト40では、MFP10は、バージョン「1.3/1.2」が採用されると、上位の9個の暗号化方式のみを利用可能である。
【0029】
MFP10は、端末100AからSimple Network Management Protocol(SNMP)に従ったコマンドを受信する場合に、第1の暗号化方式リスト38を利用する。この例については、第2実施例で説明する。一方、MFP10は、端末100AからHyperText Transfer Protocol(HTTP)に従ったコマンドを受信する場合に、第2の暗号化方式リスト40を利用する。
【0030】
(暗号化方式リスト140A~140C;
図4)
図4は、各端末100A~100Cの各暗号化方式リスト140A~140Cを示す。各暗号化方式リスト140A~140Cは、各端末100A~100Cが利用可能な複数個の暗号化方式を示す。TLSのバージョン1.2のみをサポートしている端末100Aの暗号化方式リスト140Aは、
図2のバージョン情報「1.2」に関連付けられている各暗号化方式(即ち
図2のリストの5行目以降の全ての暗号化方式)を示す。TLSのバージョン1.2のみをサポートしている端末100Bの暗号化方式リスト140Bは、
図2のバージョン情報「1.2」に関連付けられている各暗号化方式のうち、11行目以降の各暗号化方式を示す。TLSのバージョン1.3のみをサポートしている端末100Cの暗号化方式リスト140Cは、
図2のバージョン情報「1.3」に関連付けられている各暗号化方式(即ち
図2のリストの2行目~4行目の各暗号化方式)を示す。
【0031】
(各装置間で実行される処理;
図5)
続いて、
図5を参照して、各装置間で実行される処理を説明する。なお、以下では、各装置(例えばMFP10、端末100A)のCPU(例えば32、132)が実行する処理について、理解の容易さの観点から、各CPUを処理の主体として記載せずに、各装置を処理の主体として記載する。また、各装置間の通信は、通信I/F(例えば16,116)を介して実行される。従って、以下の説明では、通信に関する説明をする際に、「通信I/Fを介して」という記載を省略する。
【0032】
端末100Aは、T10において、ユーザから、MFP10のウェブサーバにアクセスするためのアクセス操作を受け付けると、T12において、アクセス要求をMFP10に送信する。
【0033】
MFP10は、T12において、端末100Aからアクセス要求を受信すると、T14において、トップ画面SC0を表わすトップ画面データを端末100Aに送信する。
【0034】
端末100Aは、T14において、MFP10からトップ画面データを受信すると、T16において、トップ画面SC0を表示する。トップ画面SC0は、例えば、MFP10の現在のステータス(例えば「正常」)、MFP10の各種設定を行うためのボタン(例えば「TLS設定」)を含む。
【0035】
端末100Aは、T20において、ユーザから、トップ画面SC0内のボタン「TLS設定」の選択を受け付けると、T22において、設定画面要求をMFP10に送信する。
【0036】
MFP10は、T22において、端末100Aから設定画面要求を受信すると、T24において、設定画面SC1を表わす設定画面データを端末100Aに送信する。
【0037】
端末100Aは、T24において、MFP10から設定画面データを受信すると、T26において、設定画面SC1を表示する。設定画面SC1は、クライアントとして動作するMFP10のためのTLSのバージョンの選択欄と、サーバとして動作するMFP10のためのTLSのバージョンの選択欄と、OKボタンと、キャンセルボタンと、を含む。以下では、前者の選択欄、後者の選択欄を、それぞれ、「クライアントバージョン選択欄」、「サーババージョン選択欄」と記載する。クライアントバージョン選択欄がユーザによって選択されると、上記の6個の選択肢を含む選択肢画面が表示される。図示省略しているが、サーババージョン選択欄がユーザによって選択される場合にも、上記の6個の選択肢を含む選択肢画面が表示される。
【0038】
端末100Aは、T30において、ユーザから、クライアントバージョン選択欄において1個の選択肢の選択を受け付けるとともに、サーババージョン選択欄において1個の選択肢の選択を受け付ける。以下では、クライアントバージョン選択欄において選択された1個の選択肢によって示されるバージョン情報、サーババージョン選択欄において選択された1個の選択肢によって示されるバージョン情報のことを、それぞれ、「クライアントバージョン情報」、「サーババージョン情報」と記載する。
【0039】
その後、端末100Aは、T30において、設定画面SC1内のOKボタンの選択を受け付けると、T32において、設定要求をMFP10に送信する。設定要求は、HTTPに従ったコマンドであり、クライアントバージョン情報及びサーババージョン情報を含む。
【0040】
MFP10は、T32において、端末100Aから設定要求を受信すると、T34において、選択情報42,44を記憶する。具体的には、MFP10は、設定要求に含まれるクライアントバージョン情報を選択情報42として記憶し、設定要求に含まれるサーババージョン情報を選択情報44として記憶する。
【0041】
(ケースA:
図6)
続いて、具体的なケースを説明する。まず、
図6を参照して、クライアントバージョン情報としてバージョン情報「1.2」が選択されるケースAを説明する。
図6のケースAは、
図5のT34の続きであり、選択情報42は、クライアントバージョン情報であるバージョン情報「1.2」を示す。
【0042】
MFP10は、T40において、ユーザから、サーバ200との暗号化通信を開始するトリガとなる操作を受け付ける。上記の操作は、例えば、MFP10に原稿のスキャンを実行させるための操作である。この場合、MFP10は、T42において、設定情報をサーバ200に送信する。設定情報は、選択情報42(即ちバージョン情報「1.2」)と、暗号化方式リストと、を含む。ここで、暗号化通信のトリガとなる操作を受け付けた装置が、当該暗号化通信においてクライアントとして動作する。即ち、本ケースでは、MFP10がクライアントとして動作する(T40参照)。従って、MFP10は、T42において、選択情報44ではなく選択情報42をサーバ200に送信する。
図5のT32において、MFP10は、HTTPに従った設定要求を受信済みである。従って、T42で送信される暗号化方式リストは、HTTPに対応する第2の暗号化方式リスト40(
図3参照)に基づいて特定される。具体的には、MFP10は、第2の暗号化方式リスト40から、選択情報42によって示されるバージョン情報「1.2」に関連付けられている6個の暗号化方式(即ち5行目~10行目の暗号化方式)を特定する。そして、MFP10は、当該6個の暗号化方式を示す暗号化方式リストをサーバ200に送信する。
【0043】
サーバ200は、T42において、MFP10から設定情報を受信すると、T44において、設定情報に含まれるバージョン及び暗号化方式リストに基づいて、MFP10とサーバ200との間の暗号化通信で利用されるバージョン及び暗号化方式を決定する。ここで、サーバ200は、最もセキュリティが高いバージョン及び暗号化方式を決定する。
【0044】
具体的には、まず、サーバ200は、暗号化通信で利用するバージョンを決定する。本ケースでは、サーバ200がTLSの全てのバージョンを利用可能であり、かつ、受信済みの設定情報に含まれるバージョン情報が「1.2」である。従って、サーバ200は、バージョン「1.2」を利用することを決定する。
【0045】
次いで、サーバ200は、メモリ234内の暗号化方式リスト238(
図2参照)を利用して、暗号化通信で利用する暗号化方式を決定する。まず、サーバ200は、暗号化方式リスト238から、受信済みの設定情報に含まれるバージョン情報「1.2」に関連付けられている(即ち丸印が付されている)各暗号化方式のうち、最も高いセキュリティを有する暗号化方式(即ち最上位の暗号化方式)を特定する。本ケースでは、サーバ200は、5行目の暗号化方式「TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256」を特定する。特定済みの暗号化方式が受信済みの設定情報内の暗号化方式リストに含まれるので、サーバ200は、上記の特定済みの暗号化方式を利用することを決定する。
【0046】
次いで、サーバ200は、T46において、決定済みのバージョン及び決定済みの暗号化方式をMFP10に送信する。このようにして、MFP10とサーバ200との間で、暗号化通信で利用されるバージョン及び暗号化方式が共有される。
【0047】
その後、T48において、MFP10とサーバ200との間で、暗号化通信で利用されるセッション鍵が共有される。セッション鍵は、MFP10とサーバ200との間の暗号化通信の1個のセッションにおいて利用される鍵であり、決定済みの暗号化方式に従って生成される鍵である。このようにして、MFP10とサーバ200との間でセッション鍵が共有されるので、MFP10とサーバ200との間で暗号化通信を実行することができる。
【0048】
その後、T50において、MFP10とサーバ200との間で、T48で共有済みのセッション鍵を利用して、暗号化通信(例えば、スキャンデータの通信)が実行される。このようにして、MFP10とサーバ200との間で暗号化通信を実行することができる。
【0049】
(ケースB;
図6)
続いて、
図6を参照して、クライアントバージョン情報としてバージョン情報「1.2/1.1/1.0」が選択されるケースBを説明する。ケースBは、
図5のT34の続きであり、選択情報42は、クライアントバージョン情報であるバージョン情報「1.2/1.1/1.0」を示す。T60は、T40と同様である。
【0050】
MFP10は、T62において、設定情報をサーバ200に送信する。設定情報は、選択情報42(即ちバージョン情報「1.2/1.1/1.0」)と、暗号化方式リストと、を含む。MFP10は、
図5のT32において、HTTPに従った設定要求を受信済みであるので、HTTPに対応する第2の暗号化方式リスト40から、選択情報42によって示されるバージョン情報「1.2/1.1/1.0」に関連付けられている25個の暗号化方式(即ち5行目以降の暗号化方式)を特定する。そして、MFP10は、当該25個の暗号化方式を示す暗号化方式リストをサーバ200に送信する。その後の処理は、T44~T50と同様である。ケースBでも、ケースAと同様に、MFP10とサーバ200との間で暗号化通信を実行することができる。
【0051】
(ケースC;
図6)
続いて、
図6を参照して、クライアントバージョン情報としてバージョン情報「1.3/1.2」が選択されるケースCを説明する。ケースCは、
図5のT34の続きであり、選択情報42は、クライアントバージョン情報であるバージョン情報「1.3/1.2」を示す。T70は、T40と同様である。
【0052】
MFP10は、T72において、設定情報をサーバ200に送信する。設定情報は、選択情報42(即ちバージョン情報「1.3/1.2」)と、暗号化方式リストと、を含む。MFP10は、
図5のT32において、HTTPに従った設定要求を受信済みであるので、HTTPに対応する第2の暗号化方式リスト40から、選択情報42によって示されるバージョン情報「1.3/1.2」に関連付けられている9個の暗号化方式(即ち2行目~10行目の暗号化方式)を特定する。そして、MFP10は、当該9個の暗号化方式を示す暗号化方式リストをサーバ200に送信する。その後の処理は、決定されるバージョン及び暗号化方式が異なる点を除いて、T44~T50と同様である。ケースCでも、ケースAと同様に、MFP10とサーバ200との間で暗号化通信を実行することができる。特に、ケースCでは、第2の暗号化方式リスト40において、バージョン情報「1.3/1.2」は、上位9個の暗号化方式のみが関連付けられているので、これら以外の比較的低いセキュリティを有する暗号化方式は利用されない。従って、MFP10とサーバ200との間でセキュアな通信を実現し得る。
【0053】
(ケースD;
図7)
続いて、
図7を参照して、サーババージョン情報としてバージョン情報「1.2」が選択されるケースDを説明する。ケースDは、
図6のT50の続きであり、選択情報44は、サーババージョン情報であるバージョン情報「1.2」を示す。
【0054】
端末100Aは、T110において、ユーザから、MFP10との暗号化通信を開始するトリガとなる操作を受け付ける。上記の操作は、例えば、MFP10に印刷を実行させるための操作である。この場合、端末100Aは、T112において、候補情報をMFP10に送信する。T112の候補情報は、端末100Aが利用可能なTLSのバージョン及び暗号化方式を含む。即ち、T112の候補情報は、バージョン情報「1.2」と、暗号化方式リスト140Aと、を含む。
【0055】
MFP10は、T112において、端末100Aから候補情報を受信すると、T114において、MFP10と端末100Aとの間の暗号化通信で利用されるバージョン及び暗号化方式を決定する。ここで、MFP10は、
図5のT32において、HTTPに従った設定要求を受信済みである。また、本ケースでは、暗号化通信のトリガとなる操作を端末100Aが受け付けるので(T110参照)、MFP10はサーバとして動作する。従って、MFP10は、T114において、選択情報44及び第2の暗号化方式リスト40に基づいて、MFP10と端末100Aとの間の暗号化通信で利用されるバージョン及び暗号化方式を決定する。ここで、MFP10は、最もセキュリティが高いバージョン及び暗号化方式を決定する。
【0056】
具体的には、まず、MFP10は、暗号化通信で利用するバージョンを決定する。本ケースでは、選択情報44がバージョン情報「1.2」を示し、かつ、受信済みの候補情報内のバージョン情報が「1.2」である。従って、MFP10は、バージョン「1.2」を利用することを決定する。
【0057】
次いで、MFP10は、メモリ34内の第2の暗号化方式リスト40(
図3参照)を利用して、暗号化通信で利用する暗号化方式を決定する。まず、MFP10は、第2の暗号化方式リスト40から、選択情報44によって示されるバージョン情報「1.2」に関連付けられている(即ち丸印が付されている)各暗号化方式のうち、最も高いセキュリティを有する暗号化方式(即ち最上位の暗号化方式)を特定する。本ケースでは、MFP10は、5行目の暗号化方式「TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256」を特定する。特定済みの暗号化方式が受信済みの候補情報内の暗号化方式リスト140Aに含まれるので、MFP10は、上記の特定済みの暗号化方式を利用することを決定する。
【0058】
次いで、MFP10は、T116において、決定済みのバージョン及び決定済みの暗号化方式を端末100Aに送信する。このようにして、MFP10と端末100Aとの間で、暗号化通信で利用されるバージョン及び暗号化方式が共有される。
【0059】
その後、T118において、MFP10と端末100Aとの間で、暗号化通信で利用されるセッション鍵が共有される。セッション鍵は、MFP10と端末100Aとの間の暗号化通信の1個のセッションにおいて利用される鍵であり、決定済みの暗号化方式に従って生成される鍵であるこのようにして、MFP10と端末100Aとの間でセッション鍵が共有されるので、MFP10と端末100Aとの間で暗号化通信を実行することができる。
【0060】
その後、T120において、MFP10と端末100Aとの間で、T118で共有済みのセッション鍵を利用して、暗号化通信(例えば、印刷データの通信)が実行される。このようにして、MFP10と端末100Aとの間で暗号化通信を実行することができる。
【0061】
端末100Bは、T130において、ユーザから、MFP10との暗号化通信を開始するトリガとなる操作を受け付けると、T132において、候補情報をMFP10に送信する。T132の候補情報は、暗号化方式リスト140Bを含む点を除いて、T112の候補情報と同様である。
【0062】
MFP10は、T132において、端末100Bから候補情報を受信すると、T134において、MFP10と端末100Bとの間の暗号化通信で利用されるバージョン及び暗号化方式を決定する。暗号化通信で利用されるバージョン及び暗号化方式を決定するための手法はT114と同様であるが、本ケースでは、以下の理由により、エラーが決定される。
【0063】
まず、MFP10は、暗号化通信で利用するバージョンを決定する。本ケースでは、選択情報44がバージョン情報「1.2」を示し、かつ、T132で受信済みの候補情報内のバージョン情報が「1.2」であるので、MFP10は、バージョン「1.2」を利用することを決定する。
【0064】
次いで、MFP10は、メモリ34内の第2の暗号化方式リスト40(
図3参照)を利用して、暗号化通信で利用する暗号化方式を決定する。まず、MFP10は、第2の暗号化方式リスト40から、選択情報44によって示されるバージョン情報「1.2」に関連付けられている(即ち丸印が付されている)各暗号化方式のうち、最も高いセキュリティを有する暗号化方式(即ち最上位の暗号化方式)を特定する。本ケースでは、MFP10は、5行目の暗号化方式「TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256」を特定する。特定済みの暗号化方式は、受信済みの候補情報内の暗号化方式リスト140Bに含まれない。この場合MFP10は、第2の暗号化方式リスト40から、特定済みの暗号化方式の次に高いセキュリティを有する(即ち6行目の)暗号化方式「TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256」を特定する。この暗号化方式も、受信済みの候補情報内の暗号化方式リスト140Bに含まれない。以下、第2の暗号化方式リスト40の7行目~10行目の暗号化方式のいずれも、受信済みの候補情報内の暗号化方式リスト140Bに含まれない。従って、MFP10は、端末100Bから受信済みの候補情報内の暗号化方式リスト140Bと整合する暗号化方式が存在しないため、T134において、エラーを決定する。この場合、MFP10は、T136において、エラー情報を端末100Bに送信する。
【0065】
端末100Cは、T140において、ユーザから、MFP10との暗号化通信を開始するトリガとなる操作を受け付けると、T142において、候補情報をMFP10に送信する。T142の候補情報は、バージョン情報「1.3」及び暗号化方式リスト140Cを含む。
【0066】
MFP10は、T142において、端末100Cから候補情報を受信すると、T144において、MFP10と端末100Cとの間の暗号化通信で利用されるバージョン及び暗号化方式を決定する。暗号化通信で利用されるバージョン及び暗号化方式を決定するための手法はT114と同様であるが、本ケースでは、以下の理由により、エラーが決定される。
【0067】
まず、MFP10は、暗号化通信で利用するバージョンを決定する。本ケースでは、選択情報44がバージョン情報「1.2」を示し、かつ、T142で受信済みの候補情報内のバージョン情報が「1.3」である。従って、両者のバージョンが整合しないので、MFP10は、T144において、エラーを決定する。この場合、MFP10は、T146において、エラー情報を端末100Cに送信する。
【0068】
(ケースE;
図8)
続いて、
図8を参照して、サーババージョン情報としてバージョン情報「1.2/1.1/1.0」が選択されるケースEを説明する。ケースEは、
図6のT50の続きであり、選択情報44は、サーババージョン情報であるバージョン情報「1.2/1.1/1.0」を示す。T210及びT212は、それぞれ、
図7のT110及びT112と同様である。
【0069】
T214は、暗号化通信で利用されるバージョン及び暗号化方式が決定される手法が異なる点を除いて、
図7のT114と同様である。即ち、まず、MFP10は、選択情報44がバージョン情報「1.2/1.1/1.0」を示し、かつ、受信済みの候補情報内のバージョン情報が「1.2」であるので、MFP10は、バージョン「1.2」を利用することを決定する。
【0070】
次いで、MFP10は、メモリ34内の第2の暗号化方式リスト40(
図3参照)を利用して、暗号化通信で利用する暗号化方式を決定する。まず、MFP10は、第2の暗号化方式リスト40から、選択情報44によって示されるバージョン情報「1.2/1.1/1.0」に関連付けられている(即ち丸印が付されている)各暗号化方式のうち、最も高いセキュリティを有する暗号化方式(即ち最上位の暗号化方式)を特定する。本ケースでは、MFP10は、5行目の暗号化方式「TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256」を特定する。特定済みの暗号化方式が受信済みの候補情報内の暗号化方式リスト140Aに含まれるので、MFP10は、上記の特定済みの暗号化方式を利用することを決定する。T216~T220は、それぞれ、
図7のT116~T120と同様である。
【0071】
端末100Bは、T230において、ユーザから、MFP10との暗号化通信を開始するトリガとなる操作を受け付けると、T232において、候補情報をMFP10に送信する。T230及びT232は、それぞれ、
図7のT130及びT132と同様である。
【0072】
MFP10は、T232において、端末100Bから候補情報を受信すると、T234において、MFP10と端末100Bとの間の暗号化通信で利用されるバージョン及び暗号化方式を決定する。具体的には、以下のとおりである。
【0073】
まず、MFP10は、暗号化通信で利用するバージョンを決定する。本ケースでは、選択情報44がバージョン情報「1.2/1.1/1.0」を示し、かつ、T232で受信済みの候補情報内のバージョン情報が「1.2」であるので、MFP10は、バージョン「1.2」を利用することを決定する。
【0074】
次いで、MFP10は、メモリ34内の第2の暗号化方式リスト40(
図3参照)を利用して、暗号化通信で利用する暗号化方式を決定する。まず、MFP10は、第2の暗号化方式リスト40から、選択情報44によって示されるバージョン情報「1.2/1.1/1.0」に関連付けられている(即ち丸印が付されている)各暗号化方式のうち、最も高いセキュリティを有する暗号化方式(即ち最上位の暗号化方式)を特定する。本ケースでは、MFP10は、5行目の暗号化方式「TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256」を特定する。特定済みの暗号化方式は、受信済みの候補情報内の暗号化方式リスト140Bに含まれない。この場合、MFP10は、第2の暗号化方式リスト40から、特定済みの暗号化方式の次に高いセキュリティを有する(即ち6行目の)暗号化方式「TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256」を特定する。この暗号化方式も、受信済みの候補情報内の暗号化方式リスト140Bに含まれない。以下、第2の暗号化方式リスト40の7行目~10行目の暗号化方式のいずれも、受信済みの候補情報内の暗号化方式リスト140Bに含まれない。次いで、MFP10は、第2の暗号化方式リスト40から、11行目の暗号化方式「TLS_DHE_RSA_WITH_AES_128_GCM_SHA256」を特定する。この暗号化方式は、端末100Bから受信済みの候補情報内の暗号化方式リスト140Bに含まれるので、MFP10は、当該暗号化方式を利用することを決定する。その後の処理は、利用される暗号化方式が異なる点を除いて、T216~T220と同様である。
【0075】
端末100Cは、T240において、ユーザから、MFP10との暗号化通信を開始するトリガとなる操作を受け付けると、T242において、候補情報をMFP10に送信する。T240及びT242は、それぞれ、
図7のT140及びT142と同様である。
【0076】
T244の処理は、エラーが決定されるロジックが異なる点を除いて、
図7のT144と同様である。即ち、選択情報44がバージョン「1.2/1.1/1.0」を示し、かつ、受信済みの候補情報内のバージョン情報が「1.3」を示す。従って、両者のバージョンが整合しないので、MFP10は、T244において、エラーを決定する。この場合、MFP10は、T246において、エラー情報を端末100Cに送信する。
【0077】
(ケースF;
図9)
続いて、
図9を参照して、サーババージョン情報としてバージョン情報「1.3/1.2」が選択されるケースFを説明する。ケースEは、
図6のT50の続きであり、選択情報44は、サーババージョン情報であるバージョン情報「1.3/1.2」を示す。T310及びT312は、それぞれ、
図7のT110及びT112と同様である。
【0078】
T314は、暗号化通信で利用されるバージョン及び暗号化方式が決定される手法が異なる点を除いて、
図7のT114と同様である。即ち、まず、MFP10は、選択情報44がバージョン情報「1.3/1.2」を示し、かつ、受信済みの候補情報内のバージョン情報が「1.2」であるので、MFP10は、バージョン「1.2」を利用することを決定する。
【0079】
次いで、MFP10は、メモリ34内の第2の暗号化方式リスト40(
図3参照)を利用して、暗号化通信で利用する暗号化方式を決定する。まず、MFP10は、第2の暗号化方式リスト40から、選択情報44によって示されるバージョン「1.3/1.2」に関連付けられている(即ち丸印が付されている)各暗号化方式のうち、最も高いセキュリティを有する暗号化方式(即ち最上位の暗号化方式)を特定する。本ケースでは、MFP10は、2行目の暗号化方式「TLS_AES_128_GCM_SHA256」を特定する。特定済みの暗号化方式は、受信済みの候補情報内の暗号化方式リスト140Aに含まれない。この場合、MFP10は、第2の暗号化方式リスト40から、特定済みの暗号化方式の次に高いセキュリティを有する(即ち3行目の)暗号化方式「TLS_AES_256_GCM_SHA384」を特定する。この暗号化方式も、受信済みの候補情報内の暗号化方式リスト140Aに含まれない。同様に、第2の暗号化方式リスト40の4行目の暗号化方式も、受信済みの候補情報内の暗号化方式リスト140Aに含まれない。次いで、MFP10は、第2の暗号化方式リスト40から、5行目の暗号化方式「TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256」を特定する。この暗号化方式は、端末100Bから受信済みの候補情報内の暗号化方式リスト140Aに含まれるので、MFP10は、当該暗号化方式を利用することを決定する。その後の処理は、
図7のT116~T120と同様である。
【0080】
端末100Bは、T330において、ユーザから、MFP10との暗号化通信を開始するトリガとなる操作を受け付けると、T332において、候補情報をMFP10に送信する。T330及びT332は、それぞれ、
図7のT130及びT132と同様である。
【0081】
T334は、エラーが決定されるロジックが異なる点を除いて、
図7のT134と同様である。即ち、選択情報44がバージョン情報「1.3/1.2」を示し、かつ、受信済みの候補情報内のバージョン情報が「1.2」であるので、MFP10は、バージョン「1.2」を利用することを決定する。
【0082】
次いで、MFP10は、メモリ34内の第2の暗号化方式リスト40(
図3参照)を利用して、暗号化通信で利用する暗号化方式を決定する。まず、MFP10は、第2の暗号化方式リスト40から、選択情報44によって示されるバージョン情報「1.3/1.2」に関連付けられている(即ち丸印が付されている)各暗号化方式のうち、最も高いセキュリティを有する暗号化方式(即ち最上位の暗号化方式)を特定する。本ケースでは、MFP10は、2行目の暗号化方式「TLS_AES_128_GCM_SHA256」を特定する。特定済みの暗号化方式は、受信済みの候補情報内の暗号化方式リスト140Bに含まれない。この場合、MFP10は、第2の暗号化方式リスト40から、特定済みの暗号化方式の次に高いセキュリティを有する(即ち3行目の)暗号化方式「TLS_AES_256_GCM_SHA384」を特定する。この暗号化方式も、受信済みの候補情報内の暗号化方式リスト140Bに含まれない。以下、第2の暗号化方式リスト40の4行目~10行目の暗号化方式のいずれも、受信済みの候補情報内の暗号化方式リスト140Bに含まれない。従って、MFP10は、端末100Bから受信済みの候補情報内の暗号化方式リスト140Bと整合する暗号化方式が存在しないため、T334において、エラーを決定する。この場合、MFP10は、T336において、エラー情報を端末100Bに送信する。
【0083】
端末100Cは、T340において、ユーザから、MFP10との暗号化通信を開始するトリガとなる操作を受け付けると、T342において、候補情報をMFP10に送信する。T340及びT342は、それぞれ、
図7のT140及びT142と同様である。
【0084】
MFP10は、T342において、端末100Cから候補情報を受信すると、T344において、MFP10と端末100Cとの間の暗号化通信で利用されるバージョン及び暗号化方式を決定する。具体的には、以下のとおりである。
【0085】
まず、MFP10は、暗号化通信で利用するバージョンを決定する。本ケースでは、選択情報44がバージョン情報「1.3/1.2」を示し、かつ、T342で受信済みの候補情報内のバージョン情報が「1.3」である。従って、MFP10は、バージョン「1.3」を利用することを決定する。
【0086】
次いで、MFP10は、メモリ34内の第2の暗号化方式リスト40(
図3参照)を利用して、暗号化通信で利用する暗号化方式を決定する。まず、MFP10は、第2の暗号化方式リスト40から、選択情報44によって示されるバージョン「1.3/1.2」に関連付けられている(即ち丸印が付されている)暗号化方式のうち、最も高いセキュリティを有する暗号化方式(即ち最上位の暗号化方式)を特定する。本ケースでは、MFP10は、2行目の暗号化方式「TLS_AES_128_GCM_SHA256」を特定する。特定済みの暗号化方式が受信済みの候補情報内の暗号化方式リスト140Cに含まれるので、MFP10は、特定済みの暗号化方式を利用することを決定する。T346~T350は、利用されるバージョン及び暗号化方式が異なる点を除いて、
図7のT116~T120と同様である。特に、ケースFでは、第2の暗号化方式リスト40において、バージョン情報「1.3/1.2」は、上位9個の暗号化方式のみが関連付けられているので、これら以外の比較的低いセキュリティを有する暗号化方式は利用されない。従って、MFP10と端末100Cとの間でセキュアな通信を実現し得る。
【0087】
(第1実施例の効果)
上記の構成によると、MFP10は、バージョン「1.0」及び「1.1」を含まないと共に、バージョン「1.2」を含む設定要求を端末100Aから受信する場合(
図5のT32、
図6のケースA参照)に、設定情報をサーバ200に送信する(
図6のT42)。設定情報は、バージョン「1.2」と、第2の暗号化方式リスト40においてバージョン「1.2」に関連付けられている暗号化方式と、を含む。特に、設定情報は、MFP10が第2の暗号化方式リスト40の10行目以降の各暗号化方式を利用可能であるにもかかわらず(第1の暗号化方式リスト38(
図2)参照)、これらの暗号化方式を含まない。上記の通り、第2の暗号化方式リスト40の上の行に記述されている暗号化方式ほどセキュリティが高い。従って、セキュリティがより高い暗号化方式を利用することがサーバ200によって決定される。この結果、MFP10とサーバ200との間でセキュアな通信を実現することができる。
【0088】
また、上記の構成によると、MFP10は、バージョン「1.0」及び「1.1」を含まないと共に、バージョン「1.2」を含む設定要求を端末100Aから受信し(
図5のT32、
図7のケースD参照)、端末100Bから、バージョン「1.2」と暗号化方式リスト140Bとを含む候補情報を受信する(
図7のT132)。暗号化方式リスト140Bは、第2の暗号化方式リスト40の11行目以降の暗号化方式を含み、2~10行目の暗号化方式を含まない。この場合、MFP10は、第2の暗号化方式リスト40の11行目以降の各暗号化方式を利用可能であるにも関わらず(第1の暗号化方式リスト38(
図2)参照)、これらの暗号化方式のいずれも、暗号化通信に利用される暗号化方式として決定しない(T136)。従って、MFP10と端末100Bとの間で、セキュリティが比較的低い暗号化方式が利用された暗号化通信が実行されることが抑制される。このために、MFP10と端末100Bとの間セキュアな通信を実現し得る。
【0089】
また、上記の通り、TLSのバージョンが高くなるほどセキュリティも高くなるが、互換性が比較的低くなる可能性がある。特に、本実施例では、MFP10のメモリ34内の第2の暗号化方式リスト40が利用されて、暗号化通信で利用されるバージョン及び暗号化方式が決定される。設定画面SC1において、ユーザがバージョン情報「1.2」を選択する状況では、ユーザは、高い互換性よりも高いセキュリティを望んでいる可能性が高い。第2の暗号化方式リスト40では、バージョン情報「1.2」には、上位9個の暗号化方式のみが関連付けられているので、比較的高いセキュリティを有する暗号化方式のみが、利用される暗号化方式として決定され得る。従って、MFP10と他の装置との間でセキュアな通信を実現し得る。また、設定画面SC1において、ユーザがバージョン情報「1.2/1.1/1.0」を選択する状況では、ユーザは、高いセキュリティよりも高い互換性を望んでいる可能性が高い。第2の暗号化方式リスト40では、バージョン情報「1.2/1.1/1.0」には、全ての暗号化方式が関連付けられているので、暗号化通信の互換性を高めることができる。
【0090】
また、設定画面SC1(
図5のT26参照)では、ユーザは、バージョン情報のみを選択すれば、暗号化方式を選択しなくても、MFP10と他の装置との間の暗号化通信で利用されるバージョン及び暗号化方式が決定される。このために、ユーザの利便性が向上する。
【0091】
(対応関係)
TLSが、「暗号化通信プロトコル」の一例である。MFP10が、「第1の通信装置」の一例である。ケースA~ケースCでは、サーバ200が、「第2の通信装置」の一例である。ケースD~Fでは、端末100A~100Cのそれぞれが、「第2の通信装置」の一例である。バージョン1.1及び1.0が、「第1のバージョン」の一例である。バージョン1.2、バージョン1.3が、それぞれ、「第2のバージョン」、「第3のバージョン」の一例である。第2の暗号化方式リスト40の11行目以降の暗号化方式が、「第1の暗号化方式」の一例である。第2の暗号化方式リスト40のバージョン情報「1.2」に関連付けられている6個の暗号化方式(即ち5行目~10行目の暗号化方式)が、「第2の暗号化方式」の一例である。第2の暗号化方式リスト40のバージョン情報「1.3」に関連付けられている3個の暗号化方式(即ち2行目~4行目の暗号化方式)が、「第3の暗号化方式」の一例である。
図5のT32の設定要求が、「設定要求(及び第1~第3の設定要求)」の一例である。T42の設定情報、T62の設定情報、T72の設定情報が、それぞれ、「第1の設定情報」、「第2の設定情報」、「第3の設定情報」の一例である。
図7のT112の候補情報、T132の候補情報、T142の候補情報が、それぞれ、「第1の候補情報」、「第2の候補情報」、「第3の候補情報」の一例である。設定画面SC1が、「第1の画面」の一例である。
【0092】
図5のT30が、「取得部」によって実行される処理の一例である。
図6のT50、及び
図7のT120等が、「通信実行部部」によって実行される処理の一例である。
図6のT42、T62、及びT72が、「送信部」によって実行される処理の一例である。特に、
図6のT42、T62、T72が、それぞれ、「第1の送信部」、「第2の送信部」、「第3の送信部」によって実行される処理の一例である。
図7のT112、T132、及びT142等が、「受信部」によって実行される処理の一例である。
図7のT114、T134、T144等が、「決定部」によって実行される処理の一例である。
【0093】
(第2実施例)
続いて、第2実施例を説明する。第2実施例では、端末100Aにインストールされている設定アプリケーションプログラム138を利用して、設定要求をMFP10に送信する。特に、第2実施例では、ユーザは、バージョン情報の選択に加えて、暗号化方式の選択も可能である(
図10の設定画面SC10等参照)。
【0094】
図1に示されるように、MFP10のメモリ34は、さらに、候補テーブル46,48を記憶する。候補テーブル46は、クライアントとして動作するMFP10のためにユーザによって選択されたTLSのバージョンと、ユーザによって選択された暗号化方式と、を関連付けて記憶する。候補テーブル48は、サーバとして動作するMFP10のためにユーザによって選択されたTLSのバージョンと、ユーザによって選択された暗号化方式と、を関連付けて記憶する。
【0095】
また、端末100Aのメモリ134は、設定アプリケーションプログラム138をさらに記憶する。以下では、アプリケーションプログラムのことを「アプリ」と記載する。設定アプリ138は、MFP10の暗号化通信に関する設定を行うためのアプリである。設定アプリ138は、例えば、MFP10のベンダによって提供されるインターネット6上のサーバからダウンロードされ、端末100Aにインストールされる。
【0096】
(各装置間で実行される処理;
図10)
続いて、
図10を参照して、各装置間で実行される処理を説明する。端末100Aは、T410において、ユーザから、設定アプリ138を起動するための操作を受け付けると、T412において、設定アプリ138を起動する。T414以降の処理は、端末100AのCPU132が起動済みの設定アプリ138を実行することによって実現される。説明の便宜上、これらの処理を説明する際にも、端末100Aを処理の主体として記載する。
【0097】
端末100Aは、T414において、ユーザから、MFP10を選択する操作を受け付ける。例えば、設定アプリ138にはMFP10を含む1以上のMFPが登録済みであり、端末100Aは、T414において、登録済みの1以上のMFPの中からMFP10を選択する操作を受け付ける。この場合、端末100Aは、T416において、情報要求をMFP10に送信する。情報要求は、SNMPに従ったコマンドであり、MFP10が利用可能なTLSのバージョン及び暗号化方式のリストの送信を要求するコマンドである。
【0098】
MFP10は、T416において、端末100Aから情報要求を受信すると、T418において、対応情報を端末100Aに送信する。情報要求はSNMPに従ったコマンドであるので、T418の対応情報は、SNMPに対応する第1の暗号化方式リスト38を含む。
【0099】
端末100Aは、T418において、MFP10から対応情報を受信すると、T420において、設定画面SC10を表示する。設定画面SC10は、設定画面SC1内の各情報に加えて、クライアントバージョン選択欄に関連付けられている暗号化方式選択領域と、サーババージョン選択欄に関連付けられている暗号化方式選択領域と、を含む。各選択欄に関連付けられている暗号化方式選択領域は、受信済みの第1の暗号化方式リスト38に含まれる各暗号化方式と、各暗号化方式に関連付けられているチェックボックスと、を含む。T420の段階では、各バージョン選択欄にはバージョン情報が記述されていない。この場合、各暗号化方式は選択不可能な態様(本実施例ではグレーアウト)で表示されており、対応するチェックボックスの選択が不可能である。
【0100】
(
図10の続き;
図11)
図11のT430では、端末100Aは、クライアントバージョン選択欄において、選択肢「1.2」の選択を受け付けるとともに、サーババージョン選択欄において選択肢「1.2/1.1/1.0」の選択を受け付ける。この場合、端末100Aは、T432において、設定画面SC11を表示する。設定画面SC11では、クライアントバージョン選択欄、サーババージョン選択欄のそれぞれにおいて、選択済みのバージョン情報「1.2」、「1.2/1.1/1.0」がそれぞれ記述されている。また、暗号化方式選択領域では、受信済みの第1の暗号化方式リスト38において、各バージョン選択欄に記述されているバージョン情報に関連付けられている各暗号化方式が選択可能な態様で表示されており、チェックボックスにチェックが付されている。即ち、本ケースでは、第1の暗号化方式リスト38において、バージョン情報「1.2」、「1.2/1.1/1.0」のそれぞれについて、5行目以降の25個の暗号化方式が関連付けられているので、これらの25個の暗号化方式が選択可能な態様で表示されており、チェックボックスにチェックが付されている。なお、変形例では、設定画面SC11において、各チェックボックスにチェックは付されていなくてもよい。また、第1の暗号化方式リスト38において、バージョン情報「1.2」、「1.2/1.1/1.0」のそれぞれについて、関連付けられていない2行目~4行目の暗号化方式は選択不可能な態様で表示されている。
【0101】
その後、端末100Aは、T440において、設定画面SC11内のクライアントバージョン選択欄に関連付けられている暗号化方式選択領域において、暗号化方式「TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256」に対応するチェックボックスのチェックを外した後に、OKボタンの選択を受け付ける。この場合、端末100Aは、T442において、SNMPに従った設定要求をMFP10に送信する。設定要求は、クライアントバージョン情報と、クライアントバージョン選択欄に関連付けられている暗号化方式選択領域でチェックが付されている各暗号化方式と、を含むと共に、サーババージョン情報と、サーババージョン選択欄に関連付けられている暗号化方式選択領域でチェックが付されている各暗号化方式と、を含む。
【0102】
MFP10は、T442において、端末100Aから設定要求を受信すると、T444において、候補テーブル46,48を更新する。具体的には、MFP10は、まず、受信済みの設定要求に含まれるクライアントバージョン情報(本ケースでは「1.2」)と、クライアントバージョン選択欄に関連付けられている暗号化方式選択領域でチェックが付されている各暗号化方式(本ケースでは
図2のリスト38の6行目~29行目の暗号化方式)と、を関連付けて候補テーブル46に記憶する。次いで、MFP10は、受信済みの設定要求に含まれるクライアントバージョン情報(本ケースでは「1.2/1.1/1.0」)と、クライアントバージョン選択欄に関連付けられている暗号化方式選択領域でチェックが付されている各暗号化方式(本ケースでは
図2のリスト38の5行目以降の暗号化方式)と、を関連付けて候補テーブル48に記憶する。
【0103】
(
図11の続き;
図12)
MFP10は、T450において、サーバ200との暗号化通信を開始するトリガとなる操作を受け付けると、T452において、設定情報をサーバ200に送信する。設定情報は、候補テーブル46内の各情報(即ちバージョン情報「1.2」及び暗号化方式リスト)を含む。ここで、暗号化通信のトリガとなる操作を受け付けた装置が、当該暗号化通信においてクライアントとして動作する。即ち、本ケースでは、MFP10がクライアントとして動作する(T450参照)。従って、MFP10は、T452において、候補テーブル48ではなく候補テーブル46内の各情報をサーバ200に送信する。
【0104】
サーバ200は、T452において、MFP10から設定情報を受信すると、T454において、設定情報に含まれるバージョン情報及び暗号化方式リストに基づいて、MFP10とサーバ200との間の暗号化通信で利用されるバージョン及び暗号化方式を決定する。ここで、サーバ200は、最もセキュリティが高いバージョン及び暗号化方式を決定する。
【0105】
具体的には、まず、サーバ200は、暗号化通信で利用するバージョンを決定する。本ケースでは、サーバ200がTLSの全てのバージョンを利用可能であり、かつ、受信済みの設定情報に含まれるバージョン情報が「1.2」である。従って、サーバ200は、バージョン「1.2」を利用することを決定する。
【0106】
次いで、サーバ200は、メモリ234内の暗号化方式リスト238(
図2参照)を利用して、暗号化通信で利用する暗号化方式を決定する。まず、サーバ200は、暗号化方式リスト238から、受信済みの設定情報に含まれるバージョン情報「1.2」に関連付けられている(即ち丸印が付されている)各暗号化方式のうち、最も高いセキュリティを有する暗号化方式(即ち最上位の暗号化方式)を特定する。本ケースでは、サーバ200は、5行目の暗号化方式「TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256」を特定する。特定済みの暗号化方式は、受信済みの設定情報内の暗号化方式リストに含まれない。この場合、サーバ200は、特定済みの暗号化方式の次に高いセキュリティを有する(即ち6行目の)暗号化方式「TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256」を特定する。特定済みの暗号化方式が受信済みの設定情報内の暗号化方式リストに含まれるので、サーバ200は、上記の特定済みの暗号化方式を利用することを決定する。T456~T460は、それぞれ、暗号化方式が異なる点を除いて、
図6のT46~50と同様である。
【0107】
T470及びT472は、それぞれ、
図8のT210及びT212と同様である。MFP10は、T472において、端末100Aから候補情報を受信すると、T474において、MFP10と端末100Aとの間の暗号化通信で利用されるバージョン及び暗号化方式を決定する。ここで、MFP10は、
図11のT442において、SNMPに従った設定要求を受信済みである。また、本ケースでは、暗号化通信のトリガとなる操作を端末100Aが受け付けるので(T470参照)、MFP10はサーバとして動作する。従って、MFP10は、T474において、候補テーブル48に基づいて、MFP10と端末100Aとの間の暗号化通信で利用されるバージョン及び暗号化方式を決定する。ここで、MFP10は、最もセキュリティが高いバージョン及び暗号化方式を決定する。
【0108】
具体的には、まず、MFP10は、暗号化通信で利用するバージョンを決定する。本ケースでは、候補テーブル48内のバージョン情報が「1.2/1.1/1.0」を示し、かつ、受信済みの候補情報内のバージョン情報が「1.2」である。従って、MFP10は、バージョン「1.2」を利用することを決定する。
【0109】
次いで、MFP10は、メモリ34内の候補テーブル48(
図11参照)を利用して、暗号化通信で利用する暗号化方式を決定する。まず、MFP10は、候補テーブル48内の暗号化方式リストから、各暗号化方式のうち、最も高いセキュリティを有する暗号化方式(即ち最上位の暗号化方式)を特定する。本ケースでは、MFP10は、暗号化方式「TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256」を特定する。特定済みの暗号化方式が受信済みの候補情報内の暗号化方式リスト140Aに含まれるので、MFP10は、上記の特定済みの暗号化方式を利用することを決定する。T476~T480は、それぞれ、
図8のT216~T220と同様である。
【0110】
(第2実施例の効果)
このように、第2実施例では、ユーザは、設定画面SC10(
図10のT420参照)において、バージョン情報だけでなく、暗号化方式を選択することができる。このために、ユーザが所望の暗号化方式を利用した暗号化通信を実現し得る。特に、ユーザが選択可能な暗号化方式(即ち設定画面SC10等においてグレーアウトされない暗号化方式)は、第1の暗号化方式リスト38に基づいて決定される(
図10のT418参照)。従って、ユーザが選択可能な暗号化方式が第2の暗号化方式リスト40に基づいて決定される比較例と比較して、ユーザは、より多くの選択肢の中から適切な暗号化方式を選択することができる。
【0111】
(対応関係)
図11のT442の設定要求が、「第4の設定要求」の一例である。
図12のT452の設定情報が、「第4の設定情報」の一例である。
図11のT442でチェックが付されている暗号化方式、
図12のT472の候補情報内の暗号化方式が、それぞれ、「M個の暗号化方式」、「N個の暗号化方式」の一例である。設定画面SC11が、「第2の画面」の一例である。
【0112】
以上、本明細書が開示する技術の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0113】
(変形例1)MFP10は、ユーザから、操作部12を介してTLS設定を行うための操作を受け付ける場合に、設定画面SC1を表示部14に表示してもよい。本変形例では、当該操作を受け付けることが、「設定要求を取得する」ことの一例である。
【0114】
(変形例2)上記の実施例では、MFP10は、SNMPに従ったコマンドを受信する場合に第1の暗号化方式リスト38を利用し(
図11のT416、T418)、HTTPに従ったコマンドを受信する場合に第2の暗号化方式リスト40を利用していた(
図5のT32、
図6のT42参照)。変形例では、MFP10は、SNMPに従ったコマンドではなく、第1の暗号化方式リスト38を利用すべきことを示す情報を含むHTTPに従ったコマンドを受信する場合に、第1の暗号化方式リスト38を利用してもよい。
【0115】
(変形例3)上記で説明した技術は、TLS以外の暗号化通信プロトコルについても適用可能である。一般的に言うと、「暗号化通信プロトコル」は、TLSとは異なる暗号化通信プロトコルであってもよい。
【0116】
(変形例4)端末100Aは、
図10のT416及びT418を省略可能である。この場合、端末100Aは、T420において、各暗号化方式は選択可能な態様で表示されている設定画面を表示してもよい。また、当該設定画面の各バージョン選択欄においてバージョンが選択された後も、各暗号化方式は選択可能な態様で表示されていてもよい。
【0117】
(変形例5)上記の実施例では、
図5~
図12の各ステップの処理がソフトウェア(例えば、プログラム36,236、OSプログラム136)によって実現されるが、これらの各処理の少なくとも一つが、論理回路等のハードウェアによって実現されてもよい。
【0118】
本明細書または図面に説明した技術要素は、単独で、あるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【0119】
本特許出願時の特許請求の範囲において、各請求項が一部の請求項のみに従属している場合であっても、各請求項が当該一部の請求項のみに従属可能であることに限定されない。技術的に矛盾しない範囲において、各請求項は、出願時に従属していない他の請求項にも従属可能である。即ち、各請求項の技術は以下のように様々に組み合わせることができる。
(項目1)
第1の通信装置であって、
前記第1の通信装置は、暗号化通信プロトコルの第1のバージョンと、前記暗号化通信プロトコルの第2のバージョンであって、前記第1のバージョンよりも新しい前記第2のバージョンと、をサポートしており、
前記第1のバージョンは、第1の暗号化方式を利用可能であり、
前記第2のバージョンは、前記第1の暗号化方式を利用可能であると共に、前記第1の暗号化方式よりも高いセキュリティを有する第2の暗号化方式を利用可能であり、
前記第1の通信装置は、
前記暗号化通信プロトコルに関する設定要求を取得する取得部と、
前記設定要求が取得された後に、前記設定要求に応じた設定情報を第2の通信装置に送信する送信部と、
前記設定情報が前記第2の通信装置に送信された後に、前記設定情報に基づいて前記第2の通信装置によって決定されたバージョン及び暗号化方式を利用して、前記第2の通信装置との暗号化通信を実行する通信実行部と、
を備え、
前記送信部は、
前記第1のバージョンを示す第1のバージョン情報を含まないと共に前記第2のバージョンを示す第2のバージョン情報を含む第1の設定要求が取得される場合に、第1の設定情報を前記第2の通信装置に送信する第1の送信部であって、前記第1の設定情報は、前記第2のバージョン情報と、前記第2の暗号化方式を示す第2の方式情報と、を含むと共に、前記第2のバージョンが前記第1の暗号化方式を利用可能であるにも関わらず、前記第1の暗号化方式を示す第1の方式情報を含まない、前記第1の送信部と、
前記第1のバージョン情報と前記第2のバージョン情報とを含む第2の設定要求が取得される場合に、第2の設定情報を前記第2の通信装置に送信する第2の送信部であって、前記第2の設定情報は、前記第1のバージョン情報と、前記第2のバージョン情報と、前記第1の方式情報と、前記第2の方式情報と、を含む、前記第2の送信部と、
を備える、第1の通信装置。
(項目2)
前記第1の通信装置は、さらに、前記暗号化通信プロトコルの第3のバージョンであって、前記第2のバージョンよりも新しい前記第3のバージョンをサポートしており、
前記第3のバージョンは、前記第1の暗号化方式と前記第2の暗号化方式とを利用不可能であると共に、前記第2の暗号化方式よりも高いセキュリティを有する第3の暗号化方式を利用可能であり、
前記送信部は、さらに、
前記第1のバージョン情報を含まないと共に前記第2のバージョン情報と前記第3のバージョンを示す第3のバージョン情報とを含む第3の設定要求が取得される場合に、第3の設定情報を前記第2の通信装置に送信する第3の送信部であって、前記第3の設定情報は、前記第2のバージョン情報と、前記第3のバージョンを示す前記第3のバージョン情報と、前記第2の方式情報と、前記第3の暗号化方式を示す第3の方式情報と、を含むと共に、前記第2のバージョンが前記第1の暗号化方式を利用可能であるにも関わらず、前記第1の方式情報を含まない、前記第3の送信部を備える、項目1に記載の第1の通信装置。
(項目3)
前記取得部は、
第1の画面において前記第2のバージョンがユーザによって選択される場合に、前記第1のバージョン情報を含まないと共に前記第2のバージョン情報を含む前記第1の設定要求を取得し、
前記第1の画面において前記第1のバージョンと前記第2のバージョンとが前記ユーザによって選択される場合に、前記第1のバージョン情報と前記第2のバージョン情報とを含む前記第2の設定要求を取得し、
前記第1の画面は、前記ユーザが暗号化方式を選択不可能な態様を有する、項目1又は2に記載の第1の通信装置。
(項目4)
前記取得部は、さらに、前記第1の画面とは異なる第2の画面において、前記第2のバージョンが前記ユーザによって選択されると共に、前記第2のバージョンが利用可能な複数の暗号化方式であって、前記第1の暗号化方式と前記第2の暗号化方式とを含む前記複数の暗号化方式の中から1個以上の暗号化方式が前記ユーザによって選択される場合に、前記第2のバージョン情報と前記1個以上の暗号化方式を示す1個以上の方式情報とを含む第4の設定要求を取得し、
前記送信部は、さらに、前記第4の設定要求が取得される場合に、第4の設定情報を前記第2の通信装置に送信する第4の送信部であって、前記第4の設定情報は、前記第2のバージョン情報と前記1個以上の方式情報とを含む、前記第4の送信部を備える、項目3に記載の第1の通信装置。
(項目5)
前記暗号化通信プロトコルは、Transport Layer Security(TLS)に従ったプロトコルである、項目1から4のいずれか一項に記載の第1の通信装置。
(項目6)
第1の通信装置であって、
前記第1の通信装置は、暗号化通信プロトコルの第1のバージョンと、前記暗号化通信プロトコルの第2のバージョンであって、前記第1のバージョンよりも新しい前記第2のバージョンと、をサポートしており、
前記第1のバージョンは、第1の暗号化方式を利用可能であり、
前記第2のバージョンは、前記第1の暗号化方式を利用可能であると共に、前記第1の暗号化方式よりも高いセキュリティを有する第2の暗号化方式を利用可能であり、
前記第1の通信装置は、
前記暗号化通信プロトコルに関する設定要求を取得する取得部と、
前記設定要求が取得された後に、第2の通信装置から、前記第2の通信装置が利用可能な前記暗号化通信プロトコルのバージョンを示すバージョン情報と、前記第2の通信装置が利用可能な暗号化方式を示す方式情報と、を含む候補情報を受信する受信部と、
前記第2の通信装置との暗号化通信に利用されるべき前記暗号化通信プロトコルのバージョンである対象バージョンと、前記第2の通信装置との暗号化通信に利用されるべき暗号化方式である対象暗号化方式と、を決定する決定部と、
前記対象バージョン及び前記対象暗号化方式を利用して、前記第2の通信装置との前記暗号化通信を実行する通信実行部と、
を備え、
前記決定部は、
前記第1のバージョンを示す第1のバージョン情報を含まないと共に前記第2のバージョンを示す第2のバージョン情報を含む第1の設定要求が取得され、かつ、前記第2の通信装置から、前記第2のバージョン情報と、前記第2の暗号化方式を示す第2の方式情報と、を含む第1の候補情報が受信される場合に、前記第2のバージョンを前記対象バージョンとして決定すると共に前記第2の暗号化方式を前記対象暗号化方式として決定し、
前記第1の設定要求が取得され、かつ、前記第2の通信装置から、前記第2のバージョン情報と前記第1の暗号化方式を示す第1の方式情報とを含むと共に前記第2の方式情報を含まない第2の候補情報が受信される場合に、前記第2のバージョンが前記第1の暗号化方式を利用可能であるにも関わらず、前記第1の暗号化方式を前記対象暗号化方式として決定せず、
前記第1のバージョン情報と前記第2のバージョン情報とを含む第2の設定要求が取得され、かつ、前記第2の通信装置から前記第1の候補情報が受信される場合に、前記第2のバージョンを前記対象バージョンとして決定すると共に前記第2の暗号化方式を前記対象暗号化方式として決定し、
前記第2の設定要求が取得され、かつ、前記第2の通信装置から前記第2の候補情報が受信される場合に、前記第2のバージョンを前記対象バージョンとして決定すると共に前記第1の暗号化方式を前記対象暗号化方式として決定する、第1の通信装置。
(項目7)
前記第1の通信装置は、さらに、前記暗号化通信プロトコルの第3のバージョンであって、前記第2のバージョンよりも新しい前記第3のバージョンをサポートしており、
前記第3のバージョンは、前記第1の暗号化方式と前記第2の暗号化方式とを利用不可能であると共に、前記第2の暗号化方式よりも高いセキュリティを有する第3の暗号化方式を利用可能であり、
前記決定部は、さらに、
前記第1のバージョン情報を含まないと共に前記第2のバージョン情報と前記第3のバージョンを示す第3のバージョン情報とを含む第3の設定要求が取得され、かつ、前記第2の通信装置から、前記第3のバージョン情報を含まない前記第1の候補情報が受信される場合に、前記第2のバージョンを前記対象バージョンとして決定すると共に前記第2の暗号化方式を前記対象暗号化方式として決定し、
前記第3の設定要求が取得され、かつ、前記第2の通信装置から、前記第3のバージョン情報を含まない前記第2の候補情報が受信される場合に、前記第2のバージョンが前記第1の暗号化方式を利用可能であるにも関わらず、前記第1の暗号化方式を前記対象暗号化方式として決定せず、
前記第3の設定要求が取得され、かつ、前記第2の通信装置から、前記第3のバージョン情報と前記第3の暗号化方式を示す第3の方式情報とを含む第3の候補情報が受信される場合に、前記第3のバージョンを前記対象バージョンとして決定すると共に前記第3の暗号化方式を前記対象暗号化方式として決定する、
項目6に記載の第1の通信装置。
(項目8)
前記取得部は、
第1の画面において前記第2のバージョンがユーザによって選択される場合に、前記第1のバージョン情報を含まないと共に前記第2のバージョン情報を含む前記第1の設定要求を取得し、
前記第1の画面において前記第1のバージョンと前記第2のバージョンとが前記ユーザによって選択される場合に、前記第1のバージョン情報と前記第2のバージョン情報とを含む前記第2の設定要求を取得し、
前記第1の画面は、前記ユーザが暗号化方式を選択不可能な態様を有する、項目6又は7に記載の第1の通信装置。
(項目9)
前記取得部は、さらに、前記第1の画面とは異なる第2の画面において、前記第2のバージョンが前記ユーザによって選択されると共に、前記第2のバージョンが利用可能な複数の暗号化方式であって、前記第1の暗号化方式と前記第2の暗号化方式とを含む前記複数の暗号化方式の中からM個(前記Mは1以上の整数)の暗号化方式が前記ユーザによって選択される場合に、前記第2のバージョン情報と前記M個の暗号化方式を示すM個の方式情報とを含む第4の設定要求を取得し、
前記決定部は、さらに、前記第4の設定要求が取得され、かつ、前記第2の通信装置から、前記第2のバージョン情報と、N個(前記Nは1以上の整数)の暗号化方式を示すN個の方式情報と、を含む前記候補情報が受信される場合に、前記第2のバージョンを前記対象バージョンとして決定すると共に、前記M個の暗号化方式と前記N個の暗号化方式との双方に含まれる1個の暗号化方式を前記対象暗号化方式として決定する、項目8に記載の第1の通信装置。
(項目10)
前記暗号化通信プロトコルは、Transport Layer Security(TLS)に従ったプロトコルである、項目6から9のいずれか一項に記載の第1の通信装置。
(項目11)
第1の通信装置のためのコンピュータプログラムであって、
前記第1の通信装置は、暗号化通信プロトコルの第1のバージョンと、前記暗号化通信プロトコルの第2のバージョンであって、前記第1のバージョンよりも新しい前記第2のバージョンと、をサポートしており、
前記第1のバージョンは、第1の暗号化方式を利用可能であり、
前記第2のバージョンは、前記第1の暗号化方式を利用可能であると共に、前記第1の暗号化方式よりも高いセキュリティを有する第2の暗号化方式を利用可能であり、
前記コンピュータプログラムは、前記第1の通信装置のコンピュータを、以下の各部、即ち、
前記暗号化通信プロトコルに関する設定要求を取得する取得部と、
前記設定要求が取得された後に、前記設定要求に応じた設定情報を第2の通信装置に送信する送信部と、
前記設定情報が前記第2の通信装置に送信された後に、前記設定情報に基づいて前記第2の通信装置によって決定されたバージョン及び暗号化方式を利用して、前記第2の通信装置との暗号化通信を実行する通信実行部と、
として機能させ、
前記送信部は、
前記第1のバージョンを示す第1のバージョン情報を含まないと共に前記第2のバージョンを示す第2のバージョン情報を含む第1の設定要求が取得される場合に、第1の設定情報を前記第2の通信装置に送信する第1の送信部であって、前記第1の設定情報は、前記第2のバージョン情報と、前記第2の暗号化方式を示す第2の方式情報と、を含むと共に、前記第2のバージョンが前記第1の暗号化方式を利用可能であるにも関わらず、前記第1の暗号化方式を示す第1の方式情報を含まない、前記第1の送信部と、
前記第1のバージョン情報と前記第2のバージョン情報とを含む第2の設定要求が取得される場合に、第2の設定情報を前記第2の通信装置に送信する第2の送信部であって、前記第2の設定情報は、前記第1のバージョン情報と、前記第2のバージョン情報と、前記第1の方式情報と、前記第2の方式情報と、を含む、前記第2の送信部と、
を備える、コンピュータプログラム。
(項目12)
第1の通信装置のためのコンピュータプログラムであって、
前記第1の通信装置は、暗号化通信プロトコルの第1のバージョンと、前記暗号化通信プロトコルの第2のバージョンであって、前記第1のバージョンよりも新しい前記第2のバージョンと、をサポートしており、
前記第1のバージョンは、第1の暗号化方式を利用可能であり、
前記第2のバージョンは、前記第1の暗号化方式を利用可能であると共に、前記第1の暗号化方式よりも高いセキュリティを有する第2の暗号化方式を利用可能であり、
前記コンピュータプログラムは、前記第1の通信装置のコンピュータを、以下の各部、即ち、
前記暗号化通信プロトコルに関する設定要求を取得する取得部と、
前記設定要求が取得された後に、第2の通信装置から、前記第2の通信装置が利用可能な前記暗号化通信プロトコルのバージョンを示すバージョン情報と、前記第2の通信装置が利用可能な暗号化方式を示す方式情報と、を含む候補情報を受信する受信部と、
前記第2の通信装置との暗号化通信に利用されるべき前記暗号化通信プロトコルのバージョンである対象バージョンと、前記第2の通信装置との暗号化通信に利用されるべき暗号化方式である対象暗号化方式と、を決定する決定部と、
前記対象バージョン及び前記対象暗号化方式を利用して、前記第2の通信装置との前記暗号化通信を実行する通信実行部と、
として機能させ、
前記決定部は、
前記第1のバージョンを示す第1のバージョン情報を含まないと共に前記第2のバージョンを示す第2のバージョン情報を含む第1の設定要求が取得され、かつ、前記第2の通信装置から、前記第2のバージョン情報と、前記第2の暗号化方式を示す第2の方式情報と、を含む第1の候補情報が受信される場合に、前記第2のバージョンを前記対象バージョンとして決定すると共に前記第2の暗号化方式を前記対象暗号化方式として決定し、
前記第1の設定要求が取得され、かつ、前記第2の通信装置から、前記第2のバージョン情報と前記第1の暗号化方式を示す第1の方式情報とを含むと共に前記第2の方式情報を含まない第2の候補情報が受信される場合に、前記第2のバージョンが前記第1の暗号化方式を利用可能であるにも関わらず、前記第1の暗号化方式を前記対象暗号化方式として決定せず、
前記第1のバージョン情報と前記第2のバージョン情報とを含む第2の設定要求が取得され、かつ、前記第2の通信装置から前記第1の候補情報が受信される場合に、前記第2のバージョンを前記対象バージョンとして決定すると共に前記第2の暗号化方式を前記対象暗号化方式として決定し、
前記第2の設定要求が取得され、かつ、前記第2の通信装置から前記第2の候補情報が受信される場合に、前記第2のバージョンを前記対象バージョンとして決定すると共に前記第1の暗号化方式を前記対象暗号化方式として決定する、コンピュータプログラム。
【符号の説明】
【0120】
2:通信システム、10:MFP、12:操作部、14:表示部、16,116,216:通信I/F、18:印刷エンジン、20:スキャンエンジン、30,130,230:制御部、32、132,232:CPU、34,134,234:メモリ、36,236:プログラム、38:第1の暗号化方式リスト、40:第2の暗号化方式リスト、42,44:選択情報、46,48:候補テーブル、100A~100C:端末、136:OSプログラム、138:設定アプリケーションプログラム、140A~140C,238:暗号化方式リスト