availability and reducing users' burden of managing data, inevitably brings in new concerns such as data privacy, since the server is honest-but-curious • To mediate the conflicts of data usability and data privacy in such a scenario, research of searchable encryption is of increasing interest
selfish in order to save its computation or download bandwidth • Thus, we consider a semi-honest-but-curious server, who may – execute only a fraction of search operations honestly – return a fraction of search outcome honestly • To fight, we propose verifiable symmetric searchable encryption (VSSE) – data/query privacy – verifiable searchability – efficiency, e.g., is it feasible even if the end user is a power- constrained device?
Crypto opt. Crypto opt. Pre-process Querygen Search Query Verify Server needs to prove to user that the claimed search outcome is correct and complete Proof
ID2 : “BAD”, “BAGS”,… document ID3 : “BIG”,… … Go through all documents and collect all word to our key word set {“BIG”, “BIN”, “BING”, “BAD”, “BAGS”,…} Build a conventional trie Then…
of the received concatenation of IDs, e.g., ID1 || ID3 2. decrypt 131 to get (r1 ,r2 ) of node G, check if (r1 == 219) and verify if “#” is its child 3. decrypt 13 to get (r1 ,r2 ) of node I, check if (r1 == 16) and verify if “G” is its child 4. decrypt 47.... 5. return true if all tests can be passed; otherwise, return false
mobile phone, using Android SDK v2.3.4 together with javax.crypto.* and javax.security.* Keygen, pre-process and search are implemented on a laptop (P4 1.8, 2G memory) using Python v2.6 in conjunction with Psyco v1.6 and PyCrypto v2.2
used: – corpus-I: Pride and Prejudice, by Jane Austen, which has about 70,000 English words related to literature and life – corpus-II: DBLP Computer Science Bibliography, including about 1.4 million publication records. We use title of each record to form corpus-II