You are on page 1of 2

2013 13th IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing

Secure Storage Service for IaaS Cloud Users


Jinho Seol, Seongwook Jin, and Seungryoul Maeng
Computer Science Department, KAIST, Daejeon, Korea
{jhseol,swjin}@calab.kaist.ac.kr, maeng@cs.kaist.ac.kr

Abstract—Cloud computing enables to reduce operating costs and


Mgmt. VM Guest VM
maximize resource utilization. However, current cloud infrastructure
is insufficient to guarantee the confidentiality of classified information
for cloud users because one of administrators with privilege or remote Storage
hackers compromising management tools can leak the information. Terminal Driver

This paper addresses storage issues in cloud computing and proposes a in Cloud
secure storage service where stored user data are protected even against
Hypervisor
a malicious administrator and compromised software. We describe the
architecture of proposed design and discuss the security issues of the
design.
Local
Remote
Storage
Storage Cloud Node
I. I NTRODUCTION
Cloud computing refers the computing paradigm where software Privileged Access Illigal Access with Privilege
and hardware are provided as a service. Cloud computing is in
the spotlight because it is possible to reduce operating costs and Fig. 1. Threat Model
maximize resource utilization as pay-as-you-go model is a basic
philosophy of cloud computing. Cloud computing provides attractive
environment in that physical servers don’t have to be managed III. S ECURE S TORAGE R EQUIREMENTS
directly by cloud users and elasticity against scalability problem is A. Assumption & Threat Models
also provided. Cloud systems consist of lots of software components. Among
Nevertheless, companies regarding the security as the first principle them, hypervisor and a management OS coexist with guest VMs
of governance are reluctant to use cloud computing service. The in a single cloud node. When the hypervisor is compromised, the
main reason is anxiety about the security of their VMs. As plenty confidentiality of guest VMs cannot be guaranteed. However, the
of stakeholders including a cloud provider and cloud users co-exist code size of the hypervisor is smaller than that of traditional OS, and
in cloud computing environment, the VMs allocated to a cloud user thus the hypervisor has relatively less security holes[2].
are influenced by hypervisor, a management OS, which means the A management OS is an important attack point of remote hackers
OS of a management VM, or other VMs even in a single cloud or a malicious administrator. The management OS can access its own
node. Furthermore, cloud administrators have privileges to control memory even though the memory of guest VM prevents from being
the VMs. It means a malicious administrator can easily leak the user accessed[2], [3]. It means information leakage by means of observing
data using management tools[4]. As a result, the virtual machines are I/O of guest VMs via split drivers in management OS is still possible.
more vulnerable to information leakage than the physical machines. Therefore, the main threat of this work is information leakage by
In this paper we propose secure storage architecture using crypto- accessing local storage via the management OS or direct access to
processors for cloud users. User data are encrypted and even a remote storage with privilege. We also assume defense mechanisms
malicious administrator cannot access the cryptographic keys, and the against hardware attacks are well-equipped and thus hardware attacks
decrypted data are isolated from the management OS. Accordingly, are inexecutable.
user data are protected from cloud administrators and other users.
More secure cloud computing environment is guaranteed in the B. Requirements
proposed architecture, and thus it is expected to migrate from server The requirements for secure storage summarized as follows.
hosting service to cloud computing service more and more.
• Isolated cryptographic operation: A malicious administrator or
II. BACKGROUND remote hackers can have control over the management OS.
There are three entities to protect the confidentiality of guest Therefore, when plain text or decrypted data are loaded in the
VMs: processing, memory, and I/O. Processing and memory can be memory of the management OS, they can be leaked by using
protected by H/W such as VT-x and AMD-V and S/W techniques privileged operations in the management OS. As a result, the
such as [2], [3]. If processing and memory are protected, the guest result of cryptographic operations should be isolated from the
virtual machine is safe as far as no I/O operation is involved. management OS.
However, transferring the input or output data of computation is an • Infrastructure cryptographic operation: Key delivery from cloud

essential process in cloud computing environment. That’s why the users involves connection to outside cloud systems. It means ad-
last entity, I/O should be protected in cloud computing. Generally, all ditional service is needed for key delivery. Thus, cryptographic
network traffics can be encrypted within a guest virtual machine and keys should exist in the cloud system. Moreover, full-disk
thus, they are safe during transfer. However, it implies an assumption encryption is implementable because guest OS is uninvolved.
that the cryptographic keys are protected safely. The cryptographic • Key protection: To protect the keys perfectly, we need a key

keys are generally stored in the storage. Therefore, protecting storage storage service where the keys are inaccessible even with
is the basic foundation of all other I/O devices. privileged access.

978-0-7695-4996-5/13 $26.00 © 2013 IEEE 190


DOI 10.1109/CCGrid.2013.31
Mgmt. VM Hypervisor Physical
Device Mgmt. VM Guest VM Memory
Authority TPM Crypto−
Processor Page
Driver Driver
Table

Hypervisor Encrypted
Guest VM Nested Data
Page
Table
Guest Plain
EK PCR AIK EK DA Key Page Data
Table
TPM PCI Device

IOMMU
Cloud Node Page
Table
PCI Device
Fig. 2. Architecture Overview
Encrypted Data Access Plain Data Access

Fig. 3. Plain Text Isolation


IV. S YSTEM D ESIGN
A. Overview
D. Safe system state guarantee
Figure 2 shows the overall architecture of our system. Cloud If a malicious administrator or remote hackers can compromise the
nodes are equipped with a crypto-processor, which plays a role of image of hypervisor and reboot the system, compromised hypervisor
encryption, decryption, and key storage, and Trusted Platform Module will be loaded, and thus there is no guarantee that the hypervisor plays
(TPM), which is used to verify the system state of cloud nodes. As a role of isolation. We design that the crypto-processor activates itself
the crypto-processors are the bare bones of the proposed system, only if the system states are attested to avoid unwanted hypervisor.
they have to be verified by third party called Device Authority (DA). We don’t present details of the activation protocol due to space
System states are measured into Platform Configuration Register limitation.
(PCR) of TPM. Endorsement Key (EK) and Attestation Identity Key
(AIK) in the TPM are used to represents the identity of the TPM. A V. S ECURITY A NALYSIS & D ISCUSSION
PCI crypto-processor also has EK for the identity of itself. DA key The secure system states could be used to activate the crypto-
is used for verifying the signature of DA. processor illegally. The malicious management OS on compromised
hypervisor would try to use the measurement value of attested
B. Challenges hypervisor. Thus, DA needs an a-priori list of pairs, which comprise
EK of TPM and EK of crypto-processor from one physical cloud
Even though crypto-processors are operational in cloud node, two
node not to face the unwanted situation. At the last step of activation
main challenges remains to provide a secure storage service. As the
process, DA will attest the system state. During attestation, DA have
device driver of crypto-processor is placed in the management OS, we
to also check whether the system state is from requested node or not.
need to isolate the decrypted (or plain) text from the management OS.
If compromised hypervisor tries to use the system state of another
If the management OS is able to access the result of cryptographic
machine, DA can detect and will refuse the activation request.
operations, the confidentiality of stored data cannot be guaranteed.
The other challenge is to ensure safe system states. Hypervisor is in VI. C ONCLUSION & F UTURE W ORK
charge of access control. Thus, if hypervisor doesn’t protect illegal Security is primary consideration for the users who consider using
access from the management OS, the information leakage of guest cloud services. However, guaranteeing secure cloud computing envi-
VMs is unavoidable. ronment is cumbersome and tortuous. This paper presents a secure
To ensure a secure storage service, the proposed architecture storage service for the users via crypto-processors. The proposed
achieves plain text isolation from the management OS and safe architecture makes the users lighthearted because it is guaranteed
system state guarantee as following two sections. that stored data in cloud systems are encrypted and cannot be leaked
even with privileged accesses. Currently, we are developing a PCI
C. Plain text isolation prototyped board and implementing its functionalities. We plan to
implement a fully functional prototype including PCI device crypto-
Generally, when a guest VM reads stored data block, the man-
processors, device drivers, and the activation server of DA.
agement OS reads the requested block from disk, and afterward,
sends the block to the guest VM. However, as the block is encrypted, ACKNOWLEDGMENT
decrypting process is needed before the block is sent to the guest VM. This work was supported by the IT R&D Program of MKE/KEIT.
At the same time, decrypted text should not be accessed from the [KI002090, Development of Technology Base for Trustworthy Computing]
management OS. To achieve this goal, hypervisor manipulates page
tables to block unauthorized accesses. Figure 3 shows the mapping of R EFERENCES
the management OS, guest VM and crypto-processor. Once encrypted [1] AMD. I/O virtualization technology (IOMMU) specification, 2011.
data are loaded to memory by the management OS, the crypto- [2] C. Li, A. Raghunathan, and N. Jha. Secure virtual machine execution
under an untrusted management OS. In Cloud Computing (CLOUD),
processor is in charge of decryption. The device will access the 2010 IEEE 3rd International Conference on, pages 172–179, 2010.
encrypted data and write plain data to other part of memory after [3] D. G. Murray, G. Milos, and S. Hand. Improving xen security through
decrypting. Hypervisor manipulates page table of the management OS disaggregation. In Proceedings of the fourth ACM SIGPLAN/SIGOPS
and the IOMMU (I/O Memory Management Unit)[1] page table of international conference on Virtual execution environments, VEE ’08,
page 151160, New York, NY, USA, 2008. ACM. ACM ID: 1346278.
the crypto-processor, thus, the device is able to access both encrypted [4] B. D. Payne, M. D. de Carbone, and W. Lee. Secure and flexible
and decrypted data whereas the management OS can access only monitoring of virtual machines. In Computer Security Applications
the encrypted data. As a result, the data of guest VM can preserve Conference, 2007. ACSAC 2007. Twenty-Third Annual, pages 385–397.
confidentiality from the management OS. IEEE, Dec. 2007.

191

You might also like