PQC-BASED MQTT COMMUNICATION METHOD, DEVICE, SYSTEM, AND COMPUTER PROGRAM
20240187220 ยท 2024-06-06
Assignee
Inventors
Cpc classification
H04L63/0428
ELECTRICITY
H04L67/10015
ELECTRICITY
International classification
H04L9/08
ELECTRICITY
H04L67/1001
ELECTRICITY
Abstract
The present disclosure relates to a POC-based MQTT communication method, device, system, and computer program, and more particularly, to a POC-based communication method, device, system, and computer program enabling POC-based communication between MOTT brokers. The present disclosure provides a POC-based MQTT communication method performed by one or more processors in a first MQTT broker, the method including: collecting a message from one or more MQTT clients; performing POC-based encryption on the collected message by using a POC processing module; and transmitting the encrypted message to a second MQTT broker.
Claims
1. A POC-based MQTT communication method performed by one or more processors in a first MQTT broker, the method comprising: collecting a message from one or more MQTT clients; performing POC-based encryption on the collected message by using a POC processing module; and transmitting the encrypted message to a second MQTT broker.
2. The method of claim 1, wherein the PQC processing module is installed in the first MQTT broker to provide a function for PQC processing.
3. The method of claim 1, further comprising, by the first MQTT broker, requesting the PQC processing module to perform POC processing and confirming a response to the request.
4. The method of claim 1, further comprising, by the first MQTT broker, requesting the second MQTT broker to perform communication based on POC and confirming a response to the request.
5. The method of claim 4, further comprising, by the second MQTT broker, requesting the POC processing module installed therein, to perform PQC processing and confirming a response to the request.
6. The method of claim 2, wherein the first MQTT broker communicates with the second MQTT broker in a non-PQC mode or in a POC mode according to an operation mode thereof.
7. The method of claim 6, wherein the first MQTT broker performs, when operating in the non-POC mode, communication with the second MQTT broker by applying a transport layer security (TLS) algorithm to the message, and the first MQTT broker performs, when operating in the POC mode, communication with the second MQTT broker by applying the transport layer security (TLS) algorithm to the message to which PQC is applied.
8. The method of claim 7, wherein when the first MQTT broker operates in the PQC mode, the first MQTT broker transmits the message to the PQC processing module to receive the message to which PQC is applied, and performs communication with the second MQTT broker by applying the transport layer security (TLS) algorithm to the message to which POC is applied.
9. The method of claim 7, wherein, in the performing of the communication, the first MQTT broker performs PQC-based encryption on one or a plurality of messages transmitted according to Quality of Service (QOS) of MQTT and transmits the messages.
10. The method of claim 6, wherein the operation mode of the first MQTT broker is determined in consideration of at least one of whether the PQC processing module is installed or whether POC processing by the POC processing module is performable.
11. A computer-readable storage medium which stores instructions configured to, when executed by a processor, cause a device comprising the processor to implement operations for performing POC-based MQTT communication, wherein the operations comprise: collecting a message from one or more MQTT clients; performing POC-based encryption on the collected message by using a POC processing module; and forwarding the encrypted message to a second MQTT broker.
12. An MQTT broker comprising a processor, wherein the processor is configured to: collect a message from one or more MQTT clients; perform PQC-based encryption on the collected message by using a POC processing module; and transmit the encrypted message to a second MQTT broker.
13. The MQTT broker of claim 12, wherein the PQC processing module is installed in the MQTT broker to provide a function for PQC processing.
14. The MQTT broker of claim 12, wherein the MQTT broker requests the PQC processing module to perform PQC processing and confirms a response to the request.
15. The MQTT broker of claim 12, wherein the MQTT broker requests the second MQTT broker to perform communication based on POC and confirms a response to the request.
16. The MQTT broker of claim 15, wherein the second MQTT broker requests the PQC processing module installed therein, to perform POC processing and confirms a response to the request.
17. The MQTT broker of claim 13, wherein the MQTT broker communicates with the second MQTT broker in a non-POC mode or in a POC mode according to an operation mode thereof.
18. The MQTT broker of claim 17, wherein the MQTT broker performs, when operating in the non-PQC mode, communication with the second MQTT broker by applying a transport layer security (TLS) algorithm to the message, and the MQTT broker performs, when operating in the PQC mode, communication with the second MQTT broker by applying the transport layer security (TLS) algorithm to the message to which POC is applied.
19. The MQTT broker of claim 18, wherein when the MQTT broker operates in the PQC mode, the MQTT broker transmits the message to the PQC processing module to receive the message to which PQC is applied, and performs communication with the second MQTT broker by applying the transport layer security (TLS) algorithm to the message to which PQC is applied.
20. A POC processing module which comprises a processor and is installed in a first MQTT broker that transmits a message to a second MOTT broker, to provide a function for POC processing, wherein the processor is configured to: perform POC-based encryption processing on a message collected by the first MOTT broker; and provide the encrypted message to the first MOTT broker such that the POC-based encrypted message is transmitted to the second MOTT broker.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0038] The accompanying drawings, which are included as part of the detailed description to help the understanding of the present disclosure, provide examples of the present disclosure and explain the technical idea of the present disclosure together with the detailed description.
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
DETAILED DESCRIPTION
[0046] Hereinafter, embodiments disclosed in the present specification will be described in detail with reference to the accompanying drawings. Aspects, specific advantages and novel features of the present disclosure will become more apparent from the following detailed description and preferred embodiments taken in conjunction with the accompanying drawings.
[0047] Prior to this, the terms or words used in the present specification and claims are properly defined by the inventor to explain his/her invention in the best way, and should be interpreted as meanings and concepts consistent with the technical idea of the present disclosure, and it is only for describing the embodiments and should not be construed as limiting the present disclosure.
[0048] In assigning reference numerals to components, the same or similar components are assigned the same reference numerals regardless of reference numerals, and overlapping descriptions thereof will be omitted. The suffixes module and unit for the components used in the following description are given or used interchangeably in consideration of the ease of writing the specification, do not themselves have a distinct meaning or role, and may refer to software or hardware components.
[0049] In describing the components of the present disclosure, it should be understood that, when a component is expressed in a singular form, the component also includes a plural form unless otherwise specified. In addition, terms, such as first and second, are used to distinguish one component from another component, and the components are not limited by the terms. Further, when one component is connected to the other component, it means that another component may be connected between the one component and the other component.
[0050] In addition, in describing the embodiments disclosed in the present specification, if it is determined that a detailed description of a related known technology may obscure the gist of the embodiment disclosed in the present specification, the detailed description thereof will be omitted. In addition, the accompanying drawings are only for easy understanding of the embodiments disclosed in the present specification, the technical idea disclosed in the present specification is not limited by the accompanying drawings, and it should be understood to include all changes, equivalents, or substitutes included in the spirit and technical scope of the present disclosure.
[0051] Hereinafter, exemplary embodiments of PQC-based MQTT communication method, device, system, and computer program according to the present disclosure will be described in detail with reference to the accompanying drawings.
[0052] First,
[0053] As noted from
[0054] At this time, the MQTT client 110 including the first MQTT clients 110a1 and 110a2 and the second MQTT clients 110b1 and 110b2 may be a sensor device or a small IoT device, but the present disclosure is not necessarily limited thereto, and various devices that perform communication by using the MQTT protocol may be used as an MQTT client 110.
[0055] In addition, the MQTT broker 120 including the first MQTT broker 120a and the second MQTT broker 120b may be a device that collects and processes messages by communicating with the MQTT client 110 through the MQTT protocol, but the present disclosure is not necessarily limited thereto, and the MQTT broker 120 may be separated into a device that collects messages by performing communication with the MQTT client 110 and a device that processes the collected messages, and may be implemented in various forms.
[0056] More specifically, the MQTT broker 120 may be implemented using one or two or more servers, but the present disclosure is not necessarily limited thereto. In addition, the MQTT broker 120 may be implemented as a dedicated device or as a processor driven in a device such as a server, and may be in various forms.
[0057] In addition, in
[0058] In addition, as shown in
[0059] Here, the method shown in
[0060] The POC processing module 121 may be installed in the first MQTT broker 120a to provide a function for PQC processing.
[0061] In addition, the method may further include, by the first MQTT broker 120a, requesting the POC processing module 121 to perform POC processing and confirming a response to the request (not shown).
[0062] Furthermore, the method may further include, by the first MQTT broker 120a, requesting the second MQTT broker 120b to perform communication based on POC and confirming a response to the request (not shown).
[0063] The method may further include, by the second MQTT broker 120b, requesting the POC processing module 121 installed therein, to perform POC processing and confirming a response to the request (not shown).
[0064] In addition, the first MQTT broker 120a may communicate with the second MQTT broker 120b in a non-PQC mode or in a POC mode according to an operation mode thereof.
[0065] When the first MQTT broker 120a operates in the non-PQC mode, the first MQTT broker 120a may perform communication with the second MQTT broker 120b by applying a transport layer security (TLS) algorithm to the message, and when the first MQTT broker 120a operates in the POC mode, the first MQTT broker 120a may perform communication with the second MQTT broker 120b by applying the transport layer security (TLS) algorithm to the message to which PQC is applied.
[0066] Furthermore, when the first MQTT broker 120a operates in the PQC mode, the first MQTT broker 120a may transmit the message to the POC processing module 121 to receive the message to which POC is applied, and may perform communication with the second MQTT broker 120b by applying the transport layer security (TLS) algorithm to the message to which POC is applied.
[0067] In addition, in the above-mentioned operation, the first MQTT broker 120a may perform POC-based encryption on one or a plurality of messages transmitted according to Quality of Service (QOS) of MQTT and transmit the messages.
[0068] Furthermore, the operation mode of the first MQTT broker 120a may be determined in consideration of at least one of whether the POC processing module 121 is installed or whether POC processing by the POC processing module 121 is performable.
[0069] Accordingly, in the PQC-based MQTT communication method, device, system, and computer program according to an embodiment of the present disclosure, security can be ensured even in the development of quantum computing technology by applying POC to MQTT communication, security can be improved by applying POC even without updating a POC application algorithm for MQTT clients, and security can be ensured even with MQTT brokers having poor computing power, by applying PQC thereto.
[0070] Hereinafter, a POC-based MQTT communication method, device, system, and computer program according to an embodiment of the present disclosure will be described in more detail with reference to
[0071] First, in S110, the first MQTT broker 120a collects a message from one or more MQTT clients 110.
[0072] The message may include sensor data collected by the MQTT client 110 or various data calculated by the MQTT client 110.
[0073] Next, in S120, the first MQTT broker 120a performs PQC-based encryption on the collected message by using the PQC processing module 121.
[0074] The POC processing module 121 is installed in the first MQTT broker 120a to provide a function for PQC processing so as to provide an extended function such that previously distributed MQTT broker 120 having limited computing power can process POC requiring a significant amount of computation, but the present disclosure is not necessarily limited thereto.
[0075] More specifically, the POC processing module 121 may be implemented as a separate hardware device and connected to the first MQTT broker 120a through a connector to be driven, but the present disclosure is not necessarily limited thereto. In addition, the POC processing module 121 may be implemented as a software module and be installed to be driven in the first MQTT broker 120a, and may be implemented in various forms.
[0076] In addition, in S120, the first MQTT broker 120a may perform a process of requesting the POC processing module 121 to perform POC processing and confirming a response to the request.
[0077] Subsequently, the first MQTT broker 120a may also perform a process of requesting the second MQTT broker 120b to perform communication based on POC and confirming a response to the request.
[0078] The second MQTT broker 120b may also perform a process of requesting the PQC processing module 121 installed therein, to perform POC processing and confirming a response to the request.
[0079] When it is determined that communication is not performable by applying POC through the series of processes described above, the first MQTT broker 120a may communicate with the second MQTT broker 120b in a POC mode.
[0080] However, when it is determined that communication is not performable by applying POC due to the problem occurring in the POC processing module 121 of the first MQTT broker 120a or the POC processing module 121 of the second MQTT broker 120b, the first MQTT broker 120a may communicate with the second MQTT broker 120b in a non-PQC mode.
[0081] As described above, the operation mode of the first MQTT broker 120a may be determined in consideration of at least one of whether the PQC processing module 121 is installed or whether POC processing by the PQC processing module 121 is performable.
[0082] Accordingly, in S130, the first MQTT broker 120a transmits the encrypted message to the second MQTT broker.
[0083] For a more specific example, when the first MQTT broker 120a operates in the non-POC mode, the first MQTT broker 120a may perform communication with the second MQTT broker 120b by applying a transport layer security (TLS) algorithm to the message, and when the first MQTT broker 120a operates in the POC mode, the first MQTT broker 120a may perform communication with the second MQTT broker 120b by applying the transport layer security (TLS) algorithm to the message to which POC is applied, but the present disclosure is not necessarily limited thereto.
[0084] At this time, when the first MQTT broker 120a operates in the POC mode, the first MQTT broker 120a may transmit the message to the PQC processing module 121 to receive the message to which POC is applied, and may perform communication with the second MQTT broker 120b by applying the transport layer security (TLS) algorithm to the message to which POC is applied.
[0085] In addition, the first MQTT broker 120a may also perform POC-based encryption on one or a plurality of messages transmitted according to Quality of Service (QOS) of an MQTT protocol to transmit the messages to the second MQTT broker 120b.
[0086] Accordingly, as shown in
[0087] Hereinafter, the POC-based MQTT communication method according to an embodiment of the present disclosure will be described in more detail with reference to
[0088] First,
[0089] As shown in
[0090] Accordingly, the first MQTT broker 120a transmits a message requesting the POC processing module 121 installed therein, to perform POC processing ({circle around (2)} in
[0091] The POC processing module 121 performs environment settings for POC processing and transmits a response to the request to the first MQTT broker 120a ({circle around (3)} in
[0092] At this time, as shown in
[0093] For a more specific example, the POC processing module 121, as shown in
[0094] Subsequently, the first MQTT broker 120a transmits a message requesting the second MQTT broker 120b to perform communication using PQC ({circle around (4)} in
[0095] Accordingly, a mode may be set such that the second MQTT broker 120b operates in the POC mode ({circle around (5)} in
[0096] The second MQTT broker 120b transmits a message requesting the POC processing module 121 installed therein, to perform POC processing ({circle around (6)} in
[0097] The PQC processing module 121 performs environment settings for POC processing and transmits a response to the request to the second MQTT broker 120b ({circle around (7)} in
[0098] Subsequently, the second MQTT broker 120b transmits a response to the request for communication execution by using the POC of the first MQTT broker 120a ({circle around (8)} in
[0099] Through the processes described above, the first MQTT broker 120a and the second MQTT broker 120b perform settings to operate in a POC mode to perform communication to which PQC is applied.
[0100]
[0101] At this time, as shown in
[0102] In addition,
[0103] In the PQC-based MQTT communication method according to an embodiment of the present disclosure, the first MQTT broker 120a may perform POC-based encryption on one or a plurality of messages transmitted according to Quality of Service (QOS) of an MQTT protocol.
[0104] For a more specific example, when QoS is 0 in
[0105] Accordingly, as shown in
[0106] Through this, PQC security communication can be performed through the MQTT broker 120 linked with the POC processing module 121 without the update for performing the PQC arithmetic function which is performed by an end device such as the MQTT client 110.
[0107] In addition, when Qos is 1 in
[0108] Even at this time, PQC security communication may be performed by connecting the PQC processing module 121 to the MQTT broker 120 through POC-based transport layer security (TLS) connection in the MQTT protocol.
[0109] In addition, when Qos is 2 in
[0110] Even at this time, PQC security communication may be performed by connecting the POC processing module 121 to the MQTT broker 120 through POC-based transport layer security (TLS) connection in the MQTT protocol.
[0111] In addition, a computer-readable storage medium according to another aspect of the present disclosure stores instructions configured to, when executed by a processor, cause a device including the processor to implement operations for performing PQC-based MQTT communication, and the operations may include: collecting a message from one or more MQTT clients; performing POC-based encryption on the collected message by using a POC processing module; and forwarding the encrypted message to a second MQTT broker. In this case, a computer program stored in the storage medium may be a computer program stored in a computer-readable storage medium in order to execute, on a computer, each operation of the above-mentioned PQC-based MQTT communication method. Here, the computer program may be not only a computer program including machine codes generated by a compiler, but also a computer program including high-level language codes that can be executed on a computer by using an interpreter or the like. At this time, the computer is not limited to a personal computer (PC) or a notebook computer, etc., and includes any information processing device including a server, a smartphone, a tablet PC, a PDA, a mobile phone, etc. which is equipped with a central processing unit (CPU) to execute a computer program.
[0112] In addition, the computer-readable storage medium may continuously store programs executable by the computer or temporarily store the programs for execution or download. In addition, the medium may be a variety of recording means or storage means in the form of a single hardware or in the form of several combined hardware, but is not limited to a medium directly connected to a certain computer system, and may be distributed on a network. Accordingly, the above detailed description should not be construed as limiting in all respects and should be considered illustrative. The scope of the present disclosure should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present disclosure are included in the scope of the present disclosure.
[0113]
[0114] As shown in
[0115] In addition, according to an embodiment of the present disclosure, the MQTT broker 120 may include the computing device of
[0116] In addition,
[0117] As shown in
[0118] In addition, according to an embodiment of the present disclosure, the PQC processing module 121 may include the computing device of
[0119] Subsequently, components of the MQTT broker 120 and the PQC processing module 121 according to an embodiment of the present disclosure will be separately described below. At this time, further details of the MQTT broker 120 according to an embodiment of the present disclosure can be inferred from the description of the PQC-based MQTT communication method according to an embodiment of the present disclosure described above, and thus will be omitted.
[0120] First, the message collection unit 125 of the MQTT broker 120 collects a message from one or more MQTT clients 110.
[0121] In addition, the encryption execution unit 126 of the MQTT broker 120 performs POC-based encryption on the collected message by using the POC processing module 121. Next, the encryption message transmission unit 127 of the MQTT broker 120 transmits the encrypted message to the second MQTT broker 120b.
[0122] In addition, the POC processing unit 1211 of the POC processing module 121 performs POC-based encryption processing on the message collected by the MQTT broker 120.
[0123] The encryption message providing unit 1212 of the PQC processing module 121 provides the encrypted message to the MQTT broker 120 such that POC encrypted message is transmitted to the second MQTT broker 120b.
[0124] Here, the POC processing module 121 may be installed in the MQTT broker 120 to provide a function for PQC processing.
[0125] In addition, the MQTT broker 120 may request the POC processing module 121 to perform POC processing and confirm a response to the request.
[0126] In addition, the MQTT broker 120 may request the second MQTT broker 120b to perform communication based on PQC and confirm a response to the request.
[0127] At this time, the second MQTT broker 120b may request the POC processing module 121 installed therein, to perform POC processing and confirm a response to the request.
[0128] In addition, the MQTT broker 120 may communicate with the second MQTT broker 120b in a non-POC mode or in a POC mode according to an operation mode thereof.
[0129] When the MQTT broker 120 operates in the non-PQC mode, the MQTT broker 120 may perform communication with the second MQTT broker 120b by applying a transport layer security (TLS) algorithm to the message, and when the MQTT broker 120 operates in the PQC mode, the MQTT broker 120 may perform communication with the second MQTT broker 120b by applying the transport layer security (TLS) algorithm to the message to which PQC is applied.
[0130] Furthermore, when the MQTT broker 120 operates in the PQC mode, the MQTT broker 120 may transmit the message to the POC processing module 121 to receive the message to which POC is applied, and may perform communication with the second MQTT broker 120b by applying the transport layer security (TLS) algorithm to the message to which PQC is applied.
[0131] In addition, the MQTT broker 120 may perform PQC-based encryption on one or a plurality of messages transmitted according to Quality of Service (QOS) of MQTT and transmit the messages.
[0132] Furthermore, the operation mode of the MQTT broker 120 may be determined in consideration of at least one of whether the POC processing module 121 is installed or whether PQC processing by the PQC processing module 121 is performable.
[0133]
[0134] Referring to
[0135] For example, the device 200 to which the proposed method of the present disclosure is applicable may include network devices such as repeaters, hubs, bridges, switches, routers, gateways, computer devices such as desktop computers, workstations, mobile terminals such as smartphones, portable devices such as laptop computers, home appliances such as digital TV, means of transportation, such as a car, and the like. As another example, the device 200 to which the present disclosure is applicable may be included as a part of an application specific integrated circuit (ASIC) implemented in a system on chip (SoC) form.
[0136] The memory 20 may be connected to a processor 10 during operation, store programs and/or instructions for processing and controlling the processor 10, and store data and information used in the present disclosure, control information necessary for data and information processing according to the present disclosure, temporary data generated during data and information processing, and the like. The memory 20 may be implemented as a storage device such as read only memory (ROM), random access memory (RAM), erasable programmable read only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, and static RAM (SRAM), hard disk drive (HDD), solid state drive (SSD).
[0137] The processor 10 may be operatively connected to the memory 20 and/or the network interface 30 and controls the operation of each module in the device 200. In particular, the processor 10 may perform various control functions for performing the proposed method of the present disclosure. The processor 120 may also be called a controller, a microcontroller, a microprocessor, a microcomputer, or the like. The proposed method of the present disclosure may be implemented by hardware, firmware, software, or a combination thereof. When the present disclosure is implemented using hardware, the processor 10 may be provided with an application specific integrated circuit (ASIC) or a digital signal processor (DSP) configured to perform the present disclosure, a digital signal processing device (DSPD), a programmable logic device (PLD), a field programmable gate array (FPGA), and the like. However, when the proposed method of the present disclosure is implemented using firmware or software, the firmware or software may include instructions related to modules, procedures, or functions that perform functions or operations necessary to implement the proposed method of the present disclosure. When the instructions are stored in the memory 20 or stored in a computer readable recording medium (not shown) separate from the memory 20 to be executed by the processor 10, the device 120 will be configured to implement the proposed method of the present disclosure.
[0138] In addition, the device 200 may include a network interface device 30. The network interface device 30 is connected to the processor 10 during operation, and the processor 10 controls the network interface device 30 to transmit or receive wireless/wired signals that carry information and/or data, signals, messages, etc. through a wireless/wired network. The network interface device 30 may support various communication standards, such as IEEE 802 series, 3GPP LTE(-A), and 3GPP 5G, and may transmit and receive control information and/or data signals according to the communication standards. The network interface device 30 may be implemented outside the device 200 as needed.
[0139] Accordingly, in the PQC-based MQTT communication method, device, system, and computer program according to an embodiment of the present disclosure, security can be ensured even in the development of quantum computing technology by applying POC to MQTT communication, security can be improved by applying POC even without updating a POC application algorithm for MQTT clients, and security can be ensured even with MQTT brokers having poor computing power, by applying PQC thereto.
[0140] The particular implementations shown and described herein are illustrative examples of the present inventive concept and are not intended to otherwise limit the scope of the disclosure in any way. In addition, connecting members or connection by lines between the components shown in the drawings are examples of functional connections and/or physical or circuit connections, which can be replaced in real devices or can be represented as additional various functional connections, physical connection, or circuit connections. In addition, connecting members or connection by lines between components shown in the drawings may not be essential components for application of the present disclosure unless specifically stated, such as essential or important.
[0141] Furthermore, recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein. Finally, the operations of all methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or exemplary language (e.g., such as) provided herein, is intended merely to better illuminate the present inventive concept and does not pose a limitation on the scope of the present inventive concept unless otherwise claimed. Numerous modifications and adaptations will be readily apparent to those of ordinary skill in this art without departing from the spirit and scope of the present inventive concept.
DESCRIPTION OF SYMBOLS
[0142] 10: Processor
[0143] 20: Memory
[0144] 30: Interface device
[0145] 50: Workflow execution information
[0146] 100: PQC-based MQTT communication system
[0147] 110: MQTT client
[0148] 110a, 110a1, 110a2: First MQTT client
[0149] 110b, 110b1, 110b2: Second MQTT client
[0150] 120: MQTT broker
[0151] 120a: First MQTT broker
[0152] 120b: Second MQTT broker
[0153] 121: PQC processing module
[0154] 125: Message collection unit
[0155] 126: Encryption execution unit
[0156] 127: Encryption message transmission unit
[0157] 1211: PQC processing unit
[0158] 1212: Encryption message providing unit
[0159] 130: Communication network
[0160] 200: Device