From cb9ec984347ebba902935494969e3ac94f98e2e9 Mon Sep 17 00:00:00 2001
From: Simone Onofri
- This section is a work in progress as this document evolves.
+ This section is a work in progress as this document evolves.
- The documents listed below outline initial security considerations
- for Digital Credentials, both broadly and for presentation on the
- web. Their contents will be integrated into this document gradually.
+ This section provides a few of the security considerations for the Digital Credentials API.
+ Note that there is a separate section for Privacy Considerations
+
+ Digital Credentials APIs are part of and integrated into a broader ecosystem related to digital credentials. Therefore, this section do not specify all security considerations, threats, and mitigations of the ecosystem, but only those related to, directly linked to, or influenced by the Digital Credentials API.
+
+
+ Digital Credentials APIs mediate the communication of the presentation from a verifier using a web application to the user's wallet, and the issuance of the credential to the user's wallet when the issuer uses a web application. However, there are other elements that come into play with regard to the security aspects of these interactions, e.g.
+
+ Therefore, the Threat Model for Digital Credentials API - and the resulting security considerations - is linked to other Threat Models, e.g., the Threat Model for Decentralized Credentials [[threat-model-decentralized-identities]], which describes threats at a broader level; the Threat Model for the Web [[threat-model-web]], which describes threats related to the Web Platform; the FIDO Security Reference, which describes threats related to the cross-device flow; as well as those related to other threat categories, such as Privacy.
+
+ Furthermore, it assumes certain specific conditions and therefore provides requirements to other elements of the ecosystem (e.g., other standards and related implementations).
+
+ To conclude this introductory section, it is important to note that Digital Credentials APIs were created as a mitigation to other possible approaches to presenting digital credentials on the web, such as customs schemes [[concerns-with-custom-schemes-for-identity-presentment]], and that Digital Credentials are also a mitigation to sending paper documents (e.g., scanned government documents) over the web.
+
+ The documents listed below outline initial security considerations for Digital Credentials API. Their contents will be integrated into this document gradually.
Security Considerations
- Introduction
+ References
+
"https://github.com/w3c-cg/threat-modeling/blob/main/models/decentralized-identities.md">
Threat Model for Decentralized Identities
This section is a work in progress as this document evolves.
- This section provides a few of the security considerations for the Digital Credentials API. - Note that there is a separate section for Privacy Considerations -
-- Digital Credentials APIs are part of and integrated into a broader ecosystem related to digital credentials. Therefore, this section do not specify all security considerations, threats, and mitigations of the ecosystem, but only those related to, directly linked to, or influenced by the Digital Credentials API. -
-
- Digital Credentials APIs mediate the communication of the presentation from a verifier using a web application to the user's wallet, and the issuance of the credential to the user's wallet when the issuer uses a web application. However, there are other elements that come into play with regard to the security aspects of these interactions, e.g. -
- Therefore, the Threat Model for Digital Credentials API - and the resulting security considerations - is linked to other Threat Models, e.g., the Threat Model for Decentralized Credentials [[threat-model-decentralized-identities]], which describes threats at a broader level; the Threat Model for the Web [[threat-model-web]], which describes threats related to the Web Platform; the FIDO Security Reference, which describes threats related to the cross-device flow; as well as those related to other threat categories, such as Privacy. -
-- Furthermore, it assumes certain specific conditions and therefore provides requirements to other elements of the ecosystem (e.g., other standards and related implementations). -
-- To conclude this introductory section, it is important to note that Digital Credentials APIs were created as a mitigation to other possible approaches to presenting digital credentials on the web, such as customs schemes [[concerns-with-custom-schemes-for-identity-presentment]], and that Digital Credentials are also a mitigation to sending paper documents (e.g., scanned government documents) over the web. -
+This section lists the use scenarios for the API - in other words, information about its expected use.
+Digital Credentials APIs are part of and integrated into a broader ecosystem related to digital credentials. + Therefore, this section does not specify all security considerations, threats, and mitigations of the ecosystem, but + only those related to, directly linked to, or influenced by the Digital Credentials API.
+It is important to note that Digital Credentials APIs were created to mitigate other possible approaches to + presenting digital credentials on the web, such as customs schemes + [[concerns-with-custom-schemes-for-identity-presentment]], and that Digital Credentials are also a mitigation to + sending paper documents (e.g., scanned government documents) over the web.
+Digital Credentials APIs mediate the communication of the presentation from a verifier using a web application to the + user's wallet, and the issuance of the credential to the user's wallet when the issuer uses a web + application.
+Presentation Workflow
+The section lists the external dependencies on other entities that can impact the security. These dependencies + contain assumptions made about the usage or behaviour of those other components or products. External + dependencies are requirements levied on systems outside the API.
+Therefore, the Threat Model for Digital Credentials API - and the resulting Security considerations - depends to + other Threat Models:
+Other dependencies relate to the ecosystem, in particular: supported protocols, credential format, and revocation + methods used.
+Finally, another important aspect relates to the security posture of the verifier application, which, even if + legitimate, could have vulnerabilities e.g., Cross Site Scripting (XSS), Cross-Site Request Forgery (CSRF) or + otherwise be compromised.
+This section describes the security assumptions, an implicit or explicit fact or condition upon which the API + security relies. These conditions or facts are expected to be true for the API to operate securely. If these + assumptions prove false, they can introduce vulnerabilities.
+The browser assumes the role of a trusted entity. It enforces its security features - such as same-origin policies + (SOP), executes Content Security Policy (CSP) and Cross-Origin Resource Sharing (CORS) checks, presents a secure, + non-forgeable UI that users can trust, and avoids containing or executing malicious third-party scripts or malicious + extensions.
+The browser is responsible for mediating the flow and preventing unauthorized access to credentials, and has a + trusted relationship with the Wallet.
+Given that the API acts as a mediator in the presentation of credentials, which are the asset to be protected, and + contains a registry of a series of protocols, it assumes that some threats are handled by the protocols and that, + being Internet protocols, they MUST comply with the provisions of RFC 3552 [[RFC3552]].
+The protocols need to consider and mitigate at least for the following attacks: eavesdropping, replay, message + insertion, deletion, modification, and man-in-the-middle.
+Furthermore, if they include query languages, they must be protected against injection vulnerabilities.
The documents listed below outline initial security considerations for Digital Credentials API. Their contents will be integrated into this document gradually.
From d52ced8d811e4bce0af8a70bd1a5fb8e2231eb40 Mon Sep 17 00:00:00 2001
From: Simone Onofri
Digital Credentials APIs mediate the communication of the presentation from a verifier using a web application to the - user's wallet, and the issuance of the credential to the user's wallet when the issuer uses a web + user's wallet, and the issuance of the credential to the user's wallet when the issuer uses a web application.
Presentation Workflow
Digital Credentials APIs mediate the communication of the presentation from a verifier using a web application to the - user's wallet, and the issuance of the credential to the user's wallet when the issuer uses a web + [=holder=], and the issuance of the credential to the [=holder=] when the issuer uses a web application.
Presentation Workflow
This section lists the use scenarios for the API - in other words, information about its expected use.
-Digital Credentials APIs are part of and integrated into a broader ecosystem related to digital credentials. +
The Digital Credentials API is part of and integrated into a broader ecosystem related to digital credentials. Therefore, this section does not specify all security considerations, threats, and mitigations of the ecosystem, but only those related to, directly linked to, or influenced by the Digital Credentials API.
It is important to note that Digital Credentials APIs were created to mitigate other possible approaches to
From e3cc0db8dcc4edbea1e05c8922a504d2932140f1 Mon Sep 17 00:00:00 2001
From: Simone Onofri The Digital Credentials API is part of and integrated into a broader ecosystem related to digital credentials.
Therefore, this section does not specify all security considerations, threats, and mitigations of the ecosystem, but
only those related to, directly linked to, or influenced by the Digital Credentials API. It is important to note that Digital Credentials APIs were created to mitigate other possible approaches to
+ It is important to note that the Digital Credentials API was created to mitigate other possible approaches to
presenting digital credentials on the web, such as customs schemes
[[concerns-with-custom-schemes-for-identity-presentment]], and that Digital Credentials are also an alternative to
sending paper documents (e.g., scanned government documents) over the web.Use Scenario
Use Scenario
Use Scenario
presenting digital credentials on the web, such as customs schemes
[[concerns-with-custom-schemes-for-identity-presentment]], and that Digital Credentials are also an alternative to
sending paper documents (e.g., scanned government documents) over the web.
Digital Credentials APIs mediate the communication of the presentation from a verifier using a web application to the +
The Digital Credentials API mediates the communication of the presentation from a verifier using a web application to the [=holder=], and the issuance of the credential to the [=holder=] when the issuer uses a web application.
Presentation Workflow
From 551aff82591874241ef2d31e414c24aa114fb904 Mon Sep 17 00:00:00 2001 From: Simone OnofriFurthermore, if they include query languages, they must be protected against injection vulnerabilities.
- The documents listed below outline initial security considerations for Digital Credentials API. Their contents will be integrated into this document gradually. + The documents listed below outline initial security considerations for the Digital Credentials API. Their contents will be integrated into this document gradually.