JP2017069755A - Computer program and relay device - Google Patents

Computer program and relay device Download PDF

Info

Publication number
JP2017069755A
JP2017069755A JP2015192950A JP2015192950A JP2017069755A JP 2017069755 A JP2017069755 A JP 2017069755A JP 2015192950 A JP2015192950 A JP 2015192950A JP 2015192950 A JP2015192950 A JP 2015192950A JP 2017069755 A JP2017069755 A JP 2017069755A
Authority
JP
Japan
Prior art keywords
encryption method
communication
encryption
server
service providing
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.)
Granted
Application number
JP2015192950A
Other languages
Japanese (ja)
Other versions
JP6686350B2 (en
Inventor
雅史 宮澤
Masafumi Miyazawa
雅史 宮澤
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 JP2015192950A priority Critical patent/JP6686350B2/en
Publication of JP2017069755A publication Critical patent/JP2017069755A/en
Application granted granted Critical
Publication of JP6686350B2 publication Critical patent/JP6686350B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To maintain a security level of communication between two devices at a necessary level in the case of relaying communication between the two devices.SOLUTION: A relay server 200 establishes first encryption communication with a service providing server 300 by using an encryption system selected from one or more first encryption systems which can be used by the service providing server 300, and receives a system list indicating a plurality of available encryption systems from the device 100, and selects a second encryption system from among the plurality of encryption systems indicated by the system list after the first encryption communication is established. The selected second encryption system is either the same encryption system as the first encryption system or an encryption system having a security level equal to or higher than the first encryption system. The relay server 200 establishes second encryption communication with the device 100 by using the second encryption system, and relays communication between the service providing server and the device by using the first encryption communication and the second encryption communication.SELECTED DRAWING: Figure 6

Description

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

特許文献1には、第1通信装置と第2通信装置との間の通信を中継する機能を具備した第3通信装置が、開示されている。第3通信装置は、第1通信装置と第3通信装置との間の通信に用いる第1暗号鍵と、第2通信装置と第3通信装置との間の通信に用いる第2暗号鍵の暗号種類、および、鍵長を調べる。第3通信装置は、第1暗号鍵と第2暗号鍵との間で、暗号種類と鍵長が一致した場合に、第3通信装置は、第1暗号鍵を第2通信装置に送信する。そして、第3通信装置は、第1通信装置と第3通信装置との間の通信と、第2通信装置と第3通信装置との間の通信と、の両方を、第1暗号鍵を用いて行う。これにより、第3通信装置は、復号や暗号化を行うことなく、単に、暗号化されたデータを中継するだけでよいので、効率良く中継を行うことができる。   Patent Document 1 discloses a third communication device having a function of relaying communication between the first communication device and the second communication device. The third communication device encrypts a first encryption key used for communication between the first communication device and the third communication device, and a second encryption key used for communication between the second communication device and the third communication device. Check the type and key length. When the encryption type and the key length match between the first encryption key and the second encryption key, the third communication device transmits the first encryption key to the second communication device. The third communication device uses the first encryption key for both communication between the first communication device and the third communication device and communication between the second communication device and the third communication device. Do it. As a result, the third communication apparatus can simply relay the encrypted data without performing decryption or encryption, and therefore can efficiently perform the relay.

特開2001−237818号公報JP 2001-237818 A

しかしながら、上記技術では、暗号種類、および、鍵長が一致した場合に、暗号鍵を共通化しているだけであるので、中継されるべき2個の装置(例えば、上記の第1通信装置と第2通信装置)との間の通信のセキュリティレベルを必要なレベルに維持できない可能性があった。   However, in the above technique, when the encryption type and the key length match, only the encryption key is shared, so two devices to be relayed (for example, the first communication device and the first communication device) There is a possibility that the security level of communication with the (2 communication devices) cannot be maintained at a necessary level.

本明細書は、2個の装置間の通信を中継する際に、2個の装置間の通信のセキュリティレベルを、必要なレベルに維持することができる技術を開示する。   The present specification discloses a technique capable of maintaining a communication security level between two devices at a necessary level when relaying communication between the two devices.

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

[適用例1]中継装置のためのコンピュータプログラムであって、特定のサービスを提供するサービス提供装置が使用可能な1個以上の第1暗号化方式から選択される暗号化方式を用いて、前記サービス提供装置との間に、第1暗号化通信を確立する第1確立機能と、通信装置から、前記通信装置が使用可能な複数個の暗号化方式を示す方式リストを受信する第1受信機能と、前記第1暗号化通信が確立された後に、前記第1暗号化方式に基づいて、前記方式リストに示される複数個の暗号化方式の中から第2暗号化方式を選択する選択機能であって、選択される前記第2暗号化方式は、前記第1暗号化方式と同一の暗号化方式と、前記第1暗号化方式以上のセキュリティレベルである暗号化方式と、のいずれかである、前記選択機能と、前記第2暗号化方式を用いて、前記通信装置との間に、第2暗号化通信を確立する第2確立機能と、前記第1暗号化通信と前記第2暗号化通信とを用いて、前記サービス提供装置と前記通信装置との間の通信を中継する中継機能と、をコンピュータに実現させるコンピュータプログラム。 Application Example 1 A computer program for a relay device using an encryption method selected from one or more first encryption methods that can be used by a service providing device that provides a specific service. A first establishment function for establishing first encrypted communication with a service providing device, and a first reception function for receiving a method list indicating a plurality of encryption methods usable by the communication device from the communication device And a selection function for selecting a second encryption method from a plurality of encryption methods shown in the method list based on the first encryption method after the first encrypted communication is established. The selected second encryption method is either the same encryption method as the first encryption method or an encryption method having a security level higher than that of the first encryption method. The selection function and the previous Using a second establishment function for establishing a second encrypted communication with the communication device using a second encryption method, using the first encrypted communication and the second encrypted communication, A computer program that causes a computer to realize a relay function for relaying communication between a service providing device and the communication device.

上記構成によれば、サービス提供装置が使用可能な1個以上の第1暗号化方式に基づいて、中継装置と通信装置との間に確立すべき第2暗号化通信の第2暗号化方式が選択される。そして、第2暗号化方式には、第1暗号化方式と同一の暗号化方式と、第1暗号化方式よりセキュリティレベルが高い暗号化方式と、のいずれかが選択される。したがって、第1暗号化方式と比較して、第2暗号化方式のセキュリティレベルが低くなることを抑制することができる。したがって、中継装置が通信装置とサービス提供装置との間の通信を中継する場合に、通信装置とサービス提供装置との間の通信のセキュリティレベルを、必要なレベル(例えば、サービス提供装置が要求するレベル)に維持することができる。   According to the above configuration, the second encryption method of the second encrypted communication to be established between the relay device and the communication device based on one or more first encryption methods that can be used by the service providing device. Selected. Then, either the same encryption method as the first encryption method or an encryption method having a higher security level than the first encryption method is selected as the second encryption method. Therefore, it is possible to suppress a decrease in the security level of the second encryption method compared to the first encryption method. Therefore, when the relay device relays communication between the communication device and the service providing device, a security level of communication between the communication device and the service providing device is required (for example, the service providing device requests). Level).

なお、本明細書に開示される技術は、種々の形態で実現することが可能であり、例えば、通信装置と、前記通信装置に対して特定のサービスを提供するサービス提供装置と、に接続される中継装置、通信装置と、前記通信装置に対して特定のサービスを提供するサービス提供装置と、の間の通信の中継方法、上記コンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。   The technology disclosed in this specification can be realized in various forms, and is connected to, for example, a communication device and a service providing device that provides a specific service to the communication device. A relay device, a communication device, and a communication relay method between the communication device and a service providing device that provides a specific service to the communication device, a recording medium in which the computer program is recorded (for example, a non-temporary recording medium) ), And the like.

システム1000の構成を示すブロック図である。1 is a block diagram showing a configuration of a system 1000. FIG. システム1000内の装置が有する情報の概念図である。2 is a conceptual diagram of information included in devices in the system 1000. FIG. システム1000の通信の一例を示すシーケンス図である。FIG. 11 is a sequence diagram illustrating an example of communication in the system 1000. システム1000の通信の一例を示すシーケンス図である。FIG. 11 is a sequence diagram illustrating an example of communication in the system 1000. 第1実施例の再確立判断処理のフローチャートである。It is a flowchart of the re-establishment judgment process of 1st Example. システム1000の通信の一例を示すシーケンス図である。FIG. 11 is a sequence diagram illustrating an example of communication in the system 1000. システム1000の通信の一例を示すシーケンス図である。FIG. 11 is a sequence diagram illustrating an example of communication in the system 1000. 参照情報RIの一例を示す図である。It is a figure which shows an example of the reference information RI. 第2実施例の再確立判断処理のフローチャートである。It is a flowchart of the re-establishment judgment process of 2nd Example.

A.第1実施例:
A−1:システム1000の構成
次に、実施の形態を実施例に基づき説明する。図1は、本実施例としてのシステム1000の構成を示すブロック図である。図2は、システム1000内の装置が有する情報の概念図である。
A. First embodiment:
A-1: Configuration of System 1000 Next, an embodiment will be described based on examples. FIG. 1 is a block diagram illustrating a configuration of a system 1000 according to the present 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 apparatus, 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 and 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 multifunction device that executes image processing such as image printing and image scanning. The device 100 is not limited to a multifunction peripheral, and may be another image processing device such as a scanner, a printer, or a digital camera, or may be a general-purpose device such as a portable 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 a RAM, and a printer unit that prints an image using a predetermined method (for example, a laser method or an inkjet method). 140, a scanner unit 150 that acquires scan data by optically reading an object (for example, a paper document), an operation unit 160 such as a touch panel or a button, and a display unit such as a liquid crystal panel superimposed on the touch panel. 170 and a network interface (IF) 180. The network IF 180 is an interface compliant with, for example, the Ethernet (registered trademark) standard, and is used to connect to the LAN 70.

不揮発性記憶装置120は、コンピュータプログラムPG1と、サーバ情報SIと、暗号化方式リストCL1と、を格納している。揮発性記憶装置130には、CPU110が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域131が設けられている。   The nonvolatile 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 stored in advance in the nonvolatile storage device 120 when the device 100 is shipped. The computer program PG1 may be provided in a form downloaded from a server connected to the device 100 via the Internet 80, or may be provided in a form stored in a CD-ROM or DVD-ROM.

CPU110は、コンピュータプログラムPG1を実行することにより、デバイス100のコントローラーとして機能する。たとえば、CPU110は、プリンタ部140やスキャナ部150を制御して印刷やスキャンを実行する。また、CPU110は、中継サーバ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 for communicating with the service providing server 300 via the relay server 200. Although details will be described later, the server communication function of the present embodiment is executed to transmit various status information of the device 100 to the service providing server 300.

サーバ情報SIは、サーバ通信機能において通信すべきサーバの情報である。サーバ情報SIは、デバイス100が、直接、通信を行うべき中継サーバ200を示す情報、具体的には、中継サーバ200のURLと、デバイス100が利用するサービス提供サーバ300を示す識別子(以下、利用サーバIDとも呼ぶ)と、を含む。   The server information SI is server information to be communicated in the server communication function. The server information SI is information indicating the relay server 200 with which the device 100 should directly communicate, specifically, the URL of the relay server 200 and an identifier indicating the service providing server 300 used by the device 100 (hereinafter, used). Also called a server ID).

暗号化方式リストCL1は、デバイス100が使用可能な複数個の暗号化方式を示すリストである。暗号化方式は、デバイス100と、デバイス100とネットワークを介して接続された外部装置(例えば、中継サーバ200)と、の間の暗号化通信の方式である。暗号化方式は、暗号化通信に用いられる複数項目のアルゴリズムを並べて示す暗号化スイートによって定義される。   The encryption method list CL1 is a list indicating a plurality of encryption methods that the device 100 can use. The encryption method is a method of encrypted communication between the device 100 and an external device (for example, the relay server 200) connected to the device 100 via a network. The encryption method is defined by an encryption suite that shows a plurality of algorithms used in 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. The multiple item algorithm included in one encryption method includes 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 apparatuses that perform communication. For example, “RSA”, “DHE (abbreviation of Diffie-Hellman key Exchange)”, and “ECDHE (abbreviation of Elliptic Curve Diffie-Hellman key Exchange)” are used as the key exchange algorithm.

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 transmits encrypted data obtained by encrypting the shared key using the public key of the second device to the second device. The second device acquires the shared key by decrypting the encrypted data using the self-confidential private key. Since the third party does not have the secret key, the eavesdropping encrypted communication cannot be decrypted. However, if a third party can obtain a secret key in the future, the third party can decrypt and view the encrypted communication that has been wiretapped so far. 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, a shared key is exchanged using random parameters generated by the first device and the second device for each session. Even if these parameters are leaked, they do not affect the security of communication in another session. Therefore, the DHE key exchange algorithm and the ECDHE key exchange algorithm can achieve so-called PFS.

この観点からは、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. For example, “RSA” or “DSA (abbreviation of Digital Signature Algorithm)” is used as the authentication algorithm.

暗号化アルゴリズムは、交換された暗号化鍵(共有鍵)を用いて通信データを暗号化するためのアルゴリズムである。暗号化アルゴリズムには、例えば、「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 an exchanged encryption key (shared key). For example, “DES (abbreviation of Data Encryption Standard)”, “3DES (abbreviation of Triple Data Encryption Standard)”, and “AES (abbreviation of Advanced Encryption Standard)” are used as the encryption algorithm. In addition, a number (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, DES256. Between 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, for generating signature data or verifying an electronic certificate in an authentication algorithm. As the hash algorithm, for example, “SHA (abbreviation of Secure Hash Algorithm) 1”, “SHA256”, “SHA512”, and the like are used. The security level is higher 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 encryption suites indicating the encryption methods A to D. As can be seen from these encryption suites, the key exchange-authentication-encryption-hash algorithm combination of encryption method A is “RSA”-“RSA”-“AES128”-“SHA256”. Then, the combination of algorithms of the encryption method B is “RSA” − “RSA” − “AES256” − “SHA256”. The combination of encryption scheme C algorithms is “DHE”-“RSA”-“AES128”-“SHA1”. The combination of algorithms is “DHE”-“RSA”-“AES256”-“SHA1”.

図2(A)に示すように、暗号化方式リストCL1は、暗号化方式Aを示す暗号化スイートと、暗号化方式Cを示す暗号化スイートと、を含む。すなわち、デバイス100は、2個の暗号化方式A、Cを使用可能である。   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 C. That is, the device 100 can use two encryption methods A and C.

中継サーバ200(図1)は、デバイス100のベンダによって提供されるサーバである。中継サーバ200は、詳細は後述するが、デバイス100を含む複数個のデバイスと、サービス提供サーバ300を含む複数個のサービス提供サーバと、の間の通信を中継する。   The relay server 200 (FIG. 1) is a server provided by the device 100 vendor. As will be described in detail 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 nonvolatile storage device 220 such as a hard disk drive, a volatile storage device 230 such as a RAM, and a network IF 280 for connecting to the Internet 80.

不揮発性記憶装置220は、コンピュータプログラムPG2と、暗号化方式リストCL2と、登録情報CIと、を格納している。なお、波線で示す参照情報RIは、第2実施例において、中継サーバ200が保持する情報であるので、第2実施例にて説明する。揮発性記憶装置230には、CPU210が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域231が設けられている。   The nonvolatile storage device 220 stores a computer program PG2, an encryption method list CL2, and registration information CI. The reference information RI indicated by the wavy line is information held by the relay server 200 in the second embodiment, and will be described in the second embodiment. The volatile storage device 230 is provided with a buffer area 231 for temporarily storing 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 vendor computer connected via the Internet 80, or may be provided in a form stored in a CD-ROM, DVD-ROM, or the like. The CPU 210 implements a function as a controller of the relay server 200 by executing the computer program PG2. Details of these functions will be described later.

暗号化方式リストCL2は、中継サーバ200が使用可能な複数個の暗号化方式を示すリストである。図2(B)に示すように、暗号化方式リストCL2には、4個の暗号化方式A〜Dを示す4個の暗号化スイートを含む。すなわち、中継サーバ200は、4個の暗号化方式A〜Dを使用可能である。中継サーバ200は、デバイス100だけでなく、図示しない複数個の他のデバイス、例えば、中継サーバ200を提供するベンダが販売している複合機、スキャナ、プリンタとの通信を行う。また、中継サーバ200は、サービス提供サーバ300だけでなく、図示しない複数個の他のサービス提供サーバとの通信を行う。このために、中継サーバ200は、これらのデバイスやサービス提供サーバが使用し得る多数の暗号化方式を使用できることが好ましい。   The encryption method list CL2 is a list indicating a plurality of encryption methods that can be used by the relay server 200. As shown in FIG. 2B, the encryption method list CL2 includes four encryption suites indicating the four encryption methods A to D. That is, the relay server 200 can use four encryption methods A to D. The relay server 200 communicates not only with the device 100 but also with a plurality of other devices (not shown), for example, multifunction devices, scanners, and printers sold by vendors that provide the relay server 200. The relay server 200 communicates not only with the service providing server 300 but also with a plurality of other service providing servers (not shown). Therefore, it is preferable that the relay server 200 can use many encryption methods that can be used by these devices and the service providing server.

図2(C)に示すように、登録情報CIは、デバイステーブルDTと、サーバテーブルSTと、を含む。   As shown in FIG. 2C, the registration information CI includes a device table DT and a server table ST.

デバイステーブルDTは、中継サーバ200との間に暗号化通信を確立中のデバイス(例えば、デバイス100)の情報が登録されるテーブルである。デバイステーブルDTに登録される1個のエントリE1は、デバイスID(例えば、D01)と、使用暗号化方式(例えば、暗号化方式A)と、利用サーバID(例えば、SV1)と、を含む。デバイスIDは、暗号化通信を確立中のデバイスを示す識別子である。使用暗号化方式は、確立中の暗号化通信で使用している暗号化方式である。サーバIDは、暗号化通信を確立中のデバイスが利用するサービス提供サーバを示す識別子である。   The device table DT is a table in which information on a device (for example, the device 100) that is establishing encrypted communication with the relay server 200 is registered. One entry E1 registered in the device table DT includes a device ID (for example, D01), a used encryption method (for example, encryption method A), and a usage server ID (for example, SV1). The device ID is an identifier indicating a device that is establishing encrypted communication. The used encryption method is an encryption method used in the encrypted communication being established. The server ID is an identifier indicating a service providing server used by a device that is establishing encrypted communication.

サーバテーブルSTは、中継サーバ200との間に暗号化通信を確立したサービス提供サーバ(例えば、サービス提供サーバ300)の情報が登録されるテーブルである。サーバテーブルSTに登録される1個のエントリE2は、サーバID(例えば、SV1)と、暗号化方式リスト(例えば、リストCL2)と、を含む。サーバIDは、暗号化通信を確立したサービス提供サーバを示す識別子である。暗号化方式リストは、暗号化通信を確立したサービス提供サーバから受信された暗号化方式リストである。   The server table ST is a table in which information of a service providing server (for example, the service providing server 300) that has established encrypted communication with the relay server 200 is registered. One entry E2 registered in the server table ST includes a server ID (for example, SV1) and an encryption method list (for example, list CL2). The server ID is an identifier indicating a service providing server that has established encrypted communication. The encryption method list is an encryption method list received from a service providing server that has established encrypted communication.

サービス提供サーバは、クライアント(例えば、デバイス100)に対して、特定のサービスを提供するサーバである。例えば、サービス提供サーバ300は、デバイス100を含む管理対象の複数個のデバイスを管理するサービスを、複数個のデバイスの管理者に対して提供している。サービス提供サーバ300は、デバイス100のベンダによって提供されても良いし、デバイス100のベンダとは異なる運営者によって提供されても良い。サービス提供サーバ300は、例えば、管理対象の複数個のデバイスのステータス、例えば、印刷枚数、トナーやインクなどの色材などの消耗品の状況、故障やエラーの発生状況を示す情報を、複数個のデバイスから収集する。複数個のデバイスの管理者は、図示しない端末装置(例えば、パーソナルコンピュータ)を用いてサービス提供サーバ300にアクセスすることによって、サービス提供サーバ300から、複数個のデバイスのステータスを示す情報の提供を受けることができる。   The service providing server is a server that provides a specific service to a client (for example, the device 100). For example, the service providing server 300 provides a service for managing a plurality of devices to be managed including the device 100 to the administrator of the plurality of devices. The service providing server 300 may be provided by a vendor of the device 100, or may be provided by an operator different from the vendor of the device 100. For example, the service providing server 300 receives a plurality of pieces of information indicating the status of a plurality of devices to be managed, for example, the number of prints, the status of consumables such as color materials such as toner and ink, and the occurrence status of a failure or error. Collect from devices. The administrator of the plurality of devices provides information indicating the status of the plurality of devices from the service providing server 300 by accessing the service providing server 300 using a terminal device (for example, a personal computer) (not shown). Can receive.

サービス提供サーバ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 a RAM, and a network IF 380 for connecting to the Internet 80.

不揮発性記憶装置320は、コンピュータプログラムPG3と、暗号化方式リストCL3と、を格納している。揮発性記憶装置330には、CPU310が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域331が設けられている。   The nonvolatile 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 for temporarily storing 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 or DVD-ROM. May be. The CPU 310 implements a function as a 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(D)に示すように、暗号化方式リストCL3は、2個の暗号化方式C、Dを示す2個の暗号化スイートを含む。すなわち、サービス提供サーバ300は、2個の暗号化方式C、Dを使用可能である。   The encryption method list CL3 is a list indicating one or more encryption methods that can be used by the service providing server 300. As shown in FIG. 2D, the encryption method list CL3 includes two encryption suites indicating the two encryption methods C and D. That is, the service providing server 300 can use two encryption methods C and D.

A−2:システム1000の動作
本実施例では、サービス提供サーバ300の利用者は、デバイス100を含む複数個のデバイスを管理する管理者である。この管理者は、管理対象の複数個のデバイスの設置場所とは異なる場所(例えば、管理者のオフィス)にて、端末装置を用いてサービス提供サーバ300にアクセスする。これによって、サービス提供サーバ300を介して、管理対象の複数個のデバイスのステータスを取得する。管理者は、これらのステータス(例えば、印刷枚数や色材の消費量)に基づいて、デバイスのユーザに対して、課金等を行うことができる。
A-2: Operation of System 1000 In this embodiment, the user of the service providing server 300 is an administrator who manages a plurality of devices including the device 100. This administrator accesses the service providing server 300 using a terminal device at a location (for example, an administrator's office) different from the installation location of a plurality of devices to be managed. As a result, the status of a plurality of devices to be managed is acquired via the service providing server 300. The administrator can charge the user of the device based on these statuses (for example, the number of printed sheets and the amount of color material consumed).

本実施例では、デバイス100を含む複数個のデバイスのユーザは、上記の管理者とは異なる。一例として、ユーザは、管理者から、これらのデバイスのリースを受けて利用している。デバイス100には、予め管理者によって、上述したサーバ情報SIが格納されており、デバイス100は、中継サーバ200を介して、サービス提供サーバ300にステータスを送信するように設定されている。   In the present embodiment, users of a plurality of devices including the device 100 are different from the above-mentioned administrator. As an example, the user receives and leases these devices from the administrator. In the device 100, the server information SI described above is stored in advance by an administrator, and the device 100 is set to transmit a status to the service providing server 300 via the relay server 200.

A−2−1.通信プロトコル
本実施例において、デバイス100を含む複数個のデバイスと、中継サーバ200と、の間の通信のプロトコルについて説明する。各デバイスと、中継サーバ200と、の間の通信は、デバイスおよび中継サーバ200のそれぞれのアプリケーション層のプログラム(以下、単に、アプリケーションと呼ぶ)に従って、各デバイスをクライアント、中継サーバ200をサーバとして、行われる。各デバイスと中継サーバ200のアプリケーションは、アプリケーション層のプロトコルであるXMPP(Extensible Messaging and Presence Protocolの略)に従う通信を行う。アプリケーションの下位のトランスポート層の通信は、TCP(Transmission Control Protocolの略)に従って行われる。そして、アプリケーション層のXMPPより下位で、トランスポート層のTCPより上位の層で、SSL/TLS(Secure Sockets Layer/Transport Layer Securityの略)に従う通信によって、暗号化されたセキュアな通信路(以下、単に、暗号化通信とも呼ぶ)が確立される。すなわち、各デバイスと中継サーバ200との間では、双方のアプリケーションは、SSL/TLSに従って確立された暗号化通信を用いて、アプリケーションデータの送受信を行う。
A-2-1. Communication Protocol In this embodiment, a communication protocol 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 by using each device as a client and the relay server 200 as a server according to a program of an application layer of each device and the relay server 200 (hereinafter simply referred to as an application). Done. Each device and the application of the relay server 200 perform communication according to XMPP (abbreviation of Extensible Messaging and Presence Protocol) which is an application layer protocol. Communication in the transport layer below the application is performed according to TCP (abbreviation of Transmission Control Protocol). An encrypted secure communication path (hereinafter referred to as “Secure Sockets Layer / Transport Layer Security”) that is lower than the XMPP of the application layer and higher than the TCP of the transport layer by communication according to SSL / TLS (Secure Sockets Layer / Transport Layer Security). Simply referred to as encrypted communication). That is, between each device and the relay server 200, both applications transmit and receive application data using encrypted communication established according to SSL / TLS.

本実施例において、中継サーバ200と、サービス提供サーバ300を含むサービス提供サーバと、の間の通信のプロトコルについて説明する。中継サーバ200と、サービス提供サーバと、の間の通信は、中継サーバ200およびサービス提供サーバのそれぞれのアプリケーションに従って、サービス提供サーバをクライアント、中継サーバ200をサーバとして、行われる。中継サーバ200と、サービス提供サーバのアプリケーションは、アプリケーション層のプロトコルであるHTTP(Hypertext Transfer Protocolの略)に従う通信を行う。アプリケーションの下位のトランスポート層の通信は、TCPに従って行われる。そして、アプリケーション層のHTTPと、トランスポート層のTCPと、の間の層で、SSL/TLS(Transport Layer Security/Secure Sockets Layerの略)に従う暗号化通信が確立される。すなわち、中継サーバ200と、サービス提供サーバと、の間の通信は、双方のアプリケーションは、各デバイスと中継サーバ200との間と同様に、SSL/TLSに従って確立された暗号化通信を用いて、アプリケーションデータの送受信を行う。   In this embodiment, a communication protocol between the relay server 200 and a service providing server including the service providing server 300 will be described. Communication between the relay server 200 and the service providing server is performed using the service providing server as a client and the relay server 200 as a server according to the respective applications of the relay server 200 and the service providing server. The relay server 200 and the application of the service providing server perform communication according to HTTP (abbreviation of Hypertext Transfer Protocol) which is an application layer protocol. Communication in the transport layer below the application is performed according to TCP. Then, encrypted communication according to SSL / TLS (abbreviation of Transport Layer Security / Secure Sockets Layer) is established in a layer between HTTP of the application layer and TCP of the transport layer. That is, in the communication between the relay server 200 and the service providing server, both applications use the encrypted communication established according to SSL / TLS as in the case between each device and the relay server 200. Send and receive application data.

A−2−2:システム1000の通信
デバイス100、中継サーバ200、サービス提供サーバ300間の通信を具体例として、システム1000の動作について説明する。図3、図4は、システム1000の通信の一例を示すシーケンス図である。このシーケンス図は、中継サーバ200に、サービス提供サーバ300の暗号化方式リストCL3が登録される前に、デバイス100から中継サーバ200に対してアクセスがある場合の例である。
A-2-2: Communication of System 1000 The operation of the system 1000 will be described using communication between the device 100, the relay server 200, and the service providing server 300 as a specific example. 3 and 4 are sequence diagrams illustrating an example of communication in the system 1000. FIG. This sequence diagram is an example in the case where the device 100 accesses the relay server 200 before the encryption method list CL3 of the service providing server 300 is registered in the relay server 200.

デバイス100は、電源投入時に、中継サーバ200にアクセスして、中継サーバ200との間に、XMPP通信を確立する。これによって、デバイス100と中継サーバ200との双方が主体的に任意のタイミングで通信が行える状態が確立される。デバイス100と中継サーバ200との間のXMPP通信は、後述するように再確立が行われ得るが、デバイス100の電源が投入されている間、常に、維持される。   The device 100 accesses the relay server 200 when power is turned on, and establishes XMPP communication with the relay server 200. As a result, a state is established in which both the device 100 and the relay server 200 can independently communicate at an arbitrary timing. XMPP communication between the device 100 and the relay server 200 can be re-established as will be described later, but is always maintained while the device 100 is powered on.

具体的には、先ず、S10にて、デバイス100のCPU110は、通信開始要求を、中継サーバ200に対して送信する。送信先の中継サーバ200は、上述したサーバ情報SIに基づいて特定される。通信開始要求には、図2(A)の暗号化方式リストCL1が含められる。中継サーバ200が暗号化方式リストCL1を受信すると、S12にて、中継サーバ200のCPU210は、暗号化方式リストCL1に示される複数個の暗号化方式A、C(図2(A))の中から、使用すべき1個の暗号化方式(以下、使用暗号化方式と呼ぶ。)を選択する。具体的には、暗号化方式リストCL1に示される複数個の暗号化方式A、C(図2(A))であって、かつ、中継サーバ200自身も使用できる暗号化方式(すなわち、図2(B)の暗号化方式リストCL2に示される暗号化方式A〜Dのうちの1つ)が、使用暗号化方式として、選択される。S12での暗号化方式の選択は、任意の方法で行われるが、本実施例では、暗号化方式リストCL1にて上位に示された暗号化方式Aが選択される。   Specifically, first, in S <b> 10, the CPU 110 of the device 100 transmits a communication start request to the relay server 200. The transmission destination relay server 200 is specified based on the server information SI described above. The communication start request includes the encryption method list CL1 of FIG. When the relay server 200 receives the encryption method list CL1, in S12, the CPU 210 of the relay server 200 includes a plurality of encryption methods A and C (FIG. 2A) indicated in the encryption method list CL1. From this, one encryption method to be used (hereinafter referred to as a used encryption method) is selected. Specifically, the encryption methods A and C (FIG. 2A) shown in the encryption method list CL1 and the relay server 200 itself can be used (that is, FIG. 2). One of the encryption methods A to D shown in the encryption method list CL2 in (B) is selected as the used encryption method. The selection of the encryption method in S12 is performed by an arbitrary method, but in this embodiment, the encryption method A shown at the top in the encryption method list CL1 is selected.

S14では、CPU210は、使用暗号化方式、本実施例では、暗号化方式Aの通知を、デバイス100に対して送信する。なお、S10、S14の通信は、SSL/TLSレイヤ間の通信である。   In S <b> 14, the CPU 210 transmits a notification of the used encryption method, in this embodiment, the encryption method A, to the device 100. Note that the communication in S10 and S14 is communication between SSL / TLS layers.

デバイス100が使用暗号化方式の通知を受信すると、S16にて、デバイス100と、中継サーバ200と、の間で通信確立処理が行われる。すなわち、デバイス100と、中継サーバ200との間で、使用暗号化方式である暗号化方式Aを用いた暗号化通信を確立するための通信が、SSL/TLSに従って実行される。この処理は、例えば、暗号化方式Aに従って、中継サーバ200を認証する処理は、共有鍵を交換する処理を含む。さらに、確立された暗号化通信上で、XMPP通信を確立するための通信が、XMPPに従って実行される。   When the device 100 receives the notification of the encryption method used, communication establishment processing is performed between the device 100 and the relay server 200 in S16. That is, communication for establishing encrypted communication using the encryption method A, which is the encryption method used, between the device 100 and the relay server 200 is executed according to SSL / TLS. In this process, for example, according to the encryption method A, the process of authenticating the relay server 200 includes a process of exchanging a shared key. Further, communication for establishing XMPP communication is executed in accordance with XMPP on the established encrypted communication.

S18では、CPU110は、確立された暗号化通信、および、暗号化通信上に確立されたXMPP通信を用いて、デバイスIDと、利用サーバIDと、を中継サーバ200に対して送信する。すなわち、デバイスIDと、利用サーバIDと、の送受信は、デバイス100と中継サーバ200とのアプリケーション間の通信である。デバイスIDは、デバイス100自身を示す識別子である。利用サーバIDは、上述したサーバ情報SIに含まれる情報であり、サービス提供サーバ300を示す識別子である。利用サーバIDとしては、例えば、デバイス100のグローバルIPアドレスが用いられる。   In S <b> 18, the CPU 110 transmits the device ID and the usage server ID to the relay server 200 using the established encrypted communication and the XMPP communication established on the encrypted communication. That is, transmission / reception of the device ID and the usage server ID is communication between the application of the device 100 and the relay server 200. The device ID is an identifier indicating the device 100 itself. The use server ID is information included in the server information SI described above, and is an identifier indicating the service providing server 300. As the usage server ID, for example, the global IP address of the device 100 is used.

中継サーバ200がデバイスIDと利用サーバIDを受信すると、S20では、CPU210は、中継サーバ200との間で通信が確立されたデバイス100を登録する。具体的には、CPU210は、受信されたデバイスIDと、利用サーバIDと、当該デバイスとの間で確立された通信に用いられている暗号化方式と、を関連づけて、上述した図2(C)のデバイステーブルDTに記録する。例えば、デバイス100を示すデバイスID「D01」と、デバイス100と中継サーバ200との間で確立された通信で用いられている暗号化方式Aと、サービス提供サーバ300を示す利用サーバID「SV1」と、を含むエントリE1(図2(C))が、記録される。なお、このエントリE1は、デバイス100との間の通信が、後述するように再確立されるときに、更新される。また、デバイス100との間の通信が再確立されることなく、切断されるときに、具体的には、デバイス100の電源が落とされるときに、消去される。   When the relay server 200 receives the device ID and the usage server ID, in S20, the CPU 210 registers the device 100 with which communication with the relay server 200 has been established. Specifically, the CPU 210 associates the received device ID, the use server ID, and the encryption method used for communication established with the device, and described above with reference to FIG. ) In the device table DT. For example, the device ID “D01” indicating the device 100, the encryption method A used in the communication established between the device 100 and the relay server 200, and the usage server ID “SV1” indicating the service providing server 300 are used. And an entry E1 (FIG. 2C) is recorded. The entry E1 is updated when communication with the device 100 is re-established as will be described later. Further, when the communication with the device 100 is disconnected without being re-established, specifically, when the power of the device 100 is turned off, it is deleted.

S21では、CPU210は、デバイス100との間に確立された通信を、使用暗号化方式を変更して再確立するか否かを判断する再確立判断処理を実行する。   In S21, the CPU 210 executes a re-establishment determination process for determining whether to re-establish communication established with the device 100 by changing the encryption method used.

図5は、第1実施例の再確立判断処理のフローチャートである。S100では、CPU210は、確立された通信の相手は、デバイス(例えば、デバイス100)であるか、サービス提供サーバ(例えば、サービス提供サーバ300)であるかを判断する。確立された通信の相手は、直前に、デバイステーブルDTやサーバテーブルSTに登録された装置である。例えば、図3のS21での再確立判断処理では、直前のS20にて登録された装置は、デバイス100であるので、確立された通信の相手は、デバイスであると判断される。   FIG. 5 is a flowchart of the re-establishment determination process according to the first embodiment. In S100, the CPU 210 determines whether the established communication partner is a device (for example, the device 100) or a service providing server (for example, the service providing server 300). The established communication partner is an apparatus registered in the device table DT or the server table ST immediately before. For example, in the re-establishment determination process in S21 of FIG. 3, since the apparatus registered in the immediately preceding S20 is the device 100, it is determined that the established communication partner is a device.

確立された通信の相手がデバイスである場合には、S105〜S125の処理が実行される。確立された通信の相手がサービス提供サーバである場合には、S130〜S155の処理が実行される。ここでは、S105〜S125の処理について説明し、S130〜S155の処理については、後述する。   When the established communication partner is a device, the processes of S105 to S125 are executed. When the established communication partner is a service providing server, the processes of S130 to S155 are executed. Here, the processing of S105 to S125 will be described, and the processing of S130 to S155 will be described later.

S105では、CPU210は、確立された通信の相手であるデバイス(以下、対象デバイスとも呼ぶ。)に関連付けられたサービス提供サーバ、すなわち、対象デバイスが利用する利用サーバを特定する。具体的には、CPU210は、図2(C)のデバイステーブルDTを参照して、対象デバイスのデバイスIDと関連付けられた利用サーバIDを取得する。これによって、当該利用サーバIDによって識別される利用サーバが特定される。図3のS21の再確立判断処理では、デバイス100に関連付けられた利用サーバとして、サービス提供サーバ300が特定される。   In S105, the CPU 210 identifies a service providing server associated with a device (hereinafter also referred to as a target device) that is an established communication partner, that is, a utilization server used by the target device. Specifically, the CPU 210 refers to the device table DT of FIG. 2C and acquires the use server ID associated with the device ID of the target device. As a result, the usage server identified by the usage server ID is specified. In the re-establishment determination process in S21 of FIG. 3, the service providing server 300 is specified as the usage server associated with the device 100.

S110では、CPU210は、特定された利用サーバの暗号化方式リストは、サーバテーブルSTに、登録済であるか否かを判断する。   In S110, the CPU 210 determines whether or not the encryption method list of the specified usage server has been registered in the server table ST.

利用サーバの暗号化方式リストが、サーバテーブルSTに登録されている場合には(S110:YES)、S115にて、CPU210は、対象デバイスとの間で現在確立されている暗号化方式は、利用サーバの暗号化方式リストに含まれているか否かを判断する。   If the encryption method list of the use server is registered in the server table ST (S110: YES), in S115, the CPU 210 determines that the encryption method currently established with the target device is use. It is determined whether it is included in the server encryption method list.

対象デバイスとの間で現在確立されている暗号化方式が、利用サーバの暗号化方式リストに含まれていない場合(S115:NO)、S120にて、CPU210は、対象デバイスとの間で再確立処理を行うと判断して、再確立判断処理を終了する。   When the encryption method currently established with the target device is not included in the encryption method list of the use server (S115: NO), the CPU 210 re-establishes with the target device in S120. It is determined that the process is to be performed, and the re-establishment determination process is terminated.

利用サーバの暗号化方式リストが、登録済でない場合(S110:NO)、および、対象デバイスとの間で現在確立されている暗号化方式が、利用サーバの暗号化方式リストに含まれている場合(S115:YES)には、S125にて、CPU210は、対象デバイスとの間で再確立処理を行わないと判断して、再確立処理を終了する。   When the encryption method list of the use server is not registered (S110: NO), and when the encryption method currently established with the target device is included in the encryption method list of the use server In (S115: YES), in S125, the CPU 210 determines not to perform the re-establishment process with the target device, and ends the re-establishment process.

図3に戻って、説明を続ける。S21の再確立判断処理の時点では、デバイス100の利用サーバであるサービス提供サーバ300と、中継サーバ200と、の間の通信は、まだ、確立されていない。したがって、サービス提供サーバ300の暗号化方式リストは、サーバテーブルSTに登録されていない。このために、図5のS110にて、利用サーバの暗号化方式リストは、登録済でないと判断される。したがって、S21の再確立判断処理では、対象デバイスであるデバイス100との間で、再確立処理は行わないと判断される。   Returning to FIG. 3, the description will be continued. At the time of the re-establishment determination process in S21, communication between the service providing server 300, which is a use server of the device 100, and the relay server 200 has not been established yet. Therefore, the encryption method list of the service providing server 300 is not registered in the server table ST. For this reason, in S110 of FIG. 5, it is determined that the encryption method list of the usage server is not registered. Therefore, in the re-establishment determination process of S21, it is determined that the re-establishment process is not performed with the device 100 that is the target device.

このために、S21の後には、CPU210が、再確立処理を行うことはない。したがって、デバイス100と中継サーバ200との間で、S16にて確立された暗号化通信および当該暗号化通信上に確立されたXMPP通信は、確立された状態に維持される。   For this reason, after S21, the CPU 210 does not perform re-establishment processing. Therefore, the encrypted communication established in S16 and the XMPP communication established on the encrypted communication between the device 100 and the relay server 200 are maintained in the established state.

サービス提供サーバ300は、デバイス100を含む管理対象の複数個のデバイスのステータスを取得すべく、定期的に、例えば、1日に1回、中継サーバ200にアクセスする。具体的には、S22にて、サービス提供サーバ300のCPU310は、通信開始要求を、中継サーバ200に対して送信する。通信開始要求には、図2(D)の暗号化方式リストCL3が含められる。中継サーバ200が暗号化方式リストCL3を受信すると、S24にて、CPU210は、暗号化方式リストCL3に示される複数個の暗号化方式C、D(図2(D))の中から、1個の使用暗号化方式を選択する。S24での暗号化方式の選択は、任意の方法で行われるが、本実施例では、暗号化方式リストCL3にて上位に示された暗号化方式Cが選択される。   The service providing server 300 accesses the relay server 200 periodically, for example, once a day, in order to obtain the status of a plurality of devices to be managed including the device 100. Specifically, in S22, CPU 310 of service providing server 300 transmits a communication start request to relay server 200. The communication start request includes the encryption method list CL3 of FIG. When the relay server 200 receives the encryption method list CL3, in S24, the CPU 210 selects one of the plurality of encryption methods C and D (FIG. 2D) shown in the encryption method list CL3. Select the encryption method used. The selection of the encryption method in S24 is performed by an arbitrary method, but in this embodiment, the encryption method C shown at the top in the encryption method list CL3 is selected.

S26では、CPU210は、使用暗号化方式、本実施例では、暗号化方式Cの通知を、サービス提供サーバ300に対して送信する。なお、S22、S26の通信は、SSL/TLSレイヤ間の通信である。   In S <b> 26, the CPU 210 transmits a notification of the encryption method used, in this embodiment, the encryption method C, to the service providing server 300. Note that the communication in S22 and S26 is communication between SSL / TLS layers.

サービス提供サーバ300が使用暗号化方式の通知を受信すると、S28にて、サービス提供サーバ300と、中継サーバ200と、の間で通信確立処理が行われる。すなわち、サービス提供サーバ300と、中継サーバ200との間で、使用暗号化方式である暗号化方式Cを用いた暗号化通信を確立するための通信が、SSL/TLSに従って実行される。この結果、暗号化通信を用いて、サービス提供サーバ300と中継サーバ200との間で、HTTPリクエストやレスポンスの送受信が可能な状態となる。   When the service providing server 300 receives the notification of the encryption method in use, communication establishment processing is performed between the service providing server 300 and the relay server 200 in S28. That is, communication for establishing encrypted communication using the encryption method C, which is the encryption method used, between the service providing server 300 and the relay server 200 is executed according to SSL / TLS. As a result, an HTTP request and a response can be transmitted and received between the service providing server 300 and the relay server 200 using the encrypted communication.

S30では、サービス提供サーバ300のCPU310は、S28にて確立された暗号化通信を用いて、管理対象のデバイスのステータスを要求するステータス要求を、中継サーバ200に対して送信する。ステータス要求には、サービス提供サーバ300を示す識別子であるサーバIDと、管理対象のデバイスを指定するための指定情報と、が含められる。ステータス要求は、HTTPリクエストとして送信される。   In S30, the CPU 310 of the service providing server 300 transmits a status request for requesting the status of the device to be managed to the relay server 200 using the encrypted communication established in S28. The status request includes a server ID that is an identifier indicating the service providing server 300 and designation information for designating a device to be managed. The status request is transmitted as an HTTP request.

なお、指定情報は、特定のデバイスを指定するための各デバイスIDとは異なる情報であって、ステータス要求の送信を要求する全てのデバイスを指定するための情報である。即ち、中継サーバ200は、指定情報を受信することにより、サービス提供サーバ300を示す利用サーバIDを送信する全てのデバイスに対して、ステータス要求を送信する。   The designation information is information different from each device ID for designating a specific device, and is information for designating all devices that request transmission of status requests. That is, the relay server 200 transmits a status request to all the devices that transmit the use server ID indicating the service providing server 300 by receiving the designation information.

中継サーバ200が、ステータス要求を受信すると、S32にて、CPU210は、中継サーバ200との間で通信が確立されたサービス提供サーバ300の暗号化方式リストCL3を登録する。具体的には、CPU210は、ステータス要求に含まれるサーバIDと、S22にて受信された暗号化方式リストCL3とを、関連付けて、サーバテーブルSTに記録する。例えば、図2(C)に示すように、サービス提供サーバ300を示すサーバID「SV1」と、サービス提供サーバ300の暗号化方式リストCL3と、を含むエントリE2が、記録される。なお、このエントリE2は、サービス提供サーバ300との通信が切断された後も消去されない。このエントリE2は、次にサービス提供サーバ300との通信が確立されたときに、暗号化方式リストCL3の内容が更新されている場合には、更新される。   When the relay server 200 receives the status request, in S32, the CPU 210 registers the encryption method list CL3 of the service providing server 300 with which communication with the relay server 200 has been established. Specifically, the CPU 210 records the server ID included in the status request and the encryption method list CL3 received in S22 in association with each other in the server table ST. For example, as illustrated in FIG. 2C, an entry E2 including a server ID “SV1” indicating the service providing server 300 and an encryption method list CL3 of the service providing server 300 is recorded. The entry E2 is not deleted even after the communication with the service providing server 300 is disconnected. This entry E2 is updated when the content of the encryption method list CL3 is updated when communication with the service providing server 300 is established next time.

S34では、CPU210は、上述した図5の再確立判断処理を実行する。S34の再確立判断処理では、確立された通信の相手、すなわち、直前のS32にて登録された装置は、サービス提供サーバ300である。したがって、図5のS100では、確立された通信の相手は、サービス提供サーバであると判断される。この結果、CPU210は、図5のS130〜S155の処理を実行する。以下、確立された通信の相手であるサービス提供サーバを、対象サーバとも呼ぶ。   In S34, the CPU 210 executes the re-establishment determination process of FIG. In the re-establishment determination process in S34, the established communication partner, that is, the device registered in the immediately preceding S32 is the service providing server 300. Accordingly, in S100 of FIG. 5, it is determined that the established communication partner is a service providing server. As a result, the CPU 210 executes the processes of S130 to S155 in FIG. Hereinafter, a service providing server that is an established communication partner is also referred to as a target server.

S130では、CPU210は、図2(C)のデバイステーブルDTを参照して、現在、中継サーバ200との間で通信を確立中のデバイスのうち、対象サーバが使用サーバとして関連付けられているデバイスを特定する。対象サーバは、図3のS34の再確立判断処理では、サービス提供サーバ300である。したがって、デバイステーブルDTの複数個のエントリのうち、サービス提供サーバ300のサーバID「SV1」を含むエントリE1に基づいて、デバイスID「D01」のデバイス100が特定される。S130では、複数個のデバイスが特定される場合も、デバイスが特定されない場合もあり得る。   In S <b> 130, the CPU 210 refers to the device table DT of FIG. 2C, and selects a device with which the target server is associated as a use server among devices that are currently establishing communication with the relay server 200. Identify. The target server is the service providing server 300 in the re-establishment determination process in S34 of FIG. Therefore, the device 100 with the device ID “D01” is specified based on the entry E1 including the server ID “SV1” of the service providing server 300 among the plurality of entries in the device table DT. In S130, a plurality of devices may be specified or a device may not be specified.

S132では、CPU210は、S130にてデバイスが特定されたか否かを判断する。デバイスが特定されない場合には(S132:NO)、CPU210は、再確立判断処理を終了する。1個以上のデバイスが特定された場合には(S132:YES)、S135にて、CPU210は、特定されたデバイスの中から、1個の判断対象のデバイスを選択する。   In S132, the CPU 210 determines whether or not a device is specified in S130. When the device is not specified (S132: NO), the CPU 210 ends the re-establishment determination process. When one or more devices are identified (S132: YES), in S135, the CPU 210 selects one device to be determined from the identified devices.

S140では、CPU210は、判断対象のデバイスとの間で現在確立されている暗号化方式は、対象サーバの暗号化方式リストに含まれているか否かを判断する。図3のS34の再確立判断処理では、対象サーバは、サービス提供サーバ300である。また、判断対象のデバイスは、デバイス100であり、デバイス100との間で現在確立されている暗号化方式は、上述したように、暗号化方式Aである。暗号化方式Aは、サーバテーブルSTに登録済のサービス提供サーバ300の暗号化方式リストCL3(図2(D))に、含まれていない。したがって、この場合には、判断対象のデバイスとの間で現在確立されている暗号化方式は、対象サーバの暗号化方式リストに含まれていないと判断される。仮に、デバイス100との間で現在確立されている暗号化方式は、上述したように、暗号化方式Cであるとする。暗号化方式Cは、サーバテーブルSTに登録済のサービス提供サーバ300の暗号化方式リストCL3(図2(D))に、含まれている。したがって、この場合には、判断対象のデバイスとの間で現在確立されている暗号化方式は、対象サーバの暗号化方式リストに含まれていると判断される。   In S140, the CPU 210 determines whether or not the encryption method currently established with the determination target device is included in the encryption method list of the target server. In the re-establishment determination process of S34 in FIG. 3, the target server is the service providing server 300. The device to be determined is the device 100, and the encryption method currently established with the device 100 is the encryption method A as described above. The encryption method A is not included in the encryption method list CL3 (FIG. 2D) of the service providing server 300 registered in the server table ST. Therefore, in this case, it is determined that the encryption method currently established with the device to be determined is not included in the encryption method list of the target server. Assume that the encryption method currently established with the device 100 is the encryption method C as described above. The encryption method C is included in the encryption method list CL3 (FIG. 2D) of the service providing server 300 registered in the server table ST. Therefore, in this case, it is determined that the encryption method currently established with the determination target device is included in the encryption method list of the target server.

判断対象のデバイスとの間で現在確立されている暗号化方式は、対象サーバの暗号化方式リストに含まれていない場合(S140:NO)、S145にて、CPU210は、判断対象のデバイスとの間で再確立処理を行うと判断する。判断対象のデバイスとの間で現在確立されている暗号化方式は、対象サーバの暗号化方式リストに含まれている場合(S140:YES)、S150にて、CPU210は、判断対象のデバイスとの間で再確立処理を行わないと判断する。   If the encryption method currently established with the determination target device is not included in the encryption method list of the target server (S140: NO), in S145, the CPU 210 determines whether or not the determination target device is connected to the determination target device. It is determined that re-establishment processing will be performed. If the encryption method currently established with the determination target device is included in the encryption method list of the target server (S140: YES), in S150, the CPU 210 determines whether or not the determination target device It is determined that no re-establishment process is performed.

S155では、CPU210は、S130にて特定された全てのデバイスについて、判断対象のデバイスとして処理したか否かを判断する。未処理のデバイスがある場合には(S155:NO)、CPU210は、S135に戻って、未処理のデバイスを、判断対象のデバイスとして選択する。全てのデバイスについて処理した場合には(S155:YES)、CPU210は、再確立判断処理を終了する。   In S155, the CPU 210 determines whether or not all devices specified in S130 have been processed as determination target devices. When there is an unprocessed device (S155: NO), the CPU 210 returns to S135 and selects an unprocessed device as a determination target device. When all the devices have been processed (S155: YES), the CPU 210 ends the re-establishment determination process.

図3のS34の再確立判断処理が終了すると、図4のS36に処理が進められる。再確立判断処理にて、デバイス100との間の通信の再確立処理を行うと判断された場合には(S36:YES)、S38にて、CPU210は、現在確立されている通信を用いて、再確立要求を、デバイス100に対して送信する。再確立要求は、例えば、XMPP通信を用いて、アプリケーション間の通信として送信される。   When the re-establishment determination process in S34 of FIG. 3 is completed, the process proceeds to S36 of FIG. If it is determined in the re-establishment determination process that the communication re-establishment process with the device 100 is performed (S36: YES), in S38, the CPU 210 uses the currently established communication, A re-establishment request is transmitted to the device 100. The re-establishment request is transmitted as communication between applications using, for example, XMPP communication.

S39では、CPU210は、デバイス100との間で、現在、確立されている通信を切断する。例えば、中継サーバ200が主体となって、TCPレイヤまたはSSL/TLSレイヤでの論理的な通信路の切断が行われる。なお、変形例としては、S38にて、CPU210は、再確立要求とともに、現在、現在確立されている通信の切断要求を、デバイス100に送信しても良い。この場合には、切断要求を受信したデバイス100が主体となって、現在確立されている通信の切断が実行される。また、別の変形例としては、現在、確立されている通信の切断を行うことなく、現在、確立されている通信を維持したまま、別の暗号化通信を再確立しても良い。   In S <b> 39, the CPU 210 disconnects the currently established communication with the device 100. For example, the logical communication path in the TCP layer or the SSL / TLS layer is disconnected mainly by the relay server 200. As a modification, in S38, the CPU 210 may transmit a request for disconnecting the currently established communication to the device 100 together with the re-establishment request. In this case, the currently established communication is disconnected mainly by the device 100 that has received the disconnection request. As another modification, another encrypted communication may be re-established while maintaining the currently established communication without disconnecting the currently established communication.

デバイス100が再確立要求を受信すると、S40にて、デバイス100のCPU110は、該再確立要求に応じて、図1のS10と同様の通信開始要求を、中継サーバ200に対して送信する。通信開始要求には、図2(A)の暗号化方式リストCL1が含められる。   When the device 100 receives the re-establishment request, in S40, the CPU 110 of the device 100 transmits a communication start request similar to that in S10 of FIG. 1 to the relay server 200 in response to the re-establishment request. The communication start request includes the encryption method list CL1 of FIG.

中継サーバ200が暗号化方式リストCL1を受信すると、S42にて、CPU210は、暗号化方式リストCL1に示される複数個の暗号化方式A、C(図2(A))の中から、1個の使用暗号化方式を選択する。具体的には、通信開始要求には、送信元のIPアドレスとして、デバイス100のデバイスIDとしてのグローバルIPアドレスを含んでいるので、CPU210は、該グローバルIPアドレスを取得する。そして、デバイスIDとしてのグローバルIPアドレスに基づいて、デバイステーブルDTを参照して、デバイス100の利用サーバ、図4の例では、サービス提供サーバ300を特定する。さらに、CPU210は、サーバテーブルSTを参照して、特定済の利用サーバの暗号化方式リスト、図4の例では、サービス提供サーバ300の暗号化方式リストCL3を特定する。そして、CPU210は、図3のS12とは異なり、特定済のサービス提供サーバ300の暗号化方式リストCL3に示される暗号化方式C、Dに基づいて、使用暗号化方式を選択する。具体的には、CPU210は、サービス提供サーバ300の暗号化方式リストCL1に示される暗号化方式A、Cのうち、暗号化方式リストCL3に示される暗号化方式C、Dのいずれかと同一の暗号化方式を選択する。したがって、本実施例では、2個の暗号化方式リストCL1、CL3の両方に含まれる暗号化方式Cが選択される。   When the relay server 200 receives the encryption method list CL1, in S42, the CPU 210 selects one of the plurality of encryption methods A and C (FIG. 2A) shown in the encryption method list CL1. Select the encryption method used. Specifically, since the communication start request includes the global IP address as the device ID of the device 100 as the IP address of the transmission source, the CPU 210 acquires the global IP address. Then, based on the global IP address as the device ID, the device table DT is referred to, and the usage server of the device 100, in the example of FIG. Further, the CPU 210 refers to the server table ST to identify the encryption method list of the specified use server, and in the example of FIG. 4, the encryption method list CL3 of the service providing server 300 is specified. Then, unlike S12 in FIG. 3, the CPU 210 selects a used encryption method based on the encryption methods C and D shown in the encryption method list CL3 of the specified service providing server 300. Specifically, the CPU 210 uses the same encryption as any of the encryption methods C and D shown in the encryption method list CL3 among the encryption methods A and C shown in the encryption method list CL1 of the service providing server 300. Select the conversion method. Therefore, in this embodiment, the encryption method C included in both of the two encryption method lists CL1 and CL3 is selected.

なお、S42にて、サービス提供サーバ300の暗号化方式リストに示される暗号化方式のいずれもが、デバイス100の暗号化方式リストに含まれない場合には、CPU210は、1個の使用暗号化方式を選択できない。使用暗号化方式を選択できない場合には、CPU210は、デバイス100と中継サーバ200との間では、通信の確立を許容しない。後述するS82においても同様である。このために、例えば、この場合には、CPU210は、S44以降の処理を行わずに、例えば、デバイス100と中継サーバ200との双方に、エラー通知を送信する。   Note that if none of the encryption methods shown in the encryption method list of the service providing server 300 is included in the encryption method list of the device 100 in S42, the CPU 210 uses one encryption method for use. The method cannot be selected. When the used encryption method cannot be selected, the CPU 210 does not allow establishment of communication between the device 100 and the relay server 200. The same applies to S82 described later. Therefore, for example, in this case, the CPU 210 transmits an error notification to, for example, both the device 100 and the relay server 200 without performing the processing after S44.

S44では、CPU210は、使用暗号化方式、本実施例では、暗号化方式Cの通知を、デバイス100に対して送信する。なお、S40、S44の通信は、SSL/TLSレイヤ間の通信である。   In S <b> 44, the CPU 210 transmits a notification of the used encryption method, in this embodiment, the encryption method C, to the device 100. Note that the communication in S40 and S44 is communication between SSL / TLS layers.

デバイス100が使用暗号化方式の通知を受信すると、S46にて、デバイス100と、中継サーバ200と、の間で通信確立処理が行われる。すなわち、デバイス100と、中継サーバ200との間で、使用暗号化方式である暗号化方式Cを用いた暗号化通信を確立するための通信が、SSL/TLSに従って実行される。さらに、確立された暗号化通信上で、XMPP通信を確立するための通信が、XMPPに従って実行される。この結果、デバイス100と中継サーバ200との間の通信が再確立される。   When the device 100 receives the notification of the used encryption method, a communication establishment process is performed between the device 100 and the relay server 200 in S46. That is, communication for establishing encrypted communication using the encryption method C, which is the encryption method used, between the device 100 and the relay server 200 is executed according to SSL / TLS. Further, communication for establishing XMPP communication is executed in accordance with XMPP on the established encrypted communication. As a result, communication between the device 100 and the relay server 200 is reestablished.

S48では、CPU110は、図3のS18と同様に、確立された暗号化通信、および、暗号化通信上に確立されたXMPP通信を用いて、デバイスIDと、利用サーバIDと、を中継サーバ200に対して送信する。中継サーバ200は、これらのデバイスIDと、利用サーバIDを受信することで、通信を再確立すべきデバイス(本実施例では、デバイス100)との間で、通信が再確立されたことを、アプリケーションレベルで確認できる。   In S48, the CPU 110 uses the encrypted communication established and the XMPP communication established on the encrypted communication to transmit the device ID and the use server ID in the same way as in S18 of FIG. Send to. The relay server 200 receives these device IDs and the usage server ID, and confirms that communication has been reestablished with the device (device 100 in this embodiment) to which communication should be reestablished. Can be confirmed at the application level.

なお、S34の再確立判断処理にて、デバイス100との間の通信の再確立処理を行わないと判断された場合には(S36:NO)、S38〜S48の処理は、行われない。   If it is determined in the re-establishment determination process in S34 that the communication re-establishment process with the device 100 is not performed (S36: NO), the processes in S38 to S48 are not performed.

S50では、中継サーバ200のCPU210は、S30でサービス提供サーバ300から受信したステータス要求を、デバイス100に対して送信する。デバイス100がステータス要求を受信すると、S52にて、CPU110は、ステータス要求に応じて自身のステータスを取得する。S54では、CPU110は、該ステータスの通知を、中継サーバ200に対して送信する。なお、S50とS54は、デバイス100と中継サーバ200との間の通信が再確立された場合には、再確立された通信を用いて行われる。S54の後も、中継サーバ200とデバイス100との間の暗号化通信および暗号化通信上に確立されたXMPP通信は、維持される。   In S50, the CPU 210 of the relay server 200 transmits the status request received from the service providing server 300 in S30 to the device 100. When the device 100 receives the status request, in S52, the CPU 110 acquires its own status in response to the status request. In S <b> 54, the CPU 110 transmits the status notification to the relay server 200. Note that S50 and S54 are performed using the re-established communication when the communication between the device 100 and the relay server 200 is re-established. Even after S54, the encrypted communication between the relay server 200 and the device 100 and the XMPP communication established on the encrypted communication are maintained.

中継サーバ200がステータスの通知を受信すると、S56では、CPU210は、該ステータスの通知を、サービス提供サーバ300に対して送信する。この結果、サービス提供サーバ300は、管理対象のデバイスのステータスを取得できる。これらのステータスは、例えば、サービス提供サーバ300を利用するデバイスの管理者の端末装置に送信される。ステータスの通知が、サービス提供サーバ300に対して送信されると、中継サーバ200とサービス提供サーバ300との間の暗号化通信は、切断される。なお、S48、S50、S54、S56の通信は、装置100、200、300のアプリケーション間の通信である。   When the relay server 200 receives the status notification, the CPU 210 transmits the status notification to the service providing server 300 in S56. As a result, the service providing server 300 can acquire the status of the device to be managed. These statuses are transmitted to, for example, a terminal device of a manager of a device that uses the service providing server 300. When the status notification is transmitted to the service providing server 300, the encrypted communication between the relay server 200 and the service providing server 300 is disconnected. Note that the communication in S48, S50, S54, and S56 is communication between applications of the devices 100, 200, and 300.

図6、図7は、システム1000の通信の一例を示すシーケンス図である。このシーケンス図は、中継サーバ200に、サービス提供サーバ300の暗号化方式リストCL3が登録された後に、デバイス100から中継サーバ200に対してアクセスがある場合の例である。   6 and 7 are sequence diagrams illustrating an example of communication in the system 1000. FIG. This sequence diagram is an example when the device 100 accesses the relay server 200 after the encryption method list CL3 of the service providing server 300 is registered in the relay server 200.

先ず、デバイス100と、中継サーバ200と、の間に通信が確立されていない状態で、サービス提供サーバ300が、デバイス100を含む管理対象の複数個のデバイスのステータスを取得すべく、中継サーバ200にアクセスすることとする。具体的には、図6のS60〜S68では、図3のS22〜S32と同じ処理が行われる。この結果、中継サーバ200と、サービス提供サーバ300と、の間で、暗号化方式Cを用いた暗号化通信が確立され、中継サーバ200のサーバテーブルSTには、サービス提供サーバ300の暗号化方式リストCL3が登録される。   First, in a state where communication is not established between the device 100 and the relay server 200, the service providing server 300 acquires the status of a plurality of devices to be managed including the device 100 so as to acquire the status of the relay server 200. To access. Specifically, in S60 to S68 of FIG. 6, the same processing as S22 to S32 of FIG. 3 is performed. As a result, encrypted communication using the encryption method C is established between the relay server 200 and the service providing server 300, and the encryption method of the service providing server 300 is stored in the server table ST of the relay server 200. List CL3 is registered.

S69では、図3のS34と同様に、CPU210は、図5の再確立判断処理を実行する。S69の再確立判断処理では、デバイス100と、中継サーバ200と、の間に通信が確立されていないので、図5のS130で、デバイス100は特定されない。このために、S69の再確立判断処理では、デバイス100についての再確立の判断は行われない。   In S69, as in S34 in FIG. 3, the CPU 210 executes the re-establishment determination process in FIG. In the re-establishment determination process of S69, since communication is not established between the device 100 and the relay server 200, the device 100 is not specified in S130 of FIG. For this reason, in the re-establishment determination process in S69, the re-establishment determination for the device 100 is not performed.

S70では、CPU210は、ステータス取得不可の通知をサービス提供サーバ300に対して送信する。ステータス取得不可の通知は、デバイス100と中継サーバ200との間に通信が確立されていないので、デバイス100からステータスを取得できないことを示す通知である。ステータス取得不可の通知が、サービス提供サーバ300に対して送信されると、中継サーバ200とサービス提供サーバ300との間の暗号化通信は、切断される。   In S <b> 70, the CPU 210 transmits a status acquisition impossibility notification to the service providing server 300. The notification that the status cannot be acquired is a notification that indicates that the status cannot be acquired from the device 100 because communication is not established between the device 100 and the relay server 200. When the notification that the status cannot be acquired is transmitted to the service providing server 300, the encrypted communication between the relay server 200 and the service providing server 300 is disconnected.

その後、例えば、デバイス100の電源が投入されて、デバイス100が、中継サーバ200にアクセスするとする。具体的には、図6のS71〜S76では、図3のS10〜S20と同じ処理が行われる。この結果、デバイス100と、中継サーバ200と、の間で、暗号化方式Aを用いた暗号化通信と、該暗号化通信上のXMPP通信と、が確立される。また、中継サーバ200のデバイステーブルDTには、デバイス100が登録される。   Thereafter, for example, it is assumed that the device 100 is turned on and the device 100 accesses the relay server 200. Specifically, in S71 to S76 of FIG. 6, the same processing as S10 to S20 of FIG. 3 is performed. As a result, encrypted communication using the encryption method A and XMPP communication on the encrypted communication are established between the device 100 and the relay server 200. In addition, the device 100 is registered in the device table DT of the relay server 200.

続く図7のS77では、CPU210は、図5の再確立判断処理を実行する。S77の再確立判断処理では、この時点で、サービス提供サーバ300の暗号化方式リストCL3が、サーバテーブルSTに登録されているので、図5のS110にて、暗号化方式リストCL3は登録済みであると判断される。そして、デバイス100と中継サーバ200との間に確立されている通信で用いられている暗号化方式は、暗号化方式Aであるので、図5のS115では、暗号化方式リストCL3には、現在、対象デバイスとの間で確立されている通信で用いられている暗号化方式はない、と判断される(S115:NO)。この結果、S120にて、デバイス100との間で、通信の再確立処理を行うと判断される。仮に、デバイス100と中継サーバ200との間に確立されている通信で用いられている暗号化方式は、暗号化方式Cであれば、図5のS115では、暗号化方式リストCL3には、現在、対象デバイスとの間で確立されている通信で用いられている暗号化方式はある、と判断される(S115:YES)。この場合には、図5のS125にて、デバイス100との間で、通信の再確立処理を行わないと判断される。   In S77 of FIG. 7 that follows, the CPU 210 executes the re-establishment determination process of FIG. In the re-establishment determination process of S77, since the encryption method list CL3 of the service providing server 300 is registered in the server table ST at this time, the encryption method list CL3 has already been registered in S110 of FIG. It is judged that there is. Since the encryption method used in the communication established between the device 100 and the relay server 200 is the encryption method A, in S115 of FIG. Then, it is determined that there is no encryption method used in communication established with the target device (S115: NO). As a result, it is determined in S120 that the communication re-establishment process is performed with the device 100. If the encryption method used in the communication established between the device 100 and the relay server 200 is the encryption method C, in S115 of FIG. Then, it is determined that there is an encryption method used in the communication established with the target device (S115: YES). In this case, it is determined in S125 of FIG. 5 that communication re-establishment processing is not performed with the device 100.

図7のS77の再確立判断処理にて、デバイス100との間の通信を再確立すると判断された場合には(S78:YES)、S79〜S85にて、図4のS38〜S48と同じ処理が行われる。この結果、デバイス100と中継サーバ200との間の通信が再確立される。   If it is determined in the re-establishment determination process of S77 of FIG. 7 that communication with the device 100 is re-established (S78: YES), the same processes as S38-S48 of FIG. 4 are performed in S79-S85. Is done. As a result, communication between the device 100 and the relay server 200 is reestablished.

なお、S77の再確立判断処理にて、デバイス100との間の通信の再確立処理を行わないと判断された場合には(S78:NO)、S79〜S85の処理は、行われない。   If it is determined in the re-establishment determination process of S77 that the re-establishment process of communication with the device 100 is not performed (S78: NO), the processes of S79 to S85 are not performed.

この後に、サービス提供サーバ300から中継サーバ200にアクセスがあった場合には、図3のS22以降の処理が行われる。   Thereafter, when there is an access from the service providing server 300 to the relay server 200, the processing after S22 in FIG. 3 is performed.

以上説明した本実施例によれば、中継サーバ200は、サービス提供サーバ300が使用可能な1個以上の第1暗号化方式(具体的には、暗号化方式リストCL3に示される暗号化方式C、D)から選択される暗号化方式を用いて、サービス提供サーバ300との間に、第1暗号化通信を確立する(図3のS22〜S28、図6のS60〜S66)。そして、中継サーバ200は、デバイス100から、デバイス100が使用可能な複数個の暗号化方式を示す暗号化方式リストCL1を受信する(図4のS40、図7のS81)。そして、中継サーバ200は、第1暗号化通信が確立された後に、サービス提供サーバ300が使用可能な1個以上の第1暗号化方式に基づいて、暗号化方式リストCL1に示される複数個の暗号化方式(具体的には、暗号化方式A、C)の中から第2暗号化方式を選択する(図4のS42、図7のS82)。選択される第2暗号化方式は、1個以上の第1暗号化方式のいずれかと同一の暗号化方式(具体的には、暗号化方式C)である。そして、第2暗号化方式を用いて、デバイス100との間に、第2暗号化通信が確立される(図4のS46、図7のS84)。そして、中継サーバ200は、第1暗号化通信と第2暗号化通信とを用いて、サービス提供サーバ300とデバイス100との間の通信を中継する(図4のS50、S54、S56)。   According to the present embodiment described above, the relay server 200 uses one or more first encryption methods (specifically, the encryption methods C shown in the encryption method list CL3) that the service providing server 300 can use. , D) is used to establish first encrypted communication with the service providing server 300 using the encryption method selected from (D) (S22 to S28 in FIG. 3, S60 to S66 in FIG. 6). Then, the relay server 200 receives the encryption method list CL1 indicating a plurality of encryption methods that can be used by the device 100 from the device 100 (S40 in FIG. 4 and S81 in FIG. 7). Then, after the first encrypted communication is established, the relay server 200 uses the plurality of first encryption methods that can be used by the service providing server 300 to perform a plurality of operations shown in the encryption method list CL1. The second encryption method is selected from the encryption methods (specifically, encryption methods A and C) (S42 in FIG. 4 and S82 in FIG. 7). The selected second encryption method is the same encryption method (specifically, encryption method C) as any one of the one or more first encryption methods. Then, the second encrypted communication is established with the device 100 using the second encryption method (S46 in FIG. 4, S84 in FIG. 7). Then, the relay server 200 relays communication between the service providing server 300 and the device 100 using the first encrypted communication and the second encrypted communication (S50, S54, and S56 in FIG. 4).

上記構成によれば、サービス提供サーバ300が使用可能な1個以上の第1暗号化方式に基づいて、デバイス100との間に確立すべき第2暗号化通信の第2暗号化方式が選択される。そして、第2暗号化方式には、第1暗号化方式と同一の暗号化方式が選択される。したがって、第1暗号化方式と比較して、第2暗号化方式のセキュリティレベルが低くなることを抑制することができる。したがって、中継サーバ200が、デバイス100とサービス提供サーバ300との間の通信を中継する場合に、デバイス100とサービス提供サーバ300との間の通信のセキュリティレベルを、必要なレベル(例えば、サービス提供サーバ300が要求するレベル)に維持することができる。   According to the above configuration, the second encryption method of the second encrypted communication to be established with the device 100 is selected based on one or more first encryption methods that can be used by the service providing server 300. The Then, the same encryption method as the first encryption method is selected as the second encryption method. Therefore, it is possible to suppress a decrease in the security level of the second encryption method compared to the first encryption method. Therefore, when the relay server 200 relays communication between the device 100 and the service providing server 300, the security level of communication between the device 100 and the service providing server 300 is set to a necessary level (for example, service provision). The level requested by the server 300 can be maintained.

より具体的に説明すると、暗号化方式リストCL3に示される1個以上の第1暗号化方式は、サービス提供サーバ300の運営者が維持すべきと考えているセキュリティレベルに基づいて設定されている。しかしながら、デバイス100と中継サーバ200との間の第2暗号化通信の第2暗号化方式が、1個以上の第1暗号化方式のいずれかと異なる暗号化方式、特に、1個以上の第1暗号化方式よりセキュリティレベルより低いセキュリティレベルの暗号化方式であるとする。そうすると、中継サーバ200を介して行われるデバイス100とサービス提供サーバ300との通信のセキュリティレベルは、サービス提供サーバ300の運営者が維持すべきと考えているセキュリティレベルより低くなってしまう。本実施例では、第2暗号化通信に用いられる第2暗号化方式は、1個以上の第1暗号化方式と同一の暗号化方式とされる。この結果、中継サーバ200を介して行われるデバイス100とサービス提供サーバ300との通信のセキュリティレベルを、サービス提供サーバ300の運営者が維持すべきと考えているセキュリティレベルに維持することができる。   More specifically, one or more first encryption methods shown in the encryption method list CL3 are set based on the security level that the operator of the service providing server 300 thinks should be maintained. . However, the second encryption method of the second encrypted communication between the device 100 and the relay server 200 is different from any one of the one or more first encryption methods, in particular, the one or more first items. Assume that the encryption method has a lower security level than the encryption method. Then, the security level of communication between the device 100 and the service providing server 300 performed via the relay server 200 is lower than the security level that the operator of the service providing server 300 thinks should be maintained. In the present embodiment, the second encryption method used for the second encrypted communication is the same encryption method as the one or more first encryption methods. As a result, the security level of communication between the device 100 and the service providing server 300 performed via the relay server 200 can be maintained at the security level that the operator of the service providing server 300 thinks should be maintained.

また、中継サーバ200は、サービス提供サーバ300との暗号化通信が確立される度に、サービス提供サーバ300の暗号化方式リストCL3を登録する(図3のS32、図6のS68)。この結果、サービス提供サーバ300が使用可能な1個以上の第1の暗号化方式を、常に、適切に認識できる。したがって、例えば、サービス提供サーバ300が、セキュリティの強化などのために、使用可能な1個以上の第1の暗号化方式を変更した場合であっても、中継サーバ200を介して行われるデバイス100とサービス提供サーバ300との通信のセキュリティレベルを、サービス提供サーバ300の運営者が維持すべきと考えているセキュリティレベルに維持することができる。   The relay server 200 registers the encryption method list CL3 of the service providing server 300 every time encrypted communication with the service providing server 300 is established (S32 in FIG. 3, S68 in FIG. 6). As a result, one or more first encryption methods that can be used by the service providing server 300 can always be properly recognized. Therefore, for example, even when the service providing server 300 changes one or more usable first encryption methods for security enhancement or the like, the device 100 performed via the relay server 200 is used. The security level of communication with the service providing server 300 can be maintained at a security level that the operator of the service providing server 300 thinks should be maintained.

さらに、中継サーバ200は、第2暗号化方式(具体的には、暗号化方式C)とは異なる第3暗号化方式(具体的には、暗号化方式A)を用いて、デバイス100との間に、第3暗号化通信を確立する(図3のS16、図6のS74)。中継サーバ200は、第3暗号化通信を用いて、デバイス100から特定の情報(具体的には、デバイスID、利用サーバID)を受信する(図3のS18、図6のS75)。そして、中継サーバ200は、特定の情報を受信した後に、第2暗号化通信を確立する(図4のS46、図7のS84)。   Further, the relay server 200 uses a third encryption method (specifically, encryption method A) different from the second encryption method (specifically, encryption method C) to communicate with the device 100. In the meantime, the third encrypted communication is established (S16 in FIG. 3, S74 in FIG. 6). The relay server 200 receives specific information (specifically, a device ID and a usage server ID) from the device 100 using the third encrypted communication (S18 in FIG. 3 and S75 in FIG. 6). Then, after receiving the specific information, the relay server 200 establishes the second encrypted communication (S46 in FIG. 4, S84 in FIG. 7).

このように、一旦、第3暗号化通信が確立された後であっても、その後に第2暗号化通信が確立される。したがって、例えば、第3暗号化通信のセキュリティレベルが比較的低い場合であっても、第2暗号化通信が新たに確立されることで、デバイス100とサービス提供サーバ300との間の通信のセキュリティレベルを、必要なレベルに維持することができる。   Thus, even after the third encrypted communication is once established, the second encrypted communication is established thereafter. Therefore, for example, even when the security level of the third encrypted communication is relatively low, the security of communication between the device 100 and the service providing server 300 is established by newly establishing the second encrypted communication. The level can be maintained at the required level.

さらに、中継サーバ200は、図5の再確立判断処理において、1個以上の第1暗号化方式(暗号化方式リストCL3に示される暗号化方式)と、第3暗号化方式とを比較している(図5のS115、S140)。この結果、第3暗号化方式が、第1暗号化方式と同一の暗号化方式である場合には(S115:YES、S140:YES)、再確立処理は行われない(S125、S150)。すなわち、第2暗号化通信は確立されずに、第3暗号化通信が維持される。一方、第3暗号化方式が、第1暗号化方式と異なる暗号化方式である場合には(S115:NO、S140:NO)、再確立処理が行われる(S120、S145)。すなわち、デバイス100との間で再確立処理が行われて、第2暗号化通信が確立される(図4のS46、図7のS84)。この結果、第2暗号化通信を確立する必要がない場合には、第2暗号化通信を確立しないので、無駄な処理の実行を抑制できる。   Further, the relay server 200 compares one or more first encryption methods (encryption methods shown in the encryption method list CL3) with the third encryption method in the re-establishment determination process of FIG. (S115 and S140 in FIG. 5). As a result, when the third encryption method is the same encryption method as the first encryption method (S115: YES, S140: YES), the re-establishment process is not performed (S125, S150). That is, the second encrypted communication is not established and the third encrypted communication is maintained. On the other hand, when the third encryption method is different from the first encryption method (S115: NO, S140: NO), re-establishment processing is performed (S120, S145). That is, re-establishment processing is performed with the device 100, and the second encrypted communication is established (S46 in FIG. 4 and S84 in FIG. 7). As a result, when it is not necessary to establish the second encrypted communication, the second encrypted communication is not established, so that it is possible to suppress the execution of useless processing.

中継サーバ200は、第3暗号化通信を用いて、デバイス100から受信される特定の情報(具体的には、デバイスID、利用サーバID)を用いて、中継サーバ200が通信を中継すべきデバイス100とサービス提供サーバ300とを関連付ける(図3のS20、図6のS76、デバイステーブルDT)。この結果、例えば、中継サーバ200が複数個のデバイスと複数個のサービス提供サーバとの通信を中継する装置である場合でも、デバイス100とサービス提供サーバ300とを適切に関連付けることができる。したがって、その後に、デバイス100とサービス提供サーバ300との間の通信を再確立するか否かを適切に判断できる。   The relay server 200 is a device to which the relay server 200 should relay communication using specific information (specifically, device ID, use server ID) received from the device 100 using the third encrypted communication. 100 and the service providing server 300 are associated (S20 in FIG. 3, S76 in FIG. 6, device table DT). As a result, for example, even when the relay server 200 is an apparatus that relays communication between a plurality of devices and a plurality of service providing servers, the device 100 and the service providing server 300 can be associated appropriately. Therefore, after that, it is possible to appropriately determine whether to re-establish communication between the device 100 and the service providing server 300.

さらに、中継サーバ200は、第3暗号化通信が切断された後に(図4のS39、図7のS80)、第2暗号化通信を確立する(図4のS46、図7のS84)。こうすれば、セキュリティレベルに問題がある第3暗号化通信が切断されるので、より確実にデバイス100とサービス提供サーバ300との間の通信のセキュリティレベルを、必要なレベルに維持することができる。   Further, the relay server 200 establishes the second encrypted communication (S46 in FIG. 4, S84 in FIG. 7) after the third encrypted communication is disconnected (S39 in FIG. 4, S80 in FIG. 7). In this way, the third encrypted communication having a problem with the security level is disconnected, so that the security level of communication between the device 100 and the service providing server 300 can be more reliably maintained at a necessary level. .

さらに、中継サーバ200は、1個以上の第1暗号化方式を示す暗号化方式リストCL3を、サービス提供サーバ300を示す識別子(具体的には、サーバID)と、関連付けて、サーバテーブルSTに記憶する(図3のS32、図6のS68)。中継サーバ200は、サービス提供サーバ300を示す識別子(具体的には、利用サーバID)およびデバイス識別子(デバイスID)を、デバイス100から受信する(図3のS18、図6のS75)。中継サーバ200は、図5の再確立判断処理にて、これらの識別子を用いて、判断に使用すべき暗号化方式リストCL3を特定する、すなわち、1個以上の第1暗号化方式を特定する。そして、その後に行われる再確立処理では、特定される第1暗号化方式に基づいて、第2暗号化方式が選択される(図4のS42、図7のS82)。   Further, the relay server 200 associates an encryption method list CL3 indicating one or more first encryption methods with an identifier (specifically, a server ID) indicating the service providing server 300 in the server table ST. Store (S32 in FIG. 3, S68 in FIG. 6). The relay server 200 receives an identifier (specifically, a use server ID) and a device identifier (device ID) indicating the service providing server 300 from the device 100 (S18 in FIG. 3 and S75 in FIG. 6). The relay server 200 uses these identifiers in the re-establishment determination process of FIG. 5 to specify the encryption method list CL3 to be used for the determination, that is, specifies one or more first encryption methods. . In the subsequent re-establishment process, the second encryption method is selected based on the specified first encryption method (S42 in FIG. 4 and S82 in FIG. 7).

上記構成によれば、例えば、中継サーバ200が複数個のデバイスと複数個のサービス提供サーバとの通信を中継する装置である場合でも、中継サーバ200は、サービス提供サーバ300を示す識別子およびデバイス100の識別子を用いて、適切な第1暗号化方式を特定できるので、適切な第2暗号化方式を選択することができる。   According to the above configuration, for example, even when the relay server 200 is an apparatus that relays communication between a plurality of devices and a plurality of service providing servers, the relay server 200 includes the identifier indicating the service providing server 300 and the device 100. Since an appropriate first encryption method can be specified using the identifier, an appropriate second encryption method can be selected.

また、第1暗号化通信および前記第2暗号化通信は、アプリケーション層に属するアプリケーション間の通信(具体的には、ステータス要求、ステータスの通知の送受信)に用いられる。暗号化方式リストCL3の送受信は、該アプリケーションより下位の層(具体的には、SSL/TLSレイヤ)での通信を用いて行われる。この結果、アプリケーションに特別な仕組みを設けなくとも、アプリケーション間の通信のセキュリティレベルを、必要なレベルに維持することができる。   The first encrypted communication and the second encrypted communication are used for communication between applications belonging to the application layer (specifically, transmission / reception of status requests and status notifications). Transmission / reception of the encryption method list CL3 is performed using communication in a lower layer (specifically, SSL / TLS layer) than the application. As a result, the security level of communication between applications can be maintained at a necessary level without providing a special mechanism for the applications.

また、中継サーバ200は、第2暗号化通信を用いて、デバイス100から、デバイス100のステータスを示す情報を受信し(図4のS54)、第1暗号化通信を用いて、該ステータスを示す情報を、サービス提供サーバ300に対して送信する(図4のS56)。デバイス100のステータスは、例えば、課金等に用いられるため、秘密情報として扱われるべき情報も多い。本実施例では、中継サーバ200は、適切なセキュリティレベルの通信にて、これら情報の中継を行うことができる。   Further, the relay server 200 receives information indicating the status of the device 100 from the device 100 using the second encrypted communication (S54 in FIG. 4), and indicates the status using the first encrypted communication. Information is transmitted to the service providing server 300 (S56 in FIG. 4). Since the status of the device 100 is used for billing, for example, there is much information that should be treated as confidential information. In this embodiment, the relay server 200 can relay these pieces of information through communication with an appropriate security level.

B.第2実施例:
第2実施例の中継サーバ200の不揮発性記憶装置220は、図1に破線で示す参照情報RIを格納している。参照情報RIは、暗号化方式に含まれる複数項目のアルゴリズムのうちの少なくとも1つの項目について、該項目に属する複数種類のアルゴリズムのセキュリティレベルの順序を示す情報である。
B. Second embodiment:
The non-volatile storage device 220 of the relay server 200 of the second embodiment stores reference information RI indicated by a broken line in FIG. The reference information RI is information indicating the security level order of a plurality of types of algorithms belonging to at least one item among a plurality of items of algorithms included in the encryption method.

図8は、参照情報RIの一例を示す図である。この参照情報RIには、鍵交換アルゴリズムと、暗号化アルゴリズムについて、セキュリティレベルの順序が示されている。例えば、鍵交換アルゴリズムについては、「ECDHE」>「DHE」>「RSA」の順に、セキュリティレベルが高いことが示されている。また、暗号化アルゴリズムについては、「AES」>「3DES」>「DES」の順に、セキュリティレベルが高いことが示されている。なお、セキュリティレベルの高低は、一意に決まっているものではなく、例えば、どのような脅威に対するセキュリティを重視するかなどの考え方によって異なり得る。また、セキュリティレベルの高低は、特定のアルゴリズムの脆弱性の発見などによって、将来において変動し得る。このために参照情報RIは、定期的に、中継サーバ200の運営者によって見直される。   FIG. 8 is a diagram illustrating an example of the reference information RI. The reference information RI indicates the order of security levels for the key exchange algorithm and the encryption algorithm. For example, regarding the key exchange algorithm, it is shown that the security level is higher in the order of “ECDHE”> “DHE”> “RSA”. As for the encryption algorithm, it is shown that the security level is higher in the order of “AES”> “3DES”> “DES”. Note that the level of security is not uniquely determined, and may vary depending on, for example, what kind of threat is important for security. In addition, the level of security level may change in the future due to the discovery of a vulnerability of a specific algorithm. For this reason, the reference information RI is periodically reviewed by the operator of the relay server 200.

第2実施例では、再確立判断処理において、参照情報RIを用いる。図9は、第2実施例の再確立判断処理のフローチャートである。図9の再確立判断処理では、図5の再確立判断処理のS115、および、S140に代えて、S115b、および、S140bが実行される。図9の再確立判断処理の他の処理は、図5の再確立判断処理と同じである。   In the second embodiment, reference information RI is used in the re-establishment determination process. FIG. 9 is a flowchart of the re-establishment determination process according to the second embodiment. In the re-establishment determination process of FIG. 9, S115b and S140b are executed instead of S115 and S140 of the re-establishment determination process of FIG. Other processes of the re-establishment determination process of FIG. 9 are the same as the re-establishment determination process of FIG.

S115bでは、対象デバイス(例えば、デバイス100)との間で現在確立されている暗号化方式は、利用サーバ(例えば、サービス提供サーバ300)の暗号化方式リスト(例えば、暗号化方式リストCL3)に示される暗号化方式以上のセキュリティレベルであるか否かを判断する。   In S115b, the encryption method currently established with the target device (eg, device 100) is added to the encryption method list (eg, encryption method list CL3) of the usage server (eg, service providing server 300). It is determined whether or not the security level is higher than the indicated encryption method.

この判断の具体的な方法の一例を説明する。CPU210は、現在の鍵交換アルゴリズムおよび暗号化アルゴリズム、すなわち、現在確立されている暗号化方式に含まれる鍵交換アルゴリズムと、暗号化アルゴリズムと、を特定する。例えば、現在確立されている暗号化方式が、暗号化方式A(図2(A))である場合には、鍵交換アルゴリズムとして「RSA」が特定され、暗号化アルゴリズムとして「AES」が特定される。さらに、CPU210は、利用サーバの最低レベルの鍵交換アルゴリズムおよび暗号化アルゴリズム、すなわち、利用サーバの暗号化方式リストに示される1個以上の暗号化方式の鍵交換アルゴリズムのうちの最も低いセキュリティレベルのアルゴリズムと、暗号アルゴリズムのうちの最も低いセキュリティレベルのアルゴリズムと、を特定する。例えば、利用サーバの暗号化方式リストが、サービス提供サーバ300の暗号化方式リストCL3(図2(D))である場合には、最低レベルの鍵交換アルゴリズムとして「DHE」が特定され、暗号化アルゴリズムとして「AES」が特定される。   An example of a specific method for this determination will be described. The CPU 210 identifies the current key exchange algorithm and encryption algorithm, that is, the key exchange algorithm and encryption algorithm included in the currently established encryption method. For example, if the currently established encryption method is encryption method A (FIG. 2A), “RSA” is specified as the key exchange algorithm and “AES” is specified as the encryption algorithm. The Further, the CPU 210 has the lowest security level of the key exchange algorithm and encryption algorithm at the lowest level of the use server, that is, the key exchange algorithm of one or more encryption methods shown in the encryption method list of the use server. The algorithm and the algorithm with the lowest security level among the cryptographic algorithms are identified. For example, when the encryption method list of the use server is the encryption method list CL3 (FIG. 2D) of the service providing server 300, “DHE” is specified as the lowest level key exchange algorithm and the encryption is performed. “AES” is specified as the algorithm.

CPU210は、参照情報RI(図8)を参照して、現在の鍵暗号アルゴリズムのセキュリティレベルが、利用サーバの最低レベルの鍵暗号アルゴリズム以上であり、かつ、現在の暗号化アルゴリズムのセキュリティレベルが、利用サーバの最低レベルの暗号化アルゴリズム以上であるか否かを判断する。この判断結果が肯定的である場合には、CPU210は、現在確立されている暗号化方式は、利用サーバの暗号化方式リストに示される暗号化方式以上のセキュリティレベルであると判断する。この判断結果が否定的である場合には、CPU210は、現在確立されている暗号化方式は、利用サーバの暗号化方式リストに示される暗号化方式より低いセキュリティレベルであると判断する。   The CPU 210 refers to the reference information RI (FIG. 8), and the security level of the current key encryption algorithm is equal to or higher than the lowest key encryption algorithm of the use server, and the security level of the current encryption algorithm is It is judged whether or not the encryption algorithm is at least the lowest level of the usage server. When the determination result is affirmative, the CPU 210 determines that the currently established encryption method is a security level higher than the encryption method indicated in the encryption method list of the use server. When the determination result is negative, the CPU 210 determines that the currently established encryption method is at a lower security level than the encryption method indicated in the encryption method list of the use server.

例えば、現在確立されている暗号化方式が、暗号化方式A(図2(A))であり、利用サーバの暗号化方式リストが、暗号化方式リストCL3(図2(D))である場合を考える。この場合には、暗号化方式Aの鍵交換アルゴリズム「RSA」は、暗号化方式リストCL3の最低レベルの鍵交換アルゴリズム「DHE」よりセキュリティレベルが低い(図9の参照情報RI)。したがって、この場合には、現在確立されている暗号化方式は、利用サーバの暗号化方式リストに示される暗号化方式より低いセキュリティレベルであると判断される。   For example, when the currently established encryption method is the encryption method A (FIG. 2A) and the encryption method list of the use server is the encryption method list CL3 (FIG. 2D) think of. In this case, the key exchange algorithm “RSA” of the encryption method A has a lower security level than the lowest-level key exchange algorithm “DHE” in the encryption method list CL3 (reference information RI in FIG. 9). Therefore, in this case, it is determined that the currently established encryption method has a lower security level than the encryption methods indicated in the encryption method list of the use server.

S140bでは、CPU210は、判断対象のデバイス(例えば、サービス提供サーバ300)との間で現在確立されている暗号化方式は、対象サーバ(例えば、サービス提供サーバ300)の暗号化方式リスト(例えば、暗号化方式リストCL3)に示される暗号化方式以上のセキュリティレベルであるか否かを判断する。具体的な判断方法は、上述した115bと同じである。   In S140b, the CPU 210 determines that the encryption method currently established with the device to be determined (for example, the service providing server 300) is the encryption method list (for example, the service providing server 300). It is determined whether or not the security level is equal to or higher than the encryption method indicated in the encryption method list CL3). A specific determination method is the same as 115b described above.

さらに、第2実施例では、図4のS42と、図7のS82と、の再確立時の使用暗号化方式の選択の方法が第1実施例と異なる。   Furthermore, the second embodiment differs from the first embodiment in the method of selecting the encryption method to be used at the time of re-establishing S42 in FIG. 4 and S82 in FIG.

S42とS82とでは、CPU210は、デバイス100から受信した暗号化方式リストCL1に示される複数個の暗号化方式の中から、1個の使用暗号化方式を選択する。このとき、CPU210は、第1実施例と同様に、サーバテーブルSTに登録された利用サーバであるサービス提供サーバ300の暗号化方式リストCL3に示される暗号化方式に基づいて、使用暗号化方式を選択する。ただし、具体的な方法が第1実施例とは異なる。第2実施例では、CPU210は、デバイス100の暗号化方式リストCL1に示される複数個の暗号化方式の中から、サービス提供サーバ300の暗号化方式リストCL3に示される暗号化方式以上のセキュリティレベルである暗号化方式を選択する。   In S42 and S82, the CPU 210 selects one used encryption method from among a plurality of encryption methods indicated in the encryption method list CL1 received from the device 100. At this time, as in the first embodiment, the CPU 210 determines the encryption method to be used based on the encryption method indicated in the encryption method list CL3 of the service providing server 300 that is the use server registered in the server table ST. select. However, the specific method is different from the first embodiment. In the second embodiment, the CPU 210 has a security level equal to or higher than the encryption method shown in the encryption method list CL3 of the service providing server 300 among the plurality of encryption methods shown in the encryption method list CL1 of the device 100. Select an encryption method.

具体的には、CPU210は、上述したS115bの処理と同様に、サービス提供サーバ300の最低レベルの鍵交換アルゴリズムおよび暗号化アルゴリズムと、を特定する。そして、CPU210は、デバイス100から受信した暗号化方式リストCL1に示される複数個の暗号化方式の中から、特定された最低レベルの鍵交換アルゴリズム以上のセキュリティレベルである鍵交換アルゴリズムを含み、かつ、最低レベルの暗号化アルゴリズム以上のセキュリティレベルである暗号化アルゴリズムを含む暗号化方式を、使用暗号化方式として選択する。   Specifically, the CPU 210 identifies the lowest-level key exchange algorithm and encryption algorithm of the service providing server 300 as in the above-described process of S115b. The CPU 210 includes a key exchange algorithm having a security level equal to or higher than the identified lowest level key exchange algorithm among the plurality of encryption methods indicated in the encryption method list CL1 received from the device 100, and Then, an encryption method including an encryption algorithm having a security level equal to or higher than the lowest level encryption algorithm is selected as the used encryption method.

例えば、上述したように、サービス提供サーバ300では、最低レベルの鍵交換アルゴリズムは「DHE」であり、最低レベルの暗号化アルゴリズムは「AES」である。したがって、暗号化方式リストCL1に示される暗号化方式A、Cのうち、暗号化方式Cが使用暗号化方式として選択される。   For example, as described above, in the service providing server 300, the lowest level key exchange algorithm is “DHE”, and the lowest level encryption algorithm is “AES”. Therefore, among the encryption methods A and C shown in the encryption method list CL1, the encryption method C is selected as the used encryption method.

なお、第2実施例において、S42、S82にて、サービス提供サーバ300の暗号化方式リストに示される暗号化方式以上のセキュリティレベルである暗号化方式が、デバイス100の暗号化方式リストに含まれない場合には、CPU210は、1個の使用暗号化方式を選択できない。使用暗号化方式を選択できない場合には、第1実施例と同様に、CPU210は、デバイス100と中継サーバ200との間では、通信の確立を許容しない。   In the second embodiment, in S42 and S82, an encryption method having a security level higher than the encryption method shown in the encryption method list of the service providing server 300 is included in the encryption method list of the device 100. If not, the CPU 210 cannot select one used encryption method. When the used encryption method cannot be selected, the CPU 210 does not allow communication to be established between the device 100 and the relay server 200 as in the first embodiment.

以上説明した第2実施例によれば、第1実施例と同様に、中継サーバ200は、サービス提供サーバ300が使用可能な1個以上の第1暗号化方式(具体的には、暗号化方式リストCL3に示される暗号化方式C、D)から選択される暗号化方式を用いて、サービス提供サーバ300との間に、第1暗号化通信を確立する(図3のS22〜S28、図6のS60〜S66)。そして、中継サーバ200は、デバイス100から、デバイス100が使用可能な複数個の暗号化方式を示す暗号化方式リストCL1を受信する(図4のS40、図7のS81)。そして、中継サーバ200は、第1暗号化通信が確立された後に、サービス提供サーバ300が使用可能な1個以上の第1暗号化方式に基づいて、暗号化方式リストCL1に示される複数個の暗号化方式(具体的には、暗号化方式A、C)の中から第2暗号化方式を選択する(図4のS42、図7のS82)。そして、第2暗号化方式を用いて、デバイス100との間に、第2暗号化通信が確立される(図4のS46、図7のS84)。中継サーバ200は、第1暗号化通信と第2暗号化通信とを用いて、サービス提供サーバ300とデバイス100との間の通信を中継する(図4のS50、S54、S56)。ここで、第2実施例では、選択される第2暗号化方式は、1個以上の第1暗号化方式以上のセキュリティレベルである暗号化方式である。この結果、第1実施例と同様に、デバイス100とサービス提供サーバ300との間の通信のセキュリティレベルを、必要なレベルに維持することができる。さらに、第2暗号化方式は、第1暗号化方式と同一の暗号化方式に限らず、第1暗号化方式以上のセキュリティレベルである暗号化方式であれば良いので、例えば、デバイスの使用可能な暗号化方式の中に選択できる暗号化方式がないために、暗号化方式が選択できなくなることを抑制できる。   According to the second embodiment described above, as in the first embodiment, the relay server 200 uses one or more first encryption schemes (specifically, encryption schemes) that the service providing server 300 can use. The first encrypted communication is established with the service providing server 300 using the encryption method selected from the encryption methods C and D shown in the list CL3 (S22 to S28 in FIG. 3, FIG. 6). S60 to S66). Then, the relay server 200 receives the encryption method list CL1 indicating a plurality of encryption methods that can be used by the device 100 from the device 100 (S40 in FIG. 4 and S81 in FIG. 7). Then, after the first encrypted communication is established, the relay server 200 uses the plurality of first encryption methods that can be used by the service providing server 300 to perform a plurality of operations shown in the encryption method list CL1. The second encryption method is selected from the encryption methods (specifically, encryption methods A and C) (S42 in FIG. 4 and S82 in FIG. 7). Then, the second encrypted communication is established with the device 100 using the second encryption method (S46 in FIG. 4, S84 in FIG. 7). The relay server 200 relays communication between the service providing server 300 and the device 100 using the first encrypted communication and the second encrypted communication (S50, S54, S56 in FIG. 4). Here, in the second embodiment, the selected second encryption method is an encryption method having a security level equal to or higher than one or more first encryption methods. As a result, as in the first embodiment, the security level of communication between the device 100 and the service providing server 300 can be maintained at a necessary level. Furthermore, the second encryption method is not limited to the same encryption method as the first encryption method, and may be any encryption method having a security level higher than that of the first encryption method. For example, the device can be used. Since there is no encryption method that can be selected among the various encryption methods, it is possible to prevent the encryption method from being selected.

さらに、第2実施例によれば、中継サーバ200は、図9の再確立判断処理において、デバイスとの間に確立中の暗号化方式(すなわち、第3暗号化方式)が、第1暗号化方式以上のセキュリティレベルである暗号化方式である場合には(S115b:YES、S140b:YES)、再確立処理は行われない(S125、S150)。すなわち、第2暗号化通信は確立されずに、第3暗号化通信が維持される。一方、第3暗号化方式が、第1暗号化方式よりセキュリティレベルが低い暗号化方式である場合には(S115b:NO、S140b:NO)、再確立処理が行われる(S120、S120)。すなわち、デバイス100との間で再確立処理が行われて、第2暗号化通信が確立される(図4のS46、図7のS84)。この結果、第2暗号化通信を確立する必要がない場合には、第2暗号化通信を確立しないので、無駄な処理の実行を抑制できる。   Further, according to the second embodiment, the relay server 200 determines that the encryption method being established with the device (that is, the third encryption method) is the first encryption in the re-establishment determination process of FIG. If the encryption method has a security level equal to or higher than the method (S115b: YES, S140b: YES), the re-establishment process is not performed (S125, S150). That is, the second encrypted communication is not established and the third encrypted communication is maintained. On the other hand, when the third encryption method is an encryption method whose security level is lower than that of the first encryption method (S115b: NO, S140b: NO), re-establishment processing is performed (S120, S120). That is, re-establishment processing is performed with the device 100, and the second encrypted communication is established (S46 in FIG. 4 and S84 in FIG. 7). As a result, when it is not necessary to establish the second encrypted communication, the second encrypted communication is not established, so that it is possible to suppress the execution of useless processing.

さらに、第2実施例によれば、暗号化方式の複数項目のアルゴリズムのうちの2個の項目(具体的には、鍵交換アルゴリズムと暗号化アルゴリズム)について、第1暗号化方式に含まれるアルゴリズム以上のセキュリティレベルであるアルゴリズムを含む暗号化方式が、再確立時の第2暗号化方式として選択される。したがって、複数項目のアルゴリズムのうちの2個の項目について、デバイス100と中継サーバ200との間の通信、引いては、中継サーバ200を介して行われるデバイス100とサービス提供サーバ300との間の通信のセキュリティレベルを、必要なレベルに維持することができる。   Further, according to the second embodiment, an algorithm included in the first encryption method for two items (specifically, a key exchange algorithm and an encryption algorithm) among a plurality of items of algorithms of the encryption method. The encryption method including the algorithm having the above security level is selected as the second encryption method at the time of re-establishment. Therefore, communication between the device 100 and the relay server 200 with respect to two items of the multi-item algorithm, that is, between the device 100 and the service providing server 300 performed via the relay server 200 is performed. The security level of communication can be maintained at a required level.

B.変形例:
(1)上記実施例では、1度、デバイス100と中継サーバ200との間で、第3暗号化通信が確立された(例えば、図6のS71〜S74)後、再確立が行われて第2暗号化通信が確立されている(例えば、図7のS79〜S84)。これは、中継サーバ200のアプリケーションは、第3暗号化通信を用いて、S75で送信されるデバイスIDおよび利用サーバIDを受信したときに、中継サーバ200が、デバイス100の利用サーバを初めて認識するので、一旦、第3暗号化通信を確立する必要があるからである。これに代えて、例えば、デバイス100は、サーバIDや利用サーバIDを、S71の通信開始要求に含めて、中継サーバ200に送信しても良い。すなわち、SSL/TLSレイヤの通信で、サーバIDや利用サーバIDの送受信が行われても良い。こうすれば、中継サーバ200は、この時点で、デバイス100の利用サーバを認識して、登録済みの利用サーバの暗号化方式リストを参照できる。したがって、S72の時点で、利用サーバの第1暗号化方式に基づいて、第2暗号化方式を選択しても良い。この場合には、第3暗号化通信を確立することなく、最初から第2暗号化通信を確立できる。
B. Variations:
(1) In the above embodiment, once the third encrypted communication is established between the device 100 and the relay server 200 (for example, S71 to S74 in FIG. 6), re-establishment is performed. 2 Encrypted communication is established (for example, S79 to S84 in FIG. 7). This is because the relay server 200 first recognizes the usage server of the device 100 when the application of the relay server 200 receives the device ID and the usage server ID transmitted in S75 using the third encrypted communication. This is because it is necessary to establish the third encrypted communication once. Instead of this, for example, the device 100 may include the server ID and the use server ID in the communication start request in S71 and transmit the same to the relay server 200. That is, transmission / reception of the server ID and the use server ID may be performed by SSL / TLS layer communication. In this way, the relay server 200 can recognize the use server of the device 100 at this point and refer to the encryption method list of the registered use server. Therefore, at the time of S72, the second encryption method may be selected based on the first encryption method of the use server. In this case, the second encrypted communication can be established from the beginning without establishing the third encrypted communication.

(2)上記第1実施例の図5の再確立判断処理では、利用サーバの暗号化リストが登録済である場合に、第3暗号化方式が、利用サーバの暗号化方式リストに示される第1暗号化方式と同一であるか否かを判断することによって、再確立を行うか否かが判断されている(図5のS115、S140)。これに代えて、利用サーバの暗号化リストが登録済である場合には、第3暗号化方式がどのような方式であるかに拘わらずに、常に再確立が行われても良い。 (2) In the re-establishment determination process of FIG. 5 of the first embodiment, when the encryption list of the use server has been registered, the third encryption method is shown in the encryption method list of the use server. Whether or not re-establishment is to be performed is determined by determining whether or not it is the same as one encryption method (S115 and S140 in FIG. 5). Alternatively, if the encryption list of the usage server is already registered, re-establishment may always be performed regardless of the type of the third encryption method.

(4)上記実施例では、デバイス100からデバイスIDと利用サーバIDが、中継サーバ200に送信され(図3のS18等)、当該利用サーバIDと利用サーバIDとが関連付けられて、デバイステーブルDTに登録される(図3のS20等)。これによって、中継サーバ200は、デバイス100と、サービス提供サーバ300の暗号化方式リストCL3、すなわち、サービス提供サーバ300の1個以上の第1暗号化方式と、の対応を特定できる(図5のS130、S105)。これに代えて、図3のS30にて、サービス提供サーバ300から、サーバIDとともに、管理対象のデバイスIDが送信されても良い。そして、サーバIDおよびサーバの暗号化リストとともに、管理対象のデバイスIDが、サーバテーブルSTに登録されても良い。そして、これによって、デバイス100と、サービス提供サーバ300の1個以上の第1暗号化方式と、の対応が特定されても良い。あるいは、上述したサービス提供サーバ300から送信される指定情報が、サーバIDおよびサーバの暗号化リストとともに、サーバテーブルSTに登録されても良い。そして、これによって、指定情報によって指定される全てのデバイスと、サービス提供サーバ300の1個以上の第1暗号化方式と、の対応が特定されても良い。 (4) In the above-described embodiment, the device ID and the usage server ID are transmitted from the device 100 to the relay server 200 (S18 in FIG. 3), and the usage server ID and the usage server ID are associated with each other, and the device table DT. (S20 in FIG. 3). Thereby, the relay server 200 can identify the correspondence between the device 100 and the encryption method list CL3 of the service providing server 300, that is, one or more first encryption methods of the service providing server 300 (FIG. 5). S130, S105). Instead, the device ID to be managed may be transmitted together with the server ID from the service providing server 300 in S30 of FIG. The device ID to be managed may be registered in the server table ST together with the server ID and the server encryption list. Thus, the correspondence between the device 100 and one or more first encryption methods of the service providing server 300 may be specified. Alternatively, the designation information transmitted from the service providing server 300 described above may be registered in the server table ST together with the server ID and the server encryption list. Thus, the correspondence between all devices specified by the specification information and one or more first encryption methods of the service providing server 300 may be specified.

(5)上記第1実施例では、図4のS42や、図7のS82において、サービス提供サーバ300が使用可能な第1暗号化方式と完全に同一の第2暗号化方式が選択される。これに代えて、複数項目のアルゴリズムのうちの一部の項目、例えば、鍵交換アルゴリズムと、暗号化アルゴリズムについて、第1暗号化方式に含まれるアルゴリズムと同一のアルゴリズムを含む第2暗号化方式を選択しても良い。 (5) In the first embodiment, the second encryption method that is completely the same as the first encryption method that can be used by the service providing server 300 is selected in S42 of FIG. 4 or S82 of FIG. Instead of this, the second encryption method including the same algorithm as the algorithm included in the first encryption method for a part of the plurality of algorithms, for example, the key exchange algorithm and the encryption algorithm, is used. You may choose.

また、上記第2実施例では、図4のS42や、図7のS82において、複数項目のアルゴリズムのうちの2個の項目について、サービス提供サーバ300が使用可能な1個以上の第1暗号化方式以上のセキュリティレベルである第2暗号化方式が選択される。これに代えて、複数項目のアルゴリズムのうちの全ての項目について、あるいは、1個の項目について、1個以上の第1暗号化方式以上のセキュリティレベルである第2暗号化方式が選択されても良い。   In the second embodiment, one or more first encryptions that can be used by the service providing server 300 for two items of the plurality of algorithms in S42 of FIG. 4 and S82 of FIG. A second encryption method having a security level equal to or higher than the method is selected. Instead of this, even if a second encryption method having a security level equal to or higher than one or more first encryption methods is selected for all items in the algorithm of a plurality of items or for one item. good.

一般的には、複数項目のアルゴリズムのうちの少なくとも1つの項目について、1個以上の第1暗号化方式に含まれるアルゴリズムと同一のアルゴリズムを含む第2暗号化方式、または、1個以上の第1暗号化方式以上のセキュリティレベルである第2暗号化方式が選択されることが好ましい。こうすれば、複数項目のアルゴリズムのうちの少なくとも1つの項目について、デバイス100とサービス提供サーバ300との間の通信のセキュリティレベルを、必要なレベルに維持することができる。   In general, for at least one item of the plurality of algorithms, the second encryption method including the same algorithm as the algorithm included in the one or more first encryption methods, or the one or more first items It is preferable that the second encryption method having a security level of one encryption method or more is selected. In this way, the security level of communication between the device 100 and the service providing server 300 can be maintained at a necessary level for at least one item of the multiple item algorithm.

(6)上記実施例では、通信を再確立する処理(図4のS46、図7のS84)では、最初に通信を確立する際と、同様の処理を行っている。これに代えて、例えば、再確立時に、認証アルゴリズムを変更する必要がない場合には、例えば、中継サーバ200の認証を再度行うことなく、鍵交換などの他の処理のみを再度行うことで、通信の再確立を行っても良い。 (6) In the above-described embodiment, in the process for re-establishing communication (S46 in FIG. 4 and S84 in FIG. 7), the same process as when establishing communication for the first time is performed. Instead, for example, when it is not necessary to change the authentication algorithm at the time of re-establishment, for example, by performing only other processing such as key exchange again without performing authentication of the relay server 200 again, Communication may be reestablished.

(7)デバイス100と、サービス提供サーバ300と、のアプリケーション間で、中継サーバ200を介して送受信される情報は、ステータスを示す情報に限らず、例えば、画像データや、印刷データなどの他の情報であっても良い。 (7) Information transmitted / received between the application of the device 100 and the service providing server 300 via the relay server 200 is not limited to information indicating the status, but may be other data such as image data or print data. It may be information.

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

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

以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。   As mentioned above, although this invention was demonstrated based on the Example and the modification, Embodiment mentioned above is for making an understanding of this invention easy, and does not limit this invention. The present invention can be changed and improved without departing from the spirit and scope of the claims, and equivalents thereof are included in the present invention.

70...LAN、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...システム     70 ... LAN, 80 ... Internet, 100 ... Device, 110 ... CPU, 120 ... Non-volatile storage device, 130 ... Volatile storage device, 131 ... Buffer area, 140 ... Printer part, 150 ... Scanner part, 160 ... Operation part, 170 ... Display part, 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 (14)

中継装置のためのコンピュータプログラムであって、
特定のサービスを提供するサービス提供装置が使用可能な1個以上の第1暗号化方式から選択される暗号化方式を用いて、前記サービス提供装置との間に、第1暗号化通信を確立する第1確立機能と、
通信装置から、前記通信装置が使用可能な複数個の暗号化方式を示す方式リストを受信する第1受信機能と、
前記第1暗号化通信が確立された後に、前記第1暗号化方式に基づいて、前記方式リストに示される複数個の暗号化方式の中から第2暗号化方式を選択する選択機能であって、選択される前記第2暗号化方式は、前記第1暗号化方式と同一の暗号化方式と、前記第1暗号化方式以上のセキュリティレベルである暗号化方式と、のいずれかである、前記選択機能と、
前記第2暗号化方式を用いて、前記通信装置との間に、第2暗号化通信を確立する第2確立機能と、
前記第1暗号化通信と前記第2暗号化通信とを用いて、前記サービス提供装置と前記通信装置との間の通信を中継する中継機能と、
をコンピュータに実現させるコンピュータプログラム。
A computer program for a relay device,
A first encrypted communication is established with the service providing apparatus using an encryption method selected from one or more first encryption methods that can be used by a service providing apparatus that provides a specific service. A first establishment function;
A first reception function for receiving a method list indicating a plurality of encryption methods usable by the communication device from the communication device;
A selection function for selecting a second encryption method from a plurality of encryption methods shown in the method list based on the first encryption method after the establishment of the first encrypted communication; The selected second encryption method is one of the same encryption method as the first encryption method and an encryption method having a security level higher than that of the first encryption method. Select function,
A second establishment function for establishing a second encrypted communication with the communication device using the second encryption method;
A relay function for relaying communication between the service providing apparatus and the communication apparatus using the first encrypted communication and the second encrypted communication;
A computer program that causes a computer to realize
請求項1に記載のコンピュータプログラムであって、さらに、
前記第2暗号化方式とは異なる第3暗号化方式を用いて、前記通信装置との間に、第3暗号化通信を確立する第3確立機能と、
前記第3暗号化通信を用いて、前記通信装置から特定の情報を受信する第2受信機能と、
をコンピュータに実現させ、
前記第2確立機能は、前記特定の情報を受信した後に、前記第2暗号化通信を確立する、コンピュータプログラム。
The computer program according to claim 1, further comprising:
A third establishment function for establishing a third encrypted communication with the communication device using a third encryption method different from the second encryption method;
A second receiving function for receiving specific information from the communication device using the third encrypted communication;
Is realized on a computer,
The computer program, wherein the second establishment function establishes the second encrypted communication after receiving the specific information.
請求項2に記載のコンピュータプログラムであって、さらに、
前記第1暗号化方式と前記第3暗号化方式とを比較する比較機能をコンピュータに実現させ、
前記第3暗号化方式が、前記第1暗号化方式と同一の暗号化方式である場合には、前記第2確立機能は、前記第2暗号化通信を確立せずに、前記第3暗号化通信を維持し、
前記第3暗号化方式が、前記第1暗号化方式と異なる暗号化方式である場合には、前記第2確立機能は、前記第2暗号化通信を確立する、コンピュータプログラム。
The computer program according to claim 2, further comprising:
Allowing a computer to realize a comparison function for comparing the first encryption method and the third encryption method;
When the third encryption method is the same encryption method as the first encryption method, the second establishment function does not establish the second encryption communication, and does not establish the second encryption communication. Maintain communication,
When the third encryption method is an encryption method different from the first encryption method, the second establishment function establishes the second encrypted communication.
請求項2に記載のコンピュータプログラムであって、さらに、
前記第1暗号化方式と前記第3暗号化方式とを比較する比較機能をコンピュータに実現させ、
前記第3暗号化方式が、前記第1暗号化方式以上のセキュリティレベルである暗号化方式である場合には、前記第2確立機能は、前記第2暗号化通信を確立せずに、前記第3暗号化通信を維持し、
前記第3暗号化方式が、前記暗号化方式よりセキュリティレベルが低い暗号化方式である場合には、前記第2確立機能は、前記第2暗号化通信を確立する、コンピュータプログラム。
The computer program according to claim 2, further comprising:
Allowing a computer to realize a comparison function for comparing the first encryption method and the third encryption method;
When the third encryption method is an encryption method having a security level equal to or higher than the first encryption method, the second establishment function does not establish the second encryption communication, and does not establish the second encryption communication. 3 Maintain encrypted communication,
When the third encryption method is an encryption method having a security level lower than that of the encryption method, the second establishment function establishes the second encrypted communication.
請求項2〜4のいずれかに記載のコンピュータプログラムであって、さらに、
前記特定の情報を用いて、前記中継装置が通信を中継すべき前記通信装置と前記サービス提供装置とを関連付ける関連付機能をコンピュータに実現させる、コンピュータプログラム。
The computer program according to any one of claims 2 to 4, further comprising:
A computer program that causes a computer to realize an association function for associating the communication device with which the relay device should relay communication with the service providing device, using the specific information.
請求項2〜5のいずれかに記載のコンピュータプログラムであって、さらに、
前記第2確立機能は、前記通信装置との間の前記第3暗号化通信が切断された後に、前記第2暗号化通信を確立する、コンピュータプログラム。
The computer program according to any one of claims 2 to 5, further comprising:
The second establishment function is a computer program that establishes the second encrypted communication after the third encrypted communication with the communication device is disconnected.
請求項1〜6のいずれかに記載のコンピュータプログラムであって、さらに、
前記第1暗号化方式と、前記サービス提供装置を示すサービス識別子および前記通信装置を示すデバイス識別子との少なくとも一方と、を関連付けて記憶する記憶機能と、
前記サービス識別子および前記デバイス識別子との少なくとも一方とを前記通信装置から受信する第3受信機能と、
受信済の前記サービス識別子および前記デバイス識別子との少なくとも一方とを用いて前記第1暗号化方式を特定する特定機能と、
をコンピュータに実現させ、
前記選択機能は、特定される前記第1暗号化方式に基づいて、前記第2暗号化方式を選択する、コンピュータプログラム。
The computer program according to claim 1, further comprising:
A storage function for storing the first encryption method and at least one of a service identifier indicating the service providing apparatus and a device identifier indicating the communication apparatus in association with each other;
A third receiving function for receiving at least one of the service identifier and the device identifier from the communication device;
A specifying function for specifying the first encryption method using at least one of the received service identifier and the device identifier;
Is realized on a computer,
The selection function is a computer program that selects the second encryption method based on the identified first encryption method.
請求項1〜3、5〜7のいずれかに記載のコンピュータプログラムであって、
前記第1暗号化方式および前記第2暗号化方式は、装置の認証のための認証アルゴリズムと、通信データを暗号化するための暗号化アルゴリズムと、前記暗号化アルゴリズムで用いられる暗号化鍵を交換するための鍵交換アルゴリズムと、前記認証アルゴリズムと前記暗号化アルゴリズムと前記鍵交換アルゴリズムとの少なくとも一つで用いられるハッシュアルゴリズムと、を含む複数項目のアルゴリズムを含み、
前記選択機能は、前記複数項目のアルゴリズムのうちの少なくとも1つの項目について、前記第1暗号化方式に含まれるアルゴリズムと同一のアルゴリズムを含む前記第2暗号化方式を選択する、コンピュータプログラム。
A computer program according to any one of claims 1 to 3 and 5 to 7,
The first encryption method and the second encryption method exchange an authentication algorithm for device authentication, an encryption algorithm for encrypting communication data, and an encryption key used in the encryption algorithm. Including a key exchange algorithm, and a hash algorithm used in at least one of the authentication algorithm, the encryption algorithm, and the key exchange algorithm,
The computer program, wherein the selection function selects the second encryption method including the same algorithm as the algorithm included in the first encryption method for at least one item of the plurality of items of algorithms.
請求項1、2、4〜6のいずれかに記載のコンピュータプログラムであって、
前記第1暗号化方式および前記第2暗号化方式は、装置の認証のための認証アルゴリズムと、通信データを暗号化するための暗号化アルゴリズムと、前記暗号化アルゴリズムで用いられる暗号化鍵を交換するための鍵交換アルゴリズムと、前記認証アルゴリズムと前記暗号化アルゴリズムと前記鍵交換アルゴリズムとの少なくとも一つで用いられるハッシュアルゴリズムと、を含む複数項目のアルゴリズムを含み、
前記選択機能は、前記複数項目のアルゴリズムのうちの少なくとも1つの項目について、前記第1暗号化方式に含まれるアルゴリズム以上のセキュリティレベルであるアルゴリズムを含む前記第2暗号化方式を選択する、コンピュータプログラム。
A computer program according to any one of claims 1, 2, 4 to 6,
The first encryption method and the second encryption method exchange an authentication algorithm for device authentication, an encryption algorithm for encrypting communication data, and an encryption key used in the encryption algorithm. Including a key exchange algorithm, and a hash algorithm used in at least one of the authentication algorithm, the encryption algorithm, and the key exchange algorithm,
The computer program for selecting the second encryption method including an algorithm having a security level equal to or higher than an algorithm included in the first encryption method for at least one item of the plurality of items of the algorithm .
請求項1〜9のいずれかに記載のコンピュータプログラムであって、
前記第1暗号化通信および前記第2暗号化通信は、アプリケーション層に属するアプリケーション間の通信に用いられ、
前記第1受信機能は、前記アプリケーションより下位の層での通信を用いて前記方式リストを受信する、コンピュータプログラム。
A computer program according to any one of claims 1 to 9,
The first encrypted communication and the second encrypted communication are used for communication between applications belonging to the application layer,
The first reception function is a computer program that receives the method list using communication in a lower layer than the application.
請求項7に記載のコンピュータプログラムであって、
前記第3受信機能は、アプリケーション層に属するアプリケーション間の通信を用いて前記サービス識別子および前記デバイス識別子との少なくとも一方を受信し、
前記第1受信機能は、前記アプリケーションより下位の層での通信を用いて前記方式リストを受信する、コンピュータプログラム。
A computer program according to claim 7,
The third reception function receives at least one of the service identifier and the device identifier using communication between applications belonging to an application layer,
The first reception function is a computer program that receives the method list using communication in a lower layer than the application.
請求項10または11に記載のコンピュータプログラムであって、
前記方式リストを受信するためのプロトコルは、SSL(Secure Sockets Layer)/TLS(Transport Layer Security)である、コンピュータプログラム。
A computer program according to claim 10 or 11,
A computer program in which a protocol for receiving the method list is SSL (Secure Sockets Layer) / TLS (Transport Layer Security).
請求項1〜12のいずれかに記載のコンピュータプログラムであって、
前記中継機能は、
前記第2暗号化通信を用いて、前記通信装置から前記通信装置のステータスを示す情報を受信し、
前記第1暗号化通信を用いて、前記ステータスを示す情報を、前記サービス提供装置に対して送信する、コンピュータプログラム。
A computer program according to any one of claims 1 to 12,
The relay function is
Using the second encrypted communication, receiving information indicating the status of the communication device from the communication device,
A computer program for transmitting information indicating the status to the service providing apparatus using the first encrypted communication.
中継装置であって、
特定のサービスを提供するサービス提供装置が使用可能な1個以上の第1暗号化方式から選択される暗号化方式を用いて、前記サービス提供装置との間に、第1暗号化通信を確立する第1確立部と、
通信装置から、前記通信装置が使用可能な複数個の暗号化方式を示す方式リストを受信する第1受信部と、
前記第1暗号化通信が確立された後に、前記第1暗号化方式に基づいて、前記方式リストに示される複数個の暗号化方式の中から第2暗号化方式を選択する選択部であって、選択される前記第2暗号化方式は、前記第1暗号化方式と同一の暗号化方式と、前記第1暗号化方式以上のセキュリティレベルである暗号化方式と、のいずれかである、前記選択部と、
前記第2暗号化方式を用いて、前記通信装置との間に、第2暗号化通信を確立する第2確立部と、
前記第1暗号化通信と前記第2暗号化通信とを用いて、前記サービス提供装置と前記通信装置との間の通信を中継する中継部と、
を備える中継装置。
A relay device,
A first encrypted communication is established with the service providing apparatus using an encryption method selected from one or more first encryption methods that can be used by a service providing apparatus that provides a specific service. A first establishment unit;
A first receiving unit that receives, from a communication device, a method list indicating a plurality of encryption methods that can be used by the communication device;
A selection unit that selects a second encryption method from a plurality of encryption methods shown in the method list based on the first encryption method after the first encrypted communication is established; The selected second encryption method is one of the same encryption method as the first encryption method and an encryption method having a security level higher than that of the first encryption method. A selection section;
A second establishing unit for establishing second encrypted communication with the communication device using the second encryption method;
A relay unit that relays communication between the service providing apparatus and the communication apparatus using the first encrypted communication and the second encrypted communication;
A relay device comprising:
JP2015192950A 2015-09-30 2015-09-30 Computer program and relay device Active JP6686350B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015192950A JP6686350B2 (en) 2015-09-30 2015-09-30 Computer program and relay device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015192950A JP6686350B2 (en) 2015-09-30 2015-09-30 Computer program and relay device

Publications (2)

Publication Number Publication Date
JP2017069755A true JP2017069755A (en) 2017-04-06
JP6686350B2 JP6686350B2 (en) 2020-04-22

Family

ID=58495417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015192950A Active JP6686350B2 (en) 2015-09-30 2015-09-30 Computer program and relay device

Country Status (1)

Country Link
JP (1) JP6686350B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020021252A (en) * 2018-07-31 2020-02-06 キヤノン株式会社 Relay device, control method, and program
WO2021118005A1 (en) * 2019-12-10 2021-06-17 삼성전자주식회사 User terminal and control method of account management server for managing user account

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022020143A (en) * 2020-07-20 2022-02-01 富士通株式会社 Communication program, communication device and communication method

Citations (14)

* 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
JP2005311653A (en) * 2004-04-21 2005-11-04 Buffalo Inc Encryption key setting system, access point and encryption key setting method
JP2006050372A (en) * 2004-08-06 2006-02-16 Buffalo Inc System and method for connecting wireless lan, and access point
JP2008118500A (en) * 2006-11-07 2008-05-22 Fujitsu Ltd Radio base station, relay station, radio communication method
JP2008154103A (en) * 2006-12-19 2008-07-03 Ricoh Co Ltd Communication relay device
JP2009055381A (en) * 2007-08-28 2009-03-12 Buffalo Inc Wireless lan access point, program and recording medium
WO2009060899A1 (en) * 2007-11-07 2009-05-14 Nippon Telegraph And Telephone Corporation Common key setting method, relay device, and program
JP2009246614A (en) * 2008-03-31 2009-10-22 Nec Corp Communication system, terminal, relay device, communication mode determination method, and program
JP2009303238A (en) * 2001-12-26 2009-12-24 Toshiba Corp Radio communication device
JP2011045104A (en) * 2010-09-16 2011-03-03 Buffalo Inc Access point for wireless lan, program, and recording medium
JP2012004838A (en) * 2010-06-16 2012-01-05 Nippon Telegr & Teleph Corp <Ntt> Communication system, transfer control apparatus, communication method and communication program
US20130236016A1 (en) * 2011-01-10 2013-09-12 Huawei Technologies Co., Ltd. Method, apparatus, and system for data protection on interface in communications system
JP2014116641A (en) * 2011-03-31 2014-06-26 Panasonic Corp Communication device and communication system
WO2015004831A1 (en) * 2013-07-12 2015-01-15 パナソニックIpマネジメント株式会社 Cryptographic communication device, cryptographic communication method, and computer program therefor

Patent Citations (14)

* 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
JP2009303238A (en) * 2001-12-26 2009-12-24 Toshiba Corp Radio communication device
JP2005311653A (en) * 2004-04-21 2005-11-04 Buffalo Inc Encryption key setting system, access point and encryption key setting method
JP2006050372A (en) * 2004-08-06 2006-02-16 Buffalo Inc System and method for connecting wireless lan, and access point
JP2008118500A (en) * 2006-11-07 2008-05-22 Fujitsu Ltd Radio base station, relay station, radio communication method
JP2008154103A (en) * 2006-12-19 2008-07-03 Ricoh Co Ltd Communication relay device
JP2009055381A (en) * 2007-08-28 2009-03-12 Buffalo Inc Wireless lan access point, program and recording medium
WO2009060899A1 (en) * 2007-11-07 2009-05-14 Nippon Telegraph And Telephone Corporation Common key setting method, relay device, and program
JP2009246614A (en) * 2008-03-31 2009-10-22 Nec Corp Communication system, terminal, relay device, communication mode determination method, and program
JP2012004838A (en) * 2010-06-16 2012-01-05 Nippon Telegr & Teleph Corp <Ntt> Communication system, transfer control apparatus, communication method and communication program
JP2011045104A (en) * 2010-09-16 2011-03-03 Buffalo Inc Access point for wireless lan, program, and recording medium
US20130236016A1 (en) * 2011-01-10 2013-09-12 Huawei Technologies Co., Ltd. Method, apparatus, and system for data protection on interface in communications system
JP2014116641A (en) * 2011-03-31 2014-06-26 Panasonic Corp Communication device and communication system
WO2015004831A1 (en) * 2013-07-12 2015-01-15 パナソニックIpマネジメント株式会社 Cryptographic communication device, cryptographic communication method, and computer program therefor

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020021252A (en) * 2018-07-31 2020-02-06 キヤノン株式会社 Relay device, control method, and program
JP7190837B2 (en) 2018-07-31 2022-12-16 キヤノン株式会社 Relay device, control method, and program
WO2021118005A1 (en) * 2019-12-10 2021-06-17 삼성전자주식회사 User terminal and control method of account management server for managing user account

Also Published As

Publication number Publication date
JP6686350B2 (en) 2020-04-22

Similar Documents

Publication Publication Date Title
JP4096954B2 (en) Network image processing system, network image processing apparatus, and network image processing method
US8417976B2 (en) Image processing apparatus, communication system, control method thereof, and storage medium
US8127340B2 (en) Communication apparatus
JP2006134301A (en) Service providing system, information processing apparatus, service providing server and user authentication method
JP2008090458A (en) Communication method, communication system, and server, client and computer program that constitute communication system
JP2007148974A (en) Authentication agent device and authentication method
US9813424B2 (en) Communication system, server, and client device
JP2007082208A (en) System, method, and program for safely transmitting electronic document between domains in terms of security
JP6679867B2 (en) Communication system, communication device, and computer program
JP2019040454A (en) Equipment system, server, and data processing method
JP6686350B2 (en) Computer program and relay device
JP2006018399A (en) Information processor, information processing method and program
JP2019050511A (en) Information processing device and computer program
JP6575275B2 (en) Server device and communication system including server device
US8559641B2 (en) Application program distributing apparatus, image processing apparatus and program, allowing data communications using S/MIME at ease
JP2004287912A (en) Processing service provision device
JP2006251996A (en) Client device, image processing system, control method for client device, program and recording medium
US20140226174A1 (en) Device service discovery
JP2005303676A (en) Image forming device, paired key generating method, and computer program
CN110063089B (en) Computing system, method and storage medium for transmitting content
CN105282366A (en) Communication device, communication system, and communication device control method
JP5664399B2 (en) Information providing server
US20230315356A1 (en) Communication with additional function provision server through proxy server
JP2013243583A (en) Image forming system, image forming apparatus, authentication server, client pc, and control method and program of image forming apparatus
JP2007235716A (en) Image reading apparatus, image reading method and computer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180921

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 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190903

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: 20200303

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200316

R150 Certificate of patent or registration of utility model

Ref document number: 6686350

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150