Hosted device provisioning protocol with servers and a networked responder
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.
1. A responder proxy for communicating messages supporting a Device Provisioning Protocol (DPP), the responder proxy comprising:
a nonvolatile memory configured to store (i) a set of cryptographic parameters and (ii) a responder network table comprising a plurality of hash values for a plurality of responder bootstrap public keys and a list of DPP servers;
a wireless local area network (LAN) interface configured to receive, from an initiator, a DPP authentication request comprising an initiator ephemeral public key, a hash value for a responder bootstrap public key, and a first ciphertext;
a DPP application configured to (i) select a DPP server from the responder network table using the hash value, and (ii) send the DPP authentication request to the DPP server;
a wide area network (WAN) interface configured to receive, from the DPP server:
(i) a responder ephemeral public key and a second ciphertext, wherein the second ciphertext is encrypted using at least a responder ephemeral private key, and wherein the second ciphertext comprises a responder nonce and a responder authentication value; and
(ii) a third ciphertext comprising network credentials for the initiator, wherein the third ciphertext is encrypted using at least the responder ephemeral private key; and
a system bus configured to send, to the wireless LAN interface, a DPP authentication response for the initiator, wherein the DPP authentication response comprises the received responder ephemeral public key and the second ciphertext.
2. The responder proxy of claim 1 , wherein the responder proxy establishes a secure session with the DPP server using at least a certificate for the DPP server.
3. The responder proxy of claim 1 , further comprising the WAN interface configured to receive a responder mode from the DPP server, wherein the responder mode signals the DPP server derives the responder ephemeral private key.
4. The responder proxy of claim 1 , wherein the first ciphertext is encrypted with a symmetric ciphering key, and wherein the symmetric ciphering key is derived by the initiator using (i) a responder bootstrap public key from the plurality of responder bootstrap public keys and (ii) an initiator ephemeral private key corresponding to the initiator ephemeral public key.
5. The responder proxy of claim 1 , wherein the DPP server derives the responder ephemeral private key corresponding to the responder ephemeral public key, and wherein the DPP server conducts an elliptic curve Diffie-Hellman key exchange with (i) the responder ephemeral private key and (ii) the initiator ephemeral public key in order to derive a symmetric ciphering key for the second ciphertext.
6. The responder proxy of claim 1 , wherein the DPP server conducts an elliptic curve Diffie-Hellman key exchange with (i) the responder ephemeral private key corresponding to the responder ephemeral public key, (ii) a responder bootstrap private key, and (iii) an initiator bootstrap public key in order to derive a symmetric ciphering key for the third ciphertext.
7. The responder proxy of claim 6 , wherein the DPP authentication request includes a second hash value for the initiator bootstrap public key, and wherein the DPP server selects the initiator bootstrap public key for the initiator using the second hash value.
8. The responder proxy of claim 1 , further comprising the WAN interface configured to receive, from the DPP server, the DPP authentication response.
9. The responder proxy of claim 1 , further comprising the system bus configured to send, to the wireless LAN interface, the third ciphertext for the initiator.
10. A responder proxy for communicating messages supporting a Device Provisioning Protocol (DPP), the responder proxy comprising:
a DPP application configured to (i) establish a secure session with a DPP server using at least a certificate for the DPP server and (ii) receive a responder mode from the DPP server, wherein the responder mode specifies at least the DPP server derives a responder ephemeral private key;
a wireless local area network (LAN) interface configured to receive, from an initiator, a DPP authentication request comprising an initiator ephemeral public key, a hash value for a responder bootstrap public key, and a first ciphertext;
a wide area network (WAN) interface configured to:
(i) send, to the DPP server, the DPP authentication request;
(ii) receive, from the DPP server, a responder ephemeral public key and a second ciphertext, wherein the second ciphertext is encrypted using at least the responder ephemeral private key, wherein the second ciphertext comprises a responder nonce and a responder authentication value; and
(iii) receive, from the DPP server, a third ciphertext comprising network credentials for the initiator, wherein the third ciphertext is encrypted using at least the responder ephemeral private key; and
a system bus configured to send, to the wireless LAN interface, a DPP authentication response for the initiator, wherein the DPP authentication response comprises the received responder ephemeral public key and the second ciphertext.
11. The responder proxy of claim 10 , 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 initiator ephemeral public key.
12. The responder proxy of claim 10 , 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.
13. The responder proxy of claim 10 , 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.
14. The responder proxy of claim 13 , wherein the DPP authentication request includes a second hash value for the initiator bootstrap public key, and wherein the DPP server selects the initiator bootstrap public key for the initiator using the second hash value.
15. The responder proxy of claim 10 , further comprising the WAN interface configured to receive, from the DPP server, the DPP authentication response.
16. The responder proxy of claim 10 , further comprising the system bus configured to send, to the wireless LAN interface, the third ciphertext for the initiator.
17. The responder proxy of claim 10 , further comprising the DPP application configured to receive, from the DPP server, a configuration of the wireless LAN interface for receiving the DPP authentication request message from the initiator.