From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Stefan Berger <stefanb@linux.ibm.com>
Cc: jejb@linux.ibm.com, qemu-devel@nongnu.org,
Markus Armbruster <armbru@redhat.com>
Subject: Re: [PATCH] tpm: add backend for mssim
Date: Wed, 14 Dec 2022 11:55:06 +0000 [thread overview]
Message-ID: <Y5m5mq5yxQX88UKi@redhat.com> (raw)
In-Reply-To: <c3fa7405-7d4c-a686-d4c3-a3ff74864467@linux.ibm.com>
On Mon, Dec 12, 2022 at 01:58:29PM -0500, Stefan Berger wrote:
>
>
> On 12/12/22 13:48, James Bottomley wrote:
> > On Mon, 2022-12-12 at 11:59 -0500, Stefan Berger wrote:
> > >
> > >
> > > On 12/12/22 11:38, James Bottomley wrote:
> > > > On Mon, 2022-12-12 at 15:47 +0000, Daniel P. Berrangé wrote:
> > > > > Copy'ing Markus for QAPI design feedback.
> > > > >
> > > > > On Sat, Dec 10, 2022 at 12:10:18PM -0500, James Bottomley wrote:
> > > > > > The Microsoft Simulator (mssim) is the reference emulation
> > > > > > platform for the TCG TPM 2.0 specification.
> > > > > >
> > > > > > https://github.com/Microsoft/ms-tpm-20-ref.git
> > > > > >
> > > > > > It exports a fairly simple network socket baset protocol on two
> > > > > > sockets, one for command (default 2321) and one for control
> > > > > > (default 2322). This patch adds a simple backend that can
> > > > > > speak the mssim protocol over the network. It also allows the
> > > > > > host, and two ports to be specified on the qemu command line.
> > > > > > The benefits are twofold: firstly it gives us a backend that
> > > > > > actually speaks a standard TPM emulation protocol instead of
> > > > > > the linux specific TPM driver format of the current emulated
> > > > > > TPM backend and secondly, using the microsoft protocol, the end
> > > > > > point of the emulator can be anywhere on the network,
> > > > > > facilitating the cloud use case where a central TPM service can
> > > > > > be used over a control network.
> > > > >
> > > > > What's the story with security for this ? The patch isn't using
> > > > > TLS, so talking to any emulator over anything other than
> > > > > localhost looks insecure, unless I'm missing something.
> > > >
> > > > Pretty much every TPM application fears interposers and should thus
> > > > be using the TPM transport security anyway. *If* this is the case,
> > > > then the transport is secure. Note that this currently isn't the
> > > > case for
> > >
> > > What about all the older kernels that are out there?
> >
> > No current kernel uses transport security. In the event the patch
> > eventually gets upstream, the kernel be secure against interposer
> > attacks going forwards. I would imagine there might be pressure to
> > backport the patch given the current level of worry about interposers.
> >
> > > > the kernel use of the TPM, but I'm trying to fix that. The
> > > > standard mssim server is too simplistic to do transport layer
> > > > security, but like everything that does this (or rather doesn't do
> > > > this), you can front it with stunnel4.
> > >
> > > And who or what is going to set this up?
> >
> > I'm not sure I understand the question. Stunnel4 is mostly used to
> > convert unencrypted proxies like imap on 143 or smtp on 25 to the
> > secure version. Most people who run servers are fairly familiar with
> > using it. It's what IBM used for encrypted migration initially. You
> > can run stunnel on both ends, or the qemu side could be built in using
> > the qemu tls-creds way of doing things but anything running the
> > standard MS server would have to front it with stunnel still.
>
>
> So it's up to libvirt to setup stunnel to support a completely
> different setup than what it has for swtpm already?
Well technically libvirt doesn't have todo anything. We are free
to decide to only support locally hosted mssim deployments, and
declare that off node access is unsupported and warn it is
potentially insecure .
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2022-12-14 11:56 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-10 17:10 [PATCH] tpm: add backend for mssim James Bottomley
2022-12-12 13:43 ` Stefan Berger
2022-12-12 13:59 ` James Bottomley
2022-12-12 14:27 ` Stefan Berger
2022-12-12 14:32 ` James Bottomley
2022-12-12 14:44 ` Stefan Berger
2022-12-12 14:47 ` James Bottomley
2022-12-12 15:20 ` Stefan Berger
2022-12-12 15:28 ` James Bottomley
2022-12-12 15:46 ` Stefan Berger
2022-12-12 15:47 ` Daniel P. Berrangé
2022-12-12 16:38 ` James Bottomley
2022-12-12 16:59 ` Stefan Berger
2022-12-12 18:48 ` James Bottomley
2022-12-12 18:58 ` Stefan Berger
2022-12-12 19:12 ` James Bottomley
2022-12-12 19:32 ` Stefan Berger
2022-12-12 20:24 ` Stefan Berger
2022-12-12 21:36 ` James Bottomley
2022-12-12 22:02 ` Stefan Berger
2022-12-12 22:27 ` James Bottomley
2022-12-12 22:43 ` Stefan Berger
2022-12-14 11:52 ` Daniel P. Berrangé
2022-12-14 12:43 ` James Bottomley
2022-12-15 2:42 ` Stefan Berger
2022-12-14 11:55 ` Daniel P. Berrangé [this message]
2022-12-12 22:06 ` James Bottomley
2022-12-14 11:31 ` Daniel P. Berrangé
2022-12-14 12:47 ` James Bottomley
2022-12-14 14:17 ` Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y5m5mq5yxQX88UKi@redhat.com \
--to=berrange@redhat.com \
--cc=armbru@redhat.com \
--cc=jejb@linux.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanb@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).