SlideShare a Scribd company logo
Fast, Private and Verifiable:
Server-aided Approximate
Similarity Computation over
Large-Scale Datasets
Shuo Qiu, Boyang Wang, Ming Li, Jesse Victors, Jiqiang Liu,
Yangfeng Shi, Wei Wang
4th ACM International Workshop on Security in Cloud Computing
SCC 2016
Xi’an - China - 2016
SWIM Seminar
August 4, 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
Use of Jaccard similarity (JS)
Privacy concerns
Wants to disclose only the similarity
Previous approaches use MPC1
High performance overheads
1Multi-party Computation
1 / 16
Introduction Preliminaries Proposal Experiments Conclusion
CONTRIBUTIONS
Protocol 1
Assumes semi-honest server
Uses MinHash and deterministic encryption
Only leaks Jaccard similarity
Protocol 2
Uses Protocol 1
Verifies whether the server is malicious
2 / 16
Introduction Preliminaries Proposal Experiments Conclusion
OUTLINE
1 Introduction
2 Preliminaries
3 Proposal
4 Experiments
5 Conclusion
Introduction Preliminaries Proposal Experiments Conclusion
JACCARD SIMILARITY (JS)
Measure similarity between sets A and B
JS(A,B) = A∩B
A∪B
Example
A = {1,2,4}
B = {2,4,8,9}
JS(A,B) = A∩B
A∪B
= 2
5
3 / 16
Introduction Preliminaries Proposal Experiments Conclusion
MINHASH
Approximation of Jaccard similarity
Calculates k hash functions: {h1,...,hk}
Uses the minimum hash value: min{hi(A)}
Generate signatures from sets
Compact representations of sets
Signatures of A: h(k)(A) = {min{hi(A)}}k
i=1
– Length k
JS(A,B) ≈
|h(k)(A)∩h(k)(B)|
k
4 / 16
Introduction Preliminaries Proposal Experiments Conclusion
DETERMINISTIC ENCRYPTION
Same ciphertext for the same message
m1 = m2 → Enc(m1) = Enc(m2)
Allows equality checks
Algorithms
sk ← KeyGen(1λ
)
– Security parameter λ, secret key sk
c ← Enc(sk,m)
– Message m, ciphertext c
m ← Dec(sk,c)
Dec(sk,Enc(sk,m)) = m
5 / 16
Introduction Preliminaries Proposal Experiments Conclusion
ADVERSARY MODEL
Semi-honest adversary (Protocol 1)
Follows the protocol
Tries to learn from the data
Malicious adversary (Protocol 2)
May not execute the protocol correctly
– Returns a random similarity (Case I)
– Returns a partial result (Case II)
– Returns a false approximation (Case III)
No collusion between parties
6 / 16
Introduction Preliminaries Proposal Experiments Conclusion
OUTLINE
1 Introduction
2 Preliminaries
3 Proposal
4 Experiments
5 Conclusion
Introduction Preliminaries Proposal Experiments Conclusion
PROBLEM DEFINITION
Calculate similarity between sets
Using Jaccard similarity
Alice has set A
Bob has set B
Compute similarity on remote server
Security requirements
Alice, Bob and the server only learn JS(A,B)
Alice does not learn |B|
Bob does not learn |A|
The server does not learn |A|,|B|,|A∩B|
7 / 16
Introduction Preliminaries Proposal Experiments Conclusion
PROTOCOL 1 (SEMI-HONEST SERVER)
Each client...
1 Computes MinHash signatures
– Using k shared hash functions
2 Encrypts signatures
– Using deterministic encryption
– Secret key shared between Alice and Bob
Allows equality checks
between ciphertexts
3 Sends ciphertexts to the server
The server...
4 Calculates the JS(A,B)
– By comparing encrypted signatures
5 Returns JS(A,B) to clients
8 / 16
Introduction Preliminaries Proposal Experiments Conclusion
PROTOCOL 2 (MALICIOUS SERVER)
Two-round consistency check
Round 1
Calculate JS(A,B)
Round 2
Calculate JS(DA,DB)
– DA = A∪S0 ∪S1
– DB = B∪S0 ∪S2
– S0,S1,S2 are disjoint dummy sets
Check JS(A,B) and JS(DA,DB)
– Find out whether the server is really malicious
9 / 16
Introduction Preliminaries Proposal Experiments Conclusion
ADDITIONAL NOTATION
|A| = |B| = n and |S0| = |S1| = |S2| = t
: Approximation bias
= 1
k
, k is the number of hash functions
σ: Real similarity between A and B
σ = |A∩B|
2n−|A∩B|
σd: Real similarity between DA and DB
σd = |A∩B|+t
2n−|A∩B|+3t
σ1: Approx. similarity between A and B
σ1 ∈ [σ− ,σ+ ]
σ2: Approx. similarity between DA and DB
σ2 ∈ [σd − ,σd + ]
10 / 16
Introduction Preliminaries Proposal Experiments Conclusion
CONSISTENCY CHECK
Can detect malicious servers
Apply a map f : σ → σd
σd = f (σ) = (2n+t)σ+t
3tσ+2n+3t
Given σ1 and σ2, Alice...
Outputs 1 if σ2 ∈ [f (σ1 − )− ,f (σ1 + )+ ]
Outputs 0 otherwise
11 / 16
Introduction Preliminaries Proposal Experiments Conclusion
ACCURACY OF CONSISTENCY CHECK
Evaluates whether the check works
False positives
Honest server, but check says it is malicious
False negatives
Malicious server, but check says it is honest
12 / 16
Introduction Preliminaries Proposal Experiments Conclusion
OUTLINE
1 Introduction
2 Preliminaries
3 Proposal
4 Experiments
5 Conclusion
Introduction Preliminaries Proposal Experiments Conclusion
SETUP
Hardware
Client
– Windows Server 7 with 8 vCPUs
– 14GB RAM
Server
– Windows Server 2012 with 8 vCPUs
– 12GB RAM
Software
C++
Crypto++ library
AES-ECB cryptosystem
13 / 16
Introduction Preliminaries Proposal Experiments Conclusion
EFFICIENCY
Pipeline mode
Single thread
Parallel mode
Multiple threads
Calculate signatures concurrently
14 / 16
Introduction Preliminaries Proposal Experiments Conclusion
VERIFIABILITY
False Positive Rate (FPR)
False Negative Rate (FNR)
15 / 16
Introduction Preliminaries Proposal Experiments Conclusion
OUTLINE
1 Introduction
2 Preliminaries
3 Proposal
4 Experiments
5 Conclusion
Introduction Preliminaries Proposal Experiments Conclusion
CONCLUSION
Secure and scalable similarity computation
Using MinHash and deterministic encryption
Benefits from parallel execution
Speedups of about 5 times
Detection of malicious server
Can have false positives and false negatives
16 / 16
Detailed Protocols
EXTRA SLIDES
Detailed Protocols
PROTOCOL 1: SETUP
DE = {KeyGen,Enc,Dec}
Secret key sk ← DE.KeyGen(1λ
)
sk shared between Alice and Bob
Alice has input A, and Bob has input B
|A| = |B| = n
k random hash functions {h1,...,hk}
Detailed Protocols
PROTOCOL 1: STEPS
1 Alice (Bob) computes signatures of A (B)
h(k)(A) = {min{hi(A)k
i=1
}}
h(k)(B) = {min{hi(B)k
i=1
}}
2 Alice (Bob) calculates ciphertexts
TA ← DE.Enc(sk,h(k)(A))
TB ← DE.Enc(sk,h(k)(B))
3 Alice (Bob) sends TA (TB) to the server
4 The server computes the similarity σ
σ = |TA∩TB|
k
5 The server returns σ to both clients
Detailed Protocols
PROTOCOL 2: SETUP
DE = {KeyGen,Enc,Dec}
Secret key sk ← DE.KeyGen(1λ
)
sk shared between Alice and Bob
Alice has input A, and Bob has input B
|A| = |B| = n
A,B ⊆ D ⊆ E
– E is the whole data space
k random hash functions {h1,...,hk}
Detailed Protocols
PROTOCOL 2: STEPS
1 Alice chooses dummy sets S0,S1,S2
S0,S1,S2 ⊆ D ⊆ E
D∩D =
– A,B ⊆ D
S0 ∩S1 ∩S2 =
|S0| = |S1| = |S2| = t
– |A| = |B| = n
2 Alice and Bob obtain JS(A,B) = |TA∩TB|
k
Following Protocol 1
3 Alice (Bob) generate DA (DB)
DA = A∪S0 ∪S1
DB = B∪S0 ∪S2
Detailed Protocols
PROTOCOL 2: STEPS
4 Alice and Bob obtain JS(DA,DB) =
|TDA∩TDB|
k
Using Protocol 1
5 Given σ1 = JS(A,B) and σ2 = JS(DA,DB)
Output 1 if σ2 ∈ [f (σ1 − )− ,f (σ1 + )+ ]
– = 1
k
– f (x) = (2n+t)x+t
3tx+2n+3t
Output 0 otherwise
Ad

More Related Content

What's hot (19)

Overview of MONOMI
Overview of MONOMIOverview of MONOMI
Overview of MONOMI
Mateus S. H. Cruz
 
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
Mohammed Ashour
 
Template Protection with Homomorphic Encryption
Template Protection with Homomorphic EncryptionTemplate Protection with Homomorphic Encryption
Template Protection with Homomorphic Encryption
Tolun Tosun
 
Klee introduction
Klee  introductionKlee  introduction
Klee introduction
Georgiana T.
 
Symbolic Execution And KLEE
Symbolic Execution And KLEESymbolic Execution And KLEE
Symbolic Execution And KLEE
Shauvik Roy Choudhary, Ph.D.
 
40+ examples of user defined methods in java with explanation
40+ examples of user defined methods in java with explanation40+ examples of user defined methods in java with explanation
40+ examples of user defined methods in java with explanation
Harish Gyanani
 
Homomorphic Encryption
Homomorphic EncryptionHomomorphic Encryption
Homomorphic Encryption
Göktuğ Serez
 
Ntewrok secuirty cs7
Ntewrok secuirty cs7Ntewrok secuirty cs7
Ntewrok secuirty cs7
Infinity Tech Solutions
 
Analysis of a Modified RC4
Analysis of a Modified RC4 Analysis of a Modified RC4
Analysis of a Modified RC4
Tharindu Weerasinghe
 
Code Tuning
Code TuningCode Tuning
Code Tuning
guest4df97e3d
 
Cs8792 cns - Public key cryptosystem (Unit III)
Cs8792   cns - Public key cryptosystem (Unit III)Cs8792   cns - Public key cryptosystem (Unit III)
Cs8792 cns - Public key cryptosystem (Unit III)
ArthyR3
 
Homomorphic encryption in_cloud
Homomorphic encryption in_cloudHomomorphic encryption in_cloud
Homomorphic encryption in_cloud
Shivam Singh
 
A closure ekon16
A closure ekon16A closure ekon16
A closure ekon16
Max Kleiner
 
Partial Homomorphic Encryption
Partial Homomorphic EncryptionPartial Homomorphic Encryption
Partial Homomorphic Encryption
securityxploded
 
Lattice Cryptography
Lattice CryptographyLattice Cryptography
Lattice Cryptography
Priyanka Aash
 
同態加密
同態加密同態加密
同態加密
峻豪 呂
 
Use of an Oscilloscope - maXbox Starter33
Use of an Oscilloscope - maXbox Starter33Use of an Oscilloscope - maXbox Starter33
Use of an Oscilloscope - maXbox Starter33
Max Kleiner
 
Homomorphic Encryption
Homomorphic EncryptionHomomorphic Encryption
Homomorphic Encryption
Vipin Tejwani
 
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
 
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
Mohammed Ashour
 
Template Protection with Homomorphic Encryption
Template Protection with Homomorphic EncryptionTemplate Protection with Homomorphic Encryption
Template Protection with Homomorphic Encryption
Tolun Tosun
 
40+ examples of user defined methods in java with explanation
40+ examples of user defined methods in java with explanation40+ examples of user defined methods in java with explanation
40+ examples of user defined methods in java with explanation
Harish Gyanani
 
Homomorphic Encryption
Homomorphic EncryptionHomomorphic Encryption
Homomorphic Encryption
Göktuğ Serez
 
Cs8792 cns - Public key cryptosystem (Unit III)
Cs8792   cns - Public key cryptosystem (Unit III)Cs8792   cns - Public key cryptosystem (Unit III)
Cs8792 cns - Public key cryptosystem (Unit III)
ArthyR3
 
Homomorphic encryption in_cloud
Homomorphic encryption in_cloudHomomorphic encryption in_cloud
Homomorphic encryption in_cloud
Shivam Singh
 
A closure ekon16
A closure ekon16A closure ekon16
A closure ekon16
Max Kleiner
 
Partial Homomorphic Encryption
Partial Homomorphic EncryptionPartial Homomorphic Encryption
Partial Homomorphic Encryption
securityxploded
 
Lattice Cryptography
Lattice CryptographyLattice Cryptography
Lattice Cryptography
Priyanka Aash
 
Use of an Oscilloscope - maXbox Starter33
Use of an Oscilloscope - maXbox Starter33Use of an Oscilloscope - maXbox Starter33
Use of an Oscilloscope - maXbox Starter33
Max Kleiner
 
Homomorphic Encryption
Homomorphic EncryptionHomomorphic Encryption
Homomorphic Encryption
Vipin Tejwani
 
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
 

Viewers also liked (16)

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
iosrjce
 
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...
ijsrd.com
 
Fibonacci Video Encryption
Fibonacci Video EncryptionFibonacci Video Encryption
Fibonacci Video Encryption
Jun Steed Huang
 
Helib
HelibHelib
Helib
文杰 陆
 
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
IGEEKS TECHNOLOGIES
 
AES-Advanced Encryption Standard
AES-Advanced Encryption StandardAES-Advanced Encryption Standard
AES-Advanced Encryption Standard
Prince Rachit
 
Image encryption and decryption
Image encryption and decryptionImage encryption and decryption
Image encryption and decryption
Aashish R
 
Instrumentos
InstrumentosInstrumentos
Instrumentos
rodrigo garcia
 
Soil Management, Site Selection. Soil Fertility
Soil Management, Site Selection. Soil FertilitySoil Management, Site Selection. Soil Fertility
Soil Management, Site Selection. Soil Fertility
Kerr Center for Sustainable Agriculture
 
Extending the Grazing Season
Extending the Grazing SeasonExtending the Grazing Season
Extending the Grazing Season
Kerr Center for Sustainable Agriculture
 
DiscMedia CD/DVD Ideeëngids
DiscMedia CD/DVD IdeeëngidsDiscMedia CD/DVD Ideeëngids
DiscMedia CD/DVD Ideeëngids
jurjenbousma
 
Introduction to ConnectCentral Pty Ltd
Introduction to ConnectCentral Pty LtdIntroduction to ConnectCentral Pty Ltd
Introduction to ConnectCentral Pty Ltd
susanne01
 
Edutice power-final
Edutice power-finalEdutice power-final
Edutice power-final
Thomas Michael Power
 
Math made easy
Math made easyMath made easy
Math made easy
Kim Graman-Contreras
 
Sambahang Kristiano sa Gulod
Sambahang Kristiano sa GulodSambahang Kristiano sa Gulod
Sambahang Kristiano sa Gulod
Samuel Curit
 
Drongo Festival - E-learning: balans tussen plezier en leren voor kinderen
Drongo Festival - E-learning: balans tussen plezier en leren voor kinderenDrongo Festival - E-learning: balans tussen plezier en leren voor kinderen
Drongo Festival - E-learning: balans tussen plezier en leren voor kinderen
Kees van Dieren
 
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
iosrjce
 
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...
ijsrd.com
 
Fibonacci Video Encryption
Fibonacci Video EncryptionFibonacci Video Encryption
Fibonacci Video Encryption
Jun Steed Huang
 
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
IGEEKS TECHNOLOGIES
 
AES-Advanced Encryption Standard
AES-Advanced Encryption StandardAES-Advanced Encryption Standard
AES-Advanced Encryption Standard
Prince Rachit
 
Image encryption and decryption
Image encryption and decryptionImage encryption and decryption
Image encryption and decryption
Aashish R
 
DiscMedia CD/DVD Ideeëngids
DiscMedia CD/DVD IdeeëngidsDiscMedia CD/DVD Ideeëngids
DiscMedia CD/DVD Ideeëngids
jurjenbousma
 
Introduction to ConnectCentral Pty Ltd
Introduction to ConnectCentral Pty LtdIntroduction to ConnectCentral Pty Ltd
Introduction to ConnectCentral Pty Ltd
susanne01
 
Sambahang Kristiano sa Gulod
Sambahang Kristiano sa GulodSambahang Kristiano sa Gulod
Sambahang Kristiano sa Gulod
Samuel Curit
 
Drongo Festival - E-learning: balans tussen plezier en leren voor kinderen
Drongo Festival - E-learning: balans tussen plezier en leren voor kinderenDrongo Festival - E-learning: balans tussen plezier en leren voor kinderen
Drongo Festival - E-learning: balans tussen plezier en leren voor kinderen
Kees van Dieren
 
Ad

Similar to Fast, Private and Verifiable: Server-aided Approximate Similarity Computation over Large-Scale Datasets (20)

Socket programming using C
Socket programming using CSocket programming using C
Socket programming using C
Ajit Nayak
 
Lightweight Address Hopping forDefending the IPv6 IoT
Lightweight Address Hopping forDefending the IPv6 IoTLightweight Address Hopping forDefending the IPv6 IoT
Lightweight Address Hopping forDefending the IPv6 IoT
José Francisco Chávez Carreón
 
testing(2).pptjjsieieo2i33kejjskskosowwiwk
testing(2).pptjjsieieo2i33kejjskskosowwiwktesting(2).pptjjsieieo2i33kejjskskosowwiwk
testing(2).pptjjsieieo2i33kejjskskosowwiwk
mhuzaifasultan8
 
Mininet: Moving Forward
Mininet: Moving ForwardMininet: Moving Forward
Mininet: Moving Forward
ON.Lab
 
NP-lab-manual.docx
NP-lab-manual.docxNP-lab-manual.docx
NP-lab-manual.docx
RaviRajput416403
 
NP-lab-manual (1).pdf
NP-lab-manual (1).pdfNP-lab-manual (1).pdf
NP-lab-manual (1).pdf
RaviRajput416403
 
NP-lab-manual.pdf
NP-lab-manual.pdfNP-lab-manual.pdf
NP-lab-manual.pdf
RaviRajput416403
 
lab04.pdf
lab04.pdflab04.pdf
lab04.pdf
SaidiCalala
 
18CSL51 - Network Lab Manual.pdf
18CSL51 - Network Lab Manual.pdf18CSL51 - Network Lab Manual.pdf
18CSL51 - Network Lab Manual.pdf
Selvaraj Seerangan
 
Fuzzing.pptx
Fuzzing.pptxFuzzing.pptx
Fuzzing.pptx
Abhik Roychoudhury
 
BlinkDB and G-OLA: Supporting Continuous Answers with Error Bars in SparkSQL-...
BlinkDB and G-OLA: Supporting Continuous Answers with Error Bars in SparkSQL-...BlinkDB and G-OLA: Supporting Continuous Answers with Error Bars in SparkSQL-...
BlinkDB and G-OLA: Supporting Continuous Answers with Error Bars in SparkSQL-...
Spark Summit
 
Reproducible Network Research With High-­Fidelity Emulation
Reproducible Network Research With High-­Fidelity EmulationReproducible Network Research With High-­Fidelity Emulation
Reproducible Network Research With High-­Fidelity Emulation
amranharoon2
 
Why my network does not work? Networking Quiz 2017
Why my network does not work? Networking Quiz 2017Why my network does not work? Networking Quiz 2017
Why my network does not work? Networking Quiz 2017
Andriy Berestovskyy
 
Functional Operations - Susan Potter
Functional Operations - Susan PotterFunctional Operations - Susan Potter
Functional Operations - Susan Potter
distributed matters
 
5 sharing-app
5 sharing-app5 sharing-app
5 sharing-app
Olivier Bonaventure
 
20130523 05 - Cyclomatic complexity
20130523 05 - Cyclomatic complexity20130523 05 - Cyclomatic complexity
20130523 05 - Cyclomatic complexity
LeClubQualiteLogicielle
 
Speeding Up Distributed Machine Learning Using Codes
Speeding Up Distributed Machine Learning Using CodesSpeeding Up Distributed Machine Learning Using Codes
Speeding Up Distributed Machine Learning Using Codes
NAVER Engineering
 
0Flake - Reaching reliable non-flaky tests - Itai Friendinger - DevOpsDays Te...
0Flake - Reaching reliable non-flaky tests - Itai Friendinger - DevOpsDays Te...0Flake - Reaching reliable non-flaky tests - Itai Friendinger - DevOpsDays Te...
0Flake - Reaching reliable non-flaky tests - Itai Friendinger - DevOpsDays Te...
DevOpsDays Tel Aviv
 
Computer Networking Michaelmas/Lent Term M/W/F 11:00-12:00 LT1 in Gates Buil...
Computer Networking  Michaelmas/Lent Term M/W/F 11:00-12:00 LT1 in Gates Buil...Computer Networking  Michaelmas/Lent Term M/W/F 11:00-12:00 LT1 in Gates Buil...
Computer Networking Michaelmas/Lent Term M/W/F 11:00-12:00 LT1 in Gates Buil...
moaminmarey2001
 
sockets_intro.ppt
sockets_intro.pptsockets_intro.ppt
sockets_intro.ppt
AnilGupta681764
 
Socket programming using C
Socket programming using CSocket programming using C
Socket programming using C
Ajit Nayak
 
testing(2).pptjjsieieo2i33kejjskskosowwiwk
testing(2).pptjjsieieo2i33kejjskskosowwiwktesting(2).pptjjsieieo2i33kejjskskosowwiwk
testing(2).pptjjsieieo2i33kejjskskosowwiwk
mhuzaifasultan8
 
Mininet: Moving Forward
Mininet: Moving ForwardMininet: Moving Forward
Mininet: Moving Forward
ON.Lab
 
18CSL51 - Network Lab Manual.pdf
18CSL51 - Network Lab Manual.pdf18CSL51 - Network Lab Manual.pdf
18CSL51 - Network Lab Manual.pdf
Selvaraj Seerangan
 
BlinkDB and G-OLA: Supporting Continuous Answers with Error Bars in SparkSQL-...
BlinkDB and G-OLA: Supporting Continuous Answers with Error Bars in SparkSQL-...BlinkDB and G-OLA: Supporting Continuous Answers with Error Bars in SparkSQL-...
BlinkDB and G-OLA: Supporting Continuous Answers with Error Bars in SparkSQL-...
Spark Summit
 
Reproducible Network Research With High-­Fidelity Emulation
Reproducible Network Research With High-­Fidelity EmulationReproducible Network Research With High-­Fidelity Emulation
Reproducible Network Research With High-­Fidelity Emulation
amranharoon2
 
Why my network does not work? Networking Quiz 2017
Why my network does not work? Networking Quiz 2017Why my network does not work? Networking Quiz 2017
Why my network does not work? Networking Quiz 2017
Andriy Berestovskyy
 
Functional Operations - Susan Potter
Functional Operations - Susan PotterFunctional Operations - Susan Potter
Functional Operations - Susan Potter
distributed matters
 
Speeding Up Distributed Machine Learning Using Codes
Speeding Up Distributed Machine Learning Using CodesSpeeding Up Distributed Machine Learning Using Codes
Speeding Up Distributed Machine Learning Using Codes
NAVER Engineering
 
0Flake - Reaching reliable non-flaky tests - Itai Friendinger - DevOpsDays Te...
0Flake - Reaching reliable non-flaky tests - Itai Friendinger - DevOpsDays Te...0Flake - Reaching reliable non-flaky tests - Itai Friendinger - DevOpsDays Te...
0Flake - Reaching reliable non-flaky tests - Itai Friendinger - DevOpsDays Te...
DevOpsDays Tel Aviv
 
Computer Networking Michaelmas/Lent Term M/W/F 11:00-12:00 LT1 in Gates Buil...
Computer Networking  Michaelmas/Lent Term M/W/F 11:00-12:00 LT1 in Gates Buil...Computer Networking  Michaelmas/Lent Term M/W/F 11:00-12:00 LT1 in Gates Buil...
Computer Networking Michaelmas/Lent Term M/W/F 11:00-12:00 LT1 in Gates Buil...
moaminmarey2001
 
Ad

Recently uploaded (20)

Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Raffi Khatchadourian
 
Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptxDevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
Justin Reock
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
Lorenzo Miniero
 
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier VroomAI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
UXPA Boston
 
May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
Q1 2025 Dropbox Earnings and Investor Presentation
Q1 2025 Dropbox Earnings and Investor PresentationQ1 2025 Dropbox Earnings and Investor Presentation
Q1 2025 Dropbox Earnings and Investor Presentation
Dropbox
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Everything You Need to Know About Agentforce? (Put AI Agents to Work)Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Cyntexa
 
AsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API DesignAsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API Design
leonid54
 
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Markus Eisele
 
IT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information TechnologyIT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information Technology
SHEHABALYAMANI
 
Viam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdfViam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdf
camilalamoratta
 
Smart Investments Leveraging Agentic AI for Real Estate Success.pptx
Smart Investments Leveraging Agentic AI for Real Estate Success.pptxSmart Investments Leveraging Agentic AI for Real Estate Success.pptx
Smart Investments Leveraging Agentic AI for Real Estate Success.pptx
Seasia Infotech
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à GenèveUiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPathCommunity
 
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
James Anderson
 
Cybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and MitigationCybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and Mitigation
VICTOR MAESTRE RAMIREZ
 
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Raffi Khatchadourian
 
Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptxDevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
Justin Reock
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
Lorenzo Miniero
 
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier VroomAI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
UXPA Boston
 
May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
Q1 2025 Dropbox Earnings and Investor Presentation
Q1 2025 Dropbox Earnings and Investor PresentationQ1 2025 Dropbox Earnings and Investor Presentation
Q1 2025 Dropbox Earnings and Investor Presentation
Dropbox
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Everything You Need to Know About Agentforce? (Put AI Agents to Work)Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Cyntexa
 
AsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API DesignAsyncAPI v3 : Streamlining Event-Driven API Design
AsyncAPI v3 : Streamlining Event-Driven API Design
leonid54
 
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Markus Eisele
 
IT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information TechnologyIT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information Technology
SHEHABALYAMANI
 
Viam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdfViam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdf
camilalamoratta
 
Smart Investments Leveraging Agentic AI for Real Estate Success.pptx
Smart Investments Leveraging Agentic AI for Real Estate Success.pptxSmart Investments Leveraging Agentic AI for Real Estate Success.pptx
Smart Investments Leveraging Agentic AI for Real Estate Success.pptx
Seasia Infotech
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à GenèveUiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPathCommunity
 
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
James Anderson
 
Cybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and MitigationCybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and Mitigation
VICTOR MAESTRE RAMIREZ
 

Fast, Private and Verifiable: Server-aided Approximate Similarity Computation over Large-Scale Datasets

  • 1. Fast, Private and Verifiable: Server-aided Approximate Similarity Computation over Large-Scale Datasets Shuo Qiu, Boyang Wang, Ming Li, Jesse Victors, Jiqiang Liu, Yangfeng Shi, Wei Wang 4th ACM International Workshop on Security in Cloud Computing SCC 2016 Xi’an - China - 2016 SWIM Seminar August 4, 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 Use of Jaccard similarity (JS) Privacy concerns Wants to disclose only the similarity Previous approaches use MPC1 High performance overheads 1Multi-party Computation 1 / 16
  • 5. Introduction Preliminaries Proposal Experiments Conclusion CONTRIBUTIONS Protocol 1 Assumes semi-honest server Uses MinHash and deterministic encryption Only leaks Jaccard similarity Protocol 2 Uses Protocol 1 Verifies whether the server is malicious 2 / 16
  • 6. Introduction Preliminaries Proposal Experiments Conclusion OUTLINE 1 Introduction 2 Preliminaries 3 Proposal 4 Experiments 5 Conclusion
  • 7. Introduction Preliminaries Proposal Experiments Conclusion JACCARD SIMILARITY (JS) Measure similarity between sets A and B JS(A,B) = A∩B A∪B Example A = {1,2,4} B = {2,4,8,9} JS(A,B) = A∩B A∪B = 2 5 3 / 16
  • 8. Introduction Preliminaries Proposal Experiments Conclusion MINHASH Approximation of Jaccard similarity Calculates k hash functions: {h1,...,hk} Uses the minimum hash value: min{hi(A)} Generate signatures from sets Compact representations of sets Signatures of A: h(k)(A) = {min{hi(A)}}k i=1 – Length k JS(A,B) ≈ |h(k)(A)∩h(k)(B)| k 4 / 16
  • 9. Introduction Preliminaries Proposal Experiments Conclusion DETERMINISTIC ENCRYPTION Same ciphertext for the same message m1 = m2 → Enc(m1) = Enc(m2) Allows equality checks Algorithms sk ← KeyGen(1λ ) – Security parameter λ, secret key sk c ← Enc(sk,m) – Message m, ciphertext c m ← Dec(sk,c) Dec(sk,Enc(sk,m)) = m 5 / 16
  • 10. Introduction Preliminaries Proposal Experiments Conclusion ADVERSARY MODEL Semi-honest adversary (Protocol 1) Follows the protocol Tries to learn from the data Malicious adversary (Protocol 2) May not execute the protocol correctly – Returns a random similarity (Case I) – Returns a partial result (Case II) – Returns a false approximation (Case III) No collusion between parties 6 / 16
  • 11. Introduction Preliminaries Proposal Experiments Conclusion OUTLINE 1 Introduction 2 Preliminaries 3 Proposal 4 Experiments 5 Conclusion
  • 12. Introduction Preliminaries Proposal Experiments Conclusion PROBLEM DEFINITION Calculate similarity between sets Using Jaccard similarity Alice has set A Bob has set B Compute similarity on remote server Security requirements Alice, Bob and the server only learn JS(A,B) Alice does not learn |B| Bob does not learn |A| The server does not learn |A|,|B|,|A∩B| 7 / 16
  • 13. Introduction Preliminaries Proposal Experiments Conclusion PROTOCOL 1 (SEMI-HONEST SERVER) Each client... 1 Computes MinHash signatures – Using k shared hash functions 2 Encrypts signatures – Using deterministic encryption – Secret key shared between Alice and Bob Allows equality checks between ciphertexts 3 Sends ciphertexts to the server The server... 4 Calculates the JS(A,B) – By comparing encrypted signatures 5 Returns JS(A,B) to clients 8 / 16
  • 14. Introduction Preliminaries Proposal Experiments Conclusion PROTOCOL 2 (MALICIOUS SERVER) Two-round consistency check Round 1 Calculate JS(A,B) Round 2 Calculate JS(DA,DB) – DA = A∪S0 ∪S1 – DB = B∪S0 ∪S2 – S0,S1,S2 are disjoint dummy sets Check JS(A,B) and JS(DA,DB) – Find out whether the server is really malicious 9 / 16
  • 15. Introduction Preliminaries Proposal Experiments Conclusion ADDITIONAL NOTATION |A| = |B| = n and |S0| = |S1| = |S2| = t : Approximation bias = 1 k , k is the number of hash functions σ: Real similarity between A and B σ = |A∩B| 2n−|A∩B| σd: Real similarity between DA and DB σd = |A∩B|+t 2n−|A∩B|+3t σ1: Approx. similarity between A and B σ1 ∈ [σ− ,σ+ ] σ2: Approx. similarity between DA and DB σ2 ∈ [σd − ,σd + ] 10 / 16
  • 16. Introduction Preliminaries Proposal Experiments Conclusion CONSISTENCY CHECK Can detect malicious servers Apply a map f : σ → σd σd = f (σ) = (2n+t)σ+t 3tσ+2n+3t Given σ1 and σ2, Alice... Outputs 1 if σ2 ∈ [f (σ1 − )− ,f (σ1 + )+ ] Outputs 0 otherwise 11 / 16
  • 17. Introduction Preliminaries Proposal Experiments Conclusion ACCURACY OF CONSISTENCY CHECK Evaluates whether the check works False positives Honest server, but check says it is malicious False negatives Malicious server, but check says it is honest 12 / 16
  • 18. Introduction Preliminaries Proposal Experiments Conclusion OUTLINE 1 Introduction 2 Preliminaries 3 Proposal 4 Experiments 5 Conclusion
  • 19. Introduction Preliminaries Proposal Experiments Conclusion SETUP Hardware Client – Windows Server 7 with 8 vCPUs – 14GB RAM Server – Windows Server 2012 with 8 vCPUs – 12GB RAM Software C++ Crypto++ library AES-ECB cryptosystem 13 / 16
  • 20. Introduction Preliminaries Proposal Experiments Conclusion EFFICIENCY Pipeline mode Single thread Parallel mode Multiple threads Calculate signatures concurrently 14 / 16
  • 21. Introduction Preliminaries Proposal Experiments Conclusion VERIFIABILITY False Positive Rate (FPR) False Negative Rate (FNR) 15 / 16
  • 22. Introduction Preliminaries Proposal Experiments Conclusion OUTLINE 1 Introduction 2 Preliminaries 3 Proposal 4 Experiments 5 Conclusion
  • 23. Introduction Preliminaries Proposal Experiments Conclusion CONCLUSION Secure and scalable similarity computation Using MinHash and deterministic encryption Benefits from parallel execution Speedups of about 5 times Detection of malicious server Can have false positives and false negatives 16 / 16
  • 25. Detailed Protocols PROTOCOL 1: SETUP DE = {KeyGen,Enc,Dec} Secret key sk ← DE.KeyGen(1λ ) sk shared between Alice and Bob Alice has input A, and Bob has input B |A| = |B| = n k random hash functions {h1,...,hk}
  • 26. Detailed Protocols PROTOCOL 1: STEPS 1 Alice (Bob) computes signatures of A (B) h(k)(A) = {min{hi(A)k i=1 }} h(k)(B) = {min{hi(B)k i=1 }} 2 Alice (Bob) calculates ciphertexts TA ← DE.Enc(sk,h(k)(A)) TB ← DE.Enc(sk,h(k)(B)) 3 Alice (Bob) sends TA (TB) to the server 4 The server computes the similarity σ σ = |TA∩TB| k 5 The server returns σ to both clients
  • 27. Detailed Protocols PROTOCOL 2: SETUP DE = {KeyGen,Enc,Dec} Secret key sk ← DE.KeyGen(1λ ) sk shared between Alice and Bob Alice has input A, and Bob has input B |A| = |B| = n A,B ⊆ D ⊆ E – E is the whole data space k random hash functions {h1,...,hk}
  • 28. Detailed Protocols PROTOCOL 2: STEPS 1 Alice chooses dummy sets S0,S1,S2 S0,S1,S2 ⊆ D ⊆ E D∩D = – A,B ⊆ D S0 ∩S1 ∩S2 = |S0| = |S1| = |S2| = t – |A| = |B| = n 2 Alice and Bob obtain JS(A,B) = |TA∩TB| k Following Protocol 1 3 Alice (Bob) generate DA (DB) DA = A∪S0 ∪S1 DB = B∪S0 ∪S2
  • 29. Detailed Protocols PROTOCOL 2: STEPS 4 Alice and Bob obtain JS(DA,DB) = |TDA∩TDB| k Using Protocol 1 5 Given σ1 = JS(A,B) and σ2 = JS(DA,DB) Output 1 if σ2 ∈ [f (σ1 − )− ,f (σ1 + )+ ] – = 1 k – f (x) = (2n+t)x+t 3tx+2n+3t Output 0 otherwise
  翻译: