Matter Distributed Compliance Ledger#

What is the DCL#

The Distributed Compliance Ledger (DCL) is a cryptographically secure distributed storage network. The DCL is used for tracking device certification status and vendor's information. This includes storing cryptographically signed information regarding Matter vendors, their products, and the current certification status of these products. Anyone can read the contents of the DCL, but writing to the DCL is restricted to various parties depending on their role in the device certification process. The DCL has two main uses. The first use is intended so that anyone can find detailed information of a vendor's product including the Matter Certification compliance status, specific device information including commissioning instructions, links to product manuals, product information, and the current Matter firmware version. The second use, arguably the most important part of the DCL, is that it allows you to verify a Matter device by verifying the Device Attestation Certificate by tracing back to it's PAA certificate. This process is done in Device Attestation when a Matter Device attempts to join the Matter Fabric. For more information on PAA Certificates and how they operate, see Device Attestation. For more information on Matter Commissioning, refer to the Commissioning overview guide.

What are the DCL Roles#

As mentioned above, the DCL has various roles in which you can interact with the database. The most notable roles are as follows:

  • Trustee Role: This user is appointed by the Connectivity Standards Alliance and is able to monitor the DCL. This includes creating new user accounts, assigning/revoking roles to DCL accounts, and approving x509 root certs.

  • Vendor Role: This role is assigned to a Connectivity Standards Alliance Member. Once you receive a Vendor Key, you can publish device model information and vendor information.

  • Test House: This role will publish the test certification for devices.

  • Certification Center: This role can submit the certification status to the DCL based on the Test House as well as revoke certification status.

What is Stored in the DCL#

Below are the DCL Schemas that can be stored in the DCL and who is responsible for writing the information:

Schema

Information

Who Adds

Vendor Schema

Vendor Information including: VID, Name, Website URL

Vendor Account (Member)

Device Model

Product Information like VID, PID, Device Type Product Name, Commissioning Hints, link to User Manual

Vendor Account (Member)

Device Software Version Model

VID, PID, Software Version, release notes

Vendor Account (Member)

Device Software Compliance

Certification Status of a Model-Version (VID, PID, Software Version)

Connectivity Standards Alliance Certification Center Account

PAA

List of all approved PAA (Product Attestation Authorities)

Approved by Trustee Account

Access DCL#

The Connectivity Standards Alliance offers two ways to access the DCL. You can access via a Web UI that can be found at https://webui.dcl.csa-iot.org/, or you can install the latest version and use the CLI Client, https://github.com/zigbee-alliance/distributed-compliance-ledger/releases. Note that the CLI Client is platform specific to either Linux or Mac OSX.

You will need to create an account with the DCL and wait for Connectivity Standards Alliance approval. Once approved for Vendor level access, you can enter your vendor information and add product information. Silicon Labs recommends that you create a DCL Account sometime before Matter Certification Process is complete.

Preparing for Matter Certification#

To write a certifiable product to the DCL, you need an Approved Vendor account. You can do this by creating a DCL account and sending a request to the Connectivity Standards Alliance. Once you are an approved vendor account holder, you can enter the following schemas: Vendor Schema, Device Model, and the Device Model-Version into the DCL. Once this information is in the DCL, you should notify the certification team via the Knack system. You must have the required DCL Entries input before the Connectivity Standards Alliance can input your Certification. When your product gets officially certified and the Test House publishes the test certification status, the Certification Center Account can write the Device Software Compliance. Once this is done, the Trustee Account can enter the PAA information of the device to the DCL.

Using the DCL in Commissioning to Verify Matter Devices#

In Matter Commissioning, the PAA are root certificates and are used to sign PAI intermediate certificates. The Certification chain must start with a trusted root certificate. This is where the DCL comes in. The DCL stores the PAAs of Matter devices. Here, the Commissioner verifies the PAA of the desired Matter device attempting to join the network. The Matter Credentials includes fetch-paa-certs-from-dcl.py which will pull the production PAA certs from the DCL and store them in the production/paa-root-certs which is an already trusted source, for the chip tool to look for PAAs during commissioning.