Tecnologia ZigBee RF4CE
3.5 PAN ZigBee RF4CE
3.5.3 Emparelhamento
Figura3.8:Diagramademensagenscorrespondenteaoenvioderespostadescoberta.
formaa`segundasolicitac¸˜ao,n ˜aoenviandoqualquerrespostadedescobertaaocomando.Atelevis ˜aoe aset-top-boxaoreceberemAsegundasolicitac¸˜ao,enviamumrepostadedescobertaparaocomando comassuasrespetivasinformac¸˜oes. Ocomandoaoreceberasrespostasdedescobertadatelevis ˜ao edaset-top-box,guardaasinformac¸˜oesnelascontidasparadepoisescolherodispositivoquedesejar seemparelhar.
cam. Isto permite `a camada NWK filtrar tramas recebidas de dispositivos que n ˜ao contam na tabela de emparelhamento do dispositivo, assim como remover a carga de enderec¸amento a partir da camada de aplicac¸ ˜ao que pode simplesmente fornecer um ´ındice na tabela de emparelhamento para se comunicar com outro dispositivo. Um dispositivo controller e um dispotivo target devem ser capazes de guardar pelo menos 1 e 5 (valores definidos pela especificac¸ ˜ao ZigBee RF4CE) emparelhamentos nas suas tabelas de emparelhamento, respetivamente. Cada entrada na tabela de emparelhamento (espac¸o de mem ´oria n ˜ao vol ´atil), ordenada de acordo com a refer ˆencia de emparelhamento, cont ´em as seguintes informac¸ ˜oes:
• Enderec¸o de rede da origem: se a origem for um dispositivo target, este enderec¸o refere ao enderec¸o de rede curto de 16bitsque este assume quando inicia a sua PAN. Se for um dispositivo controller, este ´e o enderec¸o de rede curto de 16bitsque recebe do dispositivotarget por meio de uma resposta a sua solicitac¸ ˜ao de emparelhamento com sucesso.
• Canal do destino: canal de operac¸ ˜ao utilizado pelo dispositivo de destino. Este campo ´e atualizado quando o dispositivo de destino mudar do canal de operac¸ ˜ao.
• Enderec¸o IEEE do destino: o enderec¸o IEEE de 64bitsdo dispositivo de destino.
• Identificador da PAN do destino: identificador da PAN do dispositivo de destino.
• Enderec¸o de rede do destino: enderec¸o de rede curto de 16bitsdo dispositivo de destino.
• Capacidade do dispositivo: a capacidade do dispositivo obtido na resposta de emparelhamento.
• Frame Counter: o valor doframe counter ´e inicialmente 0x00000000.
• Chave de seguranc¸a: chave de emparelhamento gerado quando necess ´ario.
A aplicac¸ ˜ao do dispositivocontroller ap ´os descobrir dispositivostarget na rede com servic¸os com- pat´ıveis aos seus, escolhe um dispositivotargetno qual deseja se comunicar, envia-lhe uma solicitac¸ ˜ao de emparelhamento e fica a espera de receber uma resposta de emparelhamento durante um per´ıodo de 100 ms (valor definido por defeito pela especificac¸ ˜ao Zigbee RF4CE). A solicitac¸ ˜ao de emparelha- mento cont ´em as informac¸ ˜oes do dispositivocontroller (similares `as contidas na solicitac¸ ˜ao de desco- berta) e ´e enviada por unicat especificamente para o dispositivotarget em quest ˜ao. A camada NKW do dispositivotargetao receber a solicitac¸ ˜ao de emparelhamento, verifica primeiro se na sua tabela de emparelhamento j ´a existe uma entrada com informac¸ ˜oes referente ao dispositivo solicitante. Se existir, a refer ˆencia de emparelhamento referente ao emparelhamento existente ´e mantida e as informac¸ ˜oes referentes a essa entrada na tabela de emparelhamento ´e atualizada ao inv ´es de se criar uma nova entrada na tabela. Se n ˜ao existir, verifica de seguida se tem capacidade para armazenar uma nova en- trada na sua tabela de emparelhamento, e caso isto se verificar, `a camada de aplicac¸ ˜ao do dispositivo target ´e notificada da recec¸ ˜ao da solicitac¸ ˜ao de emparelhamento, informando a refer ˆencia de empa- relhamento, que neste caso, ser ´a igual a pr ´oxima entrada livre na sua tabela de emparelhamento. A camada de aplicac¸ ˜ao tem o livre controlo de decidir se responde ou n ˜ao `a solicitac¸ ˜ao. Se o dispositivo
target receber mais do que uma solicitac¸ ˜ao de emparelhamento ao mesmo tempo, ´e gerado uma falha ao n´ıvel da camada NWK, resultando no t ´ermino do mecanismo de emparelhamento. Isto permite evitar situac¸ ˜oes em que, por exemplo, voc ˆe se encontra a emparelhar a seu comando com a sua televis ˜ao e um vizinho tenta se emparelhar ao mesmo tempo com a sua televis ˜ao dentro da sua casa afim de poder controlar a sua televis ˜ao. Nesta situac¸ ˜ao, os mecanismo de emparelhamento em ambos os casos resultam em falha e nenhum dos emparelhamentos s ˜ao efetivados, evitando assim emparelhamentos indesejados. Caso n ˜ao ocorrer qualquer falha e a solicitac¸ ˜ao for aceite pela aplicac¸ ˜ao do dispositivo target, este envia uma resposta de emparelhamento contendo as suas informac¸ ˜oes assim como a re- fer ˆencia do emparelhamento e ambos os dispositivos guardam ou atualizam as informac¸ ˜oes trocadas durante o mecanismo de emparelhamento na entrada referente `a refer ˆencia de emparelhamento, nas suas respetivas tabelas de emparelhamento.
Um dispositivo, se desejar, pode remover todos os emparelhamentos existentes na sua tabela de emparelhamento, executando uma inicializac¸ ˜ao cold. Neste caso, o dispositivo desemparelha-se com todos os dispositivos, nos quais se encontrava emparelhado anteriormente. Entretanto, um dispositivo pode ainda desejar desemparelhar-se com apenas um dos dispositivos nos quais se emparelhando. Tal procedimento ´e suportado pela especificac¸ ˜ao ZigBee RF4CE, o qual especifica um mecanismo de de- semparelhamento que permite um dispositivo remover apenas uma entrada de emparelhamento na sua tabela de emparelhamento. Neste, um dispositivo de origem (o dispositivo que pretende efetuar o de- semparelhamento) envia uma solicitac¸ ˜ao de desemparelhamento para um dispositivo de destino no qual pretende se desemparelhar, contendo a refer ˆencia do emparelhamento entre os dois dispositivos. O dispositivo de destino quando recebe a solicitac¸ ˜ao, verifica, com base na refer ˆencia de emparelhamento recebida, se existe a entrada referente a esse emparelhamento na sua tabela de emparelhamento. Se a entrada n ˜ao existir, ´e gerado um falha ao n´ıvel da camada NWK que a notifica `a camada de aplicac¸ ˜ao.
O mecanismo de desemparelhamento termina e nenhum procedimento adicional ´e efetuado. Caso a entrada existir e a solicitac¸ ˜ao for aceite pelo dispositivo de destino, este envia uma resposta de de- semparelhamento e ambos os dispositivos eliminam o emparelhamento nas suas respetivas tabelas de emparelhamento alterando a refer ˆencia de emparelhamento para um valor inv ´alido igual a 0xff.
Dispositivos que utilizam os recursos de seguranc¸a (os quais, tal como mencionado anteriormente, s ˜ao opcionais), executam procedimentos adicionais ap ´os o estabelecimento de um emparelhamento.
O dispositivo target gera automaticamente uma chave de seguranc¸a de 128 bits que ´e unicamente partilhada (de forma protegida atrav ´es do mecanismo de encriptac¸ ˜ao) com o dispositivo o qual se em- parelhou. Esta chave ´e guardada na tabela de emparelhamento de ambos os dispositivos e utilizada durante a comunicac¸ ˜ao entre esses dispositivos. O dispositivotargetaceita apenas tramas (correspon- dente a um comando, por exemplo) com a chave de seguranc¸a igual `a chave de seguranc¸a por ela gerada, proporcionando assim uma comunicac¸ ˜ao segura.