private editing using untrusted cloud services
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 PresentationTRANSCRIPT
![Page 1: Private Editing Using Untrusted Cloud Services](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/1.jpg)
Private Editing Using Untrusted Cloud Services
Yan Huang and David EvansUniversity of Virginia
http://MightBeEvil.com
![Page 2: Private Editing Using Untrusted Cloud Services](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/4.jpg)
4
Developed a Firefox extension to enable private editing using Google Documents.
![Page 5: Private Editing Using Untrusted Cloud Services](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/6.jpg)
Design Choices
6
Client
Server
Proxy
User JS
Add-on
![Page 7: Private Editing Using Untrusted Cloud Services](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/14.jpg)
IndexedSkipList
14
Head Nil
0
0
0
![Page 15: Private Editing Using Untrusted Cloud Services](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/15.jpg)
IndexedSkipList
15
Head Nil
3
3
0
Insert(0,“abc”);
abc
3
![Page 16: Private Editing Using Untrusted Cloud Services](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/19.jpg)
Extreme Threat Model
19
Server controls client’sapplication content software.
![Page 20: Private Editing Using Untrusted Cloud Services](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/21.jpg)
Functional Evaluation
• Basic editing functions are supported• Features disrupted:
– Translation– Spell checking– Drawings– Export– Collaboration
21
![Page 22: Private Editing Using Untrusted Cloud Services](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/22.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/23.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022020308/56815d80550346895dcb8e27/html5/thumbnails/24.jpg)
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