lattice-based signature schemes and their...

21
LATTICE-BASED SIGNATURE SCHEMES AND THEIR SENSITIVITY TO FAULT ATTACKS Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

Upload: others

Post on 20-Feb-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LATTICE-BASED SIGNATURE SCHEMES AND THEIR ...conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session...Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

LATTICE-BASED SIGNATURE SCHEMES AND THEIR SENSITIVITY TO FAULT ATTACKS

Nina Bindel

Johannes Buchmann

Juliane KrämerTU Darmstadt

FDTC 2016

08/16/2016

Page 2: LATTICE-BASED SIGNATURE SCHEMES AND THEIR ...conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session...Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

SHOR’S ALGORITHM 1994

RSA and ECDSA insecure

3

Page 3: LATTICE-BASED SIGNATURE SCHEMES AND THEIR ...conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session...Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

QUANTUM COMPUTER REALISTIC?

4

• John Martinis (UCSB & Google Quantum Labs): until 2019 universal quantum computer

• Prediction by EU-commision: until 2035 universal quantum computer

Page 4: LATTICE-BASED SIGNATURE SCHEMES AND THEIR ...conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session...Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

BETTER SAFE THAN SORRY

5

• NSA, 2015 : announcement about transition from classical toquantum-resistant crypto

• NIST, 2016: announcement to start standardization competition

Page 5: LATTICE-BASED SIGNATURE SCHEMES AND THEIR ...conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session...Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

POST-QUANTUM CANDIDATES

• Quantum key distribution

• Multivariate Crypto

• Code-based Crypto

• Hash-based Crypto

• Lattice-based Crypto

6

Side-channel analysis

Fault analysis

Page 6: LATTICE-BASED SIGNATURE SCHEMES AND THEIR ...conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session...Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

CONTRIBUTION

7

• Analysis of LBSS: BLISS, GLP, ring-TESLA

• 1st order attacks• Randomization, skipping, zeroing

• all-in-all 15 different attacks• to 9 at least one scheme vulnerable

• Propose countermeasures

Page 7: LATTICE-BASED SIGNATURE SCHEMES AND THEIR ...conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session...Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

VULNERABILITIES OF LBSS

8

Fault Attack Changed Value or Op. Algorithm GLP BLISS ring-TESLA

Randomization Secret Sign

Skipping

Addition Key Gen

Addition Sign

Correctness check Verify

Size check Verify

ZeroingSecret Key Gen -

Randomness Sign

Hash polynomial Sign

Page 8: LATTICE-BASED SIGNATURE SCHEMES AND THEIR ...conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session...Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

NOTATION

• 𝑅𝑞 = ℤq[x]/(xn + 1), i.e., polys of degree n-1 with coefficients in −

q

2,q

2

• Security assumption: Learning with errors (R-LWE)

Short integer solution (R-SIS)

9

Page 9: LATTICE-BASED SIGNATURE SCHEMES AND THEIR ...conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session...Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

LATTICE-BASED HARDNESSASSUMPTION

R-LWE

10

=+

a ∙ s + e = b mod q

a 𝑅𝑞

𝐷𝜎 or “small”si, ei

Secret keyPublic key

Page 10: LATTICE-BASED SIGNATURE SCHEMES AND THEIR ...conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session...Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

IDEA RANDOMIZATION ATTACK

• Based on Bao et al. [BDHJNN96]

11

Fault injection:

Change coefficient of original secret

Software computation:

Find index and value of faultedsecret

Page 11: LATTICE-BASED SIGNATURE SCHEMES AND THEIR ...conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session...Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

DESCRIPTION KEY GENERATION OFGLP SCHEME

12

1. s, e ← poly with coeffs ∈ {−1,0,1}

2. a←$ℤq[x]/(x

n + 1)

3. b ← as + e mod q

4. sk = s, pk = (a, b)

5. Return (pk, sk)

Key Generation

Input: 1𝜅

Output: pk, sk

Page 12: LATTICE-BASED SIGNATURE SCHEMES AND THEIR ...conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session...Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

DESCRIPTION OF GLP SCHEME

13

1. y1, y2 ← $

2. c ← H(ay1 + y2, μ)

3. z1 ← y1 + sc

4. z2 ← y2 + ec

5. Return (z1, z2, c) with some probability

Signature Generation

Input: sk = (s, e), μ

Output: σ = (z1, z2, c)

1. Check size of z1, z22. Check c = H(az1 + z2 − bc, μ)

3. If both checks okay: accept

4. Otherwise: reject

Verification

Input: σ, μ, pk = (a, b)

Output: {0,1}

Page 13: LATTICE-BASED SIGNATURE SCHEMES AND THEIR ...conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session...Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

STRUCTURE ATTACK

14

1st Insert fault: change one coeff. si ∈ {−1,0,1} to si′ ∈ {−1,0,1}

2nd Software computation: find index i anddetermine value of si

Assumption 1

Assumption 2: coeffs. saved in 2 bit

1st find si − si′ at index i

2nd compute si

Page 14: LATTICE-BASED SIGNATURE SCHEMES AND THEIR ...conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session...Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

FAULTED SIGNATURE

15

1. y1, y2 ← $

2. c ← H(ay1 + y2, μ)

3. z1 ← y1 + s′c

4. z2 ← y2 + ec

5. Return (z1, z2, c) with some probability

Signature Generation

Input: sk = (s, e), μ

Output: σ = (z1, z2, c)

During verification check c = H(az1 + z2 − bc, μ)

Instead check c = H(az1 + z2 − bc − aαxic, μ) for values

α ∈ −2,−1,0,1,2 and i ∈ {0, … , n − 1}

Page 15: LATTICE-BASED SIGNATURE SCHEMES AND THEIR ...conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session...Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

FINDING INDEX AND VALUE

16

For which values α ∈ −2,−1,0,1,2 and i ∈ {0, … , n − 1} does theequation …

… hold?

c = H az1 + z2 − bc − aαxic, μ

= H a y1 + s′c + y2 + ec − as + e c − aαxic, μ

= H ay1 + y2 + a(s′−s − αxi)c, μ

Page 16: LATTICE-BASED SIGNATURE SCHEMES AND THEIR ...conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session...Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

DETERMINATION OF COEFFICIENT

17

si 0 0 0 1 1 1 -1 -1 -1

si′ 0 1 -1 0 1 -1 0 1 -1

α = si-si′ 0 -1 1 1 0 2 -1 -2 0

Probability touniquely determinecoeff.: 2/9

Page 17: LATTICE-BASED SIGNATURE SCHEMES AND THEIR ...conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session...Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

NUMBER OF NEEDED FAULTS

Enough to determine 118 of the secret coefficients

expected number of faults: 9

2⋅ 118 ≈ 531

18

Number of secret coefficients: n = 512

plain expected number of faults: 9

2⋅ 512 ≈ 2304

Reduce number of faults: Hybrid approach of fault attacks and mathematical crypanalysis of LWE

Page 18: LATTICE-BASED SIGNATURE SCHEMES AND THEIR ...conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session...Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

HYBRID APPROACH

19

• LWE gets easier when part of the secret known

• Software Computation time: 1 day• Lattice cryptanalysis [LP10]: 118 coefficients necessary

Coefficients by fault attacks: 118 Coefficients by lattice-based cryptanalysis: 396

Page 19: LATTICE-BASED SIGNATURE SCHEMES AND THEIR ...conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session...Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

GENERALIZATIONS

• change more than one coefficient per fault•decreases number of expected faults

• increases run time to find coefficients

• apply similar approach to BLISS •coeffs chosen in small interval

• not feasible for ring-TESLA• coeffs chosen Gaussian distributed

20

One countermeasure: useLWE with Gaussian distribution

Page 20: LATTICE-BASED SIGNATURE SCHEMES AND THEIR ...conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session...Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

COUNTERMEASURE

21

1. y1, y2 ← $

2. c ← H ay1 + y2, μ3.

4. z1 ← y1 + sc

5. z2 ← y2 + ec

6. Return (z1, 𝑧2, c)

b′ = as′ + e mod q

z1 ← a−1 b − b′ c + 𝑠′c + y1

Disadvantage:• Additional computation: a−1, b′• Additional input: b

z1 = a−1 b − b′ c + s′c + y1= a−1 as + e − as′ − e + s′c + y1= a−1a s − s′ c + s′c + y1= sc + y1

Page 21: LATTICE-BASED SIGNATURE SCHEMES AND THEIR ...conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session...Nina Bindel Johannes Buchmann Juliane Krämer TU Darmstadt FDTC 2016 08/16/2016

FUTURE WORK

• implement and run attack in praxis

• implement countermeasures and evaluate their effectiveness

THANKS