Protegendo a IoT da camada de rede à camada de aplicativo
A segurança na Internet das coisas (IoT) tornou-se um requisito crítico, com a recente legislação exigindo 'recursos de segurança razoáveis'. É muito claro que o custo de implementação da segurança dentro da IoT é necessário e supera em muito o custo de não fazê-lo .
A segurança é construída em camadas; a primeira camada que precisa ser protegida é a camada de hardware, a segunda é a camada de rede. Neste artigo, a camada de rede referenciada é a camada de rede Thread:uma rede IoT em malha de baixo custo e baixa energia.
No entanto, a rede é uma mistura de tecnologias IP sem fio e com fio, portanto, também há necessidade de segurança no nível do aplicativo. Isso vem da camada de aplicativo OCF; um domínio seguro onde todos os dispositivos e clientes podem conversar com segurança uns com os outros, digamos, Wouter van der Beek, arquiteto sênior de IoT, Cisco Systems e presidente do Grupo de Trabalho Técnico, Open Connectivity Foundation e Bruno Johnson, CEO da Cascoda , membro da Open Connectivity Foundation.
Segurança de hardware
O microcontrolador restrito requer recursos para protegê-lo de códigos maliciosos e espionagem baseada em hardware que comprometeria a segurança. O hardware seguro protege a sequência de inicialização do microcontrolador validando sua assinatura e protege a memória e o acesso periférico para isolar partes críticas do código. Isso só permite o acesso por meio de uma interface de programação de aplicativos (API) confiável e bem definida. Esses recursos minimizam a superfície de ataque dos dispositivos conectados, fornecendo uma base segura para a rede e o aplicativo.
Segurança de rede
A camada de rede precisa garantir que os dados enviados pelo ar não possam ser alterados e que os dispositivos que ingressam na rede sejam legítimos. Para proteger os dados pelo ar, o Thread usa uma chave de rede que emprega criptografia de chave simétrica conhecida como AES-CCM. O AES-CCM anexa um código de tag a cada mensagem e o criptografa usando essa chave de rede. Se o destinatário tiver a chave, ele pode decifrar, verificar a origem e verificar se a mensagem não foi corrompida em trânsito. Por último, a chave é alterada periodicamente com base na chave existente e em um contador de sequência específico, caso seja comprometida.
No entanto, quando um novo dispositivo precisa se conectar a uma rede, ele não conhece a chave de toda a rede e, portanto, precisa obtê-la. Este processo é conhecido como comissionamento. Obviamente, a chave não pode ser transmitida sem criptografia, pois pode ser interceptada por um invasor. Para superar esse problema, o comissionamento de Threads usa um processo conhecido como Password-Authenticated Key Exchange (PAKE), que faz parte do padrão Datagram Transport Layer Security (DTLS).
PAKE usa um segredo de baixa resistência em conjunto com criptografia assimétrica para gerar um segredo de alta resistência entre as duas partes. O segredo de alta resistência é usado para criptografar a comunicação da chave do comissário da Thread (por exemplo, smartphone conectado à rede Thread) para o dispositivo de adesão.
Segurança do aplicativo
Para garantir a segurança de ponta a ponta na camada de aplicativo, a OCF fornece soluções para transferir a propriedade do fabricante para o comprador ou de um comprador para o outro. A primeira etapa da integração é estabelecer a propriedade do dispositivo. Para isso, o OCF emite certificados e mantém um banco de dados para cada dispositivo certificado. Nesse estágio, o dispositivo é provisionado com essas credenciais para estabelecer conexões seguras mutuamente autenticadas com outros dispositivos no domínio seguro IoT, graças à infraestrutura de chave pública (PKI) OCF.
As instruções de provisionamento são fornecidas por meio de uma conexão segura, criptografada por DTLS. O processo começa com a transferência de propriedade do dispositivo e, em seguida, o provisionamento do dispositivo, seguindo um conjunto de transições de estado. Deve-se observar que o OCF leva em consideração que, durante seu ciclo de vida, um dispositivo pode mudar de propriedade. Conseqüentemente, o OCF requer que os dispositivos implementem uma reinicialização do hardware para retornar ao seu estado de inicialização.
Além desse processo de integração, os dispositivos OCF podem ser provisionados com vários níveis de segurança. OCF fornece uma abordagem em camadas:controle de acesso baseado em função e descrições de uso do fabricante. O primeiro aborda a segurança do dispositivo, enquanto o último adiciona uma camada adicional de proteção da rede.
Implementação usando hardware restrito
Implementar OCF-over-Thread em hardware restrito é um desafio devido ao espaço de código muito limitado, memória e poder de computação de microcontroladores de baixo custo. Como resultado, é necessário aproveitar a reutilização de código. A maior economia de código vem do compartilhamento da biblioteca de criptografia principal e mbedTLS, comum a ambas as pilhas. Isso é possível porque OCF e Thread são ambos construídos sobre DTLS.
A execução das primitivas de criptografia do núcleo para DTLS requer acesso a hardware dedicado para aceleração, que é muito mais eficiente em termos de tempo e energia do que o software puro. Essa aceleração de hardware reduz o tempo de comissionamento do Thread em várias ordens de magnitude - um aumento significativo de velocidade para a tarefa mais intensiva de computação pela qual o microcontrolador é responsável. Portanto, gerenciar o acesso à funcionalidade de criptografia de hardware para ambas as pilhas por meio da biblioteca mbedTLS é extremamente importante.
Tanto o OCF quanto o Thread Group executam projetos de código aberto para suas respectivas especificações. Essas implementações concretas eliminam a ambigüidade para os desenvolvedores e criam interoperabilidade.
As tecnologias que podem trabalhar juntas, desde o aplicativo até a camada de rede, formam a melhor plataforma de IoT segura da classe que pode ser implantada hoje.
Os autores são Wouter van der Beek, arquiteto sênior de IoT, presidente do Cisco Systems and Technical Working Group, Open Connectivity Foundation e Bruno Johnson, CEO da Cascoda, membro da Open Connectivity Foundation.
Tecnologia da Internet das Coisas
- Descompactando a IoT, uma série:O desafio da segurança e o que você pode fazer a respeito
- Protegendo a IoT industrial:a peça que faltava no quebra-cabeça
- O caminho para a segurança industrial da IoT
- Protegendo a IoT industrial:um guia para selecionar sua arquitetura
- Lidando com as vulnerabilidades de segurança da IoT industrial
- Protegendo a IoT por meio de engano
- De mãos dadas - Por que a IoT precisa de SD-WAN
- COVID-19:O que a segurança cibernética IoT da saúde aprendeu com a primeira onda
- Seis etapas para proteger sistemas embarcados na IoT
- A segurança potencializa o verdadeiro potencial da IoT