Re: [PATCH 2/2] ftpm: firmware TPM running in TEE

From: Jarkko Sakkinen
Date: Wed Apr 10 2019 - 07:29:35 EST


On Sat, Apr 06, 2019 at 11:30:47AM -0400, Sasha Levin wrote:
> On Wed, Apr 03, 2019 at 09:27:28PM +0300, Jarkko Sakkinen wrote:
> > On Wed, Apr 03, 2019 at 09:18:27PM +0300, Jarkko Sakkinen wrote:
> > > On Tue, Apr 02, 2019 at 03:33:16PM -0400, Sasha Levin wrote:
> > > > This patch adds support for a software-only implementation of a TPM
> > > > running in TEE.
> > > >
> > > > There is extensive documentation of the design here:
> > > > https://www.microsoft.com/en-us/research/publication/ftpm-software-implementation-tpm-chip/ .
> > > >
> > > > As well as reference code for the firmware available here:
> > > > https://github.com/Microsoft/ms-tpm-20-ref/tree/master/Samples/ARM32-FirmwareTPM
> > > >
> > > > Signed-off-by: Thirupathaiah Annapureddy <thiruan@xxxxxxxxxxxxx>
> > > > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
> > >
> > > What is the context anyway? I mean tpm_crb already supports fTPM running
> > > in TZ.
> >
> > Might take 2-3 weeks before I have time to go through ftpm1.pdf with
> > full concentration. I did search through the PDF for CRB and found
> > zero hits.
>
> The fTPM as described in that paper and implemented in practice does not
> use the CRB interface, thus we can't use tpm_crb to interface with the
> firmware TPM.

Obviously not but what is the reason of not implementing CRB but instead
making yet another interface? I mean CRB supports SMC call.

For me this is taking steps back as to the early days when there was
proprietary intefaces to TPM before TCG came along and stardized.

I'm sure that the TPM implementation itself could be reworked to
inteface using CRB. It would also be good for ARM as a platform as now
this new made up interface causes unwanted divergence. I thought that
throwing ad hoc intefaces everywhere is something that ARM Linux
community tries to reduce, not increase.

/Jarkko