Attestazione

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

Durante la procedura di messa in servizio, un Dispositivo certificato deve attestare se stesso. In altre parole, deve dimostrare che è ciò che afferma di essere e che si tratta di un prodotto originale. Di conseguenza, tutti i dispositivi Matter dispongono di credenziali che comprendono la coppia di chiavi di attestazione e una catena di certificati associata. Il certificato di attestazione del dispositivo (DAC) fa parte di questa catena. Una volta che il dispositivo in fase di messa in servizio presenta il DAC al proprio Commissioner, quest'ultimo certificherà che:

  • da un produttore certificato.
  • si tratta di un dispositivo originale.
  • ha superato Matter test di conformità.

Durante la fase di sviluppo, il produttore può testare i propri dispositivi senza il processo di attestazione completo. I tester devono essere esplicitamente informati che il dispositivo è in fase di test e che non è stato ancora certificato né lanciato. Quando 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 del server ampiamente adottati e utilizzati per SSL/TLS. Questa procedura è chiamata catena di certificati di attestazione dei dispositivi.

PKI di attestazione dispositivo

Il DAC è un certificato X.509 v3. La prima versione di X.509 è stata pubblicata nel 1988 da ITU-T. Il certificato X.509 v3 con certificato dell'infrastruttura a chiave pubblica ed elenco revoche certificati (CRL, Certificate Revocation List) 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 unica all'interno del prodotto. Viene emesso da una CA associata al produttore del dispositivo.

La firma del DAC viene convalidata a fronte del Product Attestation Intermediate Certificate (PAI), anch'esso emesso da un PAA. Tuttavia, un fornitore potrebbe scegliere di creare un PAI per prodotto (specifico per PID), gruppo di prodotti o per tutti i suoi prodotti.

Alla base della catena di attendibilità, la chiave pubblica dell'autorità di certificazione CA (Product Attestation Authority) (PAA) convalida le firme dal PAI. Tieni presente che l'archivio di attendibilità Matter è federato e che il set di certificati PAA ritenuti attendibili dai commissari viene gestito in un database centrale attendibile (il registro di conformità distribuita). L'inserimento di un PAA nell'insieme attendibile richiede la conformità a un criterio del certificato gestito da Alliance.

Infrastruttura a chiave pubblica di attestazione della materia
Figura 1: infrastruttura a chiave pubblica di attestazione della materia

Il 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

L'ID fornitore e l'ID prodotto (facoltativamente) 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à

Altri documenti e messaggi di attestazione

Il processo di attestazione include diversi documenti e messaggi. Di seguito è riportata 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) La CD consente al dispositivo Matter di dimostrare la sua conformità al protocollo Matter. Ogni volta che i Matter processi di certificazione terminano, il 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:
  • Identificazione video
  • PID (uno o più)
  • ID categoria server
  • ID categoria client
  • Livello di sicurezza
  • Informazioni sulla sicurezza
  • Tipo di certificazione (sviluppo, provvisoria, ufficiale)
  • Firma
Informazioni firmware (facoltativo) Le informazioni sul firmware contengono il numero di versione del CD e una o più sintesi dei componenti del firmware, come il sistema operativo, il file system e il bootloader. I digest possono essere un hash dei componenti software o un hash dei manifest firmati dei componenti software.

Il fornitore può anche scegliere di includere nelle informazioni firmware solo l'"hash-of-hash" dei suoi componenti, anziché un array di singoli hash.

Le informazioni del firmware sono un elemento facoltativo della procedura di attestazione e applicabili quando un ambiente di OAuth è in grado di gestire le chiavi di attestazione.
Informazioni sull'attestazione Messaggio inviato dalla Commissionee al commissario. Le informazioni di attestazione combinano un TLV contenente gli elementi di attestazione e una firma di attestazione.
Elementi di attestazione Questa è una TLV contenente:

  • Dichiarazione certificato
  • Timestamp
  • Attestazione Nonce
  • Informazioni firmware (facoltativo)
  • Informazioni specifiche del fornitore (facoltativo)
Sfida attestazione Challenge fuori banda derivata 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 riproduzione di firme. Proviene dalla sessione CASE, dalla sessione PASE o da una sessione CASE ripresa.
Attestazione (da firmare) Messaggio contenente Elementi attestazione e Sfida attestazione.
Firma attestazione Firma della TBS di attestazione, firmata utilizzando la chiave privata di attestazione del dispositivo.

Procedura di attestazione

Il commissario ha la responsabilità di attestare la Commissionee. Esegue i seguenti passaggi:

  1. Commissioner genera un nonce di attestazione casuale di 32 byte. Nel gergo crittografico, un nonce (numero utilizzato una volta) è un numero casuale generato nella procedura crittografica e deve essere utilizzato una 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 di attestazione.
  4. Il Commissioner recupera il certificato DAC e PAI dal dispositivo e cerca il certificato PAA nel suo archivio di attendibilità Matter.
  5. Il Commissioner convalida le Informazioni sull'attestazione. Queste sono le condizioni per la convalida:
    • La catena di certificati DAC deve essere convalidata, inclusi i controlli di revoca su PAI e PAA.
    • Il VID sul DAC corrisponde al VID sul PAI.
    • La firma di 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 chiavi di firma della dichiarazione di certificazione di Alliance.
    • Le informazioni del firmware (se presenti e supportate dal Commissioner) corrispondono a una voce del Distributed Compliance Ledger.
    • Vengono inoltre effettuate convalide VID/PID aggiuntive tra il cluster delle informazioni di base del dispositivo, la dichiarazione di certificazione e il DAC.