Matthias Hiller, Michael Weiner, Leandro Rodrigues Lima, Maximilian Birkner and Georg Sigl Breaking through Fixed PUF Block Limitations with Differential Sequence Coding and Convolutional Codes International Workshop on Trustworthy Embedded Devices (TrustED)
Outline Introduction Differential Sequence Coding Convolutional Codes DSC + Conv Code Fuzzy Extractor Conclusions Breaking Through Fixed PUF Block Limitations with DSC and Conv Codes 2
Introduction: PUFs Example: SRAM PUF (Guajardo et al. CHES 2007) Breaking Through Fixed PUF Block Limitations with DSC and Conv Codes 3
Introduction: Syndrome Coding Secret Key = f (Secret PUF Response, Public Helper Data) Breaking Through Fixed PUF Block Limitations with DSC and Conv Codes 4
Introduction: Need for Error Correction 520 Bit Secret Reproduction with 15% Bit Error Probability Breaking Through Fixed PUF Block Limitations with DSC and Conv Codes 5
Introduction: Key Storage with PUFs Generation: Reproduction: Breaking Through Fixed PUF Block Limitations with DSC and Conv Codes 6
Introduction: State of the Art Fixed blocks sizes for all existing syndrome coding schemes Reliability of the blocks varies Unreliable blocks will lead to errors that cannot be compensated by more reliable blocks Breaking Through Fixed PUF Block Limitations with DSC and Conv Codes 7
Introduction: State of the Art Goal: one white and one black square in each block of four E.g. required for IBS (Yu and Devadas, 2010) Breaking Through Fixed PUF Block Limitations with DSC and Conv Codes 8
Introduction: Motivation Law of Large Numbers: We can predict the number of reliable PUF outputs in a long sequence with a high precision. Implementation: Search the long sequence sequentially. Breaking Through Fixed PUF Block Limitations with DSC and Conv Codes 9
Outline Introduction Differential Sequence Coding Convolutional Codes DSC + Conv Code Fuzzy Exctractor Conclusions Breaking Through Fixed PUF Block Limitations with DSC and Conv Codes 10
Differential Sequence Coding Breaking Through Fixed PUF Block Limitations with DSC and Conv Codes 11
Design Criteria Output Error Probability PUF Size Helper Data Size Implem. Complexity Breaking Through Fixed PUF Block Limitations with DSC and Conv Codes 12
DSC Performance Example: 4 PUF Outputs per Key Bit Breaking Through Fixed PUF Block Limitations with DSC and Conv Codes 13
Outline Introduction Differential Sequence Coding Convolutional Codes DSC + Conv Code Fuzzy Exctractor Conclusions Breaking Through Fixed PUF Block Limitations with DSC and Conv Codes 14
Convolutional Codes Highly structured codes Efficient decoding algorithms Suitable for lightweight hardware implemenation Breaking Through Fixed PUF Block Limitations with DSC and Conv Codes 15
Fuzzy Extractor Breaking Through Fixed PUF Block Limitations with DSC and Conv Codes 16
Fuzzy Extractor: Performance Breaking Through Fixed PUF Block Limitations with DSC and Conv Codes 17
Fuzzy Extractor: Spartan 3E Hardw. Impl. PUF Output Bits Helper Data Bits Slices Block RAM Bits Clock Cycles CO + Golay (Bösch et al., 2008) CO + RM (Maes et al., 2009) C-IBS + RM (Hiller et al., 2012) 3,696 3,824 > 907 0 > 24,024 1,536 13,952 237 32,768 10,298 2,304 9,216 250 0 - DSC + Conv Code 1,224 2,176 262 11,264 30,846 + Hash Breaking Through Fixed PUF Block Limitations with DSC and Conv Codes 18
Conclusions Differential Sequence Coding High reliability Convolutional Codes Hardware efficient decoder Fuzzy Extractor: Robust against helper data manipulation Most efficient FPGA hardware implementation for SRAM PUF Breaking Through Fixed PUF Block Limitations with DSC and Conv Codes 19