2

I'm fairly new to BLE and am exploring the security of advertising packets. I was hoping to find some recommendations for resources/general advice on how should learn/implement lightweight encryptions for advertising packets. The data I would work with isn't highly sensitive and after looking into it I'm leaning towards using an ECB and two TI Launchpads to develop with.

nbafanatic
  • 23
  • 5
  • What type of data do you want to send through advertisements? Keep in mind that the space is limited – Michael Kotzjan May 11 '21 at 07:33
  • The data will probably just numbers basing on the number of items I store in my garage. Not really sensitive data, but just want a basic security layer so outsiders looking in at the data wouldn't know what it is. – nbafanatic May 11 '21 at 14:49
  • Ok, thanks. Do you need to send the data in the advertisement packets? Wouldn't it be easier to connect to the device and read the data from the device directly? The approach using the advertisements would be kind of like a broadcast. You have more space inside normal read and write packets to use your own layer of encryption and BLE even offers some basic security measurements. – Michael Kotzjan May 11 '21 at 17:02
  • Thanks for the reply! Yes, I do believe I need to send the data in the advertisement packets. My goal is to have all my equipment attached to a BLE device that sends data to my LaunchPad. From my knowledge, my equipment will be entering and leaving my garage many times so keeping them in broadcast mode will mitigate the problem of me connecting them every time I bring them inside. – nbafanatic May 11 '21 at 20:20
  • You need to pair and bond devices to activate the build in security features. This would allow your devices to connect automatically if in range. But you can do it just broadcasting! A thing I learned from BLE though: iOS devices remove available information from advertisement packets if the screen is turned off. But this won't affect you if you'r using just the hardware you mentioned – Michael Kotzjan May 12 '21 at 04:41
  • 1
    I see, I think I'm going to look into hash functions within Tiny-AES. Now it's a matter of the documentation guiding me through development as this is my first time working with security in general. Thanks! – nbafanatic May 12 '21 at 20:18

1 Answers1

0

For your own private project it might be suitable to use symmetric encryption such as AES. You would need one key on all devices to en- and decrypt your messages.

Depending on your choice of language there are small libraries like tiny-AES availible. Larger collection of cryptographic tools like mbedtls or cryptopp exist but might be overkill for your purpose.

Also take a look at the tools provided by TI, there might be some libraries included in your SDK.

Michael Kotzjan
  • 2,093
  • 2
  • 14
  • 23