Download - Cloud and Mobile Computing - cs.purdue.edu
![Page 1: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/1.jpg)
Yung-Hsiang LuElectrical and Computer Engineering
Purdue University
Cloud and Mobile Computing
Protect Privacy in Offloading
![Page 2: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/2.jpg)
Technological Trends
• Mobile systems become primary computing platforms for most people.
• Mobile systems have limited resources: storage, performance, network bandwidths, and battery life.
• Cloud computing gains popularity replacing in-house servers and desktop applications.
• Existing cloud services: webmail, video hosting, social networks …
• Can the cloud help mobile users? Can mobile systems help the cloud?o Mobile systems need resources.o The cloud needs (real-time) data.
2
![Page 3: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/3.jpg)
"Cheap" Massive Parallelism
• allow users to rent many computers for only hours
• meet the increasing need for storage, organization,
analysis of large amounts of data (image, video,
audio, document…) by end users
• respond to events by allocating resources quickly
(for example, simulations in emergency)
3
![Page 4: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/4.jpg)
Computation Offloading
4
mobile
system
high-performance
server
heavy computation
(e.g. image search
and recognition)
![Page 5: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/5.jpg)
Demo: Computation
Offloading for Robot
5
![Page 6: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/6.jpg)
Challenges
• offer fine-grained offloading services (for seconds or minutes, not hours or months)
• schedule real-time tasks with high parallelism (such as image processing and object recognition)
• provide easy-to-program interface with automatic parallelism detection and scalability
• tolerate bandwidth fluctuations with multiple levels of details / accuracy
• design programming languages for applications whose executions may be migrated easily
• protect privacy
6
![Page 7: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/7.jpg)
Are you willing to put
private information
in the cloud?
7
![Page 8: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/8.jpg)
8NCTU 2010/12/18-19
![Page 9: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/9.jpg)
9NCTU 2010/12/18-19
![Page 10: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/10.jpg)
10NCTU 2010/12/18-19
![Page 11: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/11.jpg)
11NCTU 2010/12/18-19
![Page 12: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/12.jpg)
12NCTU 2010/12/18-19
![Page 13: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/13.jpg)
NCTU 2010/12/18-19 13
![Page 14: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/14.jpg)
Energy Savings in Privacy-
Preserving Computation Offloading
with Protection by Homomorphic
Encryption
Jibang Liu and Yung-Hsiang LuElectrical and Computer Engineering
Purdue University
HotPower 2010, Vancouver, Canada
14
![Page 15: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/15.jpg)
Save Mobile Energy by Offloading
15
mobile
system
high-performance
server
heavy computation
(e.g. image search
and recognition)
![Page 16: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/16.jpg)
Technology to Protect Data
• Anonymize
• Erase history
• Steganography
• Watermark
• Encryption
• …
• Contribution: first paper showing how to use
homomorphic encryption for offloading and saving
mobile energy.
16
inside
image source: Wikipedia
![Page 17: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/17.jpg)
Is it possible to perform computation
on encrypted data?
Rivest, Adleman, Dertouzos 1978
17
![Page 18: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/18.jpg)
Process without Access
18
Darkroom
locked glovebox
![Page 19: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/19.jpg)
Homomorphic Encryption
x: plaintext r: result
y: ciphertext e(x) = y
e: encryption d(y) = x
d: decryption f(x) = r
f: operation d(f(y)) = r
19
Homomorphic encryption is not an encryption
algorithm (like RSA, DES, or AES). Instead, it says
that some encryption algorithms allow operations
on the encrypted data.
![Page 20: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/20.jpg)
Example (Addition)
• Suppose p and q are two prime numbers, n = pq.
• y = e(x) = (x + pr) mod n, r is a user-chosen integer
• x = d(y) = y mod p
• x must be smaller than p
• p = 7, q = 5, x1 = 2, x2 = 1
• y1 = (2 + 2 7) mod 35 = 16, choose 2 for r
• y2 = (1 + 6 7) mod 35 = 8, choose 6 for r
• x1 + x2 = 3
• y1 + y2 = 16 + 8 = 24
• 24 mod 7 = 320
![Page 21: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/21.jpg)
Example (Multiplication)
• y = e(x) = (x + pr) mod n, r is a random integer
• x = d(y) = y mod p
• p = 7, q = 5, x1 = 2, x2 = 1
• y1 = (2 + 2 7) mod 35 = 16, choose 2 for r
• y2 = (1 + 6 7) mod 35 = 8, choose 6 for r
• x1 x2 = 2, y1 y2 = 16 8 = 128
• 128 mod 7 = 2
• (16 16 16) mod 7 = 4096 mod 7 = 1
• 2 2 2 = 8
• In practice, p and q are very large.21
wrong
("overflow")
![Page 22: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/22.jpg)
Nondeterministic Encryption
22
x
y
e
d
f(x) = rx f
r
f
f(y)
dr
sometimes
x
y
e
d
f
f(y)
dr
wrong
f is + and in the examples
![Page 23: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/23.jpg)
"Noise" in Homomorphic Encryption
23
xy
e
d
f1
f1(y)
f2
f2(f1(y))
• more operations noise accumulates
eventually falls outside the region.
• The region's size (i.e. tolerance of noise) depends
on the encryption key (larger key, better tolerance)
• Frequent denoising is needed but no efficient
solution was discovered until [Gentry STOC 2009]
• This paper does not consider denoising.
f3
f3(f2(f1(y)))
![Page 24: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/24.jpg)
Save Mobile Energy by Offloading
24
mobile
system
high-performance
server
heavy computation
(e.g. image search
and recognition)
![Page 25: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/25.jpg)
Gabor Filtering (Insensitive to Rotations and Noise)
25
Original 4-pixel
average
gray level shuffle 4-pixel
block
45-degree
rotation
90-degree
rotation
180-degree
rotation
motion blur zoom blur noise
![Page 26: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/26.jpg)
Step 1/2 (S1) Scale + Convolution
26
2 2
2 2
1( , ) exp( )cos(2 )
2 2
x yG x y fx
cos sin
sin cos
x x y
y x y
= 0 /4 /2 3/4
= 1, 10, 100, 200
in our evaluation
scale: convert floating point values to integers
by multiplying a large number (such as 10,000)
![Page 27: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/27.jpg)
Step 2/2 (S2) Features
• computing "features" using means, standard
deviations, and distributions of these images
• compare the features to find similar images
27
S1 S2
computation
intensive
Y > 99% N <1%
operations + and + and and
efficient operations
on encrypted data
Y N
offload Y N
![Page 28: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/28.jpg)
Offloading Options
28
Save Energy Protect Privacy
(a) N Y
(b) Y N
(c) Y Y
(a) images S1 S2 result
(b) images S1 S2 result
(c) images encrypt S1 resultdecrypt S2
mobile
server
![Page 29: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/29.jpg)
Parameters and Protections
• encryption key ↑
+ protection ↑, accuracy ↑
- energy saving
• scaling factor ↑
+ accuracy ↑
• attacks
– ciphertext-only attacks
– known plaintext
– chosen plaintext
– adaptively-chosen plaintext
29
more difficult for
an attacker
![Page 30: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/30.jpg)
Experimental Setup
• Mobile: HP iPAQ 6954 PDA
• Server: 2GHz CPU, 3GB memory
• power measurement: National Instrument data
acquisition, power from battery,1 KHz sampling
• accuracy measured by recall
– L: number of returned images (20 in our evaluations)
– Y: number of similar images (10 in our evaluation)
– X: number matched images
30
( )X
recall LY
![Page 31: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/31.jpg)
Results
31
Scaling Factor Key Length
(bits)
inaccurate
because of noise
stronger
protection
![Page 32: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/32.jpg)
• compared with steganography [ISLPED 2010]
• The modified Gabor filter can handle both original
and encrypted images.32
10,000 images from Flickr
evaluated on the server
steganographyencrypted
imagesoriginal
images
better
![Page 33: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/33.jpg)
• 1000 images on the PDA, sent to server at run time
• baseline: no protection, on PDA, ~2 hours33
better
offload and
no protection
64-bit
key
80-bit 96-bit 112-bit 128-bit
![Page 34: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/34.jpg)
Future Work
• migrate to newer mobile systems and re-evaluate
the parameters
• extend the Gabor filter to handle zooming
• use SIFT (scale invariant feature transformation) to
handle distortion
• implement denoising and evaluate the effects on
energy consumption and performance
• compare different encryption algorithms
34
![Page 35: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/35.jpg)
Conclusion
• Present a method to offload image retrieval with
data protected by homomorphic encryption.
• Obtain accuracy comparable to no protection.
• Modify Gabor retrieval algorithm that can handle
unprotected and protected images.
• Evaluate the effects of key size and scaling factor.
Acknowledgements: This work is supported in part by NSF grants CNS-0716271. Any
opinions, findings, and conclusions or recommendations in the paper are those of the
authors and do no necessarily reflect the views of the sponsor.
35
![Page 36: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/36.jpg)
36
![Page 37: Cloud and Mobile Computing - cs.purdue.edu](https://reader031.vdocuments.mx/reader031/viewer/2022020622/61ee76cd45c6dc39353b6f37/html5/thumbnails/37.jpg)
Encryption and Decryption
• e(x) = (x + pr) y mod n
• x + pr = bpq + y
• y = x + pr - bpq
• d(y) = y mod p
• (x + pr - bpq) mod p (x + p(r - bq)) mod p = x
37