How Can We Help?

< All Topics
Print

LE Server

An algorithm for decoding received messages and resync execution.

Points’ description: 

  1. LE Server module is initialized.
  2. The callback for receiving the decrypted messages is initialized.
  3. Looper is handling the upcoming messages from IoT Devices. The received message consists of 3 fields: caller id, MAC, payload
  4. Checks if the messages sender LE instance is already saved
  5. For new senders, there are created 2 identical LE Instances initiated with the secret key provided in point 1. One will serve as the backup buffer, and the other as the current LE state
  6. For already stored senders the LE states are retrieved
  7. Payload (the actual message) is decrypted and the MAC value is returned
  8. Program checks if the MAC received from the sender and the one returned from the decryption match
  9. Sends back the ‘success’ message
  10. Passes the decrypted message to the callback provided in point 2
  11. In case MAC’s do not match, we use the backup buffer retrieved in point 5.
  12. Signature check is performed like in point 8. but this time on the MAC returned from the backup buffer
  13. If MAC still does not match. The hard reset mechanism is employed; 
  14. The information about the reset mechanism is sent back to the sender. 
Previous LE Client
Table of Contents