Scholarly article on topic 'A Trusted Third-party (TTP) based Encryption Scheme for Ensuring Data Confidentiality in Cloud Environment'

A Trusted Third-party (TTP) based Encryption Scheme for Ensuring Data Confidentiality in Cloud Environment Academic research paper on "Computer and information sciences"

CC BY-NC-ND
0
0
Share paper
Academic journal
Procedia Computer Science
OECD Field of science
Keywords
{"Cloud computing" / "data privacy" / "symmetric key encryption" / cryptography / "digital certificates" / "insider threats"}

Abstract of research paper on Computer and information sciences, author of scientific article — Syed Rizvi, Katie Cover, Christopher Gates

Abstract Cloud computing is an emerging paradigm that affects a large part of the IT industry by offering dynamically scalable resources (e.g., hardware and software) that are provisioned as a service over the Internet. Cloud computing provides numerous advantages to organizations in terms of improved scalability, lower cost, and flexibility, to name a few. Despite these technical and economical advantages, many potential cloud consumers are still hesitant to adopt cloud computing due to security and privacy concerns. In particular, one of the main factors for the reluctance of organizations to adopt cloud computing is the lack of strong encryption scheme that can ensure the confidentiality of client's data while store in cloud service provider's (CSPs) data centers. With the existing encryption schemes adopted by the CSPs, there is always a possibility that the client's data can be compromised due to insider threats. In this paper, we propose a new scheme capable to secure client information from both insider and outsider threats. In particular, we develop an encryption scheme by combining both symmetric and asymmetric cryptographic algorithms, which provide strong data confidentiality preserving secret key encryption functionalities, including periodically renewable public key certificates through trusted third parties. Due to these functionalities, the data owner can utilize the best secret key encryption schemes while the trusted third party will hold and communicate the secret keys to CSPs on behalf of cloud service users (CSUs).

Academic research paper on topic "A Trusted Third-party (TTP) based Encryption Scheme for Ensuring Data Confidentiality in Cloud Environment"

CrossMark

Available online at www.sciencedirect.com

ScienceDirect

Procedia Computer Science 36 (2014) 381 - 386

Complex Adaptive Systems, Publication 4 Cihan H. Dagli, Editor in Chief Conference Organized by Missouri University of Science and Technology

2014-Philadelphia, PA

A Trusted Third-Party (TTP) based Encryption Scheme for Ensuring Data Confidentiality in Cloud Environment

Syed Rizvi*, Katie Cover, Christopher Gates

Department oflnformation Sciences and Technology, Penn State University, AltoonaPA, 16601, USA

Abstract

Cloud computing is an emerging paradigm that affects a large part of the IT industry by offering dynamically scalable resources (e.g., hardware and software) that are provisioned as a service over the Internet. Cloud computing provides numerous advantages to organizations in terms of improved scalability, lower cost, and flexibility, to name a few. Despite these technical and economical advantages, many potential cloud consumers are still hesitant to adopt cloud computing due to security and privacy concerns. In particular, one of the main factors for the reluctance of organizations to adopt cloud computing is the lack of strong encryption scheme that can ensure the confidentiality of client's data while store in cloud service provider's (CSPs) data centers. With the existing encryption schemes adopted by the CSPs, there is always a possibility that the client's data can be compromised due to insider threats. In this paper, we propose a new scheme capable to secure client information from both insider and outsider threats. In particular, we develop an encryption scheme by combining both symmetric and asymmetric cryptographic algorithms, which provide strong data confidentiality preserving secret key encryption functionalities, including periodically renewable public key certificates through trusted third parties. Due to these functionalities, the data owner can utilize the best secret key encryption schemes while the trusted third party will hold and communicate the secret keys to CSPs on behalf of cloud service users (CSUs).

©2014PublishedbyElsevierB.V.Thisisanopen access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/3.0/).

Peer-review under responsibility of scientific committee of Missouri University of Science and Technology

Keywords: Cloud computing; data privacy; symmetric key encryption; cryptography; digital certificates; insider threats

* SyedRizvi. Tel.: +1-814-949-5292 E-mail address: srizvi@psu.edu

1877-0509 © 2014 Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.Org/licenses/by-nc-nd/3.0/).

Peer-review under responsibility of scientific committee of Missouri University of Science and Technology doi: 10.1016/j.procs.2014.09.009

1. Introduction

Cloud computing is a service that can store data remotely on another server using an internet connection. Cloud computing is a computer architecture that utilizes processing power, applications, data storage, and other services over the Internet. Users do not have to install software, run programs, or store any data on their local hosts since all of the processing and data storage is done on the remote servers [1]. Understanding where the information is placed on the cloud and who has permission to view it is very important. Before putting data onto a cloud, issues of security and privacy must be addressed such as authentication, authorization, key management for encrypted data, data loss, and regulatory reporting [1].

Cloud storage as a service is considered as one of the most utilize cloud services offer by the leading CSPs (e.g., Amazon, Microsoft, Google), which allows CSUs to move their data over the Internet. Once client's data move to the cloud, the data owner has limited its control over major aspects of security, conferring a substantial level of trust onto the CSP. Due to data privacy, it is necessary for CSUs to ensure that their sensitive information is stored in the proper encrypted form, making it computationally infeasible for an unauthorized user to compromise the data confidentiality. However, to perform proper encryption of user data, there are questions that need definite answers. For example, (a) who (CSU versus CSP) should perform encryption; (b) who should hold the encryption keys; and (c) who should allow to access the data other than the data owner.

One convenient solution for CSU is to put everything in the cloud unencrypted and leave all processing including cryptographic algorithms on the CSP. However, this raises serious concerns on the privacy of customer's data since the data resides in the cloud can now be accessed by the cloud provider, its subcontractors, and employees. On the other hand, to minimize the insider threats and to achieve maximum privacy, a CSU should send the encrypted form of data, making CSP only responsible for holding the data on behalf of the owner. However, performing encryption and decryption by a CSU on its own data seems to nullify the benefits of cloud computing. Although, this approach gives maximum control to CSUs to define and adjust the information security levels on the data according to their security needs and preferences, it puts a lot of computational burden on the customer's devices.

In practice, customers expect CSPs to be able to perform non-trivial computations (e.g., searches, transformations, selections, and access control decisions) on the stored data. If the data is stored in the encrypted form in the cloud with the owner holding the keys, such computations cannot be done by the CSP. In other words, unless customer provides its secret key (i.e., sacrificing its privacy) to CSP, what can CSU expect the cloud provider to do with the encrypted data except sending back to the customer, so that decryption and processing can be done? This is in contradiction to what CSUs normally expect from the cloud providers.

Based on the above discussion, one can argue that implementing encryption at customer side and holding the secret key for each outsourced data minimizes the system efficiency in terms of both time and computational complexity as compare to performing the encryption by the service provider. However, allowing the CSP to perform encryption and holds the secret key maximizes the possibility of insider threats. Given the fact that neither service providers nor the clients are fully capable of dealing directly with the issue of data confidentiality and the secret key management in terms of time, feasibility, and resources, the role of trusteed third-party (TTP) can be well justified for these critical tasks. Therefore, in this paper we propose a TTP based encryption scheme where the tasks are divided among all the key stakeholders such as

• Cloud users perform the data encryption using the state of the art symmetric key encryption algorithms.

• TTP holds the secret keys and performs operations (such as data correctness verification and identity check) on behalf of cloud users

• Service providers communicate with the TTP to request for the required secret key and perform data computations.

In this paper, we present a new encryption scheme by combining symmetric key encryption algorithm with the public key infrastructure (PKI). More specifically, the cloud user will use the secret key encryption algorithm to perform data encryption before sending it to the cloud. The uniqueness of our proposed scheme is the introduction of a TTP, which will be mainly responsible to hold and securely communicate the secret key with the CSPs.

Once the CSU is done with the data encryption, it will send the cipher-text to the cloud server and provide its

secret key to a TTP using the PKI. The TTP will then acquire the public key certificate (PKC) from the certificate authority (CA) on behalf of the CSU. It should be noted that a TTP itself could be a CA. The use of public key certificate will integrate the identity of both the client and the service provider as well as establish and maintain the trust between the three entities. When CSP needs to perform data computations, a request will be sent to the TTP for the secret key. This request will be facilitated by verifying the service provider's identity and sending the encrypted copy of the secret key using the PKI. To minimize the latency involve in requesting the secret key, a secure partial copy of the TTP's database will be sent to the service provider. Which records from the database should be moved to the provider's facility depends on the clients whose data is stored in the cloud servers. This limited size database will be controlled by the TTP and served as a temporary cache at the service provider side which likely reduce the time required to acquire the secret key at the cost of minimal storage.

2. Proposed TTP Based Scheme

The existing encryption schemes adopted by some of the leading CSPs have shortcomings in terms of insider threats, virtual data computations, and efficiency. This clearly demands a new encryption scheme that not only protects user data from insider threats but also maximizes the benefits of cloud computing by providing a strong encryption key management scheme.

In this section, we present the details of the proposed scheme. Specifically, the proposed scheme will be discussed with respect to three entities: (1) the encryption module where the CSU uses the symmetric key algorithm to perform the data encryption and the subsequent transmission of the secret key, (2) the TTP module where the third-party maintains a database of secret keys and the subsequent exchange of secret keys on behalf of cloud users, and (3) the service provider where all the customer's data is stored in data center and the request of secret keys.

2.1. System model and assumptions

A high-level architecture of the proposed scheme is shown in Fig. 1. As can be seen in Fig. 1, the proposed scheme consists of three entities: cloud users, service providers, and the TTP. The high level architecture of the proposed scheme closely follows the architecture proposed by the authors in [3]. However, the internal operation of each stakeholder, communication between the entities, and the overall role differs in ensuring the data confidentiality, while at the same time maximizing the system efficiency (i.e., the response time and the communication traffic).

Fig. 1. Stakeholders in the proposed encryption scheme

In our proposed model, we assume that each cloud user is an active member of the cloud community utilizing all different services offer by the cloud provider including the data storage. The cloud users expect service providers to provide required data storage as well as perform necessary data computation services such as data modifications, additions, deletions, insertions, and searches. To fulfil all the customer's requirements, CSPs are assumed to be equipped with all such resources. Similarly, we assume that all the communication between the three entities is done

based on the point-to-point communication where each channel is fully secured using off the shelf protocols (e.g., secure socket layer (SSL) or transport later security (TLS) protocol). We assume that the TTP has the necessary expertise and the capabilities and is trusted to assess and expose risk of cloud storage services on behalf of the cloud users [2]. However, the focus of our proposed scheme is to ensure the privacy of the client's data and solve the issue of secret key management using the TTP.

2.2. Encryption module

From cloud computing perspective, data outsourcing significantly reduces the burden on the client in terms of storage and computational resources. However, once the data moves to the cloud, the client has no longer possessed the data locally, which raises serious concerns of data privacy. Although the client expects from the service provider to perform the required computation on the stored data and ensure the data integrity and correctness, the full access privileges should not be granted to the service provider to minimize any possibility of insider threats. Therefore, in our proposed scheme, the data encryption should be done by the client before outsourcing the data files to the cloud.

In particular, the proposed scheme is able to (1) ensure the security of client's data such that only the authorized entities can access the data by acquiring the secret key, (2) enable the TTP to verify the correctness and the integrity of client's data by holding the secret key, and (3) allow CSPs to perform necessary computation on the data by requesting the key from the TTP. The proposed cloud architecture and the communication between the three entities are shown in Fig. 2.

Fig. 2. Exchange ofmessages between the stakeholders to ensure data confidentiality

Client-Side Encryption

To perform client side encryption, we adopt advanced encryption standard (AES)-x scheme using the Rijndael cipher as proposed in [4] where x is the size of the secret key. Rijndael algorithm was unanimously chosen as the Advanced Encryption Standard (AES) by the panel of researchers at National Institute of Standards and Technology (NIST) in October 2000 [5]. Since then, Rijndael was destined to be used massively in various software as well as hardware entities for encrypting data [6].

In the context of cloud computing, the adopted scheme [4] works as follows: Assume a client wants to upload a document (e.g., a file F consisting of n number of bytes) to the cloud server after performing the encryption using the Rijndael cipher. Since the adopted encryption algorithm is a block-cipher, the plain text (i.e., the file F) will be

divided into fixed-size multiple blocks BIt B2,.......Bn where the size of each block can be up to 16 bytes. Each block

of date will then process through ten rounds of encryption iterations before the final cipher text (i.e., C) is computed.

During each round of encryption, four different operations are performed on the input block Bj using a unique key ki. Initially, a byte-to-byte substitution is performed on the input block Bj using a table called 5-box. Once initial

substitution (S¡) is done, a row-by-row permutation function is performed followed by another round of data substitution (SJ). Finally, the output of the first round of encryption is produced after performing a bitwise exclusive or (XOR) operation of the current block with a portion of the expended key. The output can be expressed as:

R. = wt © ^ fi, Sj , Pt iyfi, St yj^J where R represents the output of the ¿th round whereas Wt is the encryption

key for the data block 5,-.

Since the input plain text Bj has to go through from ten complex iterations of encryption functions, the corresponding cipher text is highly randomized, making it computationally infeasible for an attacker to access the plaintext without the knowledge of the encryption key. It should be noted that the service provider may perform different computations on the stored encrypted date such as data searches and updates. These searches or updates will be performed at the block level rather than on the entire encrypted data (i.e., file F).

Secret Key Exchange

Once the file F is encrypted, the cipher text C is transmitted to the cloud server over a secure communication channel. The secret key can then be encrypted using the public key infrastructure and transmitted to the TTP. In particular, we propose to use RSA signature based authenticators [7] to (1) exchange the secret keys securely between the three entities as described in our proposed cloud architecture and (2) equip the TTP to verify the correctness of the client's data.

In our cloud computing scenario, each entity generates a pair ofkey^Uk, V^ where Uk shows the client's public key such that Uh ^ where p is a prime and g is a random generator such that g mod O {n )= 1 where n is used as the modulus for both Uk and Vk. The Uk will be available in a public key ring so that it can be accessed by the other entities whereas the Vk will be kept secret or stored locally on client's machine.

It has been proven that for a large prime p, it is computationally infeasible for an attacker to derive the mathematically related private key Vk- Thus this well justified our choice of RSA algorithm for securely exchanging the secret key between the entities. To transmit the secret key in the encrypted form from client to a TTP, the client will access the public key ring to learn the Uk of the TTP and subsequently compute the encrypted copy of the secret key C = Ej (Uk^TTP, K^j where£/ is the encryption function. To verify its identity to TTP, the client further produces its signature \ Ej (Uk ^TTP, KsjJ such that it can be authenticated by the TTP using client's

2.3. Trusted third-party (TTP) module

The second main component of our proposed scheme is the TTP. In our proposed architecture (see Fig. 2), the TTP is able to (1) hold the secret key of the cloud users who have outsourced their data to the cloud servers, (2) acquire the PKC from the CA on behalf of the CSU, (3) send the secret key on the request of service provider, and (4) verify the correctness of the client's data. We will discuss each of these four operations of the TTP in this section.

Holding the Secret Key

To hold the secret keys of each participating cloud user, the TTP will maintain the database. It should be noted that all important information from each client is maintained in the database including the encrypted form of the secret key, client digital certificate (DC) and the CSPs signing keys or hash value (spk).

Public Key Certificates (PKC)

Once the TTP receives the secret key from the client in the encrypted form, it will then acquire the PKC from the CA on behalf of the CSU. To acquire the certificate from the CA, the client must send its signature along with the

encrypted copy of the secret key to TTP such that E^ ^csu {Eu^ _^TTp (Ks ^ where vt and ut are the private and the public keys. The verification of client identity should be done through a successful decryption process such that

Duk^CSU [EVlCSU (Euk^TTP {Ks ))) = ^^TTP {Ks ) • lt should be n0ted that a TTP itSelf COuld SerVe aS a CA-

The use of PKC will integrate the identity of both the client and the service provider as well as establish and maintain the trust between the three entities.

Secret Key Exchange

Upon request from CSP for the secret key of a specific client Ki, the TTP will verify the service provider identity

by performing the decryption such that ^csp (EVi ^csp (MDcomp ^ — H) where H is a cryptographic

hash function implementing on a small block of data (m,) to produce a 160 bits hash value. Once the identity of a CSP is verified, the corresponding secret key of client Ki will be retrieved from the database and sent to the

requesting CSP using RSA encryption such that^E^^csp ^ . It should be noted that the same hash value

can be used later by the TTP to verify the data correctness.

Verification of Client's Data

One of the main advantages of our proposed approach is the ability of TTP to perform the verification of data correctness on behalf of a cloud user. For this particular task, we adopt the data integrity scheme proposed in [2] which uses multiple challenge-response messages between the TTP and the cloud server. To verify the integrity of the outsourced data, the TTP verifies the spk of the CSP and sends the challenge to the server and waits for the response. The challenge specifies the positions of the blocks to be checked in this challenge phase. If response from the server does not match, the challenge is failed indicating the modification in the data blocks. Since this scheme works through a third-party, the verification and the dynamic data computation operations are well justified within our proposed TTP scheme. The details about how to generate the challenges can be found in [2].

Conclusion

The primary objective of this research work was to ensure the data confidentiality in cloud environment as well as reduce the computational burden on the clients. To achieve these goals, this paper presented a new trusted third-party (TTP) based scheme that allows (1) cloud customers to encrypt their data using the state of the art symmetric key algorithms (e.g., AES), (2) TTP to hold the secret key and communicate with the service providers on behalf of cloud users, (3) secure exchange of secret keys over the communication channels using the public key algorithms (e.g., RSA), and (4) TTP to perform relatively heavy computations such as user authentications and data integrity. Although the use of public key infrastructure demands longer key size (e.g., 1024 bits), the frequency by which secret key is used and encrypted either by client or a TTP bounded the communication overhead. In practice, clients (e.g., mobile devices) are limited in their resources and may not be able to afford the overhead of performing continuous data verifications or responding to secret key requests, making TTP a more rational choice for these tasks. In future, our research will be focused on conducting empirical studies to show the effectiveness of the proposed TTP scheme in terms of communication overhead and secret key request/response time.

References

1. Boyle Randall J., and Raymond R. Panko. Corporate Computer Security. 3rd ed. Upper Saddle River: Pearson, 2013. Print.

2. Qian Wang; Cong Wang; Kui Ren; Wenjing Lou; Jin Li, "Enabling Public Auditability and Data Dynamics for Storage Security in Cloud Computing," IEEE Transactions on Parallel andDistributed Systems, vol.22, no.5, pp.847,859, May 2011.

3. Ateniese, R. Burns, R. Curtmola, J. Herring, L. Kissner, Z. Peterson, and D. Song, "Provable data possession at untrusted stores," in Proc. of CCS'07. New York, NY, USA: ACM, 2007, pp. 598-609.

4. Niels Ferguson, Richard Schroeppel, Doug Whiting (2001). "A simple algebraic representation of Rijndael," Proceedings of Selected Areas in Cryptography, 2001, Lecture Notes in Computer Science: pp. 103-111, Springer-Verlag.

5. J. Daemen and V. Rijmen, "AES Proposal: Rijndael, AES Algorithm" Submission, September 3, 1999.

6. Jalpa Bani and Syed S. Rizvi, "A New Dynamic Cache Flushing (DCF) Algorithm for Preventing Cache Timing Attack," 911 IEEE Wireless Telecommunication Symposium (IEEE WTS 2008), Pomona, California, pp. 399-404, April 24-26 2008

7. Giuseppe Ateniese, Randal Burns, Reza Curtmola, Joseph Herring, Lea Kissner, Zachary Peterson, and Dawn Song. 2007. Provable data possession at untrusted stores. In Proceedings of the 14th ACM conference on Computer and communications security (CCS '07). ACM, New York, NY, USA, 598-609.