Atest

Certyfikowane urządzenia to Urządzenia, które przeszły proces certyfikacji Connectivity Standards Alliance (Alliance) Matter.

Podczas procesu udostępniania certyfikowane urządzenie musi przejść proces atestacji. Innymi słowy, musi udowodnić, że jest tym, za co się podaje, i że jest oryginalnym produktem. Dlatego wszystkie urządzenia Matter mają dane logowania, które obejmują parę kluczy atestu i powiązany łańcuch certyfikatów. Częścią tego łańcucha jest certyfikat atestu urządzenia (DAC). Gdy urządzenie, które jest uruchamiane, przedstawia certyfikat DAC komisarzowi, ten potwierdza, że:

  • zostało wyprodukowane przez certyfikowanego producenta.
  • jest oryginalne.
  • przeszło Matter testów zgodności.

Na etapie programowania producent może testować urządzenia bez pełnego procesu atestacji. Testerzy powinni zostać wyraźnie poinformowani, że Urządzenie jest w fazie testów i nie zostało jeszcze certyfikowane ani wprowadzone na rynek. Gdy producent wejdzie w fazę produkcji, ekosystem dostawcy powinien egzekwować wszystkie wymagania dotyczące atestu.

Atestacja korzysta z infrastruktury klucza publicznego (PKI), która wykorzystuje główne urzędy certyfikacji i certyfikaty pośrednie w podobny sposób jak powszechnie stosowane certyfikaty uwierzytelniania serwera używane w przypadku SSL/TLS. Ten proces nazywa się łańcuchem certyfikatów atestu urządzenia.

Infrastruktura klucza publicznego atestu urządzenia

DAC to certyfikat X.509 w wersji 3. Pierwsza wersja standardu X.509 została opublikowana w 1988 r. przez ITU-T. Certyfikat X.509 w wersji 3 z infrastrukturą klucza publicznego i listą odwołanych certyfikatów (CRL) używany przez Matter jest określony w dokumencie RFC5280. Zawiera:

  • Klucz publiczny
  • Wystawca
  • Temat
  • Numer seryjny certyfikatu
  • ważność, przy czym data ważności może być nieokreślona;
  • Podpis

Identyfikator dostawcy i identyfikator produktu to atrybuty MatterDACName w temacie DAC.

Certyfikat DAC jest unikalny dla każdego urządzenia i powiązany z unikalną parą kluczy atestu w produkcie. Jest on wystawiany przez urząd certyfikacji powiązany z producentem urządzenia.

Podpis DAC jest weryfikowany na podstawie pośredniego certyfikatu atestu produktu (PAI), który również jest wydawany przez PAA. Dostawca może jednak utworzyć 1 identyfikator PAI dla każdego produktu (zależnie od PID), grupy produktów lub wszystkich produktów.

U podstaw łańcucha zaufania klucz publiczny urzędu certyfikacji (CA) urzędu atestacji produktu (PAA) weryfikuje podpisy z PAI. Pamiętaj, że magazyn zaufania Matter jest sfederowany, a zestaw certyfikatów PAA, którym ufa komisarz, jest przechowywany w centralnej zaufanej bazie danych (Distributed Compliance Ledger). Wpis PAA w zaufanym zbiorze wymaga spełnienia zasad certyfikatów zarządzanych przez Alliance.

Infrastruktura klucza publicznego atestacji Matter
Rysunek 1. Infrastruktura klucza publicznego atestacji Matter

PAI to również certyfikat X.509 w wersji 3, który zawiera:

  • Klucz publiczny
  • Wystawca
  • Temat
  • Numer seryjny certyfikatu
  • ważność, przy czym data ważności może być nieokreślona;
  • Podpis

Identyfikator dostawcy i identyfikator produktu (opcjonalnie) to atrybuty MatterDACName w temacie DAC.

Na koniec PAA jest certyfikatem głównym w łańcuchu i jest podpisany samodzielnie. Obejmuje ona te pozycje:

  • Podpis
  • Klucz publiczny
  • Wystawca
  • Temat
  • Numer seryjny certyfikatu
  • Ważność

Dodatkowe dokumenty i wiadomości dotyczące atestacji

Proces atestacji obejmuje kilka dokumentów i wiadomości. Poniżej znajdziesz krótkie omówienie ich funkcji i składu. Ilustracja poniżej przedstawia ich hierarchię.

Hierarchia dokumentów potwierdzających
Rysunek 2. Hierarchia dokumentów atestacyjnych
Dokument Opis
Deklaracja certyfikacyjna (CD) CD umożliwia urządzeniu Matter potwierdzenie zgodności z protokołem Matter. Po zakończeniu procesów certyfikacji Matter Alliance tworzy CD dla typu urządzenia, aby dostawca mógł uwzględnić go w oprogramowaniu układowym. Dokument CD zawiera m.in. te informacje:
  • VID
  • Identyfikator zamówienia reklamowego (co najmniej jeden)
  • Identyfikator kategorii serwera
  • Identyfikator kategorii klienta
  • Poziom bezpieczeństwa
  • Informacje o bezpieczeństwie
  • Typ certyfikatu (programistyczny, tymczasowy lub oficjalny)
  • Podpis
Informacje o oprogramowaniu układowym (opcjonalnie) Informacje o oprogramowaniu układowym zawierają numer wersji CD i co najmniej 1 skrót komponentów oprogramowania układowego, takich jak system operacyjny, system plików czy program rozruchowy. Skróty mogą być skrótem komponentów oprogramowania lub skrótem podpisanych manifestów komponentów oprogramowania.

Dostawca może też zdecydować się na uwzględnienie w informacjach o oprogramowaniu układowym tylko „skrótu skrótów” swoich komponentów zamiast tablicy poszczególnych skrótów.

Informacje o oprogramowaniu układowym są opcjonalnym elementem procesu atestacji i mają zastosowanie, gdy dostawca ma bezpieczne środowisko rozruchowe, które obsługuje parę kluczy atestacji.
Informacje o atestach Wiadomość wysłana przez zleceniobiorcę do zleceniodawcy. Informacje o atestacji łączą TLV zawierający elementy atestacji i podpis atestacji.
Elementy atestu Jest to TLV zawierający:

  • Certyfikat Deklaracja
  • Sygnatura czasowa
  • Atest Liczba jednorazowa
  • Informacje o oprogramowaniu układowym (opcjonalnie)
  • Informacje dotyczące dostawcy (opcjonalnie)
Test zabezpieczający atestu Weryfikacja poza pasmem uzyskana podczas ustanawiania sesji Passcode Authenticated Session Establishment (PASE)/ Certificate Authenticated Session Establishment (CASE) i używana do dalszego zabezpieczenia procedury i uniknięcia powtarzania podpisów. Pochodzi z sesji CASE, PASE lub wznowionej sesji CASE.
Zaświadczenie TBS (do podpisania) Komunikat zawierający elementy atestu i wyzwanie atestu.
Podpis pod oświadczeniem Podpis atestu TBS, podpisany za pomocą klucza prywatnego atestu urządzenia.

Procedura atestacji

Zleceniodawca jest odpowiedzialny za poświadczenie zleceniobiorcy. Wykonuje te czynności:

  1. Komisarz generuje losową 32-bajtową liczbę jednorazową atestu. W żargonie kryptograficznym liczba jednorazowa (liczba używana raz) to losowa liczba generowana w procedurze kryptograficznej, która ma być użyta tylko raz.
  2. Komisarz wysyła liczbę jednorazową do DUT i prosi o informacje o atestacji.
  3. DUT generuje informacje o atestacji i podpisuje je kluczem prywatnym atestacji.
  4. Komisarz pobiera certyfikat DAC i PAI z urządzenia i wyszukuje certyfikat PAA w magazynie zaufania Matter.
  5. Komisarz sprawdza informacje o atestacji. Warunki weryfikacji:
    • Łańcuch certyfikatów DAC musi zostać zweryfikowany, w tym pod kątem unieważnienia certyfikatów PAI i PAA.
    • Identyfikator dostawcy w DAC jest zgodny z identyfikatorem dostawcy w PAI.
    • Podpis atestu jest prawidłowy.
    • Liczba jednorazowa w elementach atestu urządzenia jest zgodna z liczbą jednorazową podaną przez komisarza.
    • Podpis deklaracji certyfikatu jest prawidłowy i wykorzystuje jeden ze znanych kluczy podpisywania deklaracji certyfikatu Alliance.
    • Informacje o oprogramowaniu układowym (jeśli są dostępne i obsługiwane przez komisarza) są zgodne z wpisem w rozproszonej księdze zgodności.
    • Dodatkowe weryfikacje VID/PID są też przeprowadzane między klastrem podstawowych informacji o urządzeniu, deklaracją certyfikacji i certyfikatem DAC.