As IoT designs proliferate, security is lagging. Hardware-based security using physically unclonable function (PUF) circuitry strongly protects connected products against invasive attacks. A cryptographic key is generated only when needed and isn’t stored on the secure IC. Even probing the chip impedes the attack.
Protect IoT Designs with Physically Unclonable Function Circuitry
By Ben Smith, Principal Member of the Technical Staff, Embedded Security, Maxim Integrated
While DNA connects us to every other human being on the planet, it also makes each of us unique. That uniqueness has proven to be useful as a means of positive identification. For example, DNA-based evidence has exonerated some from erroneous convictions and provided verification of guilt in other cases.
The DNA that we all carry as unique identification contrasts greatly with what happens in the technology world. In technology, it’s an imperative for every instance of a type of device to be identical, right down to the last micron, microvolt, and byte. Every device must look, feel, and act the same. After all, it’s important to deliver a consistent user experience. However, this sameness is not ideal when it comes to security.
Ensuring Authenticity Via Random Chip Properties
When every device is identical, how can we know whether messages that claim to come from a particular device actually do? It is possible that those messages might originate from an impersonator. For example, consider a door secured with an access keypad. The door actuator might receive a message from the keypad that the correct code had been entered, and that the door should be opened. But how can the actuator validate that the message is authentic?
For us humans, engaged in face-to-face communications, these questions are non-issues. We know the person we’re talking to because we know how they look and how they sound. In other words, we know the expressions in their physical characteristics of the DNA that makes each of us unique. Imagine the possibilities if our devices possessed that kind of uniqueness.
Indeed, even with devices, there is a way, and that way can be found in physically unclonable function (PUF) technology. While each device may function in an identical way, devices with PUF technology contain an element that makes each of them unique. Deep inside devices equipped with this technology is a circuit element that measures certain physical characteristics of the chip itself. These physical characteristics are stable over time, but they do vary from device to device. The PUF technology logic uses these device-specific variations to compute a value that remains the same every time it’s computed, but that is unique to the particular instance of the device. This value serves as each device’s unique identifier, in the same way that your DNA uniquely identifies you.
The importance of sender identity and message integrity can be illustrated via this simple scenario. Consider a sensor at a remote location that sends a message that there’s a problem. Is the message truly authentic? You have a few options involving secrets and keys:
Option one: a shared secret
Before deploying the sensor, you could program in a secret, like a password. When the sensor sends a message, it would incorporate this password into the message in some agreed-upon way. Once you’ve received the message, you could check to ensure that the password was sent correctly before accepting the message.
Trouble arises when that same password is used for all such sensors. This scenario would make it easy for a cybercriminal to reverse-engineer the device in order to steal the password. Then, the hacker is free to impersonate messages from any device of that type. An even scarier situation happens when the password is sent without cryptographic protection. Then, a cybercriminal can simply eavesdrop on a conversation in order to steal the password. No need to touch the device at all. They could then impersonate any sensor anywhere they are deployed. Clearly, shared secret schemes are too vulnerable to attack.
Option two: public-key cryptography
By programming a private key into your device, your device can digitally sign messages with the private key that can be verified using a corresponding public key. This approach enables messages to be authenticated with near certainty. It is practically impossible to modify or forge a signed message. In other words, there is no known way to impersonate a signer in any reasonable amount of time without the signer’s private key.
The vulnerability in this approach lies in the fact that the secret, private key has to live somewhere in the memory space of the target device. And if an attacker can slip in malware, it’s easy for the malware to leak the private key. Once the malware is developed, firmware update mechanisms can be used to propagate the malware. Before you know, a large set of the affected devices could be compromised.
Option three: PUF technology
PUF technology represents the most secure option because its private key is never disclosed, not even to its owner. The private key is only generated when needed (when a message is ready to be signed), and it is never stored (it is immediately destroyed when no longer needed). The computed value never appears in the microcontroller’s memory map.
There are various ways in which you can use PUF technology. For instance, before a device manufacturer deploys an internet of things (IoT) device, it can command the hardware containing PUF technology to compute a public key that corresponds to the PUF technology value – the private key. The actual PUF technology value is never disclosed. The device manufacturer then signs the public key with their own corporate private key to create a certificate that they then write back to the device. That certificate can later prove that the public key that the device presents is the same one that was computed at the factory, because nobody can create a valid certificate without the corporate private key. Once deployed, when the IoT device wants to send a message, it can sign the message by recomputing the PUF technology value, using that value as the private key. If the message receiver has the public key for that device, it can verify, with a high degree of assurance, that the message is authentic, unmodified, and came from that particular device.
Now, we’ve got millions (and growing) of IoT devices in the wild. There really isn’t a single database that tracks the public key belonging to every IoT device. Anyone receiving a message from an IoT device probably doesn’t have that particular device’s public key. However, they can request the device’s public key certificate from the device itself. When the device sends the certificate, the receiver can check the validity of the certificate via a two-step process. First, the receiver can verify the certificate’s signature using the signer’s public key. Second, assuming the certificate has proven valid, the receiver can test the validity of the device’s message by using the public key contained in the certificate. This entire process takes less than a second.
You Can’t Steal a Key that Isn’t There
So, you might be wondering, is PUF technology secure enough? The answer to this question lies in the fact that the private key doesn’t even exist until the physical properties of the chip are measured. Even then, the private key is destroyed when it is no longer needed. The private key can’t be discovered by using rogue firmware because the private key only exists in secured, walled-off hardware, not in the actual memory space of the microcontroller. Probing the chip itself will change the characteristics that are measured to determine the PUF technology value, further impeding this type of attack.
Figure 1: Block diagram of ChipDNA physically unclonable function (PUF) technology, which provides strong protection against invasive attacks.
Maxim’s PUF circuitry takes advantage of the naturally occurring random analog characteristics of fundamental MOSFET devices to produce cryptographic keys. The solution, called ChipDNA technology (Figure 1), ensures that the unique binary value generated by each PUF circuit is guaranteed to be repeatable over temperature and voltage and as the device ages. ChipDNA technology is available in the DS28E38 DeepCover secure authenticator. To learn more about how ChipDNA works, you can read the white paper, “How Unclonable, Turnkey Embedded Security Protects Designs from the Ground Up;” watch a video; and see use cases by visiting the ChipDNA webpage.
Maxim Integrated | www.maximintegrated.com
Sponsored by: Maxim IntegratedSponsor this Article
Circuit Cellar's editorial team comprises professional engineers, technical editors, and digital media specialists. You can reach the Editorial Department at firstname.lastname@example.org, @circuitcellar, and facebook.com/circuitcellar