US11063760B2 - Method for ensuring security of an internet of things network - Google Patents
Method for ensuring security of an internet of things network Download PDFInfo
- Publication number
- US11063760B2 US11063760B2 US16/439,995 US201916439995A US11063760B2 US 11063760 B2 US11063760 B2 US 11063760B2 US 201916439995 A US201916439995 A US 201916439995A US 11063760 B2 US11063760 B2 US 11063760B2
- Authority
- US
- United States
- Prior art keywords
- node
- key
- network
- registration
- iot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
- 238000000034 method Methods 0.000 title claims description 80
- 238000004891 communication Methods 0.000 claims abstract description 21
- 238000003860 storage Methods 0.000 claims abstract description 19
- 230000004044 response Effects 0.000 claims description 11
- 238000010200 validation analysis Methods 0.000 claims description 10
- 238000004519 manufacturing process Methods 0.000 claims description 2
- 238000012546 transfer Methods 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 abstract description 18
- 230000006870 function Effects 0.000 description 62
- 238000007726 management method Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 10
- 238000012795 verification Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H04L2209/38—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/104—Grouping of entities
Definitions
- the present disclosure relates to Internet of Things (IoT).
- IoT Internet of Things
- the present disclosure relates to ensuring security of an IoT network.
- the present application is based on, and claims priority from an Indian application No. 201841031457 filed on Aug. 22, 2018 the disclosure of which is hereby incorporated by reference.
- the Internet of Things is a network comprising physical devices capable of gathering data and sharing information with each other, electronically.
- the edge side of the IoT network may comprise several types of devices, along with a large number of sensors, hubs and gateway(s).
- Each of the devices at the edge side are susceptible to security/malicious attacks that may compromise the entire IoT network.
- gateways and cloud side of the IoT network While it is easy to implement advanced security features in the devices such as gateways and cloud side of the IoT network, it is challenging to secure devices with different capabilities on the edge side and to ensure that the communication between the devices are secure.
- capabilities herein means capabilities in terms of the size of memory, computational power, etc.
- communication line between a first device and a second device in the IoT network is secured using digital certificates. More specifically, the first device issues a digital certificate to the second device and to the communication line between the first device and the second device. Consequently, a third device cannot communicate with either the first device or the second device.
- the issuance of digital certificates among the devices does not address authentication of the devices or registration of the devices in the IoT network.
- a security mechanism for mitigating consequences of a hacked IoT network involves a first wireless network and a second wireless network established within the IoT network.
- the first wireless network is used by devices that are less secure and the second wireless network is used by conventionally networked devices that are more secure.
- the first wireless network and the second wireless network are further bridged by establishing connectivity between the first wireless network and the second wireless network.
- the use of separate wireless networks does not address prevention of security attacks.
- an association identification code is used for secure provisioning of a device on the IoT network by an IoT service.
- the secure provisioning involves generating and storing an association between a new device identification code and an association identification code present in an IoT device database. Further, the association identification code is retrieved for the new device and transmitted to the IoT service.
- the IoT service does a lookup in the IoT device database using the association identification code to determine the device identification code.
- the new device is then provisioned to communicate with the IoT service using the device identification code.
- manual intervention is required to store the association identification code in the IoT device database. Further, the IoT service assumes that other participating devices are not compromised.
- the existing methods, techniques and systems address specific scenarios of communication security without addressing different classes of devices. Further, a mechanism for ensuring overall security at the edge of the IoT network for various kinds of security attacks is not disclosed. The lack of security at the edge of the IoT network may pose a serious threat to several industry verticals. Therefore, there is a need for a method to ensure overall security of an IoT edge network.
- a method of registering a second node by at least one first node of a network comprises a step of the second node transmitting a registration request to the first node.
- the registration request comprises a unique identification parameter associated with the second node, and a device status of the second node is used for indicating that the device is a bought device.
- the method further comprises a step of receiving, by the first node, the registration request from the second node.
- the method further comprises a step of accessing, by the first node, the encrypted device parameters of the second node from a smart contract stored on a public blockchain using the unique identification parameter.
- the encrypted device parameters comprises a device access code and a Diffie-Hellman common secret multiplier.
- the method further comprises a step of establishing a shared secret between the first node and the second node using the Diffie-Hellman common secret multiplier.
- the method further comprises a step of computing, by the first node and the second node, a symmetric key using the shared secret.
- the method further comprises a step of transmitting, by the first node, a registration key request to the second node.
- the registration key request comprises the device access code encrypted using the symmetric key.
- the method further comprises a step of receiving the registration key request and decrypting the registration key request, by the second node, using the symmetric key for validating the device access code.
- the second node validates the device access code based on a value of the device access code stored in a secure storage of the second node and transmitting the registration key response.
- the method further comprises a step of receiving, by the first node, a registration key response from the second node.
- the registration key response comprises a registration key encrypted using the symmetric key.
- the method further comprises a step of decrypting, by the first node, the registration key using the symmetric key and transmits a hash of the registration key to the smart contract on the public blockchain for validation against a hash of a registration key stored on the smart contract.
- the method further comprises a step of creating and storing, by the first node, a digital certificate for the second node.
- the digital certificate is stored in a permissioned blockchain upon successful validation of the registration key by the public blockchain.
- the method further comprises a step of updating, by the first node, a device status of the second node, on the public blockchain, for indicating that the second node is registered.
- a device comprising a memory for storing at least a unique identification parameter, a device access code, a Diffie-Hellman common secret multiplier, a registration key, a symmetric key, a device status, and program instructions for carrying out the steps required for implementing the method described above and a processor communicatively and functionally coupled to the memory for executing the program instructions stored in the memory is also disclosed.
- a method for secure communication between a first node and a second node comprises a step of retrieving, by the first node and the second node, Diffie-Hellman public keys of the second node and the first node, respectively, from digital certificates stored on a permissioned block chain.
- the method further comprises a step of establishing a shared secret between the first node and the second node using the Diffie-Hellman public keys.
- the method further comprises a step of independently deriving, by the first node and the second node, an ephemeral symmetric key from the shared secret.
- the method further comprises a step of generating, by the first node, at least one nonce, for deriving, independently, at least one Message Integrity and Authenticity key by the first node and by the second node.
- the method further comprises a step of encrypting and transmitting, by the first node, at least one nonce to the second node.
- the nonce is encrypted using the ephemeral symmetric key.
- the method further comprises a step of deriving, by the second node, the at least one Message Integrity and Authenticity key by decrypting the encrypted nonce received from the first node.
- the nonce is decrypted using the ephemeral symmetric key.
- the method further comprises a step of transmitting, by the second node, a message and a Message Integrity and Authenticity code determined from the derived Message Integrity and Authenticity key, to the first node.
- the method further comprises a step of validating, by the first node, the message received from the second node based on the Message Integrity and Authenticity code received from the second node and the Message Integrity and Authenticity key derived by the first node.
- a device comprising a memory for storing at least a unique identification parameter, a device access code, a Diffie-Hellman common secret multiplier, a registration key, a symmetric key, a device status, and program instructions for carrying out the steps required for implementing the method described above and a processor communicatively and functionally coupled to the memory for executing the program instructions stored in the memory is also disclosed.
- FIG. 1 illustrates a security mechanism for an Internet of Things (IoT) network, in accordance with one embodiment of the present disclosure
- FIG. 2 illustrates an IoT edge network, in accordance with one embodiment of the present disclosure
- FIG. 3 illustrates functional blocks of a network node, in accordance with one embodiment of the present disclosure
- FIG. 4 illustrates functional blocks of a Certifying Authority (CA) node, in accordance with one embodiment of the present disclosure
- FIG. 5 shows a process of registration of a network node in an IoT edge network, in accordance with one embodiment of the present disclosure.
- FIG. 6 shows a process of ensuring integrity and authenticity of messages exchanged between two peer nodes in an IoT edge network, in accordance with one embodiment of the present disclosure.
- IoT Internet of Things
- IP Internet Protocol
- ID Bluetooth Identifier
- NFC near-field communication
- An IoT device may have a passive communication interface, such as a quick response (QR) code, a radio-frequency identification (RFID) tag, an NFC tag, or the like, or an active communication interface, such as a modem, a transceiver, a transmitter-receiver, or the like.
- QR quick response
- RFID radio-frequency identification
- An IoT device can have a particular set of attributes (for example, a device state or status, such as whether the IoT device is on or off, open or closed, idle or active, available for task execution or busy, and so on, a cooling or heating function, an environmental monitoring or recording function, a light-emitting function, a sound-emitting function, etc.) that can be embedded in and/or controlled/monitored by a central processing unit (CPU), microprocessor, ASIC, or the like, and configured for connection to an IoT network such as a local ad-hoc network or the Internet.
- a device state or status such as whether the IoT device is on or off, open or closed, idle or active, available for task execution or busy, and so on, a cooling or heating function, an environmental monitoring or recording function, a light-emitting function, a sound-emitting function, etc.
- CPU central processing unit
- ASIC application specific integrated circuitry
- IoT devices may include, but are not limited to, refrigerators, toasters, ovens, microwaves, freezers, dishwashers, hand tools, clothes washers, clothes dryers, furnaces, air conditioners, thermostats, televisions, light fixtures, vacuum cleaners, sprinklers, electricity meters, gas meters, etc., so long as the devices are equipped with an addressable communications interface for communicating with the IoT network.
- IoT devices may also include cell phones, desktop computers, laptop computers, tablet computers, personal digital assistants (PDAs), etc.
- the IoT network may be comprised of a combination of “legacy” Internet-accessible devices (for example, laptop or desktop computers, cell phones, etc.) in addition to devices that do not typically have Internet-connectivity (for example, dishwashers, etc.).
- “legacy” Internet-accessible devices for example, laptop or desktop computers, cell phones, etc.
- devices that do not typically have Internet-connectivity for example, dishwashers, etc.
- the present disclosure relates to a method of ensuring overall security of an edge of the IoT network (henceforth referred as IoT edge network).
- IoT edge network When a new Off-The-Shelf (OTS) device is added to the IoT edge network, the device is registered on the IoT network using a certifying authority (CA) node on the network.
- the CA node verifies authenticity of the device by fetching details associated with the device from a public blockchain.
- the public blockchain is associated with several entities such as manufacturer of the device, dealer of the device and so on.
- the device forms a node in the IoT edge network and is issued a digital certificate by the CA node.
- the digital certificate is stored on a permissioned blockchain within the IoT network.
- a method of securing communication between two nodes in the network using information stored in the respective digital certificates is also disclosed.
- the IoT security mechanism 100 comprises a public blockchain 105 , an IoT edge network 110 , a manufacturer node 115 associated with the manufacturer of an IoT device, a dealer node 120 associated with a dealer of IoT devices and a device 125 .
- the device 125 is manufactured by the manufacturer and sold to an end-user by the dealer.
- the manufacturer node 115 , the dealer node 120 and the IoT edge network 110 are part of the public blockchain 105 .
- each of the manufacturer node 115 , the dealer node 120 and the IoT edge network 110 has at least one node as part of the public blockchain 105 .
- the term ‘node’ may refer to any physical device capable of sending, receiving, and/or forwarding information within a network of other devices.
- the devices may include, but not limited to, a computer, a sensor module and a printer.
- each node may be identified by a unique identification parameter on the network.
- the node may be one of a constrained node and an unconstrained node based on capability, in accordance with RFC 7228 Terminology.
- the capability may refer to RAM and Flash availability in the node.
- the constrained nodes may be further sub-classified into class-0 (most constrained), class-1 (less constrained) and class-2 (least constrained) as shown below based on capabilities such as Flash and RAM availability:
- Data size for example, Code size (for example, Name RAM) Flash
- Class 0 Much less than 10 Kilobytes Much less than 100 kilobytes Class 1 ⁇ 10 Kilobytes ⁇ 100 Kilobytes Class 2 ⁇ 50 Kilobytes ⁇ 250 Kilobytes
- any node that has capabilities greater than constrained nodes is classified as an unconstrained node.
- the IoT edge network 110 comprises a plurality of nodes.
- the nodes include network nodes 201 , 202 . . . 217 , a hub 321 , a gateway node 231 and certification authority (CA) nodes 232 and 233 .
- the network nodes 201 , 202 . . . 217 are capable of sending, receiving, and/or forwarding information to other nodes.
- the CA nodes 232 and 233 execute instructions for registration of new nodes in the IoT edge network 110 in addition to sending, receiving and/or forwarding information to other nodes.
- the CA nodes 232 and 233 are part of a permissioned blockchain 250 (not shown) within the IoT edge network 110 .
- the CA nodes 232 and 233 may form part of the public blockchain 105 .
- at least one of the CA nodes 232 and 233 may form part of the permissioned blockchain 250 within the IoT edge network 110 and may also interact with the public blockchain 105 simultaneously.
- the hub 221 is one of a class-2 node and an unconstrained node.
- the hub 221 aggregates data from the IoT edge network 110 and performs local decision making and filtering functions.
- the hub 221 may also form part of the permissioned blockchain 250 within the IoT edge network 110 .
- the gateway node 231 acts as an interface for the IoT edge network 110 to connect to an external network.
- the gateway node 231 may also function as a CA node.
- the gateway node 231 may form part of the public blockchain 105 and/or the permissioned blockchain 250 within the IoT edge network 110 depending on a configuration of the IoT edge network 110 .
- the network node 201 may comprise a module for executing instructions related to IoT applications 310 .
- the network node 201 further comprises modules associated with IoT security functions 320 , device management functions 330 and a cryptographic module 340 .
- the IoT security functions 320 include registration procedure 322 , crypto-key management 323 and communication management 324 .
- the functions of the cryptographic module 340 include IoT Secure Cryptographic functions 341 , cryptographic algorithms 342 , secure boot 343 and secure storage 344 .
- the network node 201 may also act as data stores for implementing a permissioned blockchain module 350 .
- the permissioned blockchain module 350 may enable the network node 201 to act as one of a full node, a light node or a transaction-only node on the permissioned blockchain 250 .
- full nodes every block and associated transaction on the permissioned blockchain 250 are received and validated.
- full nodes may take part in consensus mechanism associated with the permissioned blockchain 250 .
- the permissioned blockchain 250 are not stored on the node. Instead, light nodes receive and validate the blocks and transactions.
- the transaction-only nodes are dependent on full nodes or light nodes to connect to the permissioned blockchain 250 .
- the CA node 232 may comprise a module for executing instructions related to IoT applications 410 .
- the CA node 232 further comprises modules associated with IoT security functions 420 , device management functions 430 and a cryptographic module 440 .
- the IoT security functions 420 comprises certification authority functions 421 , registration procedure function 422 , crypto-key management 423 and communication management 424 .
- the functions of the cryptographic module 440 include IoT Secure Cryptographic functions 441 , cryptographic algorithms 442 , secure boot 443 and secure storage 444 .
- the CA node 232 falls under the unconstrained device class and may interact with public blockchain 105 .
- the public blockchain module 460 enables the CA node 232 to act as a node on the public blockchain 105 .
- the CA node 232 may also act as data stores for implementing permissioned blockchain module 450 .
- the permissioned blockchain module 450 enables the CA node 232 to act as a node on the permissioned blockchain 250 .
- the device 125 has to be registered as a node on the IoT edge network 110 upon being manufactured by the manufacturer.
- the device 125 may belong to one of the constrained and unconstrained classes.
- the manufacturer node 115 stores device information associated with the device 125 on the public blockchain 105 by using a smart contract, for example, smart contract 130 .
- the manufacturer node 115 is a part of the public blockchain 105 and has a valid Digital Certificate.
- the device information may include, but is not limited to, Electronic Product Code (EPC), a registration key and a Device Access Code (DAC) of the device 125 .
- EPC Electronic Product Code
- DAC Device Access Code
- an identification type precedes the unique identification code in the EPC.
- the registration key helps in preventing impersonation or cloning of the device 125 using the EPC.
- the DAC is used by the device 125 to establish trust with a CA node, say 232 , in the IoT network 110 .
- the EPC, the registration key and the DAC of the device 125 are stored in raw format in a secure storage (ROM) (secure storage 444 of FIG. 4 if the device 125 is capable of acting as a CA node and otherwise, secure storage 344 of FIG. 3 ) of the device 125 .
- the device 125 also stores one of a DH common secret multiplier and a symmetric key in the secure storage. Consequently, the functions associated with secure storage act as roots of trust for the device 125 .
- the DH common secret multiplier referred herein, may be associated with one of normal DH algorithm involving modular arithmetic and the elliptic curve DH (ECDH) algorithm. Henceforth, the term ‘DH common secret multiplier’ may refer to either of the variants as may be applied in different embodiments.
- the registration key, the DAC of the device 125 and either the DH common secret multiplier or the symmetric key may be encrypted and stored on the device 125 and a key to decrypt the device information is stored in the secure storage.
- cryptographic hash of the DAC may be stored in the secure storage of the device 125 .
- the EPC, cryptographic hash of the registration key and encrypted DAC and either encrypted DH common secret multiplier or encrypted symmetric key along with status of the device 125 and other necessary information is stored by the manufacturer node 115 on public blockchain 105 using smart contract 130 .
- the registration key may be encrypted and stored on the public blockchain 105 . More specifically, the device parameters are encrypted using a public key of next entity in the distribution chain. In the present embodiment, the next entity is the dealer node 120 .
- the dealer node 120 accesses the device parameters from the respective smart contract 130 on the public blockchain 105 .
- the DAC and the DH common secret multiplier or symmetric key are decrypted and re-encrypted with public key of a CA node associated with the end-user.
- the public key of the CA node 232 may be used for the re-encryption.
- the re-encrypted DAC and DH common secret multiplier or symmetric key are further updated on a smart contract 135 in the public blockchain 105 .
- the dealer node 120 updates a device status of the device 125 on the smart contract 135 for indicating that the device is a bought device. Consequently, any node on the IoT edge network 110 may be informed that the device 125 is already bought, when the node queries the smart contract 135 .
- the ownership of the device 125 is transferred from the manufacturer to a single or plurality of end-users in the IoT edge network 110 via a single or plurality of intermediate entities in the distribution network.
- the end-users include CA node 232 and intermediate entities include the dealer node 120 .
- the device 125 is henceforth referred as network node 201 in the IoT edge network 110 .
- the registration procedure of the new node 201 in the IoT edge network 110 by the CA node 232 proceeds as explained using FIG. 5 .
- FIG. 5 in conjunction with FIGS. 1, 2, 3 and 4 , a process 500 of registration of the network node 201 in the IoT edge network 110 is shown, in accordance with one embodiment of the present disclosure.
- the process of registration begins when the network node 201 is powered on after being interfaced with the IoT edge network 110 .
- the secure boot function 343 in the Cryptographic module function 340 of the network node 201 (as shown in FIG. 3 ) is executed.
- the secure boot function 343 verifies the software signatures associated with the network node 201 .
- the secure boot function 343 hands over control to the registration procedure 322 of the network node 201 .
- the registration procedure 322 in the network node 201 establishes a communication channel with one or more nodes in the IoT edge network 110 and transmits a registration request message.
- the registration request comprises a unique identification parameter of the network node 201 .
- the unique identification parameter may be the EPC.
- the registration request message along with the EPC is transmitted to the CA node 232 .
- the registration request is transmitted to the CA node 232 through the intermediate node 212 .
- the registration procedure function 422 in the CA node 232 processes the registration request message.
- the registration procedure function 422 in the CA node 232 requests for device parameters of the network node 201 from the smart contract 135 on the public blockchain 105 . More specifically, the registration procedure function 422 requests for the device parameters through the public blockchain module 460 of the CA node 232 using the EPC of the network node 201 .
- the CA node 232 may act as a full node or as a light node of the public blockchain 105 . In one embodiment, the CA node 232 may query a neighboring public blockchain node for the device parameters.
- the smart contract 135 provides the device parameters to the registration procedure function 422 of the CA node 232 .
- the device parameters include the device status in plain text as well as the DAC, and the DH common secret multiplier or the symmetric key encrypted using the public key of the CA node 232 during transfer of ownership from the dealer node 120 to end-user CA node 232 .
- the CA node 232 is considered, it must be understood that when a plurality of CA nodes are present in the IoT edge network 110 , multiple copies of the device parameters may be present in the public blockchain 105 . Each copy of the device parameter is encrypted with the public key of the respective CA node.
- the CA node 232 further verifies that the indent and approval for procuring the network node 201 is correct using the permissioned blockchain 250 . More specifically, the CA node 232 accesses the permissioned blockchain using the permissioned blockchain function 450 . The permissioned blockchain function 450 further verifies that the request for registration by the network node 201 is legitimate. In one embodiment, the permissioned blockchain 250 may be extended for internal management of the organization. In the absence of a permissioned blockchain for internal management, the CA node 232 communicates with external servers to access the indent and approval status of the network node 201 for verifying the legitimacy of the registration request message.
- the CA node 232 determines the device status of the network node 201 from the smart contract 135 . If the device status is set for indicating that the device is a bought device and not registered, the CA node 232 proceeds with the rest of the authentication procedure. That is, the registration procedure function 422 in the CA node 232 invokes decryption of the encrypted DH common secret multiplier or the symmetric key and the DAC using the IoT Secure Cryptographic functions 441 in Secure Cryptographic module 440 .
- the CA node 232 establishes a shared secret with the network node 201 . More specifically, if the network node 201 supports DH key exchange, then DH common secret multiplier is used to arrive at the shared secret and if the network node 201 is very constrained (that is, a class-0 device), then the symmetric key stored in the public blockchain 105 and the secure storage 344 of the network node 201 is used by the CA node 232 and the network node 201 respectively as the shared secret.
- the Cryptographic Key Management function 423 of the CA node 232 sends public DH parameters to the network node 201 .
- the IoT Secure Cryptographic function 341 in the network node 201 selects a first secret number ⁇ and the IoT Secure Cryptographic function 441 selects a second secret number ⁇ .
- Each of the first secret number ⁇ and the second secret number ⁇ as well as DH common secret multiplier, say ⁇ meets the criteria for modular arithmetic if normal DH is used or the criteria for elliptic curve cryptography if ECDH is used.
- the IoT Secure Cryptographic function 341 in the network node 201 multiplies the first secret number ⁇ with the DH common secret multiplier ⁇ and the IoT Secure Cryptographic function 441 multiplies the second secret number ⁇ with the DH common secret multiplier ⁇ .
- the Cryptographic Key Management function 423 in the CA node 232 and the Cryptographic Key Management function 323 in the network node 201 exchange the values A and B.
- the CA node 232 calculates the shared secret S as follows: S ⁇ ( A ) ⁇ ⁇ g ⁇ mod p ) (3)
- the network node 201 calculates the shared secret S as follows: S ⁇ ( B ) ⁇ ⁇ g ⁇ (mod p ) (4)
- the CA node 232 and the network node 201 arrive at the common shared secret S using the parameters publicly shared.
- the Cryptographic Key Management function 423 in the CA node 232 and the Cryptographic Key Management function 323 in the network node 201 exchanges the values point (B) and point (A) respectively.
- the CA node 232 calculates the shared secret as follows: Shared secret: X coordinate of S ( x,y ) ⁇ Point( A ) ⁇ G (7)
- the network node 201 calculates the shared secret as follows: Shared secret: X coordinate of S ( x,y ) ⁇ Point( B ) ⁇ G (8) As seen the shared secret derived by the CA node 232 and the network node 201 based on the publicly shared parameters are the same.
- the IoT Secure Cryptographic functions 441 of the CA node 232 and the IoT Secure Cryptographic functions 341 in the network node 201 derive symmetric keys of a desired length using the shared secret based on security requirements.
- the CA node 232 and the network node 201 may calculate separate symmetric keys for each direction of communication.
- the CA node 232 may validate that the symmetric key calculated by the network node 201 is the same as the symmetric key generated by the CA node 232 by sending and receiving messages at the network node 201 .
- Each of the messages sent and received comprises a hash-based message authentication code ((H) MAC) computed with the symmetric key or another key derived from the symmetric key of the network node 201 .
- H hash-based message authentication code
- the CA node 232 may validate that the symmetric key by sending a double hash of the symmetric key generated by the CA node 232 together with a first nonce to the network node 201 .
- the double hash of the symmetric key generated by the CA node 232 may be generated using any cryptographically strong hash function such as SHA-256.
- the network node 201 Upon receiving the double hash of the symmetric key generated by the CA node 232 and the first nonce, the network node 201 computes a double hash of the symmetric key generated by the network node 201 with the first nonce received. If the double hash value of the symmetric keys generated by the CA node 232 and the network node 201 match, then the network node 201 validates that the symmetric keys are the same.
- the network node 201 sends a single hash of the symmetric key generated by the network node 201 and a second nonce to the CA node 232 .
- the CA node 232 further computes single hash of the symmetric key with the second nonce received. If the single hash value of the symmetric keys generated by the CA node 232 and the network node 201 match, then the CA node 232 validates that the symmetric keys are same.
- mutual validation of the symmetric keys either pre-loaded in device parameters in the public blockchain 105 and secure storage or established by the network node 201 and the CA node 232 during registration is sufficient to authenticate each other and the registration may be completed at step 505 as explained above.
- steps 506 to 512 may be performed in place of or in addition to the steps 501 to 505 , for authentication and registration of the network node 201 on the IoT edge network 110 .
- the IoT Secure Cryptographic function 441 of the CA node 232 encrypts the DAC of the network node 201 using the symmetric key with the help of the Cryptographic Algorithm function 442 . Further, the Registration Procedure module 422 sends the encrypted DAC to the network node 201 in a “Registration Key Request” message.
- IoT Secure Cryptographic function 341 in the network node 201 decrypts the encrypted DAC received from the CA node 232 using the Cryptographic Algorithm function 342 .
- the network node 201 compares the DAC decrypted with the DAC stored in the secure storage 344 . If the DAC decrypted is the same as the DAC in the secure storage 344 , then the Registration Procedure module 322 sends a Registration Key Response message along with the registration key.
- the IoT Secure Cryptographic function 341 encrypts the registration key with the symmetric key by using the Cryptographic Algorithm function 342 . In case the DAC validation fails, Registration Procedure module 322 in the network node 201 responds with a Registration Abort message.
- the IoT Secure Cryptographic function 441 of the CA node 232 Upon receipt of the Registration Key Response message by the Registration Procedure module 422 , the IoT Secure Cryptographic function 441 of the CA node 232 decrypts the registration key using the Cryptographic Algorithm function 442 .
- the Registration Procedure module 422 sends hash of the registration key to the smart contract 135 on the public blockchain 105 using the public blockchain module 460 of the CA node 232 for validation.
- the smart contract 135 responds with a result of validation to the Registration Procedure module 422 . If the result of validation is successful, then the device status is updated on the public blockchain 105 using the public blockchain module 460 as shown in step 510 . Further, the Registration Procedure module 422 determines that the authentication is successful and the step 511 is performed. Otherwise, if the result of validation is unsuccessful, then the CA node 232 determines that the authentication has failed and sends a Registration Response message with a “FAILURE” parameter.
- the Registration Procedure module 422 sends a Registration Response message with a “SUCCESS” parameter and a digital certificate for the network node 201 .
- the digital certificate includes a device identification and a DH/ECDH public key of the network node 201 . More specifically, the digital certificate may include an RSA Public key (if supported by the network node 201 ), (Elliptic Curve) Digital Signature Algorithm((EC)DSA) public key, hash of the registration key, EPC, location and time of completion of registration and DH/ECDH public key, to enable other nodes to safely establish secure channel with the network node 201 .
- the digital certificate may include a Physical Unclonable Function (PUF) based unique device fingerprint in addition or in lieu of the registration key. The unique device fingerprint may provide higher security compared to the registration key.
- PAF Physical Unclonable Function
- the digital certificate generated at step 511 is stored on the permissioned blockchain 250 using the permissioned blockchain module 450 of the CA node 232 .
- the IoT Application 310 of the network node 201 may also store specific application data on the permissioned blockchain 250 , at regular intervals based on requirements. The specific application data thus stored provides an immutable record for audit of nodes in the IoT edge network 110 and for detection of anomalies.
- Other data that may be stored on the permissioned blockchain 250 include, but not limited to, configuration parameters, device status, diagnostic information, firmware details and data associated with the Device Management functions 430 of the CA node 232 and the Device Management functions 330 of the network node 201 .
- the data may be plain text or in encrypted or in hashed form kept based on requirements and a desired security level. More specifically, the data aids the security mechanism by analysis and verification by multiple nodes and by triggering of alerts if discrepancies are found.
- the CA node 232 Upon updating the permissioned blockchain 250 , the CA node 232 updates device status of the network node 201 to “Registered” in the smart contract 135 on the public blockchain 105 .
- the network node 201 may be authenticated by a plurality of CA nodes.
- each of the CA nodes may establish a secure communication with the network node 201 as explained using steps 501 to 512 . More specifically, each of the CA nodes obtain the registration key from the network node 201 and verify the hash of registration key with the public blockchain 105 .
- the public blockchain 105 includes a smart contract having multiple entries of the registration key, DAC and DH common secret multiplier encrypted with public keys corresponding to each of the CA nodes.
- security of the CA node 232 may be ensured by another CA node, say CA node 233 . Further, a second digital signature may be added by the CA node 233 . After registration, integrity and authenticity of messages received by a node is ensured using the procedure as explained using FIG. 6 .
- a process 600 of ensuring integrity and authenticity of messages exchanged between two peer nodes in the IoT edge network 110 is shown, in accordance with one embodiment of the present disclosure.
- the mechanism and key length supported by the least capable node is used.
- the node having least capability is an unconstrained node, then asymmetric key cryptography is used with a standard 2048 bit key or higher bit length keys.
- a CA node generates a key-pair.
- the key-pair is further encrypted with the pre-established symmetric key and transported to the node.
- key generation and transportation may happen at certain intervals.
- a symmetric encryption technique such as AES-128 may be used.
- integrity and authenticity of messages may be ensured using a peer authentication mechanism.
- the peer authentication mechanism may use a Message Integrity and Authenticity key (MIA Key). Further, the code derived using the MIA key may be called MIA Code.
- MIA Key Message Integrity and Authenticity key
- the peer authentication mechanism may be based on HMAC or any other mechanism that requires limited resources.
- the peer nodes are the first node 201 and the second node 212 .
- the first node 201 may be a constrained node and the second node 212 may be one of a constrained node and an unconstrained node.
- Each of the nodes may access the permissioned blockchain 250 .
- the process of authentication begins with each of the first node 201 and the second node 212 retrieving peer DH/ECDH public keys from the permissioned blockchain 250 as shown in steps 601 and 602 . More specifically, the permissioned blockchain 250 is accessed using the permissioned blockchain module 350 of the respective node.
- the DH/ECDH public key is used to establish a shared secret between the first node 201 and the second node 212 .
- the shared secret is calculated at the first node 201 and the second node 212 .
- the shared secret is further used to calculate an ephemeral symmetric key by the first node 201 (as shown in step 604 ) and the second node 212 (as shown in step 605 ). More specifically, the ephemeral symmetric key is established by the Cryptographic Key Management function 323 of the respective node at a time T0 using the IoT Secure Cryptographic functions 341 .
- the shared secret is validated by exchanging messages between the first node 201 and the second node 212 along with the nonce and an MIA code computed using the MIA key.
- the first node 201 may validate the shared secret by transmitting a message along with the nonce and a keyed Hash Message Authentication Code (HMAC) to the second node 212 .
- HMAC Hash Message Authentication Code
- the HMAC is calculated based on the ephemeral symmetric key derived by the first node 201 or another key derived from the ephemeral symmetric key.
- the first node 201 may validate the shared secret by sending a double hash of the ephemeral symmetric key with the nonce.
- the double hash may be generated using any cryptographically strong hash function such as SHA-256.
- the second node 212 computes a double hash of the ephemeral symmetric key of the second node 212 with the nonce received. If the double hash of the ephemeral symmetric keys with the nonce, generated by the first node 201 and the second node 212 match, then the second node 212 validates that the ephemeral symmetric key of the first node 201 is the same as the ephemeral symmetric key of the second node 212 .
- the second node 212 further sends back a single hash of the ephemeral symmetric key of the second node 212 together with another nonce to the first node 201 .
- the first node 201 computes a single hash of the ephemeral symmetric key with the received nonce. If the single hash of the ephemeral symmetric keys with the nonce, generated by the first node 201 and the second node 212 , match then the first node 201 validates ephemeral symmetric key of the second node 212 .
- modular DH key exchange protocol is used when at least one of the first node 201 and the second node 212 is an unconstrained device, then the publicly shared parameters are generated by unconstrained devices. It must be noted that the ECDH key exchange protocol is efficient and requires a key of smaller size for the same level of security as the modular DH key exchange protocol. Further, the ECDH key exchange protocol takes lesser time to generate the key when compared to the DH key exchange protocol. Therefore, the ECDH key exchange protocol is preferable over the DH key protocol for both constrained and unconstrained devices.
- the second node 212 has higher capability than the first node 201 .
- the second node 212 generates a nonce for deriving a Message Integrity and Authenticity (MIA) key at the first node 201 and the second node 212 .
- the generation of nonce at the second node 212 reduces processing at the first node 201 , that is, the less capable node, and helps in conserving power.
- the nonce generated is encrypted, optionally, using the ephemeral symmetric key and transmitted to the first node 201 as shown in step 606 .
- the first node 201 further decrypts the nonce received, using the ephemeral symmetric key derived in step 605 .
- the nonce is further used by each of the first node 201 and the second node 212 to derive the MIA key based on the shared secret, as shown in steps 607 and 608 respectively.
- the first node 201 calculates an MIA code using the MIA key derived at step 608 .
- the MIA code may be a Keyed-Hash Message Authentication Code (HMAC).
- HMAC Keyed-Hash Message Authentication Code
- the HMAC is calculated based on the ephemeral symmetric key derived by the first node 201 or another key derived from the ephemeral symmetric key.
- the first node 201 may transmit a message to the second node 212 and the MIA code as shown in step 609 .
- the MIA code helps in ensuring that the integrity of the message is preserved. In case confidentiality of messages is not required, the message may be sent as plain text.
- the message may further comprise a random nonce, as shown.
- the random nonce may be any parameter comprising a random part, and a sequential part that changes with every message transmitted between the first node 201 and the second node 212 .
- each of the first node 201 and the second node 212 may compute the random nonce for every message.
- the second node 212 being the more capable node, transmits a set of encrypted parameters of size, say “m”, which may be used for the next “m” messages.
- the transmittal of “m” encrypted parameters at once helps in optimization of communication between the first node 201 and the second node 212 .
- the random nonce or encrypted parameters used in each message helps in eliminating chances of eavesdropping and replaying of the message by an unauthorized node.
- the first node 201 may encrypt the message with the ephemeral symmetric key and transmit to the second node 212 along with the MIA code as shown in step 610 , when confidentiality of the message is to be ensured.
- the message may further comprise the random nonce.
- the second node 212 may use the MIA key derived at step 607 , in order to authenticate integrity of the message based on the MIA code.
- the second node 212 may use an MIA code calculated using the MIA key derived at step 608 to send a message to the first node 201 .
- the first node 201 may further authenticate the message received from the second node 212 based on the MIA code.
- the first node 201 and the second node 212 may further re-establish new MIA keys, if required.
- the second node 212 transmits a new nonce encrypted using the ephemeral symmetric key to the first node 201 as shown in step 611 .
- the first node 201 further uses the new nonce and the old MIA key to calculate a new MIA key at the first node 201 and the second node 212 as shown in steps 612 and 613 respectively.
- a plurality of nonces may be sent at once, to the first node 201 , from the second node 212 .
- the first node 201 further uses the ‘n’ number of nonces to compute ‘n’ number of MIA keys.
- the shared secret may be re-established at time T0+t1 as shown at step 614 .
- the new shared secret may be used to derive new ephemeral symmetric key at the first node 201 and the second node 212 as shown at steps 615 and 616 respectively.
- the ephemeral symmetric key, the MIA key and the shared secret along with other sensitive parameters are stored in the secure Crypto Module 340 or in the RAM of the respective node. Consequently, if the node is disconnected from a power supply, the parameters stored are erased.
- a less constrained node (such as class-1 or class-2 nodes) may re-encrypt and digitally sign on behalf of more constrained nodes (such as class-0 or class-1 nodes respectively). Consequently, messages or communication originating from the more constrained nodes may be stored securely for longer periods of time. Further, digitally signing by less constrained nodes also helps in ensuring non-repudiation of messages generated by the more constrained nodes.
- the permissioned blockchain 250 is used as an internal data store within the IoT edge network 110 , a person skilled in the art may understand that any advanced database system or distributed ledger technology, may be used in place of the permissioned blockchain 250 to implement the internal data store.
- a secure boot mechanism ensures integrity and authenticity of the software, in a node, capable of verifying a digital signature of the software.
- the secure boot mechanism uses a secure storage that stores the public key of the software vendor(s).
- a cryptographic hash of the code can be burned in the secure storage in a trusted module and the secure boot code can simply compute the hash and verify the integrity of the code.
- CA node (as shown in FIG. 4 ) and the network node (as shown in FIG. 3 ), as disclosed herein, may be manufactured as commercially available Off-The-Shelf (OTS) devices capable of implementing the security mechanism illustrated using FIGS. 5 and 6 when connected to an IoT network.
- OTS Off-The-Shelf
- any device that may possibly be connected to an IoT may be designed, by manufacturers of those devices, to incorporate the capability of implementing the security mechanism illustrated using FIGS. 5 and 6 when connected to an IoT network.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
| Data size (for example, | Code size (for example, | |
| Name | RAM) | Flash) |
| Class 0 | Much less than 10 Kilobytes | Much less than 100 kilobytes |
| Class 1 | ~10 Kilobytes | ~100 Kilobytes |
| Class 2 | ~50 Kilobytes | ~250 Kilobytes |
A=g α mod(p) (1)
B=g β mod(p) (2)
S≡(A)βγ ≡g αβγ mod p) (3)
S≡(B)αβ ≡g αβγ(mod p) (4)
Point(A)=α·Point(G) (5)
Point(B)=β·Point(G) (6)
Shared secret: X coordinate of S(x,y)≡βγ·Point(A)≡αβγG (7)
Shared secret: X coordinate of S(x,y)≡αγ·Point(B)≡αβγG (8)
As seen the shared secret derived by the
New MIA key=f(Old MIA Key,Nonce)
Claims (9)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IN201841031457 | 2018-08-22 | ||
| IN201841031457 | 2018-08-22 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20200067708A1 US20200067708A1 (en) | 2020-02-27 |
| US11063760B2 true US11063760B2 (en) | 2021-07-13 |
Family
ID=69586645
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/439,995 Active 2039-08-07 US11063760B2 (en) | 2018-08-22 | 2019-06-13 | Method for ensuring security of an internet of things network |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US11063760B2 (en) |
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20210184845A1 (en) * | 2019-12-16 | 2021-06-17 | Bull Sas | Secure, decentralized, automated platform and multi-actors for object identity management through the use of a block chain technology |
| US20210288819A1 (en) * | 2019-03-07 | 2021-09-16 | Tencent Technology (Shenzhen) Company Limited | Method for issuing identity certificate to blockchain node and related apparatus |
| US20210314293A1 (en) * | 2020-04-02 | 2021-10-07 | Hewlett Packard Enterprise Development Lp | Method and system for using tunnel extensible authentication protocol (teap) for self-sovereign identity based authentication |
| US11245524B2 (en) * | 2019-06-18 | 2022-02-08 | Microsoft Technologly Licensing, LLC | Binding of decentralized identifiers to verified claims |
| US20220173913A1 (en) * | 2020-12-01 | 2022-06-02 | Smarter Contracts Ltd. | Consent Management |
| US20230015925A1 (en) * | 2020-05-29 | 2023-01-19 | Santa Clara University | Blockchain based Secure Software Updates for IoT Devices |
| US11588629B2 (en) * | 2019-12-16 | 2023-02-21 | Bull Sas | Secure, decentralized, automated platform and multi-actors for object identity management through the use of a block chain technology |
| US20240057102A1 (en) * | 2021-05-14 | 2024-02-15 | Roper Solutions, Inc. | Configuration of an Ephemeral Secure Wireless Ad-Hoc Network for Programmable Devices |
| US20240089252A1 (en) * | 2022-08-03 | 2024-03-14 | 1080 Network, Inc. | Systems, methods, and computing platforms for executing credential-less network-based communication exchanges |
| US12455979B2 (en) | 2024-01-16 | 2025-10-28 | Bank Of America Corporation | Permission based information transfer based on internet of things (IoT) insights |
| US20260011238A1 (en) * | 2024-07-03 | 2026-01-08 | Get Buzzed Inc. | Alert system for use in a limited decentralized point to point network environment |
Families Citing this family (32)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11153069B2 (en) | 2018-02-27 | 2021-10-19 | Bank Of America Corporation | Data authentication using a blockchain approach |
| US10693646B2 (en) * | 2018-02-27 | 2020-06-23 | Bank Of America Corporation | Event execution using a blockchain approach |
| KR102265788B1 (en) * | 2018-09-03 | 2021-06-16 | (주)아이씨엔캐스트 | Multi-security authentication system and method between blockchain-based mobile terminals and IoT devices |
| CN112232817B (en) * | 2018-10-25 | 2024-12-27 | 蚂蚁链技术有限公司 | Transaction processing method and device based on blockchain, and electronic device |
| CN112492006B (en) * | 2018-10-31 | 2023-12-05 | 创新先进技术有限公司 | A node management method and device based on blockchain |
| US11483143B2 (en) * | 2019-04-15 | 2022-10-25 | Smart Security Systems, Llc | Enhanced monitoring and protection of enterprise data |
| KR102559101B1 (en) * | 2020-02-24 | 2023-07-25 | 한국전자통신연구원 | Power metering apparatus, power metering server and, power metering method base on block chain |
| CN111444272B (en) * | 2020-03-18 | 2024-06-18 | 联想(北京)有限公司 | Data processing method and device |
| CN111770089B (en) * | 2020-06-29 | 2022-04-08 | 福建福链科技有限公司 | Authentication method for blockchain sensor and blockchain network |
| WO2022006493A1 (en) * | 2020-07-02 | 2022-01-06 | Cal-Chip Electronics Specialty Products, Inc. | Connected secure key redistribution system and method |
| US11671991B2 (en) | 2020-07-13 | 2023-06-06 | Samsung Electronics Co., Ltd. | Method and system for resource management in blockchain based iot network |
| CN114157428A (en) * | 2020-09-04 | 2022-03-08 | 中国移动通信集团重庆有限公司 | Block chain-based digital certificate management method and system |
| US11728998B2 (en) * | 2020-10-22 | 2023-08-15 | EMC IP Holding Company LLC | Authenticating communications between physical ports using knowledge of shared secrets |
| CN116260645B (en) * | 2020-11-18 | 2025-09-09 | 北京数码视讯科技股份有限公司 | Node admittance method, consensus method, device, electronic equipment and storage medium |
| US11449494B2 (en) | 2020-12-29 | 2022-09-20 | Raytheon Company | Distributed secure database system using an evolving nonce |
| CN112839041B (en) * | 2021-01-05 | 2022-09-23 | 国网浙江省电力有限公司嘉兴供电公司 | Block chain-based power grid identity authentication method, device, medium and equipment |
| CN113301022B (en) * | 2021-04-27 | 2022-08-09 | 成都极略科技有限公司 | Internet of things equipment identity security authentication method based on block chain and fog calculation |
| CN113259893B (en) * | 2021-06-28 | 2021-11-09 | 北京智芯微电子科技有限公司 | Power distribution body area network node authentication system and method |
| KR20230036797A (en) * | 2021-09-08 | 2023-03-15 | 삼성전자주식회사 | Electronic device generating a transaction and method in blockchain network |
| US12506607B2 (en) * | 2021-10-22 | 2025-12-23 | Micron Technology, Inc. | Memory system security and authentication using asymmetric keys |
| CN114531440B (en) * | 2021-12-17 | 2023-03-07 | 重庆大学 | An industrial edge side data sharing system based on the combination of active identification and blockchain technology |
| US12225130B2 (en) * | 2022-01-14 | 2025-02-11 | Micron Technology, Inc. | Embedded TLS protocol for lightweight devices |
| CN114500061B (en) * | 2022-01-29 | 2024-07-12 | 京东方科技集团股份有限公司 | Data transmission method, internet of things system, electronic equipment and storage medium |
| US12225111B2 (en) * | 2022-03-08 | 2025-02-11 | SanDisk Technologies, Inc. | Authorization requests from a data storage device to multiple manager devices |
| US12147539B2 (en) | 2022-03-16 | 2024-11-19 | Bank Of America Corporation | System and method for automatic identification of unauthorized updates to internet of things devices |
| US12301553B2 (en) | 2022-03-16 | 2025-05-13 | Bank Of America Corporation | System and method for intelligent validation of communications initiated by internet of things devices |
| US12003370B2 (en) * | 2022-03-16 | 2024-06-04 | Bank Of America Corporation | Dynamic internet of things device records for use in validating communications from internet of things devices subject to data drift |
| US12212698B2 (en) * | 2022-08-17 | 2025-01-28 | Saudi Arabian Oil Company | Method for integrating blockchain node compliance data within blockchain transaction data |
| US12513006B1 (en) * | 2022-09-30 | 2025-12-30 | Amazon Technologies, Inc. | Secure provisioning and rotation of certificates for edge devices |
| DE102022130483A1 (en) * | 2022-11-17 | 2024-05-23 | Infineon Technologies Ag | PROCEDURE FOR AUTHENTICATING A BLOCKCHAIN HARDWARE WALLET |
| US12160426B2 (en) * | 2022-12-04 | 2024-12-03 | Asad Hasan | Human system operator identity associated audit trail of containerized network application with prevention of privilege escalation, online black-box testing, and related systems and methods |
| US20240388428A1 (en) * | 2022-12-20 | 2024-11-21 | Movius Interactive Corporation | Decentralized blockchain enabled mobile communications on a secure, open and distributed network |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20180287780A1 (en) * | 2017-03-28 | 2018-10-04 | General Electric Company | Blockchain verification of network security service |
| US10162968B1 (en) * | 2017-11-30 | 2018-12-25 | Mocana Corporation | System and method for securely updating a registered device using a development system and a release management system operated by an update provider and an update publisher |
| US20190268466A1 (en) * | 2016-07-28 | 2019-08-29 | Nec Corporation | Number portability information management system |
| US20190333059A1 (en) * | 2017-05-24 | 2019-10-31 | NXM Technologies Inc. | Network configuration management for networked client devices using a distributed ledger service |
| US20190349261A1 (en) * | 2016-12-30 | 2019-11-14 | Intel Corporation | Object Identification For Groups Of IoT Devices |
-
2019
- 2019-06-13 US US16/439,995 patent/US11063760B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190268466A1 (en) * | 2016-07-28 | 2019-08-29 | Nec Corporation | Number portability information management system |
| US20190349261A1 (en) * | 2016-12-30 | 2019-11-14 | Intel Corporation | Object Identification For Groups Of IoT Devices |
| US20180287780A1 (en) * | 2017-03-28 | 2018-10-04 | General Electric Company | Blockchain verification of network security service |
| US20190333059A1 (en) * | 2017-05-24 | 2019-10-31 | NXM Technologies Inc. | Network configuration management for networked client devices using a distributed ledger service |
| US10162968B1 (en) * | 2017-11-30 | 2018-12-25 | Mocana Corporation | System and method for securely updating a registered device using a development system and a release management system operated by an update provider and an update publisher |
Non-Patent Citations (3)
| Title |
|---|
| Ansey et al., "Gnomon: Decentralized Identifiers for Securing 5G Iot Device Registration and Software Update", doi: 10.1109/GCWkshps45667.2019.9024702, 2019, pp. 1-6 (Year: 2019). * |
| Guin et al., "Ensuring Proof-of-Authenticity of IoT Edge Devices Using Blockchain Technology", doi: 10.1109/Cybermatics_2018.2018.00193, 2018, pp. 1042-1049. (Year: 2018). * |
| Tedeschi et al., "When Blockchain Makes Ephemeral Keys Authentic: A Novel Key Agreement Mechanism in the IoT World," doi: 10.1109/GLOCOMW.2018.8644494, 2018, pp. 1-6 (Year: 2018). * |
Cited By (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11943373B2 (en) * | 2019-03-07 | 2024-03-26 | Tencent Technology (Shenzhen) Company Limited | Method for issuing identity certificate to blockchain node and related apparatus |
| US20210288819A1 (en) * | 2019-03-07 | 2021-09-16 | Tencent Technology (Shenzhen) Company Limited | Method for issuing identity certificate to blockchain node and related apparatus |
| US12225139B2 (en) | 2019-03-07 | 2025-02-11 | Tencent Technology (Shenzhen) Company Limited | Method for issuing identity certificate to blockchain node and related apparatus |
| US11245524B2 (en) * | 2019-06-18 | 2022-02-08 | Microsoft Technologly Licensing, LLC | Binding of decentralized identifiers to verified claims |
| US20210184845A1 (en) * | 2019-12-16 | 2021-06-17 | Bull Sas | Secure, decentralized, automated platform and multi-actors for object identity management through the use of a block chain technology |
| US11582034B2 (en) * | 2019-12-16 | 2023-02-14 | Bull Sas | Secure, decentralized, automated platform and multi-actors for object identity management through the use of a block chain technology |
| US11588629B2 (en) * | 2019-12-16 | 2023-02-21 | Bull Sas | Secure, decentralized, automated platform and multi-actors for object identity management through the use of a block chain technology |
| US20210314293A1 (en) * | 2020-04-02 | 2021-10-07 | Hewlett Packard Enterprise Development Lp | Method and system for using tunnel extensible authentication protocol (teap) for self-sovereign identity based authentication |
| US20230015925A1 (en) * | 2020-05-29 | 2023-01-19 | Santa Clara University | Blockchain based Secure Software Updates for IoT Devices |
| US11630658B2 (en) * | 2020-05-29 | 2023-04-18 | Santa Clara University | Blockchain based secure software updates for IoT devices |
| US20220173913A1 (en) * | 2020-12-01 | 2022-06-02 | Smarter Contracts Ltd. | Consent Management |
| US12212685B2 (en) * | 2020-12-01 | 2025-01-28 | Smarter Contracts Ltd. | Consent management |
| US20240057102A1 (en) * | 2021-05-14 | 2024-02-15 | Roper Solutions, Inc. | Configuration of an Ephemeral Secure Wireless Ad-Hoc Network for Programmable Devices |
| US20240089252A1 (en) * | 2022-08-03 | 2024-03-14 | 1080 Network, Inc. | Systems, methods, and computing platforms for executing credential-less network-based communication exchanges |
| US12063211B2 (en) * | 2022-08-03 | 2024-08-13 | 1080 Network, Inc. | Systems, methods, and computing platforms for executing credential-less network-based communication exchanges |
| US12184638B2 (en) | 2022-08-03 | 2024-12-31 | 1080 Network, Inc. | Systems, methods, and computing platforms for executing credential-less network-based communication exchanges |
| US12212561B2 (en) | 2022-08-03 | 2025-01-28 | 1080 Network, Inc. | Systems, methods, and computing platforms for executing credential-less network-based communication exchanges |
| US12455979B2 (en) | 2024-01-16 | 2025-10-28 | Bank Of America Corporation | Permission based information transfer based on internet of things (IoT) insights |
| US20260011238A1 (en) * | 2024-07-03 | 2026-01-08 | Get Buzzed Inc. | Alert system for use in a limited decentralized point to point network environment |
Also Published As
| Publication number | Publication date |
|---|---|
| US20200067708A1 (en) | 2020-02-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11063760B2 (en) | Method for ensuring security of an internet of things network | |
| US12381859B2 (en) | Content security at service layer | |
| US10694360B2 (en) | Hearing device and method of hearing device communication | |
| Das | Two-factor user authentication in wireless sensor networks | |
| US20230283475A1 (en) | Identity authentication system, method, apparatus, and device, and computer-readable storage medium | |
| Sathyadevan et al. | Protean authentication scheme–a time-bound dynamic keygen authentication technique for iot edge nodes in outdoor deployments | |
| CN110537346A (en) | Secure Decentralized Domain Name System | |
| Khashan et al. | Innovative energy-efficient proxy re-encryption for secure data exchange in wireless sensor networks | |
| CN105409186A (en) | System and method for user authentication | |
| EP3624394B1 (en) | Establishing a protected communication channel through a ttp | |
| Gupta et al. | Onboarding and software update architecture for IoT devices | |
| CN113556230B (en) | Data security transmission method, certificate related method, server, system and medium | |
| KR20090104421A (en) | Elliptic Curve Password-Based Key Setting Method in Wireless Sensor Network and Wireless Sensor Network System and Recording Media | |
| Gehrmann et al. | Security in personal area networks | |
| CN107409048A (en) | public key based network | |
| Satpathy et al. | A sustainable mutual authentication protocol for IoT-Fog-Cloud environment | |
| Raniyal et al. | Passphrase protected device‐to‐device mutual authentication schemes for smart homes | |
| Zhang et al. | Enhancing security and efficiency in vehicle-to-sensor authentication: A multi-factor approach with cloud assistance | |
| Yang et al. | Design of Key Management Protocols for Internet of Things. | |
| Park et al. | Security bootstrapping for secure join and binding on the IEEE 802.15. 4-based LoWPAN | |
| Gupta et al. | Secure, anonymity-preserving and lightweight mutual authentication and key agreement protocol for home automation IoT networks | |
| Khatua et al. | PUF-based lightweight mutual authentication scheme for IoT-based smart grids | |
| Nouri-Moghaddam et al. | A novel authentication and access control framework in wireless sensor networks | |
| GB2570292A (en) | Data protection | |
| Azarnik et al. | Lightweight authentication for user access to Wireless Sensor networks |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| AS | Assignment |
Owner name: SASKEN TECHNOLOGIES LTD, INDIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SUBBA, GIRISH BANAVATHI VENKATA;REEL/FRAME:050219/0825 Effective date: 20190828 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: AWAITING TC RESP, ISSUE FEE PAYMENT VERIFIED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |