Attestazione

I dispositivi certificati sono dispositivi che hanno superato la procedura di certificazione Connectivity Standards Alliance (Alliance) Matter.

Durante la procedura di provisioning, un dispositivo certificato deve autocertificarsi. In altre parole, deve dimostrare di essere ciò che dichiara 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 commissioning presenta il DAC al suo commissario, quest'ultimo certificherà che:

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

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 dall'ITU-T. Il certificato X.509 v3 con infrastruttura a chiave pubblica e l'elenco revoche certificati (CRL) utilizzato da Matter è specificato da RFC5280. Contiene:

  • Chiave pubblica
  • Emittente
  • Oggetto
  • Numero di serie del certificato
  • Validità, in cui 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 e associato alla coppia di chiavi di attestazione univoca all'interno del prodotto. È emesso da una CA associata al produttore del dispositivo.

La firma del DAC viene convalidata in base al certificato intermedio di attestazione del prodotto (PAI), che viene emesso anche da un PAA. Tuttavia, un fornitore potrebbe scegliere di creare un PAI per prodotto (specifico per ID prodotto), gruppo di prodotti o per tutti i suoi prodotti.

Alla radice della catena di attendibilità, la chiave pubblica dell'autorità di attestazione del prodotto (PAA) autorità di certificazione (CA) convalida le firme della PAI. Tieni presente che l'archivio di attendibilità Matter è federato e l'insieme di certificati PAA attendibili per i commissari viene gestito in un database attendibile centrale (il Distributed Compliance Ledger). L'inserimento di un PAA all'interno del set attendibile richiede il rispetto di una norma sui certificati gestita da Alliance.

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

L'IAI è anche un certificato X.509 v3 che include:

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

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

La procedura di attestazione prevede diversi documenti e messaggi. Gli elementi seguenti forniscono 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 delle Matter procedure di certificazione, 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:
  • VID
  • PID (uno o più)
  • ID categoria server
  • ID categoria cliente
  • Livello di sicurezza
  • Informazioni sulla sicurezza
  • Tipo di certificazione (sviluppo, provvisoria o ufficiale)
  • Firma
(Facoltativo) Informazioni sul firmware La sezione Informazioni sul firmware contiene il numero di versione del CD e uno o più hash dei componenti del firmware, ad esempio sistema operativo, file system, 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 sul firmware solo l'"hash degli hash" dei suoi componenti, anziché un array di hash individuali.

Le informazioni sul firmware sono 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 Commissario al Commissionee. Le informazioni sull'attestazione combinano un TLV contenente gli elementi dell'attestazione e una firma dell'attestazione.
Elementi di attestazione Si tratta di un TLV contenente:

  • Dichiarazione del certificato
  • Timestamp
  • Nonce attestazione
  • Informazioni sul firmware (facoltativo)
  • (Facoltative) Informazioni specifiche del fornitore
Attestation Challenge Sfida out-of-band derivata durante la sessione Passcode Authenticated Session Establishment (PASE)/ Certificate Authenticated Session Establishment (CASE) e utilizzata per proteggere ulteriormente la procedura ed evitare firme riprodotte. Proviene da una sessione CASE, da una sessione PASE o da una sessione CASEripristinata.
Attestazione TBS (da firmare) Messaggio contenente gli elementi di attestazione e la verifica dell'attestazione.
Firma dell'attestazione Firma del TBS di Attestation, firmato utilizzando la chiave privata di Device Attestation.

Procedura di attestazione

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

  1. Il commissario genera un nonce di attestazione casuale di 32 byte. Nel gergo della crittografia, un nonce (numero usato 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. Il DUT genera le informazioni di attestazione e le firma con la chiave privata di attestazione.
  4. Il commissario recupera il certificato DAC e PAI dal dispositivo e cerca il certificato PAA nel suo archivio attendibile Matter.
  5. Il commissario convalida le informazioni dell'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 dell'attestazione è valida.
    • Il nonce negli elementi di attestazione del dispositivo corrisponde al nonce fornito dal commissario.
    • La firma della dichiarazione di certificazione è valida se utilizza una delle chiavi di firma della dichiarazione di certificazione note di Alliance.
    • Le informazioni sul firmware (se presenti e supportate dal commissario) corrispondono a una voce nel registro di conformità distribuito.
    • Tra il cluster di informazioni di base del dispositivo, la dichiarazione di certificazione e il DAC vengono eseguite anche ulteriori convalide di VID/PID.