<tt><font size=2>Gregory Holt <z-launchpad@brim.net> wrote on 20/11/2013
05:46:41 PM:<br>
<br>
> From: Gregory Holt <z-launchpad@brim.net></font></tt>
<br><tt><font size=2>> To: "OpenStack Development Mailing List
(not for usage questions)" <br>
> <openstack-dev@lists.openstack.org>, </font></tt>
<br><tt><font size=2>> Date: 20/11/2013 05:49 PM</font></tt>
<br><tt><font size=2>> Subject: Re: [openstack-dev] [Swift]  Server
Side Encryption</font></tt>
<br><tt><font size=2>> <br>
> On Nov 20, 2013, at 5:26 AM, David Hadas <DAVIDH@il.ibm.com>
wrote:<br>
> <br>
> > <br>
> > Hi all,<br>
> > <br>
> > We created a wiki page discussing the addition of software side
encryption<br>
> > to Swift:<br>
> > "The general scheme is to create a swift proxy middleware
that will encrypt<br>
> > and sign the object data during PUT and check the signature +
decrypt it<br>
> > during GET. The target is to create two domains - the user domain
between<br>
> > the client and the middleware where the data is decrypted and
the system<br>
> > domain between the middleware and the data at rest (on the device)
where<br>
> > the data is encrypted.<br>
> > Design goals include: (1) Extend swift as necessary but without
changing<br>
> > existing swift behaviors and APIs; (2) Support encrypting data
incoming<br>
> > from unchanged clients"<br>
> > <br>
> > See:  </font></tt><a href="https://wiki.openstack.org/wiki/Swift/server-side-enc"><tt><font size=2>https://wiki.openstack.org/wiki/Swift/server-side-enc</font></tt></a><tt><font size=2><br>
> > We would like to invite feedback.<br>
> <br>
> I'll bite, though I'm fairly sure I already know the response. Why
<br>
> all this complexity for what amounts to just encrypting data on disk<br>
> in case the disk is stolen, lost, or reused? That's the only <br>
> protection I see this providing and it would seem it could be <br>
> achieved with a single cluster key stored only on the Swift proxy
<br>
> servers. All the rest seems like gyrations that provide no true <br>
> additional benefit. If a client actually cares about having their
<br>
> data encrypted, they should encrypt it themselves and only they <br>
> would keep the key.<br>
> <br>
</font></tt>
<br><tt><font size=2>A couple of reasons: </font></tt>
<br><tt><font size=2>-- improve re-keying by having a hierarchy </font></tt>
<br><tt><font size=2>-- finer grain control on encryption, e.g., per account
(the objective is not just to protect against disks walking away).  </font></tt>
<br><tt><font size=2>No argument, best security is client side encryption.
 This said, there seems to be a need for tenant-controlled, server
side encryption, based both upon what is offered by other services and
discussions I have had with users.</font></tt>
<br>
<br>