Decentralized cloud architectures: from a security perspective

Decentralized cloud systems are becoming increasingly popular. These services are cheaper, more secure, robust, private and reliable than old centralized competitors.

Here at Internxt we are creating decentralized Internet services, which bring all the benefits of the Internet, with the security and privacy that users deserve. Our first service, X Cloud, is our decentralized cloud storage platform. We are not alone in this fight against big centralized cloud providers. Namely, companies such as Sia, Storj or MaidSafe are also battling in this fight.

However, to which extent are these innovative cloud services (us) better than older systems? The paper “Analysis of Centralized and Decentralized Cloud Architectures” by the School of Computing, University of South Alabama (2016) studies the topic. This research is funded in part by a grant from the National Science Foundation, Division of Computer and Network Systems, Secure & Trustworthy Cyberspace Program. The research finds the following:

Defining characteristics, such as the degree of component centralization or decentralization, have significant implications on the security and performance of cloud-based services. Cloud components which are centralized, often increase the risk of catastrophic failure in the event of a zero-day virus. Decentralized components offer compartmentalization of risk.

Cloud component storage is classified as decentralized if the storage system is distributed, and centralized if the storage system is singularly controlled. In the centralized version, the storage system is maintained by the cloud controller, and it is operated by the central server in the cloud controller. All the hosts are allocated with only one storage system for storing the images, files and data. In the decentralized version, a group of clusters with different storage systems for different clusters are used. Therefore, the group of hosts in the cluster will use the storage system related to that cluster but not the other storage system of the other cluster. This provides higher levels of scalability, redundancy, and durability in decentralized architectures.

Decentralized storage clusters provide security via compartmentalization. Even if attackers are able to infiltrate an isolated storage array, they cannot launch a rogue virtual machine without also hacking the cloud’s compute component. In these architectures, files are often split into evenly sized segments of data. Each segment or block has its own address but no metadata to provide context about what it is. The storage target can be configured to replicate data across storage arrays or distributed file systems. Decentralized compute components isolate resource scheduling from the control node. A cluster controller performs scheduling for its respective cluster. If an isolated cluster controller is compromised or otherwise brought offline, the other cluster controller would still function. In the case of Internxt’s X Cloud, files are not only distributed and replicated, but also end-to-end encrypted. We are using AES 256 CTR encryption protocol. In centralized systems, if the cloud controller is hacked, the storage array should be considered compromised as well. The decentralized compute design presents a reduced risk of catastrophic failure.

All in all, decentralized architectures provide enhanced security to cloud functionality. The services they provide are performed in isolation. If a decentralized component is compromised or encounters a runtime error which is unrecoverable worst case scenario is that the component goes offline, while the rest of the cloud continues to function normally. This design presents a failsafe which increases cloud stability. On the other hand, centralized cloud designs interlace core functions within the same space. If an error or attack manages to destabilize a centralized component, the entire cloud is at risk.

At Internxt, we aren’t only implementing a distributed cloud infrastructure as described above and in our whitepaper, but we are going a step further by building a peer-to-peer network. This enables us to add one more layer of security to our services. With our services, there is no central location to attack, only the user knows where each of their shards are stored, and all the data is encrypted. To compromise a single file, a hacker would have to locate multiple shards spread across nodes spread all over the globe. The hacker would have to compromise all those nodes to retrieve the encrypted shards. Then, the shards would need to be decrypted. And this process would have to be repeated for each new file. On the top of that, Internxt does not store any of the user private keys. Only the user stores his / her private key. This combination of true file decentralization, end-to-end encryption and not storing user private keys, allows Internxt to providea a true secure and private cloud storage service with X Cloud and X Core.