Android 9.0.0 Release 16 (PQ1A.181105.017.A1)
Use TEE keymaster for ID attestation.

Since it was introduced, ID attestation has always been performed by
the TEE keymaster, because it was the only one.  When StrongBox
support was added, it became necessary to select which of the two
keymaster instances to use.  There is no API for the caller to be able
to choose which one to use in this case.  The decision was made to use
the strongest keymaster instance available, favoring StrongBox over
TEE if available.  However, StrongBox instances are much slower, and
we should not impose this additional latency on clients who did not
request it.  Also, the decision to use StrongBox doesn't fit the goals
of the OEM Unlock protocol, which relies on ID attestation.

This CL changes ID attestation so that it always uses the TEE
keymaster instance, ignoring StrongBox if available.  In the future,
we'll provide a way for the client to select StrongBox if they want
it.

Bug: 110834325
Test: Keystore CTS tests
Change-Id: Idec1d83e42a2d283b0521ff4699ab62b84d419ec
1 file changed