A Byzantine Fault Tolerance Model for a Multi-Cloud Computing Mohammed A. AlZain, Ben Soh and Eric Pardede Department of Computer Science and Computer Engineering, La Trobe University, Bundoora 3086, Australia. Email: [maalzain@students., b.soh@, e.pardede@]latrobe.edu.au Abstract—Data security has become an important requirement for clients when dealing with clouds that may fail due to faults in the software or hardware, or attacks from malicious insiders. Hence, building a highly dependable and reliable cloud system has become a critical research problem. This paper presents BFT-MCDB (Byzantine Fault Tolerance Multi- Clouds Database), a practical model for building a system with Byzantine fault tolerance in a multi-cloud environment. The model relies on a novel approach that combines Byzantine Agreement protocols and Shamir’s secret sharing approach to detect Byzantine failure in a multi-cloud computing environment as well as ensuring the security of the stored data within the cloud. Using qualitative analysis, we show that adopting the Byzantine Agreement protocols in the proposed BFT-MCDB model increases system reliability and enables gains in regard to the three security dimensions (data integrity, data confidentiality, and service availability). We also carry out experiments to determine the overheads of using the Agreement protocols. Keywords—Multi-Cloud Computing, Byzantine fault tolerance, Data Security, Data Replication, Byzantine Agreement protocols. I. INTRODUCTION The idea of multi-clouds is different to that of a federated cloud, as multi-clouds are centrally controlled by an administrative domain which controls other clouds in the same domain [9],[7]. In previous research [4],[6], we proposed the MCDB model which ensures the security and privacy of data in a multi-cloud computing environment. Consequently, we enhance the security in our model through the improvement of service dependability in the MCDB model by using triple modular redundancy (TMR) techniques [15]. The benefit of this improvement is that MCDB [5] is able to catch the active or non-Byzantine fault at the time of execution. But, how does one catch a latent or Byzantine fault in multi-clouds? Byzantine fault tolerance (BFT) has received growing attention from the academic research community but not many systems use it in practice. While a great deal of recent research has focused on comparing the standard practical Byzantine fault tolerance protocol (PBFT) [11] and improving its performance with the development of Zyzzyva [16] and Aardvark [12], very few studies on the BFT in a multi-cloud computing environment have addressed the detection of Byzantine failure to ensure the security of stored data within the cloud. In reality, the original definition of Byzantine faults [19] does not include security dimensions (data integrity, data confidentiality and service availability) [3], whereas a Byzantine cloud cooperates with malicious insiders to increase data intrusion. Data security is a major issue whenever users rely on third-party services because of the possibility of Byzantine failure in the cloud. Data security is an important requirement for clients when dealing with clouds that may fail due to faults in the software or hardware, or attacks from malicious insiders. Therefore, building a highly dependable and reliable cloud system has become a critical research problem. To address these issues, this work improves the existing MCDB model [5] in order to build a Byzantine fault tolerance multi-cloud database model which can detect Byzantine faults before being activated or before causing any negative impact on the system. It is difficult to detect Byzantine faults because it has no output. The previous MCDB model was able to detect non-latent faults or non- Byzantine faults whereas the current BFT-MCDB is able to detect latent faults or Byzantine faults. We based our model on the state machine replication approach [21]. Viewing our model in terms of state machines helps in understanding how our model replicates the data in the multi-clouds and centrally controls these clouds by the cloud manager. A general method for implementing a fault-tolerant system is the state machine approach. A distributed system should ensure the replication of servers which fail to tolerate faults in the state machine environment [21] which is similar to our BFT-MCDB model procedures. BFT-MCDB can guarantee the robustness of systems by building a group of one cloud manager connected to 2f+1clouds when up to freplica are faulty at run-time. The contribution of this work is as follows: This work identifies the Byzantine fault tolerance problem in the multi- cloud computing environment and proposes a Byzantine fault tolerance model, named BFT-MCDB, to ensure the robustness of the multi-cloud environment. The model presented in this paper relies on a novel approach that combines the Byzantine Agreement protocols [19],[16] and Shamir’s secret sharing approach [15] to detect Byzantine failure in the multi-cloud computing environment as well as to ensure the security of stored data within the cloud. BFT- MCDB is based on a state machine approach which has a replication mechanism [21]. Viewing our model in terms of state machines helps in understanding how our model M.A. AlZain is sponsored by Taif University in the Kingdom of Saudi Arabia. 2013 IEEE 16th International Conference on Computational Science and Engineering 978-0-7695-5096-1/13 $31.00 © 2013 IEEE DOI 10.1109/CSE.2013.30 130 2013 IEEE 16th International Conference on Computational Science and Engineering 978-0-7695-5096-1/13 $31.00 © 2013 IEEE DOI 10.1109/CSE.2013.30 130