webauthn icon indicating copy to clipboard operation
webauthn copied to clipboard

device public key extension

Open equalsJeffH opened this issue 3 years ago • 8 comments

The resolves #1658 by defining the devicePubKey extension et al. It is admittedly rough and will need further work, thus am casting it as a "draft" PR.

update 4-Mar-2022: @ve7jtb has submitted issue https://github.com/w3c/webauthn/issues/1701 --- this PR needs to be updated to address it.

update 19-Mar-2022: commit f0fe8f2 is a rough start at adding an authenticator-generated nonce to attObjForDevicePublicKey: fixes #1701

update 23-Mar-2022: there's now commits beyond f0fe8f2 attempting to further refine the RP usage and extension output verification procedures. Though, see also issue #1711 and https://github.com/w3c/webauthn/pull/1663#issuecomment-1077868106: issue #1711 really needs to be addressed as a part of the devicePubKey effort.


Preview | Diff

equalsJeffH avatar Aug 21 '21 06:08 equalsJeffH

together, 55e64c9 and 41ffcbf embody (a) polishing/expansion of the intro prose, and (b) very rough, first draft verification procedures (which will undoubtedly receive further polishing (suggestions welcome!)).

equalsJeffH avatar Jan 18 '22 06:01 equalsJeffH

on the 9-Feb-2022 call:

  1. it was suggested that the "RP operations" sections should explicitly link to the device public key verification procedures. commit 23ea3ef does this.

    Note that the reverse linkage was already true: the device public key verification procedures explicitly link to the "extension output processing" steps in the "RP operations" sections.

  2. We should note, perhaps in the devicePubKey extension definition section, that an authenticator-cum-platform may have UX to allow for users to delete or rotate DPKs.

equalsJeffH avatar Feb 18 '22 01:02 equalsJeffH

on 23-Feb-2022 call: @ve7jtb has submitted issue #1701 --- this PR needs to be updated to address that.

Subsequently, in commit 17f3aa2, I've explicitly noted issue #1701 in the spec and made clarifications/updates to the "Relying Party Usage" section in an effort to make it more accurately reflect the significance of the signatures returned by the devicePubKey extension.

equalsJeffH avatar Mar 04 '22 19:03 equalsJeffH

on 19-Mar-2022 I added commit f0fe8f2 as a rough start at adding an authenticator-generated nonce to attObjForDevicePublicKey intended to fix issue #1701. It undoubtedly needs further revision and polish. cc: @agl @emlun @ve7jtb @akshayku

equalsJeffH avatar Mar 23 '22 16:03 equalsJeffH

On 23-Mar-2022 f145234 and b8d8567 further refining the RP usage and extension output verification procedures.

Though, see also issue #1711: In the RP operations sections, the attestation signature (in registration op) and the user credential signature (in authentication op) are not verified until near the end of the operation, thus they call for extension processing before knowing whether the overall operation is valid. (this is a security issue)

Since the devicePubKey extension validation (and usage) processing calls for the RP to be updating information stored in user accounts, issue #1711 really needs to be addressed as a part of the devicePubKey effort.

equalsJeffH avatar Mar 24 '22 17:03 equalsJeffH

wseltzer marked as non substantive for IPR from ash-nazg.

w3cbot avatar May 19 '22 23:05 w3cbot

wseltzer marked as substantive for IPR from ash-nazg.

w3cbot avatar May 19 '22 23:05 w3cbot

(We know @equalsJeffH was a member of the group at the time he made the PR. If/when it's ready for merging, we can deal with the IPR bot.)

wseltzer avatar May 19 '22 23:05 wseltzer

Sorry, I meant to submit 88be1a6dd6701059482c7bbbb1961ea08f84863d as a meta-PR but accidentally pushed it directly into the PR. Let me know if I should roll it back.

emlun avatar Aug 23 '22 13:08 emlun

Sorry, I meant to submit https://github.com/w3c/webauthn/commit/88be1a6dd6701059482c7bbbb1961ea08f84863d as a meta-PR but accidentally pushed it directly into the PR. Let me know if I should roll it back.

Nope, that's totally fine, thank you!

(Hoping to do another pass today ahead of tomorrow's meeting.)

agl avatar Aug 23 '22 13:08 agl

From the call of 2022-10-05: address https://github.com/w3c/webauthn/pull/1663/files#r790893167 and then work with Wendy to get this landed.

agl avatar Oct 05 '22 19:10 agl

wseltzer marked as non substantive for IPR from ash-nazg.

w3cbot avatar Oct 07 '22 12:10 w3cbot

Noting that @equalsJeffH made his contributions while a Member participant in the WG, and thus with IPR commitments under the W3C Patent Policy, I'm dismissing the IPR bot with "non-substantive" mark. Thanks @agl!

wseltzer avatar Oct 07 '22 12:10 wseltzer