SlideShare a Scribd company logo
1 of 37
Download to read offline
Inverted Index Based
Multi-Keyword Public-key
Searchable Encryption with
Strong Privacy Guarantee
Bing Wang, Wei Song, Wenjing Lou, Y. Thomas Hou
INFOCOM 2015
SWIM Seminar
October 21, 2016
Mateus Cruz
Introduction Preliminaries Proposal Experiments Conclusion
OUTLINE
1 Introduction
2 Preliminaries
3 Proposal
4 Experiments
5 Conclusion
Introduction Preliminaries Proposal Experiments Conclusion
OUTLINE
1 Introduction
2 Preliminaries
3 Proposal
4 Experiments
5 Conclusion
Introduction Preliminaries Proposal Experiments Conclusion
OVERVIEW
Search encrypted data
Use of inverted index
Preserve query privacy
Efficiency using cheap operations
1 / 21
Introduction Preliminaries Proposal Experiments Conclusion
CONTRIBUTIONS
Use the same index more than once
Support conjunctive multi-keyword queries
Trapdoor unlinkability
The same query have multiple trapdoors
Efficiency
Only use multiplication and exponentiation
No use of pairing
2 / 21
Introduction Preliminaries Proposal Experiments Conclusion
RELATED WORK
Bloom filter index
Only supports single keyword search
Self-designed indices
Not compatible with each other
One-time-only search limitation
Leaks query information from trapdoor
No support for multi-keyword search
3 / 21
Introduction Preliminaries Proposal Experiments Conclusion
OUTLINE
1 Introduction
2 Preliminaries
3 Proposal
4 Experiments
5 Conclusion
Introduction Preliminaries Proposal Experiments Conclusion
INVERTED INDEX
Multiple inverted lists: I = (Iw1,Iw2,...,Iwm)
The list Iwi
has all documents containing wi
Efficient for large datasets
Can be extended
Result ranking
Phrase search
4 / 21
Introduction Preliminaries Proposal Experiments Conclusion
PRIVATE SET INTERSECTION
Only reveals the intersection
No other information is leaked
FNP protocol1
Uses Paillier cryptosystem
– E(a1 +a2) = E(a1)E(a2)
1Freedman, Nissim and Pinkas: “Efficient private matching and set
intersection” (EUROCRYPT 2004)
5 / 21
Introduction Preliminaries Proposal Experiments Conclusion
FNP PROTOCOL
1 Alice represents her set A as a polynomial
f (x) = ai∈A (x−ai)
2 Alice encrypts the coefficients using Paillier
3 Alice sends f (x) = Enc(f (x)) to Bob
4 Bob calculates R : {rj = f (bj)+h bj}
bj ∈ B
5 Bob sends R to Alice
6 Alice decrypts R as R
7 Alice obtains A ∩B from calculating A ∩R
6 / 21
Introduction Preliminaries Proposal Experiments Conclusion
OUTLINE
1 Introduction
2 Preliminaries
3 Proposal
4 Experiments
5 Conclusion
Introduction Preliminaries Proposal Experiments Conclusion
SYSTEM ARCHITECTURE
Honest-but-curious cloud server
Trusted users
7 / 21
Introduction Preliminaries Proposal Experiments Conclusion
THREAT MODEL
Confidentiality of documents
Index privacy
Trapdoor privacy
Access pattern privacy
8 / 21
Introduction Preliminaries Proposal Experiments Conclusion
NOTATIONS
Document collection: Σ = (σ1,σ2,...,σn)
Keyword collection: D = (w1,w2,...,wm)
Inverted index: I = (Iw1,Iw2,...,Iwm)
Iwi
contains Σi = (σi1,σi2,...,σip)
– Σi ⊂ Σ
– wi ∈ σij,1 ≤ j ≤ p
Encrypted index I based on I
Query: Q ⊂ D
Trapdoor for query Q: TQ
9 / 21
Introduction Preliminaries Proposal Experiments Conclusion
STEPS OVERVIEW
10 / 21
Introduction Preliminaries Proposal Experiments Conclusion
SYSTEM INITIALIZATION
Done by the data owner
Receives security parameter k
Generate key pair for the Paillier algorithm
Secret key sk
Public key pk
Output master key MK = {sk,f ,M}
f : Pseudorandom permutation
M: Invertible matrix of degree m
11 / 21
Introduction Preliminaries Proposal Experiments Conclusion
ENCRYPTED INDEX GENERATION
Done by the data owner
Receives master key MK and index I
Transform inverted lists into polynomials
Encrypt coefficients using pk
I = Enc(I)
Construct a dictionary matrix MD
Encrypt MD as MD = M ·MD
Send MD and I to the server
12 / 21
Introduction Preliminaries Proposal Experiments Conclusion
ENCRYPTED INDEX GENERATION
12 / 21
Introduction Preliminaries Proposal Experiments Conclusion
TRAPDOOR GENERATION
Pre-compute a polynomial for all keywords
m
1 (x−wi)
Generate a polynomial for user query Q
PQ(x) = PD/ wi∈Q(x−wi)
Apply padding to hide the query length
Send trapdoor TQ to the server
TQ = {(am,am−1,...,a1)·M−1
,Enc(a0)}
13 / 21
Introduction Preliminaries Proposal Experiments Conclusion
TRAPDOOR GENERATION
13 / 21
Introduction Preliminaries Proposal Experiments Conclusion
QUERYING
Calculate V = TQ[1]·MD = (v1,v2,··· ,vm)
For each vi, calculate vi = Enc(vi)+h TQ[2]
V = (v1,v2,...,vm)
Calculate result polynomial PR(x) = V ·IT
Return PR(x) to the user
14 / 21
Introduction Preliminaries Proposal Experiments Conclusion
QUERYING
14 / 21
Introduction Preliminaries Proposal Experiments Conclusion
RESULT DECRYPTION
Requires assistance of data owner
Find the roots of PR(x)
The roots are the IDs of the result documents
15 / 21
Introduction Preliminaries Proposal Experiments Conclusion
OUTLINE
1 Introduction
2 Preliminaries
3 Proposal
4 Experiments
5 Conclusion
Introduction Preliminaries Proposal Experiments Conclusion
SETUP
Environment
Intel Core i3 3.3GHz 4GB RAM
Windows 8.1
Python
Dataset
Enron emails
16 / 21
Introduction Preliminaries Proposal Experiments Conclusion
SYSTEM INITIALIZATION
Generation of public and private keys
512-bit: 0.40s
1024-bit: 3.03s
17 / 21
Introduction Preliminaries Proposal Experiments Conclusion
ENCRYPTED INDEX GENERATION
One-time process
1 Calculate polynomials for keyword lists
2 Encrypt polynomials
Cost increases with dictionary size
18 / 21
Introduction Preliminaries Proposal Experiments Conclusion
TRAPDOOR GENERATION
Matrix multiplication is the most expensive
Can be optimized
19 / 21
Introduction Preliminaries Proposal Experiments Conclusion
QUERYING
Multiply trapdoor with the dictionary matrix
Encryption is expensive
Can be parallelized
20 / 21
Introduction Preliminaries Proposal Experiments Conclusion
OUTLINE
1 Introduction
2 Preliminaries
3 Proposal
4 Experiments
5 Conclusion
Introduction Preliminaries Proposal Experiments Conclusion
SUMMARY
Searchable encryption scheme
Public key
Based on inverted index
Multi-keyword queries
Prevents trapdoor linking
Hides the number of keywords in query
Efficiency
Uses only multiplication and exponentiation
21 / 21
EXTRA SLIDES
PAILLIER CRYPTOSYSTEM
Key generation
pk = (n,g)
– n = pq,GCD(pq,(p−1)(q−1)) = 1
– g ∈ Z∗
n2
sk = (λ,µ)
– λ = LMC(p−1,q−1)
– µ = (
gλ mod n2−1
n )−1
mod n
Encrypt message m into ciphertext c
c = gm
·rn
mod n2
,r ∈ Zn
Decrypt ciphertext c into message m
m = cλ
mod n2
−1
n ·µ mod n
ENCRYPTED INDEX GENERATION [1/2]
For each keyword wi and its list Iwi
Generate tags for keywords: twi
= f (wi)
Generate tags for documents: tσi
= f (σi)
Generate random numbers Ri = {rj} for Iwi
rj ∈ Z∗
n,rj ∉ f (D)
Generate polynomial Pwi
(x) for Iwi
Pwi
(x) =
σj∈Iwi
(x−tσj
)
rj∈Ri
(x−rj)
Calculate a polynomial vector
I = (Pw1 ,Pw2 ,...,Pwm )T
ENCRYPTED INDEX GENERATION [2/2]
Encrypt coefficients of each Pwi
I = Enc(n,g)(I)
Construct dictionary matrix MD
MD =





tm
w1
tm
w2
··· tm
wm
tm−1
w1
tm−1
w2
··· tm−1
wm
...
... ... ...
tw1 tw2 ··· twm





Encrypt M as MD = M ·MD
Outsource MD and I to the cloud
TRAPDOOR GENERATION
Encrypt all keywords as PD(x) =
wi∈D
(x−twi
)
Receive a query request Q
Construct PQ(x) = PD/ wi∈Q(x−wi)
Generate PQ(x) by padding random terms
PQ
(x) = PQ(x)
m
q+1
(x−rj),q = |Q|,rj ∉ f (D)
Send trapdoor to user
TQ = {(am,am−q,...,a1)∗M−1
,Enc(n,g)(a0)}
– (am,am−q,...,a1) are the coefficients of PQ
(x)
COMPARISON WITH OTHER WORKS
P: Map-to-point hash
M: Multiplication
E: Exponentiation
e: Pairing

More Related Content

What's hot

Threshold and Proactive Pseudo-Random Permutations
Threshold and Proactive Pseudo-Random PermutationsThreshold and Proactive Pseudo-Random Permutations
Threshold and Proactive Pseudo-Random Permutations
Aleksandr Yampolskiy
 
Lattice Based Cryptography - GGH Cryptosystem
Lattice Based Cryptography - GGH CryptosystemLattice Based Cryptography - GGH Cryptosystem
Lattice Based Cryptography - GGH Cryptosystem
Varun Janga
 

What's hot (19)

Realizing Fine-Grained and Flexible Access Control to Outsourced Data with At...
Realizing Fine-Grained and Flexible Access Control to Outsourced Data with At...Realizing Fine-Grained and Flexible Access Control to Outsourced Data with At...
Realizing Fine-Grained and Flexible Access Control to Outsourced Data with At...
 
Homomorphic encryption and Private Machine Learning Classification
Homomorphic encryption and Private Machine Learning ClassificationHomomorphic encryption and Private Machine Learning Classification
Homomorphic encryption and Private Machine Learning Classification
 
Homomorphic Encryption
Homomorphic EncryptionHomomorphic Encryption
Homomorphic Encryption
 
Template Protection with Homomorphic Encryption
Template Protection with Homomorphic EncryptionTemplate Protection with Homomorphic Encryption
Template Protection with Homomorphic Encryption
 
同態加密
同態加密同態加密
同態加密
 
Ntewrok secuirty cs7
Ntewrok secuirty cs7Ntewrok secuirty cs7
Ntewrok secuirty cs7
 
Partial Homomorphic Encryption
Partial Homomorphic EncryptionPartial Homomorphic Encryption
Partial Homomorphic Encryption
 
Lattice Cryptography
Lattice CryptographyLattice Cryptography
Lattice Cryptography
 
Homomorphic encryption in_cloud
Homomorphic encryption in_cloudHomomorphic encryption in_cloud
Homomorphic encryption in_cloud
 
Homomorphic Encryption
Homomorphic EncryptionHomomorphic Encryption
Homomorphic Encryption
 
Threshold and Proactive Pseudo-Random Permutations
Threshold and Proactive Pseudo-Random PermutationsThreshold and Proactive Pseudo-Random Permutations
Threshold and Proactive Pseudo-Random Permutations
 
Implementation of RSA Algorithm for Speech Data Encryption and Decryption
Implementation of RSA Algorithm for Speech Data Encryption and DecryptionImplementation of RSA Algorithm for Speech Data Encryption and Decryption
Implementation of RSA Algorithm for Speech Data Encryption and Decryption
 
Lattice-Based Cryptography: CRYPTANALYSIS OF COMPACT-LWE
Lattice-Based Cryptography: CRYPTANALYSIS OF COMPACT-LWELattice-Based Cryptography: CRYPTANALYSIS OF COMPACT-LWE
Lattice-Based Cryptography: CRYPTANALYSIS OF COMPACT-LWE
 
Code Tuning
Code TuningCode Tuning
Code Tuning
 
Introduction - Lattice-based Cryptography
Introduction - Lattice-based CryptographyIntroduction - Lattice-based Cryptography
Introduction - Lattice-based Cryptography
 
The rsa algorithm JooSeok Song
The rsa algorithm JooSeok SongThe rsa algorithm JooSeok Song
The rsa algorithm JooSeok Song
 
Lattice Based Cryptography - GGH Cryptosystem
Lattice Based Cryptography - GGH CryptosystemLattice Based Cryptography - GGH Cryptosystem
Lattice Based Cryptography - GGH Cryptosystem
 
Presentation about RSA
Presentation about RSAPresentation about RSA
Presentation about RSA
 
Network Security CS3-4
Network Security CS3-4 Network Security CS3-4
Network Security CS3-4
 

Viewers also liked

New zealand bloom filter
New zealand bloom filterNew zealand bloom filter
New zealand bloom filter
xlight
 
Content based filtering, pub sub, bloom filters
Content based filtering, pub   sub, bloom filtersContent based filtering, pub   sub, bloom filters
Content based filtering, pub sub, bloom filters
Yara Ali
 

Viewers also liked (15)

Privacy preserving multi-keyword ranked search over encrypted cloud data
Privacy preserving multi-keyword ranked search over encrypted cloud dataPrivacy preserving multi-keyword ranked search over encrypted cloud data
Privacy preserving multi-keyword ranked search over encrypted cloud data
 
Privacy preserving multi-keyword ranked search over encrypted cloud data
Privacy preserving multi-keyword ranked search over encrypted cloud dataPrivacy preserving multi-keyword ranked search over encrypted cloud data
Privacy preserving multi-keyword ranked search over encrypted cloud data
 
Full-Text Retrieval in Unstructured P2P Networks using Bloom Cast Efficiently
Full-Text Retrieval in Unstructured P2P Networks using Bloom Cast EfficientlyFull-Text Retrieval in Unstructured P2P Networks using Bloom Cast Efficiently
Full-Text Retrieval in Unstructured P2P Networks using Bloom Cast Efficiently
 
New zealand bloom filter
New zealand bloom filterNew zealand bloom filter
New zealand bloom filter
 
Content based filtering, pub sub, bloom filters
Content based filtering, pub   sub, bloom filtersContent based filtering, pub   sub, bloom filters
Content based filtering, pub sub, bloom filters
 
Searchable Encryption
Searchable EncryptionSearchable Encryption
Searchable Encryption
 
CipherCloud Technology Overview: Encryption
CipherCloud Technology Overview: EncryptionCipherCloud Technology Overview: Encryption
CipherCloud Technology Overview: Encryption
 
A New Approach for Video Encryption Based on Modified AES Algorithm
A New Approach for Video Encryption Based on Modified AES AlgorithmA New Approach for Video Encryption Based on Modified AES Algorithm
A New Approach for Video Encryption Based on Modified AES Algorithm
 
Fibonacci Video Encryption
Fibonacci Video EncryptionFibonacci Video Encryption
Fibonacci Video Encryption
 
Encryption and Compression of Audio-Video Data Using Enhanced AES and J-Bit A...
Encryption and Compression of Audio-Video Data Using Enhanced AES and J-Bit A...Encryption and Compression of Audio-Video Data Using Enhanced AES and J-Bit A...
Encryption and Compression of Audio-Video Data Using Enhanced AES and J-Bit A...
 
Helib
HelibHelib
Helib
 
CBIR with RF
CBIR with RFCBIR with RF
CBIR with RF
 
Image search engine
Image search engineImage search engine
Image search engine
 
LIvRE: A Video Extension to the LIRE Content-Based Image Retrieval System
LIvRE: A Video Extension to the LIRE Content-Based Image Retrieval SystemLIvRE: A Video Extension to the LIRE Content-Based Image Retrieval System
LIvRE: A Video Extension to the LIRE Content-Based Image Retrieval System
 
Fuzzy Hash Map
Fuzzy Hash MapFuzzy Hash Map
Fuzzy Hash Map
 

Similar to Inverted Index Based Multi-Keyword Public-key Searchable Encryption with Strong Privacy Guarantee

Assignment2 – Simplified DES Encrypt and Decrypt .docx
Assignment2 – Simplified DES Encrypt and Decrypt                  .docxAssignment2 – Simplified DES Encrypt and Decrypt                  .docx
Assignment2 – Simplified DES Encrypt and Decrypt .docx
mckellarhastings
 
Assignment2 – Simplified DES Encrypt and Decrypt .docx
Assignment2 – Simplified DES Encrypt and Decrypt                  .docxAssignment2 – Simplified DES Encrypt and Decrypt                  .docx
Assignment2 – Simplified DES Encrypt and Decrypt .docx
edmondpburgess27164
 
Pointcuts and Analysis
Pointcuts and AnalysisPointcuts and Analysis
Pointcuts and Analysis
Wiwat Ruengmee
 
intro-slides.pdf very important for computer science students
intro-slides.pdf very important for computer science studentsintro-slides.pdf very important for computer science students
intro-slides.pdf very important for computer science students
sairevanth504
 

Similar to Inverted Index Based Multi-Keyword Public-key Searchable Encryption with Strong Privacy Guarantee (20)

Assignment2 – Simplified DES Encrypt and Decrypt .docx
Assignment2 – Simplified DES Encrypt and Decrypt                  .docxAssignment2 – Simplified DES Encrypt and Decrypt                  .docx
Assignment2 – Simplified DES Encrypt and Decrypt .docx
 
Assignment2 – Simplified DES Encrypt and Decrypt .docx
Assignment2 – Simplified DES Encrypt and Decrypt                  .docxAssignment2 – Simplified DES Encrypt and Decrypt                  .docx
Assignment2 – Simplified DES Encrypt and Decrypt .docx
 
Public-Key Cryptography.pdfWrite the result of the following operation with t...
Public-Key Cryptography.pdfWrite the result of the following operation with t...Public-Key Cryptography.pdfWrite the result of the following operation with t...
Public-Key Cryptography.pdfWrite the result of the following operation with t...
 
Multidimensional Interfaces for Selecting Data with Order
Multidimensional Interfaces for Selecting Data with OrderMultidimensional Interfaces for Selecting Data with Order
Multidimensional Interfaces for Selecting Data with Order
 
Symbexecsearch
SymbexecsearchSymbexecsearch
Symbexecsearch
 
WISS 2015 - Machine Learning lecture by Ludovic Samper
WISS 2015 - Machine Learning lecture by Ludovic Samper WISS 2015 - Machine Learning lecture by Ludovic Samper
WISS 2015 - Machine Learning lecture by Ludovic Samper
 
Mining Source Code Improvement Patterns from Similar Code Review Works
Mining Source Code Improvement Patterns from Similar Code Review WorksMining Source Code Improvement Patterns from Similar Code Review Works
Mining Source Code Improvement Patterns from Similar Code Review Works
 
Shape Safety in Tensor Programming is Easy for a Theorem Prover -SBTB 2021
Shape Safety in Tensor Programming is Easy for a Theorem Prover -SBTB 2021Shape Safety in Tensor Programming is Easy for a Theorem Prover -SBTB 2021
Shape Safety in Tensor Programming is Easy for a Theorem Prover -SBTB 2021
 
Mining Source Code Improvement Patterns from Similar Code Review Works
Mining Source Code Improvement Patterns from Similar Code Review WorksMining Source Code Improvement Patterns from Similar Code Review Works
Mining Source Code Improvement Patterns from Similar Code Review Works
 
Crystal Ball Event Prediction and Log Analysis with Hadoop MapReduce and Spark
Crystal Ball Event Prediction and Log Analysis with Hadoop MapReduce and SparkCrystal Ball Event Prediction and Log Analysis with Hadoop MapReduce and Spark
Crystal Ball Event Prediction and Log Analysis with Hadoop MapReduce and Spark
 
kdd_talk.pdf
kdd_talk.pdfkdd_talk.pdf
kdd_talk.pdf
 
kdd_talk.pdf
kdd_talk.pdfkdd_talk.pdf
kdd_talk.pdf
 
slides.07.pptx
slides.07.pptxslides.07.pptx
slides.07.pptx
 
Pointcuts and Analysis
Pointcuts and AnalysisPointcuts and Analysis
Pointcuts and Analysis
 
intro-slides.pdf very important for computer science students
intro-slides.pdf very important for computer science studentsintro-slides.pdf very important for computer science students
intro-slides.pdf very important for computer science students
 
Gossip & Key Value Store
Gossip & Key Value StoreGossip & Key Value Store
Gossip & Key Value Store
 
IRJET- Securing Cloud Data Under Key Exposure
IRJET- Securing Cloud Data Under Key ExposureIRJET- Securing Cloud Data Under Key Exposure
IRJET- Securing Cloud Data Under Key Exposure
 
IRJET- Data Analysis for Braking System in Time Domain for Fault Diagnosis
IRJET- Data Analysis for Braking System in Time Domain for Fault DiagnosisIRJET- Data Analysis for Braking System in Time Domain for Fault Diagnosis
IRJET- Data Analysis for Braking System in Time Domain for Fault Diagnosis
 
Automated Program Repair Keynote talk
Automated Program Repair Keynote talkAutomated Program Repair Keynote talk
Automated Program Repair Keynote talk
 
Detecting paraphrases using recursive autoencoders
Detecting paraphrases using recursive autoencodersDetecting paraphrases using recursive autoencoders
Detecting paraphrases using recursive autoencoders
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

Inverted Index Based Multi-Keyword Public-key Searchable Encryption with Strong Privacy Guarantee

  • 1. Inverted Index Based Multi-Keyword Public-key Searchable Encryption with Strong Privacy Guarantee Bing Wang, Wei Song, Wenjing Lou, Y. Thomas Hou INFOCOM 2015 SWIM Seminar October 21, 2016 Mateus Cruz
  • 2. Introduction Preliminaries Proposal Experiments Conclusion OUTLINE 1 Introduction 2 Preliminaries 3 Proposal 4 Experiments 5 Conclusion
  • 3. Introduction Preliminaries Proposal Experiments Conclusion OUTLINE 1 Introduction 2 Preliminaries 3 Proposal 4 Experiments 5 Conclusion
  • 4. Introduction Preliminaries Proposal Experiments Conclusion OVERVIEW Search encrypted data Use of inverted index Preserve query privacy Efficiency using cheap operations 1 / 21
  • 5. Introduction Preliminaries Proposal Experiments Conclusion CONTRIBUTIONS Use the same index more than once Support conjunctive multi-keyword queries Trapdoor unlinkability The same query have multiple trapdoors Efficiency Only use multiplication and exponentiation No use of pairing 2 / 21
  • 6. Introduction Preliminaries Proposal Experiments Conclusion RELATED WORK Bloom filter index Only supports single keyword search Self-designed indices Not compatible with each other One-time-only search limitation Leaks query information from trapdoor No support for multi-keyword search 3 / 21
  • 7. Introduction Preliminaries Proposal Experiments Conclusion OUTLINE 1 Introduction 2 Preliminaries 3 Proposal 4 Experiments 5 Conclusion
  • 8. Introduction Preliminaries Proposal Experiments Conclusion INVERTED INDEX Multiple inverted lists: I = (Iw1,Iw2,...,Iwm) The list Iwi has all documents containing wi Efficient for large datasets Can be extended Result ranking Phrase search 4 / 21
  • 9. Introduction Preliminaries Proposal Experiments Conclusion PRIVATE SET INTERSECTION Only reveals the intersection No other information is leaked FNP protocol1 Uses Paillier cryptosystem – E(a1 +a2) = E(a1)E(a2) 1Freedman, Nissim and Pinkas: “Efficient private matching and set intersection” (EUROCRYPT 2004) 5 / 21
  • 10. Introduction Preliminaries Proposal Experiments Conclusion FNP PROTOCOL 1 Alice represents her set A as a polynomial f (x) = ai∈A (x−ai) 2 Alice encrypts the coefficients using Paillier 3 Alice sends f (x) = Enc(f (x)) to Bob 4 Bob calculates R : {rj = f (bj)+h bj} bj ∈ B 5 Bob sends R to Alice 6 Alice decrypts R as R 7 Alice obtains A ∩B from calculating A ∩R 6 / 21
  • 11. Introduction Preliminaries Proposal Experiments Conclusion OUTLINE 1 Introduction 2 Preliminaries 3 Proposal 4 Experiments 5 Conclusion
  • 12. Introduction Preliminaries Proposal Experiments Conclusion SYSTEM ARCHITECTURE Honest-but-curious cloud server Trusted users 7 / 21
  • 13. Introduction Preliminaries Proposal Experiments Conclusion THREAT MODEL Confidentiality of documents Index privacy Trapdoor privacy Access pattern privacy 8 / 21
  • 14. Introduction Preliminaries Proposal Experiments Conclusion NOTATIONS Document collection: Σ = (σ1,σ2,...,σn) Keyword collection: D = (w1,w2,...,wm) Inverted index: I = (Iw1,Iw2,...,Iwm) Iwi contains Σi = (σi1,σi2,...,σip) – Σi ⊂ Σ – wi ∈ σij,1 ≤ j ≤ p Encrypted index I based on I Query: Q ⊂ D Trapdoor for query Q: TQ 9 / 21
  • 15. Introduction Preliminaries Proposal Experiments Conclusion STEPS OVERVIEW 10 / 21
  • 16. Introduction Preliminaries Proposal Experiments Conclusion SYSTEM INITIALIZATION Done by the data owner Receives security parameter k Generate key pair for the Paillier algorithm Secret key sk Public key pk Output master key MK = {sk,f ,M} f : Pseudorandom permutation M: Invertible matrix of degree m 11 / 21
  • 17. Introduction Preliminaries Proposal Experiments Conclusion ENCRYPTED INDEX GENERATION Done by the data owner Receives master key MK and index I Transform inverted lists into polynomials Encrypt coefficients using pk I = Enc(I) Construct a dictionary matrix MD Encrypt MD as MD = M ·MD Send MD and I to the server 12 / 21
  • 18. Introduction Preliminaries Proposal Experiments Conclusion ENCRYPTED INDEX GENERATION 12 / 21
  • 19. Introduction Preliminaries Proposal Experiments Conclusion TRAPDOOR GENERATION Pre-compute a polynomial for all keywords m 1 (x−wi) Generate a polynomial for user query Q PQ(x) = PD/ wi∈Q(x−wi) Apply padding to hide the query length Send trapdoor TQ to the server TQ = {(am,am−1,...,a1)·M−1 ,Enc(a0)} 13 / 21
  • 20. Introduction Preliminaries Proposal Experiments Conclusion TRAPDOOR GENERATION 13 / 21
  • 21. Introduction Preliminaries Proposal Experiments Conclusion QUERYING Calculate V = TQ[1]·MD = (v1,v2,··· ,vm) For each vi, calculate vi = Enc(vi)+h TQ[2] V = (v1,v2,...,vm) Calculate result polynomial PR(x) = V ·IT Return PR(x) to the user 14 / 21
  • 22. Introduction Preliminaries Proposal Experiments Conclusion QUERYING 14 / 21
  • 23. Introduction Preliminaries Proposal Experiments Conclusion RESULT DECRYPTION Requires assistance of data owner Find the roots of PR(x) The roots are the IDs of the result documents 15 / 21
  • 24. Introduction Preliminaries Proposal Experiments Conclusion OUTLINE 1 Introduction 2 Preliminaries 3 Proposal 4 Experiments 5 Conclusion
  • 25. Introduction Preliminaries Proposal Experiments Conclusion SETUP Environment Intel Core i3 3.3GHz 4GB RAM Windows 8.1 Python Dataset Enron emails 16 / 21
  • 26. Introduction Preliminaries Proposal Experiments Conclusion SYSTEM INITIALIZATION Generation of public and private keys 512-bit: 0.40s 1024-bit: 3.03s 17 / 21
  • 27. Introduction Preliminaries Proposal Experiments Conclusion ENCRYPTED INDEX GENERATION One-time process 1 Calculate polynomials for keyword lists 2 Encrypt polynomials Cost increases with dictionary size 18 / 21
  • 28. Introduction Preliminaries Proposal Experiments Conclusion TRAPDOOR GENERATION Matrix multiplication is the most expensive Can be optimized 19 / 21
  • 29. Introduction Preliminaries Proposal Experiments Conclusion QUERYING Multiply trapdoor with the dictionary matrix Encryption is expensive Can be parallelized 20 / 21
  • 30. Introduction Preliminaries Proposal Experiments Conclusion OUTLINE 1 Introduction 2 Preliminaries 3 Proposal 4 Experiments 5 Conclusion
  • 31. Introduction Preliminaries Proposal Experiments Conclusion SUMMARY Searchable encryption scheme Public key Based on inverted index Multi-keyword queries Prevents trapdoor linking Hides the number of keywords in query Efficiency Uses only multiplication and exponentiation 21 / 21
  • 33. PAILLIER CRYPTOSYSTEM Key generation pk = (n,g) – n = pq,GCD(pq,(p−1)(q−1)) = 1 – g ∈ Z∗ n2 sk = (λ,µ) – λ = LMC(p−1,q−1) – µ = ( gλ mod n2−1 n )−1 mod n Encrypt message m into ciphertext c c = gm ·rn mod n2 ,r ∈ Zn Decrypt ciphertext c into message m m = cλ mod n2 −1 n ·µ mod n
  • 34. ENCRYPTED INDEX GENERATION [1/2] For each keyword wi and its list Iwi Generate tags for keywords: twi = f (wi) Generate tags for documents: tσi = f (σi) Generate random numbers Ri = {rj} for Iwi rj ∈ Z∗ n,rj ∉ f (D) Generate polynomial Pwi (x) for Iwi Pwi (x) = σj∈Iwi (x−tσj ) rj∈Ri (x−rj) Calculate a polynomial vector I = (Pw1 ,Pw2 ,...,Pwm )T
  • 35. ENCRYPTED INDEX GENERATION [2/2] Encrypt coefficients of each Pwi I = Enc(n,g)(I) Construct dictionary matrix MD MD =      tm w1 tm w2 ··· tm wm tm−1 w1 tm−1 w2 ··· tm−1 wm ... ... ... ... tw1 tw2 ··· twm      Encrypt M as MD = M ·MD Outsource MD and I to the cloud
  • 36. TRAPDOOR GENERATION Encrypt all keywords as PD(x) = wi∈D (x−twi ) Receive a query request Q Construct PQ(x) = PD/ wi∈Q(x−wi) Generate PQ(x) by padding random terms PQ (x) = PQ(x) m q+1 (x−rj),q = |Q|,rj ∉ f (D) Send trapdoor to user TQ = {(am,am−q,...,a1)∗M−1 ,Enc(n,g)(a0)} – (am,am−q,...,a1) are the coefficients of PQ (x)
  • 37. COMPARISON WITH OTHER WORKS P: Map-to-point hash M: Multiplication E: Exponentiation e: Pairing