Atestado

Dispositivos certificados são aqueles que passaram pelo Connectivity Standards Alliance (Alliance) processo de certificação Matter.

Durante o processo de comissionamento, um dispositivo certificado precisa se atestar. Em outras palavras, ele precisa provar que é o que diz ser e que é um produto genuíno. Portanto, todos os dispositivos Matter têm credenciais que abrangem o par de chaves de atestado e uma cadeia de certificados associada. O certificado de atestado do dispositivo (DAC) faz parte dessa cadeia. Quando o dispositivo em comissionamento apresentar o DAC ao comissário, este certificará que:

  • foi feito por um fabricante certificado.
  • é um dispositivo original.
  • ele passou nos testes de compliance Matter.

Durante a fase de desenvolvimento, o fabricante pode testar os dispositivos sem o processo completo de atestado. Os testadores precisam ser informados explicitamente de que o dispositivo está em teste e ainda não foi certificado e lançado. Quando um fabricante entra em uma fase de produção, o ecossistema do provisionador precisa aplicar todos os requisitos de atestado.

A atestação usa uma infraestrutura de chave pública (ICP) que aproveita autoridades certificadoras raiz e certificados intermediários, de forma semelhante aos certificados de autenticação de servidor amplamente adotados usados para SSL/TLS. Esse processo é chamado de cadeia de certificados de atestado do dispositivo.

ICP de atestado de dispositivo

O DAC é um certificado X.509 v3. A primeira versão do X.509 foi publicada em 1988 pela ITU-T. O X.509 v3 com certificado de infraestrutura de chave pública e lista de revogação de certificados (CRL) usada por Matter é especificado pelo RFC5280. Ela contém:

  • Chave pública
  • Emissor
  • Assunto
  • Número de série do certificado
  • Validade, em que a expiração pode ser indeterminada
  • Assinatura

O ID do fornecedor e o ID do produto são atributos do MatterDACName no assunto do DAC.

O DAC é exclusivo para cada dispositivo e associado ao par de chaves de atestado exclusivo no produto. Ele é emitido por uma AC associada ao fabricante do dispositivo.

A assinatura do DAC é validada em relação ao Certificado intermediário de atestado de produto (PAI), que também é emitido por uma PAA. No entanto, um fornecedor pode escolher criar uma PAI por produto (específica do PID), grupo de produtos ou para todos os produtos.

Na raiz da cadeia de confiança, a chave pública da Autoridade de Atestado do Produto (PAA, na sigla em inglês) Autoridade de Certificação (CA, na sigla em inglês) valida as assinaturas da PAI. O repositório de confiança Matter é federado e o conjunto de certificados PAA confiáveis pelos comissários é mantido em um banco de dados confiável central (o Distributed Compliance Ledger). A entrada de uma PAA no conjunto confiável exige o cumprimento de uma política de certificado gerenciada pelo Alliance.

Infraestrutura de chave pública do atestado do Matter
Figura 1: infraestrutura de chaves pública de atestado do Matter

O PAI também é um certificado X.509 v3 que inclui:

  • Chave pública
  • Emissor
  • Assunto
  • Número de série do certificado
  • Validade, em que a expiração pode ser indeterminada
  • Assinatura

O ID do fornecedor e o ID do produto (opcionalmente) são atributos do MatterDACName no assunto do DAC.

Por fim, o PAA é o certificado raiz na cadeia e é autoassinado. Ele inclui:

  • Assinatura
  • Chave pública
  • Emissor
  • Assunto
  • Número de série do certificado
  • Validade

Outros documentos e mensagens de atestado

O processo de atestado tem vários documentos e mensagens. Os itens a seguir são uma breve visão geral da função e da composição deles. A imagem abaixo ajuda a entender a hierarquia.

Hierarquia de documentos de atestado
Figura 2: hierarquia do documento de atestado
Documento Descrição
Declaração de certificação (CD) O CD permite que o dispositivo Matter prove obediência ao protocolo Matter. Sempre que os processos de certificação do Matter forem concluídos, o Alliance vai criar um CD para o tipo de dispositivo para que o fornecedor possa incluí-lo no firmware. O CD inclui, entre outras informações:
  • VID
  • PID (um ou mais)
  • ID da categoria do servidor
  • ID da categoria do cliente
  • Nível de segurança
  • Informações de segurança
  • Tipo de certificação (de desenvolvimento, provisória ou oficial)
  • Assinatura
Informações do firmware (opcional) As informações do firmware contêm o número da versão do CD e uma ou mais digests de componentes no firmware, como o SO, o sistema de arquivos e o carregador de inicialização. Os resumos podem ser um hash dos componentes do software ou um hash dos manifestos assinados dos componentes do software.

O fornecedor também pode escolher incluir nas informações do firmware apenas o "hash dos hashes" dos componentes, em vez de uma matriz de hashes individuais.

As informações do firmware são um elemento opcional no processo de atestado e aplicável quando um fornecedor tem um ambiente de inicialização seguro que processa o par de chaves de atestado.
Informações do atestado Mensagem enviada pela Comissão ao comissário. As informações de atestado combinam um TLV contendo os elementos de atestado e uma assinatura de atestado.
Elementos do atestado Este é um TLV que contém:

  • Declaração de certificado
  • Carimbo de data/hora
  • Atestado de uma vez
  • Informações do firmware (opcional)
  • Informações específicas do fornecedor (opcional)
Desafio de atestado Desafio fora de banda derivado durante o estabelecimeto de sessão Passcode Authenticated Session Establishment (PASE)/ Certificate Authenticated Session Establishment (CASE) e usado para aumentar a segurança do procedimento e evitar assinaturas repetidas. Vem da sessão CASE, da sessão PASE ou de uma sessão CASE retomada.
Atestado TBS (a ser assinado) Mensagem contendo os elementos e o desafio de atestado.
Assinatura do atestado Assinatura do TBS de atestado, assinada usando a chave privada de atestado do dispositivo.

Procedimento de atestado

O comissário é responsável por atestar o documento. Ele executa as seguintes etapas:

  1. O emissor gera um valor de uso único de 32 bytes aleatório. No jargão da criptografia, um valor de uso único (nonce) é um número aleatório gerado no procedimento criptográfico e destinado a ser usado uma vez.
  2. O comissário envia o valor de uso único para o DUT e solicita as informações de atestado.
  3. O DUT gera as informações de atestado e as assina com a chave privada de atestado.
  4. O comissário recupera o certificado DAC e PAI do dispositivo e procura o certificado PAA no repositório de confiança Matter.
  5. O comissário valida as informações da declaração. Estas são as condições de validação:
    • A cadeia de certificados do DAC precisa ser validada, incluindo verificações de revogação no PAI e na PAA.
    • O VID no DAC corresponde ao VID no PAI.
    • A assinatura do atestado é válida.
    • O valor de uso único nos elementos de atestado do dispositivo corresponde ao valor de uso único fornecido pelo comissário.
    • A assinatura da declaração de certificado é válida usando uma das chaves de assinatura de declaração de certificação conhecidas do Alliance.
    • As informações do firmware (se presentes e aceitas pelo comissário) correspondem a uma entrada no Distributed Compliance Ledger.
    • Outras validações de VID/PID também ocorrem entre o cluster de informações básicas do dispositivo, a declaração de certificação e o DAC.