Introduction Mohsen Amini Salehi Ph D Aug 12

  • Slides: 58
Download presentation
Introduction • Mohsen Amini Salehi § Ph. D (Aug ’ 12) o Melbourne University,

Introduction • Mohsen Amini Salehi § Ph. D (Aug ’ 12) o Melbourne University, Australia – Resource allocation in interconnected distributed systems • Academic Appointments § Assistant Professor at UL (Aug ’ 14 – present) § University of Miami (Aug ’ 13 – Aug ’ 14) § Colorado State University (Aug ’ 12 – Aug ’ 13) 1

http: //hpcclab. org 2

http: //hpcclab. org 2

Research Interests Cloud-based video streaming Data Sanitization in Cloud Robust Cloud Resource Allocation for

Research Interests Cloud-based video streaming Data Sanitization in Cloud Robust Cloud Resource Allocation for real time Heterogeneous processing of big data Cloud Computing Natural Disaster Management through federated clouds Secure Semantic search over Big Data in the Cloud 3

Secure Semantic Search Over Encrypted Big Data in the Cloud Mohsen Amini Salehi Jason

Secure Semantic Search Over Encrypted Big Data in the Cloud Mohsen Amini Salehi Jason Woodworth Hoang Pham S. M. Zoabaed

Outline 1. Why semantically search encrypted data? 2. Core architecture 3. Enabling Secure Semantic

Outline 1. Why semantically search encrypted data? 2. Core architecture 3. Enabling Secure Semantic Search (S 3 C) 4. Secure Semantic Search on Big Data (S 3 BD) 5. Conclusion and Future Directions 6. Working Demo! 5

Outline 1. Why semantically search encrypted data? 2. What have others done? 3. Core

Outline 1. Why semantically search encrypted data? 2. What have others done? 3. Core architecture 4. Enabling Secure Semantic Search (S 3 C) 5. Secure Semantic Search on Big Data (S 3 BD) 6. Conclusion and Future Directions 7. Working Demo! 6

Motivation: Growth of the Digital Universe 0. 1 ZB in 2005 1 ZB in

Motivation: Growth of the Digital Universe 0. 1 ZB in 2005 1 ZB in 2010 1. 8 ZB in 2011 1 zettabyte is equivalent to 8 million years of UHD 8 K video format 40 ZB in 2020 Source: http: //www. emc. com/ digital-universe/index. htm 7

Cloud Storage & Problems • Storage Clouds emerged in response to the • data

Cloud Storage & Problems • Storage Clouds emerged in response to the • data explosion Convenient, but lacks security § Vulnerable to attack o PRISM leak was internal § Drives away business o Only 33% of businesses are embracing cloud! 1 1. http: //www. businessnewsdaily. com/7661 -businesses-wary-of-cloud. html

How to Make Cloud Storage Secure? • Solution? § Client-side encryption. • Disadvantages: §

How to Make Cloud Storage Secure? • Solution? § Client-side encryption. • Disadvantages: § Restricts processing capabilities (e. g. search!) § Involves high space/time overhead 9

Motivation Scenario • Police searching encrypted criminal records. § Needs to look up related

Motivation Scenario • Police searching encrypted criminal records. § Needs to look up related crimes. § Needs to use small device on the move. § Needs ranking on search results. Burglary 1. Robbery 2. Break In 3. Theft 4. Mugging 5. Stickup 10

Semantic Search • Practically, people need semantic search § § Hard to remember exact

Semantic Search • Practically, people need semantic search § § Hard to remember exact keywords Search should support multi-phrase Search should rank results Search should be real-time Flight To Berlin S 3 C Search 1. Trip to Berlin 2. Flight to Germany 3. Airplane to Berlin 4. Trip to Europe 11

Problem Definition • How to semantically search a multi- phrase query over encrypted data

Problem Definition • How to semantically search a multi- phrase query over encrypted data in cloud? § How to rank results based on semantic similarity to a query? § How to use limited storage/ processing overhead? 12

Our Approach to Achieve Semantic Search 1. How to ensure we find semantically-related documents?

Our Approach to Achieve Semantic Search 1. How to ensure we find semantically-related documents? § We need to extract the meaning of the documents o That is, what is each document about? § For each uploaded document, we extract keywords that represent semantics of the document 2. How to ensure we cover all semantics of a search query? § We need to understand semantics of the search query 13

Outline 1. Why semantically search encrypted data? 2. What have others done? 3. Core

Outline 1. Why semantically search encrypted data? 2. What have others done? 3. Core architecture 4. Enabling Secure Semantic Search (S 3 C) 5. Secure Semantic Search on Big Data (S 3 BD) 6. Conclusion and Future Directions 7. Working Demo! 14

S 3 C Procedure Overview Two Main Operations Upload Document Search 15

S 3 C Procedure Overview Two Main Operations Upload Document Search 15

User Upload Search Split Query Synonyms Weighting Function Query Modification Extracted Ontological Terms File

User Upload Search Split Query Synonyms Weighting Function Query Modification Extracted Ontological Terms File Parser Structured Key File Q Encrypted Documents K Secure Encrypting K’ Function Q’ Ranking Engine Shards Partitioner Search Engine Cloud Processing Server Partitions Index Construct Into Shards Central Index Cloud Side Ranks Documents Search Results Parse Uploaded Documents Client Application Semantically Expands Query Central Index Cloud Storage

Outline 1. Why semantically search encrypted data? 2. What have others done? 3. Core

Outline 1. Why semantically search encrypted data? 2. What have others done? 3. Core architecture 4. Enabling Secure Semantic Search (S 3 C) 5. Secure Semantic Search on Big Data (S 3 BD) 6. Conclusion and Future Directions 7. Working Demo! 17

Client Upload Operation • Parse Document on Client. User § Extract keywords + frequencies.

Client Upload Operation • Parse Document on Client. User § Extract keywords + frequencies. § Hash key information. § Encrypt document. Upload File Parser Structured Key File F 452. txt F 452. key “… The Licklider Transmission Protocol (LTP) is intended to serve as a reliable convergence layer over single-hop deep -space radio frequency (RF) links… “ Licklider (12) 5 b 4 e 7 (12) Transmission (16) 8 dfcf (16) Protocol (14) 4 b 736 (14) intended (4) 8 a 386 (4) serve (2) 52646 (2) reliable (6) b 97 a 2 (6) convergence (1) 6 ae 48 (1) … 18 … Encrypted Documents Secure Hashing Function

Cloud Upload Operation • Index on Cloud Secure Hashing Function Encrypted Documents Hashed Index

Cloud Upload Operation • Index on Cloud Secure Hashing Function Encrypted Documents Hashed Index Cloud Storage § Add keywords to central hashed index. § Add encrypted document to bin storage. F 452. key Hashed Index 5 b 4 e 7 (12) 5 b 4 e 7 8 dfcf F 452 (10) (12) F 341 8 dfcf (16) 8 dfcf 4 b 736 (10), F 910 F 452(20) (16) F 341 (8), 4 b 736 (14) 4 b 736 8 a 386 F 341 (1), (8), F 401 F 452 (9), (16), F 842 F 910(11) (20) F 745 8 a 386 (4) 8 a 386 52646 F 452 (3), (4), F 757 F 745 (6), (1), F 310 F 401 (3), (9), F 872 F 842 (8) (11) F 910 52646 (2) 52646 b 97 a 2 F 910 (9), (3), F 310 F 757 (5) (6), F 310 (3), F 452 (2), F 872 (8) F 754 b 97 a 2 (6) b 97 a 2 6 ae 48 F 754 (2) (9), F 310 (5), F 452 (6) F 757 6 ae 48 (1) 6 ae 48 … F 757 (2), F 452 (1) … … 19

How to Cover Semantics of the Search Query? • For a query, several types

How to Cover Semantics of the Search Query? • For a query, several types of semantics can be extracted: § Semantics of parts of the query § Synonym semantics of the query § Anthological (conceptual) semantics of a query 20

Client Search Operation • Expanding search query to cover semantics § Splitting query §

Client Search Operation • Expanding search query to cover semantics § Splitting query § Extracting synonyms and related terms § Weight terms to give higher contribution to original query terms § Hash all terms Licklider, Licklider Transmission, Transmission Protocol, Protocol Licklider. Transmission, (1), Transmission (1), communication, transportation, Protocol (1), communication (. 5), code, contract, LTP, transportation (. 5), deep-space code (. 5), contract (. 5), LTP (. 5), deep-space (. 5) 5 b 4 e 7 (1), 8 dfcf (1), 4 b 736 (1), 28 tr 7 (. 5), bfpk 7 (. 5), ghe 5 e (. 5), 34 ret (. 5), itop 3 (. 5), b 6 w 5 o (. 5) 21

Cloud Search Operation • Index Search on Cloud § Query checked against hashed index.

Cloud Search Operation • Index Search on Cloud § Query checked against hashed index. § BM 25 equation used for ranking. Hashed Index 5 b 4 e 7 (1), 8 dfcf (1), 4 b 736 (1), 28 tr 7 (. 5), bfpk 7 (. 5), ghe 5 e (. 5), 34 ret (. 5), itop 3 (. 5), b 6 w 5 o (. 5) 5 b 4 e 7 F 452 (12) 8 dfcf F 341 (10), F 452 (16) 4 b 736 F 341 (8), F 452 (16), F 910 (20) 8 a 386 F 452 (4), F 745 (1), F 401 (9), F 842 (11) 52646 F 910 (3), F 757 (6), F 310 (3), F 452 (2), F 872 (8) b 97 a 2 F 754 (9), F 310 (5), F 452 (6) 6 ae 48 F 757 (2), F 452 (1) … 22

Implementation Schemes What is the type of dataset? What level of security is required?

Implementation Schemes What is the type of dataset? What level of security is required? Selective or thorough keyword extraction Determines what information to expose 23

Search Scheme 1: Full Document Scope (FKSS) • Considers all document terms minus •

Search Scheme 1: Full Document Scope (FKSS) • Considers all document terms minus • stopwords. Term frequency is necessary. F 452. txt F 452. key “… The Licklider Transmission Protocol (LTP) is intended to serve as a reliable convergence layer over single-hop deep -space radio frequency (RF) links… “ Licklider (12) Transmission (16) Protocol (14) intended (4) serve (2) reliable (6) convergence (1) … 24

Search Scheme 2: Space Efficient Implementation Selected Keyphrases (SKSS) • • Pick only the

Search Scheme 2: Space Efficient Implementation Selected Keyphrases (SKSS) • • Pick only the “most important” phrases § 10 phrases considered Do not include term frequency § All phrases are important, may be considered equal § Less information leaked F 452. txt “… The Licklider Transmission Protocol (LTP) is intended to serve as a reliable convergence layer over single-hop deep -space radio frequency (RF) links… “ F 452. key Licklider Transmission Protocol Licklider Protocol Deep-space LTP … 25

Search Scheme 3: Space Efficient, Accuracy Driven – Keyphrases with Frequency (KSWF) • Sacrifice

Search Scheme 3: Space Efficient, Accuracy Driven – Keyphrases with Frequency (KSWF) • Sacrifice some security for accuracy. • Combination of previous implementations. F 452. txt “… The Licklider Transmission Protocol (LTP) is intended to serve as a reliable convergence layer over single-hop deep -space radio frequency (RF) links… “ F 452. key Licklider Transmission Protocol (4) Licklider (6) Protocol (7) Deep-space (4) LTP (12) … 26

Experiment Setup • Metrics: § Relevance of search results § Performance of system §

Experiment Setup • Metrics: § Relevance of search results § Performance of system § Scalability of system • Datasets: § RFC – Small, used for relevance § Common Crawl Corpus – Used for scalability 27

Benchmark Queries 28

Benchmark Queries 28

Relevance Testing: How relevant are the ranked results? Relevance for SKSS & KSWF remain

Relevance Testing: How relevant are the ranked results? Relevance for SKSS & KSWF remain high despite missing most of the text. 29

Scalability How does the index size scale? Index size increases at a rate of

Scalability How does the index size scale? Index size increases at a rate of only ~0. 3% of the dataset size 30

Scalability How does search time scale? An increase of 50 GB only increases search

Scalability How does search time scale? An increase of 50 GB only increases search time by ~1 sec 31

S 3 C Result Summary • Different search schemes for different datasets: § FKSS

S 3 C Result Summary • Different search schemes for different datasets: § FKSS for small documents or media tags. § SKSS & KSWF for longer documents. • Accurate search results for all schemes. • Storage overhead of ~0. 3% of data set. § BUT! Central index not great for big data § For 50 PB dataset, the index size is 150 GB! 32

Outline 1. Why semantically search encrypted data? 2. What have others done? 3. Core

Outline 1. Why semantically search encrypted data? 2. What have others done? 3. Core architecture 4. Enabling Secure Semantic Search (S 3 C) 5. Secure Semantic Search on Big Data (S 3 BD) 6. Conclusion and Future Directions 7. Working Demo! 33

Central Index Problem • • S 3 C approach uses central index Huge index

Central Index Problem • • S 3 C approach uses central index Huge index searched § Pulls more results than necessary § Bad for Big Data Security • Solution? Prune searched index. § Divide into topic-based shards. § Cluster into shards; some will be pruned Index Terms Computer Science Big Data AI Mathematics Cloud Computing Graphics Video Streaming Encryption Hashing Virtual Reality Data Mining AWS Public Key 34

Pruning Process Requirements Partition into Shards • Cluster on Index Pick Shards To Search

Pruning Process Requirements Partition into Shards • Cluster on Index Pick Shards To Search • Client must know about shards § Pick starting centroids § Compute distance between encrypted Index data § Abstract Index data 35

Naïve Index Partitioning Method • Split randomly and parallelize search § Cuts search time,

Naïve Index Partitioning Method • Split randomly and parallelize search § Cuts search time, but requires the same amount of computation overhead Random Shard #1 Random Shard #2 Random Shard #3 Computer Science Cloud Computing Hashing Big Data Graphics Virtual Reality AI Video Streaming Data Mining Mathematics Encryption AWS Public Key 36

Topic-Based Clustering Method • Split based on topic; parallel search on relevant shards §

Topic-Based Clustering Method • Split based on topic; parallel search on relevant shards § Cuts search time and minimizes overhead Cloud Computing Computer Science Big Data Virtual Reality Cloud Computing AI Big Data Virtual Reality Video Streaming Mathematics AWS Graphics Encryption Computer Science Data Mining Hashing AWS Public Key 37

Problem: No Semantic on Encrypted Keywords! • All data (including keywords) in the cloud

Problem: No Semantic on Encrypted Keywords! • All data (including keywords) in the cloud are encrypted § Hard to associate terms semantically Topic #1 Topic #2 Topic #3 Topic#4 %t. GFK 3 dii 99 OP#99 AWJP( OP(*#j 46290 JKL; @ IP 339 14 JPI 3 IPJ#jp PO#ND ^63 PI *FJP 3# JFKp 3 38

Clustering Encrypted Data • How to create topic-based shards when data is encrypted? §

Clustering Encrypted Data • How to create topic-based shards when data is encrypted? § Clusters based on statistical semantics § Adapt K-Means clustering algorithm 39

K-Means Clustering Method • Clusters data points around closest ‘means’ § Picks k initial

K-Means Clustering Method • Clusters data points around closest ‘means’ § Picks k initial centroids; computes closest centroid per data point • We must define: § Picking initial centroids § Distance between two index terms 40

Initial Centroids • Pick k terms with the most files associated • Only pick

Initial Centroids • Pick k terms with the most files associated • Only pick a term if it contributes more unseen terms than seen. § Ensures cluster diversity Encrypted Index 52646 F 910 (3), F 757 (6), F 310 (3), F 452 (2), F 872 (8) 8 a 386 F 452 (4), F 910 (1), F 310 (9), F 842 (11) 4 b 736 F 341 (8), F 452 (16), F 585 (20) b 97 a 2 F 754 (9), F 310 (5), F 452 (6) 8 dfcf F 341 (10), F 452 (16) 6 ae 48 F 757 (2), F 452 (1) 5 b 4 e 7 F 452 (12) … 41

Distance Between Terms • Clustering Hypothesis states that objects that appear together are related

Distance Between Terms • Clustering Hypothesis states that objects that appear together are related § If two words appeared in the same file, they could be considered related. § Distance defined based on co-occurrence in files Encrypted Index 5 b 4 e 7 F 452 (12) 8 dfcf F 341 (10), F 452 (16) 4 b 736 F 341 (8), F 452 (16), F 910 (20) 8 a 386 F 452 (4), F 745 (1), F 401 (9), F 842 (11) 52646 F 910 (3), F 757 (6), F 310 (3), F 452 (2), F 872 (8) b 97 a 2 F 754 (9), F 310 (5), F 452 (6) 6 ae 48 F 757 (2), F 452 (1) 42 …

Computing Distance • 43

Computing Distance • 43

Pruning: Forming Client-Side Abstracts • • To determine proper shards to search, client must

Pruning: Forming Client-Side Abstracts • • To determine proper shards to search, client must know about shards. Send small “Abstracts” to client for decryption Topic #1 Topic #2 Topic #3 %t. GFK 3 dii 99 OP#99 OP(*#j 46290 JKL; @ 14 JPI 3 IPJ#jp PO#ND ^63 PI JPO$4 FRE 2 D *FJP 3# IP 339 JFKp 3 AWJP( Topic #3 Abstract Topic #1 Abstract Delta Airlines Data Mining American Airlines AWS Morality Topic #2 Abstract Skinner 44

How to Form Abstracts? • Naïve method: pick x random terms § Might not

How to Form Abstracts? • Naïve method: pick x random terms § Might not be indicative of the whole cluster § Too many “fringe” terms • Instead, pick x terms from the centroid list § We have associated terms from each file 45

Initiate Pruning at Client Side • Prune/limit search to only relevant clusters • •

Initiate Pruning at Client Side • Prune/limit search to only relevant clusters • • to enable real-time search Pruning can be initiated at the client side at search time Abstracts are used to determine which shards to search § Find semantic similarity between query and abstracts 46

Pruning Algorithm • For each keyword in the search query § Use Wu. Palmer

Pruning Algorithm • For each keyword in the search query § Use Wu. Palmer to identify semantic similarity between query terms and abstract terms § Wu. Palmer computes distance in semantic graph • Pick the N highest ranked abstracts; inform cloud. Licklider Transmission Protocol Abstract #1 (Score =. 7) Abstract #2 (Score =. 3) Computer Space Data Stars Abstract #2 (Score =. 2) Abstract #4 (Score =. 5) Cooking TCP Fish Communicate 47

Experiment Setup • Expanding sets of Common Corpus Crawl • data Time measured for

Experiment Setup • Expanding sets of Common Corpus Crawl • data Time measured for different numbers of shards 48

Scalability Results Partitioning into only 30 shards reduces search time by >90% 49

Scalability Results Partitioning into only 30 shards reduces search time by >90% 49

Performance Comparison 50

Performance Comparison 50

Outline 1. Why semantically search encrypted data? 2. What have others done? 3. Core

Outline 1. Why semantically search encrypted data? 2. What have others done? 3. Core architecture 4. Enabling Secure Semantic Search (S 3 C) 5. Secure Semantic Search on Big Data (S 3 BD) 6. Conclusion and Future Directions 7. Working Demo! 51

Conclusion • • Main goals: § Search encrypted data § Make search semantic §

Conclusion • • Main goals: § Search encrypted data § Make search semantic § Make search responsive/real-time Main methods: § Extract and encrypt key phrases from uploaded documents § Modify user query at search time to inject semantic data § Partition central index into topic-based shards 52

Future Works: Search-Level Access • Data owner may not want users to have full

Future Works: Search-Level Access • Data owner may not want users to have full access § Officers should not be able to read full police reports • Instead, only let user see search results § Possibly expand with summary-level access 53

Future Work: Dynamic Shard Creation • S 3 BD requires operator to specify number

Future Work: Dynamic Shard Creation • S 3 BD requires operator to specify number of clusters and initiate partitioning § Instead, have system dynamically update shards § Split shards when they get too big 54

Outline 1. Why semantically search encrypted data? 2. What have others done? 3. Core

Outline 1. Why semantically search encrypted data? 2. What have others done? 3. Core architecture 4. Enabling Secure Semantic Search (S 3 C) 5. Secure Semantic Search on Big Data (S 3 BD) 6. Conclusion and Future Directions 7. Working Demo! 55

S 3 C Web Demo http: //ec 2 -34 -215 -61 -251. us-west-2. compute.

S 3 C Web Demo http: //ec 2 -34 -215 -61 -251. us-west-2. compute. amazonaws. com/S 3 Client/home. php 56

Appendix – Weighting Function • Original query q = 1 • Split query terms

Appendix – Weighting Function • Original query q = 1 • Split query terms = 1 / n (n = number of • terms derived from splitting) Synonyms/related terms of query term Qi = W(Qi) / m (W(Qi) = weight of Qi and m = number of synonyms/related terms) 57

Appendix – Distance Function • 58

Appendix – Distance Function • 58