protecting against statistical ineffective fault attacks
play

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:


  1. Protecting against Statistical Ineffective Fault Attacks Joan Daemen, Christoph Dobraunig, Maria Eichlseder, Hannes Gross, Florian Mendel and Robert Primas CHES 2020

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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