Physically Observable Side Channels Flashcards
Basics of an inverter
When A == 0, charge capacitor, output becomes 1
When A == 1, discharge capacitor, output becomes 0
How do we tell a 0 vs 1 in a power side channel?
When A == 0, we need to charge capacitor. Power graph will be logarithmic. When A == 1, we discharge capacitor, will get short burst of energy
What information can be obtained from power consumption?
How many bits were toggled
Difference between power and EM SC
EM SCs are a bit more observable than the power side channel, even though they don’t contain any more information
How is an EM SC created
The changes in current in an inverter create pulses in the EM field
What are the two ways IC emit EM
- Conductive emissions - signal is radiated from the pins in the circuit
- Electric and magnetic near-field emissions - EM field is generated due to current inside the IC
how are conductive emissions measured?
antennas
how are E and M near-field emissions measured?
E and M probes
Thermal Dissipation Side Channel
When the capacitor is charged, the resistor releases heat => not very fine-grained
Acoustic Side Channel
Mechanical vibrations of capacitor lead to acoustic vibrations
What tools can we use to measure power SC?
real-time oscilloscope, real-time spectrum analyzer, and software defined radio
real-time vs sampling oscilloscope
real-time takes samples over one run of execution, sampling averages samples over many runs
real-time oscilloscope measures what?
A signal with respect to time
spectrum analyzer measures what?
A signal with respect to frequency
Which is better spectrum analyzer or oscilloscope?
Spectrum analyzer - has better noise floor, can change frequency bandwidth
Software defined radio’s differentiator
has many configuration options
what can we learn from a power/em SC?
- Repetitive patterns in trace indicate general structure of program (loops, etc)
- Time - what happens when, program flow
- Amplitude - what happens at a given moment in time, data flow
How will the same operation consume power with different operands?
It will have different values
Chassis potential side channel?
???
Approach for simple Power/EM analysis attacks
- Visually inspect traces, looking at best/worst case inputs
- Look for patterns , timing differences, amplitude differences
What can patterns in simple power/EM analysis leak?
- Key length (number of rounds or iterations)
- Memory accesses
- Implementation details
- Key (if really bad implementation)
What can amplitude in simple power/EM analysis leak?
- Exact operand values (extreme case)
- Hamming weight or hamming distance
- Operation being executed
- RE of implementation details
What can timing in simple power/EM analysis leak?
- Data dependent branching
- Execution of additional operations
Differential Power/EM Analysis Attack
homework assignment! This works because the different groups (LSB = 0 and 1) are split correctly only when the key is correct ==> can actually see the power difference. When key is not correct, differences are averaged out