From c8a2c4b9a23305c6318c83314700b0d049ce14ef Mon Sep 17 00:00:00 2001 From: Martin Westerkamp Date: Mon, 25 Nov 2024 10:55:23 +0100 Subject: [PATCH] update Spherity entry --- data/issuance-protocols/Issue-Credential-v3.json | 5 +++++ .../Presentation-Exchange-v1.json | 5 +++++ data/wallets/spherity-wallet.json | 10 +++++----- viewer/src/app/wallets/wallets-data.ts | 13 ++++++------- viewer/src/assets/schemas/fields.json | 4 +++- viewer/src/assets/structure.json | 2 +- 6 files changed, 25 insertions(+), 14 deletions(-) create mode 100644 data/issuance-protocols/Issue-Credential-v3.json create mode 100644 data/presentation-protocols/Presentation-Exchange-v1.json diff --git a/data/issuance-protocols/Issue-Credential-v3.json b/data/issuance-protocols/Issue-Credential-v3.json new file mode 100644 index 0000000..b0fd96c --- /dev/null +++ b/data/issuance-protocols/Issue-Credential-v3.json @@ -0,0 +1,5 @@ +{ + "$schema": "../../schemas/issuance-protocol.json", + "Name": "Issue Credential v3", + "Specification": "https://github.com/decentralized-identity/waci-didcomm/blob/main/issue_credential/README.md" +} diff --git a/data/presentation-protocols/Presentation-Exchange-v1.json b/data/presentation-protocols/Presentation-Exchange-v1.json new file mode 100644 index 0000000..a2100d6 --- /dev/null +++ b/data/presentation-protocols/Presentation-Exchange-v1.json @@ -0,0 +1,5 @@ +{ + "$schema": "../../schemas/presentation-protocol.json", + "Name": "Presentation Exchange v1", + "Specification": "https://identity.foundation/presentation-exchange/spec/v1.0.0/" +} diff --git a/data/wallets/spherity-wallet.json b/data/wallets/spherity-wallet.json index fd39f2f..a653445 100644 --- a/data/wallets/spherity-wallet.json +++ b/data/wallets/spherity-wallet.json @@ -1,15 +1,15 @@ { "capability": ["issuer", "holder", "verifier"], "company": "Spherity GmbH", - "credentialFormats": ["AnonCred", "LDP-VC"], - "issuanceProtocols": ["OpenID4VCI", "Issue Credential v2"], + "credentialFormats": ["LDP-VC"], + "issuanceProtocols": ["Issue Credential v3"], "logo": "logos/spherity-wallet.png", "name": "Spherity Wallet", "openSource": false, - "presentationProtocols": ["OpenID4VP"], + "presentationProtocols": ["Presentation Exchange v1"], "$schema": "../../schemas/wallet.json", - "signingAlgorithms": ["CL", "BBS+ with public key binding", "EdDSA"], + "signingAlgorithms": ["BBS+ with public key binding", "ECDSA", "EdDSA", "RSA"], "statusManagements": ["Status List 2021"], - "type": "edge", + "type": "cloud", "urlWebsite": "https://www.spherity.com/enterprise-identity-wallet" } diff --git a/viewer/src/app/wallets/wallets-data.ts b/viewer/src/app/wallets/wallets-data.ts index 7b673a3..c754a36 100644 --- a/viewer/src/app/wallets/wallets-data.ts +++ b/viewer/src/app/wallets/wallets-data.ts @@ -1754,28 +1754,27 @@ export const walletData: Wallet[] = [ ], "company": "Spherity GmbH", "credentialFormats": [ - "AnonCred", "LDP-VC" ], "issuanceProtocols": [ - "OpenID4VCI", - "Issue Credential v2" + "Issue Credential v3" ], "logo": "logos/spherity-wallet.png", "name": "Spherity Wallet", "openSource": false, "presentationProtocols": [ - "OpenID4VP" + "Presentation Exchange v1" ], "signingAlgorithms": [ - "CL", "BBS+ with public key binding", - "EdDSA" + "ECDSA", + "EdDSA", + "RSA" ], "statusManagements": [ "Status List 2021" ], - "type": "edge", + "type": "cloud", "urlWebsite": "https://www.spherity.com/enterprise-identity-wallet", "id": "spherity-wallet", "commitHistory": "https://github.com/openwallet-foundation/digital-wallet-and-agent-overviews-sig/commits/main/wallets/spherity-wallet.json" diff --git a/viewer/src/assets/schemas/fields.json b/viewer/src/assets/schemas/fields.json index e264ab4..59c6e41 100644 --- a/viewer/src/assets/schemas/fields.json +++ b/viewer/src/assets/schemas/fields.json @@ -89,6 +89,7 @@ "ISO 23220-3", "Issue Credential v1", "Issue Credential v2", + "Issue Credential v3", "OpenID4VCI" ] }, @@ -98,7 +99,8 @@ "enum": [ "OpenID4VP", "Present Proof v2", - "Present Proof v1.0" + "Present Proof v1.0", + "Presentation Exchange v1" ] }, "Trust-Management": { diff --git a/viewer/src/assets/structure.json b/viewer/src/assets/structure.json index 5c61344..cb47028 100644 --- a/viewer/src/assets/structure.json +++ b/viewer/src/assets/structure.json @@ -1 +1 @@ -{"Credential Format":{"structure":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"CredentialFormat","type":"object","additionalProperties":false,"properties":{"$schema":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Schema"},"Name":{"type":"string","description":"Unique identifier of the credential format"},"Implementation Support":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Implementation-Support"},"IPR Policy":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/IPR-Policy"},"Specification":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Specification"},"Standardization (Body, Process)":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Standardization"},"Encoding Scheme":{"type":"string","description":"Data encoding on the storage layer which applies to this credential format","$comment":"can this be set as an enum since the amount of encoding schemes is limited?"},"Rich Schemas-Semantic":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is the credential format able to communicate data or annotations that supports the semantic understanding of the credential data?","$comment":"this sounds like an objective field since semantic is a defined word"}]},"Crypto Agility":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is the credential format capable to cover different cryptographic algorithms without any requirements and achieve cryptographic agility, as demanded by regulations?"}]},"Selective Disclosure":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is the credential format capable of selective disclosure - presenting or revealing a subset of claims/attributes - without relying on architecture and protocol solutions like Just-in-Time issuance or a presentation transformation by a trusted third party?","$comment":"Do we need to ask if kind of selective disclosure reveals more information like it should? Like using SD-JWT, the verifier can see that the value came from the same credential like in the past, but this is not the case for Anoncreds"}]},"Predicates":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is the credential Format able to produce general-purpose predicates, that means attestations without revealing the data, e.g. a proof to be over 18 without revealing the date of birth?"}]},"Compatibility with Signing Algorithms":{"type":"string","description":"What signing algorithms can the format be combined with?","$comment":"TBD: https://github.com/openwallet-foundation/credential-format-comparison-sig/issues/44"},"Compatibility with Key Management Methods (Issuer)":{"type":"array","items":{"type":"string"},"description":"What key management methods can the credential format be combined with?","$comment":"TBD: https://github.com/openwallet-foundation/credential-format-comparison-sig/issues/43"}},"required":["$schema","Name"],"title":"CredentialFormat"},"values":{"ACDC":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"ACDC","Specification":"https://trustoverip.github.io/tswg-acdc-specification/","Standardization (Body, Process)":"","Encoding Scheme":"CESR","Rich Schemas-Semantic":false,"Crypto Agility":true,"Selective Disclosure":true,"Predicates":false},"AnonCred":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"AnonCred","Implementation Support":"https://github.com/hyperledger/anoncreds-rs","Specification":"https://hyperledger.github.io/anoncreds-spec/","Standardization (Body, Process)":"Community Spec (draft)","Encoding Scheme":"JSON","Rich Schemas-Semantic":false,"Crypto Agility":false,"Selective Disclosure":true,"Predicates":true,"Compatibility with Signing Algorithms":"CL","Compatibility with Key Management Methods (Issuer)":["did:indy","did:cheqd"]},"CESR/CESR Proof":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"CESR/CESR Proof","Specification":"https://www.ietf.org/archive/id/draft-pfeairheller-cesr-proof-00.html","Standardization (Body, Process)":"IETF (intention to go to Blockchain WG)","Crypto Agility":true,"Selective Disclosure":true},"CWT":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"CWT","Specification":"https://www.rfc-editor.org/rfc/rfc8392.html","Standardization (Body, Process)":"IETF","Encoding Scheme":"CBOR","Crypto Agility":true,"Selective Disclosure":false,"Predicates":false},"Gordian Envelope":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"Gordian Envelope","Implementation Support":"command-line MVP https://github.com/BlockchainCommons/envelope-cli-swift","IPR Policy":"SPDI:BSD-2-Clause-Patent https://spdx.org/licenses/BSD-2-Clause-Patent.html","Specification":"https://github.com/BlockchainCommons/BCSwiftSecureComponents","Standardization (Body, Process)":"IETF (for CBOR registration) W3C (for did method and alternative DID document and credentials data format)","Encoding Scheme":"CBOR","Rich Schemas-Semantic":false,"Crypto Agility":true,"Selective Disclosure":{"Value":true,"Description":"hash-inclusion proof, optional salts"},"Predicates":false},"ICAO DTC":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"ICAO DTC","Standardization (Body, Process)":"ICAO","Selective Disclosure":true},"Idemix attribute-based credential":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"Idemix attribute-based credential","Implementation Support":"https://github.com/privacybydesign/gabi (cryptography), https://github.com/privacybydesign/irmago (semantics, wallet, servers, more)","Specification":"None. Protocol documented here: https://irma.app/docs/irma-protocol","Standardization (Body, Process)":"Privacy by Design Foundation","Encoding Scheme":"JSON","Rich Schemas-Semantic":true,"Crypto Agility":{"Value":false,"Description":"only Idemix support"},"Selective Disclosure":true,"Predicates":true,"Compatibility with Signing Algorithms":"CL","Compatibility with Key Management Methods (Issuer)":["raw public keys (none jwk)"]},"JWP":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"JWP","Specification":"https://github.com/json-web-proofs/json-web-proofs","Standardization (Body, Process)":"DIF","Encoding Scheme":"JSON ?","Crypto Agility":true,"Selective Disclosure":{"Value":true,"Description":"ZKP, Hash&Salt"},"Predicates":true},"JWT-VC":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"JWT-VC","Rich Schemas-Semantic":false,"Crypto Agility":true,"Selective Disclosure":false,"Predicates":false},"JWT":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"JWT","Implementation Support":"https://jwt.io/libraries","IPR Policy":"https://trustee.ietf.org/documents/trust-legal-provisions/","Specification":"https://datatracker.ietf.org/doc/rfc7519/","Standardization (Body, Process)":"IETF","Encoding Scheme":"compact and JSON serialization","Rich Schemas-Semantic":false,"Crypto Agility":true,"Selective Disclosure":false,"Predicates":false,"Compatibility with Signing Algorithms":"ECDSA, EdDSA, RSA","Compatibility with Key Management Methods (Issuer)":["did:key","did:web","did:ebsi","did:iota","did:jwk","did:cheqd","did:velocity"]},"LDP-VC":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"LDP-VC","Implementation Support":"https://github.com/digitalbazaar/jsonld.js","IPR Policy":"https://www.w3.org/Consortium/Patent-Policy-20200915/#sec-Requirements","Specification":"https://www.w3.org/TR/vc-data-model/","Standardization (Body, Process)":"W3C","Encoding Scheme":"JSON-LD","Rich Schemas-Semantic":true,"Crypto Agility":true,"Selective Disclosure":{"Value":true,"Description":"BBS\nCL-Signatures (CL)\nShort Randomizable Signatures (ps-sig)"},"Predicates":{"Value":true,"Description":"depending on signature algorithm"},"Compatibility with Signing Algorithms":"ECDSA, EdDSA, RSA","Compatibility with Key Management Methods (Issuer)":["did:key","did:web","did:ebsi","did:iota","did:jwk","did:cheqd","did:velocity"]},"MDOC":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"MDOC","Specification":"ISO 18013-5","Standardization (Body, Process)":"ISO","Encoding Scheme":"CBOR","Rich Schemas-Semantic":false,"Crypto Agility":true,"Selective Disclosure":{"Value":true,"Description":"salted hashes"},"Predicates":false,"Compatibility with Signing Algorithms":"ECDSA(NIST and Brainpool curves), EdDSA, RSA"},"SD-JWT-VC":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"SD-JWT-VC","IPR Policy":"https://trustee.ietf.org/documents/trust-legal-provisions/","Specification":"https://datatracker.ietf.org/doc/html/draft-terbu-oauth-sd-jwt-vc","Standardization (Body, Process)":"IETF (OAuth WG)","Encoding Scheme":"JSON","Rich Schemas-Semantic":false,"Crypto Agility":true,"Selective Disclosure":true,"Predicates":false,"Compatibility with Signing Algorithms":"ECDSA, EdDSA, RSA","Compatibility with Key Management Methods (Issuer)":["did:key","did:web","did:ebsi","did:iota","did:jwk","did:cheqd","did:velocity"]},"SD-JWT":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"SD-JWT","Implementation Support":"https://github.com/oauthstuff/draft-selective-disclosure-jwt#implementations","IPR Policy":"https://trustee.ietf.org/documents/trust-legal-provisions/","Specification":"https://datatracker.ietf.org/doc/draft-ietf-oauth-selective-disclosure-jwt/","Standardization (Body, Process)":"IETF (OAuth WG)","Encoding Scheme":"JSON, JSON-LD","Rich Schemas-Semantic":false,"Crypto Agility":true,"Selective Disclosure":{"Value":true,"Description":"salted hashes"},"Predicates":false},"VC (1.1)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"VC (1.1)","Implementation Support":"https://jwt.io/libraries","IPR Policy":"https://www.w3.org/Consortium/Patent-Policy-20200915/#sec-Requirements","Specification":"https://www.w3.org/TR/vc-data-model/","Standardization (Body, Process)":"W3C","Encoding Scheme":"JSON, JSON-LD","Rich Schemas-Semantic":true,"Crypto Agility":true,"Selective Disclosure":true,"Predicates":false,"Compatibility with Signing Algorithms":"ECDSA, EdDSA, RSA","Compatibility with Key Management Methods (Issuer)":["x509","did methods"]},"x509":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"x509","Standardization (Body, Process)":"ITUT","Encoding Scheme":"ASN.1","Rich Schemas-Semantic":false,"Crypto Agility":true,"Selective Disclosure":false,"Predicates":false}}},"Credential Profile":{"structure":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"CredentialProfile","type":"object","additionalProperties":false,"properties":{"$schema":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Schema"},"Name":{"type":"string","description":"The name of the credential profile, as it is commonly called. This is the name that should be used to refer to the credential profile in other documents and discussions"},"Credential Profile Description":{"type":"string","description":"A brief description of the credential profile"},"Credential Format":{"allOf":[{"$ref":"../viewer/src/assets/schemas/fields.json#/definitions/Credential-Format"},{"description":"The format of the credential."}]},"Signing Algorithm":{"allOf":[{"$ref":"../viewer/src/assets/schemas/fields.json#/definitions/Signing-Algorithm"},{"description":"The format of the signing algorithm."}]},"Status Algorithm":{"allOf":[{"$ref":"../viewer/src/assets/schemas/fields.json#/definitions/Status-Algorithm"},{"description":"The format of the status algorithm."}]},"Key Management (Issuer)":{"allOf":[{"$ref":"../viewer/src/assets/schemas/fields.json#/definitions/Key-Management"},{"description":"The format of the key management for the issuer."}]},"Key Management (Holder)":{"allOf":[{"$ref":"../viewer/src/assets/schemas/fields.json#/definitions/Key-Management"},{"description":"The format of the key management for the holder."}]},"Issuance Protocol":{"allOf":[{"$ref":"../viewer/src/assets/schemas/fields.json#/definitions/Issuance-Protocol"},{"description":"The format of issuance protocol."}]},"Presentation Protocol":{"allOf":[{"$ref":"../viewer/src/assets/schemas/fields.json#/definitions/Presentation-Protocol"},{"description":"The format of the presentation protocol."}]},"Trust Management":{"allOf":[{"$ref":"../viewer/src/assets/schemas/fields.json#/definitions/Trust-Management"},{"description":"The format of the trust management."}]},"Formal Specification":{"type":"string","description":"A link to a formal specification of the credential profile."}},"required":["$schema","Credential Format","Credential Profile Description","Name","Key Management (Holder)","Key Management (Issuer)","Signing Algorithm"],"title":"CredentialProfile"},"values":{"AnonCreds with cardano blockchain":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"AnonCreds with cardano blockchain","Credential Profile Description":"AnonCreds with cardano blockchain","Credential Format":"AnonCred","Signing Algorithm":"CL","Key Management (Issuer)":"did:web","Key Management (Holder)":"link secrets","Trust Management":"Verifier knows Issuers","Formal Specification":"https://github.com/roots-id/cardano-anoncreds/blob/main/cardano-anoncred-methods.md"},"AnonCreds with did:cheqd":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"AnonCreds with did:cheqd","Credential Profile Description":"AnonCreds with did:cheqd","Credential Format":"AnonCred","Signing Algorithm":"CL","Status Algorithm":"Indy Revocation","Key Management (Issuer)":"did:cheqd","Key Management (Holder)":"link secrets","Formal Specification":"https://docs.cheqd.io/identity/advanced/anoncreds"},"AnonCreds with did:indy":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"AnonCreds with did:indy","Credential Profile Description":"Well-known default profile in all Hyperledger Indy implementations. A favoured profile due to selective disclosure and predicate capability as well as privacy-preserving revocation mechanism. Standardization in community spec in progress (July 2022).","Credential Format":"AnonCred","Signing Algorithm":"CL","Status Algorithm":"Indy Revocation","Key Management (Issuer)":"did:indy","Key Management (Holder)":"link secrets","Trust Management":"Verifier knows Issuers","Formal Specification":"https://hyperledger.github.io/anoncreds-spec/"},"AnonCreds with did:web":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"AnonCreds with did:web","Credential Profile Description":"AnonCreds with did:web","Credential Format":"AnonCred","Signing Algorithm":"CL","Status Algorithm":"Indy Revocation","Key Management (Issuer)":"did:web","Key Management (Holder)":"link secrets","Trust Management":"Verifier knows Issuers","Formal Specification":"https://github.com/2060-io/did-web-anoncreds-method"},"Decentralized Identity Interop Profile":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"Decentralized Identity Interop Profile","Formal Specification":"https://dutchblockchaincoalition.github.io/DIIP/","Credential Profile Description":"Decentralized Identity Interop Profile","Credential Format":"JWT-VC","Signing Algorithm":"ECDSA","Status Algorithm":"Status List 2021","Key Management (Issuer)":"did:web","Key Management (Holder)":"did:jwk","Issuance Protocol":"OpenID4VCI","Presentation Protocol":"OpenID4VP"},"EBSI":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"EBSI","Credential Profile Description":"[Profile description goes here]","Credential Format":"JWT-VC","Signing Algorithm":"ECDSA","Status Algorithm":"Status List 2021","Key Management (Issuer)":"did:ebsi","Key Management (Holder)":"did:key","Trust Management":"EBSI Trust Registries"},"HAIP":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"HAIP","Credential Profile Description":"OpenID4VC High Assurance Interoperability Profile with SD-JWT-VC","Formal Specification":"https://vcstuff.github.io/oid4vc-haip-sd-jwt-vc/draft-oid4vc-haip-sd-jwt-vc.html#name-authors-addresses","Credential Format":"SD-JWT-VC","Signing Algorithm":"ECDSA","Status Algorithm":"JWT/CWT status list","Key Management (Issuer)":".well-known/jwt-issuer","Key Management (Holder)":"raw public keys (jwk)","Issuance Protocol":"OpenID4VCI","Presentation Protocol":"OpenID4VP"},"ICAO DTC":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"ICAO DTC","Credential Profile Description":"[Profile description goes here]","Credential Format":"ICAO DTC","Signing Algorithm":"ECDSA","Status Algorithm":"SLTD database (travel and identity documents)","Key Management (Issuer)":"raw public keys (none jwk)","Key Management (Holder)":"raw public keys (none jwk)","Trust Management":"X.509 certificates"},"IRMA (Yivi) wallet":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"IRMA (Yivi) wallet","Credential Profile Description":"https://dominoweb.draco.res.ibm.com/reports/rz3730_revised.pdf","Credential Format":"Idemix attribute-based credential","Signing Algorithm":"CL","Status Algorithm":"RSA-B - cryptographic accumulator based on RSA","Key Management (Issuer)":"raw public keys (none jwk)","Key Management (Holder)":"link secrets","Trust Management":"IRMA (Yivi) Schemes"},"ISO mDL":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"ISO mDL","Credential Profile Description":"[Profile description goes here]","Credential Format":"MDOC","Signing Algorithm":"ECDSA","Status Algorithm":"medium-term expiration","Key Management (Issuer)":"pub key in X.509 cert","Key Management (Holder)":"cose key","Trust Management":"Verified issuer certificate authority list (VICAL)","Formal Specification":"ISO 18013-5"},"JFFLabs x VC-EDU PlugFest2 (LDP)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"JFFLabs x VC-EDU PlugFest2 (LDP)","Credential Profile Description":"Interoperability profile used in the PlugFest2","Credential Format":"JWT-VC","Signing Algorithm":"EdDSA","Key Management (Issuer)":"did:web","Key Management (Holder)":"did:jwk"},"JFFLabs x VC-EDU PlugFest2 (VC)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"JFFLabs x VC-EDU PlugFest2 (VC)","Credential Profile Description":"Interoperability profile used in the PlugFest2","Credential Format":"LDP-VC","Signing Algorithm":"EdDSA","Key Management (Issuer)":"did:web","Key Management (Holder)":"did:key"},"JSON-LD VCs with BBS (Credential is Secret)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"JSON-LD VCs with BBS (Credential is Secret)","Credential Profile Description":"[Profile description goes here]","Credential Format":"LDP-VC","Signing Algorithm":"BoundBBS+","Status Algorithm":"Status List 2021","Key Management (Issuer)":"did:web","Key Management (Holder)":"credential as secret"},"JSON-LD VCs with BBS (Holder DID)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"JSON-LD VCs with BBS (Holder DID)","Credential Profile Description":"[Profile description goes here]","Credential Format":"LDP-VC","Signing Algorithm":"BBS+ with public key binding","Status Algorithm":"Status List 2021","Key Management (Issuer)":"did:web","Key Management (Holder)":"did:key"},"JWT VC Presentation Profile 2":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"JWT VC Presentation Profile 2","Credential Profile Description":"https://identity.foundation/jwt-vc-presentation-profile/","Credential Format":"JWT-VC","Signing Algorithm":"ECDSA","Status Algorithm":"Status List 2021","Key Management (Issuer)":"did:web","Key Management (Holder)":"did:ion (long form)"},"JWT VC Presentation Profile":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"JWT VC Presentation Profile","Credential Profile Description":"https://identity.foundation/jwt-vc-presentation-profile/","Credential Format":"JWT-VC","Signing Algorithm":"ECDSA","Status Algorithm":"Status List 2021","Key Management (Issuer)":"did:ion (long form)","Key Management (Holder)":"did:ion (long form)"},"NGI Atlantic for OpenID4VCs":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"NGI Atlantic for OpenID4VCs","Credential Profile Description":"https://ngiatlantic.info\nhttps://ngiatlantic.eu/funded-experiments/next-generation-ssi-standards","Credential Format":"JWT-VC","Signing Algorithm":"ECDSA","Status Algorithm":"short-term expiration","Key Management (Issuer)":"did:key","Key Management (Holder)":"did:key","Trust Management":"TRAIN","Formal Specification":"https://ngiatlantic.info"},"SD-JWT VCs (w/ X.509 for Issuers)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"SD-JWT VCs (w/ X.509 for Issuers)","Credential Profile Description":"[Profile description goes here]","Credential Format":"SD-JWT-VC","Signing Algorithm":"ECDSA","Status Algorithm":"JWT/CWT status list","Key Management (Issuer)":"raw public keys (none jwk)","Key Management (Holder)":"did:jwk","Trust Management":"X.509 certificates"},"x.509":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"x.509","Credential Profile Description":"[Profile description goes here]","Credential Format":"x509","Signing Algorithm":"ECDSA","Status Algorithm":"CRL - certificate revocation list","Key Management (Issuer)":"raw public keys (none jwk)","Key Management (Holder)":"raw public keys (none jwk)","Trust Management":"X.509 certificates"}}},"defs":{"$schema":"http://json-schema.org/draft-07/schema","$id":"defs.json","type":"object","definitions":{"Schema":{"type":"string","description":"JSON Schema URI"},"Filter":{"type":["object","boolean"],"properties":{"Value":{"type":"boolean","description":"Allows to filter this property"},"Description":{"type":"string","description":"Give more information about this property"}},"additionalProperties":false,"required":["Value"]},"Implementation-Support":{"type":"string","description":"Links to SDKs or documentation how to implement it.","$comment":"Objective field, only link to resources. Do not explain like 'easy to implement' since this is subjective."},"IPR-Policy":{"type":"string","description":"What is the policy regarding intellectual properties associated with this technology?"},"Specification":{"type":"string","description":"Where is it specified?"},"Standardization":{"type":"string","description":"Under which Standardization Body and which standards track/status is it standardized?"},"LinkElement":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"link":{"type":"string","format":"uri","qt-uri-protocols":["https"]}},"required":["link","name"],"title":"LinkElement"}}},"Issuance Protocol":{"structure":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"IssuanceProtocol","type":"object","additionalProperties":false,"properties":{"$schema":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Schema"},"Name":{"type":"string","description":"Unique identifier of the issuance protocol"},"Specification":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Specification"}},"required":["$schema","Name"],"title":"IssuanceProtocol"},"values":{"ACDC":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/issuance-protocol.json","Name":"ACDC"},"ISO 23220-3":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/issuance-protocol.json","Name":"ISO 23220-3"},"Issue Credential v1":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/issuance-protocol.json","Name":"Issue Credential v1","Specification":"https://github.com/hyperledger/aries-rfcs/blob/main/features/0036-issue-credential/README.md"},"Issue Credential v2":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/issuance-protocol.json","Name":"Issue Credential v2"},"OpenID4VCI":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/issuance-protocol.json","Name":"OpenID4VCI","Specification":"https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html"}}},"Key Management":{"structure":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"KeyManagement","type":"object","additionalProperties":false,"properties":{"$schema":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Schema"},"Name":{"type":"string","description":"Unique identifier of the method"},"Implementation Support":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Implementation-Support"},"IPR Policy":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/IPR-Policy"},"Specification":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Specification"},"Infrastructure for Key Resolution":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is there any infrastructure required to resolve keys and/or validate identifier to key binding?"}]},"Key Rotation":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Can the key referred to in a credential be replaced by another key?"}]},"Key History":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is it possible to retain and obtain the history of keys related to a certain identifier? In case of key rotation it is important for signed credentials to request older keys that are not used for signing anymore"}]},"Party":{"type":"array","items":{"enum":["issuer","holder"]},"description":"What party may uses this technique?","$comment":"We are not looking at verifiers here, since e.g. the identification of the verifier is not part of the credential comparison matrix"}},"required":["$schema","Name"],"title":"KeyManagement"},"values":{".well-known/jwt-issuer":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":".well-known/jwt-issuer"},"cose key":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"cose key","Implementation Support":"https://www.rfc-editor.org/rfc/rfc9052.html"},"credential as secret":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"credential as secret","Infrastructure for Key Resolution":false,"Key Rotation":false,"Key History":false,"Party":["holder"]},"did:cheqd":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"did:cheqd","Specification":"https://docs.cheqd.io/identity/architecture/adr-list/adr-001-cheqd-did-method","Implementation Support":"https://docs.cheqd.io/identity/sdk/understanding-sdks","Party":["issuer"]},"did:ebsi":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"did:ebsi","Implementation Support":"https://ec.europa.eu/digital-building-blocks/wikis/display/EBSIDOC/EBSI+DID+Method","Infrastructure for Key Resolution":{"Value":true,"Description":"dlt"},"Key Rotation":true,"Key History":true,"Party":["issuer"]},"did:indy":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"did:indy","Implementation Support":"https://hyperledger.github.io/indy-did-method/","Infrastructure for Key Resolution":{"Value":true,"Description":"dlt"},"Key Rotation":true,"Key History":true,"Party":["issuer"]},"did:ion (long form)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"did:ion (long form)","Implementation Support":"https://github.com/decentralized-identity/ion","Infrastructure for Key Resolution":false,"Key Rotation":false,"Key History":false,"Party":["holder","issuer"]},"did:ion (short form)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"did:ion (short form)","Infrastructure for Key Resolution":true,"Key Rotation":true,"Key History":true,"Party":["issuer"]},"did:jwk":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"did:jwk","Party":["holder","issuer"]},"did:keri":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"did:keri","Implementation Support":"https://weboftrust.github.io/did-keri/","Infrastructure for Key Resolution":{"Value":true,"Description":"witness network"},"Key Rotation":true,"Key History":true,"Party":["holder","issuer"]},"did:key":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"did:key","Implementation Support":"https://w3c-ccg.github.io/did-method-key/","Infrastructure for Key Resolution":false,"Key Rotation":false,"Key History":false,"Party":["holder","issuer"]},"did:peer":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"did:peer","Implementation Support":"https://identity.foundation/peer-did-method-spec/index.html","Party":["holder"]},"did:web":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"did:web","Implementation Support":"https://github.com/w3c-ccg/did-method-web","Infrastructure for Key Resolution":{"Value":true,"Description":"web server"},"Key Rotation":true,"Key History":false,"Party":["holder","issuer"]},"jwks_uri":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"jwks_uri","Infrastructure for Key Resolution":{"Value":true,"Description":"web server"},"Key Rotation":true,"Key History":{"Value":true,"Description":"conditional (with OpenID Connect Federation Key History)"},"Party":["issuer"]},"link secrets":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"link secrets","Infrastructure for Key Resolution":false,"Key Rotation":false,"Key History":false,"Party":["holder"]},"pub key in X.509 cert":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"pub key in X.509 cert"},"raw public keys (jwk)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"raw public keys (jwk)","Implementation Support":"https://www.rfc-editor.org/rfc/rfc7517","IPR Policy":"https://trustee.ietf.org/documents/trust-legal-provisions/","Specification":"https://www.rfc-editor.org/rfc/rfc7517","Infrastructure for Key Resolution":false,"Key Rotation":false,"Key History":{"Value":true,"Description":"conditional (with OpenID Connect Federation Key History)"},"Party":["holder","issuer"]},"raw public keys (none jwk)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"raw public keys (none jwk)","Infrastructure for Key Resolution":false,"Key Rotation":false,"Key History":false,"Party":["holder","issuer"]}}},"Presentation Protocol":{"structure":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"PresentationProtocol","type":"object","additionalProperties":false,"properties":{"$schema":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Schema"},"Name":{"type":"string","description":"Unique identifier of the presentation protocol"},"Specification":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Specification"}},"required":["$schema","Name"],"title":"PresentationProtocol"},"values":{"OpenID4VP":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/presentation-protocol.json","Name":"OpenID4VP","Specification":"https://openid.net/specs/openid-4-verifiable-presentations-1_0.html"},"Present Proof v2":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/presentation-protocol.json","Name":"Present Proof v2","Specification":"https://hyperledger.github.io/aries-rfcs/latest/aip2/0454-present-proof-v2"},"Present Proof v1.0":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/presentation-protocol.json","Name":"Present Proof v1.0","Specification":"https://github.com/hyperledger/aries-rfcs/blob/main/features/0037-present-proof/README.md"}}},"Signing Algorithm":{"structure":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"SigningAlgorithm","type":"object","additionalProperties":false,"properties":{"$schema":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Schema"},"Name":{"type":"string","description":"A unique identifier for the signing algorithm"},"Implementation Support":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Implementation-Support"},"IPR Policy":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/IPR-Policy"},"Specification":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Specification"},"Standardization (Body, Process)":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Standardization"},"Recognition by government authorities (NIST, BSI, ...)":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is the signing algorithm recognized in regulatory frameworks of leading government bodies?"}]},"Performance":{"type":"string","description":"How performant is the signing algorithm?","$comment":"difficult to answer, since there is no performance framework to measure against"},"Hardware support":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is the Signing Algorithm supported by common hardware-backed cryptographic implementations, such as Secure Elements, SecureEnclave, HSM, Strongbox, TEE, TPM","$comment":"Using different approaches can lead to different results when choosing key lengths or performance measurements"}]},"Unlinkability-Uncorrelatability-Blind signatures possible":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is the Signing Algorithm capable of creating a credential scheme, such that two verification processes can not be linked/correlated by colluding Verifiers/Relying Parties?"}]},"Security strength":{"type":"string","description":"What level of security strength is common and standardized for this signing algorithm?"},"Post-quantum security":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is the Signing Algorithm still secure if quantum computing achieves substantial computation power?"}]}},"required":["$schema","Name"],"title":"SigningAlgorithm"},"values":{"BBS+ with public key binding":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/signing-algorithm.json","Name":"BBS+ with public key binding","Implementation Support":"https://github.com/mattrglobal/bbs-signatures","Specification":"https://datatracker.ietf.org/doc/draft-looker-cfrg-bbs-signatures/","Standardization (Body, Process)":"DIF (intention to transfer to IRTF CFRG)","Recognition by government authorities (NIST, BSI, ...)":{"Value":false,"Description":"not acknowledged"},"Hardware support":false,"Unlinkability-Uncorrelatability-Blind signatures possible":false,"Security strength":"381 bit curve","Post-quantum security":false},"BoundBBS+":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/signing-algorithm.json","Name":"BoundBBS+","IPR Policy":"barely","Standardization (Body, Process)":"DIF (intention to transfer to IRTF CFRG)","Recognition by government authorities (NIST, BSI, ...)":{"Value":false,"Description":"not acknowledged"},"Hardware support":false,"Unlinkability-Uncorrelatability-Blind signatures possible":true,"Post-quantum security":false},"CL":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/signing-algorithm.json","Name":"CL","Implementation Support":"Hyperledger Ursa, https://github.com/privacybydesign/gabi ","Specification":"CL-Signatures of there own do not have a formal specification, that is included in Anoncreds","Standardization (Body, Process)":"none","Recognition by government authorities (NIST, BSI, ...)":{"Value":false,"Description":"not acknowledged (independent crypto analysis published)"},"Performance":"Ursa: up to 7 seconds for a validation and approximately 30 seconds for credential definition generation; IRMA (Yivi): both in less than a second","Hardware support":false,"Unlinkability-Uncorrelatability-Blind signatures possible":true,"Security strength":"equivalent to RSA2048","Post-quantum security":false},"ECDSA":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/signing-algorithm.json","Name":"ECDSA","Implementation Support":"many mature implementations","Specification":"X9.62-2005","Standardization (Body, Process)":"ANSI","Recognition by government authorities (NIST, BSI, ...)":true,"Hardware support":true,"Unlinkability-Uncorrelatability-Blind signatures possible":false,"Security strength":"256 / 384 / 512 bit","Post-quantum security":false},"EdDSA":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/signing-algorithm.json","Name":"EdDSA","Implementation Support":"many mature implementations","Recognition by government authorities (NIST, BSI, ...)":{"Value":true,"Description":"widely accepted, though still behind ECDSA"},"Performance":"high","Hardware support":false,"Unlinkability-Uncorrelatability-Blind signatures possible":false,"Security strength":"257 / 384 / 512 bit","Post-quantum security":false},"PS":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/signing-algorithm.json","Name":"PS","Implementation Support":"Hyperledger Anoncreds, https://github.com/hyperledger/anoncreds-v2-rs ","Specification":"PS-Signatures of there own do not have a formal specification, that is included in Anoncreds-V2","Standardization (Body, Process)":"none","Recognition by government authorities (NIST, BSI, ...)":{"Value":false,"Description":"not acknowledged (independent crypto analysis published)"},"Hardware support":false,"Performance":"medium, faster than CL, slower than Schnorr, single-digit milliseconds for all operations, even in a threshold decentralized setting","Unlinkability-Uncorrelatability-Blind signatures possible":true,"Post-quantum security":false},"RSA":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/signing-algorithm.json","Name":"RSA","Implementation Support":"many mature implementations","Recognition by government authorities (NIST, BSI, ...)":{"Value":true,"Description":"but support is fading"},"Hardware support":true,"Unlinkability-Uncorrelatability-Blind signatures possible":false,"Security strength":"2048 / 3072 / 4096 (scales bad)","Post-quantum security":false},"Schnorr":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/signing-algorithm.json","Name":"Schnorr","Implementation Support":"many mature implementations","IPR Policy":"patents expired","Specification":"different curves-different specs","Standardization (Body, Process)":"different curves-different standards","Recognition by government authorities (NIST, BSI, ...)":{"Value":true,"Description":"NIST with Curve25519"},"Performance":"high","Hardware support":false,"Unlinkability-Uncorrelatability-Blind signatures possible":false,"Post-quantum security":false}}},"Status Algorithm":{"structure":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"StatusAlgorithm","type":"object","additionalProperties":false,"properties":{"$schema":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Schema"},"Name":{"type":"string","description":"Unique identifier of the algorithm"},"Implementation Support":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Implementation-Support"},"IPR Policy":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/IPR-Policy"},"Specification":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Specification"},"Standardization (Body, Process)":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Standardization"},"Recognition by government authorities (NIST, BSI, ...)":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is the status algorithm recognized in regulatory frameworks of leading government bodies?"}]},"Category":{"type":"string","description":"Algorithm that behind the implementation of the revocation (Bitlist = each credential has a position in the list. Deny-List: revoked credentials will be added on demand. Accumulator: cryptographic proof the holder presents to show that the credential is not revoked)"},"Performance":{"type":"string","description":"How performant is the revocation mechanism (for issuer, holder and verifier)?","$comment":"For this case there could be some king of test framework"},"Observability":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Does the Verifier have the possibility to observe the revocation status beyond the presentation?"}]},"Traceability":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Does the issuer have possibilities to trace the usage of his issued credentials through the revocation mechanism?","$comment":"With a size of one used element the issuer should always be able to trace the usage of his issued credentials"}]},"Scalability":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"At what scale has the algorithm/technology been demonstrated to work? Are there any known issues?"}]},"Offline Friendliness":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Does the revocation mechanism support an authentication if the holder is offline?"}]}},"required":["$schema","Name"],"title":"RevocationAlgorithm"},"values":{"BBF18-cryptographic accumulator based on RSA":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"BBF18-cryptographic accumulator based on RSA","Recognition by government authorities (NIST, BSI, ...)":false,"Category":"Accumulator","Observability":false},"CRL - certificate revocation list":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"CRL - certificate revocation list","Recognition by government authorities (NIST, BSI, ...)":true,"Category":"Deny-List","Observability":true},"Indy Revocation":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"Indy Revocation","Implementation Support":"Indy SDK","Standardization (Body, Process)":"AnonCreds","Recognition by government authorities (NIST, BSI, ...)":false,"Category":"Accumulator","Observability":false,"Scalability":{"Value":false,"Description":"limitations by accumulator size"}},"JWT/CWT status list":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"JWT/CWT status list","Implementation Support":"https://github.com/vcstuff/draft-looker-oauth-jwt-cwt-status-list","Specification":"https://datatracker.ietf.org/doc/draft-terbu-oauth-sd-jwt-vc/","Standardization (Body, Process)":"IETF Individual","Recognition by government authorities (NIST, BSI, ...)":false,"Category":"Bitstring","Observability":true,"Traceability":{"Value":true,"Description":"potentially possible with malicious issuer by providing a revocation list with a single entry"}},"Non-Revocation Token":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"Non-Revocation Token"},"RSA-B - cryptographic accumulator based on RSA":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"RSA-B - cryptographic accumulator based on RSA","Implementation Support":"https://github.com/privacybydesign/gabi/tree/master/revocation","Specification":"https://eprint.iacr.org/2017/043.pdf","Recognition by government authorities (NIST, BSI, ...)":false,"Category":"Accumulator","Observability":true,"Traceability":false,"Offline Friendliness":true},"SLTD database (travel and identity documents)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"SLTD database (travel and identity documents)","Category":"Deny-List"},"Status List 2021":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"Status List 2021","Implementation Support":"https://github.com/transmute-industries/verifiable-data/tree/main/packages/vc-status-rl-2020","Specification":"https://w3c-ccg.github.io/vc-status-list-2021/","Standardization (Body, Process)":"W3C","Recognition by government authorities (NIST, BSI, ...)":false,"Category":"Bitstring","Observability":true,"Traceability":{"Value":true,"Description":"potentially possible with malicious issuer by providing a revocation list with a single entry"}},"VB20 - cryptographic accumulator based on pairings":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"VB20 - cryptographic accumulator based on pairings","Recognition by government authorities (NIST, BSI, ...)":false,"Category":"Accumulator","Observability":false},"Validity Credential":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"Validity Credential"},"medium-term expiration":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"medium-term expiration","Specification":"weeks"},"short-term expiration":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"short-term expiration","Specification":"minutes"}}},"Trust Management":{"structure":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"TrustManagement","type":"object","additionalProperties":false,"properties":{"$schema":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Schema"},"Name":{"type":"string","description":"A unique identifier for the trust management approach"},"Implementation Support":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Implementation-Support"},"IPR Policy":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/IPR-Policy"},"Standardization (Body, Process)":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Standardization"},"Specification":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Specification"},"Description":{"type":"string","description":"Explanation or link to a source how this trust management approach works"}},"required":["$schema","Name"],"title":"TrustManagement"},"values":{"EBSI Trust Registries":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/trust-management.json","Name":"EBSI Trust Registries","Description":"Ledger-anchored trust registries"},"IRMA (Yivi) Schemes":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/trust-management.json","Name":"IRMA (Yivi) Schemes","Specification":"https://irma.app/docs/schemes/","Description":"every issuer publishes its keys at a certain URL, the whole structure is signed by a trusted authority"},"OpenID Connect Federation":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/trust-management.json","Name":"OpenID Connect Federation","Standardization (Body, Process)":"OpenID Foundation","Specification":"https://openid.net/specs/openid-connect-federation-1_0.html","Description":"Uses JWTs and REST APIs to represent trust chains and trust marks"},"TRAIN":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/trust-management.json","Name":"TRAIN","Implementation Support":"https://gitlab.cc-asp.fraunhofer.de/train","IPR Policy":"Apache 2.0","Standardization (Body, Process)":"none","Specification":"none","Description":"Uses DNS records and ETSI Trusted Lists for trust management, developed in the EU Project NGI ESSIF-Lab, https://train.trust-scheme.de/info/"},"Trusted Lists":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/trust-management.json","Name":"Trusted Lists","Standardization (Body, Process)":"ETSi","Specification":"https://www.etsi.org/deliver/etsi_ts/119600_119699/119612/02.02.01_60/ts_119612v020201p.pdf","Description":"used by EU Trusted List (https://webgate.ec.europa.eu/tl-browser/)"},"Verified issuer certificate authority list (VICAL)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/trust-management.json","Name":"Verified issuer certificate authority list (VICAL)","Specification":"ISO 18013-5, Annex C"},"Verifier knows Issuers":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/trust-management.json","Name":"Verifier knows Issuers","Implementation Support":"Manual / bespoke","IPR Policy":"None","Standardization (Body, Process)":"None","Specification":"None","Description":"The verifier knows which issuers he trusts for issuing certain credentials, organizational solution"},"X.509 certificates":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/trust-management.json","Name":"X.509 certificates","Implementation Support":"broadly available","Description":"Trust is managed by way of attributes attested in the certificate (e.g. could be role of an issuer) in combination with trust chains. The ultimate entity in the chain is typically trust anchor recipients need to rely in. "}}}} \ No newline at end of file +{"Credential Format":{"structure":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"CredentialFormat","type":"object","additionalProperties":false,"properties":{"$schema":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Schema"},"Name":{"type":"string","description":"Unique identifier of the credential format"},"Implementation Support":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Implementation-Support"},"IPR Policy":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/IPR-Policy"},"Specification":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Specification"},"Standardization (Body, Process)":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Standardization"},"Encoding Scheme":{"type":"string","description":"Data encoding on the storage layer which applies to this credential format","$comment":"can this be set as an enum since the amount of encoding schemes is limited?"},"Rich Schemas-Semantic":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is the credential format able to communicate data or annotations that supports the semantic understanding of the credential data?","$comment":"this sounds like an objective field since semantic is a defined word"}]},"Crypto Agility":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is the credential format capable to cover different cryptographic algorithms without any requirements and achieve cryptographic agility, as demanded by regulations?"}]},"Selective Disclosure":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is the credential format capable of selective disclosure - presenting or revealing a subset of claims/attributes - without relying on architecture and protocol solutions like Just-in-Time issuance or a presentation transformation by a trusted third party?","$comment":"Do we need to ask if kind of selective disclosure reveals more information like it should? Like using SD-JWT, the verifier can see that the value came from the same credential like in the past, but this is not the case for Anoncreds"}]},"Predicates":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is the credential Format able to produce general-purpose predicates, that means attestations without revealing the data, e.g. a proof to be over 18 without revealing the date of birth?"}]},"Compatibility with Signing Algorithms":{"type":"string","description":"What signing algorithms can the format be combined with?","$comment":"TBD: https://github.com/openwallet-foundation/credential-format-comparison-sig/issues/44"},"Compatibility with Key Management Methods (Issuer)":{"type":"array","items":{"type":"string"},"description":"What key management methods can the credential format be combined with?","$comment":"TBD: https://github.com/openwallet-foundation/credential-format-comparison-sig/issues/43"}},"required":["$schema","Name"],"title":"CredentialFormat"},"values":{"ACDC":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"ACDC","Specification":"https://trustoverip.github.io/tswg-acdc-specification/","Standardization (Body, Process)":"","Encoding Scheme":"CESR","Rich Schemas-Semantic":false,"Crypto Agility":true,"Selective Disclosure":true,"Predicates":false},"AnonCred":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"AnonCred","Implementation Support":"https://github.com/hyperledger/anoncreds-rs","Specification":"https://hyperledger.github.io/anoncreds-spec/","Standardization (Body, Process)":"Community Spec (draft)","Encoding Scheme":"JSON","Rich Schemas-Semantic":false,"Crypto Agility":false,"Selective Disclosure":true,"Predicates":true,"Compatibility with Signing Algorithms":"CL","Compatibility with Key Management Methods (Issuer)":["did:indy","did:cheqd"]},"CESR/CESR Proof":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"CESR/CESR Proof","Specification":"https://www.ietf.org/archive/id/draft-pfeairheller-cesr-proof-00.html","Standardization (Body, Process)":"IETF (intention to go to Blockchain WG)","Crypto Agility":true,"Selective Disclosure":true},"CWT":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"CWT","Specification":"https://www.rfc-editor.org/rfc/rfc8392.html","Standardization (Body, Process)":"IETF","Encoding Scheme":"CBOR","Crypto Agility":true,"Selective Disclosure":false,"Predicates":false},"Gordian Envelope":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"Gordian Envelope","Implementation Support":"command-line MVP https://github.com/BlockchainCommons/envelope-cli-swift","IPR Policy":"SPDI:BSD-2-Clause-Patent https://spdx.org/licenses/BSD-2-Clause-Patent.html","Specification":"https://github.com/BlockchainCommons/BCSwiftSecureComponents","Standardization (Body, Process)":"IETF (for CBOR registration) W3C (for did method and alternative DID document and credentials data format)","Encoding Scheme":"CBOR","Rich Schemas-Semantic":false,"Crypto Agility":true,"Selective Disclosure":{"Value":true,"Description":"hash-inclusion proof, optional salts"},"Predicates":false},"ICAO DTC":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"ICAO DTC","Standardization (Body, Process)":"ICAO","Selective Disclosure":true},"Idemix attribute-based credential":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"Idemix attribute-based credential","Implementation Support":"https://github.com/privacybydesign/gabi (cryptography), https://github.com/privacybydesign/irmago (semantics, wallet, servers, more)","Specification":"None. Protocol documented here: https://irma.app/docs/irma-protocol","Standardization (Body, Process)":"Privacy by Design Foundation","Encoding Scheme":"JSON","Rich Schemas-Semantic":true,"Crypto Agility":{"Value":false,"Description":"only Idemix support"},"Selective Disclosure":true,"Predicates":true,"Compatibility with Signing Algorithms":"CL","Compatibility with Key Management Methods (Issuer)":["raw public keys (none jwk)"]},"JWP":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"JWP","Specification":"https://github.com/json-web-proofs/json-web-proofs","Standardization (Body, Process)":"DIF","Encoding Scheme":"JSON ?","Crypto Agility":true,"Selective Disclosure":{"Value":true,"Description":"ZKP, Hash&Salt"},"Predicates":true},"JWT-VC":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"JWT-VC","Rich Schemas-Semantic":false,"Crypto Agility":true,"Selective Disclosure":false,"Predicates":false},"JWT":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"JWT","Implementation Support":"https://jwt.io/libraries","IPR Policy":"https://trustee.ietf.org/documents/trust-legal-provisions/","Specification":"https://datatracker.ietf.org/doc/rfc7519/","Standardization (Body, Process)":"IETF","Encoding Scheme":"compact and JSON serialization","Rich Schemas-Semantic":false,"Crypto Agility":true,"Selective Disclosure":false,"Predicates":false,"Compatibility with Signing Algorithms":"ECDSA, EdDSA, RSA","Compatibility with Key Management Methods (Issuer)":["did:key","did:web","did:ebsi","did:iota","did:jwk","did:cheqd","did:velocity"]},"LDP-VC":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"LDP-VC","Implementation Support":"https://github.com/digitalbazaar/jsonld.js","IPR Policy":"https://www.w3.org/Consortium/Patent-Policy-20200915/#sec-Requirements","Specification":"https://www.w3.org/TR/vc-data-model/","Standardization (Body, Process)":"W3C","Encoding Scheme":"JSON-LD","Rich Schemas-Semantic":true,"Crypto Agility":true,"Selective Disclosure":{"Value":true,"Description":"BBS\nCL-Signatures (CL)\nShort Randomizable Signatures (ps-sig)"},"Predicates":{"Value":true,"Description":"depending on signature algorithm"},"Compatibility with Signing Algorithms":"ECDSA, EdDSA, RSA","Compatibility with Key Management Methods (Issuer)":["did:key","did:web","did:ebsi","did:iota","did:jwk","did:cheqd","did:velocity"]},"MDOC":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"MDOC","Specification":"ISO 18013-5","Standardization (Body, Process)":"ISO","Encoding Scheme":"CBOR","Rich Schemas-Semantic":false,"Crypto Agility":true,"Selective Disclosure":{"Value":true,"Description":"salted hashes"},"Predicates":false,"Compatibility with Signing Algorithms":"ECDSA(NIST and Brainpool curves), EdDSA, RSA"},"SD-JWT-VC":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"SD-JWT-VC","IPR Policy":"https://trustee.ietf.org/documents/trust-legal-provisions/","Specification":"https://datatracker.ietf.org/doc/html/draft-terbu-oauth-sd-jwt-vc","Standardization (Body, Process)":"IETF (OAuth WG)","Encoding Scheme":"JSON","Rich Schemas-Semantic":false,"Crypto Agility":true,"Selective Disclosure":true,"Predicates":false,"Compatibility with Signing Algorithms":"ECDSA, EdDSA, RSA","Compatibility with Key Management Methods (Issuer)":["did:key","did:web","did:ebsi","did:iota","did:jwk","did:cheqd","did:velocity"]},"SD-JWT":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"SD-JWT","Implementation Support":"https://github.com/oauthstuff/draft-selective-disclosure-jwt#implementations","IPR Policy":"https://trustee.ietf.org/documents/trust-legal-provisions/","Specification":"https://datatracker.ietf.org/doc/draft-ietf-oauth-selective-disclosure-jwt/","Standardization (Body, Process)":"IETF (OAuth WG)","Encoding Scheme":"JSON, JSON-LD","Rich Schemas-Semantic":false,"Crypto Agility":true,"Selective Disclosure":{"Value":true,"Description":"salted hashes"},"Predicates":false},"VC (1.1)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"VC (1.1)","Implementation Support":"https://jwt.io/libraries","IPR Policy":"https://www.w3.org/Consortium/Patent-Policy-20200915/#sec-Requirements","Specification":"https://www.w3.org/TR/vc-data-model/","Standardization (Body, Process)":"W3C","Encoding Scheme":"JSON, JSON-LD","Rich Schemas-Semantic":true,"Crypto Agility":true,"Selective Disclosure":true,"Predicates":false,"Compatibility with Signing Algorithms":"ECDSA, EdDSA, RSA","Compatibility with Key Management Methods (Issuer)":["x509","did methods"]},"x509":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-format.json","Name":"x509","Standardization (Body, Process)":"ITUT","Encoding Scheme":"ASN.1","Rich Schemas-Semantic":false,"Crypto Agility":true,"Selective Disclosure":false,"Predicates":false}}},"Credential Profile":{"structure":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"CredentialProfile","type":"object","additionalProperties":false,"properties":{"$schema":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Schema"},"Name":{"type":"string","description":"The name of the credential profile, as it is commonly called. This is the name that should be used to refer to the credential profile in other documents and discussions"},"Credential Profile Description":{"type":"string","description":"A brief description of the credential profile"},"Credential Format":{"allOf":[{"$ref":"../viewer/src/assets/schemas/fields.json#/definitions/Credential-Format"},{"description":"The format of the credential."}]},"Signing Algorithm":{"allOf":[{"$ref":"../viewer/src/assets/schemas/fields.json#/definitions/Signing-Algorithm"},{"description":"The format of the signing algorithm."}]},"Status Algorithm":{"allOf":[{"$ref":"../viewer/src/assets/schemas/fields.json#/definitions/Status-Algorithm"},{"description":"The format of the status algorithm."}]},"Key Management (Issuer)":{"allOf":[{"$ref":"../viewer/src/assets/schemas/fields.json#/definitions/Key-Management"},{"description":"The format of the key management for the issuer."}]},"Key Management (Holder)":{"allOf":[{"$ref":"../viewer/src/assets/schemas/fields.json#/definitions/Key-Management"},{"description":"The format of the key management for the holder."}]},"Issuance Protocol":{"allOf":[{"$ref":"../viewer/src/assets/schemas/fields.json#/definitions/Issuance-Protocol"},{"description":"The format of issuance protocol."}]},"Presentation Protocol":{"allOf":[{"$ref":"../viewer/src/assets/schemas/fields.json#/definitions/Presentation-Protocol"},{"description":"The format of the presentation protocol."}]},"Trust Management":{"allOf":[{"$ref":"../viewer/src/assets/schemas/fields.json#/definitions/Trust-Management"},{"description":"The format of the trust management."}]},"Formal Specification":{"type":"string","description":"A link to a formal specification of the credential profile."}},"required":["$schema","Credential Format","Credential Profile Description","Name","Key Management (Holder)","Key Management (Issuer)","Signing Algorithm"],"title":"CredentialProfile"},"values":{"AnonCreds with cardano blockchain":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"AnonCreds with cardano blockchain","Credential Profile Description":"AnonCreds with cardano blockchain","Credential Format":"AnonCred","Signing Algorithm":"CL","Key Management (Issuer)":"did:web","Key Management (Holder)":"link secrets","Trust Management":"Verifier knows Issuers","Formal Specification":"https://github.com/roots-id/cardano-anoncreds/blob/main/cardano-anoncred-methods.md"},"AnonCreds with did:cheqd":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"AnonCreds with did:cheqd","Credential Profile Description":"AnonCreds with did:cheqd","Credential Format":"AnonCred","Signing Algorithm":"CL","Status Algorithm":"Indy Revocation","Key Management (Issuer)":"did:cheqd","Key Management (Holder)":"link secrets","Formal Specification":"https://docs.cheqd.io/identity/advanced/anoncreds"},"AnonCreds with did:indy":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"AnonCreds with did:indy","Credential Profile Description":"Well-known default profile in all Hyperledger Indy implementations. A favoured profile due to selective disclosure and predicate capability as well as privacy-preserving revocation mechanism. Standardization in community spec in progress (July 2022).","Credential Format":"AnonCred","Signing Algorithm":"CL","Status Algorithm":"Indy Revocation","Key Management (Issuer)":"did:indy","Key Management (Holder)":"link secrets","Trust Management":"Verifier knows Issuers","Formal Specification":"https://hyperledger.github.io/anoncreds-spec/"},"AnonCreds with did:web":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"AnonCreds with did:web","Credential Profile Description":"AnonCreds with did:web","Credential Format":"AnonCred","Signing Algorithm":"CL","Status Algorithm":"Indy Revocation","Key Management (Issuer)":"did:web","Key Management (Holder)":"link secrets","Trust Management":"Verifier knows Issuers","Formal Specification":"https://github.com/2060-io/did-web-anoncreds-method"},"Decentralized Identity Interop Profile":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"Decentralized Identity Interop Profile","Formal Specification":"https://dutchblockchaincoalition.github.io/DIIP/","Credential Profile Description":"Decentralized Identity Interop Profile","Credential Format":"JWT-VC","Signing Algorithm":"ECDSA","Status Algorithm":"Status List 2021","Key Management (Issuer)":"did:web","Key Management (Holder)":"did:jwk","Issuance Protocol":"OpenID4VCI","Presentation Protocol":"OpenID4VP"},"EBSI":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"EBSI","Credential Profile Description":"[Profile description goes here]","Credential Format":"JWT-VC","Signing Algorithm":"ECDSA","Status Algorithm":"Status List 2021","Key Management (Issuer)":"did:ebsi","Key Management (Holder)":"did:key","Trust Management":"EBSI Trust Registries"},"HAIP":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"HAIP","Credential Profile Description":"OpenID4VC High Assurance Interoperability Profile with SD-JWT-VC","Formal Specification":"https://vcstuff.github.io/oid4vc-haip-sd-jwt-vc/draft-oid4vc-haip-sd-jwt-vc.html#name-authors-addresses","Credential Format":"SD-JWT-VC","Signing Algorithm":"ECDSA","Status Algorithm":"JWT/CWT status list","Key Management (Issuer)":".well-known/jwt-issuer","Key Management (Holder)":"raw public keys (jwk)","Issuance Protocol":"OpenID4VCI","Presentation Protocol":"OpenID4VP"},"ICAO DTC":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"ICAO DTC","Credential Profile Description":"[Profile description goes here]","Credential Format":"ICAO DTC","Signing Algorithm":"ECDSA","Status Algorithm":"SLTD database (travel and identity documents)","Key Management (Issuer)":"raw public keys (none jwk)","Key Management (Holder)":"raw public keys (none jwk)","Trust Management":"X.509 certificates"},"IRMA (Yivi) wallet":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"IRMA (Yivi) wallet","Credential Profile Description":"https://dominoweb.draco.res.ibm.com/reports/rz3730_revised.pdf","Credential Format":"Idemix attribute-based credential","Signing Algorithm":"CL","Status Algorithm":"RSA-B - cryptographic accumulator based on RSA","Key Management (Issuer)":"raw public keys (none jwk)","Key Management (Holder)":"link secrets","Trust Management":"IRMA (Yivi) Schemes"},"ISO mDL":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"ISO mDL","Credential Profile Description":"[Profile description goes here]","Credential Format":"MDOC","Signing Algorithm":"ECDSA","Status Algorithm":"medium-term expiration","Key Management (Issuer)":"pub key in X.509 cert","Key Management (Holder)":"cose key","Trust Management":"Verified issuer certificate authority list (VICAL)","Formal Specification":"ISO 18013-5"},"JFFLabs x VC-EDU PlugFest2 (LDP)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"JFFLabs x VC-EDU PlugFest2 (LDP)","Credential Profile Description":"Interoperability profile used in the PlugFest2","Credential Format":"JWT-VC","Signing Algorithm":"EdDSA","Key Management (Issuer)":"did:web","Key Management (Holder)":"did:jwk"},"JFFLabs x VC-EDU PlugFest2 (VC)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"JFFLabs x VC-EDU PlugFest2 (VC)","Credential Profile Description":"Interoperability profile used in the PlugFest2","Credential Format":"LDP-VC","Signing Algorithm":"EdDSA","Key Management (Issuer)":"did:web","Key Management (Holder)":"did:key"},"JSON-LD VCs with BBS (Credential is Secret)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"JSON-LD VCs with BBS (Credential is Secret)","Credential Profile Description":"[Profile description goes here]","Credential Format":"LDP-VC","Signing Algorithm":"BoundBBS+","Status Algorithm":"Status List 2021","Key Management (Issuer)":"did:web","Key Management (Holder)":"credential as secret"},"JSON-LD VCs with BBS (Holder DID)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"JSON-LD VCs with BBS (Holder DID)","Credential Profile Description":"[Profile description goes here]","Credential Format":"LDP-VC","Signing Algorithm":"BBS+ with public key binding","Status Algorithm":"Status List 2021","Key Management (Issuer)":"did:web","Key Management (Holder)":"did:key"},"JWT VC Presentation Profile 2":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"JWT VC Presentation Profile 2","Credential Profile Description":"https://identity.foundation/jwt-vc-presentation-profile/","Credential Format":"JWT-VC","Signing Algorithm":"ECDSA","Status Algorithm":"Status List 2021","Key Management (Issuer)":"did:web","Key Management (Holder)":"did:ion (long form)"},"JWT VC Presentation Profile":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"JWT VC Presentation Profile","Credential Profile Description":"https://identity.foundation/jwt-vc-presentation-profile/","Credential Format":"JWT-VC","Signing Algorithm":"ECDSA","Status Algorithm":"Status List 2021","Key Management (Issuer)":"did:ion (long form)","Key Management (Holder)":"did:ion (long form)"},"NGI Atlantic for OpenID4VCs":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"NGI Atlantic for OpenID4VCs","Credential Profile Description":"https://ngiatlantic.info\nhttps://ngiatlantic.eu/funded-experiments/next-generation-ssi-standards","Credential Format":"JWT-VC","Signing Algorithm":"ECDSA","Status Algorithm":"short-term expiration","Key Management (Issuer)":"did:key","Key Management (Holder)":"did:key","Trust Management":"TRAIN","Formal Specification":"https://ngiatlantic.info"},"SD-JWT VCs (w/ X.509 for Issuers)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"SD-JWT VCs (w/ X.509 for Issuers)","Credential Profile Description":"[Profile description goes here]","Credential Format":"SD-JWT-VC","Signing Algorithm":"ECDSA","Status Algorithm":"JWT/CWT status list","Key Management (Issuer)":"raw public keys (none jwk)","Key Management (Holder)":"did:jwk","Trust Management":"X.509 certificates"},"x.509":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/credential-profile.json","Name":"x.509","Credential Profile Description":"[Profile description goes here]","Credential Format":"x509","Signing Algorithm":"ECDSA","Status Algorithm":"CRL - certificate revocation list","Key Management (Issuer)":"raw public keys (none jwk)","Key Management (Holder)":"raw public keys (none jwk)","Trust Management":"X.509 certificates"}}},"defs":{"$schema":"http://json-schema.org/draft-07/schema","$id":"defs.json","type":"object","definitions":{"Schema":{"type":"string","description":"JSON Schema URI"},"Filter":{"type":["object","boolean"],"properties":{"Value":{"type":"boolean","description":"Allows to filter this property"},"Description":{"type":"string","description":"Give more information about this property"}},"additionalProperties":false,"required":["Value"]},"Implementation-Support":{"type":"string","description":"Links to SDKs or documentation how to implement it.","$comment":"Objective field, only link to resources. Do not explain like 'easy to implement' since this is subjective."},"IPR-Policy":{"type":"string","description":"What is the policy regarding intellectual properties associated with this technology?"},"Specification":{"type":"string","description":"Where is it specified?"},"Standardization":{"type":"string","description":"Under which Standardization Body and which standards track/status is it standardized?"},"LinkElement":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"link":{"type":"string","format":"uri","qt-uri-protocols":["https"]}},"required":["link","name"],"title":"LinkElement"}}},"Issuance Protocol":{"structure":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"IssuanceProtocol","type":"object","additionalProperties":false,"properties":{"$schema":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Schema"},"Name":{"type":"string","description":"Unique identifier of the issuance protocol"},"Specification":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Specification"}},"required":["$schema","Name"],"title":"IssuanceProtocol"},"values":{"ACDC":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/issuance-protocol.json","Name":"ACDC"},"ISO 23220-3":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/issuance-protocol.json","Name":"ISO 23220-3"},"Issue Credential v1":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/issuance-protocol.json","Name":"Issue Credential v1","Specification":"https://github.com/hyperledger/aries-rfcs/blob/main/features/0036-issue-credential/README.md"},"Issue Credential v2":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/issuance-protocol.json","Name":"Issue Credential v2"},"Issue Credential v3":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/issuance-protocol.json","Name":"Issue Credential v3","Specification":"https://github.com/decentralized-identity/waci-didcomm/blob/main/issue_credential/README.md"},"OpenID4VCI":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/issuance-protocol.json","Name":"OpenID4VCI","Specification":"https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html"}}},"Key Management":{"structure":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"KeyManagement","type":"object","additionalProperties":false,"properties":{"$schema":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Schema"},"Name":{"type":"string","description":"Unique identifier of the method"},"Implementation Support":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Implementation-Support"},"IPR Policy":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/IPR-Policy"},"Specification":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Specification"},"Infrastructure for Key Resolution":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is there any infrastructure required to resolve keys and/or validate identifier to key binding?"}]},"Key Rotation":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Can the key referred to in a credential be replaced by another key?"}]},"Key History":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is it possible to retain and obtain the history of keys related to a certain identifier? In case of key rotation it is important for signed credentials to request older keys that are not used for signing anymore"}]},"Party":{"type":"array","items":{"enum":["issuer","holder"]},"description":"What party may uses this technique?","$comment":"We are not looking at verifiers here, since e.g. the identification of the verifier is not part of the credential comparison matrix"}},"required":["$schema","Name"],"title":"KeyManagement"},"values":{".well-known/jwt-issuer":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":".well-known/jwt-issuer"},"cose key":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"cose key","Implementation Support":"https://www.rfc-editor.org/rfc/rfc9052.html"},"credential as secret":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"credential as secret","Infrastructure for Key Resolution":false,"Key Rotation":false,"Key History":false,"Party":["holder"]},"did:cheqd":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"did:cheqd","Specification":"https://docs.cheqd.io/identity/architecture/adr-list/adr-001-cheqd-did-method","Implementation Support":"https://docs.cheqd.io/identity/sdk/understanding-sdks","Party":["issuer"]},"did:ebsi":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"did:ebsi","Implementation Support":"https://ec.europa.eu/digital-building-blocks/wikis/display/EBSIDOC/EBSI+DID+Method","Infrastructure for Key Resolution":{"Value":true,"Description":"dlt"},"Key Rotation":true,"Key History":true,"Party":["issuer"]},"did:indy":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"did:indy","Implementation Support":"https://hyperledger.github.io/indy-did-method/","Infrastructure for Key Resolution":{"Value":true,"Description":"dlt"},"Key Rotation":true,"Key History":true,"Party":["issuer"]},"did:ion (long form)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"did:ion (long form)","Implementation Support":"https://github.com/decentralized-identity/ion","Infrastructure for Key Resolution":false,"Key Rotation":false,"Key History":false,"Party":["holder","issuer"]},"did:ion (short form)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"did:ion (short form)","Infrastructure for Key Resolution":true,"Key Rotation":true,"Key History":true,"Party":["issuer"]},"did:jwk":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"did:jwk","Party":["holder","issuer"]},"did:keri":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"did:keri","Implementation Support":"https://weboftrust.github.io/did-keri/","Infrastructure for Key Resolution":{"Value":true,"Description":"witness network"},"Key Rotation":true,"Key History":true,"Party":["holder","issuer"]},"did:key":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"did:key","Implementation Support":"https://w3c-ccg.github.io/did-method-key/","Infrastructure for Key Resolution":false,"Key Rotation":false,"Key History":false,"Party":["holder","issuer"]},"did:peer":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"did:peer","Implementation Support":"https://identity.foundation/peer-did-method-spec/index.html","Party":["holder"]},"did:web":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"did:web","Implementation Support":"https://github.com/w3c-ccg/did-method-web","Infrastructure for Key Resolution":{"Value":true,"Description":"web server"},"Key Rotation":true,"Key History":false,"Party":["holder","issuer"]},"jwks_uri":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"jwks_uri","Infrastructure for Key Resolution":{"Value":true,"Description":"web server"},"Key Rotation":true,"Key History":{"Value":true,"Description":"conditional (with OpenID Connect Federation Key History)"},"Party":["issuer"]},"link secrets":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"link secrets","Infrastructure for Key Resolution":false,"Key Rotation":false,"Key History":false,"Party":["holder"]},"pub key in X.509 cert":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"pub key in X.509 cert"},"raw public keys (jwk)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"raw public keys (jwk)","Implementation Support":"https://www.rfc-editor.org/rfc/rfc7517","IPR Policy":"https://trustee.ietf.org/documents/trust-legal-provisions/","Specification":"https://www.rfc-editor.org/rfc/rfc7517","Infrastructure for Key Resolution":false,"Key Rotation":false,"Key History":{"Value":true,"Description":"conditional (with OpenID Connect Federation Key History)"},"Party":["holder","issuer"]},"raw public keys (none jwk)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/key-management.json","Name":"raw public keys (none jwk)","Infrastructure for Key Resolution":false,"Key Rotation":false,"Key History":false,"Party":["holder","issuer"]}}},"Presentation Protocol":{"structure":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"PresentationProtocol","type":"object","additionalProperties":false,"properties":{"$schema":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Schema"},"Name":{"type":"string","description":"Unique identifier of the presentation protocol"},"Specification":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Specification"}},"required":["$schema","Name"],"title":"PresentationProtocol"},"values":{"OpenID4VP":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/presentation-protocol.json","Name":"OpenID4VP","Specification":"https://openid.net/specs/openid-4-verifiable-presentations-1_0.html"},"Present Proof v2":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/presentation-protocol.json","Name":"Present Proof v2","Specification":"https://hyperledger.github.io/aries-rfcs/latest/aip2/0454-present-proof-v2"},"Present Proof v1.0":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/presentation-protocol.json","Name":"Present Proof v1.0","Specification":"https://github.com/hyperledger/aries-rfcs/blob/main/features/0037-present-proof/README.md"},"Presentation Exchange v1":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/presentation-protocol.json","Name":"Presentation Exchange v1","Specification":"https://identity.foundation/presentation-exchange/spec/v1.0.0/"}}},"Signing Algorithm":{"structure":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"SigningAlgorithm","type":"object","additionalProperties":false,"properties":{"$schema":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Schema"},"Name":{"type":"string","description":"A unique identifier for the signing algorithm"},"Implementation Support":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Implementation-Support"},"IPR Policy":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/IPR-Policy"},"Specification":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Specification"},"Standardization (Body, Process)":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Standardization"},"Recognition by government authorities (NIST, BSI, ...)":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is the signing algorithm recognized in regulatory frameworks of leading government bodies?"}]},"Performance":{"type":"string","description":"How performant is the signing algorithm?","$comment":"difficult to answer, since there is no performance framework to measure against"},"Hardware support":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is the Signing Algorithm supported by common hardware-backed cryptographic implementations, such as Secure Elements, SecureEnclave, HSM, Strongbox, TEE, TPM","$comment":"Using different approaches can lead to different results when choosing key lengths or performance measurements"}]},"Unlinkability-Uncorrelatability-Blind signatures possible":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is the Signing Algorithm capable of creating a credential scheme, such that two verification processes can not be linked/correlated by colluding Verifiers/Relying Parties?"}]},"Security strength":{"type":"string","description":"What level of security strength is common and standardized for this signing algorithm?"},"Post-quantum security":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is the Signing Algorithm still secure if quantum computing achieves substantial computation power?"}]}},"required":["$schema","Name"],"title":"SigningAlgorithm"},"values":{"BBS+ with public key binding":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/signing-algorithm.json","Name":"BBS+ with public key binding","Implementation Support":"https://github.com/mattrglobal/bbs-signatures","Specification":"https://datatracker.ietf.org/doc/draft-looker-cfrg-bbs-signatures/","Standardization (Body, Process)":"DIF (intention to transfer to IRTF CFRG)","Recognition by government authorities (NIST, BSI, ...)":{"Value":false,"Description":"not acknowledged"},"Hardware support":false,"Unlinkability-Uncorrelatability-Blind signatures possible":false,"Security strength":"381 bit curve","Post-quantum security":false},"BoundBBS+":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/signing-algorithm.json","Name":"BoundBBS+","IPR Policy":"barely","Standardization (Body, Process)":"DIF (intention to transfer to IRTF CFRG)","Recognition by government authorities (NIST, BSI, ...)":{"Value":false,"Description":"not acknowledged"},"Hardware support":false,"Unlinkability-Uncorrelatability-Blind signatures possible":true,"Post-quantum security":false},"CL":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/signing-algorithm.json","Name":"CL","Implementation Support":"Hyperledger Ursa, https://github.com/privacybydesign/gabi ","Specification":"CL-Signatures of there own do not have a formal specification, that is included in Anoncreds","Standardization (Body, Process)":"none","Recognition by government authorities (NIST, BSI, ...)":{"Value":false,"Description":"not acknowledged (independent crypto analysis published)"},"Performance":"Ursa: up to 7 seconds for a validation and approximately 30 seconds for credential definition generation; IRMA (Yivi): both in less than a second","Hardware support":false,"Unlinkability-Uncorrelatability-Blind signatures possible":true,"Security strength":"equivalent to RSA2048","Post-quantum security":false},"ECDSA":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/signing-algorithm.json","Name":"ECDSA","Implementation Support":"many mature implementations","Specification":"X9.62-2005","Standardization (Body, Process)":"ANSI","Recognition by government authorities (NIST, BSI, ...)":true,"Hardware support":true,"Unlinkability-Uncorrelatability-Blind signatures possible":false,"Security strength":"256 / 384 / 512 bit","Post-quantum security":false},"EdDSA":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/signing-algorithm.json","Name":"EdDSA","Implementation Support":"many mature implementations","Recognition by government authorities (NIST, BSI, ...)":{"Value":true,"Description":"widely accepted, though still behind ECDSA"},"Performance":"high","Hardware support":false,"Unlinkability-Uncorrelatability-Blind signatures possible":false,"Security strength":"257 / 384 / 512 bit","Post-quantum security":false},"PS":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/signing-algorithm.json","Name":"PS","Implementation Support":"Hyperledger Anoncreds, https://github.com/hyperledger/anoncreds-v2-rs ","Specification":"PS-Signatures of there own do not have a formal specification, that is included in Anoncreds-V2","Standardization (Body, Process)":"none","Recognition by government authorities (NIST, BSI, ...)":{"Value":false,"Description":"not acknowledged (independent crypto analysis published)"},"Hardware support":false,"Performance":"medium, faster than CL, slower than Schnorr, single-digit milliseconds for all operations, even in a threshold decentralized setting","Unlinkability-Uncorrelatability-Blind signatures possible":true,"Post-quantum security":false},"RSA":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/signing-algorithm.json","Name":"RSA","Implementation Support":"many mature implementations","Recognition by government authorities (NIST, BSI, ...)":{"Value":true,"Description":"but support is fading"},"Hardware support":true,"Unlinkability-Uncorrelatability-Blind signatures possible":false,"Security strength":"2048 / 3072 / 4096 (scales bad)","Post-quantum security":false},"Schnorr":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/signing-algorithm.json","Name":"Schnorr","Implementation Support":"many mature implementations","IPR Policy":"patents expired","Specification":"different curves-different specs","Standardization (Body, Process)":"different curves-different standards","Recognition by government authorities (NIST, BSI, ...)":{"Value":true,"Description":"NIST with Curve25519"},"Performance":"high","Hardware support":false,"Unlinkability-Uncorrelatability-Blind signatures possible":false,"Post-quantum security":false}}},"Status Algorithm":{"structure":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"StatusAlgorithm","type":"object","additionalProperties":false,"properties":{"$schema":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Schema"},"Name":{"type":"string","description":"Unique identifier of the algorithm"},"Implementation Support":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Implementation-Support"},"IPR Policy":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/IPR-Policy"},"Specification":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Specification"},"Standardization (Body, Process)":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Standardization"},"Recognition by government authorities (NIST, BSI, ...)":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Is the status algorithm recognized in regulatory frameworks of leading government bodies?"}]},"Category":{"type":"string","description":"Algorithm that behind the implementation of the revocation (Bitlist = each credential has a position in the list. Deny-List: revoked credentials will be added on demand. Accumulator: cryptographic proof the holder presents to show that the credential is not revoked)"},"Performance":{"type":"string","description":"How performant is the revocation mechanism (for issuer, holder and verifier)?","$comment":"For this case there could be some king of test framework"},"Observability":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Does the Verifier have the possibility to observe the revocation status beyond the presentation?"}]},"Traceability":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Does the issuer have possibilities to trace the usage of his issued credentials through the revocation mechanism?","$comment":"With a size of one used element the issuer should always be able to trace the usage of his issued credentials"}]},"Scalability":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"At what scale has the algorithm/technology been demonstrated to work? Are there any known issues?"}]},"Offline Friendliness":{"allOf":[{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Filter"},{"description":"Does the revocation mechanism support an authentication if the holder is offline?"}]}},"required":["$schema","Name"],"title":"RevocationAlgorithm"},"values":{"BBF18-cryptographic accumulator based on RSA":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"BBF18-cryptographic accumulator based on RSA","Recognition by government authorities (NIST, BSI, ...)":false,"Category":"Accumulator","Observability":false},"CRL - certificate revocation list":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"CRL - certificate revocation list","Recognition by government authorities (NIST, BSI, ...)":true,"Category":"Deny-List","Observability":true},"Indy Revocation":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"Indy Revocation","Implementation Support":"Indy SDK","Standardization (Body, Process)":"AnonCreds","Recognition by government authorities (NIST, BSI, ...)":false,"Category":"Accumulator","Observability":false,"Scalability":{"Value":false,"Description":"limitations by accumulator size"}},"JWT/CWT status list":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"JWT/CWT status list","Implementation Support":"https://github.com/vcstuff/draft-looker-oauth-jwt-cwt-status-list","Specification":"https://datatracker.ietf.org/doc/draft-terbu-oauth-sd-jwt-vc/","Standardization (Body, Process)":"IETF Individual","Recognition by government authorities (NIST, BSI, ...)":false,"Category":"Bitstring","Observability":true,"Traceability":{"Value":true,"Description":"potentially possible with malicious issuer by providing a revocation list with a single entry"}},"Non-Revocation Token":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"Non-Revocation Token"},"RSA-B - cryptographic accumulator based on RSA":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"RSA-B - cryptographic accumulator based on RSA","Implementation Support":"https://github.com/privacybydesign/gabi/tree/master/revocation","Specification":"https://eprint.iacr.org/2017/043.pdf","Recognition by government authorities (NIST, BSI, ...)":false,"Category":"Accumulator","Observability":true,"Traceability":false,"Offline Friendliness":true},"SLTD database (travel and identity documents)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"SLTD database (travel and identity documents)","Category":"Deny-List"},"Status List 2021":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"Status List 2021","Implementation Support":"https://github.com/transmute-industries/verifiable-data/tree/main/packages/vc-status-rl-2020","Specification":"https://w3c-ccg.github.io/vc-status-list-2021/","Standardization (Body, Process)":"W3C","Recognition by government authorities (NIST, BSI, ...)":false,"Category":"Bitstring","Observability":true,"Traceability":{"Value":true,"Description":"potentially possible with malicious issuer by providing a revocation list with a single entry"}},"VB20 - cryptographic accumulator based on pairings":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"VB20 - cryptographic accumulator based on pairings","Recognition by government authorities (NIST, BSI, ...)":false,"Category":"Accumulator","Observability":false},"Validity Credential":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"Validity Credential"},"medium-term expiration":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"medium-term expiration","Specification":"weeks"},"short-term expiration":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/status-algorithm.json","Name":"short-term expiration","Specification":"minutes"}}},"Trust Management":{"structure":{"$schema":"http://json-schema.org/draft-07/schema#","$id":"TrustManagement","type":"object","additionalProperties":false,"properties":{"$schema":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Schema"},"Name":{"type":"string","description":"A unique identifier for the trust management approach"},"Implementation Support":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Implementation-Support"},"IPR Policy":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/IPR-Policy"},"Standardization (Body, Process)":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Standardization"},"Specification":{"$ref":"https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/main/schemas/defs.json#/definitions/Specification"},"Description":{"type":"string","description":"Explanation or link to a source how this trust management approach works"}},"required":["$schema","Name"],"title":"TrustManagement"},"values":{"EBSI Trust Registries":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/trust-management.json","Name":"EBSI Trust Registries","Description":"Ledger-anchored trust registries"},"IRMA (Yivi) Schemes":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/trust-management.json","Name":"IRMA (Yivi) Schemes","Specification":"https://irma.app/docs/schemes/","Description":"every issuer publishes its keys at a certain URL, the whole structure is signed by a trusted authority"},"OpenID Connect Federation":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/trust-management.json","Name":"OpenID Connect Federation","Standardization (Body, Process)":"OpenID Foundation","Specification":"https://openid.net/specs/openid-connect-federation-1_0.html","Description":"Uses JWTs and REST APIs to represent trust chains and trust marks"},"TRAIN":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/trust-management.json","Name":"TRAIN","Implementation Support":"https://gitlab.cc-asp.fraunhofer.de/train","IPR Policy":"Apache 2.0","Standardization (Body, Process)":"none","Specification":"none","Description":"Uses DNS records and ETSI Trusted Lists for trust management, developed in the EU Project NGI ESSIF-Lab, https://train.trust-scheme.de/info/"},"Trusted Lists":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/trust-management.json","Name":"Trusted Lists","Standardization (Body, Process)":"ETSi","Specification":"https://www.etsi.org/deliver/etsi_ts/119600_119699/119612/02.02.01_60/ts_119612v020201p.pdf","Description":"used by EU Trusted List (https://webgate.ec.europa.eu/tl-browser/)"},"Verified issuer certificate authority list (VICAL)":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/trust-management.json","Name":"Verified issuer certificate authority list (VICAL)","Specification":"ISO 18013-5, Annex C"},"Verifier knows Issuers":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/trust-management.json","Name":"Verifier knows Issuers","Implementation Support":"Manual / bespoke","IPR Policy":"None","Standardization (Body, Process)":"None","Specification":"None","Description":"The verifier knows which issuers he trusts for issuing certain credentials, organizational solution"},"X.509 certificates":{"$schema":"/main/https://raw.githubusercontent.com/openwallet-foundation/credential-format-comparison-sig/schemas/trust-management.json","Name":"X.509 certificates","Implementation Support":"broadly available","Description":"Trust is managed by way of attributes attested in the certificate (e.g. could be role of an issuer) in combination with trust chains. The ultimate entity in the chain is typically trust anchor recipients need to rely in. "}}}} \ No newline at end of file