USER MANUAL
PTM 216B – BLUETOOTH
®
PUSHBUTTON TRANSMITTER MODULE
© 2022 EnOcean | www.enocean.com
F-710-017, V1.0
PTM 216B User Manual | v1.0 | February 2022 | Page 22/86
PTM 216B data telegram authentication
PTM 216B implements telegram authentication for transmitted data telegrams to ensure
that only telegrams from transmitters using a previously exchanged security key will be
accepted by the receiver. Authentication relies on a 32 bit telegram signature which is cal-
culated as shown in Figure 17 below and exchanged as part of the radio telegram.
Figure 17 – Telegram authentication flow
Sequence counter, source address and the remaining telegram data together form the in-
put data for the signature algorithm. This algorithm uses AES128 encryption based on the
device-unique random security key to generate a 32 bit signature which will be transmitted
as part of the radio telegram.
The signature is therefore dependent both on the current value of the sequence counter,
the device source address and the telegram payload. Changing any of these three parame-
ters will therefore result in a different signature.
The receiver performs the same signature calculation based on sequence counter, source
address and the remaining telegram data of the received telegram using the security key it
received from PTM 216B during commissioning.
The receiver then compares the signature reported as part of the telegram with the signa-
ture it has calculated. If these two signatures match, then the following statements are
true:
Transmitter (PTM 216B) and receiver use the same security key
The message content (address, sequence counter, data) has not been modified
At this point, the receiver has validated that the message originates from a trusted trans-
mitter (as identified by its security key) and that its content is valid.
In order to avoid message replay (capture and retransmission of a valid message), it is
required that the receiver tracks the value of the sequence counter used by PTM 216B and
only accepts messages with higher sequence counter values (i.e. not accepts equal or lower
sequence counter values for subsequent telegrams).