Koncepcje modelu interakcji

Model danych (DM) węzła nie jest odpowiedni, jeśli nie możemy wykonać operacji na nie. Model interakcji (IM) określa relację DM węzła. z menedżerem środowiska innych węzłów – wspólny język komunikacji między czatami.

Węzły wchodzą ze sobą w interakcję przez:

  • Odczytywanie atrybutów i zdarzeń oraz subskrybowanie ich
  • Zapisywanie w atrybutach
  • Polecenia wywoływania

Gdy węzeł nawiązuje szyfrowaną sekwencję komunikacji z innym węzłem, tworzy relację interakcji. Interakcje mogą być składające się z co najmniej jednej transakcji, z której składają się: co najmniej jedno działanie, które jest nazywane wiadomością na poziomie czatu pomiędzy Węzły.

Hierarchia modelu interakcji
Rys. 1. Hierarchia modelu interakcji

W przypadku transakcji obsługiwanych jest kilka działań, np. działanie związane z żądaniem odczytu które żąda atrybutu lub zdarzenia z innego węzła bądź jego odpowiedzi, Działanie na danych w raportach, które przenosi informacje z serwera do klienta.

Inicjatory i cele

Węzeł, który inicjuje transakcję, jest Inicjatorem, a węzłem, który jest wartością Cel. Inicjatorem jest zwykle klaster klienta, Miejsce docelowe to klaster serwerów. Istnieją jednak wyjątki od tego wzorca, jak w przypadku interakcji z subskrypcjami, które omawiamy w dalszej części tej sekcji.

Grupy

Węzły w Matter mogą należeć do grupy. Grupa Urządzenia to mechanizm adresowania i wysyłania wiadomości do kilku Urządzeń tę samą Akcję. Wszystkie węzły w grupie współdzielą tę samą grupę ID: 16-bitowa liczba całkowita.

Aby przeprowadzić komunikację na poziomie grupy (Groupcast): Matter używa protokołu IPv6 Multicast wiadomości i wszyscy członkowie grupy mają ten sam atrybut Multicast adresu.

Ścieżki

Aby wejść w interakcję z atrybutem, zdarzeniem lub poleceniem, określ ścieżkę tej interakcji: lokalizację atrybutu, zdarzenia lub Command w hierarchii modelu danych węzła. Trzeba jednak pamiętać, że ścieżki mogą użyj też grup lub operatorów symboli wieloznacznych, by odnieść się do kilku węzłów lub klastrów jednocześnie, agregując te interakcje, a tym samym zmniejszając liczby działań.

Ten mechanizm przyspiesza reagowanie komunikacji. Dla: Na przykład: gdy użytkownik chce wyłączyć całe oświetlenie, asystent głosowy może prowadzić do jednej interakcji z kilkoma światłami w grupie zamiast poszczególne interakcje. Jeśli inicjator utworzy w interakcjach z każdym światłem, może to powodować dostrzegalne dla człowieka opóźnienie Reagowanie urządzenia. Powoduje to reakcję wielu urządzeń na z widocznymi opóźnieniami. Jest to często określane jako „efekt popcornu”.

Ścieżka w polu Matter można utworzyć przy użyciu jednej z tych opcji poniżej:

<path> = <node> <endpoint> <cluster> <attribute | event | command>
<path> = <group ID>        <cluster> <attribute | event | command>

A w tych elementach składowych ścieżki endpoint i cluster mogą też obejmować Operatory symboli wieloznacznych do wyboru więcej niż 1 instancji węzła.

Z limitem czasu i bez limitu czasu

Transakcję zapisu lub wywoływania można wykonać na dwa sposoby: Timed i Bez limitu czasu. Transakcje czasowe ustawiają maksymalny czas oczekiwania Działanie zapisu/wywołania do wysłania. Ten limit czasu ma uniemożliwić Przechwytywanie ataku w transakcji. Szczególnie dotyczy to urządzeń, które dostęp do zasobów takich jak zamki do otwierania i otwierania garażu.

Aby zrozumieć transakcje ograniczone czasowo, warto wiedzieć, jak przechwytują ataki i dlaczego transakcje zaplanowane są ważne.

Przechwycenie ataku

Atak przechwytujący ma następujący wzorzec:

  1. Alicja wysyła Robertowi wstępną wiadomość, na przykład żądanie zapisu.
  2. Eve, która jest osobą przechwytującą, przechwytuje wiadomość i uniemożliwia Bobowi jej otrzymanie, na przykład przez zakłócanie sygnału radiowego.
  3. Alicja nie otrzymuje odpowiedzi od Roberta, więc wysyła drugą wiadomość.
  4. Ewa ponownie przechwytuje i uniemożliwia Robertowi jej odebranie.
  5. Ewa wysyła do Roberta pierwszą przechwyconą wiadomość, jakby pochodziła z Alicja.
  6. Bob wysyła odpowiedź do Alice (i Eve).
  7. Ewa trzyma drugą przechwyconą wiadomość do późniejszego odtworzenia. Ponieważ Bob nigdy otrzyma pierwotnie przechwyconą drugą wiadomość od Alicji, zaakceptuje ona . Ta wiadomość stanowi naruszenie bezpieczeństwa, gdy wiadomość koduje na przykład „otwórz kłódkę”.

Aby zapobiec tego typu atakom, akcje ograniczone czasowo ustawiają maksymalną wartość transakcji mija limit czasu na początku transakcji. Nawet jeśli Ewa zrealizuje pierwszych 6 kroków wektora ataku, ponowne odtworzenie wiadomości nie jest możliwe. w kroku 7 z powodu przekroczenia limitu czasu transakcji.

Transakcje zaplanowane zwiększają złożoność i liczbę działań. Dlatego są nie jest zalecane w przypadku każdej transakcji, ale tylko kluczowe operacje na Urządzenia, które mają kontrolę nad fizycznymi lub wirtualnymi zasobami bezpieczeństwa i prywatności.

Abstrakcje pakietu SDK

w sekcjach Odczytywanie transakcji, zapisać transakcje, Wywołanie transakcji zawierają ogólny przegląd działań modelu interakcji wykonywanych przez SDK.

Deweloperzy tworzący produkt, który korzysta z pakietu SDK Matter, zazwyczaj nie wykonują wywołań do wykonywania działań bezpośrednio. Działania są abstrakcyjne dzięki funkcjom SDK, które otaczają je interakcją. Jednak zrozumienie działań w komunikatorze jest ważne, ponieważ dzięki temu inżynier znajomość i biegłość usługi Matter kontrolę nad implementacją pakietu SDK.