On Fri, Sep 05, 2014 at 12:54:45AM +0200, Benoît Canet wrote:
The Friday 05 Sep 2014 à 00:07:04 (+0200), Wouter Verhelst wrote :
> On Thu, Sep 04, 2014 at 04:19:17PM +0200, Benoît Canet wrote:
> > The Wednesday 03 Sep 2014 à 17:44:17 (+0100), Stefan Hajnoczi wrote :
> > > Hi,
> > > QEMU offers both NBD client and server functionality. The NBD protocol
> > > runs unencrypted, which is a problem when the client and server
> > > communicate over an untrusted network.
> > >
> > > The particular use case that prompted this mail is storage migration in
> > > OpenStack. The goal is to encrypt the NBD connection between source and
> > > destination hosts during storage migration.
> >
> > I agree this would be usefull.
> >
> > >
> > > I think we can integrate TLS into the NBD protocol as an optional flag.
> > > A quick web search does not reveal existing open source SSL/TLS NBD
> > > implementations. I do see a VMware NBDSSL protocol but there is no
> > > specification so I guess it is proprietary.
> > >
> > > The NBD protocol starts with a negotiation phase. This would be the
> > > appropriate place to indicate that TLS will be used. After client and
> > > server complete TLS setup the connection can continue as normal.
> >
> > Prenegociating TLS look like we will accidentaly introduce some security hole.
I was thinking of the fallback to cleartext case.
If the server or client were given a nbds:// URL then don't allow
downgrading to unencrypted. I think we can implement this without a
security hole.
Stefan