# US 2019/0356482 A1 · A hosted dynamic provisioning protocol with servers and a networked responder

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0356482 A1
- Document ID: US20190356482A1
- Status: Published application
- Kind: A1
- Application number: 16/406,325
- Filed: 2019-05-08
- Published: 2019-11-21
- Earliest claimed: 2018-05-17
- Assignees: IoT and M2M Technologies, LLC
- Applicants: IOT and M2M Technologies, LLC
- Inventors: John A. Nix
- Web page: https://patentgrep.com/patent/US20190356482A1

## CPC

- H04L 9/0841: {involving Diffie-Hellman or related key agreement protocols}
- H04L 9/0861: {Generation of secret information including derivation or calculation of cryptographic keys or passwords}
- H04L 9/14: using a plurality of keys or algorithms
- H04L 9/3013: {involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems}
- H04L 9/3066: {involving algebraic varieties, e.g. elliptic or hyper-elliptic curves}
- H04L 9/3263: {involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements (network architectures or network communication protocols for supporting authentication of entities using certificates in a packet data network H04L63/0823)}
- H04L 41/0809: {Plug-and-play configuration}
- H04L 63/0435: {wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption (cryptographic mechanisms or cryptographic arrangements for symmetric key encryption H04L9/06)}
- H04L 63/062: {for key distribution, e.g. centrally by trusted party (cryptographic mechanisms or cryptographic arrangements for key distribution involving a central third party H04L9/0819)}
- H04L 63/0823: {using certificates (cryptographic mechanisms or cryptographic arrangements for entity authentication involving certificates H04L9/3263)}
- H04W 12/03: Protecting confidentiality, e.g. by encryption
- H04W 12/041: Key generation or derivation
- H04W 12/06: Authentication
- H04W 12/069: using certificates or pre-shared keys
- H04W 12/35: {Protecting application or service provisioning, e.g. securing SIM application provisioning}
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 2209/80: Wireless
- H04L 2209/805: Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
- H04L 2463/061: applying further key derivation, e.g. deriving traffic keys from a pair-wise master key
- H04W 84/12: WLAN [Wireless Local Area Networks]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

A network can operate a WiFi access point with credentials. An unconfigured device can support a Device Provisioning Protocol (DPP), and record bootstrap public keys and initiator private keys. The network can record bootstrap public and responder private keys and operate a DPP server. A responder proxy can establish a secure and mutually authenticated connection with the network. The network can (i) derive responder ephemeral public and private keys, (ii) record the initiator bootstrap public key, and (iii) select a responder mode for the responder. The network can derive an encryption key with at least the (i) recorded the initiator bootstrap public key and (ii) derived responder ephemeral private key. The network can encrypt credentials using at least the derived encryption key and send the encrypted credentials through the responder proxy to the initiator, which can forward the encrypted credentials to the device, thereby supporting a device configuration.

## Claims

### Claim 1

A method for conducting a device provisioning protocol (DPP), the method performed by a responder, the method comprising:
recording a set of cryptographic parameters and a responder network table;
receiving a DPP authentication request from an initiator, wherein the DPP authentication request includes at least an initiator ephemeral public key and a hash value for a responder bootstrap public key;
using the hash value and the responder network table to select a DPP server;
sending at least the initiator ephemeral public key and the hash value to the selected DPP server;
deriving (i) a responder ephemeral private key, (ii) a corresponding responder ephemeral public key, and (iii) a responder nonce using the set of cryptographic parameters;
receiving an initiator bootstrap public key and a secret key from the DPP server;
conducting an elliptic curve Diffie-Hellman (ECDH) key exchange using the derived responder ephemeral private key and the received initiator bootstrap public key in order to derive a first shared secret key;
conducting an elliptic curve point addition with the secret key and the derived first shared secret key in order to derive a second shared secret key; and
encrypting at least the responder nonce using the derived second shared secret key.

### Claim 2 (depends on 1)

The method of claim 1, wherein the responder comprises a responder proxy, and wherein the responder establishes a secure session with the DPP server using at least a certificate for the responder.

### Claim 3 (depends on 1)

The method of claim 1, further comprising transmitting the encrypted responder nonce to the initiator in a DPP authentication response message, and receiving from the initiator a DPP authentication confirm message.

### Claim 4 (depends on 1)

The method of claim 1, wherein the responder conducts the ECDH key exchange and the elliptic curve point addition using the set of cryptographic parameters.

### Claim 5 (depends on 1)

The method of claim 1, wherein the responder network table includes at least (i) a plurality of hash values for a plurality of responder bootstrap public keys and (ii) a list of DPP servers.

### Claim 6 (depends on 1)

The method of claim 1, wherein the derived second shared secret key comprises a key “L”, and wherein the responder derives a symmetric ciphering key using a key derivation function and at least the key “L”.

### Claim 7 (depends on 1)

The method of claim 1, wherein the DPP authentication request includes a first ciphertext of at least an initiator nonce, and wherein the first ciphertext is encrypted with a symmetric ciphering key, and wherein the symmetric ciphering key is derived by the initiator using the responder bootstrap public key and an initiator ephemeral private key corresponding to the received initiator ephemeral public key.

### Claim 8

A method for conducting a device provisioning protocol (DPP), the method performed by a responder, the method comprising:
recording a set of cryptographic parameters and a responder network table, wherein the responder network table includes at least (i) a plurality of hash values for a plurality of responder bootstrap public keys and (ii) a list of DPP servers;
receiving a DPP authentication request from an initiator wherein the DPP authentication request includes at least an initiator ephemeral public key, a hash value for a responder bootstrap public key, and a first ciphertext;
using the hash value and the responder network table to select a DPP server;
sending the DPP authentication request to the selected DPP server;
receiving a responder ephemeral public key and a second ciphertext from the DPP server, wherein the second ciphertext is encrypted using at least a responder ephemeral private key, and wherein the second ciphertext includes at least a responder nonce and a responder authentication value;
sending a DPP authentication response to the initiator, wherein the DPP authentication response includes at least the received responder ephemeral public key and the second ciphertext; and
receiving a third ciphertext from the DPP server, wherein the third ciphertext includes network credentials for the initiator, and wherein the third ciphertext is encrypted using at least the responder ephemeral private key.

### Claim 9 (depends on 8)

The method of claim 8, wherein the responder comprises a responder proxy, and wherein the responder establishes a secure session with the DPP server using at least a certificate for the DPP server.

### Claim 10 (depends on 8)

The method of claim 8, further comprising receiving a responder mode from the DPP server, wherein the responder mode signals the DPP server to derive the responder ephemeral private key.

### Claim 11 (depends on 8)

The method of claim 8, wherein the first ciphertext is encrypted with a symmetric ciphering key, and wherein the symmetric ciphering key is derived by the initiator using the responder bootstrap public key and an initiator ephemeral private key corresponding to the received initiator ephemeral public key.

### Claim 12 (depends on 8)

The method of claim 8, wherein the DPP server derives the responder ephemeral private key, and wherein the DPP server conducts an elliptic curve Diffie-Hellman key exchange with the responder ephemeral private key and the initiator ephemeral public key in order to derive a symmetric ciphering key for the second ciphertext.

### Claim 13 (depends on 8)

The method of claim 8, wherein the DPP server conducts an elliptic curve Diffie-Hellman key exchange with the responder ephemeral private key, a responder bootstrap private key, and an initiator bootstrap public key in order to derive a symmetric ciphering key for the third ciphertext.

### Claim 14 (depends on 13)

The method of claim 13, wherein the DPP authentication request includes a second hash value for an initiator bootstrap public key, and the DPP server selects the initiator bootstrap public key for the initiator using the second hash value.

### Claim 15

A method for conducting a device provisioning protocol (DPP), the method performed by a responder, the method comprising:
establishing a secure session with a DPP server using at least a certificate for the DPP server;
receiving a responder mode from the DPP server, wherein the responder mode signals the DPP server derives a responder ephemeral private key;
receiving a DPP authentication request from an initiator wherein the DPP authentication request includes at least an initiator ephemeral public key, a hash value for a responder bootstrap public key, and a first ciphertext;
sending the DPP authentication request to the DPP server;
receiving a responder ephemeral public key and a second ciphertext from the DPP server, wherein the second ciphertext is encrypted using at least the responder ephemeral private key, and wherein the second ciphertext includes at least a responder nonce and a responder authentication value;
sending a DPP authentication response to the initiator, wherein the DPP authentication response includes at least the received responder ephemeral public key and the second ciphertext; and
receiving a third ciphertext from the DPP server, wherein the third ciphertext includes network credentials for the initiator, and wherein the third ciphertext is encrypted using at least the responder ephemeral private key.

### Claim 16 (depends on 15)

The method of claim 15, wherein the first ciphertext is encrypted with a symmetric ciphering key, and wherein the symmetric ciphering key is derived by the initiator using a responder bootstrap public key and an initiator ephemeral private key corresponding to the received initiator ephemeral public key.

### Claim 17 (depends on 15)

The method of claim 15, wherein the DPP server conducts an elliptic curve Diffie-Hellman key exchange with the responder ephemeral private key and the initiator ephemeral public key in order to derive a symmetric ciphering key for the second ciphertext.

### Claim 18 (depends on 15)

The method of claim 15, wherein the DPP server conducts an elliptic curve Diffie-Hellman key exchange with the responder ephemeral private key, a responder bootstrap private key, and an initiator bootstrap public key in order to derive a symmetric ciphering key for the third ciphertext.

### Claim 19 (depends on 18)

The method of claim 18, wherein the DPP authentication request includes a second hash value for an initiator bootstrap public key, and the DPP server selects the initiator bootstrap public key for the initiator using the second hash value.

### Claim 20 (depends on 15)

The method of claim 15, wherein the responder comprises a responder proxy, and wherein the responder uses a WiFi radio with a responder configuration in order to receive the DPP authentication request message from the initiator.
