Pasywna regeneracja
Pasywna Rendezvous różni się od Aktywnego tym, że faza nawiązywania połączenia jest inicjowana przed fazą identyfikacji przez współpracownika.
Podsumowanie
Dodatkowo zasób udostępniający odrzuca i odrzuca zainicjowane połączenia, w których odpowiedź z identyfikatorem nie zawiera opisu urządzenia pasującego do oczekiwanego.
W scenariuszu pasywnym Rendezvous zainstalowane urządzenie już z zainstalowanym numerem PAN 15, 4 i tkaniną Weave („istniejące urządzenie”) ustawia numer PAN w trybie łączenia i nasłuchuje pasywnie przychodzących połączeń TCP na niezabezpieczonym porcie Weave. Podczas gdy można łączyć numer PAN, nowe urządzenie („łącz”) może dołączyć w trybie tymczasowym, który przekieruje cały ruch do określonego portu (w tym przypadku do niezabezpieczonego portu Weave) hosta, który umożliwił połączenie sieci. Ruch ten nie jest zabezpieczony w warstwie połączeń, ponieważ z definicji urządzenie połączone tymczasowo nie ma kopii kluczy szyfrowania PAN. Po wyciągnięciu zatrzasku baterii lub aktywowaniu go przez użytkownika w inny sposób partner szuka numerów PAN, które można połączyć. W przypadku każdego numeru PAN, który można połączyć, łączenie tymczasowo łączy się z siecią i próbuje przeprowadzić uwierzytelnianie PASE na dotychczasowym urządzeniu w niezabezpieczonym porcie Weave. Gdy urządzenie łączące znajdzie właściwy numer PAN, próba uwierzytelnienia PASE zakończy się powodzeniem. W tym momencie osoba łącząca i dotychczasowe urządzenie przeprowadza bezpieczną wymianę kluczy na poziomie Weave, a następnie może przeprowadzić pozostałą część interakcji w ramach parowania w bezpiecznym kanale.
Funkcje |
|
---|---|
passiveRendezvousWithCompletion:failure:(WDMCompletionBlock completionBlock, WDMFailureBlock failureBlock)
|
virtual void
|
passiveRendezvousWithDeviceAccessToken:completion:failure:(NSString *accessToken, WDMCompletionBlock completionBlock, WDMFailureBlock failureBlock)
|
virtual void
|
passiveRendezvousWithDevicePairingCode:completion:failure:(NSString *pairingCode, WDMCompletionBlock completionBlock, WDMFailureBlock failureBlock)
|
virtual void
|
Funkcje
optionalRendezvousWithComplete:niepowodzenie:
virtual void passiveRendezvousWithCompletion:failure:( WDMCompletionBlock completionBlock, WDMFailureBlock failureBlock )
passiveRendezvousWithDeviceAccessToken:completion:failure:
virtual void passiveRendezvousWithDeviceAccessToken:completion:failure:( NSString *accessToken, WDMCompletionBlock completionBlock, WDMFailureBlock failureBlock )
passiveRendezvousWithDevicePairingCode:completion:failure:
virtual void passiveRendezvousWithDevicePairingCode:completion:failure:( NSString *pairingCode, WDMCompletionBlock completionBlock, WDMFailureBlock failureBlock )