Atest

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

Podczas procesu uruchamiania urządzenie z certyfikatem musi potwierdzić swoją tożsamość. Innymi słowy, musi udowodnić, że jest tym, za co się podaje, i że jest oryginalnym produktem. Dlatego wszystkie urządzenia Matter mają dane uwierzytelniające , 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 w trakcie uruchamiania przedstawi DAC osobie uruchamiającej, potwierdzi ona, że:

  • zostało wyprodukowane przez certyfikowanego producenta;
  • jest oryginalnym urządzeniem;
  • przeszło Matter testy zgodności.

W fazie rozwoju producent może testować swoje urządzenia bez pełnego procesu atestu. Testerzy powinni być wyraźnie poinformowani, że urządzenie jest w trakcie testowania i nie zostało jeszcze certyfikowane ani wprowadzone na rynek. Gdy producent przejdzie do fazy produkcji, ekosystem komponentu udostępniającego powinien egzekwować wszystkie wymagania dotyczące atestu.

Atest wykorzystuje infrastrukturę klucza publicznego (PKI), która korzysta z głównych urzędów certyfikacji i certyfikatów pośrednich w podobny sposób jak powszechnie stosowane certyfikaty uwierzytelniania serwera używane w protokołach 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 X.509 została opublikowana w 1988 roku przez ITU-T. X.509 w wersji 3 z certyfikatem infrastruktury klucza publicznego i listą odwołanych certyfikatów (CRL) używaną przez Matter jest określona w RFC5280. Zawiera:

  • klucz publiczny;
  • wystawcę;
  • temat;
  • numer seryjny certyfikatu;
  • ważność, w przypadku której data ważności może być nieokreślona;
  • podpis.

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

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

Podpis DAC jest weryfikowany na podstawie certyfikatu pośredniego atestu produktu (PAI), który jest również wydawany przez PAA. Dostawca może jednak utworzyć 1 PAI na produkt (specyficzny dla PID), grupę produktów lub wszystkie swoje produkty.

U podstaw łańcucha zaufania klucz publiczny urzędu atestu produktu (PAA) urzędu certyfikacji (CA) weryfikuje podpisy z PAI. Pamiętaj, że magazyn zaufania Matter jest sfederowany, a zestaw certyfikatów PAA, którym ufają osoby uruchamiające, jest przechowywany w centralnej zaufanej bazie danych (Distributed Compliance Ledger). Aby PAA znalazł się w zaufanym zestawie, musi spełniać wymagania zasad dotyczących certyfikatów zarządzanych przez Alliance.

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

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

  • klucz publiczny;
  • wystawcę;
  • temat;
  • numer seryjny certyfikatu;
  • ważność, w przypadku której data ważności może być nieokreślona;
  • podpis.

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

PAA jest certyfikatem głównym w łańcuchu i jest podpisany samodzielnie. Zawiera:

  • podpis;
  • klucz publiczny;
  • wystawcę;
  • temat;
  • numer seryjny certyfikatu;
  • ważność.

Dodatkowe dokumenty i wiadomości dotyczące atestu

Proces atestu obejmuje kilka dokumentów i wiadomości. Poniżej znajdziesz krótkie omówienie ich funkcji i składu. Obraz poniżej ułatwia zrozumienie ich hierarchii.

Hierarchia dokumentów potwierdzających
Rysunek 2. Hierarchia dokumentów atestu
Dokument Opis
Deklaracja certyfikatu (CD) The CD allows the Matter device to prove its compliance with the Matter protocol. Gdy Matter procesy certyfikacji dobiegną końca, Alliance utworzy CD dla typu urządzenia, aby dostawca mógł go uwzględnić w oprogramowaniu układowym. CD zawiera m.in.:
  • VID
  • PID (co najmniej 1);
  • 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 (opcjonalne) Informacje o oprogramowaniu układowym zawierają numer wersji CD oraz co najmniej 1 skrót komponentów oprogramowania układowego, takich jak system operacyjny, system plików czy program rozruchowy. Skróty mogą być albo skrótem komponentów oprogramowania, albo skrótem podpisanych manifestów komponentów oprogramowania.

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

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

  • deklarację certyfikatu;
  • sygnaturę czasową;
  • nonce atestu;
  • informacje o oprogramowaniu układowym (opcjonalne);
  • informacje specyficzne dla dostawcy (opcjonalne).
Wyzwanie atestu Wyzwanie poza pasmem wyprowadzone podczas Passcode Authenticated Session Establishment (PASE)/ Certificate Authenticated Session Establishment (CASE) ustanawiania sesji i używane do dalszego zabezpieczenia procedury oraz uniknięcia powtórzonych podpisów. Pochodzi z sesji CASE, sesji PASE lub wznowionej CASE sesji.
Atest TBS (do podpisania) Wiadomość zawierająca elementy atestu i wyzwanie atestu.
Podpis atestu Podpis atestu TBS podpisany przy użyciu klucza prywatnego atestu urządzenia.

Procedura atestu

Osoba uruchamiająca jest odpowiedzialna za potwierdzenie tożsamości osoby uruchamiającej. Wykonuje te czynności:

  1. Osoba uruchamiająca generuje losowy 32-bajtowy nonce atestu. W żargonie kryptograficznym nonce (liczba używana raz) to losowa liczba wygenerowana w procedurze kryptograficznej, która ma być użyta tylko raz.
  2. Osoba uruchamiająca wysyła nonce do DUT i prosi o informacje o atestach.
  3. DUT generuje informacje o atestach i podpisuje je kluczem prywatnym atestu.
  4. Osoba uruchamiająca odzyskuje certyfikat DAC i PAI z urządzenia oraz wyszukuje certyfikat PAA w swoim Matter magazynie zaufania.
  5. Osoba uruchamiająca weryfikuje informacje o atestach. Oto warunki weryfikacji:
    • Łańcuch certyfikatów DAC musi zostać zweryfikowany, w tym sprawdzenie odwołania PAI i PAA.
    • VID w DAC musi być zgodny z VID w PAI.
    • Podpis atestu jest prawidłowy.
    • Nonce w elementach atestu urządzenia musi być zgodny z nonce podanym przez osobę uruchamiającą.
    • Podpis deklaracji certyfikatu jest prawidłowy przy użyciu jednego z Alliance's dobrze znanych kluczy podpisywania deklaracji certyfikatu.
    • Informacje o oprogramowaniu układowym (jeśli są obecne i obsługiwane przez osobę uruchamiającą) muszą być zgodne z wpisem w Distributed Compliance Ledger.
    • Dodatkowe weryfikacje VID/PID są też przeprowadzane między klastrem podstawowych informacji o urządzeniu, deklaracją certyfikatu i DAC.