Skip to content

Latest commit

 

History

History
78 lines (52 loc) · 4.32 KB

deprecatedVersions.md

File metadata and controls

78 lines (52 loc) · 4.32 KB

Deprecated versions

During our work we came up with various solutions which are not suitable any longer. This file contains all deprecated ideas and solutions for others to read about.

Comparison of the current solutions

The DIDComm Token solution is the currently prefered solution. Others can be found in the deprecated Versions.

Comparison of the current solutions

DID JWT
(without Deferred Credential Endpoint)
DID JWT with Deferred Credential Endpoint DID JWT with Deferred Credential Endpoint as fallback (mixed) Separate DIDComm DIDComm Token
Support of both flows (Authorization and Pre-Authorized) ✔️ ✔️ ✔️ ✔️ ✔️
Enforced DIDComm Channel ✔️ ✔️ ✔️ ✔️ ✔️
Optional DIDComm Channel ✔️ ✔️ ✔️ ✔️ ✔️
No DIDComm Channel
(plain OpenID4VC)
✔️ ✔️ ✔️ ✔️ ✔️
DIDComm channel creation Between Credential Request and Credential Response After Credential Response (deferral) Between Credential Request and Credential Response OR after Credential Response (deferral) After Token Response and before Credential Request After Token Response and before Credential Request
DIDComm Delay/Timeout handling ❌ - delay Credential Response or abort with Credential Response Error ✔️ - Credential Response (deferral) is sent immediately ✔️ - Credential Response (deferral) is sent immediately ✔️ - DIDComm is separate ✔️ - DIDComm is separate
DIDComm Initiator Issuer Issuer Issuer Holder Holder
Message modification Credential Request: Body (Header possible) Credential Request: Body (Header possible) Credential Request: Body (Header possible) Credential Request: Header Access Token: Scope extended
Session correlation DID JWT in Credential Request +
DIDComm Ping with Nonce
DID JWT in Credential Request +
DIDComm Ping with Nonce
DID JWT in Credential Request +
DIDComm Ping with Nonce
DIDComm Ping with Correlation ID +
DIDComm Acknowledge and Credential Request with one-time-code
DIDComm Ping with Access Token

SIOP

This solution utilizes "Self Issued Identity Providers" (SIOP) to pass the Wallet's DID to the Issuer.

Required:

  • Solution established additional DIDComm channel
  • Solution supports both flows
  • Solution enforces DIDComm channel
  • Solution doesn't modify existing OID specs

Optional:

  • Solution supports usage of different DIDs

OID4VC Diagram

Reasons for deprecation:

  • usage of two distinct OpenID-flows resulting in an overhead
  • more synchronisation of states needed

DID JWT with or without Deferred Credential Endpoint/DID JWT with Deferred Credential Endpoint as fallback (mixed)

Each of these solutions utilizes "JSON Web Tokens" to pass a DID in the credential request and at the same time proving possession of the key material.

Required:

  • Solution established additional DIDComm channel
  • Solution supports both flows
  • Solution enforces DIDComm channel
  • Solution doesn't modify existing OID specs

Optional:

  • Solution supports usage of different DIDs

OID4VC Diagram

In order to prevent timeout related problems it is possible to use the Deferred Credential Endpoint preferred as a fallback solution.

OID4VC Diagram

These solutions could also be applied to OID4VP.

OID4VC Diagram

Reasons for deprecation:

  • usage of tokes preferred
  • need to pass a DIDComm proof manually

Separate DIDComm

It is also possible to create a separate DIDComm connection parallel to the usual (pre-)authorized flow. This solution uses one-time-codes or pseudorandom numbers in order to synchronize the DIDComm Connection.

OID4VC Diagram

Reasons for deprecation:

  • overhead due to usage of a one time code
  • security concerns