Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial Internet of Things >> Integrado

Projetando com Bluetooth Mesh:Privacidade e segurança


Na Parte 1 e na Parte 2 desta série de artigos, discutimos a arquitetura Bluetooth Mesh e como as mensagens são comunicadas pela rede Bluetooth Mesh. No mundo conectado de hoje, a segurança é um elemento-chave em todo design. Portanto, é importante que um aplicativo IoT com Bluetooth Mesh seja absolutamente seguro e forneça funcionalidade confiável.

A implementação de segurança em um dispositivo Bluetooth Mesh é um requisito obrigatório do Bluetooth SIG e não pode ser desativado. Observe que, em uma conexão ponto a ponto BLE sem malha, a implementação de segurança é opcional. O processo de provisionamento pelo qual o dispositivo é adicionado à rede Bluetooth Mesh e a troca de dados dentro da rede Bluetooth Mesh é meticulosamente projetado com a segurança como prioridade máxima. O protocolo Bluetooth Mesh protege a rede contra várias ameaças possíveis em várias camadas, como:

A topologia Bluetooth Mesh é construída com o requisito de chaves de segurança obrigatórias que protegem a rede em várias camadas da pilha. Vamos examinar cada recurso de segurança e privacidade, um por um.

Provisionamento:Adicionar um dispositivo não provisionado à rede Bluetooth Mesh

Um dispositivo Bluetooth Mesh é adicionado a uma rede mesh usando o processo de provisionamento. O dispositivo de malha provisionado é chamado de nó, e o dispositivo que realiza o provisionamento é chamado de provisionador. Normalmente, um telefone móvel atua como o provisionador. Ele cria uma rede em malha, atribui uma chave de rede e outras chaves necessárias. Dispositivos mesh não provisionados são adicionados à rede Mesh Bluetooth usando o processo de provisionamento. O provisionador também configura nós de malha provisionados e controla a funcionalidade de nós de malha de Bluetooth na rede de malha.

O protocolo de provisionamento pode usar dois portadores de provisionamento diferentes:PB-ADV (portador ADV) ou PB-GATT (portador GATT). Os dispositivos móveis de hoje ainda não suportam o portador PB-ADV. Por este motivo, o processo de provisionamento é feito através do portador PB-GATT.

Um dispositivo mesh não provisionado começa a anunciar após ser ligado. O provisionador procura dispositivos não provisionados e estabelece uma conexão BLE padrão (assumindo PB-GATT) com o dispositivo não provisionado. Em seguida, ele compartilha as chaves usando o protocolo Elliptical Curve Diffie-Hellman (ECDH). Portanto, a troca de chaves usando ECDH é muito segura.

Ambos os dispositivos criam uma chave de sessão usando as chaves trocadas. A chave de sessão é usada para criptografar a chave de rede, a chave do dispositivo (os tipos de chave são discutidos nas próximas seções deste artigo), o índice IV e um endereço unicast, todos enviados ao nó Bluetooth Mesh provisionado. Após o provisionamento bem-sucedido, o nó de malha passa pelo processo de configuração em que a capacidade do nó de malha é compartilhada com o provisionador. O Provisioner atribui chaves de aplicativo ao nó configurado. Cada nó de malha pode ter várias chaves de aplicativo, portanto, cada chave de aplicativo deve ser vinculada a um modelo de malha específico usando o processo denominado vinculação de chave. Desta forma, a pilha de malha sabe quais chaves de aplicativo usar para um modelo de malha especificado.

A Figura 1 mostra a sequência de provisionamento quando um smartphone com aplicativo auxiliar de malha iOS tenta provisionar uma lâmpada regulável implementada usando o kit de avaliação CYBT-213043-MESH.

clique para ampliar a imagem

Figura 1:O processo de provisionamento para uma lâmpada regulável. (Fonte:Cypress)

Como pode ser visto na figura, a lâmpada dimerizável transmite balizas de dispositivos não provisionados. Quando o provisionador tenta adicionar um dispositivo, a lâmpada dimerizável aparece na lista de dispositivos não provisionados. Quando o usuário clica no dispositivo Dimmable Light no aplicativo iOS mesh, o processo de provisionamento é iniciado.

O telefone envia um convite de aprovisionamento e a lâmpada regulável responde com recursos como o número de elementos com suporte, algoritmos de segurança com suporte, disponibilidade de chave pública usando fora de banda (OOB) e capacidade de entrada / saída para entrar / exibir o valor do usuário. Com base nas capacidades da lâmpada regulável, as chaves públicas ECDH são trocadas usando um método OOB ou usando o link Bluetooth. Em seguida, a autenticação é realizada.

Assim que a Lâmpada Dimmable é autenticada, o Provisioner envia os dados de Provisioning pelo link criptografado AES-CCM. Uma vez que os dados de provisionamento (chave de rede, chave de dispositivo, índice IV, endereço Unicast, etc.) são enviados para a lâmpada dimerizável, o processo de provisionamento está concluído. O Provisionador agora pode configurar a Lâmpada Dimmable (não mostrada neste diagrama de sequência).

Chave de rede, chave de aplicativo e chave de dispositivo

A posse da chave de rede permite que um nó descriptografe e autentique até a camada de rede, o que torna possível retransmitir mensagens dentro de uma rede. As chaves de criptografia de rede e as chaves privadas são derivadas da chave de rede. É importante observar que, embora todos os nós na rede recebam e encaminhem mensagens de retransmissão em malha, os dados reais do aplicativo não podem ser descriptografados usando as chaves de rede. Os dados do aplicativo só podem ser descriptografados se o dispositivo possuir a chave de aplicativo apropriada.

Chave de rede :Um nó pode possuir uma ou mais chaves de rede. Isso permite a criação de várias sub-redes em uma única rede Bluetooth Mesh. Por exemplo, considere um sistema de estacionamento de vários níveis. Pode ser benéfico dividir cada nível em sua própria sub-rede. Esse particionamento evita a retransmissão de mensagens em todos os níveis e confina as mensagens retransmitidas ao nível desejado.

Chave de aplicativo :As chaves do aplicativo são compartilhadas entre um subconjunto de dispositivos em uma rede mesh. Geralmente, esses dispositivos têm funcionalidade semelhante. Por exemplo, todas as lâmpadas na sala de estar podem compartilhar a mesma chave de aplicativo, enquanto um sensor de movimento ou uma fechadura terá uma chave de aplicativo separada. A mensagem de malha para alterar o estado da lâmpada pode ser descriptografada apenas pelas lâmpadas na sala de estar (ou seja, esses são os únicos dispositivos que contêm a chave de aplicativo necessária).

Chave do dispositivo: As chaves de dispositivo são atribuídas a cada nó de malha provisionado pelo Provisionador. Isso permite a identificação exclusiva dos nós da malha. A chave do dispositivo é usada apenas durante o processo de configuração do nó pelo provisionador.

Remoção de nó (atualização de chave, lista negra)

É importante evitar que um hacker monte um ataque a uma rede mesh específica usando chaves de segurança obtidas de um nó mesh defeituoso ou descartado que fazia parte da rede mesh alvo. Esse tipo de ataque é comumente conhecido como ataque de lata de lixo. Para evitar esse tipo de ataque, o Bluetooth SIG definiu um procedimento de atualização de chave. Este procedimento pode ser iniciado pelo Provisionador para colocar um nó específico na Lista Negra. O procedimento de atualização de chave emite novas chaves de rede, chaves de aplicativo e todas as informações necessárias para todos os dispositivos na rede em malha, exceto para os dispositivos na lista negra. Quaisquer chaves do dispositivo na lista negra não podem mais ser usadas para acessar a rede mesh.

Privacidade (ofuscação de mensagem):

A privacidade é um aspecto importante para todos. A privacidade no Bluetooth Mesh é abordada usando a chave de privacidade. Conforme discutido anteriormente, a chave de privacidade é derivada da chave de rede. O Bluetooth Mesh usa essa chave de privacidade para ofuscar os valores do cabeçalho da mensagem, como o endereço de origem. Se o endereço de origem for ofuscado, isso impedirá que um invasor rastreie mensagens com base em seu endereço de origem.

Repetir ataques

Um invasor pode optar por interromper uma rede em malha capturando mensagens pelo ar e reenviando o mesmo pacote várias vezes. Imagine um invasor capturando mensagens para destravar a fechadura da porta. Se um invasor conseguir capturar mensagens pelo ar para destrancar a porta, isso fornecerá acesso à porta. Claramente, isso seria uma grande ameaça para as pessoas e suas propriedades. Para resolver esse problema, o Bluetooth SIG forneceu dois campos como parte de cada mensagem de rede:o índice do vetor de inicialização (índice IV) e o número de sequência (SEQ).

O número de sequência é incrementado sempre que um nó publica uma mensagem. os nós de malha descartarão as mensagens de malha com um número de sequência igual ou menor que a última mensagem de malha válida processada. Para alterar o número de sequência, um invasor deve possuir todas as chaves necessárias para decodificar e criptografar a mensagem. Essas chaves estão disponíveis apenas para o dispositivo pretendido. Portanto, mesmo se um invasor tentar responder a mensagem, ela será descartada pelo nó de destino. O índice IV é um campo separado na mensagem da rede mesh. O valor do índice IV nas mensagens deve ser igual ou maior que a última mensagem mesh válida processada, caso contrário a mensagem será descartada.

Resumindo, o processo de provisionamento no Bluetooth Mesh permite que apenas dispositivos confiáveis ​​sejam adicionados à rede e evita ataques de interceptação. As chaves de segurança, como a chave de rede, permitem a criação de sub-redes, enquanto as chaves de aplicativo permitem que as mensagens em malha sejam decodificadas apenas por um aplicativo específico. Os principais procedimentos de atualização implementam a remoção segura de nós e protegem contra ataques de lixeira. Os ataques de repetição são evitados adicionando um número de sequência a cada mensagem. A ofuscação de mensagem protege a identidade do remetente. Todos esses recursos tornam o Bluetooth Mesh muito seguro e privado.

Na próxima parte desta série de artigos, falaremos sobre os pontos a serem considerados ao selecionar um dispositivo Bluetooth Mesh para seu aplicativo.

Integrado

  1. Synopsys permite projetos de múltiplas matrizes com HBM3 IP e verificação
  2. Projetando com Bluetooth Mesh:Chip ou módulo?
  3. Cypress:MCUs Bluetooth fornecem rede mesh com conectividade onipresente de smartphone
  4. Future Electronics assina novo acordo de parceria global com Silvair
  5. Contrinex:sensores inteligentes prontos para a nuvem e cortinas de luz de segurança com interface Bluetooth
  6. Swissbit:soluções de segurança baseadas em hardware para proteger dados e dispositivos
  7. Bluetooth MCU aprimora a segurança da IoT
  8. Sistema de segurança residencial Raspberry Pi com câmera e sensor PIR
  9. Liderando com Persistência e Perseverança
  10. A segurança e a privacidade estão impedindo a IoT?