Fault Based Almost Universal Forgeries on CLOC and SILC Avik - - PowerPoint PPT Presentation

fault based almost universal forgeries on cloc and silc
SMART_READER_LITE
LIVE PREVIEW

Fault Based Almost Universal Forgeries on CLOC and SILC Avik - - PowerPoint PPT Presentation

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Fault Based Almost Universal Forgeries on CLOC and SILC Avik Chakraborti


slide-1
SLIDE 1

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion

Fault Based Almost Universal Forgeries on CLOC and SILC

Avik Chakraborti (ISI, Kolkata) Joint Work With Debapriya Basu Roy (IIT Kharagpur) Donghoon Chang (IIIT, Delhi) S V Dilip Kumar (IIT Kharagpur) Debdeep Mukhopadhyay (IIT Kharagpur) and Mridul Nandi (ISI, Kolkata)

September, 2016

Fault Analysis on CLOC and SILC

slide-2
SLIDE 2

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion

1

Motivation

2

Description of CLOC and SILC

3

Fault Based Almost Universal Forgery on CLOC

4

Fault Based Almost Universal Forgery on SILC

5

Implementation of Fault

6

Conclusion

Fault Analysis on CLOC and SILC

slide-3
SLIDE 3

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion

Generic Fault Based Existential Forgery on AE Schemes

Make a fault injected encryption query (N, A, M) and receive (C, T). Fault is injected at known bit positions N and A to result in N′ and A′ respectively. Make a valid forge with (N′, A′, C, T). Non-Trivial k (k ≫ 1) forgery using one or very few faults

Fault Analysis on CLOC and SILC

slide-4
SLIDE 4

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion

1

Motivation

2

Description of CLOC and SILC

3

Fault Based Almost Universal Forgery on CLOC

4

Fault Based Almost Universal Forgery on SILC

5

Implementation of Fault

6

Conclusion

Fault Analysis on CLOC and SILC

slide-5
SLIDE 5

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion

Description of CLOC

Hash

⊕ ⊕ ⊕ fix0 A1 A2 Aa

  • zp(N)

Ek Ek Ek i f1 V

Encrypt

V fix1 fix1 fix1 M1 M2 Mm−1 Mm Ek Ek Ek Ek ⊕ ⊕ ⊕ ⊕ C1 C2 Cm−1 Cm

V ← HashK(N, A), C ← EncK(V , M), T ← PRFK(V , C)

Fault Analysis on CLOC and SILC

slide-6
SLIDE 6

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion

Description of SILC

Differes with CLOC in HashK. EncK and PRFK are same. Hash

⊕ ⊕ ⊕ N A1 Aa len(A) zpp Ek i Ek Ek g V

Encrypt

V fix1 fix1 fix1 M1 M2 Mm−1 Mm Ek Ek Ek Ek ⊕ ⊕ ⊕ ⊕ C1 C2 Cm−1 Cm

V ← HashK(N, A), C ← EncK(V , M), T ← PRFK(V , C)

Fault Analysis on CLOC and SILC

slide-7
SLIDE 7

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Single Bit Fault Based Forgery on CLOC Almost Universal Fault Based Forgery on CLOC

1

Motivation

2

Description of CLOC and SILC

3

Fault Based Almost Universal Forgery on CLOC Single Bit Fault Based Forgery on CLOC Almost Universal Fault Based Forgery on CLOC

4

Fault Based Almost Universal Forgery on SILC

5

Implementation of Fault

6

Conclusion

Fault Analysis on CLOC and SILC

slide-8
SLIDE 8

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Single Bit Fault Based Forgery on CLOC Almost Universal Fault Based Forgery on CLOC

Fault Model

Fault e injected at the first bit of the n-bit input state of the second block cipher call in EncK.

V r

Fault e

M1 M2 M3 M4 Ek Ek Ek Ek ⊕ ⊕ ⊕ ⊕ X fix1 fix1 fix1 C1 Y C2 X1 Y1 C3 X2 Y2 C4

Fault Analysis on CLOC and SILC

slide-9
SLIDE 9

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Single Bit Fault Based Forgery on CLOC Almost Universal Fault Based Forgery on CLOC

Phase 1 of the Forgery

Construct a faulty ip/op pair and 2 valid ip/op pairs corresponding to EK by one enc query. 1 enc query (Nr, Ar, M = (M1, M2, M3, M4)) Receives (C = (C1, C2, C3, C4), T) Computes (X, Y ), (X1, Y1), (X2, Y2)

Fault Analysis on CLOC and SILC

slide-10
SLIDE 10

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Single Bit Fault Based Forgery on CLOC Almost Universal Fault Based Forgery on CLOC

Phase 2

Construct two colliding associated data (A, A

′), that produces

same V under same N

⊕ ⊕ ⊕ A1 A2 A3

  • zp(N)

fix0 Ek X Ek Ek Y Y + X1 X1 Y1 Y1 + X2 X2 f1 Y2 V ⊕ ⊕ ⊕ A1 A′

2

A′

3

  • zp(N)

fix0 Ek X Ek Ek Y Y + X2 X2 Y2 Y2 + X2 X2 f1 Y2 V

Fault Analysis on CLOC and SILC

slide-11
SLIDE 11

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Single Bit Fault Based Forgery on CLOC Almost Universal Fault Based Forgery on CLOC

Phase 3 and Phase 4

Phase 3 Construct (C ∗, T ∗) under N, A and M∗ by a single encryption query Phase 4 Forge (N, A

′, C ∗, T ∗) Fault Analysis on CLOC and SILC

slide-12
SLIDE 12

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Single Bit Fault Based Forgery on CLOC Almost Universal Fault Based Forgery on CLOC

1

Motivation

2

Description of CLOC and SILC

3

Fault Based Almost Universal Forgery on CLOC Single Bit Fault Based Forgery on CLOC Almost Universal Fault Based Forgery on CLOC

4

Fault Based Almost Universal Forgery on SILC

5

Implementation of Fault

6

Conclusion

Fault Analysis on CLOC and SILC

slide-13
SLIDE 13

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Single Bit Fault Based Forgery on CLOC Almost Universal Fault Based Forgery on CLOC

Different Steps for the Almost Universal Forgery on CLOC

Any (N, A = (A1, · · · , Aa), M = (M1, · · · , Mm)), except A1 fixed Obtain faulty ip-op pair X and Y (like Phase 1) A1 = X Compute all BC ip-op pairs during A processing Requires a enc queries Find A

′ colliding with A at V

Enc query: (N, A′, M) → (C, T) Forge with (N, A, C, T)

Fault Analysis on CLOC and SILC

slide-14
SLIDE 14

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Single Bit Fault Based Forgery on CLOC Almost Universal Fault Based Forgery on CLOC

What does Almost Mean?

I1 = A1 = X, O1 = Y = Ek(I1) X1 = A2 ⊕ O1, Y1 = Ek(X1) Xa−1 = Aa ⊕ Ya−2, Ya−1 = Ek(Xa−1) Restriction Only A1 = X No restrictions on N and M

Fault Analysis on CLOC and SILC

slide-15
SLIDE 15

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Single Bit Fault Based Forgery on CLOC Almost Universal Fault Based Forgery on CLOC

First Encrytion Query

Query with N, A and any a single block message Mr = Mr

1.

Receive (C r

1, T r)

Compute Ek(V ) = Mr

1 ⊕ C r 1

Fault Analysis on CLOC and SILC

slide-16
SLIDE 16

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Single Bit Fault Based Forgery on CLOC Almost Universal Fault Based Forgery on CLOC

Next a-2 Encrytion Queries

For i=1 to a-2 Make an encryption query (N, A, M = (M′

1 = Ek(V ) ⊕ Xi, M′ 2)

and receive (C ′ = (C ′

1, C ′ 2), T ′).

Compute Yi = M′

2 ⊕ C ′ 2.

Compute Xi+1 = Ai+2 ⊕ Yi.

Fault Analysis on CLOC and SILC

slide-17
SLIDE 17

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Single Bit Fault Based Forgery on CLOC Almost Universal Fault Based Forgery on CLOC

Last 2 Encrytion Queries

Make an encryption query (N, A, M = (M′

1 = Ek(V ) ⊕ Xa−1, M′ 2) and receive

(C ′ = (C ′

1, C ′ 2), T ′)

Compute Ya−1 = M′

2 ⊕ C ′ 2

Find a colliding associated data A′ for A (colliding at V ) (Same as Phase 2) Make an encryption query (N, A′, M) and receive (C, T)

Fault Analysis on CLOC and SILC

slide-18
SLIDE 18

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Single Bit Fault Based Forgery on CLOC Almost Universal Fault Based Forgery on CLOC

Valid Forge

(N, A, C, T) is a Valid forge

Fault Analysis on CLOC and SILC

slide-19
SLIDE 19

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Single Bit Fault Based Forgery on SILC Almost Universal Fault Based Forgery on SILC

1

Motivation

2

Description of CLOC and SILC

3

Fault Based Almost Universal Forgery on CLOC

4

Fault Based Almost Universal Forgery on SILC Single Bit Fault Based Forgery on SILC Almost Universal Fault Based Forgery on SILC

5

Implementation of Fault

6

Conclusion

Fault Analysis on CLOC and SILC

slide-20
SLIDE 20

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Single Bit Fault Based Forgery on SILC Almost Universal Fault Based Forgery on SILC

1

Motivation

2

Description of CLOC and SILC

3

Fault Based Almost Universal Forgery on CLOC

4

Fault Based Almost Universal Forgery on SILC Single Bit Fault Based Forgery on SILC Almost Universal Fault Based Forgery on SILC

5

Implementation of Fault

6

Conclusion

Fault Analysis on CLOC and SILC

slide-21
SLIDE 21

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Single Bit Fault Based Forgery on SILC Almost Universal Fault Based Forgery on SILC

Fault Model

Fault e injected at the first bit of the n-bit input state of the second block cipher call in EncK. Same as that of CLOC

V r

Fault e

fix1 M ′

1

M2 Ek Ek ⊕ ⊕ X C′

1

Y C′

2

Fault Analysis on CLOC and SILC

slide-22
SLIDE 22

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Single Bit Fault Based Forgery on SILC Almost Universal Fault Based Forgery on SILC

Phase 1 of the Forgery

Construct a faulty ip/op pair and 2 valid ip/op pairs to EK by 2 enc queries.

V r fix1 fix1 M1 M2 M3 Ek Ek Ek ⊕ ⊕ ⊕ X1 C1 Y1 C2 X2 Y2 C3 V r

Fault e

fix1 M ′

1

M2 Ek Ek ⊕ ⊕ X C′

1

Y C′

2

Fault Analysis on CLOC and SILC

slide-23
SLIDE 23

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Single Bit Fault Based Forgery on SILC Almost Universal Fault Based Forgery on SILC

Phase 2

Construct two colliding associated data (A, A

′), that produces

same V under same N

⊕ ⊕ ⊕ N A1 A2 len(A) fix0 Ek X Ek Ek Y Y + X1 X1 Y1 Y1 + X2 X2 g Y2 V ⊕ ⊕ ⊕ N A′

1

A′

2

len(A) zpp Ek X Ek Ek Y Y + X2 X2 Y2 Y2 + X2 X2 g Y2 V

Fault Analysis on CLOC and SILC

slide-24
SLIDE 24

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Single Bit Fault Based Forgery on SILC Almost Universal Fault Based Forgery on SILC

Phase 3 and Phase 4

Phase 3 Construct (C ∗, T ∗) under N, A and M∗ by a single encryption query Phase 4 Forge (N, A

′, C ∗, T ∗) Fault Analysis on CLOC and SILC

slide-25
SLIDE 25

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Single Bit Fault Based Forgery on SILC Almost Universal Fault Based Forgery on SILC

1

Motivation

2

Description of CLOC and SILC

3

Fault Based Almost Universal Forgery on CLOC

4

Fault Based Almost Universal Forgery on SILC Single Bit Fault Based Forgery on SILC Almost Universal Fault Based Forgery on SILC

5

Implementation of Fault

6

Conclusion

Fault Analysis on CLOC and SILC

slide-26
SLIDE 26

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Single Bit Fault Based Forgery on SILC Almost Universal Fault Based Forgery on SILC

Different Steps for Almost Universal Forgery

Any (N, A, M), except N fixed, first bit of Ai, 1 ≤ i ≤ a is restricted Obtain faulty ip-op pair X and Y (like Phase 1) zpp(N) = X Compute all BC ip-op pairs during A processing Requires a + 1 enc queries Find A

′ colliding with A at V

Enc query: (N, A′, M) → (C, T) Forge with (N, A, C, T)

Fault Analysis on CLOC and SILC

slide-27
SLIDE 27

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion Single Bit Fault Based Forgery on SILC Almost Universal Fault Based Forgery on SILC

What does Almost Mean?

X1 = zpp(N) = X, Y1 = Y = Ek(X1) X2 = A1 ⊕ (Y1), Y2 = Ek(X2) Xa+1 = Aa ⊕ Ya, Ya+1 = Ek(Xa+1) Restriction zpp(N) = X and X1 = Y ⊕ A1 No restrictions on M The rest of the attack is same

Fault Analysis on CLOC and SILC

slide-28
SLIDE 28

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion

1

Motivation

2

Description of CLOC and SILC

3

Fault Based Almost Universal Forgery on CLOC

4

Fault Based Almost Universal Forgery on SILC

5

Implementation of Fault

6

Conclusion

Fault Analysis on CLOC and SILC

slide-29
SLIDE 29

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion

Fault Attack Setup

Electromagnetic Probe Board FGPA PC Amplifier RF Transmission Reception Trigger Oscilloscope Delay Generator Trigger Trigger Generator RF Electromagnetic Pulse Amplified Pulse Electromagnetic Electromagnetic Pulse Injection

Fault Analysis on CLOC and SILC

slide-30
SLIDE 30

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion

Implementation Results

Implemented in SPARTAN-6 FPGA of SAKURA-G board LUT - 1000, Registers - 1000, Slices - 1000, Critical path - 6ns Focus only on fix1 module, fix1 module have been ported 32 bit left shift in the output of fix1 module Input a random M with 95th bit 0 and inject fault After fault - First bit of M is 0

Fault Analysis on CLOC and SILC

slide-31
SLIDE 31

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion

1

Motivation

2

Description of CLOC and SILC

3

Fault Based Almost Universal Forgery on CLOC

4

Fault Based Almost Universal Forgery on SILC

5

Implementation of Fault

6

Conclusion

Fault Analysis on CLOC and SILC

slide-32
SLIDE 32

Motivation Description of CLOC and SILC Fault Based Almost Universal Forgery on CLOC Fault Based Almost Universal Forgery on SILC Implementation of Fault Conclusion

Conclusion

Fault based Almost Universal forgery on CLOC Fault based Almost Universal forgery on SILC Implementation of Fault

Thank you

Fault Analysis on CLOC and SILC