Device Trust

Podstawowym krokiem w procesie uwierzytelniania równorzędnej maszyny wirtualnej Android SDV jest ustalenie, czy ta maszyna wirtualna działa na zaufanym urządzeniu. Do bezpiecznej siatki SDV mogą dołączyć tylko maszyny wirtualne z zweryfikowanym oprogramowaniem działające na zaufanych urządzeniach. Więcej informacji o procesie weryfikacji oprogramowania równorzędnego znajdziesz w profilu SDV dla DICE.

W przypadku zaufania do urządzenia Android SDV definiuje 2 odrębne organy o różnych uprawnieniach:

  • Przypisywanie zaufania do urządzenia: tylko OEM ma takie uprawnienia.

  • Określanie zestawu urządzeń, których maszyny wirtualne tworzą bezpieczną siatkę SDV pojazdu. OEM musi przypisać i kontrolować dostęp. Takie uprawnienia mają pracownicy, którzy wymieniają części.

W kolejnych sekcjach opisujemy szczegóły dotyczące członkostwa w siatce urządzeń i zaufania do urządzenia.

plik uds_pubs

Urządzenia są jednoznacznie identyfikowane przez odpowiednie unikalne klucze publiczne UDS.

Gdy maszyna wirtualna Android SDV dołącza do bezpiecznej siatki SDV, mówimy, że urządzenie, na którym działa ta maszyna wirtualna, dołączyło do bezpiecznej siatki SDV.

Plik uds_pubs zawiera klucze publiczne UDS wszystkich urządzeń, które mogą dołączyć do bezpiecznej siatki SDV. Ten plik jest tworzony w procesie udostępniania fabrycznego i aktualizowany w procesie wymiany części. Ten plik znajduje się w partycji vvmtruststore.

Umieszczenie na tej liście nie oznacza zaufania. Aby urządzenie mogło dołączyć do bezpiecznej siatki SDV, muszą być spełnione 2 warunki:

  • Klucz publiczny UDS (lub klucze) musi znajdować się w pliku uds_pubs.
  • Musi to być zaufane urządzenie.

Metody zaufania do urządzenia

Aby maszyna wirtualna Android SDV ufała urządzeniu, na którym działa równorzędna maszyna wirtualna Android SDV, można zastosować 2 metody:

  • Urządzenie zawiera certyfikaty UDS. Jest to preferowana metoda.
  • Urządzenia są trwale powiązane ze sobą podczas procesu udostępniania fabrycznego. Jest to wyrażone przez VVMFactoryTrust. Jest to metoda alternatywna, której OEM może użyć, gdy nie jest technicznie możliwe dostarczenie certyfikatów UDS do urządzeń na linii montażowej pojazdu (lub przed nią).

Certyfikaty UDS

Równorzędna maszyna wirtualna Android SDV może przedstawić certyfikat UDS dla swojego klucza publicznego UDS.

Klucz publiczny głównego organu udostępniania UDS, który służy jako ostateczny punkt zaufania do uwierzytelniania urządzenia, jest zdefiniowany w vvmconfig pliku.

Własne certyfikaty UDS maszyny wirtualnej są przechowywane w pliku uds_certs w partycji vvmtruststore.

Obsługa tej metody zaufania do urządzenia jest obowiązkowa.

Powiązywanie urządzeń za pomocą VVMFactoryTrust

Urządzenia udostępnione razem mogą być trwale powiązane, tworząc zaufaną grupę, która nie polega na certyfikatach UDS. Eliminuje to konieczność generowania tych certyfikatów przez powiązaną infrastrukturę kluczy publicznych. To nieodłączne zaufanie jest specyficzne dla tej grupy. Dlatego jeśli jakiekolwiek urządzenie w tej powiązanej grupie zostanie wymienione, ustanowione zaufanie do całej grupy zostanie cofnięte.

To trwałe powiązanie jest osiągane za pomocą VVMFactoryTrust, czyli skrótu pliku uds_pubs przechowywanego w pamięci OTP.

Dokładniej mówiąc, jest to 32-bajtowa wartość przechowująca SHA256 pliku uds_pubs w momencie udostępniania. Ta wartość jest przekazywana do Androida SDV jako parametr jądra. Jeśli przechowywany VVMFactoryTrust pasuje do skrótu uds_pubs, urządzenia zidentyfikowane przez te klucze publiczne UDS są zaufane.

Aby mieć pewność, że osoby upoważnione do wymiany tylko części nie uzyskają też uprawnień do przypisywania zaufania do urządzenia, powinny otrzymywać tylko urządzenia z VVMFactoryTrust, którego nie można zapisać. Bez tego środka ostrożności technik warsztatowy mógłby podczas wymiany urządzenia w całym pojeździe pomieszać urządzenia oryginalne i nieoryginalne.

Obsługa tej metody zaufania do sprzętu jest opcjonalna i powinna być wdrażana tylko wtedy, gdy udostępnianie certyfikatów UDS na linii montażowej pojazdu (lub przed nią) jest niemożliwe.