Physical Defaults & the Robust Probing Model Sebastian Faust, - - PowerPoint PPT Presentation

β–Ά
physical defaults the robust probing model
SMART_READER_LITE
LIVE PREVIEW

Physical Defaults & the Robust Probing Model Sebastian Faust, - - PowerPoint PPT Presentation

Composable Masking Schemes in the Presence of Physical Defaults & the Robust Probing Model Sebastian Faust, Vincent Grosso, Santos Merino Del Pozo, Clara Paglialonga, Franois-Xavier Standaert TU Darmstadt (Germany), Radbout University


slide-1
SLIDE 1

Composable Masking Schemes in the Presence of Physical Defaults & the Robust Probing Model

Sebastian Faust, Vincent Grosso, Santos Merino Del Pozo, Clara Paglialonga, FranΓ§ois-Xavier Standaert

TU Darmstadt (Germany), Radbout University Nijmegen (The Netherlands), DarkMatter LLC (UAE), UCLouvain (Belgium)

CHES 2018, Amsterdam, The Netherlands

slide-2
SLIDE 2

Masking (e.g., Boolean π’š = π’šπŸ + π’šπŸ‘ + β‹― + π’šπ’†) 1

Noisy leakages security: Goal (ideally): 𝑂 ∝

𝑑

MI(π‘Œ;𝑴) MI π‘Œ; 𝑴 < MI π‘Œπ‘—; 𝑀𝑗 𝑒

slide-3
SLIDE 3

Masking (e.g., Boolean π’š = π’šπŸ + π’šπŸ‘ + β‹― + π’šπ’†) 1

Noisy leakages security: Goal (ideally): 𝑂 ∝

𝑑

MI(π‘Œ;𝑴) MI π‘Œ; 𝑴 < MI π‘Œπ‘—; 𝑀𝑗 𝑒 Bounded moment security:

𝑗1,𝑗2,…,π‘—π‘’βˆ’1

𝑀𝑗 π‘Œ

(𝑒-1)th order statistical moment (ideally)

slide-4
SLIDE 4

Bounded moment security:

𝑗1,𝑗2,…,π‘—π‘’βˆ’1

𝑀𝑗 π‘Œ

(𝑒-1)th order statistical moment (ideally)

Masking (e.g., Boolean π’š = π’šπŸ + π’šπŸ‘ + β‹― + π’šπ’†) 1

Noisy leakages security: Goal (ideally): 𝑂 ∝

𝑑

MI(π‘Œ;𝑴) MI π‘Œ; 𝑴 < MI π‘Œπ‘—; 𝑀𝑗 𝑒 Probing security: Sets of (𝑒-1) probes are of π‘Œ (ideally)

𝑦 = 𝑦1 + 𝑦2 + β‹― + 𝑦𝑒

slide-5
SLIDE 5

Security reductions 2

noisy leakages bounded moment probing

abstract-qualitative physical-qualitative physical-quantitative

[Barthe et al., Eurocrypt 2017]

[Duc et al., Eurocrypt 2014]

𝑦 = 𝑦1 + 𝑦2 + β‹― + 𝑦𝑒

slide-6
SLIDE 6

What can go wrong? (e.g., when computing 𝒃. 𝒄) 3

𝑏1𝑐1 𝑏1𝑐2 𝑏1𝑐3 𝑏2𝑐1 𝑏2𝑐2 𝑏2𝑐3 𝑏3𝑐1 𝑏3𝑐2 𝑏3𝑐3 β‡’ 𝑑1 𝑑2 𝑑3

Example: probing 𝑑1 = 𝑏1. 𝑐1 + 𝑐2 + 𝑐3 reveals information on 𝑐 (when 𝑑1 = 1) Issue #1. Lack of randomness (can break the independence assumption)

slide-7
SLIDE 7

What can go wrong? (e.g., when computing 𝒃. 𝒄) 3

𝑏1𝑐1 𝑏1𝑐2 𝑏1𝑐3 𝑏2𝑐1 𝑏2𝑐2 𝑏2𝑐3 𝑏3𝑐1 𝑏3𝑐2 𝑏3𝑐3 + 𝑠

1

𝑠

2

𝑠

2

𝑠

3

𝑠

2

𝑠

3

β‡’ 𝑑1 𝑑2 𝑑3

Issue #1. Lack of randomness (can break the independence assumption)

  • mitigated by adding

Β«refreshing gadgets Β»

  • can be analyzed in

the probing model

slide-8
SLIDE 8
  • mitigated by adding

Β«refreshing gadgets Β»

  • can be analyzed in

the probing model

What can go wrong? (e.g., when computing 𝒃. 𝒄) 3

𝑏1𝑐1 𝑏1𝑐2 𝑏1𝑐3 𝑏2𝑐1 𝑏2𝑐2 𝑏2𝑐3 𝑏3𝑐1 𝑏3𝑐2 𝑏3𝑐3 + 𝑠

1

𝑠

2

𝑠

2

𝑠

3

𝑠

2

𝑠

3

β‡’ 𝑑1 𝑑2 𝑑3

Issue #1. Lack of randomness (can break the independence assumption) Example: glitches (transcient values) Β« re-combine Β» the shares such that:

(detected in the bounded moment model)

𝑀𝑗 = πœ€(𝑦1 βˆ™ 𝑦2 βˆ™ 𝑦3) Issue #2. Physical defaults

(can break the independence assumption)

slide-9
SLIDE 9
  • mitigated by adding

Β«refreshing gadgets Β»

  • can be analyzed in

the probing model

What can go wrong? (e.g., when computing 𝒃. 𝒄) 3

𝑏1𝑐1 𝑏1𝑐2 𝑏1𝑐3 𝑏2𝑐1 𝑏2𝑐2 𝑏2𝑐3 𝑏3𝑐1 𝑏3𝑐2 𝑏3𝑐3 + 𝑠

1

𝑠

2

𝑠

2

𝑠

3

𝑠

2

𝑠

3

β‡’ 𝑑1 𝑑2 𝑑3

Issue #1. Lack of randomness (can break the independence assumption)

  • mitigated by adding a Β« non-

completeness Β» property

[β‰ˆ Theshold Implementations]

  • abstract property: can be

analyzed in the probing model! Issue #2. Physical defaults

(can break the independence assumption)

slide-10
SLIDE 10

Security notions (and scalability) 4

𝒓-probing security [ISW, 2004]: any π‘Ÿ-tuple of shares in the protected circuit is independent

  • f any sensitive variable
slide-11
SLIDE 11

Security notions (and scalability) 4

𝒓-probing security [ISW, 2004]: any π‘Ÿ-tuple of shares in the protected circuit is independent

  • f any sensitive variable

Problem: the cost of testing probing security increases (very) fast with circuit size and the # of shares (since βˆƒ many tuples) [Barthe et al., Eurocrypt 2015]

slide-12
SLIDE 12

Security notions (and scalability) 4

π‘Ÿ1 internal probes π‘Ÿ2 output probes 𝒓-probing security [ISW, 2004]: any π‘Ÿ-tuple of shares in the protected circuit is independent of any sensitive variable π‘Ÿ1 + π‘Ÿ2 ≀ π‘Ÿ 𝒓-(Strong) Non Interference [Barthe et al., CCS 2016]: a circuit gadget (e.g., f1) is NI (SNI) if any set of π‘Ÿ1 + π‘Ÿ2 probes can be simulated with at most π‘Ÿ1 + π‘Ÿ2 (only π‘Ÿ1) shares of each input D(input shares||probes) β‰ˆ D(input shares||simulation)

slide-13
SLIDE 13

Security notions (and scalability) 4

π‘Ÿ1 internal probes π‘Ÿ2 output probes 𝒓-probing security [ISW, 2004]: any π‘Ÿ-tuple of shares in the protected circuit is independent of any sensitive variable π‘Ÿ1 + π‘Ÿ2 ≀ π‘Ÿ 𝒓-(Strong) Non Interference [Barthe et al., CCS 2016]: a circuit gadget (e.g., f1) is NI (SNI) if any set of π‘Ÿ1 + π‘Ÿ2 probes can be simulated with at most π‘Ÿ1 + π‘Ÿ2 (only π‘Ÿ1) shares of each input D(input shares||probes) β‰ˆ D(input shares||simulation)

slide-14
SLIDE 14

Problem statement (simplified) 5

  • Composable masking

schemes ignore physical defaults such as glitches

𝑏1𝑐1 𝑏1𝑐2 𝑏1𝑐3 𝑏2𝑐1 𝑏2𝑐2 𝑏2𝑐3 𝑏3𝑐1 𝑏3𝑐2 𝑏3𝑐3 + 𝑠

1

𝑠

2

𝑠

2

𝑠

3

𝑠

2

𝑠

3

slide-15
SLIDE 15

Problem statement (simplified) 5

  • Composable masking

schemes ignore physical defaults such as glitches

𝑏1𝑐1 𝑏1𝑐2 𝑏1𝑐3 𝑏2𝑐1 𝑏2𝑐2 𝑏2𝑐3 𝑏3𝑐1 𝑏3𝑐2 𝑏3𝑐3 + 𝑠

1

𝑠

2

𝑠

2

𝑠

3

𝑠

2

𝑠

3

x1 y1 x2 x3 y2 y3 f2 f1 f3

  • Treshold implementations

mitigate glitches but are

  • nly proven β€œuniform”

(β‰ˆ probing secure) β‡’ testing scales badly

slide-16
SLIDE 16
  • Treshold implementations

mitigate glitches but are

  • nly proven β€œuniform”

(β‰ˆ probing secure) β‡’ testing scales badly

Problem statement (simplified) 5

  • Composable masking

schemes ignore physical defaults such as glitches

𝑏1𝑐1 𝑏1𝑐2 𝑏1𝑐3 𝑏2𝑐1 𝑏2𝑐2 𝑏2𝑐3 𝑏3𝑐1 𝑏3𝑐2 𝑏3𝑐3 + 𝑠

1

𝑠

2

𝑠

2

𝑠

3

𝑠

2

𝑠

3

x1 y1 x2 x3 y2 y3 f2 f1 f3

  • Design & prove masked implementations that are

(jointly!) robust against glitches and composable

slide-17
SLIDE 17

(Refined) model and security definition 6

Glitch-extended probes: probing any output of a combinatorial sub- circuit allows the adversary to

  • bserve all the sub-circuit inputs

Example: π‘ž1 gives 𝑏, 𝑐 and 𝑑

π‘ž1

slide-18
SLIDE 18

(Refined) model and security definition 6

Glitch-extended probes: probing any output of a combinatorial sub- circuit allows the adversary to

  • bserve all the sub-circuit inputs

Example: π‘ž1 gives 𝑏, 𝑐 and 𝑑

π‘ž1

Technical clarification: non-extended probes on the stable registers’ values have to be considered in the simulation too

π‘ž2

slide-19
SLIDE 19

(Refined) model and security definition 6

Glitch-extended probes: probing any output of a combinatorial sub- circuit allows the adversary to

  • bserve all the sub-circuit inputs

Example: π‘ž1 gives 𝑏, 𝑐 and 𝑑

Definition: a gadget is glitch-robust 𝒓-SNI if it is π‘Ÿ-SNI in the β€œglitch-extended” probing model

π‘ž1

Technical clarification: non-extended probes on the stable registers’ values have to be considered in the simulation too

π‘ž2

slide-20
SLIDE 20

(Refined) model and security definition 6

Glitch-extended probes: probing any output of a combinatorial sub- circuit allows the adversary to

  • bserve all the sub-circuit inputs

Example: π‘ž1 gives 𝑏, 𝑐 and 𝑑

Definition: a gadget is glitch-robust 𝒓-SNI if it is π‘Ÿ-SNI in the β€œglitch-extended” probing model

π’’πŸ

Technical clarification: non-extended probes on the stable registers’ values have to be considered in the simulation too

β‡’ Shares’ fan in of robust gadgets should be minimum

π‘ž2

slide-21
SLIDE 21

(Refined) model and security definition 6

Glitch-extended probes: probing any output of a combinatorial sub- circuit allows the adversary to

  • bserve all the sub-circuit inputs

Example: π‘ž1 gives 𝑏, 𝑐 and 𝑑

Definition: a gadget is glitch-robust 𝒓-SNI if it is π‘Ÿ-SNI in the β€œglitch-extended” probing model

π’’πŸ

Technical clarification: non-extended probes on the stable registers’ values have to be considered in the simulation too

β‡’ Shares’ fan in of robust gadgets should be minimum β‡’ Outputs of SNI gadgets should be stored in registers

π’’πŸ‘

slide-22
SLIDE 22

ISW mult. is glitch-robust 𝒓-SNI in 2 cycles 7

Example with:

  • 𝑒 = 3
  • π‘Ÿ = 2
slide-23
SLIDE 23

ISW mult. is glitch-robust 𝒓-SNI in 2 cycles 7

The adversary can observe:

  • 12 glitch-extended probes
  • 𝑣𝑗,π‘˜β€™s and 𝑑𝑗’s
  • 3 stable (output) probes 𝑑𝑗’s

β‡’ We need to describe a simulator using π‘Ÿ1 shares/input

slide-24
SLIDE 24

ISW mult. is glitch-robust 𝒓-SNI in 2 cycles 7

  • 1st example: 2 extended probes
  • G(𝑣1,2) ≔ 𝑏1, 𝑐2, 𝑠

1,2

  • G 𝑑1 ≔ 𝑣1,1, 𝑣2,1, 𝑣3,1

to simul. with 2 shares/input

slide-25
SLIDE 25

ISW mult. is glitch-robust 𝒓-SNI in 2 cycles 7

  • 1st example: 2 extended probes
  • G(𝑣1,2) ≔ 𝑏1, 𝑐2, 𝑠

1,2

  • G 𝑑1 ≔ 𝑣1,1, 𝑣2,1, 𝑣3,1
  • 𝑏1, 𝑐2: use a 1st share of 𝑏, 𝑐
  • 𝑠

1,2: random value

  • 𝑣1,1 (𝑏1𝑐1): use a 2nd share of 𝑐
  • 𝑣2,1 (𝑏2𝑐1): use a 2nd share of a
  • 𝑣3,1 (𝑏3𝑐1 + 𝑠

1,3): random value

slide-26
SLIDE 26

ISW mult. is glitch-robust 𝒓-SNI in 2 cycles 7

  • 1st example: 2 extended probes
  • G(𝑣1,2) ≔ 𝑏1, 𝑐2, 𝑠

1,2

  • G 𝑑1 ≔ 𝑣1,1, 𝑣2,1, 𝑣3,1
  • 𝑏1, 𝑐2: use a 1st share of 𝑏, 𝑐
  • 𝑠

1,2: random value

  • 𝑣1,1 (𝑏1𝑐1): use a 2nd share of 𝑐
  • 𝑣2,1 (𝑏2𝑐1): use a 2nd share of a
  • 𝑣3,1 (𝑏3𝑐1 + 𝑠

1,3): random value

slide-27
SLIDE 27

ISW mult. is glitch-robust 𝒓-SNI in 2 cycles 7

  • 1st example: 2 extended probes
  • G(𝑣1,2) ≔ 𝑏1, 𝑐2, 𝑠

1,2

  • G 𝑑1 ≔ 𝑣1,1, 𝑣2,1, 𝑣3,1
  • 𝑏1, 𝑐2: use a 1st share of 𝑏, 𝑐
  • 𝑠

1,2: random value

  • 𝑣1,1 (𝑏1𝑐1): use a 2nd share of 𝑐
  • 𝑣2,1 (𝑏2𝑐1): use a 2nd share of a
  • 𝑣3,1 (𝑏3𝑐1 + 𝑠

1,3): random value

slide-28
SLIDE 28

ISW mult. is glitch-robust 𝒓-SNI in 2 cycles 7

  • 1st example: 2 extended probes
  • G(𝑣1,2) ≔ 𝑏1, 𝑐2, 𝑠

1,2

  • G 𝑑1 ≔ 𝑣1,1, 𝑣2,1, 𝑣3,1
  • 𝑏1, 𝑐2: use a 1st share of 𝑏, 𝑐
  • 𝑠

1,2: random value

  • 𝑣1,1 (𝑏1𝑐1): use a 2nd share of 𝑐
  • 𝑣2,1 (𝑏2𝑐1): use a 2nd share of 𝑏
  • 𝑣3,1 (𝑏3𝑐1 + 𝑠

1,3): random value

slide-29
SLIDE 29

ISW mult. is glitch-robust 𝒓-SNI in 2 cycles 7

  • 1st example: 2 extended probes
  • G(𝑣1,2) ≔ 𝑏1, 𝑐2, 𝑠

1,2

  • G 𝑑1 ≔ 𝑣1,1, 𝑣2,1, 𝑣3,1
  • 𝑏1, 𝑐2: use a 1st share of 𝑏, 𝑐
  • 𝑠

1,2: random value

  • 𝑣1,1 (𝑏1𝑐1): use a 2nd share of 𝑐
  • 𝑣2,1 (𝑏2𝑐1): use a 2nd share of 𝑏
  • 𝑣3,1 (𝑏3𝑐1 + 𝑠

1,3): random value

slide-30
SLIDE 30

ISW mult. is glitch-robust 𝒓-SNI in 2 cycles 7

  • 2nd example: 1 extended probe
  • G(𝑣1,2) ≔ 𝑏1, 𝑐2, 𝑠

1,2

  • Non-extended 𝑑1
  • to simul. with 1 share/input
slide-31
SLIDE 31

ISW mult. is glitch-robust 𝒓-SNI in 2 cycles 7

  • 2nd example: 1 extended probe
  • G(𝑣1,2) ≔ 𝑏1, 𝑐2, 𝑠

1,2

  • Non-extended 𝑑1
  • 𝑏1, 𝑐2: use a 1st share of 𝑏, 𝑐
  • 𝑠

1,2: random value

  • 𝑑1: random value (simulation

with 1 share/input impossible with an extended probe on 𝑑1)

slide-32
SLIDE 32

How to compose (simply) 8

  • Multiplications: use only

robust-SNI multiplications with one input refreshed in a robust-SNI manner

  • Perform linear operations

independently on each share

[Goudarzi & Rivain, Eurocrypt 2018], [Cassiers & Standaert, ePrint 2018]

slide-33
SLIDE 33

How to compose (simply) 8

  • Multiplications: use only

robust-SNI multiplications with one input refreshed in a robust-SNI manner

  • Perform linear operations

independently on each share

[Goudarzi & Rivain, Eurocrypt 2018], [Cassiers & Standaert, ePrint 2018]

β‡’ Allows building arbitrary

circuits without risk of glitches nor compositional flaws

slide-34
SLIDE 34

How to compose (simply) 8

  • Multiplications: use only

robust-SNI multiplications with one input refreshed in a robust-SNI manner

  • Perform linear operations

independently on each share

[Goudarzi & Rivain, Eurocrypt 2018], [Cassiers & Standaert, ePrint 2018]

β‡’ Allows building arbitrary

circuits without risk of glitches nor compositional flaws (Sufficient but not necessary!)

slide-35
SLIDE 35

Conclusions 9

  • Main contributions:
  • 1. Robust probing model
  • Allows analyzing formally and confirming the

relevance of many designs ideas (e.g., Threshold

Implementations, Domain Oriented Masking, Unified Masking Approach, Generic Low Latency Masking, …)

  • Not only a theoretical concern!
  • Higher-order flaws in many published designs
  • https://eprint.iacr.org/2018/490
  • 2. A 1st multiplication algorithm/implementation proven

robust against glitches and composable at any order

slide-36
SLIDE 36

Other results 10

  • β€œGlitch Locality Principle”
  • Glitch-robust NI + SNI (wo glitches) = glitch-robust SNI
  • By contrast, glitch-robust probing security

+ SNI (wo glitches) β‰  glitch-robust SNI

  • More general model to capture other physical defaults

(e.g., transitions-based leakages, coupling)

  • And a discussion of how they are combined
  • Empirical validation (for 2-share and 3-share designs)
  • More results on Threshold Implementations
  • Pseudo-composability and reduced randomness
  • # of cycles vs. randomness tradeoff
  • More TI decompositions based on Feistel nets.
slide-37
SLIDE 37

THANKS

http://perso.uclouvain.be/fstandae/

slide-38
SLIDE 38

Pseudo-composability a

𝑑2 = 𝑦2 βˆ™ 𝑧2 + 𝑦2 βˆ™ 𝑧3 + 𝑦3 βˆ™ 𝑧2 + 𝑨2

  • Typical example: Toffoli gate 𝑑 = 𝑦 βˆ™ 𝑧 + 𝑨
  • Threshold implementation:

𝑑1 = 𝑦1 βˆ™ 𝑧1 + 𝑦1 βˆ™ 𝑧2 + 𝑦2 βˆ™ 𝑧1 + 𝑨1 𝑑3 = 𝑦3 βˆ™ 𝑧3 + 𝑦1 βˆ™ 𝑧3 + 𝑦3 βˆ™ 𝑧1 + 𝑨3

slide-39
SLIDE 39

Pseudo-composability a

𝑑2 = 𝑦2 βˆ™ 𝑧2 + 𝑦2 βˆ™ 𝑧3 + 𝑦3 βˆ™ 𝑧2 + 𝑨2

  • Typical example: Toffoli gate 𝑑 = 𝑦 βˆ™ 𝑧 + 𝑨
  • Threshold implementation:
  • Not NI nor SNI (e.g., it is impossible to simulate a probe on

𝑑1 with a single share per input (lack of internal rand)

  • But β€œpseudo-NI/pseudo-SNI” if the monomials of 𝑨 are used
  • nce and one assumes that can be considered as random
  • Can lead to nice randomness optimizations at low orders!

𝑑1 = 𝑦1 βˆ™ 𝑧1 + 𝑦1 βˆ™ 𝑧2 + 𝑦2 βˆ™ 𝑧1 + 𝑨1 𝑑3 = 𝑦3 βˆ™ 𝑧3 + 𝑦1 βˆ™ 𝑧3 + 𝑦3 βˆ™ 𝑧1 + 𝑨3