DIF Security Contexts for Linked Data

Security v1 & v2

View on Github

Terminology

EcdsaKoblitzSignature2016

Deprecated signature suite, do not use.

Ed25519Signature2018

Linked data signature suite for ed25519, useful to working with lib sodium / nacl. See w3c-ccg.

EncryptedMessage

Deprecated, do not use. See w3c-ccg.

GraphSignature2012

Deprecated, do not use. See w3c-ccg.

LinkedDataSignature2015

Deprecated, do not use. See w3c-ccg.

LinkedDataSignature2016

Deprecated, do not use. See w3c-ccg.

CryptographicKey

Deprecated, do not use.

authenticationTag

Deprecated, do not use. See w3c-ccg.

canonicalizationAlgorithm

The canonicalization algorithm is used to transform the input data into a form that can be passed to a cryptographic digest method. The digest is then digitally signed using a digital signature algorithm. Canonicalization ensures that a piece of software that is generating a digital signature is able to do so on the same set of information in a deterministic manner.

See w3c-ccg

cipherAlgorithm

The cipher algorithm describes the mechanism used to encrypt a message. It is typically a string expressing the cipher suite, the strength of the cipher, and a block cipher mode.

See w3c-ccg

cipherData

Cipher data is an opaque blob of information that is used to specify an encrypted message.

See w3c-ccg

cipherKey

A cipher key is a symmetric key that is used to encrypt or decrypt a piece of information. The key itself may be expressed in clear text or encrypted.

See w3c-ccg

digestAlgorithm

The digest algorithm is used to specify the cryptographic function to use when generating the data to be digitally signed. Typically, data that is to be signed goes through three steps: 1) canonicalization, 2) digest, and 3) signature. This property is used to specify the algorithm that should be used for step #2. A signature class typically specifies a default digest method, so this property is typically used to specify information for a signature algorithm.

See w3c-ccg

domain

Deprecated, do not use.

encryptionKey

Deprecated, do not use.

expiration

See vc-data-model.

expires

The expiration time is typically associated with a Key and specifies when the validity of the key will expire. It is considered a best practice to only create keys that have very definite expiration periods. This period is typically set to between six months and two years. An digital signature created using an expired key MUST be marked as invalid by any software attempting to verify the signature.

See w3c-ccg

initializationVector

The initialization vector (IV) is a byte stream that is typically used to initialize certain block cipher encryption schemes. For a receiving application to be able to decrypt a message, it must know the decryption key and the initialization vector. The value is typically base-64 encoded.

See w3c-ccg

iterationCount

Deprecated, do not use.

nonce

This property is used in conjunction with the input to the signature hashing function in order to protect against replay attacks. Typically, receivers need to track all nonce values used within a certain time period in order to ensure that an attacker cannot merely re-send a compromised packet in order to execute a privileged request.

See w3c-ccg

normalizationAlgorithm

Deprecated, do not use.

Also known as canonicalizationAlgorithm.

See w3c-ccg

password

A secret that is used to generate a key that can be used to encrypt or decrypt message. It is typically a string value.

See w3c-ccg

privateKey

Deprecated, do not use.

privateKeyPem

A private key PEM property is used to specify the PEM-encoded version of the private key. This encoding is compatible with almost every Secure Sockets Layer library implementation and typically plugs directly into functions intializing private keys.

You should use privateKeyJwk when possible.

See w3c-ccg.

publicKey

A public key property is used to specify a URL that contains information about a public key.

See w3c-ccg.

publicKeyBase58

You should use publicKeyJwk if possible, because JWK is a valid key format for supported key types.

See did-core.

See did-core publicKeyBase58 example

publicKeyPem

A public key PEM property is used to specify the PEM-encoded version of the public key. This encoding is compatible with almost every Secure Sockets Layer library implementation and typically plugs directly into functions intializing public keys.

You should use publicKeyJwk when possible.

See w3c-ccg.

publicKeyWif

Deprecated, do not use.

See lds-koblitz2016.

publicKeyService

The publicKeyService property is used to express the REST URL that provides public key management services.

See w3c-ccg.

revoked

See w3c-ccg.

salt

Deprecated, do not use.

signature

Deprecated, do not use.

The signature property is used to associate a signature with a graph of information. The signature property is typically not included in the canonicalized graph that is then digested, and digitally signed.

See w3c-ccg.

signatureAlgorithm

Deprecated, do not use.

signatureValue

The signature algorithm is used to specify the cryptographic signature function to use when digitally signing the digest data. Typically, text to be signed goes through three steps: 1) canonicalization, 2) digest, and 3) signature. This property is used to specify the algorithm that should be used for step #3. A signature class typically specifies a default signature algorithm, so this property rarely needs to be used in practice when specifying digital signatures.

See w3c-ccg.

AesKeyWrappingKey2019

See webkms

DeleteKeyOperation

See webkms

DeriveSecretOperation

See webkms

EquihashProof2018

See equihash-signature

ExportKeyOperation

See webkms

GenerateKeyOperation

See webkms

KmsOperation

See webkms

RevokeKeyOperation

See webkms

RsaSignature2018

See lds-rsa2018

RsaVerificationKey2018

See lds-rsa2018

Sha256HmacKey2019

See encrypted-data-vaults.

See edv-client

SignOperation

See webkms

UnwrapKeyOperation

See webkms

VerifyOperation

See webkms

WrapKeyOperation

See webkms

X25519KeyAgreementKey2019

Deprecated, do not use.

See encrypted-data-vaults.

allowedAction

Deprecated, do not use.

assertionMethod

Used to construct linked data proofs of type “assertionMethod” and Verifiable Credentials.

See vc-data-model

authentication

Used with DIDs to support authentication.

See did-core

capability

See zcap-ld.

capabilityAction

See zcap-ld.

Used in Veres One: https://w3c-ccg.github.io/did-method-v1/

capabilityChain

See zcap-ld.

Used in Veres One: https://w3c-ccg.github.io/did-method-v1/

capabilityDelegation

See zcap-ld.

Used in Veres One: https://w3c-ccg.github.io/did-method-v1/

capabilityInvocation

See zcap-ld.

Used in Veres One: https://w3c-ccg.github.io/did-method-v1/

caveat

Used with object capabilities, see zcap-ld

challenge

Used to prove control of a did. See did-core.

ciphertext

Data that is encrypted. The result of performing an encryption operation on plaintext.

See wikipedia.

controller

A URI describing a document used to control an Identitifier.

See did-core.

See vc-data-model.

See webkms

See encrypted-data-vaults

delegator

Deprecated, do not use.

equihashParameterK

See equihash-signature

equihashParameterN

See equihash-signature

invocationTarget

See zcap-ld.

invoker

See zcap-ld.

jws

A JSON Web Signature.

See rfc7515.

keyAgreement

Used with encrypted data vaults.

See did-key

See encrypted-data-vaults.

kmsModule

Deprecated, do not use.

See webkms.

parentCapability

See zcap-ld.

plaintext

Data that is not encrypted. Either the input to an encryption or the output from a decryption.

See wikipedia.

proof

See ld-proofs.

proofPurpose

See ld-proofs

proofValue

Deprecated, do not use.

referenceId

Used to express an application-specific reference identifier. The value is optional and, if present MUST be a string.

See encrypted-data-vaults

unwrappedKey

Deprecated, do not use.

See webkms

verifyData

The input to a linked data signature signer method. This is the result of cannonicalization and hashing according to the linked data proof algorithm.

See ld-signatures.

wrappedKey

Deprecated, do not use.

See webkms

EcdsaSecp256k1Signature2019

See lds-ecdsa-secp256k1-2019.

See lds-ecdsa-secp256k1-2019.

EcdsaSecp256k1VerificationKey2019

See lds-ecdsa-secp256k1-2019.

See lds-ecdsa-secp256k1-2019.

Ed25519VerificationKey2018

See lds-ed25519-2018

RsaSignature2018

See lds-rsa2018

RsaVerificationKey2018

See lds-rsa2018

SchnorrSecp256k1Signature2019

Deprecated, do not use.

SchnorrSecp256k1VerificationKey2019

Deprecated, do not use.

ServiceEndpointProxyService

Deprecated, do not use.

capabilityStatusList

Deprecated, do not use.

created

See ld-proofs

creator

Deprecated, do not use.

See ld-proofs

expirationDate

See expirationDate

invocationTarget

See zcap-ld

invoker

See zcap-ld

owner

Deprecated, do not use.

See web-payments.org.

service

See did-core

serviceEndpoint

See did-core

verificationMethod

See ld-proofs