[go: up one dir, main page]

JP6679867B2 - Communication system, communication device, and computer program - Google Patents

Communication system, communication device, and computer program Download PDF

Info

Publication number
JP6679867B2
JP6679867B2 JP2015192953A JP2015192953A JP6679867B2 JP 6679867 B2 JP6679867 B2 JP 6679867B2 JP 2015192953 A JP2015192953 A JP 2015192953A JP 2015192953 A JP2015192953 A JP 2015192953A JP 6679867 B2 JP6679867 B2 JP 6679867B2
Authority
JP
Japan
Prior art keywords
communication
encryption
service providing
encryption method
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015192953A
Other languages
Japanese (ja)
Other versions
JP2017069756A (en
Inventor
田中 聡
聡 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2015192953A priority Critical patent/JP6679867B2/en
Publication of JP2017069756A publication Critical patent/JP2017069756A/en
Application granted granted Critical
Publication of JP6679867B2 publication Critical patent/JP6679867B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、通信装置と、通信装置に対して特定のサービスを提供するサービス提供装置と、の通信技術に関する。   The present invention relates to a communication technique of a communication device and a service providing device that provides a specific service to the communication device.

特許文献1には、クライアント装置と、プリントサーバと、を含むネットワーク印刷システムが開示されている。クライアント装置は、インターネットを介して接続されたプリントサーバと通信を行って、プリントサーバが提供する印刷サービスを利用することができる。クライアント装置とプリントサーバとの間の通信には、共通鍵を用いて暗号化された通信が用いられる。   Patent Document 1 discloses a network printing system including a client device and a print server. The client device can communicate with a print server connected via the Internet to use the print service provided by the print server. Communication encrypted using a common key is used for communication between the client device and the print server.

特開2006−339847号公報JP, 2006-339847, A

しかしながら、上記技術では、クライアント装置が使用可能な暗号化方式の使用がプリントサーバによって拒否される場合には、クライアント装置と、プリントサーバとが、暗号通信を実行できない可能性があった。特に、プリントサーバが、クライアント装置に対して使用を許容する暗号化方式を変更した場合には、クライアント装置は、プリントサーバとの間で暗号通信が可能な状態から、プリントサーバとの間で暗号通信が不可能な状態となり、クライアント装置のユーザにとって不便であった。   However, in the above technique, when the print server refuses to use the encryption method that can be used by the client device, there is a possibility that the client device and the print server cannot execute encrypted communication. In particular, if the print server changes the encryption method that the client device is permitted to use, the client device will change from the state in which encrypted communication with the print server is possible to the encryption process with the print server. Communication becomes impossible, which is inconvenient for the user of the client device.

本明細書は、通信装置が使用可能な暗号化方式の使用が、特定のサービスを提供するサービス提供装置によって拒否される場合であっても、通信装置とサービス提供装置との間で、暗号通信が可能な状態を維持することができる技術を開示する。   This specification describes that encrypted communication is performed between a communication device and a service providing device even when the use of an encryption method that can be used by the communication device is rejected by a service providing device that provides a specific service. Disclosed is a technique capable of maintaining a possible state.

本明細書に開示された技術は、以下の適用例として実現することが可能である。   The technology disclosed in this specification can be implemented as the following application examples.

[適用例1]通信装置と、中継装置と、を含み、前記通信装置と前記中継装置とのそれぞれが、前記通信装置に対して特定のサービスを提供するサービス提供装置と通信を行う通信システムであって、前記通信装置は、前記中継装置を介さずに、前記サービス提供装置に対して、前記通信装置が使用可能な1個以上の暗号化方式を示す第1方式情報を送信する第1送信部と、前記第1方式情報の送信に対する応答として、前記第1方式情報に示される1個以上の暗号化方式のうちの使用すべき第1暗号化方式を示す第1方式通知と、前記第1方式情報に含まれる1個以上の暗号化方式の使用を拒否することを示す拒否通知と、のいずれかを、前記サービス提供装置から受信する第1受信部と、前記第1方式通知が受信される場合に、前記サービス提供装置との間に、前記第1暗号化方式に従う暗号通信を確立する第1確立部と、確立済の前記第1暗号化方式に従う暗号通信を用いて、前記中継装置を介さずに、前記サービス提供装置との間で、前記特定のサービスに関する対象データの通信を行う第1通信部と、前記拒否通知が受信される場合に、前記中継装置との間に、暗号通信を確立する第2確立部と、前記中継装置との間に確立済の暗号通信を用いて、前記中継装置を介して、前記サービス提供装置との間で、前記対象データの通信を行う第2通信部と、を備え、前記中継装置は、前記通信装置との間に、暗号通信を確立する第3確立部と、前記通信装置との間の暗号通信の確立後に、前記サービス提供装置に対して、前記中継装置が使用可能な複数個の暗号化方式を示す第2方式情報を送信する第2送信部であって、前記第2方式情報に含まれる1個以上の暗号化方式は、前記第1暗号化方式とは異なる暗号化方式を含む、前記第2送信部と、前記第2方式情報の送信に対する応答として、前記第2方式情報に含まれる1個以上の暗号化方式のうちの使用すべき第2暗号化方式を示す第2方式通知を、前記サービス提供装置から受信する第2受信部と、前記第2方式通知が受信される場合に、前記サービス提供装置との間に、前記第2暗号化方式に従う暗号通信を確立する第4確立部と、前記通信装置との間に確立済の暗号通信と、前記サービス提供装置との間に確立済の暗号通信とを用いて、前記通信装置と前記サービス提供装置との間の前記対象データの通信を中継する中継部と、
を備える、通信システム。
Application Example 1 In a communication system including a communication device and a relay device, each of the communication device and the relay device communicating with a service providing device that provides a specific service to the communication device. Therefore, the communication device transmits the first method information indicating one or more encryption methods that can be used by the communication device to the service providing device without passing through the relay device. And a first method notification indicating a first encryption method to be used among one or more encryption methods indicated in the first method information, as a response to the transmission of the first method information, A first receiving unit that receives from the service providing apparatus any one of a refusal notification indicating refusal to use one or more encryption methods included in one method information, and the first method notification is received. If the Using a first establishing unit that establishes encrypted communication according to the first encryption method and an encrypted communication according to the established first encryption method with a network providing device without using the relay device. A first communication unit that communicates target data relating to the specific service with the service providing device; and a first communication unit that establishes encrypted communication with the relay device when the refusal notification is received. A second communication unit that communicates the target data with the service providing device via the relay device by using encrypted communication established between the second establishing unit and the relay device; The relay device includes a third establishing unit that establishes encrypted communication with the communication device, and the encrypted communication between the communication device and the relay device, after establishing encrypted communication with the communication device. A number indicating the multiple encryption methods that the device can use A second transmitting unit for transmitting method information, wherein the one or more encryption methods included in the second method information include an encryption method different from the first encryption method. And, as a response to the transmission of the second scheme information, a second scheme notification indicating a second encryption scheme to be used among one or more encryption schemes included in the second scheme information, the service providing. A second receiving unit which is received from a device, and a fourth establishing unit which establishes encrypted communication according to the second encryption system between the service providing device when the second system notification is received; Relays the communication of the target data between the communication device and the service providing device by using the encrypted communication established with the communication device and the encrypted communication established with the service providing device. A relay unit that
A communication system comprising:

上記構成によれば、通信装置が使用可能な暗号化方式の使用がサービス提供装置に拒否される場合であっても、通信装置は、中継装置を介した暗号通信によって、サービス提供装置との間で、特定のサービスに関する対象データの通信を行うことができる。この結果、通信装置が使用可能な暗号化方式の使用がサービス提供装置に拒否される場合であっても、通信装置とサービス提供装置との間で、暗号通信が可能な状態を維持することができる。
[適用例2]
適用例1に記載の通信システムであって、
前記中継装置は、さらに、
前記第2方式通知が受信される場合に、第2方式通知に示される前記第2暗号化方式を記憶する第1記憶部と、
前記第2暗号化方式の記憶後に、前記通信装置から前記第1方式情報を受信する第3受信部と、
記憶済の前記第2暗号化方式を用いて、前記第1方式情報に含まれる1個以上の暗号化方式から、使用すべき第3暗号化方式を選択する選択部と、
前記第1方式情報の受信に対する応答として、前記第3暗号化方式を示す第3方式通知を、前記通信装置に対して送信する、第3送信部と、
を備え、
前記通信装置は、さらに、
前記第2暗号化方式の記憶後に、前記中継装置に対して、前記第1方式情報を送信する第4送信部と、
前記第1方式情報の送信に対する応答として、前記第3方式通知を、前記中継装置から受信する第4受信部と、
を備え、
前記通信装置の前記第2確立部は、前記第3方式通知が受信される場合に、前記中継装置との間に前記第3暗号化方式に従う暗号通信を確立する、通信システム。
[適用例3]
適用例2に記載の通信システムであって、
前記第2暗号化方式および前記第3暗号化方式は、装置の認証のための認証アルゴリズムと、通信データを暗号化するための暗号化アルゴリズムと、前記暗号化アルゴリズムで用いられる暗号化鍵を交換するための鍵交換アルゴリズムと、前記認証アルゴリズムと前記暗号化アルゴリズムと前記鍵交換アルゴリズムとの少なくとも一つで用いられるハッシュアルゴリズムと、を含む複数項目のアルゴリズムを含み、
前記中継装置の前記選択部は、
前記複数項目のアルゴリズムのうちの少なくとも1つの特定項目について、前記第2暗号化方式にて採用されるアルゴリズムを特定し、
前記第1方式情報に含まれる1個以上の暗号化方式のうち、少なくとも1つの前記特定項目について、前記第2暗号化方式にて採用されるアルゴリズムと同一または近似するアルゴリズムを採用する暗号化方式を、前記第3暗号化方式として選択する、通信システム。
[適用例4]
適用例3に記載の通信システムであって、
前記中継装置は、さらに、少なくとも1つの前記特定項目について、セキュリティレベルおよび処理速度の少なくとも一方に基づく、複数個のアルゴリズムから1個のアルゴリズムを選択する際の優先度を示す優先度情報を記憶する第2記憶部を備え、
前記中継装置の前記選択部は、前記優先度情報を用いて、前記第2暗号化方式にて採用されるアルゴリズムとセキュリティレベルおよび処理速度の少なくとも一方が同一または近似するアルゴリズムを採用する暗号化方式を、前記第3暗号化方式として選択する、画像処理装置。
[適用例5]
適用例2〜4のいずれかに記載の通信システムであって、
前記中継装置の前記第1記憶部は、前記第2暗号化方式を、前記サービス提供装置を示す識別子と関連付けて記憶し、
前記中継装置の前記第3受信部は、前記通信装置から、前記第1方式情報と前記サービス提供装置を示す前記識別子とを受信し、
前記中継装置の前記選択部は、前記サービス提供装置を示す前記識別子に関連付けて記憶される前記第2暗号化方式を用いて、前記第3暗号化方式を選択する、通信システム。
[適用例6]
適用例1〜5のいずれかに記載の通信システムであって、
前記通信装置は、光学的に原稿を読み取ることによって画像データを生成する生成部を備え、
前記対象データの通信は、前記通信装置から前記サービス提供装置への前記画像データの送信を含み、
前記中継装置は、さらに、
前記第4確立部が前記第2暗号化方式に従う暗号通信を確立した後に、前記第2暗号化方式に従う暗号通信の確立を示す確立通知を、前記通信装置に対して送信する第5送信部を備え、
前記通信装置は、さらに、
前記確立通知を受信する第5受信部と、
前記確立通知が受信され、前記中継装置との間の暗号通信が切断された後に、前記生成部を用いて前記画像データを生成する生成制御部と、
を備え、
前記通信装置の前記第2確立部は、前記画像データの生成後に、前記中継装置との間に、再度、暗号通信を確立し、
前記通信装置の前記第2通信部は、前記中継装置との間に確立済の暗号通信を用いて、前記画像データを前記通信装置に対して送信し、
前記中継装置の前記第3確立部は、前記画像データの生成後に、再度、前記通信装置との間に、再度、暗号通信を確立し、
前記中継装置の前記第2送信部は、前記サービス提供装置に対して、再度、前記第2方式情報を送信し、
前記中継装置の前記第2受信部は、前記第2方式通知を、前記サービス提供装置から、再度、受信し、
前記中継装置の前記第4確立部は、前記第2方式通知が、再度、受信される場合に、前記サービス提供装置との間に、前記第2暗号化方式に従う暗号通信を、再度、確立し、
前記中継装置の前記中継部は、前記通信装置との間に確立済の暗号通信を用いて、前記画像データを、前記通信装置から受信し、前記サービス提供装置との間に確立済の暗号通信を用いて、前記画像データを、前記サービス提供装置に対して送信する、通信システム。
[適用例7]
適用例1〜6のいずれかに記載の通信システムであって、
前記通信装置は、さらに、前記第2確立部によって前記中継装置との間に確立された暗号通信を用いて、通信すべき前記サービス提供装置との通信要求を、前記中継装置に対して送信する第6送信部を備え、
前記中継装置は、さらに、前記第3確立部によって前記サービス提供装置との間に確立された暗号通信を用いて、前記サービス提供装置との通信要求を、前記通信装置から受信する第6受信部を備え、
前記中継装置の前記第2送信部は、前記通信要求に基づいて、前記サービス提供装置に対して、前記第2方式情報を送信する、通信システム。
[適用例8]
適用例1〜7のいずれかに記載の通信システムであって、
前記対象データの通信は、アプリケーション層に属するアプリケーション間の通信であり、
前記第1方式情報および第2方式情報の送受信は、前記アプリケーションより下位の層での通信である、通信システム。
[適用例9]
適用例8に記載の通信システムであって、
前記第1方式情報および第2方式情報の送受信を行うプロトコルは、SSL(Secure Sockets Layer)/TLS(Transport Layer Security)である、コンピュータプログラム。
According to the above configuration, even when the service providing apparatus refuses to use the encryption method that can be used by the communication apparatus, the communication apparatus communicates with the service providing apparatus by encrypted communication via the relay apparatus. Thus, it is possible to communicate target data regarding a specific service. As a result, even when the service providing apparatus refuses to use the encryption method that can be used by the communication apparatus, it is possible to maintain a state in which the communication apparatus and the service providing apparatus can perform encrypted communication. it can.
[Application Example 2]
The communication system according to Application Example 1,
The relay device further includes
A first storage unit that stores the second encryption method indicated in the second method notification when the second method notification is received;
A third receiving unit that receives the first system information from the communication device after storing the second encryption system;
A selection unit for selecting a third encryption method to be used from one or more encryption methods included in the first method information using the stored second encryption method;
A third transmission unit that transmits a third method notification indicating the third encryption method to the communication device as a response to the reception of the first method information;
Equipped with
The communication device further comprises
A fourth transmission unit that transmits the first method information to the relay device after the second encryption method is stored,
A fourth receiving unit that receives the third system notification from the relay device as a response to the transmission of the first system information;
Equipped with
The communication system, wherein the second establishing unit of the communication device establishes encrypted communication according to the third encryption system with the relay device when the third system notification is received.
[Application Example 3]
The communication system according to Application Example 2,
The second encryption system and the third encryption system exchange an authentication algorithm for device authentication, an encryption algorithm for encrypting communication data, and an encryption key used in the encryption algorithm. A key exchange algorithm for, and a hash algorithm used in at least one of the authentication algorithm, the encryption algorithm and the key exchange algorithm, a plurality of items of algorithms,
The selection unit of the relay device,
For at least one specific item of the plurality of items of algorithm, specify an algorithm adopted in the second encryption method,
An encryption method that employs an algorithm that is the same as or similar to the algorithm used in the second encryption method for at least one of the specific items among one or more encryption methods included in the first method information. Is selected as the third encryption method.
[Application example 4]
The communication system according to Application Example 3,
The relay device further stores, for at least one of the specific items, priority information indicating a priority when selecting one algorithm from a plurality of algorithms based on at least one of a security level and a processing speed. A second storage unit,
The selecting unit of the relay device uses the priority information to adopt an encryption method in which at least one of security level and processing speed is the same as or close to that of the algorithm used in the second encryption method. Is selected as the third encryption method.
[Application example 5]
The communication system according to any one of Application Examples 2 to 4,
The first storage unit of the relay device stores the second encryption method in association with an identifier indicating the service providing device,
The third receiving unit of the relay device receives the first method information and the identifier indicating the service providing device from the communication device,
The communication system, wherein the selection unit of the relay device selects the third encryption method using the second encryption method stored in association with the identifier indicating the service providing apparatus.
[Application Example 6]
The communication system according to any one of Application Examples 1 to 5,
The communication device includes a generation unit that generates image data by optically reading a document,
The communication of the target data includes transmission of the image data from the communication device to the service providing device,
The relay device further includes
After the fourth establishing unit establishes the encrypted communication according to the second encryption method, the fifth transmitting unit transmits an establishment notification indicating establishment of encrypted communication according to the second encryption method to the communication device. Prepare,
The communication device further comprises
A fifth receiver that receives the establishment notification;
A generation control unit that generates the image data using the generation unit after the establishment notification is received and the encrypted communication with the relay device is disconnected;
Equipped with
The second establishing unit of the communication device establishes encrypted communication again with the relay device after the generation of the image data,
The second communication unit of the communication device transmits the image data to the communication device by using encrypted communication established with the relay device,
The third establishing unit of the relay device establishes encrypted communication again with the communication device after the image data is generated,
The second transmission unit of the relay device transmits the second scheme information again to the service providing device,
The second receiving unit of the relay device receives the second method notification from the service providing device again,
The fourth establishing unit of the relay device, when the second system notification is received again, re-establishes encrypted communication according to the second encryption system with the service providing device. ,
The relay unit of the relay device receives the image data from the communication device by using the encrypted communication established with the communication device, and the encrypted communication established with the service providing device. A communication system for transmitting the image data to the service providing apparatus by using.
[Application Example 7]
The communication system according to any one of Application Examples 1 to 6,
The communication device further transmits, to the relay device, a communication request with the service providing device to communicate by using the encrypted communication established with the relay device by the second establishing unit. A sixth transmitter,
The relay device further uses a cryptographic communication established with the service providing device by the third establishing unit to receive a communication request with the service providing device from the communication device. Equipped with
The communication system, wherein the second transmission unit of the relay device transmits the second method information to the service providing device based on the communication request.
[Application Example 8]
The communication system according to any one of Application Examples 1 to 7,
The communication of the target data is communication between applications belonging to the application layer,
A communication system in which the transmission and reception of the first method information and the second method information is communication in a layer lower than the application.
[Application Example 9]
A communication system according to Application Example 8,
A computer program, wherein a protocol for transmitting and receiving the first method information and the second method information is SSL (Secure Sockets Layer) / TLS (Transport Layer Security).

[適用例10]通信装置であって、中継装置を介さずに、特定のサービスを提供するサービス提供装置に対して、前記通信装置が使用可能な1個以上の暗号化方式を示す方式情報を送信する送信部と、前記方式情報の送信に対する応答として、前記方式情報に示される1個以上の暗号化方式のうちの使用すべき特定の暗号化方式を示す方式通知と、前記方式情報に含まれる1個以上の暗号化方式の使用を拒否することを示す拒否通知と、のいずれかを、前記サービス提供装置から受信する受信部と、前記方式通知が受信される場合に、前記サービス提供装置との間に、前記特定の暗号化方式に従う暗号通信を確立する第1確立部と、確立済の前記特定の暗号化方式に従う暗号通信を用いて、前記サービス提供装置との間で、前記特定のサービスに関する対象データの通信を行う第1通信部と、前記拒否通知が受信される場合に、前記中継装置との間に、暗号通信を確立する第2確立部と、前記中継装置との間に確立済の暗号通信を用いて、前記中継装置を介して、前記サービス提供装置との間で、前記対象データの通信を行う第2通信部と、を備える、通信装置。 Application Example 10 A communication apparatus, which transmits method information indicating one or more encryption methods that can be used by the communication apparatus to a service providing apparatus that provides a specific service without using a relay apparatus. A transmitting unit for transmitting, a method notification indicating a specific encryption method to be used among the one or more encryption methods indicated in the method information, as a response to the transmission of the method information, and included in the method information. A rejection notification indicating refusal to use one or more encryption methods from the service providing apparatus, and a service providing apparatus when the method notification is received. Between the service providing device and the first establishing unit that establishes encrypted communication according to the specific encryption method, and the encrypted communication according to the established specific encryption method. The service Between the first communication unit that communicates the target data regarding the network and the relay device when the refusal notification is received, and the second establishment unit that establishes the encrypted communication with the relay device. A second communication unit that communicates the target data with the service providing device via the relay device using established cryptographic communication.

上記構成によれば、通信装置が使用可能な暗号化方式の使用がサービス提供装置に拒否される場合であっても、通信装置は、中継装置を介した暗号通信によって、サービス提供装置との間で、特定のサービスに関する対象データの通信を行うことができる。この結果、通信装置が使用可能な暗号化方式の使用がサービス提供装置に拒否される場合であっても、通信装置とサービス提供装置との間で、暗号通信が可能な状態を維持することができる。   According to the above configuration, even when the service providing apparatus refuses to use the encryption method that can be used by the communication apparatus, the communication apparatus communicates with the service providing apparatus by encrypted communication via the relay apparatus. Thus, it is possible to communicate target data regarding a specific service. As a result, even when the service providing apparatus refuses to use the encryption method that can be used by the communication apparatus, it is possible to maintain a state in which encrypted communication can be performed between the communication apparatus and the service providing apparatus. it can.

[適用例11]中継装置のためのコンピュータプログラムであって、通信装置との間に、暗号通信を確立する第1確立機能と、前記通信装置との間の暗号通信の確立後に、特定のサービスを提供するサービス提供装置に対して、前記中継装置が使用可能な複数個の暗号化方式を示す方式情報を送信する送信機能であって、前記方式情報に含まれる1個以上の暗号化方式は、前記通信装置が使用可能な1個以上の暗号化方式とは異なる暗号化方式を含む、前記送信機能と、前記方式情報の送信に対する応答として、前記方式情報に含まれる1個以上の暗号化方式のうちの使用すべき特定の暗号化方式を示す方式通知を、前記サービス提供装置から受信する受信機能と、前記方式通知が受信される場合に、前記サービス提供装置との間に、前記特定の暗号化方式に従う暗号通信を確立する第2確立機能と、前記通信装置との間に確立済の暗号通信と、前記サービス提供装置との間に確立済の暗号通信と、を用いて、前記通信装置と前記サービス提供装置との間の前記対象データの通信を中継する中継機能と、をコンピュータに実現させる、コンピュータプログラム。
Application Example 11 A computer program for a relay device, comprising a first establishing function for establishing encrypted communication with a communication device, and a specific service after establishing encrypted communication with the communication device. Is a transmission function for transmitting method information indicating a plurality of encryption methods that can be used by the relay device to a service providing apparatus that provides, and one or more encryption methods included in the method information are A transmission function including an encryption method different from one or more encryption methods usable by the communication device, and one or more encryption methods included in the method information as a response to the transmission of the method information. Between the receiving function of receiving a method notification indicating the specific encryption method to be used from the service providing apparatus from the service providing apparatus and the service providing apparatus when the method notification is received, Using a second establishing function for establishing an encrypted communication according to a fixed encryption method, an encrypted communication established with the communication device, and an encrypted communication established with the service providing device, A computer program that causes a computer to realize a relay function of relaying communication of the target data between the communication device and the service providing device.

上記構成によれば、中継装置は、通信装置との間に暗号通信を確立するとともに、サービス提供サーバ300との間に暗号通信を確立する。従って、通信装置が使用可能な暗号化方式の使用がサービス提供装置に拒否される場合であっても、中継装置を介した暗号通信によって、サービス提供装置との間で、特定のサービスに関する対象データの通信を行うことができる。この結果、通信装置が使用可能な暗号化方式の使用がサービス提供装置に拒否される場合であっても、通信装置とサービス提供装置との間で、暗号通信が可能な状態を維持することができる。   According to the above configuration, the relay device establishes the encrypted communication with the communication device and also establishes the encrypted communication with the service providing server 300. Therefore, even when the service providing apparatus refuses to use the encryption method that can be used by the communication apparatus, the target data related to the specific service is exchanged with the service providing apparatus by the encrypted communication via the relay apparatus. Can communicate. As a result, even when the service providing apparatus refuses to use the encryption method that can be used by the communication apparatus, it is possible to maintain a state in which encrypted communication can be performed between the communication apparatus and the service providing apparatus. it can.

なお、本発明は、種々の形態で実現することが可能であり、例えば、通信装置と、前記通信装置に対して特定のサービスを提供するサービス提供装置と、の通信を中継する中継装置、通信装置と前記通信装置に対して特定のサービスを提供するサービス提供装置と、の通信方法、通信装置のためのコンピュータプログラム、上記のコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。   The present invention can be implemented in various forms, for example, a relay device that relays communication between a communication device and a service providing device that provides a specific service to the communication device, and a communication device. Method of communication between a device and a service providing device that provides a specific service to the communication device, a computer program for the communication device, and a recording medium recording the computer program (for example, a non-transitory recording medium) , Etc. can be realized.

本実施例としてのシステム1000の構成を示すブロック図である。It is a block diagram showing a configuration of a system 1000 as a present embodiment. システム1000内の装置が有する情報の概念図である。3 is a conceptual diagram of information held by devices in the system 1000. FIG. システム1000の通信の一例を示すシーケンス図である。9 is a sequence diagram showing an example of communication of the system 1000. FIG. システム1000の通信の一例を示すシーケンス図である。9 is a sequence diagram showing an example of communication of the system 1000. FIG. システム1000の通信の一例を示すシーケンス図である。9 is a sequence diagram showing an example of communication of the system 1000. FIG. 使用暗号化方式の選択のフローチャートである。It is a flowchart of selection of a used encryption method.

A.実施例:
A−1:システム1000の構成
次に、実施の形態を実施例に基づき説明する。図1は、本実施例としてのシステム1000の構成を示すブロック図である。図2は、システム1000内の装置が有する情報の概念図である。
A. Example:
A-1: Configuration of System 1000 Next, an embodiment will be described based on an example. FIG. 1 is a block diagram showing the configuration of a system 1000 according to this embodiment. FIG. 2 is a conceptual diagram of information held by devices in the system 1000.

システム1000は、通信装置としてのデバイス100と、中継サーバ200と、サービス提供サーバ300と、を備える。デバイス100は、LAN(Local Area Network)70に接続されている。LAN70は、インターネット80に接続されている。中継サーバ200、および、サービス提供サーバ300は、インターネット80に接続されている。この結果、デバイス100と中継サーバ200、および、中継サーバ200とサービス提供サーバ300は、LAN70やインターネット80を介して、互いに通信することができる。   The system 1000 includes a device 100 as a communication device, a relay server 200, and a service providing server 300. The device 100 is connected to a LAN (Local Area Network) 70. The LAN 70 is connected to the Internet 80. The relay server 200 and the service providing server 300 are connected to the Internet 80. As a result, the device 100 and the relay server 200, and the relay server 200 and the service providing server 300 can communicate with each other via the LAN 70 or the Internet 80.

デバイス100は、画像の印刷や画像のスキャンなどの画像処理を実行する、いわゆる複合機である。デバイス100は、複合機に限らず、スキャナ、プリンタ、デジタルカメラなどの他の画像処理デバイスであってもよく、携帯端末装置、パーソナルコンピュータなどの汎用デバイスであっても良い。デバイス100は、CPU110と、ハードディスクドライブやEEPROMなどの不揮発性記憶装置120と、RAMなどの揮発性記憶装置130と、所定の方式(例えば、レーザ方式や、インクジェット方式)で画像を印刷するプリンタ部140と、光学的に対象物(例えば、紙の文書)を読み取ることによってスキャンデータを生成するスキャナ部150と、タッチパネルやボタンなどの操作部160と、タッチパネルと重畳された液晶パネルなどの表示部170と、ネットワークインタフェース(IF)180と、を備えている。ネットワークIF180は、例えば、イーサネット(登録商標)規格に準拠したインタフェースであり、LAN70に接続するために用いられる。   The device 100 is a so-called multi-function peripheral that executes image processing such as image printing and image scanning. The device 100 is not limited to the multifunction peripheral, and may be another image processing device such as a scanner, a printer, a digital camera, or a general-purpose device such as a mobile terminal device or a personal computer. The device 100 includes a CPU 110, a nonvolatile storage device 120 such as a hard disk drive or an EEPROM, a volatile storage device 130 such as RAM, and a printer unit that prints an image by a predetermined method (for example, a laser method or an inkjet method). 140, a scanner unit 150 that generates scan data by optically reading an object (for example, a paper document), an operation unit 160 such as a touch panel and buttons, and a display unit such as a liquid crystal panel that is superimposed on the touch panel. 170 and a network interface (IF) 180. The network IF 180 is, for example, an interface compliant with the Ethernet (registered trademark) standard, and is used to connect to the LAN 70.

不揮発性記憶装置120は、コンピュータプログラムPG1と、サーバ情報SIと、暗号化方式リストCL1と、を格納している。揮発性記憶装置130には、CPU110が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域131が設けられている。   The non-volatile storage device 120 stores a computer program PG1, server information SI, and an encryption method list CL1. The volatile storage device 130 is provided with a buffer area 131 for temporarily storing various intermediate data generated when the CPU 110 performs processing.

コンピュータプログラムPG1は、デバイス100の出荷時に、予め不揮発性記憶装置120に記憶される形態で提供される。コンピュータプログラムPG1は、インターネット80を介してデバイス100に接続されたサーバからダウンロードされる形態で提供されても良く、CD−ROMやDVD−ROMなどに格納された形態で提供されても良い。   The computer program PG1 is provided in a form of being stored in the nonvolatile storage device 120 in advance when the device 100 is shipped. The computer program PG1 may be provided in the form of being downloaded from a server connected to the device 100 via the Internet 80, or may be provided in the form of being stored in a CD-ROM, a DVD-ROM or the like.

CPU110は、コンピュータプログラムPG1を実行することにより、デバイス100のコントローラーとして機能する。たとえば、CPU110は、プリンタ部140やスキャナ部150を制御して印刷やスキャンを実行する。また、CPU110は、中継サーバ200を介さずに、あるいは、中継サーバ200を介して、サービス提供サーバ300と通信を行うサーバ通信機能を実現できる。詳細は後述するが、本実施例のサーバ通信機能は、サービス提供サーバ300に対して、デバイス100において生成したスキャンデータを送信するために実行される。   The CPU 110 functions as a controller of the device 100 by executing the computer program PG1. For example, the CPU 110 controls the printer unit 140 and the scanner unit 150 to execute printing and scanning. Further, the CPU 110 can realize a server communication function of communicating with the service providing server 300 without the relay server 200 or via the relay server 200. Although details will be described later, the server communication function of the present embodiment is executed to transmit the scan data generated in the device 100 to the service providing server 300.

サーバ情報SIは、サーバ通信機能において通信すべきサーバの情報である。サーバ情報SIは、デバイス100が、通信を行うべき中継サーバ200およびサービス提供サーバ300を示す情報、具体的には、URL(Uniform Resource Locatorの略)と、サービス提供サーバ300にログインするための認証情報(ユーザ名およびパスワード)を含む。   The server information SI is information on the server to be communicated in the server communication function. The server information SI is information for the device 100 to indicate the relay server 200 and the service providing server 300 with which to communicate, specifically, a URL (abbreviation of Uniform Resource Locator) and authentication for logging in to the service providing server 300. Contains information (username and password).

暗号化方式リストCL1は、デバイス100が使用可能な1個以上の暗号化方式を示すリストである。暗号化方式は、デバイス100と、デバイス100とネットワークを介して接続された外部装置(例えば、中継サーバ200やサービス提供サーバ300)と、の間の暗号通信の方式である。暗号化方式は、暗号通信に用いられる複数項目のアルゴリズムを並べて示す暗号化スイートによって定義される。   The encryption method list CL1 is a list showing one or more encryption methods that the device 100 can use. The encryption method is an encryption communication method between the device 100 and an external device (for example, the relay server 200 or the service providing server 300) connected to the device 100 via a network. The encryption method is defined by an encryption suite that shows the algorithms of a plurality of items used for encrypted communication side by side.

図2(A)には、暗号化方式リストCL1の一例が示されている。暗号化方式リストCL1は、暗号化方式をそれぞれ示す複数個の暗号化スイートを含んでいる。1個の暗号化方式に含まれる複数項目のアルゴリズムは、鍵交換アルゴリズムと、認証アルゴリズムと、暗号化アルゴリズムと、ハッシュアルゴリズムと、を含んでいる。   FIG. 2A shows an example of the encryption method list CL1. The encryption method list CL1 includes a plurality of encryption suites each indicating an encryption method. Algorithms of a plurality of items included in one encryption method include a key exchange algorithm, an authentication algorithm, an encryption algorithm, and a hash algorithm.

鍵交換アルゴリズムは、通信データの暗号化に用いられる暗号化鍵(共有鍵)を、通信を行う2個の装置間で交換するためのアルゴリズムである。鍵交換アルゴリズムには、例えば、「RSA」、「DHE(Diffie-Hellman key Exchangeの略)」、「ECDHE(Elliptic Curve Diffie-Hellman key Exchangeの略)」が用いられる。   The key exchange algorithm is an algorithm for exchanging an encryption key (shared key) used for encryption of communication data between two devices that perform communication. For the key exchange algorithm, for example, “RSA”, “DHE (abbreviation of Diffie-Hellman key Exchange)”, and “ECDHE (abbreviation of Elliptic Curve Diffie-Hellman key Exchange)” are used.

RSA鍵交換アルゴリズムは、第1装置が、第2装置の公開鍵を用いて共有鍵を暗号化した暗号データを第2装置に送信するプロセスを含む。第2装置は、自信の秘密鍵を用いて、暗号データを復号することによって、共有鍵を取得する。第3者は、秘密鍵を持っていないので、盗聴した暗号通信を復号することはできない。しかし、第3者は、将来、秘密鍵を入手できた場合、それまでに盗聴した暗号通信を復号して見ることができる。したがって、RSA鍵交換アルゴリズムは、いわゆるPFS(Perfect Forward Secrecyの略)を達成できない。   The RSA key exchange algorithm includes a process in which the first device sends to the second device encrypted data in which the shared key is encrypted using the public key of the second device. The second device obtains the shared key by decrypting the encrypted data with the confidence secret key. Since the third party does not have the private key, the third party cannot decrypt the intercepted encrypted communication. However, if a secret key can be obtained in the future, the third party can decrypt and view the encrypted communication that has been eavesdropped by then. Therefore, the RSA key exchange algorithm cannot achieve so-called PFS (abbreviation of Perfect Forward Secrecy).

一方、DHE鍵交換アルゴリズムや、ECDHE鍵交換アルゴリズムでは、セッション毎に第1装置と第2装置のそれぞれによって生成されるランダムなパラメータを用いて、共有鍵の交換を行う。これらのパラメータは、漏洩しても別のセッションでの通信のセキュリティには何ら影響を及ぼさない。したがって、DHE鍵交換アルゴリズムや、ECDHE鍵交換アルゴリズムでは、いわゆるPFSを達成できる。   On the other hand, in the DHE key exchange algorithm and the ECDHE key exchange algorithm, the shared key is exchanged using random parameters generated by the first device and the second device for each session. If these parameters are leaked, they have no effect on the security of communication in another session. Therefore, so-called PFS can be achieved by the DHE key exchange algorithm and the ECDHE key exchange algorithm.

この観点からは、DHE鍵交換アルゴリズムやECDHE鍵交換アルゴリズムは、RSA鍵交換アルゴリズムよりセキュリティレベルが高いということができる。   From this point of view, it can be said that the DHE key exchange algorithm and the ECDHE key exchange algorithm have a higher security level than the RSA key exchange algorithm.

認証アルゴリズムは、通信を行う2個の装置のうち、少なくとも一方の装置の認証を行うためのアルゴリズムである。認証アルゴリズムには、例えば、「RSA」、「DSA(Digital Signature Algorithmの略)」が用いられる。   The authentication algorithm is an algorithm for authenticating at least one of the two devices that perform communication. As the authentication algorithm, for example, “RSA” and “DSA (abbreviation of Digital Signature Algorithm)” are used.

暗号化アルゴリズムは、交換された暗号化鍵(共有鍵)を用いて通信データを暗号化するためのアルゴリズムである。暗号化アルゴリズムには、例えば、「DES(Data Encryption Standardの略)」、「3DES(Triple Data Encryption Standardの略)」、「AES(Advanced Encryption Standardの略)」が用いられる。なお、暗号化アルゴリズムを示す各アルファベットの末尾に、暗号化鍵の鍵長を示す数字(例えば、128、256)を付加して、例えば、DES128、DES256と表現する。同じ種類の暗号化アルゴリズム間では、鍵長が長いほどセキュリティレベルが高い。   The encryption algorithm is an algorithm for encrypting communication data using the exchanged encryption key (shared key). As the encryption algorithm, for example, "DES (abbreviation of Data Encryption Standard)", "3DES (abbreviation of Triple Data Encryption Standard)", and "AES (abbreviation of Advanced Encryption Standard)" are used. It should be noted that a numeral (for example, 128, 256) indicating the key length of the encryption key is added to the end of each alphabet indicating the encryption algorithm, and expressed as, for example, DES128 and DES256. Among encryption algorithms of the same type, the longer the key length, the higher the security level.

ハッシュアルゴリズムは、データのダイジェストを生成するためのアルゴリズムである。ハッシュアルゴリズムは、他のアルゴリズムの少なくとも一つで用いられる。ハッシュアルゴリズムは、例えば、認証アルゴリズムにおいて、署名データの生成や、電子証明書の検証などに用いられる。ハッシュアルゴリズムには、例えば、「SHA(Secure Hash Algorithmの略)1」、「SHA256」、「SHA512」などが用いられる。セキュリティレベルは、「SHA512」>「SHA256」>「SHA1」の順に高い。   The hash algorithm is an algorithm for generating a digest of data. The hash algorithm is used in at least one of the other algorithms. The hash algorithm is used, for example, in the authentication algorithm to generate signature data and verify a digital certificate. As the hash algorithm, for example, "SHA (abbreviation of Secure Hash Algorithm) 1", "SHA256", "SHA512" or the like is used. The security level increases in the order of “SHA512”> “SHA256”> “SHA1”.

ここで、本実施例では、図2に示すように、4種類の暗号化方式A〜Dが用いられる。図2には、各暗号化方式A〜Dを示す暗号化スイートが示されている。これらの暗号化スイートから解るように、暗号化方式Aの鍵交換−認証−暗号化−ハッシュのアルゴリズムの組み合わせは、「RSA」−「RSA」−「AES128」−「SHA256」である。そして、暗号化方式Bのアルゴリズムの組み合わせは、「RSA」−「RSA」−「AES256」−「SHA256」である。暗号化方式Cのアルゴリズムの組み合わせは、「DHE」−「RSA」−「AES128」−「SHA1」である。のアルゴリズムの組み合わせは、「DHE」−「RSA」−「AES256」−「SHA1」である。   Here, in this embodiment, as shown in FIG. 2, four types of encryption methods A to D are used. FIG. 2 shows an encryption suite indicating each of the encryption methods A to D. As can be seen from these cipher suites, the combination of the key exchange-authentication-encryption-hashing algorithms of encryption method A is "RSA"-"RSA"-"AES128"-"SHA256". The combination of the algorithms of the encryption method B is "RSA"-"RSA"-"AES256"-"SHA256". The combination of the algorithms of the encryption method C is "DHE"-"RSA"-"AES128"-"SHA1". The combination of the algorithms is “DHE”-“RSA”-“AES256”-“SHA1”.

図2(A)に示すように、暗号化方式リストCL1は、暗号化方式Aを示す暗号化スイートと、暗号化方式Bを示す暗号化スイートと、を含む。すなわち、デバイス100は、2個の暗号化方式A、Bを使用可能である。図2(A)に示すように、暗号化方式A、Bは、鍵交換アルゴリズムとして、「RSA」を採用しており、よりセキュリティレベルが高い「DHE」や「ECDHE」を採用していない。   As shown in FIG. 2A, the encryption method list CL1 includes an encryption suite indicating the encryption method A and an encryption suite indicating the encryption method B. That is, the device 100 can use the two encryption methods A and B. As shown in FIG. 2A, the encryption methods A and B adopt "RSA" as a key exchange algorithm, and do not adopt "DHE" or "ECDHE" having a higher security level.

中継サーバ200(図1)は、デバイス100のベンダによって提供されるサーバである。中継サーバ200は、詳細は後述するが、デバイス100を含む複数個のデバイスと、サービス提供サーバ300を含む複数個のサービス提供サーバと、の間の通信を中継する。   Relay server 200 (FIG. 1) is a server provided by the vendor of device 100. Although the details will be described later, the relay server 200 relays communication between a plurality of devices including the device 100 and a plurality of service providing servers including the service providing server 300.

中継サーバ200は、CPU210と、ハードディスクドライブなどの不揮発性記憶装置220と、RAMなどの揮発性記憶装置230と、インターネット80と接続するためのネットワークIF280と、を備えている。   The relay server 200 includes a CPU 210, a non-volatile storage device 220 such as a hard disk drive, a volatile storage device 230 such as RAM, and a network IF 280 for connecting to the Internet 80.

不揮発性記憶装置220は、コンピュータプログラムPG2と、暗号化方式リストCL2と、登録テーブルCTと、参照情報RIと、を格納している。揮発性記憶装置230には、CPU210が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域231が設けられている。   The non-volatile storage device 220 stores a computer program PG2, an encryption method list CL2, a registration table CT, and reference information RI. The volatile storage device 230 is provided with a buffer area 231 that temporarily stores various intermediate data generated when the CPU 210 performs processing.

コンピュータプログラムPG2は、インターネット80を介して接続されるベンダの計算機からアップロードされる形態で提供されても良く、CD−ROMやDVD−ROMなどに格納された形態で提供されても良い。CPU210は、コンピュータプログラムPG2を実行することによって、中継サーバ200のコントローラーとしての機能を実現する。これらの機能の詳細は、後述する。   The computer program PG2 may be provided in a form uploaded from a computer of a vendor connected via the Internet 80, or may be provided in a form stored in a CD-ROM, a DVD-ROM or the like. The CPU 210 realizes the function of the relay server 200 as a controller by executing the computer program PG2. Details of these functions will be described later.

暗号化方式リストCL2は、中継サーバ200が使用可能な複数個の暗号化方式を示すリストである。図2(B)に示すように、暗号化方式リストCL2には、暗号化方式リストCL1に示される暗号化方式A、Bを示す暗号化スイートに加えて、暗号化方式リストCL1に示される暗号化方式とは異なる暗号化方式C、Dを示す暗号化スイートを含む。すなわち、中継サーバ200は、異なる4個の暗号化方式A〜Dを使用可能である。中継サーバ200は、デバイス100だけでなく、図示しない複数個のデバイス、例えば、中継サーバ200を提供するベンダが販売している複合機、スキャナ、プリンタとの通信を行う。また、中継サーバ200は、サービス提供サーバ300や、図示しない複数個のサービス提供サーバとの通信を行う。このために、中継サーバ200は、これらのデバイスやサービス提供サーバが使用し得る多数の暗号化方式を使用できることが好ましい。   The encryption method list CL2 is a list showing a plurality of encryption methods that can be used by the relay server 200. As shown in FIG. 2B, in the encryption method list CL2, in addition to the encryption suites showing the encryption methods A and B shown in the encryption method list CL1, the encryption shown in the encryption method list CL1 is added. An encryption suite indicating encryption methods C and D different from the encryption method is included. That is, the relay server 200 can use four different encryption methods A to D. The relay server 200 communicates not only with the device 100, but also with a plurality of devices (not shown) such as a multifunction peripheral, a scanner, and a printer sold by a vendor who provides the relay server 200. The relay server 200 also communicates with the service providing server 300 and a plurality of service providing servers (not shown). For this reason, the relay server 200 is preferably able to use a number of encryption methods that can be used by these devices and service providing servers.

登録テーブルCTは、中継サーバ200が暗号通信を確立したことがあるサービス提供サーバの情報が登録されるテーブルである。図2(C)に示すように、登録テーブルCTに登録される1個のエントリE1には、サービス提供サーバを示す識別子としてのURLと、使用暗号化方式と、が関連付けられている。使用暗号化方式は、サービス提供サーバとの間で確立された暗号通信にて用いられた暗号化方式である。   The registration table CT is a table in which the information of the service providing server to which the relay server 200 has established the encrypted communication is registered. As shown in FIG. 2C, one entry E1 registered in the registration table CT is associated with a URL as an identifier indicating a service providing server and a used encryption method. The encryption method used is the encryption method used in the encrypted communication established with the service providing server.

参照情報RIは、暗号化方式に含まれる複数項目のアルゴリズムのうちの特定のアルゴリズムについて、セキュリティレベルの順序を示す情報である。図2(D)の参照情報RIでは、暗号化アルゴリズムについて、「AES」>「3DES」>「DES」の順に、セキュリティレベルが高いこと示されている。   The reference information RI is information indicating the order of security levels for a specific algorithm among algorithms of a plurality of items included in the encryption method. The reference information RI of FIG. 2D indicates that the encryption algorithm has a higher security level in the order of “AES”> “3DES”> “DES”.

サービス提供サーバは、クライアント(例えば、デバイス100)に対して、特定のサービスを提供するサーバである。例えば、サービス提供サーバ300は、画像データを保存することができる保存サービスを提供する。保存サービスは、例えば、クライアントから送信されたデータを保存するストレージサービスや、クライアントから送信されたデータの保存と公開とを行うソーシャルネットワークサービスを含む。保存サービスは、具体的には、「Evernote(登録商標)」、「Dropbox(登録商標)」、「Facebook(登録商標)」などの公知のサービスを含む。   The service providing server is a server that provides a client (for example, the device 100) with a specific service. For example, the service providing server 300 provides a storage service capable of storing image data. The storage service includes, for example, a storage service that stores the data transmitted from the client and a social network service that stores and publishes the data transmitted from the client. The storage service specifically includes known services such as "Evernote (registered trademark)", "Dropbox (registered trademark)", and "Facebook (registered trademark)".

サービス提供サーバ300は、CPU310と、ハードディスクドライブなどの不揮発性記憶装置320と、RAMなどの揮発性記憶装置330と、インターネット80と接続するためのネットワークIF380と、を備えている。   The service providing server 300 includes a CPU 310, a nonvolatile storage device 320 such as a hard disk drive, a volatile storage device 330 such as RAM, and a network IF 380 for connecting to the Internet 80.

不揮発性記憶装置320は、コンピュータプログラムPG3と、暗号化方式リストCL3と、を格納している。揮発性記憶装置330には、CPU310が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域331が設けられている。   The non-volatile storage device 320 stores a computer program PG3 and an encryption method list CL3. The volatile storage device 330 is provided with a buffer area 331 that temporarily stores various intermediate data generated when the CPU 310 performs processing.

コンピュータプログラムPG3は、インターネット80を介して接続されるサービス提供サーバ300の運営者の計算機からアップロードされる形態で提供されても良く、CD−ROMやDVD−ROMなどに格納された形態で提供されても良い。CPU310は、コンピュータプログラムPG3を実行することによって、サービス提供サーバ300のコントローラーとしての機能を実現する。これらの機能の詳細は、後述する。   The computer program PG3 may be provided in a form uploaded from a computer of an operator of the service providing server 300 connected via the Internet 80, or provided in a form stored in a CD-ROM, a DVD-ROM or the like. May be. The CPU 310 realizes the function as the controller of the service providing server 300 by executing the computer program PG3. Details of these functions will be described later.

暗号化方式リストCL3は、サービス提供サーバ300が使用可能な1個以上の暗号化方式を示すリストである。図2(E)に示すように、暗号化方式リストCL3は、2個の暗号化方式C、Dを2個の暗号化スイートを含む。すなわち、サービス提供サーバ300は、2個の暗号化方式C、Dを使用可能である。図2(E)に示すように、暗号化方式C、Dは、鍵交換アルゴリズムとして、「DHE」を採用しており、よりセキュリティレベルが低い「RSA」を採用していない。   The encryption method list CL3 is a list showing one or more encryption methods that can be used by the service providing server 300. As shown in FIG. 2 (E), the encryption method list CL3 includes two encryption methods C and D and two encryption suites. That is, the service providing server 300 can use the two encryption methods C and D. As shown in FIG. 2 (E), the encryption methods C and D adopt "DHE" as a key exchange algorithm, and do not adopt "RSA" having a lower security level.

A−2:システム1000の動作
A−2−1.通信プロトコル
本実施例において、デバイス100を含む複数個のデバイスと、中継サーバ200と、の間の通信のプロトコルについて説明する。各デバイスと、中継サーバ200と、の間の通信は、デバイスおよび中継サーバ200のそれぞれのアプリケーション層のプログラム(以下、単に、アプリケーションと呼ぶ)に従って、各デバイスをクライアント、中継サーバ200をサーバとして、行われる。各デバイスと中継サーバ200のアプリケーションは、アプリケーション層のプロトコルであるHTTP(Hypertext Transfer Protocolの略)に従う通信を行う。アプリケーションの下位のトランスポート層の通信は、TCP(Transmission Control Protocolの略)に従って行われる。そして、アプリケーション層のHTTPより下位で、トランスポート層のTCPより上位の層で、SSL/TLS(Secure Sockets Layer/Transport Layer Securityの略)に従う通信によって、暗号化されたセキュアな通信路(以下、単に、暗号通信とも呼ぶ)が確立される。
A-2: Operation of system 1000 A-2-1. Communication Protocol In this embodiment, a protocol for communication between a plurality of devices including the device 100 and the relay server 200 will be described. Communication between each device and the relay server 200 is performed according to the application layer programs of the device and the relay server 200 (hereinafter, simply referred to as an application), with each device serving as a client and the relay server 200 serving as a server. Done. Each device and the application of the relay server 200 perform communication according to HTTP (abbreviation of Hypertext Transfer Protocol) which is a protocol of the application layer. Communication in the lower transport layer of the application is performed according to TCP (abbreviation of Transmission Control Protocol). Then, in a layer lower than HTTP of the application layer and a layer higher than TCP of the transport layer, a secure communication path encrypted by communication according to SSL / TLS (abbreviation of Secure Sockets Layer / Transport Layer Security) (hereinafter, (Also referred to as encrypted communication) is established.

本実施例において、中継サーバ200と、サービス提供サーバ300を含むサービス提供サーバと、の間の通信は、中継サーバ200をクライアント、サービス提供サーバをサーバとして、行われる。中継サーバ200とサービス提供サーバとの間の通信は、上述したデバイスと中継サーバ200との間の通信と同じプロトコル、すなわち、HTTPと、TCPと、TCPとHTTPとの間の層のSSL/TLSと、に従って行われる。   In the present embodiment, the communication between the relay server 200 and the service providing servers including the service providing server 300 is performed using the relay server 200 as a client and the service providing server as a server. The communication between the relay server 200 and the service providing server is the same as the above-described communication between the device and the relay server 200, that is, HTTP, TCP, and SSL / TLS in a layer between TCP and HTTP. And so on.

すなわち、デバイスと中継サーバ200との間と、中継サーバ200とサービス提供サーバとの間と、において、アプリケーションデータ(例えば、後述する画像データ)の送受信は、SSL/TLSに従って確立された暗号通信を用いて、行われる。これによって、ユーザのアプリケーションデータのセキュリティが保たれている。   That is, transmission / reception of application data (for example, image data described later) between the device and the relay server 200 and between the relay server 200 and the service providing server uses encrypted communication established according to SSL / TLS. Done by using. As a result, the security of the application data of the user is maintained.

A−2−2:システム1000の通信
デバイス100、中継サーバ200、サービス提供サーバ300間の通信を具体例として、システム1000の動作について説明する。図3〜図5は、システム1000の通信の一例を示すシーケンス図である。図3〜図5の通信は、デバイス100が、原稿を光学的に読み取ることによって、原稿を示す画像データを生成し、該画像データをサービス提供サーバ300に送信(アップロード)するために行われる。ユーザは、例えば、デバイス100のスキャナ部150の原稿台に、原稿を載置したうえで、操作部160を介して、開始指示を入力する。図3〜図5の通信は、デバイス100のCPU110が、ユーザからの開始指示を受け付けたときに開始される。
A-2-2: Communication of System 1000 The operation of the system 1000 will be described by taking communication between the device 100, the relay server 200, and the service providing server 300 as a specific example. 3 to 5 are sequence diagrams showing an example of communication of the system 1000. The communication of FIGS. 3 to 5 is performed so that the device 100 optically reads a document to generate image data representing the document and transmits (uploads) the image data to the service providing server 300. For example, the user places a document on the document table of the scanner unit 150 of the device 100 and then inputs a start instruction via the operation unit 160. The communication of FIGS. 3 to 5 is started when the CPU 110 of the device 100 receives a start instruction from the user.

まず、デバイス100は、中継サーバ200を介さずに、サービス提供サーバ300にアクセスして、サービス提供サーバ300との間に、暗号通信を確立することを試みる。具体的には、S10にて、デバイス100のCPU110は、通信開始要求を、サービス提供サーバ300に対して送信する。送信先のサービス提供サーバ300は、上述したサーバ情報SIに含まれるURLに基づいて特定される。通信開始要求には、図2(A)の暗号化方式リストCL1が含められる。   First, the device 100 accesses the service providing server 300 without going through the relay server 200, and attempts to establish encrypted communication with the service providing server 300. Specifically, in S10, CPU 110 of device 100 transmits a communication start request to service providing server 300. The service providing server 300 of the transmission destination is specified based on the URL included in the server information SI described above. The communication start request includes the encryption method list CL1 shown in FIG.

サービス提供サーバ300が暗号化方式リストCL1を受信すると、S12にて、サービス提供サーバ300のCPU310は、暗号化方式リストCL1に示される複数個の暗号化方式の中から、使用すべき1個の暗号化方式(以下、使用暗号化方式と呼ぶ。)を選択する。具体的には、暗号化方式リストCL1に示される暗号化方式であって、かつ、サービス提供サーバ300自身も使用できる暗号化方式(すなわち、図2(E))の暗号化方式リストCL3に示される暗号化方式のうちの1つ)が、使用暗号化方式として、選択される。   When the service providing server 300 receives the encryption method list CL1, in S12, the CPU 310 of the service providing server 300 selects one of the plurality of encryption methods to be used from the encryption methods list CL1. Select an encryption method (hereinafter referred to as the used encryption method). Specifically, it is an encryption method shown in the encryption method list CL1 and can also be used by the service providing server 300 itself (that is, an encryption method list CL3 in FIG. 2E). One of the available encryption methods) is selected as the encryption method to be used.

なお、このS12において、使用暗号化方式の選択は、成功する場合と、失敗する場合とがある。例えば、デバイス100の暗号化方式リストCL1が、図2(A)に示すように、暗号化方式A、Bのみを含み、サービス提供サーバ300の暗号化方式リストCL3が、図2(E)に示すように、暗号化方式C、Dのみを含む場合を考える。この場合には、暗号化方式リストCL1に示される暗号化方式であって、かつ、サービス提供サーバ300自身も使用できる暗号化方式は、存在しないので、使用暗号化方式の選択は失敗する。   In S12, the selection of the used encryption method may be successful or unsuccessful. For example, the encryption method list CL1 of the device 100 includes only the encryption methods A and B as shown in FIG. 2A, and the encryption method list CL3 of the service providing server 300 is shown in FIG. As shown, consider the case where only encryption methods C and D are included. In this case, there is no encryption method shown in the encryption method list CL1 that can also be used by the service providing server 300 itself, so the selection of the used encryption method fails.

仮に、デバイス100の暗号化方式リストCL1が、図2(A)に示すものとは異なり、暗号化方式Cを含んでいる場合には、暗号化方式リストCL1に示される暗号化方式であって、かつ、サービス提供サーバ300自身も使用できる暗号化方式として、暗号化方式Cが存在するので、使用暗号化方式の選択は、成功する。   If the encryption method list CL1 of the device 100 is different from that shown in FIG. 2A and includes the encryption method C, the encryption method shown in the encryption method list CL1 is Moreover, since the encryption method C exists as an encryption method that can be used by the service providing server 300 itself, the selection of the used encryption method is successful.

使用暗号化方式の選択に、成功した場合には(S14:YES)、S16にて、CPU310は、通信開始要求に対する応答として、使用暗号化方式(例えば、暗号化方式C)の通知を、デバイス100に対して送信する。   If the selection of the used encryption method is successful (S14: YES), the CPU 310 sends a notification of the used encryption method (for example, the encryption method C) as a response to the communication start request in S16. Send to 100.

デバイス100が使用暗号化方式の通知を受信すると、S18にて、通信確立処理が行われる。すなわち、S18では、デバイス100と、サービス提供サーバ300との間で、使用暗号化方式を用いた暗号通信を確立するための通信が実行される。   When the device 100 receives the notification of the encryption method used, the communication establishing process is performed in S18. That is, in S18, communication for establishing the encrypted communication using the used encryption method is executed between the device 100 and the service providing server 300.

なお、ここまでのS10〜S18の処理および通信は、SSL/TLSに従って、デバイス100とサービス提供サーバ300との双方のSSL/TLSレイヤにて行われる。   Note that the processing and communication of S10 to S18 up to this point are performed in the SSL / TLS layers of both the device 100 and the service providing server 300 according to SSL / TLS.

S20では、CPU110は、スキャン処理を実行する。すなわち、S20では、CPU310は、スキャナ部150を制御して、原稿台に載置された原稿を光学的に読み取ることによって、原稿を示す画像データを生成する。   In S20, the CPU 110 executes scan processing. That is, in S20, the CPU 310 controls the scanner unit 150 to optically read the document placed on the document table to generate image data representing the document.

S22では、CPU110は、S18にて確立済の暗号通信を用いて、中継サーバ200を介さずに、生成済の画像データを、サービス提供サーバ300に対して送信(アップロード)する一連の通信を実行する。一連の通信は、詳細の説明は省略するが、例えば、サービス提供サーバ300にログインするための認証情報の送信、および、その後の画像データの送信を含む。   In S22, the CPU 110 executes a series of communication for transmitting (uploading) the generated image data to the service providing server 300 without using the relay server 200, using the encrypted communication established in S18. To do. Although a detailed description is omitted, the series of communications includes, for example, transmission of authentication information for logging in to the service providing server 300 and subsequent image data transmission.

サービス提供サーバ300が画像データを受信すると、S24にて、CPU310は、不揮発性記憶装置320内のユーザに割り当てられた記憶領域に、該画像データを保存する。S26では、CPU310は、画像データの保存が完了したことを示す保存完了の通知を、デバイス100に対して送信する。なお、S20〜S26の処理および通信は、デバイス100とサービス提供サーバ300との双方のアプリケーションによって行われる。   When the service providing server 300 receives the image data, the CPU 310 saves the image data in the storage area allocated to the user in the nonvolatile storage device 320 in S24. In S26, the CPU 310 transmits to the device 100 a storage completion notification indicating that the storage of the image data has been completed. The processing and communication in S20 to S26 are performed by the applications of both the device 100 and the service providing server 300.

デバイス100が保存完了の通知を受信すると、通信は終了される。CPU110は、例えば、表示部170を介して、画像データのサービス提供サーバ300への保存の完了をユーザに通知して、処理を終了する。   The communication is terminated when the device 100 receives the notification of the completion of storage. For example, the CPU 110 notifies the user of the completion of the storage of the image data in the service providing server 300 via the display unit 170, and ends the processing.

次に、S12にて、サービス提供サーバ300のCPU310が、使用暗号化方式の選択に失敗した場合について説明する。使用暗号化方式の選択に、失敗した場合には(S14:NO)、図4のS30にて、CPU310は、通信拒否の通知を、デバイス100に対して送信する。通信拒否の通知は、デバイス100から受信された暗号化方式リストCL1に含まれる暗号化方式の使用を拒否することを示す通知、換言すれば、中継サーバ200とデバイス100とは、直接には通信ができないことを示す通知である。通信拒否の通知の送受信は、SSL/TLSレイヤにて行われる。   Next, a case will be described where the CPU 310 of the service providing server 300 fails to select the used encryption method in S12. When the selection of the used encryption method fails (S14: NO), the CPU 310 transmits a communication refusal notification to the device 100 in S30 of FIG. The communication refusal notification is a notification indicating refusal to use the encryption method included in the encryption method list CL1 received from the device 100, in other words, the relay server 200 and the device 100 directly communicate with each other. This is a notification indicating that it is not possible. The transmission / reception of the communication refusal notification is performed in the SSL / TLS layer.

デバイス100が、通信拒否の通知を受信すると、S32にて、CPU110は、通信開始要求を、中継サーバ200に対して送信する。送信先の中継サーバ200は、上述したサーバ情報SIに含まれるURLに基づいて特定される。通信開始要求には、図2(A)の暗号化方式リストCL1が含められる。中継サーバ200が暗号化方式リストCL1を受信すると、S34にて、中継サーバ200のCPU210は、暗号化方式リストCL1に示される複数個の暗号化方式の中から、1個の使用暗号化方式を選択する。   When the device 100 receives the communication refusal notification, the CPU 110 transmits a communication start request to the relay server 200 in S32. Relay server 200 of the transmission destination is specified based on the URL included in server information SI described above. The communication start request includes the encryption method list CL1 shown in FIG. When relay server 200 receives encryption method list CL1, in S34, CPU 210 of relay server 200 selects one used encryption method from the plurality of encryption methods shown in encryption method list CL1. select.

具体的には、暗号化方式リストCL1に示される暗号化方式であって、かつ、中継サーバ200自身も使用できる暗号化方式(すなわち、図2(B)の暗号化方式リストCL2に示される暗号化方式のうちの1つ)が、使用暗号化方式として、選択される。   Specifically, the encryption method shown in the encryption method list CL1 and also usable by the relay server 200 itself (that is, the encryption method shown in the encryption method list CL2 in FIG. 2B). One of the encryption methods) is selected as the encryption method to be used.

例えば、デバイス100の暗号化方式リストCL1が、図2(A)に示すように、暗号化方式A、Bのみを含み、中継サーバ200の暗号化方式リストCL2が、図2(B)に示すように、暗号化方式A〜Dを含む場合を考える。この場合には、例えば、両方のリストに共通して含まれる暗号化方式A、Bのいずれかが使用暗号化方式として選択される。中継サーバ200は、デバイス100のベンダによって運営されており、該ベンダは、中継サーバ200が、サポートすべき全てのベンダ製のデバイスと通信できるように、中継サーバ200が使用可能な暗号化方式を設定している。このために、S34では、中継サーバ200において、使用暗号化方式の選択が失敗することは想定されない。なお、S34での使用暗号化方式の選択については、さらに、詳細を後述する。   For example, the encryption method list CL1 of the device 100 includes only the encryption methods A and B as shown in FIG. 2 (A), and the encryption method list CL2 of the relay server 200 is shown in FIG. 2 (B). Thus, consider the case where the encryption methods A to D are included. In this case, for example, one of the encryption methods A and B commonly included in both lists is selected as the used encryption method. The relay server 200 is operated by a vendor of the device 100, and the vendor selects an encryption method that the relay server 200 can use so that the relay server 200 can communicate with devices of all vendors to be supported. It is set. Therefore, in S34, it is not assumed that the selection of the used encryption method will fail in Relay Server 200. The details of the selection of the used encryption method in S34 will be described later.

S36では、CPU210は、S32での通信開始要求に対する応答として、使用暗号化方式、本実施例では、例えば、暗号化方式Aの通知を、デバイス100に対して送信する。   In S36, the CPU 210 transmits to the device 100, as a response to the communication start request in S32, a notification of the encryption method used, for example, encryption method A in this embodiment.

デバイス100が使用暗号化方式の通知を受信すると、S38にて、デバイス100と、中継サーバ200と、の間で通信確立処理が行われる。すなわち、S38では、デバイス100と、サービス提供サーバ300との間で、使用暗号化方式を用いた暗号通信を確立するための通信が実行される。   When the device 100 receives the notification of the encryption method used, the communication establishing process is performed between the device 100 and the relay server 200 in S38. That is, in S38, communication for establishing encrypted communication using the used encryption method is executed between the device 100 and the service providing server 300.

なお、ここまでのS32〜S38の処理および通信は、デバイス100と中継サーバ200との双方のSSL/TLSレイヤにて行われる。   Note that the processing and communication in S32 to S38 up to this point are performed in the SSL / TLS layers of both the device 100 and the relay server 200.

S40では、CPU110は、確立された暗号通信を用いて、サービス提供サーバ300との通信要求を、中継サーバ200に対して送信する。通信要求には、中継サーバ200がサービス提供サーバ300との通信を確立するための要求と、サーバ情報SIに含まれるサービス提供サーバ300のURLと、が含まれる。これらの情報によって、中継サーバ200のCPU210は、後述する通信開始要求をサービス提供サーバ300に送信する際に、デバイス100が接続を望むサービス提供サーバ(例えば、サービス提供サーバ300)を指定して通信開始要求を送信することができる。S42では、CPU110は、後述する通信確立の通知を受信するためのポーリングの送信を、定期的に(例えば、5秒間隔)中継サーバ200に対して送信する。なお、S40とS42の送信は、HTTPリクエストの送信として行われる。   In S40, the CPU 110 transmits a communication request with the service providing server 300 to the relay server 200 using the established encrypted communication. The communication request includes a request for relay server 200 to establish communication with service providing server 300 and the URL of service providing server 300 included in server information SI. Based on these pieces of information, the CPU 210 of the relay server 200 specifies the service providing server (for example, the service providing server 300) that the device 100 desires to connect with when transmitting a communication start request to be described later to the service providing server 300 and performs communication. A start request can be sent. In S42, the CPU 110 periodically (for example, every 5 seconds) transmits to the relay server 200 a polling transmission for receiving a communication establishment notification described later. The transmissions in S40 and S42 are performed as HTTP request transmissions.

中継サーバ200が、サービス提供サーバ300のURLを受信すると、S43にて、CPU210は、デバイス100のグローバルIPアドレスを、サービス提供サーバ300のURLと関連付けて、所定のテーブル(図示省略)に登録する。グローバルIPアドレスは、例えば、S40で受信された通信要求(HTTPリクエスト)のヘッダに含まれている。これによって、CPU210は、次にS56にて通信開始要求を受信した時点で、通信開始要求の送信元のデバイス(例えば、デバイス100)が利用するサービス提供サーバ(例えば、サービス提供サーバ300)を、認識することができる。続くS44にて、CPU210は、通信開始要求を、サービス提供サーバ300に対して送信する。送信先のサービス提供サーバ300は、デバイス100から受信されたURLに基づいて特定される。通信開始要求には、図2(B)の暗号化方式リストCL2が含められる。サービス提供サーバ300が、暗号化方式リストCL2を受信すると、S46にて、サービス提供サーバ300のCPU310は、暗号化方式リストCL2に示される複数個の暗号化方式の中から、1個の使用暗号化方式を選択する。具体的には、暗号化方式リストCL2に示される暗号化方式であって、かつ、サービス提供サーバ300自身も使用できる暗号化方式(すなわち、図2(E))の暗号化方式リストCL3に示される暗号化方式のうちの1つ)が、使用暗号化方式として、選択される。   When relay server 200 receives the URL of service providing server 300, in S43, CPU 210 registers the global IP address of device 100 in a predetermined table (not shown) in association with the URL of service providing server 300. . The global IP address is included in the header of the communication request (HTTP request) received in S40, for example. Accordingly, when the CPU 210 next receives the communication start request in S56, the CPU 210 sets the service providing server (for example, the service providing server 300) used by the device (for example, the device 100) that is the transmission source of the communication start request, Can be recognized. In subsequent S44, CPU 210 transmits a communication start request to service providing server 300. The service providing server 300 of the transmission destination is specified based on the URL received from the device 100. The communication start request includes the encryption method list CL2 of FIG. 2 (B). When the service providing server 300 receives the encryption method list CL2, in S46, the CPU 310 of the service providing server 300 selects one encryption method from among the plurality of encryption methods shown in the encryption method list CL2. Select the activation method. Specifically, it is the encryption method shown in the encryption method list CL2, and is also shown in the encryption method list CL3 of the encryption method (that is, FIG. 2E) that can be used by the service providing server 300 itself. One of the available encryption methods) is selected as the encryption method to be used.

例えば、中継サーバ200の暗号化方式リストCL2が、図2(B)に示すように、暗号化方式A〜Dを含み、サービス提供サーバ300の暗号化方式リストCL3が、図2(E)に示すように、暗号化方式C、Dのみを含む場合を考える。この場合には、例えば、両方のリストに共通して含まれる暗号化方式C、Dのいずれか(本実施例では、暗号化方式Dとする)が使用暗号化方式として選択される。中継サーバ200を運営するベンダは、サポートすべきベンダ製のデバイスが接続を望む可能性があるサービス提供サーバとできる限り通信できるように、中継サーバ200が使用可能な暗号化方式を設定している。このために、S46では、サービス提供サーバ300において、使用暗号化方式の選択が失敗することは想定されない。   For example, the encryption method list CL2 of the relay server 200 includes the encryption methods A to D as shown in FIG. 2B, and the encryption method list CL3 of the service providing server 300 is shown in FIG. As shown, consider the case where only encryption methods C and D are included. In this case, for example, one of the encryption methods C and D commonly included in both lists (in this embodiment, the encryption method D) is selected as the used encryption method. The vendor operating the relay server 200 sets the encryption method usable by the relay server 200 so that the device manufactured by the vendor to be supported can communicate with the service providing server that may want to connect as much as possible. . Therefore, in S46, it is not assumed that the selection of the used encryption method will fail in the service providing server 300.

S48では、CPU210は、通信開始要求に対する応答として、使用暗号化方式、本実施例では、例えば、暗号化方式Dの通知を、中継サーバ200に対して送信する。   In S48, the CPU 210 transmits to the relay server 200, as a response to the communication start request, a notification of the encryption method used, in this embodiment, for example, the encryption method D.

デバイス100が使用暗号化方式の通知を受信すると、S49にて、デバイス100と、サービス提供サーバ300と、の間で通信確立処理が行われる。この結果、デバイス100と、サービス提供サーバ300との間で、使用暗号化方式を用いた暗号通信が確立される。   When the device 100 receives the notification of the used encryption method, the communication establishing process is performed between the device 100 and the service providing server 300 in S49. As a result, encrypted communication using the used encryption method is established between the device 100 and the service providing server 300.

なお、ここまでのS44〜S49の処理および通信は、中継サーバ200とサービス提供サーバ300の双方のSSL/TLSレイヤにて行われる。   Note that the processing and communication in S44 to S49 up to this point are performed in the SSL / TLS layers of both the relay server 200 and the service providing server 300.

S50では、CPU210は、サービス提供サーバ300との間で確立された暗号通信に用いられた使用暗号化方式、換言すれば、S48で受信される通知に示される使用暗号化方式を記憶する。具体的には、該使用暗号方式は、サービス提供サーバ300のURLと関連づけて、登録テーブルCTに登録される。   In S50, the CPU 210 stores the use encryption method used for the encrypted communication established with the service providing server 300, in other words, the use encryption method indicated in the notification received in S48. Specifically, the used encryption method is registered in the registration table CT in association with the URL of the service providing server 300.

S51では、CPU210は、サービス提供サーバ300との間で暗号通信が確立されたことを示す通信確立の通知を、デバイス100に対して送信する。通信確立の通知は、S42のポーリングとして送信されるHTTPリクエストに対する応答(すなわち、HTTPレスポンス)として、送信される。   In S51, the CPU 210 transmits to the device 100 a communication establishment notification indicating that encrypted communication has been established with the service providing server 300. The communication establishment notification is transmitted as a response (that is, an HTTP response) to the HTTP request transmitted as the polling in S42.

デバイス100が通信確立の通知を受信すると、CPU110は、デバイス100と中継サーバ200との間で、現在、確立されている通信を切断する。例えば、デバイス100が主体となって、TCPレイヤまたはSSL/TLSレイヤでの論理的な通信路が切断される。なお、変形例としては、中継サーバ200が主体となって、論理的な通信路の切断が行われても良い。S53では、中継サーバ200のCPU210は、中継サーバ200とサービス提供サーバ300との間で、現在、確立されている通信を切断する。例えば、中継サーバ200が主体となって、TCPレイヤまたはSSL/TLSレイヤでの論理的な通信路が切断される。   When the device 100 receives the communication establishment notification, the CPU 110 disconnects the currently established communication between the device 100 and the relay server 200. For example, the device 100 takes the lead in disconnecting the logical communication path in the TCP layer or the SSL / TLS layer. Note that, as a modification, the relay server 200 may take the lead in disconnecting the logical communication path. In S53, the CPU 210 of the relay server 200 disconnects the currently established communication between the relay server 200 and the service providing server 300. For example, the relay server 200 plays a main role and disconnects the logical communication path in the TCP layer or the SSL / TLS layer.

ここで、一旦、デバイス100と中継サーバ200、および、中継サーバ200とサービス提供サーバ300との間の通信を切断するのは、比較的時間を要する後述するスキャン処理が行われている間、これらの通信が確立された状態を維持する必要がないためである。また、別の理由として、これらの通信が確立された状態としておくのは、セキュリティ上好ましくないからでもある。   Here, it is necessary to disconnect the communication between the device 100 and the relay server 200, and between the relay server 200 and the service providing server 300 once during a scan process described later, which takes a relatively long time. This is because it is not necessary to maintain the established communication. Another reason is that it is not preferable in terms of security to keep these communications established.

S54では、CPU210は、図3のS20と同様に、スキャン処理を実行する。すなわち、スキャナ部150が、原稿台に載置された原稿を光学的に読み取ることによって、原稿を示す画像データが生成される。   In S54, the CPU 210 executes the scan process as in S20 of FIG. That is, the scanner unit 150 optically reads a document placed on the document table, and thereby image data representing the document is generated.

画像データの生成後に、デバイス100と中継サーバ200との間、および、中継サーバ200とサービス提供サーバ300との間の通信の再確立が行われる。具体的には、図5のS56〜S73の処理が、図4のS32〜S49の処理と同様に行われる。この結果、デバイス100と中継サーバ200との間には、例えば、暗号化方式Aを用いた暗号通信が確立される。中継サーバ200とサービス提供サーバ300との間には、例えば、暗号化方式Dを用いた暗号通信が確立される。S74では、中継サーバ200は、通信確立の通知を、デバイス100に対して送信する。   After the image data is generated, the communication between the device 100 and the relay server 200 and between the relay server 200 and the service providing server 300 is reestablished. Specifically, the processing of S56 to S73 of FIG. 5 is performed in the same manner as the processing of S32 to S49 of FIG. As a result, for example, encrypted communication using the encryption method A is established between the device 100 and the relay server 200. For example, encrypted communication using the encryption method D is established between the relay server 200 and the service providing server 300. In S74, Relay Server 200 transmits a communication establishment notification to device 100.

デバイス100が、S74の通信確立の通知を受信すると、S76では、CPU110は、生成済の画像データをサービス提供サーバ300に対して送信(アップロード)する一連の通信を、再確立済の暗号通信を用いて中継サーバ200に対して実行する。一連の通信は、上述したように、例えば、認証情報の送信、および、その後の画像データの送信を含む。   When the device 100 receives the communication establishment notification in S74, in S76, the CPU 110 transmits a series of communications for transmitting (uploading) the generated image data to the service providing server 300, and the reestablished encrypted communication. It is executed for the relay server 200 by using. As described above, the series of communication includes, for example, the transmission of the authentication information and the subsequent transmission of the image data.

S78では、中継サーバ200のCPU210は、デバイス100とサービス提供サーバ300との間の一連の通信を中継する。例えば、CPU210は、認証情報および画像データの受信完了を示す通知をデバイス100に対して送信し(図示省略)、その後に、S78にて、デバイス100から送信された認証情報や画像データを、そのまま、サービス提供サーバ300との間に再確立済の暗号通信を用いてサービス提供サーバ300に対して送信する。   In S78, the CPU 210 of the relay server 200 relays a series of communications between the device 100 and the service providing server 300. For example, the CPU 210 transmits a notification indicating that the reception of the authentication information and the image data has been completed to the device 100 (not shown), and then, in S78, the authentication information and the image data transmitted from the device 100 remain unchanged. , Is transmitted to the service providing server 300 using the encrypted communication that has been reestablished with the service providing server 300.

サービス提供サーバ300が画像データを受信すると、S80にて、CPU310は、図3のS24と同様に、不揮発性記憶装置320内に該画像データを保存する。S82では、CPU310は、図3のS26と同様の保存完了の通知を、中継サーバ200に対して送信する。S84では、CPU210は、サービス提供サーバ300から受信した保存完了の通知を、そのまま、デバイス100に対して送信する。なお、保存完了の通知は、例えば、デバイス100が、上述のデータの受信完了を示す通知の受信後に行うポーリング(図示省略)に対する応答として、デバイス100に対して送信される。変形例としては、保存完了の通知は、S76で中継サーバ200に対して送信される認証情報および画像データに対する応答として、デバイス100に対して送信されても良い。デバイス100が保存完了の通知を受信すると、通信は終了される。なお、S76〜S84の通信および処理は、デバイス100、中継サーバ200、および、サービス提供サーバ300のアプリケーションによって行われる。   When the service providing server 300 receives the image data, the CPU 310 saves the image data in the nonvolatile storage device 320 in S80, as in S24 of FIG. In S82, the CPU 310 transmits to the relay server 200 the same notification of the completion of storage as in S26 of FIG. In S84, the CPU 210 transmits the storage completion notification received from the service providing server 300 to the device 100 as it is. It should be noted that the storage completion notification is transmitted to the device 100, for example, as a response to polling (not shown) performed by the device 100 after receiving the notification indicating the completion of data reception. As a modification, the storage completion notification may be transmitted to the device 100 as a response to the authentication information and the image data transmitted to the relay server 200 in S76. The communication is terminated when the device 100 receives the notification of the completion of storage. Note that the communication and processing of S76 to S84 are performed by the applications of the device 100, the relay server 200, and the service providing server 300.

A−2−3:デバイス100との間の使用暗号化方式の選択
次に、図4のS34および図5のS58において、中継サーバ200のCPU210によって実行される使用暗号化方式の選択については、さらに、詳細を後述する。S34、S58では、デバイス100と中継サーバ200との間の暗号通信で用いられる使用暗号化方式が選択される。図6は、使用暗号化方式の選択のフローチャートである。
A-2-3: Selection of Use Encryption Method with Device 100 Next, regarding the use encryption method selection executed by the CPU 210 of the relay server 200 in S34 of FIG. 4 and S58 of FIG. Further details will be described later. In S34 and S58, the used encryption method used in the encrypted communication between the device 100 and the relay server 200 is selected. FIG. 6 is a flowchart for selecting the encryption method to be used.

S110では、CPU210は、通信予定のサービス提供サーバと中継サーバ200との間で用いられる使用暗号化方式が登録済みであるか否かを判断する。通信予定のサービス提供サーバ300は、図4のS40にて、デバイス100から受信されたURLによって特定される。具体的には、CPU210は、例えば、S58の前のS56にて受信される通信開始要求のヘッダに含まれるデバイス100のグローバルIPアドレスを取得する。CPU210は、上述した図4のS43にてグローバルIPアドレスと関連付けて記録されたURLを取得する。これによって、通信開始要求の送信元のデバイス(例えば、デバイス100)が利用するサービス提供サーバ(例えば、サービス提供サーバ300)のURLが取得される。そして、CPU210は、該URLが、登録テーブルCTに登録済みであるか否かを判断し、該URLが登録済みである場合には、通信予定のサービス提供サーバと中継サーバ200との間で用いられる使用暗号化方式が登録済みであると判断する。   In S110, the CPU 210 determines whether or not the used encryption method used between the service providing server scheduled to communicate and the relay server 200 has been registered. The service providing server 300 to be communicated is specified by the URL received from the device 100 in S40 of FIG. Specifically, for example, the CPU 210 acquires the global IP address of the device 100 included in the header of the communication start request received in S56 before S58. The CPU 210 acquires the URL recorded in association with the global IP address in S43 of FIG. 4 described above. As a result, the URL of the service providing server (for example, the service providing server 300) used by the device (for example, the device 100) that is the transmission source of the communication start request is acquired. Then, the CPU 210 determines whether the URL is already registered in the registration table CT, and if the URL is already registered, it is used between the service providing server scheduled to communicate and the relay server 200. It is determined that the used encryption method has been registered.

この時点までに、中継サーバ200が、サービス提供サーバ300との間で通信を確立したことがない場合には、登録テーブルCTに、サービス提供サーバ300の使用暗号化方式が、登録されていない。この場合には、使用暗号化方式は、登録済みでないと判断される。一方、この時点までに、中継サーバ200が、サービス提供サーバ300との間で通信を確立したことがある場合には、例えば、図4のS50にて、登録テーブルCTに、サービス提供サーバ300の使用暗号化方式が、記憶されている。この場合には、使用暗号化方式は、登録済であると判断される。例えば、S50でのサービス提供サーバ300の使用暗号化方式の記憶後に、デバイス100から通信開始要求および暗号化方式リストCL1を受信した場合に行われるS58の処理では、使用暗号化方式は、登録済であると判断される。また、2回目以降にデバイス100がサービス提供サーバ300にアクセスすべき、図3のS10から始まる一連の通信を行う場合には、図4のS34においても、使用暗号化方式は、登録済であると判断される。   By this time, if relay server 200 has not established communication with service providing server 300, the encryption method used by service providing server 300 is not registered in registration table CT. In this case, it is determined that the used encryption method has not been registered. On the other hand, if the relay server 200 has established communication with the service providing server 300 up to this point, for example, in S50 of FIG. The encryption method used is stored. In this case, it is determined that the encryption method used is already registered. For example, in the process of S58 performed when the communication start request and the encryption method list CL1 are received from the device 100 after storing the used encryption method of the service providing server 300 in S50, the used encryption method is registered. Is determined. Further, when performing a series of communication starting from S10 of FIG. 3 in which the device 100 should access the service providing server 300 after the second time, the used encryption method is already registered also in S34 of FIG. Is judged.

使用暗号化方式が登録済でない場合には(S110:NO)、CPU210は、S115にて、デバイス100から受信された暗号化方式リストCL1に示される暗号化方式であって、かつ、中継サーバ200自身も使用できる暗号化方式(すなわち、図2(B)の暗号化方式リストCL2に示される暗号化方式のうちの1つ)を、使用暗号化方式として、選択する。この際、CPU210は、この条件を満たす暗号化方式が複数個ある場合には、単純に、暗号化方式リストCL1の上位にある暗号化方式を、デバイス100との間の通信で使用すべき使用暗号化方式として選択する。例えば、図2(A)の例では、暗号化方式リストCL1の2個の暗号化方式A、Bのうち、暗号化方式Aが選択される。   When the used encryption method is not registered (S110: NO), the CPU 210 is the encryption method shown in the encryption method list CL1 received from the device 100 in S115, and also the relay server 200. An encryption method that can be used by itself (that is, one of the encryption methods shown in the encryption method list CL2 in FIG. 2B) is selected as the used encryption method. At this time, when there are a plurality of encryption methods that satisfy this condition, the CPU 210 simply uses the encryption method that is higher in the encryption method list CL1 for communication with the device 100. Select as the encryption method. For example, in the example of FIG. 2A, the encryption method A is selected from the two encryption methods A and B in the encryption method list CL1.

使用暗号化方式が登録済である場合には(S110:YES)、S120にて、CPU210は、接続予定のサービス提供サーバの使用暗号化方式を、登録テーブルCTを参照して特定する。具体的には、CPU210は、受信済の該サービス提供サーバのURLに関連付けられた使用暗号化方式を登録テーブルCTから特定する。この結果、複数種類のサービス提供サーバが存在する場合であっても、サービス提供サーバ300との間の使用暗号化方式を適切に選択することができる。   When the used encryption method is already registered (S110: YES), in S120, the CPU 210 identifies the used encryption method of the service providing server to be connected with reference to the registration table CT. Specifically, the CPU 210 identifies the used encryption method associated with the URL of the service providing server that has been received from the registration table CT. As a result, even when there are a plurality of types of service providing servers, it is possible to appropriately select the encryption method to be used with the service providing server 300.

そして、CPU210は、特定されたサービス提供サーバ300との間の使用暗号化方式で用いられる暗号化アルゴリズム(以下、使用暗号化アルゴリズムと呼ぶ)を特定する。例えば、サービス提供サーバ300との間の使用暗号化方式が、暗号化方式D(図2(E))である場合には、暗号化方式Dの暗号化アルゴリズムである「AES256」が、使用暗号化アルゴリズムとして特定される。   Then, the CPU 210 identifies the encryption algorithm used in the encryption method used with the specified service providing server 300 (hereinafter, referred to as the encryption algorithm used). For example, when the encryption method used with the service providing server 300 is the encryption method D (FIG. 2 (E)), the encryption algorithm “AES256” of the encryption method D is Is specified as an algorithm.

S125では、CPU210は、デバイス100の暗号化方式リストCL1に、特定済の使用暗号化アルゴリズムと同一の暗号化アルゴリズムを用いる暗号化方式があるか否かを判断する。   In S125, the CPU 210 determines whether or not the encryption method list CL1 of the device 100 has an encryption method that uses the same encryption algorithm as the specified encryption algorithm used.

使用暗号化アルゴリズムと同一の暗号化アルゴリズムを用いる暗号化方式がある場合には(S125:YES)、S130にて、CPU210は、当該暗号化方式を、デバイス100との間で使用すべき使用暗号化方式として選択する。例えば、使用暗号化アルゴリズムが「AES256」である場合には、図2(A)の暗号化方式リストCL1に含まれる暗号化方式A、Bのうち、暗号化方式Bが選択される。暗号化方式Aの暗号化アルゴリズムは「AES128」であり、使用暗号化アルゴリズムと異なるが、暗号化方式Bの暗号化アルゴリズムは「AES256」であり、使用暗号化アルゴリズムと同一だからである。   If there is an encryption method that uses the same encryption algorithm as the used encryption algorithm (S125: YES), the CPU 210 at S130 uses the encryption method with the device 100. Select as the activation method. For example, when the used encryption algorithm is “AES256”, the encryption method B is selected from the encryption methods A and B included in the encryption method list CL1 of FIG. This is because the encryption algorithm of the encryption method A is “AES128”, which is different from the encryption algorithm used, but the encryption algorithm of the encryption method B is “AES256”, which is the same as the encryption algorithm used.

使用暗号化アルゴリズムと同一の暗号化アルゴリズムを用いる暗号化方式がない場合には(S125:NO)、S135にて、CPU210は、使用暗号化アルゴリズムと最も近いセキュリティレベルの暗号化アルゴリズムを採用する暗号化方式を選択する。このとき、暗号化アルゴリズムのセキュリティレベルを比較する際には、暗号化アルゴリズムのセキュリティレベルの順序を示す参照情報RIが参照される。仮に、候補となる選択可能な暗号化方式が3個あり、それらの暗号化アルゴリズムが、それぞれ、「3DES128」、「3DES256」、「DES256」であるとする。そして、使用暗号化アルゴリズムが「AES256」であるとする。この場合には、先ず、鍵長を無視して、アルゴリズムの種類自体の比較が行われる。参照情報RIに示すように、「3DES」のセキュリティレベルは、「DES」より「AES」に近いので、候補は、「3DES128」、「3DES256」に絞られる。次に、アルゴリズムの種類が同じである2個の候補を比較して、使用暗号化アルゴリズムの鍵長「256」に近い(この例では同じ)鍵長を有する「3DES256」が選択される。この結果、「3DES256」を採用する暗号化方式が、最終的に選択される。以上の説明から解るように、参照情報RIは、セキュリティレベルに基づく、複数個のアルゴリズムから1個のアルゴリズムを選択する際の優先度を示す情報である、ということができる。   When there is no encryption method that uses the same encryption algorithm as the used encryption algorithm (S125: NO), in S135, the CPU 210 uses the encryption algorithm that has the closest security level to the used encryption algorithm. Select the activation method. At this time, when comparing the security levels of the encryption algorithms, reference information RI indicating the order of the security levels of the encryption algorithms is referred to. It is assumed that there are three candidate selectable encryption methods, and their encryption algorithms are “3DES128”, “3DES256”, and “DES256”, respectively. Then, it is assumed that the encryption algorithm used is "AES256". In this case, first, the key length is ignored and the types of algorithms themselves are compared. As shown in the reference information RI, the security level of “3DES” is closer to “AES” than “DES”, so the candidates are narrowed down to “3DES128” and “3DES256”. Next, two candidates having the same algorithm type are compared with each other, and "3DES256" having a key length close to the key length "256" of the encryption algorithm used (the same in this example) is selected. As a result, the encryption method adopting "3DES256" is finally selected. As can be understood from the above description, the reference information RI can be said to be information indicating the priority when selecting one algorithm from a plurality of algorithms based on the security level.

以上説明した実施例によれば、デバイス100が使用可能な暗号化方式(すなわち、暗号化方式リストCL1に含まれる1個以上の暗号化方式)の使用がサービス提供サーバ300に拒否される場合には(図4のS30)、デバイス100は、中継サーバ200との間に暗号通信を確立する(図4のS32〜S38、図5のS56〜S62)。そして、中継サーバ200は、サービス提供サーバ300との間に暗号通信を確立する(図4のS44〜S49、図5のS66〜S73)。そして、デバイス100は、中継サーバ200を介して、サービス提供サーバ300が提供するサービスに関するデータ(具体的には、画像データ)を、サービス提供サーバ300に対して送信する(図5のS76、S78)。したがって、デバイス100が使用可能な暗号化方式の使用がサービス提供サーバ300に拒否される場合であっても、デバイス100は、中継サーバ200を介した暗号通信によって、サービス提供サーバ300との間で、特定のサービスに関するデータの通信を行うことができる。この結果、デバイス100が使用可能な暗号化方式の使用がサービス提供サーバ300に拒否される場合であっても、デバイス100とサービス提供サーバ300との間で、暗号通信が可能な状態を維持することができる。   According to the embodiment described above, when the service providing server 300 refuses to use the encryption method that can be used by the device 100 (that is, one or more encryption methods included in the encryption method list CL1). (S30 in FIG. 4), the device 100 establishes encrypted communication with the relay server 200 (S32 to S38 in FIG. 4, S56 to S62 in FIG. 5). Then, relay server 200 establishes encrypted communication with service providing server 300 (S44 to S49 in FIG. 4, S66 to S73 in FIG. 5). Then, the device 100 transmits data (specifically, image data) regarding the service provided by the service providing server 300 to the service providing server 300 via the relay server 200 (S76 and S78 in FIG. 5). ). Therefore, even if the service providing server 300 refuses to use the encryption method that can be used by the device 100, the device 100 can communicate with the service providing server 300 through the encrypted communication via the relay server 200. , Can communicate data regarding a specific service. As a result, even when the service providing server 300 refuses to use the encryption method that can be used by the device 100, the device 100 and the service providing server 300 maintain a state in which encrypted communication is possible. be able to.

より具体的に説明すると、サービス提供サーバ300が使用可能な暗号化方式は、サービス提供サーバ300の運営者によって、変更される場合もある。例えば、上述したPFSを達成できない鍵交換アルゴリズム「RSA」の使用が停止され、PFSを達成できる鍵交換アルゴリズム(例えば、「DHE」)の使用のみが許容されるように、サービス提供サーバ300が使用可能な暗号化方式が変更される場合がある。このような場合には、デバイス100が使用可能な暗号化方式が鍵交換アルゴリズムとして「RSA」を採用する方式のみであると、デバイス100は、サービス提供サーバ300と直接的に通信を行うことが不可能になる。しかしながら、デバイス100を含む複数個のデバイスのコンピュータプログラムを、PFSを達成できる鍵交換アルゴリズム「DHE」を使用できるように、速やかにアップデートするには、ユーザにとっても、デバイスのベンダにとっても、負担が大きい場合がある。このような場合であっても、本実施例によれば、中継サーバ200が鍵交換アルゴリズム「DHE」を含む暗号化方式を使用できれば、デバイス100を含む複数個のデバイスは、例えば、鍵交換アルゴリズム「DHE」を含む暗号化方式を使用できなくても、中継サーバ200を介して、サービス提供サーバ300と通信を行うことができる。中継サーバ200は、デバイスのベンダが運営しており、かつ、デバイスと比較すれば、個数が少ない(例えば、1個)ので、中継サーバ200が使用可能な暗号化方式を追加、変更することは容易である。   More specifically, the encryption method usable by the service providing server 300 may be changed by the operator of the service providing server 300. For example, the service providing server 300 uses the key exchange algorithm “RSA” that cannot achieve PFS described above is stopped, and only the key exchange algorithm (eg, “DHE”) that can achieve PFS is allowed. Possible ciphers may change. In such a case, if the encryption method that can be used by the device 100 is only the method that adopts “RSA” as the key exchange algorithm, the device 100 can directly communicate with the service providing server 300. It will be impossible. However, promptly updating computer programs of a plurality of devices including the device 100 so that the key exchange algorithm “DHE” that can achieve PFS can be used is burdensome for both the user and the vendor of the device. May be large. Even in such a case, according to the present embodiment, if the relay server 200 can use the encryption method including the key exchange algorithm “DHE”, the plurality of devices including the device 100 can be, for example, the key exchange algorithm. Even if the encryption method including “DHE” cannot be used, it is possible to communicate with the service providing server 300 via the relay server 200. The relay server 200 is operated by a device vendor, and the number of relay servers 200 is smaller than that of the devices (for example, one). Therefore, it is not possible to add or change the encryption method usable by the relay server 200. It's easy.

さらに、本実施例によれば、中継サーバ200は、サービス提供サーバ300から、使用暗号化方式の通知が受信される場合に(図4のS48)、該方式の通知に示される使用暗号化方式を記憶する(S50)。そして、中継サーバ200は、その後に、デバイス100から暗号化方式リストCL1を含む通信開始要求を受信すると(図5のS56、2回目以降の図4のS32)、記憶済のサービス提供サーバ300との間の使用暗号化方式を用いて、暗号化方式リストCL1に含まれる暗号化方式から、デバイス100との間の使用暗号化方式を選択する(図5のS58、2回目以降の図4のS34、図6のS120〜S135)。そして、その後、サービス提供サーバ300との間の使用暗号化方式を用いて選択された使用暗号化方式に従う暗号通信が、デバイス100とサービス提供サーバ300との間に確立される(例えば、図5のS60、S62)。この結果、サービス提供装置からの第2方式通知に示される第2暗号化方式を用いて選択される第3暗号化方式に従う暗号通信が、中継装置と通信装置との間に確立される。従って、通信装置と中継装置との間に、中継装置を介したサービス提供装置との通信に適した暗号通信を確立し得る。   Further, according to the present embodiment, when the relay server 200 receives the notification of the use encryption method from the service providing server 300 (S48 in FIG. 4), the use encryption method indicated in the notification of the method is used. Is stored (S50). Then, when the relay server 200 subsequently receives a communication start request including the encryption method list CL1 from the device 100 (S56 of FIG. 5, S32 of FIG. 4 after the second time), the stored service providing server 300 is stored. The encryption method used between the devices 100 is selected from the encryption methods included in the encryption method list CL1 using the encryption method used during the period (S58 in FIG. 5 and the second and subsequent times in FIG. 4). S34, S120 to S135 of FIG. 6). Then, thereafter, encrypted communication according to the use encryption method selected by using the use encryption method with the service providing server 300 is established between the device 100 and the service providing server 300 (for example, FIG. 5). S60, S62). As a result, the encrypted communication according to the third encryption method selected using the second encryption method shown in the second method notification from the service providing apparatus is established between the relay apparatus and the communication apparatus. Therefore, encrypted communication suitable for communication with the service providing device via the relay device can be established between the communication device and the relay device.

具体的には、中継サーバ200は、暗号化方式の複数項目のアルゴリズムのうちの特定項目(本実施例では、暗号化アルゴリズム)について、サービス提供サーバ300との間の使用暗号化方式にて採用されるアルゴリズムと同一または近似するアルゴリズムを採用する暗号化方式を、デバイス100との間の使用暗号化方式として選択する。この結果、デバイス100と中継サーバ200との間に、中継サーバ200を介したサービス提供サーバ300との通信により適した暗号化方式を選択し得る。例えば、暗号化アルゴリズムについては、サービス提供サーバ300が要求するセキュリティレベルに同一または近似するセキュリティレベルの暗号通信を、デバイス100と中継サーバ200との間で確立し得る。   Specifically, Relay Server 200 adopts a specific item (encryption algorithm in this embodiment) of the algorithms of the plurality of items of the encryption method in the encryption method used with service providing server 300. The encryption method that employs the same or similar algorithm as the above-described algorithm is selected as the encryption method to be used with the device 100. As a result, an encryption method more suitable for communication between the device 100 and the relay server 200 and communication with the service providing server 300 via the relay server 200 can be selected. For example, with regard to the encryption algorithm, encrypted communication with a security level that is the same as or close to the security level required by the service providing server 300 can be established between the device 100 and the relay server 200.

さらに、上記実施例では、中継サーバ200は、記憶済のサービス提供サーバ300との間の使用暗号化方式を用いて、デバイス100との間の使用暗号化方式を選択する際に、参照情報RIを参照する。この結果、特定項目について、セキュリティレベルが同一または近似するアルゴリズムを採用する暗号化方式を、適切に選択することができる。   Further, in the above-described embodiment, the relay server 200 uses the encryption method used with the stored service providing server 300 to select the encryption method used with the device 100, and the reference information RI. Refer to. As a result, it is possible to appropriately select an encryption method that employs an algorithm having the same security level or a similar security level for a specific item.

さらに、上記実施例では、中継サーバ200とサービス提供サーバ300の間に、一旦、暗号通信が確立された(図4のS44〜S49)後に、確立通知が、中継サーバ200からデバイス100に対して送信される(図4のS51)。デバイス100は、確立通知を受信すると、デバイス100と中継サーバ200との間の暗号通信が切断された(図4のS52)後に、画像データを生成する(図4のS54)。その後に、デバイス100と中継サーバ200との間、および、中継サーバ200とサービス提供サーバ300との間の暗号通信が、再度、確立される(図5のS56〜S73)。中継サーバ200は、デバイス100との間に確立済の暗号通信を用いて、画像データを、デバイス100から受信し(図5のS76)、サービス提供サーバ300との間に確立済の暗号通信を用いて、画像データを、サービス提供サーバ300に対して送信する(図5のS78)。さらに、画像データが生成されている間、無駄に暗号通信が確立されている状態が続くことを抑制できる。この結果、通信のセキュリティを向上できる。   Further, in the above embodiment, after the encrypted communication is once established between the relay server 200 and the service providing server 300 (S44 to S49 in FIG. 4), the establishment notification is sent from the relay server 200 to the device 100. It is transmitted (S51 in FIG. 4). Upon receiving the establishment notification, the device 100 generates image data (S54 in FIG. 4) after the encrypted communication between the device 100 and the relay server 200 is disconnected (S52 in FIG. 4). After that, encrypted communication between the device 100 and the relay server 200 and between the relay server 200 and the service providing server 300 is established again (S56 to S73 in FIG. 5). The relay server 200 receives the image data from the device 100 by using the encrypted communication established with the device 100 (S76 in FIG. 5), and establishes the encrypted communication established with the service providing server 300. Then, the image data is transmitted to the service providing server 300 (S78 in FIG. 5). Furthermore, it is possible to prevent the state in which the encrypted communication is unnecessarily established from continuing while the image data is being generated. As a result, communication security can be improved.

また、上記実施例では、デバイス100は、サービス提供サーバ300との通信要求を、中継サーバ200に対して送信する(図4のS40)。そして、中継サーバ200は、該通信要求に基づいて、サービス提供サーバ300に対して、暗号化方式リストCL2を含む通信開始要求を送信する(図4のS44)。この結果、中継サーバ200は、デバイス100からの通信要求に基づいて、適切なサービス提供サーバ300と、デバイス100と、の通信を中継することができる。   Further, in the above-described embodiment, the device 100 transmits a communication request with the service providing server 300 to the relay server 200 (S40 in FIG. 4). Then, based on the communication request, Relay Server 200 transmits a communication start request including encryption method list CL2 to service providing server 300 (S44 in FIG. 4). As a result, the relay server 200 can relay the communication between the appropriate service providing server 300 and the device 100 based on the communication request from the device 100.

また、上記実施例において、画像データの通信は、アプリケーション層に属するアプリケーション間の通信であり、暗号化方式リストCL1、CL2の送受信は、アプリケーションより下位の層(SSL/TLSレイヤ)での通信である。そして、暗号化方式リストCL1、CL2の送受信を行うプロトコルは、SSL/TLSである。この結果、アプリケーションに特別な仕組みを設けなくとも、SSL/TLSを用いて、アプリケーション間の通信のセキュリティレベルを、必要なレベルに維持することができる。   Further, in the above embodiment, the communication of the image data is the communication between the applications belonging to the application layer, and the transmission / reception of the encryption method lists CL1 and CL2 is the communication in the layer (SSL / TLS layer) lower than the application. is there. The protocol for transmitting / receiving the encryption method lists CL1 and CL2 is SSL / TLS. As a result, the security level of communication between applications can be maintained at a required level by using SSL / TLS without providing a special mechanism for applications.

B.変形例:
(1)上記実施例では、中継サーバ200は、サービス提供サーバ300に対する通信開始要求の送信時に、中継サーバ200が使用可能な全ての暗号化方式A〜Dを含む暗号化方式リストCL2を、サービス提供サーバ300に送信している(図4のS44など)。これに代えて、中継サーバ200は、中継サーバ200が使用可能な暗号化方式A〜Dのうち、少なくともデバイス100が使用可能な暗号化方式A、Cとは異なる1個以上の暗号化方式(例えば、暗号化方式D)を含む暗号化方式リストCL2を、サービス提供サーバ300に送信すれば良い。
B. Modification:
(1) In the above embodiment, the relay server 200 sends the encryption method list CL2 including all the encryption methods A to D that can be used by the relay server 200 to the service when the communication start request is transmitted to the service providing server 300. It is transmitted to the providing server 300 (S44 of FIG. 4, etc.). Instead, the relay server 200 has at least one encryption method different from the encryption methods A and C available to the device 100 among the encryption methods A to D available to the relay server 200 ( For example, the encryption method list CL2 including the encryption method D) may be transmitted to the service providing server 300.

(2)図6に示す接続予定のサービス提供サーバ300について登録済の使用暗号化方式を用いた、デバイス100との間の使用暗号化方式の選択は行われなくても良い。この場合には、中継サーバ200は、サービス提供サーバ300との間の使用暗号化方式の登録(図4のS50)を省略しても良い。この場合には、中継サーバ200は、デバイス100が使用可能な暗号化方式の中から、中継サーバ200も使用可能な暗号化方式を、任意に選択すれば良い。 (2) The use encryption method used with the device 100 may not be selected using the use encryption method registered for the service providing server 300 to be connected illustrated in FIG. In this case, the relay server 200 may omit registration of the used encryption method with the service providing server 300 (S50 in FIG. 4). In this case, Relay Server 200 may arbitrarily select the encryption method that Relay Server 200 can use from the encryption methods that Device 100 can use.

(3)上記実施例では、図6のS125〜S135において、複数項目のアルゴリズムのうちの1個の項目(具体的には、暗号化アルゴリズム)について、サービス提供サーバ300との間の使用暗号化方式と同一または近似するアルゴリズムを採用する暗号化方式が、デバイス100が使用可能な暗号化方式から選択される。これに代えて、複数項目のアルゴリズムのうちの2個以上の項目(例えば、暗号化アルゴリズムと、ハッシュアルゴリズム)が考慮されてもよく、複数項目のアルゴリズムのうちの全ての項目が考慮されてもよい。一般的に言えば、複数項目のアルゴリズムのうちの少なくとも1個の項目について、サービス提供サーバ300との間の使用暗号化方式と同一または近似するアルゴリズムを採用する暗号化方式が選択されても良い。こうすれば、複数項目のアルゴリズムのうちの少なくとも1つの項目について、中継サーバ200を介したサービス提供サーバ300との通信により適した暗号化方式を選択し得る。 (3) In the above embodiment, in S125 to S135 of FIG. 6, one item (specifically, encryption algorithm) of the plurality of items of algorithms is used and encrypted with the service providing server 300. An encryption method that employs an algorithm that is the same as or similar to the method is selected from the encryption methods that the device 100 can use. Alternatively, more than one item of the multiple item algorithm (eg, encryption algorithm and hash algorithm) may be considered, or all items of the multiple item algorithm may be considered. Good. Generally speaking, an encryption method that employs an algorithm that is the same as or similar to the encryption method used with the service providing server 300 may be selected for at least one of the multiple-item algorithms. . This makes it possible to select an encryption method more suitable for communication with the service providing server 300 via the relay server 200 for at least one item of the algorithms of the plurality of items.

(4)図4のS43にて、中継サーバ200が、デバイス100のグローバルIPアドレスをサービス提供サーバ300のURLと関連付けて登録することに代えて、S32やS56にて、デバイス100から中継サーバ200に送信される通信開始要求に、サービス提供サーバ300のURLが含められても良い。この場合でも、CPU210は、S32やS56にて通信開始要求を受信した時点で、通信開始要求の送信元のデバイス100が利用するサービス提供サーバを、認識することができる。したがって、上記実施例と同様に、S34やS58にて、図6の使用暗号化方式の選択を、適切に実行できる。 (4) Instead of the relay server 200 registering the global IP address of the device 100 in association with the URL of the service providing server 300 in S43 of FIG. 4, the relay server 200 is switched from the device 100 to the relay server 200 in S32 or S56. The URL of the service providing server 300 may be included in the communication start request transmitted to the server. Even in this case, the CPU 210 can recognize the service providing server used by the device 100 that is the transmission source of the communication start request when the communication start request is received in S32 or S56. Therefore, similarly to the above embodiment, the selection of the used encryption method of FIG. 6 can be appropriately executed in S34 and S58.

(5)上記実施例では、一旦、デバイス100と中継サーバ200との間、および、中継サーバ200とサービス提供サーバ300との間の暗号通信が確立された後に、一旦、これらの通信が切断された後に、デバイス100によって画像データが生成される。これに代えて、これらの通信が切断されることなく、維持されたまま、画像データが生成され、維持されたままの通信を用いて、画像データが、中継サーバ200を介して、デバイス100からサービス提供サーバ300へと送信されても良い。 (5) In the above embodiment, once the encrypted communication between the device 100 and the relay server 200 and between the relay server 200 and the service providing server 300 is established, the communication is temporarily disconnected. After that, the image data is generated by the device 100. Instead, the image data is generated from the device 100 via the relay server 200 using the communication in which the image data is generated and maintained without being disconnected. It may be transmitted to the service providing server 300.

(6)上記実施例の参照情報RI(図2(D))は、暗号化アルゴリズムについて、セキュリティレベルの順序を示す情報である。これに代えて、参照情報RIは、暗号化アルゴリズムについて、暗号化通信にかかる処理速度の順序を示す情報であってもよい。換言すれば、参照情報RIは、セキュリティレベルおよび処理速度の少なくとも一方に基づく、複数個のアルゴリズムから1個のアルゴリズムを選択する際の優先度を示す情報であれば良い。 (6) The reference information RI (FIG. 2D) in the above embodiment is information indicating the order of security levels for encryption algorithms. Instead of this, the reference information RI may be information indicating the order of processing speeds related to encrypted communication for the encryption algorithm. In other words, the reference information RI may be information that indicates the priority when selecting one algorithm from a plurality of algorithms based on at least one of the security level and the processing speed.

(7)中継サーバ200を介して、または、中継サーバ200を介さずに、デバイス100からサービス提供サーバ300へ画像データが送信される。これに代えて、サービス提供サーバ300は、印刷データを提供するサーバであり、サービス提供サーバ300からデバイス100へ印刷データが送信(ダウンロード)されても良い。また、デバイス100とサービス提供サーバ300との間で送受信されるアプリケーションデータは、画像データや印刷データに限らず、サービス提供サーバ300の提供するサービスに応じた他のデータ、例えば、テキストデータ、音楽データであっても良い。 (7) Image data is transmitted from the device 100 to the service providing server 300 via the relay server 200 or not via the relay server 200. Instead of this, the service providing server 300 is a server that provides print data, and the print data may be transmitted (downloaded) from the service providing server 300 to the device 100. The application data transmitted and received between the device 100 and the service providing server 300 is not limited to image data and print data, but other data corresponding to the service provided by the service providing server 300, such as text data and music. It may be data.

(8)中継サーバ200や、サービス提供サーバ300は、ネットワークを介して互いに通信可能な複数個の装置(例えば、コンピュータ)を含む、いわゆるクラウドサーバであっても良い。 (8) The relay server 200 and the service providing server 300 may be so-called cloud servers including a plurality of devices (for example, computers) that can communicate with each other via a network.

(9)上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。 (9) In each of the above-described embodiments, a part of the configuration realized by hardware may be replaced with software, and conversely, a part or all of the configuration realized by software may be replaced with hardware. You may do it.

以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。   Although the present invention has been described above based on the examples and modifications, the above-described embodiments of the present invention are intended to facilitate understanding of the present invention and do not limit the present invention. The present invention can be modified and improved without departing from the spirit and scope of the claims, and the present invention includes equivalents thereof.

80...インターネット、100...デバイス、110...CPU、120...不揮発性記憶装置、130...揮発性記憶装置、131...バッファ領域、140...プリンタ部、150...スキャナ部、160...操作部、170...表示部、180...ネットワークIF、200...中継サーバ、210...CPU、220...不揮発性記憶装置、230...揮発性記憶装置、231...バッファ領域、280...ネットワークIF、300...サービス提供サーバ、310...CPU、320...不揮発性記憶装置、330...揮発性記憶装置、331...バッファ領域、380...ネットワークIF、1000...システム   80 ... Internet, 100 ... Device, 110 ... CPU, 120 ... Non-volatile storage device, 130 ... Volatile storage device, 131 ... Buffer area, 140 ... Printer section, 150 ... Scanner unit, 160 ... Operating unit, 170 ... Display unit, 180 ... Network IF, 200 ... Relay server, 210 ... CPU, 220 ... Non-volatile storage device, 230 ... Volatile storage device, 231, ... Buffer area, 280 ... Network IF, 300 ... Service providing server, 310 ... CPU, 320 ... Non-volatile storage device, 330 ... Volatile storage device, 331 ... buffer area, 380 ... network IF, 1000 ... system

Claims (10)

光学的に原稿を読み取ることによって画像データを生成する生成部を備える通信装置と、中継装置と、を含み、前記通信装置と前記中継装置とのそれぞれが、前記通信装置に対して特定のサービスを提供するサービス提供装置と通信を行う通信システムであって、
前記通信装置は、
ユーザから前記特定のサービスの開始指示を受け取ることに応じて、前記中継装置を介さずに、前記サービス提供装置に対して、前記通信装置が使用可能な1個以上の暗号化方式を示す第1方式情報を送信し、
前記第1方式情報の送信に対する応答として、前記第1方式情報に示される1個以上の暗号化方式のうちの使用すべき第1暗号化方式を示す第1方式通知と、前記第1方式情報に含まれる1個以上の暗号化方式の使用を拒否することを示す拒否通知と、のいずれかを、前記サービス提供装置から受信し、
前記第1方式通知が受信される場合に、前記サービス提供装置との間に、前記第1暗号化方式に従う暗号通信を確立し、
前記第1暗号化方式に従う暗号通信が確立される場合に、前記特定のサービスに関する特定の画像データを前記生成部に生成させ、
確立済の前記第1暗号化方式に従う暗号通信を用いて、前記中継装置を介さずに、前記サービス提供装置に対して、前記特定の画像データを送信し、
前記拒否通知が受信される場合に、前記中継装置との間に、暗号通信を確立し、
前記中継装置は、
前記通信装置との間に、暗号通信を確立し、
前記通信装置との間の暗号通信の確立後に、前記サービス提供装置に対して、前記中継装置が使用可能な複数個の暗号化方式を示す第2方式情報であって前記第1暗号化方式とは異なる暗号化方式を示す1個以上の暗号化方式を含む前記第2方式情報を送信し
前記第2方式情報の送信に対する応答として、前記第2方式情報に含まれる1個以上の暗号化方式のうちの使用すべき第2暗号化方式を示す第2方式通知を、前記サービス提供装置から受信し、
前記第2方式通知が受信される場合に、前記サービス提供装置との間に、前記第2暗号化方式に従う暗号通信を確立
前記第2暗号化方式に従う暗号通信が確立されることに応じて、前記第2暗号化方式に従う暗号通信の確立を示す確立通知を、前記通信装置に対して送信し、
確立済みの前記第2暗号化方式に従う暗号通信を切断し、
前記通信装置は、
前記確立通知が受信される場合に、前記中継装置との間の暗号通信を切断し、
前記中継装置との間の暗号通信の切断後に、前記特定の画像データを前記生成部に生成させ、
前記特定の画像データの生成後に、前記サービス提供装置に対して、再び前記第1方式情報を送信することなく、前記中継装置との間に、再び暗号通信を確立し、
前記中継装置との間に、再び確立された暗号通信を用いて、前記特定の画像データを前記中継装置に対して送信し、
前記中継装置は、
前記特定の画像データの生成後に、前記サービス提供装置に対して、再び前記第2方式情報を送信し、
再び送信された前記第2方式情報の送信に対する応答として、前記サービス提供装置から、再び前記第2方式通知を受信し、
前記第2方式通知が再び受信される場合に、前記サービス提供装置との間に、再び前記第2暗号化方式に従う暗号通信を確立し、
前記通信装置から受信される前記特定の画像データを、前記サービス提供装置との間に、再び確立された暗号通信を用いて、前記サービス提供装置に対して送信する、通信システム。
The communication device includes a communication device including a generation unit that optically generates an image data by reading an original, and a relay device, and each of the communication device and the relay device provides a specific service to the communication device. A communication system for communicating with a service providing device to be provided,
The communication device is
Responsive to receiving a start instruction of the specific service from a user, indicating to the service providing apparatus one or more encryption methods that can be used by the communication apparatus without going through the relay apparatus. Send method information ,
As a response to the transmission of the first scheme information, a first scheme notification indicating a first encryption scheme to be used among one or more encryption schemes shown in the first scheme information, and the first scheme information. And a refusal notification indicating refusal to use one or more encryption methods included in the above .
When the notification of the first method is received, encrypted communication according to the first encryption method is established with the service providing device ,
When cryptographic communication according to the first encryption method is established, the generation unit is caused to generate specific image data relating to the specific service,
Using the encryption communication according to the first encryption method already established, not through the relay device, to the service providing device, sending the particular image data,
When the rejection notification is received, encrypted communication is established with the relay device ,
The relay device,
Establishes encrypted communication with the communication device ,
After establishing the encrypted communication with the communication device, to said service providing apparatus, the second method information is a by the first encryption scheme showing the plurality of encryption schemes available the relay device Transmitting the second method information including one or more encryption methods indicating an encryption method different from
From the service providing device, as a response to the transmission of the second method information, a second method notification indicating a second encryption method to be used among one or more encryption methods included in the second method information. Received ,
When the second method notification is received, the encrypted communication according to the second encryption method is established with the service providing device,
In response to the establishment of the encrypted communication according to the second encryption method, an establishment notification indicating the establishment of encrypted communication according to the second encryption method is transmitted to the communication device,
Disconnecting the encrypted communication according to the established second encryption method,
The communication device,
When the notification of establishment is received, the encrypted communication with the relay device is disconnected,
After disconnecting the encrypted communication with the relay device, causing the generation unit to generate the specific image data,
After the specific image data is generated, the encrypted communication is established again with the relay device without transmitting the first method information again to the service providing device,
Using the encrypted communication established again with the relay device, the specific image data is transmitted to the relay device,
The relay device is
After the generation of the specific image data, the second method information is transmitted again to the service providing device,
As a response to the transmission of the second scheme information transmitted again, the second scheme notification is received again from the service providing apparatus,
When the second method notification is received again, the encrypted communication according to the second encryption method is established again with the service providing apparatus,
The specific image data received from the communication device, wherein between the service providing apparatus, using the encrypted communication is established again, that sends to the service providing apparatus, a communication system.
請求項1に記載の通信システムであって、
前記中継装置は
前記第2方式通知が受信される場合に、第2方式通知に示される前記第2暗号化方式を記憶
前記第2暗号化方式の記憶後に、前記通信装置から前記第1方式情報を受信
記憶済の前記第2暗号化方式を用いて、前記第1方式情報に含まれる1個以上の暗号化方式から、使用すべき第3暗号化方式を選択
前記第1方式情報の受信に対する応答として、前記第3暗号化方式を示す第3方式通知を、前記通信装置に対して送信
前記通信装置は
前記中継装置にて前記第2暗号化方式記憶された後に、前記中継装置に対して、前記第1方式情報を送信
前記第1方式情報の送信に対する応答として、前記第3方式通知を、前記中継装置から受信し、
記第3方式通知が受信される場合に、前記中継装置との間に前記第3暗号化方式に従う暗号通信を確立する、通信システム。
The communication system according to claim 1, wherein
The relay device,
If the second mode notification is received, and stores the second encryption method shown in the second mode notification,
After storage of the second encryption system, to receive the first type information from the communication device,
Using said second encryption scheme already stored, of one or more encryption method included in the first system information, selects the third encryption method to be used,
As a response to the reception of the first method information, a third method notification indicating the third encryption method is transmitted to the communication device,
The communication device,
After the second encryption method is stored in the relay device, the first method information is transmitted to the relay device,
Receiving the third system notification from the relay device as a response to the transmission of the first system information ,
If the previous SL third method notification is received, to establish a cryptographic communication according to the third encryption scheme between the relay device, a communication system.
請求項2に記載の通信システムであって、
前記第2暗号化方式および前記第3暗号化方式は、装置の認証のための認証アルゴリズムと、通信データを暗号化するための暗号化アルゴリズムと、前記暗号化アルゴリズムで用いられる暗号化鍵を交換するための鍵交換アルゴリズムと、前記認証アルゴリズムと前記暗号化アルゴリズムと前記鍵交換アルゴリズムとの少なくとも一つで用いられるハッシュアルゴリズムと、を含む複数項目のアルゴリズムを含み、
前記中継装置は
前記複数項目のアルゴリズムのうちの少なくとも1つの特定項目について、前記第2暗号化方式にて採用されるアルゴリズムを特定し、
前記第1方式情報に含まれる1個以上の暗号化方式のうち、少なくとも1つの前記特定項目について、前記第2暗号化方式にて採用されるアルゴリズムと同一または近似するアルゴリズムを採用する暗号化方式を、前記第3暗号化方式として選択する、通信システム。
The communication system according to claim 2, wherein
The second encryption system and the third encryption system exchange an authentication algorithm for device authentication, an encryption algorithm for encrypting communication data, and an encryption key used in the encryption algorithm. A key exchange algorithm for, and a hash algorithm used in at least one of the authentication algorithm, the encryption algorithm and the key exchange algorithm, a plurality of items of algorithms,
The relay equipment is,
For at least one specific item of the plurality of items of algorithm, specify an algorithm adopted in the second encryption method,
An encryption method that employs an algorithm that is the same as or similar to the algorithm used in the second encryption method for at least one of the specific items among one or more encryption methods included in the first method information. Is selected as the third encryption method.
請求項3に記載の通信システムであって、
前記中継装置は、さらに
なくとも1つの前記特定項目について、セキュリティレベルおよび処理速度の少なくとも一方に基づく、複数個のアルゴリズムから1個のアルゴリズムを選択する際の優先度を示す優先度情報を記憶し、
記優先度情報を用いて、前記第2暗号化方式にて採用されるアルゴリズムとセキュリティレベルおよび処理速度の少なくとも一方が同一または近似するアルゴリズムを採用する暗号化方式を、前記第3暗号化方式として選択する、画像処理装置。
The communication system according to claim 3, wherein
The relay device further includes
For one of said specific item even without low, based on at least one of the security levels and processing speed, and stores the priority information indicating the priority in selecting one algorithm from a plurality of algorithms,
Using pre SL priority information, an encryption scheme in which at least one of an algorithm employed and the security level and processing speed employs an algorithm that same or similar in the second encryption system, the third encryption scheme Image processing device to be selected as.
請求項2〜4のいずれかに記載の通信システムであって、
前記中継装置は、
記第2暗号化方式を、前記サービス提供装置を示す識別子と関連付けて記憶し、
記通信装置から、前記第1方式情報と前記サービス提供装置を示す前記識別子とを受信し、
記サービス提供装置を示す前記識別子に関連付けて記憶される前記第2暗号化方式を用いて、前記第3暗号化方式を選択する、通信システム。
The communication system according to any one of claims 2 to 4,
The relay equipment is,
The pre-Symbol second encryption method, stored in association with the identifier indicating the service providing device,
Before Symbol communication apparatus receives said identifier indicating the service providing device and the first system information,
Using said second encryption scheme that is stored in association with the identifier indicating the previous SL service providing apparatus selects the third encryption scheme, a communication system.
請求項1〜のいずれかに記載の通信システムであって、
前記通信装置は、前記拒否通知が受信される場合に、前記中継装置との間に確立された暗号通信を用いて、通信すべき前記サービス提供装置との通信要求を、前記中継装置に対して送信
前記中継装置は
記通信装置との間に確立された暗号通信を用いて、前記サービス提供装置との通信要求を、前記通信装置から受信し、
記通信要求に基づいて、前記サービス提供装置に対して、前記第2方式情報を送信する、通信システム。
The communication system according to any one of claims 1 to 5
When the communication device receives the refusal notification , the communication device sends a request for communication with the service providing device to be communicated to the relay device, using encrypted communication established with the relay device. transmitted,
The relay device,
Using the encrypted communication is established between the front Symbol communication device, a communication request with the service providing apparatus, received from the communication device,
Based on the previous SL communication request, to the service providing apparatus, transmitting the second system information, communication system.
請求項1〜のいずれかに記載の通信システムであって、
記特定の画像データの送信は、アプリケーション層に属するアプリケーション間の通信であり、
前記第1方式情報および前記第2方式情報の送受信は、前記アプリケーションより下位の層での通信である、通信システム。
The communication system according to any one of claims 1 to 6
Transmission of the previous SL particular image data is a communication between the applications belonging to the application layer,
The first method information and sending and receiving of the second type information is a communication in the lower layer than the application communication system.
請求項に記載の通信システムであって、
前記第1方式情報および前記第2方式情報の送受信を行うプロトコルは、SSL(Secure Sockets Layer)/TLS(Transport Layer Security)である、コンピュータプログラム。
The communication system according to claim 7 , wherein
The first method information and protocols for transmitting and receiving the second system information is SSL (Secure Sockets Layer) / TLS (Transport Layer Security), a computer program.
通信装置であって、
光学的に原稿を読み取ることによって画像データを生成する生成部と、
制御部と、
を備え、
前記制御部は、
ユーザから特定のサービスの開始指示を受け取ることに応じて、中継装置を介さずに、前記特定のサービスを提供するサービス提供装置に対して、前記通信装置が使用可能な1個以上の暗号化方式を示す方式情報を送信
前記方式情報の送信に対する応答として、前記方式情報に示される1個以上の暗号化方式のうちの使用すべき特定の暗号化方式を示す方式通知と、前記方式情報に含まれる1個以上の暗号化方式の使用を拒否することを示す拒否通知と、のいずれかを、前記サービス提供装置から受信
前記方式通知が受信される場合に、前記サービス提供装置との間に、前記特定の暗号化方式に従う暗号通信を確立
前記特定の暗号化方式に従う暗号通信が確立される場合に、前記特定のサービスに関する特定の画像データを前記生成部に生成させ、
確立済の前記特定の暗号化方式に従う暗号通信を用いて、前記中継装置を介さずに、前記サービス提供装置に対して、前記特定の画像データを送信し
前記拒否通知が受信される場合に、前記中継装置との間に、暗号通信を確立
前記中継装置と前記サービス提供装置との間に暗号通信が確立されることに応じて前記中継装置から送信される確立通知が受信される場合に、前記中継装置との間の暗号通信を切断し、
前記中継装置との間の暗号通信の切断後に、前記特定の画像データを前記生成部に生成させ、
前記特定の画像データの生成後に、前記サービス提供装置に対して、再び前記方式情報を送信することなく、前記中継装置との間に、再び暗号通信を確立し、
前記中継装置との間に、再び確立された暗号通信を用いて、前記特定の画像データを前記中継装置に対して送信する、通信装置。
A communication device,
A generation unit that generates image data by optically reading a document,
A control unit;
Equipped with
The control unit is
One or more encryption methods that can be used by the communication device for a service providing device that provides the specific service without passing through a relay device in response to receiving an instruction to start a specific service from a user. sends the system information indicating,
As a response to the transmission of the scheme information, a scheme notification indicating a specific encryption scheme to be used among the one or more encryption schemes shown in the scheme information, and one or more ciphers included in the scheme information. rejection notice and indicating to reject the use of the scheme, one of the, received from the service providing device,
When the method notification is received, the encrypted communication according to the specific encryption method is established with the service providing device,
When encrypted communication according to the specific encryption method is established, the generation unit is caused to generate specific image data relating to the specific service,
Using the encrypted communication according to the established specific encryption method, without transmitting the relay device, to the service providing device, the specific image data is transmitted ,
When the rejection notification is received, encrypted communication is established with the relay device,
When the establishment notification transmitted from the relay device in response to the establishment of the encryption communication between the relay device and the service providing device is received, the encryption communication with the relay device is disconnected. ,
After disconnecting the encrypted communication with the relay device, causing the generation unit to generate the specific image data,
After the generation of the specific image data, to the service providing device, without transmitting the method information again, to establish encrypted communication again with the relay device,
Wherein between the relay apparatus, using established encrypted communication again, that sends the specific image data to the relay device, the communication device.
中継装置のためのコンピュータプログラムであって、
通信装置との間に、暗号通信を確立し、
前記通信装置との間の暗号通信の確立後に、特定のサービスを提供するサービス提供装置に対して、前記中継装置が使用可能な複数個の暗号化方式であって前記通信装置が使用可能な1個以上の暗号化方式とは異なる暗号化方式を含む前記複数個の暗号化方式を示す方式情報を送信し
前記方式情報の送信に対する応答として、前記方式情報に含まれる1個以上の暗号化方式のうちの使用すべき特定の暗号化方式を示す方式通知を、前記サービス提供装置から受信
記方式通知が受信される場合に、前記サービス提供装置との間に、前記特定の暗号化方式に従う暗号通信を確立
前記特定の暗号化方式に従う暗号通信が確立されることに応じて、前記特定の暗号化方式に従う暗号通信の確立を示す確立通知を、前記通信装置に対して送信し、
確立済みの前記特定の暗号化方式に従う暗号通信を切断し、
前記特定の暗号化方式に従う暗号通信の切断後に前記通信装置にて前記特定のサービスに関する特定の画像データが生成された後に、前記サービス提供装置に対して、再び前記方式情報を送信し、
再び送信された前記方式情報の送信に対する応答として、前記サービス提供装置から、再び前記方式通知を受信し、
前記方式通知が再び受信される場合に、前記サービス提供装置との間に、再び前記特定の暗号化方式に従う暗号通信を確立し、
記通信装置との間に確立済の暗号通信と、前記サービス提供装置との間に再び確立された前記特定の暗号化方式に従う暗号通信と、を用いて、前記通信装置と前記サービス提供装置との間で、前記特定の画像データの通信を中継することを
コンピュータに実現させる、コンピュータプログラム。
A computer program for a relay device,
Establishes encrypted communication with the communication device ,
After establishing encrypted communication with the communication device, a plurality of encryption methods that can be used by the communication device and that can be used by the relay device for a service providing device that provides a specific service 1 Transmitting method information indicating the plurality of encryption methods including an encryption method different from one or more encryption methods,
Wherein in response to the transmission of the system information, the method notification indicating specific cipher to use of the one or more encryption method included in the system information, received from the service providing device,
If the previous SL system notification is received, between the service providing apparatus establishes an encrypted communication according to the particular encryption scheme,
In response to the encrypted communication according to the specific encryption method being established, an establishment notification indicating the establishment of encrypted communication according to the specific encryption method is transmitted to the communication device,
Disconnect the encrypted communication according to the established specific encryption method,
After the specific image data relating to the specific service is generated in the communication device after disconnecting the encrypted communication according to the specific encryption system, the system information is transmitted again to the service providing device,
As a response to the transmission of the scheme information transmitted again, the scheme notification is received again from the service providing device,
When the system notification is received again, the encrypted communication with the service providing device is again established according to the specific encryption system,
By using the encrypted communication already established between the front Symbol communication device, and a cryptographic communication according to the particular encryption scheme that is re-established between the service providing apparatus, the communication device and the service providing apparatus during in, to relay the communication of a specific image data and,
A computer program that a computer realizes.
JP2015192953A 2015-09-30 2015-09-30 Communication system, communication device, and computer program Active JP6679867B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015192953A JP6679867B2 (en) 2015-09-30 2015-09-30 Communication system, communication device, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015192953A JP6679867B2 (en) 2015-09-30 2015-09-30 Communication system, communication device, and computer program

Publications (2)

Publication Number Publication Date
JP2017069756A JP2017069756A (en) 2017-04-06
JP6679867B2 true JP6679867B2 (en) 2020-04-15

Family

ID=58492871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015192953A Active JP6679867B2 (en) 2015-09-30 2015-09-30 Communication system, communication device, and computer program

Country Status (1)

Country Link
JP (1) JP6679867B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6676587B2 (en) 2017-06-16 2020-04-08 キヤノン株式会社 Print control device, control method, and program
KR102102524B1 (en) * 2018-04-13 2020-04-22 엔에이치엔 주식회사 Network operation method and system for providing service between server and server
JP6705602B1 (en) * 2019-01-24 2020-06-03 Necプラットフォームズ株式会社 Relay device, relay method, and control program
JP7358897B2 (en) * 2019-10-09 2023-10-11 富士フイルムビジネスイノベーション株式会社 Information processing device and information processing program

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366315A (en) * 2001-06-13 2002-12-20 Fuji Xerox Co Ltd Picture processing system, data transfer system, and device and terminal to be used in these systems
JP4220803B2 (en) * 2003-02-20 2009-02-04 トヨタ自動車株式会社 ENCRYPTED COMMUNICATION METHOD, MOBILE TERMINAL, AND MOBILE BODY
JP2007213419A (en) * 2006-02-10 2007-08-23 Fuji Xerox Co Ltd Information processing apparatus, method for controlling session, and program
JP2008226148A (en) * 2007-03-15 2008-09-25 Ricoh Co Ltd Authentication system, relay server, authentication method, and program
JP5112498B2 (en) * 2010-11-09 2013-01-09 日本電信電話株式会社 Confirmation device, confirmation method and confirmation program
WO2012140760A1 (en) * 2011-04-14 2012-10-18 株式会社日立製作所 Relay device and relay method
JP2013258566A (en) * 2012-06-13 2013-12-26 Ricoh Co Ltd Information processing device, program, and recording medium
JP6102430B2 (en) * 2013-03-29 2017-03-29 ブラザー工業株式会社 Relay device, relay device program, and communication method
JP2016033811A (en) * 2014-07-30 2016-03-10 富士通株式会社 Session management method, session management device, session management program and communication processing method

Also Published As

Publication number Publication date
JP2017069756A (en) 2017-04-06

Similar Documents

Publication Publication Date Title
US10230716B2 (en) Information processing apparatus and encryption communicating method
US8127340B2 (en) Communication apparatus
US10341118B2 (en) SSL gateway with integrated hardware security module
JP7183559B2 (en) Printers and computer programs for printers
US11736274B2 (en) Terminal device and non-transitory computer-readable medium storing computer-readable instructions for terminal device
JP6679867B2 (en) Communication system, communication device, and computer program
JP7196533B2 (en) Communication device and computer program for the communication device
JP2007082208A (en) System, method, and program for securely transmitting electronic documents between domains in terms of security
US10742765B2 (en) Device system, server, and data processing method
JP2006018399A (en) Information processor, information processing method and program
JP6575275B2 (en) Server device and communication system including server device
JP6686350B2 (en) Computer program and relay device
JP5784562B2 (en) Communication apparatus and program
JP2019050511A (en) Information processing device and computer program
CN102202009B (en) E-mail communication apparatus and control method thereof
TWI421723B (en) Information processing system, method and recording medium, server and client device
CN110063089B (en) Computing system, method and storage medium for transmitting content
JP2007235716A (en) Image reading apparatus, image reading method and computer program
JP2013243583A (en) Image forming system, image forming apparatus, authentication server, client pc, and control method and program of image forming apparatus
JP6720767B2 (en) Server device
JP7000961B2 (en) File operation management system and file operation management method
US11924286B2 (en) Encrypted communication processing apparatus, encrypted communication processing system, and non-transitory recording medium
JP2006115379A (en) Cipher communication equipment
JP2010217595A (en) Information processing device, information processing method, and program
JP6127610B2 (en) Terminal device, application, and information transmission method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180925

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190730

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190927

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200302

R150 Certificate of patent or registration of utility model

Ref document number: 6679867

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150