Encryption-based Policy Enforcement for Cloud Storage S. De Capitani di Vimercati , S. Foresti , S. Jajodia , S. Paraboschi , G. Pelosi , P. Samarati DTI - Universit` a degli Studi di Milano, 26013 Crema - Italy CSIS - George Mason University, Fairfax, VA 22030-4444 - USA DIIMM - Universit` a degli Studi di Bergamo, 24044 Dalmine - Italy Abstract —Nowadays, users are more and more ex- ploiting external storage and connectivity for sharing and disseminating user-generated content. To this aim, they can benefit of the services offered by In- ternet companies, which however assume that the service provider is entitled to access the resources. To overcome this limitation, we present an approach that does not require complete trust in the external service w.r.t. both resource content and authorization management, while at the same time allowing users to delegate to the provider the enforcement of the access control policy on their resources. Our solution relies on the translation of the access control policy into an equivalent encryption policy on resources and on a hierarchical key structure that limits both the number of keys to be maintained and the amount of encryption to be enforced. I. Introduction “Cloud computing” is a relatively recent term, charac- terizing the collection of technologies and tools support- ing the use of large scale Internet services for the remote construction of applications. The realization of cloud computing is consistent with clear technological and economic trends. The correct administration and confi- guration of computing systems is expensive and presents large economies of scale, supporting the centralization of resources. This is particularly significant when con- sidering reliability and availability requirements, which are difficult to satisfy by final users and small/medium organizations. This evolution is also consistent with the vision offered in the past by most research in network and distributed systems, which assumed a continuous increase in the quality and quantity of tasks assigned to distributed components. An important application of cloud computing is rep- resented by cloud storage, where an Internet service allows a large open community of users to store and exchange resources (i.e., files containing images, videos, applications, and so on). While these services at the beginning were mostly used to openly publish resources, today users are more and more demanding solutions for regulating the publication and disclosure of their own content. The importance of this requirement is also testified by the recent introduction of resource shar- ing features in cloud applications (e.g., Google Docs - http://docs.google.com). Existing Web services offer to users a form of control on their resources, as well as existing access control solutions for social networks sce- narios Typically these solutions assume that the service provider is completely trusted and always entitled to access the resources. This assumption may not always be applicable, as users may want to restrict access to the server itself, which should be able to guarantee the service without having cleartext access to the resources. We address the need of enforcing selective access to the resources by proposing an approach that supports the user in the specification of access restrictions to resources the user wishes to share, via an external storage service, with a desired group of other users. Our proposal guarantees that only users in the specified group will be able to access the resources, which remain confidential to all the other parties, including the service itself. In synthesis, our approach assumes that resources are encrypted with a symmetric encryption algorithm. The key used to protect a resource can be derived from a secret held by each user, exploiting a Diffie-Hellman key agreement method and public tokens. The service offered in this way can be realized by any community of users desiring to exchange confidential resources. Compared to existing applications, our approach offers stronger guar- antees in terms of protection of resource confidentiality, in a way which is fully compatible with the design of cloud storage applications. Our approach leverages on solutions proposed for the data outsourcing scenarios, extending them to the consideration of the presence of many users exchanging resources, each having both the role of data owner and data consumer. The remainder of the paper is organized as follows. Section II presents some basic concepts. Section III describes the key derivation technique and the repre- sentation of an authorization policy via proper encryp- tion. Section IV describes the algorithms for encrypting resources and accessing them. Section V analyzes the security issues of our model. Section VI presents the per- formance results obtained by a prototype implementing the proposed algorithms. Section VII describes related work. Finally, Section VIII draws our conclusions. © 2010 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.