We apply quantum technology to real use cases of Blockchain and IoT

LUCA    11 December, 2020

Putting together Quantum Technology, Blockchain and the Internet of Things in one title seems like a formula for generating clicks. However, this is what we have done at Telefónica: demonstrate the viability and value of interconnecting the three technologies. To do this, we participated in the Q-Secure Net project funded by EIT Digital. Its overall objective is to provide quantum communications with QKD (Quantum Key Distribution). As a demonstrator of the solution, we integrated a QKD use case in TrustOS, our Blockchain managed service. We use QKD to secure the traffic between an IoT device and TrustOS by registerig telemetry in Blockchain.

But before we get our hands dirty, let’s go over the challenges we faced. Let’s start reviewing the concept of QKD.

What is Quantum Key Distribution (QKD)

Basically, QKD uses quantum properties to exchange secret cryptographic keys between two points. We can make the same sequence of random numbers appear simultaneously in two separate places. Processing that sequence results in a completely random key. Then those keys are used to encrypt the messages that communicate through an insecure channel. We therefore make that channel inviolable. Security is based on a fundamental characteristic of quantum mechanics: it is impossible to observe a quantum system without disturbing it. Therefore, both ends of the communication are guaranteed that no one has disturbed the information they receive. If someone did, they would leave a trace and the recipients would dismiss the “contaminated” information until they reconstructed the information with “clean” information.

In this way, QKD allows two users to exchange a secure key even in the presence of an observer. The exchange takes place through an optical channel that connects both points. Precisely the fiber optic coverage is one of the assets of the Telefonica network.

Security in IOT devices

To build a secure and reliable IoT solution, we must start by ensuring the integrity and identity of the device. That is, on one hand, we must verify that nobody has manipulated the HW or SW (integrity). On the other hand, I must be sure of the device I am communicating with (identity) and authenticate it without any doubt.

Another feature to take into account is the confidentiality of communications. That is, no malicious observer who receives or accesses the communications should decipher their content.

For each of these problems there are more or less sophisticated solutions in the industry. Most of them involve combinations of secure HW elements and cryptographic techniques. However, most devices present restrictions in terms of processing capacity or cost. These restrictions make some of the solutions technically or economically unfeasible. Especially if they involve computationally expensive cryptographic operations, such as encryption or temporary key generation, which require a lot of time.

The challenge of managing cryptographic keys in devices

But even with powerful enough devices, there is the problem of creating, distributing and managing the secret keys on the device. Manufacturers must ensure that no one unauthorized can access the keys throughout the manufacturing and distribution chain. It is important to keep in mind that different and unique keys need to be provisioned in a particular device. Once stored on the device, they cannot be accessed either.

The most common scenario involves installing certificates on the device and having a public key infrastructure. Integrity in the devices is guaranteed by secure boot sectors verifying the validity of the SW signature. The device uses its certificate to sign communications and prove its identity. The confidentiality and integrity of communication is usually guaranteed end-to-end using TLS-type network protocols. These protocols depend in part on combining multiple symmetric and asymmetric key algorithms.

Therefore, it seems reasonable to use symmetric keys to ensure information security at the application level. It would be simpler and more efficient than managing public key infrastructure. However, managing symmetric keys is more problematic, as they must be distributed and stored at both ends. Using QKD to obtain these symmetric keys improves their integrity by eliminating the need to distribute them previously.

Blockchain and Internet of Things

We really think that these two technologies are fed back when we use them together in a business process. Data registered in blockchain is immutable. The closer to the source that generates the data, the more reliable the information will be. So, IoT devices recording the information from the sensors they manage directly in blockchain seems to be a good match. But for this data to be actually reliable we must guarantee that it was not altered before it was recorded in the

blockchain. That is, like any other server with which the device connects, we need a secure communications channel.

The classic way to do this is with TLS protocols, which means that the device must have a certificate installed. Instead, we can use an insecure channel and encrypt the information with a sufficiently secure symmetric key. But in either case, the challenges associated with managing secret keys are already there.

How does QKD improve communications from the device?

Fundamentally, QKD allows to eliminate the risk of exposure of private keys in the manufacturing process. There is also no need to report the keys to the other end with which we are going to communicate. In this case the blockchain nodes. The symmetric key generated by QKD is completely random. In addition, it is generated simultaneously at both ends of the communication. The fundamentals of quantum mechanics and the distribution through the optical channel guarantee a “spy” resistant communication (evedroper). In addition, the key is the same size as the message and is used only once to encrypt that message. This encryption technique is known as one-time-pad (OTP). If the key is completely random (as with QKD), it has been mathematically proven that OTP encryption is unbreakable. Therefore, the symmetric key obtained from QKD is more secure, since:

  • it is resistant to brute-force attacks, as it is not based on difficult to solve mathematical functions (such as RSA or EC)
  • is resistant to possible key tests as it would take an exponential time with respect to the size of the key
  • are not exchanged between the ends of the communication, eliminating the risk of leakage
  • is not stored in the device permanently, preventing unwanted exposure

Can we use QKD today?

Today, quantum devices in general are expensive and inaccessible for mass use cases. However, QKD technology is evolving at a fast and steady pace. For example, CV-QKD (Continuously Variable Digital Quantum) makes use of commercial optical communication technologies and components. It also allows quantum channels to coexist with classics on the same optical fiber. In 2018, we already announced a pilot experience using CV-QKD and SDN (Software Defined Networking) in commercial optical networks. Beyond the pilot, today it is being integrated at a pan-European level through the openQKD project. As the technology advances, the prices of the devices will decrease and they will be miniaturized more and more. In fact, in projects such as CIVIQ, work is being done to embed them as accessories connected to the ports of generic equipment.

Meanwhile, work continues extending the distances that devices connected with an optical fiber can be separated. Not only directly, but also by adding relays or trusted nodes (a Chinese network reaches 2000 km via satellite QKD). This type of experience will allow us to apply the technology in increasingly complex network topologies. For example, we also use QKD to guarantee consensus in a blockchain network instead of using costly and inefficient protocols such as Proof Of Work. All of them are real cases where quantum technology solves problems more efficiently than other technologies.

Our case

In the Q-Secure Net demonstrator, both an IoT device and TrustOS are connected to a QKD device. When the device wants to start a communication, it contacts TrustOS through a classic channel. Both simultaneously retrieve the symmetric key generated by the QKD devices. They then use it to encrypt the telemetry information of the connected sensors they send through the channel.

TrustOS receives the encrypted information which it decrypts with the same key. If the decrypted message is correct, it allows TrustOS to verify the identity of the device. As part of the information sent, the device also includes some kind of verification code. This code is an attribute chosen by the device to verify its integrity. For example, a boot sector digest or a firmware signature. In successive messages, TrustOS stores this code in Blockchain, making it immutable. If it does not change between calls we can assume that the device is reliable. Finally, TrustOS initiates a transaction to record the information sent in blockchain.

But, is it feasible to add QKD equipment to the devices?

As we said above, in most cases, IOT devices are very simple. So, simplifying the key management makes sense but not so much to include complex and large equipment as QKD equipment. Even when they could be connected to a PC port.

However, many IoT solution architectures include hubs or equipment with a similar function. These are common in factories, warehouses or hospitals deployed at the edge of the network with Edge Computing architectures. They work as aggregators of the connectivity of the simplest devices and also run some logic. As part of that logic, this concentrator aggregates the connections with the IoT platform or third party servers. These devices can execute advanced algorithms (think big data, AI, etc.) that the device would be unable to execute. Thanks to them it is possible to process information in real time and send orders to the device to act accordingly.

It is not unreasonable to think about adding a QKD device to these hubs. Its mission would be to manage the keys for all the devices connected to it. In this way, we would make the use of QKD in this type of solution viable.

Conclusions

We should not be obsessed with achieving completely secure communication channels. Nor are we going to use QKD at all costs. What we are demonstrating is that QKD is already a viable alternative to guarantee the security and integrity of communications. In cases like Blockchain, where we already use technology to add guarantees to a process, the fit is natural. Any technology that adds additional confidence in the end-to-end solution provides value. And QKD, in this case, does.

Reality tells us that this type of architecture fits perfectly in critical infrastructures. We think of hospitals, power or communication plants, military equipment, etc. These infrastructures require optimum security to protect the integrity, confidentiality and authenticity of the information. This data is already being collected with IoT devices. Nowadays they allow to make operations more efficient or to increase the control of processes. In these cases, the extra reliability of QKD is a plus to be taken into account. And that plus we can already enjoy with the technology available today.

Carlos Alcaide Pastrana, Fernando de la Iglesia Medina, Antonio Pastor Perales and José Luis Núñez Díaz have contributed to this post.

To keep up to date with Telefónica’s Internet of Things area, visit our web site or follow us on TwitterLinkedIn  and  YouTube

Leave a Reply

Your email address will not be published. Required fields are marked *