Re: [webauthn] Make attestation more modular

Some comments:

a) section 5.2.1 AuthenticatorData: This is defined as data controlled
 by the authenticator.   This is not always the case.
a.1) When using a KeyStore based authenticator (e.g. keymaster impl in
 TEE providing generic keyStore interface to the key), then this key 
can be used by the calling App to sign anything (key is not restricted
 to sign valid WebAuthn signature assertions only).
a.2) When using an Android "N" KeyStore based authenticator, the "N" 
HW attestation allows the calling App to include an arbitrary Nonce 
(or challenge) value. In the current draft, this structure is also 
called authenticatorData (same structure as in 5.2.1).  However, in 
this case this authenticatorData is also not fully controlled by the 
Authenticator (i.e. keymaster), but by the calling App.
As a consequence, I propose renaming authenticatorData to level2Data.
  Level2Data might be fully controlled by the Authenticator or by the 
App, the RP has to check Metaddata and/or the attestation certificate 
in order to understand whether it is controlled by the authenticator 
(or the App).

b) the field "statement" in WebAuthnAttestation might be controlled by
 a dedicated secure element being part of an authenticator or by the 
authenticator in general.  In order to make it more consistent, I 
propose to rename this field to level1Data.

See branch rolf-modular-attestation-changes

-- 
GitHub Notification of comment by rlin1
Please view or discuss this issue at 
https://github.com/w3c/webauthn/pull/161#issuecomment-246957938 using 
your GitHub account

Received on Wednesday, 14 September 2016 09:33:32 UTC