Patent Description:
The present invention was developed with the support of the research project of the Ministry of Science and ICT (MSIT), which is managed by the Institute for Information & communications Technology Planning & Evaluation (IITP) (Project Title: "Composite Secure-OS based Open-CPS Next Generation Convergence Security Technology Development for Large-Scale (Five Million) IIoT Security," Project Number: <NUM>-<NUM>-<NUM>).

Internet of Things (IoT) technology refers to a technology of embedding sensors and communication functions in various things and connecting the various things to the Internet. According to IoT technology, not only devices such as computers and mobile communication terminals but also various types of devices such as home appliances and wearable devices can be connected to the Internet. In this disclosure, a device to which IoT technology is applied is referred to as an "IoT device.

Meanwhile, when IoT devices perform communication with each other, IoT devices mainly transmit and receive data using wireless communication technology. Thus, a malicious user can illegally collect data or falsify data. To prevent such illegal data collection or falsification, it is necessity to strengthen security of IoT.

For example, <CIT> by Industry-Academy Collaboration Corporation, Gyeongju Campus, Dongguk University, and issued on January <NUM>, <NUM>, entitled "Information Security Method in Environment of Internet of Things and Information Security System Using The Method," discloses a method using a certification center which generates a public key (encryption key) and a private key (decryption key) and transmits the public key and the private key to an upload terminal (or a client terminal).

However, according to the method disclosed in <CIT>, an upload terminal receives a public key through a certification center and then only performs a function of transmitting data to a client storage center, and a client terminal receives a decryption key through the certification center and then only performs a function of receiving the data from the client storage center. That is, according to the method disclosed in <CIT>, the certification center is indispensable for encrypting or decrypting data. Therefore, when the certification center receives an attack such as hacking, the upload terminal (or the client terminal) cannot transmit and receive data normally. Further, the method disclosed in <CIT>can be applied to only a case in which the upload terminal transmits data to the client storage center or the client terminal receives data from the client storage center and cannot be applied to a case in which data is transmitted and received between general IoT devices.

Further, <CIT> by Industry-Academy Collaboration Corporation, Kyungpook National University and issued on November <NUM>, <NUM>, entitled "Method for Providing Security in IoT," discloses a method of using predetermined image information as a security key.

However, the method disclosed in <CIT> can only be applied to a case in which IoT devices share predetermined image information and cannot be applied to a case in which data is transmitted and received between general IoT devices.

<CIT> describes that a master generates a session key, receives public keys from a plurality of slaves, encrypts the session key using the individual public keys, transmits the encrypted session key to the plurality of slaves, encrypts data using the encrypted session key, and sends it to the plurality of slaves. A plurality of slaves transmit public keys to a master device, receive and decrypt a session key encrypted using individual public keys, receive data encrypted using the session key from the master, and decrypt it using the decrypted session key.

The present invention is directed to providing an Internet of things (IoT) device which is capable of defending against an attack such as hacking while strengthening security of IoT by dynamically determining whether a device operates as a master device in an IoT network, and, when the master device is determined, generating, distributing, and managing private keys of other IoT devices in the IoT network.

To solve the above technical problem, the present invention provides a first IoT (Internet of Things) device in an IoT network of the first IoT device through an nth IoT device (where n is a natural number equal to or greater than <NUM>), the first IoT device including: a key generator configured to store a master key and including a key generation logic for generating a private key based on the master key; a communication unit configured to communicate with the second IoT device through the nth IoT device in the IoT network; and an arithmetic unit configured to perform processes of: (a) determining whether the first IoT device is a master device in the IoT network; (b) when the first IoT device is determined to be the master device in the IoT network, generating a second private key through an nth private key respectively corresponding to the second IoT device through the nth IoT device by using the key generator and transmitting the second private key through the nth private key to the second IoT device through the nth IoT device, respectively, via the communication unit; and (c) when the first IoT device is determined to be not the master device in the IoT network, receiving a first private key corresponding to the first IoT device from one of the second IoT device through the nth IoT device determined as the masterdevice, wherein the process (b) comprises processes of: (b-<NUM>) receiving a second normal key through an nth normal key from the second IoT device through the nth IoT device, respectively, via the communication unit; (b-<NUM>) generating the second private key through the nth private key based on the master key and the second normal key through the nth normal key by using the key generator; and (b-<NUM>) transmitting the second private key through the nth private key to the second IoT device through the nth IoT device, respectively.

In accordance with the present invention, it is possible to provide an Internet of things (IoT) device which is capable of defending against an attack such as hacking while strengthening security of IoT by dynamically determining whether to operate as a master device in an IoT network, and, when the master device is determined, generating, distributing, and managing private keys of other IoT devices in the IoT network.

Hereinafter, embodiments of an Internet of Things (IoT) device of the present invention will be described in more detail with reference to the accompanying drawings. In the drawings for describing the embodiments of the present invention, for convenience of description, only a part of an actual structure may be shown, a part thereof may be omitted and shown, a part may be modified and shown, or a scale may be shown differently.

<FIG> is a block diagram illustrating an exemplary configuration of an Internet of things (IoT) device <NUM> according to the present invention.

Referring to <FIG>, the IoT device <NUM> according to the present invention includes a key generator <NUM>, a communication unit <NUM>, and an arithmetic unit <NUM>.

The key generator <NUM> stores a master key <NUM>. The key generator <NUM> may further store a first normal key <NUM>. The key generator <NUM> may further store at least one among a first private key <NUM> and a first sub-private key <NUM>.

Further, the key generator <NUM> includes a key generation logic <NUM> which generates a private key based on the master key <NUM>.

The key generation logic <NUM> has a function of deriving a key using a master key. For example, a derived key is generated by encrypting a master Key and derivation data.

This is simply shown as follows. Derived Key = Encrypt (Master Key, Derivation Data).

Encrypt (A, B) is an encryption function using A and B.

The key generation logic <NUM> generates a private key based on the master key <NUM>. That is, the private key may be derived using the master key <NUM> and derivation data which are pre-stored.

The derivation data, which will be described below, may be at least one among a first normal key <NUM> to an nth normal key corresponding to a first IoT device <NUM>-<NUM> to an nth IoT device <NUM>-n, respectively.

That is, the first normal key <NUM> to the nth normal key, which will be described below, are pieces of data which are formed to generate the private key by being used in the key generation logic <NUM> together with the master key <NUM>.

The first normal key <NUM> to the nth normal key may be used as public keys. For example, the first normal key <NUM> may be used as a public key of the first IoT device <NUM>-<NUM>, and the nth normal key may be used as a public key of the nth IoT device <NUM>-n.

However, the first normal key <NUM> may not be the public key of the first IoT device <NUM>-<NUM>, and the first IoT device <NUM>-<NUM> may use another public key instead of the first normal key <NUM>. Similarly, the nth normal key may not be the public key of the nth IoT device <NUM>-n, and the nth IoT device <NUM>-n may use another public key instead of the nth normal key.

The key generation logic <NUM> may derive a private key from either a first encryption level or a second encryption level. For example, the first encryption level may be a level for generating a <NUM>-bit key, and the second encryption level may be a level for generating an <NUM>-bit key.

Preferably, the key generator <NUM> is formed to not be replicated physically. The key generator <NUM> may be formed independently from the communication unit <NUM> and the arithmetic unit <NUM>. For example, the key generator <NUM> may be implemented using an Europay MasterCard Visa (EMV) chip manufactured according to an EMV standard in which external illegal access is impossible, or a trusted execution environment (TEE) chip manufactured according to a TEE standard including trust elements in which external illegal access is impossible.

Thus, the master key <NUM> and the key generation logic <NUM> are maintained in the key generator <NUM> according to a very high security level. Similarly, the first normal key <NUM>, the first private key <NUM>, and the first sub-private key <NUM>, which will be described below, may also be maintained in the key generator <NUM> according to a very high security level.

The communication unit <NUM> performs communication with other IoT devices of an IoT network including the IoT device <NUM> according to the present invention.

<FIG> is a diagram illustrating an exemplary configuration of an IoT network including the IoT device according to the present invention.

Referring to <FIG>, an IoT network <NUM> includes a first IoT device <NUM>-<NUM> and a second IoT device <NUM>-<NUM> to an nth IoT device <NUM>-n (n is a natural number of two or more). The number of IoT devices included in the IoT network <NUM> may be changed. For example, an (n+<NUM>)th IoT device <NUM>-(n+<NUM>) may be added to the IoT network <NUM> shown in <FIG>, or at least one among the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n may be excluded from the IoT network <NUM>. For example, when the second IoT device <NUM>-<NUM> malfunctions, the second IoT device <NUM>-<NUM> may be excluded from the IoT network <NUM>.

The IoT device <NUM> according to the present invention may be at least one among the first IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n. For example, the IoT device <NUM> according to the present invention may be the first IoT device <NUM>-<NUM>. Alternatively, all of the first IoT device <NUM>-<NUM> and the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n, which are included in the IoT network <NUM>, may operate as the IoT device <NUM> according to the present invention.

That is, the second IoT device <NUM>-<NUM> includes a key generator (not shown), a communication unit (not shown), and an arithmetic unit (not shown), and similarly, the nth IoT device <NUM>-n includes a key generator (not shown), a communication unit (not shown), and an arithmetic unit (not shown).

The key generator of the second IoT device <NUM>-<NUM> stores a master key identical to or different from a master key of the first IoT device <NUM>-<NUM> and has a key generation logic (not shown). Further, the key generator of the second IoT device <NUM>-<NUM> may store a second normal key in advance and may further store a second private key and a second sub-private key. Similarly, the key generator of the nth IoT device <NUM>-n stores a master key identical to or different from the master key of the first IoT device <NUM>-<NUM> and has a key generation logic (not shown). Further, the key generator of the nth IoT device <NUM>-n may store an nth normal key in advance and may further store an nth private key and an nth sub-private key.

The normal keys, i.e., the first normal key to the nth normal key, may be stored in advance in corresponding ones among the first IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n. For example, the normal keys are determined according to a policy of a manufacturer or user of the first IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n. For example, the normal keys may also be used as values which are capable of determining whether the first IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n may be included in the IoT network <NUM>. That is, only an IoT device which includes a normal key determined according to a specific policy may be added to the IoT network <NUM>. For example, only an IoT device which includes a normal key determined according to a policy of a specific automaker may be added to an IoT network in a specific vehicle.

As described above, the normal key may be used as a public key but also may not be used as the public key.

Hereinafter, the IoT device <NUM> according to the present invention will be described by assuming that the IoT device <NUM> according to the present invention is the first IoT device <NUM>-<NUM> shown in <FIG>. Detailed configurations of the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n may be different from the configuration of the first IoT device <NUM>-<NUM>. However, each of the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n includes the key generator <NUM>, the communication unit <NUM>, and the arithmetic unit <NUM>. Therefore, since an operation of generating and managing a private key in each of the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n are substantially the same as an operation in the first IoT device <NUM>-<NUM>, detailed descriptions of the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n will be omitted.

As described above, the communication unit <NUM> performs communication with other IoT devices of the IoT network <NUM> including the IoT device <NUM> according to the present invention. For example, since the IoT device <NUM> according to the present invention is the first IoT device <NUM>-<NUM>, the communication unit <NUM> performs communication with the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n which are included in the IoT network <NUM>.

The arithmetic unit <NUM> performs the following process.

A master device is any one among the first IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n which are included in the IoT network <NUM>. The master device is a device which generates private keys of the first IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n, i.e., first to nth private keys, and transmits the generated first to nth private keys to other devices which are not the master device among the first IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n. For example, when the first IoT device <NUM>-<NUM> is a master device, the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n may also be referred to as slave devices.

<FIG> are exemplary diagrams illustrating a process in the arithmetic unit <NUM> in the IoT device according to the present invention. <FIG> illustrates a process in which the arithmetic unit <NUM> determines whether the first IoT device <NUM>-<NUM> is a master device in the IoT network <NUM>.

As described above, since the IoT device <NUM> according to the present invention is the first IoT device <NUM>-<NUM>, the arithmetic unit <NUM> performs a process of determining whether the first IoT device <NUM>-<NUM> is the master device in the IoT network <NUM>.

Referring to <FIG>, the arithmetic unit <NUM> transmits a network participation signal (an "attending signal" of <FIG>) to each of the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n through the communication unit <NUM> (S10).

Preferably, after the arithmetic unit <NUM> transmits the network participation signal to each of the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n, the arithmetic unit <NUM> may receive a response signal (not shown) with respect to the network participation signal (the "attending signal" of <FIG>) from each of the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n through the communication unit <NUM>. The response signal has a format similar to that of the network participation signal.

Next, the arithmetic unit <NUM> operates a timer (not shown) based on unique identification information of the first IoT device <NUM>-<NUM> or an arbitrarily determined value (S15).

The timer is one of functions embedded in the arithmetic unit <NUM>. The unique identification information of the first IoT device <NUM>-<NUM> is identification information which does not overlap identification information of the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n. Preferably, the unique identification information is formed to correspond to only the first IoT device <NUM>-<NUM>. For example, the unique identification information of the first IoT device <NUM>-<NUM> may be a unique value determined based on a radioactive isotope of a semiconductor corresponding to the first IoT device <NUM>-<NUM>.

Until the operation of the timer is terminated (S20), when a signal indicating that one among the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n has been determined as a master device is not received from any one among the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n, the arithmetic unit <NUM> determines the first IoT device <NUM>-<NUM> as a master device (S25).

After the first IoT device <NUM>-<NUM> is determined as the master device, the arithmetic unit <NUM> may transmit a signal indicating that the first IoT device <NUM>-<NUM> has been determined as the master device (a "master signal" of <FIG>) to each of the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n (S30).

That is, the arithmetic unit <NUM> may notify the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n which are included in the IoT network <NUM> that the first IoT device <NUM>-<NUM> is determined as the master device.

Meanwhile, even after the first IoT device <NUM>-<NUM> is determined as the master device, the arithmetic unit <NUM> may determine that the first IoT device <NUM>-<NUM> is not the master device.

<FIG> illustrates a process of determining, after the arithmetic unit <NUM> determines the first IoT device <NUM>-<NUM> as the master device in the IoT network <NUM>, the first IoT device <NUM>-<NUM> as not being the master device again.

Referring to <FIG>, after the arithmetic unit <NUM> determines the first IoT device <NUM>-<NUM> as the master device in operation S25, when a predetermined condition is satisfied, the arithmetic unit <NUM> determines that the first IoT device <NUM>-<NUM> is not the master device (S35).

The predetermined condition is as follows.

First, the predetermined condition is a case in which at least one IoT device is added to the IoT network <NUM>. That is, in the IoT network <NUM> shown in <FIG>, the predetermined condition is a case in which an (n+<NUM>)th IoT device <NUM>-(n+<NUM>) is added.

Next, in the IoT network <NUM>, the predetermined condition is a case in which at least one IoT device is excluded. That is, in the IoT network <NUM> shown in <FIG>, the predetermined condition is a case in which any one among the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n is excluded.

For example, when the second IoT device <NUM>-<NUM> malfunctions or the second IoT device <NUM>-<NUM> fails and thus an operation thereof is no longer possible, the second IoT device <NUM>-<NUM> is excluded from the IoT network <NUM>.

As described above, when the number of IoT devices included in the IoT network <NUM> is changed, the first IoT device <NUM>-<NUM> may directly operate as a master device. For example, when the second IoT device <NUM>-<NUM> is excluded from the IoT network <NUM>, the first IoT device <NUM>-<NUM> may directly operate as the master device. Further, even when the (n+<NUM>)th IoT device <NUM>-(n+<NUM>) is added, the first IoT device <NUM>-<NUM> may directly operate as the master device. When the (n+<NUM>)th IoT device <NUM>-<NUM>(n+<NUM>) is added, the (n+<NUM>)th IoT device <NUM>-(n+<NUM>) transmits an (n+<NUM>)th normal key to the first IoT device <NUM>-<NUM>. The arithmetic unit <NUM> generates an (n+<NUM>)th private key using the master key <NUM> and the (n+<NUM>)th normal key through the key generation logic <NUM> and transmits the (n+<NUM>)th private key to the (n+<NUM>)th IoT device <NUM>-(n+<NUM>) using the communication unit <NUM>.

However, when the number of IoT devices included in the IoT network <NUM> is changed, a new master device may be determined again.

That is, the above-described process of determining a master device may be performed by including the newly added IoT device. For example, the arithmetic unit <NUM> may determine the first IoT device <NUM>-<NUM> as the master device again through operations S10 to S30 shown in <FIG>. Alternatively, with reference to a description, which will be made below, relating to <FIG>, the arithmetic unit <NUM> may determine that the first IoT device <NUM>-<NUM> is not the master device.

Meanwhile, the arithmetic unit <NUM> may directly determine that the first IoT device <NUM>-<NUM> is not the master device without performing operations S10 to S30 shown in <FIG>. That is, when the first IoT device <NUM>-<NUM> is determined as the master device and then it is determined that the first IoT device <NUM>-<NUM> is not the master device, the arithmetic unit <NUM> may automatically determine that the first IoT device <NUM>-<NUM> is not the master device without transmitting the network participation signal (the "attending signal" of <FIG>).

Next, in the IoT network <NUM>, the predetermined condition is a case in which the first IoT device <NUM>-<NUM> receives an external attack such as hacking.

When the first IoT device <NUM>-<NUM> receives an attack such as hacking and continues to operate as the master device, a security problem may occur.

Accordingly, the arithmetic unit <NUM> determines that the first IoT device <NUM>-<NUM> is not the master device (S35). Even in this case, the arithmetic unit <NUM> may directly determine that the first IoT device <NUM>-<NUM> is not the master device without performing operations S10 to S30 shown in <FIG>. That is, when the first IoT device <NUM>-<NUM> receives an attack such as hacking, the arithmetic unit <NUM> may automatically determine that the first IoT device <NUM>-<NUM> is not the master device without transmitting the network participation signal (the "attending signal" of <FIG>).

After the arithmetic unit <NUM> performs operation S35 and determines that the first IoT device <NUM>-<NUM> is not the master device through operation S35, the arithmetic unit <NUM> may transmit a signal indicating that the first IoT device <NUM>-<NUM> is not the master device (a "cancel signal" of <FIG>) to each of the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n (S40) through the communication unit <NUM>.

<FIG> illustrates a process in which the arithmetic unit <NUM> determines that the first IoT device <NUM>-<NUM> is not the master device in the IoT network <NUM> and then the arithmetic unit <NUM> receives a first private key from a master device.

Referring to <FIG>, the arithmetic unit <NUM> operates the timer in operation S15, and then, before the operation of the timer is terminated, the arithmetic unit <NUM> receives a signal indicating that any one among the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n has been determined as the master device (a "master signal" of <FIG>) from one among the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n through the communication unit <NUM> (S45).

When the arithmetic unit <NUM> receives the signal indicating that any one among the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n has been determined as the master device (the "master signal" of <FIG>) in operation S45, the arithmetic unit <NUM> determines that the first IoT device <NUM>-<NUM> is not the master device.

Operations S50 and S55 of <FIG> will be described below.

When the first IoT device <NUM>-<NUM> is the master device, the arithmetic unit <NUM> performs the following process. That is, in the description which is made with reference to <FIG>, when the arithmetic unit <NUM> determines the first IoT device <NUM>-<NUM> as the master device, the arithmetic unit <NUM> performs the following process.

<FIG> illustrates a process in which the arithmetic unit <NUM> generates and transmits private keys of the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n, i.e., second to nth private keys in the IoT network <NUM>.

Referring to <FIG>, the arithmetic unit <NUM> receives normal keys of the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n, i.e., a second normal key to an nth normal key, through the communication unit <NUM> (S60).

Next, the arithmetic unit <NUM> generates private keys corresponding to the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n, i.e., the second private key to the nth private key through the key generator <NUM> (S65). For example, the arithmetic unit <NUM> generates the second private key to the nth private key by inputting the second normal key to the nth normal key into the above-described key generation logic <NUM> (S65).

The key generation logic <NUM> may generate the second private key to the nth private key using the above-described Encrypt function. For example, the second private key is generated using Encrypt (master key, second normal key), and the nth private key is generated using Encrypt (master key, nth normal key).

Next, the arithmetic unit <NUM> transmits the second private key to the nth private key, which are generated in operation S65, to the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n (S70).

For example, the arithmetic unit <NUM> transmits the second private key to the second IoT device <NUM>-<NUM> through the communication unit <NUM>. Similarly, the arithmetic unit <NUM> transmits the nth private key to the nth IoT device <NUM>-n through the communication unit <NUM>.

Meanwhile, even when the arithmetic unit <NUM> determines the first IoT device <NUM>-<NUM> as the master device, the arithmetic unit <NUM> may generate the private key of the first IoT device <NUM>-<NUM>, i.e., the first private key.

<FIG> illustrates a process in which the arithmetic unit <NUM> generates the private key of the first IoT device <NUM>-<NUM>, i.e., the first private key.

The key generator <NUM> may further store a normal key of the first IoT device <NUM>-<NUM>, i.e., the first normal key <NUM> of <FIG>.

The arithmetic unit <NUM> may generate the first private key <NUM> of <FIG> using the master key <NUM> of <FIG> and the first normal key <NUM> of <FIG> through the key generator <NUM> (S75).

Similar to the above description, specifically, the first private key <NUM> of <FIG> may be generated using Encrypt (master key, first normal key).

Meanwhile, the key generator <NUM> may further store the first private key <NUM> of <FIG> generated in operation S75.

When the first IoT device <NUM>-<NUM> is not the master device, the arithmetic unit <NUM> performs the following process.

Referring again to <FIG>, when the signal indicating that any one among the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n has been determined as the master device (the "master signal" of <FIG>) in operation S45, the arithmetic unit <NUM> transmits the first normal key <NUM> of <FIG> to the master device which is one among the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n through the communication unit <NUM> (S50).

Next, the arithmetic unit <NUM> receives a first private key from the master device (S55).

Preferably, the key generator <NUM> may further store the first private key <NUM> of <FIG>.

Through the above-described process, the first private key <NUM> of <FIG>, which will be used when the first IoT device <NUM>-<NUM> performs encrypted communication, is obtained from the master device.

Meanwhile, the arithmetic unit <NUM> may further perform the following process.

<FIG> illustrates a process in which the arithmetic unit <NUM> determines whether the first IoT device <NUM>-<NUM> is a sub-master device in the IoT network <NUM>. The sub-master device is any one among the first IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n. Devices which are not the sub-master device among the first IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n may also be referred to as sub-slave devices.

Referring to <FIG>, the arithmetic unit <NUM> transmits a network participation signal (an "attending signal" of <FIG>) to each of the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n through the communication unit <NUM> (S110). Operation S110 of <FIG> is similar to operation S10 of <FIG>, but there is a difference that the network participation signal (the "attending signal" of <FIG>) is transmitted in operation S110 of <FIG> so as to determine a sub-master device, whereas the network participation signal (the "attending signal" of <FIG>) is transmitted in operation S10 of <FIG> so as to determine a master device.

Next, the arithmetic unit <NUM> operates the timer (S115). Until the operation of the timer is terminated (S120), when a signal, which indicates that one among the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n has been determined as a master device, is not received from any one among the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n, the arithmetic unit <NUM> determines the first IoT device <NUM>-<NUM> as a sub-master device (S125).

After the first IoT device <NUM>-<NUM> is determined as the sub-master device, the arithmetic unit <NUM> may transmit a signal indicating that the first IoT device <NUM>-<NUM> has been determined as the sub-master device (a "sub-master signal" of <FIG>) to each of the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n (S130).

Except that operations S110 to S130 of <FIG> are performed so as to determine the sub-master device whereas operations S10 to S30 of <FIG> are performed so as to determine the master device, operations S110 to S130 of <FIG> are substantially identical to operations S10 to S30 of <FIG>, and thus detailed descriptions thereof will be omitted.

<FIG> illustrates a process in which the arithmetic unit <NUM> determines the first IoT device <NUM>-<NUM> as not being the sub-master device in the IoT network <NUM> and then the arithmetic unit <NUM> receives a first sub-private key from a master device.

Referring to <FIG>, the arithmetic unit <NUM> operates the timer in operation S115, and then, before the operation of the timer is terminated, the arithmetic unit <NUM> receives a signal indicating that any one among the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n has been determined as the sub-master device (a "sub-master signal" of <FIG>) from one among the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n through the communication unit <NUM> (S145).

When the arithmetic unit <NUM> receives the signal indicating that any one among the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n has been determined as the sub-master device (the "sub-master signal" of <FIG>) in operation S145, the arithmetic unit <NUM> determines the first IoT device <NUM>-<NUM> as not being the sub-master device.

Operations S150 and S155 of <FIG> will be described below.

When the first IoT device <NUM>-<NUM> is not the sub-master device, the arithmetic unit <NUM> performs the following process.

Referring to <FIG> again, when the signal indicating that any one among the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n has been determined as the sub-master device (the "sub-master signal" of <FIG>) in operation S145, the arithmetic unit <NUM> transmits the first normal key <NUM> of <FIG> to the sub-master device, i.e., one among the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n, which has been determined as the sub-master device, through the communication unit <NUM> (S150).

Next, the arithmetic unit <NUM> receives the first sub-private key <NUM> of <FIG> from the sub-master device (S155).

Preferably, the key generator <NUM> may further store the first sub-private key <NUM> of <FIG>.

Through the above-described process, the first sub-private key <NUM> of <FIG>, which will be used when the first IoT device <NUM>-<NUM> performs encrypted communication, is obtained from the sub-master device.

When the first IoT device <NUM>-<NUM> is the sub-master device, the arithmetic unit <NUM> performs the following process. That is, in the description which is made with reference to <FIG>, when the arithmetic unit <NUM> determines the first IoT device <NUM>-<NUM> as the sub-master device, the arithmetic unit <NUM> performs the following process.

<FIG> illustrates a process in which the arithmetic unit <NUM> generates and transmits sub-private keys of the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n, i.e., second to nth sub-private keys in the IoT network <NUM>.

Referring to <FIG>, the arithmetic unit <NUM> receives normal keys of the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n, i.e., the second normal key to the nth normal key, through the communication unit <NUM> (S160).

Next, the arithmetic unit <NUM> generates sub-private keys corresponding to the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n, i.e., the second sub-private key to the nth sub-private key, through the key generator <NUM> (S165). For example, the arithmetic unit <NUM> generates the second sub-private key to the nth sub-private key by inputting the second normal key to the nth normal key into the above-described key generation logic <NUM> (S165).

The key generation logic <NUM> may generate the second sub-private key to the nth sub-private key using the above-described Encrypt function. For example, the second sub-private key is generated using Encrypt (master key, second normal key), and the nth sub-private key is generated using Encrypt (master key, nth normal key).

As described above, the key generation logic <NUM> may derive the private key from either a first encryption level or a second encryption level. For example, the first encryption level may be a level for generating a <NUM>-bit key, and the second encryption level may be a level for generating an <NUM>-bit key.

For example, the private key may be used when the first IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n transmit and receive security-sensitive data, and the sub-private key may be used when the first IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n transmit and receive less security-sensitive data.

For example, since data including a health check or a log transfer is less sensitive to security, the data may be transmitted and received using the sub-private key between the first IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n.

Meanwhile, since data including detection data or a control signal is security-sensitive data, the data be transmitted and received using the private key between the first IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n.

Next, the arithmetic unit <NUM> transmits the second sub-private key to the nth sub-private key, which are generated in operation S165, to the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n (S170).

For example, the arithmetic unit <NUM> transmits the second sub-private key to the second IoT device <NUM>-<NUM> through the communication unit <NUM>. Similarly, the arithmetic unit <NUM> transmits the nth sub-private key to the nth IoT device <NUM>-n through the communication unit <NUM>.

Meanwhile, even when the arithmetic unit <NUM> determines the first IoT device <NUM>-<NUM> as the sub-master device, the arithmetic unit <NUM> may generate the sub-private key of the first IoT device <NUM>-<NUM>, i.e., the first sub-private key.

<FIG> illustrates a process in which the arithmetic unit <NUM> generates the sub-private key of the first IoT device <NUM>-<NUM>, i.e., the first sub-private key.

The arithmetic unit <NUM> may generate the first sub-private key using the master key <NUM> of <FIG> and the first normal key <NUM> of <FIG> through the key generator <NUM> (S175).

Similar to the above description, specifically, the first sub-private key may be generated using Encrypt (master key, first normal key).

As described above, the key generation logic <NUM> may generate the private key at a first encryption level and a sub-private key at a second encryption level. That is, it is preferable that the first private key <NUM> of <FIG> and the first sub-private key <NUM> of <FIG> have different encryption levels.

The arithmetic unit <NUM> may further perform a process of encrypting data according to the encryption level of the first private key <NUM> of <FIG> of the first IoT device <NUM>-<NUM>.

<FIG> illustrates a process in which the arithmetic unit <NUM> encrypts data according to an encryption level of the first private key <NUM> of <FIG>.

Referring to <FIG>, when the first IoT device <NUM>-<NUM> transmits and receives data to and from the second IoT device <NUM>-<NUM> to the nth IoT device <NUM>-n, the arithmetic unit <NUM> encrypts data according to the encryption level of the first private key <NUM> of <FIG> (S80).

For example, when the first private key <NUM> of <FIG> is at a <NUM>-bit level, the arithmetic unit <NUM> encrypts the data to correspond to the <NUM>-bit level.

The arithmetic unit <NUM> may further perform a process of encrypting data according to the encryption level of the first private key <NUM> of <FIG> or the first sub-private key <NUM> of <FIG> of the first IoT device <NUM>-<NUM>.

<FIG> illustrates a process in which the arithmetic unit <NUM> encrypts according to the encryption level of the first private key <NUM> of <FIG> or the first sub-private key <NUM> of <FIG>.

For example, when the first sub-private key <NUM> of <FIG> is at an <NUM>-bit level, the arithmetic unit <NUM> encrypts the data to correspond to the <NUM>-bit level.

The arithmetic unit <NUM> may minimize a load of an arithmetic process according to encryption and reduce a processing time required for the encryption by differentiating an encryption level so as to be suitable for the purpose.

For example, like the key generator <NUM>, the arithmetic unit <NUM> may be implemented using an EMV chip manufactured according to the EMV standard or a TEE chip manufactured according to the TEE standard.

However, in addition to the EMV chip or the TEE chip, the arithmetic unit <NUM> may be implemented by another type of chip, e.g., a processor having a computing function.

As described above, in accordance with the present invention, it is possible to provide an IoT device which is capable of defending against an attack such as hacking while strengthening security of IoT by dynamically determining whether to operate as a master device in an IoT network, and, when the master device is determined, generating, distributing, and managing private keys of other IoT devices in the IoT network.

Further, a private key and a sub-private key are used such that an encryption level can be made to be different according to the use. Therefore, it is possible to minimize a load of an arithmetic process according to encryption and reduce a processing time required for the encryption.

Although the configurations of the present invention have been described in detail, these configurations are merely illustrative, and various modifications can be devised by those skilled in the art to which the present invention pertains without departing from the technical features of the present invention.

The embodiments disclosed herein, therefore, are not to be taken in a sense for limiting the present invention but for explanation thereof, and are not limited to these embodiments. The scope of the present invention should be construed by the appended claims, along with the full range of equivalents to which such claims are entitled.

Claim 1:
A first IoT, Internet of Things, device (<NUM>-<NUM>) for operating in an IoT network (<NUM>) of the first IoT device (<NUM>-<NUM>) through an nth IoT device (<NUM>-n), where n is a natural number equal to or greater than <NUM>, the first IoT device (<NUM>-<NUM>) comprising:
a key generator (<NUM>) configured to store a master key (<NUM>) and including a key generation logic (<NUM>) for generating a private key based on the master key (<NUM>);
a communication unit (<NUM>) configured to communicate with the second IoT device (<NUM>-<NUM>) through the nth IoT device (<NUM>-n) in the IoT network (<NUM>); and
an arithmetic unit (<NUM>) configured to perform processes of:
(a) determining whether the first IoT device (<NUM>-<NUM>) is a master device in the IoT network (<NUM>);
(b) when the first IoT device (<NUM>-<NUM>) is determined to be the master device in the IoT network (<NUM>), generating a second private key through an nth private key respectively corresponding to the second IoT device (<NUM>-<NUM>) through the nth IoT device (<NUM>-n) by using the key generator (<NUM>) and transmitting the second private key through the nth private key to the second IoT device (<NUM>-<NUM>) through the nth IoT device (<NUM>-n), respectively, via the communication unit (<NUM>); and
(c) when the first IoT device (<NUM>-<NUM>) is determined to be not the master device in the IoT network (<NUM>), receiving a first private key (<NUM>) corresponding to the first IoT device (<NUM>-<NUM>) from one of the second IoT device (<NUM>-<NUM>) through the nth IoT device (<NUM>-n) determined as the master device, wherein the process (b) comprises processes of:
(b-<NUM>) receiving a second normal key through an nth normal key from the second IoT device (<NUM>-<NUM>) through the nth IoT device (<NUM>-n), respectively, via the communication unit (<NUM>);
(b-<NUM>) generating the second private key through the nth private key (S65) based on the master key (<NUM>) and the second normal key through the nth normal key by using the key generator (<NUM>); and
(b-<NUM>) transmitting the second private key through the nth private key (S70) to the second IoT device (<NUM>-<NUM>) through the nth IoT device (<NUM>-n), respectively.