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

on protecting integrity and confidentiality of
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

CCSW 2009, 13 Nov 2009

On Protecting Integrity and Confidentiality of Cryptographic File System for Outsourced Storage

Aaram Yun, Chunhui Shi, Yongdae Kim University of Minnesota

slide-2
SLIDE 2

Cryptographic network file system

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

slide-3
SLIDE 3

Cryptographic network file system

slide-4
SLIDE 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

slide-5
SLIDE 5

Requirements

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

slide-6
SLIDE 6

Merkle hash tree

✤ Popular solution for protecting

data integrity

✤ Data blocks at leaf nodes ✤ Tree of hash values ✤ Root should be stored securely ✤ O(log n) cost for update

D1 D2 D3 D4 D5 D6 D7 D8

H1

(1)

H2

(1)

H3

(1)

H4

(1)

H5

(1)

H6

(1)

H7

(1)

H8

(1)

H1

(2)

H2

(2)

H3

(2)

H1

(3)

slide-7
SLIDE 7

Merkle hash tree + encryption

✤ Put encrypted data blocks at

leaf nodes

✤ Blockwise encryption using

CTR, for example

✤ Protects confidentiality and

integrity

D1 D2 D3 D4 D5 D6 D7 D8

H1

(1)

H2

(1)

H3

(1)

H4

(1)

H5

(1)

H6

(1)

H7

(1)

H8

(1)

H1

(2)

H2

(2)

H3

(2)

H1

(3)

slide-8
SLIDE 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

slide-9
SLIDE 9

Formalism

✤ A file represents a sequence of file blocks D1D2...Dn ✤ 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

slide-10
SLIDE 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’≠Dk ✤ Dk: kth block of the correct file content

slide-11
SLIDE 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

slide-12
SLIDE 12

Universal hash-based MACs

✤ Universal hash function : Prob[Hk(x)=Hk(y)]<ε for any x≠y ✤ Structure of Hk(x) is very simple ✤ Long data block is ‘compressed’ by cheap universal hashing, then

‘encrypted’ by XORing to an enciphered nonce τ = Mk, k’(N, M) = Hk(M) ⊕ Ek’(N)

✤ Attacker cannot produce a forgery: (N, M, τ) satisfying τ = Hk(M) ⊕

Ek’(N) with new (N, M)

✤ We use Poly1305-AES, but other UH-based MACs are also usable

slide-13
SLIDE 13

Nonce-based MAC tree construction

✤ If nonce is untampered, validity of

data & MAC can be checked

✤ Root nonce is securely stored ✤ Trust is transferred down the tree ✤ Leaf nonces are used to encrypt

data blocks

✤ Needs only to protect nonces &

nonces can be shorter than hashes!

N1

(0)

N2

(0)

N3

(0)

N1

(1)

N2

(1)

N3

(1)

N4

(0)

N5

(0)

N6

(0)

N7

(0)

N8

(0)

T1

(1)

T2

(1)

T3

(1)

T1

(2)

N1

(2)

M M M M

slide-14
SLIDE 14

How to encrypt using nonces

✤ Nonces at the leaf nodes, Nk(0) are used for encrypting each file blocks

in CTR mode, and also for authenticating file blocks

✤ If, Nk(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 Nk(0) are protected by the MAC tree, still this is secure

slide-15
SLIDE 15

Implementation & performance

✤ Implemented the file system on

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 construction in general

!" #!!!" $!!!!" $#!!!" %!!!!" %#!!!" &!!!!" &#!!!" '!!!!" ()*" +,--" .)/." +,--" ()*" +,--" .)/." +,--" ()*" +,--" .)/." +,--" ()*" +,--" .)/." +,--" 0-)12*.)," 0-)12345*6" 7,8+-2*.)," 7,8+-2345*6"

  • 9*:1-*"

);+."

slide-16
SLIDE 16

Thank You!