Attestazione

I dispositivi certificati sono dispositivi che sono stati sottoposti alla procedura di certificazione Connectivity Standards Alliance (Alliance) Matter.

Durante la procedura di messa in servizio, un Dispositivo certificato deve certificare se stesso. In altre parole, deve provare che è quello che dichiara di essere e che è un prodotto originale. Pertanto, tutti i dispositivi Matter hanno credenziali che comprendono la coppia di chiavi di attestazione e una catena di certificati associata. Il Device Attestation Certificate (DAC) fa parte di questa catena. Una volta che il Dispositivo in messa in servizio presenta il DAC al suo Commissioner, quest'ultimo certifica che:

  • è stato realizzato da un produttore certificato.
  • è un dispositivo originale.
  • ha superato Matter test di conformità.

Durante la fase di sviluppo, il produttore può testare i propri dispositivi senza l'intero processo di attestazione. I tester devono essere informati esplicitamente che il Dispositivo è in fase di test e che non è ancora stato certificato e lanciato. Una volta che un produttore entra in una fase di produzione, l'ecosistema del provisioner deve applicare tutti i requisiti di Attestazione.

L'attestazione utilizza un'infrastruttura a chiave pubblica (PKI) che sfrutta le autorità di certificazione radice e i certificati intermedi, in modo simile ai certificati di autenticazione server ampiamente adottati utilizzati per SSL/TLS. Questo processo è chiamato catena di certificati di attestazione del dispositivo.

Infrastruttura a chiave pubblica di attestazione del dispositivo

Il DAC è un certificato X.509 v3. La prima versione di X.509 è stata pubblicata nel 1988 da ITU-T. La versione X.509 v3 con il certificato dell'infrastruttura a chiave pubblica e l'elenco revoche di certificati (CRL) utilizzato da Matter è specificato da RFC5280. Contiene:

  • Chiave pubblica
  • Emittente
  • Oggetto
  • Numero di serie del certificato
  • Validità, dove la scadenza può essere indeterminata
  • Firma

L'ID fornitore e l'ID prodotto sono attributi di MatterDACName nell'oggetto DAC.

Il DAC è univoco per dispositivo ed è associato alla coppia di chiavi di attestazione univoca all'interno del prodotto. Viene emesso da una CA associata al produttore del dispositivo.

La firma del DAC viene convalidata in base al Certificato intermedio di attestazione di prodotto (PAI), emesso anch'esso da un PAA. Tuttavia, un fornitore potrebbe scegliere di creare un solo PAI per prodotto (specifico per PID), gruppo di prodotti o per tutti i suoi prodotti.

Alla radice della catena di trust, la chiave pubblica della Autorità di certificazione del prodotto (PAA) dell'autorità di certificazione (CA) convalida le firme provenienti dal PAI. Tieni presente che l'archivio di attendibilità Matter è federato e l'insieme di certificati PAA considerati attendibili dai commissari viene gestito in un database centrale attendibile (il Distributed Compliance Ledger). L'inserimento di un PAA all'interno del set attendibile richiede la conformità a un criterio dei certificati gestito da Alliance.

Infrastruttura a chiave pubblica per l'attestazione Matter
Figura 1: infrastruttura a chiave pubblica per l'attestazione delle pratiche

PAI è anche un certificato X.509 v3 che include:

  • Chiave pubblica
  • Emittente
  • Oggetto
  • Numero di serie del certificato
  • Validità, dove la scadenza può essere indeterminata
  • Firma

(Facoltativo) ID fornitore e ID prodotto sono attributi di MatterDACName nell'oggetto DAC.

Infine, il PAA è il certificato radice della catena ed è autofirmato. Include:

  • Firma
  • Chiave pubblica
  • Emittente
  • Oggetto
  • Numero di serie del certificato
  • Validità

Documenti e messaggi di attestazione aggiuntivi

Il processo di attestazione include diversi documenti e messaggi. Di seguito viene fornita una breve panoramica della loro funzione e composizione. L'immagine seguente aiuta a comprendere la gerarchia.

Gerarchia dei documenti di attestazione
Figura 2: gerarchia dei documenti di attestazione
Documento Descrizione
Dichiarazione di certificazione (CD) Il CD consente al dispositivo Matter di dimostrare la sua conformità al protocollo Matter. Al termine dei Matter processi di certificazione, l'Alliance crea un CD per il tipo di dispositivo in modo che il fornitore possa includerlo nel firmware. Il CD include, tra le altre informazioni:
  • VID
  • PID (uno o più)
  • ID categoria server
  • ID categoria client
  • Livello di sicurezza
  • Informazioni sulla sicurezza
  • Tipo di certificazione (in fase di sviluppo, provvisorio o ufficiale)
  • Firma
Informazioni sul firmware (facoltative) Le Informazioni firmware contengono il numero di versione CD e uno o più digest dei componenti del firmware, come sistema operativo, file system e bootloader. I digest possono essere un hash dei componenti software o un hash dei manifest firmati dei componenti software.

Il fornitore potrebbe anche scegliere di includere nelle informazioni firmware solo gli "hash di hash" dei suoi componenti, invece di un array di singoli hash.

Le informazioni sul firmware sono un elemento facoltativo nel processo di attestazione e sono applicabili quando un fornitore gestisce una coppia di chiavi.
Informazioni sull'attestazione Messaggio inviato dal Commissionee al Commissario. Le informazioni di attestazione combinano un TLV contenente gli elementi di attestazione e una firma di attestazione.
Elementi di attestazione Questo è un TLV contenente:

  • Dichiarazione del certificato
  • Timestamp
  • Attestazione Nonce
  • Informazioni sul firmware (facoltativo)
  • Informazioni specifiche del fornitore (facoltativo)
Sfida di attestazione Challenge out-of-band calcolata durante la creazione della sessione Passcode Authenticated Session Establishment (PASE)/Certificate Authenticated Session Establishment (CASE) e utilizzata per proteggere ulteriormente la procedura ed evitare la ripetizione delle firme. Proviene da una sessione CASE, PASE o da una sessione CASE ripresa.
Attestazione TBS (da firmare) Messaggio contenente gli elementi di attestazione e la sfida di attestazione.
Firma dell'attestazione Firma del TBS di attestazione, firmata utilizzando la chiave privata di attestazione del dispositivo.

Procedura di attestazione

Il Commissario è responsabile dell'attestazione del Commissione. Esegue i seguenti passaggi:

  1. Commissioner genera un nonce di attestazione casuale di 32 byte. Nel gergo della crittografia, un nonce (numero utilizzato una volta) è un numero casuale generato nella procedura crittografica e destinato a essere utilizzato una sola volta.
  2. Il commissario invia il nonce al DUT e richiede le informazioni di attestazione.
  3. DUT genera le informazioni di attestazione e le firma con la chiave privata dell'attestazione.
  4. Il Commissioner recupera il certificato DAC e PAI dal dispositivo e cerca il certificato PAA nell'archivio di attendibilità Matter.
  5. Il commissario convalida le informazioni sull'attestazione. Queste sono le condizioni per la convalida:
    • È necessario convalidare la catena di certificati DAC, inclusi i controlli di revoca su PAI e PAA.
    • Il VID sul DAC corrisponde al VID sul PAI.
    • La firma dell'attestazione è valida.
    • Il nonce negli elementi di attestazione del dispositivo corrisponde al nonce fornito dal Commissioner.
    • La firma della dichiarazione del certificato è valida utilizzando una delle note chiavi di firma della dichiarazione di certificazione di Alliance.
    • Le informazioni sul firmware (se presenti e supportate dal Commissioner) corrispondono a una voce del Distributed Compliance Ledger.
    • Vengono effettuate anche convalide VID/PID aggiuntive tra il cluster di informazioni di base del dispositivo, la dichiarazione di certificazione e il DAC.