Subject: Re: [Teep] Working Group Last Call for draft-ietf-teep-architecture

From: Dave Thaler <[email-masked]>
Date: Fri, 7 Feb 2020 20:59:30 +0000

[Tiru]  r) In Figure 4, for the purpose of "Code signing" my understanding is the location of corresponding CA certs is both TEE and TAM.

[Hannes] I believe it would be useful to also store the CA cert that is used for code signing at the TAM because then it can verify the signed TAs. 

[Dave] I don’t believe there is any such requirement on a TAM.   It might be “useful” but is not required in my view.

[Tiru] why do you think verification in TAM is not required?

[Ming] TA signature verification must be verified. Currently a TEE will check this code signing, and the CA certificate will be in TEE. See Figure 4 in the doc.
       "Code Signing          1 per SP       TA binary          TEE"
Note the above "TA binary encryption" discussion. If a TA is given to a TAM in an encrypted form, such a signature check isn't feasible. But we can
assume that TAM provider always vet TA binaries that it distributes for its service reputation protection.

       Note that there is also the other TA delivery mode where a TA's binary is bundled inside an Untrusted Application as binary data. In this case, the binary isn't sent to TAM for distribution.

       There is also the other case: many SPs / TA App Developers use the same extremely popular TAM service. Device manufacturers may want to limit
       to accept only a set of TA providers by using the code signing CA trust list. The architecture allows such support with the coding signing trust check in TEE.

[Tiru] Got it, Thanks. 

Also wanted to answer Tiru's question to me, which Ming also answered... If the TA developer has to authenticate with the TAM in order to upload the TA binary in the first place,
then having the TAM additionally check the signature on the TA binary is not necessary if it trusts the TA developer, or if it has contractually agreed to distribute that TA developer's binaries.
The entity that uploads the binary need not be the same entity that signs the binary.  So for example, I might get the TA binary signed by a CA that the TEE trusts, and then upload it to the
TAM using my own credentials that the TAM recognizes.

Dave