Dynamic Searchable Encryption via Blind Storage
- M. Naveed,
- M. Prabhakaran,
C.A. Gunter Presented by: Keegan Sherman and Pardeep Banwait
Dynamic Searchable M. Naveed, Encryption via Blind M. Prabhakaran, - - PowerPoint PPT Presentation
Dynamic Searchable M. Naveed, Encryption via Blind M. Prabhakaran, C.A. Gunter Storage Presented by: Keegan Sherman and Pardeep Banwait Searchable Symmetric Encryption Allows a user to store a collection of encrypted documents and
C.A. Gunter Presented by: Keegan Sherman and Pardeep Banwait
documents and perform keyword searches on those documents.
any information from interactions with the stored documents except for certain patterns.
documents throughout the life-time of the system in the face of an honest-but curious server.
documents that contain it. Store index files as encrypted linked lists. Randomly sort the nodes for each list.
server side computation.
way that the server does not know how many files are being stored nor the lengths of the files.
being retrieved but the file’s name and contents are kept hidden.
number of blocks downloaded/uploaded when a given file is accessed.
uploaded from the server.
an AES block-cipher .
γ
α κ
1 2 3 4 5 6 7 8 9 10 11 12
Free Occupied
id data
Generate seed for PRG: s = FD-PRF (id)
Kid
1
10 3 4 2
Check that needed number of blocks are free. If so choose the shortest subset, S, containing size free blocks.
3
size = 4 blocks
6 10 3 1 4 9 2 8
Generate indexes for a pseudorandom subset of size max( size, ) from PRG(s).
2
α∗
κ
vi H(id) dataj vi H(id)
size
data0
4
Create blocks with necessary information.
5
Store blocks into S
10 3 4 2
Encrypt blocks using PRF
Kd
vi Ej
6
1 2 3 4 5 6 7 8 9 10 11 12
Free Occupied Generate seed for PRG: s = FD-PRF (id)
Kid
1
6 10 3 1
Generate indexes for a pseudorandom subset of size from PRG(s).
2
κ
Find first block with our id using decryption.
3
vi E0 H(id)
size
data0
Our file
4 Output size to client and accept size’ as the size of the file after update. 5 Determine if < max(size, size’). If so calculate, download and decrypt
remaining pseudorandom blocks.
κ
α∗
6 10 3 1 4 9 2 8
6
10 3 4 2
Determine blocks with our id’s and output them.
7
Accept data’ as updated document
8
If size < size’ download more pseudorandom blocks and store.
indexing the last block of the pseudorandom subset
vi H(id) dataj vi H(id)
size
data0
10 3 4 2
Store blocks into S
… … H(id) 2 … …
Header File System Interface
storage.
least one document. Proceeds to fill the blind storage array with index files. Uploads array and encrypted documents.
delete strategy.
keyword index files.
keyword.
and KSSE.
contains the E(idf) of the documents that contain that keyword.
KID
during initialization.
delete it and move E(idf) to removed list.
search operation. (lazy-delete)
during initialization.
a tuple (E(idf), t) to the index file in the clear storage system for that keyword.
storage using the first six stages of their update operations.
are looking for.
documents containing a specific encrypted keyword.
updated remove list is revealed to the server.
keyword has been searched.
Decreased per pair initialization time
Average time for initialization.
Time to search for a keyword excluding final decryption.
cloud storage.
“Searchable symmetric encryption: improved definitions and efficient constructions,” in CCS, 2006,
searchable symmetric encryption,” in CCS, 2012, pp. 965–976.