Searchable symmetric encryption

This is an old revision of this page, as edited by 2a01:e0a:507:a740:859a:6dde:6cfa:cb3e (talk) at 01:25, 22 February 2022. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Searchable symmetric encryption (SSE) is a is a form of encryption that allows one to efficiently search over a collection of encrypted documents or files without the ability to decrypt them.[1][2] SSE can be used to outsource files to an untrusted cloud storage server without ever revealing the files in the clear but while preserving the server's ability to search over them.

Description

A searchable symmetric encryption scheme is a symmetric-key encryption scheme that encrypts a collection of documents  , where each document   is viewed as a set of keywords from a keyword space  . Given the encryption key   and a keyword  , one can generate a search token   with which the encrypted data collection can be searched for  . The result of the search is the subset of encrypted documents that contain the keyword  .

Static SSE

A static SSE scheme consists of three algorithms   that work as follows:

  •   takes as input a security parameter   and a document collection   and outputs a symmetric key   and an encrypted document collection  
  •   takes as input the secret key   and a keyword   and outputs a search token  
  •   takes as input the encrypted document collection   and a search token   and outputs a set of encrypted documents  

A static SSE scheme is used by a client and an untrusted server as follows. The client encrypts its data collection using the   algorithm which returns a secret key   and an encrypted document collection  . The client keeps   secret and sends   to the untrusted server. To search for a keyword  , the client runs the   algorithm on   and w to generate a search token   which it sends to the server. The server runs Search with   and   and returns the resulting encrypted documents back to the server.

Dynamic SSE

A dynamic SSE scheme supports, in addition to search, the insertion and deletion of documents. A dynamic SSE scheme consists of seven algorithms   where  ,   and   are as in the static case and the remaining algorithms work as follows:

  •   takes as input the secret key   and a new document   and outputs an insert token  
  •   takes as input the encrypted document collection EDC and an insert token   and outputs an updated encrypted document collection  
  •   takes as input the secret key   and a document identifier   and outputs a delete token  
  •   takes as input the encrypted data collection   and a delete token   and outputs an updated encrypted data collection  

To add a new document   the client runs   on   and  to generate an insert token   which it sends to the server. The server runs   with   and   and stores the updated encrypted document collection. To delete a document with identifier  , the client runs the   algorithm with   and   to generate a delete token   which it sends to the server. The server runs   with   and   and stores the updated encrypted document collection.

An SSE scheme that does not support   and   is called semi-dynamic.

History of Searchable Symmetric Encryption

The problem of searching on encrypted data was considered by Song, Wagner and Perrig [1] though previous work on Oblivious RAM by Goldreich and Ostrovsky [3] could be used in theory to address the problem. This work [1] proposed an SSE scheme with a search algorithm that runs in time  , where  . Goh [4] and Chang and Mitzenmacher [5] gave new SSE constructions with search algorithms that run in time  , where   is the number of documents. Curtmola, Garay, Kamara and Ostrovsky [2] later proposed two static constructions with   search time, where   is the number of documents that contain  , which is optimal. This work also proposed a semi-dynamic construction with   search time, where   is the number of updates. An optimal dynamic SSE construction was later proposed by Kamara, Papamanthou and Roeder. [6]


Goh [4] and Chang and Mitzenmacher [5] proposed security definitions for SSE but the definitions had limitations. Curtmola, Garay, Kamara and Ostrovsky [2] proposed the notion of adaptive security for SSE which is now standard. This work also was the first to observe leakage in SSE and to formally capture it as part of the security definition.


All the previously mentioned constructions support single keyword search. Cash, Jarecki, Jutla, Krawczyk, Rosu and Steiner [7] proposed an SSE scheme that supports conjunctive search in sub-linear time in  . The construction can also be extended to support disjunctive and Boolean searches that can be expressed in searchable normal form (SNF) in sub-linear time. At the same time, Pappas, Krell, Vo, Kolesnikov, Malkin, Choi, George, Keromytis and Bellovin [8] described a construction that supports conjunctive and all disjunctive and Boolean searches in sub-linear time.

See also

References

  1. ^ a b c Dawn Xiaoding Song; Wagner, D.; Perrig, A. (2000). "Practical techniques for searches on encrypted data". Proceeding 2000 IEEE Symposium on Security and Privacy. S&P 2000. IEEE Comput. Soc: 44–55. doi:10.1109/secpri.2000.848445. ISBN 0-7695-0665-8. S2CID 2829840.
  2. ^ a b c Curtmola, Reza; Garay, Juan; Kamara, Seny; Ostrovsky, Rafail (2006-10-30). "Searchable symmetric encryption: improved definitions and efficient constructions". Proceedings of the 13th ACM Conference on Computer and Communications Security. CCS '06. Alexandria, Virginia, USA: Association for Computing Machinery: 79–88. doi:10.1145/1180405.1180417. ISBN 978-1-59593-518-2. S2CID 961719.
  3. ^ Goldreich, Oded; Ostrovsky, Rafail (1996-05). "Software protection and simulation on oblivious RAMs". Journal of the ACM. 43 (3): 431–473. doi:10.1145/233551.233553. ISSN 0004-5411. {{cite journal}}: Check date values in: |date= (help)
  4. ^ a b Goh, Eu-Jin. "Secure Indexes".
  5. ^ a b Chang, Yan-Cheng; Mitzenmacher, Michael (2005). Ioannidis, John; Keromytis, Angelos; Yung, Moti (eds.). "Privacy Preserving Keyword Searches on Remote Encrypted Data". Applied Cryptography and Network Security. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer: 442–455. doi:10.1007/11496137_30. ISBN 978-3-540-31542-1.
  6. ^ Kamara, Seny; Papamanthou, Charalampos; Roeder, Tom (2012-10-16). "Dynamic searchable symmetric encryption". Proceedings of the 2012 ACM conference on Computer and communications security. CCS '12. New York, NY, USA: Association for Computing Machinery: 965–976. doi:10.1145/2382196.2382298. ISBN 978-1-4503-1651-4.
  7. ^ Cash, David; Jarecki, Stanislaw; Jutla, Charanjit; Krawczyk, Hugo; Roşu, Marcel-Cătălin; Steiner, Michael (2013). Canetti, Ran; Garay, Juan A. (eds.). "Highly-Scalable Searchable Symmetric Encryption with Support for Boolean Queries". Advances in Cryptology – CRYPTO 2013. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer: 353–373. doi:10.1007/978-3-642-40041-4_20. ISBN 978-3-642-40041-4.
  8. ^ Pappas, Vasilis; Krell, Fernando; Vo, Binh; Kolesnikov, Vladimir; Malkin, Tal; Choi, Seung Geol; George, Wesley; Keromytis, Angelos; Bellovin, Steve (2014-05). "Blind Seer: A Scalable Private DBMS". 2014 IEEE Symposium on Security and Privacy. IEEE. doi:10.1109/sp.2014.30. {{cite journal}}: Check date values in: |date= (help)