keyword search on encrypted data

21
Keyword search on encrypted data

Upload: clive

Post on 14-Jan-2016

61 views

Category:

Documents


2 download

DESCRIPTION

Keyword search on encrypted data. Keyword search problem. Linux utility: grep Information retrieval Basic operation Advanced operations – relevance analysis and ranking Search engines highly complicated problem. New settings. Search data in the cloud Filter encrypted emails - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Keyword search on encrypted data

Keyword search on encrypted data

Page 2: Keyword search on encrypted data

Keyword search problem Linux utility: grep Information retrieval

Basic operation Advanced operations – relevance

analysis and ranking Search engines highly complicated problem

Page 3: Keyword search on encrypted data

New settings Search data in the cloud Filter encrypted emails Privacy preserving log retrieval

Page 4: Keyword search on encrypted data

Basic techniques

Symmetric encryptionPublic key encryption

Simple keyword matchingA little bit relevance evaluation

Page 5: Keyword search on encrypted data

Secure keyword search with symmetric encryption Paper: Song 2000

•Seed is random, different for each Wi•Key idea: Li and Ri are self-verifiable •Advantage of XOR

Page 6: Keyword search on encrypted data
Page 7: Keyword search on encrypted data

How to set K?

Page 8: Keyword search on encrypted data

Setting of ki Ki = Fk’(Wi), k’ is secret User publishes W and k = Fk’(W) Server checks CiW

whether <Li, Fk(Li)> == CiW It reveals nothing if Ci is not the ciphertext

for W. And Li is random for different Wi – server

cannot find any information from Li.

Page 9: Keyword search on encrypted data

Hidden search In previous schemes, W is revealed

Weakness: each search will have to release k for W Easy to collect information

Solution: encrypt Wi with an private key, then xor with <Li, Fk(Li)>

Still weaknesses Wi encryption should be deterministic Access pattern is leaked Linear scan over the whole doc collection

Page 10: Keyword search on encrypted data

Typical method for speedy keyword based search Using the “inverted index”

Word -> doc1:pos, doc2:pos,…

Or simply word -> doc1, doc2, …

However, inverted index reveals the word frequency

Page 11: Keyword search on encrypted data

Recent developments Reza 2006

“Searchable symmetric encryption: improved definitions and efficient constructions”

Completely solved this problem, with a solution indistinguishability under chosen ciphertext attack (IND-CCA) Allow inverted index Hide word frequency

Page 12: Keyword search on encrypted data

setup D – the set of documents {D1,…,Dn} max - the maximum number of

distinct words in a document Li – the list of document IDs that

contain the keyword w_i , plus some dummy entries to reach max

A – array contains all elements in Li (max * |D|)

T – table that contains the <wi, address of Li’s first node>)

Page 13: Keyword search on encrypted data

Symmetric encryption function, encrypt words and document ids id(Dj) for wi entry is encoded as enc(wi||

j) to make indistinguishable

Pseudo-random function f Two pseudo-random permutation

functions : for mapping word to table entry : for mapping index to next node of Li

to the index of array A

Page 14: Keyword search on encrypted data

Building the index table T

The key used to encryptthe node Ni,1

1.

2.

to random values of the same size of the existing entries

Page 15: Keyword search on encrypted data

Generating Li

with Ki,0, We can decryptall nodes in the list

For the remaining max – |D(wi)| dummy nodes, store the doc id thatAlready appears in the first |D(wi)| entries. This can be done with the help of a look-up table I

Page 16: Keyword search on encrypted data

Search Generate the trapdoor

Search

Page 17: Keyword search on encrypted data

Property Each keyword search returns the

same number of encrypted document ids – the attacker cannot distinguish word frequency

Page 18: Keyword search on encrypted data

Search public-key encrypted data Users who encrypt the data (with

public key) can be different from the owner of the private key

Page 19: Keyword search on encrypted data

Cyclic group For example, if G =

{ g0, g1, g2, g3, g4, g5 } mod p is a group, then g6 = g0, and G is cyclic. p is the order g is the generator

Page 20: Keyword search on encrypted data

Bilinear-map construction Two groups G1 G2 of prime order p A bilinear map : G1 X G1 -> G2 Properties:

Page 21: Keyword search on encrypted data