diff --git a/index.bs b/index.bs index 564e2529d..30c4ea487 100644 --- a/index.bs +++ b/index.bs @@ -1794,9 +1794,8 @@ When this method is invoked, the user agent MUST execute the following algorithm |lifetimeTimer| to this adjusted value. If |pkOptions|.{{PublicKeyCredentialCreationOptions/timeout}} is not present, then set |lifetimeTimer| to a [=client=]-specific default. - Recommended ranges and defaults for |pkOptions|.{{PublicKeyCredentialCreationOptions/timeout}} are as follows. - * Recommended range: 300000 milliseconds to 600000 milliseconds. - * Recommended default value: 300000 milliseconds (5 minutes). + See the [=recommended range and default for a WebAuthn ceremony timeout=] + for guidance on deciding a reasonable range and default for |pkOptions|.{{PublicKeyCredentialCreationOptions/timeout}}. Note: The user agent should take cognitive guidelines into considerations regarding timeout for users with special needs. @@ -2296,9 +2295,8 @@ When this method is invoked, the user agent MUST execute the following algorithm Set a timer |lifetimeTimer| to this adjusted value. If |pkOptions|.{{PublicKeyCredentialRequestOptions/timeout}} is not present, then set |lifetimeTimer| to a [=client=]-specific default. - Recommended ranges and defaults for |pkOptions|.{{PublicKeyCredentialRequestOptions/timeout}} are as follows. - * Recommended range: 300000 milliseconds to 600000 milliseconds. - * Recommended default value: 300000 milliseconds (5 minutes). + See the [=recommended range and default for a WebAuthn ceremony timeout=] + for guidance on deciding a reasonable range and default for |pkOptions|.{{PublicKeyCredentialRequestOptions/timeout}}. Note: The user agent should take cognitive guidelines into considerations regarding timeout for users with special needs. @@ -8354,6 +8352,9 @@ upon a client's behavior, e.g., the [=[RP]=] SHOULD store the challenge temporar until the operation is complete. Tolerating a mismatch will compromise the security of the protocol. +Challenges SHOULD be valid for a duration similar to the +upper limit of the [=recommended range and default for a WebAuthn ceremony timeout=]. + In order to prevent replay attacks, the challenges MUST contain enough entropy to make guessing them infeasible. Challenges SHOULD therefore be at least 16 bytes long. @@ -8844,8 +8845,16 @@ as discussed in [[#sctn-username-enumeration]]. [=[RPS]=], at [=registration=] time, SHOULD provide affordances for users to complete future [=authorization gestures=] correctly. This could involve naming the authenticator, choosing a picture to associate with the device, or entering freeform text instructions (e.g., as a reminder-to-self). + +## Recommended Range for Ceremony Timeouts ## {#sctn-timeout-recommended-range} + [=Ceremonies=] relying on timing, e.g., a [=registration ceremony=] (see {{PublicKeyCredentialCreationOptions/timeout}}) or an [=authentication ceremony=] (see {{PublicKeyCredentialRequestOptions/timeout}}), ought to follow [[!WCAG21]]'s [Guideline 2.2 Enough Time](https://www.w3.org/TR/WCAG21/#enough-time). If a [=client platform=] determines that a [=[RP]=]-supplied timeout does not appropriately adhere to the latter [[!WCAG21]] guidelines, then the [=client platform=] MAY adjust the timeout accordingly. +The recommended range and default for a WebAuthn ceremony timeout is as follows: + +* Recommended range: 300000 milliseconds to 600000 milliseconds. +* Recommended default value: 300000 milliseconds (5 minutes). + # Acknowledgements # {#sctn-acknowledgements} We thank the following people for their reviews of, and contributions to, this specification: