Proofs of Retrievability Using Locally Decodable Codes Julien - - PowerPoint PPT Presentation

proofs of retrievability using locally decodable codes
SMART_READER_LITE
LIVE PREVIEW

Proofs of Retrievability Using Locally Decodable Codes Julien - - PowerPoint PPT Presentation

Proofs of Retrievability Using Locally Decodable Codes Julien Lavauzelle, Franoise Levy-dit-Vehel GRACE team, LIX & INRIA, Palaiseau, France 2016 IEEE International Symposium on Information Theory July 13, 2016 Issue Server Client Huge


slide-1
SLIDE 1

Proofs of Retrievability Using Locally Decodable Codes

Julien Lavauzelle, Françoise Levy-dit-Vehel

GRACE team, LIX & INRIA, Palaiseau, France

2016 IEEE International Symposium on Information Theory July 13, 2016

slide-2
SLIDE 2

Issue

Client Server

Huge file (e.g. 10 GB)

1/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-3
SLIDE 3

Issue

Client Server

Huge file (e.g. 10 GB)

1/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-4
SLIDE 4

Issue

Client Server

?

Is the file retrievable?

1/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-5
SLIDE 5

Definition (Proof of Retrievability)

Proof of Retrievability (PoR) = 3 procedures:

◮ Initialization [Client] :

F → Init(F) = ( ˜ F, dataF) Then, the client uploads ˜ F on the server.

2/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-6
SLIDE 6

Definition (Proof of Retrievability)

Proof of Retrievability (PoR) = 3 procedures:

◮ Initialization [Client] :

F → Init(F) = ( ˜ F, dataF) Then, the client uploads ˜ F on the server.

◮ Verification [Client ←

→ Server] :

Client (dataF) Server ( ˜ F) Pick a challenge c Compute an answer r VerifdataF (c, r) ∈ {true, false} c r

2/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-7
SLIDE 7

Definition (Proof of Retrievability)

Proof of Retrievability (PoR) = 3 procedures:

◮ Initialization [Client] :

F → Init(F) = ( ˜ F, dataF) Then, the client uploads ˜ F on the server.

◮ Verification [Client ←

→ Server] :

Client (dataF) Server ( ˜ F) Pick a challenge c Compute an answer r VerifdataF (c, r) ∈ {true, false} c r

◮ Extraction [Client ←

→ Server]. We want that Extract(dataF) = F holds w.h.p.

2/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-8
SLIDE 8

A security model

Definition (τ-faulty server). Let τ ∈ [0, 1], P be a PoR and X the distribution of challenges. A τ-faulty server A for P is an algorithm such that, for all encoded files ˜ F: Px∼X

  • VerifdataF (x, A( ˜

F, x)) = false

  • < τ .

Rem: this also includes malicious servers.

3/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-9
SLIDE 9

A security model

Definition (τ-faulty server). Let τ ∈ [0, 1], P be a PoR and X the distribution of challenges. A τ-faulty server A for P is an algorithm such that, for all encoded files ˜ F: Px∼X

  • VerifdataF (x, A( ˜

F, x)) = false

  • < τ .

Rem: this also includes malicious servers. Definition (PoR soundness). Let τ, ε ∈ [0, 1]. A PoR is said (τ, ε)-sound if, for all τ-faulty servers A and all files F: P

  • Extract(dataF) = F
  • ≥ 1 − ε ,

where the probability is taken over extraction procedure randomness.

3/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-10
SLIDE 10

The seminal example

  • A. Juels, B. Kaliski Jr., PORs: Proofs of Retrievability for large files. in

Proceedings of the 2007 ACM Conference on Computer and Communications Security, Alexandria, USA, 2007.

x1 x2 x3 x6 x5 x7 x8 x0 x9 x4 x1 x2 x3 x6 x5 x7 x8 x0 x9 x4 4/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-11
SLIDE 11

The seminal example

  • A. Juels, B. Kaliski Jr., PORs: Proofs of Retrievability for large files. in

Proceedings of the 2007 ACM Conference on Computer and Communications Security, Alexandria, USA, 2007.

x1 x2 x3 x6 x5 x7 x8 x0 x9 x4 4/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-12
SLIDE 12

The seminal example

  • A. Juels, B. Kaliski Jr., PORs: Proofs of Retrievability for large files. in

Proceedings of the 2007 ACM Conference on Computer and Communications Security, Alexandria, USA, 2007.

x1 x2 x3 x6 x5 x7 x8 x0 x9 x4 x4,x7 ? 4/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-13
SLIDE 13

The seminal example

  • A. Juels, B. Kaliski Jr., PORs: Proofs of Retrievability for large files. in

Proceedings of the 2007 ACM Conference on Computer and Communications Security, Alexandria, USA, 2007.

x1 x2 x3 x6 x5 x7 x8 x0 x9 x4 x4,x7 ? 4/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-14
SLIDE 14

The seminal example

  • A. Juels, B. Kaliski Jr., PORs: Proofs of Retrievability for large files. in

Proceedings of the 2007 ACM Conference on Computer and Communications Security, Alexandria, USA, 2007.

x4,x7 ? x1 x2 x3 x6 x5 x7 x8 x0 x9 x4 4/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-15
SLIDE 15

Other features

◮ Low communication; ◮ low server overhead and low client storage; ◮ low algorithmic complexity; ◮ unbounded use. 5/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-16
SLIDE 16

Towards structure verification

JK’07 main drawbacks:

◮ bounded use; ◮ quite big client storage. 6/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-17
SLIDE 17

Towards structure verification

JK’07 main drawbacks:

◮ bounded use; ◮ quite big client storage.

Our idea:

◮ check the structure of the file instead of file values; ◮ use locally decodable codes which provide a local

structure.

6/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-18
SLIDE 18

Error-correcting codes

Fq = {t1, . . . , tq} a finite field. ev1 : Fq[T] → Fq

q

f → (f (t1), . . . , f (tq)) evm : Fq[X1, . . . , Xm] → Fqm

q

f → (f (x))x∈Fm

q

Example: full length Reed-Solomon code (n = q). C = RSq(k) = {ev1(f ), f ∈ Fq[X], deg f < k} c = Fq f (xi) ∈ C

7/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-19
SLIDE 19

Affine lifting of codes

Let C ⊆ {ev(f ), f ∈ Fq[T]} be a (univariate) base code. The (multivariate) lifted code Liftm(C) is the code: L = Liftm(C) = {evm(g), g ∈ Fq[X1, . . . , Xm], ∀ affine line ℓ, ev1(g|ℓ) ∈ C} Fq Fq

∈ C

Alan Guo, Swastik Kopparty, Madhu Sudan, New Affine-Invariant Codes from Lifting in Proceedings of ITCS’13, Berkeley, USA, 2013.

8/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-20
SLIDE 20

LiftPoR: Initialization and verification

Consider L = Liftm(C).

◮ Initialization:

Init(F) = dataF = ∅ ˜ F = EncL(F)

9/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-21
SLIDE 21

LiftPoR: Initialization and verification

Consider L = Liftm(C).

◮ Initialization:

Init(F) = dataF = ∅ ˜ F = EncL(F)

◮ Verification:

Client Server ∅ ˜ F Randomly pick a line ℓ ⊂ Fm

q

Read values ˜ c = { ˜ F[x]}x∈ℓ If ˜ c ∈ C, then return

  • true. Else return false.

ℓ ˜ c

9/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-22
SLIDE 22

LiftPoR: Extraction

◮ Initialize file Tab with qm erasures.

Tab: Fm

q → Fq 10/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-23
SLIDE 23

LiftPoR: Extraction

◮ Initialize file Tab with qm erasures. ◮ While there remains ≥ qm−1 erasures :

– run a verification test; – if success: update the file,

Tab: Fm

q → Fq 10/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-24
SLIDE 24

LiftPoR: Extraction

◮ Initialize file Tab with qm erasures. ◮ While there remains ≥ qm−1 erasures :

– run a verification test; – if success: update the file, – otherwise, do nothing.

Tab: Fm

q → Fq 10/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-25
SLIDE 25

LiftPoR: Extraction

◮ Initialize file Tab with qm erasures. ◮ While there remains ≥ qm−1 erasures :

– run a verification test; – if success: update the file, – otherwise, do nothing.

Tab: Fm

q → Fq 10/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-26
SLIDE 26

LiftPoR: Extraction

◮ Initialize file Tab with qm erasures. ◮ While there remains ≥ qm−1 erasures :

– run a verification test; – if success: update the file, – otherwise, do nothing.

Tab: Fm

q → Fq 10/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-27
SLIDE 27

LiftPoR: Extraction

◮ Initialize file Tab with qm erasures. ◮ While there remains ≥ qm−1 erasures :

– run a verification test; – if success: update the file, – otherwise, do nothing.

◮ Decode the remaining erasures with

the decoding algorithm of C. Tab: Fm

q → Fq 10/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-28
SLIDE 28

LiftPoR: Extraction

◮ Initialize file Tab with qm erasures. ◮ While there remains ≥ qm−1 erasures :

– run a verification test; – if success: update the file, – otherwise, do nothing.

◮ Decode the remaining erasures with

the decoding algorithm of C. Tab: Fm

q → Fq

∈ C

10/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-29
SLIDE 29

LiftPoR: Extraction

◮ Initialize file Tab with qm erasures. ◮ While there remains ≥ qm−1 erasures :

– run a verification test; – if success: update the file, – otherwise, do nothing.

◮ Decode the remaining erasures with

the decoding algorithm of C. Tab: Fm

q → Fq 10/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-30
SLIDE 30

LiftPoR: Extraction

◮ Initialize file Tab with qm erasures. ◮ While there remains ≥ qm−1 erasures :

– run a verification test; – if success: update the file, – otherwise, do nothing.

◮ Decode the remaining erasures with

the decoding algorithm of C. Tab: Fm

q → Fq 10/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-31
SLIDE 31

Security analysis

Proposition. If the distance dmin(C) ≥ 2, we can efficiently decode up to qm−1 erasures in Liftm(C). Let A = { line ℓ ⊂ Fm

q }.

Lemma. Let U ⊂ A such that |U| ≥ 1

2 |A|. Then, the union of lines

in U covers all but qm−1 points of Fm

q . 11/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-32
SLIDE 32

Security analysis

Proposition. If the distance dmin(C) ≥ 2, we can efficiently decode up to qm−1 erasures in Liftm(C). Let A = { line ℓ ⊂ Fm

q }.

Lemma. Let U ⊂ A such that |U| ≥ 1

2 |A|. Then, the union of lines

in U covers all but qm−1 points of Fm

q .

Let P be a LiftPoR, with m ≥ 2 and dmin(C) ≥ 2. Then, for all τ < 1/2, P is (τ, 1)-sound.

11/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-33
SLIDE 33

Security analysis

Proposition. If the distance dmin(C) ≥ 2, we can efficiently decode up to qm−1 erasures in Liftm(C). Let A = { line ℓ ⊂ Fm

q }.

Lemma. Let U ⊂ A such that |U| ≥ 1

2 |A|. Then, the union of lines

in U covers all but qm−1 points of Fm

q .

Let P be a LiftPoR, with m ≥ 2 and dmin(C) ≥ 2. Then, for all τ < 1/2, P is (τ, 1)-sound.

Really?

11/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-34
SLIDE 34

An attack

Verification

Client Server ∅ ∅ Randomly pick a line ℓ Build a (random) word c ∈ C If c ∈ C, then accept. Else, reject. ℓ c

Any word in C is accepted!

12/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-35
SLIDE 35

Improvement

How to prevent these spurious codewords with high probability?

13/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-36
SLIDE 36

Improvement

How to prevent these spurious codewords with high probability? Idea: Link each symbol to its location in Fm

q .

For any x ∈ Fm

q , let φx : Fq → Fq be a secret and invertible function.

The new ˜ F is now defined by: ˜ Fx = φx( EncL(F)x)

13/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-37
SLIDE 37

Improvement

How to prevent these spurious codewords with high probability? Idea: Link each symbol to its location in Fm

q .

For any x ∈ Fm

q , let φx : Fq → Fq be a secret and invertible function.

The new ˜ F is now defined by: ˜ Fx = φx( EncL(F)x) In practice: a block cipher Eκ in counter mode (CTR) gives an appropriate keystream; i.e.: φx(α) = α ⊕ Eκ(x).

13/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-38
SLIDE 38

LiftPoR: the secure one

◮ Initialization, verification: just need to add the en(de)cryption step. ◮ Extraction:

– Add a majority voting phase (with threshold γ) in order to increase the soundness. – Consequences: need more memory and time.

Theorem Let P be the LiftPoR with parameters q, m, d = dmin(C) ≥ 2 and γ ∈ [0, 1]. Then, for all τ < (1 − γ)/2, P is (τ, 1 − 2−λ)-sound, where: λ = ˜ O(γqm−1d) .

14/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-39
SLIDE 39

Instanciation and implementation

Numerical values:

Instance Results m q |F| 1/R − 1

  • comm. (bits)

comm./|F| (bits) (redundancy)

  • Cl. → Se.
  • Se. → Cl.

2 64 3, 367 0.217 24 384 0.121 2 4, 096 16, 245, 775 0.033 48 49, 152 0.0030 3 512 79, 837, 411 0.681 54 4, 608 5.84 × 10−5 4 128 49, 578, 831 4.414 56 896 1.92 × 10−5

Implementation (m = 2, dmin(C) = 2) with SageMath (Python).

◮ Subquadratic time complexity for every phase, but ... ◮ ... high constants, e.g. extraction < 10 kbits/s, even without

decryption.

15/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-40
SLIDE 40

Asymptotic results and comparison

|F| : file size |κ| : key size R =

|F| qm log q

: code rate R∗ = 1

R − 1

: code redundancy

Work Bowers-Juels-Oprea Shacham-Waters Ours (2010, JK’07 improved) (2008 − 13) Unbounded use? No (N uses) Yes Yes Client storage |κ| |F|β + |κ| |κ| Server storage αN + R∗|F|

|F|1−β R

+ R∗|F| R∗|F| Communication cost |κ| + α |F|β + |κ|

R∗

|F|

R

1/m Notes α ≃ 28 β ∈ ]0, 1[ m ∈ {2, 3}

16/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-41
SLIDE 41

Asymptotic results and comparison

|F| : file size |κ| : key size R =

|F| qm log q

: code rate R∗ = 1

R − 1

: code redundancy

Work Bowers-Juels-Oprea Shacham-Waters Ours (2010, JK’07 improved) (2008 − 13) Unbounded use? No (N uses) Yes Yes Client storage |κ| |F|β + |κ| |κ| Server storage αN + R∗|F|

|F|1−β R

+ R∗|F| R∗|F| Communication cost |κ| + α |F|β + |κ|

R∗

|F|

R

1/m Notes α ≃ 28 β ∈ ]0, 1[ m ∈ {2, 3}

16/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16

slide-42
SLIDE 42

Conclusion

◮ We build (theoretically) efficient proofs of retrievability

which check the structure of the encoded file, with:

◮ low storage (especially for the client); ◮ quite low communication; ◮ is implementable...

◮ Open questions/future works:

◮ other locally decodable/testable codes; ◮ link with Private Information Retrieval schemes...

17/17 Julien Lavauzelle, Françoise Levy-dit-Vehel ISIT’16