fault attacks and countermeasures - radboud universiteit attacks and... · i transistor can switch...

31
Introduction Threats Setups Attacks Countermeasures Conclusion 1 / 31 Fault Attacks and Countermeasures Michael Hutter Summer School on Design and Security of Cryptographic Algorithms and Devices for Real-World Applications ˆ Sibenik, Croatia, 1-6 June, 2014 Michael Hutter June 5, 2014

Upload: truongdiep

Post on 11-Jul-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

0 50 100 150 200 250 300 350 400 450 500−1

0

1

2

3

4

d1 = 6.20 ns

d2 = 11.20 ns

tlow,gl

= 43.10 ns

Volt

age

[V]

0 50 100 150 200 250 300 350 400 450 500−1

0

1

2

3

4

d1 = 8.30 ns

d2 = 13.30 ns

tlow,gl

= 41.15 ns

Volt

age

[V]

0 50 100 150 200 250 300 350 400 450 500−1

0

1

2

3

4

d1 = 30.10 ns

d2 = 35.10 ns

tlow,gl

= 19.40 ns

Volt

age

[V]

Time [ns]

Introduction Threats Setups Attacks Countermeasures Conclusion 1 / 31

Fault Attacks and Countermeasures

Michael Hutter

Summer School on Design and Security of Cryptographic Algorithms and Devices for Real-World Applications

Sibenik, Croatia, 1-6 June, 2014

Michael Hutter June 5, 2014

Page 2: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 2 / 31

Outline

1 Introduction

2 Adversaries and Threats

3 Setups and Examples

4 Exploitation of Faults

5 Countermeasures

6 Conclusion

Michael Hutter June 5, 2014

Page 3: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 3 / 31

What are Fault Attacks?

Michael Hutter June 5, 2014

Page 4: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 4 / 31

Fault Models

Duration of faultsI TransientI PermanentI Destructive

Controllability (precise, loose, no) [15]I Fault locationI Fault timing

Fault precisionI Single bitI Few bitsI Byte/word

Michael Hutter June 5, 2014

Page 5: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 5 / 31

Fault Types

Let B = {b0, b1, ..., bn−1} be an arbitrary set of bits in memory [15].

Stuck-at faultsI Bits of B get fixed to a value {0, 1} and cannot be changed anymoreI bi b′i ∀i ∈ [0, n − 1]

Bit-flip faultsI E.g., all bits of B get flippedI bi b′i = 1− bi ∀i ∈ [0, n − 1]

Random faultsI Bits of B are randomly setI bi b′i ∈ {0, 1} ∀i ∈ [0, n − 1]

Set/reset faultsI Bits of B are set to 1 or 0I bi b′i = ci ci ∈ {0, 1} ∀i ∈ [0, n − 1]

Michael Hutter June 5, 2014

Page 6: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 6 / 31

Adversaries and Threats

Class II Clever outsider

Class III Knowledgeable insider

Class IIII Company/university

Michael Hutter June 5, 2014

Page 7: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 7 / 31

Adversaries Capability Range

Michael Hutter June 5, 2014

Page 8: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 8 / 31

Fault-Injection Methods

Non-invasiveI Package left untouchedI Modify working conditions

Semi-invasiveI De-capsulation, e.g., optical inductionsI Allows direct contact to the chip die

InvasiveI Establish electrical contact to chipI Modification, destruction, ...

Michael Hutter June 5, 2014

Page 9: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 9 / 31

Non-Invasive Attack Setups - Spikes and Glitches

Michael Hutter June 5, 2014

Page 10: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 10 / 31

Spike/Glitch Attacks - Examples

Under-voltage attacks (CHES 2008 [7])I RFID antenna tearing - cut-off power

supply shortly

Over-voltage spikes (ECCTD 2009 [8])I Transistor can switch to higher voltages

(> 5 Volts) for a short period of time

Clock-glitch attacksI Mostly timing violations (setup/hold)

Fault effectsI Allow to change memory contentI Change of program flow: skipping

instructions, program-counter changes,tampering loop bounds, opcode changes,modifications of instruction and/oroperand addresses, ...

374 M. Hutter, J.-M. Schmidt, and T. Plos

t1 t2Time

RF

sign

al

Readerrequest

Tagresponse

Unconf.LazyWrite

Unconf.FaultyWrite

Unconf.Successful

Write

Fig. 7. Types of faults occurred at differ-ent points in time within the response time

t1 t20

2

4

6

x 104

Time

Mem

ory

valu

e

Fig. 8. Memory value during UnconfirmedFaulty Write after writing two differentvalues (black curve: 0xFFFF; gray curve:0x0000) by varying the delay of the faultinjection

memory contents. In Figure 8, the memory values are depicted as a function ofthe trigger offset. The black curve has been achieved by initializing two bytesof the memory with zero and setting all bits of them to one during an Uncon-firmed Faulty Write operation. The gray curve describes the same for writingzeros to the memory that was first initialized with ones. It can be observed thatthe data bits are serially written into the memory and that different bits areflipped at different positions in time. The more time is proceeded the more bitsare actually written. In fact, 16 bits are written while the Most-Significant Bit(MSB) makes the highest value step. The Least-Significant Bits (LSB) have onlya small impact on the written value and thus cause only small value steps whichare not clearly discernable in the given figure. Nevertheless, note that we haveinfluenced the bits not sequentially (i.e. from the LSB to the MSB) but we haverather influenced specific bits at specific points in time.

With the help of an automatic sweep, we are able to detect the writing of datainto the memory within a few minutes. It is possible to determine the time whenthe writing of data starts and how long it takes. It is further possible to detectif the memory content is cleared before the real writing of data. This allowsfingerprinting of tags by identifying device-specific patterns for operations likewriting to the memory.

While the same results have been obtained for all three injection methods,optical inductions have led us to further interesting findings. Besides Uncon-firmed Faulty Write faults, we have been able to produce Confirmed Lazy Writeand even Confirmed Faulty Write faults. This has been achieved by accuratelyadjusting the trigger width of the fault to a limit where the tag has barelyenough power to confirm the write operation but it is not able to write the exactvalue. The tag either keeps the old value or it stores a different one. However,by choosing the right trigger width and by varying the trigger delay we havebeen able to roughly influence the modification of individual bits that have to

370 M. Hutter, J.-M. Schmidt, and T. Plos

RFIDreader

Opto-coupler

PC

RFIDchip

Tag emulator

Trigger parameters

Readercontrol

Trigger

Device under attack

Fig. 3. Schematic view of the measure-ment setup for performing antenna-tearingattacks using an optocoupler that is placedbetween tag antenna and chip

Fig. 4. Picture of the antenna-tearingsetup where the chip has been separatedfrom its antenna

antenna an optocoupler has been placed that is used to temporarily interconnectthe antenna pins of the RFID chip. Optocouplers, in general, use a short opticaltransmission path that allows the transmission of signals without having electriccontact. On the one hand, this is useful to protect the tag emulator againsthigh-voltage interferences. On the other hand, it prevents against additionalcapacitive coupling through the galvanic isolation. This is especially necessaryfor antenna circuits that are matched for higher frequencies as it is used in UHFtags. In Figure 3, the used measurement setup is shown. A PC is used to controlthe overall measurement process. The PC is connected to an RFID reader andto the tag emulator. For UHF measurements, a reader has been used that has afield strength of about 60mW. The distance between the reader and the deviceunder attack and the tag emulator has been about 10 cm. For HF measurements,a field strength of about 400mW was chosen and the device under attack andthe tag emulator have been placed directly upon the reader antenna. However,the PC has been used to send write commands to the reader and to set triggerparameters to the tag emulator which has been programmed to perform thetriggering. The tag emulator has therefore been placed inside the reader fieldto identify the beginning of the response time. Furthermore, it is connected tothe optocoupler which allows us to interconnect the antenna of the chip for auser-defined interval. In Figure 4, a picture is given that shows the detachmentof the tag antenna and the integration of an optocoupler.

Electromagnetic Interferences. A high-voltage generator has been built toachieve electromagnetic fault injections (see Figure 5). This device is capable ofgenerating up to 18 kV. The circuit consists of a digital part that is used to pro-duce a pulsating square wave of about 100V. This pulse is then amplified usinga DC voltage converter and a charge-pump circuit. However, the ElectrostaticDischarge (ESD) of the high voltage generates electromagnetic interferences thatcan influence or damage electronic devices in the proximity. So as to protect all

bandwidth (LC584AM from LeCroy). The trigger signal hasbeen generated by the same microcontroller that has been usedin the fault-injection experiment. It sets an output pin to highwhen a write command has been received. The target of allattacks has been the writing of data into the internal memoryof the tag. In Figure 2(b), a picture of the DPA measurementsetup is given. It shows the tag chip, the measurement resistor,and the differential probe that is used to measure the voltagedrop across the resistor which corresponds to the consumedpower of the tag.

III. DESCRIPTION OF THE ATTACKS

The fault-injection attack has been performed as follows.First, a Matlab script is started on the PC that initializes allcomponents and sends a write command to the reader. Thereader transmits the command to both the corresponding tag(HF or UHF) and the analog front-end that is connected tothe microcontroller. After that, the microcontroller enables theFPGA that has been configured to activate the multiplexersafter a certain period of time. This time constitutes the exactfault-injection time and can be controlled by the PC. Themultiplexers are then activated for a fixed period of time (i.e.about 80 ns in our experiments). During this time, the tag isdecoupled from the reader signal and an over-voltage spike isinjected into the antenna connections of the tag. Therefore, aDC power supply is used that delivers a constant voltage of4 V. After injection, the multiplexers are deactivated and thetag is again reconnected to the reader.

The FPGA is configured to run at 120 MHz, which allowsus to produce spikes in steps of about 9 ns. The fault-injectionoccurrence can be varied by the PC and can go up to severalmicroseconds.

The power-analysis attacks are conducted in the followingway. A Matlab script, which runs on the PC, generates randominput data. A write command sends the input data to both thetag and the analog front-end that is connected to the microcon-troller. After that, the microcontroller generates a trigger signalwhich forces the oscilloscope to start the acquisition of data.For all experiments, we have used a sampling rate of 100 MS/sand measured the power consumption during the time betweenthe occurrence of the trigger signal and the sending of the tagresponse. The measured power traces are than transferred tothe PC and further processed using Matlab.

IV. RESULTS

In the following, we present results obtained from ourexperiments. First, we give results of the performed fault-injection attacks. Second, the results of power-analysis attacksare described.

A. Fault Attacks using Spikes

We injected an over-voltage spike during the writing of datainto the internal memory of the tag. First, the tag receives thedata from the reader and deletes the content of the currentmemory block. Second, it writes the new data. After eachwriting operation, the tag sends an acknowledge message to

Fig. 3. Injection of an over-voltage spike during the writing of data into thetag memory. The injected spike is drawn in black, the trigger signal is drawnin gray.

the reader or returns an error message if the writing has notsucceeded. In our experiments, we focused therefore on thetime between the last write-command sequence (end of frame)of the reader and the sending of the tag response. This timeperiod takes some hundred microseconds depending on thetag manufacturer. By using the FPGA board, we have beenable to sweep over this time and to accurately inject spikesin steps of 9 ns. In Figure 3, the injection of an over-voltagespike into an HF RFID tag is shown. The injected spike isdrawn in black and the trigger signal of the FPGA board isdrawn in gray. The trigger signal has been high for about80 ns, which actually corresponds to the time of one clockperiod of a 13.56 MHz carrier signal. The black signal in thefigure has been obtained by measuring the voltage on the tagconnections using the differential probe. It can be seen that thesignal, which effectively goes from about -4 to 4 V, is clippedby the two multiplexers resulting in a signal that contains onlythe positive component. After a trigger event (which starts inthe figure at 100 ns), the DC voltage is injected which canbe observed by a higher signal going up to about 7 V. Theinjected voltage causes the tag to perform a reset during thewriting of data. Thus, the writing process got incomplete andan incorrect value is written into the memory of the tag. In ourexperiments, we analyzed several RFID tags that showed thesame behavior, i.e. faulty values are written into the internalmemory of the tags.

B. Power-Analysis Attacks

For the power-analysis attacks, we have taken both an HFand a UHF RFID tag and measured a set of power traces.Afterwards, we applied several post-processing techniques.First, we applied filtering techniques in order to remove thecarrier of the reader signal. We calculated the envelope signalby taking the absolute values of the traces and by applyinga 2 MHz low-pass filter afterwards. This largely removes thereader-signal component that interfered the measurement ofthe very weak side-channel signals of the tags. Second, wealigned all traces in vertical and horizontal orientation.

The target of the power-analysis attack has been an 8-bitvalue that was written into the internal memory of the tag.

411

Michael Hutter June 5, 2014

Page 11: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 11 / 31

Non-Invasive Attack Setups - EM Pulses

Michael Hutter June 5, 2014

Page 12: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 12 / 31

EM Attack - Example

EM pulses induce Eddy currents that cause transistors to switch

Fault attack on a CRT-RSA signature generation [18, 2]I Let n = pq. Instead of calculating S = md mod n, you can split the

computation into S1 = md mod p and S2 = md mod q.I Use the Chinese Remainder Theorem (CRT) to combine them such

that S = aS1 + bS2 mod n = CRT(S1, S2) mod nI A faulty computation, e.g., in S1, leads to

gcd(S − S , n) = gcd(a(S1 − S1), n) = q

Figure 3. Capsulated, rear-side decapsulated, and front-side decapsulated microcontroller

assembled a special measuring bar in front of the micro-controller. The measuring bar allows a very accurate po-sitioning of the endpiece of our spark-generator. It has aprecision of 100 µm.

We have characterized the induced voltage of three dif-ferent chip-capsulation scenarios. First, a standard capsu-lated microcontroller has been used. Second, the rear-sideof the microcontroller has been removed and the inducedvoltage has been measured. In the third scenario, a front-side decapsulated microcontroller has been used to injectfaults into the die surface of the chip. In Figure 3, thecapsulated, rear-side decapsulated, and front-side decap-sulated microcontroller is shown.

The decapsulation process of the front-side packagehas been accomplished in two steps. First, a hole has beenmilled into the front side of the chip package. Second, afuming nitric acid has been poured into the hole. Afterthat, the chip has been cleaned in a beaker with acetoneby ultrasonic treatment. The last step has to be repeateduntil the surface of the die has been exposed.

The rear-side decapsulation of the chip can be carriedout without the need of chemicals. It is possible to mill ahole into the rear-side package. Under the substrate layerof the chip exists a copper plate that can be easily removedusing a screw driver [19].

4 Results

This section will present the results of the performedoptical and electromagnetic fault-injection attacks. All at-tacks have been performed successfully.

4.1 Optical Fault-Injection Attacks

The first step of our attack has been to fix the lightguide direct above the SRAM of the microcontroller (seeFigure 1). The location of the SRAM on the die surfacecan be found by using a common loupe or microscope.The light beams have been injected manually. The ex-periments showed that various bits of the SRAM memorycells can be flipped. Due to the imprecise concentration ofthe light beam, we have not been able to set specific bitsof the memory. Nevertheless, the attack has led the micro-controller to compute faulty signatures of the CRT-based

RSA algorithm.

4.2 Electromagnetic Fault-Injection Attacks

First, we have performed electromagnetic fault-injection attacks on a capsulated microcontroller. Second,we have characterized the induced voltage by measuringthe power consumption of the device. Three different cap-sulation scenarios (capsulated, rear-side decapsulated, andfront-side decapsulated) have been considered in order todiscuss the differences.

Figure 4. Power-consumption trace during EM fault-injections

In Figure 4, the power consumption during the com-putation of the CRT-based RSA is shown. The black sig-nal denotes the power consumption whereas the gray lineindicates the trigger signal. The computation of the sig-natures Sq and Sp and the computation of the CRT areclearly discernable. After approximately 600 millisec-onds from the beginning of the RSA computation, an EMspark has been generated on the front-side of the chip. TheEM power-injection is clearly observable as a peak in thepower-consumption trace. Thus, the computation of Sq

has been disturbed while the computation of Sp remaindcorrect. However, this single fault has led to a successful

Michael Hutter June 5, 2014

Page 13: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 13 / 31

Non-Invasive Attack Setups - Temperature

Michael Hutter June 5, 2014

Page 14: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 14 / 31

High-Temperature Fault Attacks - Example

CARDIS 2013 [6] or [16]

µC placed on top of a heating plateI No response beyond 160 ◦CI Within 70 minutes, we got 100 faults

(between 152 and 158 ◦C)I Attacking CRT-RSA: 31 revealed one of

the prime modulus: 15 revealed p, 16revealed q

Exploiting data-remanence effects [5, 1]I Extensive heating accelerates aging

(Negative Bias Temperature Instability)I Experiment: 100 ◦C for 36h at 5.5 VI SRAM cells got biased to either 1 or 0I 30 % of memory change after heating

Data-retention attacks by cooling [20]

150 152 154 156 158 1600

2

4

6

8

10

Temperature [°C]

Fre

quen

cy o

f fau

lt oc

curr

ence

0 5 10 15 20 25 30 3545

50

55

60

65

70

Burn−in stress time [h]S

ucce

ss r

ate

[%]

Predicting a "1"

Predicting a "0"

Michael Hutter June 5, 2014

Page 15: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 15 / 31

Semi-Invasive Attack Setups

Michael Hutter June 5, 2014

Page 16: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 16 / 31

Semi-Invasive Attack - Example

AES on an 8-bit microcontroller (FDTC 2009 [19])

Modifying 256-bit S-box table stored in flash memory using a low-costUV lamp

I UV-light resistant marker protects remaining memory

Byte fault allows recovering of entire key (using 2 500 pairs of correctand faulty encryptions)

Michael Hutter June 5, 2014

Page 17: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 17 / 31

Invasive Attack Setups (1)

Michael Hutter June 5, 2014

Page 18: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 18 / 31

Invasive Attack Setups (2)

Picture courtesy of Dr. Jorn-Marc Schmidt

Michael Hutter June 5, 2014

Page 19: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 19 / 31

Exploitation of Faults

Algorithm-specific attacks, e.g., in ECCI Manipulation of input parameters, e.g., base point [3]I Operations are done on a twist where ECDLP is easier to solveI Recover ephemeral key in ECDSA [14]

Differential Fault Analysis (DFA)I Exploitation of differential informationI Collection of correct and faulty outputsI Solve differential fault equations with cryptanalysis techniques

Instruction-skipping attacksI E.g., skip square-and-multiply operations of RSA [17]

Safe-error attacksI Exploit faults in key-dependent operationsI Faults in computational part: C safe-errorsI Faults in memory: M safe-errors

Michael Hutter June 5, 2014

Page 20: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 20 / 31

Hardware Countermeasures

Sensors and filtersI Detection of frequency changesI Power watchdogs, light detectors, temperature sensors, ...

Hardware redundancyI Parallel computation, check result at the endI Double memory, e.g., dual-rail logic

Hiding and maskingI Randomize the computation (dummy random cycles, asynchronous

designs, unstable clocks, ...)I Obfuscation: bus scrambling, memory encryption, glue logic, ...

ShieldingI Active shielding (wire mesh on chip surface that detects interruptions)I Passive shielding (metal plate, additional metal layers, ...)

Switch to newer CMOS process technologyI Smaller transistors are usually harder to attack...

Michael Hutter June 5, 2014

Page 21: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 21 / 31

Software Countermeasures (1)

General countermeasures [10]I Checking input/output parameters (e.g., ECC point-validity checks)I Loop counters (use invariants, calc round signature)I Cyclic redundancy checks (checksum is stored together with data)I Hiding and masking (randomization limits precision)I Time redundancy (calc twice and check, but: permanent faults?)I Inverse computations (decrypt after encryption and check input)

Protocol-level countermeasuresI Fresh re-keying [13]I ”all-or-nothing“ transforms [11]I Message modifications [4]

Fresh Re-Keying: Security against Side-Channel and Fault Attacks 3

k

k∗

r

gk(r)

fk∗(m) cm

Fig. 1. Fresh re-keying: basic principle.

which reduce the number of rounds of a block cipher or output the key insteadof the ciphertext are not in the scope of this work. They present a more gen-eral, scheme-independent threat and are usually prevented by other means likeloop invariants or code signatures. Finally, we briefly discuss the resistance ofour scheme against the recently introduced algebraic side-channel attacks [29].While the exact evaluation of such advanced techniques is left as a scope forfurther research, we also propose solutions to prevent them.

1.1 Related work

A large number of countermeasures have been proposed in the literature toprevent side-channel attacks. In this section, we list a number of them with theiradvantages and limitations. We then argue how our proposal can be seen as anew tradeoff between security and performance issues.

First, masking (e.g. [7, 31]) is a very frequently considered solution to pro-tect a device against side-channel attacks. It has the advantage of being quitewell understood. Its main drawback is that the performance overheads can beimportant because of the need to compute a correction term on-the-fly, duringthe encryption process. Masking can be defeated by higher-order attacks [21] orbecause of technological issues such as glitches [18]. Overall, it is usually con-sidered as one useful part of the solution for protecting cryptographic hardware.The permutation tables that are analyzed in [3] have quite similar properties,both in terms of performance overheads and security [27].

Next to masking, hiding is another frequently considered countermeasure.Numerous hiding schemes have been proposed in the literature, e.g. differenttime randomization tools and side-channel resistant logic-styles of which the goalis to have the leakage as close to constant as possible. Such logic-styles can bebased on standard CMOS cell libraries (e.g. WDDL [36]), or require full-customdesign (e.g. SABL [35]). Again, there is a security vs. performance tradeoff sincedesigning full-custom hardware is more expensive (at least in development time)than using standard libraries, but the security of the latter ones is generallylower, mainly because they offer less fine tuning possibilities [16].

Michael Hutter June 5, 2014

Page 22: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 22 / 31

Software Countermeasures (2)

Information redundancyI Add parities

E.g., with linear codesProblems: not compatible with non-linear functions like AES S-box

I Ring embeddings [12]

Idea: perform operations on both data and check elementsE.g., embed AES field into a larger ring with data and check algebra

I Infective computations [21]

Idea: output only random data if there was a faultE.g., add secret error and remove it again at the end (or apply bitscrambling [9])

Michael Hutter June 5, 2014

Page 23: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 23 / 31

Conclusions

There is NO 100% protection!I Fault attacks are very powerfulI If you have enough resources, there are almost no limits

Countermeasures are needed to make attacks harderI Designer needs to know attack types and techniquesI Attacks are always improving - countermeasures too

Future workI Passive and Active Combined Attacks (PACA)

Michael Hutter June 5, 2014

Page 24: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 24 / 31

References I

R. J. Anderson and M. G. Kuhn.

Low Cost Attacks on Tamper Resistant Devices.

In B. Christianson, B. Crispo, M. Lomas, and M. Roe, editors, Security Protocols,volume 1361 of LNCS, pages 125–136. Springer, 1997.

D. Boneh, R. A. DeMillo, and R. J. Lipton.

On the Importance of Checking Cryptographic Protocols for Faults (ExtendedAbstract).

In W. Fumy, editor, EUROCRYPT ’97, Konstanz, Germany, May 11-15, volume1233 of LNCS, pages 37–51. Springer, 1997.

M. Ciet and M. Joye.

Elliptic Curve Cryptosystems in the Presence of Permanent and Transient Faults.

Des. Codes Cryptography, 36(1):33–43, 2005.

Available online at http://eprint.iacr.org/2003/028.pdf.

Michael Hutter June 5, 2014

Page 25: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 25 / 31

References II

S. Guilley, L. Sauvage, J.-L. Danger, and N. Selmane.

Fault Injection Resilience.

In Fault Diagnosis and Tolerance in Cryptography – FDTC, Santa Barbara,California, USA, pages 51–65, 2010.

P. Gutmann.

Data Remanence in Semiconductor Devices.

In USENIX 2001, USA, Washington, D.C., August 13–17, 2001, Berkeley, CA,USA, 2001.

M. Hutter and J.-M. Schmidt.

The Temperature Side-Channel and Heating Fault Attacks.

In P. Rohatgi and A. Francillon, editors, CARDIS 2013, Berlin, Germany, November27-29. Springer, 2013.

Michael Hutter June 5, 2014

Page 26: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 26 / 31

References III

M. Hutter, J.-M. Schmidt, and T. Plos.

RFID and its Vulnerability to Faults.

In E. Oswald and P. Rohatgi, editors, CHES 2008, Washington DC, USA, August10-13, volume 5154 of LNCS, pages 363–379. Springer, August 2008.

M. Hutter, J.-M. Schmidt, and T. Plos.

Contact-Based Fault Injections and Power Analysis on RFID Tags.

In European Conference on Circuit Theory and Design 2009, ECCTD, 2009.

M. Joye, P. Manet, and J.-B. Rigaud.

Strengthening Hardware AES Implementations against Fault Attacks.

IET Information Security, 1(3):106–110, Sept. 2007.

M. Joye and M. Tunstall.

Fault Analysis in Cryptography.

Springer, 2012.

Michael Hutter June 5, 2014

Page 27: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 27 / 31

References IV

R. P. McEvoy, M. Tunstall, C. Whelan, C. C. Murphy, and W. P. Marnane.

All-or-Nothing Transforms as a Countermeasure to Differential Side-ChannelAnalysis.

Cryptology ePrint Archive, Report 2009/185, 2009.

M. Medwed and J.-M. Schmidt.

A Continuous Fault Countermeasure for AES Providing a Constant Error DetectionRate.

In L. Breveglieri, M. Joye, I. Koren, D. Naccache, and I. Verbauwhede, editors,FDTC, Santa Barbara, California, 21 August, volume 7, August 2010.

M. Medwed, F.-X. Standaert, J. Großschadl, and F. Regazzoni.

Fresh Re-keying: Security against Side-Channel and Fault Attacks for Low-CostDevices.

In D. J. Bernstein and T. Lange, editors, AFRICACRYPT, Stellenbosch, SouthAfrica, May 3-6, volume 6055 of LNCS, pages 279–296. Springer, 2010.

Michael Hutter June 5, 2014

Page 28: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 28 / 31

References V

D. Naccache, P. Q. Nguyen, M. Tunstall, and C. Whelan.

Experimenting with Faults, Lattices and the DSA.

In S. Vaudenay, editor, PKC 2005, Les Diablerets, Switzerland, January 23-26,volume 3386 of LNCS, pages 16–28. Springer, January 2005.

M. Otto.

Fault Attacks and Countermeasures.

PhD thesis, Universitat Paderborn, 2005.

J.-J. Quisquater and D. Samyde.

ElectroMagnetic Analysis (EMA): Measures and Counter-Measures for SmartCards.

In I. Attali and T. P. Jensen, editors, Smart Card Programming and Security,E-smart 2001, Cannes, France, September 19-21, volume 2140 of LNCS, pages200–210. Springer, 2001.

Michael Hutter June 5, 2014

Page 29: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 29 / 31

References VI

J.-M. Schmidt and C. Herbst.

A Practical Attack on Square and Multiply.

In FDTC, pages 53–58, 2008.

J.-M. Schmidt and M. Hutter.

Optical and EM Fault-Attacks on CRT-based RSA: Concrete Results.

In K. C. Posch and J. Wolkerstorfer, editors, Austrochip 2007, October 11, Graz,Austria, pages 61–67. Verlag der Technischen Universitat Graz, October 2007.

J.-M. Schmidt, M. Hutter, and T. Plos.

Optical Fault Attacks on AES: A Threat in Violet.

In D. Naccache and E. Oswald, editors, FDTC 2009, Lausanne, Switzerland,September 6, pages 13–22. IEEE-CS Press, September 2009.

Michael Hutter June 5, 2014

Page 30: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 30 / 31

References VII

S. P. Skorobogatov.

Data Remanence in Flash Memory Devices.

In J. R. Rao and B. Sunar, editors, CHES 2005, Edinburgh, UK, August 29 -September 1, volume 3659 of LNCS, pages 339–353. Springer, 2005.

S.-M. Yen, S.-J. Moon, and J. Ha.

Hardware Fault Attack on RSA with CRT Revisited.

In ICISC 2002, Seoul, Korea, November 28-29, volume 2587 of LNCS, pages374–388. Springer, 2003.

Michael Hutter June 5, 2014

Page 31: Fault Attacks and Countermeasures - Radboud Universiteit Attacks and... · I Transistor can switch to higher voltages ... for a short period of time Clock-glitch attacks I Mostly

Introduction Threats Setups Attacks Countermeasures Conclusion 31 / 31

Thanks for attention!

Questions?

Michael Hutter

[email protected]

Graz University of Technology

Michael Hutter June 5, 2014