[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALCETrWoAkYTjetqm1e9zYGvetEhn0WQL5poLWv_saQktcHu7g@mail.gmail.com>
Date: Tue, 7 Oct 2014 10:58:27 -0700
From: Andy Lutomirski <luto@...capital.net>
To: Stefan Berger <stefanb@...ux.vnet.ibm.com>
Cc: Peter Huewe <PeterHuewe@....de>, keyrings@...ux-nfs.org,
jarkko.sakkinnen@...ux.intel.com,
"ksummit-discuss@...ts.linuxfoundation.org"
<ksummit-discuss@...ts.linuxfoundation.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
LSM List <linux-security-module@...r.kernel.org>,
tpmdd-devel@...ts.sourceforge.net,
James Morris <james.l.morris@...cle.com>,
linux-ima-devel@...ts.sourceforge.net,
trousers-tech@...ts.sourceforge.net
Subject: Re: [TrouSerS-tech] [Ksummit-discuss] TPM MiniSummit @ LinuxCon Europe
On Tue, Oct 7, 2014 at 10:54 AM, Stefan Berger
<stefanb@...ux.vnet.ibm.com> wrote:
> On 09/23/2014 12:42 PM, Andy Lutomirski wrote:
>>
>> On Sep 22, 2014 2:07 AM, "Peter Huewe" <PeterHuewe@....de> wrote:
>>>
>>> Hi,
>>>
>>> I would like to 'invite' all interested parties in a short TPM minisummit
>>> where we can discuss the following hot topics of the TPM subsystem over a
>>> beer or two:
>>> - State of the TPM Subsystem
>>> - De-/Initialization Mess
>>> - Devm'ification
>>> - Testing
>>> - TPM 2.0 Support
>>> - Dependencies / interaction with other subsystems (e.g. keyring / IMA)
>>> - Status of old 1.1b TPM drivers, deprecation plans
>>> - ...
>>>
>> I am unlikely to be there, but I have a feature request / food for
>> thought:
>>
>> Using a mandatory userspace daemon (e.g. trousers) for TPM access
>> sucks. Might it be possible to teach the kernel to handle context
>> save and restore and let multiple processes open the device at once?
>> Then a daemon wouldn't be necessary.
>
>
> Why add the complexity of swapping of authenticated sessions and keys into
> the kernel if you can handle this in userspace? You need a library that is
> aware of the number of key slots and slots for sessions in the TPM and swaps
> them in at out when applications need them. Trousers is such a library that
> was designed to cope with the limitations of the device and make its
> functionality available to all applications that want to access it.
>
Trousers is a daemon, not a library, and it's really quite scary.
Admittedly, my information may be a bit out of date, but trousers
contains way too much code (it has layers in the server!), it has
parsers and serializers of questionable safety (I found one critical
bug *by accident* a couple years ago), it listens on a TCP socket
(this should really be a UNIX socket under /run), it's heavy-weight,
and it does far more than necessary (all it needs to do is context
switching).
Also, Trousers is quite unfriendly to non-Trousers-using programs
(e.g. chapsd/trunks).
If the kernel helped with context switching, then user programs that
actually want Trousers' functionality could run their own copies.
--Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists