SRAM PUF Reliability
To guarantee SRAM PUF reliability, state-of-the-art articles use ECC (fuzzy extractor) and/or pre-selection techniques https://crystalfree.atlassian.net/wiki/spaces/SaraPhD/pages/2338717699 :
ECC
Polar codes: A Robust SRAM-PUF Key Generation Scheme Based on Polar Codes
based on Hashing and BCH: Lightweight (Reverse) Fuzzy Extractor with Multiple Referenced PUF Responses
Repetition code: A Microcontroller SRAM-PUF
HC (Hamming Code) / Golay2412 (corrects up to 3 errors for each 12 bits) / Repetition Code: PUF for the Commons: Enhancing Embedded Security on the OS Level
Pre-selection
Error reduction of SRAM-based physically unclonable function for chip authentication
one VDD/temperature measure: A Method to Improve Reliability in a 65-nm SRAM PUF Array
Fourier analysis: A Novel Security Key Generation Method for SRAM PUF Based on Fourier Analysis
according to MF and SD: Estimation during Design Phases of Suitable SRAM Cells for PUF Applications Using Separatrix and Mismatch Metrics
Both: ECC+preselection
Modified SRAM design (hardening)
On Improving Reliability of SRAM-Based Physically Unclonable Functions
hardening +ECC: https://www.sciencedirect.com/science/article/pii/S0026269220304432 → Typical constructions comprise a repetition code (C rep) followed by a Reed-Muller code (RM) to obtain a failure rate Pfail <10−6.
hardening +ECC: A 0.19pJ/b PVT-Variation-Tolerant Hybrid Physically Unclonable Function Circuit for 100% Stable Secure Key Generation in 22nm CMOS
new SRAM design + ECC: An SRAM-Based PUF With a Capacitive Digital Preselection for a 1E-9 Key Error Probability
Improving reliability through power-up control
Both of these methods require using NVM memory to store the calculated helper-data (memory-map resp).
Memory-map can be generated at each time → should be the same
In fact using a pre-selection method is good to distinguish between bits used as RNG and PUF, but this requires lots of computations, to obtain an RNG using a hash function with any bunch of bits is sufficient.
Interesting Facts
helper data is public and can be stored on a remote server, see https://link.springer.com/article/10.1007/s10207-023-00668-0 where the protocol is explained, they used the fact of turning off the power for a short time after putting all the values to 1, but with some change in the hardware design of the SRAM memory → ECC+pre-selection
Power-up control techniques for reliable SRAM PUF → The authors propose simple power-up control schemes to improve the reproducibility of SRAM PUFs that can be fully integrated on chip, and confirm their effectiveness both in simulation and measurements. In this section, two power-up sequence control techniques are proposed: 1) utilizing the characteristics of the transistors in the sub-threshold region, and 2) manipulating the voltage ramp-up speed during the power-up sequence. Both techniques minimize the effect of circuit noise on the evaluation process and achieve an optimal operating point in terms of PUF cell reliability.
A good and brief review of the different methods of error reduction from the state-of-the-art is included in On Improving Reliability of SRAM-Based Physically Unclonable Functions , a good explanation of voting methods is also offered. The authors propose a enhanced voting mechanism.