COMMUNICATION SYSTEM, SERVER, CLIENT DEVICE, AND COMMUNICATION METHOD
The communication system addresses the challenge of convenient multi-server login by generating and verifying tokens with a shared key, simplifying system configuration and reducing user input while ensuring security.
Patent Information
- Application Number
- JP2024556953
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-11-10
- Publication Date
- 2025-09-05
- Estimated Expiration
- 2042-11-10
AI Technical Summary
Existing communication systems face challenges in conveniently realizing login to multiple servers with a single operation, leading to user burden and complex system configurations.
A communication system where a first device generates a token using a shared private key after successful login, allowing the second device to verify the token without additional user input, thereby enabling single sign-on across servers without direct communication between them.
Simplifies the system configuration by eliminating the need for direct server-to-server communication, reducing user input requirements, and enhancing security through token verification using a shared key.
Smart Images

Figure 0007734861000001 
Figure 0007734861000002 
Figure 0007734861000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a communication system, a server, client device, and communication methods. [Background technology]
[0002] Japanese Patent Laid-Open Publication No. 2002-334056 (Patent Document 1) discloses a system that realizes so-called single sign-on. Single sign-on is a technology that enables a user to log in to multiple servers with a single login operation. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2002-334056 Summary of the Invention [Problem to be solved by the invention]
[0004] In a communication system, it is desired to more conveniently realize login to a server.
[0005] The present disclosure has been made to solve such problems, and its purpose is to realize a suitable login to a server. [Means for solving the problem]
[0006] The communication system of the present disclosure includes a first device, a second device, and a third device. The first device has a first memory that stores a first private key. The second device has a second memory that stores a second private key that is identical to the first private key. The third device transmits first data to the first device when a user performs an operation that is for logging in to the first device and includes inputting first data. The first device determines whether or not the login to the first device is successful based on the first data. If the login to the first device is successful, the first device generates second data based on the first private key and the first data. The first device transmits the second data to the third device. The third device transmits the second data to the second device without inputting the first data. The second device verifies the second data using the second private key and approves the login to the second device if the second data is valid.
[0007] The communication system of the present disclosure includes a first device and a second device. The first device has a memory that stores a private key. The second device includes input of first data, and transmits the first data to the first device when a user performs a login operation to the first device. The first device performs user authentication based on the first data. If the user authentication is successful, the first device generates second data from the first data using the private key. The first device transmits the second data to the second device. The second device transmits the second data to the first device without the first data being input. The first device verifies the second data using the private key, and approves login to the first device if the second data is valid.
[0008] The server of the present disclosure includes an interface for communicating with a client device, a memory for storing a private key, and a processor. The processor performs user authentication based on the first data, which includes input of first data and is transmitted from the client device when a user performs a login operation to the server on the client device. If the user authentication is successful, the processor generates second data from the first data using the private key. The processor transmits the second data to the client device. The processor verifies the second data transmitted from the client device without input of the first data using the private key, and approves login to the server if the second data is valid.
[0009] A communication method disclosed herein is executed by a first device, a second device, and a third device. The communication method includes the third device transmitting first data to the first device when a user performs an operation for logging in to the first device and including inputting the first data. The communication method includes the first device determining whether login to the first device is successful based on the first data. The communication method includes the first device generating second data based on a first private key and the first data if login to the first device is successful. The communication method includes the first device transmitting the second data to the third device. The communication method includes the third device transmitting the second data to the second device without inputting the first data. The communication method includes the second device verifying the second data using a second private key that is the same as the first private key, and approving login to the second device if the second data is valid.
[0010] A communication method disclosed herein is executed by a server communicating with a client device. The communication method includes performing user authentication based on the first data, which includes input of first data and is transmitted from the client device when a user performs a login operation to the server on the client device. The communication method includes generating second data from the first data using a private key if the user authentication is successful. The communication method includes transmitting the second data to the client device. The communication method includes verifying the second data transmitted from the client device without input of the first data using the private key, and approving login to the server if the second data is valid. [Effects of the Invention]
[0011] According to the present disclosure, it is possible to preferably achieve login to a server. [Brief explanation of the drawings]
[0012] [Figure 1] 1 is a diagram illustrating a configuration example of a communication system according to a first embodiment. [Figure 2] FIG. 2 is a diagram illustrating a hardware configuration of a client device and the like. [Figure 3] FIG. 10 is a diagram illustrating an example of a user table. [Figure 4] FIG. 2 is a functional block diagram of a first server, a second server, etc. [Figure 5] FIG. 1 is a diagram illustrating an example of a communication system of a comparative example. [Figure 6] 1 is a flowchart showing a processing flow according to the first embodiment. [Figure 7] FIG. 10 is a diagram illustrating a method for registering a common key. [Figure 8] FIG. 10 is a diagram illustrating a configuration example of a communication system according to a second embodiment. [Figure 9] FIG. 10 is a diagram showing an example of transition of a screen displayed by the display device of the second embodiment. [Figure 10] FIG. 10 is a diagram illustrating a configuration example of a communication system according to a third embodiment. [Figure 11] 10 is a flowchart showing the flow of processing according to the third embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0013] Hereinafter, the present embodiment will be described in detail with reference to the drawings, in which the same or corresponding parts are designated by the same reference numerals and description thereof will not be repeated.
[0014] Embodiment 1 [Communication system configuration] FIG. 1 is a diagram illustrating an example configuration and processing flow of a communication system 500 according to the present embodiment. The example of FIG. 1 includes a first server 100, a second server 200, and a client device 300. The first server 100 corresponds to the "first device" of the present disclosure, the second server 200 corresponds to the "second device" of the present disclosure, and the client device 300 corresponds to the "third device" of the present disclosure. The client device 300 is a device that can be operated by a user, such as a personal computer (PC), a tablet terminal, or a smartphone. The first server 100 holds a common key 150. The second server 200 also holds the common key 150. Here, the common key 150 held by the first server 100 and the common key 150 held by the second server 200 are the same private key. The common key 150 possessed by the first server 100 corresponds to the "first secret key" in the present disclosure, and the common key 150 possessed by the second server 200 corresponds to the "second secret key" in the present disclosure.
[0015] The communication system 500 of this embodiment realizes Single Sign-On (SSO). In this embodiment, if a login operation including input of user data is performed on the first server 100 by the Single Sign-On and the login to the first server 100 is successful, the login to the second server 200 can be approved without inputting user data corresponding to the second server 200. Therefore, the burden on the user can be reduced in that the user does not have to input user data corresponding to the second server 200.
[0016] The processing flow will be described below with reference to FIG. 1. The client device 300 displays a login screen (see, for example, FIG. 9(A) described below). The user performs a login operation on the login screen. The login operation is an operation for logging in to the first server 100 and includes input of user data. The user data is, for example, a user name (user ID (identification)) and a password. The user data corresponds to "first data" in the present disclosure. In step (1), the client device 300 transmits the input user data to the first server 100.
[0017] In step (2), the first server 100 performs user authentication based on the user data transmitted from the client device 300. The user authentication is a process for determining whether login to the first server 100 is successful. If the user authentication is successful, the first server 100 generates a token from the user data using the common key 150. The method for generating the token will be described later. The token corresponds to the "second data" in this disclosure.
[0018] In step (3), the first server 100 transmits the generated token to the client device 300. In step (4), the client device 300 transmits the token to the second server 200 without inputting user data for logging in to the second server 200.
[0019] Furthermore, in order to transmit the token generated in step (4) to the second server 200, the address of the second server 200 (second server information) may be stored in the client device 300 by, for example, the following first or second method. First, the first method will be described. As shown in FIG. 7 described later, the client device 300 generates a common key. At the stage when the client device 300 generates the common key, a management device (not shown) or the like causes the client device 300 to store the address of the second server 200. Furthermore, as a second method, in step (3), the first server 100 may transmit the address of the second server 200 together with the token. The client device 300 stores the transmitted address of the second server 200.
[0020] In step (5), the second server 200 verifies the token using the common key 150. The method of token verification will be described later. The second server 200 determines whether to approve login to the second server 200 by verifying the token. If the token verification reveals that the token is valid, the second server 200 approves login to the second server 200 by the client device 300. On the other hand, if the token verification reveals that the token is invalid, the second server 200 prohibits approval of login to the second server 200 by the client device 300.
[0021] If the login to the first server 100 is successful, the client device 300 sends a request signal to the first server 100, and the first server 100 sends data (service) in response to the request signal to the client device 300. Also, if the login to the second server 200 is successful, the client device 300 sends a request signal to the second server 200, and the second server 200 sends data (service) in response to the request signal to the client device 300.
[0022] Furthermore, the communication system 500 in Fig. 1 does not require communication between the first server 100 and the second server 200, as shown in part a in Fig. 1. Therefore, the communication system 500 can suitably realize single sign-on (logging in to a server) while simplifying the configuration of the communication system 500.
[0023] [Hardware configuration] Fig. 2 is a diagram showing a hardware configuration of client device 300. Referring to Fig. 2, client device 300 includes a CPU (Central Processing Unit) 381 that executes a program, a ROM (Read Only Memory) 382 that stores data in a non-volatile manner, a RAM (Random Access Memory) 383 that stores data in a volatile manner, a display device 385, an input device 386, and a communication I / F (Interface) 388. Display device 385 corresponds to the "display" of the present disclosure.
[0024] The communication I / F 388 of the client device 300 is capable of communicating with the first server 100 and the second server 200 via the network 670. The processing in the client device 300 is realized by each piece of hardware and a program executed by the CPU 381. Such a program may be stored in advance in the ROM 382 or the like. The CPU 381 reads the program from the ROM 382.
[0025] The input device 386 is, for example, a keyboard or a pointing device such as a mouse, and receives commands from the user (for example, input of user data). The display device 385 is, for example, configured with a liquid crystal display (LCD) panel, and displays a screen (for example, a login screen) to the user. When a touch panel is used as the user interface, the display device 385 and the input device 386 are integrally formed.
[0026] The first server 100 includes a CPU 181 that executes a program, a ROM 182 that stores data in a non-volatile manner, a RAM 183 that stores data in a volatile manner, a communication I / F 188, and the like.
[0027] The communication I / F 188 of the first server 100 is capable of communicating with the client device 300 via the network 670. On the other hand, as shown in part a in FIG. 1, the first server 100 and the second server 200 are configured not to communicate with each other. The first server 100 also holds a common key 150 and a user table 650, which will be described later. In the example of FIG. 2, the common key 150 and the user table 650 are stored in the ROM 182.
[0028] The second server 200 includes a CPU 281 that executes a program, a ROM 282 that stores data in a non-volatile manner, a RAM 283 that stores data in a volatile manner, a communication I / F 288, and the like.
[0029] The communication I / F 288 of the second server 200 is capable of communicating with the client device 300 via the network 670. On the other hand, as shown in part a in FIG. 1, the second server 200 is configured not to communicate with the first server 100. The second server 200 also holds a common key 150 and a user table 650. In the example of FIG. 2, the common key 150 and the user table 650, which will be described later, are stored in the ROM 282.
[0030] In the client device 300, the first server 100, and the second server 200, a "processor" is configured by a CPU, a ROM, a RAM, etc. The processor is also called a "control circuit."
[0031] [User Table] FIG. 3 is an example of a user table 650. The user table 650 is a table in which the user data of each of a plurality of legitimate users is defined in association with an ID. The user data is composed of a user name and a password. In the example of FIG. 3, a user name A1 and a password P1 are stored as one piece of user data, and an ID Q1 is associated with the user data. Furthermore, a user name A2 and a password P2 are stored as one piece of user data, and an ID Q2 is associated with the user data.
[0032] The user data is determined by the user. The ID is created based on the user data by a management device (not shown) or the like. The management device is a device operated by an administrator who has authority over the communication system 500. When the management device newly registers a user, the client device 300 transmits a registration request and user data to the management device. Upon receiving the registration request and user data, the management device generates an ID using a random number or the like. The management device then transmits the user data and ID to the first server 100 and the second server 200. The first server 100 and the second server 200 add the user name and password to a user table 650. The user table 650 of the first server 100 and the user table 650 of the second server 200 are the same.
[0033] [Function block diagram] Fig. 4 is a functional block diagram of the first server 100, the second server 200, etc. In the communication system 500 of Fig. 4, a token is used, and the token in this embodiment is assumed to be a token based on JKT (JSON Web Token). Note that the token may be another token.
[0034] The first server 100 has a communication unit 102, an authentication unit 104, a generation unit 106, and a storage unit 108. The storage unit 108 stores a user table 650 (see FIG. 3) and a common key 150. The communication unit 102 corresponds to the communication I / F 188 and the like. The authentication unit 104 and the generation unit 106 correspond to the CPU 181 and the like. The storage unit 108 corresponds to the ROM 182 and the like.
[0035] The second server 200 has a communication unit 202, a verification unit 204, and a storage unit 208. The storage unit 208 stores a user table 650 (see FIG. 3) and a common key 150. The communication unit 202 corresponds to the communication I / F 288 and the like. The verification unit 204 corresponds to the CPU 281 and the like. The storage unit 208 corresponds to the ROM 282 and the like.
[0036] The display device 385 of the client device 300 displays a login screen for the first server 100, and the user inputs user data on the login screen. The client device 300 transmits the user data to the first server 100 (see step (1) in FIG. 1).
[0037] When the communication unit 102 acquires the user data, the user data is output to the authentication unit 104. The authentication unit 104 refers to a user table 650 (see FIG. 3) and performs user authentication based on the user data. Specifically, the authentication unit 104 determines whether the user data (combination of a user name and a password) exists in the user table 650.
[0038] If the user data exists in the user table, the authentication unit 104 determines that the user authentication has been successful. Then, the authentication unit 104 refers to the user table 650 to extract the ID corresponding to the user data, and outputs the ID to the generation unit 106. On the other hand, if the user data does not exist in the user table, the authentication unit 104 determines that the user authentication has failed. The first server 100 transmits a signal indicating that the user authentication has failed to the client device 300.
[0039] The generation unit 106 generates a token based on the common key 150 and user data. An example of a method for generating a token will be described below. In this embodiment, the generation unit 106 generates first token data and second token data using an ID corresponding to the user data and the common key 150. Then, the generation unit 106 generates a token by combining the first token data and the second token data.
[0040] For example, the generation unit 106 creates a "signature-less token" by performing a first operation on the ID. This signature-less data corresponds to the first token data. Then, the generation unit 106 generates a "signature" by applying the common key 150 to the signature-less token (first token data) (for example, by encrypting the signature-less token). This signature corresponds to the second token data. Then, the generation unit 106 generates a token by combining the first token data (signature-less token) and the second token data (signature). In addition, an expiration date is set for the token. In addition, other information (for example, a hash) may be used to generate the token.
[0041] When generating the token, the generation unit 106 transmits the token to the client device 300 via the communication unit 102. Furthermore, when the user performs an operation to log in to the second server, the generation unit 106 transmits the token to the second server 200.
[0042] When the communication unit 202 acquires the token, the token is output to the verification unit 204. The verification unit 204 verifies the token based on the user table 650 (see FIG. 3) and the public key (second secret key) stored in the storage unit 208. An example of a method for verifying the token will be described below.
[0043] First, the verification unit 204 divides the token into first token data (token without signature) and second token data (signature). Then, the verification unit 204 generates a "provisional signature" (also referred to as "third token data") by applying the common key 150 to the token without signature (for example, by encrypting the token without signature). Then, the verification unit 204 compares the second token data (signature) with the third token data (provisional signature).
[0044] If the second token data and the third token data match, the verification unit 204 extracts an ID by performing a second operation on the unsigned token. The second operation is the inverse of the first operation described above. If the verification unit 204 determines that this ID exists in the user table 650 in the storage unit 208, it determines that the token is valid. If the token is valid, the second server 200 approves login to the second server 200. On the other hand, if the second token data and the third token data are different, the verification unit 204 determines that the token is invalid. Furthermore, if the ID extracted by performing the second operation described above does not exist in the user table 650 in the storage unit 208, the verification unit 204 also determines that the token is invalid. If the token is invalid, the second server 200 prohibits login to the second server.
[0045] The verification unit 204 transmits the verification result (information indicating whether or not login to the second server 200 is permitted) to the client device 300 via the communication unit 202. The client device 300 notifies the user of the verification result (whether or not login to the second server 200 is permitted).
[0046] As a modified example, a configuration may be adopted in which, if the second token data and the third token data match, the verification unit 204 determines that the token is valid. When such a configuration is adopted, if the second token data and the third token data differ, the verification unit 204 determines that the token is invalid. In addition, in such a configuration, the user table 650 in the storage unit 208 is not necessary.
[0047] The verification unit 204 compares the second token data (signature) with the third token data (temporary signature), thereby improving the security of the communication system 500. As a modified example, the verification unit 204 may not perform the comparison.
[0048] [Comparison with comparative examples] 5 is a diagram showing an example of a communication system 500L of a comparative example. Single sign-on is also realized in the communication system 500L. In the communication system 500L of the comparative example, the second server 200L does not have a private key, and the first server 100L and the second server 200L are configured to communicate with each other. The method of the communication system 500L of the comparative example is also called the "agent method."
[0049] In step (1), the client device 300L transmits user data. The first server 100L generates a token based on the user data and the private key 150L. In step (3), the first server 100L transmits the token to the client device 300. In step (4), the client device 300 transmits the token to the second server.
[0050] Next, in step (51), the second server 200L requests the first server 100L to verify the token. The first server 100L verifies the token using the private key 150L, and in step (52), transmits the verification result to the second server 200L. Then, in step (6), the second server 200L transmits the verification result to the client device 300.
[0051] In the communication system 500L of the comparative example, as described in steps (51) and (52), a communication function (communication path) between the first server 100L and the second server 200L is required. However, when this communication function is required, the configuration of the communication system 500L becomes complicated. For example, if the designer who builds the communication system 500L is not very skilled, the burden on the designer may increase.
[0052] In contrast, in the communication system 500 of this embodiment, the first server 100 and the second server 200 hold the same common key 150. The first server 100 generates a token using the common key 150 of the first server 100, and the second server 200 verifies the token using the common key 150 of the second server 200. Therefore, the communication system 500 of this embodiment can generate and verify a token without requiring a communication function between the first server 100 and the second server 200 (see part α in FIG. 1 ). Therefore, the communication system 500 of this embodiment can advantageously realize single sign-on (logging in to a server) in that the configuration of the communication system 500 can be simplified.
[0053] [flowchart] FIG. 6 is a flowchart showing the flow of processing executed by the client device 300, the first server 100, and the second server 200.
[0054] First, in step S1, client device 300 displays a login screen on display device 385. Next, in step S2, client device 300 determines whether or not a login operation to first server 100 has been performed by the user. Next, in step S4, client device 300 transmits user data entered by the user through this login operation to first server 100 (see step (1) in FIG. 1).
[0055] The first server 100 refers to the user table 650 (see FIG. 3) and performs user authentication based on the user data. In step S6, the first server 100 determines whether the user authentication is successful. If the user authentication is successful (YES in step S6), the process proceeds to step S8. On the other hand, if the user authentication is unsuccessful (NO in step S6), the process in FIG. 6 ends.
[0056] In step S8, the first server 100 generates a token (see step (2) in FIG. 1). Then, in step S10, the first server 100 transmits the token to the client device 300 (see step (3) in FIG. 1).
[0057] In step S12, the client device 300 determines whether or not the user has performed a login operation to the second server 200. In step S12, the client device 300 waits until the user has performed a login operation to the second server 200 (NO in step S12). Then, if the user has performed a login operation to the second server 200 (YES in step S12), in step S14, the client device 300 transmits the token transmitted in step S10 to the second server 200 (see step (4) in FIG. 1).
[0058] In step S16, the second server 200 verifies the token (see step (5) in FIG. 1). Then, in step S18, the second server 200 transmits the verification result (see step (6) in FIG. 1).
[0059] The communication system 500 employs the following first or second configuration. The first configuration provides the services of the first server 100 and the second server 200 only when login to both the first server 100 and the second server 200 is successful. The first configuration does not provide the services of either the first server 100 or the second server 200 when login to the first server 100 is successful but login to the second server 200 is unsuccessful.
[0060] Furthermore, in the second configuration, if the login of the first server 100 is successful, the first server 100 provides the services of the first server 100, regardless of whether the login of the second server 200 is successful or not. Furthermore, in the second configuration, if the login of the second server 200 is successful, the second server 200 provides the services of the second server 200, and if the login of the second server 200 is unsuccessful, the second server 200 does not provide the services of the second server 200.
[0061] [Register shared key] Next, a description will be given of an example of a method for registering the shared key 150 in the first server 100 and the second server 200. In this embodiment, the shared key 150 is created by a device different from either the first server 100 or the second server 200. The device that creates the shared key 150 corresponds to the "creation device" of the present disclosure.
[0062] 7 is a diagram illustrating a method for registering the common key 150. In FIG. 7, an example is disclosed in which the creation device is a client device 300. Note that the client device 300 that creates the common key 150 may be the same as or different from the client device 300 shown in FIG. 1. In addition, the client device 300 in FIG. 7 has a creation unit 302 that creates the common key 150.
[0063] Moreover, the common key 150 is created by, for example, an administrator of the communication system 500. The administrator of the communication system 500 executes a login operation on the client device 300. This login operation is for creating the common key 150 and includes inputting administrator data into the client device 300. The administrator data is, for example, an administrator name (administrator ID) and a password. The administrator data corresponds to the "third data" of the present disclosure.
[0064] In step (21), the client device 300 transmits the administrator data entered by the administrator to the first server 100 and the second server 200. In step (22), the first server 100 and the second server 200 perform administrator authentication based on the administrator data. For example, the first server 100 and the second server 200 hold an administrator table in which one or more valid administrator data are defined, and perform administrator authentication by determining whether the administrator data transmitted from the client device 300 is defined in the administrator table. If the administrator data is defined in the administrator table, the administrator authentication is successful, and if the administrator data is not defined in the administrator table, the administrator authentication is unsuccessful.
[0065] In step (23), the first server 100 and the second server 200 transmit authentication results. If both the administrator authentication by the first server 100 and the administrator authentication by the second server 200 are successful, the creation unit 302 of the client device 300 creates the common key 150. The creation unit 302 creates the common key 150 using, for example, random numbers. Furthermore, if at least one of the administrator authentication by the first server 100 and the administrator authentication by the second server 200 fails, the creation unit 302 is prohibited from creating the common key 150.
[0066] When the creation unit 302 creates the common key 150, it transmits the common key 150 to the first server 100 and the second server 200. The first server 100 stores (registers) the common key 150 in the ROM 182, and the second server 200 stores (registers) the common key 150 in the ROM 282.
[0067] For example, a configuration is possible in which the first server 100 creates the common key 150 and transmits the common key 150 to the second server 200. However, in such a configuration, a communication function between the first server 100 and the second server 200 is required.
[0068] 7, on the other hand, a creation device (client device 300) different from the first device and the second device creates the common key 150 and transmits it to the first server 100 and the second server 200. Therefore, according to the communication system 500 of FIG. 7, the common key 150 can be appropriately created without requiring a communication function between the first server 100 and the second server 200.
[0069] 7, the client device 300 creates the common key 150 when both the administrator authentication by the first server 100 and the administrator authentication by the second server 200 are successful. Therefore, the security of the common key 150 can be improved compared to a configuration in which the common key 150 is created when either the administrator authentication by the first server 100 or the administrator authentication by the second server 200 is successful.
[0070] It should be noted that, when the client device 300 is an installed remote controller such as a system controller, the common key 150 is created in advance at the time of installation.
[0071] Embodiment 2 In the second embodiment, a communication system will be described in which the communication system 500 described in the first embodiment is applied to the management of air conditioners. Fig. 8 is a diagram for explaining an example of the configuration of a communication system 700 according to the second embodiment.
[0072] 8, the first server 100 is associated with at least one first air conditioner 401. Typically, the first server 100 is connected to each of the at least one first air conditioner 401. The first server 100 then manages (controls) the at least one first air conditioner 401.
[0073] The second server 200 is also associated with at least one second air conditioner 402. Typically, the second server 200 is connected to each of the at least one second air conditioner 402. The second server 200 then manages (controls) the at least one second air conditioner 402. For example, the first air conditioner 401 is installed in a first facility (first building), and the second air conditioner 402 is installed in a second facility (second building) different from the first facility.
[0074] In the example of Fig. 8, at least one first air conditioner 401 constitutes a first air conditioner group 401A, and at least one second air conditioner 402 constitutes a second air conditioner group 402A.
[0075] If login to the first server 100 is successful, the services of the first air conditioner group 401A are sent to the client device 300. "Services of the first air conditioner group 401A" refers to the display of the management screen of the first air conditioner group 401A. Furthermore, if login to the second server 200 is successful, the services of the second air conditioner group 402A are sent to the client device 300. "Second air conditioner group 402A" refers to the display of the management screen of the second air conditioner group 402A. Here, the management screen is a screen for controlling the air conditioners, and is a screen that displays the setting values of the air conditioners, etc. Furthermore, the management screen may be a screen that accepts changes to the setting values by the user.
[0076] 9A and 9B are diagrams showing an example of the transition of screens displayed by display device 385 of the present embodiment. Fig. 9A is a diagram showing an example of a login screen for first server 100. On this login screen, input area 392 is displayed. The user inputs user data in input area 392. In the example of Fig. 9A, input area 392 includes an input area for a user name and an input area for a password.
[0077] Then, if the user authentication of the first server 100 is successful using the user data entered in the input area 392 (YES in step S6 in FIG. 6), the first server 100 displays a management screen for the first air conditioner group 401A (see FIG. 8) on the display device 385. The management screen for the first air conditioner group 401A is also referred to as the "first management screen."
[0078] Fig. 9(B) is an example of the first management screen. The first management screen of Fig. 9(B) displays a setting value image 393 of at least one first air conditioner (first air conditioner A to first air conditioner N) that constitutes the first air conditioner group 401A. The setting value image 393 is an image that shows the setting values of each of the first air conditioners that constitute the first air conditioner group 401A. In the example of Fig. 9(B), the setting value image 393 displays the setting temperatures of the first air conditioners A to N. Furthermore, other setting values (such as air volume) may also be displayed as the setting value image 393.
[0079] Furthermore, a login button 394 is displayed on the first management screen of Fig. 9(B). The login button 394 is a button for performing a login operation to the second server 200 (see step S12 in Fig. 6). When the login button 394 is operated, the client device 300 transmits a token (see step (4) in Fig. 1 and step S14 in Fig. 6). Then, when the token is verified to be valid, the second server 200 causes the display device 385 to display a management screen for the second air conditioner group 402A (see Fig. 8). Furthermore, the management screen for the second air conditioner group 402A is also referred to as a "second management screen."
[0080] Fig. 9(C) is an example of the second management screen. The second management screen of Fig. 9(C) displays a setting value image 395 of at least one second air conditioner (second air conditioner A to second air conditioner M) that constitutes the second air conditioner group 402A. The setting value image 395 is an image that shows the setting values of each of the second air conditioners that constitute the second air conditioner group 402A. In the example of Fig. 9(C), the setting value image 395 displays the setting temperatures of the second air conditioners A to M.
[0081] 9(C), a switch button 396 is displayed. The switch button 396 is a button for switching to the first management screen. When the user operates the switch button 396, the client device 300 switches the display from the second management screen to the first management screen. Note that when login to the second server 200 is successful, the switch button for switching to the second management screen may be the first management screen.
[0082] According to the above configuration, the first management screen and the second management screen can be displayed on the display device 385 of the client device 300 without requiring a communication function between the first server 100 and the second server 200. Therefore, the configuration of the communication system 700 can be simplified while allowing the user to manage the first air conditioner 401 and the second air conditioner 402.
[0083] 9, the communication system 700 displays the second management screen without displaying the login screen of the second server 200, that is, without requiring the user to enter user data for logging in to the second server 200. Therefore, single sign-on can be appropriately achieved, thereby reducing the burden on the user.
[0084] 6, a configuration in which the processing of step S12 is omitted may be employed. If such a configuration is employed, the client device 300 transmits the token transmitted in step S6 to the second server 200 in step S14. That is, when a login operation to the first server 100 is executed, it is automatically determined whether the login to the first server 100 and the login to the second server 200 have been successful. If a configuration in which the processing of step S12 is omitted is employed in the communication system 700, the login button 394 is not displayed.
[0085] The communication systems of the first and second embodiments have been described as including two servers (first server 100 and second server 200). However, the communication system may also include three or more servers.
[0086] Embodiment 3 In the above-described embodiment, a communication system has been described that includes the client device 300, the first server 100, and the second server 200. A communication system 500A of the third embodiment includes one server (the first server 100) and the client device 300.
[0087] Fig. 10 is a diagram showing a configuration example of a communication system 500A according to the third embodiment. In the example of Fig. 10, after the processing of steps (1) to (3) is completed, when a login operation to the first server 100 is executed again from the client device 300, the token transmitted in step (3) is transmitted to the first server 100 (step (4A)). Furthermore, this login operation does not include an operation of inputting user data.
[0088] Next, the first server 100 verifies the token transmitted in step (4A) (step (5A)). If the token verification reveals that the token is valid, the client device 300 continues to log in to the first server 100. On the other hand, if the second server 200 verifies that the token is invalid, the client device 300 ends the login to the first server 100. The first server 100 transmits the verification result to the client device 300 (step (6A)).
[0089] Fig. 11 is a flowchart showing the flow of processing executed by the client device 300 and the first server 100 according to the third embodiment. In step S14A, the client device 300 transmits a token to the first server 100. Furthermore, since user authentication is successful in step S6 of Fig. 11, in this embodiment, a data request signal is transmitted to the first server 100 in step S14A. The data request signal is a signal for requesting data from the first server 100. The data is, for example, data for an air conditioner management screen (see Fig. 9).
[0090] In step S16A, first server 100 verifies the token. Then, in step S18A, first server 100 transmits the verification result. If the token is found to be invalid as a result of the token verification in step S16A, the data requested in the data request signal transmitted in step S14A is not transmitted to client device 300.
[0091] According to this configuration, if the user has successfully logged in to the first server 100, the user can log in to the first server 100 without inputting user data within the validity period of the token. Therefore, in terms of improving user convenience, it is possible to preferably realize login to the server (first server 100). The idea of the third embodiment may be applied to the first and second embodiments.
[0092] The embodiments disclosed herein should be considered to be illustrative in all respects and not restrictive. The scope of the present disclosure is defined by the claims, not the above description, and is intended to include all modifications within the meaning and scope of the claims. [Explanation of symbols]
[0093] 100 First server, 102, 202 Communication unit, 104 Authentication unit, 106 Generation unit, 108, 208 Memory unit, 150 Common key, 200 Second server, 204 Verification unit, 300 Client device, 302 Creation unit, 385 Display device, 386 Input device, 392 Input area, 393, 395 Setting value image, 394 Login button, 396 Switch button, 401 First air conditioner, 401A First air conditioner group, 402 Second air conditioner, 402A Second air conditioner group, 500, 700 Communication system, 650 User table, 670 Network.
Claims
1. A communication system comprising a first device, a second device, and a third device, the first device has a first memory that stores a first private key; the second device has a second memory that stores a second private key identical to the first private key; the third device transmits the first data to the first device when an operation for logging in to the first device and including inputting the first data is performed by a user; The first device is determining whether or not a login to the first device has been successful based on the first data; generating second data based on the first private key and the first data when login to the first device is successful; transmitting the second data to the third device; the third device transmits the second data to the second device without receiving the first data; the second device verifies the second data using the second private key, and approves login to the second device if the second data is valid; the third device transmits third data to the first device and the second device when an operation for generating the first private key and the second private key and including inputting third data is performed by an administrator; the first device and the second device perform administrator authentication based on the third data; The third device is generating the first private key and the second private key when administrator authentication by the first device and the second device is successful; A communication system transmitting the first private key to the first device and transmitting the second private key to the second device.
2. The communication system further comprises: a first air conditioner managed by the first device; a second air conditioner managed by the second device, the third device has a display; The third device is When the login to the first device is approved, a management screen of the first air conditioner is displayed on the display; The communication system according to claim 1 , wherein a management screen for the second air conditioner is displayed on the display when login to the second device is approved.
3. The third device is displaying, on the display, a login screen for logging in to the first device and for accepting input of the first data; transmitting the first data received through the login screen to the first device; The communication system according to claim 2 , wherein the second data is transmitted to the second device without displaying a login screen that is a screen for logging in to the second device and that accepts input of the first data.
4. a server, a memory for storing a first secret key; an interface in communication with a client device in communication with another server storing a second private key identical to the first private key; a processor; The processor: performing user authentication based on the first data, the first data including input, transmitted from the client device when a login operation to the server is performed by the user on the client device; generating second data from the first data using the first private key if the user authentication is successful; transmitting the second data to the client device; the second data transmitted from the client device without the first data being input is verified by the other server using the second private key, and if the second data is valid, login to the other server is approved; when an operation for generating the first private key and the second private key and including inputting third data is executed by an administrator on the client device, the third data is transmitted to the server and the other server; the server and the other server perform administrator authentication based on the third data; the first private key and the second private key are generated by the client device when administrator authentication by the server and the other server is successful; The client device transmits the first private key to the server and the second private key to the other server.
5. The server manages air conditioners, the client device has a display; The server according to claim 4 , wherein the management screen for the air conditioner is displayed on the display when login to the server is approved.
6. 1. A client device in communication with a first device storing a first private key and a second device storing a second private key, the client device transmits third data to the first device and the second device when an operation for generating a first private key and a second private key and including inputting the third data is performed by an administrator; administrator authentication is performed by the first device and the second device based on the third data; The client device creating the first private key and the second private key that is identical to the first private key when administrator authentication by the first device and the second device is successful; transmitting the first private key to the first device and the second private key to the second device; transmitting first data to the first device when an operation for logging in to the first device and including inputting the first data is performed by a user; whether or not the login to the first device has been successful is determined by the first device based on the first data; second data is generated by the first device based on the first private key and the first data when login to the first device is successful, and the second data is transmitted by the first device to the client device; the client device transmits the second data to the second device without receiving the first data; The second data is verified by the second device using the second private key, and if the second data is valid, login to the second device is approved.
7. The client device has a display, The client device When the login to the first device is approved, a management screen of a first air conditioner managed by the first device is displayed on the display; The client device according to claim 6 , wherein when login to the second device is approved, a management screen for a second air conditioner managed by the second device is displayed on the display.
8. 1. A communication method performed by a first device, a second device, and a third device, comprising: the third device transmitting third data to the first device and the second device when an operation for generating a first private key and a second private key identical to the first private key and including inputting third data is performed by an administrator; the first device and the second device performing administrator authentication based on the third data; the third device generates the first private key and the second private key when administrator authentication by the first device and the second device is successful; the third device transmitting the first private key to the first device and the second private key to the second device; the third device transmitting the first data to the first device when an operation is performed by a user to log in to the first device and includes inputting the first data; The first device determines whether or not login to the first device has been successful based on the first data; generating second data based on the first private key and the first data when login to the first device is successful; the first device transmitting the second data to the third device; the third device transmitting the second data to the second device without the first data being input; The second device verifies the second data using the second private key, and approves login to the second device if the second data is valid.
9. The third device has a display, The communication method further comprises: the third device displays, on the display, a management screen of a first air conditioner managed by the first device when login to the first device is approved; The communication method according to claim 8, further comprising the third device displaying, on the display, a management screen of a second air conditioner managed by the second device when login to the second device is approved.
Citation Information
Patent Citations
System and method for executing log-in in behalf of user
JP2002334056A
Information processing system, information processing method, and program
JP2015226072A
Facility management device, facility management system and program
WO2014068632A1