This disclosure describes systems and methods allowing the use of a secondary network to commission a primary network.
The explosion of network connected devices has led to an increased use of certain protocols. For example, protocols based on IEEE802.15.4, such as ZIGBEE®, are now commonly used in many applications, including utility meters, lighting systems and the like. As the use of ZIGBEE® expands, many are attempting to address some perceived security weaknesses inherent in the protocol.
One such security weakness is the process by which a new device joins an existing ZIGBEE® network. Once a device is part of the ZIGBEE® network, its packets will be encrypted using a network key. However, relaying that network key to the new device may be problematic. Many existing networks use one of two schemes to allow new devices to join.
The first scheme is to encrypt the network key using a well known security key, such as the default ZIGBEE® link key. However, this default key is well known. Thus, hackers or other malicious users can easily intercept the network key by observing traffic as a new device joins the network, thus allowing them to decrypt all traffic occurring over a ZIGBEE® network that uses the default key.
The second scheme is to encrypt the network key using a device-specific key. Unfortunately, this device-specific key must be communicated to the ZIGBEE® gateway. Currently, this is done by providing an indication of the key at the device. For example, a slip of paper with the device-specific key may be placed in the shipping box with the device. The user must then locate this indication and program that device key into the ZIGBEE® gateway. The possibility of losing this key is high, and the process may require a level of expertise that does not exist at all deployment sites.
Therefore, an improved system and method of allowing a new device to securely join a network, such as a ZIGBEE® network is needed. Further, it would be beneficial if this system and method was simple to implement so as to be easily accomplished.
A system and method of allowing a new device to join an existing network are disclosed. A configuration tool is used to communicate relevant information from the new network device to the gateway in the existing network using a secondary network protocol different from that used by the primary network. For example, in one embodiment, messages are exchanged between the configuration tool and the new device and between the configuration tool and the gateway using BLUETOOTH®. Once all of the pertinent information has been exchanged, the new device is able to securely join the primary network, which may be based on the IEEE802.15.4 standard.
In one embodiment, a method of allowing a network device to securely join a network is disclosed. The method comprises establishing a network connection between the network device and a configuration tool, using a first network protocol different from a network protocol of the network; establishing a second network connection between a gateway and the configuration tool, using a second network protocol different from the network protocol of the network; using the configuration tool to obtain information from the network device and pass the information to the gateway; sending a request to join the network from the network device to the gateway using the network protocol of the network; and transmitting a network key from the gateway to the network device using the network protocol of the network in response to the request, where the network key is encrypted based on the information obtained from the network device. In certain embodiments, the information is an installation code. In certain embodiments, the method further comprises using the configuration tool to obtain network information from the gateway and pass the network information to the network device, prior to sending the request. The network information may comprise a channel and a PAN ID.
According to another embodiment, a configuration tool is disclosed. The configuration tool allows a network device to securely join a network. This configuration tool comprises a first network interface; a second network interface; a processing unit; and a memory device, comprising instructions, which when executed by the processing unit, allow the configuration tool initiate a joining process and to: establish a first network connection, via the first network interface, between the network device and the configuration tool, using a first network protocol different from a network protocol of the network; establish a second network connection, via the second network interface, between a gateway and the configuration tool, using a second network protocol different from the network protocol of the network; obtain information from the network device via the first network connection; and pass the information to the gateway via the second network connection. In certain embodiments, the first and second network protocols are BLUE TOOTH®.
For a better understanding of the present disclosure, reference is made to the accompanying drawings, in which like elements are referenced with like numerals, and in which:
The configuration tool 10 also includes a first network interface 30, which is typically a wireless interface including an antenna 35. The first network interface 30 may support any wireless network, including BLUETOOTH® or a cellular protocol, such as 3G, GCM, CDMA, 4G, LTE, or other protocols. In certain embodiments, the configuration tool 10 may include a second network interface 50, different from the first network interface 30. This second network interface 50 may support any wireless network, including BLUETOOTH® or a cellular protocol, such as 3G, GCM, CDMA, 4G, LTE, or other protocols.
The configuration tool 10 may include a second memory device 40 in which data that is received by the first network interface 30, and data that is to be transmitted by the first network interface 30, is stored. Additionally, data sent and received by the second network interface 50 may be stored in the second memory device 40. This second memory device 40 is traditionally a volatile memory. The processing unit 20 has the ability to read and write the second memory device 40 so as to communicate with the other devices in the network. Although not shown, the configuration tool 10 also has a power supply, which may be a battery or a connection to a permanent power source, such as a wall outlet.
While a memory device 25 is disclosed, any computer readable medium may be employed to store these instructions. For example, read only memory (ROM), a random access memory (RAM), a magnetic storage device, such as a hard disk drive, or an optical storage device, such as a CD or DVD, may be employed. Furthermore, these instructions may be downloaded into the memory device 25, such as for example, over a network connection (not shown), via CD ROM, or by another mechanism. These instructions may be written in any programming language and is not limited by this disclosure. Thus, in some embodiments, there may be multiple computer readable media that contain the instructions described herein. The first computer readable media may be in communication with the processing unit 20, as shown in
The configuration tool 10 may also include a display element 60. In some embodiments, the display element 60 may be a LED or LCD screen. In certain embodiments, the display element is a touch screen so that input may be supplied to the processing unit 20 through the display element 60. In other embodiments, the configuration tool 10 may also be in communication with a separate input device to allow user entry. The input device may be a keyboard, for example.
Any device that includes the components enumerated above may be used as the configuration tool. In one specific embodiment, the configuration tool 10 may be a mobile telephone or tablet computer. In certain embodiments, the instructions described herein may be packaged as an application. The configuration tool 10 may receive the application from a remote server. For example, in one embodiment, an application may be made available on a remote server, such as a corporate server. In certain embodiments, the application may be available on a digital distribution platform, such as Google Play, Microsoft Store, the Apple App Store and others. Of course, in other embodiments, the software may be pre-loaded onto the configuration tool 10.
The network device 100 also includes a first network interface 130, which is typically a wireless interface including an antenna 135. The first network interface 130 may support an IEEE802.15.4 protocol, such as Thread, ZIGBEE® or the like. The network device also includes a second network interface 150. This second network interface 150 supports a network protocol different from the first network interface 130. The second network interface 150 may support any wireless network, including BLUETOOTH® or a cellular protocol, such as 3G, GCM, CDMA, 4G, LTE, or other protocols. In other embodiments, the second network interface 150 may support a wired network protocol, such as USB. In certain embodiments, the new network device 100 is able to communicate on both network interfaces. In other embodiments, the network device 100 may have multiple software images, where one of these software images is used during the joining process and allows communication over the second network interface 150. Another of the software images may be used during normal operation and allows communication over the first network interface 130. These software images may be stored internally in the memory device 125, or may be stored in an external memory device 170, which may be a non-volatile memory device.
The network device 100 may include a second memory device 140 in which data that is received by the first network interface 130 and the second network interface 150, and data that is to be transmitted by the network interfaces is stored. This second memory device 140 is traditionally a volatile memory. The processing unit 120 has the ability to read and write the second memory device 140 so as to communicate with the other devices in the network. Although not shown, the network device 100 also has a power supply, which may be a battery or a connection to a permanent power source, such as a wall outlet.
Like, the network device 100, the gateway 200 also includes a processing unit 220, a memory device 225, a second memory device 240, a first network interface 230, an antenna 235, and a second network interface 250. The first network interface 230 of the gateway 200 and the first network interface 130 of the new network device 100 utilize the same network protocol. The second network interfaces of the gateway 200 and new network device 100 may utilize the same network protocol, although this is not required.
In certain embodiments, the gateway 200 may include a connection to the internet. This connection may be one of the two network interfaces described above, or may be a third network interface, such as Ethernet or WiFi.
In operation, the first network interface 30 of the configuration tool 10 is able to communicate with the second network interface 150 of the new network device 100. Similarly, the second network interface 50 of the configuration tool 10 is able to communicate with the second network interface 250 of the gateway 200. In embodiments where the second network interfaces of the gateway 200 and new network device 100 utilize the same network protocol, the configuration tool 10 may communicate with both the gateway 200 and the new network device 100 using the first network interface 30. In this embodiment, the second network interface 50 of the configuration tool 10 may not be present, or may be present but be unused during the joining process.
In other words, the configuration tool 10 has the ability to communicate with the new network device 100 and the gateway 200 using a network protocol different than that used by network 300. In certain embodiments, the configuration tool 10 communicates to both the new network device 100 and the gateway 200 using the same network protocol. In certain embodiments, this network protocol may be BLUETOOTH®. In certain embodiments, the configuration tool 10 communicates to the new network device 100 and the gateway 200 using different network protocols. As described above, the communication between the configuration tool 10 and the gateway 200 may be direct (as shown in
Further, the previous disclosure describes embodiments where the communication between the configuration tool 10 and the new network device 100 and gateway 200 is performed using wireless network protocols. However, other embodiments are possible. For example, the new network device 100 may include a hardware port, such as a USB port. The first network interface of the configuration tool 10 may be compatible with this hardware port such that a physical cable is used to connect the configuration tool 10 and the new network device 100. Alternatively, or additionally, the second network interface 250 of the gateway 200 may include a hardware port, such that the second network interface 50 of the configuration tool 10 connects to the gateway 200 using a physical cable.
Having described the physical configuration of these components, the method of using the configuration tool 10 to allow the new network device 100 to join network 300 will be described.
Traditionally, when a new device joins a network, it requires the network key to be able to decrypt all communications occurring on that network. This network key must be transmitted to the new network device by the gateway. However, simply sending the network key to the new network device compromises the security of the network, as the network key is unencrypted. Therefore, if a hacker is monitoring network traffic, the network key can be readily captured and used to decrypt all other traffic on the network.
As an alternative, in some embodiments, the network key is transmitted to the new network device encrypted using a link key. The link key may be a default value, or a device unique value. In the case of a default value, the security of the network is still compromised, as the default value of the link key is published and is well known. Thus, a hacker monitoring the traffic can decrypt the network key, since the link key is already known.
Consequently, the most secure approach is to create a link key that is somehow unique to a particular network device. This may be achieved by associating a unique installation code with each network device. This installation code may accompany the network device when it is delivered to the customer, such as on a piece of paper. The user must then enter this installation code into the gateway, so that the gateway can generate the link key and transmit the network key to the new network device. However, this process is manual and is flawed since the joining process relies on the customer's ability to retain the installation code for each device, and correctly enter that information into the gateway.
In certain embodiments, the configuration tool 10 may include a display element 60. This display element may be used to display the available gateways and non-connected network devices. In this way, the user may be able to select the particular gateway and network device which will participate in the sequence shown in
Once the connections have been established, the configuration tool 10 optionally obtains network information from the gateway 200, such as the channel and extended PAN ID, as shown in Process 410. Of course, the configuration tool 10 may obtain additional information from the gateway 200 if desired.
The configuration tool 10 then obtains certain information from the new network device 100. This information may include the MAC address (also referred to as the IEEE address) of the new network device 100, as well as its installation code, as shown in Process 420.
The configuration tool 10 then transmits the information that it received from the gateway 200 to the new network device 100, and transmits the information that it received from the new network device 100 to the gateway 200, as shown in Process 430.
It should be noted that Processes 410 and 420 may be performed in the opposite order if desired. Additionally, the swapping of information in Process 430 may be performed as independent processes. For example, Process 410 may be performed, and this information may be transmitted to the new network device 100. Process 420 may then be performed and this information then relayed to the gateway 200. In certain embodiments, regardless of the sequence, the configuration tool 10 obtains information from the gateway 200 and the new network device 100 and transmits this information to the other component. In other embodiments, the configuration tool 10 obtains information from the new network device 100 and transmits this information to the gateway 200.
This part of the sequence (i.e. Process 400-420) replaces the use of the default link key or the need to manually enter the installation code into the gateway 200. Further, in certain embodiments, a new network device may be added in an environment where there are multiple networks. By transferring information from the gateway to the new network device 100, the new network device is informed as to which network 300 it is to join. Further, by providing the MAC address to the gateway 200, the gateway 200 is informed which device will be attempting to join its network 300. This may minimize the chances of a malicious actor joining the network 300.
Once this information has been exchanged, the traditional joining process may continue. As described above, the link key may be created using the installation code. Next, the new network device 100 asks the gateway 200 to join network 300, as shown in Process 440. Because it has already been informed of the PAN ID and channel, the new network device 100 is able to send the request to the desired network 300. In other embodiments, the new network device 100 simply sends a request without identifying the particular network. The gateway 200 then responds by sending the new network device 100 the network key. Because the gateway 200 is aware of the installation code, the gateway 200 is able to encrypt the network key using the link key, as shown in Process 450. This link key is also known to the new network device 100, as well. At this point, the new network device 100 has joined the network 300.
Thus, in one embodiment, the joining process utilizes one or more secondary network protocols, different that the primary network protocol. These secondary network protocols are used to exchange information between the gateway 200 and the new network device 100, which is facilitated by the use of a configuration tool 10, which is able to establish network connections with each of these components. In certain embodiments, the configuration tool 10 is used to retrieve information from the new network device 100 which is passed to the gateway 200.
Further, in one specific embodiment, the configuration tool 10 has a BLUETOOTH® interface, and communicates with both the new network device 100 and the gateway 200 using BLUETOOTH®. In this embodiment, the configuration tool 10 may be any device that supports BLUETOOTH®, including personal computers, tablet computers, mobile telephones and the like. The software executed on the configuration tool 10 may be downloaded to the configuration tool 10 from a remote server, or a digital distribution platform, as described above.
In other embodiments, the configuration tool may communicate with the gateway 200 and the new network device 100 using different secondary network protocols. In one embodiment, BLUETOOTH® is used to communicate with the new network device 100, while WIFI® or USB is used to communicate with the gateway 200. Of course, the secondary network protocols may be different than those described above, as this is meant to serve as an example.
In yet other embodiments, such as that shown in
While the above disclosure describes a system and mechanism to allow a new network device to join a network 300, other enhancements are also possible using this approach. For example, when the gateway 200 provides information to the configuration tool 10, that information may also include exactly which network protocol is being used by network 300. For example, ZIGBEE®, Thread and other protocols all utilize the IEEE802.15.4 standard. Thus, in one embodiment, the gateway 200 passes the network protocol information to the configuration tool 10, which then forwards this information to the new network device 100. Based on this information, the new network device 100 may select one of the software images that supports the identified network protocol. As described above, these software images may be stored in the external memory device 170 or in the memory device 125. In other words, the configuration tool 10 may indicate the network protocol which the new network device 100 is to use. This then causes the new network device 100 to load one of a plurality of software images into its memory device 125 and execute the instructions contained in this software image. This allows the user to not only allow the network device 100 to join a pre-existing network, but also allows configuration of the network device 100 at the network protocol level.
Furthermore, the configuration tool 10 may also be used for other purposes. The ability to facilitate secure joining of a network and selection of a software image have already been described. Additionally, the configuration tool 10 may also convey information to the new network device regarding its operation on the network 300. In one specific embodiment, the network 300 may include a plurality of lights, and the new network device 100 may be a switch. The configuration tool 10 may relay information to the new network device 100 regarding how to control all or a subset of these lights. For example, in one embodiment, the user may use the display element 60, such as a touchscreen, to select a particular group of devices on the network 300 that the new network device 100 is to control.
The present disclosure is not to be limited in scope by the specific embodiments described herein. Indeed, other various embodiments of and modifications to the present disclosure, in addition to those described herein, will be apparent to those of ordinary skill in the art from the foregoing description and accompanying drawings. Thus, such other embodiments and modifications are intended to fall within the scope of the present disclosure. Further, although the present disclosure has been described herein in the context of a particular implementation in a particular environment for a particular purpose, those of ordinary skill in the art will recognize that its usefulness is not limited thereto and that the present disclosure may be beneficially implemented in any number of environments for any number of purposes. Accordingly, the claims set forth below should be construed in view of the full breadth and spirit of the present disclosure as described herein.
This application is a 371 of PCT International Application No. PCT/CN2016/103589 filed Oct. 27, 2016, the disclosure of which is incorporated herein by reference in its entirety.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2016/103589 | 10/27/2016 | WO | 00 |