The present techniques generally relate to a secure bootstrap mechanism for endpoint devices. In particular, the bootstrap mechanism provides for secure services between the large-resource traditional Internet and constrained-resource (Internet Protocol) IP-enabled endpoint devices.
The Internet of Things encompasses devices and networks that are IP-enabled and Internet-connected, along with the Internet services monitoring and controlling those devices. Such IP-enabled devices connected to the internet may be termed data processing devices, end nodes, remote devices or Internet of Things (IoT) devices and include sensors, machines, active positioning tags, radio-frequency identification (RFID) readers and building automation equipment to name but a few. Such an IP-enabled device is hereafter referred to as “device.”
Devices in the IoT may generally, but not necessarily, be resource-limited embedded devices, often battery powered and connected by low-power, low-bandwidth wireless networks to the Internet.
The IPv6 over Low Power Wireless Standard (6LoWPAN) is a set of standards which enable the efficient use of IPv6 over low-power, low-rate wireless networks on devices through an adaption layer and the optimization of related protocols.
The Open Mobile Alliance's LwM2M standard (i.e. ‘lightweight Machine-to-Machine’) is applicable to 6LoWPAN whereby a LwM2M bootstrap process is used to provide mandatory information (e.g. credential data) through a bootstrap interface for devices so that the devices can perform authentication (e.g. establish secure communications, register, enrol etc.) with one or more servers, whereby authentication assigns a device to a server to access one or more services (e.g. applications, databases etc.).
The present applicant has recognised the need to for an improved bootstrap process to authenticate a device with a server (e.g. a resource server such as an LwM2M server).
According to a first techniques there is provided a computer implemented method of bootstrapping a device by a bootstrap server, the method comprising: receiving, at the bootstrap server from the device as part of a bootstrap process, common credential data including a trust indicator to indicate that the common credential data is common for a group of devices; obtaining, at the bootstrap server, resource credential data based on or in response to the common credential data, the resource credential data to enable the device to authenticate with a resource; transmitting, from the bootstrap server to the device, the resource credential data.
According to a further technique there is provided a computer implemented method of bootstrapping a device from a bootstrap server, the method comprising: transmitting, from the device to a first server as part of a first bootstrap process, common credential data including a trust indicator to indicate that the common credential data is common for a group of devices; receiving, from the first server, first resource credential data to enable the device to authenticate with a second server.
According to a further technique there is provided a device comprising: storage circuitry to store common credential data including a trust indicator to indicate that the common credential data is common for a group of devices; communication circuitry to transmit, from the device to a first server as part of a bootstrap process, the common credential data.
The techniques are diagrammatically illustrated, by way of example, in the accompanying drawings, in which:
Reference is made in the following detailed description to accompanying drawings, which form a part hereof, wherein like numerals may designate like parts throughout that are corresponding and/or analogous. It will be appreciated that the figures have not necessarily been drawn to scale, such as for simplicity and/or clarity of illustration. For example, dimensions of some aspects may be exaggerated relative to others. Further, it is to be understood that other embodiments may be utilized. Furthermore, structural and/or other changes may be made without departing from claimed subject matter. It should also be noted that directions and/or references, for example, such as up, down, top, bottom, and so on, may be used to facilitate discussion of drawings and are not intended to restrict application of claimed subject matter.
A network, such as an Internet of Things (IoT) network, may comprise multiple connected devices and services with different functionalities. The devices and services may be provided by different parties, and typically, the devices are resource-constrained with limited power supply, communication capability, CPU performance and memory.
Generally speaking, a bootstrap or bootstrapping process includes some or all of the steps that enable a new device to join a network and to authenticate with one or more servers to access one or more resources or services via those servers, hereafter “resource servers.”
Traditional bootstrapping processes place configuration and costs burdens upon administrators of the device (e.g. original equipment manufacturers (OEMs)/owners/manufacturers etc), who are required to obtain/generate credential data which is unique for each device and to provision the unique credential data on each individual device.
Broadly speaking, embodiments of the present techniques provide an apparatus, system and method for enabling devices to join a network via a bootstrapping process which is less onerous than those known in the art. In particular, the present techniques provide for a bootstrapping process using credential data which is common to two or more devices.
Device 2 may be a computer terminal, a laptop, a tablet or mobile-phone, or may, for example, be a lightweight machine to machine (LwM2M) device used to turn objects into “smart-objects” such as streetlights, electric meters, temperature sensors and building automation as part of the IoT, and a range of market segments in which device 2 may be used is illustratively depicted in
Referring to
The communication circuitry 7 may use wireless communication, such as communication using wireless local area network (Wi-Fi), short range communication such as radio frequency communication (RFID) or near field communication (NFC), or communications used in wireless technologies such as ZigBee, Thread, Bluetooth, Bluetooth LE, IPv6 over Low Power Wireless Standard (6LoWPAN) or Constrained Application Protocol (CoAP). Also, the communication circuitry may use a cellular network such as 3G or 4G. The communication circuitry 7 may also use wired communication such as using a fibre optic or metal cable. The communication circuitry 7 could also use two or more different forms of communication, such as several of the examples given above in combination.
The device 2 further comprises processing circuitry 8 for controlling various processing operations performed by the device 2.
The device 2 may further comprise input/output (I/O) circuitry 9, such that the device 2 can receive inputs (e.g. user inputs, sensor inputs, measurement inputs etc.) and or generate outputs (e.g. audio/visual/control commands etc.).
The device 2 further comprises storage circuitry 10 for storing data, such as credential data, whereby the storage circuitry 10 may comprise volatile and/or non-volatile memory.
Such credential data may include one or more of: certificates, cryptographic keys (e.g. shared symmetric keys, public keys, private keys), identifiers (e.g. direct or indirect identifiers) etc.) whereby such credential data may be used by the device to authenticate with one or more remote resources (e.g. a bootstrap server/resource server).
In the present figures, remote resource 4 is depicted as resource server 4 which may be part of, or interface with one or more public networks (e.g. the internet) and/or private networks enabling deployment of services in a secure manner from a private server, private cloud or public cloud environment.
The resource server 4 may comprise hardware/software capable of providing server functionality, for example to provide access to a service 6 with which it interfaces or hosts, whereby such services may include one or more of: web service(s); data storage & analytics service(s), management service(s) and application service(s), although this list is not exhaustive.
The resource server 4 may, for example, be a gateway device in a home, a machine-to-machine (M2M) server, a LwM2M server, an edge server, a computer terminal, a laptop, a tablet or mobile-phone, an application hosted on a or may itself be a device.
Device 2 communicates with resource server 4 using appropriate standards or protocols such as open IETF standards such as CoAP over a first network, such as, for example, a low-power wireless network using 6LoWPAN, although any suitable standard(s)/protocol(s)/network(s) may be used. It will be appreciated that one or more intermediary devices, such as a gateway device, edge device etc. may be located between the device 2 and resource server 4.
In embodiments, the device 2 may authenticate (e.g. establish secure communications, register, enroll etc.) with a remote resource 4 whereby in embodiments the device may input credential data to a security protocol to authenticate with the remote resource as will be described in more detail in the following figures.
The client 21 resides on the device 2 and may be integrated as a software library or built-in function of a module.
Logical interfaces may be defined between the client 21 and resource server 4, and three logical interfaces are depicted in
The architecture 20 may use a transfer protocol to transfer data. Such a transfer protocol may, for example, comprise a CoAP or may be HTTP, but any suitable transfer protocol may be used.
The architecture 20 may use a security protocol(s) to establish a communications path or channel for providing secure communications between device 2 and resource server 4 for data/payloads. The security protocols may, for example comprise Transport Layer Security/Datagram Transport Layer Security (TLS/DTLS), whereby TLS/DTLS may be used to establish a secure channel between the device 2 and resource server 4 whereby TLS/DTLS security modes include both pre-shared key and public key technology. The data (e.g. credential data) protected by TLS/DTLS may be encoded as plain text, binary TLV, JSON, CBOR, or any other suitable data exchange format.
Each piece of data (e.g. credential data) in storage on the device 2 is a resource 22, whereby such resources 22 can be read, written or executed. The resources may be provisioned at manufacture (e.g. during a factory provisioning process) or during an authentication process with a server.
It will be understood that the device resources may be remotely managed by, for example, software hosted on resource server 4 and or an application running as part of a service 6, whereby such an application may include a data storage & analytics service 26, an application service 28 and/or a device management application 30, although these are examples of applications which may run as part of service 6.
Such device resources may include credential data such as identifiers to identify a remote resource, whereby the device 2 uses the appropriate credential to authenticate therewith. For example, the credential data in a certificate on the device can be input to a TLS/DTLS security protocol to establish a secure communication path or channel with a remote resource.
Certificates are typically certificate authority (CA) certificates but they may also be pinned, end entity certificates.
The certificates may comprise an identifier used by a device to locate a remote resource and/for verification purposes (e.g. to authenticate communications according to an identifier matching algorithm).
Identifiers may include one or more of: fully qualified domain name (FQDN), a Uniform Resource Locator (URL)), a Uniform Resource Indicator (URI), a Uniform Resource Name (URN) and an IP address (e.g. IPv4 or IPv6 address).
As will be appreciated by a person skilled in the art, the device resources may be provisioned on a device during a bootstrapping process and the present techniques provide a bootstrapping functionality for the device, whereby a bootstrap server manages the provision of device resources to enable the device to access one or more services.
In a simplified form as shown in
The bootstrap process may also initiate secure communications between the device 2 and bootstrap server 30, using, for example, credential data (e.g. the common certificate, a cryptographic key) as an input to TLS/DTLS protocol.
In the present techniques, the common certificate comprises a trust indicator or trust level extension to indicate that it is a common certificate, whereby the trust indicator may comprise, for example, alphanumeric text, a code, or a value.
The common certificate may further include a group identifier for the group of devices to which the common certificate corresponds. In embodiments the group identifier may comprise device identifiers for each device in the group (e.g. a MAC address of each device).
In response to authenticating the device 2, the bootstrap server 30 provisions credential data on the device 2 to enable the device 2 to access a further remote resource (e.g. a resource server).
At S100, an administrator 42 obtains a root or intermediate certificate (e.g. an X.509 certificate) signed by a certificate authority (CA) such as Cybertrust or GlobalSign (hereafter “trust certificate”), and registers the trust certificate with device management platform 46 (e.g. by uploading the trust certificate via an application programmable interface (API) of the device management platform 46).
The device management platform 46 of
It will be appreciated that the device management platform 46 is not limited to a cloud platform and may comprise a private platform (e.g. where the device management platform is hosted on a private or on-premise infrastructure); and a hybrid cloud platform (e.g. a combination of the public and private platforms).
In embodiments the administrator 42 may have an associated account 44 at the device management platform 46, the account 44 having, for example, credential data associated with that administrator 42 (e.g. an account ID, the uploaded trust certificate, one or more associated cryptographic keys (e.g. public key) etc.).
In embodiments the trust certificate may be registered at the device management platform 46 as part of a bring-your-own-certificate (BYOC) process whereby on registering the trust certificate the administrator may be provisioned with credential data with which the administrator may provision on one or more devices to enable the devices to authenticate with one or more remote resources. Such credential data provided to the administrator may include a bootstrap credential such as a bootstrap server identifier (e.g. a URI, IPv6 address etc).
At S102a the administrator 42 generates a first common certificate 48a for a first group of devices, and at S102b generates a second common certificate 48b for a second group of devices, whereby the first and second common certificates may be derived from the trust certificate (e.g. signed using a cryptographic key associated with the trust certificate). Such a cryptographic key associated with the trust certificate may, for example, be a private key, which is part of a public/private key pair provisioned at the administrator 42 (e.g. by a CA), or the cryptographic key associated with the trust certificate may be a private key generated along with a corresponding public key by the administrator (e.g. as part of a certificate signing request)). The claims are not limited in this respect and in some embodiments the cryptographic associated with the trust certificate and used to sign the trust certificate may be a public key.
The first and second common certificates 48a, 48b may include a trust indicator indicating that the certificate is a common certificate and further include bootstrap credential data to enable the device 2 to authenticate with the bootstrap server 30.
At S104a, the administrator provisions common credential data comprising the first common certificate 48a on one or more devices of the first group of devices, and at S104b, the administrator provisions common credential data comprising the second common certificate 48b on one or more devices of the second group of devices. Provisioning the common credential data on the respective devices may be performed as an out-of-band process although the claims are not limited in this respect. The common credential data may be stored as a device resource(s) in non-volatile memory on a device. In some embodiments some or all of the common credential data may be permanently stored on the device. For example, the common certificate may be stored in a read-only memory.
In other examples some or all of the common credential data is temporarily stored at the device, for example where the common credential data has a limited validity.
At S106a, a device 2a of the first group uses common credential data comprising the first common certificate to authenticate itself with the bootstrap server 30 as part of a bootstrap process, whereby, for example, on receiving a bootstrap request the bootstrap server 30 determines whether the first common certificate has a chain of trust to a trusted source (e.g. by verifying a signature in the first common certificate using a corresponding cryptographic key (e.g. a public key)); the common certificate includes a trust indicator; and/or whether the device 2a is in the group to which the first common certificate corresponds.
In embodiments a secure communication channel is established between the device 2a and bootstrap server 30 using the respective common credential data.
The bootstrap server 30 generates and/or obtains credential data 49a to enable the authenticated device 2a to communicate with the resource server 4 (hereafter “resource credential data”), and at S108a transmits the resource credential data 49a to the device 2a.
At S106b, a device 2b of the second group uses common credential data comprising the second common certificate to authenticate itself with the bootstrap server 30 as part of a bootstrap process, whereby, for example, on receiving a bootstrap request the bootstrap server 30 determines whether the second common certificate has a chain of trust to a trusted source (e.g. by verifying a signature in the second common certificate using a corresponding cryptographic key (e.g. a public key)); the common certificate includes a trust indicator; and/or whether the device 2b is in the group to which the second common certificate corresponds.
In embodiments a secure communication channel is established between the device 2b and bootstrap server 30 using the respective common credential data.
The bootstrap server 30 generates and/or obtains resource credential data 49b to enable the authenticated device 2b to communicate with the resource server 4 and at S108b transmits the resource credential data 49b to the device 2b.
In embodiments, the respective resource credential data 49a, 49b may comprise a resource certificate, an identifier for the resource server (e.g. a URI, IPv6 address etc.). Additionally, or alternatively, the respective resource credential data 49a, 49b may comprise a bootstrap certificate, an identifier (e.g. a URI, IPv6 address etc.) for the bootstrap server 30 or a further bootstrap server (not shown) with which the device 2a, 2b can authenticate.
At S110a, device 2a uses the resource credential data 49a to authenticate with the resource server 4, whereby, on being successfully authenticated, the device 2a may access one or more services 6.
At S110b, device 2b uses the resource credential data 49b to authenticate with the resource server 4, whereby, on being successfully authenticated, the device 2b may access one or more services 6.
As such, the present techniques enable one or more devices in a group of devices to authenticate with a bootstrap server using common credential data for that group (e.g. a common certificate). Such functionality reduces the burden for device administrators because they are not required to generate and/or provision unique credential data on devices to enable the devices perform a bootstrapping process.
The present techniques further enable the one or more devices to use the bootstrap credential data to authenticate with the bootstrap server without the common certificate after the initial bootstrap process. For example, when the resource credential data 49a, 49b expires, the respective device 2a, 2b can use the bootstrap credential data to obtain valid resource credential data.
In the case of a factory reset of a device, when, for example, the common credential data is permanently stored on the device, the device can use the common certificate to obtain the resource credential data from the bootstrap server 30.
Additionally, or alternatively, rather than the common credential data, the device can use the bootstrap credential data to obtain the resource credential data from the same bootstrap server 30 or a different bootstrap server.
At S150, an administrator 42 obtains a trust certificate and registers the trust certificate with device management platform 46.
In embodiments, on registering the trust certificate the administrator is provisioned with credential data with which the administrator may provision on one or more devices to enable the devices to access one or more services. Such credential data provided to the administrator may include a bootstrap credential such as a bootstrap server identifier (e.g. a URI, IPv6 address etc).
At S152 the administrator generates common credential data comprising a common certificate 62 for a first group of devices, whereby the common certificate 62 may be derived from the trust certificate (e.g. signed using a cryptographic key associated with the trust certificate (e.g. a private key)), and whereby the common credential data includes a trust indicator indicating that the certificate is a common certificate and further includes the bootstrap credential to enable the device 2 to authenticate with the bootstrap server 30.
At S154a, the administrator 42 provisions common credential data comprising the common certificate 62 on the first device 2a, and at S154b, the administrator 42 provisions common credential data comprising the common certificate 62 on the second device.
At S156a, device 2a uses the common credential data to authenticate itself with the bootstrap server 30 as part of a bootstrap process, whereby, for example, the bootstrap server 30 determines whether the common certificate has a chain of trust to a trusted source (e.g. by verifying a signature in the common certificate using a corresponding cryptographic key), the common credential data includes a trust indicator, and/or the device 2a is in the group to which the common credential data corresponds.
The bootstrap server 30 generates and/or obtains resource credential data to enable the authenticated device 2a to communicate with the resource server 4 and at S158a provisions the resource credential data 64a on the device 2a.
At S156b, device 2b uses the common credential data to authenticate itself with the bootstrap server 30 as part of a bootstrap process.
The bootstrap server 30 generates and/or obtains further credential data 64b to enable the authenticated device 2b to communicate with the resource server 4 and at S158b provisions the resource credential data 64b on the device 2b.
As above, whereas the common credential data is common for all devices of a group, the resource credential data 64a, 64b is unique for each device 2a, 2b and comprises a resource certificate and/or may include an identifier for the resource server (e.g. a URI, IPv6 address etc.). Additionally, or alternatively, the respective resource credential data 64a, 64b may comprise a bootstrap certificate, an identifier (e.g. a URI, IPv6 address etc.) for a bootstrap server with which the device 2a, 2b can authenticate.
At S160a, device 2a uses the resource credential data 64a to authenticate with the resource server 4, whereby, on being successfully authenticated, the device 2 may access one or more services 6.
At S160b, device 2b uses the resource credential data 64b to authenticate with the resource server 4, whereby, on being successfully authenticated, the device 2 may access one or more services 6.
As will be appreciated devices 2a, 2b may use respective bootstrap credentials to authenticate with bootstrap server 30 (or a different bootstrap server) to obtain further resource credential data if required.
The device management platform 46 of
At S202, administrator 42 obtains a trust certificate (e.g. an X.509 certificate) and registers the trust certificate with device management platform 46 (e.g. as part of a BYOC process) via the interface 46a (e.g. an API).
At S204 the administrator 42 generates common credential data for a group of devices comprising one or more devices. In illustrative examples the common credential data comprises a common certificate derived from the trust certificate such that there is a chain of trust between the trust certificate and the common certificate. The common credential data further comprises a trust indicator and bootstrap credential.
At S206 the administrator 42 provisions the common credential data onto a device 2 in the group of devices.
At S208 the device 2 initiates a bootstrapping process with the bootstrap server 30 (e.g. after power on for the first time) using the common credential data (e.g. as part of a bootstrap request). In embodiments the device 2 establishes secure communications with the bootstrap server 30 using the common credential data.
At S210 the bootstrap server 30 verifies the common credential data received from the device 2 (e.g. whereby, for example, the bootstrap server 30 determines whether the common certificate has a chain of trust to a trusted source (e.g. by verifying a signature in the common certificate using a corresponding cryptographic key); the common certificate includes a trust indicator; and/or whether the device is in the group to which the common certificate corresponds). When the common credential data is verified, the bootstrap server 30 provisions further credential data on the device 2 to enable the device 2 to authenticate with the resource server 4 and to access one or more services.
As an illustrative example, on verifying the common credential data received from the device 2, the bootstrap server 30 generates or obtains resource credential data to enable the device 2 to authenticate with the resource server 4.
For example, the bootstrap server 30 generates a device bootstrap certificate using a bootstrap intermediate CA provisioned at the bootstrap server and at S212, provides the device bootstrap certificate to device management platform 46 via interface 46a.
At S214 device management platform 46 verifies the device bootstrap certificate, and at S216 provides, to the bootstrap server 30 the resource credential data for the device 2. In embodiments the resource credential data may comprise a resource certificate (e.g. server certificate) and/or a resource identifier (e.g. server identifier). In some embodiments the resource credential data may also comprise bootstrap credential data unique for that device 2 to enable the device 2 to authenticate with the bootstrap server 30 or a further bootstrap server (not shown). In other embodiments the bootstrap server may generate the bootstrap credential data (e.g. using the bootstrap intermediate CA).
In some embodiments the resource credential data may be generated for the device based on an account ID data registered at the device management platform 46 by the administrator 42.
At S218 the bootstrap server provisions the resource credential data on the device 2 to enable the device to access the resource server 4 (or a bootstrap server).
At S220, the device 2 authenticates itself with the resource server 4 using the resource credential provisioned thereon during the bootstrap process, whereby the device 2 may establish secure communications with the resource server 4 as part of the access request.
At S222 the resource server 4 processes the access request and at S224 when the device is authenticated, the device 2 is provided with access to the one or more services.
As above, when the resource credential data is invalid (e.g. due to expiration, corruption) the present techniques enable the one or more devices to use the common credential data and/or bootstrap credential data to obtain valid resource credential data.
In the case of a factory reset of a device, when, for example, the common credential data is permanently stored on the device, the device can use the common credential data to authenticate with the bootstrap server to obtain resource credential data therefrom.
Additionally, or alternatively, rather than the common credential data, the device can use the bootstrap credential data to obtain the resource credential data from the same bootstrap server 30 or a different bootstrap server.
In some embodiments the resource credential data may have a limited validity (e.g. one-time use, ‘N’-time use, or limited by time (e.g. valid for 6 months from issue)). As such, the device may use the common certificate to authenticate with the bootstrap server to obtain access to the one or more services.
When the common certificate is no longer valid or is approaching the end of its validity lifetime, the device may generate an alert for the owner to obtain valid credential data (e.g. from the administrator or another source).
In some embodiments the bootstrap server 30 may also provision bootstrap credential data (e.g. a certificate; a bootstrap identifier) on the device 2 to enable the device 2 to authenticate with the bootstrap server 30 without the common certificate. As such, in some embodiments, the device 2 may authenticate with the bootstrap server 30 using the common certificate in an initial bootstrap operation and authenticate with the bootstrap server using the bootstrap credential data thereafter.
As described above, a group of devices may comprise one or more devices. The claims are not limited as to how the devices are grouped and devices may be grouped by function, by type, by manufacturer, by class, by power rating, by order of manufacture (e.g. date/time), by owner etc. In other embodiments the devices may be grouped in a random or pseudorandom manner.
In a further related aspect, the present techniques provide a non-transitory data carrier carrying code which, when implemented on a processor, causes the processor to carry out the method described herein.
The techniques further provides processor control code to implement the above-described systems and methods, for example on a general purpose computer system or on a digital signal processor (DSP). The techniques also provides a carrier carrying processor control code to, when running, implement any of the above methods, in particular on a non-transitory data carrier—such as a disk, microprocessor, CD- or DVD-ROM, programmed memory such as read-only memory (firmware), or on a data carrier such as an optical or electrical signal carrier. The code may be provided on a carrier such as a disk, a microprocessor, CD- or DVD-ROM, programmed memory such as non-volatile memory (e.g. Flash) or read-only memory (firmware). Code (and/or data) to implement embodiments of the techniques may comprise source, object or executable code in a conventional programming language (interpreted or compiled) such as C, or assembly code, code for setting up or controlling an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array), or code for a hardware description language such as Verilog™ or VHDL (Very high speed integrated circuit Hardware Description Language). As the skilled person will appreciate, such code and/or data may be distributed between a plurality of coupled components in communication with one another. The techniques may comprise a controller which includes a microprocessor, working memory and program memory coupled to one or more of the components of the system.
The various representative embodiments, which have been described in detail herein, have been presented by way of example and not by way of limitation. It will be understood by those skilled in the art that various changes may be made in the form and details of the described embodiments resulting in equivalent embodiments that remain within the scope of the appended items.
| Number | Date | Country | Kind |
|---|---|---|---|
| 1819725 | Dec 2018 | GB | national |
| Filing Document | Filing Date | Country | Kind |
|---|---|---|---|
| PCT/GB2019/053157 | 11/8/2019 | WO |
| Publishing Document | Publishing Date | Country | Kind |
|---|---|---|---|
| WO2020/115458 | 6/11/2020 | WO | A |
| Number | Name | Date | Kind |
|---|---|---|---|
| 5349643 | Cox et al. | Feb 1994 | A |
| 5737419 | Gane | Apr 1998 | A |
| 5872968 | Knox et al. | Feb 1999 | A |
| 6463535 | Drews | Oct 2002 | B1 |
| 6950660 | Hsu et al. | Sep 2005 | B1 |
| 7363514 | Behren | Apr 2008 | B1 |
| 7882345 | Christensen | Feb 2011 | B1 |
| 7971045 | Currid et al. | Jun 2011 | B1 |
| 8108455 | Yeager et al. | Jan 2012 | B2 |
| 8244845 | Rao | Aug 2012 | B2 |
| 8370491 | Breau et al. | Feb 2013 | B1 |
| 8532640 | Bussey | Sep 2013 | B2 |
| 8554912 | Reeves | Oct 2013 | B1 |
| 8738898 | Herwono | May 2014 | B2 |
| 8787575 | Laaksonen | Jul 2014 | B2 |
| 8788825 | Le | Jul 2014 | B1 |
| 8938061 | Dendy | Jan 2015 | B1 |
| 9032217 | Brandwine | May 2015 | B1 |
| 9064117 | Worsley | Jun 2015 | B1 |
| 9161215 | Kato | Oct 2015 | B2 |
| 9307405 | Curtis et al. | Apr 2016 | B2 |
| 9356968 | Dotan | May 2016 | B1 |
| 9735970 | Shohat | Aug 2017 | B1 |
| 9860235 | Curtis et al. | Jan 2018 | B2 |
| 9864735 | Lamprecht | Jan 2018 | B1 |
| 10027646 | Curtis et al. | Jul 2018 | B2 |
| 10129268 | David et al. | Nov 2018 | B2 |
| 10185829 | Sasin et al. | Jan 2019 | B2 |
| 10321311 | Sasin | Jun 2019 | B2 |
| 10554731 | Pak | Feb 2020 | B2 |
| 10581620 | Meyer | Mar 2020 | B2 |
| 11678183 | Luo | Jun 2023 | B2 |
| 11683685 | Smith | Jun 2023 | B2 |
| 11736277 | Wei | Aug 2023 | B2 |
| 11832102 | Heldt-Sheller | Nov 2023 | B2 |
| 11930115 | Keränen | Mar 2024 | B2 |
| 12028443 | Cabre | Jul 2024 | B2 |
| 20010027527 | Khidekel | Oct 2001 | A1 |
| 20020090085 | Vanstone et al. | Jul 2002 | A1 |
| 20020147905 | Perlman | Oct 2002 | A1 |
| 20030028763 | Malinen et al. | Feb 2003 | A1 |
| 20030041110 | Wenocur | Feb 2003 | A1 |
| 20030055894 | Yeager | Mar 2003 | A1 |
| 20030074580 | Knouse | Apr 2003 | A1 |
| 20030196084 | Okereke | Oct 2003 | A1 |
| 20040015694 | DeTreville | Jan 2004 | A1 |
| 20040148505 | Qiu | Jul 2004 | A1 |
| 20050010758 | Landrock et al. | Jan 2005 | A1 |
| 20050114447 | Cameron | May 2005 | A1 |
| 20050251690 | Kuno | Nov 2005 | A1 |
| 20060053276 | Lortz et al. | Mar 2006 | A1 |
| 20060075242 | Aissi et al. | Apr 2006 | A1 |
| 20060085634 | Jain | Apr 2006 | A1 |
| 20060104234 | Zhang | May 2006 | A1 |
| 20060117177 | Buer | Jun 2006 | A1 |
| 20060130004 | Hughes | Jun 2006 | A1 |
| 20060150241 | Huh et al. | Jul 2006 | A1 |
| 20060155837 | Kobayashi | Jul 2006 | A1 |
| 20060161771 | Zhang | Jul 2006 | A1 |
| 20060185013 | Oyama | Aug 2006 | A1 |
| 20060200855 | Willis | Sep 2006 | A1 |
| 20060218393 | Hernandez | Sep 2006 | A1 |
| 20060259765 | Song et al. | Nov 2006 | A1 |
| 20060277406 | Hashimoto et al. | Dec 2006 | A1 |
| 20070011446 | Kato et al. | Jan 2007 | A1 |
| 20070043608 | May et al. | Feb 2007 | A1 |
| 20070055867 | Kanungo et al. | Mar 2007 | A1 |
| 20070130476 | Mohanty | Jun 2007 | A1 |
| 20070143388 | Futa et al. | Jun 2007 | A1 |
| 20070220266 | Cooper et al. | Sep 2007 | A1 |
| 20070220589 | Salowey et al. | Sep 2007 | A1 |
| 20080034207 | Cam-Winget et al. | Feb 2008 | A1 |
| 20080066166 | Childs | Mar 2008 | A1 |
| 20080130902 | Foo Kune et al. | Jun 2008 | A1 |
| 20080201262 | Saito | Aug 2008 | A1 |
| 20080256616 | Guarraci | Oct 2008 | A1 |
| 20090013177 | Lee' et al. | Jan 2009 | A1 |
| 20090063851 | Nijdam | Mar 2009 | A1 |
| 20090086977 | Berggren | Apr 2009 | A1 |
| 20090129597 | Zimmer et al. | May 2009 | A1 |
| 20090215477 | Lee et al. | Aug 2009 | A1 |
| 20090276620 | McCarron et al. | Nov 2009 | A1 |
| 20090287922 | Herwono et al. | Nov 2009 | A1 |
| 20090313466 | Naslund et al. | Dec 2009 | A1 |
| 20100138652 | Sela | Jun 2010 | A1 |
| 20100304716 | Hoeksel et al. | Dec 2010 | A1 |
| 20110154454 | Frelechoux | Jun 2011 | A1 |
| 20110161663 | Nakhjiri | Jun 2011 | A1 |
| 20110191765 | Lo | Aug 2011 | A1 |
| 20110225296 | Hong et al. | Sep 2011 | A1 |
| 20110231281 | Bollay | Sep 2011 | A1 |
| 20120042081 | Liao et al. | Feb 2012 | A1 |
| 20120060025 | Cahill | Mar 2012 | A1 |
| 20120079031 | Matthews et al. | Mar 2012 | A1 |
| 20120108207 | Schell et al. | May 2012 | A1 |
| 20120122423 | Helmreich | May 2012 | A1 |
| 20120221725 | Schroeder, Jr. et al. | Aug 2012 | A1 |
| 20130035067 | Zhang et al. | Feb 2013 | A1 |
| 20130081113 | Cherian et al. | Mar 2013 | A1 |
| 20130095789 | Keevill et al. | Apr 2013 | A1 |
| 20130150105 | Clevorn et al. | Jun 2013 | A1 |
| 20130160094 | Luo | Jun 2013 | A1 |
| 20130174241 | Cha et al. | Jul 2013 | A1 |
| 20130198838 | Schmidt | Aug 2013 | A1 |
| 20130212215 | Ukkola | Aug 2013 | A1 |
| 20130222109 | Lim | Aug 2013 | A1 |
| 20130310003 | Sadhvani et al. | Nov 2013 | A1 |
| 20140059226 | Messerli | Feb 2014 | A1 |
| 20140082715 | Grajek | Mar 2014 | A1 |
| 20140089652 | Cerri et al. | Mar 2014 | A1 |
| 20140099916 | Mallikarjunan et al. | Apr 2014 | A1 |
| 20140165147 | Hershberg et al. | Jun 2014 | A1 |
| 20140192634 | Vadivelu | Jul 2014 | A1 |
| 20140289790 | Wilson et al. | Sep 2014 | A1 |
| 20140330952 | Starsinic et al. | Nov 2014 | A1 |
| 20140349614 | Starsinic | Nov 2014 | A1 |
| 20150012744 | Chen et al. | Jan 2015 | A1 |
| 20150038115 | Kim | Feb 2015 | A1 |
| 20150067329 | Ben Saied | Mar 2015 | A1 |
| 20150071139 | Nix | Mar 2015 | A1 |
| 20150113592 | Curtis et al. | Apr 2015 | A1 |
| 20150113599 | Curtis et al. | Apr 2015 | A1 |
| 20150237031 | Neuman et al. | Aug 2015 | A1 |
| 20150244696 | Ma | Aug 2015 | A1 |
| 20150288517 | Evans | Oct 2015 | A1 |
| 20150296470 | Kim et al. | Oct 2015 | A1 |
| 20150304110 | Oberheide | Oct 2015 | A1 |
| 20150305008 | Kim et al. | Oct 2015 | A1 |
| 20150319263 | Koch et al. | Nov 2015 | A1 |
| 20150334099 | Zhang et al. | Nov 2015 | A1 |
| 20150358824 | Kim et al. | Dec 2015 | A1 |
| 20160065556 | Sasin et al. | Mar 2016 | A1 |
| 20160072808 | David et al. | Mar 2016 | A1 |
| 20160191489 | Curtis et al. | Jun 2016 | A1 |
| 20160285858 | Li et al. | Sep 2016 | A1 |
| 20170019427 | Vank et al. | Jan 2017 | A1 |
| 20170039373 | Sasin et al. | Feb 2017 | A1 |
| 20170041287 | Pak et al. | Feb 2017 | A1 |
| 20170041782 | Yu | Feb 2017 | A1 |
| 20170048336 | Novo Diaz | Feb 2017 | A1 |
| 20170155554 | Whittemore | Jun 2017 | A1 |
| 20170251428 | Jimenez | Aug 2017 | A1 |
| 20170264613 | Phillips | Sep 2017 | A1 |
| 20170346848 | Smith et al. | Nov 2017 | A1 |
| 20180152541 | Mathison et al. | May 2018 | A1 |
| 20180191508 | Scriber et al. | Jul 2018 | A1 |
| 20180279099 | Novo Diaz | Sep 2018 | A1 |
| 20180295119 | Curtis et al. | Oct 2018 | A1 |
| 20180324168 | Curtis et al. | Nov 2018 | A1 |
| 20190005072 | Rangaraj | Jan 2019 | A1 |
| 20190044957 | David et al. | Feb 2019 | A1 |
| 20190074982 | Hughes | Mar 2019 | A1 |
| 20190132309 | Wei | May 2019 | A1 |
| 20190156040 | Sasin et al. | May 2019 | A1 |
| 20190158355 | Ramisetty | May 2019 | A1 |
| 20190289467 | Sasin et al. | Sep 2019 | A1 |
| 20190394172 | Hersent | Dec 2019 | A1 |
| 20200059881 | Gupta | Feb 2020 | A1 |
| 20200106624 | Russell | Apr 2020 | A1 |
| 20200274707 | Kiiskila | Aug 2020 | A1 |
| 20200274719 | Pak | Aug 2020 | A1 |
| 20200327233 | Pak et al. | Oct 2020 | A1 |
| 20200329013 | Zhou | Oct 2020 | A1 |
| 20210258308 | Avetisov | Aug 2021 | A1 |
| 20230145044 | Ben Henda | May 2023 | A1 |
| 20240319979 | Smith | Sep 2024 | A1 |
| 20240397310 | Ocak | Nov 2024 | A1 |
| Number | Date | Country |
|---|---|---|
| 2013100802 | Jul 2013 | AU |
| 1656830 | Aug 2005 | CN |
| 101030862 | Sep 2007 | CN |
| 101217541 | Jul 2008 | CN |
| 101951595 | Jan 2011 | CN |
| 102 469 455 | May 2012 | CN |
| 102469455 | May 2012 | CN |
| 102 572 818 | Jul 2012 | CN |
| 102572818 | Jul 2012 | CN |
| 101309301 | Nov 2012 | CN |
| 2466791 | Jun 2012 | EP |
| 3076695 | Oct 2016 | EP |
| 2533385 | Jun 2016 | GB |
| 20060126705 | Dec 2006 | KR |
| 20140113007 | Sep 2014 | KR |
| WO 2006059195 | Jun 2006 | WO |
| WO 2009141493 | Nov 2009 | WO |
| WO 2011123329 | Oct 2011 | WO |
| WO 2013049292 | Apr 2013 | WO |
| 2013120225 | Aug 2013 | WO |
| WO2013120225 | Aug 2013 | WO |
| WO 2014048236 | Mar 2014 | WO |
| WO 2014069968 | May 2014 | WO |
| WO 2014114354 | Jul 2014 | WO |
| WO 2014116152 | Jul 2014 | WO |
| WO 2014182674 | Nov 2014 | WO |
| WO 2014190177 | Nov 2014 | WO |
| WO 2015036785 | Mar 2015 | WO |
| WO 2015042370 | Mar 2015 | WO |
| WO 2015065913 | May 2015 | WO |
| Entry |
|---|
| Cooper et al.; RFC 5280—Internet X.509 Public Key infrastructure certificate . . . ; 2008; retrieved from the Internet https://www.rfc-editor.org/rfc/pdfrfc/rfc5280.txt.pdf; pp. 1-151, as printed. (Year: 2008). |
| No stated author; Lightweight Machine to Machine Technical Specification Approved Version 1.0—Feb. 8, 2017; retrieved from the Internet https://www.openmobilealliance.org/; pp. 1-138, as printed. (Year: 2017). |
| Berg et al.; Blend-In: a Privacy-Enhancing Certificate-Selection Method for Vehicular Communication; 2009; retrieved from the internet https://ieeexplore.ieee.org/abstract/document/5170042; pp. 1-10 as printed. (Year: 2009). |
| Search Report dated Mar. 17, 2016 for GB Application No. GB1513750.8, 6 pages. |
| Examination Report dated Nov. 10, 2017 for Application No. GB1513750.8, 3 pages. |
| Search Report dated Jan. 12, 2015 for GB Application No. 1415562.6, 5 pages. |
| Search Report dated Jun. 8, 2020 for GB Application No. GB1415562.6, 5 pages. |
| Search Report dated Feb. 26, 2021 for GB Application No. GB1415562.6. |
| Examination Report dated Jul. 12, 2018 for Application No. GB1806259.6, 6 pages. |
| “Public Key Infrastructures and Digital Certificates for the Internet of Things”, Schukat et al, 26th Irish Signals and Systems Conference (ISSC), pp. 1-5, IEEE, Jun. 24-25, 2015. |
| “Lightweight M2M: Enabling Device Management and Applications for the Internet of Things”, Feb. 26, 2014, Vodafone, Arm and Ericsson, 16 pages. |
| “Security for IoT. An effective DTLS with public certificates”, Panwar et al., 2015 International Conference on Advances in Computer Engineering and Applications (ICACEA), pp. 163-166, IEEE, Mar. 19-20, 2015. |
| Search Report dated Mar. 17, 2016 for GB Application No. 1513748.2, 7 pages. |
| International Search Report and Written Opinion dated Apr. 8, 2015 for PCT Application No. PCT/GB2014/053098, 20 pages. |
| International Preliminary Report on Patentability dated Apr. 28, 2016 for PCT Application No. PCT/GB2014/053098, 14 pages. |
| International Preliminary Report on Patentability dated Apr. 28, 2016 for PCT Application No. PCT/GB2014/053097, 10 pages. |
| International Preliminary Report on Patentability dated Apr. 28, 2016 for PCT Application No. PCT/GB2014/053096, 9 pages. |
| HP Device Registration Repository Capability; M2M06-014 Device Registry Repository Capability; ETSI Draft; M2M06-014 Device Registry Repository Capability; European Telecommunications Standards Institute, 650, Route Des Lucioles; F-06921 Sophia-Antipolis; France, vol. SmartM2M, Oct. 13, 2009, pp. 1-2. XP014207713. |
| [Internet Citation], Certicom Device Certification Authority for ZigBee Smart Energy, Certicom Corp., http://www.certicom.com/index.php/device-authentication-service/smart-energy-device-certificate-service, Oct. 1, 2013, printed on Oct. 16, 2013, 2 pages. |
| Search Report dated Mar. 18, 2015 for GB Application No. 1415861.2, 3 pages. |
| First Office Action issued Dec. 29, 2018 for Chinese Application No. 201480056752.8, 38 pages. |
| Second Office Action issued May 17, 2019 for Chinese Application No. 201480056752.8, 9 pages. |
| Office Action dated Mar. 31, 2020 for Chinese Application 201610629935.5, 16 pages. |
| Examination Report corresponding to GB1917404.4 dated Feb. 24, 2021. |
| Combined Search Report and Examination Report corresponding to GB1917404.4 dated May 28, 2020. |
| International Search Report and Written Opinion corresponding to PCT/GB2020/050279 dated May 4, 2020. |
| International Preliminary Report on Patentability corresponding to PCT/GB2020/050279 dated Nov. 25, 2021. |
| Combined Search Report and Examination Report corresponding to GB1901421.6, dated Aug. 1, 2019. |
| Examination Report corresponding to GB1901421.6 dated Aug. 18, 2020. |
| Examination Report corresponding to GB1901421.6 dated Apr. 9, 2021. |
| International Search Report and Written Opinion corresponding to PCT/GB2020/050048 dated Jun. 23, 2020. |
| International Preliminary Report on Patentability corresponding to PCT/GB2020/050048 dated Aug. 12, 2021. |
| International Search Report and Written Opinion corresponding to PCT/GB2020/051093, dated Jun. 25, 2020. |
| Combined Search and Examination Report corresponding to GB2002697.7, dated Sep. 1, 2020. |
| Examination Report corresponding to GB2002697.7, dated Jul. 14, 2021. |
| International Preliminary Report on Patentability corresponding to PCT/GB2020/051093, dated Nov. 25, 2021. |
| Search Report dated Mar. 22, 2019 for GB Application No. 1819722.8, 10 pages. |
| International Search Report and Written Opinion dated Jan. 30, 2015 for PCT Application No. PCT/GB2014/053096, 12 pages. |
| International Search Report and Written Opinion dated Jan. 30, 2015 for PCT Application No. PCT/GB2014/053097, 15 pages. |
| Application and File history for U.S. Appl. No. 17/594,231, filed Oct. 7, 2021. Inventor: Pak et al. |
| Wujun Zhang, et al. “End-to-End Security Scheme for Machine Type Communication Based on Generic Authentication Architecture”, Intelligent Networking and Collaborative Systems (INCOS), 2012 4th International Conference On, IEEE, Sep. 19, 2012 (Sep. 19, 2012), pp. 353-359 Section IV. |
| Examination Report for GB Application No. GB1819725.1 dated Aug. 11, 2020. |
| Examination Report for GB Application No. GB1819725.1 dated Dec. 3, 2020. |
| Examination Report and Search for GB Application No. GB1819725.1 dated May 1, 2019. |
| International Search Report and Written Opinion for PCT/GB2019/053157 date mailed Jan. 14, 2020. |
| International Preliminary Report on Patentability (IPRP) date mailed Jun. 17, 2021. |
| Office Action corresponding to CN 201980074394.6, dated Jul. 27, 2023, with English translation. |
| Number | Date | Country | |
|---|---|---|---|
| 20220052999 A1 | Feb 2022 | US |