tight upper and lower bounds for
play

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


  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)

  2. Coding Schemes • A coding scheme has two algorithms: (Encode, Decode) – Message m Codeword C Message m Encode Decode • What properties do we expect from a coding scheme? – Error detection: If < 𝑒 bits of the codeword are modified, either the original message or ⊥ is outputted – 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 other than the original message may get outputted.

  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) c - unchanged Codeword Message Encode c=Encode(m) m Encode(m’) - Unrelated m’

  4. Leakage Resilient Codes Getting partial information about the codeword does not reveal the underlying message The underlying Codeword message ??? c=Encode(m) Partial codeword

  5. Problem • Non-malleable codes are entirely unsuitable for random access computation! • Message 𝑛 = 𝑛 1 , … , 𝑛 𝑜 , encoded as 𝑑 = c 1 , … , c N . – 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.

  6. Solution [D , Liu, Shi, Zhou ‘15]: Locally Decodable and Updatable Codes m 1 m 2 … m n Message Encode C 1 C 2 C 3 … C N-1 C N Codeword Decode(i): Update(j, m’) : Take input an index i, read a few Take inputs an index j and a new blocks of the codeword and message m’, update a few blocks of output m i the codeword

  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. C 1 C 2 C 3 … C N-1 C N

  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.

  9. Putting It Together • 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 C 1 C 2 C 3 … C N-1 C N Decode(i) outputs “Error” while others unchanged C’ 1 C’ 2 C’ 3 … C’ N-1 C’ N Decodes of all positions become unrelated

  10. Tamper and Leakage Resilience For RAM Computation Random Access Memory (RAM) Store an encoding of Data in RAM-- Encode(ORAM(Data)) Write(j,m ’): Read(i): Use Decode(i) Use Update(j,m ’) CPU Our new code, together with an ORAM scheme, protects against physical attacks on random access memory.

  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.

  12. Formal Security Definition

  13. Real Game: Round 𝑗 𝑕 𝑗 ∈ 𝓗 𝐷 𝑗 𝐵𝑒𝑤 ℓ 𝑗 ≔ 𝑕 𝑗 ( 𝐷 𝑗 ) 𝑔 𝑗 ∈ 𝓖 Define: 𝑛 𝑗 ≔ 𝐷 𝑗+ ≔ 𝑔( 𝐷 𝑗 ) 𝐷 𝑗+ 1 , … , 𝐸𝑓𝑑 𝐷 𝑗+ 𝑜 ) (𝐸𝑓𝑑 𝐷 𝑗+1 ≔ 𝑉𝑞𝑒𝑏𝑢𝑓 𝐷 + (𝑣 𝑗 , 𝑤𝑏𝑚 𝑗 ) 𝑉𝑞𝑒𝑏𝑢𝑓𝑠: 𝑣 𝑗 𝑣 𝑗 , 𝑤𝑏𝑚 𝑗 Output at the end of the game: ℓ 1 , ⋯ , ℓ 𝑠 , 𝑛 1 , … , 𝑛 𝑠 , 𝑣 1 , … , 𝑣 𝑠

  14. Ideal Game*: Round 𝑗 𝑁 𝑗 𝐵𝑒𝑤 𝑇𝑗𝑛 𝑕 𝑗 ∈ 𝓗 ℓ 𝑗 𝑔 𝑗 ∈ 𝓖 Define 𝑛 𝑗 as follows: If 𝐽 𝑗 ≠ [𝑜] , for 𝑘 ∈ 𝐽 𝑗 , 𝑛 𝑗 𝑘 ≔ ⊥ Outputs: for 𝑘 ∉ 𝐽 𝑗 , 𝑛 𝑗 𝑘 ≔ 𝑁 𝑗 [𝑘] (𝐽 𝑗 , 𝑥 𝑗 ) If 𝐽 𝑗 = [𝑜] , 𝑛 𝑗 = 𝑥 𝑗 𝑉𝑞𝑒𝑏𝑢𝑓𝑠: 𝑣 𝑗 𝑁 𝑗+1 𝑣 𝑗 𝑣 𝑗 , 𝑤𝑏𝑚 𝑗 ≔ 𝑤𝑏𝑚 𝑗 Output at the end of the game: ℓ 1 , ⋯ , ℓ 𝑠 , 𝑛 1 , … , 𝑛 𝑠 , 𝑣 1 , … , 𝑣 𝑠

  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.

  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.

  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 overwrites the entire codeword.

  18. Our Results — Lower Bound 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). *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.

  19. Our Results — Upper Bound 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). *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. Upper and Lower Bound are “tight”.

  20. Roadmap • Tools for Lower Bound • Lower Bound: Attack and Analysis • Upper Bound • Conclusions

  21. Roadmap • Tools for Lower Bound • Lower Bound: Attack and Analysis • Upper Bound • Conclusions

  22. Sunflower Lemma Definition: A Sunflower is a collection of sets such that the intersection of any pair is equal to the core. 𝑇 2 𝑇 1 • Consider Σ ≔ 𝑇 1 , … , 𝑇 𝑜 𝑇 𝑗 is the set of codeword blocks accessed • core during decode/update of the 𝑗 -th message 𝑇 3 block. 𝑇 5 • Size of each 𝑇 𝑗 is at most constant 𝑑 . Size of each codeword block is 𝜓 ≔ 𝑞𝑝𝑚𝑧 𝜇 • 𝑇 4 Sunflower Lemma (Erdös and Rado): If 𝑜 > 𝑑! 𝑙 𝑑 then Σ contains a sunflower of size 𝑙 + 1 . Set 𝑙 ≫ 𝑑 ⋅ 𝜓 • 𝑜 is polynomial in 𝜇 . •

  23. Compression Function Given 𝑻𝑮 = {𝑇 𝑗 0 , 𝑇 𝑗 1 , … , 𝑇 𝑗 𝑙 } , codeword 𝐷 𝐷 ⋅ : 0,1, 𝑡𝑏𝑛𝑓 𝑙 → 0,1 𝑑⋅𝜓 as follows: Define 𝐺 • 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 𝑙 ≫ 𝑑 ⋅ 𝜓 .

  24. Distributional Stability Theorem (Informal) [Drucker 12],(see also [Raz 98], [Shaltiel 10]): 𝐷 𝑌 1 , … , 𝑌 𝑙 : 0,1, 𝑡𝑏𝑛𝑓 𝑙 → 0,1 ≤𝑢 be a randomized mapping, where Let 𝐺 𝑢 ≪ 𝑙 and 𝑌 1 , … , 𝑌 𝑙 are independent random variables. Then w.h.p. over choice of 𝑗 ∼ 𝑙 , the two distributions 𝐺 𝐷 𝑌 1 , … , 𝑌 𝑙 𝐺 𝐷 (𝑌 1 , … , 𝑌 𝑗−1 , 𝑡𝑏𝑛𝑓, 𝑌 𝑗+1 , … , 𝑌 𝑙 ) are statistically close.

  25. Roadmap • Tools for Lower Bound • Lower Bound: Attack and Analysis • Upper Bound • Conclusions

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend