Raspberry Pi is a very popular embedded platform. It can be used for both production smart devices and hobbyists for weekend experiments. It’s great for building innovative embedded systems.
We’re doing security work in embedded devices and sensors for smart phones, but our work isn’t public, so we wanted to put together a demonstration system that shows what you can do with TozStore.
In this video, we show a quick prototype we put together for end-to-end encryption of sensor data and identity management for IoT devices. This is all done with just a small amount of coding using the TozStore platform. For convenient access to a lot of sensors, we picked up this ELECROW device from Amazon. It comes ready-made with distance, sound, motion, RFID, and output on GPIO, LCD, 7 segment, and the built-in screen. We also wrote a Bluetooth application to read heart rate data. Stay tuned for example code you can run yourself.
- Each device has its own asymmetric keypair
- Each sensor on the device is encrypted individually. For the video, we use heart rate via Bluetooth and the built-in distance display
- A central identity manager controls access to each sensor, as well as key distribution via role-based access control
- Another device is authorized to receive and display encrypted data
- An end-to-end encrypted and signed software upgrade is also provided to the embedded device
- A central identity system for humans, servers, and IoT devices with role-based access control
- Each identity gets a public / private keypair so they can encrypt and sign data
- Our SaaS manages the data, access to the data, and public keys
A note on the encryption protocol: This blog post isn’t meant to be a complete description of the protocol, but in brief: With our SDKs, you can choose end-to-end encryption or you can designate another entity as a delegating authority. The writing device (via the SDK) controls who are authorized readers, so sensor data can be end-to-end encrypted. In this demonstration, the writing device has designated the identity management service as its authorizing authority. That means it can fetch and decrypt the symmetric keys that protect the sensor data and re-encrypt them with the public keys of the authorized parties.