Cryptographic proofs for remote storage: models and construction
Julien Lavauzelle1, Françoise Levy-dit-Vehel1,2
1 LIX & INRIA Saclay, Université Paris-Saclay 2 ENSTA ParisTech
Journées codage & cryptographie 2018, Aussois, France 12/10/2018
Cryptographic proofs for remote storage: models and construction - - PowerPoint PPT Presentation
Cryptographic proofs for remote storage: models and construction Julien Lavauzelle 1 , Franoise Levy-dit-Vehel 1,2 1 LIX & INRIA Saclay, Universit Paris-Saclay 2 ENSTA ParisTech Journes codage & cryptographie 2018, Aussois, France
1 LIX & INRIA Saclay, Université Paris-Saclay 2 ENSTA ParisTech
Journées codage & cryptographie 2018, Aussois, France 12/10/2018
1/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
1/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
◮ the server actually stores the file, ◮ the server has fully deleted some data, ◮ a file is retrievable from the server, ◮ some space is used/available on a server. 2/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
◮ the server actually stores the file, ◮ the server has fully deleted some data, ◮ a file is retrievable from the server, ◮ some space is used/available on a server.
◮ cryptocurrency based on a decentralized cloud storage network ◮ Storj, FileCoin, SpaceMint. 2/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
1introduced in PoRs: Proofs of Retrievability for Large Files, Juels, Kaliski CCS’07
3/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
1introduced in PoRs: Proofs of Retrievability for Large Files, Juels, Kaliski CCS’07
3/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
1introduced in PoRs: Proofs of Retrievability for Large Files, Juels, Kaliski CCS’07
3/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
1introduced in PoRs: Proofs of Retrievability for Large Files, Juels, Kaliski CCS’07
3/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
1introduced in PoRs: Proofs of Retrievability for Large Files, Juels, Kaliski CCS’07
3/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
◮ Proof of Secure Erasure (PoSE)2 [One-time computable self-erasing
2originally introduced by Perito and Tsudik, Secure code update for embedded devices via proofs of
secure erasure (ESORICS 2010)
4/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
◮ Proof of Secure Erasure (PoSE)2 [One-time computable self-erasing
◮ Proof of Space (PoS) [Proofs of Space, Dziembowski, Faust, Kolmogorov,
2originally introduced by Perito and Tsudik, Secure code update for embedded devices via proofs of
secure erasure (ESORICS 2010)
4/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
◮ Proof of Secure Erasure (PoSE)2 [One-time computable self-erasing
◮ Proof of Space (PoS) [Proofs of Space, Dziembowski, Faust, Kolmogorov,
◮ Proof of replication (PoReP), e.g. in FileCoin ◮ With public audit: public incompressible encodings (PIE) [Cecchetti,
2originally introduced by Perito and Tsudik, Secure code update for embedded devices via proofs of
secure erasure (ESORICS 2010)
4/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
4/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
4/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
5/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
5/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
6/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
6/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
6/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
6/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
◮ sublinear communication complexity for the verification ◮ low additional storage ◮ few computation during the verification step (e.g. Resp and Check) ◮ analysable/quantifiable soundness 7/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
◮ sublinear communication complexity for the verification ◮ low additional storage ◮ few computation during the verification step (e.g. Resp and Check) ◮ analysable/quantifiable soundness
q with “many well-distributed low-weight parity-check equations”.
◮ Initialisation:
q ◮ User verifies that w satisfies permuted low-weight parity-check
7/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
◮ C ⊆ Fn
q a code
◮ Q a set of ℓ-subsets of [1, n] ◮ R :
q
q
8/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
◮ C ⊆ Fn
q a code
◮ Q a set of ℓ-subsets of [1, n] ◮ R :
q
q
q → Fs q for some s ≥ 1. We say that (Q, V) is a verification
8/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
◮ C ⊆ Fn
q a code
◮ Q a set of ℓ-subsets of [1, n] ◮ R :
q
q
q → Fs q for some s ≥ 1. We say that (Q, V) is a verification
◮ V is the verification map for C, and Q is a query set for C. ◮ R(w) := (R(u, w) : u ∈ Q) ∈ (Fℓ
q)Q,
◮ R(C) := {R(c), c ∈ C} is called the response code of C. 8/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
2 the binary [7, 3, 4] Hadamard code.
(non full-rank) H =
9/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
2 the binary [7, 3, 4] Hadamard code.
(non full-rank) H =
9/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
2 the binary [7, 3, 4] Hadamard code.
(non full-rank) H =
2 → F2 defined by V(u, b) = ∑3 i=1 bi.
9/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
2 the binary [7, 3, 4] Hadamard code.
(non full-rank) H =
2 → F2 defined by V(u, b) = ∑3 i=1 bi.
2)7 is:
9/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
10/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
q → c ∈ C → w = σ(c) ∈ Fn q
10/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
q → c ∈ C → w = σ(c) ∈ Fn q
q.
10/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
q → c ∈ C → w = σ(c) ∈ Fn q
q.
q)Q, the verifier runs a decoding
10/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
11/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
11/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
11/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
11/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
◮ N = |Q| the length of R(C), ◮ δ = ∆/N its relative error-and-erasure decoding capability.
1+α. Then, for every
12/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
◮ prover stores (n − k) log q additional bits, where C ⊆ Fn
q has dimension k
◮ verifier stores
13/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
◮ prover stores (n − k) log q additional bits, where C ⊆ Fn
q has dimension k
◮ verifier stores
13/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
◮ prover stores (n − k) log q additional bits, where C ⊆ Fn
q has dimension k
◮ verifier stores
◮ prover only needs to read symbols (no additional computation) ◮ verifier inverts ℓ permutations σ|u, and computes ru → V(u, ru) ∈ Fs
q.
13/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
◮ prover stores (n − k) log q additional bits, where C ⊆ Fn
q has dimension k
◮ verifier stores
◮ prover only needs to read symbols (no additional computation) ◮ verifier inverts ℓ permutations σ|u, and computes ru → V(u, ru) ∈ Fs
q.
q and (Q, V) such that
◮ ℓ := |u| ≪ n, for u ∈ Q ◮ max{|v ∩ v′|, v = v′ ∈ Q} < d⊥(C|u), for every u ∈ Q ◮ C has large dimension ◮ R(C) has large relative minimum distance δ and large length N 13/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
13/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
q a code of small length. Its s-fold tensor product is:
i1 . . . a(s) is
q
14/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
q a code of small length. Its s-fold tensor product is:
i1 . . . a(s) is
q
◮ Q = {“axis-parallel lines” L ⊂ [1, ℓ]s}, ◮ V(L, b) = Hb, where H is a parity-check matrix for A. 14/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
q a code of small length. Its s-fold tensor product is:
i1 . . . a(s) is
q
◮ Q = {“axis-parallel lines” L ⊂ [1, ℓ]s}, ◮ V(L, b) = Hb, where H is a parity-check matrix for A.
q is an MDS code of distance d, then
14/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
q a code of small length. Its s-fold tensor product is:
i1 . . . a(s) is
q
◮ Q = {“axis-parallel lines” L ⊂ [1, ℓ]s}, ◮ V(L, b) = Hb, where H is a parity-check matrix for A.
q is an MDS code of distance d, then
14/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
q and Q := { affine lines L ⊂ A}.
q , ∀L ∈ Q, ∑ x∈L
q
15/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
q and Q := { affine lines L ⊂ A}.
q , ∀L ∈ Q, ∑ x∈L
q
◮ query set Q defined above ◮ for b ∈ Fq
q ≃ FL q, define V(L, b) = ∑ q i=1 bi
15/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
q and Q := { affine lines L ⊂ A}.
q , ∀L ∈ Q, ∑ x∈L
q
◮ query set Q defined above ◮ for b ∈ Fq
q ≃ FL q, define V(L, b) = ∑ q i=1 bi
15/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
q and Q := { affine lines L ⊂ A}.
q , ∀L ∈ Q, ∑ x∈L
q
◮ query set Q defined above ◮ for b ∈ Fq
q ≃ FL q, define V(L, b) = ∑ q i=1 bi
15/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
q and Q := { affine lines L ⊂ A}.
q , ∀L ∈ Q, ∑ x∈L
q
◮ query set Q defined above ◮ for b ∈ Fq
q ≃ FL q, define V(L, b) = ∑ q i=1 bi
log3(2) 2
15/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
◮ initial file of size ≃ 106 MB, ◮ server storage: +2.4% storage overhead, ◮ client storage: a few bits for κ, ◮ communication rate: 1.25 · 10−4 of the initial file size. 16/17
— Cryptographic proofs for remote storage: models and construction JC2 2018
◮ a generic construction of PoR based on codes with locality ◮ low computation, low storage
◮ better instances of codes and verification structures ◮ other features (e.g. dynamic PoR) 17/17
— Cryptographic proofs for remote storage: models and construction JC2 2018