You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: security-privacy-questionnaire.md
+40-44Lines changed: 40 additions & 44 deletions
Original file line number
Diff line number
Diff line change
@@ -14,61 +14,60 @@ authenticate the user for fraud protection; SPC allows them to fulfill the
14
14
requirement to validate the authentication while enabling the merchant to
15
15
manage the user experience.
16
16
17
+
Thus, following a browser prompt and user consent, the information
18
+
that is exposed to the Web site is the Web Authentication assertion
19
+
that includes signed transaction data.
20
+
17
21
## 2. Do features in your specification expose the minimum amount of information necessary to enable their intended uses?
18
22
19
23
Yes.
20
24
21
25
## 3. How do the features in your specification deal with personal information, personally-identifiable information (PII), or information derived from them?
22
26
23
-
The features does not collect or expose any such information.
27
+
Any information displayed through this feature is provided by the
28
+
caller (e.g., the merchant). The Web Authentication credentialID in
29
+
the assertion that is generated after a browser prompt and user
30
+
consent is considered public information (not PII).
24
31
25
32
## 4. How does this specification deal with sensitive information?
26
33
27
-
The only sensitive information this feature handles relates to the (WebAuthn)
28
-
credential ID of the created credential. This credential ID is saved in the
29
-
user agent along side the Relying Party ID when the issuing bank creates an
30
-
SPC-enabled `PublicKeyCredential`. Later, an origin that has access to this
31
-
credential ID, presumably via a trusted server integration with the issuing
32
-
bank, can provide it to the user agent via [Payment Request API] to exercise
33
-
the corresponding `PublicKeyCredential`.
34
+
Although the credentialID that results from Web Authentication is not considered
35
+
PII, it may be considered sensitive. credentialIDs are provided as input
36
+
to the API. The API reveals that the user has an associated authenticator only
37
+
after a browser prompt and user consent.
34
38
35
39
## 5. Do the features in your specification introduce new state for an origin that persists across browsing sessions?
36
40
37
-
No.
41
+
Secure Payment Confirmation relies on Web Authentication, which introduces state. Secure Payment Confirmation
42
+
does not introduce additional state.
38
43
39
-
## 6. Do the features in your specification expose information about the underlying platform to origins?
44
+
## 6. Do the features in your specification expose information about the underlying platform to origins?
40
45
41
-
No. As with WebAuthn we take care not to expose e.g. credential existence (or
42
-
lack thereof) to any caller.
46
+
Secure Payment Confirmation relies on Web Authentication, which
47
+
exposes some underlying information. Secure Payment Confirmation,
48
+
like Web Authentication, takes care not to expose e.g. credential
49
+
existence (or lack thereof) to any caller.
43
50
44
51
## 7. Does this specification allow an origin to send data to the underlying platform?
45
52
46
-
(TO COMPLETE)
53
+
Secure Payment Confirmation relies on Web Authentication, which supports interactions with the
54
+
underlying platform (that is, authenticators). Secure Payment Confirmation sends transaction
55
+
data to authenticators to be included in the resulting assertion using a standard Web
56
+
Authentication mechanism (clientData).
47
57
48
58
## 8. Do features in this specification enable access to device sensors?
49
59
50
-
This feature allows an origin to access the user's authenticator to create or
51
-
exercise a public key credential.
52
-
53
-
## 8. What data does this specification expose to an origin? Please also document what data is identical to data exposed by other features, in the same or different contexts.
54
-
55
-
This feature exposes the same data as [Web Authentication] with one exception:
56
-
it allows any origin to exercise a credential via Payment Request API, provided
57
-
that the user consents on a user agent's native UI that clearly indicates that
58
-
the calling origin is requesting payment using a specific payment instrument.
59
-
When the user consents and provides an authentication gesture, the calling
60
-
origin gains access to a [PublicKeyCredential] that contains an
61
-
[AuthenticatorAssertionResponse]. This data structure contains a credential ID,
62
-
which is information the caller already has, and a crytographic signature, which
63
-
is not useful unless the caller has access to the relevant public key.
60
+
Secure Payment Confirmation relies on Web Authentication, which supports interactions with the
61
+
underlying platform (that is, authenticators).
64
62
65
63
## 9. Do features in this specification enable new script execution/loading mechanisms?
66
64
67
65
No.
68
66
69
67
## 10. Do features in this specification allow an origin to access other devices?
70
68
71
-
No.
69
+
Secure Payment Confirmation relies on Web Authentication; discussions about multidevice
70
+
credentials in Web Authentication are ongoing.
72
71
73
72
## 11. Do features in this specification allow an origin some measure of control over a user agent’s native UI?
74
73
@@ -86,45 +85,42 @@ when validating the assertion and reject the transaction.
86
85
87
86
## 12. What temporary identifiers do the features in this specification create or expose to the web?
88
87
89
-
This specification does not create any temporary identifier beyond what is
90
-
created by [Web Authentication].
88
+
None.
91
89
92
90
## 13. How does this specification distinguish between behavior in first-party and third-party contexts?
93
91
94
92
This feature mostly inherits the behavior from [Web Authentication], with the
95
93
following exceptions:
96
94
97
-
- When a Relying Party is embedded in a cross-origin iframe that has [delegated
98
-
permission], that Relying Party is able to register an SPC-enabled
99
-
`PublicKeyCredential` for itself.
95
+
- Web Authentication Level 2 does not allow credential creation in a cross-origin iframe; Secure Payment Confirmation does (with delegated permission and user activation). Discussions about whether Web Authentication Level 3 should allow credential creation in a cross-origin iframe are ongoing.
100
96
- A SPC-enabled `PublicKeyCredential` can be exercised in any context where
101
97
Payment Request API is allowed, i.e. a first-party secure context, or a
102
98
third-party secure context with [delegated permission] from the top-level
## 14. How do the features in this specification work in the context of a browser’s Private Browsing or Incognito mode?
103
+
## 14. How do the features in this specification work in the context of a browser’s Private Browsing or Incognito mode?
108
104
109
-
This feature behaves identically regardless of Private Browsing or "incognito"
110
-
mode. This is identical to [Web Authentication].
105
+
Secure Payment Confirmation relies on [Web Authentication], which
106
+
behaves identically regardless of Private Browsing or "incognito"
107
+
mode.
111
108
112
109
## 15. Does this specification have both "Security Considerations" and "Privacy Considerations" sections?
113
110
114
111
Yes.
115
112
116
113
## 16. Do features in your specification enable origins to downgrade default security protections?
117
114
118
-
This feature downgrades the Relying Party restriction of [Web Authentication]
119
-
when a credential is exercised inside a payment context. The original
120
-
restriction was meant to prevent phishing. We believe this feature does not
121
-
increase phishing risk because the user agent shows a native UI to clearly
122
-
inform the user the parties involved in a payment transaction who are seeking to
123
-
authenticate the user.
115
+
Secure Payment Confirmation differs (currently) from Web Authentication in two ways related to default security protections:
116
+
117
+
* Web Authentication Level 2 does not allow credential creation in a cross-origin iframe; Secure Payment Confirmation does (with delegated permission and user activation).
118
+
* Web Authentication Level 2 credentials may only be used at authentication time by the Relying Party that created them. If a Relying Party approves (at credential creation time), Secure Payment Confirmation allows other parties to use credentials, with an associated user agent prompt and user consent.
124
119
125
120
## 17. How does your feature handle non-"fully active" documents?
126
121
127
-
(TO COMPLETE)
122
+
Secure Payment Confirmation inherits behavior from Payment Request API related
123
+
to non-"fully active" documents (see sections on show(), retry(), and complete()).
0 commit comments