Searchable Encryption Prepared for 600.624 February 9, 2006 - - PowerPoint PPT Presentation

searchable encryption
SMART_READER_LITE
LIVE PREVIEW

Searchable Encryption Prepared for 600.624 February 9, 2006 - - PowerPoint PPT Presentation

Searchable Encryption Prepared for 600.624 February 9, 2006 Outline Motivation of Searchable Encryption Searchable Encryption Constructions of Song, Wagner and Perrig Discussion Related Work Conjunctive Keyword


slide-1
SLIDE 1

Searchable Encryption

Prepared for 600.624 February 9, 2006

slide-2
SLIDE 2

Outline

  • Motivation of Searchable Encryption
  • Searchable Encryption
  • Constructions of Song, Wagner and Perrig
  • Discussion
  • Related Work
  • Conjunctive Keyword Searches
slide-3
SLIDE 3

Motivation

  • Proliferation of computing from

different machines

  • Want to store sensitive data remotely
  • e.g., email, audit logs, backups

Untrusted

slide-4
SLIDE 4

Motivation (2)

  • Data must be encrypted
  • Encryption prevents delegated searches
  • Naive approach:

Untrusted

slide-5
SLIDE 5

Searchable Encryption

  • Combine an indexing scheme with

trapdoors to allow server to search...

Keyword

Untrusted

Index

slide-6
SLIDE 6

Searchable Encryption

  • Goals:
  • Security
  • Correctness
  • Efficiency
slide-7
SLIDE 7

Today’s Paper

  • Proposes the idea of Searchable

Encryption

  • Provides construction
  • basic idea: embed information in the

ciphertext

slide-8
SLIDE 8

Preliminaries (1)

  • , -- block length, system parameter
  • pseudo-random number generator
  • pseudo-random function

F : K × {0, 1}n−m → {0, 1}m n m G : K → Sl, |Si| = n − m

slide-9
SLIDE 9

Preliminaries (2)

  • pseudo-random function
  • pseudo-random permutation

E : K × {0, 1}n → {0, 1}n f : K × {0, 1}∗ → K

slide-10
SLIDE 10

Intuition

  • Add structure to cipher-stream
  • Still secure
  • Knowledge of word allows server to

test for this structure

slide-11
SLIDE 11

Construction #1

Wi Si Fki(Si) ⊕ − → Ci Fki ki ← fk(Wi) Gk − →

slide-12
SLIDE 12

Limitations of #1

  • Reveals the word we are searching
  • Fix this by encrypting the word
  • Must be a deterministic encryption!
  • Who needs to decrypt anyway?
slide-13
SLIDE 13

Construction #2

Si Fki(Si) ⊕ − → Ci Fki Gk − → Ek(Wi) ki ← fk(Ek(Wi))

slide-14
SLIDE 14

Limitations of #2

  • Reveals the word we are searching
  • Who needs to decrypt anyway?
  • Problem: cipher-stream is a function
  • f the plaintext---which we don’t

know!

  • Solution: make it a function of the

plaintext that we can actually derive!

slide-15
SLIDE 15

Construction #3

Si Fki(Si) ⊕ − → Ci Fki Gk − → Ek(Wi) Ri Li ki ← fk(Li)

slide-16
SLIDE 16

Recap

  • Achieved secure keyword searches
  • Sequential scan through ciphertext
  • Extract stream structure using PRF

and knowledge of the word

  • Protect word using PRP/PRF
  • Questions?
slide-17
SLIDE 17

Extensions (1)

  • Boolean searches
  • everyone buy this?
  • Regular expressions
  • Searching for the nth occurrence of a word
  • thwarts statistical attacks?
slide-18
SLIDE 18

Extensions (2)

  • Variable-length words
  • what does this do to search time and

false-positive rate?

  • A Searchable Index
  • Advantages: can limit statistical

information

  • Disadvantage: Difficult to update
slide-19
SLIDE 19

N & M?

  • Parameters of the System
  • --- word length
  • e.g., = 32 “hi there” ⇒ [hi--] [_---] [ther] [e---]
  • Ciphertext expansion increases with
  • Search speed increases with
  • --- “check” length
  • Number of false matches ( ) are inversely

proportional to ... is this the only factor?

  • cannot be too small... why?

n m 2−m n n m m n

slide-20
SLIDE 20

Realizing N and M

  • Implemented the system
  • Downloaded english text from Project

Gutenberg

  • Measured performance under different

loads

  • Showed best tradeoffs results when

n = 32 bits, m = 8 bits

slide-21
SLIDE 21

Implications of N and M

  • Words are partitioned to have length 4
  • e.g., “Fabian” --> [Fabi] [an--]
  • Searching of words spanning

partitions in a document of partitions has a false positive rate of ( + 1 − k)/28k

  • k
slide-22
SLIDE 22

Statistical Attacks

  • ECB mode encryption!!!
  • Assumption: Malicious server has

knowledge of plaintext distribution

  • Records how many times a given query

matches

  • Note: only considered ONE search
slide-23
SLIDE 23

Statistical Attacks (2)

slide-24
SLIDE 24

Statistical Attacks (3)

8 16 24 32 40 48 56 64 n/8 2n/8 10 20 30 40 50 60 70 80 90 100 Accuracy n (bits) m (%n)

slide-25
SLIDE 25

The Problem?

  • Designed a new “encryption algorithm”
  • Revealed patterns in the plaintext
  • Perhaps we should consider alternate

constructions

slide-26
SLIDE 26

Security?

  • Is this construction secure?
  • There are proofs...
  • What did they prove?
  • More on that tomorrow.
slide-27
SLIDE 27

Related Work (see references)

  • Private Information Retrieval [CGKS95]
  • Oblivious RAMs [KO97]
  • Secure Indexes [G03]
  • Keyword Search over Asymmetric Encryption

[BdCOP04]

  • w/ applications to audit logs [WBDS04]
  • Boolean Keyword Search [GSW04, PKL04, BKM05]
slide-28
SLIDE 28

Secure Audit Log Properties

  • Tamper Resistant/verifiable
  • May need to offload to other

machines

  • Private
  • Contents are generally sensitive
  • Searchable
  • Perhaps outsourced to an auditor
slide-29
SLIDE 29

Applications: Secure Audit Logs

  • Associate keywords with each log entry
  • e.g., “Failed login attempt”
  • Encryption provides privacy
  • Searchable Encryption allows auditors

to do their job

  • Problem: who encrypts the logs
  • the machine generating them?
slide-30
SLIDE 30

Identity-Based Encryption

  • Asymmetric Encryption
  • public key is a function of a string!!!
  • Secret key (corresponding to a string) is

created by TTP

  • has a master secret
  • Greatly reduces PKI
slide-31
SLIDE 31

A need for Asymmetric Searchable Encryption

  • Log entries encrypted with IBE
  • public key corresponds to keyword
  • Escrow Agent knows IBE master secret
  • Can delegate secret-keys

corresponding to any keyword to any auditor

slide-32
SLIDE 32

Back to Boolean Searches

slide-33
SLIDE 33

Conjunctive Keyword Searches

  • Send a trapdoor for each

conjunct

  • Add every keyword

combination to the index

W1

Untrusted

W2 ... Wn

Index

W1

Untrusted

W2 ... Wn

Index

slide-34
SLIDE 34

Requirements of SCKS

  • Security!
  • Reasonable Index Size
  • Small trapdoors
  • Efficient Index Generation
  • Efficient trapdoor generation
  • Efficient search

W1

Untrusted

W2 ... Wn

Index

slide-35
SLIDE 35

Work with Seny & Fabian

  • Two constructions:
  • SCKS-SS and SCKS-XDH
  • Symmetric conjunctive searchable encryption
  • Use formal definitions from Goh (2003)
  • constructions more efficient than Golle et al.

(2004)

slide-36
SLIDE 36

Standard Assumptions

  • For efficiency documents are associated with a list of

keywords

  • Trapdoors specify which elements of the index to search on
  • Keywords are distinct
  • add field name such as SUBJECT: or FROM:
  • Each document has a fixed number of keywords
  • add NULL keywords to pad
slide-37
SLIDE 37

SCKS-SS

  • Most computationally-efficient

construction known to date

  • Based on
  • Shamir Secret Sharing
  • PRFs
slide-38
SLIDE 38

Shamir Secret Sharing

share(S) → p1, . . . , pn recover(p1, . . . , pk) → S P

R

← Zp[x], deg = k − 1 S ∈ Zp p1 p2 p3 p4 S

slide-39
SLIDE 39

Build Index

Generate Index (for each document ID)

BuildIndex(w1, w2, w3) → p1, p2, p3

p1 p2 p3

Untrusted

p1 p3 p1 p1 p2 p3 p3

slide-40
SLIDE 40

Trapdoor (1/1)

Generate Trapdoor (for each document ID)

p

3

p

2

p

1

w

1 ∧ w 2 ∧ w 3

p1 p3 p1 p1 p2 p3 p3

slide-41
SLIDE 41

Trapdoor (2/2)

Generate Trapdoor (for each document ID)

p

3

p

2

p

1

S

Trapdoor(w

1, w 2, w 3) → S

w

1 ∧ w 2 ∧ w 3

Untrusted

p1 p3 p1 p1 p2 p3 p3 p1 p3 p1 p1 p2 p3 p3

slide-42
SLIDE 42

Successful Search

Successful search (for each document)

p3 p2 p1 S

=

p

3

p

2

=

p

1

=

p1 p3 p1 p1 p2 p3 p3

slide-43
SLIDE 43

Failed Search

p3 p2 p1 S p

2

= =

p

3

Failed search

p1 p3 p1 p1 p2 p3 p3

slide-44
SLIDE 44

Asymptotic Performance

Linear Trapdoors Constant Trapdoors GSW-1 SCKS-SS GSW-2 SCKS-XDH Search 2m exp, m hash

m interpolations

m(2n+1) Pairings 2m Pairings m: number of documents n: number of keywords

slide-45
SLIDE 45

Empirical Evaluation

  • Ran tests on 3.0 GHz P4
  • Implemented constructions with C++
  • OpenSSL (PRF)
  • MIRACL (curve operations, mod arithmetic)
  • Measured time to process 10,000 documents with 10

keywords each

  • BuildIndex, Trapdoor, SearchIndex
slide-46
SLIDE 46

SCKS-SS

2 4 6 8 10 12 14 16 1 2 3 4 5 6 7 8 9 10 Time (sec) Keywords BuildIndex Trapdoor SearchIndex

Computation 10 000 documents 10 Keywords Index: 3.1 MB Trap: 156 KB Storage

slide-47
SLIDE 47
  • Time for SCKS-XDH?
slide-48
SLIDE 48

Conclusion

  • Searchable Encryption
  • Excellent Idea, area is gaining

momentum

  • Lots of interesting problems:
  • Work on adequate security models
  • Boolean Searches
  • Regular Expression Matching
slide-49
SLIDE 49

Questions?

slide-50
SLIDE 50

References (1)

  • M. Abdalla, M. Bellare, D. Catalano, E. Kiltz, T. Kohno, T. Lange, J. Malone-Lee, G.

Neven, P. Paillier, H. Shi, “Searchable Encryption Revisited: Consistency Properties, Relation to Anonymous IBE, and Extensions,” CRYPTO 2005.

  • L. Ballard, S. Kamara, F. Monrose, “Achieving Efficient Conjunctive Keyword

Searches over Encrypted Data,” ICICS 2005.

  • D. Boneh, G. Di Crescenzo, R. Ostrovsky, G. Persiano, “Public Key Encryption with

Keyword Search,” EUROCRYPT 2004.

  • Y.C. Chang, M. Mitzenmacher, “Privacy Preserving Keyword Searches on Remote

Encrypted Data,” ACNS 2005.

  • B. Chor, O. Goldreich, E. Kushilevitz, M. Sudan, “Private Information Retrieval,”

FOCS 1995.

  • D. Davis, F. Monrose, M. Reiter, “Time Scoped Searching of Encrypted Audit Logs,”

ICICS 2004.

slide-51
SLIDE 51

References (2)

  • E. Goh, “Secure Indexes”, Cryptology ePrint Archive, Report 2003/216, 2003.
  • P. Golle, J. Staddon, B. Waters, “Secure Conjunctive Keyword Searches over

Encrypted Data,” ACNS 2004.

  • E. Kusilevitz, R. Ostrovsky, “Replication is not needed: Single Database,

Computationally-Private Information Retrieval,” FOCS 1997.

  • D. Park, K. Kim, P. Lee, “Public Key Encryption with Conjunctive Field Keyword

Search,” WISA 2004.

  • D. Song, D. Wagner, A. Perrig, “Practical Techniques for searches on Encrypted

Data,’’ S&P 2000.

  • B. Waters, D. Balfanz, G. Durfee, D. Smetters, “Building an Encrypted and Searchable

Audit Log,” NDSS 2004.