Searchable encryption and data management
SEARCHABLE ENCRYPTION (SE) is a technique that allows search operations in the encrypted domain without disclosing any information about what is being searched. Searchable encryption acts as a data management technique that allows the data owners to store and manage their data at a third-party, untrusted cloud server and allows the data user to delegate search functionality to the cloud server to retrieve that data. Hence, searchable encryption enables the secure storage and retrieval of data at the optimized cost. Searchable encryption has application in the scenario where we want both confidentiality and accessibility. In addition to its direct use in searching encrypted data, searchable encryption has also changed the way any encryption technique can work. Generally, an encryption technique either decrypts the complete data or none of it, which makes it unsuitable for situations where only a part of the data needs to be decrypted. To design such a flexible system, the searchable encryption technique can be used where one can search a particular part of the encrypted data and thereby can achieve partial decryption.
Need For Searchable Encryption
In recent times, we have seen a significant shift towards cloud storage. Cloud storage is emerging as a promising alternative to local storage. More and more firms are opting for the cloud paradigm, as all of the overhead of maintenance of storage is delegated to the cloud server [1, 2]. Further, in contrast to local storage, the data stored in the cloud can be accessed anywhere and at any time as long as you have Internet access [3, 4]. Apart from such advantages of cloud storage, there are some concerns which are inherently associated with cloud storage, and privacy issues are the most prominent among them [5, 6]. The data is stored over a third-party server which cannot be trusted with security of sensitive data [7, 8]. Theoretically, data privacy concern could be easily resolved by storing the data in an encrypted form [4, 5]. However, although encryption solves the problem of privacy [9, 10, 11], it also engenders some other serious issues including infeasibility of the fundamental search operation, reduction in flexibility of sharing the data with other users etc. To address these issues, the concept of searchable encryption was introduced. Searchable encryption allows a third-party cloud server to perform search on encrypted data without disclosing any information about what is being searched. Secure searchable encryption is the answer to this need [7, 12].
The searchable encryption technique allows a server to search in encrypted data on behalf of a client without disclosing information about the plaintext data. There are few schemes that implement searchable encryption by making the ciphertext itself searchable ; most of the schemes generate an encrypted index which is searchable. The searchable encrypted index can be generated by exacting the metadata items W = (wu ..., w,„) from the main data file and encrypting them using a technique which enables search operation over this index. This operation is performed by executing the encryption algorithm defined in the searchable encryption scheme (Ese). These metadata items are often called the keywords in searchable encryption terminology. The main data file is also encrypted with any standard symmetric-key encryption, Esymm, as shown in Figure 3.1. The symmetric key used for this purpose may be encrypted with the same encryption technique which we used for generating the index.
The encrypted index and the encrypted data file are then stored on a cloud server that is generally assumed to be honest but curious, i.e. it can be trusted to correctly perform storage and query protocols, however, it tries to learn as much information as possible. This whole task is done by an entity named the data owner. Now, another entity called the data user wants to retrieve the encrypted information stored at the cloud server. Obviously, he/she needs to first search among the data files to retrieve what he/she needs. The data
Figure 3.1 General model of a searchable encryption scheme.
Figure 3.2 Approaches to generate index.
user delegates this search operation to the cloud server by generating a search trapdoor or sometimes called a search token for the keyword he/she is looking for, by using the trapdoor algorithm defined in the searchable encryption scheme (Trapdoors^) and sends it to the cloud server. Using the search trapdoor, the cloud server is now able to perform search in the encrypted domain and returns the reference to the file which contains the queried keyword without actually decrypting anything.
To generate the index, generally there are two approaches, the forward approach and the inverted approach as shown in Figure 3.2. In the forward approach, an index is built over the data files (Db D2,..., D„), i.e. to each data file some keywords are associated. In the inverted approach, an index is built over the keywords [wu wm), i.e. it indexes each keyword belongs to
that data file.
In the forward-index approach, the search time varies linearly with the number of data file. In the inverted-index approach, the search time varies with the of number of documents containing a particular keyword and it can be reduced to sublinear if a hash tree approach is used to build the index. One of the approaches is followed while developing a searchable encryption technique but generally it is not shown explicitly in the construction. The only focus of a searchable encryption scheme is to encrypt the associated metadata (keywords) with the data file in an efficient way.