diff --git a/assets/credential-layer.svg b/assets/credential-layer.svg new file mode 100644 index 0000000..4b8b9dc --- /dev/null +++ b/assets/credential-layer.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/falcon-lego.png b/assets/falcon-lego.png new file mode 100644 index 0000000..5899cdc Binary files /dev/null and b/assets/falcon-lego.png differ diff --git a/assets/falcon-park.png b/assets/falcon-park.png new file mode 100644 index 0000000..aab0696 Binary files /dev/null and b/assets/falcon-park.png differ diff --git a/assets/threat-model-digital-credentials-ietf120.svg b/assets/threat-model-digital-credentials-ietf120.svg new file mode 100644 index 0000000..7d2037f --- /dev/null +++ b/assets/threat-model-digital-credentials-ietf120.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/index.html b/index.html index 9640317..fac9a80 100644 --- a/index.html +++ b/index.html @@ -174,18 +174,26 @@

Threat Modeling for Decentralized Identity @ W3C

-

September 6, 2024

-
Simone Onofri, simone@w3.org,
- Security Lead +

September 6th, 2024

+
+ Simone Onofri
+ W3C Security Lead
+ WeChat: wxid_3hq0pclnrhr512
+ Email: simone@w3.org

Who am I?

@@ -201,106 +209,89 @@

World Wide Web Consortium 万维网联盟

-
-

Security @ W3C

- - -

https://www.w3.org/mission/security/

-
- -
-

Identity @ W3C

- -
+ - -
-

What is Threat Modeling?

+
+

Why Threat Modeling for Digital Credentials?

-
- -
-

Do we do threat modeling yet?

-
+
-

The four questions of Threat Modeling

-

Answering the following questions:

+

How we are doing Threat Modeling?

+

We are using the "Four Questions Framework":

+

In this case, this is a living Threat Model as threats are evolving.

-

Which model is better?

- @@two pictures of LEGO Millenium Falcon vs Disneyworld's falcon@@ -
- - -
-

What are we working on?
Big Picture

+

What are we working on?
Architecture

+

We started from the Verifiable Credentials Data Model (VCDM) to identify main Actors, Data Flows, and Data to protect.

- -
Full Picture
+ +
The roles and information flows of VCDM
-

What are we working on?
Credential Layer

-
- -
Credential Layer
-
+

What are we working on?
Actors and Data Flows

+

The Actors and the Data Flows:

+
-

What are we working on?
Verifiable Presentation

-
- -
Presentation
-
+

What are we working on?
The actors exchanges

+ +

From Threat Modeling perspective, we need to also consider Cryptographic elemenets (e.g., algorithms), Identifiers, Revocation methods, etc...

+
+ +
+

What are we working on?
Identifiers

+ +

From a Threat Modeling perspective, each DID method needs it is own Threat Model

-
-

What can go wrong?

-

A lot of things, we can apply different approaches:

+
+

What can go wrong?
Threats/Attacks/Controls Frameworks

-

What can go wrong?
Verifiable Presentation

- @@picture with threats attached@@ +

What can go wrong?
Using LINNDUNN

+
+ +
Brainstorming in a Side Meeting @ IETF120
+
-
+

What are we going to do about it?
Cryptography

    -
  • Blinded Signature: is a type of digital signature for which the content of the message is concealed before it is signed. With Public-Private Key Cryptography, the signature can be correlated with who signed it, specifically to their public key (and this is an important feature if we think about when we want to be sure of the sender when using GPG). Zero-knowledge cryptographic methods do not reveal the actual signature. Instead, with ZKP, we can send cryptographic proof of signature without providing the verifier with any other information about who signed. Thus protecting the public key of the holder.
  • -
  • Selective disclosure: is the ability to show only a part (claim) of the credential and not all of it or show only possession of that credential. as needed in the context of the transaction. For example, we can show only the date of birth rather than the entire driver's license where it is contained. This allows us to minimize the data sent to the verifier further.
  • -
  • Predicate Proofs and Range Proof: is the ability to respond to a boolean assertion (true-false) to a specific request, and it is an additional step for privacy and minimization. For example, if we say we are of age, I don't have to show just the date of birth but compute the answer.
  • -
  • Post-Quantum signature?
  • +
  • Blinded Signature: is a type of digital signature for which the content of the message is concealed before it is signed. Sending the cryptographic proof of signature without providing the verifier with any other information about the signer.
  • +
  • Selective disclosure: is the ability to show only a part (claim) of the credential and not all of it or show only possession of that credential. For example, we can show only the date of birth rather than the entire driver's license where it is contained.
  • +
  • Predicate Proofs and Range Proof: is the ability to respond to a boolean assertion (true-false) to a specific request. For example, if we say we are of age, we don't have to show the date of birth but compute the answer.
  • +
  • Post-Quantum Algorightms: generating a digital signature using Post-Quantum digital signature algorithms.
-
+

What are we going to do about it?
Presentation and Verification

    -
  • Anonymous Revocation: A credential has its life cycle: it is issued, it is used, and then it can be revoked for various reasons. Therefore, a verifier must be able to verify whether the credential has been revoked, but this must be done without allowing the ability to correlate information about other revoked credentials.
  • +
  • Anonymous Revocation: a verifier must be able to verify the status of a credential, but this must be done without allowing the ability to correlate information about the specific or other credentials.
  • Rotational Identifiers: identifiers can be used to correlate, so it is important that they are temporary as much as possible during a session and changed after they are used.
  • -
  • Phoning home or back-channel communication: Software often "calls home" for several reasons. They normally do this to collect usage or crash statistics (which could indicate a vulnerability).
  • -
  • Notification/Alerts: An important aspect, particularly about interactions where the user is required to interact through an Internet credential, is communication with the user
  • +
  • Phoning home or back-channel communication: Software often "calls home" for several reasons. They normally do this to collect usage or crash statistics but also to track the users or the verifier.
  • +
  • Notification/Alerts: An holder must be notified if a presentation is going to phoning home and must decide what do to.
  • +
  • Privacy-Preserving DIDs: When resolving a DID, it is possible that the method uses a connection to a system for resolution. If this system is under the direct or indirect control of the Issuer
- -
-

Did we do a good job?

+
+

Did we do a good job?

+

All models are wrong, but some are useful from statistician George Box (1976), quoted by Shostack (2014) in the context of threat modeling

    -
  • This is just the start :)
  • -
  • all models are wrong but some models are useful
  • -
  • Want to do your Threat Model? Join us!
  • -
  • How we can help? 是否能通过标准发挥什么作用
  • +
  • This Model is useful for us understanding the big picture.
  • +
  • Each solution (e.g., EUDI Wallet) needs a dedicated Threat Model.
  • +
  • Do you want to Threat Model? Join us!
@@ -371,13 +365,97 @@

谢谢

WeChat: wxid_3hq0pclnrhr512

- + + + + + + + + + -->