Passive Rendezvous
Passive Rendezvous difere de Active porque a fase de estabelecimento da conexão é iniciada antes da fase de identificação pelo provisionado.
Resumo
Além disso, o provisionador rejeita e descarta conexões iniciadas nas quais a Resposta de Identificação não contém uma Descrição de Dispositivo correspondente ao que era esperado.
Em um cenário de Rendezvous passivo, o dispositivo instalado já em um PAN 15.4 e tecido Weave (o "dispositivo existente") coloca o PAN no modo juntável e escuta passivamente as conexões TCP de entrada na porta Weave desprotegida. Enquanto o PAN pode ser juntado, um novo dispositivo (o "juntador") pode entrar em um modo provisório que direciona todo o seu tráfego para uma porta específica (neste caso, a porta Weave insegura) no host que tornou a rede juntável. Esse tráfego não é protegido na camada de enlace, pois, por definição, um dispositivo unido provisoriamente não tem uma cópia das chaves de criptografia do PAN. Quando a guia da bateria é puxada ou ativada pelo usuário de alguma outra maneira, o juntador verifica ativamente os PANs que podem ser juntados. Para cada PAN que pode ser juntado, o juntador se junta provisoriamente à rede e tenta executar a autenticação PASE com o dispositivo existente na porta Weave não segura. Quando o dispositivo joiner encontra o PAN correto, sua tentativa de autenticação PASE terá sucesso. Nesse ponto, o joiner e o dispositivo existente realizarão uma troca de chave segura no nível de Weave, após a qual eles poderão realizar o resto da interação de emparelhamento em um canal seguro.
Funções | |
---|---|
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 |
Funções
passiveRendezvousWithCompletion: failure:
virtual void passiveRendezvousWithCompletion:failure:( WDMCompletionBlock completionBlock, WDMFailureBlock failureBlock )
passiveRendezvousWithDeviceAccessToken: conclusão: falha:
virtual void passiveRendezvousWithDeviceAccessToken:completion:failure:( NSString *accessToken, WDMCompletionBlock completionBlock, WDMFailureBlock failureBlock )
passiveRendezvousWithDevicePairingCode: conclusão: falha:
virtual void passiveRendezvousWithDevicePairingCode:completion:failure:( NSString *pairingCode, WDMCompletionBlock completionBlock, WDMFailureBlock failureBlock )