Dispositivos Certificados são aqueles que passaram pelo Processo de Certificação do Connectivity Standards Alliance (Alliance) Matter.
Durante o processo de comissionamento, um Dispositivo Certificado precisa se atestar. Em outras palavras, ele precisa provar que é o que afirma ser e que é um produto genuíno. Assim, 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. Depois que o dispositivo em comissionamento apresentar o DAC ao comissário, este vai certificar que:
- ele foi feito por um fabricante certificado.
- é um dispositivo original.
- ele foi aprovado em Matter testes de compliance.
Durante a fase de desenvolvimento, o fabricante pode testar os dispositivos sem o processo completo de atestação. Os testadores precisam ser informados explicitamente de que o Dispositivo está em teste e ainda não foi certificado e lançado. Depois que um fabricante entra em uma fase de produção, o ecossistema do provisionador precisa aplicar todos os requisitos de atestado.
O atestado usa uma infraestrutura de chave pública (PKI) que aproveita as autoridades certificadoras raiz e os certificados intermediários, de maneira 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.
PKI 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, na sigla em inglês) usado pelo Matter é especificado pela RFC5280. Ele contém:
- Chave pública
- Emissor
- Assunto
- Número de série do certificado
- Validade, em que o vencimento pode ser indeterminado
- 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 está 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, na sigla em inglês), que também é emitido por uma PAA. No entanto, um fornecedor pode optar por criar um PAI por produto (específico do PID), grupo de produtos ou para todos os produtos.
Na raiz da cadeia de confiança, a chave pública da autoridade de certificação (CA) da autoridade de atestação do produto (PAA) valida as assinaturas da PAI. O repositório de confiança Matter é federado, e o conjunto de certificados de PAA em que os comissários confiam é mantido em um banco de dados central confiável (o Distributed Compliance Ledger). A entrada de uma PAA no conjunto confiável requer o cumprimento de uma política de certificado gerenciada pelo Gerenciador de políticas da Alliance.
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 o vencimento pode ser indeterminado
- 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 atestação tem vários documentos e mensagens. Os itens a seguir são uma breve visão geral da função e composição deles. A imagem abaixo ajuda a entender a hierarquia deles.
| Documento | Descrição |
|---|---|
| Declaração de certificação (CD) | O CD permite que o dispositivo Matter comprove a conformidade com o protocolo Matter.
Sempre que os
processos de certificação do
Matter
são concluídos, o
Alliance cria uma CD
para o tipo de dispositivo,
para que o fornecedor possa incluí-la no
firmware. O CD inclui, entre outras
informações:
|
| Informações do firmware (opcional) | As informações de firmware contêm
o número da versão do CD e um ou mais
resumos 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 de software ou
um hash dos manifestos assinados dos
componentes de software. O fornecedor também pode optar por incluir nas informações de firmware apenas o "hash de hashes" dos componentes, em vez de uma matriz de hashes individuais. As informações de firmware são um elemento opcional no processo de atestação e aplicáveis quando um fornecedor tem um ambiente de inicialização seguro que processa o par de chaves de atestação. |
| Informações de atestação | Mensagem enviada do comissionado para o comissário. As informações de atestado combinam um TLV que contém os elementos de atestado e uma assinatura de atestado. |
| Elementos de atestação | Este é um TLV que contém:
|
| Desafio de certificação | Desafio fora de banda derivado durante o estabelecimento da sessão Passcode Authenticated Session Establishment (PASE)/Certificate Authenticated Session Establishment (CASE) e usado para proteger ainda mais o procedimento e evitar assinaturas repetidas. Vem da sessão CASE, da sessão PASE ou de uma sessão CASE retomada. |
| TBS (a ser assinado) do atestado | Mensagem que contém os elementos e o desafio de atestado. |
| Assinatura de atestado | Assinatura do TBS do atestado, assinada usando a chave privada de atestado do dispositivo. |
Procedimento de atestado
O Comissário é responsável por atestar o Comissionado. Ele executa as seguintes etapas:
- O comissário gera um valor de uso único de atestado aleatório de 32 bytes. No jargão da criptografia, um valor de uso único (número usado uma vez) é um número aleatório gerado no procedimento criptográfico e destinado a ser usado uma vez.
- O comissário envia o valor de uso único para o DUT e solicita as informações de atestação.
- O DUT gera as informações de atestado e as assina com a chave privada de atestado.
- O comissário recupera o certificado DAC e PAI do dispositivo e procura o certificado PAA no repositório de confiança Matter.
- O Comissário valida as informações de atestado. Estas são as condições
para validação:
- A cadeia de certificados DAC precisa ser validada, incluindo verificações de revogação no PAI e no 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 de firmware (se presentes e compatíveis com o 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.