Attestazione

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

Durante la procedura di messa in servizio, un Dispositivo certificato deve attestare la propria identità. In altre parole, deve dimostrare di essere ciò che afferma di essere e di essere un prodotto originale. Pertanto, 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 suo Commissioner, quest'ultimo certificherà 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 la procedura di attestazione completa. I tester devono essere informati esplicitamente che il Dispositivo è in fase di test e 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 del server ampiamente adottati utilizzati per SSL/TLS. Questo processo è chiamato catena di certificati di attestazione del dispositivo.

PKI di attestazione del 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 infrastruttura a chiave pubblica e l'elenco revoche certificati (CRL) utilizzato da Matter sono specificati da RFC5280. Contiene:

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

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

Il DAC è univoco per dispositivo e 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 rispetto al certificato intermedio di attestazione del prodotto (PAI), anch'esso emesso da una 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 radice della catena di attendibilità, la chiave pubblica dell'autorità di certificazione (CA) dell'autorità di attestazione del prodotto (PAA) convalida le firme del 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 attendibile centrale (Distributed Compliance Ledger). L'inserimento di una PAA nel set attendibile richiede il rispetto di una policy di certificazione gestita da Alliance.

Infrastruttura a chiave pubblica di attestazione Matter
Figura 1: infrastruttura a chiave pubblica di attestazione Matter

Anche il PAI è un certificato X.509 v3 che include:

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

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

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

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

Documenti e messaggi di attestazione aggiuntivi

La procedura di attestazione prevede diversi documenti e messaggi. Di seguito è riportata una breve panoramica della loro funzione e composizione. L'immagine seguente aiuta a comprendere la loro 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 propria conformità al protocollo Matter. Ogni volta che i processi di certificazione Matter terminano, 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 (sviluppo, provvisoria o ufficiale)
  • Firma
Informazioni firmware (facoltativo) Le informazioni sul firmware contengono il numero di versione del CD e uno o più digest dei componenti nel firmware, come il sistema operativo, il file system, il 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 in Firmware Information solo l'"hash degli hash" dei suoi componenti, anziché un array di singoli hash.

Firmware Information è un elemento facoltativo nel processo di attestazione e applicabile quando un fornitore dispone di un ambiente di avvio protetto che gestisce la coppia di chiavi di attestazione.
Informazioni sull'attestazione Messaggio inviato dal Commissionato al Committente. Le informazioni di attestazione combinano un TLV contenente gli elementi di attestazione e una firma di attestazione.
Elementi di attestazione Si tratta di un TLV contenente:

  • Dichiarazione del certificato
  • Timestamp
  • Nonce di attestazione
  • Informazioni firmware (facoltativo)
  • Informazioni specifiche del fornitore (facoltativo)
Attestation Challenge Challenge out-of-band 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 firme ripetute. Proviene da una sessione CASE, da una sessione PASE o da una sessione CASE ripresa.
TBS (da firmare) dell'attestazione Messaggio contenente gli elementi di attestazione e la verifica dell'attestazione.
Firma dell'attestazione Firma dell'attestazione TBS, firmata utilizzando la chiave privata di attestazione del dispositivo.

Procedura di attestazione

Il Commissioner è responsabile dell'attestazione del Commissionee. Esegue i seguenti passaggi:

  1. Il commissioner genera un nonce di attestazione casuale di 32 byte. Nel gergo della crittografia, un nonce (numero utilizzato una sola volta) è un numero casuale generato nella procedura crittografica e destinato a essere utilizzato una sola volta.
  2. Il commissioner invia il nonce al DUT e richiede le informazioni di attestazione.
  3. Il 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 di 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 di certificazione è valida utilizzando una delle chiavi di firma della dichiarazione di certificazione note di Alliance.
    • Le informazioni sul firmware (se presenti e supportate dal commissioner) corrispondono a una voce nel Distributed Compliance Ledger.
    • Ulteriori convalide VID/PID vengono eseguite anche tra il cluster di informazioni di base del dispositivo, la dichiarazione di certificazione e il DAC.