IN LAYMEN’S TERMS
One of the biggest hurdles between the current state of the IoT market and the dramatic growth forecasted for the next 5 years is … Trust (which is closely related to terms like integrity and security. Currently it is way too easy to hack IoT devices or falsify transmitted data. ubirch has developed a solution for this challenge: a protocol – implemented in software on connected devices and in the cloud – which guarantees the integrity of data which is exchanged between the “things” on the Internet of Things. Data packets are sealed in a way, that makes it impossible to modify this data later – at least not without red lights going on all over the place.
Our solution works similarly to sealing a contract or other document at a sworn-in notary. After this process the seal can still be broken and the document can be changed – but not without obvious traces. And if these traces are detected, the original document can be retrieved from the notary’s archive.
Working together, the ubirch protocol and the ubirch software are guaranteeing – by applying hard, military-grade cryptography and blockchain technology – that all recipients of a data packet coming from an IoT device can be sure, that
- the data has not been changed after the sealing
- the data originates from the device it says it comes from
- the data has been recorded at the specified time
- the data is not a duplicate of another data package
- no data packet in a stream has been deleted without notice
This enables the creation of tamper-proof, auditable records, which can be trusted (technologically) by all parties involved in a business model – even, if not all of these parties trust each other 100%.
FROM A TECHNOLOGICAL PERSPECTIVE
Each data packet, which leaves a device supporting the ubirch protocol, is cryptographically signed with a private key. This key is generated on the device itself and never leaves this device! In combination with a unique data structure, we add to the data payload, this enables the above-mentioned assertions.
After reception of such a sealed data packet, each receiver can easily verify the integrity of the data and the identity of the sender with the public key of this device. (This public key is generated together with the private key, stored in the device management of the ubirch cloud and given to all potential data recipients.) Each data packet is additionally secured in a mix of private and public blockchain structures.
This solution is implemented through:
- firmware running on nearly all modern MCUs in the devices
(i.e. the whole ARM Cortex family >= M0)
- a thin cloud-based backend responsible for device management, blockchain storage (the “notary service”), device and account management etc. and
- a small number of API calls and a software library for verifying the integrity of data packets
Please note: The central value proposition of our solution is not the storage of data in the blockchain, but making sure that data packets are not manipulated before securing them in the blockchain. The value proposition of the ubirch protocol is actually quite similar to the characteristics of a blockchain – but implemented right on the connected device at a “cost” at least two orders of magnitude smaller than with traditional blockchain-based solutions.
WHAT MAKES US DIFFERENT
Currently the whole discussion about Security in the IoT is very much focused on encryption. Security is all about encryption. Isn’t it? No! Encryption is great … for a feeling of security and it’s definitely better than nothing. In the internet, secure data transmissions are encrypted, too – for example during online banking. But would you use online banking that only relies on https encryption these days. Probably not.
If you really care for security, you use additional measures like PIN/TAN, biometry, one-time cyphers or in the best case a public key infrastructure (PKI). Using PKI is always a little more inconvenient, but … secure. With the right algorithms and properly generated keys, not even the NSA can crack this. An additional bonus: PKI makes sure that the data you receive is not only safe from prying eyes but also that it’s coming from the sender, it says it’s coming from. It’s all about Trust. That’s why ubirch is based on a decentralized PKI infrastructure.
But, when using PKI, it is paramount that no one ever gets to know your private key. If you exchange them between nodes, make backups, install the from a central repository you are offering great attack vectors to the bad guys of this world. Any backup or provisioning database (which is a common element of other “security” architectures) is a single point of failure for the whole system. This is why ubirch generates key directly on the device and never, ever transmits them anywhere else.
What’s more: encryption is optional with the ubirch protocol. Of course you can encrypt the data transmitted if it is really confidential. But in some cases it is useful for others to be able to see and understand the data in transmission (the keywords are transparency, open data, machine learning etc.) As soon as you need this, any security concept, which is based an encryption, breaks down.
With the ubirch protocol, you can transmit sealed, signed, trustworthy data packets, analyse their payload, forward the data to other partners and always be 100% sure about the integrity of the data packets.