Tight Upper and Lower Bounds for Leakage-Resilient Locally - - PowerPoint PPT Presentation

โ–ถ
tight upper and lower bounds for
SMART_READER_LITE
LIVE PREVIEW

Tight Upper and Lower Bounds for Leakage-Resilient Locally - - PowerPoint PPT Presentation

Tight Upper and Lower Bounds for Leakage-Resilient Locally Decodable and Updatable Non-Malleable Codes Dana Dachman-Soled University of Maryland Joint work with: Mukul Kulkarni and Aria Shahverdi, University of Maryland Talk is also based on


slide-1
SLIDE 1

Tight Upper and Lower Bounds for Leakage-Resilient Locally Decodable and Updatable Non-Malleable Codes

Dana Dachman-Soled University of Maryland

Joint work with: Mukul Kulkarni and Aria Shahverdi, University of Maryland Talk is also based on joint work with: Feng-Hao Liu (FAU), Elaine Shi (Cornell) and Hong-Sheng Zhou (VCU)

slide-2
SLIDE 2

Coding Schemes

  • A coding scheme has two algorithms: (Encode,

Decode)

โ€“ Message m Codeword C Message m

  • What properties do we expect from a coding

scheme?

โ€“ Error detection: If < ๐‘’ bits of the codeword are modified, either the original message or โŠฅ is

  • utputted

โ€“ Error correction: If < ๐‘’/2 bits of the codeword are modified, the original message is outputted โ€“ Non-malleability: Can potentially allow **all bits** of the codeword to be modified, but a valid message

  • ther than the original message may get outputted.

Encode Decode

slide-3
SLIDE 3

Non-Malleable Codes

[Dziembowski, Pietrzak, Wichs โ€˜10]

  • Proposed as a generic way of protecting secret key stored in memory against

tampering.

  • Non-malleable codes: by tampering with the codeword, the underlying message

is either the same or unrelated.

  • Only certain types of tampering are allowed! (e.g. split-state)

Message m Codeword c=Encode(m) c

  • unchanged

Encode(mโ€™)

  • Unrelated mโ€™

Encode

slide-4
SLIDE 4

Leakage Resilient Codes

Getting partial information about the codeword does not reveal the underlying message

Codeword c=Encode(m) The underlying message ??? Partial codeword

slide-5
SLIDE 5

Problem

  • Non-malleable codes are entirely unsuitable for

random access computation!

  • Message ๐‘› = ๐‘›1, โ€ฆ , ๐‘›๐‘œ, encoded as

๐‘‘ = c1, โ€ฆ , cN.

โ€“ In order to decode and recover some ๐‘›๐‘—, the entire codeword needs to be accessed. โ€“ In order to update ๐‘›๐‘— โ†’ ๐‘›โ€ฒ

๐‘—, must re-encode the

entire message ๐‘›โ€ฒ = ๐‘›1, โ€ฆ , ๐‘›๐‘—

โ€ฒ, โ€ฆ , ๐‘›๐‘œ.

  • If non-malleable code is used to encode blocks of

RAM individually, security guarantees do not hold.

โ€“ Simple attacks against existing schemes.

slide-6
SLIDE 6

Solution [D, Liu, Shi, Zhou โ€˜15]: Locally Decodable and Updatable Codes

m1 m2 โ€ฆ mn Message C1 C2 C3 โ€ฆ CN-1 CN Codeword Encode Decode(i):

Take input an index i, read a few blocks of the codeword and

  • utput mi

Update(j, mโ€™):

Take inputs an index j and a new message mโ€™, update a few blocks of the codeword

slide-7
SLIDE 7

Defining NM for Locally Decodable Codes

  • Trickier to define NM

โ€“ Decoding algorithm does not read all positions โ€“ Tampering function could destroy a few block(s) while keeping the other parts unchanged โ€“ The codeword is modified, but the underlying message could be very related to the original one, i.e. Decode(i)โ€™s are the same for most iโ€™s.

C1 C2 C3 โ€ฆ CN-1 CN

slide-8
SLIDE 8

More Fine-grained Approach

  • Tampering function can only do either:

โ€“ Destroy a block (or blocks) of the underlying messages while keeping the other blocks unchanged โ€“ If it modifies a block of the underlying messages to some unrelated string, then it must have modified all blocks of the underlying messages to encodings of unrelated messages.

slide-9
SLIDE 9
  • Achieve all three properties!
  • Leakage resilience, non-malleability, locality
  • Non-malleability in our setting: Tampering function either:
  • 1. Destroy several blocks (keeps others unchanged), or
  • 2. Change everything to unrelated messages

Putting It Together

C1 C2 C3 โ€ฆ CN-1 CN Decode(i) outputs โ€œErrorโ€ while others unchanged Cโ€™1 Cโ€™2 Cโ€™3 โ€ฆ Cโ€™N-1 Cโ€™N Decodes of all positions become unrelated

slide-10
SLIDE 10

Tamper and Leakage Resilience For RAM Computation

CPU Random Access Memory (RAM) Our new code, together with an ORAM scheme, protects against physical attacks on random access memory. Store an encoding of Data in RAM-- Encode(ORAM(Data)) Write(j,mโ€™): Use Update(j,mโ€™) Read(i): Use Decode(i)

slide-11
SLIDE 11

Previous Work

  • LR-LDUNMC with ฮฉ(log n) locality [D, Liu, Shi,

Zhou โ€™15]

โ€“ Allows split-state tampering and split-state, bounded leakage. โ€“ Works in the continual setting.

  • Information theoretically secure LDUNMC

[Chandran, Kanukurthi, Raghuraman โ€™16] in non-continual setting.

slide-12
SLIDE 12

Formal Security Definition

slide-13
SLIDE 13

Real Game: Round ๐‘—

Output at the end of the game: โ„“1, โ‹ฏ , โ„“๐‘ , ๐‘›1, โ€ฆ , ๐‘›๐‘ , ๐‘ฃ1, โ€ฆ , ๐‘ฃ๐‘ 

๐ต๐‘’๐‘ค ๐ท๐‘—

๐‘•๐‘— โˆˆ ๐“— โ„“๐‘— โ‰” ๐‘•๐‘—( ๐ท๐‘—) ๐‘”๐‘— โˆˆ ๐“–

๐ท๐‘—+ โ‰” ๐‘”( ๐ท๐‘—)

Define: ๐‘›๐‘— โ‰” (๐ธ๐‘“๐‘‘

๐ท๐‘—+ 1 , โ€ฆ , ๐ธ๐‘“๐‘‘ ๐ท๐‘—+ ๐‘œ )

๐‘‰๐‘ž๐‘’๐‘๐‘ข๐‘“๐‘ : ๐‘ฃ๐‘—, ๐‘ค๐‘๐‘š๐‘—

๐‘ฃ๐‘—

๐ท๐‘—+1 โ‰” ๐‘‰๐‘ž๐‘’๐‘๐‘ข๐‘“

๐ท+(๐‘ฃ๐‘—, ๐‘ค๐‘๐‘š๐‘—)

slide-14
SLIDE 14

Ideal Game*: Round ๐‘—

Output at the end of the game: โ„“1, โ‹ฏ , โ„“๐‘ , ๐‘›1, โ€ฆ , ๐‘›๐‘ , ๐‘ฃ1, โ€ฆ , ๐‘ฃ๐‘ 

๐ต๐‘’๐‘ค ๐‘‡๐‘—๐‘›

๐‘•๐‘— โˆˆ ๐“— โ„“๐‘— ๐‘”๐‘— โˆˆ ๐“–

(๐ฝ๐‘—, ๐‘ฅ๐‘—)

Define ๐‘›๐‘— as follows: If ๐ฝ๐‘— โ‰  [๐‘œ], for ๐‘˜ โˆˆ ๐ฝ๐‘—, ๐‘›๐‘— ๐‘˜ โ‰” โŠฅ for ๐‘˜ โˆ‰ ๐ฝ๐‘—, ๐‘›๐‘— ๐‘˜ โ‰” ๐‘๐‘—[๐‘˜] If ๐ฝ๐‘— = [๐‘œ], ๐‘›๐‘— = ๐‘ฅ๐‘— ๐‘๐‘—

๐‘‰๐‘ž๐‘’๐‘๐‘ข๐‘“๐‘ : ๐‘ฃ๐‘—, ๐‘ค๐‘๐‘š๐‘—

๐‘ฃ๐‘— ๐‘๐‘—+1 ๐‘ฃ๐‘— โ‰” ๐‘ค๐‘๐‘š๐‘—

Outputs:

slide-15
SLIDE 15

Formal Definitionโ€”Intuition

  • At round ๐‘—, ๐‘‡๐‘—๐‘› outputs ๐ฝ๐‘—, ๐‘ฅ๐‘—

โ€“ If ๐ฝ๐‘— = [๐‘œ], ๐‘‡๐‘—๐‘› thinks the whole codeword has been changed to an encoding of ๐‘ฅ โ€“ Otherwise, ๐‘‡๐‘—๐‘› thinks only the positions in ๐ฝ๐‘— have been modified to โŠฅ, all other positions must remain ๐‘ก๐‘๐‘›๐‘“.

  • ๐‘ก๐‘๐‘›๐‘“ means most recently updated value in that

position.

slide-16
SLIDE 16

Rewind Attack

  • Slowly leak part of the codeword corresponding

to some message block ๐‘˜.

  • Wait for an update to occur to message block ๐‘˜.
  • Write back what was leaked.
  • When decoding the ๐‘˜-th block, if original

message is recovered (as opposed to most recently updated value) then non-malleability is broken.

slide-17
SLIDE 17

How to Prevent Rewind Attacks

  • Attacker can only leak a small amount in each

round

  • An update also occurs in each round.
  • Goal: When the attacker writes back the

leakage either

โ€“ The information written back by the attacker is no longer consistent. โ€“ The information is consistent, but effectively

  • verwrites the entire codeword.
slide-18
SLIDE 18

Our Resultsโ€”Lower Bound

*Holds for any polynomial block length **Requires the access patterns for decoding/updating to be non-adaptive ***Result extends to randomized access patterns ****Lower bound holds even if only single bit is leaked in each round. Theorem: Let ๐œ‡ be security parameter and ๐›ฒ = (Encode, Decode, Upadate) be a locally decodable and updatable non- malleable code, in a security model which allows for a rewind attack. Then for n = poly(๐œ‡), ๐›ฒ has locality ๐œ€(n) โˆˆ ๐œ•(1).

slide-19
SLIDE 19

Our Resultsโ€”Upper Bound

*Requires block length ๐œ“ = ๐œ‡1+๐œ— **The access patterns for decoding/updating are non-adaptive ***The access patterns are deterministic ****Allows for leakage of 1 โˆ’ ๐œ—โ€™ โ‹… ๐œ“ bits per round. Theorem: Let ๐œ‡ be security parameter. Then there exists a locally decodable and updatable non-malleable code ๐›ฒ = (Encode, Decode, Update), in a security model which allows for a rewind attack, such that ๐›ฒ has locality ๐œ€(๐‘œ) for any ๐œ€ ๐‘œ โˆˆ ๐œ•(1). Upper and Lower Bound are โ€œtightโ€.

slide-20
SLIDE 20

Roadmap

  • Tools for Lower Bound
  • Lower Bound: Attack and Analysis
  • Upper Bound
  • Conclusions
slide-21
SLIDE 21

Roadmap

  • Tools for Lower Bound
  • Lower Bound: Attack and Analysis
  • Upper Bound
  • Conclusions
slide-22
SLIDE 22

Sunflower Lemma

  • Consider ฮฃ โ‰” ๐‘‡1, โ€ฆ , ๐‘‡๐‘œ
  • ๐‘‡๐‘— is the set of codeword blocks accessed

during decode/update of the ๐‘—-th message block.

  • Size of each ๐‘‡๐‘— is at most constant ๐‘‘.
  • Size of each codeword block is ๐œ“ โ‰” ๐‘ž๐‘๐‘š๐‘ง ๐œ‡
  • Set ๐‘™ โ‰ซ ๐‘‘ โ‹… ๐œ“
  • ๐‘œ is polynomial in ๐œ‡.

Definition: A Sunflower is a collection of sets such that the intersection of any pair is equal to the core.

Sunflower Lemma (Erdรถs and Rado): If ๐‘œ > ๐‘‘! ๐‘™ ๐‘‘ then ฮฃ contains a sunflower of size ๐‘™ + 1.

core ๐‘‡1 ๐‘‡2 ๐‘‡3 ๐‘‡4 ๐‘‡5

slide-23
SLIDE 23

Compression Function

Given ๐‘ป๐‘ฎ = {๐‘‡๐‘—0, ๐‘‡๐‘—1, โ€ฆ , ๐‘‡๐‘—๐‘™}, codeword ๐ท Define ๐บ

๐ท โ‹… : 0,1, ๐‘ก๐‘๐‘›๐‘“ ๐‘™ โ†’ 0,1 ๐‘‘โ‹…๐œ“ as follows:

  • On input ๐‘ฆ1, โ€ฆ , ๐‘ฆ๐‘™ โˆˆ 0,1, ๐‘ก๐‘๐‘›๐‘“
  • For ๐‘˜ = 1 to ๐‘™
  • If ๐‘ฆ๐‘˜ โ‰  ๐‘ก๐‘๐‘›๐‘“, run ๐‘‰๐‘ž๐‘’๐‘๐‘ข๐‘“

๐ท(๐‘—๐‘˜, ๐‘ฆ๐‘˜)

  • Output the contents of the core of the Sunflower.

Why is this a compression function? Recall that we chose ๐‘œ sufficiently large to guarantee that ๐‘™ โ‰ซ ๐‘‘ โ‹… ๐œ“.

slide-24
SLIDE 24

Distributional Stability

Theorem (Informal) [Drucker 12],(see also [Raz 98], [Shaltiel 10]): Let ๐บ

๐ท ๐‘Œ1, โ€ฆ , ๐‘Œ๐‘™ : 0,1, ๐‘ก๐‘๐‘›๐‘“ ๐‘™ โ†’ 0,1 โ‰ค๐‘ข be a randomized mapping, where

๐‘ข โ‰ช ๐‘™ and ๐‘Œ1, โ€ฆ , ๐‘Œ๐‘™are independent random variables. Then w.h.p. over choice of ๐‘— โˆผ ๐‘™ , the two distributions

๐บ

๐ท ๐‘Œ1, โ€ฆ , ๐‘Œ๐‘™

๐บ

๐ท(๐‘Œ1, โ€ฆ , ๐‘Œ๐‘—โˆ’1, ๐‘ก๐‘๐‘›๐‘“, ๐‘Œ๐‘—+1, โ€ฆ , ๐‘Œ๐‘™) are statistically close.

slide-25
SLIDE 25

Roadmap

  • Tools for Lower Bound
  • Lower Bound: Attack and Analysis
  • Upper Bound
  • Conclusions
slide-26
SLIDE 26

Attack on Code with Constant Locality ๐‘‘

Attacker:

  • Find the sunflower ๐‘ป๐‘ฎ = {๐‘‡๐‘—0, ๐‘‡๐‘—1, โ€ฆ , ๐‘‡๐‘—๐‘™}
  • Choose ๐‘˜ โ† [๐‘™]
  • In the first round, submit leakage function ๐‘•

๐ท โ‰” ๐‘ก๐‘“๐‘ข๐‘—๐‘˜ ๐ท โˆ– ๐’…๐’‘๐’”๐’‡ .

  • Receive back leakage โ„“
  • Wait until the (๐‘™ + 1)-st round.
  • In the (๐‘™ + 1)-st round, choose tampering function ๐‘” which replaces the

current contents of ๐‘ก๐‘“๐‘ข๐‘—๐‘˜ ๐ท โˆ– ๐’…๐’‘๐’”๐’‡ with โ„“. Updater:

  • Choose ๐‘ฆ1, โ€ฆ , ๐‘ฆ๐‘™ โ† 0,1, ๐‘ก๐‘๐‘›๐‘“
  • In round ๐‘˜ = 1 to ๐‘™
  • If ๐‘ฆ๐‘˜ โ‰  ๐‘ก๐‘๐‘›๐‘“, request ๐‘‰๐‘ž๐‘’๐‘๐‘ข๐‘“

๐ท(๐‘—๐‘˜, ๐‘ฆ๐‘˜)

Leak ๐‘—๐‘˜-th petal Replace ๐‘—๐‘˜-th petal *Small modification needed if adversary can leak only a single bit in each round.

slide-27
SLIDE 27

Analysis

Lemma: For the attack and updater specified above: Case 1: If the original message was ๐‘› = 0, then with probability at least 0.7, the decoding of position ๐‘—๐‘˜ in round ๐‘™ + 1 is 0 in the real game. Case 2: If the original message was ๐‘› = 1, then with probability at least 0.7, the decoding of position ๐‘—๐‘˜ in round ๐‘™ + 1 is 1 in the real game.

Why is this sufficient to contradict non-malleability?

slide-28
SLIDE 28

Proving the Lemma: Case 1, ๐‘› = 0

Decoding of position ๐‘—๐‘˜ in the (๐‘™ + 1)-st round takes as input: โ„“, ๐‘‘๐‘๐‘ ๐‘“ = ๐บ

๐ท0 ๐‘Œ1, โ€ฆ , ๐‘Œ๐‘™

Hybrid Argument:

  • 1. Consider

๐ธ๐‘“๐‘‘ โ„“, ๐บ

๐ท0 ๐‘Œ1, โ€ฆ ๐‘Œ ๐‘˜โˆ’1, ๐‘ก๐‘๐‘›๐‘“, ๐‘Œ ๐‘˜+1, ๐‘Œ๐‘™

Output must be equal to 0. Why?

  • 2. Consider

๐ธ๐‘“๐‘‘ โ„“, ๐บ

๐ท0 ๐‘Œ1, โ€ฆ ๐‘Œ ๐‘˜โˆ’1, ๐‘Œ ๐‘˜, ๐‘Œ ๐‘˜+1, ๐‘Œ๐‘™

This must also be equal to 0 with high probability. Why? Case 2, ๐‘› = 1 is analogous.

slide-29
SLIDE 29

Roadmap

  • Tools for Lower Bound
  • Lower Bound: Attack and Analysis
  • Upper Bound
  • Conclusions
slide-30
SLIDE 30

Upper Bound

  • Recall the [DLSZโ€™15] construction:

โ€“ Encrypt the data with an AE scheme โ€“ Compute the Merkle hash of the encrypted data โ€“ Encode the secret key, root of Merkle hash using regular (non-local) NMC.

slide-31
SLIDE 31

t-Slice Merkle Tree

โ„Ž โ„Ž โ„Ž โ„Ž โ„Ž โ„Ž โ„Ž โ„Ž โ„Ž โ„Ž โ„Ž โ„Ž

slide-32
SLIDE 32

t-Slice Merkle Tree

  • t-slice Merkle Tree is a t-ary tree where each node is

hashed into a slice of its parent node. โ€“ We choose ๐‘ข = ๐œ‡๐œ—, for constant 0 < ๐œ— < 1.

  • Update/Verify need to read only the path from root to

leaf but not the siblings โ€“ Note that Update/Verify take time proportional to the height of the tree, โ€“ For ๐‘œ = ๐‘ž๐‘๐‘š๐‘ง(๐œ‡), ๐‘ข = ๐‘ž๐‘๐‘š๐‘ง(๐œ‡) the height of the tree < ๐œ€(๐‘œ), for any ๐œ€(๐‘œ) โˆˆ ๐œ•(1).

slide-33
SLIDE 33

Roadmap

  • Tools for Lower Bound
  • Lower Bound: Attack and Analysis
  • Upper Bound
  • Conclusions
slide-34
SLIDE 34

Conclusions

  • We showed tight upper and lower bounds on

locality for locally decodable and updatable codes in security models that allow for a rewind attack.

  • Result holds for non-adaptive access patterns

โ€“ In this talk: deterministic, non-adaptive access patterns โ€“ We have extended our result to randomized, non- adaptive access patterns.

  • Future work:

โ€“ Extend lower bound to adaptive setting. โ€“ Show an improved upper bound in adaptive setting.

slide-35
SLIDE 35

Thank you!