O n l i n e iQA / AwUBOjU5dnol3d88qZ77EQI2JAC fRngLJ045brNnaCX78ykKNUZaTIoAoP HI2uJxPMGR73EBIvEpcv0LRSy +=45 f 8
The status of alice is signed with her private key, so that bob can verify by means of the Alice’s public key that she is really online. In the same way, it is possible to encrypt the content of the tag body using the public key of the receiver in order to achieve confidentiality. In the following it is shown a message sent from Alice to Bob whose content has been encrypted with the public key of Bob. T h i s m e s s a g e i s e n c r y p t e d . qANQR1DBwU4DX7jmYZnncmUQB / 9 KuKBdd zQH+tZ1ZywKK0yHKnq57kWq+RFtQdCJWp dWpR0uQsuJe7+vh3NWn59 / gTc5MDlX8dS 9 p0ovStmNcyLhxVgmqS8ZKhsblVeuIpQ0 JgavABqibJolc3BKrVtVV1igKiX / N7Pi8 RtY1K18toaMDhdEfhBRzO / XB0+P
The specification does not define the exchange of public keys that is demanded to OpenPGP. Even though the chat messaging is something that purely seem regarding the human interaction, the same approach can by applied to Cloud computing systems in which different distributed software components need to interact each others in both real time and in secure way. VI. S ECURING THE C OMMUNICATION OF SE CLEVER In this Section, we firstly analyze the possible security threads and vulnerabilities that are common to different message oriented Cloud systems and secondly, considering the XMPP, we discuss how several security extensions allow SE CLEVER to meet the CSA requirements.
000037
A. Security Requirements of a Message Oriented Cloud Let us consider a message oriented Cloud system including several distributed software modules or components and whose inter-module communication takes place by means of an instant messaging protocol. The question is: which are the security requirements of the involved communication system? Definitely it should ensure: data confidentiality, data integrity, data authenticity, and data non-repudiation of the sender/receiver. Let us assume that in order to achieve a totally secure communication system each message has to be signed and encrypted by each component. From now on, for
Fig. 2. XMPP messages encryption in CLEVER.
simplicity, we will focus our analysis on the XMPP as instant messaging protocol. Considering the aforementioned security requirements, XMPP as has to be properly extended. In our opinion, considering a Public Key Infrastructure (PKI), the XMMP-based communication of a message oriented Cloud system should support the following functionalities: • Digital identity management. Each component during the in-band registration (i.e., an automatic enrollement of a client on the XMPP server) with the XMPP server requires a digital certificate to a trusted Certification Authority (CA) through the Simple Certificate Enrollment Protocol (SCEP). • Signed message exchange. Each component should be able to sign a message sent to another one. • Encrypted message exchange. Each component should be able to perform a total or partial encryption of a message. • Private chat rooms. The communication system should allow the management of private chat room with restricted access to authorized components. • Encrypted chat rooms. The communication system should allow the management of private and encrypted chat rooms. The key exchange between the communicating components should take place according to a PKI schema. The component that play the role of “moderator” instantiate a new chat room associating a session key. When a new component wants to join the communication, the “moderator” component sends the session key encrypted with the public key of the new component itself. B. XMPP Security Extensions for Message Oriented Clouds As each XMPP message is codified in XML adding an extension means adding a new tag element. In our opinion,
978-1-4799-3755-4/13/$31.00 ©2013 IEEE
in order to make the XMPP enough secure according to the security requirements previously discussed, four basic extensions are required: • Signed. It allows to attach to the message body a digest signed with the private key of the sender component. The signed extension is identified by the XML name space jabber:x:signed () known by all the components. When the message arrives to the receiver component, it detects the signed extension and it queries the LDAP publisher server if an X509 certificate exists for the sender. If it exists, the receiver validates the sign and verifies the message digest according to a shared algorithm. • Encrypted. It allows to attach to the message body a content encrypted with the public key of the receiver component. When a component wants to send an encrypted message, it requests to the LDAP publisher server the X509 certificate of the receiver component. Thus using the public key of the receiver, the sender encrypts the message and it includes the encryption extension identified by the “jabber:x:encrypted” name space (). When the message arrives to destination, the receiver component decrypts it with its private key. This process is schematized in Figure 2. • Session Key. It allows to attach the message a session key. It is used to support an hybrid encryption scheme: the unique share key or the session key is used to encrypt/decrypt the messages by both sender and receiver according to a symmetric encryption scheme (already used in the SSL/TLS protocol), but the session key is exchanged between the two parties according to a public key or asymmetric schema. The advantages of such a hybrid cryptographic scheme is twofold: session key secrecy and faster processing during the encryption of the message. • Timestamp. It allows to attach to the message a signed timestamp, in order to make the message oriented Cloud system normative compliant. These extensions can be accomplished according to the XEP 0027 specification. C. How SE CLEVER meets the CSA Requirements Hereby, we briefly highlight how the the aforementioned security extensions combined with the CLEVER system logging allow SE CLEVER to address the CSA requirements reported in Section III. The CLEVER logging system audits all the events coming from the XMPP messages into SEDNA. Regarding, the possibility to sign exchanged messages (looking at CSA directives Section, in particular item III.1, where it is necessary to divulge all policies, procedures and processes of Cloud providers) it is possible to demonstrate data integrity and assure data non-repudiation (using Timestamps and valid Signatures). The SEDNA XML-based database and the logs of the XMPP communications, related to the Application Owners solve the issue reported in item III.5 The
000038
possibility to encrypt exchanged messages and Session Keys allow to solve the issues reported in III.6. Sign exchanged messages and Timestamps guarantee that customers may perform onsite inspections (see III.3). The analysis may continue, assessing item by item and applying the previous security solutions in each case. VII. E XPERIMENTAL R ESULTS In order to evaluate the impact of XMPP security extensions implemented in SE CLEVER, we have set up a testbed and analyzed the behaviour of the whole system. In our testbed, we integrated in SE CLEVER data encryption and digital sign functionalities adopting the following security tools, libraries, and APIs. i)Enterprice Java Bean Certification Authority (EJBCA). An open source project for the management of a PKI. ii) OpenLDAP. An open source implementation of the LDAP protocol. iii) Bouncy Castle. Open source Java libraries implementing cryptographic algorithms. iv) Java Simple Certificate Enrollment Protocol (JSCEP). An open source Java implementation of the SCEP. v) EJBCA Web Service. An open source Java API for the administration of a CA. vi) Java Naming and Directory Interface (JNDI). An open source Java API for the management of LDAP services. vii) XML Digital Signatures (XMLDsig). An open source Java API that allows to sign and validate XML documents. The
To simulate clients in the testbed, we have instantiate a thread for each client in the AC node. They submit their queries at random time in the range [0; 1] msec, thus to simulate concurrent requests for Cloud services. The system has been evaluated measuring the Elaboration Time Telab in message transmission. It is the time spent to accomplish all the tasks necessary to prepare a message before sending it to the destination (encryption, digest generation,...) and does not include the time for transmission. Thus, it gives a measurement of the complexity in message management and provides the weight of data encryption and signing. We provide results on Telab measurement by increasing the number of clients in the system. Also, we provide results in not encoded, encrypted and signed message transmissions, in the communications from AC to CM and vice versa and from CM to HM and vice versa. From our analysis, we noticed that Telab in transmissions from AC to CM is much more higher that in the other communications (about 95% more). This behavior is due to the simulated scenario for the message generation. In fact, the administration clients work in parallel and their requests are independently sent to the CM, causing an overload on the AC node. On the contrary, CM and HM manage each message sequentially. Since Telab includes only the time for manipulating messages before sending and not the time spent in buffers, it is very lower than the time spent in AC to send messages to the CM. Since the results on AC to CM communications are affected by the specific simulated scenario, we omit them in the following analysis.
Fig. 3. Testbed used for evaluating our SE CLEVER prototype.
experiments were conducted in a testbed with the following hardware: blade server IBM X3630M3 with CPU Intel Xeon E5506 @ 2.13 GHz (8 cores) and 36 GB of RAM. As shown in Figure 3, the testbed consists of three nodes connected over a GB-LAN. A node work as Administration Component (AC), that is responsible of connecting several administrator clients to the CLEVER services. CM and HM are deployed in other two nodes. In order to simulate communication traffic in SE CLEVER, each administrator client submits to the AC a listvms command that queries all the VM registered in HM (step 1). AC formats the request according to The CLEVER specification and sends an XMPP message to CM (step 2). As step 3, CM forwards the request to HM. HM elaborates the request and sends back to CM a reply message (step 4), that CM forwards to AC (step 5). Finally, AC provides VMs information to the clients (step 6).
978-1-4799-3755-4/13/$31.00 ©2013 IEEE
Fig. 4. Elaboration time in not encoded transmission
As shown in Figure 4, in uncoded transmissions, Telab is in the range [0, 7; 1, 1] msec. By increasing the number of clients, it is almost constant, thus proving that the system is not overloaded. In Figure 5, values of Telab are drawn for encrypted messages. In comparison with results on not encoded transmission, Telab increases of an order of magnitude (with few clients, it is about 6 msec). By increasing the number of clients, Telab increases a lot in communications from CM to HM. This effect is due to the hybrid encryption scheme. In fact, to encrypt messages, CM and HM has to exchange the shared key, according to a symmetric encryption scheme. Thus, the communications depends on the queries
000039
several security enforcements on XMPP protocol. This protocol presents many capabilities but the current implementations lacks of strong security features. We delivered and evaluated them over a Virtual Infrastructure Manager develop in UniME, that is CLEVER. The performance analysis of the secure protocol introduced shows the goodness of our approach. ACKNOWLEDGEMENTS The research leading to the results presented in this paper has received funding from the European Union’s Seventh Framework Programme (FP7 2007-2013) Project VISIONCloud under grant agreement number 217019. Fig. 5. Elaboration time in transmission with encription
to the LDAP server. On the contrary, transmissions from CH to CM and from CM to AC are characterized by low Telab , since the nodes already hold the shared keys due their previous communications. Transmissions with signed messages are
Fig. 6. Elaboration time in transmission with sign
characterized by the results in Figure 6. By comparing them with the results in the above Figures, we notice that message signing strongly impacts transmissions (Telab is in the range [50; 80] msec). This is the effect of the asymmetric encryption, which is heavier than the symmetric one implemented in the message encryption service. It explains our design choice to encrypt messages for assuring data confidentiality with the hybrid encryption scheme. The trend of results in Figure 6 is almost independent from the number of clients and this prove that even with 40 concurrent requests, the security mechanisms implemented in the prototype do not overload the whole system. Summarizing, the results drawn from the analysis of our prototype show that security mechanisms proposed in this paper assure confidentiality, authenticity and non-repudiation of data causing inevitable delays due to the encryption activities. However, the low degradation of communication performance does not waste the whole management activity of the Cloud middleware. VIII. C ONCLUSIONS In this paper, we investigated the security issues existing on Clouds and widely described by the Cloud Security Alliance. In order to provide useful solutions in that context, we applied
978-1-4799-3755-4/13/$31.00 ©2013 IEEE
R EFERENCES [1] D. Bruneo, S. Distefano, F. Longo, A. Puliafito, and M. Scarpa, “Workload-based software rejuvenation in cloud systems,” IEEE Transactions on Computers, vol. 99, no. PrePrints, p. 1, 2013. [2] Cloud Security Alliance, http://www.cloudsecurityalliance.org/. [3] Cloud Security Alliance, “Security Guidance for Critical Areas of Focus in Cloud Computing, v3.0,” 2013. https://cloudsecurityalliance.org/guidance/csaguide.v3.0.pdf. [4] A. Celesti, F. Tusa, M. Villari, and A. Puliafito., “Integration of CLEVER Clouds with Third Party Software Systems Through a REST Web Service Interface,” in 17th IEEE Symposium on Computers and Communication (ISCC’12), 1-4 July 2012. [5] A. Celesti, F. Tusa, M. Villari, and A. Puliafito, “Energy Sustainability in Cooperating Clouds,” in Proceedings of the 3rd International Conference on Cloud Computing and Services Science (CLOSER 2013), (Aachen, Germany), 8-10 May 2013. [6] W. Liu, “Research on cloud computing security problem and strategy,” in Consumer Electronics, Communications and Networks (CECNet), 2012 2nd International Conference on, pp. 1216 –1219, april 2012. [7] A. Behl and K. Behl, “Security paradigms for cloud computing,” in Computational Intelligence, Communication Systems and Networks (CICSyN), 2012 Fourth International Conference on, pp. 200–205, July. [8] A. Celesti, N. Peditto, F. Verboso, M. Villari, and A. Puliafito, “DRACO PaaS: a Distributed Resilient Adaptable Cloud Oriented Platform,” in Proceedings of the 18th IEEE Workshop on Dependable Parallel, Distributed and Network-Centric Systems (IEEE DPDNS 2013), (Boston, Massachusetts, USA), May 2013. [9] M. Kretzschmar, M. Golling, and S. Hanigk, “Security management areas in the inter-cloud,” in Cloud Computing (CLOUD), 2011 IEEE International Conference on, pp. 762 –763, july 2011. [10] M. Kretzschmar and S. Hanigk, “Security management interoperability challenges for collaborative clouds,” in Systems and Virtualization Management (SVM), 2010 4th International DMTF Academic Alliance Workshop on, pp. 43 –49, oct. 2010. [11] I. Gul, A. ur Rehman, and M. Islam, “Cloud computing security auditing,” in Next Generation Information Technology (ICNIT), 2011 The 2nd International Conference on, pp. 143–148, June. [12] M. Almorsy, J. Grundy, and A. Ibrahim, “Collaboration-based cloud computing security management framework,” in Cloud Computing (CLOUD), 2011 IEEE International Conference on, pp. 364 –371, july 2011. [13] Z. Lian-chi and X. Chun-di, “Cloud security service providing schemes based on mobile internet framework,” in Computer Science and Electronics Engineering (ICCSEE), 2012 International Conference on, vol. 3, pp. 307 –311, march 2012. [14] A. Behl, “Emerging security challenges in cloud computing: An insight to cloud security challenges and their mitigation,” in Information and Communication Technologies (WICT), 2011 World Congress on, pp. 217 –222, dec. 2011. [15] www.ejabberd.im, “Ejabberd, the Erlang Jabber/XMPP daemon, http://www.ejabberd.im/ jan 2012,” 2012. [16] MODIS group, 2013. Sedna, Native XML Database System: http://modis.ispras.ru/sedna/. [17] 2013. XEP-0027: Current Jabber OpenPGP Usage, http://xmpp.org/extensions/xep-0027.html. [18] 2007. OpenPGP Message Format, http://www.rfc-editor.org/info/rfc4880.
000040