On Thu, Oct 26, 2017 at 12:26:10AM +0200, Peter Huewe wrote: > > > Am 25. Oktober 2017 20:53:49 MESZ schrieb Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>: > >On Wed, Oct 25, 2017 at 07:17:17AM -0700, Matthew Garrett wrote: > >> On Wed, Oct 25, 2017 at 6:44 AM, Jarkko Sakkinen > >> <jarkko.sakkinen@xxxxxxxxxxxxxxx> wrote: > >> > I'm implementing a fix for CVE-2017-15361 that simply blacklists > >> > vulnerable FW versions. I think this is the only responsible action > >from > >> > my side that I can do. > >> > >> I'm not sure this is ideal - do Infineon have any Linux tooling for > >> performing firmware updates, and if so will that continue working if > >> the device is blacklisted? It's also a poor user experience to have > >> systems using TPM-backed disk encryption keys suddenly rendered > >> unbootable, and making it as easy as possible for people to do an > >> upgrade and then re-seal secrets with new keys feels like the correct > >> approach. > > > >I talked today with Alexander Steffen in the KS unconference and we > >concluded that this would be a terrible idea. > > > >Alexander stated the following things about FW updates (Alexander, > >please correct me if I state something incorrectly or if you have > >something to add): > > > >* FW update can be constructed either in a way that the keys in the > > NVRAM are not cleared or in a way that they are cleared. > >* FW update cannot be directly applied to the TPM but must come as > > part of the firmware update from the vendor. > > > >I proposed the following as an alternative: > > > >* Print a message to the klog (which log level would be appropriate?). > Info? > Maybe warn, definitely not err Since the driver does not fail usually warn would make sense but since here even allowing to continue to use such TPM is questionable I would use error here. People anyway ignore klog too easily so using warn would be a mistake in my opinion. It's like saying that nothing serious is happening here, move along. Do you think so? > >* Possibly sleep for few seconds. Is this a good idea? > Helps how? Obviously to get it noticed that the system integrity is broken. > >While writing this email yet another alternative popped into my mind: > >what if we allow only in-kernel use but disallow the use of /dev/tpm0? > >You could still use trusted keys. > > > No, same terrible idea since you block the upgrade path. > Upgrade tools work from userspace via the kernel driver. > So /dev/tpm0 is necessary. Right! How stupid of me (my previous response to Jerry) :-) Of course you can have special commands and talk to the TPM to do the upgrade even if it is part of the platform and not connected to a standard bus. I got understanding in the yesterdays unconfernce discussion that it should be part of the firmware upgrade. How do you do the upgrade through /dev/tpm0? /Jarkko