Certificación

Los Dispositivos Certificados son aquellos que pasaron por el Proceso de Certificación de Connectivity Standards Alliance (Alliance) Matter.

Durante el proceso de puesta en marcha, un dispositivo certificado debe atestiguarse a sí mismo. 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 del dispositivo (DAC) forma parte de esta cadena. Una vez que el dispositivo en proceso de puesta en servicio le presenta el DAC a su comisionado, este último certificará lo siguiente:

  • fue fabricado por un fabricante certificado.
  • es un dispositivo original.
  • Aprobó las pruebas de cumplimiento de Matter.

Durante la fase de desarrollo, el fabricante puede probar sus dispositivos sin el proceso de certificación completo. Se debe informar explícitamente a los verificadores que el dispositivo está en fase de prueba y que aún no se certificó ni lanzó. Una vez que un fabricante ingresa en una fase de producción, el ecosistema del aprovisionador debe aplicar todos los requisitos de certificación.

La certificación usa una infraestructura de clave pública (PKI) que aprovecha las autoridades de certificación raíz y los certificados intermedios, de manera similar a los certificados de autenticación de servidor ampliamente adoptados que se usan para SSL/TLS. Este proceso se denomina cadena de certificados de certificación del dispositivo.

PKI de certificación de dispositivos

La DAC es un certificado X.509 v3. La UIT-T publicó la primera versión de X.509 en 1988. El certificado X.509 v3 con infraestructura de clave pública y la lista de revocación de certificados (CRL) que usa Matter se especifican en el RFC5280. 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 del MatterDACName en el asunto del 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 CA asociada con el fabricante del dispositivo.

La firma del DAC se valida con el certificado intermedio de atestación del producto (PAI), que también emite una PAA. Sin embargo, un proveedor puede optar por crear una PAI por producto (específica 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 de certificación (CA) de la Autoridad de certificación de productos (PAA) valida las firmas de la PAI. Ten en cuenta que el almacén de confianza Matter está federado y el conjunto de certificados de PAA en los que confían los comisionados se mantiene en una base de datos de confianza central (el registro de cumplimiento distribuido). Para que una PAA ingrese en el conjunto de confianza, debe cumplir con una política de certificados administrada por Alliance.

Infraestructura de clave pública de certificación de Matter
Figura 1: Infraestructura de clave pública de certificación de Matter

La 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 del 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.

Jerarquía de documentos de certificación
Figura 2: Jerarquía del documento de certificación
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, de modo que el proveedor pueda incluirlo en el firmware. El CD incluye, entre otra información, lo siguiente:
  • VID
  • PID (uno o más)
  • ID de categoría del servidor
  • ID de categoría de cliente
  • Nivel de seguridad
  • Información de seguridad
  • Tipo de certificación (desarrollo, provisional o oficial)
  • Firma
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 los componentes del firmware, como el SO, el sistema de archivos y el cargador de arranque. 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 arranque seguro que controla el par de claves de certificación.
Información de certificación Mensaje enviado del comisionado 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 Es un TLV que contiene lo siguiente:

  • Declaración de certificado
  • Marca de tiempo
  • Nonce de certificación
  • Información del firmware (opcional)
  • Información específica del proveedor (opcional)
Desafío de certificación Desafío fuera de banda derivado durante el establecimiento de la sesión de 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 repetidas. Proviene de una sesión CASE, una sesión PASE o una sesión CASE reanudada.
Certificación de TBS (para firmar) Es un mensaje que contiene los elementos de la certificación y el desafío de certificación.
Firma de certificación Firma del TBS de la certificación, firmada con la clave privada de la certificación del dispositivo.

Procedimiento de certificación

El comisionado es responsable de certificar al comisionado. Ejecuta los siguientes pasos:

  1. El comisionado genera un nonce de certificación aleatorio de 32 bytes. En la jerga de la criptografía, un nonce (número usado una vez) es un número aleatorio que se genera en el procedimiento criptográfico y que se debe usar una sola vez.
  2. El comisionado envía el nonce al DUT y solicita la información de atestación.
  3. El DUT genera la información de certificación y la firma con la clave privada de certificación.
  4. El comisionado recupera el certificado de DAC y PAI del dispositivo, y busca el certificado de PAA en su almacén de confianza Matter.
  5. 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 de la DAC, incluidas las verificaciones de revocación en la PAI y la PAA.
    • El VID del DAC coincide con el VID de la PAI.
    • La firma de certificación es válida.
    • El nonce en los elementos de certificación del dispositivo coincide con el nonce proporcionado por el comisionado.
    • La firma de la Declaración de Certificado es válida con una de las claves de firma de la Declaración de Certificado 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 la DAC.