Protecting against Statistical Ineffective Fault Attacks Joan - PowerPoint PPT Presentation
Protecting against Statistical Ineffective Fault Attacks Joan Daemen, Christoph Dobraunig, Maria Eichlseder, Hannes Gross, Florian Mendel and Robert Primas CHES 2020 Motivation www.tugraz.at Using crypto in the wild requires:
Protecting against Statistical Ineffective Fault Attacks Joan Daemen, Christoph Dobraunig, Maria Eichlseder, Hannes Gross, Florian Mendel and Robert Primas CHES 2020
Motivation www.tugraz.at Using crypto in the wild requires: • Mathematically secure cryptographic schemes 1 0 1 0 0 1 1 1 Robert Primas — CHES 2020
Motivation www.tugraz.at Using crypto in the wild requires: • Mathematically secure cryptographic schemes • Additional defenses mechanisms against implementation attacks: 1 Robert Primas — CHES 2020
Motivation www.tugraz.at Using crypto in the wild requires: • Mathematically secure cryptographic schemes • Additional defenses mechanisms against implementation attacks: Power Analysis Fault Attacks 1 Robert Primas — CHES 2020
Motivation www.tugraz.at • Statistical Ineffective Fault Attacks (SIFA) were first presented at CHES2018: • Work against block ciphers, AEAD, etc . . . • Circumvent redundancy/infection countermeasures • Only one fault injection per cipher execution 2 Robert Primas — CHES 2020
Motivation www.tugraz.at • Statistical Ineffective Fault Attacks (SIFA) were first presented at CHES2018: • Work against block ciphers, AEAD, etc . . . • Circumvent redundancy/infection countermeasures • Only one fault injection per cipher execution • In a follow-up at ASIACRYPT2018 it was shown that: • SIFA can additionally circumvent (higher-order) masking/TI 2 Robert Primas — CHES 2020
Motivation www.tugraz.at • Statistical Ineffective Fault Attacks (SIFA) were first presented at CHES2018: • Work against block ciphers, AEAD, etc . . . • Circumvent redundancy/infection countermeasures • Only one fault injection per cipher execution • In a follow-up at ASIACRYPT2018 it was shown that: • SIFA can additionally circumvent (higher-order) masking/TI • Proposed countermeasures at the time: • Error correction • Hiding • Self destruction 2 Robert Primas — CHES 2020
Motivation cont. www.tugraz.at • Many proposed SIFA countermeasures so far utilize error correction: • Rather expensive (masking!) • How much error correction is necessary? • What about DFA? 3 Robert Primas — CHES 2020
Motivation cont. www.tugraz.at • Many proposed SIFA countermeasures so far utilize error correction: • Rather expensive (masking!) • How much error correction is necessary? • What about DFA? • We propose efficient SIFA countermeasure strategies: • “Careful” combination of redundancy with masking • Low overhead for lightweight schemes • Moderate overhead for “bulky” schemes like AES 3 Robert Primas — CHES 2020
Statistical Fault Attacks on AES-128 www.tugraz.at P N : SHIFT ROWS ROUND 8 MIX COLUMNS KEY ADD • AES is a PRP: SUB BYTES ROUND 9 • Distribution of ciphertext bytes is SHIFT ROWS MIX COLUMNS uniform KEY ADD • (Also after only 9 rounds) ROUND 10 SUB BYTES SHIFT ROWS KEY ADD C N Fuhr et al. [Fuh+13] 4 Robert Primas — CHES 2020
Statistical Fault Attacks on AES-128 www.tugraz.at P N : SHIFT ROWS ROUND 8 MIX COLUMNS • Assume fault that disturbs distribution KEY ADD of one state byte in round 9 SUB BYTES ROUND 9 • Stuck-at, bitflip, random, etc. SHIFT ROWS MIX COLUMNS • Attacker does not need to know the KEY ADD caused bias ROUND 10 SUB BYTES • 4 ciphertext bytes are affected SHIFT ROWS KEY ADD C N Fuhr et al. [Fuh+13] 4 Robert Primas — CHES 2020
Statistical Fault Attacks on AES-128 www.tugraz.at P N : SHIFT ROWS ROUND 8 MIX COLUMNS KEY ADD • 4 state bytes in round 9 can be SUB BYTES ROUND 9 calculated from: SHIFT ROWS MIX COLUMNS • 4 ciphertext bytes KEY ADD • 4 key bytes ROUND 10 SUB BYTES SHIFT ROWS KEY ADD C N Fuhr et al. [Fuh+13] 4 Robert Primas — CHES 2020
Statistical Fault Attacks on AES-128 www.tugraz.at : SHIFT ROWS ROUND 8 MIX COLUMNS KEY ADD • 4 state bytes in round 9 can be SUB BYTES ROUND 9 calculated from: SHIFT ROWS MIX COLUMNS • 4 ciphertext bytes KEY ADD • 4 key bytes (correct) ROUND 10 SUB BYTES SHIFT ROWS KEY ADD C N Fuhr et al. [Fuh+13] 4 Robert Primas — CHES 2020
Statistical Fault Attacks on AES-128 www.tugraz.at : SHIFT ROWS ROUND 8 MIX COLUMNS KEY ADD • 4 state bytes in round 9 can be SUB BYTES ROUND 9 calculated from: SHIFT ROWS MIX COLUMNS • 4 ciphertext bytes KEY ADD • 4 key bytes (incorrect) ROUND 10 SUB BYTES SHIFT ROWS KEY ADD C N Fuhr et al. [Fuh+13] 4 Robert Primas — CHES 2020
Statistical Ineffective Fault Attacks on AES-128 www.tugraz.at P N : : SHIFT ROWS SHIFT ROWS ROUND 8 MIX COLUMNS MIX COLUMNS KEY ADD KEY ADD • Redundant computation fixes the SUB BYTES SUB BYTES ROUND 9 SHIFT ROWS SHIFT ROWS problem! MIX COLUMNS MIX COLUMNS KEY ADD KEY ADD ROUND 10 SUB BYTES SUB BYTES SHIFT ROWS SHIFT ROWS KEY ADD KEY ADD C 1 C N 5 Robert Primas — CHES 2020
Statistical Ineffective Fault Attacks on AES-128 www.tugraz.at P N : : SHIFT ROWS SHIFT ROWS ROUND 8 MIX COLUMNS MIX COLUMNS KEY ADD KEY ADD • Redundant computation fixes the SUB BYTES SUB BYTES ROUND 9 SHIFT ROWS SHIFT ROWS problem! MIX COLUMNS MIX COLUMNS • Except it doesn’t KEY ADD KEY ADD ROUND 10 SUB BYTES SUB BYTES SHIFT ROWS SHIFT ROWS KEY ADD KEY ADD C 1 Dobraunig et al. [Dob+18b] C N 5 Robert Primas — CHES 2020
Statistical Ineffective Fault Attacks on AES-128 www.tugraz.at : SHIFT ROWS ROUND 8 • For simplicity, assume stuck-at zero MIX COLUMNS KEY ADD fault (others work as well) SUB BYTES • “Effective” faults are filtered out ROUND 9 SHIFT ROWS MIX COLUMNS • Correct ciphertexts still show bias in KEY ADD round 9 ROUND 10 SUB BYTES SHIFT ROWS • Exploitation works same as before KEY ADD C 1 C N Dobraunig et al. [Dob+18b] 5 Robert Primas — CHES 2020
Statistical Ineffective Fault Attacks on AES-128 www.tugraz.at : SHIFT ROWS ROUND 8 • For simplicity, assume stuck-at zero MIX COLUMNS KEY ADD fault (others work as well) SUB BYTES • “Effective” faults are filtered out ROUND 9 SHIFT ROWS MIX COLUMNS • Correct ciphertexts still show bias in KEY ADD round 9 ROUND 10 SUB BYTES SHIFT ROWS • Exploitation works same as before KEY ADD C 1 C N Dobraunig et al. [Dob+18b] 5 Robert Primas — CHES 2020
Statistical Ineffective Fault Attacks on AES-128 www.tugraz.at P N : : : SHIFT ROWS SHIFT ROWS ROUND 8 MIX COLUMNS MIX COLUMNS KEY ADD KEY ADD SUB BYTES SUB BYTES ROUND 9 • Masking fixes the problem! SHIFT ROWS SHIFT ROWS MIX COLUMNS MIX COLUMNS KEY ADD KEY ADD ROUND 10 SUB BYTES SUB BYTES SHIFT ROWS SHIFT ROWS KEY ADD KEY ADD C 1 Dobraunig et al. [Dob+18b] C N 5 Robert Primas — CHES 2020
Statistical Ineffective Fault Attacks on AES-128 www.tugraz.at P N : : : SHIFT ROWS SHIFT ROWS ROUND 8 MIX COLUMNS MIX COLUMNS KEY ADD KEY ADD SUB BYTES SUB BYTES ROUND 9 • Masking fixes the problem! SHIFT ROWS SHIFT ROWS MIX COLUMNS MIX COLUMNS KEY ADD KEY ADD ROUND 10 SUB BYTES SUB BYTES SHIFT ROWS SHIFT ROWS KEY ADD KEY ADD C 1 Dobraunig et al. [Dob+18b] C N 5 Robert Primas — CHES 2020
Statistical Ineffective Fault Attacks on AES-128 www.tugraz.at P N : : : SHIFT ROWS SHIFT ROWS ROUND 8 MIX COLUMNS MIX COLUMNS KEY ADD KEY ADD SUB BYTES SUB BYTES ROUND 9 • Masking fixes the problem! SHIFT ROWS SHIFT ROWS MIX COLUMNS MIX COLUMNS • Except it doesn’t KEY ADD KEY ADD ROUND 10 SUB BYTES SUB BYTES SHIFT ROWS SHIFT ROWS KEY ADD KEY ADD C 1 Dobraunig et al. [Dob+18a] C N 5 Robert Primas — CHES 2020
Statistical Ineffective Fault Attacks on AES-128 www.tugraz.at P N : : : SHIFT ROWS SHIFT ROWS ROUND 8 MIX COLUMNS MIX COLUMNS x 0 z 0 KEY ADD KEY ADD y 0 R SUB BYTES SUB BYTES y 1 ROUND 9 • Masking fixes the problem! SHIFT ROWS SHIFT ROWS x 1 z 1 MIX COLUMNS MIX COLUMNS • Except it doesn’t KEY ADD KEY ADD ROUND 10 SUB BYTES SUB BYTES SHIFT ROWS SHIFT ROWS KEY ADD KEY ADD C 1 Dobraunig et al. [Dob+18a] C N 5 Robert Primas — CHES 2020
Statistical Ineffective Fault Attacks on AES-128 www.tugraz.at x 0 z 0 • Masked AND-gate y 0 ~ • Naturally, when x and y are uniform R z y 1 then z has bias towards 0 0 1 0 1 z 1 x 1 Dobraunig et al. [Dob+18a] 5 Robert Primas — CHES 2020
Statistical Ineffective Fault Attacks on AES-128 www.tugraz.at • Assume a fault causes difference in x 0 (to redundant computation) x 0 z 0 y 0 ~ R z y 1 0 1 z 1 x 1 Dobraunig et al. [Dob+18a] 5 Robert Primas — CHES 2020
Statistical Ineffective Fault Attacks on AES-128 www.tugraz.at • Assume a fault causes difference in x 0 (to redundant computation) x 0 z 0 • Difference cancels if either: y 0 • y 0 , y 1 are both 0 ~ R z y 1 0 1 z 1 x 1 Dobraunig et al. [Dob+18a] 5 Robert Primas — CHES 2020
Statistical Ineffective Fault Attacks on AES-128 www.tugraz.at • Assume a fault causes difference in x 0 (to redundant computation) x 0 z 0 • Difference cancels if either: y 0 • y 0 , y 1 are both 0 ~ R z • y 0 , y 1 are both 1 y 1 0 1 z 1 x 1 Dobraunig et al. [Dob+18a] 5 Robert Primas — CHES 2020
Recommend
More recommend
Explore More Topics
Stay informed with curated content and fresh updates.