Never Stand Still Faculty of Engineering Computer Science and Engineering
Click to edit Present’s Name
Never Stand Still Faculty of Engineering Computer Science and Engineering
Three Attacks, Many Process Variations and One Expansive CountermeasureInternational Workshop on Cybersecurity
Darshana Jayasinghe, Angelo Ambrose, Aleks Ignjatovic, Sri Parameswaran
School of Computer Science and Engineering
AES Unprotected AES Circuit
3
Plaintext Key
SubByteShiftRows
Mix ColumnsAdd Round Key
SubByte
ShiftRows
Add Round Key
Ciphertext
N-1
Plaintext 128 bits ; Key 128, 192 or 256 bitsAES - 128 N=10AES - 192 N=12AES - 256 N=14
School of Computer Science and Engineering
Power Analysis Attacks• Often non-intrusive and invasive• First proposed by Kocher in 1998
– Simple power analysis– Differential power analysis– Correlation power analysis– Mutual information analysisMany more …..
Power consumption
Plaintext, Key,Ciphertext
School of Computer Science and Engineering
Simple Power Analysis• Widely used against Asymmetric-key algorithms
embedded.com
RSA Implementation
School of Computer Science and Engineering
Differential Power Analysis Attacks -DPA
If b0=0; M0 = ∑𝒏𝒏=𝟏𝟏𝑵𝑵 𝑷𝑷𝒏𝒏
If b0=1; M1 = ∑𝒕𝒕=𝟏𝟏𝑻𝑻 𝑷𝑷𝒕𝒕
R = 𝑴𝑴𝟎𝟎
𝑵𝑵– 𝑴𝑴𝟏𝟏
𝑻𝑻
Pt Key Pt⨁key Binary μW
3F 00 3F 00111111 50
6E 00 6E 01101110 34
07 00 06 00000110 32
48 00 48 01001000 27
29 00 29 00101001 36
B3 00 B3 10110011 25
83 00 83 10000011 20
M0 =
M1 =
34
50
+
+
32
36 25 20
27+
++R = 𝟗𝟗𝟗𝟗
𝟗𝟗– 𝟏𝟏𝟗𝟗𝟏𝟏
𝟒𝟒R = 1.75
Key0 255
|R|
Pt Key Pt⨁key Binary μW
3F 01 3E 10001110 50
6E 01 6F 01101111 34
07 01 06 00000110 32
48 01 49 01001001 27
29 01 28 00101000 36
B3 01 B2 10110010 25
83 01 82 10000010 20
Pt Key Pt⨁key Binary μW
3F 05 3A 00111010 50
6E 05 65 01100101 34
07 05 07 00000111 32
48 05 4D 01001101 27
29 05 2C 00101100 36
B3 05 b6 10110110 25
83 05 86 10000110 20
School of Computer Science and Engineering
Pt Key Pt⨁key HW(S(Pt⨁key)) μW
3F 00 3F 5 50
6E 00 6E 6 34
07 00 06 4 32
48 00 48 3 27
29 00 29 4 36
B3 00 B3 5 25
83 00 83 5 20
Pt Key Pt⨁key HW(S(Pt⨁key)) μW
3F 01 3E 4 50
6E 01 6F 3 34
07 01 06 6 32
48 01 49 5 27
29 01 28 3 36
B3 01 B2 5 25
83 01 82 3 20
0
0.01
0.02
0.03
0 1e 3c 5a 78 96 b4 d2 f0
Corr
elat
ion
Coe
Pt Key Pt⨁key HW(S(Pt⨁key)) μW
3F 05 3A 1 50
6E 05 65 4 34
07 05 07 4 32
48 05 4D 5 27
29 05 2C 4 36
B3 05 b6 5 25
83 05 86 6 20
Correlation Power Analysis Attacks -CPA
r = ∑𝒊𝒊=𝟏𝟏𝒏𝒏 𝑿𝑿𝒊𝒊−�𝑿𝑿 (𝒀𝒀𝒊𝒊−�𝒀𝒀)
∑𝒊𝒊=𝟏𝟏𝒏𝒏 𝑿𝑿𝒊𝒊−�𝑿𝑿 𝟐𝟐 ∑𝒊𝒊=𝟏𝟏
𝒏𝒏 (𝒀𝒀𝒊𝒊−�𝒀𝒀)𝟐𝟐
School of Computer Science and Engineering
Attack on Standard AES Circuit
School of Computer Science and Engineering
• CPA can only detect linear dependencies
• Shannon's entropy is used to calculate the mutual information
• Often the key convergence rate falls behind the CPA
Mutual Information Analysis Attacks
9
Hypothetical power consumption
Obs
erve
d po
wer
cons
umpt
ion
Source: Wikipedia
School of Computer Science and Engineering
• Logic 1 Logic 2
Yokohama 06
Basics of Algorithmic Balancing
0 1 1 0
CMOS WDDL by Tiri 07
AES AES
School of Computer Science and Engineering
Balancing : MUTE AES• Proposed by Ambrose for a processor based environment
School of Computer Science and Engineering
Back to AES CircuitAssume:
School of Computer Science and Engineering
State 2
2 Way BalancingState 1
School of Computer Science and Engineering
4-way or Quadruple BalancingState 1
State 2
Can prove the same for timing
School of Computer Science and Engineering
QuadSeal-4
School of Computer Science and Engineering
Attack on QuadSeal
Visible Key bytes
School of Computer Science and Engineering
Process Variation
• Path imbalances• Aging effects. Process
Variation
Inter-die Intra-die
18
School of Computer Science and Engineering
… ,L6 ,L5 ,L4 ,L3 ,L2 ,L1.,L6 ,L5 ,L4 ,L3, L2 ,L1
19
School of Computer Science and Engineering
QuadSeal Against Process Variation
• Each core(Din, Kin), (Din, Kin), (Din,Kin)and (Din,Kin)• 24 inputs combinations• 63-bit LFSR repetitiontime of (263-1)
• Running at 50 MHz, (5, 849 years more precise)
20
Enable Signal
School of Computer Science and Engineering21
School of Computer Science and Engineering
CPA attacks
School of Computer Science and Engineering
How Efficient is the swapping?
23
School of Computer Science and Engineering
CPA attacks
School of Computer Science and Engineering
Software Implementation of QuadSeal
• Microblaze is a 32 bit soft processor by Xilinx• 32 bit input 32 bit output; 232 entries (4 GB)• But only 256 entries will be used• Composite SubByte table as a Hardware IP
• Pre-clear ? – After each table lookup, data lines are refreshed by loading 00000…0 (32’h0)
• Throughput X/4
25
Microblaze
Control FPGA
SASEBO GII
VirtexV
PC
School of Computer Science and Engineering
Devices we target and attacks we prevent!
• DEVICES– ASIC– FPGA– Software on 32-bit Processors– Extensible Processors
• ATTACKS WE PREVENT– Differential Power Analysis Attacks (DPA)– Correlation Power Analysis (CPA)– Mutual Analysis Attacks
School of Computer Science and Engineering
An Example Attack Setup
School of Computer Science and Engineering
Thank you!