Wireless battery management system setup
Aspects of this description provide for a computer program product comprising computer executable instructions. In at least some examples, the instructions are executable by a controller to cause the controller to broadcast, in a data frame, a scan request to a node, the scan request including a certificate of the controller and a public authentication key of the controller, receive, in the data frame, a scan response from the node, the scan response including a certificate of the node and a public authentication key of the node, and perform pairing between the controller and the node based on the public authentication key of the node and a private authentication key of the controller.
1 . A device comprising:
a transceiver configurable to:
transmit a scan request; and
receive a scan response from a node after transmitting the scan request, wherein the scan response includes a public authentication key of the node; and
a logic circuit configurable to:
encrypt a network key based on the public authentication key of the node and based on a private authentication key of the device; and
cause the transceiver to transmit a pairing request including the encrypted network key.
2 . The device of claim 1 , wherein the logic circuit is configurable to:
generate a shared secret based on the public authentication key of the node and the private authentication key of the device; and
encrypt the network key according to the shared secret.
3 . The device of claim 1 , wherein the transceiver is configurable to:
receive a pairing response from the node after transmitting the pairing request; and
receive first data from the node, wherein the first data is encrypted according to the network key,
wherein the logic circuit is configurable to decrypt the first data according to the network key.
4 . The device of claim 1 , wherein the node is a first node, and wherein the transceiver is configurable to:
receive a second scan response from a second node, wherein the second scan response includes a public authentication key of the second node; and
perform pairing between the device and the second node based on the public authentication key of the second node and the private authentication key of the device.
5 . The device of claim 1 ,
wherein the scan response includes a certificate of the node, and
wherein the logic circuit is configurable to:
verify authenticity of the node according to the certificate of the node; and
compute a shared secret according to a public authentication key of the device and the public authentication key of the node.
6 . The device of claim 5 , wherein the transceiver is configurable to transmit the scan request including the public authentication key of the device.
7 . The device of claim 5 , wherein the logic circuit is configurable to not enter a pairing state with the node if the logic circuit cannot verify the certificate of the node.
8 . The device of claim 1 , wherein to transmit the scan request, the transceiver is configurable to broadcast the scan request to a plurality of nodes including the node.
9 . A device comprising:
a transceiver configurable to:
receive a scan request from a primary node, wherein the scan request includes a certificate of the primary node and a public authentication key of the primary node; and
receive a pairing request from the primary node including an encrypted network key; and
a logic circuit configurable to:
verify the certificate of the primary node;
cause the transceiver to transmit a scan response; and
decrypt the encrypted network key using a public authentication key of the device and the public authentication key of the primary node.
10 . The device of claim 9 , wherein the logic circuit is configurable to:
generate a shared secret based on the public authentication key of the primary node and a private authentication key of the device; and
decrypt the encrypted network key according to the shared secret.
11 . The device of claim 9 , wherein the logic circuit is configurable to:
encrypt data using the decrypted network key; and
cause the transceiver to transmit the encrypted data to the primary node.
12 . The device of claim 9 , wherein the logic circuit is configurable to cause the transceiver to transmit the scan response including a certificate of the device.
13 . The device of claim 9 , wherein the logic circuit is configurable to transition to an unconnected state if the logic circuit cannot verify the certificate of the primary node.
14 . The device of claim 9 , wherein the transceiver is configurable to:
receive the scan request in a data frame; and
transmit the scan response in the data frame.
15 . A method comprising:
receiving, by a device, a scan request from a primary node, wherein the scan request includes a certificate of the primary node and a public authentication key of the primary node;
verifying the certificate of the primary node;
transmitting a scan response;
receiving a pairing request from the primary node including an encrypted network key; and
decrypting the encrypted network key using a public authentication key of the device and the public authentication key of the primary node.
16 . The method of claim 15 , further comprising:
generating a shared secret based on the public authentication key of the primary node and a private authentication key of the device; and
decrypting the encrypted network key according to the shared secret.
17 . The method of claim 15 , further comprising:
encrypting data using the decrypted network key; and
transmitting the encrypted data to the primary node.
18 . The method of claim 15 , further comprising transmitting the scan response including a certificate of the device.
19 . The method of claim 15 , further comprising transitioning to an unconnected state if the certificate of the primary node cannot be verified.
20 . The method of claim 15 ,
wherein the scan request is received in a data frame; and
wherein the scan response is transmitted in the data frame.