390 likes | 558 Views
Slender PUF Protocol Authentication by Substring Matching. M. Majzoobi, M. Rostami , F . Koushanfar, D. Wallach, and S. Devadas* International Workshop on Trustworthy Embedded Devices , San Francisco, May 2012. ACES Lab, Rice University *Computation Structures Group, MIT.
E N D
Slender PUF Protocol Authentication by Substring Matching M. Majzoobi, M. Rostami, F. Koushanfar, D. Wallach, and S. Devadas* International Workshop on Trustworthy Embedded Devices, San Francisco, May 2012 ACES Lab, Rice University *Computation Structures Group, MIT
Traditional digital key-based authentication • Keys stored in non-volatile memory • Verifier sends random number (challenge) • Prover signs the number by it’s secret key and sends a response • Limitation • Extra cost of non-volatile memory • Physical and side channel attacks • Intensive cryptographic algorithms Challenge Verifier Prover
Physical unclonable functions(PUFs) • PUFs based on the inherent, hard to forge, physical disorders • Two major types*: • Weak PUF • Strong PUF *Ruhrmair, et al., Book chapter in ‘Intro to Hardware Security and Trust’, Springer’11
Security based on PUFs:Weak PUFs • Also called Physically Obfuscated Keys (POKs) • Limited Challenge-Response Pairs • Based on ring-oscillators • Generate standard digital key for security apps • When challenged by one (or very few) fixed challenge(s) generates Response(s) depending on its physical disorder • Response(s) is used to generate secret key • Intensive cryptographic algorithm is still needed Ruhrmair, et al., Book chapter in ‘Intro to Hardware Security and Trust’, Springer’11
Strong PUFs* • Directly used for challenge response authentication • Provide large Challenge-Response Pairs (CRPs) • Often exponentialw.r.t. system elements • Neither an adversary nor manufacturer should correctly predict the response to a randomly chosen challenge with a high probability** *Ruhrmair, et al., Book chapter in ‘Intro to Hardware Security and Trust’, Springer’11 **Gassend, et al., CCS’02
1 0 0 0 1 1 Delay-based Strong PUF c-bit Challenge • Compare two paths with an identical delay in design*, ** • Each challenge selects a unique pair of delay paths • Random process variation determines which path is faster • An arbiter outputs 1-bit digital response • Multiple bits can be obtained by either duplicate the circuit or use different challenges *Suhand Devadas, DAC 2007 1 0 1 1 1 D Q 1 if top path is faster, else 0 0 0 0 … RisingEdge 0 0 0 G 1 1 1 Response *Gassend, et al. , SAC’03 **Lee, et al., VLSI Symp’04
Model building • An arbiter PUF can be modeled easily* • Fast modeling compromised security ** *Majzoobi, Koushanfar, Potkonjak, TRETS’08 **Ruhrmair, et al., CCS’10
Lightweight safeguarding of PUFs • Protect against machine learning attacks by • Blocking controllability and observability* • Transform challenges • Input network • Block controllability • Block observability • Output network * Majzoobi, et al., ICCAD ‘08
XORed delay-based PUF • Block observability by lossy compression • Swapping the challenge order to improve statistical properties* *Majzoobi, et al., ICCAD ‘08
XORed delay-based PUFs • Improvement in randomness of responses • Strict Avalanche Criterion • Any transition in the input causes a transition in the output with a probability of 0.5 • Balances the impact of challenge on output
Model building attack on Xored-PUF • Use XORed PUFs to guard against modeling • Harder, but still breakable * • Logistic regression, evolutionary strategies • Two order of magnitude more CRPs needed *Ruhrmair, et al., CCS’10
Problem with just Xoring • Still breakable • Cannot increase XOR layers indefinitely • Accumulates error • 5% 20% for 4 XOR • A solution* to guard against modeling while robust against errors • Using error correction codes (ECC) and hashing • Computationally intensive! • Not suitable for low-power embedded devices *Gassend, et al., CCS’02
Desired properties of protocol • Robust against model building attacks • Robust against PUF errors • Ultra low-power • No Hashing • No error correction codes
Slender PUF • Protocol
Communicating parties • Prover • Has PUF • Will be authenticated • Verifier • Has a compact soft model of the PUF • Compute challenge/response pairs • Will authenticate the prover Challenge Verifier Prover
Xored delay-based PUF model • PUF secrets • Set of delays • The secret sharing is performed initially • Electronic fuse burned to disable access* Probing here for model building *Majzoobi, Koushanfar, Potkonjak, TRETS’08
Malicious parties • Dishonest prover • Does not have access to the PUF • Wants to pass the authentication • Eavesdropper • Taps the communication between prover and verifier • Tries to learn the secret • Dishonest verifier • Does not have access to the PUF soft model • Tries to actively trick the prover to leak information
Slender PUF Protocol Verifier Prover
Slender PUF Protocol Verifier Prover
Slender PUF Protocol Verifier Prover
Slender PUF Protocol • The same seed for both sides • Random if only one of them is honest Verifier Prover
Slender PUF Protocol PRNG PRNG • Generate challenge stream from seed • The same challenge for both sides Verifier Prover
Slender PUF Protocol PUF modeling error
It reveals minimum informationn about original response sequence
Model building attacks • Set Lsub = 500, L = 1024 • 99% threshold for authentication • 99% accuracy in modeling • XORed PUF attack: 500,000 CRPs needed • 500,000 /500=1000 rounds needed • He doesn’t have ind …
Brute-force modeling attack • Set Lsub = 500, L = 1024 • 500000/500=1000 rounds of protocol needed • In each one, ind is unknown • 1024500000/500 =10241000models needed to be built • Strict avalanche criteria to avoid correlation attacks 210000
Guessing attack • Dishonest Prover • Honest Prover • Perr: PUF error rate
Replay attack • Eavesdropping and replying the responses • Nonce scheme prevents it • If prover and verifier nonces are 128-bit: • Size of database for 50%: 2127 • Very low probability!
Implementation • Same challenge streams should not be used • We need : • PRNG (pseudo random number generator) • Challenge stream generation • TRNG (true random number generator) • Nonce • Index of substring (ind) • indis generated first • PUF is only challenged when necessary
TRNG and PRNG • TRNG: • PUF based • Based on flip-flop meta-stability • PRNG: • Need not to be cryptographically secure • LFSR is enough M. Majzoobi, et al., CHES, 2011
Slender PUFOverhead comparison • Slender PUF Protocol • Previously known protocol*, just SHA-2 *Gassend, et al., CCS’02
Conclusions • Authentication protocol based on PUFs • Protect against model building • Revealing a partial section of the PUF responses • Based on string matching • Resilient against PUF error, without: • Error correction • Hashing • Exponentiation