private editing using untrusted cloud services

24
Private Editing Using Untrusted Cloud Services Yan Huang and David Evans University of Virginia http:// MightBeEvil.com

Upload: moya

Post on 11-Feb-2016

47 views

Category:

Documents


1 download

DESCRIPTION

Private Editing Using Untrusted Cloud Services. Yan Huang and David Evans University of Virginia http://MightBeEvil.com. Motivation. To take advantage of existing cloud services without revealing private data to untrusted servers . We expect a solution that is easy to deploy - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Private Editing Using  Untrusted  Cloud Services

Private Editing Using Untrusted Cloud Services

Yan Huang and David EvansUniversity of Virginia

http://MightBeEvil.com

Page 2: Private Editing Using  Untrusted  Cloud Services

Motivation

2

To take advantage of existing cloud services without revealing private data to untrusted servers.

We expect a solution that• is easy to deploy• and results in minimal

negative interference with existing functionalities

Page 3: Private Editing Using  Untrusted  Cloud Services

Observation: Server Doesn’t Need Data

Many cloud applications perform most data-dependent computation on the client:–Reduce server load–Reduce latency

3

Computation needed at server-side:• Protecting proprietary algorithms• Greater computing power• Large data needed

Page 4: Private Editing Using  Untrusted  Cloud Services

4

Developed a Firefox extension to enable private editing using Google Documents.

Page 5: Private Editing Using  Untrusted  Cloud Services

Typical Threat Model

5

Server is not trusted, hasfull access to user data.

Browser is not compromised

Page 6: Private Editing Using  Untrusted  Cloud Services

Design Choices

6

Client

Server

Proxy

User JS

Add-on

Page 7: Private Editing Using  Untrusted  Cloud Services

Protocol Without Extension

7

docid=001“sunny”

Client Server(1) Open

document http://docs.google.com/Doc?docid=001

docid=001“cloudy”

<html>...<script>var DOC_Content=“...cloudy...

”</script>…</html>

(2) Save “sunny” http://.../RawDocContents?docContents=“sunny”

ACK:{contentFromServer:””,contentFromServerHas

h:0}

Page 8: Private Editing Using  Untrusted  Cloud Services

Protocol Without Extension

8

docid=001“sunny”

Client Server

(3) Save “sunshine”

.../RawDocContents?contentIsDelta=true&delta=“=3 +shi =1 -1 +e”

ACK:{contentFromServer:””,contentFromServerHas

h:0}

docid=001“sunshine”

Page 9: Private Editing Using  Untrusted  Cloud Services

Protocol With Extension

9

docid=001E(‘sunny’)

Client Server(1) Open

document…/Doc?docid=001

docid=001E(‘cloudy’)

(2) Save “sunny”

…/RawDocContents?docContents=sunny

ACK:

{contentFromServer:””,contentFromSe

rverHash:0}

Extension

…/Doc?docid=001

<html> “...E(‘cloudy’)...”

</html><html> “... cloudy...” </html>

RawDocContents?docContents=E(‘sunny’)

ACK:

{contentFromServer:””,contentFromS

erverHash:0}

Dec

Enc

Page 10: Private Editing Using  Untrusted  Cloud Services

Protocol With Extension

10

docid=001E(‘sunny’)

Client Server

(3) Save “sunshine”

.../RawDocContents?...&delta=“=3 +shi =1 -1 +e”

ACK:

{contentFromServer:””,contentFromSe

rverHash:0}

Extension

…/RawDocContents?...&delta=IncE(delta)

ACK:

{contentFromServer:””,contentFromS

erverHash:0}

IncE

docid=001E(‘sunshine’)

Page 11: Private Editing Using  Untrusted  Cloud Services

Incremental Encryption

key generation algorithm encrypt whole message m decrypt ciphertext c given a key k, an edit operation op,

previous message m, and previous ciphertext c, compute an updated ciphertext c’.

11

Gen)(mEncc k)(cDecm k

),,( cmopIncEc k

[BKY01] – Buonanno, Katz, and Yung. Fast Software Encryption 2001

Page 12: Private Editing Using  Untrusted  Cloud Services

Privacy Only Mode

12

Trapdoor psuedorandom permutation Random numbers Document segments Concatenation

Trapdoor psuedorandom permutation Random numbers Document segments Concatenation

ir

id||

F

1d 2d nd

)||( 0 padsk rrF )||( 1110 drrrFsk )||( 2220 drrrFsk )||( 0 nnnsk drrrF

Page 13: Private Editing Using  Untrusted  Cloud Services

Multiple Characters per Block

Motivation: reduce the ciphertext blow-up

Challenge: the index of each character will change so that naïve implementation won’t work

13

1id

id

id

Page 14: Private Editing Using  Untrusted  Cloud Services

IndexedSkipList

14

Head Nil

0

0

0

Page 15: Private Editing Using  Untrusted  Cloud Services

IndexedSkipList

15

Head Nil

3

3

0

Insert(0,“abc”);

abc

3

Page 16: Private Editing Using  Untrusted  Cloud Services

IndexedSkipList

16

Head Nil

7

3

0

Insert(0,“abc”);Insert(3,“1234”);

abc

4

1234

3

4

Page 17: Private Editing Using  Untrusted  Cloud Services

IndexedSkipList

17

Head Nil

4

2

0

Ins(0,“abc”);Ins(3,“1234”);Del(2, 3);

ab

2

34

2

2

Page 18: Private Editing Using  Untrusted  Cloud Services

Security Analysis

• Server knows the document ciphertext• Can infer the length of original document• Knows editing positions and edit operation types• Can deny service

18

Page 19: Private Editing Using  Untrusted  Cloud Services

Extreme Threat Model

19

Server controls client’sapplication content software.

Page 20: Private Editing Using  Untrusted  Cloud Services

Security Analysis

• Covert Channels such as timing or delta

• Using obfuscated protocol• Dynamically generated client/server protocols

20

Virginia California

-1 +Cal =1 +fo =1 -2 =3

-5 +Califor =3

-8 +California

Page 21: Private Editing Using  Untrusted  Cloud Services

Functional Evaluation

• Basic editing functions are supported• Features disrupted:

– Translation– Spell checking– Drawings– Export– Collaboration

21

Page 22: Private Editing Using  Untrusted  Cloud Services

Performance EvaluationMicro-Benchmarks

Average Time (per char)

encryption .091 ms

decryption .085 ms

transform delta .110 ms

22

Microbenchmark of privacy-and-integrity mode

(avg. of 1000 tests)

Page 23: Private Editing Using  Untrusted  Cloud Services

Macro-Benchmarks

23

1 2 3 4 5 6 7 80

5

10

15

20

25

Blow-upBlock Size

Blow

-up

insert deletes inserts & deletes

0%2%4%6%8%

10%12%14%

1 char/block 8 char/block

perfo

rman

ce d

egra

datio

n

Page 24: Private Editing Using  Untrusted  Cloud Services

Conclusion

• Editing encrypted data can be practical• Practical secure computation under relaxed

security definitions can be very useful• Would be a very challenging problem should the

service provider chooses not to cooperate

24

Download from: www.MightBeEvil.com/securedocs