![EnOcean B6221-K516 User Manual Download Page 39](http://html1.mh-extra.com/html/enocean/b6221-k516/b6221-k516_user-manual_2413678039.webp)
USER MANUAL
STM 550B / EMSIB - EASYFIT MULTISENSOR FOR IOT APPLICATIONS (2.4 GHZ BLE)
© 2020 EnOcean | www.enocean.com
F-710-017, V1.0
STM 550B / EMSIB User Manual | v1.3 | June 2020 | Page 39 / 115
5.4.6
Resolvable Private Address mode
For some applications it is desirable to modify (rotate) the source address used by STM 550B
in order to prevent tracking of its radio transmissions. At the same time, each STM 550B
device must remain uniquely identifiable by the receiver. To achieve these goals, STM 550B
can be configured via NFC to use resolvable private addresses (RPA).
Using resolvable private addresses requires that both STM 550B and the receiver both know
a common key
–
the so-called Identity Resolution Key (IRK).
STM 550B uses its device-unique random key as identity resolution key. This key can be
modified via the NFC configuration interface as described in chapter 9.5.12.
For resolvable private addresses, the 48 bit address field is split into two sub-fields:
◼
prand
This field contains a random number which always starts (two most significant bits)
with 0b10. The
prand
value is changed for each telegram that is transmitted. Individ-
ual advertising events used to transmit one telegram use the same
prand
value.
◼
hash
This field contains a verification value (hash) generated from
prand
using the IRK
The structure of a random resolvable private address is shown in Figure 25 below.
Figure 25
–
BLE resolvable private address structure
The
prand
value is encrypted using the IRK. The lowest 24 bit of the result (encrypted value)
are then used as
hash
. The concatenation of 24 bit
prand
and 24 bit
hash
will be transmitted
as 48 bit resolvable private address.
The receiver maintains a list of IRK for all transmitters that are known to it (have been
commissioned to work with it). Whenever it receives a radio telegram with resolvable private
address (identified by the most significant bits being set to
0b10
), it will itself generate a 24
bit
hash
from the 24 bit
prand
sequentially using the IRK of each device that it has been
learned into it. If an IRK matches (i.e. when
prand
is encoded with this specific IRK then the
result matches
hash
), then the receiver has established the identity of the transmitter.
So conceptually the IRK takes the role of the device source address while
prand
and
hash
provide a mechanism to select the correct IRK among a set of IRK.
Figure 26 below illustrates the address resolving scheme for random private addresses. For
an example of resolving an address, please refer to Appendix C.