Data communication system, data communication apparatus, host apparatus, data communication method, and data communication program
Patent Information
- Application Number
- JP2024544230
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-28
- Filing Date
- 2023-08-28
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2043-08-28
AI Technical Summary
Conventional data communication systems face increased size, cost, and power consumption due to the need for high-security encryption processing across all sensors, even those handling less confidential data, leading to overspecification and inefficiency.
Implementing a data communication system where each data communication device transmits encryption information to the host device, allowing for tailored encryption methods based on individual security levels, enabling only necessary encryption processing and reducing overall system requirements.
This approach ensures secure data communication while minimizing size, cost, and power consumption by allowing each device to perform encryption processing tailored to its specific security level, reducing the need for overspecified processors and high-speed processing across all connected devices.
Abstract
Description
Data communication system, data communication device, host device, data communication method, and data communication program
[0001] The present disclosure relates to a data communication system, a data communication device, a host device, a data communication method, and a data communication program.
[0002] A data communication system has been known in the past, in which a host device acquires data detected by sensors and transmits the acquired data to a central processing unit. In such a data communication system, at least one sensor can be connected to the host device, and the at least one sensor may include a mixture of sensors that handle data that is not confidential to the user and sensors that handle data that is highly confidential to the user.
[0003] Highly confidential data requires a higher security level in data communication than less confidential data. However, sensors that can ensure a high level of security require high-speed processing, such as data encryption, which means that the built-in processors are large and expensive and may consume a lot of power. Therefore, if all sensors connected to a host device perform encryption processing to ensure a high level of security in accordance with sensors that handle highly confidential data, even sensors that handle less confidential data would need to be equipped with processors that are over-specified, which would result in the entire data communication system becoming large and expensive and potentially consuming a lot of power. Furthermore, if the host device were to perform high-speed processing, such as encrypting data communications between the host device and all connected sensors, power consumption would also increase.
[0004] In this regard, Japanese Patent Laid-Open Publication No. 2017-211850 (Patent Document 1) discloses a system that partially encrypts data from a sensor in order to conceal data detected by the sensor with a small processing load.
[0005] JP 2017-211850 A
[0006] The system disclosed in Patent Literature 1 does not take into consideration whether each of the multiple sensors connected to the processing device handles low-confidentiality data or high-confidentiality data, and is configured so that all sensors connected to the processing device perform encryption processing at the same security level. Therefore, even in the system disclosed in Patent Literature 1, if all sensors connected to the processing device perform encryption processing to ensure a high security level in accordance with the sensors that handle high-confidentiality data, it is necessary to implement an over-specified processor even for sensors that handle low-confidentiality data, which may result in the system as a whole being large, expensive, and consuming increased power.
[0007] The present disclosure has been made to solve such problems, and its purpose is to provide technology that can ensure the security of data communications while suppressing increases in size, cost, and power consumption.
[0008] A data communication system according to an aspect of the present disclosure includes at least one data communication device and a host device capable of communicating with the at least one data communication device. Each of the at least one data communication device transmits encryption information related to a predetermined encryption method corresponding to the data communication device to the host device. The host device receives the encryption information from each of the at least one data communication device. The host device and each of the at least one data communication device perform data communication based on the encryption information.
[0009] According to another aspect of the present disclosure, a data communication device includes a control device and a communication interface for communicating with a host device, wherein the control device receives query information from the host device regarding an inquiry about an encryption method, and in response to the reception of the query information, transmits encryption information regarding a predetermined encryption method to the host device and performs data communication with the host device based on the encryption information.
[0010] According to another aspect of the present disclosure, a host device includes a control device and a communication interface for communicating with at least one data communication device, wherein the control device transmits, to each of the at least one data communication device, inquiry information regarding an encryption method predetermined for the data communication device, receives from each of the at least one data communication device encryption information regarding the encryption method corresponding to the data communication device, and performs data communication with each of the at least one data communication device based on the encryption information.
[0011] A data communication method according to another aspect of the present disclosure includes steps of receiving inquiry information regarding an encryption method from a host device, transmitting encryption information regarding a predetermined encryption method to the host device in response to receiving the inquiry information, and performing data communication with the host device based on the encryption information.
[0012] A data communication method according to another aspect of the present disclosure includes the steps of: transmitting, to each of at least one data communication device, inquiry information regarding an inquiry about an encryption method predetermined for the data communication device; receiving, from each of the at least one data communication device, encryption information regarding the encryption method corresponding to the data communication device; and performing data communication with each of the at least one data communication device based on the encryption information.
[0013] According to the present disclosure, since the host device and each of the at least one data communication device communicate data based on encryption information related to an encryption method predetermined for the data communication device, each of the at least one data communication device only needs to be equipped with a control device capable of performing encryption processing tailored to its individual security level, which allows the data communication system as a whole to ensure security of data communication while suppressing increases in size, cost, and power consumption compared to a case in which all data communication devices are equipped with control devices capable of performing encryption processing tailored to the highest security level. Furthermore, since the host device does not need to perform high-speed processing, such as encrypting data communication between the host device and all of the connected data communication devices, increases in power consumption can be suppressed.
[0014] FIG. 1 is a diagram showing an overview of a data communication system according to an embodiment; FIG. 2 is a diagram showing a configuration of a data communication system according to an embodiment; FIG. 3 is a diagram for explaining the structure of data transmitted and received between a host device and a data communication device; FIG. 4 is a diagram showing an example of data communication performed by a host device and a data communication device; FIG. 5 is a diagram showing an example of data retransmission from a data communication device to a host device; FIG. 6 is a diagram showing another example of data retransmission from a data communication device to a host device; and FIG. 7 is a diagram showing an example of functional allocation in a data communication system.
[0015] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the drawings, the same or corresponding parts are designated by the same reference numerals, and description thereof will not be repeated.
[0016] [Outline of Data Communication System] An outline of a data communication system 1 according to an embodiment will be described with reference to Fig. 1. Fig. 1 is a diagram showing an outline of a data communication system 1 according to an embodiment.
[0017] As shown in FIG. 1, the data communication system 1 includes at least one data communication device 10A, 10B, 10C, 10D (hereinafter also collectively referred to as "data communication device 10") and a host device 20.
[0018] At least one data communication device 10 is a device that detects data and transmits the detected data (hereinafter also referred to as "detected data") to the host device 20. For example, in the example of FIG. 1, the data communication device 10A is a CO2 sensor that can detect carbon dioxide (hereinafter also referred to as "CO2") in the target space in which the data communication device 10A is installed and transmits the detected CO2 data to the host device 20. The data communication device 10B is a temperature and humidity sensor that can detect the temperature and humidity in the target space in which the data communication device 10B is installed and transmits the detected temperature and humidity data to the host device 20. The data communication device 10C is a sound sensor that can detect sounds (e.g., human voices) emitted in the target space in which the data communication device 10C is installed and transmits the detected sound data to the host device 20. The data communication device 10D is a camera device that includes a camera that can capture images of objects (e.g., people and objects) in the target space in which the data communication device 10D is installed and transmits image data obtained by capturing the images to the host device 20.
[0019] The data communication device 10 can be applied to a device capable of detecting any data in the target space in which the data communication device 10 is installed, such as not only CO2, temperature, humidity, sound, and images, but also air pressure, acceleration, angular velocity, or illuminance. In the example of FIG. 1 , four data communication devices are connected to one host device 20, but one data communication device or any other number of data communication devices may be connected to one host device 20. At least one data communication device 10 connected to one host device 20 may be devices capable of detecting the same type of data, or may be devices capable of detecting different types of data.
[0020] The data communication device 10 is communicatively connected to a host device 20. For example, the data communication device 10 includes an insertion connector 130 that complies with the USB (Universal Serial Bus) standard. Meanwhile, the host device 20 includes a receiving connector 230 that also complies with the USB standard. By inserting the insertion connector 130 into the receiving connector 230 of the host device 20, the data communication device 10 can communicate data with the host device 20 via the USB connection.
[0021] Note that the data communication device 10 and the host device 20 may communicate with each other via a wireless connection such as Bluetooth (registered trademark) instead of a USB connection. The data communication system 1 may include at least one data communication device 10 connected to the host device 20 via USB and at least one data communication device 10 connected to the host device 20 wirelessly.
[0022] When the data communication device 10 and the host device 20 are configured to be able to communicate via a USB connection, the data being communicated is less likely to be lost than when they are configured to be able to communicate via a wireless connection, and the settings required for a wireless connection are not required. In addition, the data communication device 10 can also receive power from the host device 20 via the USB connection.
[0023] When the data communication device 10 and the host device 20 are configured to be able to communicate with each other via a wireless connection, data communication can be performed even when the data communication device 10 is installed in a location physically separated from the host device 20. Therefore, when the data communication device 10 and the host device 20 are configured to be able to communicate with each other via a wireless connection, the degree of freedom in the placement of the data communication device 10 can be increased compared to when the data communication device 10 and the host device 20 are configured to be able to communicate with each other via a USB connection.
[0024] The host device 20 acquires data transmitted from each of at least one data communication device 10 communicatively connected thereto. The host device 20 is configured to be capable of wireless communication with the central processing unit 30 via a network 50. For example, the host device 20 may connect to the network 50 via an access point (not shown) using a Wi-Fi (registered trademark) connection, or may connect to the network 50 using a cellular line such as LTE (Long Term Evolution) or 5G. The host device 20 transmits the data acquired from the data communication device 10 to the central processing unit 30 via the network 50.
[0025] The host device 20 and the central processing unit 30 may communicate with each other via a wired connection, not just a wireless connection. Furthermore, the host device 20 may also function as the central processing unit 30.
[0026] The central processing unit 30 accumulates data acquired from the data communication device 10 via the host device 20, performs processing such as calculations or analyses using the data, and transmits control data based on the processing results to the terminal device 40. For example, the central processing unit 30 analyzes the time transition of CO2 concentration in a target space using CO2 data acquired from the data communication device 10, and transmits control data for displaying the analysis results to the terminal device 40. The central processing unit 30 may be a server or a cloud, or may be integrated with the host device 20 to form a PC (Personal Computer) or a terminal device.
[0027] The terminal device 40 is an information terminal that executes predetermined information processing, such as a desktop PC, a laptop PC, a smartphone, a smart watch, a wearable device, a tablet PC, etc. For example, the terminal device 40 displays the time transition of the CO2 concentration in the target space on a display (not shown) based on control data from the central processing unit 30.
[0028] [Configuration of Data Communication System] The configuration of the data communication system 1 according to the embodiment will be described in detail with reference to Fig. 2. Fig. 2 is a diagram showing the configuration of the data communication system 1 according to the embodiment.
[0029] As shown in FIG. 2, the data communication device 10 includes a control device 11, a storage unit 12, a communication interface 13, and a data detection unit 14.
[0030] The control device 11 is a computer such as a processor. The processor may be, for example, a microcontroller, a central processing unit (CPU), or a microprocessing unit (MPU). The processor has the function of executing various processes by executing programs, but some or all of these functions may be implemented using dedicated hardware circuits such as an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA). The term "processor" is not limited to a processor in the narrow sense that executes processes using stored programs, such as a CPU or MPU, but may also include hardwired circuits such as an ASIC or FPGA. Therefore, the term "processor" can also be interpreted as a processing circuitry in which processes are predefined by computer-readable code and / or hardwired circuits. The control device 11 may be configured on a single chip or multiple chips.
[0031] The storage unit 12 includes a RAM (Random Access Memory) and a storage device. The RAM is a volatile memory such as a DRAM (Dynamic Random Access Memory) or an SRAM (Static Random Access Memory), and functions as a working memory that temporarily stores data processed by the processor. The RAM may be included in the control device 11 or may be located separately from the control device 11. The storage device is a non-volatile memory such as a ROM (Read Only Memory) or a flash memory, and stores programs or various data used by the programs.
[0032] In the data communication device 10 according to the embodiment, the storage unit 12 stores a control program 120 and setting data 125. The control program 120 is an example of a "data communication program." The control program 120 is executed by the control device 11 and defines processing procedures (e.g., the processing flows shown in FIGS. 4 to 6, which will be described later) related to the detection of data in the target space and the transmission and reception of data with the host device 20. The data communication device 10 may acquire the control program 120 stored on a recording medium, such as a memory card or a Universal Serial Bus (USB) memory, from the recording medium. The setting data 125 includes information related to the detection of data in the target space and the transmission and reception of data with the host device 20 (e.g., encryption information and hash information, which will be described later).
[0033] The communication interface 13 is an interface for performing data communication with the host device 20 via a USB connection or a wireless connection such as Bluetooth (registered trademark).
[0034] The data detection unit 14 includes components such as sensors for detecting various data such as CO2, temperature, humidity, sound, and images.
[0035] The host device 20 includes a control device 21 , a storage unit 22 , a communication interface 23 , and a communication device 24 .
[0036] The control device 21 is a computer such as a processor, and has a configuration similar to that of the control device 11 of the data communication device 10. The processor is composed of, for example, a microcontroller, a CPU, an MPU, an ASIC, an FPGA, etc., and can also be interpreted as a processing circuitry. The control device 21 may be composed of a single chip or multiple chips.
[0037] The storage unit 22 includes a RAM (DRAM or SRAM) and a storage device (ROM or flash memory), and has the same configuration as the storage unit 12 of the data communication device 10 .
[0038] In the host device 20 according to the embodiment, the storage unit 22 stores a control program 220. The control program 220 is an example of a "data communication program." The control program 220 is executed by the control device 21 and defines a processing procedure (for example, the processing flows shown in FIGS. 4 to 6, which will be described later) related to sending and receiving data to and from the data communication device 10. The host device 20 may acquire the control program 220 stored on a recording medium, such as a memory card or a USB memory, from the recording medium.
[0039] The communication interface 23 is an interface for performing data communication with the data communication device 10 via a USB connection or a wireless connection such as Bluetooth (registered trademark).
[0040] The communication device 24 has a function for performing wireless communication with the central processing unit 30 via the network 50 .
[0041] According to the data communication system 1 configured as described above, data communication can be performed between the data communication device 10 and the host device 20, and detection data detected by the data communication device 10 can be transmitted to the central processing unit 30 via the host device 20.
[0042] Here, among the at least one data communication device 10 connectable to the host device 20, there may be a mixture of data communication devices 10 that handle data with low confidentiality from the user and data communication devices 10 that handle data with high confidentiality from the user. For example, the sound data detected by the data communication device 10C and the image data detected by the data communication device 10D are more likely to contain data related to the privacy of people in the target space or confidential information than the CO2 data detected by the data communication device 10A and the temperature and humidity data detected by the data communication device 10B. Therefore, from the perspective of protecting the privacy or confidential information of people in the target space, the sound data transmitted from the data communication device 10C to the host device 20 and the image data transmitted from the data communication device 10D to the host device 20 need to have a higher security level in data communication than the CO2 data transmitted from the data communication device 10A to the host device 20 and the temperature and humidity data transmitted from the data communication device 10B to the host device 20.
[0043] If the host device 20 performs encryption processing to ensure a high level of security for the data communication devices 10A and 10B that handle low-confidentiality data in addition to the data communication devices 10C and 10D that handle highly confidential data, it will be necessary to implement a control device 11 that is over-specified even for the data communication devices 10A and 10B that handle low-confidentiality data, which may result in the overall data communication system 1 becoming larger, more expensive, and consuming more power. Furthermore, the host device 20 may also consume more power if it performs high-speed processing, such as encrypting data communications between the host device 20 and all of the connected data communication devices 10.
[0044] Therefore, in the data communication system 1, whether or not to encrypt data, the encryption method if encryption is performed, whether or not to assign a hash value to the data, and the hash method if a hash value is assigned are predetermined for each of at least one data communication device 10 connected to the host device 20. The host device 20 and each of the at least one data communication device 10 perform data communication using the encryption method corresponding to that data communication device 10, or perform data communication using the hash method corresponding to that data communication device 10.
[0045] As a result, the host device 20 and each of the at least one data communication device 10 communicate data using a predetermined encryption method and hash method for each of the at least one data communication device 10, and each of the at least one data communication device 10 is provided with a control device 11 capable of performing encryption processing tailored to its individual security level. In other words, the data communication devices 10A and 10B, which handle low-confidentiality data, do not need to be provided with control devices 11 that are over-specified to match the security levels of the data communication devices 10C and 10D, which handle high-confidentiality data. This prevents unnecessarily high performance, high costs, and increased power consumption. Therefore, the data communication system 1 as a whole can ensure data communication security while suppressing increases in size, cost, and power consumption, compared to when the data communication devices 10A and 10B, which handle low-confidentiality data, are provided with control devices 11 capable of performing encryption processing tailored to the security levels of the data communication devices 10C and 10D, which handle high-confidentiality data. Furthermore, the host device 20 does not need to perform high-speed processing such as encrypting data communications with all of the connected data communication devices 10, so that an increase in power consumption can be suppressed.
[0046] [Example of Data Structure] The structure of data transmitted and received between the host device 20 and the data communication device 10 will be described with reference to Fig. 3. Fig. 3 is a diagram for explaining the structure of data transmitted between the host device 20 and the data communication device 10. Note that Fig. 3 collectively describes the structure of data transmitted from the data communication device 10 to the host device 20 and the structure of data transmitted from the host device 20 to the data communication device 10.
[0047] 3, the data structure includes fields indicating data items and the contents of the data corresponding to each field. The fields include IV (Initial Value), DATA, HASH, and EOD (End Of Data).
[0048] The IV includes an initial value, a data length, a counter, and a data format. Note that the data length, the counter, and the data format may be included in a field separate from the initial value, rather than being included in the IV.
[0049] The initial value is a random value that indicates the initial value of the data to be transmitted at one time. The initial value is, for example, 16 bytes and is used for encrypting the data. The data length indicates the number of valid bytes in the data body. For example, the data body is composed of 16*N bytes (N is a natural number). The counter is a value that is incremented each time data is transmitted, and is used to prevent the receiving side from receiving data that has been received previously, or to determine whether there is a defect in the data due to a data reception error, as described below.
[0050] The data format includes encryption information related to an encryption method and hash information related to a hash method that are predetermined for the data communication device 10. The encryption information includes information indicating whether or not to encrypt the data and, if so, the encryption method. The hash information includes information indicating whether or not to calculate the IV and the data body using a hash method and, if so, the hash method.
[0051] For example, the data format includes encryption information and hash information corresponding to six types of identifiers, "0" to "5," in order from lowest to highest security level. The identifier "0" has the simplest encryption process and hashing calculation process, and therefore the lowest security level, while the identifier "5" has the most complex encryption process and hashing calculation process, and therefore the highest security level.
[0052] Specifically, when the data type indicates "0", the data body is not encrypted, and the IV and the data body are sent in plain text without being calculated using a hash method. No hash value is added to the data sent and received.
[0053] When the data format indicates "1", the data body is encrypted using encryption method A, but the IV and data body are sent without being calculated using a hash method. No hash value is added to the data sent and received. Encryption method A is an encryption method that encrypts data using a 40- to 256-bit common key using the RC4 (Rivest Cipher 4) (registered trademark) encryption algorithm, for example. No hash value is added to the data sent and received.
[0054] When the data format indicates "2", the data body is encrypted using encryption method B, but the IV and data body are sent without being calculated using the hash method. No hash value is added to the data sent and received. Encryption method B is an encryption method that encrypts data using a 128-bit common key using the AES (Advanced Encryption Standard) encryption algorithm, for example.
[0055] When the data format indicates "3", the data body is encrypted using encryption method C, but the IV and data body are sent without being calculated using the hash method. No hash value is added to the data sent and received. Encryption method C is an encryption method that encrypts data using a 256-bit common key using the AES encryption algorithm, for example.
[0056] If the data format indicates "4", the IV and data body are calculated using hash method A, and the data body and the hash value resulting from the calculation using hash method A are encrypted using the above-mentioned encryption method B and then transmitted. Hash method A is a hash method that calculates data using a hash function such as MD5 (Message Digest Algorithm 5), for example.
[0057] If the data format indicates "5", the IV and data body are calculated using hash method A, and the data body and the hash value resulting from the calculation using hash method A are encrypted using the above-mentioned encryption method B and then transmitted. Hash method B is a hash method that calculates data using a hash function such as SHA256 (Secure Hash Algorithm 256), for example.
[0058] In this way, the data format specifies that when identifier 0, which has the lowest security level, the data is sent in plain text without encryption or hash value assignment, and as the security level increases, it specifies that encryption and hash value assignment are performed, and further, the encryption security level is increased.
[0059] The encryption method and hash method specified by the data format are not limited to the example shown in the data structure of Fig. 3, and other encryption methods and hash methods may be used. For example, the encryption method is not limited to the symmetric key encryption method, and a public key encryption method may be used, or a hybrid key encryption method that combines the symmetric key encryption method and the public key encryption method may be used.
[0060] In the embodiment, data communication based on encryption information includes sending and receiving data in plain text without encrypting the data itself, and sending and receiving data encrypted using a predetermined encryption method. Data communication based on hash information includes sending and receiving the IV and data itself without calculating the IV and data itself using a hash method, and sending and receiving the IV and data itself after calculating the IV and data itself using a hash method and assigning the hash value resulting from the calculation to the data.
[0061] DATA indicates the data itself. HASH indicates a hash value that is the result of calculating data using a hash method specified in the data format. The hash value is used to detect whether data has been tampered with. EOD (End Of Data) is a fixed value that indicates the end of the data transmitted in one transmission.
[0062] [Example of Data Communication] Data communication performed by the host device 20 and the data communication device 10 will be described with reference to Fig. 4. Fig. 4 is a diagram showing an example of data communication performed by the host device 20 and the data communication device 10. Note that the data communication device 10 performs the processes related to data communication shown in Fig. 4 and Figs. 5 and 6 (described later) by the control device 11 executing the control program 120. Furthermore, the host device 20 performs the processes related to data communication shown in Fig. 4 and Figs. 5 and 6 (described later) by the control device 21 executing the control program 220.
[0063] 4 shows the process related to data communication that is executed when the host device 20 detects the data communication device 10. As shown in FIG. 4, when the insertion connector 130 of the data communication device 10 is inserted into the receiving connector 230 of the host device 20, the host device 20 detects the data communication device 10.
[0064] When the host device 20 detects the data communication device 10, it requests communication from the data communication device 10. Specifically, the host device 20 transmits inquiry information to the data communication device 10, inquiring about the data format (encryption information and hash information). At this time, in the inquiry information data related to the communication request from the host device 20 to the data communication device 10, command data for requesting communication is set in the data body, "1" indicating the first transmission is set in the counter, and "0" is set in the data format. In other words, when the host device 20 requests data communication from the data communication device 10 for the first time, the data format (encryption information and hash information) has not yet been notified by the data communication device 10, so the host device 20 transmits data related to the communication request in plain text to the data communication device 10 and inquires about the data format (encryption information and hash information).
[0065] When the data communication device 10 receives inquiry information related to a communication request from the host device 20, it responds to the communication request. At this time, the data related to the communication response from the data communication device 10 to the host device 20 includes command data for responding to the communication in the data body, a counter value of "1" indicating the first transmission, and a data format value of "5." That is, when responding to a communication request from the host device 20, the data communication device 10 specifies encryption information and hash information predetermined for the data communication device 10 according to the data format, encrypts the data related to the communication response based on the encryption information and hash information, assigns a hash value, and transmits the data. The data communication device 10 pre-stores the encryption information and hash information specified for the host device 20 in the storage unit 12 as setting data 125.
[0066] 4, the data communication device 10 sets the data format to "5," encrypts the data related to the communication response using encryption method B, calculates the IV and data body related to the communication response using hash method B, assigns a hash value that is the result of the calculation, and transmits the data to the host device 20. As a result, the host device 20 can recognize the encryption information and hash information corresponding to the data communication device 10 by referencing the data format included in the IV of the data received from the data communication device 10. In this example, the host device 20 can recognize that data communication with the data communication device 10, which is the communication destination, will be performed using the encryption method and hash method corresponding to the data format "5."
[0067] Although not shown, for example, if the data communication device 10 is a data communication device 10 that handles low-confidentiality data such as data communication device 10A and data communication device 10B, the data communication device 10 sets encryption information and hash information with a relatively low security level, such as "1" or "2," as the data format. On the other hand, if the data communication device 10 is a data communication device 10 that handles highly confidential data such as data communication device 10C and data communication device 10D, the data communication device 10 sets encryption information and hash information with a relatively high security level, such as "4" or "5," as the data format. This allows the host device 20 to recognize that data communication with at least one data communication device 10 will be performed using an encryption method and hash method predetermined for that data communication device 10.
[0068] When the host device 20 receives data related to the communication response from the data communication device 10, it requests the data communication device 10 for the detection data detected by the data communication device 10. At this time, the data related to the data request from the host device 20 to the data communication device 10 includes command data for requesting the data in the data body, a counter value of "2" indicating a second transmission, and a data format value of "5." In other words, when requesting detection data from the data communication device 10, the host device 20 encrypts the data related to the data request and / or assigns a hash value to the data based on the encryption information and hash information corresponding to the data format value of "5" specified by the data communication device 10 at the time of the communication response and transmits the data.
[0069] When the data communication device 10 receives data related to a data request from the host device 20, it transmits detection data to the host device 20. At this time, the data related to the data response from the data communication device 10 to the host device 20 includes the detection data in the data body, the counter is set to "2" indicating the second transmission, and the data format is set to "5." In other words, when transmitting the detection data to the host device 20, the data communication device 10 encrypts the detection data based on the encryption information and hash information corresponding to the data format "5" specified for the data communication device 10 at the time of the communication response, and transmits the encrypted data with a hash value added.
[0070] In response to this, host device 20 will only allow acceptance of data if it receives data that has been encrypted based on encryption information corresponding to the data format "5" specified by data communication device 10 when responding to the communication and that has been assigned a hash value that is the result of calculation using a hash method based on hash information corresponding to the data format "5." On the other hand, host device 20 will prohibit acceptance of data if it receives data that has been transmitted in plaintext, or if it receives data that has been encrypted using an encryption method different from the encryption information corresponding to the data format "5" specified by data communication device 10 when responding to the communication, or if the hash value that is the result of calculation using a hash method corresponding to the data format "5" on the IV and data body received by host device 20 differs from the hash value transmitted from data communication device 10.
[0071] If the host device 20 requests the data communication device 10 to periodically transmit detection data every time a specified time elapses in a data request to the data communication device 10, the data communication device 10 will periodically transmit the detection data to the host device 20 every time a specified time elapses as a data response.
[0072] For example, the data communication device 10 measures the elapsed time since the (n-1)th transmission of the detected data. When the measured time reaches a predetermined time, the data communication device 10 detects data again and transmits the detected data to the host device 20 as the nth data response. At this time, the data related to the data response from the data communication device 10 to the host device 20 includes the nth detected data in the data body, the counter is set to "n" indicating the nth transmission, and the data format is set to "5."
[0073] Furthermore, data communication device 10 measures the elapsed time since the nth transmission of the detected data. When the measurement time reaches a predetermined time, data communication device 10 detects data again and transmits the detected data to host device 20 as the (n+1)th data response. At this time, the data related to the data response from data communication device 10 to host device 20 includes the (n+1)th detected data in the data body, has "n+1" set in the counter indicating the (n+1)th transmission, and has "5" set in the data format.
[0074] In this way, the data communication device 10 periodically transmits the detection data, which has been encrypted using an encryption method corresponding to the data format "5" predetermined for the data communication device 10 and has a hash value assigned to it that is the result of calculation using a hash method corresponding to the data format "5," to the host device 20 in accordance with a data request from the host device 20.
[0075] When the host device 20 receives and accepts the detection data periodically transmitted from the data communication devices 10, it transmits the acquired detection data to the central processing unit 30 via the network 50. The detection data is encrypted and communicated between the host device 20 and the central processing unit 30 using a specific encryption method such as HTTPS (HyperText Transfer Protocol Secure). In other words, the host device 20 encrypts the detection data acquired from each of at least one data communication device 10 using a predetermined specific encryption method regardless of the at least one data communication device 10, and transmits the encrypted data to the central processing unit 30.
[0076] As a result, the central processing unit 30 can obtain the detection data from each of at least one data communication device 10 connected to the host device 20 after encrypting it using a predetermined specific encryption method, so that regardless of which data communication device 10 the detection data is obtained from, it only needs to perform the same decryption process, thereby reducing the processing burden associated with decryption.
[0077] The host device 20 may transmit the detection data acquired from each of at least one data communication device 10 to the central processing unit 30 in a state in which the data data has been encrypted using an encryption method predetermined by the data communication device 10. In other words, the host device 20 may transmit the detection data acquired from each of at least one data communication device 10 to the central processing unit 30 as is, without decrypting or encrypting the data.
[0078] This means that even if the host device receives data one after another from each of at least one data communication device 10, it only needs to send the data as is to the central processing unit 30, thereby reducing the processing burden related to decryption and encryption.
[0079] As described above, the host device 20 and each of the at least one data communication device 10 communicate data using an encryption method and hash method predetermined for each of the at least one data communication device 10, and therefore, each of the at least one data communication device 10 may be provided with a control device 11 capable of performing encryption processing suited to its individual security level. This ensures security of data communication while suppressing increases in size, cost, and power consumption compared to when all of the data communication devices 10 are provided with a control device 11 capable of performing encryption processing suited to the highest security level.
[0080] The host device 20 can execute encryption processing according to the security level of at least one connected data communication device 10 and assign a hash value that is the result of calculation using a hash method, thereby flexibly supporting data communication devices 10 with various security levels. As a result, the host device 20 does not need to execute high-speed processing for encrypting data communication between the host device 20 and all connected data communication devices 10, thereby suppressing increases in power consumption.
[0081] The data communication device 10 only needs to be provided with a control device 11 that corresponds to a predetermined security level. In particular, data communication devices 10 such as sensors that do not require security can use inexpensive and small control devices 11, which allows the cost and power consumption of the data communication device 10 to be reduced.
[0082] The host device 20 encrypts data according to the encryption information and hash information specified by the data communication device 10 and assigns a hash value, but the encryption method and hash method cannot be specified from the host device 20. This prevents a fake host device masquerading as the legitimate host device 20 from specifying the encryption method and hash method to the data communication device 10, ensuring the confidentiality of data in data communication between the host device 20 and the data communication device 10.
[0083] [Example of Data Retransmission] Data retransmission from the data communication device 10 to the host device 20 will be described with reference to Fig. 5. Fig. 5 is a diagram showing an example of data retransmission from the data communication device 10 to the host device 20.
[0084] As described above, in the data communication system 1, the host device 20 is configured to periodically receive detection data from the data communication device 10, but there may be cases where the host device 20 is unable to receive the detection data from the data communication device 10 due to some kind of abnormality.
[0085] 5, the data communication device 10 transmits the detection data to the host device 20 as the nth data response, and then, after a predetermined time has elapsed, transmits the detection data to the host device 20 as the (n+1)th data response. However, there may be a case where the (n+1)th data response is not normally received by the host device 20 even after the predetermined time has elapsed due to some abnormality. In this case, the host device 20 requests the data communication device 10 to resend the (n+1)th detection data.
[0086] Specifically, when the host device 20 times out without receiving the EOD of the data related to the (n+1)th data response transmitted from the data communication device 10, the host device 20 transmits request information to the data communication device 10 again, requesting a retransmission of the (n+1)th detection data. At this time, the request information related to the data retransmission request from the host device 20 to the data communication device 10 includes command data for requesting a retransmission of the (n+1)th detection data, sets the counter to "m" indicating the mth transmission, and sets the data format to "5." In other words, when requesting a retransmission of the detection data from the data communication device 10, the host device 20 encrypts the data related to the data retransmission request based on the encryption information and hash information corresponding to the data format "5" specified by the data communication device 10 at the time of the communication response, and transmits the data with a hash value added.
[0087] When the data communication device 10 receives request information related to a data retransmission request from the host device 20, it retransmits the (n+1)th detection data to the host device 20. At this time, the data related to the retransmission of the data response from the data communication device 10 to the host device 20 includes the (n+1)th detection data in the data body, has the counter set to "n+1" indicating the (n+1)th transmission, and has the data format set to "5." In other words, when retransmitting the detection data to the host device 20, the data communication device 10 encrypts the detection data based on the encryption information and hash information corresponding to the data format "5" specified for the data communication device 10 at the time of the communication response, and retransmits the encrypted data with a hash value added.
[0088] Thereafter, when the elapsed time since the (n+1)th retransmission of the detected data reaches a predetermined time, data communication device 10 detects the data again and transmits the detected data as the (n+2)th data response to host device 20. At this time, the data related to the data response from data communication device 10 to host device 20 includes the (n+2)th detected data in the data body, the counter is set to "n+2" indicating the (n+2)th transmission, and the data format is set to "5".
[0089] In this way, if the host device 20 is unable to receive detection data from the data communication device 10, it can request the data communication device 10 to resend the data, thereby obtaining the detection data again from the data communication device 10. This allows the host device 20 to obtain the detection data transmitted from the data communication device 10 without missing any data.
[0090] Another example of data retransmission from the data communication device 10 to the host device 20 will be described with reference to Fig. 6. Fig. 6 is a diagram showing another example of data retransmission from the data communication device 10 to the host device 20.
[0091] 6, the data communication device 10 transmits detection data to the host device 20 as the nth data response, and then, after a predetermined time has elapsed, transmits detection data to the host device 20 as the (n+1)th data response. However, due to some abnormality, the (n+1)th data response may not be received correctly by the host device 20, and the next (n+2)th data response may be received correctly by the host device 20. In this case, the host device 20 requests the data communication device 10 to resend the (n+1)th detection data and the (n+2)th detection data.
[0092] Specifically, when the host device 20 receives the EOD of the data related to the next (n+2)th data response without receiving the EOD of the data related to the (n+1)th data response transmitted from the data communication device 10, and then receives the EOD of the data related to the next (n+3)th data response, the host device 20 again transmits request information to the data communication device 10 requesting retransmission of the (n+1)th detection data and the (n+2)th detection data. The host device 20 considers the (n+3)th data response to have been received successfully.
[0093] The request information data relating to the data retransmission request from the host device 20 to the data communication device 10 includes command data for requesting retransmission of the (n+1)th detection data and the (n+2)th detection data, the counter is set to "m" indicating the mth transmission, and the data format is set to "5." That is, when requesting retransmission of the detection data from the data communication device 10, the host device 20 encrypts the data relating to the data retransmission request based on the encryption information and hash information corresponding to the data format "5" specified by the data communication device 10 at the time of the communication response, and transmits the data with a hash value added.
[0094] When the data communication device 10 receives request information related to a data retransmission request from the host device 20, it retransmits the (n+1)th detection data to the host device 20. At this time, the data related to the retransmission of the data response from the data communication device 10 to the host device 20 includes the (n+1)th detection data in the data body, has the counter set to "n+1" indicating the (n+1)th transmission, and has the data format set to "5." In other words, when retransmitting the detection data to the host device 20, the data communication device 10 encrypts the detection data based on the encryption information and hash information corresponding to the data format "5" specified for the data communication device 10 at the time of the communication response, and retransmits the encrypted data with a hash value added.
[0095] Furthermore, in response to a data retransmission request from the host device 20, the data communication device 10 retransmits the (n+2)th detection data to the host device 20. At this time, the data related to the retransmission of the data response from the data communication device 10 to the host device 20 includes the (n+2)th detection data in the data body, sets the counter to "n+2" indicating the (n+2)th transmission, and sets the data format to "5." In other words, when retransmitting the detection data to the host device 20, the data communication device 10 encrypts the detection data based on the encryption information and hash information corresponding to the data format "5" specified for the data communication device 10 at the time of the communication response, and retransmits the data with a hash value added.
[0096] Thereafter, when the elapsed time since the (n+2)th retransmission of the detected data reaches a predetermined time, data communication device 10 detects the data again and transmits the detected data as the (n+4)th data response to host device 20. At this time, the data related to the data response from data communication device 10 to host device 20 includes the (n+4)th detected data in the data body, the counter is set to "n+4" indicating the (n+4)th transmission, and the data format is set to "5".
[0097] In this way, if the host device 20 is unable to receive detection data from the data communication device 10, it can request the data communication device 10 to resend the data, thereby obtaining the detection data again from the data communication device 10. This allows the host device 20 to obtain the detection data transmitted from the data communication device 10 without missing any data.
[0098] [Variation] In the data communication system 1 according to the variation, the host device 20 may be configured to perform encryption processing or calculate the IV and the data body based on a hash method in data communication with the data communication device 10 when controlling the data communication device 10.
[0099] For example, the data communication device 10 connected to the host device 20 may be a control device that controls a device (not shown) in accordance with control data from the host device 20. For example, the control device may be configured to open and close a door in accordance with the control data from the host device 20.
[0100] The host device 20 may then obtain encryption information and hash information in accordance with the data format included in the data related to the communication response from the data communication device 10, which is the control device, and may encrypt the control data based on the encryption information and hash information and assign a hash value to the control data, and transmit the control data to the data communication device 10. The data communication device 10 may control a device in accordance with the data obtained by decrypting the control data obtained from the host device 20. For example, the data communication device 10 may be configured to open and close a door based on the control data obtained from the host device 20.
[0101] The data communication system 1 according to the embodiment and the modified example has been described above, but the data communication system 1 may also have functions shared among the devices in a pattern as shown in Fig. 7. Fig. 7 is a diagram showing an example of function sharing in the data communication system 1.
[0102] As shown in Figure 7, the main functions of the data communication system 1 include a data acquisition function for acquiring data such as CO2 from the target space, a data collection function for collecting data acquired by each of at least one data communication device 10, a calculation function for analyzing the time-varying change in CO2 concentration in the target space using the collected data, a control data generation function for generating control data for displaying the analysis results, and an operation function for displaying the time-varying change in CO2 concentration according to the control data.
[0103] In function sharing pattern 1, the data communication device 10 has a data acquisition function, the host device 20 has a data collection function, the central processing unit 30 has a calculation function and a control data generation function, and the terminal device 40 has an operation function.
[0104] In function sharing pattern 2, the data communication device 10 has a data acquisition function, the host device 20 has a data collection function and a calculation function, the central processing unit 30 has a control data generation function, and the terminal device 40 has an operation function.
[0105] In function sharing pattern 3, the data communication device 10 has a data acquisition function, the host device 20 has a data collection function, a calculation function, and a control data generation function, and the terminal device 40 has an operation function. In addition, in the case of pattern 3, the host device 20 is configured integrally with the central processing unit 30. The device in which the host device 20 and the central processing unit 30 are configured integrally may be a PC, a server, or a cloud.
[0106] The range of functions possessed by the data communication system 1 can also be distinguished by patterns A to D. For example, in pattern A, the data communication system 1 has a data acquisition function and a data collection function. In pattern B, the data communication system 1 has a data acquisition function, a data collection function, and a calculation function. In pattern C, the data communication system 1 has a data acquisition function, a data collection function, a calculation function, and a control data generation function. In pattern D, the data communication system 1 has a data acquisition function, a data collection function, a calculation function, a control data generation function, and an operation function.
[0107] <Aspects> (Item 1) A data communication system (1) according to one aspect includes at least one data communication device (10) and a host device (20) capable of communicating with the at least one data communication device. Each of the at least one data communication device transmits encryption information relating to an encryption method predetermined for the data communication device to the host device. The host device receives the encryption information from each of the at least one data communication device. The host device and each of the at least one data communication device perform data communication based on the encryption information.
[0108] (2) In the data communication system described in 1, the host device and each of the at least one data communication devices determine whether or not to encrypt data in data communication based on encryption information.
[0109] (Clause 3) In the data communication system described in clause 1 or 2, each of the at least one data communication device transmits hash information relating to a hash method predetermined for that data communication device to the host device. The host device receives the hash information from each of the at least one data communication device. The host device and each of the at least one data communication device perform data communication based on the hash information.
[0110] (4) In the data communication system described in 3, the host device and each of the at least one data communication device determine whether or not to assign a hash value to data in data communication based on hash information.
[0111] (Clause 5) In the data communication system described in any one of clauses 1 to 4, each of at least one data communication device transmits data to a host device based on the encryption information regarding the encryption method corresponding to the data communication device.
[0112] (Clause 6) In the data communication system described in any one of clauses 1 to 5, when the host device is unable to receive data from at least one data communication device, the host device transmits request information to at least one data communication device requesting a retransmission of the data. In response to receiving the request information, the at least one data communication device retransmits the data to the host device.
[0113] (Clause 7) In the data communication system described in any one of clauses 1 to 6, the host device transmits data to each of at least one data communication device based on the encryption information regarding the encryption method corresponding to that data communication device.
[0114] (Clause 8) In the data communication system described in any one of clauses 1 to 7, at least one data communication device includes at least one of a sensor device that detects data, a camera device that photographs an object, and a control device that controls the device.
[0115] (Item 9) The data communication system according to any one of Items 1 to 8 further comprises a central processing unit (30) capable of communicating with the host device. The host device encrypts data acquired from each of the at least one data communication device using a predetermined specific encryption method regardless of the at least one data communication device, and transmits the encrypted data to the central processing unit.
[0116] (10) The data communication system according to any one of paragraphs 1 to 8 further comprises a central processing unit (30) capable of communicating with a host device. The host device transmits data acquired from each of the at least one data communication device to the central processing unit in a state in which the data is encrypted using an encryption method corresponding to the data communication device.
[0117] (11) In the data communication system described in any one of paragraphs 1 to 10, at least one data communication device and the host device can communicate via a connector (130, 230) that complies with the USB standard, or via a wireless connection.
[0118] (12) A data communication device (10) according to one aspect includes a control device (11) and a communication interface (13) for communicating with a host device. The control device receives inquiry information relating to an inquiry about an encryption method from the host device, and in response to the reception of the inquiry information, transmits encryption information relating to a predetermined encryption method to the host device, and performs data communication with the host device based on the encryption information.
[0119] (13) A host device (20) according to one aspect includes a control device (21) and a communication interface (23) for communicating with at least one data communication device. The control device transmits, to each of the at least one data communication device, inquiry information relating to an inquiry about an encryption method predetermined for that data communication device, receives encryption information relating to the encryption method corresponding to that data communication device from each of the at least one data communication device, and performs data communication with each of the at least one data communication device based on the encryption information.
[0120] (Clause 14) A data communication method according to one aspect includes the steps of receiving inquiry information from a host device (20) regarding an inquiry about an encryption method, transmitting encryption information regarding a predetermined encryption method to the host device in response to the reception of the inquiry information, and performing data communication with the host device based on the encryption information.
[0121] (Clause 15) A data communication method according to one aspect includes the steps of: transmitting, to each of at least one data communication device (10), inquiry information regarding an inquiry about an encryption method predetermined for the data communication device; receiving, from each of the at least one data communication device, encryption information regarding the encryption method corresponding to the data communication device; and performing data communication with each of the at least one data communication device based on the encryption information.
[0122] (Clause 16) A data communication program according to one embodiment includes the steps of receiving inquiry information from a host device (20) regarding an inquiry about an encryption method, transmitting encryption information regarding a predetermined encryption method to the host device in response to the reception of the inquiry information, and performing data communication with the host device based on the encryption information.
[0123] (Clause 17) A data communication program according to one embodiment includes the steps of: transmitting, to each of at least one data communication device (10), inquiry information regarding an inquiry about an encryption method predetermined for the data communication device; receiving, from each of the at least one data communication device, encryption information regarding the encryption method corresponding to the data communication device; and performing data communication with each of the at least one data communication device based on the encryption information.
[0124] Although the embodiments and modifications have been described above, the features of each of these embodiments and modifications can be combined as appropriate within the scope of not causing any contradiction.
[0125] The embodiments disclosed herein should be considered to be illustrative in all respects and not restrictive. The scope of the present disclosure is defined by the claims, not by the description of the above embodiments, and is intended to include all modifications within the meaning and scope of the claims.
[0126] 1 Data communication system, 10, 10A, 10B, 10C, 10D Data communication device, 11, 21 Control device, 12, 22 Memory unit, 13, 23 Communication interface, 14 Data detection unit, 20 Host device, 24 Communication device, 30 Central processing unit, 40 Terminal device, 50 Network, 120, 220 Control program, 125 Setting data, 130 Insertion side connector, 230 Receiving side connector.
Claims
1. 1. A data communication system comprising: at least one data communication device; a host device capable of communicating with the at least one data communication device; each of the at least one data communication device transmits encryption information regarding an encryption method for data communication with the host device, the encryption information being designated in advance by the data communication device; the host device receives the encryption information from each of the at least one data communication device, and identifies the encryption method based on the encryption information; The host device and each of the at least one data communication devices perform data communication based on the encryption information.
2. 2. The data communication system according to claim 1, wherein said host device and each of said at least one data communication devices decide whether or not to encrypt data in data communication based on said encryption information.
3. each of the at least one data communication device transmits hash information regarding a hash method of data communication with the host device, the hash information being designated in advance by the data communication device, to the host device; the host device receives the hash information from each of the at least one data communication device and identifies the hash scheme based on the hash information; 3. The data communication system according to claim 1, wherein the host device and each of the at least one data communication devices perform data communication based on the hash information.
4. 4. The data communication system according to claim 3, wherein the host device and each of the at least one data communication devices determine whether or not to assign a hash value to data in data communication based on the hash information.
5. 3. The data communication system according to claim 1, wherein each of said at least one data communication device transmits data encrypted by said encryption method to said host device.
6. when the host device cannot receive data from the at least one data communication device, the host device transmits request information to the at least one data communication device to request retransmission of the data; 3. The data communications system of claim 1, wherein the at least one data communications device retransmits data to the host device in response to receiving the request information.
7. 3. The data communication system according to claim 1, wherein the host device transmits data encrypted by the encryption method to each of the at least one data communication device.
8. The data communication system according to claim 1 or 2, wherein the at least one data communication device includes at least one of a sensor device for detecting data, a camera device for photographing an object, and a control device for controlling the device.
9. a central processing unit capable of communicating with the host device; 3. The data communication system according to claim 1, wherein the host device encrypts data acquired from each of the at least one data communication device using a predetermined specific encryption method regardless of the at least one data communication device and transmits the data to the central processing unit.
10. a central processing unit capable of communicating with the host device; 3. The data communication system according to claim 1, wherein the host device transmits data acquired from each of the at least one data communication device to the central processing unit in a state in which the data is encrypted using the encryption method corresponding to the data communication device.
11. 3. The data communication system according to claim 1, wherein the at least one data communication device and the host device are capable of communicating with each other via a connector conforming to the USB standard or via a wireless connection.
12. 1. A data communications device for communicating with a host device, comprising: A control device; a communication interface for communicating with the host device; The control device includes: receiving inquiry information from the host device regarding an inquiry about an encryption method for data communication with the host device; In response to receiving the inquiry information, transmitting encryption information regarding the encryption method pre-specified by the data communication device to the host device; A data communication device that performs data communication with the host device based on the encrypted information.
13. A host device in communication with at least one data communication device, comprising: A control device; a communications interface for communicating with the at least one data communications device; The control device includes: Transmitting inquiry information to each of the at least one data communication device regarding an encryption method for data communication between the data communication device and the host device designated in advance by the data communication device; receiving encryption information from each of the at least one data communication devices regarding the encryption method corresponding to the data communication device, and identifying the encryption method based on the encryption information; A host device that performs data communication with each of the at least one data communication devices based on the encryption information.
14. 1. A computer-implemented data communications method for a data communications device communicating with a host device, comprising: receiving inquiry information from the host device regarding an inquiry about an encryption method for data communication with the host device; in response to receiving the inquiry information, transmitting encryption information regarding the encryption method pre-specified by the data communication device to the host device; A data communication method comprising the step of performing data communication with the host device based on the encrypted information.
15. 1. A computer-implemented data communications method for a host device communicating with at least one data communications device, comprising: transmitting, to each of the at least one data communication device, inquiry information regarding an inquiry about an encryption method for data communication between the data communication device and the data communication device, the inquiry information being designated in advance by the data communication device; receiving encryption information from each of the at least one data communication devices regarding the encryption method corresponding to the data communication device, and identifying the encryption method based on the encryption information; A data communication method comprising the step of performing data communication with each of the at least one data communication devices based on the encryption information.
16. A data communication program executed by a computer for a data communication device to communicate with a host device, receiving inquiry information from the host device regarding an inquiry about an encryption method for data communication with the host device; in response to receiving the inquiry information, transmitting encryption information regarding the encryption method pre-specified by the data communication device to the host device; A data communication program comprising the step of performing data communication with the host device based on the encrypted information.
17. A data communications program executed on a computer for a host device to communicate with at least one data communications device, comprising: transmitting, to each of the at least one data communication device, inquiry information regarding an inquiry about an encryption method for data communication between the data communication device and the data communication device, the inquiry information being designated in advance by the data communication device; receiving encryption information from each of the at least one data communication devices regarding the encryption method corresponding to the data communication device, and identifying the encryption method based on the encryption information; A data communication program comprising: each of the at least one data communication device and a step of performing data communication based on the encryption information.