Atest

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

W trakcie procesu uruchamiania certyfikowane urządzenie musi się poświadczać. Innymi słowy, musi udowodnić, że jest to, co twierdzi, oraz że jest to oryginalny produkt. Oznacza to, że wszystkie urządzenia Matter mają dane logowania, które obejmują parę kluczy atestu i powiązany łańcuch certyfikatów. Do tego łańcucha należy certyfikat atestacji urządzenia (DAC). Po przedstawieniu urządzenia w ramach kontroli DAC komisarzowi ten ostatni potwierdzi, że:

  • został wykonany przez certyfikowanego producenta.
  • to oryginalne urządzenie.
  • Przeszedł Matter test zgodności.

Na etapie programowania producent może testować swoje urządzenia bez pełnego procesu atestu. Testerów należy wyraźnie poinformować, że urządzenie jest w trakcie testów oraz że nie zostało jeszcze certyfikowane ani wprowadzone na rynek. Gdy producent rozpoczyna fazę produkcji, jego ekosystem powinien egzekwować wszystkie wymagania dotyczące atestu.

Atest korzysta z infrastruktury klucza publicznego (PKI), która korzysta z głównych urzędów certyfikacji i certyfikatów pośrednich w sposób podobny do powszechnie stosowanych certyfikatów uwierzytelniania serwera używanych do obsługi protokołu SSL/TLS. Ten proces jest nazywany łańcuchem certyfikatów atestu urządzenia.

Instytucja klucza publicznego poświadczania urządzenia

DAC to certyfikat X.509 w wersji 3. Pierwsza wersja X.509 została opublikowana w 1988 r. przez organizację ITU-T. Nazwa X.509 w wersji 3 z certyfikatem infrastruktury klucza publicznego oraz listą odwołanych certyfikatów (CRL) używana przez Matter jest określona w dokumencie RFC5280. Zawiera ona:

  • Klucz publiczny
  • Wystawca
  • Temat
  • Numer seryjny certyfikatu
  • ważność, gdzie data wygaśnięcia może być nieokreślona;
  • Podpis

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

Numer DAC jest unikalny dla każdego urządzenia i powiązany z unikalną parą kluczy atestu w usłudze. Jest on wydawany przez urząd certyfikacji powiązany z producentem urządzenia.

Podpis DAC jest weryfikowany pod kątem certyfikatu Product Attestation Intermediate Certificate (PAI), który również jest wystawiany przez PAA. Dostawca może jednak utworzyć jeden PAI dla każdego produktu (związanego z identyfikatorem PID), grupy produktów lub wszystkich swoich produktów.

Na poziomie łańcucha zaufania klucz publiczny urzędu certyfikacji usługi PAA (CA) weryfikuje podpisy z PAI. Pamiętaj, że magazyn zaufania Matter jest sfederowany, a zestaw certyfikatów PAA zaufanych przez komisję jest utrzymywany w centralnej zaufanej bazie danych („rozproszonej listy zgodności kierunkowej”). Wpis PAA w zaufanym zestawie wymaga zgodności z zasadą dotyczącą certyfikatów zarządzaną przez Alliance.

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

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

  • Klucz publiczny
  • Wystawca
  • Temat
  • Numer seryjny certyfikatu
  • ważność, gdzie data wygaśnięcia może być nieokreślona;
  • Podpis

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

Wreszcie PAA jest certyfikatem głównym w łańcuchu, który jest samodzielnie podpisany. Obejmuje ono:

  • Podpis
  • Klucz publiczny
  • Wystawca
  • Temat
  • Numer seryjny certyfikatu
  • Poprawność

Dodatkowe dokumenty i wiadomości atestów

Proces atestu obejmuje kilka dokumentów i wiadomości. Oto krótkie omówienie ich funkcji i składu. Poniższy obraz pomoże zrozumieć ich hierarchię.

Hierarchia dokumentów atestu
Rysunek 2. Hierarchia dokumentów atestu
Dokument Opis
Deklaracja certyfikacyjna CD umożliwia urządzeniu Matter potwierdzenie zgodności z protokołem Matter. Po zakończeniu Matterprocesu certyfikacji Alliance tworzy dysk CD dla danego typu urządzenia, dzięki czemu dostawca może go uwzględnić w oprogramowaniu. Na płycie CD znajdują się m.in. te informacje:
  • Identyfikator VID
  • PID (jeden lub więcej)
  • Identyfikator kategorii serwera
  • Identyfikator kategorii klienta
  • Poziom bezpieczeństwa
  • Informacje o zabezpieczeniach
  • Typ certyfikatu (program rozwojowy, tymczasowy lub oficjalny)
  • Podpis
Informacje o oprogramowaniu (opcjonalnie) Sekcja Informacje o oprogramowaniu zawiera numer wersji dysku CD i co najmniej jeden zestaw komponentów oprogramowania, takich jak system operacyjny, system plików, program rozruchowy. Skróty mogą być skrótem komponentów oprogramowania lub haszem podpisanych plików manifestu komponentów oprogramowania.

Dostawca może też uwzględnić w informacjach o oprogramowaniu tylko skrót komponentów, a nie tablicę poszczególnych haszów.

Informacje o oprogramowaniu, które są opcjonalnym elementem w procesie atestacji i dostawcy, są opcjonalne.
Informacje o atestie Wiadomość wysłana przez komisarza do komisarza. Informacje o atestie to połączenie TLV z elementami atestu i podpisem atestu.
Elementy atestu To jest TLV obejmujące:

  • Deklaracja certyfikatu
  • Sygnatura czasowa
  • Atest (jednorazowy)
  • Informacje o oprogramowaniu (opcjonalnie)
  • Informacje o dostawcy (opcjonalnie)
Wyzwanie atestu Wyzwanie pozapasmowe uruchomione podczas nawiązywania sesji Passcode Authenticated Session Establishment (PASE)/Certificate Authenticated Session Establishment (CASE) i wykorzystane do dodatkowego zabezpieczenia procedury oraz uniknięcia ponownego odtwarzania podpisów. Pochodzi z sesji CASE, PASE lub wznowionej sesji CASE.
Atest do potwierdzenia (do podpisania) Wiadomość zawierająca elementy atestu i wyzwanie związane z atestem.
Podpis atestu Podpis poświadczenia TBS podpisany przy użyciu klucza prywatnego atestu urządzenia.

Procedura atestu

Komisarz jest odpowiedzialny za poświadczenie komisarza. Jest wykonywana w ten sposób:

  1. Komisarz generuje losową 32-bajtową liczbę jednorazową atestu. W żargonie kryptograficznym liczba jednorazowa to losowa liczba wygenerowana w procedurze kryptograficznej, której należy użyć raz.
  2. Komisarz wysyła liczbę jednorazową do DUT i prosi o informacje o atestie.
  3. DUT generuje informacje o atestach i podpisuje je kluczem prywatnym atestu.
  4. Komisarz przywraca certyfikat DAC i PAI z urządzenia i wyszukuje certyfikat PAA w magazynie zaufania Matter.
  5. Komisarz weryfikuje informacje o atestie. Warunki weryfikacji:
    • Musisz zweryfikować łańcuch certyfikatów DAC, w tym testy unieważnienia w PAI i PAA.
    • Identyfikator VID na DAC jest zgodny z VID na PAI.
    • Podpis atestu jest prawidłowy.
    • Wartość jednorazowa w elementach atestu urządzenia odpowiada liczbie jednorazowej podanej przez komisarza.
    • Podpis deklaracji certyfikatu jest prawidłowy za pomocą jednego z dobrze znanych kluczy podpisywania deklaracji certyfikatu w Alliance.
    • Informacje o oprogramowaniu (jeśli są dostępne i obsługiwane przez komisarza) są zgodne z wpisem w rejestrze zgodności rozproszonej.
    • Dodatkowe weryfikacje identyfikatorów VID/PID odbywają się też między klastrem podstawowych informacji o urządzeniu, Deklaracją certyfikacji i DAC.