Searchain: Blockchain-based private keyword search in decentralized storage
Blockchain-based distributed storage enables users to share data without the help of a centralized service provider. Decentralization eliminates traditional data loss brought by compromising the provider, but incurs the possible privacy leakage in a way that the supplier directly links the retrieved data to its ciphertext. Oblivious keyword search (OKS) has been regarded as a solution to this issue. OKS allows a user to retrieve the data associated with a chosen keyword in an oblivious way. That is, the chosen keyword and the corresponding ciphertext are unknown to the data supplier. But if the retrieval privilege is with an authorized keyword set, OKS is unavailable due to one-keyword restriction and public key encryption with keyword search (PEKS) might lead to high bandwidth consumption.In this paper, we introduce Searchain, a blockchain-based keyword search system. It enables oblivious search over an authorized keyword set in the decentralized storage. Searchain is built on top of a novel primitive called oblivious keyword search with authorization (OKSA), which provides the guarantee of keyword authorization besides oblivious search. We instantiate a provably secure OKSA scheme, featured with one-round interaction and constant size communication cost in the transfer phase. We apply OKSA and ordered multisignatures (OMS) to present a Searchain protocol, which achieves oblivious peer-to-peer retrieval with order-preserving transaction. The analysis and evaluation show that Searchain maintains reasonable cost without loss of retrieval privacy, and hence guarantees its practicality.