• Aucun résultat trouvé

2 Problem Statement

Dans le document The DART-Europe E-theses Portal (Page 39-42)

This thesis attempts to address a list of concerns that we formalize below.

2.1 Questions raised by this thesis

Associated with the security challenges identified in Section1.2.3, a user who wants to adopt cloud technologies could raise the following questions:

• Is the service correctly provided by the cloud?

• Is it doing what it is supposed to do?

• How can I verify the execution of a service without wasting the cloud’s benefits?

• Does the service comply with appropriate policies related to accountability and security?

Expressed in a more formal way, we characterize three problems that the present thesis considers as key issues in cloud computing security.

Problem 1: Verifiable Storage. This problem concerns the correct storage of cloud users’

data. As users do not possess their data anymore, they relinquish the control over their storage to an untrusted cloud. How can we give back cloud users some control over the data they outsource to the cloud? In particular, the users must be convinced that the cloud complies with the promise to provide a storage service that does not compromise the integrity and the availability of users’ outsourced data. In this perspective, the users must be empowered with the capability to verify the storage service offered by the cloud. Ideally, the cloud should produce a proof of storage stating that it actually stores an intact version of users’ data. Besides, the verification of the proof by the users must not require computationally demanding operations since the users might not have sufficient resources to perform heavy verifications. Therefore, another question must be addressed: Can we design a system where the cloud generates proofs of storage that enable to verify in an efficient way that users’ data are correctly stored by the cloud?

Problem 2: Verifiable Computation. Along with data outsourcing, cloud computing al-lows to delegate the computation of expensive operations to powerful servers that per-form the computation on behalf of cloud users. In this thesis, we focus on primitives that are very common in today’s world: polynomial evaluation, matrix multiplication and conjunctive keyword search. Similarly to the case of data storage, in the compu-tation outsourcing scenario, users do not have control over the delegated compucompu-tation and lend this control to untrusted servers. How can we give back cloud users some control over the computation they outsource to the cloud? More specifically, we regard computation integrity as an important issue. When the cloud returns the results of one of the above operations, the users must be convinced that these results are the ones they expect. Namely, they must be convinced that the returned results are equal to the one they would have obtained if they had performed the computation themselves.

In other terms, the users must be able to verify that the cloud returned the correct

outcome of the delegated computation. In this perspective, the cloud should produce a proof of computation ensuring the users that the returned results correspond to a correct evaluation of the outsourced operation. Furthermore, the verification of this proof by the users must be substantially less computationally demanding than the op-eration itself; otherwise outsourcing the computation would not be profitable for the users. Hence, this thesis considers the following problem: Can we design a system where the cloud generates proofs of computation that enable to verify in an efficient way that users’ computation is correctly performed by the cloud?

Problem 3: Accountability. We identify in Section1.2.3that accountability is a peculiar challenge in cloud computing. Cloud providers must be compliant to regulation and contracts and be held accountable for the way they manage and operate cloud users’

assets. Stated differently, a collection of accountability obligations binds cloud users and providers together so that the cloud operates in a transparent way. Machine-readable policies are a way to express these accountability obligations such that their enforcement can be handled easily in an automated way. This thesis intends to answer the following question: How and to what extent can we convey accountability obligations via expressive and declarative policies in such a way that policies are easy to use, manage, enforce and validate and such that cloud provider can be held accountable for these obligations, thus increasing trust between users and providers?

2.2 Contributions

This thesis answers the above problems and we propose the following contributions.

Proofs of Storage. Under an untrusted cloud, we design a protocol that generates some cryptographic proofs showing that the data outsourced at this cloud is correctly stored.

The possible (and na¨ıve) protocol whereby the data owner stores at the cloud the data along with a digital signature and, in order to verify the correct storage, downloads the data and checks the signature, would not scale in the context of cloud computing and big data, since it would incur large resource consumption. Hence the protocol for proofs of storage should be more efficient than this simple solution. Namely, the generation and the verification of these proofs of storage do not induce expensive costs in terms of computation, storage and bandwidth for the data owner (and/or any party that verifies the storage correctness). In addition, the protocol must be secure under a malicious cloud that would forge false proofs while not storing the data as expected. We propose our protocol for proofs of storage,

S

tealthGuard, based on the idea of inserting in the outsourced data special blocks, called watchdogs.

Proofs of Computation. Under an untrusted cloud, we can delegate and verify the results of computationally demanding operations. The remote computer is required to send the result of such a computation along with a cryptographic proof that the operation was carried out as expected. We devise three protocols in which verifying the proof of correct computation is efficient, requiring less computational resources than computing the outsourced operation locally from scratch. These three protocols address the prob-lem of verifiable computation for three types of operations: large degree polynomial evaluation, large matrix multiplication and conjunctive keyword search. These three solutions are based on simple mathematical techniques and well-established crypto-graphic primitives, rendering our protocol efficient compared to some prior work. One of the peculiar characteristics of our solutions is the fact that they allow two properties:

public delegatability (anyone, not only the user who outsourced the computation, can request the server to perform the computation) and public verifiability (anyone, not only the user who requested the computation, can verify the results returned by the

server). Besides, these protocols are secure against a malicious server that would return bogus results without performing the computation.

Accountability Policy Language. We design A-PPL, a policy language that enables the expression of accountability obligations which rule the conditions under which an ac-countable cloud must operate outsourced data. This policy language is machine read-able to facilitate the automation of the enforcement of these obligations. We also devise the A-PPL engine, the system that enables the enforcement of the accountability poli-cies written in our new language.

3 Organization

The present dissertation is organized into three parts:

Proofs of Retrievability: Part I investigates on storage verifiability. Chapter 1 provides the reader with the definition of a cryptographic proof of storage protocol and a new security model against malicious servers. We also review prior work in terms of proofs of storage solutions. Chapter2describes our protocol

S

tealthGuard. We also prove the security properties of our proposal and implement a prototype showing the efficiency of

S

tealthGuard.

Proofs of Correct Computation: PartII addresses Problem 2 on proofs of correct com-putation. In particular, Chapter3introduces the concept of verifiable computation and gives an exhaustive analysis of the literature in this domain. We then propose three efficient protocols for three different operations: polynomial evaluation (Chapter 4), matrix multiplication (Chapter 5) and conjunctive keyword search (Chapter 6). We study the security properties of our solutions, and demonstrate them. We finally build prototypes and analyze their efficiency.

An Accountability Policy Language: Part III introduces the concept of accountability in the context of cloud computing. We define the obligations related to an accountable cloud and derive from them some requirements that a machine-readable policy language for accountability should satisfy. We review existing policy languages and determine to which extent they meet the identified requirements. We then present A-PPL, a new policy language for accountability, together with the A-PPL engine. We finally illustrate with a scenario the expression and the enforcement of accountability policies.

Dans le document The DART-Europe E-theses Portal (Page 39-42)