Crypto. group Itamar Levi, Davide Bellizia and François-Xavier Standaert
- Aug. 2018
Reducing a Masked Implementation’s Effective Security Order with Setup Manipulations
And an Explanation Based on Externally-Amplified Couplings
SWORD
Reducing a Masked Implementations Effective Security Order with - - PowerPoint PPT Presentation
Crypto. group SWORD Reducing a Masked Implementations Effective Security Order with Setup Manipulations And an Explanation Based on Externally-Amplified Couplings Itamar Levi, Davide Bellizia and Franois-Xavier Standaert Aug. 2018 Moti
Crypto. group Itamar Levi, Davide Bellizia and François-Xavier Standaert
Reducing a Masked Implementation’s Effective Security Order with Setup Manipulations
And an Explanation Based on Externally-Amplified Couplings
SWORD
Masking - a well understood SCA countermeasure
Independence assumption – the shares induced leakages are independent, and
It forces the adversary to estimate a higher-order statistical moment of the leakage
noise in the leakages
The lowest key-dependent stat. moment - security order Concretely though, it is hard to achieve it…
𝒚 = 𝑦1⨁𝑦2⨁…⨁ 𝑦𝑒
rand.
1 2
L= W(x1)+ W(x2)+N0
Pr(L|x) x1 x2
x=1 {x1,x2}=10,01 x=0 {x1,x2}=00 x=0 {x1,x2}=11
µ1= µ2 σ1≠ σ 2
L
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
1
Well understood non-idealities:
Can recombine leakages (nonlinear manner) Can be kept under control at design (synthesis) time:
registers or refreshing [CGP+12] => logical recombination, since they can be formulated as logical conditions which can then be verified and prevented [FGP+18] => recalling yesterday’s Session 6.
x1 x2
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
2
Well understood physical defaults:
Can recombine leakages (nonlinear manner) Can be kept under control at design (synthesis) time:
registers or refreshing [CGP+12] => logical recombinations, since they can be formulated as logical conditions which can then be verified and prevented [FGP+18].
This talk: another physical default, couplings, recently reported by De Cnudde et al.
x1 x2
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
3
What are couplings What do we know of them How to externally amplify them Different test cases (SW/HW)
Discussion/ how to advance
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
Masking Scheme Glitches Transitions Verification: MaskVerif, ELMO .. Couplings ??
Logic level
4
x1 x2 x1 x2 x1 x2
In theory In practice: not so linear and not so nice…
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
5
In n the the con
SCA
correctly (glitches, transitions), masking can suffer from re-combinations.
dth order leakages [CBG+17]
x1 x2 x1 x2
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
6
𝑀 = 𝐽𝑇ℎ1 + 𝐽𝑇ℎ2 𝑀′ = 𝛽1𝐽𝑇ℎ1 + 𝛽2𝐽𝑇ℎ2 − 𝛾(𝐽𝑇ℎ1 ∙ 𝐽𝑇ℎ2)
x1 x2
1 2
L Pr(L|x)
x=1 {x1,x2}=10,01 x=0 {x1,x2}=00 x=0 {x1,x2}=11
x1 x2
1 2
L Pr(L|x)
Ron~0.1- 1k𝛻 Rgr<<Ron
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
7
𝐽′ = 𝛽1𝐽𝑇ℎ1 + 𝛽2𝐽𝑇ℎ2 − 𝛾(𝐽𝑇ℎ1 ∙ 𝐽𝑇ℎ2)
x1 x2
1 2
L Pr(L|x)
𝛽𝑗 = 1 1 + 2𝑆𝑓𝑦𝑢 𝑆𝑝𝑜_𝑗 ≈ 1 𝛾 = 𝑆𝑓𝑦𝑢 𝑊
𝐸𝐸,𝑓𝑦𝑢
𝑆𝑝𝑜1 2𝑆𝑓𝑦𝑢 + 𝑆𝑝𝑜1 + 𝑆𝑝𝑜2 2𝑆𝑓𝑦𝑢 + 𝑆𝑝𝑜2 𝑆𝑓𝑦𝑢≪𝑆𝑝𝑜1,𝑆𝑝𝑜2 ≅ 2𝑆𝑓𝑦𝑢 𝑊
𝐸𝐸,𝑓𝑦𝑢
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
𝑆𝑓𝑦𝑢 𝑊
𝐸𝐸,𝑓𝑦𝑢
8
𝐽′ = 𝛽1𝐽𝑇ℎ1 + 𝛽2𝐽𝑇ℎ2 − 𝛾(𝐽𝑇ℎ1 ∙ 𝐽𝑇ℎ2)
x1 x2
𝛽𝑗 = 1 1 + 2𝑆𝑓𝑦𝑢 𝑆𝑝𝑜_𝑗 ≈ 1 𝛾 = 𝑆𝑓𝑦𝑢 𝑊
𝐸𝐸,𝑓𝑦𝑢
𝑆𝑝𝑜1 2𝑆𝑓𝑦𝑢 + 𝑆𝑝𝑜1 + 𝑆𝑝𝑜2 2𝑆𝑓𝑦𝑢 + 𝑆𝑝𝑜2 𝑆𝑓𝑦𝑢≪𝑆𝑝𝑜1,𝑆𝑝𝑜2 ≅ 2𝑆𝑓𝑦𝑢 𝑊
𝐸𝐸,𝑓𝑦𝑢
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
9
1 2
L Pr(L|x)
𝐽′ = 𝛽1𝐽𝑇ℎ1 + 𝛽2𝐽𝑇ℎ2 − 𝛾(𝐽𝑇ℎ1 ∙ 𝐽𝑇ℎ2) 𝛾 ≅ 2𝑆𝑓𝑦𝑢 𝑊
𝐸𝐸,𝑓𝑦𝑢
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
10
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
The simplified model can be generalized (d):
with amplification
11
Moving on from a:
[MS16]
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
12
[GMK17] on Spartan6 LX75 FPGA (Sakura G board)
following Barthe et-al. [BDF+17] on an Atmel SAM4C16 (ARM Cortex-M4)
devices HW SW
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
13
benchtop PSU
HW SW
due to a shared power-grid
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
14
Software implementation (uC) – ARM32 bit (ATMEGA) Model/Simulation
Measurement (uC)
1ohm 1.4 | 1.2V
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
No ampl.
15
Software implementation (uC) – ARM32 bit (ATMEGA) Model/Simulation
Measurement (uC)
20ohm 1.55V 1ohm 1.4 | 1.2V
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
No ampl. Ext. ampl.
16
* DoM AES (Hannes et-al. [GNK17]) * Hardware – FPGA (Spartan 6) scenario
β β
Max-Internal External
17
Baseline Internal External
~x10 amplification …
~x10 amplification and generation
* DoM AES (Hannes et-al. [GNK17]) * Hardware – FPGA (Spartan 6) scenario
18
Moving on from a:
* DoM AES (Hannes et-al. [GNK17]) * Hardware – FPGA (Spartan 6) scenario
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
19
SW - Similar results
* Bitslice Barthe et-al. [BDF+17] * Software – uC scenario (ARM32 in ATMEGA)
20
factors
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
21
factors
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
22
factors
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
23
factors
dependent.
informativeness of these lower
amplification…
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
24
Setup manipulations (or externally amplifies couplings)
We demonstrate that for off-the-shelf devices it actually happens Open questions:
adversaries ?
Existing design-phase tools will not do .. (e.g. MaskVerif/ ELMO - logical tools)
Concl. Test- cases Ext.- amp. couplin gs Motiva tion
25