Communication channel establishment system, method, and program
By employing a handshake server to manage the handshake process for power-saving devices, the system establishes efficient and secure communication channels, reducing device load and security risks while minimizing traffic.
Patent Information
- Application Number
- JP2023151100
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-19
- Publication Date
- 2025-04-01
AI Technical Summary
Existing communication systems for power-saving devices require constant standby for P2P connections, leading to increased computing resources, traffic, and security risks due to unauthorized connections.
A system where a handshake server acts on behalf of the device in the handshake process, establishing a communication channel with the terminal and transferring connection information to the device, allowing direct communication without constant standby or re-handshake processes.
This solution reduces the processing load on power-saving devices, minimizes traffic and security risks, and eliminates the need for device authentication, thereby enhancing communication efficiency and security.
Smart Images

Figure 2025043670000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a system, method, and program for establishing a bidirectional communication channel between a terminal and a device, and more particularly to a system, method, and program for establishing a communication channel by having a handshake server perform handshake processing on behalf of the device. [Background technology]
[0002] In recent years, network-connectable IoT sensors and energy-saving drive units (hereinafter referred to as energy-saving devices or devices) have become widespread. It is common to use smartphones, tablet terminals, etc. (hereinafter referred to as user terminals or terminals) to remotely control energy-saving devices via a network or to receive sensor information, thereby presenting information to users and automatically controlling devices.
[0003] Known methods for securing a communication channel between a user terminal and a power-saving device in order to control the power-saving device include a method in which the user terminal 10 establishes a communication channel with the power-saving device 20 and connects directly, as shown in Figure 9, and a method in which the user terminal 10 and the power-saving device 20 connect to a server 50 on the Internet, such as a cloud, and establish a communication channel via the server, as shown in Figure 10.
[0004] However, considering the possibility that a terminal other than a legitimate user terminal may illegally connect to the power-saving device 20, the former method poses the problem of increased setup costs due to constraints on the security functions in terms of performance of the power-saving device 20 and the need to set functions individually in each power-saving device 20.
[0005] The latter method can solve the above problem by going through a cloud server, but because all control information and sensor information is sent to the cloud via the Internet, there is a risk of an increase in Internet traffic and of the content of communications being illegally intercepted on the cloud server or on the communication path to the cloud server.
[0006] In order to solve the above technical problems, Patent Document 1 discloses a technology in which a message bus management server and a signaling server are provided on a cloud, an edge computing device is provided within a local network, user terminals and IoT devices request a connection to the signaling server from within the local network, a P2P communication channel is established between the user terminals and IoT devices and the edge computing device based on the signaling messages, and control of the IoT devices and reception of sensor information are realized. [Prior art documents] [Patent documents]
[0007] [Patent Document 1] Patent No. 06749281 Summary of the Invention [Problem to be solved by the invention]
[0008] The technology of Patent Document 1 requires the installation of an edge computing device within a local network, and after the power-saving device is installed, a P2P connection must be established between the edge computing device and the power-saving device.
[0009] For this reason, the power-saving device must always transmit sensor information to the edge computing device regardless of whether a user terminal is connected, and when a user terminal is connected, the edge computing device retransmits the information to the user terminal, which increases the computing resources required and the amount of traffic transferred within the local network.
[0010] In addition, before establishing a P2P connection between devices, the virtual message bus agent of each device had to establish a communication connection with the signaling server on the cloud separately and receive the connection information required to establish the P2P connection. This requires multiple communications with the signaling server before the P2P connection is established, resulting in delays in the delivery of sensor information and an increase in traffic.
[0011] Furthermore, because signaling communication and P2P connection are independent, the edge computing device must always be on standby for P2P connection regardless of the presence or absence of signaling. This poses a problem that unauthorized devices may be able to connect to the edge computing device if connection information is leaked.
[0012] The object of the present invention is to solve the above-mentioned technical problems and to provide a communication channel establishment system, method, and program that can establish a communication connection with low load and high security for a device by having a handshake server perform the handshake processing that should be performed by the device in the process of establishing a communication connection from a terminal to a device and having the device take over communication after the handshake. [Means for solving the problem]
[0013] In order to achieve the above object, the present invention is characterized in that a system in which a terminal establishes a communication channel with a device comprises the following configuration.
[0014] (1) A handshake server is connected to terminals and devices via a network, The handshake server executes handshake processing in response to a handshake request from the terminal, transmits connection information required for communication after the handshake to the device, and transmits a destination switching notification to the terminal to switch the destination of the communication after the handshake to the device, the terminal switches the destination of the communication to the device based on the destination switching notification, and the device takes over the communication after the handshake processing from the handshake server based on the connection information.
[0015] (2) The device receives the connection information to establish a communication interface, and transmits standby information of the communication interface to a handshake server, and the handshake server transmits the destination switching notification based on the standby information.
[0016] (3) The terminal switches the destination of communication to the communication interface based on the destination switch notification.
[0017] (4) The handshake server obtains a certificate to be used on the communication channel from a certificate authority and transmits the public key and private key of the certificate to the terminal and device, respectively, and the device obtains a message encryption key and decryption key from the private key. Effect of the Invention
[0018] According to the present invention, the following effects can be achieved.
[0019] (1) A power-saving device can establish a communication channel that enables direct communication with a user terminal without constantly being in standby mode.
[0020] (2) Since a communication channel can be established between the device and the terminal without performing a handshake process in the device, the processing load on the device can be reduced.
[0021] (3) The handshake information exchanged between the handshake server and the terminal can be handed over to the device, so that the device can continue communication with the terminal without performing the handshake process again.
[0022] (4) Since authentication of a terminal connecting in a handshake process can be performed by the handshake server, an authentication function is not required in the device, and the processing load in the device and the cost of individually setting authentication information can be reduced.
[0023] (5) Since communications after the handshake do not go through the handshake server, the processing load on the handshake server and the network load can be reduced and leakage of communication messages can be prevented.
[0024] (6) If the certificate used to encrypt the communication channel is signed by a certificate authority with a root certificate, the terminal and the power-saving device can mutually verify that the communication destination is a terminal or device that is properly registered in this system.
[0025] (7) Since the device creates a communication interface after terminal authentication by the handshake server, the risk of connection from an unauthorized terminal can be reduced.
[0026] (8) Since the device does not need to have a handshake function in the communication interface, it is possible to prevent a communication channel from being inadvertently established when a handshake request communication is received from an unauthorized terminal.
[0027] (9) Since the certificate used to encrypt the communication channel is automatically generated during the handshake, even if a private key or other key is leaked, it is possible to prevent eavesdropping on communications between other terminals and power-saving devices, or between a terminal and other devices under the control of the handshake server.
[0028] (10) By notifying a terminal of address information of multiple devices as communication destinations, the terminal can change the communication channel to the optimal address, taking into account communication delay time, bandwidth, etc. [Brief description of the drawings]
[0029] [Figure 1] FIG. 4 is a diagram illustrating the operation of the present embodiment. [Diagram 2] 1 is a functional block diagram showing a configuration of a bidirectional communication channel establishment system according to an embodiment of the present invention; [Diagram 3] 1 is a sequence flow (part 1) illustrating a communication procedure between components arranged on a local network and in a cloud according to the first embodiment of the present invention. [Figure 4] 13 is a sequence flow (part 2) illustrating a communication procedure between components arranged on a local network and in a cloud according to the first embodiment of the present invention. [Diagram 5] 13 is a sequence flow (part 3) illustrating a communication procedure between components arranged on a local network and in a cloud according to the first embodiment of the present invention. [Figure 6] 13 is a sequence flow (part 1) illustrating a communication procedure between components arranged on a local network and in a cloud according to the second embodiment of the present invention. [Figure 7] 13 is a sequence flow (part 2) illustrating a communication procedure between components arranged on a local network and in a cloud according to the second embodiment of the present invention. [Figure 8] 13 is a sequence flow (part 3) illustrating a communication procedure between components arranged on a local network and in a cloud according to the second embodiment of the present invention. [Figure 9] FIG. 1 is a diagram illustrating an example of a first existing method for securing a communication channel between a user terminal and a power-saving device in order to control the power-saving device. [Figure 10]FIG. 11 is a diagram illustrating an example of a second existing method for securing a communication channel between a user terminal and a power-saving device in order to control the power-saving device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0030] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. Fig. 1 is a diagram showing a schematic diagram of the operation of the present invention, and the main components of the present invention are a user terminal 10 that requests a connection by handshake, a power-saving device 20 to which the connection is requested, and a handshake server 30 that performs the handshake process.
[0031] In this embodiment, an example is described in which the terminal 10 and the device 20 are installed in the same local network, and the handshake server 30 is installed on a cloud service that can communicate via a public network such as the Internet. However, the present invention is not limited to this, and as long as the nodes 10, 20, and 30 can be connected to each other via a network, their arrangement does not have to be in the form of this embodiment.
[0032] When the terminal 10 starts communication with the device 20, the handshake server 30 performs the handshake processing on behalf of the device 20 (responding and executing on its behalf), thereby establishing a communication channel between the terminal 10 and the device 20, which does not have a handshake processing function.
[0033] In this embodiment, the terminal 10 first requests a connection (handshake request) to a handshake server 30 present on a local network or the Internet, and then performs the handshake process to exchange connection information, encryption information, etc., after which the handshake server 30 transfers the connection information, encryption information, etc. to the device 20, while obtaining standby information from the device 20.
[0034] During or after the handshake process is completed, the handshake server 30 notifies the terminal 10 that the destination of the communication will be switched to the device 20 based on the acquired standby information. In response to the notification, the terminal 10 changes the destination information of the established communication channel from the handshake server 30 to the device 20, and transmits subsequent communication traffic such as control information to the device 20.
[0035] On the device 20 side, a communication connection to the terminal 10 can be established based on the information received from the handshake server 30, and a two-way communication channel can be secured between the device 20 and the terminal 10 by setting an encryption key and the like.
[0036] By using the above procedure, device 20 no longer needs to perform signaling processing and channel establishment processing as separate communication flows, which reduces communication traffic and processing. In addition, by having a higher performance server or the like process handshake processing, which generates encryption keys, etc., the load on power-saving device 20 can be reduced.
[0037] In addition, in this embodiment, communication after the connection is established is performed directly between the terminal 10 and the device 20, and does not go through a cloud server or an edge computing device, so the amount of transfer traffic on the network is also reduced.
[0038] Furthermore, from a security standpoint, by not equipping device 20 with the function for performing handshake processing, it is possible to prevent connections from unauthorized terminals that attempt to establish unauthorized communication connections with device 20 without going through handshake server 30.
[0039] FIG. 2 is a functional block diagram showing the configuration of the main parts of a two-way communication channel establishment system according to one embodiment of the present invention, where the same reference numerals as those used above denote the same or equivalent parts.
[0040] The device 20 includes a communication interface 21 and a communication processing unit 22. The communication interface 21 indicates a logical communication end point associated with a specific network interface, protocol, address, and port. The communication processing unit 22 can create the communication interface 21 and control the start and end of communication standby, the sending and receiving of communication traffic, etc.
[0041] The handshake server 30 includes an acceptance interface 31, a handshake processing unit 32, a device information DB 33, and a certificate authentication authority 34. The acceptance interface 31 is also a communication end point similar to the communication interface 21, and the handshake processing unit 32 controls the start and end of communication standby, the transmission and reception of communication traffic, and the like.
[0042] The device information DB 33 and the certificate authentication authority 34 may both be executed on an independent physical server or virtual server different from the handshake processing unit 32, and each component 31, 32, 33, and 34 is provided with a message exchange mechanism using a network or inter-process communication.
[0043] 3 and 4 are sequence flows showing in detail the communication procedures between the components (10, 20, 22, 32, 34, and 33) distributed across a local network and the cloud.
[0044] 3 shows a flow performed prior to communication, and in sequences 1 and 6, the terminal 10 and the device 20 each receive a root certificate distributed by the certificate authority 34 and install it in themselves. Note that the root certificate does not necessarily have to be received from the certificate authority 34 via the network, and may be transferred to the terminal 10 and the device 20 via a different server, an external storage device, or the like.
[0045] In sequence 2, the communication processing unit 22 of the device 20 requests the handshake processing unit 32 to register device information. This device information describes the address and identifier of the device 20, connectable terminals, etc. In sequence 3, the device information is transferred to the device information DB 33 and stored therein.
[0046] In sequence 4, a communication channel for receiving a handshake notification is established between the communication processing unit 22 and the handshake processing unit 32. This communication channel for handshake notification is continuously maintained while the handshake server 30 accepts the handshake processing on behalf of the communication processing unit 22, and is later used to transfer connection information and certificate information from the handshake processing unit 32 to the communication processing unit 22.
[0047] The handshake notification communication channel can use either a polling method in which the communication processing unit 22 periodically checks the handshake processing unit 32 for the presence or absence of information and acquires it, or a push method in which the communication processing unit 22 creates a standby interface and waits for an incoming call from the handshake processing unit 32. However, in the latter method, in order to prevent incoming calls from unauthorized terminals to the standby interface, it is desirable to allow standby only for a certain period of time after the implementation of sequence 2 and to reject incoming calls from other terminals after the communication channel is established.
[0048] After the handshake notification communication channel is established, in sequence 5, the handshake processing unit 32 creates the receiving interface 31 and starts communication standby in the handshake server 30 so that the terminal 10 can start the handshake processing. When the device 20 to which the terminal 10 is connected is recognized by a standby address, port, etc., appropriate parameters may be provided to the receiving interface 31 in this sequence, and the necessary information may be stored in the device information DB 33.
[0049] Next, a procedure for the terminal 10 to establish a communication channel with the device 20 will be described with reference to the sequence flows of FIGS.
[0050] Here, as a method for establishing a communication channel that is simple and enables encryption, a handshake flow is shown that assumes a 1-RTT handshake sequence in the QUIC protocol defined in RFC 9000 by the Internet Engineering Task Force (IETF). However, the present invention is not limited to this, and it is also possible to adopt the commonly used 3-way handshake of TCP (Transmission Control Protocol) or the full handshake flow of TLS (Transport Layer Security).
[0051] In sequences 7 and 8, the terminal 10 transmits a handshake request to the handshake processing unit 32 through the reception interface 31 of the handshake server 30. This handshake request describes identification information such as an address, a port, and a domain name as information for identifying the destination device 20, and the public key of the terminal 10.
[0052] 5, in the following sequences 9 and 10, the handshake processing unit 32 attempts to obtain device information from the device information DB 33 using the identification information of the device 20 described in the handshake request. When the device information is obtained, in sequence 11, the handshake processing unit 32 can perform terminal authentication using the device information, the public key of the connecting user, and the information described in the handshake request.
[0053] If the terminal 10 is recognized as a legitimate terminal in this terminal authentication, the handshake processing unit 32 requests the certificate authority 34 to generate a one-time certificate to be used only for this communication channel in sequence 12. In sequence 13, the certificate authority 34 generates a certificate, signs it with its own root certificate, and returns it to the handshake processing unit 32 in sequence 14.
[0054] In this embodiment, a new certificate is generated each time a communication connection is established from terminal 10 to device 20. However, taking into consideration the server load and security level, the frequency and unit of certificate generation can be changed, for example, for each device or each terminal.
[0055] In sequence 15, the handshake processing unit 32 uses the handshake notification communication channel previously established between the communication processing unit 22 and the handshake processing unit 32 to transmit to the communication processing unit 22 all information contained in the handshake request, the private key of the generated one-time certificate, and other information required for the device 20 to take over communication after the handshake.
[0056] Returning to FIG. 4, in sequence 16, the communication processing unit 22 verifies that the received one-time certificate has been correctly signed by the certificate authority 34 using the root certificate installed in itself, and confirms that the handshake processing unit 32 is performing the correct handshake flow.
[0057] In sequence 17 , the communication processing unit 22 acquires the address of the terminal 10 required for creating a communication interface from the received connection information, etc., establishes the communication interface 21 , and prepares a state in which the terminal 10 can be connected to the device 20 .
[0058] In sequence 18, the communication processing unit 22 returns communication standby information of the communication interface 21 to the handshake processing unit 32. At this time, the communication standby information may be multiple, and for example, it is possible to return an address and port information in the local network used by the device 20 and an address and port information for waiting for a connection from the Internet by performing network address conversion.
[0059] In sequence 19, the handshake processing unit 32 notifies the terminal 10 of the completion of the handshake and at the same time transmits a notification of switching of the communication destination set based on the public key of the one-time certificate and the communication standby information returned from the communication processing unit 22.
[0060] As a method of notifying the switching of the communication destination, for example, a method of setting a Server Preferred Address field that changes the receiving address of the server in the QUIC protocol is assumed. In addition, multiple communication standby information can be set in the communication destination, and in this case, the terminal 10 can determine the destination in consideration of the address, communication, etc.
[0061] In sequence 20, the terminal 10 that has received the notification of the switching of the communication destination switches the destination of its established communication channel to the notified destination. After the destination is switched, when sending a message to the device 20 in sequence 21, the terminal 10 encrypts the message using its own private key that is paired with its own public key sent in sequence 7.
[0062] In sequence 22, the device 20 that has received the encrypted message can decrypt the message by obtaining a decryption key from the certificate private key or the like received from the handshake processing unit 32 in sequence 15.
[0063] In sequence 23, when the device 20 transmits a message to the terminal 10, the device 20 also encrypts the message by obtaining an encryption key from the certificate private key or the like received from the handshake processing unit 32. This allows the terminal 10 to decrypt the received message in sequence 24 by obtaining a decryption key from the certificate public key or the like.
[0064] In addition, by confirming that the message received from device 20 can be decrypted using key information generated from the one-time certificate, terminal 10 can confirm that the communication destination device 20 has performed encryption using a certificate signed by the root certificate, thereby confirming the authenticity of the communication destination.
[0065] In the above embodiment, the communication channels established between the user terminal 10 and the handshake server 30 and between the user terminal 10 and the power saving device 20 and the handshake server 30 all have a message encryption function, but the communication channels may not implement encryption. In that case, as shown in Fig. 6, 7 and 8, the certificate authority 34 is not required, and the certificate key exchange in the handshake sequence and the authenticity of the communication partner are not confirmed.
[0066] According to the above embodiments, when a user terminal controls a power-saving device or obtains data from the power-saving device, a communication channel that allows direct communication between the power-saving device and the user terminal can be established without the power-saving device being in constant standby or performing a handshake process, thereby reducing the processing load of the power-saving device. This makes it possible to contribute to Goal 9 "Build resilient infrastructure and promote inclusive and sustainable industrialization" and Goal 11 "Make cities inclusive, safe, resilient and sustainable" of the Sustainable Development Goals (SDGs) led by the United Nations. [Explanation of symbols]
[0067] 10... terminal (user terminal), 20... device (power-saving device), 30... handshake server, 21... communication interface, 22... communication processing unit, 31... reception interface, 32... handshake processing unit, 33... device information DB, 34... certificate authentication authority
Claims
1. In a system in which a terminal establishes a communication channel with a device, A handshake server is connected to the terminal and the device via a network, The handshake server, means for executing a handshake process in response to a handshake request from a terminal; A means for transmitting connection information required for communication after the handshake to the device; a means for transmitting to the terminal a destination switch notification for switching the destination of communication after the handshake to the device; The terminal switches the communication destination to the device based on the destination switch notification, A communication channel establishment system, characterized in that the device takes over communication after the handshake process from the handshake server based on the connection information.
2. The device comprises: receiving the connection information and establishing a communication interface; Sending standby information of the communication interface to a handshake server; 2. The communication channel establishment system according to claim 1, wherein the handshake server transmits the destination switch notification based on the standby information.
3. 3. The communication channel establishment system according to claim 2, wherein said terminal switches a communication destination to said communication interface based on said destination switch notification.
4. the handshake server obtains a certificate to be used on the communication channel from a certificate authority and transmits a public key and a private key of the certificate to the terminal and the device, respectively; 4. The communication channel establishment system according to claim 1, wherein the device obtains an encryption key and a decryption key for a message from the private key.
5. 5. The communication channel establishment system according to claim 4, wherein the handshake server obtains the certificate from a certificate authority for each terminal, and uses the same certificate for handshake requests from the same terminal.
6. 5. The communication channel establishment system according to claim 4, wherein the handshake server obtains the certificate from a certificate authority for each device, and uses the same certificate for handshake requests related to the same device.
7. A method for establishing a communication channel between a terminal and a device, comprising: A handshake server is connected to the terminal and the device via a network, The handshake server, Execute a handshake process in response to a handshake request from the terminal; Sends the connection information required for post-handshake communication to the device, A destination switch notification is sent to the terminal to switch the destination of communication after the handshake to the device, The terminal switches the communication destination to the device based on the destination switch notification, A communication channel establishment method, characterized in that the device takes over communication after the handshake process from the handshake server based on the connection information.
8. The device comprises: receiving the connection information and establishing a communication interface; Sending standby information of the communication interface to a handshake server; 8. The method according to claim 7, wherein a handshake server transmits the destination switching notification based on the standby information.
9. 9. The method according to claim 8, wherein the terminal switches the communication destination to the communication interface based on the destination switch notification.
10. the handshake server obtains a certificate to be used on the communication channel from a certificate authority and transmits a public key and a private key of the certificate to the terminal and the device, respectively; 10. The method according to claim 7, wherein the device obtains an encryption key and a decryption key for a message from the private key.
11. 11. The method according to claim 10, wherein the handshake server obtains the certificate from a certificate authority for each terminal, and uses the same certificate for handshake requests from the same terminal.
12. The method for establishing a communication channel according to claim 10, wherein the handshake server obtains the certificate from a certificate authority for each device, and uses the same certificate for handshake requests related to the same device.
13. In a communication channel establishment program in which a handshake server performs a handshake process for a terminal to establish a communication channel to a device, The handshake server, a step of executing a handshake process in response to a handshake request from a terminal; A procedure for transmitting connection information required for communication after the handshake to the device; and transmitting to the terminal a destination switch notification for switching the destination of communication after the handshake to the device.
14. The communication channel establishment program according to claim 13, characterized in that the handshake server includes a procedure for obtaining a certificate to be used on the communication channel from a certificate authority and transmitting one and the other of the public key and private key of the certificate to the terminal and device, respectively.
Citation Information
Patent Citations
Security processing proxy system, communication device, proxy device, communication program and security processing proxy program
JP2013077900A
Cryptocommunication device, proxy server, cryptocommunication system, cryptocommunication program and proxy server program
JP2014147039A
Secure Communication System and Method for Building a Secure Communication Session between Lightweight Things
KR101594897B1
JP06749281B