One-time wireless authentication of an Internet-of-Things device

Information

  • Patent Grant
  • 12081979
  • Patent Number
    12,081,979
  • Date Filed
    Thursday, November 5, 2020
    5 years ago
  • Date Issued
    Tuesday, September 3, 2024
    a year ago
Abstract
Authentication of an Internet-of-Things (IoT) device comprises receiving, by a proxy application executing on a mobile device during a registration process, a device identifier associated with the IoT device. The proxy application transmits the device identifier to a router of the wireless network. The proxy application receives the device identifier from the router in response to the router receiving an authorization request with no network password from the IoT device for access to the wireless network, where the router forwards the device identifier to the proxy application. The proxy application prompts the user of the mobile device to enter the password, and transmits the entered network password to the router, such that the router validates the password and grants the IoT device access to the wireless network, the IoT device transmits the IoT device identifier to the router for subsequent network connection without a need for the mobile device.
Description
BACKGROUND

Today, the use of Internet-of Things (IoT) devices are proliferating. An IoT device is an electronic computing device that connects wirelessly to a network and has the ability to transmit data over the network. IoT devices are nonstandard computing devices in that they are typically not equipped with a user interface for user interaction and focus instead on machine-to-machine communication. The lack of a user interface can be problematic when the IoT device needs to connect to the wireless network the first time with necessary access credentials (e.g., user name and password), which are typically entered by a user. If the IoT has the requisite size, then the IoT device can be equipped with some type of user interface, such as a small keyboard and/or screen. However, adding a user interface comes at a cost.


Accordingly, it be desirable to provide an improved method and system for wireless authentication of an IoT device.


BRIEF SUMMARY

The exemplary embodiments provide methods and systems for one-time wireless authentication of an Internet-of-Things device. Aspects of exemplary embodiment include receiving, by a proxy application executing on a mobile device during a registration process, a device ID associated with the IoT device. The proxy application transmits the device ID to a router of the wireless network. Subsequent to the registration process, the proxy application receives the device ID from the router in response to the router receiving an authorization request with no network password from the IoT device for access to the wireless network, where the router forwards the device ID to the proxy application. The proxy application prompts the user of the mobile device to enter the password, and transmits the entered network password to the router, such that the router validates the password and grants the IoT device access to the wireless network, the IoT device transmits the IoT device ID to the router for subsequent network connection without a need for the mobile device.


In another embodiment, methods and systems for one-time wireless authentication of an Internet-of-Things device comprises a router receiving a registration request from a proxy application executing on a mobile device, the registration request including a device identifier associated with the IoT device, the device identifier entered into the proxy application by a user of the mobile device, the router further storing the device identifier and enabling a proxy authentication setting. The router receives an authorization request from the IoT device for access to a wireless network, the authorization request comprising at least the device identifier without a network password. The router determines if a proxy authentication setting is enabled, and if so forwards the device identifier to the proxy application. The router receives a message from the proxy application, a message including a network password entered into the proxy application by the user. Responsive to the router validating the network password, the router grants the IoT device access to the wireless network, wherein the IoT device transmits the device identifier to the router for subsequent connection without a need for the mobile device or the proxy application.


According to the method and system disclosed herein, the disclosed embodiments enable easy wireless Internet connectivity for an Internet-of-Things device having no provisions for password entry, thus eliminating the need for keys and user interaction through the Internet-of-Things device. The methods and systems facilitate such Internet-of-Things devices to connect to the Internet of long as the Internet-of-Things devices are pre-configured for proxy authentication using the mobile application in conjunction with software changes in the router.





BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS


FIG. 1 is a block diagram illustrating a system for enabling a mobile application to provide one-time wireless authentication of an Internet-of-Things device according to a first embodiment.



FIG. 2 is a flow diagram illustrating an overview of a process for one-time wireless authentication of an Internet-of-Things device in accordance with some embodiments.



FIG. 3 is a block diagram illustrating a system for enabling a mobile application to provide one-time wireless authentication of an Internet-of-Things device according to a second embodiment.



FIG. 4 is a flow diagram illustrating the process for one-time wireless authentication of an Internet-of-Things device in accordance with the second embodiment of FIG. 3.



FIG. 5 is a block diagram illustrating a system for enabling a mobile application to provide one-time wireless authentication of an Internet-of-Things device according to a third embodiment.



FIG. 6 is a flow diagram illustrating the process for one-time wireless authentication of an Internet-of-Things device in accordance with the third embodiment of FIG. 5.



FIG. 7 shows an implementation of a computer system that may be applicable to IoT device, the mobile device, the authentication mapping server and/or the router mapper system.





DETAILED DESCRIPTION

The exemplary embodiment relates to a mobile application for one-time wireless authentication of an Internet-of-Things device. The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the exemplary embodiments and the generic principles and features described herein will be readily apparent. The exemplary embodiments are mainly described in terms of particular methods and systems provided in particular implementations. However, the methods and systems will operate effectively in other implementations. Phrases such as “exemplary embodiment”, “one embodiment” and “another embodiment” may refer to the same or different embodiments. The embodiments will be described with respect to systems and/or devices having certain components. However, the systems and/or devices may include more or less components than those shown, and variations in the arrangement and type of the components may be made without departing from the scope of the invention. The exemplary embodiments will also be described in the context of particular methods having certain steps. However, the method and system operate effectively for other methods having different and/or additional steps and steps in different orders that are not inconsistent with the exemplary embodiments. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features described herein.\ As used herein, the terms “communication” and “communicate” may refer to the reception, receipt, transmission, transfer, provision, and/or the like of information (e.g., data, signals, messages, instructions, commands, and/or the like). For one unit (e.g., a device, a system, a component of a device or system, combinations thereof, and/or the like) to be in communication with another unit means that the one unit is able to directly or indirectly receive information from and/or send (e.g., transmit) information to the other unit. This may refer to a direct or indirect connection that is wired and/or wireless in nature. Additionally, two units may be in communication with each other even though the information transmitted may be modified, processed, relayed, and/or routed between the first and second unit. For example, a first unit may be in communication with a second unit even though the first unit passively receives information and does not actively send information to the second unit. As another example, a first unit may be in communication with a second unit if at least one intermediary unit (e.g., a third unit located between the first unit and the second unit) processes information received from the first unit and sends the processed information to the second unit. In some non-limiting embodiments, a request or message may refer to a network packet (e.g., a data packet and/or the like) that includes data.


To provide context for the disclosed embodiments, today a wireless router provides and communications over a local or home wireless (Wi-Fi) network and connects to the Internet via a modem. An electronic device needing access to the wireless network needs to send access credentials, such as a network password, to the router. The first time an electronic device connects to the wireless network, a user typically inputs the network password, which is transmitted to the router. The router then sends an authentication request with the access credentials to a credential management system. The credential management system can be local to the router or a remote server. The credential management system receives the authentication request and authenticates the access credentials against previously stored access credentials for the router. The credential management system sends a response to the router either allowing or denying network access, and the router then either grants the device network access or alternatively sends a denial message.


For electronic devices with no provisions for manual entry of access credentials, such as an Internet-of-Things (IoT) device, methods and systems are required to facilitate easy wireless network and Internet connectivity through the router.


According to the disclosed embodiments, a one-time authentication process is provided for an IoT device to use a wireless network without the need for the IoT device to have a user interface for entering access credentials. Instead, a mobile phone of the user, and in particular, an application on the mobile phone, acts as a proxy to provide one-time wireless authentication of the IoT device with a router of a wireless network during first access. Thereafter, if the IoT device becomes disconnected from the network, the IoT device can reconnect to the network by transmitting the device ID of the IoT device to the router for subsequent connection without requiring aid of the mobile device. Several embodiments are herein described that collectively unify the idea of proxy authentication by encapsulating underlying security controls and data distribution.



FIG. 1 is a block diagram illustrating a system for enabling a mobile application to provide one-time wireless authentication of an Internet-of-Things device according to a first embodiment. The system 10 includes a router 12 that provides a network 14 and communicates over the network 14 and the Internet 20. The router 12 is connected to the Internet 20 through a gateway (not shown). In one embodiment, the network is a wireless network, but wired connections (e.g., Ethernet) with the router 12 can also be made. As used herein, a “router” is a networking device forwards data packets between computer networks for example, in the home and small office environment, Internet protocol (IP) routers simply forward IP packets between home/office computing devices and the Internet.


A mobile device 16 is wirelessly connected to the network 14, and an Internet-of-Things (IoT) device 18 requires first time access to the network 14. A “mobile device” may be a device that is operated by a user. Examples of mobile devices 16 may include a mobile phone, a smart phone, a laptop computer, a desktop computer, a server computer, a vehicle such as an automobile, a thin-client device, a tablet PC, etc. Additionally, mobile devices may be any type of wearable technology device, such as a watch, earpiece, glasses, etc. The mobile device 16 may include one or more processors capable of processing user input. The mobile device 16 may also include one or more input sensors for receiving user input. As is known in the art, there are a variety of input sensors capable of detecting user input, such as accelerometers, cameras, microphones, etc. The user input obtained by the input sensors may be from a variety of data input types, including, but not limited to, audio data, visual data, or biometric data. The mobile device may comprise any electronic device that may be operated by a user, which may also provide remote communication capabilities to a network. Examples of remote communication capabilities include using a mobile phone (wireless) network, wireless data network (e.g., 3G, 4G, 5G or similar networks), Wi-Fi, Wi-Max, or any other communication medium that may provide access to a network such as the Internet or a private network.


As used herein, an Internet of things (IoT) device describes an electronic device—“a thing”—that is embedded with sensors, software, and other technologies for the purpose of connecting and exchanging data with other devices and systems over the Internet or other network.


The router 12 may communicate with a credential management system 22, which maintains an access credentials database 25. When the router 12 receives an authentication request from a device, e.g., the IoT device 18, for network access, the router 12 may forward the authentication request to the credential management system 22 to authenticate the requesting device.


The IoT device 18 is associated with a device identifier (ID) 34, and the proxy application 24 is associated with an application (app) ID 32. The IDs 34 and 32 may include any distinctive set of alphanumeric characters (numbers, graphics, symbols letters or other information) that can be used to identify a device or a program. For example, the device ID 34 may comprise a serial number, partial serial number, a key and the like, or a combination thereof, associated with the IoT device 18.


In one embodiment, the router 12, the IoT device 18, and the mobile device 18 are configured to receive and transmit messages over the network 14 using the Internet protocol suite otherwise known as Transmission Control Protocol (TCP) and the Internet Protocol (IP) or TCP/IP.


According to the disclosed embodiments, since a user cannot enter the access credentials for the network 14 on the IoT device 18 due to its lack of a user interface, the system 10 further includes a mobile application, referred to herein as a proxy application (proxy app) 24 that acts a proxy for the IoT device 18 during the first network authentication attempt with the router 12, and a proxy authentication setting 28 for the router 12. In embodiments, the authentication mapping server 326 maintains a mapping between the IoT device 18 and the proxy application 24.


According to embodiments, the system 10 associates the proxy app 24 with the app ID 32. The app ID 32 may be a special purpose software key, a mobile phone number associated with the mobile device 16, a partial phone number, a software key, and the like, or a combination thereof. When associated with the proxy application 24, the app ID 32 may be used by the system 10 to determine the mobile device 16 on which the proxy application 24 is installed.



FIG. 2 is a flow diagram illustrating an overview of a process for one-time wireless authentication of an Internet-of-Things device in accordance with some embodiments. As an overview, the process occurs between the router 12 and the proxy application 24 executing on the mobile device 16 of the user. The process assumes that access credentials, such as a password, for the wireless network 14 have been sent from the router 12 to the credential management system 22 and stored in access credentials database 25. The process further assumes the user has installed the proxy application 24 on the user's mobile device 16 in order to configure the IoT device 18 for a one-time proxy authentication to the wireless network 14.


The one-time wireless authentication process includes a registration phase in which the proxy application 24 is opened and receives the device ID 34 associated with the IoT device 18 that is entered by a user (block 200). This step may be initiated in response to a user who wants to set up the IoT device 18 and presses a “registration button” displayed by proxy application 24 to register the IoT device 18. Thereafter, the proxy application 24 displays a field into which the user may enter the device ID 34. The device ID 34 may comprise a serial number or other identifier of the IoT device 18. The user may find the device ID 34 on the IoT device 18 itself or in documentation provided with the IoT device 18.


The proxy application 24 transmits the device ID to the router 12 in a registration request (block 201). The router 12 receives the registration request, stores the device ID 34 in the credential management system 22, and enables the proxy authentication setting 28 (block 202). In one embodiment, the credential management system 22 may comprise part of a local backend system for the router 12. In another embodiment, the credential management system 22 may be a remote site on the Internet 20. The proxy authentication setting can be stored by the router 12 or by the credential management system 22.


In one embodiment, the registration phase may include the proxy application 24 associating the device ID 34 with the app ID 32 of the proxy application 24. In one embodiment, a mapping of the device ID 34 to the app ID 32 may be registered as an ID pair with the router 12 or another system (e.g., an authentication mapper server 326 shown in FIG. 3). In one embodiment, the proxy application 24 sends both the device ID 34 and the app ID 32 as an ID pair in the registration request sent to the router 12 in block 201. The router 12 may then store the mapping of the ID pair in the credential management system 22 or forward the ID pair to another system in block 202.


Subsequent to the registration process, the router 12 receives, an authorization request from the IoT device 18 over the network 14, wherein the authorization request comprises at least the device ID 34 without a network password (block 204). In one embodiment, when the IoT device 18 is first turned on, the IoT device 18 may be configured to determine automatically which one of a plurality of detected wireless networks to request access. This may be done by selecting the network 14 having the highest signal strength based on the assumption that the physically closest router 12 would have the best signal, as is typically the case in a local network environment. If the IoT device 18 fails to receive a reply to the authorization request within a predetermined time threshold, the IoT device 18 may send an authentication request to a router of another network having the next highest signal strength and so on until the IoT device finds the router with proxy authentication enabled.


The router 12 then determines if the proxy authentication setting 28 is enabled, and if so, forwards the device ID 34 to the proxy application 24 (block 206). If the proxy authentication setting 28 is not enabled, the process ends with the router sending a denial message to the IoT device 18. The proxy application 24 receives the device ID 34 from the router 12, and optionally validates the device ID (block 208). In response to the proxy application 24 validating the device ID 34 (e.g., by checking an internal setting, table or database), the proxy application 24 prompts the user to enter the network password and receives the entered network password (block 210). The proxy application 24 then transmits the entered network password in a message to the router 12 (block 212).


The router 12 receives a message including the entered network password and validates the entered network password (block 214). In one embodiment, the router 12 validates the entered network password by sending a validation request to the credential management system 22, which validates the network password if a match is found for the password in the access credentials database 25. In one embodiment, the credential management system 22 may be part of a backend system for the router.


Responsive to validating the entered network password, the router 12 sends a success message to the IoT device 18 granting access to the wireless network, wherein the IoT device 18 transmits the device ID 34 to the router 12 for subsequent connection without a need for the network password, the mobile device 16, or the proxy application 24 (block 216). That is, the IoT device 18 typically stays connected to the wireless network 14, but if the IoT device 18 becomes disconnected, the IoT device 18 resends the device ID 34 to the router 12. The router 12 looks up the device ID 34 and if found reestablishes the network connection, all without any input from the user or the mobile device 16.



FIG. 3 is a block diagram illustrating a system for enabling a mobile application to provide one-time wireless authentication of an Internet-of-Things device according to a second embodiment, where like components from FIG. 1 have like reference numerals.


The system 300 is similar to the system 10 of FIG. 1, except provides additional security by separating functionality of the proxy application into two separate applications (apps), referred to herein as proxy app A 324A and proxy app B 324B, installed on mobile device 16. In this embodiment, proxy app A 324A is associated with an app A ID 32A and proxy app B 324B is associated with an app B ID 32B. Both the app A ID 32A and the app B ID 32B may include the unique mobile phone number of the mobile device 16 in which the apps are installed.


According to one embodiment, for additional security the proxy system 300 further includes an authentication mapper server 326 in communication with the router 312 over the Internet 20, which is configured to communicate request and responses for proxy app A 324A and proxy app B 324B so that proxy app A 324A and proxy app B 324B do not communicate with one another directly. The term “server” may refer to one or more computing devices, such as processors, storage devices, and/or similar computer components, that communicate with client devices and/or other computing devices over a network, such as the Internet or private networks and, in some examples, facilitate communication among other servers and/or client devices. For example, the server computer can be a large mainframe, a minicomputer cluster, or a group of servers functioning as a unit. In one example, the server computer may be a database server coupled to a Web server, and may include or be coupled to a database.


In one embodiment, the authentication mapper server 326 communicate with proxy app A 324A and proxy app B 324B though, for example, a Representational state transfer (REST) application programming interface (API) or REST API.


This second embodiment provides additional security by establishing distributed controls and distributed ownership on the data. For example, the authentication mapper server 326 may have control over network authentication and may be provided and/or run by a manufacturer of the router 312. Any subsequent need of decoupling or disabling a IoT device 18 from proxy authentication may require the manufacturer of the IoT device 18 to update the authentication mapper server 326 through the router manufacture.


In one embodiment, proxy app A 324A is configured to receive from the router 312 the device ID 34 of the IoT device 18 during the request for network authorization, and determine if that specific IoT device has been enabled for proxy authentication by forwarding the device ID 34 to the authentication mapper server 326 to validate the device ID. Proxy app B 324B is configured to respond to a validation message from the authentication mapper server 326 by displaying a popup screen prompting the user to enter the network password and to send the entered network password to the router 512 for validation through the authentication mapper server 326 and proxy app A 324A, as explained below.


Technically proxy app A 324A and proxy app B 324B have different functionalities, but in an alternative embodiment can combined into one proxy application on the mobile device 16, as in FIG. 1. Also multiple IoT devices can use the dual proxy applications or the single proxy application in the mobile device 16 for this initial setup.



FIG. 4 is a flow diagram illustrating the process for one-time wireless authentication of an Internet-of-Things device in accordance with the second embodiment of FIG. 3. The one-time wireless authentication process includes a registration phase that assumes once proxy app A 324A and proxy app B 324B are started the first time on the mobile device 16, proxy app A 324A and proxy app B 324B register the respective app A ID 32A and the app B ID 32B as an application pair with the authentication mapper server 326. The authentication mapping server 326 may store the registration of the app A ID 32A and the app B ID 32B as an application ID pair in the mapping database 302.


Referring both to FIGS. 3 and 4, during the registration phase proxy app A 324A displays a user interface in which to receive the device ID 34 associated with the IoT device 18 entered by a user (block 400). This step may be initiated in response to a user desiring to set up the IoT device 18 and pressing a “registration button” on proxy app A 324A or proxy app B 324B to register the IoT device 18. Thereafter, the proxy app A 324A displays a field into which the user may enter the device ID 34. Proxy app A 324A receives the device ID 34 and transmits both the app A ID 32A and device ID 34 as an ID pair in a registration request to the router 312 (block 401).


The router 312 receives the registration request, i) enables the proxy authentication setting 28, ii) stores at least the device ID 34, and iii) forwards the ID pair to the authentication mapper server 326 in a registration request (block 402). Once the authentication mapper server 326 receives the ID pair, the authentication mapper server 326 uses the app A ID 32A to find the record 304 having a matching app A ID 32A in the mapping database 302, and stores/associates the device ID 34 with the application ID pair in record 304. In an alternative embodiment, proxy app B 324B may be used instead of proxy app A 324A in the above registration process.


Subsequent to the registration process, the router 312 receives, an authorization request from the IoT device 18 over the network 14, wherein the authorization request comprises at least the device ID 34 without a network password (block 404). As an example, the authorization request may include DeviceID: “tdrgsthawu2n4n5j9aj415n2v97 cm3bc78h3vn678” for instance.


The router 312 then determines if the proxy authentication setting 28 is enabled, and if so, forwards the device ID 34 to the proxy app A 324A (block 406). In one embodiment, the router 312 receives and forwards the authorization request over the network 14 using the Internet protocol suite otherwise known as Transmission Control Protocol (TCP) and the Internet Protocol (IP).


Proxy app A 324A receives the device ID 34 from the router 312, and forwards the device ID 34 in a validation request to the authentication mapper server 326 for validation (block 408). In response, proxy app B 324B receives a validation response from the authentication mapper server 326 in response to the validation request of proxy app A 324A (block 410A). In embodiments, the authentication mapper server 326 upon receiving the validation request, first uses the device ID 34 to search the mapping database 302 to find the mapping record 304 having a matching device ID 34, and once found, the authentication mapper server 326 sends the validation response to the proxy app B 324B listed in the matching mapping record 304 via the preconfigured REST API.


For example the authentication mapper server 326 may store the preconfigured REST API as:

    • (https://www.appa.appid/{info}) APP A—
    • deviceKey:“tdrgsthawu2n4n5j9aj415n2v97 cm3bc78h3vn678----→APP B
    • (https://www.appb.appId/{Info}),


      where the preconfigured REST API informs the authentication mapper server 326 to call https://www.appb.appId/{Info} registered by app B, for any incoming requests from App A corresponding to deviceKey:“tdrgsthawu2n4n5j9aj415n2v97 cm3bc78h3vn678.


In response to receiving the response from the authentication mapper server 326 validating the device ID 34, proxy app B 324B prompts the user to enter the network password and receives the entered network password (block 410B). Proxy app B 324B then transmits the entered network password in a message to the authentication mapper server 326 for forwarding to proxy app A 324A via the preconfigured REST API (block 412A). Proxy app A 324A then transmits the entered network password in a message to the router 12 (block 412B).


The router 312 receives a message including the entered network password and validates the entered network password (block 414). In one embodiment, the router 312 validates the entered network password by sending a validation request to the credential management system 22, which does so if a match is found for the password in the access credentials database 24. In one embodiment, the credential management system 22 may be part of a backend system for the router 312.


Responsive to validating the entered network password, the router 312 sends a success message to the IoT device 18 granting access to the wireless network, wherein the IoT device 18 transmits the device ID 34 to the router 312 for subsequent connection without a need for the network password, the mobile device 16 or the proxy applications 324A and 324B (block 416).



FIG. 5 is a block diagram illustrating a system for enabling a mobile application to provide one-time wireless authentication of an Internet-of-Things device according to a third embodiment, where like components from FIG. 3 have like reference numerals. The system 500 is similar to the system 300 of FIG. 3, except in addition to using the two separate proxy applications, proxy app A 324A and proxy app B 324B, system 500 further includes a router mapper system 502. In this embodiment, proxy app A 324A is associated with an app A ID 32A and proxy app B 324B is associated with an app B ID 32B, where both the app A ID 32A and the app B ID 32B may include the unique mobile phone number of the mobile device 16 in which the apps are installed.


The third embodiment enables the manufacturer of the router 512 and the manufacturer of the IoT device 18 to share responsibility for the proxy authentication. For example, the manufacturer of the router 512 may control the router mapper system 504, while the manufacturer of the IoT device 18 may control the authentication mapper server 326. During the proxy authentication process, input from both the router mapper system 504 and the authentication mapper server 326 is required, as described with respect to FIG. 6.



FIG. 6 is a flow diagram illustrating the process for one-time wireless authentication of an Internet-of-Things device in accordance with the third embodiment of FIG. 5. The one-time wireless authentication process includes a registration phase that assumes once proxy app A 324A and proxy app B 324B are started the first time on the mobile device 16 that: i) a mapping between the app A ID 32A and the network password (PW) is registered with the router mapper system 504; and ii) the app B ID 32B is registered with the authentication mapper server 326. This pre-mapping process safeguards the router 512 from having to receive authentication request from proxy apps on connected mobile devices other than from authorized proxy app A 324A and proxy app B 324B on mobile device 16 by checking any such request against the router DB 506 and the mapping DB 302.


Referring both to FIGS. 5 and 6, during the registration phase proxy app A 324A displays a user interface in which to receive the device ID 34 associated with the IoT device 18 entered by a user (block 600). Proxy app A 324A receives the device ID 34 and transmits both the app A ID 32A and device ID 34 as an ID pair in a registration request to the router 312 (block 601).


The router 312 upon receiving the registration request: i) enables the proxy authentication setting 28, ii) stores at least the device ID 34, and iii) forwards the device ID pair to the router mapper system 504 in one registration request, and iv) forwards the app B ID 32B and the device ID 34 to the authentication mapper server 326 in another registration request (block 602).


As shown in FIG. 5, the router mapper system 504 may store the device ID 34 in a record 508 of router database 506 associating app A ID 32A and the network password. Similarly, the authentication mapper server 326 may store the device ID 34 in a record 304 of mapping database 302 containing the app B ID 32B.


Subsequent to the registration process, the router 312 receives, an authorization request from the IoT device 18 over the network 14, wherein the authorization request comprises at least the device ID 34 without a network password (block 604). As an example, the authorization request may include DeviceID: “tdrgsthawu2n4n5j9aj415n2v97 cm3bc78h3vn678” for instance.


The router 312 then determines if the proxy authentication setting 28 is enabled, and if so, forwards the device ID 34 to the router mapper system 504 (block 606).


The router mapper system 504 receives the device ID 34 and uses the device ID 34 to find, and send a notification message to, the proxy app A 324A mapped to the device ID 34 by the app A ID 32A (block 608). In one embodiment, the notification message is sent using the preconfigured REST API. For example the router mapper system 504 may store the preconfigured REST API as:

    • (https://www.appa.appid/{info}) APP A—
    • deviceKey:“tdrgsthawu2n4n5j9aj415n2v97 cm3bc78h3vn678----→Mobile device
    • APP A (https://www.appa.appId/{Info}),


      where the preconfigured REST API in the router mapper system 504 informs the authentication mapper server 326 to call https://www.appa.appId/{Info} registered by app A, for any incoming requests from the router 512 corresponding to deviceKey: “tdrgsthawu2n4n5j9aj415n2v97 cm3bc78h3vn678.


In response, proxy app A 324A receives the notification message from the router mapper system 504 and forwards the notification message through the router-Internet to the authentication mapper server 326 (block 610). In response, proxy app B 324B receives a validation response from the authentication mapper server 326 in response to notification message from proxy app A 324A (block 612). That is, the authentication mapper server 326 first uses the device ID 34 received from proxy app A 324A to search the mapping database 302 to find the mapping record 304 having a matching device ID, and once the matching mapping record 304 is found, the authentication mapper server 326 sends the validation response to the proxy app B 324B mapped to the device ID in mapping record 304 via the preconfigured REST API.


For example the authentication mapper server 326 may store the preconfigured REST API as:

    • (https://www.appa.appid/{info}) APP A—
    • deviceKey:“tdrgsthawu2n4n5j9aj415n2v97 cm3bc78h3vn678----→APP B
    • (https://www.appb.appId/{Info}),


      where the preconfigured REST API informs the authentication mapper server 326 to call https://www.appb.appId/{Info} registered by app B, for any incoming requests from App A corresponding to deviceKey:“tdrgsthawu2n4n5j9aj415n2v97 cm3bc78h3vn678.


In response to receiving the response from the authentication mapper server 326 validating the device ID 34, the proxy app B 324B prompts the user to enter the network password and receives the entered network password (block 614). Proxy app B 324B then transmits the entered network password in a message to the authentication mapper server 326 for forwarding to proxy app A 324A via the preconfigured REST API (block 616). Proxy app A 324A then transmits the entered network password in a message to the router mapper system 504 using the REST API (block 618).


The router mapper system 504 receives a message including the entered network password and upon finding a matching network password, transmits the network password to the router 512 (block 620). The router 512 receives a message including the entered network password and validates the network password (block 622). In one embodiment, the router 512 validates the entered network password by sending a validation request to the credential management system 22, which does so if a match is found for the password in the access credentials database 24.


Responsive to validating the entered network password, the router 512 sends a success message to the IoT device 18 granting access to the wireless network, wherein the IoT device 18 transmits the IoT device ID to the router 512 for subsequent connection without a need for the network password, the mobile device 16 or the proxy applications 324A and 324B (block 624).


Methods and systems for one-time wireless authentication of an IoT device have been described. Methods and systems facilitate easy wireless Internet conductivity for an IoT device when there is no available means for manual entry of passwords from the IoT device, thus eliminating the need for keys and user interaction through the IoT device 18. The methods and systems facilitate IoT devices having no provisions for password entry to connect to the Internet of long as the IoT devices are pre-configured for proxy authentication using one or more mobile application and in addition to software changes in the router.



FIG. 7 shows an implementation of a computer system 700 that may be applicable to IoT device 18, the mobile device 16, the authentication mapping server 26 and/or the router mapper system 504. According to an embodiment. The computer system 700 can include a microprocessor(s) 703 and memory 702. In an embodiment, the microprocessor(s) 703 and memory 702 can be connected by an interconnect 701 (e.g., bus and system core logic). In addition, the microprocessor 703 can be coupled to cache memory 709. In an embodiment, the interconnect 701 can connect the microprocessor(s) 703 and the memory 702 to input/output (I/O) device(s) 705 via I/O controller(s) 707. I/O devices 705 can include a display device and/or peripheral devices, such as mice, keyboards, modems, network interfaces, printers, scanners, video cameras and other devices known in the art. In an embodiment, (e.g., when the data processing system is a server system) some of the I/O devices (705), such as printers, scanners, mice, and/or keyboards, can be optional.


In an embodiment, the interconnect 701 can include one or more buses connected to one another through various bridges, controllers and/or adapters. In one embodiment, the I/O controllers 707 can include a USB (Universal Serial Bus) adapter for controlling USB peripherals, and/or an IEEE-1394 bus adapter for controlling IEEE-1394 peripherals.


In an embodiment, the memory 702 can include one or more of: ROM (Read Only Memory), volatile RAM (Random Access Memory), and non-volatile memory, such as hard drive, flash memory, etc. Volatile RAM is typically implemented as dynamic RAM (DRAM) which requires power continually in order to refresh or maintain the data in the memory. Non-volatile memory is typically a magnetic hard drive, a magnetic optical drive, an optical drive (e.g., a DV D RAM), or other type of memory system which maintains data even after power is removed from the system. The non-volatile memory may also be a random access memory.


The non-volatile memory can be a local device coupled directly to the rest of the components in the data processing system. A non-volatile memory that is remote from the system, such as a network storage device coupled to the data processing system through a network interface such as a modem or Ethernet interface, can also be used.


In this description, some functions and operations are described as being performed by or caused by software code to simplify description. However, such expressions are also used to specify that the functions result from execution of the code/instructions by a processor, such as a microprocessor.


Alternatively, or in combination, the functions and operations as described here can be implemented using special purpose circuitry, with or without software instructions, such as using Application-Specific Integrated Circuit (ASIC) or Field-Programmable Gate Array (FPGA). Embodiments can be implemented using hardwired circuitry without software instructions, or in combination with software instructions. Thus, the techniques are limited neither to any specific combination of hardware circuitry and software, nor to any particular source for the instructions executed by the data processing system.


While one embodiment can be implemented in fully functioning computers and computer systems, various embodiments are capable of being distributed as a computing product in a variety of forms and are capable of being applied regardless of the particular type of machine or computer-readable media used to actually effect the distribution.


At least some aspects disclosed can be embodied, at least in part, in software. That is, the techniques may be carried out in a computer system or other data processing system in response to its processor, such as a microprocessor, executing sequences of instructions contained in a memory, such as ROM, volatile RAM, non-volatile memory, cache or a remote storage device.


Routines executed to implement the embodiments may be implemented as part of an operating system or a specific application, component, program, object, module or sequence of instructions referred to as “computer programs.” The computer programs typically include one or more instructions set at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processors in a computer, cause the computer to perform operations necessary to execute elements involving the various aspects.


Although specific embodiments have been described above, these embodiments are not intended to limit the scope of the present disclosure, even where only a single embodiment is described with respect to a particular feature. Examples of features provided in the disclosure are intended to be illustrative rather than restrictive unless stated otherwise. The above description is intended to cover such alternatives, modifications, and equivalents as would be apparent to a person skilled in the art having the benefit of the present disclosure.


Methods and systems for one-time wireless authentication of an Internet-of-Things device has been disclosed. The present invention has been described in accordance with the embodiments shown, and there could be variations to the embodiments, and any variations would be within the spirit and scope of the present invention. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.

Claims
  • 1. A computer-implemented method for enabling wireless connectivity through a router of a wireless network for an Internet-of-Things (IoT) device, comprising: displaying to a user, by a proxy application executing on a mobile device, an option for the user to begin a one-time network authentication for the IoT device that lacks a user interface and is not yet configured to access the router;responsive to the user accepting the option, initiating, by the proxy application, a registration process and receiving a device identifier associated with the IoT device entered into the proxy application by the user of the mobile device, wherein the device identifier comprises at least one of a serial number, a partial serial number, or a key, and wherein functionality of the proxy application is separated into an application pair including a first proxy application and a second proxy application, wherein the first proxy application or the second proxy application associates the device identifier with an application identifier used to identify the first proxy application or the second proxy application;transmitting, by the proxy application, the device identifier to the router as part of the registration process, resulting in the router storing the device identifier in a credential management system and enabling a proxy authentication setting for the router;subsequent to the registration process, receiving by the proxy application, the device identifier from the router in response to the router receiving an authorization request from the IoT device for a first-time access to the wireless network, the authorization request comprising the device identifier with no network password, and the router forwarding the device identifier to the proxy application after determining that the router has proxy authentication enabled based on the device identifier and the proxy authentication setting;prompting, by the proxy application, the user of the mobile device to enter the network password, and transmitting the network password in a message to the router, such that in response the router validates the network password and grants the IoT device access to the wireless network; andwherein responsive to the IoT device becoming disconnected from the first-time access to the wireless network, the IoT device resends the device identifier to the router for a second-time access to the wireless network, and wherein in response, the router looks up the device identifier in the credential management system, and if found reestablishes access to the wireless network for the IoT device without a need for another network authentication through the mobile device or the proxy application.
  • 2. The computer-implemented method of claim 1, wherein the registration process further comprises: registering, by the first proxy application, a mapping of the device identifier to the application identifier as an identifier pair with the router.
  • 3. The computer-implemented method of claim 2, wherein the registration process further comprises: sending, by the first proxy application, the identifier pair to the router such that the router stores the identifier pair in a credential management system or forwards the identifier pair to an authentication mapper server.
  • 4. The computer-implemented method of claim 2, wherein during the registration process, the identifier pair is registered with an authentication mapper server.
  • 5. The computer-implemented method of claim 4, further comprising: configuring the authentication mapper server to communicate requests and responses for the first proxy application and the second proxy application.
  • 6. The computer-implemented method of claim 5, further comprising: configuring the first proxy application to receive from the router the device identifier of the IoT device and determine if the IoT device has been enabled for proxy authentication by forwarding the device identifier to the authentication mapper server to validate the device identifier.
  • 7. The computer-implemented method of claim 5, further comprising: configuring the second proxy application to prompt the user of the mobile device to enter the network password in response to receiving a validation message from the authentication mapper server, and transmit the network password in the message to the router through the authentication mapper server and the first proxy application.
  • 8. The computer-implemented method of claim 7, further comprising: registering a mapping between the first application identifier and the network password with a router mapper system; andregistering the second application identifier with an authentication mapper server.
  • 9. The computer-implemented method of claim 1, further comprising: associating the first proxy application with a first application identifier and the second proxy application with a second application identifier, wherein the first application identifier and the second application identifier include a mobile phone number of the mobile device.
  • 10. The computer-implemented method of claim 1, wherein receiving, by the proxy application, the device identifier associated with the IoT device further comprises: automatically determining, by the IoT device, which one of a plurality of detected wireless networks to request access to by selecting the wireless network having a highest signal strength.
  • 11. A system for enabling wireless connectivity through a router of a wireless network, comprising: the router;an Internet-of-Things (IoT) device requiring first-time access to the wireless network, the IoT device lacking a user interface and is not yet configured to access the router, the IoT device associated with a device identifier; anda proxy application executing on a mobile device of a user, the proxy application to act a proxy for the IoT device during a first network authentication attempt with the router, wherein functionality of the proxy application is separated into an application pair including a first proxy application and a second proxy application, the proxy application configured to: display to a user an option for the user to begin a one-time network authentication for the IoT device;responsive to the user accepting the option, initiate a registration process and receive during a registration process, the device identifier associated with the IoT device, the device identifier entered into the proxy application by the user of the mobile device, wherein the device identifier comprises at least one of a serial number, a partial serial number, or a key, and wherein the first proxy application or the second proxy application associates the device identifier with an application identifier used to identify the first proxy application or the second proxy application;transmit the device identifier to the router as part of the registration process, resulting in the router storing the device identifier in a credential management system and enabling a proxy authentication setting for the router;subsequent to the registration process, receive by the proxy application, the device identifier from the router in response to the router receiving an authorization request from the IoT device for a first-time access to the wireless network, the authorization request comprising the device identifier with no network password, and the router forwarding the device identifier to the proxy application after determining that the router has proxy authentication enabled based on the device identifier and the proxy authentication setting; andprompt the user of the mobile device to enter the network password, and transmit the network password in a message to the router, such that in response the router validates the network password and grants the IoT device access to the wireless network; andwherein responsive to the IoT device becoming disconnected from the first-time access to the wireless network, the IoT device resends the device identifier to the router for a second-time access to the wireless network without a need for another network authentication through the mobile device or the proxy application.
  • 12. The system of claim 11, further comprising an authentication mapper server in communication with the router, and wherein the authentication mapper server stores a mapping between a first application identifier associated with the first proxy application, and a second application identifier associated with the second proxy application.
US Referenced Citations (483)
Number Name Date Kind
6600915 Wedeking Jul 2003 B1
7213143 Watson May 2007 B1
7587499 Haghpassand Sep 2009 B1
7958347 Ferguson Jun 2011 B1
8201232 Zhang Jun 2012 B2
8341708 Eatough Dec 2012 B1
8468609 Leggette Jun 2013 B2
8661246 Hoech Feb 2014 B1
8700729 Dua Apr 2014 B2
8769044 Carlander Jul 2014 B2
8966260 Walter Feb 2015 B1
8984597 Hatlelid Mar 2015 B2
9047451 Brown Jun 2015 B2
9130952 Colclasure Sep 2015 B2
9210167 Lafuente Dec 2015 B1
9231904 Johnson Jan 2016 B2
9235839 Dua Jan 2016 B2
9253639 Lafuente Feb 2016 B1
9299053 Gazdzinski Mar 2016 B2
9338155 Quach May 2016 B2
9378356 Rockwell Jun 2016 B2
9413756 Wang Aug 2016 B1
9425954 Chalker Aug 2016 B1
9438576 Franca-Neto Sep 2016 B2
9584482 Burns Feb 2017 B2
9621495 Shumate Apr 2017 B1
9641525 Kall May 2017 B2
9699192 John Jul 2017 B2
9712486 Johnson Jul 2017 B2
9722803 Ellingson Aug 2017 B1
9729537 McBride Aug 2017 B2
9730060 Kim Aug 2017 B2
9762564 Angelov Sep 2017 B1
9794965 Yu Oct 2017 B1
9807092 Gutzmann Oct 2017 B1
9838390 Zakaria Dec 2017 B2
9843624 Taaghol Dec 2017 B1
9888070 McGregor Feb 2018 B2
9898474 Sorenson, III Feb 2018 B1
9986038 Wang May 2018 B2
9998334 Yu Jun 2018 B1
10057269 Ellingson Aug 2018 B1
10075531 Chandwani Sep 2018 B2
10083442 Quigley Sep 2018 B1
10089488 Wong Oct 2018 B2
10104077 Irwan Oct 2018 B1
10135835 Kandel Nov 2018 B1
10136322 Rougier Nov 2018 B2
10200377 Vazquez Feb 2019 B1
10218708 Butler Feb 2019 B1
10250612 Raposa Apr 2019 B1
10257179 Saylor Apr 2019 B1
10270774 Berman Apr 2019 B1
10299118 Karachiwala May 2019 B1
10320569 Wentz Jun 2019 B1
10324745 Tse Jun 2019 B2
10341814 Thoresen Jul 2019 B2
10367794 Sayers Jul 2019 B2
10411894 Yavnilovich Sep 2019 B1
10417454 Marom Sep 2019 B1
10419226 Ellingson Sep 2019 B2
10439868 Lim Oct 2019 B2
10440028 Makmel Oct 2019 B1
10498611 Kloberdans Dec 2019 B1
10523672 Zakaria Dec 2019 B2
10523674 Ylönen Dec 2019 B2
10546139 Ellingson Jan 2020 B2
10554758 Barry Feb 2020 B2
10601837 Sharma Mar 2020 B1
10623446 Stoler Apr 2020 B1
10637724 Johnson Apr 2020 B2
10664543 Cypher May 2020 B2
10693872 Larson Jun 2020 B1
10708338 Dingwell Jul 2020 B2
10721590 Thoresen Jul 2020 B2
10742744 Mahalank Aug 2020 B1
10764056 Senyuk Sep 2020 B2
10868836 Yancey Dec 2020 B1
10887157 Fletcher Jan 2021 B1
10902852 Tran Jan 2021 B2
10909582 Brandt Feb 2021 B1
10924484 Lelcuk Feb 2021 B2
10936643 Alspaugh Mar 2021 B1
10963583 Shimony Mar 2021 B1
10985970 Goyal Apr 2021 B1
10992678 Gilman Apr 2021 B1
10999164 Sridhar May 2021 B1
11023511 Fletcher Jun 2021 B1
11057491 Bijon Jul 2021 B1
11080096 Fakhouri Aug 2021 B1
11089105 Karumbunathan Aug 2021 B1
11093518 Lu Aug 2021 B1
11102190 Lelcuk Aug 2021 B2
11106442 Hsiao Aug 2021 B1
11133962 Hassan Sep 2021 B2
11153298 Eshun Oct 2021 B1
11171950 Zhuravlev Nov 2021 B1
11184766 Lord Nov 2021 B1
11218300 Shea Jan 2022 B1
11218301 Shea Jan 2022 B1
11218324 Wentz Jan 2022 B2
11218471 Stapleton Jan 2022 B1
11223470 Shea Jan 2022 B1
11240014 Maganti Feb 2022 B1
11240223 Stapleton Feb 2022 B1
11245519 Stapleton, Jr. Feb 2022 B1
11245577 Behm Feb 2022 B2
11258861 Dewan Feb 2022 B2
11316693 Telfer Apr 2022 B2
11322050 Arbajian May 2022 B1
11336511 Johnson May 2022 B2
11343270 Carter, Jr. May 2022 B1
11356247 Carter, Jr. Jun 2022 B1
11366842 Swaminathan Jun 2022 B1
11394551 Hassan Jul 2022 B2
11395139 Paczkowski Jul 2022 B1
11416865 Awasthi Aug 2022 B2
11449799 Arbajian Sep 2022 B1
11477016 Carter, Jr. Oct 2022 B1
11533175 Rao Dec 2022 B1
11552793 Shea Jan 2023 B1
11601266 Stapleton Mar 2023 B1
11626983 Carter, Jr. Apr 2023 B1
11652632 Palanisamy May 2023 B2
11663510 Carter, Jr. May 2023 B1
11716617 Wentz Aug 2023 B2
11816612 Maurya Nov 2023 B1
11838410 Ramanathan Dec 2023 B1
11895232 Stapleton Feb 2024 B1
20020156906 Kadyk Oct 2002 A1
20030187993 Ribot Oct 2003 A1
20040216128 Elzbieta Oct 2004 A1
20050114531 Kadyk May 2005 A1
20050170813 Choi Aug 2005 A1
20050246243 Adams Nov 2005 A1
20060165060 Dua Jul 2006 A1
20070011452 Marquet Jan 2007 A1
20070179794 Fisher Aug 2007 A1
20070282201 Kim Dec 2007 A1
20080301057 Oren Dec 2008 A1
20090013177 Lee Jan 2009 A1
20090025070 Netanel Jan 2009 A1
20090113536 Zhang Apr 2009 A1
20090172793 Newstadt Jul 2009 A1
20090249443 Fitzgerald Oct 2009 A1
20090249460 Fitzgerald Oct 2009 A1
20090253407 Sigmund Oct 2009 A1
20100005516 Alberti Jan 2010 A1
20100031369 Grummt Feb 2010 A1
20100100735 Rajan Apr 2010 A1
20100192217 Arnold Jul 2010 A1
20100269156 Hohlfeld Oct 2010 A1
20100325719 Etchegoyen Dec 2010 A1
20110040888 Krishnaswamy Feb 2011 A1
20110092185 Garskof Apr 2011 A1
20120160912 Laracey Jun 2012 A1
20120179787 Walsh Jul 2012 A1
20130055362 Rathbun Feb 2013 A1
20130065557 Zhang Mar 2013 A1
20130312091 Merchant Mar 2013 A1
20130086657 Srinivasan Apr 2013 A1
20130191885 Hubner Jul 2013 A1
20130206835 Gazdzinski Aug 2013 A1
20130212248 Neafsey Aug 2013 A1
20130339509 Johnson Dec 2013 A1
20140040993 Lorenzo Feb 2014 A1
20140049370 Eberwine Feb 2014 A1
20140123265 Borzycki May 2014 A1
20140143826 Sharp May 2014 A1
20140165165 Story, Jr. Jun 2014 A1
20140196129 Amin Jul 2014 A1
20140244834 Guedalia Aug 2014 A1
20140298405 Qureshi Oct 2014 A1
20140331295 Kumar Nov 2014 A1
20140373170 Brudnicki Dec 2014 A1
20150089619 Manza Mar 2015 A1
20150113172 Johnson Apr 2015 A1
20150121498 Burch Apr 2015 A1
20150132984 Kim May 2015 A1
20150186642 Cruz Mota Jul 2015 A1
20150186931 Flake Jul 2015 A1
20150230277 O'Meara Aug 2015 A1
20150249672 Burns Sep 2015 A1
20150312250 Redberg Oct 2015 A1
20150312953 Wang Oct 2015 A1
20150350913 Eberwine Dec 2015 A1
20150365412 Innes Dec 2015 A1
20150381580 Graham, III Dec 2015 A1
20150381776 Seed Dec 2015 A1
20160026983 Lindsley Jan 2016 A1
20160066183 Conant Mar 2016 A1
20160087933 Johnson Mar 2016 A1
20160087964 Irving, Jr. Mar 2016 A1
20160112434 Chung Apr 2016 A1
20160124742 Rangasamy May 2016 A1
20160127895 Bangole May 2016 A1
20160164840 Robertson Jun 2016 A1
20160171479 Prakash Jun 2016 A1
20160182228 Smith Jun 2016 A1
20160182518 Smith Jun 2016 A1
20160205078 James Jul 2016 A1
20160205097 Yacoub Jul 2016 A1
20160205106 Yacoub Jul 2016 A1
20160212113 Banerjee Jul 2016 A1
20160212141 Banerjee Jul 2016 A1
20160226914 Doddy Aug 2016 A1
20160234209 Kahol Aug 2016 A1
20160234628 Rahman Aug 2016 A1
20160253651 Park Sep 2016 A1
20160259923 Papa Sep 2016 A1
20160285891 Byers Sep 2016 A1
20160294798 Zarroli Oct 2016 A1
20160294828 Zakaria Oct 2016 A1
20160315824 Johnson Oct 2016 A1
20160323280 Sade Nov 2016 A1
20160337328 Sallam Nov 2016 A1
20160337346 Momchilov Nov 2016 A1
20160353489 Blanksby Dec 2016 A1
20160364553 Smith Dec 2016 A1
20170006009 Hessler Jan 2017 A1
20170012988 Turgeman Jan 2017 A1
20170013549 Ou Jan 2017 A1
20170019387 Ylonen Jan 2017 A1
20170034174 Jägers Feb 2017 A1
20170041316 Setchell Feb 2017 A1
20170054594 Decenzo Feb 2017 A1
20170063566 Seminario Mar 2017 A1
20170063843 Vijayasankar Mar 2017 A1
20170063940 Lapidous Mar 2017 A1
20170086069 Liu Mar 2017 A1
20170093700 Gilley Mar 2017 A1
20170093877 Ganda Mar 2017 A1
20170094509 Mistry Mar 2017 A1
20170110910 Zeine Apr 2017 A1
20170124562 Hessler May 2017 A1
20170169234 Camiel Jun 2017 A1
20170169424 Maddocks Jun 2017 A1
20170171176 Angaluri Jun 2017 A1
20170171209 Licklider Jun 2017 A1
20170180208 Smith Jun 2017 A1
20170180567 Sharma Jun 2017 A1
20170187723 Islam Jun 2017 A1
20170208054 Hanay Jul 2017 A1
20170208057 Wang Jul 2017 A1
20170223807 Recker Aug 2017 A1
20170228182 Novak Aug 2017 A1
20170230832 Ophir Aug 2017 A1
20170236179 Dreifus Aug 2017 A1
20170237609 Yin Aug 2017 A1
20170237770 Meriac Aug 2017 A1
20170251026 Straub Aug 2017 A1
20170272316 Johnson Sep 2017 A1
20170272953 Nathan Sep 2017 A1
20170302669 Chen Oct 2017 A1
20170330191 Pender Nov 2017 A1
20170331815 Pawar Nov 2017 A1
20170339561 Wennemyr Nov 2017 A1
20170353859 Idnani Dec 2017 A1
20170359237 Hao Dec 2017 A1
20170366969 Syed Dec 2017 A1
20180004933 Nathanson Jan 2018 A1
20180006883 Melliere Jan 2018 A1
20180013729 Cooper Jan 2018 A1
20180014988 Diaz-Flores Jan 2018 A1
20180034682 Gulati Feb 2018 A1
20180034822 Mistry Feb 2018 A1
20180039795 Gulati Feb 2018 A1
20180041341 Gulati Feb 2018 A1
20180054490 Wadhwa Feb 2018 A1
20180076955 Shields Mar 2018 A1
20180083785 Shields Mar 2018 A1
20180089693 Martin Mar 2018 A1
20180097639 Gulati Apr 2018 A1
20180115554 Dyon Apr 2018 A1
20180115611 Lear Apr 2018 A1
20180121636 Schiffman May 2018 A1
20180145956 Anglin May 2018 A1
20180146378 Christmas May 2018 A1
20180152452 Hu May 2018 A1
20180176079 Teo Jun 2018 A1
20180184290 Luo Jun 2018 A1
20180212768 Kawashima Jul 2018 A1
20180227842 Chandramouli Aug 2018 A1
20180232514 Brown Aug 2018 A1
20180247064 Aronovich Aug 2018 A1
20180247385 Whitfield Aug 2018 A1
20180253544 Ohsumi Sep 2018 A1
20180255066 Gabriel Sep 2018 A1
20180260125 Botes Sep 2018 A1
20180260876 Graham Sep 2018 A1
20180262388 Johnson Sep 2018 A1
20180270612 Thoresen Sep 2018 A1
20180284758 Cella Oct 2018 A1
20180287869 Munafo Oct 2018 A1
20180293389 Mahaffey Oct 2018 A1
20180309832 Jain Oct 2018 A1
20180316676 Gilpin Nov 2018 A1
20180332040 Chou Nov 2018 A1
20180338241 Li Nov 2018 A1
20180349482 Oliner Dec 2018 A1
20180351950 Bao Dec 2018 A1
20180365309 Oliner Dec 2018 A1
20190012358 Mousseau Jan 2019 A1
20190014085 Soliman Jan 2019 A1
20190014117 Li Jan 2019 A1
20190020905 Bennett Jan 2019 A1
20190025813 Cella Jan 2019 A1
20190026445 Ginsberg Jan 2019 A1
20190026456 Hon Jan 2019 A1
20190036697 Jerichow Jan 2019 A1
20190036906 Biyani Jan 2019 A1
20190036914 Tzur-David Jan 2019 A1
20190044976 Smith Feb 2019 A1
20190052630 Lapidous Feb 2019 A1
20190052659 Weingarten Feb 2019 A1
20190095478 Tankersley Mar 2019 A1
20190097902 Hardin Mar 2019 A1
20190104409 Wu Apr 2019 A1
20190109713 Clark Apr 2019 A1
20190109714 Clark Apr 2019 A1
20190109820 Clark Apr 2019 A1
20190109821 Clark Apr 2019 A1
20190109822 Clark Apr 2019 A1
20190109848 Clark Apr 2019 A1
20190118767 Britt Apr 2019 A1
20190121348 Cella Apr 2019 A1
20190124671 Starsinic Apr 2019 A1
20190141526 Bahrami May 2019 A1
20190141610 Sabella May 2019 A1
20190149545 Arora May 2019 A1
20190158353 Johnson May 2019 A1
20190173873 Brown Jun 2019 A1
20190182734 Laliberte Jun 2019 A1
20190182895 Di Girolamo Jun 2019 A1
20190190920 Connell, II Jun 2019 A1
20190230079 Chung Jul 2019 A1
20190236868 Rines Aug 2019 A1
20190245856 Irwan Aug 2019 A1
20190246276 Lingala Aug 2019 A1
20190253461 Bykampadi Aug 2019 A1
20190255963 Goei Aug 2019 A1
20190260762 Fynaardt Aug 2019 A1
20190279212 Brown Sep 2019 A1
20190281455 Luo Sep 2019 A1
20190286812 Lounsberry Sep 2019 A1
20190289466 Conant Sep 2019 A1
20190294765 Fine Sep 2019 A1
20190306251 Talebi Fard Oct 2019 A1
20190313468 Talebi Fard Oct 2019 A1
20190319686 Chen, IV Oct 2019 A1
20190319861 Pan Oct 2019 A1
20190319916 Venkataramanan Oct 2019 A1
20190324439 Cella Oct 2019 A1
20190324444 Cella Oct 2019 A1
20190334764 Chor Oct 2019 A1
20190334869 Grant Oct 2019 A1
20190339688 Cella Nov 2019 A1
20190342289 Zhu Nov 2019 A1
20190342874 Davydov Nov 2019 A1
20190351783 Goei Nov 2019 A1
20190356529 Gulati Nov 2019 A1
20190356661 Hecht Nov 2019 A1
20190364027 Pande Nov 2019 A1
20190364049 Boss Nov 2019 A1
20190372938 Pasdar Dec 2019 A1
20190386969 Verzun Dec 2019 A1
20190392162 Stern Dec 2019 A1
20190394061 Chen Dec 2019 A1
20200004946 Gilpin Jan 2020 A1
20200007385 Obaidi Jan 2020 A1
20200021586 Schmidt Jan 2020 A1
20200037226 Magadevan Jan 2020 A1
20200043880 Mohammed Feb 2020 A1
20200044868 Vakulenko Feb 2020 A1
20200045016 Chor Feb 2020 A1
20200050749 Barboi Feb 2020 A1
20200052889 Bendersky Feb 2020 A1
20200053079 Bendersky Feb 2020 A1
20200053096 Bendersky Feb 2020 A1
20200067938 Smith Feb 2020 A1
20200068391 Liu Feb 2020 A1
20200084212 Saldanha Mar 2020 A1
20200092296 Brinckman Mar 2020 A1
20200100108 Everson Mar 2020 A1
20200100187 Balasubramanian Mar 2020 A1
20200100319 Talebi Fard Mar 2020 A1
20200103894 Cella Apr 2020 A1
20200112555 Brown Apr 2020 A1
20200120202 Jakobsson Apr 2020 A1
20200127891 Johnson Apr 2020 A9
20200133257 Cella Apr 2020 A1
20200134686 Fahey Apr 2020 A1
20200137516 Thoresen Apr 2020 A1
20200145409 Pochuev May 2020 A1
20200169549 Smith May 2020 A1
20200174517 Martinez Jun 2020 A1
20200186355 Davies Jun 2020 A1
20200186358 Capola Jun 2020 A1
20200196327 Zhang Jun 2020 A1
20200205232 Wang Jun 2020 A1
20200220985 Keery Jul 2020 A1
20200225655 Cella Jul 2020 A1
20200228311 Capola Jul 2020 A1
20200252813 Li Aug 2020 A1
20200274713 Li Aug 2020 A1
20200287888 Moore Sep 2020 A1
20200314731 Ryu Oct 2020 A1
20200322332 Haque Oct 2020 A1
20200328885 Tola Oct 2020 A1
20200344602 Li Oct 2020 A1
20200348662 Cella Nov 2020 A1
20200349639 Mousseau Nov 2020 A1
20200351656 Johansson Nov 2020 A1
20200360821 Weaver Nov 2020 A1
20200364323 Bendersky Nov 2020 A1
20200380506 Chang Dec 2020 A1
20200389495 Crabtree Dec 2020 A1
20200394332 Jakobsson Dec 2020 A1
20200412651 Patidar Dec 2020 A1
20200412767 Crabtree Dec 2020 A1
20210006400 Hu Jan 2021 A1
20210006933 Dean Jan 2021 A1
20210012282 Smith Jan 2021 A1
20210012445 Bartfai-Walcott Jan 2021 A1
20210014924 Zheng Jan 2021 A1
20210019429 Cooner Jan 2021 A1
20210029100 Bendersky Jan 2021 A1
20210037012 Kanemitsu Feb 2021 A1
20210041855 Kursun Feb 2021 A1
20210044571 Costa Feb 2021 A1
20210044602 Kursun Feb 2021 A1
20210044975 Triest Feb 2021 A1
20210058323 Thanneeru Feb 2021 A1
20210058391 Graybeal Feb 2021 A1
20210067350 McClintock Mar 2021 A1
20210067507 Maruyama Mar 2021 A1
20210081271 Doshi Mar 2021 A1
20210082548 Bloxton Mar 2021 A1
20210092227 Naujok Mar 2021 A1
20210092646 Polehn Mar 2021 A1
20210099832 Duan Apr 2021 A1
20210117251 Cristofi Apr 2021 A1
20210136041 Foxhoven May 2021 A1
20210136084 Dayan May 2021 A1
20210136563 Chandrasekaran May 2021 A1
20210167963 Autry Jun 2021 A1
20210168115 de la Oliva Jun 2021 A1
20210168132 Smith Jun 2021 A1
20210173915 Keith, Jr. Jun 2021 A1
20210176218 Keith, Jr. Jun 2021 A1
20210208571 Thomsen Jul 2021 A1
20210219268 Li Jul 2021 A1
20210226959 Griggio Jul 2021 A1
20210232680 Hecht Jul 2021 A1
20210234875 Hecht Jul 2021 A1
20210250341 Senftleber Aug 2021 A1
20210258275 Starsinic Aug 2021 A1
20210266302 Daly Aug 2021 A1
20210266346 Gordon Aug 2021 A1
20210279341 Huck Sep 2021 A1
20210282003 Li Sep 2021 A1
20210289351 Ferdi Sep 2021 A1
20210306311 Chifor Sep 2021 A1
20210314143 Conner Oct 2021 A1
20210314809 Teyeb Oct 2021 A1
20210344660 Benkreira Nov 2021 A1
20210374727 Weaver Dec 2021 A1
20210410084 Li Dec 2021 A1
20220030431 Peylo Jan 2022 A1
20220036323 Sasaki Feb 2022 A1
20220070673 Shaw Mar 2022 A1
20220078005 Lanc Mar 2022 A1
20220078209 V Mar 2022 A1
20220103525 Shribman Mar 2022 A1
20220103588 Shaw Mar 2022 A1
20220103596 Shaw Mar 2022 A1
20220137948 Chang May 2022 A1
20220159605 Li May 2022 A1
20220191962 Di Girolamo Jun 2022 A1
20220237964 Yim Jul 2022 A1
20220255916 Smith Aug 2022 A1
20220303282 Barriga Sep 2022 A1
20230284077 Pateromichelakis Sep 2023 A1
Foreign Referenced Citations (5)
Number Date Country
105472699 Apr 2016 CN
3410675 Aug 2020 EP
2017218775 Dec 2017 WO
WO-2019009928 Jan 2019 WO
2020133467 Jul 2020 WO
Non-Patent Literature Citations (11)
Entry
Song et al “One-Time Key Authentication Protocol for PMIPv6,” Third 2008 International Conference on Convergence and Hybrid Information Technology, IEEE Computer Society pp. 1150-1153 (Year: 2008).
Solano et al “One-Time URL: A Proximity Security Mechanism between Internet of Things and Mobile Devices,” Sensors, MDPI, pp. 1-17 (Year: 2016).
Sudar et al “Time-based One-Time Password for Wi-Fi Authentication and Security,” IEEE, pp. 1212-1215 (Year: 2017).
Shahzad et al “Continuous Authentication and Authorization for the Internet of Things,” IEEE Internet Computing, pp. 86-90 (Year: 2017).
Irie et al “Automatic Roaming Consortium Discovery and Routing for Large-Scale Wireless LAN Roaming Systems,” 2018 IEEE 23rd International Workshop on Computer Aided Modeling and Design of Communication Links and Networks (CAMAD), pp. 1-6 (Year: 2018).
Tarouco et al “Internet of Things in Healthcare: Interoperability and Security Issues,” International Workshop in Mobile Consumer Health Care Networks, Systems and Services, pp. 6121-6125 (Year: 2012).
Rattanalerdnusorn et al “Security Implementation for Authentication in IoT Environments,” 2019 IEEE 4th International Conference on Computer and Communication Systems, IEEE, pp. 678-681 (Year: 2019).
Garg et al “Securing IoT Devices and Securely Connecting the Dots Using REST API and Middleware,” IEEE, pp. 1-6 (Year: 2019).
Guntuku et al “Secure Authentication Scheme for Internet of Things in Cloud,” IEEE, pp. 1-7 (Year: 2018).
Patent Cooperation Treaty: International Search Report and Written Opinion for PCT/US2021/044667 dated Nov. 15, 2021; 10 pages.
European Patent Office: Extended European Search Report issued is EP Application No. 21889773.4, dated Mar. 4, 2024; 12 pages.
Related Publications (1)
Number Date Country
20220141658 A1 May 2022 US