Skip to content

Separation of cryptographic_binding_methods_supported and cryptographic_suites_supported parameters may cause problems #214

@ghost

Description

In the credential issuer metadata in credential_configurations_supported the parameters cryptographic_binding_methods_supported and cryptographic_suites_supported are defined as a format unspecific parameter and can be configured separately.

Several problems exist with this approach

  1. When using a single value in cryptographic_binding_methods_supported the meaning of cryptographic_suites_supported is obvious, all included values refer to the one binding method. But if several binding methods are used, it is not that easy. Some of the suites may only be valid for some of the binding methods. Different binding methods may require different values and formats for the same crypto suites (like JOSE and COSE).
  2. Currently the values for cryptographic_suites_supported are tied to the credential format. For jwt_vc IANA.JOSE.ALGS should be used and for ldp_vc LD_SUITES_REGISTRY. In fact the valid values depend more on the cryptographic_binding_method used and not the credential format.
  3. It is unclear which binding method will be used in the credential when several are supported.

I suggest

  1. to remove cryptographic_suites_supported and use objects as values in cryptographic_binding_methods_supported. This way the suites valid for a specific binding method can be mentioned there,
  2. to remove the suggestion to use specific values depending on the credential format and suggest specific values depending on the binding method,
  3. to leave it up to credential format profiles to further constrain the usage of specific binding methods and suites with specific formats and
  4. to discuss problem 3 raised above.

Another option could be to remove both parameters completely as format unspecific parameters and let the credential format profiles define custom parameters if required.

Example:

"credential_configurations_supported": {
        "UniversityDegreeCredential": {
            "format": "jwt_vc_json",
            "scope": "UniversityDegree",
            "cryptographic_binding_methods_supported": {
                "jwk": {
                  "cryptographic_suites_supported": [
                     "ES256"
                  ]
                },
                "cose_key": {
                  "cryptographic_suites_supported": [
                     {
                       "cose_algorithm": -7,  // COSE Algorithms value for ES256
                       "curve": 1 // COSE Curve P-256
                     }
                  ]
                }
            },
            ...
}

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions