# Secure and Efficient Deduplication for Cloud Storage with Dynamic Ownership Management
## 2 Related Work
### Client-Side Deduplication  
Client-side deduplication is a method in which the client is the subject of deduplication. The client calculates the tag value of the data and transmits it to the server (cloud storage). The server checks whether there is a client's tag matching in the tag list of the stored data. The server sends the search results to the client. The main feature of the client-side deduplication approach is that clients do not need to encrypt data in the process of verifying that they exist on the server [16]. So, the amount of network transmission is low. However, it is necessary to determine whether the entire data are duplicated by the relatively small tag. Therefore, stored data are vulnerable to poison attack. In 2011, [PERSON] et al. proposed a method for proving data ownership using hash tree structures, known as proofs of ownership (PoWs) [17]. In this approach, both the client and cloud construct Merkle trees for their respective data blocks. To build a Merkle tree, data are divided into multiple blocks and arranged as leaf nodes. The leaf nodes are used to create parent nodes until a single root node is generated. Clients can then use this Merkle tree to prove data ownership to the cloud by providing the correct sibling path when requested. But, this approach is sensitive to data size. As data grow, the size of the Merkle tree also increases. And, the cloud must maintain plaintext data to construct the same Merkle tree as the client, which compromises data confidentiality. In 2012, [PERSON] et al. introduced a secure proof of ownership (s-PoW) that is less dependent on data size [18]. In this method, clients respond to the cloud's request for a specified number of random bit positions. Nevertheless, the cloud still needs to store plaintext data for the client's ownership proof challenge. Additionally, the s-PoW exposes plaintext bits during the ownership proof challenge. In 2014, [PERSON] et al. proposed a PoW using bloom filters(bf-PoW) [19]. A bloom filter is a probabilistic data structure used to check membership of elements. In this approach, cloud storage uses bloom filters to verify client ownership. However, the bf-PoW is dependent on the size of the data and exposes plaintext bits when issuing ownership proof challenges. Client-side deduplication aims to reduce network traffic by not sending the entire data. However, during responding to the cloud storage's challenge to prove ownership, a plaintext issue is exposed. Some proposed solutions aimed to prove ownership using encrypted data. In 2012, [PERSON] et al. proposed a method for proving ownership when ciphertext is stored in cloud storage [2]. The initial uploader stores the plaintext hash value and ciphertext in the cloud storage. Subsequent uploaders verify ownership using the plaintext hash value. However, if the initial client uploads poisoned ciphertext to the cloud storage, subsequent uploaders might lose the original data. In 2013, [PERSON] et al. introduced a secure ownership proof method against exhaustive brute force attack, called hash function client-side deduplication (UH-CSD) [19]. The initial client encrypts plaintext (\(m\)) with a random key (\(K\)) to produce \(C_{m}\), and also encrypts the \(K\) with \(m\) to create \(C_{K}\). And, the ciphertexts are stored in the cloud storage. Subsequent clients verify ownership, receive \(C_{K}\) from the cloud storage, and calculate a new \(C_{m}\), which is then stored in the cloud storage. However, it is vulnerable to poison attack due to the difficulty in proving the relationship between plaintext and ciphertext. In 2015, [PERSON] et al. proposed a CE-based PoW method (ce-PoW) [19]. Clients split plaintext into chunks and compute CE results. Clients challenge the storage with \(k\) random chunk challenges to prove ownership. However, the client's calculation and management of CE results for each chunk make the process inefficient. In 2019, [PERSON] et al. introduced a client-side encrypted deduplication (CSED) protocol based on MLE [20].