vocab:
id: sec
value: https://w3id.org/security#
context: https://w3id.org/security/data-integrity/v2
prefix:
- id: cred
value: https://www.w3.org/2018/credentials#
ontology:
- property: dc:title
value: Security Vocabulary
- property: dc:description
value: |
vocabulary used to ensure the authenticity and integrity of Verifiable Credentials and similar types of constrained digital documents using cryptography, especially through the use of digital signatures and related mathematical proofs
- property: rdfs:seeAlso
value: https://www.w3.org/TR/vc-data-integrity/
class:
- id: ControlledIdentifierDocument
label: Controlled Identifier Document
defined_by: https://www.w3.org/TR/cid-1.0/#controlled-identifier-documents
context: none
- id: Proof
label: Digital proof
defined_by: https://www.w3.org/TR/vc-data-integrity/#dfn-data-integrity-proof
comment: This class represents a digital proof on serialized data.
context: none
- id: ProofGraph
label: An RDF Graph for a digital proof
comment: Instances of this class are RDF Graphs [[RDF11-CONCEPTS]], where each of these graphs must include exactly one Proof instance.
context: none
- id: VerificationMethod
label: Verification method
comment: Instances of this class must be denoted by URLs, i.e., they cannot be blank nodes.
defined_by: https://www.w3.org/TR/cid-1.0/#verification-methods
context: none
- id: VerificationRelationship
comment: Instances of this class are verification relationships like, for example, authentication or assertionMethod. These resources can also appear as values of the proofPurpose property.
defined_by: https://www.w3.org/TR/cid-1.0/#verification-relationships
upper_value: rdf:Property
context: none
- id: DataIntegrityProof
label: A Data Integrity Proof
upper_value: sec:Proof
defined_by: https://www.w3.org/TR/vc-data-integrity/#dataintegrityproof
context: none
- id: Multikey
label: Multikey Verification Method
upper_value: sec:VerificationMethod
defined_by: https://www.w3.org/TR/cid-1.0/#multikey
see_also:
- label: EdDSA Cryptosuites
url: https://www.w3.org/TR/vc-di-eddsa/#multikey
- label: ECDSA Cryptosuites
url: https://www.w3.org/TR/vc-di-ecdsa/#multikey
- label: BBS Cryptosuites
url: https://www.w3.org/TR/vc-di-bbs/#multikey
context: [https://w3id.org/security/multikey/v1, https://www.w3.org/ns/cid/v1]
- id: JsonWebKey
label: JSON Web Key Verification Method
upper_value: sec:VerificationMethod
defined_by: https://www.w3.org/TR/cid-1.0/#jsonwebkey
context: [https://w3id.org/security/jwk/v1, https://www.w3.org/ns/cid/v1]
- id: Ed25519VerificationKey2020
label: ED2559 Verification Key, 2020 version
upper_value: sec:VerificationMethod
defined_by: https://www.w3.org/TR/vc-di-eddsa/#ed25519verificationkey2020
context: none
- id: Ed25519Signature2020
label: Ed25519 Signature Suite, 2020 version
upper_value: sec:Proof
defined_by: https://www.w3.org/TR/vc-di-eddsa/#ed25519signature2020
context: none
- id: ProcessingError
label: Processing error
defined_by: https://www.w3.org/TR/vc-data-integrity/#processing-errors
context: none
# These are the class definitions in the CCG documents that are not defined in a VCWG document; they are all deprecated.
# In some cases, a CCG document was found and used for the definition, but in other cases, even that is missing...
- id: Key
label: Cryptographic key
deprecated: true
comment: This class represents a cryptographic key that may be used for encryption, decryption, or digitally signing data. This class serves as a supertype for specific key types.
context: none
- id: EcdsaSecp256k1Signature2019
deprecated: true
label: ecdsa-sep256k1, 2019 version
defined_by: https://w3c-ccg.github.io/ld-cryptosuite-registry/#ecdsa-secp256k1
context: none
- id: EcdsaSecp256k1Signature2020
deprecated: true
label: ecdsa-sep256k1, 2020 version
defined_by: https://w3c-ccg.github.io/ld-cryptosuite-registry/#ecdsa-secp256k1
context: none
- id: EcdsaSecp256k1VerificationKey2019
deprecated: true
label: ecdsa-secp256k1 verification key, 2019 version
defined_by: https://w3c-ccg.github.io/ld-cryptosuite-registry/#ecdsasecp256k1recoverysignature2020
upper_value: sec:Key
context: none
- id: EcdsaSecp256k1RecoverySignature2020
deprecated: true
label: ecdsa-secp256k1 recovery signature, 2020 version
defined_by: https://w3c-ccg.github.io/ld-cryptosuite-registry/#ecdsasecp256k1recoverysignature2020
context: none
- id: EcdsaSecp256k1RecoveryMethod2020
deprecated: true
label: ecdsa-secp256k1 recovery method, 2020 version
#upper_value: sec:Key
defined_by: https://w3c-ccg.github.io/ld-cryptosuite-registry/#ecdsasecp256k1recoverymethod2020
context: none
- id: MerkleProof2019
deprecated: true
label: Merkle Proof
defined_by: https://w3c-ccg.github.io/lds-merkle-proof-2019/
context: none
- id: X25519KeyAgreementKey2019
deprecated: true
label: X25519 Key Agreement Key, 2019 version
#upper_value: sec:Key
defined_by: https://w3c-ccg.github.io/security-vocab/#X25519KeyAgreementKey2019
context: none
- id: Ed25519VerificationKey2018
deprecated: true
label: ED2559 Verification Key, 2018 version
defined_by: https://w3c-ccg.github.io/ld-cryptosuite-registry/#ed25519
#upper_value: sec:Key
context: none
- id: JsonWebKey2020
deprecated: true
label: JSON Web Key, 2020 version
#upper_value: sec:Key
defined_by: https://w3c-ccg.github.io/security-vocab/#JsonWebKey2020
comment: A linked data proof suite verification method type used with `JsonWebSignature2020`
context: none
- id: JsonWebSignature2020
deprecated: true
label: JSON Web Signature, 2020 version
defined_by: https://w3c-ccg.github.io/security-vocab/#JsonWebSignature2020
context: none
- id: BbsBlsSignature2020
deprecated: true
label: BBS Signature, 2020 version
defined_by: https://w3c-ccg.github.io/security-vocab/#BbsBlsSignature2020
context: none
- id: BbsBlsSignatureProof2020
deprecated: true
label: BBS Signature Proof, 2020 version
defined_by: https://w3c-ccg.github.io/security-vocab/#BbsBlsSignatureProof2020
context: none
- id: Bls12381G1Key2020
deprecated: true
label: BLS 12381 G1 Signature Key, 2020 version
#upper_value: sec:Key
defined_by: https://w3c-ccg.github.io/security-vocab/#Bls12381G1Key2020
context: none
- id: Bls12381G2Key2020
deprecated: true
label: BLS 12381 G2 Signature Key, 2020 version
#upper_value: sec:Key
defined_by: https://w3c-ccg.github.io/security-vocab/#Bls12381G2Key2020
context: none
property:
- id: verificationMethod
label: Verification method
range: sec:VerificationMethod
defined_by: https://www.w3.org/TR/cid-1.0/#dfn-verificationmethod
see_also:
- label: Decentralized Identifiers (DIDs) v1.0
url: https://www.w3.org/TR/did-core/#verification-methods
context: [vocab, https://www.w3.org/ns/credentials/v2, https://www.w3.org/ns/cid/v1]
- id: controller
label: Controller
domain:
- sec:VerificationMethod
- sec:ControlledIdentifierDocument
range: IRI
defined_by: https://www.w3.org/TR/cid-1.0/#defn-controller
context: [https://w3id.org/security/multikey/v1, https://w3id.org/security/jwk/v1, https://www.w3.org/ns/did/v1, https://www.w3.org/ns/cid/v1]
- id: proof
label: Proof sets
range: sec:ProofGraph
defined_by: https://www.w3.org/TR/vc-data-integrity/#proof-sets
context: [https://www.w3.org/ns/credentials/v2, vocab]
- id: domain
label: Domain of a proof
domain: sec:Proof
range: xsd:string
defined_by: https://www.w3.org/TR/vc-data-integrity/#defn-domain
context: [vocab, https://www.w3.org/ns/credentials/v2]
- id: challenge
label: Challenge of a proof
domain: sec:Proof
range: xsd:string
defined_by: https://www.w3.org/TR/vc-data-integrity/#defn-challenge
context: [vocab, https://www.w3.org/ns/credentials/v2]
- id: previousProof
label: Previous proof
domain: sec:Proof
range: sec:Proof
defined_by: https://www.w3.org/TR/vc-data-integrity/#dfn-previousproof
context: [vocab, https://www.w3.org/ns/credentials/v2]
- id: proofPurpose
label: Proof purpose
domain: sec:Proof
range: sec:VerificationRelationship
defined_by: https://www.w3.org/TR/vc-data-integrity/#dfn-proofpurpose
context: [vocab, https://www.w3.org/ns/credentials/v2]
- id: proofValue
label: Proof value
domain: sec:Proof
range: sec:multibase
defined_by: https://www.w3.org/TR/vc-data-integrity/#dfn-proofvalue
context: [vocab, https://www.w3.org/ns/credentials/v2]
- id: created
label: Proof creation time
defined_by: https://www.w3.org/TR/vc-data-integrity/#dfn-created
domain: sec:Proof
range: xsd:dateTime
- id: expiration
label: Expiration time for a proof or verification method
defined_by: [https://www.w3.org/TR/vc-data-integrity/#defn-proof-expires, https://www.w3.org/TR/cid-1.0/#defn-vm-expires]
comment: Historically, this property has often been expressed using `expires` as a shortened term in JSON-LD. Since this shortened term and its mapping to this property are in significant use in the ecosystem, the inconsistency between the short term name (`expires`) and the property identifier (`...#expiration`) is expected and should not trigger an error.
domain:
- sec:Proof
- sec:VerificationMethod
range: xsd:dateTime
context: [vocab, https://www.w3.org/ns/credentials/v2, https://www.w3.org/ns/cid/v1]
- id: nonce
label: Nonce supplied by proof creator
defined_by: https://www.w3.org/TR/vc-data-integrity/#dfn-nonce
domain: sec:Proof
range: xsd:string
context: [vocab, https://www.w3.org/ns/credentials/v2]
- id: authentication
label: Authentication method
range: sec:VerificationMethod
type: sec:VerificationRelationship
defined_by: https://www.w3.org/TR/cid-1.0/#authentication
context: [vocab, https://www.w3.org/ns/credentials/v2, https://www.w3.org/ns/did/v1, https://www.w3.org/ns/cid/v1]
- id: assertionMethod
label: Assertion method
range: sec:VerificationMethod
type: sec:VerificationRelationship
defined_by: https://www.w3.org/TR/cid-1.0/#assertion
context: [vocab, https://www.w3.org/ns/credentials/v2, https://www.w3.org/ns/did/v1, https://www.w3.org/ns/cid/v1]
- id: capabilityDelegationMethod
label: Capability delegation method
range: sec:VerificationMethod
type: sec:VerificationRelationship
comment: Historically, this property has often been expressed using `capabilityDelegation` as a shortened term in JSON-LD. Since this shortened term and its mapping to this property are in significant use in the ecosystem, the inconsistency between the short term name (`capabilityDelegation`) and the property identifier (`...#capabilityDelegationMethod`) is expected and should not trigger an error.
defined_by: https://www.w3.org/TR/cid-1.0/#capability-delegation
context: [vocab, https://www.w3.org/ns/credentials/v2, https://www.w3.org/ns/did/v1, https://www.w3.org/ns/cid/v1]
- id: capabilityInvocationMethod
label: Capability invocation method
range: sec:VerificationMethod
type: sec:VerificationRelationship
comment: Historically, this property has often been expressed using `capabilityInvocation` as a shortened term in JSON-LD. Since this shortened term and its mapping to this property are in significant use in the ecosystem, the inconsistency between the short term name (`capabilityInvocation`) and the property identifier (`...#capabilityInvocationMethod`) is expected and should not trigger an error.
defined_by: https://www.w3.org/TR/cid-1.0/#capability-invocation
context: [vocab, https://www.w3.org/ns/credentials/v2, https://www.w3.org/ns/did/v1, https://www.w3.org/ns/cid/v1]
- id: keyAgreementMethod
label: Key agreement protocols
type: sec:VerificationRelationship
range: sec:VerificationMethod
comment: Historically, this property has often been expressed using `keyAgreement` as a shortened term in JSON-LD. Since this shortened term and its mapping to this property are in significant use in the ecosystem, the inconsistency between the short term name (`keyAgreement`) and the property identifier (`...#keyAgreementMethod`) is expected and should not trigger an error.
defined_by: https://www.w3.org/TR/cid-1.0/#key-agreement
context: [vocab, https://www.w3.org/ns/credentials/v2, https://www.w3.org/ns/did/v1, https://www.w3.org/ns/cid/v1]
- id: cryptosuite
label: Cryptographic suite
domain: sec:DataIntegrityProof
range: sec:cryptosuiteString
defined_by: https://www.w3.org/TR/vc-data-integrity/#dfn-cryptosuite
context: [vocab, https://www.w3.org/ns/credentials/v2]
- id: publicKeyMultibase
label: Public key multibase
domain: sec:Multikey
range: sec:multibase
defined_by: https://www.w3.org/TR/cid-1.0/#dfn-publickeymultibase
see_also:
- label: multibase
url: https://datatracker.ietf.org/doc/html/draft-multiformats-multibase-03
- label: multicodec
url: https://github.com/multiformats/multicodec/blob/master/table.csv
context: [https://w3id.org/security/multikey/v1, https://www.w3.org/ns/cid/v1]
- id: secretKeyMultibase
label: Secret key multibase
domain: sec:Multikey
range: sec:multibase
defined_by: https://www.w3.org/TR/cid-1.0/#dfn-secretkeymultibase
see_also:
- label: multibase format
url: https://datatracker.ietf.org/doc/html/draft-multiformats-multibase-03
- label: multicodec format
url: https://github.com/multiformats/multicodec/blob/master/table.csv
context: [https://w3id.org/security/multikey/v1, https://www.w3.org/ns/cid/v1]
- id: publicKeyJwk
label: Public key JWK
range: rdf:JSON
domain: sec:JsonWebKey
defined_by: https://www.w3.org/TR/cid-1.0/#dfn-publickeyjwk
see_also:
- label: IANA JOSE
url: https://www.iana.org/assignments/jose/jose.xhtml
- label: RFC 7517
url: https://tools.ietf.org/html/rfc7517
context: [https://w3id.org/security/jwk/v1, https://www.w3.org/ns/cid/v1]
- id: secretKeyJwk
label: Secret key JWK
range: rdf:JSON
domain: sec:JsonWebKey
defined_by: https://www.w3.org/TR/cid-1.0/#dfn-secretkeyjwk
see_also:
- label: IANA JOSE
url: https://www.iana.org/assignments/jose/jose.xhtml
- label: RFC 7517
url: https://tools.ietf.org/html/rfc7517
context: [https://w3id.org/security/jwk/v1, https://www.w3.org/ns/cid/v1]
- id: revoked
label: Revocation time
range: xsd:dateTime
defined_by: https://www.w3.org/TR/cid-1.0/#dfn-revoked
domain: sec:VerificationMethod
context: [https://w3id.org/security/jwk/v1, https://www.w3.org/ns/cid/v1, https://w3id.org/security/multikey/v1]
- id: digestMultibase
label: Digest multibase
comment: (Feature at Risk) The Working Group is currently attempting to determine whether cryptographic hash expression formats can be unified across all of the VCWG core specifications. Candidates for this mechanism include `digestSRI` and `digestMultibase`.
range: multibase
defined_by: https://www.w3.org/TR/vc-data-integrity/#dfn-digestmultibase
context: https://www.w3.org/ns/credentials/v2
# These are property specifications that have been defined in a CCG document and are in use; for the time being, these are considered as "reserved"
- id: allowedAction
label: Allowed action
status: reserved
defined_by: https://w3c-ccg.github.io/zcap-spec/#delegated-capability
context: none
- id: capabilityChain
label: Capability chain
status: reserved
defined_by: https://w3c-ccg.github.io/zcap-spec/#delegation
context: none
- id: capabilityAction
label: Capability action
status: reserved
defined_by: https://w3c-ccg.github.io/zcap-spec/#invoking-root-capability
context: none
- id: caveat
label: Caveat
status: reserved
defined_by: https://w3c-ccg.github.io/zcap-spec/#caveats
context: none
- id: delegator
label: Delegator
status: reserved
defined_by: https://w3c-ccg.github.io/zcap-spec/#delegation
context: none
- id: invocationTarget
label: Invocation target
status: reserved
defined_by: https://w3c-ccg.github.io/zcap-spec/#root-capability
context: none
- id: invoker
label: Invoker
status: reserved
defined_by: https://w3c-ccg.github.io/zcap-spec/#invocation
context: none
# These are the property definitions in the CCG documents that are not defined in the VCWG document; they are all deprecated
- id: blockchainAccountId
deprecated: true
label: Blockchain account ID
range: xsd:string
defined_by: https://w3c-ccg.github.io/security-vocab/#blockchainAccountId
context: none
- id: ethereumAddress
deprecated: true
label: Ethereum address
range: xsd:string
defined_by: https://w3c-ccg.github.io/security-vocab/#ethereumAddress
see_also:
- label: EIP-55
url: https://eips.ethereum.org/EIPS/eip-55
- label: "Ethereum Yellow Paper: Ethereum: a secure decentralised generalised transaction ledger"
url: https://ethereum.github.io/yellowpaper/paper.pdf
context: none
- id: publicKeyBase58
deprecated: true
label: Base58-encoded Public Key
#domain: sec:Key
range: xsd:string
defined_by: https://w3c-ccg.github.io/security-vocab/#publicKeyBase58
context: none
- id: publicKeyPem
deprecated: true
label: Public key PEM
#domain: sec:Key
range: xsd:string
defined_by: https://w3c-ccg.github.io/security-vocab/#publicKeyPem
context: none
- id: publicKeyHex
deprecated: true
label: Hex-encoded version of public Key
#domain: sec:Key
range: xsd:string
defined_by: https://w3c-ccg.github.io/security-vocab/#publicKeyHex
see_also:
- label: rfc4648
url: https://tools.ietf.org/html/rfc4648#section-8
context: none
- id: jws
deprecated: true
label: Json Web Signature
defined_by: https://w3c-ccg.github.io/security-vocab/#jws
see_also:
- label: Detached JSON Web Signature
url: https://tools.ietf.org/html/rfc7797
context: none
individual:
- id: PROOF_GENERATION_ERROR
type: sec:ProcessingError
label: Proof generation error
defined_by: https://www.w3.org/TR/vc-data-integrity/#PROOF_GENERATION_ERROR
context: none
- id: PROOF_VERIFICATION_ERROR
type: sec:ProcessingError
label: Malformed proof
defined_by: https://www.w3.org/TR/vc-data-integrity/#PROOF_VERIFICATION_ERROR
context: none
- id: PROOF_TRANSFORMATION_ERROR
type: sec:ProcessingError
label: Mismatched proof purpose
defined_by: https://www.w3.org/TR/vc-data-integrity/#PROOF_TRANSFORMATION_ERROR
context: none
- id: INVALID_DOMAIN_ERROR
type: sec:ProcessingError
label: Invalid proof domain
defined_by: https://www.w3.org/TR/vc-data-integrity/#INVALID_DOMAIN_ERROR
context: none
- id: INVALID_CHALLENGE_ERROR
type: sec:ProcessingError
label: Invalid challenge
defined_by: https://www.w3.org/TR/vc-data-integrity/#INVALID_CHALLENGE_ERROR
context: none
- id: INVALID_VERIFICATION_METHOD_URL
type: sec:ProcessingError
label: Invalid verification method URL
defined_by: https://www.w3.org/TR/cid-1.0/#INVALID_VERIFICATION_METHOD_URL
context: none
- id: INVALID_CONTROLLED_IDENTIFIER_DOCUMENT_ID
type: sec:ProcessingError
label: Invalid controlled identifier document id
defined_by: https://www.w3.org/TR/cid-1.0/#INVALID_CONTROLLED_IDENTIFIER_DOCUMENT_ID
context: none
- id: INVALID_CONTROLLED_IDENTIFIER_DOCUMENT
type: sec:ProcessingError
label: Invalid controlled identifier document
defined_by: https://www.w3.org/TR/cid-1.0/#INVALID_CONTROLLED_IDENTIFIER_DOCUMENT
context: none
- id: INVALID_VERIFICATION_METHOD
type: sec:ProcessingError
label: Invalid verification method
defined_by: https://www.w3.org/TR/cid-1.0/#INVALID_VERIFICATION_METHOD
context: none
- id: INVALID_RELATIONSHIP_FOR_VERIFICATION_METHOD
type: sec:ProcessingError
label: Invalid relationship for verification method
defined_by: https://www.w3.org/TR/cid-1.0/#INVALID_RELATIONSHIP_FOR_VERIFICATION_METHOD
context: none
datatype:
- id: cryptosuiteString
label: Datatype for cryptosuite Identifiers
upper_value: xsd:string
defined_by: https://www.w3.org/TR/vc-data-integrity/#cryptosuiteString
- id: multibase
label: Datatype for multibase values
upper_value: xsd:string
defined_by: https://www.w3.org/TR/cid-1.0/#multibase
context: https://w3id.org/security/multikey/v1