Detection of security threats in mesh networks
By introducing monitoring equipment into the mesh network, detecting and analyzing transmitted messages to determine whether they have been damaged, the security threat detection problem in the mesh network is solved, and real-time detection and defense of security threats is achieved.
Patent Information
- Application Number
- CN202510082977.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2018-11-28
- Filing Date
- 2019-10-29
- Publication Date
- 2025-03-14
AI Technical Summary
The prior art is difficult to effectively detect and defend against security threats in mesh networks, especially when the message transmission may be compromised or tampered.
By introducing a monitoring device, the messages transmitted by the source node through the relay node are detected, information in the message is collected and analyzed to determine whether the message is corrupted, and based on this, the security threat in the mesh network is detected.
Real-time detection and defense of security threats in mesh networks is realized, ensuring the integrity and security of message transmission, and improving the reliability and protection capabilities of the network.
Smart Images

Figure CN119629635A_ABST
Abstract
Description
[0001] This application is a divisional application of an application with an application date of October 29, 2019, application number 201980077005.5 (international application number PCT / US2019 / 058500), and name “Detection of Security Threats in Mesh Networks”.
[0002] priority
[0003] This patent application claims priority to non-provisional application No. 16 / 203,572, filed on November 28, 2018, entitled “DETECTION OF SECURITY THREATS IN A MESH NETWORK,” which is assigned to the assignee of the present application and is hereby expressly incorporated herein by reference. Technical Field
[0004] Various aspects described herein relate generally to wireless communications and, more particularly, to detection of security threats in mesh networks. background
[0006] All wireless networking technologies generally have limited range. However, there are many environments where devices that are otherwise out of communication range of each other may need to communicate using reliable low-power wireless technologies. For example, the Internet of Things (IoT) is based on the idea that everyday objects (not just computers and computer networks) can be read, identified, located, addressed, and otherwise controlled via an IoT communication network (e.g., an ad hoc system or the Internet).
[0007] One way to address the problem that arises when devices are outside of each other's maximum communication range is to implement a mesh network, which has a topology in which all devices can communicate with each other, either directly or indirectly. For example, two devices that are within radio range can communicate directly, while communication with devices that are outside of each other's radio range can be achieved via one or more intermediate "relay" nodes. Thus, a mesh network can provide multiple paths to route messages from source to destination, resulting in higher reliability relative to other networks that tend to have all traffic flow through a central hub (e.g., a router or gateway).
[0008] Accordingly, a wireless mesh network may generally refer to a network in which various devices or "nodes" have the ability to receive and act on messages, in addition to the ability to repeat or relay messages to surrounding devices or nodes within radio range. Thus, a mesh architecture may extend the effective radio range associated with any wireless technology used to communicate messages, and thus may be used to implement IoT and other suitable use cases that are at least partially built on wireless communications.
[0009] Overview
[0010] A simplified overview of one or more aspects disclosed herein is given below. As such, the following overview should neither be considered an exhaustive overview of all contemplated aspects, nor should the following overview be considered to identify key or decisive elements related to all contemplated aspects or to delineate the scope associated with any particular aspect. Accordingly, the sole purpose of the following overview is to present certain concepts related to one or more aspects of the mechanisms disclosed herein in a simplified form prior to the detailed description given below.
[0011] On the one hand, a method for detecting security threats in a wireless mesh network includes: detecting, by a monitoring device in the wireless mesh network, a first message transmitted by a source node in the wireless mesh network to a destination node in the wireless mesh network via at least one relay node in the wireless mesh network; collecting, by the monitoring device, information from the first message when the first message is transmitted in the wireless mesh network; determining, by the monitoring device based on an analysis of the information from the first message, that the first message has been corrupted; and detecting, by the monitoring device, a security threat in the wireless mesh network based on the first message being corrupted.
[0012] In one aspect, an apparatus for detecting security threats in a wireless mesh network includes at least one processor of a monitoring device in the wireless mesh network, the at least one processor being configured to: detect a first message transmitted by a source node in the wireless mesh network to a destination node in the wireless mesh network via at least one relay node in the wireless mesh network; collect information from the first message while the first message is transmitted in the wireless mesh network; determine that the first message has been corrupted based on an analysis of the information from the first message; and detect a security threat in the wireless mesh network based on the first message being corrupted.
[0013] On the one hand, a non-transitory computer-readable medium storing computer-executable instructions for detecting security threats in a wireless mesh network includes computer-executable instructions, which include: at least one instruction instructing a monitoring device in the wireless mesh network to detect a first message transmitted by a source node in the wireless mesh network to a destination node in the wireless mesh network via at least one relay node in the wireless mesh network; at least one instruction instructing the monitoring device to collect information from the first message when the first message is transmitted in the wireless mesh network; at least one instruction instructing the monitoring device to determine that the first message has been corrupted based on an analysis of the information from the first message; and at least one instruction instructing the monitoring device to detect a security threat in the wireless mesh network based on the first message being corrupted.
[0014] In one aspect, an apparatus for detecting security threats in a wireless mesh network includes a device for processing a monitoring device in the wireless mesh network, the device being configured to: detect a first message transmitted by a source node in the wireless mesh network to a destination node in the wireless mesh network via at least one relay node in the wireless mesh network; collect information from the first message while the first message is transmitted in the wireless mesh network; determine that the first message has been corrupted based on an analysis of the information from the first message; and detect a security threat in the wireless mesh network based on the first message being corrupted.
[0015] Other objects and advantages associated with the various aspects disclosed herein will be apparent to those skilled in the art based on the accompanying drawings and detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The accompanying drawings are presented to aid in describing various aspects of the disclosure and are provided solely for the purpose of illustrating these aspects and not limiting thereof.
[0018] Figure 1 An exemplary wireless mesh network is illustrated in which various aspects described herein may be suitably implemented.
[0019] Figure 2 An exemplary environment is illustrated in which a wireless mesh network implementing various aspects described herein may be deployed.
[0020] Figure 3 Exemplary mesh network node devices in accordance with at least one aspect of the present disclosure are illustrated.
[0021] Figure 4 Explained Layers of the mesh stack.
[0022] Figure 5 Shows an explanation of the provisioner node in An exemplary method for provisioning an unprovisioned device in a mesh network.
[0023] Figure 6 An exemplary method for Elliptic Curve Diffie-Hellman (ECDH) shared secret generation using an Elliptic Curve Cryptography (ECC) public-private key exchange procedure is illustrated.
[0024] Figure 7 Explains the involvement of a Man-in-the-Middle (MITM) attacker Figure 6 An exemplary method for ECDH shared secret generation.
[0025] Fig. 8A and 8BA monitoring device is illustrated sniffing traffic transmitted between all nodes in an exemplary mesh network.
[0026] Fig. 9 An exemplary method for detecting security threats in a wireless mesh network according to an aspect of the present disclosure is illustrated. Detailed Description
[0028] Various aspects of the present disclosure are provided in the following description and related drawings for various examples provided for illustrative purposes. Alternative aspects may be designed without departing from the scope of the present disclosure. In addition, well-known aspects of the present disclosure may not be described in detail or may be omitted to avoid obscuring more relevant details.
[0029] The word "exemplary" is used herein to mean serving as "an example, instance, or illustration." Any aspect described herein as "exemplary" is not necessarily to be construed as preferred or superior to other aspects. Likewise, the term "aspects" does not require that all aspects include the discussed feature, advantage, or mode of operation.
[0030] The terms used herein only describe specific aspects and should not be interpreted as limiting any aspect disclosed herein. As used herein, the singular forms of "one", "some" and "the" are intended to also include plural forms, unless the context clearly indicates otherwise. Those skilled in the art will further understand that the terms "include", "have", "include" and / or "contain" as used herein specify the existence of stated features, integers, steps, operations, elements, and / or components, but do not exclude the existence or addition of one or more other features, integers, steps, operations, elements, components and / or their groups.
[0031] In addition, various aspects can be described in the form of a sequence of actions performed by, for example, an element of a computing device. Those skilled in the art will recognize that the various actions described herein can be performed by a dedicated circuit (e.g., an application specific integrated circuit (ASIC)), by a program instruction being executed by one or more processors, or by a combination of the two. Additionally, these action sequences described herein can be considered to be fully implemented in any form of non-transient computer-readable medium, which stores a corresponding computer instruction set that will cause the associated processor to perform the functionality described herein upon execution. Thus, various aspects described herein can be implemented in several different forms, all of which have been conceived to fall within the scope of the subject matter claimed for protection. In addition, for each aspect described herein, the corresponding form of any such aspect can be described herein as, for example, "logic configured to perform the described actions" and / or other structural components configured to perform the described actions.
[0032] As used herein, the term "node" refers to a mobile or stationary device that is a member of a wireless mesh network. A node may be a cellular "feature" phone, a "smart phone", a personal or mobile multimedia player, a personal data assistant, a laptop computer, a desktop computer, a tablet computer, a wireless game controller, an IoT device (e.g., a "smart" thermostat, a refrigerator, a microwave oven, a speaker system, a meter, etc.), and a device having a programmable processor, a memory, and a device for connecting to and communicating on a radio access network (RAN) implementing a specific radio access technology (RAT), for connecting to and communicating on a wireless local area network (WLAN) (e.g., based on IEEE 802.11, etc.), and / or for communicating via a device-to-device (D2D) direct connection or a peer-to-peer (P2P) connection (e.g., A similar device that is connected to and communicates with other devices through a circuit system.
[0033] According to various aspects, Figure 1 An exemplary wireless mesh network 100 is illustrated in which various aspects described herein may be suitably implemented. More specifically, the exemplary wireless mesh network 100 may include various nodes 110 that may optionally be organized into groups 112, controllers 120 (e.g., mobile devices), gateways 130, and a configuration infrastructure 150 in communication via a network "cloud" 140 (e.g., the Internet). In addition, although the controllers 120 and gateways 130 are in Figure 1 100, but those skilled in the art will appreciate that the controller 120 and / or the gateway 130 may be included in the nodes 110 in various aspects. In general, the nodes 110 may be the basic building blocks of the wireless mesh network 100, wherein the nodes 110 may include any suitable device that may be configured to send, receive, and relay messages to / from surrounding nodes 110 (i.e., devices). In various aspects, message communication between nodes 110 may generally be based on broadcast messages, which may be transmitted via one or more wireless channels.
[0034] According to various aspects, the controller 120 (which may also be referred to as a provisioner node, as further described herein) can be configured to establish a wireless connection 122 with the node 110, whereby the controller 120 can use a wireless radio to communicate with the node 110 in the wireless mesh network 100. In addition, in various aspects, the controller 120 can have an additional communication path 124 to the wireless mesh network 100. For example, in various aspects, the controller 120 can use a configuration application to communicate with the configuration infrastructure 150 via the additional communication path 124 (e.g., via a network console or service). In this way, the configuration infrastructure 150 can service configuration commands received from the controller 120 (e.g., to securely distribute network keys to new nodes 110, to program a particular node 110 to be within the group 112 or another group, etc.).
[0035] In various aspects, a gateway 130 (e.g., an access point) can link various nodes 110 to a network 140 and allow command and control over a local area network (LAN) or wireless LAN (WLAN) to which the gateway 130 is connected. Like other elements in the wireless mesh network 100, the gateway 130 can also communicate with the various nodes 110 via a wireless channel using a wireless radio. According to various aspects, the wireless mesh network 100 can enable the nodes 110 to send, receive and / or relay messages (e.g., command and control operations) that may originate from one or more of the nodes 110 and / or be received from the gateway 130 via a wireless connection 122 from a controller 120 or via an additional communication path 124 between the controller 120 and the nodes 110.
[0036] According to various aspects, at least the nodes 110, the controller 120, and the gateway 130 can be configured to communicate with each other via a wireless mesh protocol, which can generally enable devices to send, receive, and relay messages to / from surrounding devices within radio range, thereby forming an ad-hoc mesh network. For example, message communication can be based on one or more wireless channels (e.g., The wireless mesh protocol may be used to transmit and receive broadcast messages transmitted and received over a broadcast channel (a broadcast channel), where each node 110 receiving the broadcast message may accept the message and forward it to other nodes 110 within radio range. In this way, the range over which nodes 110 may communicate may be easily extended because one or more intermediate nodes 110 may be used to relay the message to another node 110 that is originally located outside the radio range of the originating node 110. In this way, the wireless mesh protocol may enable the wireless mesh network 100 to be easily expanded to accommodate new devices, which may also increase the geographic coverage of the wireless mesh network 100 depending on device placement. Thus, the wireless mesh protocol may be used to support a variety of different use cases that are at least partially based on point-to-point, point-to-multipoint, and / or other suitable wireless communications.
[0037] According to various aspects, Figure 2 An exemplary environment 200 is illustrated in which a wireless mesh network may be suitably implemented. Figure 2 In the illustrated exemplary environment 200, a wireless mesh network supports a home automation or IoT use case, where home appliances, lights, electrical switches, thermostats, etc. can form a wireless mesh network and be controlled via a wireless mesh protocol directly using one or more user devices or indirectly via a gateway device in communication with the one or more user devices (e.g., a smartphone, laptop, etc.). Figure 2 The specific environment 200 shown in FIG. 1 includes a smart phone 270 (which may correspond to the controller 120), outdoor speakers 212 and 214, bedroom speakers 216 and 218, a thermostat 220, a washing machine 222, a clock 224, a coffee maker 226, a refrigerator 250, a kitchen speaker 228, living room speakers 232 and 234, a television 252, an electronic lock 236, and a home gateway device 272 (which may correspond to Figure 1 ). Various devices can communicate with other devices within sufficient range (e.g., via broadcast messages), and can receive and relay messages appropriately to ensure that the message(s) reach the intended destination. Figure 2 In the environment 200 shown in FIG. 2 , a user can press a button on a smart phone 270 to engage an electronic lock 236 that is outside the radio range of the smart phone 270. However, the smart phone 270 is within the radio range of the outdoor speakers 212 and 214, the clock 224, and the refrigerator 250. Accordingly, the smart phone 270 can broadcast a message containing a command to engage the electronic lock 236, and the outdoor speakers 212 and 214, the clock 224, and the refrigerator 250 can each relay the message until the message eventually reaches the electronic lock 236.
[0038] Figure 3 1 illustrates an exemplary node 110 in accordance with at least one aspect of the present disclosure. The main processor 302 of the node 110 runs an application that causes the node 110 to perform the functionality described herein, and includes a cache memory 304 and a cache memory for storing data in an off-chip memory (on Figure 3 308). The system memory hierarchy 308 may include various volatile and non-volatile memory systems.
[0039] Node 110 is able to interface with a wireless local area network by means of a communication device 320 and an antenna 322. Communication device 320 is illustrated as including a modem 320A and a digital signal processor (DSP) 320B, but in practice other types of modules may be employed, all or some such modules may be integrated on a single chip, and some modules may be integrated with processor 302. In one aspect, communication device 320 may alternatively be referred to as a transceiver or a wireless interface. Figure 3 In the example of , node 110 has a WLAN link 344 to gateway 130, which provides access to network 140 (not shown).
[0040] In one aspect, the host processor 302 can implement a low energy short range wireless network protocol stack 306 (such as Low Energy (BLE) protocol stack or mesh protocol stack, wherein instructions for executing some or all of the low energy short range wireless network protocol stack 306 are stored in the system memory hierarchy 308). However, in Figure 3 In the example of , a separate chip or embedded hardware core, shown as a low energy, short range wireless network processor 324, implements portions of the low energy, short range wireless network protocol stack 306 to perform the low energy, short range wireless network operations described herein. The low energy, short range wireless network processor 324 includes memory 326 (shown as on-chip memory), but the memory 326 may be part of a memory hierarchy in which some of the memory also resides off-chip. The wireless interface 328 provides an interface to the antenna 330 suitable for operating in the designated spectrum utilized by the low energy, short range wireless network. Any number of devices with low energy, short range wireless network capabilities (such as one or more other nodes 110 (in Figure 3 In the example of , there are two nodes, but there may be more or less than two nodes)) for communication. Instructions for implementing some or all of the low energy short range wireless network operations described herein may be stored in a memory such as memory 326. Memory 326 may be referred to as a non-transitory computer readable medium.
[0041] like Figure 3, the node 110 includes a communication device 320 that permits the node 110 to act as an access terminal to the gateway 130, and a low energy short range wireless network processor 324 and a wireless interface 328 that together permit the node 110 to act as a low energy mesh network node in a low energy mesh network, such as the wireless mesh network 100. For example, the node 110 may receive information about another node 110 from the gateway 130 via the communication device 320. The node 110 may establish a connection with all downlink nodes 110 and transmit the information to the downlink nodes 110 in one or more data packets using the low energy short range wireless network processor 324 and the wireless interface 328.
[0042] Node 110 may optionally include a user interface. Figure 3 As shown, the node 110 may include a CODEC (coder-decoder) 310 for interfacing with a microphone 312 and a speaker 314. A display controller 316 provides an interface to a display 318 so that a user may interact with the node 110.
[0043] In one aspect, as directed by instructions stored in memory 326, low energy short range wireless network processor 324 can cause node 110 to perform operations described herein. Thus, for example, low energy short range wireless network processor 324, memory 326, and wireless interface 328 can all be used in cooperation to load, store, and perform various operations disclosed herein, and as such, logic for performing these operations can be distributed across various elements. Alternatively, functionality can be incorporated into a discrete component (e.g., low energy short range wireless network processor 324). Thus, the features of node 110 will be considered illustrative only, and the present disclosure is not limited to the features or arrangements illustrated.
[0044] Nodes in a mesh network (e.g., wireless mesh network 100) can use various wireless communication protocols (such as Zigbee, Thread, etc.) to communicate with each other. The agreement is called " mesh", and in The SIG is described in various publicly available specifications. The network is built on Low Energy (BLE) protocol, which is based on The SIG's various publicly available specifications are described in detail here.
[0045] Figure 4 Explained The layers of the mesh stack, in one aspect, the The mesh stack can correspond to Figure 3 The low energy short range wireless network protocol stack 306 in FIG. Figure 4 In the explanation, Mesh is not integrated into the BLE stack, but is a separate entity on top of the BLE stack. Therefore, on top of the BLE core specification layer 402, The mesh stack includes a bearer layer 404, a network layer 406, a lower transport layer 408, an upper transport layer 410, an access layer 412, a base model layer 414, and a model layer 416. When a mesh node (e.g., node 110) receives a message, it passes the message from the underlying BLE stack (i.e., BLE core specification layer 402) to the upper layers via bearer layer 404 to network layer 406. Network layer 406 applies various checks to decide whether to pass the message to transport layers 408 and 410 or discard it.
[0046] Mesh uses four types of nodes: relay nodes, low power nodes (LPNs), proxy nodes, and friend nodes. Relay nodes receive and forward messages across the mesh network. Relay nodes generally remain in active or awake mode, which significantly increases power consumption. This is not a disadvantage for mains-powered applications (such as smart lighting) where the nodes are hardwired or plugged into a power source, but it is a problem for non-mains-powered nodes (such as switches) that are incorporated into the mesh network. As such, relay nodes are generally mains-powered.
[0047] The LPN uses the standard power saving features of BLE (e.g., remaining in a sleep state for longer periods of time), and can therefore operate using battery power for longer periods of time. Each LPN is connected to a mains powered Friend Node, which remains in an active or awake mode and caches any messages directed to the LPN. When the LPN enters receive mode (according to a predetermined schedule), it polls the Friend Node for any messages stored in the Friend Node's cache. The Friend Node sends all cached messages to the LPN (called a response message), which operates as instructed and then returns to a power saving sleep mode.
[0048] Proxy nodes are not allowed to include The devices of the mesh stack are connected to Mesh network. This is useful, for example, when a consumer wants to use an old smartphone to control a smart lighting mesh network. Interaction is achieved via the Generic Attribute Profile (GATT) interface of the proxy node and the device.
[0049] Therefore, reference Figure 2, (battery powered) thermostat 220 may be an example of an LPN, while bedroom speaker 218 and / or television 252 (if mains powered) may be examples of friend nodes. As another example, (battery powered) clock 224 may be an LPN, while (mains powered) refrigerator 250 may be a friend node. Furthermore, refrigerator 250, television 252, and washing machine 222 may be, for example, relay nodes, since they are all mains powered. Figure 2 As illustrated, outdoor speakers 212 and 214, bedroom speaker 218, and living room speaker 234 may also be relay nodes even though not mains powered.
[0050] Each node in a wireless mesh network (e.g., wireless mesh network 100) has its own device key (a unique, device-specific key, known only to itself and the provisioning node). Each node in a wireless mesh network shares a network key (a key that is specific to the public network and is used in Before a new node can participate in routine mesh operations, it is "provisioned" (i.e., loaded into the mesh network) by a provisioner node through a procedure call "provision". This is a trusted device that has access to all nodes in the mesh network. For example, the provisioner node can be Figure 1 The controller 120 in the . The new node is assigned an address (eg, an Internet Protocol (IP) address) along with a network and device key. After provisioning, the device key is used to establish a secure channel with the provisioner node to configure the new node.
[0051] Provisioning is typically accomplished using an application installed on a provisioner node (eg, controller 120). The mesh provisioning procedure uses the Elliptic Curve Diffie-Hellman (ECDH) key agreement protocol and 256-bit Elliptic Curve Cryptography (ECC) public-private key exchange to distribute provisioning data. ECDH is an anonymous key agreement protocol that allows two parties, each with an ECC public-private key pair, to establish a shared secret over an insecure channel. ECDH is The purpose of mesh provisioning is to allow a secure link to be created between a provisioner node and an unprovisioned device. It uses public and private keys to distribute a symmetric secret key that both devices can then use for encryption and decryption of subsequent messages.
[0052] The provisioning procedure is designed to accomplish two tasks. The first is to authenticate an unprovisioned device. For example, In a mesh network, there can be a few, dozens, or hundreds of devices in a small space. Authentication is performed to ensure that the device the provisioner node is interacting with is the one the user wants to provision. The second step is to establish a secure link with the unprovisioned device to share information with it. At the end of this process, the unprovisioned device becomes A node in a mesh network.
[0053] Figure 5 The diagram illustrates the controller 120 (in its capacity as a provisioner node) in An exemplary method 500 for provisioning an unprovisioned device 510 in a mesh network. The device 510 may correspond to a node 110 before it is provisioned. The controller 120 and the device 510 may use their respective low energy short range wireless network processors 324 and wireless interfaces 328 according to Mesh protocols communicate with each other.
[0054] At 502, device 510 indicates its availability to be provisioned by transmitting an unprovisioned device beacon in one or more advertising packets. A user may need to initiate device 510 to advertise in this manner by, for example, pressing a combination of buttons on device 510 or holding buttons on device 510 for a certain length of time. The beacon message may include a universally unique identifier (UUID) of device 510.
[0055] At 504, controller 120 sends an invitation to device 510 in the form of a provisioning invitation protocol data unit (PDU). At 506, device 510 responds with information about itself in a provisioning capabilities PDU. The provisioning capabilities PDU may include the number of elements supported by device 510, the set of supported security algorithms (e.g., ECDH), the availability of its public key using an out-of-band (OOB) method, the ability of device 510 to output values to a user (e.g., display LEDs, speakers, etc.), and / or the ability of device 510 to receive values input by a user (e.g., touch screen, button(s), microphone, etc.). In a mesh, device 510 may support more than one element. An element is an entity that will have a unicast address through which other devices in the mesh network can communicate. For example, a four-switch expansion board with mesh capabilities will have four elements indicating four different switches. Or, for example, one element of device 510 may support turning a light on or off, while another element may support changing the color of the light.
[0056] At 508, controller 120 sends a provisioning start PDU to device 510, which indicates to device 510 that controller 120 is not aware of the public key of device 510. Thus, at 512 and 514, controller 120 and device 510 communicate directly (e.g., via their connection) or using an OOB method (e.g., device 510 flashes its LED a certain number of times and the user enters that number into the user interface of controller 120). The generation of the public key is described in the following reference Figure 6 At 516, the controller 120 sends a Provisioning Confirm Provisioner PDU to the device 510, and at 518, the device 510 sends a Provisioning Confirm Device PDU to the controller 120, thereby confirming that each device has received the public key of the other device.
[0057] At 520, the controller 120 outputs the random single-digit or multi-digit number to the user in some form, such as by displaying it on the touch screen of the controller 120. At 522, the device 510 also outputs the random single-digit or multi-digit number to the user in some form, using an action appropriate to its capabilities. For example, it may flash its LED the number of times that random number, or emit a beep that number of times. The user inputs the number(s) output by the controller 120 and the device 510 into the device 510 and controller 120, respectively, and a cryptographic exchange involving the random number occurs between the two devices to complete the authentication of each of the two devices to each other.
[0058] After authentication has been successfully completed, each of the two devices sends a private key (e.g. The session key is derived from the ECDH shared secret using the "DevKey" in the mesh and the exchanged public key. More specifically, both the controller 120 and the device 510 use their own public and private key pairs (exchanged at 512 and 514) to compute the ECDH shared secret. The ECDH algorithm is used by each device to securely compute the session key by exchanging public keys, computing the ECDH shared secret using the public keys, and then generating the session key from the shared ECDH secret.
[0059] At 524, the controller 120 uses the session key to encrypt data used to complete the provisioning process (including the network key (eg, 10. At 526, upon receiving the Provisioning Data PDU, device 510 sends a Provisioning Complete PDU to controller 120 to complete the provisioning process. After provisioning has been completed, the provisioned device 510 possesses the NetKey of the mesh network assigned by controller 120, a mesh security parameter called an IV index, and the unicast address of device 510. The device is now referred to as a "node" in the mesh network (such as node 110 in wireless mesh network 100).
[0060] Figure 6An exemplary method 600 for ECDH shared secret generation using the ECC-256 public-private key exchange procedure is illustrated. The method 600 may be performed by two nodes in a mesh network, such as the controller 120 (in its capacity as a provisioner node) and the device 510, in Figure 5 514). The controller 120 and the device 510 may use their respective low energy short range wireless network processors 324 and wireless interfaces 328 according to Mesh protocols communicate with each other.
[0061] At 602A / B, each device generates a random number, referred to as "Pa" for controller 120 and "Pb" for device 510. At 604A / B, using the same base point (Gx, Gy) (the base point of the elliptic curve from which the ECDH algorithm was generated) and the random number generated at 602A / B, each device generates its public key (referred to as "Pka" for controller 120 and "Pkb" for device 510) and transmits the public key to the other device in a Provisioning Public Key PDU. At 606A / B, each device receives the public key of the other device. The exchanges at 604A / B and 606A / B correspond to Figure 5 512 and 514. At 608A / B, each device generates its ECDH shared secret (ES) using the random number generated at 602A / B and the public key received at 606A / B. This is then Figure 5 The shared secret at 522 is used to generate the session key after authentication has been successfully completed.
[0062] The mesh uses advertising bearers to relay packets from a source node to one or more destination nodes. It utilizes three fixed advertising channel frequencies to broadcast such packets. The lack of a channel hopping scheme provides an opportunity for sniffer / attacker nodes to easily identify messages communicated by nodes across the mesh network and introduces various types of attacks including eavesdropping, replay attacks, man-in-the-middle (MITM), etc. As such, The goal of the mesh is to protect all messages from the attacks mentioned above with its security "toolbox".
[0063] Security threats in mesh networks fall into the following categories: (1) threats faced when provisioning nodes with no or minimal OOB support, and (2) threats from rogue devices that have been accepted into the mesh network.
[0064] First refer to the threats during provisioning, as referenced above Figure 5As discussed, along with the 256-bit ECC, the provisioning process may also authenticate the unprovisioned device 510 using optional OOB information, such as a public key of the device 510 (programmed in the device 510) transmitted at 514, a 16-octet secret key (programmed in the device 510), a value input into the device 510 (via its user interface) at 520, and / or a randomly generated value displayed on the device 510 (via its user interface) at 522. In the mesh, the provisioning data subsequently transmitted at 524 includes a network key (e.g., NetKey), a key index, a flag, an IV index, and a unicast address of the new node. The encrypted provisioning data and a provisioning data message integrity check (MIC) include a session key, a session nonce, and an Advanced Encryption Standard (AES) counter (AES-CCM) with a Cipher Block Chaining Message Authentication Code (CBC-MAC) for the provisioning data, expressed as: "AES-CCM (SessionKey, SessionNonce, Provisioning Data)" The SessionNonce parameter is represented as "k1(ECDHSecret,ProvisioningSalt,'prsn')", the SessionKey parameter is represented as "k1(ECDHSecret,ProvisioningSalt,'prsk')", the ProvisioningSalt parameter is represented as "s1(ConfirmationSalt||RandomProvisioner||RandomDevice)", the ConfirmationSalt parameter is represented as "s1(ConfirmationInputs)", and the ConfirmationInputs parameter is represented as "ProvisioningInvitePDUValue||
[0065] ProvisioningCapabilitiesPDUValue||ProvisioningStartPDUValue||
[0066] PublicKeyProvisioner||PublicKeyDevice", the s1(M) parameter is represented as "AES-CMAC ZERO (M)", and the k1(N, SALT, P) parameter is represented as "AES-CMACT(P), key T = AES-CMAC SALT(N)". CMAC stands for "Ciphertext-based Message Authentication Code".
[0067] The security of the provisioning data transmitted at 524 depends heavily on the ECDH shared secret used to generate the session key and session nonce. A MITM attacker can easily generate the ECDH shared secret pair by posing as an unprovisioned device to the actual provisioner node and simultaneously posing as a provisioner node to the actual device being provisioned. However, the use of additional confirmation and random value generation exchange and verification steps at 516 to 522 prevents this obvious attack.
[0068] Figure 7 Explains the involvement of MITM attackers Figure 6 An exemplary method 700 for generating an ECDH shared secret for a mesh network. The method 700 may be performed by three nodes in a mesh network, such as the controller 120 (in its capacity as a provisioner node), the device 510, and the MITM attacker 710 (which may correspond to the node 110). Figure 5 Controller 120, device 510, and MITM attacker 710 can use their respective low energy short range wireless network processors 324 and wireless interfaces 328 according to Mesh protocols communicate with each other.
[0069] At 702A and 702D, the controller 120 and the device 510 generate random numbers, referred to as “Pa” and “Pd”, respectively. Meanwhile, at 702B, the MITM attacker 710 generates a random number as if it were the device 510 (referred to as “Pb”), and at 702C, generates a random number as if it were the controller 120 (referred to as “Pc”). At 704A and 704D, using the same base point (Gx, Gy) and the random numbers generated at 702A and 702D, the controller 120 and the device 510 generate their public keys, referred to as “Pka” and “Pkd”, respectively. At 704B and 704C, also using the same base point (Gx, Gy) and the random numbers generated at 702B and 702C, the MITM attacker 710 generates two public keys, one for the controller (referred to as “Pkb”) and one for the device 510 (referred to as “Pkc”).
[0070] At 706A and 706D, the controller 120 and the device 510 receive public keys from the MITM attacker 710. At 706B and 706D, the MITM attacker 710 receives public keys from the controller 120 and the device 510. At 708A and 708D, the controller 120 and the device 510 use the random numbers generated at 702A and 702D and the public keys received at 706A and 706D to generate their ECDH shared secrets (ES). At 708B and 708D, the MITM attacker 710 uses the random numbers generated at 702B and 702C and the public keys received at 706B and 706C to generate ECDH shared secrets for the controller 120 and the device 510, respectively. The MITM attacker 710 now has a shared secret that will be used in Figure 5 The 522 is used to generate session keys after authentication has been successfully completed.
[0071] As mentioned above, additional confirmation and random value generation exchange and verification steps at 516 to 522 may be used to prevent MITM attacks. The generation of the provisioner confirmation and device confirmation uses the following parameters:
[0072] ConfirmationKey = k1(ECDHSecret,ConfirmationSalt,“prck”)
[0073] ConfirmationSalt (confirmation salt value) = s1 (ConfirmationInputs)
[0074] ConfirmationInputs = ProvisioningInvitePDUValue ||
[0075] ProvisioningCapabilitiesPDUValue||ProvisioningStartPDUValue||
[0076] PublicKeyProvisioner||PublicKeyDevice
[0077] ConfirmationProvisioner =
[0078] AES-CMAC ConfirmationKey (RandomProvisioner||AuthValue)
[0079] ConfirmationDevice = AES-CMAC ConfirmationKey(RandomDevice||
[0080] AuthValue)
[0081] For devices that support OOB, the AuthValue field is non-zero. The OOB value is the only value that is not broadcast on the mesh network and is used to calculate the AuthValue. Therefore, a MITM attacker will not be able to generate the required confirmation value for the provisioner node and the device being provisioned if the following conditions are met: (1) the AuthValue is never transmitted on the mesh network, and (2) the 16-octet AuthValue is non-zero and does not contain only one or two octets of data.
[0082] For devices that do not support OOB, the AuthValue field is zero, or for devices that limit the length of input and output OOB values, the AuthValue field may contain a smaller one or two octet value. Provisioning such devices in the network provides an opportunity for an active attacker to easily bypass the security imposed by the confirmation and random exchange and ultimately determine the provisioned data from the provisioner node by generating session keys and session nonce.
[0083] The problem of an attacker knowing the network key can be catastrophic to the entire mesh network, because the network key controls not only the network layer behavior of the device currently being provisioned, but also controls nodes that have been previously provisioned in the same network. Thus, even if most nodes in a mesh network support strong OOB information, a single node that only supports very basic OOB information or does not support any OOB information will put the entire network at risk. In addition, if the network key is known, an attacker can easily generate information derived from the network key, such as encryption keys, privacy keys, beacon keys, identity keys, network identifiers, and friend keys. Possession of these keys allows an attacker to sniff, control, or even destroy the operation of nodes present in the network.
[0084] For example, a device-specific key (e.g., "DevKey") is derived from the ECDH secret and the provisioning salt as follows: DevKey(device key) = k1(ECDHSecret(ECDH secret), ProvisioningSalt(provisioning salt), "prdk"). Therefore, knowledge of the ECDH secret allows a MITM attacker to gain unauthorized access to the device-specific key of the device being provisioned. Furthermore, since the application key (the key used to encrypt traffic for a specific application running on a node) is shared using the device-specific key, the attacker will know the application key, which will ultimately give the attacker complete control over the compromised device.
[0085] Therefore, a MITM attack can be very easy in a mesh network with at least one node that does not support OOB information or supports minimal OOB information, while a MITM attack can be very difficult in a mesh network where every node supports 16-byte OOB values. The severity of the impact of a successful MITM attack can be very fatal. If an attacker successfully breaks through the provisioning procedure by attacking the weakest node in the network, it will be able to obtain the following information: the network key ("NetKey"), the device-specific key of the device being attacked ("DevKey"), the IV index of the network, the unicast address of the device being attacked, and the application key being configured ( "AppKey" in the mesh).
[0086] Referring now to attacks from nodes present in the network, such nodes may corrupt the source and sequence numbers of messages (or packets) being transmitted in the network, corrupt the Time To Live (TTL) value of messages being transmitted in the network and / or corrupt the destination (DST) address of messages being transmitted in the network.
[0087] With respect to the destruction of the source and sequence numbers of messages being transmitted in the network, it is likely that users will purchase devices from different vendors and provision them to form a single mesh network. Once all nodes are configured as part of the same mesh network, each node will have information about the provisioning node and neighboring nodes, and will have access to all other important network information. In this way, any node can easily determine the network layer of its neighboring nodes.<SRC,SEQ> >Yes, because the neighbor nodes have the same network key.
[0088] Devices from some manufacturers may have <<SRC,SEQ> >Intelligence of cache. For example, when node "A" sends a message to node "B" with sequence number (SEQ) "N", a rogue node can pretend to be node A to create a new message with sequence number (SEQ) "M" (where M is significantly greater than N) and send it to node B. Because <<SRC,SEQ> >The cache is being updated in the network layer, so Node B will have to update its cache after verifying the rogue node's network MIC<<SRC,SEQ> >Update to<<A,M> >. Now, node B will no longer process subsequent messages received from node A with the sequence "N+1 to M". This is equivalent to a rogue node creating a denial of service (DoS) attack in the network. Since the user is likely unaware of the software running on devices manufactured by various vendors, it will be difficult for him or her to prevent or even identify such attacks.
[0089] Referring to the destruction of TTL, the TTL value in the network header is used to control flooding in a mesh network. Before relaying the message, each node will decrement the TTL value in the header of the received message and then broadcast it to the network. Packets with a TTL of zero will be processed by the receiving node but will not be relayed.
[0090] Thus, a rogue node can block messages by using TTL - specifically, the rogue node can set the TTL value to 0 instead of decrementing it by 1, and in this way, the message will not be relayed further in the network, thereby preventing the actual destination node from receiving the message, which can ultimately stop communication between two nodes and / or a set of nodes.
[0091] Similarly, a rogue node may modify the TTL to a maximum value to cause unnecessary flooding of packets in the mesh network.
[0092] Refer to the destruction of DST address, <<DST,TransPDU> > The DST address is generally encrypted using 128-bit AES encryption using an encryption key derived from the network key. Any node in the network can decrypt the encryption key and obtain the value of the DST address. A rogue node can change the DST address to a group address before relaying the message, and then relay the message. In this case, a message intended only for a single node will reach multiple nodes, and all receiving nodes will eventually decrypt the packet and send it to the transport layer because they all subscribe to the group address. These nodes will eventually discard the message from the transport layer because they will not be able to decrypt the message using their application key. In this way, these nodes will unnecessarily attempt to decrypt the message at the network layer (successfully) and at the transport layer (failed). This will unnecessarily drain the node's battery because decryption is a complex process that involves a lot of computation and therefore consumes some of the battery's power. The rogue node can continue to perform this operation repeatedly, which will eventually drain the battery of a set of nodes in the mesh network.
[0093] If the network key (e.g., NetKey) is known, the ease of the possibility of such an attack is 100%. If the attacker successfully obtains the network key, the severity of the impact of a successful attack can be fatal because it can sniff all network traffic (within communication range). As mentioned above, it can also introduce a denial of service attack to all other nodes in the network.
[0094] The present disclosure provides various solutions to solve the above problems, including (1) introducing a monitoring device into a mesh network, (2) enhancement at a node device, and (3) protecting a provisioning procedure.
[0095] First, with reference to the introduction of monitoring party devices, with the advent of large-scale automation and seamless operation of complete mesh networks, it is important to continuously (in real time) monitor such mesh networks to ensure that they are not subject to any security threats. This can be achieved by introducing special devices into the network as "security monitors" of the network. Such devices can be stationary nodes in the network, mobile nodes in the network, devices embedded in the devices of network users (e.g., controllers 120, gateways 130), or any other arrangement that will make it close to the maximum number of nodes in the mesh network. Such security monitors should be able to collect all information about each node (application keys, network keys, etc.) from the provisioning party node (e.g., during provisioning), sniff all messages exchanged between nodes in the network, create message flow paths between source (SRC) and destination (DST) nodes by sniffing transmission packets, analyze and upload the collected information to one or more remote third-party storage servers (commonly referred to as "clouds") and / or users, and take action on threats and report them to users.
[0096] The monitoring device should be able to track attacker devices in the mesh network. For example, the monitoring device can help detect active MITM attacks and other attacks from nodes configured in the network. For example, this can be done by the monitoring device closely observing the provisioning messages exchanged between the unprovisioned devices and the provisioning node. Since there are separate sets of messages for both the provisioning node and the unprovisioned devices, the monitoring device can determine if there is some other device in the network that is sending both the provisioning node and the unprovisioned device messages. The device that is sending such messages is identified as an attacker.
[0097] The message processing capability of the monitoring device should be high, because it should be able to listen to all messages being exchanged between all other nodes in the network, and should have additional information about those nodes (such as their addresses, their relative physical locations in the network, etc.). It would be relatively easy to determine if a single device is behaving as both a provisioning node and a node being provisioned, and then warn the user about such behavior, using only the device address. Additionally, the information collected by the monitoring device can be sent to the "cloud" where it can be analyzed by, for example, a machine learning program. The program can search for different abnormal patterns in the mesh network to detect which node is the attacker node. Since it is a machine learning program, the more data it has to analyze, the greater the chance of identifying the correct attacker node.
[0098] The monitoring device can identify different signs or behavior patterns that are abnormal in the mesh network. For example, the monitoring device can maintain a table of BD addresses, received signal strength indicators (RSSIs), and SRC IDs of all nodes in the network. In this way, if a node disguises itself as a different node by changing its SRC ID when transmitting a message, the monitoring node will be able to easily identify it as an attacker node. As another example, the monitoring device can maintain a table of <<SRC,SEQ> > information. If we assume that the attacker node destroys the destination node's <<SRC,SEQ> > cache to change the sequence number of the relayed message, the monitoring device can easily identify it as an attacker node. As another example, the monitoring device will be able to determine whether the transmission header of the message has been modified between the source node and the destination node, indicating the presence of an attacker node in the mesh network. As another example, the monitoring device will be able to detect whether a node is modifying network packet header information (such as TTL, control bit (CTL) (which identifies whether the message is a control message or an access message), SRC and DST fields).
[0099] Fig. 8AThe monitoring device 810 is illustrated sniffing traffic transmitted between all nodes 110 in the exemplary mesh network 800. In one aspect, the monitoring device 810 is a node in the mesh network 800 and may have been provisioned (e.g., by the controller 120) or may itself be a provisioning node. Because the monitoring device 810 has knowledge of the entire mesh network 800, it can predict the content of transmissions of the relay nodes between the source (SRC) and destination (DST) nodes. The monitoring device 810 and the nodes 110 may use their respective low energy short range wireless network processors 324 and wireless interfaces 328 according to Mesh protocols communicate with each other.
[0100] like Fig. 8A As shown in FIG. 1 , node A 110 is transmitting a message (or packet) to node C 110. The message is relayed from node A 110 to node B 110, from node B 110 to node X 110, and from node X 110 to node C 110. Each of the relaying nodes B 110 and X 110 decrements the TTL counter, which is originally set to 5, by 1, and no node changes the source (SRC) and sequence (SEQ) values of the message.
[0101] Since the monitoring device 810 is aware of the relay nodes between node A 110 and node C 110, when it sniffs a message transmitted by node A 110 with node C 110 as its destination, it can predict the message headers that will need to be generated by both nodes B 110 and X 110 in order for the message to reach node C 110. Fig. 8A In the example above, each node behaves as expected. However, in Figure 8B In the example of FIG. 8 , Node X 110 is attempting to corrupt a message relayed by Node B 110. In this case, the monitoring device 810 can quickly identify that a message with a header parameter <<SRC=A,DST=C,SEQ=1,TTL=3> > message instead transmits a message with header parameter <<SRC=A,DST=C,SEQ=100,TTL=100> >. In this way, the monitoring device 810 may identify the node X 110 as an attacker, and may notify the user of the attack, and (optionally) remove the device from the mesh network 800. As will be appreciated, the monitoring device 810 may identify and analyze other patterns and make decisions based on the data provided.
[0102] After detection, the attacker node should be removed from the mesh network or otherwise isolated from the remaining nodes in the network. The monitoring device (e.g., monitoring device 810) can record meta information about the attacker device (e.g., brand, model, serial number, manufacturer, etc.) to report such behavior to the user and / or manufacturer. In addition, the impact of the attacker device should be normalized. First, because the network key(s) for the mesh network has been compromised, there is a need to change the network key(s) after removing the attacker device. In this way, a key refresh procedure should be initiated on all affected nodes in the network that use the compromised network key(s). Second, there is a need to clear the cache of all nodes in the mesh network or restore their cache to the correct <<SRC,SEQ> >Combination required. To achieve this, a separate configuration message command can be used, or the sequence number should be forced to clear after the key refresh.
[0103] There are also enhancements that can be made at a node device (e.g., node 110) in a mesh network (e.g., wireless mesh network 100). For example, each node in the network can store the angle of arrival (AoA) of messages from all of its neighboring nodes. In this way, when a node receives a message from a source node with a sequence number that is significantly different from a previous message from the source node, the receiving node can avoid immediately updating its sequence source cache for the source node. Instead, based on previously stored AoA information, the receiving node can determine whether the message is from a known node, but is received from an AoA that is different from the last message received from the node, and if so and the sequence number is high compared to the last seen sequence number, it can choose to ignore such messages for a period of time.
[0104] There are also some ways to protect the provisioning procedures. For example, nodes that do not have input / output OOB capabilities should have some other means to ensure that they support AuthValue (authentication value). On the one hand, AuthValue (authentication value) can be pre-programmed into these devices when manufacturing these devices. The provisioning party node can be connected to the server of the equipment supplier, and obtain the AuthValue (authentication value) of the device through a certain secure connection before provisioning the device. On the other hand, the transmission power of the provisioning party node and / or the equipment being provisioned should be reduced to prevent nearby devices from sniffing the provisioning packets. As will be appreciated, the provisioning party node and the equipment being provisioned should be placed closer together due to using lower transmission power. In addition, if the provisioning party node and the equipment being provisioned both use lower transmission power, the traffic between the two will be safer, because other devices will not be able to sniff traffic from any device.
[0105] Fig. 9An exemplary method 900 for detecting security threats in a wireless mesh network (e.g., wireless mesh network 100 / 800) according to an aspect of the present disclosure is illustrated. Method 900 may be performed by a monitoring device 810, which may correspond to a node 110 in the wireless mesh network 100. In some aspects, the monitoring device 810 may be a provisioning node in the wireless mesh network, and in other aspects, may not be a provisioning node in the wireless mesh network. In some aspects, the monitoring device 810 may be a stationary mains-powered device in the wireless mesh network, and in other aspects, the monitoring device 810 may be a battery-powered mobile device in the wireless mesh network. In some aspects, the wireless mesh network includes Mesh network.
[0106] At 902, the monitoring device 810 (eg, the low energy short range wireless network processor 324 in conjunction with the wireless interface 328) detects a signal from a source node (eg, Fig. 8A / B) via at least one relay node (e.g., Fig. 8A / B) to a destination node (e.g., Fig. 8A / The first message (or packet) transmitted by node C 110 in B.
[0107] At 904, the monitoring device 810 (e.g., the low energy short range wireless network processor 324 in conjunction with the wireless interface 328) collects information from the first message as it is transmitted in the wireless mesh network (e.g., header information (such as SRC, DST, TTL, SEQ, etc.)). 902 and 904 together can be considered as the monitoring device 810 "sniffing" the first message. As discussed above, the monitoring device 810 sniffs all messages (or packets) transmitted in the wireless mesh network in order to identify potential security threats, such as where message headers are manipulated to increase the amount of traffic in the wireless mesh network or to reduce the amount of traffic.
[0108] At 906, the monitoring device 810 (e.g., the low energy short range wireless network processor 324 or the processor 302) determines that the first message has been corrupted based on an analysis of information from the first message (e.g., a changed DST, SEQ, or TTL value). As discussed above, a corrupted message (or packet) indicates an attacker node in the wireless mesh network.
[0109] At 908, the monitoring device 810 (e.g., the low energy short range wireless network processor 324 or the processor 302) detects a security threat in the wireless mesh network based on the first message being corrupted. Once detected, the monitoring device 810 will be able to take appropriate actions to mitigate the security threat, such as notifying the user and removing the attacking node from the wireless mesh network.
[0110] In one aspect, detecting the security threat at 908 may include: identifying (not shown) the at least one relay node as a security threat in the wireless mesh network based on determining that the first message has been corrupted by the at least one relay node by the monitoring device 810 (e.g., the low energy short range wireless network processor 324 or the processor 302). In this case, the method 900 may further include: notifying (not shown) the user of the wireless mesh network by the monitoring device 810 (e.g., the low energy short range wireless network processor 324 or the processor 302 in combination with the display controller 316 and the display 318) that the at least one relay node is a security threat. Alternatively or additionally, the method 900 may further include: notifying (not shown) the manufacturer of the at least one relay node by the monitoring device 810 (e.g., the low energy short range wireless network processor 324 or the processor 302 in combination with the communication device 320) that the at least one relay node is a security threat. Notifying the user and / or manufacturer that the at least one relay node is a security threat is conducive to alerting the user / manufacturer that there is a security threat in the wireless mesh network.
[0111] In addition, in the case where the monitoring device 810 identifies the at least one relay node as a security threat, in one aspect, the method 900 may further include: recording (not shown) information about the at least one relay node (such as the brand and model of the at least one relay node) by the monitoring device 810 (e.g., the low energy short range wireless network processor 324 or the processor 302 in conjunction with the memory hierarchy 308) in response to the identification. The monitoring node can use the identification of the at least one relay node to report this information to the user and / or manufacturer. Recording such metadata about the at least one relay node can help identify to the user or manufacturer which node it is in the wireless mesh network, and such a node can act as an attacker node.
[0112] In one aspect, the method 900 may further include: removing (not shown) the at least one relay node from the wireless mesh network by the monitoring device 810 (e.g., the low energy short range wireless network processor 324 or the processor 302). In response to removing the at least one relay node, the method 900 may further include: initiating (not shown) a network encryption key refresh procedure for all remaining nodes in the wireless mesh network by the monitoring device 810 (e.g., the low energy short range wireless network processor 324 or the processor 302). The method 900 may also include instructing all remaining nodes in the wireless mesh network to clear their local source and sequence number caches by the monitoring device 810 (e.g., the low energy short range wireless network processor 324 or the processor 302). Removing the at least one relay node from the wireless mesh network, initiating a network encryption key refresh procedure, and clearing the local cache are beneficial to restoring the wireless mesh network to normal operation.
[0113] In one aspect, the information from the first message may include an address of a source node, an address of a destination node, and a sequence number associated with the address of the source node. In this case, the monitoring device 810 may determine that the first message has been corrupted based on the address, sequence number, or both of the destination node being changed when the first message is transmitted in the wireless mesh network. In one aspect, the method 900 may further include: the monitoring device 810 (e.g., the low energy short range wireless network processor 324 or the processor 302) identifies the at least one relay node as a security threat in the wireless mesh network based on determining that the at least one relay node has changed the address, sequence number, or both of the destination node. Checking the address and / or sequence number of the destination node can be beneficial because corrupting these fields is a relatively simple and effective (and therefore likely) way to corrupt messages in a mesh network.
[0114] In one aspect, the information from the first message may include a TTL field that is decremented by each relay node that relays the first message when the first message is transmitted in the wireless mesh network. In this case, the monitoring device 810 may determine that the first message has been corrupted based on the TTL field being changed to 0 or being changed to a value greater than a threshold indicating a corrupted TTL field before it arrives at the destination node. In one aspect, the method 900 may further include: the monitoring device 810 (e.g., the low energy short range wireless network processor 324 or the processor 302) identifies the at least one relay node as a security threat in the wireless mesh network based on determining that the at least one relay node changes the TTL field to 0 or changes the TTL field to a value greater than a threshold indicating a corrupted TTL field before the TTL field arrives at the destination node. Checking the TTL field can be beneficial because corrupting the TTL field is a relatively simple and effective (and therefore likely) way to corrupt a message in a mesh network.
[0115] In one aspect, the determination at 906 may include: uploading, by the monitoring device 810 (e.g., the low energy short range wireless network processor 324 or the processor 302 in conjunction with the communication device 320), the information from the first message to a remote server, wherein the remote server performs analysis of the information from the first message; and receiving a notification from the remote server that the first message has been corrupted at the monitoring device 810. This may be beneficial in situations where the monitoring device 810 is a low power or battery powered device and therefore lacks the processing power to fully analyze all traffic in the network.
[0116] It should be understood that any reference to an element, such as "first", "second", etc., is generally not limited to the number or order of these elements in this article. Specifically, these references can be used as a convenient method to distinguish two or more elements or element instances in this article. Therefore, the reference to the first element and the second element does not mean that only two elements can be adopted here or the first element must be located before the second element in some way. Moreover, unless otherwise stated, a group of elements may include one or more elements. In addition, the term "at least one of A, B, or C" or "one or more of A, B, or C" or "at least one of the group including A, B, and C" used in the specification or claim means "A or B or C or any combination of these elements". For example, this term can include A, or B, or C, or A and B, or A and C, or A and B and C, or 2A, or 2B, or 2C, etc.
[0117] In view of the above description and explanation, those skilled in the art will appreciate that the various illustrative logic blocks, modules, circuits, and algorithm steps described in conjunction with the aspects disclosed herein can be implemented as electronic hardware, computer software, or a combination of the two. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps are generally described above in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the specific application and the design constraints imposed on the overall system. The technician can implement the described functionality in different ways for each specific application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
[0118] It will thus be appreciated that, for example, a device or any component of a device may be configured (or made operable or adapted to) provide functionality as taught herein. This may be achieved, for example, by manufacturing (e.g., making) the device or component so that it will provide the functionality; by programming the device or component so that it will provide the functionality; or by using some other suitable implementation technique. As an example, an integrated circuit may be fabricated to provide the necessary functionality. As another example, an integrated circuit may be fabricated to support the necessary functionality and then configured (e.g., via programming) to provide the necessary functionality. As yet another example, a processor circuit may execute code for providing the necessary functionality.
[0119] In addition, the methods, sequences and / or algorithms described in conjunction with the aspects disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. The software module may reside in a random access memory (RAM), flash memory, read-only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to a processor so that the processor can read and write information from / to the storage medium. In an alternative, the storage medium may be integrated into the processor (e.g., a cache).
[0120] Accordingly, it will also be appreciated that, for example, certain aspects of the present disclosure can include a computer-readable medium implementing a method for establishing an encrypted connection between a first node and a second node in a wireless mesh network.
[0121] Although the foregoing disclosure shows various illustrative aspects, it should be noted that various changes and modifications may be made to the illustrated examples without departing from the scope as defined in the appended claims. The present disclosure is not intended to be limited to only the specifically illustrated examples. For example, unless otherwise stated, the functions, steps, and / or actions in the method claims according to the various aspects of the present disclosure described herein need not be performed in any particular order. In addition, although certain aspects may be described or claimed in the singular, the plural is also contemplated unless it is explicitly stated to be limited to the singular.
Claims
1. A method for detecting security threats in a wireless mesh network, comprising: detecting, by a monitoring device in the wireless mesh network, a first message transmitted by a source node in the wireless mesh network to a destination node in the wireless mesh network via at least one relay node in the wireless mesh network, and the monitoring device being separated from the destination node, wherein the monitoring device sniffs the message when the message is transmitted between the source node and the destination node in the wireless mesh network; collecting, by the monitoring device, information from the first message when the first message is transmitted in the wireless mesh network by: directly collecting the information when listening to the first message when the first message is transmitted from the source node to the destination node on the wireless mesh network; determining, by the monitoring device, that the first message has been corrupted based on an analysis of the information from the first message; as well as The security threat in the wireless mesh network is detected by the monitoring device based on the first message being corrupted.
2. The method of claim 1, wherein detecting the security threat comprises: The at least one relay node is identified, by the monitoring device, as the security threat in the wireless mesh network based on a determination that the first message has been corrupted by the at least one relay node.
3. The method of claim 2, further comprising: A user of the wireless mesh network is notified, by the monitoring device, that the at least one relay node is the security threat.
4. The method of claim 2, further comprising: The monitoring device notifies a manufacturer of the at least one relay node that the at least one relay node is the security threat.
5. The method of claim 2, further comprising: Information about the at least one relay node is recorded by the monitoring device in response to the identification.
6. The method of claim 5, wherein the information includes a brand and model of the at least one relay node.
7. The method of claim 2, further comprising: The at least one relay node is removed from the wireless mesh network by the monitoring device.
8. The method of claim 7, further comprising: A network key refresh procedure is initiated by the monitoring device for all remaining nodes in the wireless mesh network.
9. The method of claim 7, further comprising: All remaining nodes in the wireless mesh network are instructed by the monitoring device to flush their local source and sequence number caches.
10. The method of claim 1, wherein the information from the first message includes an address of the source node, an address of the destination node, and a sequence number associated with the address of the source node.
11. The method of claim 10, wherein the monitoring device determines that the first message has been corrupted based on an address of the destination node, the sequence number, or both being changed when the first message is transmitted in the wireless mesh network.
12. The method of claim 11, further comprising: The at least one relay node is identified, by the monitoring device, as the security threat in the wireless mesh network based on determining that the at least one relay node has changed an address of the destination node, the serial number, or both.
13. The method of claim 1, wherein the information from the first message includes a time-to-live (TTL) field that is decremented by each relay node that relays the first message as the first message is transmitted in the wireless mesh network.
14. The method of claim 13, wherein the monitoring device determines that the first message has been corrupted based on the TTL field being changed to 0 before it reaches the destination node, or being changed to a value greater than a threshold indicating a corrupted TTL field.
15. The method of claim 14, further comprising: The monitoring device identifies the at least one relay node as the security threat in the wireless mesh network based on determining that the at least one relay node changes the TTL field to 0 before the TTL field reaches the destination node, or changes the TTL field to a value greater than the threshold indicating a corrupted TTL field.
16. The method of claim 1, wherein the determining comprises: uploading, by the monitoring device, the information from the first message to a remote server, wherein the remote server performs analysis of the information from the first message; as well as A notification is received at the monitoring device from the remote server that the first message has been destroyed.
17. The method of claim 1, wherein the monitoring device is a provisioner node in the wireless mesh network.
18. The method of claim 1, wherein the monitoring device is not a provisioner node or a controller node in the wireless mesh network.
19. The method of claim 1, wherein the monitoring device is a stationary mains-powered device in the wireless mesh network.
20. The method of claim 1, wherein the monitoring device is a battery-powered mobile device in the wireless mesh network.
21. The method of claim 1, wherein the wireless mesh network comprises Mesh network.
22. An apparatus for detecting security threats in a wireless mesh network, comprising: At least one hardware processor of a monitoring device in the wireless mesh network, the at least one hardware processor being configured to: detecting a first message transmitted by a source node in the wireless mesh network to a destination node in the wireless mesh network via at least one relay node in the wireless mesh network, and the monitoring device is separated from the destination node, wherein the monitoring device sniffs the message when the message is transmitted between the source node and the destination node in the wireless mesh network; collecting information from the first message as the first message is transmitted in the wireless mesh network by: directly collecting the information while listening to the first message as it is transmitted from the source node to the destination node on the wireless mesh network; determining, based on an analysis of the information from the first message, that the first message has been corrupted; as well as The security threat in the wireless mesh network is detected based on the first message being corrupted.
23. The apparatus of claim 22, wherein the at least one processor being configured to detect the security threat comprises the at least one processor being configured to: The at least one relay node is identified as the security threat in the wireless mesh network based on determining that the first message has been corrupted by the at least one relay node.
24. The apparatus of claim 23, wherein the at least one processor is further configured to: A user of the wireless mesh network is notified that the at least one relay node is the security threat.
25. The apparatus of claim 23, wherein the at least one processor is further configured to: A manufacturer of the at least one relay node is notified that the at least one relay node is the security threat.
26. The apparatus of claim 23, wherein the at least one processor is further configured to: Information about the at least one relay node is recorded in response to the identification.
27. The apparatus of claim 26, wherein the information includes a make and model of the at least one relay node.
28. The apparatus of claim 23, wherein the at least one processor is further configured to: The at least one relay node is removed from the wireless mesh network.
29. The apparatus of claim 28, wherein the at least one processor is further configured to: A network key refresh procedure is initiated for all remaining nodes in the wireless mesh network.
30. The apparatus of claim 28, wherein the at least one processor is further configured to: All remaining nodes in the wireless mesh network are instructed to flush their local source and sequence number caches.
31. The apparatus of claim 22, wherein the information from the first message includes an address of the source node, an address of the destination node, and a sequence number associated with the address of the source node.
32. The apparatus of claim 31, wherein the monitoring device determines that the first message has been corrupted based on an address of the destination node, the sequence number, or both being changed when the first message is transmitted in the wireless mesh network.
33. The apparatus of claim 32, wherein the at least one processor is further configured to: The at least one relay node is identified as the security threat in the wireless mesh network based on determining that the at least one relay node changed the address of the destination node, the sequence number, or both.
34. The apparatus of claim 22, wherein the information from the first message includes a time-to-live (TTL) field that is decremented by each relay node that relays the first message as the first message is transmitted in the wireless mesh network.
35. The apparatus of claim 34, wherein the monitoring device determines that the first message has been corrupted based on the TTL field being changed to 0 before it arrives at the destination node, or being changed to a value greater than a threshold indicating a corrupted TTL field.
36. The apparatus of claim 35, wherein the at least one processor is further configured to: The at least one relay node is identified as the security threat in the wireless mesh network based on determining that the at least one relay node changes the TTL field to 0 before the TTL field reaches the destination node, or changes the TTL field to a value greater than a threshold indicating a corrupted TTL field.
37. The apparatus of claim 22, wherein the at least one processor is configured to determine comprises the at least one processor being configured to: uploading the information from the first message to a remote server, wherein the remote server performs analysis of the information from the first message; and A notification is received from the remote server that the first message has been destroyed.
38. The apparatus of claim 22, wherein the monitoring device is a provisioner node in the wireless mesh network.
39. The apparatus of claim 22, wherein the monitoring device is not a provisioner node or a controller node in the wireless mesh network.
40. The apparatus of claim 22, wherein the monitoring device is a stationary mains-powered device in the wireless mesh network.
41. The apparatus of claim 22, wherein the monitoring device is a battery-powered mobile device in the wireless mesh network.
42. The apparatus of claim 22, wherein the wireless mesh network comprises Mesh network.
43. A non-transitory computer-readable medium storing computer-executable instructions for detecting security threats in a wireless mesh network when executed by a hardware processor, the computer-executable instructions comprising: at least one instruction to instruct a monitoring device in the wireless mesh network to detect a first message transmitted by a source node in the wireless mesh network to a destination node in the wireless mesh network via at least one relay node in the wireless mesh network, and the monitoring device is separated from the destination node, wherein the monitoring device sniffs the message when the message is transmitted between the source node and the destination node in the wireless mesh network; at least one instruction instructing the monitoring device to collect information from the first message while the first message is transmitted in the wireless mesh network by: directly collecting the information while listening to the first message while the first message is transmitted from the source node to the destination node on the wireless mesh network; at least one instruction to instruct the monitoring device to determine, based on an analysis of the information from the first message, that the first message has been corrupted; as well as At least one instruction instructs the monitoring device to detect the security threat in the wireless mesh network based on the first message being corrupted.
44. An apparatus for detecting security threats in a wireless mesh network, comprising: An apparatus for processing by a monitoring device in the wireless mesh network, the apparatus being configured to: detecting a first message transmitted by a source node in the wireless mesh network to a destination node in the wireless mesh network via at least one relay node in the wireless mesh network, and the monitoring device is separated from the destination node, wherein the monitoring device sniffs the message when the message is transmitted between the source node and the destination node in the wireless mesh network; collecting information from the first message as the first message is transmitted in the wireless mesh network by: directly collecting the information while listening to the first message as it is transmitted from the source node to the destination node on the wireless mesh network; determining, based on an analysis of the information from the first message, that the first message has been corrupted; as well as The security threat in the wireless mesh network is detected based on the first message being corrupted.