Thanks to the revelations of Edward Snowden about the activities of the U.S. National Security Agency and the U.K. Government Communications Headquarters, data privacy makes life a lot more complicated for anyone who wants to develop cloud-based applications. If users can't be confident that the privacy of their data is assured, then they're likely to think twice before ever using your applications.
But there's an opportunity here, too: If your apps do keep user data private, then they'll be far more appealing than apps that don't. Developers will soon be able to exploit this opportunity using an open-source secure cloud application development platform called Crypton.
Applications that perform heavy data processing in the cloud often pose a problem, as data needs to be decrypted in the cloud before it can be processed. On the other hand, apps that carry out data processing in a browser on the client side, leveraging the cloud for the storage of encrypted data only, are a different prospect.
Using this type of architecture, user data is always encrypted when it's in the cloud. Even if an intelligence agency or hacker gets access to it in the cloud, or during its journey to or from the cloud, it's unusable.
The problem developers face is building this type of application while ensuring the cryptography component is implemented securely. That's what Crypton aims to address.
Customers Want Cloud, Developers Want Platform for Cloud Apps
Crypton is sponsored by a cloud storage and backup company called SpiderOak. CEO Ethan Oberman says Crypton came from the company's software client, which encrypted data before sending it to SpiderOak for storage.
"When customers discovered that they had to download and install our client software, more and more of them were abandoning," he says. "The world is moving toward cloud-based software and people who care about privacy."
Once the company decided to supply a Web-based application instead, it made sense to create an open source platform that other developers could use to build "zero knowledge" applications, Oberman says. This means the cloud provider stores encrypted data and has no information about the data it's storing or where to find the decryption keys.
Of course there is some self-interest behind SpiderOak's decision to sponsor this open source platform, as applications built on Crypton can use storage supplied by SpiderOak. But these apps aren't tied to SpiderOak, and developers can choose another cloud resource for storage. (There is one important caveat: If the target storage service isn't free and open source, then developers have to purchase a commercial license to use Crypton.)
Crypton Makes Cloud 'Dumb Storage Medium,' Doesn't Read Data
The server-side software running in the cloud is built on PostgreSQL and node.js, Oberman explains. "Typically, you would have the indexing and searching done in the cloud. With Crypton, this is all happening on the client. The data structures we use make this happen fast," he says. "The cloud is just used as a dumb storage medium, storing and retrieving data it can't read."
This works by dividing information into data and metadata and taking advantage of the fact that metadata in data-intensive applications such as photo storage is typically less than 1 percent of the underlying data. "Our browser-based client can retrieve metadata very quickly. Then, when you want the real file, it can download it," Oberman says.
Using this approach, a hacker or government agency can't do a mass compromise of user data. Accessing a given user's data would involve compromising that individual's client device. Even if that's possible, it's not an approach that can be easily scaled to compromise a large numbers of users.
Is Browser Secure Enough for Running Apps?
Ramon Krikken, a security researcher at Gartner, says that, done properly, a privacy-oriented Web application platform such as Crypton will be highly attractive to developers. They want an easy-to-use framework with standardized, validated code.
The key question, then, is whether Crypton is really as secure as Oberman hopes. As an open-source project, the code base is open to scrutiny from any eyeballs that care to look at it — including the NSA's, of course. That, in itself, doesn't guarantee that the code is not flawed. For this reason, Oberman says SpiderOak plans to pay an as-yet-unnamed security outfit to review the code.
To that extent, Krikken says Crypton's prospects are promising. "SpiderOak seem to be doing all the things that you would hope [it] would do: making the code open source, getting it validated and using standardized components," he says.
Case Study: How NASA Helped Open-Source Cloud Take Off
It's too early to say if Crypton will succeed, as the platform is still at version 0.0.1. The security audit is due to take place this October, though, and more stable code may be available as early as the end of the year, Oberman says.
Krikken remains optimistic about its prospects as a useful open source tool. "The creation of a platform like this is good. It drives privacy forward," he concludes. "Projects like Crypton are definitely helpful for developers and anyone concerned about privacy."