message-locked encryption and secure...

25
Message-Locked Encryption and Secure Deduplication 1 Mihir Bellare 1 Sriram Keelveedhi 1 Thomas Ristenpart 2 1 University of California, San Diego 2 University of Wisconsin-Madison Eurocrypt 2013

Upload: others

Post on 01-Aug-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Message-Locked EncryptionandSecure Deduplication

1

Mihir Bellare1

Sriram Keelveedhi1

Thomas Ristenpart2

1University of California, San Diego2University of Wisconsin-Madison

Eurocrypt 2013

Page 2: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Deduplication

2

Storage size after 𝑛 uploads

No deduplication π’ͺ(𝑛 β‹… |𝑓|)

Deduplication π’ͺ(|𝑓|)

Bob

Store 𝑓 iff new

𝑓 𝑓

Alice

Server

Store 𝑓 iff new

Google Drive

Storage savings [MB11]

Backup systems 87%

Corporate networks 50%

Avoid storing multiple copies of the same data

Outsourced storage service

Page 3: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Dedup doesn’t work with client-side encryption

3

𝑐𝐴 𝑐𝐡

𝑐𝐴 ← E(π‘˜π΄, 𝑓) 𝑐𝐡 ← E(π‘˜π΅, 𝑓)

β„° = (K, E, D): Symmetric encryption scheme Bob

Store 𝑓 iff new

Alice

Server

Store 𝑐 iff new

π‘˜π΄ π‘˜π΅π‘π΄

Cross-user decryption not possible, Bob still cannot decrypt 𝑐𝐴

β‡’Server has to store both 𝑐𝐡 and 𝑐𝐴

Possible fix: Attach file hash H(𝑓) to ciphertext?

Pr 𝑐𝐡 = 𝑐𝐴 is negligible Security of symmetric encryption

Det. PKE [BBO07, MPRS12]Searchable SE [SWP00]Searchable PKE [BBO07]

Rules out

Bob cannot decrypt 𝑐𝐴with π‘˜π΅

{

Page 4: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Convergent encryption

𝑐𝐴 𝑐𝐡

𝑐𝐴 ← E(H(𝑓), 𝑓) 𝑐𝐡 ← E H 𝑓 , 𝑓= 𝑐𝐴

Bob

Store 𝑓 iff new

Alice

Server

Store 𝑐 iff new

π‘˜π΄ π‘˜π΅π‘π΄

Bob can decrypt 𝒄𝑨 with π‘˜ = H(𝑓)

𝐄

π‘š

𝑯 π‘π‘˜

Recipe1. 𝐻: 0,1 βˆ— β†’ 0,1 π‘˜: Hash function2. β„° = (K, E, D): Encryption scheme with π‘˜-bit keys

Internet forums,

[DABST02]

Page 5: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Cloud storage

Filesystems Farsite [ABCG*02]

GNUNet

Backup [CTP04][CMN02] [KCP06]

Others [AZ10] [BBST01] [MC11][RCTLL11] [SGLM08]

5

CE has found wide use…

… despite unclear security guarantees

Page 6: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Convergent Encryption

6

β€’ What kind of security can schemes like CE provide?β€’ Are the deployed schemes/variants secure?

CE seems to be widely used, but…

No cryptographic treatment for deduplication over encrypted data

We don’t know!

Our work answers these questions

How to supportβ€’ Equality checking/deduplication?β€’ Cross-user decryption?

Syntax of such schemes?

Best possible security?

Page 7: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Our work

1. Message-Locked Encryptionβ€’ Syntax and correctness

β€’ Security goals and notions

7

2. Practical contributionsβ€’ Attacks and proofs for CE and variants

β€’ New, faster schemes

3. Theoretical contributionsβ€’ Standard model MLE schemes from

correlated-input hashes and deterministic-PKE

β€’ Relating MLE and other cryptographic primitives

A cryptographic framework for schemes which achievededup over ciphertexts

Page 8: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Message-Locked Encryption

𝐊

π‘š

π‘˜

𝐄 𝐃𝑐

Message-derived key

8

π‘š

Key used for encryption is derived from the message itself

𝐓 𝑑 Tag𝐏 𝑝 Public parameter

𝑃, E, K randomized𝐷, 𝑇 deterministic

MLE Scheme β„³ = (P, K, E, D, T)

Page 9: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Convergent encryption as an MLE scheme

𝐇

π‘š

π‘˜

𝐄 𝐃𝑐

9

π‘š

𝐇 𝑑𝐏 𝑝 Random 128-bit string

𝐢ℰ = (P, K2, E2, D2, T)

1. 𝐻: 0,1 βˆ— β†’ 0,1 π‘˜: Hash function2. β„° = (K, E, D): Encryption scheme with π‘˜-bit keys

Recipe

We will revisit 𝐢ℰ to talk about security

Page 10: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Secure outsourced storage using MLE

Alice Bob

Server

1. MLE Scheme β„³ = P, E, K, D, T

Recipe

2. SE Scheme 𝑆 = (K2, E2, D2)

𝑐𝐴, 𝑐𝐴′

Upload(𝒄𝑩, 𝒄𝑩′ )

Store (𝒇)

π‘˜π‘“π΅ ← K 𝑓

𝑐 ← E π‘˜π‘“π΅ , 𝑓

c𝐡 ← E2 π‘˜π΅ , π‘˜π‘“π΅

π‘˜π‘“π΅ ← D2 π‘˜π΅, 𝑐′𝐡

𝑓 ← D π‘˜π‘“π΅ , 𝑐𝐴

Retreive (π’Œπ‘©, 𝒄𝑨, 𝒄𝑩′ )

𝑐𝐡 , 𝑐𝐡′

Store (𝒇)

π‘˜π‘“π΄ ← K 𝑓

𝑐𝐴 ← E π‘˜π‘“π΄, 𝑓

If T 𝑐𝐴 β‰  T 𝑐𝐡Store 𝑐𝐡

Store 𝑐𝐡′

𝑐𝐴, 𝑐𝐴′𝑐𝐴, 𝑐𝐴

β€² , 𝑐𝐡′

𝑐𝐴′ ← E2 π‘˜π΄, π‘˜π‘“

𝐴

𝑐𝐴, 𝑐𝐡′

Requirements1. 𝑓 ← D π‘˜π‘“

𝐡, 𝑐𝐴2. 𝑇 𝑐𝐴 = 𝑇 𝑐𝐡3. π‘˜π‘“

𝐴 = π‘˜π‘“π΅ β‰ͺ |𝑓|

Bob recovers 𝑓

Deduplication

Storage = |𝑓| + Ξ±

Page 11: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

MLE Correctness

πŠπ‘š π‘˜

𝐄 𝐃𝑐

𝐓 𝑑

MLE Scheme β„³ = (P, E, K, D, T)

11

π‘š

1. Decryption correctness Any key π‘˜ derived from π‘š can decrypt any π‘š-ciphertext 𝑐

2. Tag correctness All π‘š ciphertexts 𝑐 produce the same tag 𝑑

3. Non-triviality All keys π‘˜ are of the same, fixed length

D π‘˜, 𝑐 = π‘š βˆ€ valid messages π‘š, βˆ€π‘˜ ∈ K π‘š , βˆ€π‘ ∈ E π‘˜,π‘š

A π‘₯1, … : Set of all outputs of 𝐴 on π‘₯1, …

T 𝑐1 = T(𝑐2) βˆ€ π‘š, βˆ€π‘˜1, π‘˜2 ∈ K π‘š , βˆ€π‘1 ∈ E π‘˜1, π‘š , βˆ€π‘2 ∈ E π‘˜2, π‘š

|K π‘š | = πœ… βˆ€ π‘š, βˆ€π‘˜ ∈ K π‘š

Page 12: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Security, informally

πŠπ‘š π‘˜

𝐄 𝑐 𝐓 𝑑

MLE Scheme β„³ = (P, E, K, D, T)

12

1. PrivacyChosen Distribution vs. Random (CDR)If π‘š has high min-entropy, 𝑐indistinguishable from random

2. Consistent tagsTag Consistency (TC)Hard to find 𝑐′ that does not decrypt to π‘š but has same tag as π‘š

Page 13: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Attack runtime = 𝑐 β‹… 𝑛

Can we get IND-CPA style privacy for MLE?

For π‘šπ‘– ∈ 𝑆 doπ‘šβ€² ← D K π‘šπ‘– , 𝑐If π‘šπ‘– = π‘šβ€²then return π‘šπ‘–

BruteForc𝑒𝑆(𝑐)

Consider a set 𝑆 = {π‘š1, π‘š2, … ,π‘šπ‘›}

Given 𝑐 ← E K π‘šπ‘– , π‘šπ‘– where 𝑖 ← {1,2, … , 𝑛}Find π‘šπ‘–

Has to be super-polynomial

Privacy not possible for predictable messages

No!

A generic brute-force attack:

Message recovery security: MR𝑆,β„³

MLE Scheme β„³ = (P, E, K, D, T)

Weaker than IND-CPA

Page 14: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Privacy: The CDR notion

𝑝 ← P(); 𝑏 ← 0,1 ; (π‘š1, … ,π‘šπ‘›) ← D()For 𝑖 = 1 to 𝑛

π‘˜π‘– ← K π‘šπ‘– ; 𝑐𝑖1← E π‘˜π‘– , π‘šπ‘– ;

𝑐𝑖0← {0,1} 𝑐𝑖

1

No efficient adversary can distinguish encryptions of unpredictable messages from random strings

π‘¨πˆπ§π’π­

𝐅𝐒𝐧 Return (𝑏′ = 𝑏)𝑏′

𝑝, 𝑐1𝑏 , … , 𝑐𝑛

𝑏

𝑨𝒅𝒗 A,D = 2 β‹… Pr CDR(D, A) β‡’ true βˆ’ 1

Security: No efficient 𝐴 has non-negligible advantage for any unpredictable 𝐷

CDR(A, D)

14

MLE Scheme β„³ = (P, E, K, D, T)

Notion Primitive Style SQ β‡’ MQ

IND[BFOR08] D-PKE Left-Right indist. No

CDA[BBNRSSY09] PKE Left-Right indist. No

CDR [BKR13] MLE Real-random indist. Yes

Comparing with notions that need unpredictability (Discussion in paper)

SQ : Single-query, MQ : Multi-query

D is unpredictable if βˆƒπ›Ώ ∈ negl s.t. Pr[π‘šβ€² ∈ {π‘š1, … , π‘šπ‘›} ∢ π‘š1, … ,π‘šπ‘› ← D()] ≀ 𝛿 βˆ€π‘šβ€²

Page 15: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Deduplicability vs. PrivacyDeduplication

Only when messages repeat

15

Privacy

Only when messages unpredictable

Inherent to secure deduplication β‡’ CDR provides best possible security

Encryption for Deduplicated Storage with DupLESS

USENIX Security 2013 Bellare, Keelveedhi, Ristenpart

Security for predictable messages

Data unpredictable to attacker,

not to legitimate clients

Large random file 𝑓

Server

A possible contradiction? NO!

Attacker

CiphertextShared file𝑓

β€’ Shared among group of clients

β€’ Unknown to attacker

Page 16: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Duplicate faking attacks

𝑐′

𝑐′

16

Server

Evil dude

𝑐 ← E 𝐾(𝑓), 𝑓Get 𝑐′ that not decrypt to 𝑓

s.t. T 𝑐′ = T 𝑐

𝑓

1. Attacker stores 𝑐′2. Alice tries to store 𝑐, server already has a matching ciphertext 𝑐′3. When Alice downloads 𝑐′ it decrypts to 𝑓′ β‰  𝑓

Note: No unpredictability requirement

Alice

𝑓

Store 𝑐 if T(𝑐) is new

𝑐

Noted in [SGL08]

Page 17: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Tag Consistency

𝑝 ← P()

No efficient adversary can find two ciphertexts with matching tagsthat decrypt to different messages

𝑨

𝐈𝐧𝐒𝐭

π…π’π§πšπ₯𝐒𝐳𝐞 π‘˜ ← K π‘š ;π‘šβ€² ← D(π‘˜, 𝑐′)𝑑 ← T E(π‘˜, π‘š) ; 𝑑′ ← T 𝐢′

If 𝑑 β‰  𝑑′then return falseIf π‘š = π‘šβ€²then return falseIf π‘šβ€² =βŠ₯ then return falseReturn true

π‘š, 𝑐′

𝑝

𝑨𝒅𝒗𝐓𝐂 𝐴 = Pr TC(𝐴) β‡’ true

Security: No efficient 𝐴 has non-negligible TC advantage.

TC A

17

MLE Scheme β„³ = (P, E, K, D, T)

In the paper: A stronger tag consistency notion STC

Page 18: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Our work

1. Message-Locked Encryptionβ€’ Syntax and correctness

β€’ Security goals and notions

18

2. Practical contributionsβ€’ Attacks and proofs for CE and variants

β€’ New, faster schemes

3. Theoretical contributionsβ€’ Standard model MLE schemes from

correlated-input hashes and deterministic-PKE

β€’ Relating MLE and other cryptographic primitives

Page 19: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Convergent Encryption

𝐄

π‘š

𝑯 𝑐 𝑑𝑝 π‘―π‘˜

19

Encryption in CE

𝐢ℰ = (P, K2, E2, D2, T)

1. 𝐻: 0,1 βˆ— β†’ 0,1 π‘˜: Hash function2. β„° = (K, E, D): Encryption scheme with π‘˜-bit keys

Thm: 𝐢ℰ is CDR secure in the π‘πŽ model if β„° is Real-or-Random secure and Key-Recovery secure.

Thm: 𝐢ℰ is TC secure in the standard model if H is a CR hash.

Recipe

In the paper

Security of other variants of CE, fixes for tag consistency vulnerabilities

Page 20: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Randomized CE One pass, randomized MLE scheme

Eπ‘š 𝑐1

𝑐2

β„“

H1

𝑝1

π‘˜ H2

π‘‘π’‘πŸ H3

20

1. H1, H2, H3: 0,1βˆ— β†’ 0,1 π‘˜: Hash functions

2. β„° = (K, E, D): Encryption scheme with π‘˜-bit keys

Thm: 𝑅𝐢ℰ is CDR secure in the π‘πŽ model if β„° is Real-or-Random secure and Key-Recovery secure.

Thm: 𝑅𝐢ℰ is TC secure in the π‘πŽ model.

Key generation and encryption KE2(𝑝, π‘š; β„“)

Recipe

In the paper: Comparison of performance of CE schemes. RCE is fastest.

Page 21: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Our work

1. Message-Locked Encryptionβ€’ Syntax and correctness

β€’ Security goals and notions

21

2. Practical contributionsβ€’ Attacks and proofs for CE and variants

β€’ New, faster schemes

3. Theoretical contributionsβ€’ Standard model MLE schemes from

correlated-input hashes and deterministic-PKE

β€’ Relating MLE and other cryptographic primitives

Page 22: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

eXtract Hash and Check

π‘š

𝑿𝑝1π‘―π‘˜

22

Encryption in XHC

XHC[𝐻, 𝑋] = (P, K, E, D, T)

1. 𝐻: 0,1 βˆ— β†’ 0,1 π‘˜: Hash function2. 𝑋: 0,1 π‘˜ Γ— 0,1 βˆ— β†’ 0,1 π‘˜: Extractor

Thm: XHC[𝐻, 𝑋] is CDRβˆ— secure if 𝐻 is a correlated input hash and 𝑋 is a strong randomness extractor.

Thm: XHC[𝐻, 𝑋] is TC secure.

π‘š1, … ,π‘šπ‘– , … ,π‘šπ‘›

π‘˜|βŸ¨π‘–βŸ©|π‘šπ‘–

𝑝2

𝑐1, … , 𝑐𝑖 , … , 𝑐𝑛

Recipe Correlated-inputhashes [GOR11]

Decryption in XHC For 𝑖 = 1 to 𝑛If π‘˜|βŸ¨π‘–βŸ©|0 = 𝑐𝑖 then π‘šπ‘– = 1Else π‘šπ‘– = 0Return π‘š1| π‘š2| … | π‘šπ‘›

π‘š

If inputs are unpredictable,hashes are pseudorandom

Page 23: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Standard model schemes and relations

23

Correlated-inputhashes

[GOR11]

MLE

Deterministic PKE[BBO07]

XHC

SXE:Sample-Extract-Encrypt

Secure only for independent message-distributions

MLE from extractors and symmetric encryption

In the paper:

Caveat: Don’t know how to build these in standard model with best possible security

[Wi13]Hard to build

Page 24: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Recap

1. Message-Locked Encryptionβ€’ Syntax and correctness

β€’ Security goals and notions

24

2. Practical contributionsβ€’ Attacks and proofs for CE and variants

β€’ New, faster schemes

3. Theoretical contributionsβ€’ Standard model MLE schemes from

correlated-input hashes and deterministic-PKE

β€’ Relating MLE and other cryptographic primitives

A cryptographic framework for schemes which achievededup over ciphertexts

Page 25: Message-Locked Encryption and Secure Deduplicationcseweb.ucsd.edu/~skeelvee/talks/mle.pdfMessage-Locked Encryption 𝐊 π‘˜ Message-derived key 8 Key used for encryption is derived

Thank you!

25

Sriram [email protected]

Full version: eprint.iacr.org/2012/631

Follow up

β€’ Encryption for Deduplicated Storage with DupLESSβ€’ USENIX Security 2013

β€’ Message-Locked Encryption for lock-dependent messagesβ€’ Abadi, Boneh, Mironov, Raghunathan and Segev in CRYPTO 2013

β€’ Several interesting open problems