Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplifying attestation, take two #244

Closed
vijaybh opened this issue Nov 2, 2016 · 5 comments
Closed

Simplifying attestation, take two #244

vijaybh opened this issue Nov 2, 2016 · 5 comments

Comments

@vijaybh
Copy link
Contributor

vijaybh commented Nov 2, 2016

Some colleagues and I have spent a fair bit of time with attestation recently, thinking through implementation issues. It became apparent to us that a browser implementation has to do significant parsing of the attestation data returned from the authenticator even though the client really should not care about the contents of this.

Strawman suggestion that we came up with:

  • Reduce WebAuthnAttestation to { ArrayBuffer clientData; ArrayBuffer attestation; }
  • Have attestation be a CBOR map containing
    • Format
    • authenticatorData
    • format-specific content (different for packed vs. TPM and so on)
  • Perhaps this will become obsolete if we implement the above, but any place we insert the algorithm of the attestation signature, we could remove that field for the case of self attestation

The above CBOR map would not be parsed at all on the client, only at the server. This might also simplify the IDL a little bit.

@rlin1
Copy link
Contributor

rlin1 commented Nov 2, 2016

+1: It is an important goal to make the object opaque for platforms

@leshi
Copy link
Contributor

leshi commented Nov 2, 2016

👍

@leshi
Copy link
Contributor

leshi commented Dec 10, 2016

We like this -- this means that Browsers won't need to be updated when an additional attestation format is defined -- yay!

@leshi
Copy link
Contributor

leshi commented Dec 23, 2016

Let me take a crack at this...

@leshi leshi self-assigned this Dec 23, 2016
@equalsJeffH
Copy link
Contributor

see also #226 and #233

vijaybh added a commit that referenced this issue Jan 9, 2017
Puts all attestation info into a CBOR object which is opaque to client
and only parsed by RP. Fixes #244.

This also lays some of the groundwork for adding a U2F attestation
format.

I will clean up the TPM attestation section in a separate commit.
MXEBot pushed a commit to mirror/chromium that referenced this issue Jan 21, 2017
This CL adds the WebAuthn bindings and interface to support
WebAuthentication.makeCredential and WebAuthentication.getAssertion.

The draft spec is here: https://w3c.github.io/webauthn/

The interface is likely to change as the spec matures. We're tracking the
comments and suggestions from this review via issues opened with the working
group:
w3c/webauthn#310
w3c/webauthn#311
w3c/webauthn#312
w3c/webauthn#313

This patch also proactively implements the change to WebAuthnAttestation
suggested here: w3c/webauthn#244

BUG=664630

Review-Url: https://codereview.chromium.org/2533863002
Cr-Commit-Position: refs/heads/master@{#445239}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants