Rendezvous passivo
Passive Rendezvous differisce da Active perché la fase di creazione della connessione viene avviata prima della fase di identificazione da parte del provisioning.
Riepilogo
Inoltre, il provisioner rifiuta e ignora le connessioni avviate in cui la risposta di identificazione non contiene una descrizione del dispositivo corrispondente a quella prevista.
In uno scenario Passive Rendezvous, il dispositivo installato già su un fabric PAN e Weave da 15,4 (il "dispositivo esistente") mette il PAN in modalità unibile e ascolta passivamente le connessioni TCP in entrata sulla porta Weave non protetta. Anche se è possibile unire il PAN, un nuovo dispositivo (il "joiner") può collegarsi in una modalità provvisoria che indirizza tutto il traffico a una porta specifica (in questo caso, la porta Weave non protetta) sull'host che ha reso la rete unibile. Questo traffico non è protetto a livello di link, poiché per definizione un dispositivo unito temporaneamente non dispone di una copia delle chiavi di crittografia PAN. Quando la linguetta della batteria viene estratta o viene attivata dall'utente in qualche altro modo, il falegname ricerca attivamente i PAN unibili. Per ogni PAN unibile, il joiner si collega provvisoriamente alla rete e tenta di eseguire l'autenticazione PASE con il dispositivo esistente sulla porta Weave non sicura. Quando il dispositivo falegname trova il PAN corretto, il tentativo di autenticazione PASE avrà esito positivo. A questo punto, il joiner e il dispositivo esistente eseguiranno uno scambio di chiavi sicuro a livello di Weave, dopodiché potranno eseguire il resto dell'interazione di accoppiamento su un canale protetto.
Funzioni |
|
---|---|
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
|
Funzioni
passiveRendezvousWithcomplete:failure:
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 )