  Searchable encryption (SE) is one of the key enablers for building encrypted
databases. It allows a cloud server to search over encrypted data without
decryption. Dynamic SE additionally includes data addition and deletion
operations to enrich the functions of encrypted databases. Recent attacks
exploiting the leakage in dynamic operations drive rapid development of new SE
schemes revealing less information while performing updates; they are also
known as forward and backward private SE. Newly added data is no longer
linkable to queries issued before, and deleted data is no longer searchable in
queries issued later. However, those advanced SE schemes reduce the efficiency
of SE, especially in the communication cost between the client and server. In
this paper, we resort to the hardware-assisted solution, aka Intel SGX, to ease
the above bottleneck. Our key idea is to leverage SGX to take over the most
tasks of the client, i.e., tracking keyword states along with data addition and
caching deleted data. However, handling large datasets is non-trivial due to
the I/O and memory constraints of the SGX enclave. We further develop batch
data processing and state compression technique to reduce the communication
overhead between the SGX and untrusted server, and minimise the memory
footprint in the enclave. We conduct a comprehensive set of evaluations on both
synthetic and real-world datasets, which confirm that our designs outperform
the prior art.
