In the digital era, industrial product technologies, commercial know-how, and artificial intelligence (AI) assets are stored in one chip of every electronic device. This essential information has become a target for hackers seeking to violate the rights of individuals and enterprises. Consequently, the issue of chip security has become critical. From the moment a system is turned on, the chip vital to security should run a system check on overall hardware and software to assure that there has been no tampering. To do so, a built-in security verification process must guard against malicious programs and codes and to prevent the theft of valuable secrets inside the chip.
On the theme of security, this article will highlight the importance of chip-security operations and the relationship between a root of trust and chip security. This paper will also analyze the advantages and disadvantages of“ root of trust with software algorithms” and “root of trust for pure hardware” as the basis of chip security.
Chip security starts with safe boot
Before the security measures safeguarding a chip even start operating, it is important to ensure that all chip functions are normal. The secure boot process is designed for a security check and is used to confirm that the chip’s internal operation is using native, legal software or operating systems and that other related circuit configurations have not been tampered with. After confirmation of these basic requirements and the security of the operating environment, the chip can then be activated.
In general, a secure boot process follows these steps:
- At startup, the system will read the pre-existing root key in the chip to check and verify the integrity of the secret key by comparing it with a certificate.
- Next, the system will check the integrity of the boot code by comparing the key with the certificate and signature.
- If the startup code or the image file have been encrypted and protected, after verification and before startup, the system will use the encryption key to decrypt the protected information
- After decryption, the system will run the startup code to load the basic settings of the chip and establish a safe operating environment.
- After confirming that the chip setting is secure, the system will verify that the operating system is genuine. If it is verified, the chip can officially start its operations.
In short, a secure boot will read the pre-stored key and confirm the native integrity of the boot code. Without this procedure, the chip may accidentally run a malicious code after being subjected to an attack. With a root key that can be absolutely trusted, it is easier to perform a series of verification processes that can help avoid risk. Hence, the pre-stored root key is the most important component in any secure boot process. It is therefore vital for the key to have characteristics that are not easily hacked. The next section will focus on a root of trust.
What is a reliable root of trust?
A root of trust is a security function built into a chip design. It is inherently trusted and can be executed independently (through physically isolated execution) during processes such as cryptographic operations, verification with key operations and execution of startup code processes.
Chips use a secure root of trust to ensure operational security. A root of trust also guarantees the protection of a key since it can only be accessed after being authenticated by an authorized user. In the case of an unauthorized user or shutdown (data at rest), the key is safely hidden and protected in the chip thanks to its original security design.
Before a chip powers up, internal operation security will not be established. For that reason, it is impossible to detect whether the hardware settings are safe or whether the internal software has been tampered with. To prevent attacks by malicious software, a CPU will not be started at this stage. If a root of trust requires the use of software before this secure foundation is established, it will be prone to attack.
Given these concerns, the idea of a “true” hardware root of trust is something that needs to be considered.
A PUF (Physically Unclonable Function) uses micro variations and characteristics produced during the manufacturing stage of a chip to create its inherent fingerprint. Like human fingerprints, each one is unique and cannot be simulated, copied, or changed. Therefore, it is an ideal form of reliable identification and is widely used for unlocking mobile phones and access controls, as well as the login for an application and other security measures.
Similarly, by using a PUF as the basis of security identification during chip design, one can safely assume that it is to be inherently trusted and can be executed independently (physically isolated execution). When the chip receives the startup command, a PUF can perform security verification and start the secure boot process.
Even though there are many designs, principles and forms of PUF, a good PUF should have true randomness, uniqueness and high stability under various conditions, durations, temperature and other environmental conditions. In addition, a fast startup time is also important in practical applications. That is, the PUF can be accessed quickly once the chip is turned on/off in order to swiftly start the security protection of the chip and the hardware and software verification.
Due to the instability of its design, an SRAM PUF must rely on software algorithms for post-processing calculations to ensure the correctness of the PUF-generated random numbers. As mentioned previously, we know that before a secure operating environment has been established, a chip cannot safely start because executing any software will expose the chip to potential attacks and provide attackers an easy way to exploit its vulnerabilities. Thus, from this point of view, an SRAM PUF is unreliable because it needs the use of post-processing calculations to act as a secure root of trust.
NeoPUF, which was developed by eMemory Technology, uses differences in the tunneling effect of an oxide layer to achieve PUF characteristics (Hamming weight 50%; Inter-Hamming Distance 50%; Intra-Hamming Distance 0%), which fits the aforementioned randomness, uniqueness and stability conditions of a reliable PUF. The conditions mentioned have been verified during the manufacturing process of major foundries. The inherent PUF features of a chip can be used to store a key required for a root of trust. Furthermore, it can also be used as a unique identification code (UID). The security features of the startup process are used to verify the integrity of a chip. Due to its high stability and reliability, NeoPUF also has an immediate startup time. At startup, a PUF random number can be used to store a key without any delays. As a result, NeoPUF can provide a base of trust to support startup security protection as well as hardware and software verification to effectively improve the security of the chip.
If you are interested in learning more about NeoPUF and how it is used as a root of trust solution (PUFrt), please go to our website at www.ememory.com.tw or www.pufsecurity.com for more details.