PUF Architecture Using Message Authentication Code for Secure Key Generation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Semiconductor chip manufacturers face challenges in secure key injection, high production costs, and uniformity issues with physical unclonable functions (PUFs) used as pseudo-random number generators, where PUF values must remain unique and unchanged across chips to prevent hacking and ensure security.
Innovation Solution
An improved PUF architecture that generates a unique secure key for each chip by feeding inputs from PUFs into a message authentication code (MAC), which increases Hamming distance and uniformity, eliminating the need for stored non-volatile keys and enhancing security and reliability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If PUFs are used as pseudo-random number generators for key generation, then unique device identification is achieved, but uniformity and security are insufficient
Solution Approach 1:
A message authentication code (MAC) is introduced as an intermediary component between the PUF and the final key generation. The MAC processes the PUF output to produce a more uniform and secure key, resolving the uniformity issue while maintaining the simplicity of PUF-based identification.
Solution Approach 2:
The system changes the parameter of using raw PUF output directly to using MAC-processed PUF output. This parameter change transforms the key generation process to achieve better uniformity and security properties without fundamentally changing the PUF structure.
2Reliability
If secure key injection is performed for each chip, then security is improved, but production cost increases
Solution Approach 1:
Each chip generates its own unique secure key automatically using its inherent PUF characteristics and the MAC processing. This self-service approach eliminates the need for expensive external key injection processes while maintaining strong security through the physical uniqueness of each device.
3Duration of action of stationary object
If PUF values are stored in non-volatile memory, then key persistence is achieved, but security vulnerabilities increase
Solution Approach 1:
The system extracts the key generation process from stored memory and performs it dynamically at runtime using the PUF and MAC. By taking out the key from storage and generating it on-demand, the system maintains key persistence through computation while eliminating the security vulnerability of storing keys in non-volatile memory.
Data Source
AI summary
An improved PUF architecture for generating physical unclonable function (PUF) values. The PUF architecture generates an output by feeding inputs provided from one or more PUFs into a message authentication code (MAC) block. The output from the MAC block provides the improved PUF value (e.g., resistant to the preimage hacker attack). The PUFs can be selected by a selector module. An additional input to the MAC block that is used to output a PUF value may be obtained from a monotonic counter that is, for example, incremented prior to each PUF output calculation. In one embodiment, a capability is provided to generate a session key by using a monotonic counter or other freshness mechanism like timestamp, NONCE, etc.


