<todo>
Accreditation Policies are included in each "Verifiable Accreditation" or "Verifiable Credential" within the termsOfUse
section of the credential. The Accreditation Policies reference the other members of the Trust Chain, so that a Relying Party can traverse the Trust Chain.
cheqd supports two predominant Root of Trust Models.
For existing trust frameworks such as eIDAS, organisations need to establish a root of trust using X.509 certificates in traditional "Trusted List" infrastructure. These certificates establish that an organisation is authorised to provide a service under a particular jurisdiction.
Article 22 of the eIDAS Regulation obliges Member States to establish, maintain and publish trusted lists. These lists should include information related to the qualified trust service providers for which they are responsible, and information related to the qualified trust services provided by them. The lists are to be published in a secured manner, electronically signed or sealed in a format suitable for automated processing.
Standard information in an X509 certificate includes:
Version — The version of X.509 that applies to the certificate.
Serial number — Serial number assigned by certificate authority to distinguish one certificate from other certificates.
Algorithm information — The hashing algorithm used by the CA to sign the certificate (SHA-2 in almost all cases).
Issuer distinguished name — The name of the entity issuing the certificate (usually a certificate authority)
Validity period of the certificate — The period during which certificate is valid to use.
Subject distinguished name — The name of the identity the certificate is issued to (individual, organization, domain name, etc.)
Subject public key information — The public key of the certificate
As such, one method of establishing a root of trust is associating a DID on cheqd with an existing X.509 certificate. This concept has been written on recently, with there being various approaches to achieving this.
As a first iteration of trust infrastructure on cheqd, we suggest that:
did:cheqd
DIDs can be derived from the same public/private key pair as existing X.509 certificates
did:cheqd
DIDs can reference X.509 certificates using a serviceEndpoint
X.509 certificates can reference did:cheqd
DIDs using the "Subject Alternative Name" field within the X.509 certificate.
This will enable Root TAOs to create a reciprocal root of trust across European Trusted Lists for eIDAS compliance, and equally on cheqd.
For ecosystems that do not require a "traditional" root of trust, we can leverage the cheqd network itself to create reputable, "weighted" roots of trust.
For this model, we suggest that "Root TAOs" set up a cheqd Validator on the cheqd Network and include their DID in the "description" field of their Validator. This will tie the reputation and weight of the Validator with the DID itself.
Then, when traversing the trust chain and resolving to the Root of Trust, the validating application can apply logic to validate the "reputation" of the Root TAO, based on the voting power of the Validator within the active set.
Create did:cheqd
DID for Root TAO
Establish root of trust, by:
Associating Root TAO DID with X.509 certificate;
Publishing Root TAO DID as a Well-Known DID;
Associating Root TAO DID with cheqd Validator.
Create did:cheqd
DIDs for TAOs or TIs within the ecosystem
Create body of Verifiable Accreditation, specifying:
The did:cheqd
DID of the subject organisation that the Accreditation is being issued to
A UUID as a reservedAttributeId which aligns with the resourceId of the DID-Linked Resource
Encode Verifiable Accreditation as a hexidecimal and as a base64 encoded value
Compile payload file for writing Verifiable Accreditation as a DID-Linked Resource
Publish transaction as a DID-Linked Resource, using the same UUID for the resourceId
as the value specified in the reservedAttributeId
Field | Description | Required |
---|
Combination of x509 and DID/VC for inheritance properties of trust in digital identities
Paper written by Carsten Stocker, Paul Bastian and Steffen Schwalm on the different methods for associating DIDs with X.509 certificates
did | DID of the DID Controller publishing the DID-Linked Resource | Yes |
hash | Hash of the Verifiable Accreditation as a Base64 encoded value | Yes |
body | Body of the Verifiable Accreditation as a hexidecimal string | Yes |
type | Type of Resource being created, defaults to | Yes |
issuerType | Type of Issuer that is issuing this Verifiable Accreditation, can be: "RootTAO", "TAO" or "SubTAO" | Yes |
tao | DID of the TAO that accredited the Issuer | Yes |
rootTao | DID of the root of trust that accredited the TAO and the issuer | Yes |
revoked | Boolean value indicating whether the Verifiable Accreditation is revoked or not | Yes |
Encrypted | Boolean value indicating whether the Verifiable Accreditation is encrypted or not | No |
Verifiable Accreditations are credentials that are issued from one organisation to another organisation to "accredit" that organisation to perform a particular action. These types of credentials are stored directly on-ledger as DID-Linked Resources, meaning that they are persistent, sequentially versioned and highly available.
There are two types of Verifiable Accreditation:
Type | Description |
---|---|
For a trusted ecosystem, these attestations are required to trace the legitimacy of a credential issuer to a root-of-trust.
In order to ensure consistency and interoperability within a trusted ecosystem, Trusted Accreditation Organisations (TAOs) should define schemas for the Verifiable Accreditations for their particular ecosystem. They may also reuse existing schemas that have been created for equivalent ecosystems.
Notably, Verifiable Accreditations are credentials that are issued to organisational DIDs on cheqd. In each Verifiable Accreditation, there is also a reservedAttributeId
that corresponds to the resourceId
of the Accreditation as a DID-Linked Resource.
Storing Verifiable Accreditations as DID-Linked Resources enables each accreditation to be individually resolvable using a DID URL. It also enables Accreditations to be "chained" to a DID, allowing the traversal of the Accreditation to the root of trust.
The diagram below shows how DID-Linked Resources can be applied to the trust hierarchy to enable DID resolvable Verifiable Accreditations:
Verifiable Accreditation to Accredit
This Credential verifies that an organisation has the permissions needed to accredit other organisations for issuing a particular type of Verifiable Accredittion.
Verifiable Accreditation to Attest
This Credential verifies that an organisation has the permissions needed to issue Verifiable Credentials, defined by a particular schema.