Skip to content

Commit e0fb9b2

Browse files
committed
Update obsolete privacy concerns about throwing errors early
1 parent a871f79 commit e0fb9b2

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

index.bs

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2234,9 +2234,7 @@ a numbered step. If outdented, it (today) is rendered as a bullet in the midst o
22342234
</dl>
22352235
</li>
22362236

2237-
1. Throw a "{{NotAllowedError}}" {{DOMException}}. In order to prevent information leak that could identify the
2238-
user without [=user consent|consent=], this step MUST NOT be executed before |lifetimeTimer| has expired. See
2239-
[[#sctn-make-credential-privacy]] for details.
2237+
1. Throw a "{{NotAllowedError}}" {{DOMException}}.
22402238

22412239
During the above process, the user agent SHOULD show some UI to the user to guide them in the process of selecting and
22422240
authorizing an authenticator. When <code>|options|.{{CredentialCreationOptions/mediation}}</code> is set to {{CredentialMediationRequirement/conditional}}, prominent modal UI should <i>not</i> be shown <i>unless</i> credential creation was previously consented to via means determined by the user agent.
@@ -2683,9 +2681,7 @@ When this method is invoked, the user agent MUST execute the following algorithm
26832681
1. Return |constructAssertionAlg| and terminate this algorithm.
26842682
</dl>
26852683

2686-
1. Throw a "{{NotAllowedError}}" {{DOMException}}. In order to prevent information leak that could identify the
2687-
user without [=user consent|consent=], this step MUST NOT be executed before |lifetimeTimer| has expired. See
2688-
[[#sctn-assertion-privacy]] for details.
2684+
1. Throw a "{{NotAllowedError}}" {{DOMException}}.
26892685

26902686
</div>
26912687

@@ -8806,8 +8802,8 @@ credential|credentials=] listed by the [=[RP]=] in {{PublicKeyCredentialCreation
88068802
If the above cases are distinguishable, information is leaked by which a malicious [=[RP]=] could identify the user by probing for
88078803
which [=public key credential|credentials=] are available. For example, one such information leak is if the client returns a
88088804
failure response as soon as an excluded [=authenticator=] becomes available. In this case - especially if the excluded
8809-
[=authenticator=] is a [=platform authenticator=] - the [=[RP]=] could detect that the [=ceremony=] was canceled before the
8810-
timeout and before the user could feasibly have canceled it manually, and thus conclude that at least one of the [=public key
8805+
[=authenticator=] is a [=platform authenticator=] - the [=[RP]=] could detect that the [=ceremony=] was canceled
8806+
before the user could feasibly have canceled it manually, and thus conclude that at least one of the [=public key
88118807
credential|credentials=] listed in the {{PublicKeyCredentialCreationOptions/excludeCredentials}} parameter is available to the user.
88128808

88138809
The above is not a concern, however, if the user has [=user consent|consented=] to create a new credential before a
@@ -8826,12 +8822,18 @@ key credential|credential=] is listed by the [=[RP]=] in {{PublicKeyCredentialRe
88268822
- A named [=public key credential|credential=] is available, but the user does not [=user consent|consent=] to use it.
88278823

88288824
If the above cases are distinguishable, information is leaked by which a malicious [=[RP]=] could identify the user by probing
8829-
for which [=public key credential|credentials=] are available. For example, one such information leak is if the client returns a
8830-
failure response as soon as the user denies [=user consent|consent=] to proceed with an [=authentication ceremony=]. In this
8831-
case the [=[RP]=] could detect that the [=ceremony=] was canceled by the user and not the timeout, and thus conclude that at least
8825+
for which [=public key credential|credentials=] are available.
8826+
For example, one such information leak may happen if the client displays instructions and controls
8827+
for canceling or proceeding with the [=authentication ceremony=]
8828+
only after discovering an [=authenticator=] that [=contains=] a named [=credential=].
8829+
In this case, if the [=[RP]=] is aware of this [=client=] behavior,
8830+
the [=[RP]=] could detect that the [=ceremony=] was canceled by the user and not the timeout, and thus conclude that at least
88328831
one of the [=public key credential|credentials=] listed in the {{PublicKeyCredentialRequestOptions/allowCredentials}} parameter is
88338832
available to the user.
88348833

8834+
This concern may be addressed by displaying controls allowing the user to cancel an [=authentication ceremony=] at any time,
8835+
regardless of whether any named [=credentials=] are available.
8836+
88358837

88368838
### Privacy Between Operating System Accounts ### {#sctn-os-account-privacy}
88378839

0 commit comments

Comments
 (0)