The present invention relates to communication networks, and more particularly, is related to provisioning of a wireless network element.
Adding a network element to an existing communication network is known as “onboarding.” Common ways to onboard a mesh node to an existing Wi-Fi network include provisioning the mesh node with the Wi-Fi credentials using another type of radio (for example, Bluetooth), connecting to the mesh node using an advertised temporary service set identifier (SSID) and then configuring the mesh node to connect to an existing Wi-Fi network, and using Wi-Fi Protected Setup (WPS). While Bluetooth provides a positive end user experience, provisioning a mesh node involves the mesh node having another radio and/or component built into it, for example, a Bluetooth radio. Since many mesh nodes only have Wi-Fi radios, adding a Bluetooth radio increases the cost of the device.
Another common technique used for onboarding a mesh node to a Wi-Fi network involves the mesh node advertising a temporary Wi-Fi network of its own before the mesh node is configured via the temporary Wi-Fi network to join an existing Wi-Fi network. This can be done without an additional Bluetooth or other radio but may be is a cumbersome process for the user. The user connects a laptop or mobile phone to the custom SSID advertised by the mesh node first, the user configures the mesh node to connect to the existing Wi-Fi network which involves the user remembering network credentials (the SSID and password) for their existing Wi-Fi network and manually entering them into the mesh node via configuration screens.
Onboarding a mesh node to an existing Wi-Fi network with WPS involves pushing a button on both the Wi-Fi router and the mesh node to be added to the Wi-Fi network within a time window, typically a few minutes or less. Often there is little feedback if the WPS process is working, and the WPS process may fail due to timing issues. So, while WPS may seem simple it often leads to a very frustrating user experience due to lack of feedback and high rate of failure to pair. Therefore, there is a need in the industry to overcome the abovementioned shortcomings.
Embodiments of the present invention provide a system and method for registration during device onboarding. Briefly described, the present invention is directed to a method for registering a network device during onboarding to a wide area network (WAN). A mobile application receives user a scan of a readable tag affixed to the network device. wherein the user application comprises a user wallet. The application determines a network device identifier and credentials for a local area network (LAN) mapped to the readable tag. The LAN is created and associated with a user account. The LAN credentials, user account information, and the network device identifier are provided to a server by the mobile application. The server registers the LAN credentials and the network device identifier in a blockchain ledger under the user account information. The LAN credentials and network device identifier are added to a user wallet of the mobile application.
Other systems, methods and features of the present invention will be or become apparent to one having ordinary skill in the art upon examining the following drawings and detailed description. It is intended that all such additional systems, methods, and features be included in this description, be within the scope of the present invention and protected by the accompanying claims.
The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present invention. The drawings illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
The following definitions are useful for interpreting terms applied to features of the embodiments disclosed herein, and are meant only to define elements within the disclosure.
As used within this disclosure, a “network credential” generally refers to one or more data fields used to admit a network element to communicate a communication network. For example, a network credential may include an SSID and/or password for the network.
As used within this disclosure, a “mesh network” refers to a local network topology in which the infrastructure nodes (i.e., routers, bridges, switches, repeaters, and other infrastructure devices) may connect directly, dynamically, and non-hierarchically to multiple network nodes and cooperate with one another to efficiently route data from/to other network nodes in a single or multi-hop fashion. While there are different types of mesh networks, unless otherwise specified, references to a mesh network within this document refer to a Wi-Fi mesh network.
As used within this disclosure, “Wi-Fi” refers to Wi-Fi a family of radio technologies that is commonly used for the wireless local area networking (WLAN) of devices which is based around the IEEE 802.11 family of standards. In general, Wi-Fi is used herein to distinguish from other types of wireless networks, for example, Bluetooth and Zigbee.
As used within this disclosure, a “direct connection” refers to a communication link between a first node and a second node of a mesh network where the first node and the second node may communicate without an intervening third node. Similarly, an “indirect connection” refers to a communication between the first node and the second node via one or more intervening nodes therebetween.
As used within this disclosure, a “scannable symbol” refers to a graphical symbol that may be read (“scanned”) with an optical device, for example, a camera or laser scanner, such that data associated with and/or encoded within the scannable symbol may be recovered. Examples of a scannable symbol include a barcode, a quick response (QR) code, or just numbers and letters.
As used within this disclosure, a “readable tag” refers to a machine readable passive and/or active electronic transponder device, for example, a radio-frequency identification (RFID) or NFC tag, that may be read with an electromagnetic tag reading device, such that data associated with and/or encoded within the readable tag may be recovered. Unlike a scannable symbol, a readable tag does not need to be within the line of sight of the reader, so it may be either affixed to or embedded in the tracked object. A readable tag is a type of automatic identification and data capture (AIDC).
As used within this disclosure, “REST” and “RESTful” refer to Representational State Transfer, a software architectural style that defines a set of constraints to be used for creating Web services. Web services that conform to the REST architectural style, called RESTful Web services (RWS), provide interoperability between computer systems on the Internet. Authentication for a RESTful configuration process uses a certificate, for example on a back end server. Remote configuration of network devices described herein may be performed using RESTful configuration, or an analogous technique.
As used within this disclosure, “blockchain” refers to a digital, public ledger that records online transactions. A blockchain includes a growable list of records, called blocks, which are linked together using cryptography. Each block contains a cryptographic hash of the previous block, a timestamp, and transaction data (generally represented as a Merkle tree). The timestamp indicates transaction data existed when the block was published in order to access its hash. As blocks each contain information about the block previous to it, they form a chain, with each additional block reinforcing the ones before it. Therefore, blockchains are resistant to modification of their data because once recorded, the data in any given block cannot be altered retroactively without altering all subsequent blocks.
As used within this disclosure a “wallet” refers to a software based blockchain wallet (similar to a cryptocurrency wallet) used to store private keys of an associated blockchain, providing the user access to participate in the blockchain.
As used within this disclosure, “the cloud” refers to one or many server devices (“cloud servers”) located remotely from a local network accessing the cloud. The local network is in communication with the internet, and the cloud servers generally communicate with the local network via the internet.
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the description to refer to the same or like parts.
As shown by
The system 100 includes a Wi-Fi router 160 configured to communicate with a plurality of devices in the Wi-Fi network, for example, a first repeater device 140 and a mobile device 130 such as a smart phone, tablet, or laptop. The Wi-Fi router 160 provides a connection to a wide area network (WAN) 195 for devices in the Wi-Fi network 180. The Wi-Fi router 160 may have a wired and/or wireless connection to the WAN 195. A back end server 110, for example, a cloud based server, communicates with devices in the Wi-Fi network 180 via the WAN 195. Note that descriptions of devices in the Wi-Fi network 180 communicating with the back end server 110 refer to communication channels via the Wi-Fi router 160 and WAN 195.
The following description refers to a user onboarding the repeater device 120. A mobile app 135 running on the mobile device 130 may be used to guide the user regarding appropriate placement of the repeater device 120, for example, indicating where to physically place the repeater device 120 according to Wi-Fi radio signal strength from the Wi-Fi router 160. During provisioning the repeater device 120 needs to be within Wi-Fi radio range to communicate with the Wi-Fi router 160. After the repeater device 120 is configured to communicate with the Wi-Fi network 180, the repeater device 120 may be moved to any location in the Wi-Fi network 180 where the repeater device 120 may make a multi-hop connection to the Wi-Fi router 160. When a suitable physical location is selected for the repeater device 120, the user scans an optical symbol 122 such as a QR code displayed by a surface of the repeater device 120, for example with a camera 138 of the mobile device 130 as shown by
The unique ID 124 is mapped to a temporary network credential 126 specific to the repeater device 120. For example, the temporary network credential 126 may include an SSID and/or a password. As a further example, SSID may be assigned to be the MAC address of the repeater device, and an associated key/password may be mapped to the serial number of the repeater device 120. The repeater device 120 is pre-configured, for example, factory configured, to search for and connect to a Wi-Fi network using the temporary network credential 126 upon startup. The temporary network credential 126 is provided to the Wi-Fi router 160 by the mobile app 135, as shown by
As shown by
The repeater device 120 establishes communication with the Wi-Fi router 160 via the onboarding network 190. For example, the repeater device 120 may be factory configured to search for and connect to the onboarding network 190 using the onboarding network credential 126 in one of several scenarios: upon startup, if no other provisioned Wi-Fi network is detected, for example, after a timeout, after the repeater device 120 loses its connection to the Wi-Fi network 180, and/or after a factory reset of the repeater device 120, among others.
After the repeater device 120 is connected to the Wi-Fi router 160 via the onboarding network 190, the repeater device 120 receives a Wi-Fi network provisioning credential 128 via the onboarding network 190. For example, the repeater device 120 may request the Wi-Fi network provisioning credential 128 from the Wi-Fi router 160, or the repeater device 120 may connect to the back end server 110 via the Wi-Fi router 160 and the WAN 195 and request the Wi-Fi network provisioning credential 128 from the back end server 110. Alternatively, the repeater device 120 may use the onboarding network 190 to establish a communication channel with the mobile app 135 on the mobile device 130 via the Wi-Fi router 160 and the WAN 195 and request the Wi-Fi network provisioning credential 128 from the mobile app 135.
The repeater device 120 connects to the Wi-Fi router 160 via the Wi-Fi network 180 using the Wi-Fi network provisioning credential 128, as shown by
After the repeater device 120 is connected with and synchronized to the Wi-Fi router 160 via the Wi-Fi network 180, the Wi-Fi Router 160 may disable the onboarding network 190 (
When the repeater device 120 detects that it can talk to the back end server 110 via the onboarding network 190 the repeater device 120 can be fully managed by the back end server 110. The back end server 110 sends the new configuration for the repeater device 120 which includes the network credential 128 and as when the repeater device 120 receives that configuration it applies it and restarts its network, so it immediately leaves the onboarding network 190 and joins the Wi-Fi network 180. As discussed above, the repeater device 120 only reverts to using the old configuration and trying to join the onboarding network 190 if it loses its connection to the Wi-Fi network 180 or is factory reset, for example, if the configuration the repeater device received from the back end server 110 is deleted due to a factory reset.
As shown by
When a new repeater device 120 is manufactured, it is assigned a unique identifier 124, for example, a MAC address and/or a serial number. The manufacturer of the repeater device 120 maps the unique identifier 124 to a unique onboarding network credential 126, and adds a mapping of the unique identifier 124 and onboarding network credential 126 to a lookup table of mappings, for example, a database accessible to the back end server 110. The unique identifier may be displayed on an exterior surface of the repeater device 120, and/or encoded into a visually scannable optical symbol 122, for example, a QR code, and the optical symbol 122 is displayed upon an exterior surface of the repeater device 120. The new repeater device 120 is preconfigured to communicate via the onboarding network 190 according to the onboarding network credential 126.
As mentioned above, the Wi-Fi router 160 may be configured using a RESTful protocol. For example, the Wi-Fi router may be configured by the back end server 110 and/or the mobile app 135. The authentication for this mechanism is done using a certificate that exists on the back end server 110. An agent on the Wi-Fi router 160 verifies that it can talk to the back end server 110 by verifying that certificate and the communication is encrypted using https. Below is an example of a RESTful protocol exchange:
A unique identifier 124 is assigned to a network device 120, for example a repeater device 120 as shown by block 310. For example, the unique identifier may be at least partially derived from a MAC address and/or a serial number for the network device 120. The unique identifier 124 is mapped to a unique onboarding network credential 126, as shown by block 320. The unique identifier is encoded in a scannable optical symbol 122, for example, a QR code, and the optical symbol 122 is displayed upon an exterior surface of the network device 120, as shown by block 330.
The optical symbol 122 is scanned by a mobile device in communication with a WLAN 180, as shown by block 340. The onboarding network credential 126 mapped to the optical symbol 122 is obtained, for example from a back end server 110, and the onboarding network credential 126 is provided to a router 160 for the WLAN, as shown by block 350. An onboarding network 190 is created by the WLAN router 160 based upon the onboarding network credential 126, as shown by block 360. The WLAN router 160 conveys a WLAN credential 128 to the network device 120 via the onboarding network 190, as shown by block 370.
Thereafter, the network device 120 uses the WLAN credential 128 to connect to the WLAN 180. The WLAN router 160 then optionally disables the onboarding network 190. It should be noted that while subsequent devices may be onboarded to the WLAN 180 in a similar fashion, each onboarding network credential 126 is preferably unique to each onboarding network 190 and each of the subsequent devices.
The onboarding network credential is provided to the WLAN router, as shown by block 430. An onboarding Wi-Fi network based upon the onboarding network credential is created, for example by the WLAN router, as shown by block 440. The network device is pre-configured to communicate via the onboarding Wi-Fi network. Provisioning parameters are wirelessly conveyed to the network device via the onboarding Wi-Fi network, as shown by block 450. For example, the provisioning parameters may include WLAN credentials, so that the network device may join the WLAN.
The present system for executing the functionality of the system 100 described in detail above and systems 600, 700 described in detail below may be a computer, an example of which is shown in the schematic diagram of
The processor 502 is a hardware device for executing software, particularly that stored in the memory 506. The processor 502 can be any custom made or commercially available single core or multi-core processor, a central processing unit (CPU), an auxiliary processor among several processors associated with the present system 500, a semiconductor based microprocessor (in the form of a microchip or chip set), a macroprocessor, or generally any device for executing software instructions.
The memory 506 can include any one or combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.)) and nonvolatile memory elements (e.g., ROM, hard drive, tape, CDROM, etc.). Moreover, the memory 506 may incorporate electronic, magnetic, optical, and/or other types of storage media. Note that the memory 506 can have a distributed architecture, where various components are situated remotely from one another, but can be accessed by the processor 502.
The software 508 defines functionality performed by the system 500, in accordance with the present invention. The software 508 in the memory 506 may include one or more separate programs, each of which contains an ordered listing of executable instructions for implementing logical functions of the system 500, as described below. The memory 506 may contain an operating system (O/S) 520. The operating system essentially controls the execution of programs within the system 500 and provides scheduling, input-output control, file and data management, memory management, and communication control and related services.
The I/O devices 510 may include input devices, for example but not limited to, a keyboard, mouse, scanner, microphone, etc. Furthermore, the I/O devices 510 may also include output devices, for example but not limited to, a printer, display, etc. Finally, the I/O devices 510 may further include devices that communicate via both inputs and outputs, for instance but not limited to, a modulator/demodulator (modem; for accessing another device, system, or network), a radio frequency (RF) or other transceiver, a telephonic interface, a bridge, a router, or other device.
When the system 500 is in operation, the processor 502 is configured to execute the software 508 stored within the memory 506, to communicate data to and from the memory 506, and to generally control operations of the system 500 pursuant to the software 508, as explained above.
When the functionality of the system 500 is in operation, the processor 502 is configured to execute the software 508 stored within the memory 506, to communicate data to and from the memory 506, and to generally control operations of the system 500 pursuant to the software 508. The operating system 520 is read by the processor 502, perhaps buffered within the processor 502, and then executed.
When the system 500 is implemented in software 508, it should be noted that instructions for implementing the system 500 can be stored on any computer-readable medium for use by or in connection with any computer-related device, system, or method. Such a computer-readable medium may, in some embodiments, correspond to either or both the memory 506 or the storage device 504. In the context of this document, a computer-readable medium is an electronic, magnetic, optical, or other physical device or means that can contain or store a computer program for use by or in connection with a computer-related device, system, or method. Instructions for implementing the system can be embodied in any computer-readable medium for use by or in connection with the processor or other such instruction execution system, apparatus, or device. Although the processor 502 has been mentioned by way of example, such instruction execution system, apparatus, or device may, in some embodiments, be any computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “computer-readable medium” can be any means that can store, communicate, propagate, or transport the program for use by or in connection with the processor or other such instruction execution system, apparatus, or device.
Such a computer-readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a nonexhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM) (electronic), a read-only memory (ROM) (electronic), an erasable programmable read-only memory (EPROM, EEPROM, or Flash memory) (electronic), an optical fiber (optical), and a portable compact disc read-only memory (CDROM) (optical). Note that the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
In an alternative embodiment, where the system 500 is implemented in hardware, the system 500 can be implemented with any or a combination of the following technologies, which are each well known in the art: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array(s) (PGA), a field programmable gate array (FPGA), etc.
A second embodiment shown by
As shown by
The system 600 includes a Wi-Fi router 160 configured to communicate with a plurality of devices in the Wi-Fi network, for example, a first repeater device 140 and a mobile device 130 such as an RFID tag reader, smart phone, tablet, or laptop. The Wi-Fi router 160 provides a connection to a wide area network (WAN) 195 for devices in the Wi-Fi network 180. The Wi-Fi router 160 may have a wired and/or wireless connection to the WAN 195. A back end server 110, for example, a cloud based server, communicates with devices in the Wi-Fi network 180 via the WAN 195. Note that descriptions of devices in the Wi-Fi network 180 communicating with the back end server 110 refer to communication channels via the Wi-Fi router 160 and WAN 195.
The following description refers to a user onboarding the repeater device 120. A mobile app 135 running on the mobile device 130 may be used to guide the user regarding appropriate placement of the repeater device 120, for example, indicating where to physically place the repeater device 120 according to Wi-Fi radio signal strength from the Wi-Fi router 160. During provisioning the repeater device 120 needs to be within Wi-Fi radio range to communicate with the Wi-Fi router 160. After the repeater device 120 is configured to communicate with the Wi-Fi network 180, the repeater device 120 may be moved to any location in the Wi-Fi network 180 where the repeater device 120 may make a multi-hop connection to the Wi-Fi router 160. When a suitable physical location is selected for the repeater device 120, the user reads a readable tag 622 such as an RFID tag embedded within or attached to a surface of the repeater device 120, for example with a tag reader 638 of the mobile device 130 as shown by
The unique ID 124 is mapped to a temporary network credential 126 specific to the repeater device 120. For example, the temporary network credential 126 may include an SSID and/or a password. As a further example, SSID may be assigned to be the MAC address of the repeater device, and an associated key/password may be mapped to the serial number of the repeater device 120. The repeater device 120 is pre-configured, for example, factory configured, to search for and connect to a Wi-Fi network using the temporary network credential 126 upon startup. The temporary network credential 126 is provided to the Wi-Fi router 160 by the mobile app 135, as shown by
As shown by
The repeater device 120 establishes communication with the Wi-Fi router 160 via the onboarding network 190. For example, the repeater device 120 may be factory configured to search for and connect to the onboarding network 190 using the onboarding network credential 126 in one of several scenarios: upon startup, if no other provisioned Wi-Fi network is detected, for example, after a timeout, after the repeater device 120 loses its connection to the Wi-Fi network 180, and/or after a factory reset of the repeater device 120, among others.
After the repeater device 120 is connected to the Wi-Fi router 160 via the onboarding network 190, the repeater device 120 receives a Wi-Fi network provisioning credential 128 via the onboarding network 190. For example, the repeater device 120 may request the Wi-Fi network provisioning credential 128 from the Wi-Fi router 160, or the repeater device 120 may connect to the back end server 110 via the Wi-Fi router 160 and the WAN 195 and request the Wi-Fi network provisioning credential 128 from the back end server 110. Alternatively, the repeater device 120 may use the onboarding network 190 to establish a communication channel with the mobile app 135 on the mobile device 130 via the Wi-Fi router 160 and the WAN 195 and request the Wi-Fi network provisioning credential 128 from the mobile app 135.
The repeater device 120 connects to the Wi-Fi router 160 via the Wi-Fi network 180 using the Wi-Fi network provisioning credential 128, as shown by
After the repeater device 120 is connected with and synchronized to the Wi-Fi router 160 via the Wi-Fi network 180, the Wi-Fi Router 160 may disable the onboarding network 190 (
When the repeater device 120 detects that it can talk to the back end server 110 via the onboarding network 190 the repeater device 120 can be fully managed by the back end server 110. The back end server 110 sends the new configuration for the repeater device 120 which includes the network credential 128 and as when the repeater device 120 receives that configuration it applies it and restarts its network, so it immediately leaves the onboarding network 190 and joins the Wi-Fi network 180. As discussed above, the repeater device 120 only reverts to using the old configuration and trying to join the onboarding network 190 if it loses its connection to the Wi-Fi network 180 or is factory reset, for example, if the configuration the repeater device received from the back end server 110 is deleted due to a factory reset.
The readable tag 622 is read by a mobile device in communication with a WLAN 680, as shown by block 840. The onboarding network credential 126 mapped to the readable tag 622 is obtained, for example from a back end server 610, and the onboarding network credential 626 is provided to a router 660 for the WLAN, as shown by block 850. An onboarding network 690 is created by the WLAN router 660 based upon the onboarding network credential 626, as shown by block 860. The WLAN router 660 conveys a WLAN credential 628 to the network device 620 via the onboarding network 690, as shown by block 870.
Thereafter, the network device 620 uses the WLAN credential 628 to connect to the WLAN 680. The WLAN router 660 then optionally disables the onboarding network 690. It should be noted that while subsequent devices may be onboarded to the WLAN 680 in a similar fashion, each onboarding network credential 626 is preferably unique to each onboarding network 690 and each of the subsequent devices.
The onboarding network credential is provided to the WLAN router, as shown by block 930. An onboarding Wi-Fi network based upon the onboarding network credential is created, for example by the WLAN router, as shown by block 940. The network device is pre-configured to communicate via the onboarding Wi-Fi network. Provisioning parameters are wirelessly conveyed to the network device via the onboarding Wi-Fi network, as shown by block 950. For example, the provisioning parameters may include WLAN credentials, so that the network device may join the WLAN.
When the new device 720 is powered up, the new device 720 creates a virtual access point (VAP) with an SSID (service set identifier) of the VAP having a preamble to identify the new device 720 as a pre-provisioning satellite. For example, the preamble may be followed by a numeric key, such as sat-123456789 (note the SSID can be a maximum of 32 characters) such that the BSSID in the VAP advertisement indicates a MAC identifier of the new device 720.
The VAP is used to convey the same information (i.e., a mac address and key of the new device 720) to the Wi-Fi router 760 as the first embodiment (optical symbol) and the second embodiment (RFID tag) to signal to the router and backend server 110 and/or mobile app 135 on the mobile device 130. The server 110 uses the conveyed information to look up the onboarding credential for the router 760 to create the onboarding network 790.
The onboarding network 790 is similar to the onboarding network 190 (
The WLAN router obtains an onboarding network credential mapped to the unique identifier, as shown by block 1035. For example, the WLAN router may obtain the network credential from a backend server. The WLAN provides an onboarding network, as shown by block 1040. The network device joins the onboarding network by the network device, as shown by block 1050. The WLAN wirelessly conveys a credential for the WLAN to the network device via the onboarding Wi-Fi network, as shown by block 1060.
Under an exemplary fourth embodiment, Blockchain capabilities may be added to the mesh onboarding flow, providing additional functionality when a user registers a new router. As with the previous embodiments a new LAN is created for that user, but under the fourth embodiment both that router and the LAN are registered in the Blockchain Ledger under that users account. Here, the distributed Blockchain Ledger cryptographically associates that LAN and that Router with the user account. Likewise, if thereafter the user adds a mesh extender, the extender is also registered in the Blockchain Ledger and added to the user wallet, becoming visible in the mobile app. This enables a number of features based on this registration in MIN Blockchain. For example:
1. A second user (user B) wanting to access the internet via guest access on the LAN of a first user (user A) may obtain the access from user A via a microtransaction in the blockchain.
2. A third user (user C) who wants to evaluate the quality and security of guest access on the LAN of user A may inspect the relevant properties of that LAN in the blockchain ledger and know that those properties have not been tampered with and can be trusted e.g., security level, speed, etc.
3. User A can use re-encryption (see AFHG—https://eprint.iacr.org/2005/028.pdf also see https://www.researchgate.net/publication/327097502_Blockchain_Based_Secret-Data_Sharing_Model_for_Personal_Health_Record_System) to delegate access to their private data generated on their LAN and register that transaction in the blockchain ledger, creating an immutable record of that access and allowing control over access to their data.
4. User A has data ownership via automatic registration in the blockchain during onboarding by scanning QR code or NFC code. All data created by the LAN may be hashed and stored and then re-shared using re-encryption keys as in 3 above. Via the mobile app, user A can control which data is sensitive and should be stored securely and with audit capabilities enabled in the MIN Blockchain. User A can designate certain categories of data as categories that the user wants to protect and audit access to, e.g., websites visited and have the MIN platform automatically send data that matches that category to the blockchain.
A router 160 for a wide area network is powered up and connected to the cloud 1380, as shown by block 1110. A user mobile app 135 connects to the interne, for example over WiFi or cellular data, as shown by block 1120. The mobile app 130 may be hosted by a user mobile device 130. Onboarding of the router 160 is started based on a QR or NFC code 122 scanned by the mobile app 135, as shown by block 1121. The mobile app 135 finds the router 160 using a MAC address of the router 160 obtained from the QR or NFC code, creates and activates a local area network (LAN) and associated the LAN with a user account, as shown by block 1122. The mobile app 135 communicates this with a cloud server 110, and the cloud server 110 registers the LAN and the router 160 in a blockchain ledger 1315 with blockchain nodes 1310 under an account of the user (“user account”), as shown by block 1132. An example of the data that the mobile app sends to the cloud may be:
An example of the data sent to add an extender may be:
The blockchain nodes 1310 verify the registration transaction and add the registration data to the blockchain ledger 1315, as shown by block 1142. The cloud server 110 adds the LAN and router data to a user wallet 1335 in the mobile app 135 (
Alternatively, the cloud may send configuration data to setup a regular (not onboarding) network:
It should be noted the functionality of blocks 1100, 1120-1122, 1134, 1115, 1135, and 1136 relate to functionality of the previously described first, second, and third embodiments.
A new network device, for example, an extender 120, is powered up and connected to the internet over WiFi or Ethernet, as shown by block 1210. Onboarding of the extender 120 is started based on a QR or NFC code 122 scanned by the mobile app 135, as shown by block 1140. The mobile app generates an onboarding SSID key from data read from the code 122. The mobile app 135 adds the SSID key for the new extender WiFi onboarding, and registers a MAC address for the new extender 120 and the user LAN with the cloud server 110, as shown by block 1241.
The cloud server 110 adds the extender to the blockchain ledger 1315 under the user account, as shown by block 1231. The cloud server 110 registers the transaction with the blockchain nodes 1310, and the blockchain nodes 1310 verifies and adds the transaction to the blockchain ledger 1315, as shown by block 1252. The blockchain nodes 1310 forward the updated chain information to the cloud server 110, and the cloud server 110 adds the extender 120 to the user wallet 1335.
The remaining description of
The blockchain functionality according to the fourth embodiment may be implemented on top of existing blockchain technology such as Ethereum or Hyperledger Fabric (see, for example, https://www.hyperledger.org/use/fabric, and https://ethereum.org/en/developers/).
The blockchain ledger may be created initially globally i.e., there is a single ledger or block chain that is the “trusted” chain. For example, the blockchain ledger may be created initially by a network provider or provider of network devices, and as users add devices to their network those transactions are recorded in the blockchain.
It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the present invention without departing from the scope or spirit of the invention. In view of the foregoing, it is intended that the present invention cover modifications and variations of this invention provided they fall within the scope of the following claims and their equivalents.
This application is a continuation-in-part of and claims the benefit of co-pending U.S. non-provisional patent application Ser. No. 17/315,458, filed May 10, 2021, entitled “System and Method for Onboarding in a Wi-Fi Mesh Network,” which is a continuation-in-part of U.S. patent application Ser. No. 16/447,296, filed Jun. 20, 2019, entitled “System and Method for Onboarding in a Wi-Fi Mesh Network,” each of which is incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 17315458 | May 2021 | US |
Child | 17675288 | US | |
Parent | 16447296 | Jun 2019 | US |
Child | 17315458 | US |