## 3 Cloud Computing Security
### Data Integrity  
Zero-Knowledge Proofs [51] are mechanisms that allow two party's to prove to each other that a given statement is true without revealing further information that will jeopardise the integrity of the other, shown in Definition 4. **Definition 4**: _Let \(PK(x):y=f(x)\) denote the \"zero-knowledge-proof-of-knowledge. Given that \(x=\) secret input, such that \(y=f(x)\)\" In technical terms: there is the existence of a knowledge extractor that will extract \(x\) from the prover with negligible probability of the information on \(x\). Most importantly, the prover with no knowledge of \(x\) convinces the verifier with negligible probability._  
A more practical application is zero-knowledge Succinct Non-interactive ARgument of Knowledge (zkSNARKs): an architecture that enables users to broadcast proven encrypted information without disclosing the contents. zkSNARK allows a prover \(P\) to convince a verifier \(V\) of a statement of the form \"given a function \(F\) and input \(x\); there is a secret \(w\) such that \(F(x;w)=true\)\", preserving the privacy and integrity of the participants involved in a transaction (for instance: a user and a server). The concepts of the zkSNARKs come with a considerable cost, which is the high computing overhead of \(V\), as a result of the monolithic architecture: functionally different aspects (for example, data input and output, data processing, error handling, and the user interface) are all interwoven, rather than containing architecturally separate components, which play a massive role in the computing power of the system [52]). [PERSON] et al. proposed a Distributed Zero Knowledge Proof (DIZK) that distributes the generation of a zero-knowledge proof across machines in a compute cluster. The server \(S\) and prover \(P\) in DIZK were modified from a monolithic architecture to a distributed manner of clusters. One significant advantage of this architecture is implementing cloud platforms to prove the integrity of either the server or a third-party involved in the computation, especially in health care environments where patient sensitive data are stored in the cloud. Another way to ensure security is the introduction of _Auditability_ by a third-party for CSPs. Authors in [53] have argued that resorting to public auditability for data outsourced in the cloud is of crucial importance. Users can resort to an external auditor to check the integrity of outsourced data when needed--an architecture for data integrity using an external auditor. The question is, how can a Third-Party Auditor (TPA) efficiently and effectively audit the data outsourced in the cloud without introducing any additional burden on a cloud user and not demanding a local copy of the data storage? Secondly, how can the introduction of TPAs not bring any unforeseen vulnerabilities that will hamper users' privacy? [PERSON] et al. [53] proposed an approach that utilised the combination of random masking with a public key-based homomorphic authenticator: enabling a client to authenticate a large collection of data elements \(m_{1},\dots,m_{t}\) and outsource them along with the corresponding authenticators to an untrusted server. At any later point, the server can generate a short authenticator \(\rho f,y\) vouching for the correctness of the output \(y\) of a function \(f\) computed on the outsourced data as \(y=f(m_{1},\ldots,m_{t})\)[54]. The use of HAs in [53, 54] is that they can generate unforgeable verification of metadata from any individual data block. This assures effective and secure aggregation of data blocks to be correctly computed by verifying an aggregated authenticator. With the random masking technique, TPAs no longer have access to all necessary data to develop a correct set of linear equations for data modification. Therefore, TPAs cannot derive the content of users' data no matter the number of the same linear combinations of file blocks generated. [PERSON] et al. [55] proposed index-based time stamps for data stored in the Markle hash tree.