Dynamic Symmetric Searchable Encryption (SSE) is a practical cryptographic primitive that enables data owners to search and update encrypted data hosted on untrusted servers. Recently, there is a growing interest to design dynamic SSE schemes with forward security. That is, the server cannot learn the association between the updated data and any query made in the past. However, due to the complexity of update operations, this security property introduces a great challenge of designing verifiable SSE schemes. It is difficult to verify the correctness of updated search results while preserving forward privacy.
In this work, we explore how blockchain techniques can help us achieve a verifiable and dynamic SSE construction with forward security. First, we propose a new dynamic SSE scheme based on blockchain techniques, and apply it as the underlying building blocks to preserve forward-secure updates. Second, we resort to the emerging smart contract technique to customize a verification scheme, making updated results easily verifiable. Based on this new primitive, the robustness of the encrypted search service is ensured and forward security is preserved for update operations. Finally, we implement the prototype in Python and Solidity, and conduct performance evaluations on Ethereum. The extensive security analysis and performance evaluations on the real-world dataset demonstrate that our blockchain-assisted SSE scheme is secure and feasible.