Los dispositivos certificados son aquellos que pasaron por el proceso de certificación de Matter Connectivity Standards Alliance (Alliance).
Durante el proceso de puesta en servicio, un dispositivo certificado debe certificarse. En otras palabras, debe demostrar que es lo que dice ser y que es un producto genuino. Por lo tanto, todos los dispositivos Matter tienen credenciales que abarcan el par de claves de certificación y una cadena de certificados asociada. El certificado de certificación de dispositivos (DAC) forma parte de esta cadena. Una vez que el dispositivo en comisión presente el DAC a su comisionado, este último certificará lo siguiente:
- que fue fabricado por un fabricante certificado.
- que es un dispositivo original.
- Aprobó Matter pruebas de cumplimiento.
Durante la fase de desarrollo, el fabricante puede probar sus dispositivos sin el proceso completo de certificación. Se debe informar de forma explícita a los verificadores que el dispositivo está en prueba y que aún no se ha certificado ni lanzado. Una vez que un fabricante ingresa a una fase de producción, el ecosistema del proveedor debe aplicar todos los requisitos de certificación.
La certificación usa una infraestructura de clave pública (PKI) que aprovecha las autoridades certificadoras raíz y los certificados intermedios, de manera similar a los certificados de autenticación de servidores ampliamente adoptados que se usan para SSL/TLS. Este proceso se denomina cadena de certificados de certificación de dispositivos.
PKI de certificación de dispositivos
El DAC es un certificado X.509 v3. La ITU-T publicó la primera versión de X.509 en 1988. La RFC5280 especifica el X.509 v3 con el certificado de infraestructura de clave pública y la lista de revocación de certificados (CRL) que usa Matter. Contiene lo siguiente:
- Clave pública
- Emisor
- Asunto
- Número de serie del certificado
- Validez, en la que el vencimiento puede ser indeterminado
- Firma
El ID de proveedor y el ID de producto son atributos de MatterDACName
en el asunto de DAC.
El DAC es único para cada dispositivo y está asociado con el par de claves de certificación único dentro del producto. La emite una AC asociada con el fabricante del dispositivo.
La firma del DAC se valida en función del Certificado Intermedio de Certificación de Productos (PAI), que también emite una PAA. Sin embargo, un proveedor puede optar por crear un PAI por producto (específico del PID), por grupo de productos o para todos sus productos.
En la raíz de la cadena de confianza, la clave pública de la autoridad certificadora de productos (PAA) autoridad certificadora (CA) valida las firmas de la PAI. Ten en cuenta que el almacén de confianza de Matter está federado y que el conjunto de certificados de la PAA que confían los comisionados se mantiene en una base de datos central de confianza (el Registro de Cumplimiento Distribuido). La entrada de una PAA dentro del conjunto de confianza requiere cumplir con una política de certificados administrada por Alliance.
El PAI también es un certificado X.509 v3 que incluye lo siguiente:
- Clave pública
- Emisor
- Asunto
- Número de serie del certificado
- Validez, en la que el vencimiento puede ser indeterminado
- Firma
El ID del proveedor y el ID del producto (opcional) son atributos de MatterDACName
en el asunto del DAC.
Por último, la PAA es el certificado raíz de la cadena y está autofirmado. Incluye lo siguiente:
- Firma
- Clave pública
- Emisor
- Asunto
- Número de serie del certificado
- Validez
Documentos y mensajes de certificación adicionales
El proceso de certificación tiene varios documentos y mensajes. Los siguientes elementos son una breve descripción general de su función y composición. La siguiente imagen ayuda a comprender su jerarquía.
Documento | Descripción |
---|---|
Declaración de certificación (CD) | El CD permite que el dispositivo Matter demuestre su cumplimiento con el protocolo Matter.
Cada vez que finalizan los procesos de certificación de Matter, Alliance crea un CD para el tipo de dispositivo para que el proveedor lo incluya en el firmware. El CD incluye, entre otros datos, la siguiente información:
|
Información del firmware (opcional) | La información del firmware contiene el número de versión del CD y uno o más resúmenes de componentes del firmware, como el SO, el sistema de archivos y el bootloader. Los resúmenes pueden ser un hash de los componentes de software o un hash de los manifiestos firmados de los componentes de software. El proveedor también puede optar por incluir en la información del firmware solo el "hash de hashes" de sus componentes, en lugar de un array de hashes individuales. La información del firmware es un elemento opcional en el proceso de certificación y se aplica cuando un proveedor tiene un entorno de inicio seguro que controla el par de claves de certificación. |
Información de certificación | Mensaje enviado del comisionista al comisionado La información de certificación combina un TLV que contiene los elementos de certificación y una firma de certificación. |
Elementos de certificación | Este es un TLV que contiene lo siguiente:
|
Desafío de certificación | Desafío fuera de banda derivado durante el establecimiento de la sesión Passcode Authenticated Session Establishment (PASE)/Certificate Authenticated Session Establishment (CASE) y que se usa para proteger aún más el procedimiento y evitar firmas reproducidas. Proviene de una sesión CASE, una sesión PASE o una sesión CASE reanudada. |
Certificación de TBS (para firmar) | Mensaje que contiene los elementos de certificación y el desafío de certificación |
Firma de certificación | Firma de la TBS de certificación, firmada con la clave privada de certificación del dispositivo |
Procedimiento de certificación
El Comisionado es responsable de certificar al Comisionado. Ejecuta los siguientes pasos:
- El comisionado genera un nonce de certificación aleatorio de 32 bytes. En el argot de la criptografía, un nonce (número usado una vez) es un número aleatorio generado en el procedimiento criptográfico y diseñado para usarse una vez.
- El comisionado envía el nonce al DUT y solicita la información de certificación.
- La DUT genera la información de certificación y la firma con la clave privada de certificación.
- El comisionado recupera el certificado de DAC y PAI del dispositivo y busca el certificado de la PAA en su almacén de confianza de Matter.
- El comisionado valida la información de la certificación. Estas son las condiciones para la validación:
- Se debe validar la cadena de certificados del DAC, incluidas las verificaciones de revocación en el PAI y la PAA.
- El VID del DAC coincide con el VID del PAI.
- La firma de certificación es válida.
- El nonce en los elementos de certificación de dispositivos coincide con el nonce que proporcionó el comisionado.
- La firma de la declaración de certificación es válida con una de las claves de firma de la declaración de certificación conocidas de Alliance.
- La información del firmware (si está presente y es compatible con el comisionado) coincide con una entrada en el Registro de cumplimiento distribuido.
- También se realizan validaciones adicionales de VID/PID entre el clúster de información básica del dispositivo, la declaración de certificación y el DAC.