backend uses single shared S3 key

Bug #409355 reported by Kees Cook
310
This bug affects 12 people
Affects Status Importance Assigned to Milestone
Ubuntu One Servers
Won't Fix
High
Lucio Torre

Bug Description

As I understand from the UbuntuOne design details, the S3 storage backend uses the same S3 key for all access. If this key were ever compromised, all customer data would be available to an attacker. One method to mitigate this danger would be to store some form of encryption key for each UbuntuOne user which would be used to encrypt the data stored in S3. If a user granted file access to other people, their key could still be used to fetch the decrypted data for their share.

Instead of having a single point of failure, it would mean that both the metadata server (with the encryption keys) and the backend systems (with the S3 key) would need to be compromised to experience total breach of customer data.

Tags: foundations+
Revision history for this message
Steve Alexander (stevea) wrote :

This is one part of bug 375289.

From my comment on that bug:

The Ubuntu One servers will encrypt each user's data with a key unique to that user, before storing it in Amazon's S3 service or any other scalable storage services we use. The point of this is that if there's a break-in to S3, there is no exposure of private data; and if one of the Ubuntu One storage API servers is compromised, there is a small exposure of private data, based on the users who were using that particular storage server at the time. It still means we need to keep the database of these encryption keys very very safe. We have facilities and procedures do that in the Canonical data centre, and this gives us one database that we need to keep secure and monitor very carefully.
We'll be making this change right away.

Changed in ubuntuone-storage-protocol:
status: New → Triaged
importance: Undecided → High
Revision history for this message
dobey (dobey) wrote :

This is purely on the server side. As we'd also need to encrypt/decrypt for the web ui, as well as the client, so we should do it on the server, and not on the client side. If there are more specific changes that should be done in ubuntuone-storage-protocol, we can add it back as another affected project.

affects: ubuntuone-storage-protocol → ubunet
Changed in ubunet:
importance: High → Undecided
status: Triaged → New
Steve Alexander (stevea)
visibility: private → public
Revision history for this message
Guillermo Gonzalez (verterok) wrote :

Lucio, reassign as need

Changed in ubunet:
assignee: nobody → Lucio Torre (lucio.torre)
status: New → Triaged
tags: added: foundations+
Changed in ubunet:
importance: Undecided → High
Sidnei da Silva (sidnei)
Changed in ubuntuone-servers:
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public Security information  
Everyone can see this security related information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.