WO2024100843A1 - 通信システム、サーバ、および通信方法 - Google Patents
通信システム、サーバ、および通信方法 Download PDFInfo
- Publication number
- WO2024100843A1 WO2024100843A1 PCT/JP2022/041931 JP2022041931W WO2024100843A1 WO 2024100843 A1 WO2024100843 A1 WO 2024100843A1 JP 2022041931 W JP2022041931 W JP 2022041931W WO 2024100843 A1 WO2024100843 A1 WO 2024100843A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- server
- login
- private key
- user
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims description 95
- 238000000034 method Methods 0.000 title claims description 35
- 238000012795 verification Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000000052 comparative effect Effects 0.000 description 6
- 230000007704 transition Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 102220057255 rs730881172 Human genes 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/41—User authentication where a single sign-on provides access to a plurality of computers
Definitions
- This disclosure relates to a communication system, a server, and a communication method.
- Patent Document 1 discloses a system that realizes so-called single sign-on.
- Single sign-on is a technology that allows a user to log in to multiple servers with a single login operation.
- the present disclosure has been made to solve these problems, and its purpose is to enable convenient login to a server.
- 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 the same as the first private key.
- the third device transmits the first data to the first device when an operation including inputting the first data is performed by a user to log in to the first device.
- 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 second data is generated 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 the first data being input.
- 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.
- 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 login operation to the first device is performed by a user.
- 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.
- 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 login operation to the server is performed by a user 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 inputting the first data using the private key, and approves login to the server if the second data is valid.
- the communication method of the present disclosure 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 an operation for logging in to the first device and including inputting the first data is performed by a user.
- the communication method includes the first device determining whether or not logging in 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 when logging in 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 the login to the second device if the second data is valid.
- the communication method of the present disclosure is executed by a server communicating with a client device.
- the communication method includes inputting first data and performing user authentication based on the first data transmitted from the client device when a login operation to the server is performed by a user 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 inputting the first data using the private key, and approving login to the server if the second data is valid.
- logging in to a server can be conveniently achieved.
- FIG. 1 is a diagram illustrating a configuration example of a communication system according to a first embodiment.
- FIG. 2 is a diagram illustrating a hardware configuration of a client device and the like.
- FIG. 13 illustrates an example of a user table.
- FIG. 2 is a functional block diagram of a first server, a second server, etc.
- FIG. 1 illustrates an example of a communication system of a comparative example. 2 is a flowchart showing a process flow according to the first embodiment;
- FIG. 13 is a diagram illustrating a method for registering a common key.
- FIG. 11 is a diagram for explaining a configuration example of a communication system according to a second embodiment.
- FIGS. 13A to 13C are diagrams illustrating an example of a transition of a screen displayed by a display device according to a second embodiment.
- FIG. 13 is a diagram illustrating a configuration example of a communication system according to a third embodiment.
- 13 is a flowchart showing a process flow according to a third embodiment.
- FIG. 1 is a diagram showing a configuration example and a process flow of a communication system 500 according to the present embodiment.
- a 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
- 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 PC (Personal Computer), a tablet terminal, or a smartphone.
- the first server 100 holds a common key 150.
- the second server 200 holds a common key 150.
- the common key 150 held by the first server 100 and the common key 150 held by the second server 200 are the same secret key.
- the common key 150 possessed by the first server 100 corresponds to the "first secret key” in the present disclosure
- the common key 150 possessed by the second server 200 corresponds to the "second secret key” in the present disclosure.
- the communication system 500 of this embodiment realizes single sign-on (SSO: Single Sign On).
- SSO Single Sign On
- a login operation including input of user data is performed on the first server 100 by the single sign-on and login to the first server 100 is successful
- 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.
- the client device 300 displays a login screen (see, for example, FIG. 9(A) described below).
- a 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 the "first data" of this disclosure.
- the client device 300 transmits the input user data to the first server 100.
- step (2) the first server 100 performs user authentication based on the user data transmitted from the client device 300.
- User authentication is a process for determining whether login to the first server 100 has been 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 of generating the token will be described later. The token corresponds to the "second data" of this disclosure.
- step (3) the first server 100 transmits the generated token to the client device 300.
- 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.
- the address of the second server 200 (second server information) is stored in the client device 300, for example, in the following first or second method.
- the client device 300 generates a common key.
- a management device (not shown) or the like causes the client device 300 to store the address of the second server 200.
- 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.
- 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 or not to approve login to the second server 200 by verifying the token. If the token verification determines 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 determines that the token is invalid, the second server 200 prohibits approval of login to the second server 200 by the client device 300.
- the client device 300 sends a request signal to the first server 100, and the first server 100 sends data (service) corresponding to the request signal to the client device 300. Also, if 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) corresponding to the request signal to the client device 300.
- the communication system 500 in FIG. 1 As shown in part ⁇ in FIG. 1, communication between the first server 100 and the second server 200 is not required. Therefore, the communication system 500 can advantageously realize single sign-on (login to a server) while simplifying the configuration of the communication system 500.
- Fig. 2 is a diagram showing a hardware configuration of the client device 300.
- the 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.
- the display device 385 corresponds to the "display" in the present disclosure.
- 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.
- the input device 386 is, for example, a keyboard or a pointing device such as a mouse, and accepts commands from the user (for example, input of user data).
- the display device 385 is, for example, a liquid crystal display (LCD) panel, and displays a screen (for example, a login screen) to the user.
- LCD liquid crystal display
- the display device 385 and the input device 386 are integrally formed.
- the first server 100 includes a CPU 181 that executes programs, a ROM 182 that stores data in a non-volatile manner, a RAM 183 that stores data in a volatile manner, and a communication I/F 188.
- the communication I/F 188 of the first server 100 is capable of communicating with the client device 300 via the network 670.
- 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.
- the common key 150 and the user table 650 are stored in the ROM 182.
- the second server 200 includes a CPU 281 that executes programs, a ROM 282 that stores data in a non-volatile manner, a RAM 283 that stores data in a volatile manner, and a communication I/F 288.
- the communication I/F 288 of the second server 200 is capable of communicating with the client device 300 via the network 670.
- 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.
- the common key 150 and the user table 650 described below are stored in the ROM 282.
- a "processor” is configured from a CPU, ROM, RAM, etc.
- the processor is also called a "control circuit.”
- 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.
- a user name A1 and a password P1 are stored as one piece of user data, and Q1 is associated with the user data as an ID.
- a user name A2 and a password P2 are stored as one piece of user data, and Q2 is associated with the user data as an ID.
- User data is determined by the user. Furthermore, an 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.
- the management device registers a new user, a registration request and user data are transmitted from the client device 300 to the management device.
- the management device Upon receiving the registration request and user data, the management device generates an ID using random numbers 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 the user table 650.
- the user table 650 held by the first server 100 and the user table 650 held by the second server 200 are the same.
- Fig. 4 is a functional block diagram of the first server 100, the second server 200, etc.
- a token is used, and the token in this embodiment is a token based on JKT (JSON Web Token). Note that the token may be another token.
- the first server 100 has a communication unit 102, an authentication unit 104, a generation unit 106, and a storage unit 108.
- a user table 650 (see FIG. 3) and a common key 150 are stored in the storage unit 108.
- 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.
- 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.
- 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).
- the authentication unit 104 refers to the 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 user name and password) exists in the user table 650.
- the authentication unit 104 determines that the user authentication has been successful. The authentication unit 104 then 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 then sends a signal to the client device 300 indicating that the user authentication has failed.
- the generation unit 106 generates a token based on the common key 150 and the user data.
- An example of a method for generating a token is described below.
- 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.
- the generation unit 106 then generates a token by combining the first token data and the second token data.
- the generation unit 106 creates a "signature-less token" by executing a first operation on the ID.
- This signature-less data corresponds to the first token data.
- the generation unit 106 then 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.
- the generation unit 106 then generates a token by combining the first token data (signature-less token) and the second token data (signature).
- An expiration date is set for the token.
- Other information for example, a hash may also be used to generate the token.
- the generation unit 106 When the generation unit 106 generates the token, it transmits the token to the client device 300 via the communication unit 102. In addition, when the user performs an operation to log in to the second server, it transmits the token to the second server 200.
- 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 private key) stored in the storage unit 208. An example of a method for verifying a token is described below.
- the verification unit 204 divides the token into first token data (unsigned token) and second token data (signature). The verification unit 204 then generates a "provisional signature" (also referred to as "third token data") by applying the common key 150 to the unsigned token (for example, by encrypting the unsigned token). The verification unit 204 then compares the second token data (signature) with the third token data (provisional signature).
- provisional signature also referred to as "third token data”
- the verification unit 204 extracts an ID by executing a second operation on the unsigned token.
- the second operation is the inverse operation of the first operation described above. Then, 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. Also, if the ID extracted by executing the above-mentioned second operation does not exist in the user table 650 in the storage unit 208, the verification unit 204 determines that the token is invalid. If the token is invalid, the second server 200 prohibits login to the second server.
- the verification unit 204 transmits the verification result (information indicating whether or not login to the second server 200 is possible) 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 possible).
- 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.
- the verification unit 204 determines that the token is invalid.
- the user table 650 in the storage unit 208 is not necessary.
- the verification unit 204 may compare the second token data (signature) with the third token data (provisional signature), thereby improving the security of the communication system 500. As a modified example, the verification unit 204 may not perform this comparison.
- [Comparison with Comparative Example] 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.
- the second server 200L does not have a private key, and is configured so that the first server 100L and the second server 200L communicate with each other.
- the method of the communication system 500L of the comparative example is also called an "agent method.”
- 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.
- step (3) the first server 100 transmits the token to the client device 300.
- step (4) the client device 300 transmits the token to the second server.
- 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.
- step (6) the second server 200L transmits the verification result to the client device 300.
- a communication function (communication path) between the first server 100L and the second server 200L is required.
- 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.
- 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
- 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 (login to a server) in that the configuration of the communication system 500 can be simplified.
- 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.
- step S1 the client device 300 displays a login screen on the display device 385.
- step S2 the client device 300 determines whether or not a login operation to the first server 100 has been performed by the user.
- step S4 the client device 300 transmits the user data entered by the user through this login operation to the first server 100 (see step (1) in FIG. 1).
- 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.
- 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).
- step S12 the client device 300 determines whether or not the user has performed a login operation to the second server 200.
- 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).
- 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).
- the communication system 500 also employs the following first or second configuration.
- the first configuration provides the services of the first server 100 and the second server 200 only if login to both the first server 100 and the second server 200 is successful.
- the first configuration also provides neither the services of the first server 100 nor the services of the second server 200 if login to the first server 100 is successful but login to the second server 200 is unsuccessful.
- the first server 100 provides the services of the first server 100, regardless of whether the login to the second server 200 is successful or not. Also, in the second configuration, if the login to the second server 200 is successful, the second server 200 provides the services of the second server 200, and if the login to the second server 200 fails, the second server 200 does not provide the services of the second server 200.
- the common key 150 is created by a device different from either the first server 100 or the second server 200.
- the device that creates the common key 150 corresponds to the "creation device" of the present disclosure.
- FIG. 7 is a diagram for explaining a method for registering the common key 150.
- FIG. 7 discloses an example in which the creation device is a client device 300.
- the client device 300 that creates the common key 150 may be the same as the client device 300 shown in FIG. 1, or may be different.
- the client device 300 in FIG. 7 has a creation unit 302 that creates the common key 150.
- the creation of the shared key 150 is performed, for example, by 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 the purpose of creating the shared 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 this disclosure.
- the client device 300 transmits the administrator data entered by the administrator to the first server 100 and the second server 200.
- the first server 100 and the second server 200 perform administrator authentication based on the administrator data.
- the first server 100 and the second server 200 hold an administrator table in which one or more valid administrator data are specified, and perform administrator authentication by determining whether the administrator data transmitted from the client device 300 is specified in the administrator table. If the administrator data is specified in the administrator table, the administrator authentication is successful, and if the administrator data is not specified in the administrator table, the administrator authentication is unsuccessful.
- step (23) the first server 100 and the second server 200 transmit the 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 random numbers, for example. 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.
- the creation unit 302 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
- the second server 200 stores (registers) the common key 150 in the ROM 282.
- the first server 100 creates the common key 150 and transmits the common key 150 to the second server 200.
- a communication function between the first server 100 and the second server 200 is required.
- a creation device 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.
- the client device 300 creates the common key 150 if 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 if either the administrator authentication by the first server 100 or the administrator authentication by the second server 200 is successful.
- 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.
- Embodiment 2 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 a configuration example of a communication system 700 according to the second embodiment.
- the first server 100 is associated with at least one first air conditioner 401.
- the first server 100 is connected to each of the at least one first air conditioner 401.
- the first server 100 manages (controls) the at least one first air conditioner 401.
- 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 manages (controls) the at least one second air conditioner 402.
- the first air conditioner 401 is installed in a first facility (first building)
- the second air conditioner 402 is installed in a second facility (second building) different from the first facility.
- At least one first air conditioner 401 constitutes a first air conditioner group 401A. Also, at least one second air conditioner 402 constitutes a second air conditioner group 402A.
- 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.
- 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.
- the management screen refers to a screen for controlling the air conditioners, and a screen that displays the settings of the air conditioners, etc.
- the management screen may be a screen that accepts changes to the settings by the user.
- FIG. 9 is a diagram showing an example of the transition of screens displayed by the display device 385 of this embodiment.
- FIG. 9(A) is a diagram showing an example of a login screen for the first server 100. In this login screen, an input area 392 is displayed. The user inputs user data in the input area 392.
- the input area 392 includes an input area for a user name and an input area for a password.
- the first server 100 causes the display device 385 to display a management screen for the first air conditioner group 401A (see FIG. 8).
- the management screen for the first air conditioner group 401A is also referred to as the "first management screen.”
- FIG. 9(B) is an example of the first management screen.
- 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 is displayed.
- the setting value image 393 is an image that shows the setting value of each of the first air conditioners that constitute the first air conditioner group 401A.
- the setting temperature of the first air conditioner A to first air conditioner N is displayed as the setting value image 393.
- other setting values (such as air volume) may be displayed as the setting value image 393.
- a login button 394 is displayed.
- the login button 394 is a button for performing a login operation to the second server 200 (see step S12 in FIG. 6).
- the client device 300 transmits a token (see step (4) in FIG. 1 and step S14 in FIG. 6).
- the second server 200 causes the display device 385 to display a management screen for the second air conditioner group 402A (see FIG. 8).
- the management screen for the second air conditioner group 402A is also referred to as the "second management screen.”
- 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.
- the setting temperatures of the second air conditioners A to M are displayed as the setting value image 395.
- a switch button 396 is displayed.
- the switch button 396 is a button for switching to the first management screen.
- 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 on the first management screen.
- 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, it is possible to allow the user to manage the first air conditioner 401 and the second air conditioner 402 while simplifying the configuration of the communication system 700.
- 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, reducing the burden on the user.
- a configuration may be adopted in which the processing of step S12 is omitted. If such a configuration is adopted, the client device 300 transmits the token transmitted in step S6 to the second server 200 in step S14. In other words, when a login operation to the first server 100 is performed, the success or failure of login to the first server 100 and the success or failure of login to the second server 200 are automatically determined. Also, if a configuration is adopted in which the processing of step S12 is omitted in the communication system 700, the login button 394 is not displayed.
- the communication systems of the first and second embodiments have been described as having two servers (first server 100 and second server 200). However, the communication system may also have a configuration including three or more servers.
- 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 according to the third embodiment includes one server (the first server 100) and the client device 300.
- FIG. 10 is a diagram showing an example of the configuration of a communication system 500A according to the third embodiment.
- the token transmitted in step (3) is transmitted to the first server 100 (step (4A)).
- this login operation does not include an operation of inputting user data.
- the first server 100 verifies the token sent in step (4A) (step (5A)). If the token verification reveals that the token is valid, the client device 300 continues logging in to the first server 100. On the other hand, if the second server 200 verifies that the token is invalid, it terminates the client device 300's login to the first server 100. The first server 100 sends the verification result to the client device 300 (step (6A)).
- FIG. 11 is a flowchart showing the flow of processing executed by the client device 300 and the first server 100 in the third embodiment.
- the client device 300 transmits a token to the first server 100.
- 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).
- step S16A the first server 100 verifies the token. Then, in step S18A, the first server 100 transmits the verification result. Note that 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 the client device 300.
- First server 100 First server, 102, 202 Communication unit, 104 Authentication unit, 106 Generation unit, 108, 208 Storage 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.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
第1サーバ(100)は、ユーザデータに基づいて第1サーバ(100)へのログインの成否を判断する。第1サーバ(100)は、第1サーバ(100)へのログインが成功した場合に共通鍵(150)およびユーザデータに基づいてトークンを生成する。第1サーバ(100)は、トークンをクライアント装置(300)に送信する。クライアント装置(300)は、ユーザデータが入力されることなくトークンを第2サーバ(200)に送信する。第2サーバ(200)は、公開鍵(150)を用いてトークンを検証し該トークンが正当であれば第2サーバ(200)へのログインを承認する。
Description
本開示は、通信システム、サーバ、および通信方法に関する。
特開2002-334056号公報(特許文献1)には、いわゆるシングルサインオンを実現させるシステムが開示されている。シングルサインオンは、ユーザによる1回のログイン操作により、複数のサーバにログインできる技術である。
通信システムにおいて、より好適にサーバへのログインを実現させることが望まれている。
本開示は、このような課題を解決するためになされたものであって、その目的は、好適にサーバへのログインを実現させることである。
本開示の通信システムは、第1装置と、第2装置と、第3装置とを備える。第1装置は、第1秘密鍵を記憶する第1メモリを有する。第2装置は、第1秘密鍵と同一の第2秘密鍵を記憶する第2メモリを有する。第3装置は、第1装置にログインするためでありかつ第1データの入力を含む操作がユーザにより実行されたときに該第1データを第1装置に送信する。第1装置は、第1データに基づいて第1装置へのログインの成否を判断する。第1装置へのログインが成功した場合に第1秘密鍵および第1データに基づいて第2データを生成する。第1装置は、第2データを第3装置に送信する。第3装置は、第1データが入力されることなく第2データを第2装置に送信する。第2装置は、第2秘密鍵を用いて第2データを検証し該第2データが正当であれば第2装置へのログインを承認する。
本開示の通信システムは、第1装置と、第2装置とを備える。第1装置は、秘密鍵を記憶するメモリを有する。第2装置は、第1データの入力を含みかつ第1装置へのログイン操作がユーザにより実行されたときに該第1データを第1装置に送信する。第1装置は、第1データに基づいてユーザ認証を実行する。第1装置は、ユーザ認証が成功した場合に秘密鍵を用いて第1データから第2データを生成する。第1装置は、第2データを第2装置に送信する。第2装置は、第1データが入力されることなく第2データを第1装置に送信する。第1装置は、秘密鍵を用いて第2データを検証し該第2データが正当であれば第1装置へのログインを承認する。
本開示のサーバは、クライアント装置と通信するインタフェースと、秘密鍵を記憶するメモリと、プロセッサとを備える。プロセッサは、第1データの入力を含みかつサーバへのログイン操作がユーザによりクライアント装置に対して実行されたときに該クライアント装置から送信された第1データに基づいてユーザ認証を実行する。プロセッサは、ユーザ認証が成功した場合に秘密鍵を用いて第1データから第2データを生成する。プロセッサは、第2データをクライアント装置に送信する。プロセッサは、第1データが入力されることなくクライアント装置から送信された第2データを、秘密鍵を用いて検証し該第2データが正当であればサーバへのログインを承認する。
本開示の通信方法は、第1装置と、第2装置と、第3装置とにより実行される。通信方法は、第3装置が、第1装置にログインするためでありかつ第1データの入力を含む操作がユーザにより実行されたときに該第1データを第1装置に送信することを備える。通信方法は、第1装置が、第1データに基づいて第1装置へのログインの成否を判断することを備える。通信方法は、第1装置が、第1装置へのログインが成功した場合に第1秘密鍵および第1データに基づいて第2データを生成することを備える。通信方法は、第1装置が、第2データを第3装置に送信することを備える。通信方法は、第3装置が、第1データが入力されることなく第2データを第2装置に送信することを備える。通信方法は、第2装置が、第1秘密鍵と同一の第2秘密鍵を用いて第2データを検証し該第2データが正当であれば第2装置へのログインを承認することを備える。
本開示の通信方法は、クライアント装置と通信するサーバにより実行される。通信方法は、第1データの入力を含みかつサーバへのログイン操作がユーザによりクライアント装置に対して実行されたときに該クライアント装置から送信された第1データに基づいてユーザ認証を実行することを備える。通信方法は、ユーザ認証が成功した場合に秘密鍵を用いて第1データから第2データを生成することを備える。通信方法は、第2データをクライアント装置に送信することを備える。通信方法は、第1データが入力されることなくクライアント装置から送信された第2データを、秘密鍵を用いて検証し該第2データが正当であればサーバへのログインを承認することを備える。
本開示によれば、好適にサーバへのログインを実現させることができる。
以下、本実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分には同一符号を付してその説明は繰り返さない。
実施の形態1.
[通信システムの構成]
図1は、本実施の形態の通信システム500の構成例および処理の流れを示す図である。図1の例では、第1サーバ100と、第2サーバ200と、クライアント装置300とを備える。第1サーバ100が、本開示の「第1装置」に対応し、第2サーバ200が、本開示の「第2装置」に対応し、クライアント装置300が、本開示の「第3装置」に対応する。クライアント装置300は、ユーザが操作可能な装置であり、たとえば、PC(Personal Computer)、タブレット端末、およびスマートフォンなどである。第1サーバ100は、共通鍵150を保持している。また、第2サーバ200は、共通鍵150を保持している。ここで、第1サーバ100が有する共通鍵150と、第2サーバ200が有する共通鍵150とは、同一の秘密鍵である。第1サーバ100が有する共通鍵150は、本開示の「第1秘密鍵」に対応し、第2サーバ200が有する共通鍵150は、本開示の「第2秘密鍵」に対応する。
[通信システムの構成]
図1は、本実施の形態の通信システム500の構成例および処理の流れを示す図である。図1の例では、第1サーバ100と、第2サーバ200と、クライアント装置300とを備える。第1サーバ100が、本開示の「第1装置」に対応し、第2サーバ200が、本開示の「第2装置」に対応し、クライアント装置300が、本開示の「第3装置」に対応する。クライアント装置300は、ユーザが操作可能な装置であり、たとえば、PC(Personal Computer)、タブレット端末、およびスマートフォンなどである。第1サーバ100は、共通鍵150を保持している。また、第2サーバ200は、共通鍵150を保持している。ここで、第1サーバ100が有する共通鍵150と、第2サーバ200が有する共通鍵150とは、同一の秘密鍵である。第1サーバ100が有する共通鍵150は、本開示の「第1秘密鍵」に対応し、第2サーバ200が有する共通鍵150は、本開示の「第2秘密鍵」に対応する。
本実施の形態の通信システム500は、シングルサインオン(SSO:Single Sign On)を実現する。本実施の形態においては、当該シングルサインオンにより、ユーザデータの入力を含むログイン操作を第1サーバ100に行い該第1サーバ100へのグインが成功すれば、第2サーバ200に対応するユーザデータを入力しなくても、第2サーバ200へのログインが承認され得る。したがって、第2サーバ200に対応するユーザデータのユーザによる入力を省略できる点で、ユーザの負担を軽減できる。
以下に、図1を用いて処理の流れを説明する。クライアント装置300は、ログイン画面(たとえば、後述の図9(A)参照)を表示する。ユーザによりログイン画面に対してログイン操作が実行される。ログイン操作は、第1サーバ100にログインするためでありかつユーザデータの入力を含む操作である。ユーザデータは、たとえば、ユーザ名(ユーザID(identification))およびパスワードである。ユーザデータは、本開示の「第1データ」に対応する。ステップ(1)において、クライアント装置300は、入力されたユーザデータを第1サーバ100に送信する。
ステップ(2)において、第1サーバ100は、クライアント装置300から送信されたユーザデータに基づいて、ユーザ認証を実行する。ユーザ認証は、第1サーバ100へのログインの成否を判断するための処理である。第1サーバ100は、該ユーザ認証が成功した場合に、共通鍵150を用いてユーザデータからトークンを生成する。トークンの生成の手法については後述する。トークンは、本開示の「第2データ」に対応する。
ステップ(3)において、第1サーバ100は、生成したトークンをクライアント装置300に送信する。ステップ(4)において、クライアント装置300は、第2サーバ200へのログインのためのユーザデータが入力されることなく、トークンを第2サーバ200に送信する。
また、ステップ(4)において生成したトークンを第2サーバ200に送信するために、第2サーバ200のアドレス(第2サーバ情報)を、クライアント装置300に記憶させる手法として、たとえば、以下の第1の手法または第2の手法が採用される。まず、第1の手法を説明する。後述の図7に示すように、クライアント装置300が共通鍵を作成する。クライアント装置300による共通鍵の作成の段階で、図示しない管理装置等により、クライアント装置300に第2サーバ200のアドレスを記憶させる。また、第2の手法として、ステップ(3)において、第1サーバ100は、トークンとともに、第2サーバ200のアドレスを送信するようにしてもよい。クライアント装置300は、該送信された第2サーバ200のアドレスを記憶する。
ステップ(5)において、第2サーバ200は、共通鍵150を用いてトークンを検証する。トークンの検証の手法については後述する。第2サーバ200は、トークンの検証により、第2サーバ200へのログインの承認の可否を判断する。第2サーバ200は、トークンの検証により該トークンが正当であれば、クライアント装置300による第2サーバ200へのログインを承認する。一方、第2サーバ200は、トークンの検証により該トークンが不当であれば、クライアント装置300による第2サーバ200へのログインの承認を禁止する。
第1サーバ100へのログインが成功した場合において、クライアント装置300は、リクエスト信号を第1サーバ100に送信すると、第1サーバ100は該リクエスト信号に応じたデータ(サービス)をクライアント装置300に送信する。また、第2サーバ200へのログインが成功した場合において、クライアント装置300は、リクエスト信号を第2サーバ200に送信すると、第2サーバ200は該リクエスト信号に応じたデータ(サービス)をクライアント装置300に送信する。
また、図1の通信システム500であれば、図1の個所αに示すように、第1サーバ100と第2サーバ200との通信を不要とする。したがって、通信システム500は、通信システム500の構成を簡素化しつつ好適にシングルサインオン(サーバへのログイン)を実現することができる。
[ハードウェア構成]
図2は、クライアント装置300のハードウェア構成を示す図である。図2を参照して、クライアント装置300は、プログラムを実行するCPU(Central Processing Unit)381と、データを不揮発的に格納するROM(Read Only Memory)382とデータを揮発的に格納するRAM(Random Access Memory)383と、表示装置385と、入力装置386と、通信I/F(Interface)388とを備える。表示装置385は、本開示の「ディスプレイ」に対応する。
図2は、クライアント装置300のハードウェア構成を示す図である。図2を参照して、クライアント装置300は、プログラムを実行するCPU(Central Processing Unit)381と、データを不揮発的に格納するROM(Read Only Memory)382とデータを揮発的に格納するRAM(Random Access Memory)383と、表示装置385と、入力装置386と、通信I/F(Interface)388とを備える。表示装置385は、本開示の「ディスプレイ」に対応する。
クライアント装置300の通信I/F388は、ネットワーク670を介して、第1サーバ100および第2サーバ200と通信可能である。クライアント装置300における処理は、各ハードウェアおよびCPU381により実行されるプログラムによって実現される。このようなプログラムは、ROM382などに予め記憶されている場合がある。CPU381は、ROM382からプログラムを読み取る。
入力装置386は、たとえばキーボードあるいはマウスなどのポインティングデバイスであり、ユーザからの指令(たとえば、ユーザデータの入力)を受け付ける。表示装置385は、たとえば液晶(LCD:Liquid Crystal Display)パネルで構成され、ユーザに画面(たとえば、ログイン画面)を表示する。ユーザインターフェースとしてタッチパネルが用いられる場合には、表示装置385と入力装置386とが一体的に形成される。
第1サーバ100は、プログラムを実行するCPU181と、データを不揮発的に格納するROM182と、データを揮発的に格納するRAM183と、通信I/F188などを備える。
第1サーバ100の通信I/F188は、ネットワーク670を介して、クライアント装置300と通信可能である。一方、図1の個所αでも示したように、第1サーバ100と第2サーバ200とは通信しない構成となっている。また、第1サーバ100は、共通鍵150と、後述のユーザテーブル650とを保持している。図2の例では、共通鍵150と、ユーザテーブル650とは、ROM182に格納されている。
第2サーバ200は、プログラムを実行するCPU281と、データを不揮発的に格納するROM282と、データを揮発的に格納するRAM283と、通信I/F288などを備える。
第2サーバ200の通信I/F288は、ネットワーク670を介して、クライアント装置300と通信可能である。一方、図1の個所αでも示したように、第2サーバ200は、第1サーバ100と通信しない構成となっている。また、第2サーバ200は、共通鍵150と、ユーザテーブル650とを保持している。図2の例では、共通鍵150と、後述のユーザテーブル650とは、ROM282に格納されている。
クライアント装置300と、第1サーバ100と、第2サーバ200とにおいて、CPUと、ROMと、RAMなどにより「プロセッサ」が構成される。プロセッサは、「制御回路」とも称される。
[ユーザテーブル]
図3はユーザテーブル650の一例である。ユーザテーブル650は、正当な複数のユーザのそれぞれのユーザデータと、IDとが対応付けて規定されているテーブルである。ユーザデータは、ユーザ名と、パスワードとにより構成される。図3の例では、ユーザ名A1と、パスワードP1とが1つのユーザデータとして格納されており、該ユーザデータにIDとしてQ1が対応付けられている。また、ユーザ名A2と、パスワードP2とが1つのユーザデータとして格納されており、該ユーザデータにIDとしてQ2が対応付けられている。
図3はユーザテーブル650の一例である。ユーザテーブル650は、正当な複数のユーザのそれぞれのユーザデータと、IDとが対応付けて規定されているテーブルである。ユーザデータは、ユーザ名と、パスワードとにより構成される。図3の例では、ユーザ名A1と、パスワードP1とが1つのユーザデータとして格納されており、該ユーザデータにIDとしてQ1が対応付けられている。また、ユーザ名A2と、パスワードP2とが1つのユーザデータとして格納されており、該ユーザデータにIDとしてQ2が対応付けられている。
ユーザデータは、ユーザにより決定される。また、IDは、該ユーザデータに基づいて図示しない管理装置などにより作成される。管理装置は、通信システム500に対する権限を有する管理者により操作される装置である。管理装置がユーザを新規登録する場合には、クライアント装置300から、登録要請およびユーザデータを当該管理装置に送信する。当該管理装置は、登録要請およびユーザデータを受信すると、乱数などを用いてIDを生成する。そして、管理装置は、該ユーザデータおよびIDを第1サーバ100および第2サーバ200に送信する。第1サーバ100および第2サーバ200は、該ユーザ名およびパスワードをユーザテーブル650に追加させる。また、第1サーバ100が有するユーザテーブル650と、第2サーバ200が有するユーザテーブル650とは同一である。
[機能ブロック図]
図4は、第1サーバ100および第2サーバ200などの機能ブロック図である。図4の通信システム500においては、トークンが用いられるが、本実施の形態のトークンは、JKT(JSON Web Token)に基づいたトークンであるとする。なお、トークンは他のトークンとしてもよい。
図4は、第1サーバ100および第2サーバ200などの機能ブロック図である。図4の通信システム500においては、トークンが用いられるが、本実施の形態のトークンは、JKT(JSON Web Token)に基づいたトークンであるとする。なお、トークンは他のトークンとしてもよい。
第1サーバ100は、通信部102と、認証部104と、生成部106と、記憶部108とを有する。記憶部108には、ユーザテーブル650(図3参照)と、共通鍵150とが格納されている。通信部102は、通信I/F188などに対応する。認証部104と、生成部106とは、CPU181などに対応する。記憶部108は、ROM182などに対応する。
第2サーバ200は、通信部202と、検証部204と、記憶部208とを有する。記憶部208には、ユーザテーブル650(図3参照)と、共通鍵150とが格納されている。通信部202は、通信I/F288などに対応する。検証部204は、CPU281などに対応する。記憶部208は、ROM282などに対応する。
クライアント装置300の表示装置385が第1サーバ100へのログイン画面を表示し、ユーザが該ログイン画面に対してユーザデータを入力する。クライアント装置300は、該ユーザデータを第1サーバ100に送信する(図1のステップ(1)参照))。
通信部102が、ユーザデータを取得すると、該ユーザデータは、認証部104に出力される。認証部104は、ユーザテーブル650(図3参照)を参照して、ユーザデータに基づいてユーザ認証を実行する。具体的には、認証部104は、ユーザデータ(ユーザ名およびパスワードの組合せ)が、ユーザテーブル650に存在するか否かを判断する。
ユーザデータがユーザテーブルに存在している場合には、認証部104は、ユーザ認証が成功したと判断する。そして、認証部104は、ユーザテーブル650を参照して該ユーザデータに対応するIDを抽出し、該IDを生成部106に出力する。一方、ユーザデータがユーザテーブルに存在していない場合には、認証部104は、ユーザ認証が失敗したと判断する。なお、第1サーバ100は、ユーザ認証が失敗したことを示す信号をクライアント装置300に送信する。
生成部106は、共通鍵150およびユーザデータに基づいてトークンを生成する。以下に、トークンの生成の手法の一例を説明する。本実施の形態においては、生成部106は、ユーザデータに対応するIDと、共通鍵150とを用いて、第1トークンデータおよび第2トークンデータを生成する。そして、生成部106は、第1トークンデータおよび第2トークンデータを結合することにより、トークンを生成する。
たとえば、生成部106は、IDに対して第1演算を実行することにより「署名無しトークン」を作成する。この署名無しデータが、第1トークンデータに対応する。そして、生成部106は、署名無しトークン(第1トークンデータ)に対して共通鍵150を適用することにより(たとえば、署名無しトークンを暗号化することにより)、「署名」を生成する。この署名が、第2トークンデータに対応する。そして、生成部106は、第1トークンデータ(署名無しトークン)と、第2トークンデータ(署名)とを結合することにより、トークンを生成する。また、当該トークンは、有効期限が設定される。また、トークンの生成には、他の情報(たとえば、ハッシュ)などが用いられてもよい。
生成部106は、トークンを生成すると、通信部102を介して、クライアント装置300に該トークンを送信する。また、ユーザにより第2サーバへのログインする旨を操作が実行された場合には、該トークンを第2サーバ200に送信する。
通信部202が、トークンを取得すると、該トークンは、検証部204に出力される。検証部204は、記憶部208に記憶されているユーザテーブル650(図3参照)および公開鍵(第2秘密鍵)に基づいて、トークンを検証する。以下に、トークンの検証の手法の一例を説明する。
まず、検証部204は、トークンを第1トークンデータ(署名無しトークン)と、第2トークンデータ(署名)とに分割する。そして、検証部204は、署名無しトークンに対して共通鍵150を適用することにより(たとえば、署名無しトークンを暗号化することにより)、「仮署名」(「第3トークンデータ」とも称される。)を生成する。そして、検証部204は、第2トークンデータ(署名)と、第3トークンデータ(仮署名)とを比較する。
第2トークンデータと、第3トークンデータとが一致すれば、検証部204は、署名無しトークンに対して、第2演算を実行することによりIDを抽出する。第2演算は、上述の第1演算とは逆の演算である。そして、検証部204は、このIDが、記憶部208内のユーザテーブル650に存在すると判断した場合には、トークンは正当であると判断する。トークンが正当である場合には、第2サーバ200は、第2サーバ200へのログインを承認する。一方、第2トークンデータと、第3トークンデータとが異なれば、検証部204は、トークンは不当であると判断する。また、上述の第2演算を実行することにより抽出したIDが、記憶部208内のユーザテーブル650に存在しない場合にも、検証部204は、トークンは不当であると判断する。トークンが不当である場合には、第2サーバ200は、第2サーバへのログインを禁止する。
検証部204は、検証結果(第2サーバ200へのログインの可否を示す情報)を通信部202を介して、クライアント装置300に該検証結果を送信する。クライアント装置300は、検証結果(第2サーバ200へのログインの可否)をユーザに通知する。
なお、変形例として、第2トークンデータと、第3トークンデータとが一致すれば、検証部204は、トークンは正当であると判断する構成が採用されてもよい。このような構成が採用された場合において、第2トークンデータと、第3トークンデータとが異なれば、検証部204は、トークンは不当であると判断する。また、このような構成においては、記憶部208内のユーザテーブル650は不要となる。
第2トークンデータ(署名)と、第3トークンデータ(仮署名)との比較を検証部204が実行することにより、通信システム500のセキュリティ性を高めることができる。なお、変形例として、検証部204は、該比較を実行しないようにしてもよい。
[比較例との対比]
図5は、比較例の通信システム500Lの一例を示す図である。通信システム500Lにおいても、シングルサインオンは実現される。比較例の通信システム500Lにおいては、第2サーバ200Lは秘密鍵を有しておらず、かつ第1サーバ100Lと第2サーバ200Lとが通信するように構成されている。比較例の通信システム500Lの方式は、「エージェント方式」とも称される。
図5は、比較例の通信システム500Lの一例を示す図である。通信システム500Lにおいても、シングルサインオンは実現される。比較例の通信システム500Lにおいては、第2サーバ200Lは秘密鍵を有しておらず、かつ第1サーバ100Lと第2サーバ200Lとが通信するように構成されている。比較例の通信システム500Lの方式は、「エージェント方式」とも称される。
ステップ(1)において、クライアント装置300Lは、ユーザデータを送信する。第1サーバ100Lは、ユーザデータおよび秘密鍵150Lに基づいて、トークンを生成する。ステップ(3)において、第1サーバ100は、クライアント装置300にトークンを送信する。ステップ(4)において、クライアント装置300は、トークンを第2サーバに送信する。
次に、ステップ(51)において、第2サーバ200Lは、第1サーバ100Lに対して、トークンの検証を要求する。第1サーバ100Lが、秘密鍵150Lを用いて、トークンを検証し、ステップ(52)において検証結果を第2サーバ200Lに送信する。そして、ステップ(6)において、第2サーバ200Lは、検証結果をクライアント装置300に送信する。
比較例の通信システム500Lにおいては、ステップ(51)およびステップ(52)で説明したように、第1サーバ100Lと第2サーバ200Lとの通信機能(通信経路)が必要となる。しかしながら、この通信機能が必要となる場合には、通信システム500Lの構成が複雑になる。たとえば、通信システム500Lを構築する設計者の熟練度が低い場合などには、該設計者の負担が増大する場合がある。
これに対し、本実施の形態の通信システム500においては、第1サーバ100および第2サーバ200は同一の共通鍵150を保持する。そして、第1サーバ100は、第1サーバ100の共通鍵150を用いてトークンを生成し、第2サーバ200は、第2サーバ200の共通鍵150を用いて該トークンを検証する。したがって、本実施の形態の通信システム500は、第1サーバ100と第2サーバ200との通信機能を必要とすることなく(図1の個所α参照)、トークンの生成および検証を実行できる。したがって、本実施の形態の通信システム500は、通信システム500の構成を簡素化できる点で好適にシングルサインオン(サーバへのログイン)を実現させることができる。
[フローチャート]
図6は、クライアント装置300、第1サーバ100、および第2サーバ200により実行される処理の流れを示すフローチャートである。
図6は、クライアント装置300、第1サーバ100、および第2サーバ200により実行される処理の流れを示すフローチャートである。
まず、ステップS1において、クライアント装置300は、表示装置385にログイン画面を表示する。次に、ステップS2において、クライアント装置300は、第1サーバ100へのユーザによるログイン操作が実行されたか否かを判断する。次に、ステップS4において、このログイン操作によりユーザが入力したユーザデータを、クライアント装置300は、第1サーバ100に送信する(図1のステップ(1)参照)。
第1サーバ100は、ユーザテーブル650(図3参照)を参照して、ユーザデータに基づいてユーザ認証を実行する。ステップS6において、第1サーバ100は、該ユーザ認証が成功したか否かを判断する。ユーザ認証が成功した場合には(ステップS6でYES)、処理は、ステップS8に進む。一方、ユーザ認証が失敗した場合には(ステップS6でNO)、図6の処理は終了する。
ステップS8において、第1サーバ100は、トークンを生成する(図1のステップ(2)参照)。そして、ステップS10において、第1サーバ100は、クライアント装置300にトークンを送信する(図1のステップ(3)参照)。
ステップS12において、クライアント装置300は、ユーザにより第2サーバ200へのログイン操作が実行されたか否かを判断する。ステップS12においては、クライアント装置300は、ユーザにより第2サーバ200へのログイン操作が実行されるまで待機する(ステップS12でNO)。そして、ユーザにより第2サーバ200へのログイン操作が実行された場合には(ステップS12でYES)、ステップS14において、クライアント装置300は、ステップS10で送信されたトークンを第2サーバ200に送信する(図1のステップ(4)参照)。
ステップS16において、第2サーバ200は、該トークンを検証する(図1のステップ(5)参照)。そして、ステップS18において、第2サーバ200は、検証結果を送信する(図1のステップ(6)参照)。
また、通信システム500は、以下の第1の構成または第2の構成が採用される。第1の構成は、第1サーバ100および第2サーバ200の双方のログインが成功した場合のみ、第1サーバ100のサービスおよび第2サーバ200のサービスを提供する。また、第1の構成は、第1サーバ100のログインが成功したが第2サーバ200のログインが失敗した場合には、第1サーバ100のサービスおよび第2サーバ200のサービスのいずれも提供しない。
また、第2の構成は、第1サーバ100のログインが成功した場合には、第2サーバ200のログインが成功したか否かに関わらず、第1サーバ100は、第1サーバ100のサービスを提供する。また、第2の構成においては、第2サーバ200のログインが成功した場合には、第2サーバ200は第2サーバ200のサービスを提供し、第2サーバ200のログインが失敗した場合には、第2サーバ200は第2サーバ200のサービスを提供ない。
[共通鍵の登録]
次に、共通鍵150の第1サーバ100および第2サーバ200への登録の手法の一例を説明する。本実施の形態においては、共通鍵150は、第1サーバ100および第2サーバ200のいずれとも異なる装置により作成される。共通鍵150を作成する装置は、本開示の「作成装置」に対応する。
次に、共通鍵150の第1サーバ100および第2サーバ200への登録の手法の一例を説明する。本実施の形態においては、共通鍵150は、第1サーバ100および第2サーバ200のいずれとも異なる装置により作成される。共通鍵150を作成する装置は、本開示の「作成装置」に対応する。
図7は、共通鍵150の登録の手法を説明するための図である。図7では、作成装置がクライアント装置300である例が開示されている。なお、共通鍵150を作成するクライアント装置300は、図1で示したクライアント装置300と同一であってもよく、異なっていてもよい。また、図7のクライアント装置300は、共通鍵150を作成する作成部302を有する。
また、共通鍵150の作成については、たとえば、通信システム500の管理者などにより行われる。通信システム500の管理者が、クライアント装置300に対してログイン操作を実行する。このログイン操作は、共通鍵150を作成するためでありかつ管理者データのクライアント装置300への入力を含む操作である。管理者データは、たとえば、管理者名(管理者ID)およびパスワードである。管理者データは、本開示の「第3データ」に対応する。
ステップ(21)において、クライアント装置300は、管理者により入力された管理者データを第1サーバ100および第2サーバ200に送信する。ステップ(22)において、第1サーバ100および第2サーバ200は、管理者データに基づいて管理者認証を実行する。管理者認証は、たとえば、第1サーバ100および第2サーバ200は、1以上の正当な管理者データが規定されている管理者テーブルを保持しており、クライアント装置300から送信された管理者データが、該管理者テーブルに規定されているか否かを判断することにより実行される。管理者データが管理者テーブルに規定されている場合には、管理者認証は成功であり、管理者データが管理者テーブルに規定されていない場合には、管理者認証は失敗である。
ステップ(23)において、第1サーバ100および第2サーバ200は認証結果を送信する。第1サーバ100による管理者認証および第2サーバ200による管理者認証の双方が成功した場合に、クライアント装置300の作成部302は共通鍵150を作成する。作成部302は、たとえば、乱数により共通鍵150を作成する。また、第1サーバ100による管理者認証および第2サーバ200による管理者認証の少なくとも一方が失敗した場合には、作成部302による共通鍵150の作成は禁止される。
作成部302が、共通鍵150を作成すると、該共通鍵150を第1サーバ100および第2サーバ200に送信する。第1サーバ100は、共通鍵150をROM182に格納(登録)するとともに、第2サーバ200は、共通鍵150をROM282に格納(登録)する。
たとえば、第1サーバ100が共通鍵150を作成し、該共通鍵150を第2サーバ200に送信する構成が考えられる。しかしながら、このような構成においては、第1サーバ100と第2サーバ200との通信機能が必要となる。
これに対し、図7の構成であれば、第1装置および第2装置とは異なる作成装置(クライアント装置300)が共通鍵150を作成し、第1サーバ100および第2サーバ200に送信する。したがって、図7の通信システム500によれば、第1サーバ100と第2サーバ200との通信機能を必要とすることなく、共通鍵150を適切に作成できる。
また、図7の通信システム500によれば、クライアント装置300は、第1サーバ100による管理者認証および第2サーバ200による管理者認証の双方が成功した場合に共通鍵150を作成する。したがって、第1サーバ100による管理者認証および第2サーバ200による管理者認証のいずれか一方が成功した場合に共通鍵150を作成する構成と比較して、共通鍵150の安全性を高めることができる。
なお、共通鍵150の作成については、クライアント装置300が、たとえば、システムコントローラのような据付リモートコントローラの場合は、該据付の際に事前に行われる。
実施の形態2.
実施の形態2においては、実施の形態1で説明した通信システム500が空調機の管理に適用される通信システムが説明される。図8は、実施の形態2の通信システム700の構成例を説明するための図である。
実施の形態2においては、実施の形態1で説明した通信システム500が空調機の管理に適用される通信システムが説明される。図8は、実施の形態2の通信システム700の構成例を説明するための図である。
図8の例では、第1サーバ100と、少なくとも1つの第1空調機401とが対応付けられている。典型的には、第1サーバ100は、少なくとも1つの第1空調機401の各々と接続されている。そして、第1サーバ100は、少なくとも1つの第1空調機401を管理(制御)する。
また、第2サーバ200と、少なくとも1つの第2空調機402とが対応付けられている。典型的には、第2サーバ200は、少なくとも1つの第2空調機402の各々と接続されている。そして、第2サーバ200は、少なくとも1つの第2空調機402を管理(制御)する。たとえば、第1空調機401は、第1施設(第1建物)に設置され、第2空調機402は、第1施設とは異なる第2施設(第2建物)に設置される。
図8の例では、少なくとも1つの第1空調機401は第1空調機群401Aを構成する。また、少なくとも1つの第2空調機402は第2空調機群402Aを構成する。
第1サーバ100へのログインが成功した場合には、第1空調機群401Aのサービスをクライアント装置300に送信する。「第1空調機群401Aのサービス」とは、第1空調機群401Aの管理画面の表示である。また、第2サーバ200へのログインが成功した場合には、第2空調機群402Aのサービスをクライアント装置300に送信する。「第2空調機群402A」とは、第2空調機群402Aの管理画面の表示である。ここで、管理画面とは、空調機を制御するための画面であり、空調機の設定値などを表示する画面である。また、管理画面は、該設定値のユーザによる変更を受付ける画面であってもよい。
図9は、本実施の形態の表示装置385が表示する画面の遷移の一例を示す図である。図9(A)は、第1サーバ100へのログイン画面の一例を示す図である。このログイン画面においては、入力領域392が表示される。ユーザは、該入力領域392にユーザデータを入力する。図9(A)の例では、入力領域392は、ユーザ名の入力領域と、パスワードの入力領域とを含む。
そして、該入力領域392に入力されたユーザデータによる、第1サーバ100のユーザ認証が成功した場合には(図6のステップS6でYES)、第1サーバ100は、第1空調機群401A(図8参照)の管理画面を表示装置385に表示させる。また、第1空調機群401Aの管理画面は、「第1管理画面」とも称される。
図9(B)は、第1管理画面の一例である。図9(B)の第1管理画面では、第1空調機群401Aを構成する少なくとも1つの第1空調機(第1空調機A~第1空調機N)の設定値画像393が表示されている。設定値画像393は、第1空調機群401Aを構成する第1空調機のそれぞれの設定値を示す画像である。図9(B)の例では、設定値画像393として、第1空調機A~第1空調機Nの設定温度が表示されている。また、設定値画像393として、たとえば、他の設定値(たとえば、風量など)が表示されてもよい。
また、図9(B)の第1管理画面においては、ログインボタン394が表示される。ログインボタン394は、第2サーバ200へのログイン操作(図6のステップS12参照)を行うためのボタンである。ログインボタン394が操作された場合には、クライアント装置300は、トークンを送信する(図1のステップ(4)、および図6のステップS14参照)。そして、トークンの検証により、トークンが正当である場合には、第2サーバ200は、第2空調機群402A(図8参照)の管理画面を表示装置385に表示させる。また、第2空調機群402Aの管理画面は、「第2管理画面」とも称される。
図9(C)は、第2管理画面の一例である。図9(C)の第2管理画面では、第2空調機群402Aを構成する少なくとも1つの第2空調機(第2空調機A~第2空調機M)の設定値画像395が表示されている。設定値画像395は、第2空調機群402Aを構成する第2空調機のそれぞれの設定値を示す画像である。図9(C)の例では、設定値画像395として、第2空調機A~第2空調機Mの設定温度が表示されている。
また、図9(C)の第2管理画面においては、切換ボタン396が表示される。切換ボタン396は、第1管理画面に切換えるためのボタンである。ユーザにより切換ボタン396が操作された場合には、クライアント装置300は、第2管理画面から、第1管理画面に表示を切換える。なお、第2サーバ200のログインが成功した場合には、第2管理画面に切換えるための切換ボタンが、第1管理画面にされてもよい。
以上のような構成によれば、第1サーバ100と第2サーバ200との通信機能を必要とすることなく、第1管理画面および第2管理画面をクライアント装置300の表示装置385に表示できる。したがって、通信システム700の構成を簡素化しつつ、ユーザに第1空調機401および第2空調機402を管理させることができる。
また、図9の最下部に記載されているように、通信システム700は、第2サーバ200のログイン画面を表示せずに、つまり、第2サーバ200へのログインのためのユーザデータを入力させることなく、第2管理画面を表示する。したがって、適切にシングルサインオンを実現できることから、ユーザの負担を軽減できる。
また、図6において、ステップS12の処理は省略される構成が採用されてもよい。このような構成が採用された場合には、クライアント装置300は、ステップS6で送信されたトークンをステップS14で第2サーバ200に送信する。つまり、第1サーバ100へのログイン操作が実行されたときには、自動的に、第1サーバ100へのログインの成否および第2サーバ200へのログインの成否が判断される。また、通信システム700において、ステップS12の処理が省略された構成が採用された場合には、ログインボタン394は表示されない。
なお、実施の形態1および実施の形態2の通信システムは、2つのサーバ(第1サーバ100および第2サーバ200)を備える構成が説明された。しかしながら、通信システムは、3以上のサーバを備える構成であってもよい。
実施の形態3.
上述の実施の形態においては、クライアント装置300と、第1サーバ100と、第2サーバ200とを備える通信システムが説明された。実施の形態3の通信システム500Aは、1つのサーバ(第1サーバ100)と、クライアント装置300とを備える。
上述の実施の形態においては、クライアント装置300と、第1サーバ100と、第2サーバ200とを備える通信システムが説明された。実施の形態3の通信システム500Aは、1つのサーバ(第1サーバ100)と、クライアント装置300とを備える。
図10は、実施の形態3の通信システム500Aの構成例を示す図である。図10の例では、ステップ(1)~(3)の処理が終了した後において、再び、クライアント装置300から第1サーバ100へのログイン操作が実行されると、ステップ(3)で送信されたトークンを、第1サーバ100に送信する(ステップ(4A))。また、このログイン操作においては、ユーザデータを入力する操作を含まない。
次に、ステップ(4A)で送信されたトークンを、第1サーバ100は、検証する(ステップ(5A))。トークンの検証により該トークンが正当であれば、クライアント装置300による第1サーバ100へのログインを継続する。一方、第2サーバ200は、トークンの検証により該トークンが不当であれば、クライアント装置300による第1サーバ100へのログインを終了させる。第1サーバ100は、検証結果をクライアント装置300に送信する(ステップ(6A))。
図11は、実施の形態3のクライアント装置300、および第1サーバ100により実行される処理の流れを示すフローチャートである。ステップS14Aにおいて、クライアント装置300は、トークンを第1サーバ100に送信する。また、図11のステップS6において、ユーザ認証が成功していることから、本実施の形態においては、ステップS14Aにおいて、データ要求信号を第1サーバ100に送信する。データ要求信号とは、第1サーバ100にデータを要求するための信号である。データは、たとえば、空調機の管理画面(図9参照)のデータである。
ステップS16Aにおいて、第1サーバ100は、該トークンを検証する。そして、ステップS18Aにおいて、第1サーバ100は、検証結果を送信する。なお、ステップS16Aにおいてトークンの検証により該トークンが不当であれば、ステップS14Aで送信されたデータ要求信号で要求されているデータは、クライアント装置300に送信されない。
このような構成によれば、第1サーバ100へのログインが成功した場合において、トークンの有効期限内においては、ユーザは、ユーザデータを入力しなくても、第1サーバ100にログインできる。したがって、ユーザの利便性を向上させる点で、好適にサーバへ(第1サーバ100)のログインを実現させることができる。なお、実施の形態3の思想は、実施の形態1および実施の形態2に適用されてもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
100 第1サーバ、102,202 通信部、104 認証部、106 生成部、108,208 記憶部、150 共通鍵、200 第2サーバ、204 検証部、300 クライアント装置、302 作成部、385 表示装置、386 入力装置、392 入力領域、393,395 設定値画像、394 ログインボタン、396 切換ボタン、401 第1空調機、401A 第1空調機群、402 第2空調機、402A 第2空調機群、500,700 通信システム、650 ユーザテーブル、670 ネットワーク。
Claims (9)
- 第1装置と、第2装置と、第3装置とを備える通信システムであって、
前記第1装置は、第1秘密鍵を記憶する第1メモリを有し、
前記第2装置は、前記第1秘密鍵と同一の第2秘密鍵を記憶する第2メモリを有し、
前記第3装置は、前記第1装置にログインするためでありかつ第1データの入力を含む操作がユーザにより実行されたときに該第1データを前記第1装置に送信し、
前記第1装置は、
前記第1データに基づいて前記第1装置へのログインの成否を判断し、
前記第1装置へのログインが成功した場合に前記第1秘密鍵および前記第1データに基づいて第2データを生成し、
前記第2データを前記第3装置に送信し、
前記第3装置は、前記第1データが入力されることなく前記第2データを前記第2装置に送信し、
前記第2装置は、前記第2秘密鍵を用いて前記第2データを検証し該第2データが正当であれば前記第2装置へのログインを承認する、通信システム。 - 前記第1秘密鍵および前記第2秘密鍵は、前記第1装置および前記第2装置とは異なる作成装置により作成され、
前記作成装置は、前記第1秘密鍵を前記第1装置に送信し、前記第2秘密鍵を前記第2装置に送信する、請求項1に記載の通信システム。 - 前記作成装置は、前記第3装置であり、
前記第1秘密鍵および前記第2秘密鍵を作成するためでありかつ第3データの入力を含む操作が管理者により実行されたときに該第3データを前記第1装置および前記第2装置に送信し、
前記第1装置および前記第2装置は、前記第3データに基づいて管理者認証を実行し、
前記第3装置は、前記第1装置および前記第2装置による管理者認証が成功した場合に前記第1秘密鍵および前記第2秘密鍵を作成する、請求項2に記載の通信システム。 - 前記通信システムは、さらに、
前記第1装置により管理される第1空調機と、
前記第2装置により管理される第2空調機とを備え、
前記第3装置は、
前記第1装置へのログインが承認された場合に前記第1空調機の管理画面をディスプレイに表示し、
前記第2装置へのログインが承認された場合に前記第2空調機の管理画面を前記ディスプレイに表示する、請求項1~請求項3のいずれか1項に記載の通信システム。 - 前記第3装置は、
前記第1装置にログインするための画面でありかつ前記第1データの入力を受付けるログイン画面を前記ディスプレイに表示し、
前記ログイン画面により受付けた前記第1データを前記第1装置に送信し、
前記第2装置にログインするための画面でありかつ前記第1データの入力を受付けるログイン画面を表示せずに前記第2データを前記第2装置に送信する、請求項4に記載の通信システム。 - 第1装置と、第2装置とを備える通信システムであって、
前記第1装置は、秘密鍵を記憶するメモリを有し、
前記第2装置は、第1データの入力を含みかつ前記第1装置へのログイン操作がユーザにより実行されたときに該第1データを前記第1装置に送信し、
前記第1装置は、
前記第1データに基づいてユーザ認証を実行し、
前記ユーザ認証が成功した場合に前記秘密鍵を用いて前記第1データから第2データを生成し、
前記第2データを前記第2装置に送信し、
前記第2装置は、前記第1データが入力されることなく前記第2データを前記第1装置に送信し、
前記第1装置は、前記秘密鍵を用いて前記第2データを検証し該第2データが正当であれば前記第1装置へのログインを承認する、通信システム。 - サーバであって、
クライアント装置と通信するインタフェースと、
秘密鍵を記憶するメモリと、
プロセッサとを備え、
前記プロセッサは、
第1データの入力を含みかつ前記サーバへのログイン操作がユーザにより前記クライアント装置に対して実行されたときに該クライアント装置から送信された前記第1データに基づいてユーザ認証を実行し、
前記ユーザ認証が成功した場合に前記秘密鍵を用いて前記第1データから第2データを生成し、
前記第2データを前記クライアント装置に送信し、
前記第1データが入力されることなく前記クライアント装置から送信された前記第2データを、前記秘密鍵を用いて検証し該第2データが正当であれば前記サーバへのログインを承認する、サーバ。 - 第1装置と、第2装置と、第3装置とにより実行される通信方法であって、
前記第3装置が、前記第1装置にログインするためでありかつ第1データの入力を含む操作がユーザにより実行されたときに該第1データを前記第1装置に送信することと、
前記第1装置が、前記第1データに基づいて前記第1装置へのログインの成否を判断することと、
前記第1装置が、前記第1装置へのログインが成功した場合に第1秘密鍵および前記第1データに基づいて第2データを生成することと、
前記第1装置が、前記第2データを前記第3装置に送信することと、
前記第3装置が、前記第1データが入力されることなく前記第2データを前記第2装置に送信することと、
前記第2装置が、前記第1秘密鍵と同一の第2秘密鍵を用いて前記第2データを検証し該第2データが正当であれば前記第2装置へのログインを承認することとを備える、通信方法。 - クライアント装置と通信するサーバにより実行される通信方法であって、
第1データの入力を含みかつ前記サーバへのログイン操作がユーザによりクライアント装置に対して実行されたときに該クライアント装置から送信された前記第1データに基づいてユーザ認証を実行することと、
前記ユーザ認証が成功した場合に秘密鍵を用いて前記第1データから第2データを生成することと、
前記第2データを前記クライアント装置に送信することと、
前記第1データが入力されることなく前記クライアント装置から送信された前記第2データを、前記秘密鍵を用いて検証し該第2データが正当であれば前記サーバへのログインを承認することとを備える、通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/041931 WO2024100843A1 (ja) | 2022-11-10 | 2022-11-10 | 通信システム、サーバ、および通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/041931 WO2024100843A1 (ja) | 2022-11-10 | 2022-11-10 | 通信システム、サーバ、および通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024100843A1 true WO2024100843A1 (ja) | 2024-05-16 |
Family
ID=91032088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/041931 WO2024100843A1 (ja) | 2022-11-10 | 2022-11-10 | 通信システム、サーバ、および通信方法 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024100843A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014068632A1 (ja) * | 2012-10-29 | 2014-05-08 | 三菱電機株式会社 | 設備管理装置、設備管理システム及びプログラム |
JP2015226072A (ja) * | 2014-05-26 | 2015-12-14 | 株式会社リコー | 情報処理システム、情報処理方法、及びプログラム |
-
2022
- 2022-11-10 WO PCT/JP2022/041931 patent/WO2024100843A1/ja unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014068632A1 (ja) * | 2012-10-29 | 2014-05-08 | 三菱電機株式会社 | 設備管理装置、設備管理システム及びプログラム |
JP2015226072A (ja) * | 2014-05-26 | 2015-12-14 | 株式会社リコー | 情報処理システム、情報処理方法、及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11431501B2 (en) | Coordinating access authorization across multiple systems at different mutual trust levels | |
CN109428947B (zh) | 权限转移系统及其控制方法和存储介质 | |
KR102313859B1 (ko) | 권한 위양 시스템, 그 제어 방법 및 클라이언트 | |
EP3525415B1 (en) | Information processing system and control method therefor | |
JP6061633B2 (ja) | デバイス装置、制御方法、およびそのプログラム。 | |
JP6141041B2 (ja) | 情報処理装置及びプログラム、制御方法 | |
US7366904B2 (en) | Method for modifying validity of a certificate using biometric information in public key infrastructure-based authentication system | |
KR20180017734A (ko) | 인증 시스템 및 방법과 이를 수행하기 위한 사용자 단말, 인증 서버 및 서비스 서버 | |
US7581111B2 (en) | System, method and apparatus for transparently granting access to a selected device using an automatically generated credential | |
JP2017027459A (ja) | 権限委譲システム、その制御方法、認可サーバおよびプログラム | |
US20180205716A1 (en) | Authentication systems and methods for online services | |
WO2017208305A1 (ja) | サーバ装置、サービス方法、プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体 | |
US20200403812A1 (en) | Certificate issuing apparatus, verification apparatus, communication device, certificate issuing system, certificate issuing method, and non-transitory computer readable medium | |
EP3994593B1 (en) | System, method, and computer program product for third-party authorization | |
JP2017220113A (ja) | 認可サーバー、制御方法、およびプログラム。 | |
JP6378424B1 (ja) | 無欠性及び保安性が強化された使用者認証方法 | |
WO2022103823A1 (en) | Efficient transfer of authentication credentials between client devices | |
JP5036500B2 (ja) | 属性証明書管理方法及び装置 | |
WO2024100843A1 (ja) | 通信システム、サーバ、および通信方法 | |
US10873469B2 (en) | Information processing apparatus and method for controlling information processing apparatus | |
JP2018022501A (ja) | 複数のサービスシステムを制御するサーバシステム及び方法 | |
KR101627896B1 (ko) | 인증 어플리케이션을 이용한 인증 방법 및 장치 | |
CN115208559A (zh) | 用来对未连接设备中的用户进行认证的双因素认证 | |
JP2019134333A (ja) | 情報処理システム、クライアント装置、認証認可サーバー、制御方法とそのプログラム | |
JP7543154B2 (ja) | 認証連携サーバ、認証連携方法、認証連携システムおよびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22965168 Country of ref document: EP Kind code of ref document: A1 |