improving speed and security in updatable encryption
play

Improving Speed and Security in Updatable Encryption Systems Dan - PowerPoint PPT Presentation

Improving Speed and Security in Updatable Encryption Systems Dan Boneh Saba Eskandarian Sam Kim Maurice Shih Stanford University Stanford University Stanford University Cisco Systems Key Rotation Key Rotation Good Reasons to


  1. Improving Speed and Security in Updatable Encryption Systems Dan Boneh Saba Eskandarian Sam Kim Maurice Shih Stanford University Stanford University Stanford University Cisco Systems

  2. Key Rotation

  3. Key Rotation

  4. Good Reasons to Rotate Keys Recommended by NIST (Special Publication 800-57) 1.

  5. Good Reasons to Rotate Keys Recommended by NIST (Special Publication 800-57) 1. Recommended by Google (cloud.google.com/kms/docs/key-rotation) 2.

  6. Good Reasons to Rotate Keys Recommended by NIST (Special Publication 800-57) 1. Recommended by Google (cloud.google.com/kms/docs/key-rotation) 2. Required by PCI DSS (PCI DSS 3.6.4) 3.

  7. Good Reasons to Rotate Keys Recommended by NIST (Special Publication 800-57) 1. Recommended by Google (cloud.google.com/kms/docs/key-rotation) 2. Required by PCI DSS (PCI DSS 3.6.4) 3. …But Why?

  8. Good Reasons to Rotate Keys Reasons to rotate keys for data stored in the cloud: - Compromised keys need to be taken out of use - Proactive refresh of keys - Access control enforcement

  9. How to Rotate Keys in the Cloud? Idea 1: send keys to cloud

  10. How to Rotate Keys in the Cloud? Idea 1: send keys to cloud

  11. How to Rotate Keys in the Cloud? Idea 1: send keys to cloud

  12. How to Rotate Keys in the Cloud? Idea 1: send keys to cloud No Security!!

  13. How to Rotate Keys in the Cloud? Idea 2: download, re-encrypt, upload

  14. How to Rotate Keys in the Cloud? Idea 2: download, re-encrypt, upload

  15. How to Rotate Keys in the Cloud? Idea 2: download, re-encrypt, upload

  16. How to Rotate Keys in the Cloud? Idea 2: download, re-encrypt, upload

  17. How to Rotate Keys in the Cloud? Idea 2: download, re-encrypt, upload

  18. How to Rotate Keys in the Cloud? Idea 2: download, re-encrypt, upload Note: cloud must be trusted not to keep old ciphertexts

  19. How to Rotate Keys in the Cloud? Idea 2: download, re-encrypt, upload High communication and client computation cost!

  20. How to Rotate Keys in the Cloud? Idea 2: download, re-encrypt, upload Can we do better? High communication and client computation cost!

  21. Updatable Encryption [BLMR13, EPRS17, LT18, KLR19, BDGJ19] Client sends small update token Server updates ciphertext without learning key or data

  22. Our Contributions & Roadmap Improvements over prior security definitions ● Additional requirements for security Two new constructions of updatable encryption ● From Nested AES: very fast, only supports bounded updates ● From KH-PRF based on RLWE: ~500x faster than prior work Performance evaluation and comparison to prior work Recommendations for usage

  23. Security and Functionality Goals 1. Adversary without access to any key does not learn data

  24. Security and Functionality Goals 1. Adversary without access to any key does not learn data 2. Adversary with access to the current key/data cannot get more data than it has already exfiltrated after rekeying

  25. Security and Functionality Goals 1. Adversary without access to any key does not learn data 2. Adversary with access to the current key/data cannot get more data than it has already exfiltrated after rekeying 3. Client-server communication small

  26. Security and Functionality Goals 1. Adversary without access to any key does not learn data 2. Adversary with access to the current key/data cannot get more data than it has already exfiltrated after rekeying 3. Client-server communication small 4. Client computation small

  27. Security and Functionality Goals 1. Adversary without access to any key does not learn data 2. Adversary with access to the current key/data cannot get more data than it has already exfiltrated after rekeying 3. Client-server communication small 4. Client computation small Limitations 1. Server computation will be linear

  28. Security and Functionality Goals 1. Adversary without access to any key does not learn data 2. Adversary with access to the current key/data cannot get more data than it has already exfiltrated after rekeying 3. Client-server communication small 4. Client computation small Limitations 1. Server computation will be linear 2. Adversary with ongoing access to key updates will still get data

  29. Defining Security [EPRS17] Four properties to achieve: - Correctness - Compactness - Confidentiality - Integrity

  30. Defining Security [EPRS17] Four properties to achieve: - Correctness - Compactness - Confidentiality - Integrity

  31. Confidentiality Key 1 Key 2 Key 3 Key 4 Update Update Update Token 3-4 Token 1-2 Token 2-3 Attacker cannot control keys/update tokens that give a path to key used to encrypt a ciphertext

  32. Confidentiality Key 1 Key 2 Key 3 Key 4 Update Update Update Token 3-4 Token 1-2 Token 2-3 Attacker cannot control keys/update tokens that give a path to key used to encrypt a ciphertext

  33. Confidentiality Key 1 Key 2 Key 3 Key 4 Update Update Update Token 3-4 Token 1-2 Token 2-3 Attacker cannot control keys/update tokens that give a path to key used to encrypt a ciphertext

  34. Confidentiality Key 1 Key 2 Key 3 Key 4 Update Update Update Token 3-4 Token 1-2 Token 2-3 Attacker cannot control keys/update tokens that give a path to key used to encrypt a ciphertext

  35. Confidentiality Key 1 Key 2 Key 3 Key 4 Update Update Update Token 3-4 Token 1-2 Token 2-3 Attacker cannot control keys/update tokens that give a path to key used to encrypt a ciphertext

  36. Confidentiality Key 1 Key 2 Key 3 Key 4 Update Update Update Token 3-4 Token 1-2 Token 2-3 Our definitions additionally require hiding ciphertext age from attacker

  37. Confidentiality Key 1 Key 2 Key 3 Key 4 Update Update Update Token 3-4 Token 1-2 Token 2-3 Our definitions additionally require hiding ciphertext age from attacker

  38. Building Updatable Encryption [BLMR13, EPRS17]

  39. Building Updatable Encryption [BLMR13, EPRS17] Ciphertext header Ciphertext Body header header Body Body ...

  40. Building Updatable Encryption [BLMR13, EPRS17] Ciphertext header Header Ciphertext Body header header Body Body ...

  41. Building Updatable Encryption [BLMR13, EPRS17] Ciphertext header Header Rekey Token Ciphertext Body header header Body Body ...

  42. Building Updatable Encryption [BLMR13, EPRS17] Ciphertext header Header Rekey Token Ciphertext Body header header Body Body ...

  43. Building Updatable Encryption [BLMR13, EPRS17] Ciphertext header Header Rekey Token Ciphertext Body header header Body Body ...

  44. Building Updatable Encryption [BLMR13, EPRS17] “Ciphertext-dependent” model Ciphertext header Header Rekey Token Ciphertext Body header header Body Body ...

  45. Updatable Encryption from Nested AES Very fast, simple scheme Only requires authenticated encryption (AES-GCM) and a PRG

  46. Updatable Encryption from Nested AES Very fast, simple scheme Only requires authenticated encryption (AES-GCM) and a PRG Caveats: Only works for a bounded number of re-encryptions, decided at - encryption time - Decryption time will be linear in the number of re-encryptions

  47. Updatable Encryption from Nested AES Ciphertext header Ciphertext Body Header key

  48. Updatable Encryption from Nested AES Ciphertext header Ciphertext Body Body key used for this lock held in ciphertext header Header key

  49. Updatable Encryption from Nested AES Ciphertext header Ciphertext Body Header key

  50. Updatable Encryption from Nested AES Ciphertext header Body key Ciphertext header Ciphertext Body Header key

  51. Updatable Encryption from Nested AES Ciphertext header Ciphertext header Ciphertext Body Header key

  52. Updatable Encryption from Nested AES Ciphertext header Ciphertext header Body key Ciphertext header Ciphertext Body Header key

  53. Updatable Encryption from Nested AES Ciphertext header Ciphertext header Ciphertext header Ciphertext Body Header key

  54. Updatable Encryption from Nested AES Re-Encryption: wrap previous layer Ciphertext header Decryption: unwrap all layers Ciphertext header Ciphertext header Ciphertext Body

  55. Updatable Encryption from Nested AES Re-Encryption: wrap previous layer Ciphertext header Decryption: unwrap all layers Ciphertext header Ciphertext header Issue: leaks ciphertext age Ciphertext Body

  56. Updatable Encryption from Nested AES Re-Encryption: wrap previous layer Ciphertext header Decryption: unwrap all layers Ciphertext header Ciphertext header Issue: leaks ciphertext age Ciphertext Body Note: this satisfies prior definitions

  57. Updatable Encryption from Nested AES How to hide ciphertext age? Ciphertext header Ciphertext header Ciphertext header Ciphertext Body

  58. Updatable Encryption from Nested AES How to hide ciphertext age? Ciphertext header Ciphertext header Idea 1: pad up to fixed max size Ciphertext header with random data Ciphertext Body

  59. Updatable Encryption from Nested AES How to hide ciphertext age? Ciphertext header Ciphertext header Idea 1: pad up to fixed max size Ciphertext header with random data But this ruins integrity Ciphertext Body

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