Patent Description:
Onboarding is process of registration of new device to be part of an Internet of Things (IoT) network. Onboarding is also a process of provisioning a device for accessing a network resource and assigning appropriate permissions. For example, a new smartphone can be onboarded in a home wireless fidelity (Wi-Fi) network.

Conventional methods of onboarding require multiple steps that include discovering devices to be added, establishing a communication channel between the devices to be added and a network hub, and authenticating the devices. Apart from needing manual intervention, existing methods of onboarding fail to provide solutions for onboarding multiple devices into the IoT network in a single step. Thus, there is a need for a mechanism that enables bulk onboarding of IoT devices in the IoT network.

Patent publication <CIT> describes securely joining a secure wireless communications network.

Accordingly, provided is a method for automatically onboarding Internet of Things (IoT) devices in an IoT network. The method includes detecting by an electronic device a command to automatically onboard at least one IoT device proximal to the electronic device, generating by the electronic device an encryption or a symmetric key based on the command, encrypting by the electronic device the auto-onboard configuration data using the generated encryption or symmetric key and sharing by the electronic device the encrypted auto-onboard configuration data to the at least one IoT device to automatically onboard the at least one IoT device in the IoT network.

The proposed method enables a bulk of IoT devices to be on-boarded in an IoT network simultaneously by sharing auto-configuration data with a plurality of IoT devices.

While embodiments of the present disclosure are described herein by way of example using several illustrative drawings, those skilled in the art will recognize the present disclosure is not limited to the embodiments or drawings described. It should be understood the drawings and the detailed description thereto are not intended to limit the present disclosure to the form disclosed, but to the contrary, the present disclosure is to cover all modification, equivalents, and alternatives falling within the scope of embodiments of the present disclosure as defined by the appended claims.

Provided is an apparatus for joining an IoT network, the apparatus as set out in the accompanying claims.

Preferably, the user command is at least one of a voice command, a fingerprint input, a touch input, a iris input, a vein input, a face input, a temperature input, a writing input.

Preferably, the generating of the decryption key comprises determining an initialization vector based on the extracted features; and generating the decryption key based on the initialization vector.

Preferably, the user command is a voice command and the features are at least one of voice text, a tract size, a vocal tract shape, a frequency, an amplitude and aperiodic energy, and a spectral slope in the voice command.

Preferably, the communicator is configured to transmit, to the electronic device, a response indicating that the apparatus is on-boarded in a guest account of the IoT network.

Preferably, the auto-onboard configuration data comprises at least one of access point credentials of the IoT network, server information of the IoT network, login credentials for connecting to the IoT network, user account information for logging in the IoT network, and network configuration information for connecting to the IoT network.

Preferably, the generating of the decryption key comprises determining the decryption key based on symmetric parameters which comprise at least one of identification information associated with the electronic device and the apparatus, identification information associated with a user of the electronic device and a user of the apparatus, and a model type of the electronic device and a model type of the apparatus.

Provided is an electronic device for onboarding at least one IoT device in an IoT network, the electronic device as set out in the accompanying claims.

Preferably, the generating of the encryption key comprises determining an initialization vector based on the extracted features; and generating the encryption key based on the initialization vector.

Preferably, the communicator is further configured to receive a response indicating that the at least one IoT device is on-boarded in a guest account of the IoT network.

Preferably, the generating of the encryption key comprises determining the encryption key based on symmetric parameters which comprise at least one of identification information associated with the electronic device and the at least one IoT device, identification information associated with the user of the electronic device and a user of the at least one IoT device, and a model type of the electronic device and a model type of the at least one IoT device.

Various embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. In the following description, specific details such as detailed configuration and components are merely provided to assist the overall understanding of these embodiments of the present disclosure. Therefore, it should be apparent to those skilled in the art that various changes and modifications of the embodiments described herein can be made without departing from the scope of the present disclosure. In addition, descriptions of well-known functions and constructions are omitted for clarity and conciseness.

As is traditional in the field, embodiments maybe described and illustrated in terms of blocks which carry out a described function or functions. These blocks, which may be referred to herein as managers, engines, controllers, units or modules or the like, are physically implemented by analog and/or digital circuits such as logic gates, integrated circuits, microprocessors, microcontrollers, memory circuits, passive electronic components, active electronic components, optical components, hardwired circuits and the like, and may optionally be driven by firmware and software. The circuits may, for example, be embodied in one or more semiconductor chips, or on substrate supports such as printed circuit boards and the like. The circuits constituting a block may be implemented by dedicated hardware, or by a processor (e.g., one or more programmed microprocessors and associated circuitry), or by a combination of dedicated hardware to perform some functions of the block and a processor to perform other functions of the block. Each block of the embodiments may be physically separated into two or more interacting and discrete blocks without departing from the scope of the disclosure. Likewise, the blocks of the embodiments may be physically combined into more complex blocks without departing from the scope of the disclosure.

Further, it should be possible to combine the flows specified in different figures to derive a new flow.

Onboarding is a process of registration of new device to be part of an Internet of Things (IoT) network by sharing configuration details. Onboarding is also a process of provisioning a device with credentials for accessing a network resource and assigning appropriate permissions. For example, a new smartphone can be on-boarded in a home wireless fidelity (Wi-Fi) network by sharing the Wi-Fi username and password with the smartphone. Conventional methods of onboarding require multiple steps that include discovering devices to be added, establishing a communication channel between the devices to be added and a network hub, sharing credentials of the devices to be added, and authenticating the devices. Apart from needing manual intervention, existing methods of onboarding fail to provide solutions for onboarding multiple devices into the IoT network in a single step. Thus, there is a need for a mechanism that enables bulk onboarding of IoT devices in the IoT network. Conventional methods for onboarding are limited to onboarding one device at a time and require multiple steps and much of manual intervention of the user. Onboarding is a process of registration of new device to be part of an Internet of Things (IoT) network by sharing configuration details. Manual onboarding of a single device at a time requires considerable user intervention. The onboarding of a single device at a time can require multiple steps such as, but not limited to, scanning for available devices, select a device to be on-boarded and sharing configuration data to the selected device. Some conventional methods include scanning by an electronic device for IoT devices in the IoT network, providing a user interface on the electronic device facilitating selection of IoT devices that are detected through the scanning, and sharing configuration data with a selected IoT device.

Embodiments disclosed herein provide a method for automatically onboarding IoT devices in an IoT network. The method includes detecting by the electronic device a voice command to automatically onboard at least one IoT device proximal to the electronic device. An encryption or a symmetric key based on the voice command is generated by the electronic device. The auto-onboard configuration is encrypted using the generated encryption or symmetric key and upon encryption, the auto-onboard configuration is further shared by the electronic device to the at least one IoT device to automatically onboard the at least one IoT device in the IoT network.

The onboarding of bulk IoT devices is performed using voice commands by considering the device consist of a microphone. A user can provide voice data for generating an encryption key (k1) by authenticating with the user device. After generating the encryption key (k1), the electronic device can encrypt configuration details using the encryption key (k1) and activates its communication module such as Bluetooth or ultrasound for broadcasting encrypted configuration data. A target IoT device goes into scanning mode, while receiving the user voice data and generates a decryption key (k1) using the same user voice data. The target IoT device can receive encrypted configuration messages via wireless communication such as Bluetooth or ultrasound from the electronic device and decrypt it using key (k1). The target IoT device is on-boarded on the IoT network using the decrypted configuration data.

According to another embodiment of the present disclosure, all new IoT devices to be on-boarded may already have a pre-shared key set by the vendor or manufacturer. The pre-shared key can also be generated using a combination of serial number of the electronic device and the IoT device(s), manufacturer name, device types, and customer details. The user manually onboards only one IoT device using any onboarding techniques. The on-boarded IoT device broadcasts onboarding information encrypted with the pre-shared key. Other new IoT devices can be automatically on-boarded upon decrypting the broadcast encrypted pre-shared key.

Referring now to the drawings and more particularly to <FIG>, where similar reference characters denote corresponding features consistently throughout the figure, there are shown preferred embodiments.

<FIG> illustrates a system <NUM> automatically onboarding of IoT devices using voice commands, according to an embodiment of the present disclosure. Onboarding of IoT devices includes detecting by an electronic device <NUM> a voice command from a user to automatically onboard IoT devices <NUM>, <NUM> through <NUM> in an IoT network proximal to the electronic device.

The electronic device <NUM> can be but not limited to a smartphone, a tablet computer, a personal computer, a robot, a smart speaker, a portable media player, personal digital assistant (PDA), a television, a television set-top box, a wearable electronic device, and the like. The electronic device <NUM> can communicate with other electronic devices or a server system through one or more communication networks including, but not limited to the Internet, an intranet, or any other wired or wireless public or private network. In some embodiments, the electronic device <NUM> can communicate through Bluetooth or ultrasound-based communication.

An encryption or a symmetric key based on the voice command is generated by the electronic device <NUM>. The auto-onboard configuration data is encrypted using the generated encryption or symmetric key and upon encryption, the auto-onboard configuration data is further shared by the electronic device <NUM> with the IoT device to automatically onboard the IoT device in the IoT network. In some embodiments, the auto-onboard configuration data is shared with an IoT hub <NUM> or a centralized IoT controller, as shown in <FIG>. The auto-onboard configuration data may be computer-readable data and/or computer readable information.

The IoT hub <NUM> can be, but not limited to a smartphone, a tablet computer, a personal computer, a robot, a smart speaker, a portable media player, personal digital assistant (PDA), a television, a television set-top box, a wearable electronic device, and the like. The IoT hub <NUM> can communicate with the electronic device <NUM> and other electronic devices or a server system through one or more communication networks including, but not limited to the Internet, an intranet, or any other wired or wireless public or private network. In some embodiments, the IoT hub <NUM> can communicate through Bluetooth or ultrasound-based communication.

The IoT hub <NUM> is connected to IoT devices <NUM> through <NUM> upon successful onboarding (hereinafter IoT hub <NUM> and IoT devices <NUM> through <NUM> are collectively referred to as the "IoT devices <NUM>. " If the term of IoT devices <NUM> is used as a singular such as IoT device <NUM>, then the IoT device <NUM> may indicate one device among the IoT devices <NUM> and vice versa.

In some embodiments, an IoT hub <NUM> can be part of an Internet of Things (IoT) network. The IoT hub can control various nodes such as a thermostat, faucets, electrical appliances, phones and the like on the IoT network. For example, based on an interaction with the user, the IoT hub <NUM> can direct the thermostat to lower temperature in a room.

The IoT devices <NUM> receive the encrypted auto-onboard configuration data from the electronic device <NUM>, generate a decryption or symmetric key based on the same voice command, and decrypt the received auto-onboard configuration using the generated decryption key. The IoT devices <NUM> are on-boarded in the IoT network by automatically configuring the auto-onboard configuration at each of the IoT devices <NUM>. The electronic device <NUM>, in turn, receives a response indicative that IoT devices <NUM> have been on-boarded. The IoT devices <NUM> through <NUM> establish a connection with the IoT hub <NUM> and enter a locked mode. The IoT devices <NUM> through <NUM> are locked for onboarding until the connection lasts or is reset.

In some embodiments, the IoT devices <NUM> can be on-boarded on a guest account and can be on-boarded in a non-guest account upon receiving an access permission to the non-guest account from the electronic device <NUM>. The electronic device <NUM> can receive voice responses indicative of the IoT devices being on-boarded in a guest account or a non-guest account.

In some embodiments, generating the decryption or symmetric key based on the voice command includes extracting voice features from the received voice command by the IoT hub <NUM>. Voice features can be, but not limited to, a voice text, a tract size, avocal tract shape, a frequency, an amplitude, aperiodic energy, a spectral slope in the voice command and the like. An initialization vector based on the voice features is determined, and accordingly, the decryption key is generated. Similarly, the electronic device <NUM> generates the encryption or symmetric key based on the voice command from the user by extracting the voice features from the voice command, determining an initialization vector based on the voice features and generating an encryption or symmetric key using the initialization vector. Therefore, the encryption key and the decryption key constitute a symmetric key pair.

In some embodiments, the system <NUM> automatically onboards the IoT devices <NUM> in proximity to the electronic device <NUM>. The IoT devices <NUM> and the electronic device <NUM> detects a first voice command. A voice assistance application is activated at the IoT devices <NUM> and the electronic device <NUM> upon detecting the first voice command. A second voice command is detected by the electronic device <NUM> and the IoT devices <NUM>. The electronic device <NUM> and the IoT devices <NUM> are automatically on-boarded in the IoT network by automatically configuring an auto-onboard configuration at the IoT devices <NUM> and the electronic device <NUM>.

<FIG> illustrates a system <NUM> for automatically onboarding of the IoT devices <NUM> using a pre-shared key, according to an embodiment of the present disclosure. An IoT device <NUM> receives encrypted auto-onboard configuration data from the electronic device <NUM> where the auto-onboard configuration data is encrypted using an encryption key that is determined based on a symmetric parameter common between the electronic device <NUM> and the IoT device <NUM>. The IoT device <NUM> determines a decryption key based on the symmetric parameter and uses the decryption key to decrypt the auto-onboard configuration data received from the electronic device <NUM>. The IoT device <NUM> is automatically on-boarded in the IoT network using the auto-onboard configuration data.

The decryption key is determined by validating or verifying whether the IoT device <NUM> has received the same key from a key source. For example, all new IoT devices <NUM> can have a pre-shared key from a corresponding manufacturer which is used for decrypting the encrypted message. A user buying the IoT devices <NUM> can independently receive an encryption key corresponding to the decryption key stored on the IoT device. An order to buy IoT devices in a bulk quantity is placed. The manufacturer provides the same preconfigured key for all the IoT devices. All the IoT devices <NUM> through <NUM> are powered on. One IoT device (for example, IoT device <NUM>) is on-boarded manually. The on-boarded IoT device <NUM> broadcasts the auto-onboard configuration data encrypted with a pre-shared key to all the other IoT devices <NUM> through <NUM>. The pre-shared key is provided by the manufacturer to the user after the order is placed. The auto-onboard configuration data is decrypted with the pre-shared decryption key.

Hereinafter, the IoT devices <NUM> to <NUM> are collectively referred to as the IoT device(s) <NUM> for the ease of explanation.

In some embodiments, the system <NUM> is provided for automatically onboarding the IoT devices <NUM> in proximity to the electronic device <NUM> in an IoT network using a key source. An encryption key at the electronic device <NUM> is communicated via a first communication between the key source and the electronic device <NUM>. A decryption key is determined at the IoT devices <NUM> based on a second communication between the key source and the IoT devices <NUM>. At least one portion of the encryption key is symmetric to at least one portion of the decryption key. An auto-onboard configuration data encrypted using the encryption key from the electronic device <NUM> is transmitted to the IoT devices <NUM>. The encrypted auto-onboard configuration data is decrypted using the decryption key. Consequently, the IoT devices <NUM> are on-boarded in the IoT network by automatically configuring the auto-onboard configuration at the IoT devices <NUM>.

<FIG> is a block diagram illustrating hardware components of an electronic device <NUM> according to an embodiment of the present disclosure. The electronic device <NUM> includes a sensor <NUM>, a key generator <NUM>, a communicator <NUM>, a display manager <NUM>, a processor <NUM> and a memory <NUM>.

The processor <NUM> may be, but not restricted to, a Central Processing Unit (CPU), a microprocessor, or a microcontroller. The processor <NUM> may be coupled to the memory <NUM>. The processor <NUM> can execute sets of instructions stored on the memory <NUM>. Any generated encryption key and/or auto-onboard configuration data may be stored on the memory <NUM>. In an embodiment, the key generator <NUM>, the communicator <NUM>, the display manager <NUM>, and the processor <NUM> can be implemented as at least one hardware processor.

The memory <NUM> may include storage locations to be addressable by the processor <NUM>. The memory <NUM> is not limited to a volatile memory and/or a non-volatile memory. Further, the memory <NUM> can include one or more computer-readable storage media. The memory <NUM> can include non-volatile storage elements. For example, non-volatile storage elements can include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. The embodiments of the present disclosure can be implemented through at least one software program running on at least one hardware device and performing network management functions to control the elements.

The sensor <NUM> may sense a user's input command and extract some features embedded in the user's input command. An initialization vector may be determined by the key generator <NUM> based on the features extracted from the input command. The key generator <NUM> may generate an encryption key based on the initialization vector. Auto-onboard configuration data may be encrypted using the encryption key and may be shared with the IoT devices <NUM> using the communicator <NUM>.

In an embodiment, the sensor <NUM> can be a voice sensor such as a microphone or any voice input receiver that captures voice commands from the user. The processor <NUM> may extract voice features from the voice command. The voice features can include but are not limited to a tract size, a vocal tract shape, a frequency, an amplitude, an aperiodic energy and a spectral slope in the voice command. An initialization vector is determined by the key generator <NUM> based on the features extracted from the voice command. The initialization vector is a fixed size input to a cryptographic scheme. The key generator <NUM> generates an encryption key based on the initialization vector. Auto-onboard configuration data is encrypted using the encryption key and is shared with the IoT devices <NUM> using the communicator <NUM>.

In another embodiment, the sensor <NUM> can be another kind of sensor other than the microphone or any voice input receiver. For example, the sensor <NUM> can be, but not limited to, a fingerprint recognition sensor, a touch sensitive sensor, an iris recognition sensor, a vein recognition sensor, a face recognition sensor, a temperature sensor, a writing recognition sensor, etc. For the aforementioned respective sensors, the voice command may be replaced by a fingerprint input, a touch input, an iris input, a vein input, a face input, a temperature input by touching a part of a human body or other things, a writing input, respectively. Features may be extracted from each of the user's input. For example, ridge patterns of the fingerprint may be extracted from the fingerprint input, a body temperature may be extracted from the temperature input based on a touch by a human body, and a writing pattern may be extracted from the writing input.

In some embodiments, the key generator <NUM> may determine an encryption key based on symmetric parameters common between the electronic device <NUM> and the IoT device <NUM>. The symmetric parameters include at least one of identification information associated with the electronic device and the IoT devices and identification information associated with a user of the electronic device and a user of the IoT device <NUM>. The symmetric parameters can be a model type pertaining to the electronic device <NUM> and a model type of the IoT device <NUM>. For example, if the IoT device <NUM> is a refrigerator, the identification information can be an indicative of the IoT device <NUM> being a refrigerator, the electronic device <NUM> being a smartphone or a tablet computer and also the birthdate or the social security number of the user. The encryption key is generated based on the symmetric parameters common between the electronic device <NUM> and the IoT device <NUM>.

In some embodiments, the key generator <NUM> retrieves the encryption key in response to a determination that the electronic device <NUM> has received the encryption key from a key source(not shown). The key source can be, for example, a data repository of the manufacturer. In another embodiment, the key generator <NUM> may generate the encryption key based on the symmetric parameters in response to a determination that the electronic device <NUM> has not received the encryption key from the key source. The communicator <NUM> may share the generated encryption key with key source through a communication network.

The communicator <NUM> can be a transceiver that transmits and receives data through a communication network. The communication network can include a data network such as, but not restricted to, the Internet, local area network (LAN), wide area network (WAN), metropolitan area network (MAN) and the like. In certain embodiments, the communication network can include a wireless network, such as, but not restricted to, a cellular network and may employ various technologies including enhanced data rates for global evolution (EDGE), general packet radio service (GPRS), global system for mobile communications (GSM), Internet protocol multimedia subsystem (IMS), universal mobile telecommunications system (UMTS) and the like. Accordingly, the communicator <NUM> is included with communication components facilitating communications over the communication network. In some embodiments, the communication network can be an IoT network. In some other embodiments, the communicator <NUM> can receive and transmit data through the use of Bluetooth and/or ultrasonic waves.

The display manager <NUM> controls a display of the mobile device to display the status of on-boarded IoT devices <NUM> on the electronic device <NUM>.

<FIG> is a block diagram illustrating hardware components of an IoT devices <NUM> according to an embodiment of the present disclosure. Each of the IoT devices <NUM> may include a sensor <NUM>, a key authenticator <NUM>, a communicator <NUM>, a processor <NUM> and a memory <NUM>. In some embodiments, the key authenticator <NUM>, the communicator <NUM>, and the processor <NUM> can be implemented as at least one hardware processor.

The processor <NUM> may be, but not restricted to, a Central Processing Unit (CPU), a microprocessor, or a microcontroller. The processor <NUM> is coupled to the memory <NUM>. The processor <NUM> executes sets of instructions stored on the memory <NUM>. Any generated encryption keys and/or auto-onboard configuration data is stored on the memory <NUM>.

The memory <NUM> includes storage locations to be addressable by the processor <NUM>. The memory <NUM> is not limited to a volatile memory and/or a non-volatile memory. Further, the memory <NUM> can include one or more computer-readable storage media. The memory <NUM> can include non-volatile storage elements. For example, non-volatile storage elements can include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. The embodiments disclosed herein can be implemented through at least one software program running on at least one hardware device and performing network management functions to control the elements.

The sensor <NUM> may sense a user's input command and extract some features embedded in the user's input command. An initialization vector may be determined by the key generator (not shown) based on the features extracted from the input command. The key authenticator <NUM> may generate a decryption key based on the initialization vector.

In an embodiment, the sensor <NUM> can be a voice sensor such as microphone or any voice input receiver that captures voice commands from the user. The sensor <NUM> can further extract voice features from the voice command. The voice features can include but are not limited to a tract size, a vocal tract shape, a frequency, an amplitude, an aperiodic energy and a spectral slope in the voice command. An initialization vector is determined by the key generator (not shown) based on the voice features extracted from the voice command. The initialization vector is a fixed size input to a cryptographic scheme. The key authenticator <NUM> may generate a decryption key based on the initialization vector. Auto-onboard configuration data may be decrypted using the decrypt ion key and may be shared with the IoT devices <NUM> using the communicator <NUM>.

In another embodiment, the sensor <NUM> can be another kind of sensor other than the microphone or any voice input receiver. For example, the sensor <NUM> can be, but not limited to, a fingerprint recognition sensor, a touch sensitive sensor, an iris recognition sensor, a vein recognition sensor, a face recognition sensor, a temperature sensor, a writing recognition sensor, etc. For the aforementioned respective sensors, the voice command may be replaced by a fingerprint input, a touch input, an iris input, a vein input, a face input, a temperature input by touching a part of a human body or other things, a writing input, or a combination thereof. Features may be extracted from each of the user's input. For example, ridge patterns of the fingerprint may be extracted from the fingerprint input, a body temperature may be extracted from the temperature input based on a touch by a human body, and a writing pattern of predetermined passwords or code may be extracted from the writing input.

The communicator <NUM> may be a transceiver that transmits and receives data through a communication network. The communication network can include a data network such as, but not restricted to, the Internet, local area network (LAN), wide area network (WAN), metropolitan area network (MAN) and the like. In certain embodiments, the communication network can include a wireless network, such as, but not restricted to, a cellular network and may employ various technologies including enhanced data rates for global evolution (EDGE), general packet radio service (GPRS), global system for mobile communications (GSM), Internet protocol multimedia subsystem (IMS), universal mobile telecommunications system (UMTS) and the like. Accordingly, the communicator <NUM> is included with communication components facilitating communications over the communication network. In some embodiments, the communication network can be an IoT network. In some other embodiments, the communicator <NUM> can receive and transmit data through the use of Bluetooth and/or ultrasonic waves.

In some embodiments, the key authenticator <NUM> may determine an encrypt ion/a decryption key based on symmetric parameters common between the electronic device <NUM> and the IoT device <NUM>. The symmetric parameters may include at least one of identification information associated with the electronic device <NUM> and the IoT device <NUM> and identification information associated with a user of the electronic device and a user of the IoT devices. The symmetric parameters can be a model type pertaining to the electronic device <NUM> and a model type of the IoT device <NUM>. For example, if the IoT device <NUM> is a refrigerator, the identification information can be an indicative of the IoT device <NUM> being a refrigerator, the electronic device <NUM> being a smartphone or a tablet computer and also the birth date or the social security number of the user. The encryption key is generated based on the symmetric parameters common between the electronic device <NUM> and the IoT device <NUM>. In some embodiments, a pre-shared decryption and/or encryption key can be generated using serial number of the electronic device and/or the IoT device(s), manufacturer name, a type or a model of the electronic device <NUM> and/or the IoT device <NUM>, customer details and other details pertaining to the group of IoT devices <NUM>, and a combination thereof. The pre-shared key is unique for the group of IoT devices <NUM> and is provided by the manufacturer of at least one of the electronic device and/or the IoT devices.

In some embodiments, the key authenticator <NUM> may retrieve the encryption/the decryption key in response to a determination that the IoT device <NUM> has received the encryption/the decryption key from a key source(not shown). The key source can be a data repository of the manufacturer. In some other embodiments, the key authenticator <NUM> may generate the encryption/the decryption key based on the symmetric parameters in response to a determination that the IoT device <NUM> has not received the encryption/the decrypt ion key from the key source. The communicator <NUM> may share the generated encryption/decryption key with the key source through a communication network.

The key authenticator <NUM> may determine the decryption key generated based on the symmetric parameters common between the electronic device <NUM> and the IoT device <NUM>. The key authenticator <NUM> retrieves the decryption key in response to a determination that the electronic device <NUM> has received the encryption key from a key source. The key source can be a data repository of the manufacturer. In some other embodiments, the key authenticator <NUM> generates the decryption key based on the symmetric parameter in response to determining that the electronic device <NUM> has not received the decryption key from the key source.

In some embodiments, voice-based onboarding works only where the voice command can reach the IoT devices <NUM>. Typically, the voice command can reach the IoT devices <NUM> in an area with a radius of four to five kilometers. The reach of the voice command can also depend on how loud the voice command is. The IoT devices <NUM> in an area with a radius greater than four to five kilometers need to be on-boarded multiple times. With a pre-shared key from a key source, all the IoT devices <NUM> in a wide area can be on-boarded within a radio frequency range of the communicator <NUM> and the communicator <NUM>.

<FIG> illustrates a sequence diagram <NUM> for onboarding the IoT devices <NUM> through a voice-based solution according to an embodiment of the present disclosure. In some embodiments, the onboarding of the IoT devices <NUM> may be performed based on another kind of user inputs other than a voice command such as a fingerprint input, a touch input, an iris input, a vein input, a face input, a temperature input by touching a part of a human body or other things, a writing input, etc. The user provides a voice command that reaches the electronic device <NUM> and the IoT devices <NUM>. At the side of the electronic device <NUM>, at step 402A, the voice command is authenticated based on voice features extracted from the voice command. Upon successful authentication, at step 404A, the key generator <NUM> may generate an encryption key based on the extracted voice features. Auto-configuration data is encrypted using the generated encryption key at step <NUM>. The encrypted auto-configuration data is broadcast by the communicator <NUM> to the IoT devices <NUM> at step <NUM>.

Prior to steps <NUM> and <NUM>, at the side of the IoT device <NUM>, the IoT device <NUM> may receive the voice command from the user. The communicator <NUM> scans for data signals constituting the auto-onboard configuration at step 402B. At step 404B, the key authenticator <NUM> may generate a decryption key using voice features extracted from the received voice command.

At step <NUM>, the IoT device <NUM> may receive the encrypted auto-conf igurat ion data through the communicator <NUM> over a communication network or any communication protocol such as Bluetooth, ultrasound Zigbee, wireless fidelity and the like. At step <NUM>, the IoT device <NUM> may decrypt the encrypted auto-configuration data using the generated decryption key and the auto-configuration data is used to onboard the IoT device <NUM> on the IoT network.

<FIG> illustrates a flow diagram <NUM> for onboarding the IoT devices <NUM> through a voice-based solution according to an embodiment of the present disclosure. At step <NUM>, the user provides a voice command that reaches the electronic device <NUM> and the IoT device <NUM>. At the side of the electronic device <NUM>, at step 504A, the voice command is authenticated based on voice features of the voice command. Upon successful authentication, at steps 506A and 508A, the key generator <NUM> may generate the encryption key based on the extracted voice features using a symmetric key module. The symmetric key module can be part of the key generator <NUM>. Auto-configuration data is encrypted using the generated encryption key at steps <NUM> and <NUM>. The encrypted configuration data is broadcast by the communicator <NUM> to the IoT devices <NUM> at step <NUM>. The conf igurat ion data or auto-conf igurat ion data may correspond to the auto-onboard configuration data used in previous embodiments.

Prior to steps <NUM>, <NUM> and <NUM>, at the side of the IoT device <NUM>, the IoT device <NUM> may receive the voice command from the user at step 504B. The communicator <NUM> may scan for data signals constituting the auto-onboard configuration. At steps 506B and 508B, the key authenticator <NUM> may generate a decrypt ion key using voice features extracted from the received voice command based on the same symmetric module used in step 506A.

At steps <NUM> and <NUM>, the IoT device <NUM> may receive encrypted configuration data through the communicator <NUM> over a communication network or any communication protocol such as Bluetooth, ultrasound, Zigbee, wireless fidelity and the like. At step <NUM>, the encrypted configuration data is decrypted using the generated decryption key and the configuration data is used to onboard the IoT device <NUM> on the IoT network.

For example, the user may say "Hey Bixby, Share onboarding configuration details". In response to the triggering word "Hey Bixby," the electronic device <NUM> and the IoT devices <NUM> are activated and sense the user's voice, and turns on wireless communication module such as Bluetooth or ultrasound for receiving configuration details. In response to the remaining words "Share onboarding configuration details," the electronic device <NUM> and the IoT devices <NUM> may generate a unique key based on the voice parameters and/or text obtained from the words.

The electronic device <NUM> encrypts the onboarding configuration details using the encryption key generated, and broadcasts via wireless communication module such as Bluetooth or ultrasound. All devices to be on-boarded may receive the encrypted configuration details which are decrypted using the decryption key. All IoT devices <NUM> are automatically on-boarded using the decrypted configuration details. Configuration details or auto-onboard configuration data can be Access point credentials of the IoT network, server information of the IoT network, login credentials for connecting to the IoT network, user account information for logging in the IoT network, network configuration information for connecting to the IoT network and the like.

Further, the present disclosure includes voice features extracted from the voice command can be text-dependent or text-independent. The features obtained from the feature extraction part can be used as a seed or initialization vector for key generation using symmetric-key algorithms.

In an embodiment, the bulk onboarding of the IoT devices <NUM> is performed using voice commands. A user can provide voice data for generating an encryption key. After generating the encryption key, the electronic device <NUM> can encrypt configuration details and activates its Bluetooth beacon mode for broadcasting encrypted configuration details. Alternately, the electronic device <NUM> activates an ultrasound transmitter to broadcast the encrypted auto-configuration details through ultrasound-based communication. A target IoT device <NUM> enters scanning mode, while receiving the user's voice command, and generates a decryption key using the voice command. The target IoT device <NUM> can receive a data packet from the user and decrypt the data package using the decryption key. The connection is established with the IoT Hub <NUM> using the decrypted data packet and the target IoT device <NUM> enters a lock mode and is locked for onboarding until reset or until the connection lasts.

In some embodiments, the electronic device <NUM> is on-boarded in the IoT network simultaneously with the IoT device <NUM>. In some other embodiments, the electronic device <NUM> can be on-boarded first and then the IoT device <NUM> can be on-boarded. To the IoT devices' point of view, the onboarding means the IoT devices are joining the IoT network. In other embodiments, the electronic device <NUM> can be manually on-boarded first and then the IoT device <NUM> can be on-boarded through the steps 504B, 506B, 508B, <NUM>, <NUM>, <NUM> and <NUM> as shown in <FIG>.

<FIG> illustrates a flow diagram <NUM> for onboarding the IoT device(s) <NUM> according to an embodiment of the present disclosure. At step <NUM>, the electronic device <NUM> and the IoT device <NUM> may detect a voice command. The key generator <NUM> of the electronic device <NUM> may generate an encryption key based on the voice features extracted from the voice command at step <NUM>. At step <NUM>, auto-onboard configuration data is encrypted using the encryption key. At step <NUM>, the encrypted auto-onboard configuration data is shared with the IoT device <NUM>. The key authenticator <NUM> of the IoT device <NUM> (shown in <FIG>) may generate a decryption key based on the voice command at step <NUM>. The received auto-onboard configuration is decrypted using the decryption key at step <NUM>. The IoT device is on-boarded based on the auto-configuration data that has been decrypted.

<FIG> is a flow diagram illustrating a method to onboard the IoT device <NUM> according to an embodiment of the present disclosure. At step <NUM>, the electronic device <NUM> and the IoT device <NUM> may detect a voice command. The key generator <NUM> of the electronic device <NUM> may generate an encryption key based on the voice features extracted from the voice command at step <NUM>. At step <NUM>, auto-onboard configuration data is encrypted using the encryption key. At step <NUM>, the encrypted auto-onboard configuration data is shared with the IoT device <NUM>. The key authenticator <NUM> of the IoT device <NUM> (shown in <FIG>) may generate a decryption key based on the voice features extracted from the voice command at step <NUM>. The received auto-onboard configuration is decrypted using the decryption key at step <NUM>. The IoT device is on-boarded in a guest mode at step <NUM> based on the auto-configuration data that has been decrypted. The electronic device <NUM> receives a voice response indicative of the IoT device <NUM> being on-boarded in a guest mode. Onboarding in a guest mode provides limited functions to the IoT device <NUM>. For example, by onboarding in the guest mode, the IoT device <NUM> may not be connected to the Internet but be connected to a local IoT network only. At step <NUM>, the IoT hub <NUM> (shown in <FIG> and <FIG>) and/or the electronic device <NUM> may validate and/or verify the on-boarded IoT device <NUM> to be in a guest mode or in a non-guest mode. Based on rules or preset network policies, the IoT device <NUM> can be enabled to be on-boarded in a non-guest mode(account) (step <NUM>) or be retained in the guest mode (step <NUM>).

<FIG> are flow diagrams illustrating a method to generate the encryption and/or decryption key according to an embodiment of the present disclosure. At steps 802A and 802B, voice features are extracted by the sensor <NUM> and the sensor <NUM> respectively. The key generator <NUM> and the key authenticator <NUM> determines an initialization vector based on the voice features at steps 804A and 804B respectively. At step 806A, the key generator <NUM> generates the encryption key based on the initialization vector. At step 806B, as shown in <FIG>, the decryption key is generated by the key authenticator <NUM> based on the initialization vector.

<FIG> is a flow diagram illustrating a method to onboard the IoT device <NUM> using a pre-shared key according to an embodiment of the present disclosure. At step <NUM>, the electronic device <NUM> determines an encryption key based on a symmetric parameter common between the electronic device <NUM> and the IoT device <NUM>. At step <NUM>, auto-onboard configuration data is encrypted using the encryption key. At steps <NUM> and <NUM>, the IoT device <NUM> receives encrypted auto-onboard configuration data from the electronic device <NUM>. The IoT device <NUM> determines a decryption key based on the symmetric parameter and uses the decryption key to decrypt the auto-onboard configuration data received from the electronic device <NUM> at steps <NUM> and <NUM>. At step <NUM>, the IoT device <NUM> is automatically on-boarded in the IoT network using the auto-onboard configuration.

The decryption key is determined by validating/verifying whether the IoT device <NUM> has received the same key from a key source. For example, all new IoT devices <NUM> can have a pre-shared key from a corresponding manufacturer. The pre-shared key is used for decrypting the encrypted message. A user buying the IoT devices <NUM> can independently receive an encryption key corresponding to the decryption key stored on the IoT device. An order to buy IoT devices in a bulk quantity is placed. The manufacturer provides the same preconfigured key corresponding to the pre-shared key for all the IoT devices. All the IoT devices <NUM> are powered on. One IoT device <NUM> is on-boarded manually. The on-boarded IoT device <NUM> may broadcast the auto-onboard configuration data encrypted with the pre-shared key to all the other IoT devices <NUM>. The pre-shared key is provided by the manufacturer to the user after the order is placed. The auto-onboard configuration data is decrypted with the pre-shared decryption key.

<FIG> illustrates a use case of guest experience in a hotel during check-in, according to embodiments of the present disclosure. The user may provide a voice command to onboard all IoT devices in the room with the electronic device <NUM>. Using the steps shown in <FIG>, <FIG>, <FIG>, <FIG>, <FIG>, all the IoT devices in the room are automatically on-boarded with the electronic device <NUM>. In some embodiments, the devices in the room can be controlled from the electronic device <NUM> upon successful onboarding.

<FIG> illustrate an example scenario for onboarding of bulk number of personal computers 1102A to 1102N in a training room with an access point "Jupiter" according to an embodiment of the present disclosure. The user may provide a writing input command of "Jupiter" that is detected by the electronic device <NUM>, a network router operating the network "Jupiter" and the personal computers 1102A to 1102N. All network configuration details are automatically shared with the personal computers and the personal computers are automatically connected to the network "Jupiter". In an example, the personal computers 1102A to 1102N may already be connected to a network "Training" that is the network provided in the training room. When the user prefers that the personal computers 1102A to 1102N be connected to the network "Jupiter", the writing input command is given by the user and accordingly the personal computers 1102A to 1102N are on-boarded on the network "Jupiter".

<FIG> illustrate an example scenario where all devices, such as a temperature controller <NUM>, in-ceiling speakers <NUM>, video conferencing equipment <NUM>, lighting controllers <NUM> and a call conferencing equipment <NUM>, in a meeting room are automatically on-boarded when a user provides the a command as shown according to an embodiment of the present disclosure. The devices <NUM>-<NUM> detect the user command and each of the devices generates a decryption key based on the features extracted from the user command. The encrypted auto-onboard configuration data from the electronic device <NUM> is transmitted through a network such as Bluetooth or ultrasound to the devices <NUM> to <NUM> and is decrypted at the devices <NUM> to <NUM> using the decryption key. Accordingly, the devices <NUM> to <NUM> are on-boarded with the electronic device <NUM> based on the auto-onboard configuration data. The devices <NUM> to <NUM> establish a connection with the IoT hub <NUM> and enter a locked mode. The devices <NUM> to <NUM> are locked for onboarding until the connection lasts or is reset.

<FIG> and <FIG> illustrate an example scenario where devices <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM> and <NUM> in a car are on-boarded with the electronic device <NUM> of a driver or a passenger according to an embodiment of the present disclosure. Upon detecting a user command, the IoT devices <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM> and <NUM> in the car such as but not limited to an air conditioner, speakers, dashboard controls and the like can be on-boarded with the electronic device <NUM> of the driver or the electronic device of the passenger for ease of control of all devices while driving.

The proposed method can be useful for scenarios like Conference Room, Training room, Education Institute, Corporate meeting rooms with many gadgets like laptops, tablet computers, desktop computers and the like which can be on-boarded easily for every session.

The embodiments disclosed herein can be implemented through at least one software program running on at least one hardware device and performing network management functions to control the elements. The elements shown in <FIG> include blocks which can be at least one of a hardware device, or a combination of hardware device and software module.

Claim 1:
An apparatus for joining an IoT network with an auto-onboard configuration data, the apparatus comprising:
a communicator configured to receive, from an electronic device, the auto-onboard configuration data encrypted based on a voice command, the auto-onboard configuration data being associated with the IoT network;
a sensor configured to detect the voice command from the user; and
at least one processor configured to:
generate a decryption key based on features extracted from the voice command,
decrypt the encrypted auto-onboard configuration data using the decryption key, and
join the IoT network based on the auto-onboard configuration data,
wherein the communicator is configured to transmit, to the electronic device, a response indicating that the apparatus is on-boarded in a guest account of the IoT network.