Subject: [Teep] Review of draft https://tools.ietf.org/html/draft-ietf-teep-otrp-over-http-06

From: Mingliang Pei <[email-masked]>
Date: Thu, 23 Apr 2020 22:13:15 -0700

On the last TEEP call, I agreed to review the TEEP HTTP transport draft.
Here are my comments and questions.

1) Abstract section says "is used to manage code and configuration data"

Should it just say manage "Trusted Applications" as this can
assume the context defined in TEEP architecture and TEEP protocol
document.

2) It also says "a Trusted Application Manager (TAM) service
   is used to manage TEEs in devices that can initiate communication to
   the TAM."

A TAM doesn't manage TEEs. Suggest change it to "manage Trusted
Applications".
TEEs don't initiate communication to the TAM. Suggest change it to "TEEP
Agent".

3) Section 1 says "a "Trusted Application Manager(TAM)" on the server side)
must
themselves run inside a TEE."

This specification shouldn't set this as a requirement. A TAM in a secure
data
center that passes certain security requirements could be acceptable to
some devices.

4) Section 2 says "and TEEP Broker, and Rich Execution Environment (REE)"

The first "and" could be removed?

5) Section 3: The hyperlink of "Section 6" doesn't point to the TEEP
architecture document.

6) Section 5.1: "The TEEP/HTTP Client then informs the TEEP implementation"
and
"The TEEP implementation will either (a) pass no data back,..."

Should this TEEP implementation mean the "TEEP Agent" inside the TEE?

7) Section 5.4 says "An implementation MUST provide a way to periodically
check for TEEP
   policy changes."

TEEP policy hasn't been defined so far yet. Good to provide some examples
of this,
and where they are defined and who defines them. Will it mean TEEP client
policy
or TEEP server policy? The TA revocation status check in B) may not mean a
policy; the
time frequency to check TA revocation would be a policy.

8) Section 7 says "The TEEP/HTTP Client calls the TEEP implementation's
"RequestTA"
        API, passing TA Needed = X."

Should it be calling "TEEP Agent"? So far, we assume that all
communications to
TEEP in TEE will go through TEEP Agent. In step 3 below, it indicates that
"The TEEP Agent passes the TAM URI..."

9) Step 8 says "Back on the TEEP Agent side"

Does it mean "TEEP Broker side"?

10) Step 9: shouldn't the TEEP Agent be involved in this communication?

11) Step 11 says "passes
        the payload up to the TAM implementation."

To be consistent with step 5 above, "TAM implementation" changes to "TEEP
implementation"
or "TAM TEEP Implementation".

Nits:

Section 4: s/upon a following such a redirect/upon following such a redirect
Section 5.1: s/the TEEP/HTTP Client attempts to create session state/the
TEEP/HTTP Client attempts to create a session state

Ming