Skip to content
More and more IC manufacturers are exploring a chip-level security technology to protect data, known as Physically Unclonable Function (PUF). Although the chip manufacturing process is very precise, there are still slight differences in each circuit on the chip, and this technology takes advantage of that difference. PUF uses these minute variations to generate a unique value as a key, which is crucial for digital security.
Security issues are increasingly becoming a major concern for developers of connected devices (or IoT), especially when they have to face significant security risks from hacker attacks, information leaks, and security vulnerabilities.
Considering that IoT devices need to maintain low power consumption and optimized processing capabilities, improving their security without increasing chip size or cost is one of the challenges faced by IoT devices.
Effective PUF technology may overcome the limitations of traditional key storage: PUF circuits do not have batteries or other permanent power sources. Any attempt to physically probe this key will greatly alter the characteristics of the PUF circuit, resulting in a different number. PUF keys are generated only when encryption operations are needed and can be immediately erased.
From the perspective of bill of materials (BOM) costs, PUF technology has significant advantages in the security of tamper-proof SRAM. Although PUF technology alone is not sufficient to ensure key security, it undoubtedly minimizes the security risks of embedded devices.
Recently, we have seen Maxim Integrated and Silicon Labs release chip products that guarantee security using PUF technology. Silicon Labs has added hardware-based security features to its Wireless Gecko Series 2 platform for wireless SoCs aimed at IoT devices, combining security software functions with PUF hardware technology. The ChipDNA MAX32520 released by Maxim is a microcontroller based on Arm Cortex-M4 that uses PUF technology to provide multi-level protection. ChipDNA can generate secure keys directly for various encryption security functions, such as a symmetric key for encrypting/decrypting data stored in secure IC non-volatile memory.
A Maxim spokesperson told EE Times, “The MAX32520 is suitable for various applications. Although we specifically pointed out IoT applications in our press release at the Embedded World trade show, the chip is not limited to IoT.” The device can be used in other fields, including industrial, medical, and computing.
Figure 1: Simplified Block Diagram of Maxim ChipDNA Microcontroller (Image Source: Maxim)
Based on serial flash emulation, the MAX32520 can achieve secure boot for any processor and provides two additional physical layers: die shielding and physical tamper detection. The chip also offers internal flash encryption options for IP protection and flash data protection. It supports strong encryption algorithms like SHA512, ECDSA P521, and RSA 4096, enhancing the device’s credibility with its powerful encryption capabilities. The MAX32520 utilizes ChipDNA output as key content to protect device-stored data, including user firmware, in an encrypted manner. The encryption of user firmware provides ultimate software IP protection.
ChipDNA can also generate private keys for ECDSA signature operations. To support system-level security, the MAX32520 provides a TRNG that complies with FIPS/NIST standards, as well as environmental and tamper detection circuits. Any attempt to probe or observe ChipDNA will change the underlying circuit characteristics, thus preventing the unique value used by the chip’s encryption functions from being discovered. Similarly, due to the factory conditions required to operate ChipDNA circuits, even advanced reverse engineering attempts will fail.
Meanwhile, Silicon Labs’ IoT Security Senior Product Manager Mike Dow explained to EE Times how they use PUF technology in the wireless SoCs of IoT devices. “To embed PUF into Silicon Labs’ security library and secure element technology, we use SRAM PUF, which means leveraging the inherent randomness of a set of SRAM bits to obtain a unique symmetric key for that device when activated. The SRAM PUF technology we use has the longest reliability record in the market. Since the devices deployed by our customers typically run for over 10 years, we need PUF technology with long-term reliability.”
He explained that in Silicon Labs’ implementation, the use of PUF is limited to creating key encryption keys (KEK), which are used to encapsulate (encrypt) other keys in the system and store them in internal or external memory. “Since KEK is only used to access encapsulated keys, its usage time is limited, thus reducing the likelihood of being subjected to various attacks. Furthermore, KEK only needs to be reconstructed during a restart or power-on reset (POR), further limiting access to the key generation process.”
In Silicon Labs’ design, all other keys besides KEK are generated by a true random number generator (TRNG) that complies with NIST standards. (Image Source: Silicon Labs)
In this design, every key other than KEK is generated by a true random number generator (TRNG) that complies with NIST standards and then encapsulated using AES encryption. TRNG and AES technologies are well-known in the security industry, easy to understand, test, and verify. We also use a 256-bit key to enhance the strength of AES encryption. To further enhance the algorithm’s resistance to attacks, differential power analysis (DPA) side-channel protection is also applied to the AES algorithm. All key information for the device is encapsulated in this manner, including generated ECC private/public identity key pairs, and stored in one-time programmable (OTP) memory.
When implementing complex cloud security solutions (which require a large number of asymmetric key pairs), the ability to securely store key information in nearly unlimited internal or external memory is a major advantage. Another option is to store keys in plaintext, but this approach requires physically very secure memory, which is both complex and expensive. Dow mentioned, “When designing a chip, you must choose the optimal size of secure memory. However, regardless of the size you choose, it is almost certain to be insufficient throughout the product’s lifecycle.”
Keys created by PUF are secure, random, and unique. PUF-keys encrypt all keys in secure key storage, which are generated at startup rather than stored in flash memory. (Image Source: Silicon Labs)
He said another advantage of their secure library key management solution is that by using AES encryption, an initial vector can also be required as input to the algorithm. “This initial vector acts like an additional 128-bit password, and any secure operation using the PUF-key requires this password. With this password, both manual and application-based key operations running on the chip can achieve dual authentication of the key.”
“As an additional layer of protection, we have incorporated a sophisticated tamper protection scheme into our secure library technology, which can destroy PUF reconstruction data if tampering is detected.” Once the reconstruction data is destroyed, the stored critical information can no longer be accessed. This effectively freezes the device, as no encryption algorithms will be executed in this case, and even secure boot will be prevented.
Silicon Labs has chosen the most reliable PUF technology recognized in the market and limited its functionality to providing a key for only one KEK for packaging or unpacking key information. This key can be further protected by dual authentication passwords. Dow added, “In addition, we offer multiple tamper protection sources that can destroy the PUF key, rendering it unable to decrypt any other keys it protects. Even if hackers invest a lot of time and resources to redesign the device and recover KEK, they can only compromise one device.
Author: Nitin, M. Di Paolo Emilio
This article is an original article from EET Electronic Engineering Magazine. If you need to reprint, please leave a message.
↓↓ Click to read the original text and watch the live broadcast ↓↓
