![EnOcean B6221-K516 Скачать руководство пользователя страница 45](http://html1.mh-extra.com/html/enocean/b6221-k516/b6221-k516_user-manual_2413678045.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 45 / 115
6
Security
STM 550B implements telegram authentication to ensure that only telegrams from senders
using a previously exchanged security key will be accepted. Authentication relies on a 32
bit telegram signature which is calculated as shown in Figure 31 below and exchanged as
part of the radio telegram.
Figure 31
–
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 STM 550B 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:
◼
Sender (STM 550B) 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 sender
(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 re-
quired that the receiver tracks the value of the sequence counter used by STM 550B and
only accepts messages with higher sequence counter values (i.e. not accepts equal or lower
sequence counter values for subsequent telegrams).