on protecting integrity and confidentiality of
play

On Protecting Integrity and Confidentiality of Cryptographic File - PowerPoint PPT Presentation

On Protecting Integrity and Confidentiality of Cryptographic File System for Outsourced Storage Aaram Yun , Chunhui Shi, Yongdae Kim University of Minnesota CCSW 2009, 13 Nov 2009 Cryptographic network file system How to achieve a


  1. On Protecting Integrity and Confidentiality of Cryptographic File System for Outsourced Storage Aaram Yun , Chunhui Shi, Yongdae Kim University of Minnesota CCSW 2009, 13 Nov 2009

  2. Cryptographic network file system ✤ How to achieve ✤ a network file system ✤ where data storage can be outsourced ✤ securely and efficiently?

  3. Cryptographic network file system

  4. Goals ✤ Formal security definition for cryptographic file system ✤ confidentiality & integrity against attacker which controls data storage ✤ Efficient construction ✤ better computational overhead for crypto operations

  5. Requirements ✤ Confidentiality & integrity of stored data ✤ Random access ✤ Only constant amount of trusted storage per file ✤ Small computational overhead

  6. Merkle hash tree ✤ Popular solution for protecting data integrity (3) H 1 ✤ Data blocks at leaf nodes (2) (2) (2) H 1 H 2 H 3 ✤ Tree of hash values (1) (1) (1) (1) (1) (1) (1) (1) H 1 H 2 H 3 H 4 H 5 H 6 H 7 H 8 ✤ Root should be stored securely D 1 D 2 D 3 D 4 D 5 D 6 D 7 D 8 ✤ O(log n) cost for update

  7. Merkle hash tree + encryption ✤ Put encrypted data blocks at (3) H 1 leaf nodes (2) (2) (2) H 1 H 2 H 3 ✤ Blockwise encryption using CTR, for example (1) (1) (1) (1) (1) (1) (1) (1) H 1 H 2 H 3 H 4 H 5 H 6 H 7 H 8 ✤ Protects confidentiality and D 1 D 2 D 3 D 4 D 5 D 6 D 7 D 8 integrity

  8. How to enhance Merkle tree? ✤ Efficiency ✤ Hash function is fast, but not too fast ✤ Speed of SHA-1 only about 1.5 times faster than AES-128, in most software environments ✤ SHA-2 slower than AES-128 in general ✤ Security ✤ Secure, but could leak information if not used carefully

  9. Formalism ✤ A file represents a sequence of file blocks D 1 D 2 ...D n ✤ Allowed operations (file encryption key is implicit) ✤ Read(k), Length(), Update(k, D), Append(D), Delete() ✤ T: trusted storage, S: data storage ✤ (t, s) ∈ T × S: state of a file, starting from a fixed initial state, updated by file operations ✤ Failed operation cannot change t, but it may change s

  10. Security definitions ✤ Integrity: infeasibility of alteration of file content ✤ Attacker is allowed to interact with the file, making file operation queries ✤ Attacker can feed arbitrary state s’ before any file operation ✤ Attacker wins if he requests read(k) and obtain D’ ≠ D k ✤ D k : k th block of the correct file content

  11. Security definitions ✤ Confidentiality ✤ infeasibility to learn anything about a file block, other than by reading the block ✤ Even when the attacker somehow coerces a valid user to read a block of plaintext or eavesdrops it, still unread blocks do not give any information

  12. Universal hash-based MACs ✤ Universal hash function : Prob[H k (x)=H k (y)]< ε for any x ≠ y ✤ Structure of H k (x) is very simple ✤ Long data block is ‘compressed’ by cheap universal hashing, then ‘encrypted’ by XORing to an enciphered nonce τ = M k, k’ (N, M) = H k (M) ⊕ E k’ (N) ✤ Attacker cannot produce a forgery: (N, M, τ ) satisfying τ = H k (M) ⊕ E k’ (N) with new (N, M) ✤ We use Poly1305-AES, but other UH-based MACs are also usable

  13. Nonce-based MAC tree construction ✤ If nonce is untampered, validity of (2) N 1 (2) T 1 data & MAC can be checked M ✤ Root nonce is securely stored (1) (1) (1) N 1 N 2 N 3 ✤ Trust is transferred down the tree (1) (1) (1) T 1 T 2 T 3 ✤ Leaf nonces are used to encrypt M M M data blocks (0) (0) (0) (0) (0) (0) (0) (0) N 1 N 2 N 3 N 4 N 5 N 6 N 7 N 8 ✤ Needs only to protect nonces & nonces can be shorter than hashes!

  14. How to encrypt using nonces ✤ Nonces at the leaf nodes, N k(0) are used for encrypting each file blocks in CTR mode, and also for authenticating file blocks ✤ If, N k(0) are kept in a trusted storage & incremented properly whenever update of a block happens, this encryption & authentication can be proven to be secure ✤ But, since N k(0) are protected by the MAC tree, still this is secure

  15. Implementation & performance '!!!!" ✤ Implemented the file system on &#!!!" -9*:1-*" );+." a FUSE based network file &!!!!" system %#!!!" %!!!!" $#!!!" ✤ One for our MAC tree, one $!!!!" #!!!" for Merkle hash tree !" ()*" .)/." ()*" .)/." ()*" .)/." ()*" .)/." ✤ Cost of authentication is about +,--" +,--" +,--" +,--" +,--" +,--" +,--" +,--" 50% of the Merkle tree 0-)12*.)," 0-)12345*6" 7,8+-2*.)," 7,8+-2345*6" construction in general

  16. Thank You!

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