Frame descriptions BLE Unlock API frame - 0x2C
Digi XBee® 3 Zigbee® RF Module
274
Frame data fields Offset Example
Frame type
3
0x24
Frame ID
4
0xA2
64-bit registrant address
MSB 5
0x00
6
0x13
7
0xA2
8
0x00
9
0x54
10
0xAB
11
0x28
LSB 12
0xD3
Reserved
MSB 13 0xFF
LSB 14 0xFE
Options 15 0x00
Key 16 (No key)
Checksum 34 0x8d
BLE Unlock API frame - 0x2C
Description
The XBee 3 Zigbee RF Module uses this frame to authenticate a connection on the Bluetooth interface
and unlock the processing of ATcommand frames. This frame is used in conjunction with the BLE
Unlock Response frame - 0xAC.
The unlock process is an implementation of the SRP (Secure Remote Password) algorithm using the
RFC5054 1024-bit group and the SHA-256 hash algorithm . The value of I is fixed to the username
apiservice.
Upon completion, each side will have derived a shared session key which is used to communicate in an
encrypted fashion with the peer. Additionally, a Modem Status frame - 0x8A with the status code 0x32
(Bluetooth Connected) is sent through the UART (if AP = 1 or 2). When an unlocked connection is
terminated, a Modem Status frame with the status code 0x33 (Bluetooth Disconnected) is sent
through the UART.
The following implementations are known to work with the BLE SRP implementation:
n github.com/cncfanatics/SRP
You need to modify the hashing algorithm to SAH256 and the values of N and g to use the
RFC5054 1024-bit group.
n github.com/cocagne/csrp
n github.com/cocagne/pysrp