elfGROUP developed the elfCLOUD cloud storage service already in 2010. Cyber security was seen as the highest priority from the very first specifications in elfCLOUD’s development. “It was a cloud storage service with highly paranoid cyber security”, describes the inventor of the service, elfGROUP's CEO Tuomas Tonteri.
The fundamental and unique feature of the elfCLOUD service was file encryption at the end user’s computer and saving encrypted files to the cyber secure cloud storage service, completely separated from the encryption keys. This way the service provider or anyone potentially accessing the servers unauthorized had no way to decrypt and access the content of the files. Users could exchange encryption keys via the elfCLOUD platform, e.g. sharing encryption keys between different organizations or inside an organization from one user to another was possible without possibility of technical interception.
Typically, each organization had one encryption key to encrypt all their files. In addition, e.g. finance or board members could have their own encryption keys to keep certain data accessible only to the team members. The solution introduced a model of control, longed for in the business world, where technical administrators didn’t automatically have access to all data saved in the company’s servers. It was also an useful feature that controlling the encryption keys was separate from folder access privilege management. That enabled IT administrators to, for example, take offline backups of all saved files without enabling them to access the data in the files.
The elfCLOUD cloud storage service was available for PC, Mac and Linux, as well as mobile clients for Android and iOS. Despite the cross-platform architecture all the UIs were coded as native implementations, and the development work included a wide spectrum of different technologies. In addition to the cloud-based file management, the cloud storage service included a password manager, file synchronization and backup functions.
Secure software development
The original idea behind the solution was in cyber security, which was taken into account in every step of the development process. Design, documentation and specifications focused on threat modelling; how the features could be abused, what could go wrong, for example, for secure exchange of encryption keys between users to fail. No assumptions regarding how the platform will be used and how the users will approach the system should be made in software development other than expecting the users likely make mistakes. Another likely event is that software updates may not only bring new features but couple of other surprises here and there as well.
We used encryption algorithms and ways of encrypting that were well established, tried and trusted standards. The solution supported three different key lengths, of which AES256 is the de facto standard still today in symmetrical encryption, commonly suggested as the strongest option.
We put major emphasis on one of the key security principles, defence-in-depth or in other words, the onion model. For example, in the case of elfCLOUD, folder privileges were completely separated from the encryption keys. Accidentally shared folder wouldn’t disclose any critical data, if the user didn’t have the correct encryption key to open the files. On the other hand, even physical theft of servers wouldn’t cause more loss than the value of the stolen equipment as the thief couldn’t access any of the encrypted data on the servers. This is a good example of the onion model, where even vulnerability of the hardware layer has been foreseen and understood in threat modelling.
Naturally, the elfCLOUD cloud storage solution was also security tested regularly. Cyber security was actualized excellently throughout the years of production usage. During the seven years of production use, elfCLOUD didn’t have a single security breach in the form of hacking or data leakage. On the other hand, we got to personally experience how security and usability often call forth tangible compromises. We reached an excellent level of data privacy and confidentiality of the stored data when the creation, management and preservation of the encryption keys was left for the client layer and for the client organizations to manage. Full control over the user's information also called for due diligence in managing the encryption keys.
The elfCLOUD platform and its client applications were developed as our own software development project, utilizing open source components and software. The size of the team, nationalities and decentralization varied to a great extent during the years of development. The Scrum methodology was used in the development, adapted as needed, as well as several tools to manage documentation about requirements, specifications and work packages, test cases and system architecture. Code was written for the different platforms using e.g. Python, Java, C++, C#, .NET and Objective-C as well as different programming languages and frameworks for the browser layer. Therefore, the overall platform was a handful to manage for the development team, and that wouldn’t have been possible without a systematic architecture focused approach.
So how is secure software developed?
We always need to look at the big picture. There are no two similar systems, so it’s not possible to always make the same decisions that would make the solution secure. It all stems from understanding the threats and modelling them, understanding the operational environment where the system in question is operating and what kind of data is handled in that environment, by whom and what are the system’s use cases. Necessary technical protections are built on that understanding and necessary control measures for exceptional situations are being prepared.
All work for cyber security, including secure software development, should stem from corporate level risk management, commitment to development of cyber security and continuous threat management – when these are in order, it is much easier to put secure software development policies into practise, implementing strategic corporate level cyber security objectives.
Shut down of the cloud storage service and the future of elfCLOUD
The elfCLOUD service, developed in-house based on customized software, was ramped down in June 2018. Trends in cloud service usage and their general development made it possible to use solutions that were more seamlessly integrating with other IT capabilities, still providing security level that was deemed satisfactory by our clients.
We’d like to thank everyone who trusted the service during its lifespan and everyone who were involved in its development efforts!
The elfCLOUD brand name remains in elfGROUP’s offering with secure virtual servers. elfCLOUD is an EU trademark, registered in 2013.
“With the help of the elfCLOUD service, we have improved data flow and file sharing, as well as enabled flexible remote working from the field and home offices. The fact that the cloud storage is automatically backed up, lets us concentrate on serving our customers.”
Esa Heikkilä, Entrepreneur, Kotigalleria LKV, Oulu
“As a long-time elfCLOUD client we are pleased to these reliable tools provided by professionals who truly understand our needs.”
Mika Nieminen, IT Manager, Laatio Architects Ltd.