Escolar Documentos
Profissional Documentos
Cultura Documentos
EXÉRCITO BRASILEIRO
DEPARTAMENTO DE CIÊNCIA E TECNOLOGIA
INSTITUTO MILITAR DE ENGENHARIA
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DE TRANSPORTES
RIO DE JANEIRO
2021
RICARDO DE AZEVEDO BRANDÃO
Rio de Janeiro
2021
©2021
INSTITUTO MILITAR DE ENGENHARIA
Praça General Tibúrcio, 80 – Praia Vermelha
Rio de Janeiro – RJ CEP: 22290-270
Este exemplar é de propriedade do Instituto Militar de Engenharia, que poderá incluí-lo em base
de dados, armazenar em computador, microfilmar ou adotar qualquer forma de arquivamento.
É permitida a menção, reprodução parcial ou integral e a transmissão entre bibliotecas deste
trabalho, sem modificação de seu texto, em qualquer meio que esteja ou venha a ser fixado,
para pesquisa acadêmica, comentários e citações, desde que sem finalidade comercial e que
seja feita a referência bibliográfica completa.
Os conceitos expressos neste trabalho são de responsabilidade do autor e do orientador.
Rio de Janeiro
2021
Este trabalho é dedicado à minha esposa e aos meus filhos.
AGRADECIMENTOS
A minha esposa e filhos, pelo incentivo e apoio durante toda essa jornada.
Ao meu Orientador Ricardo Choren, por seu apoio, disponibilidade e atenção.
Ao Instituto Militar de Engenharia, na figura de seus professores, funcionários e
alunos.
E a todas as pessoas que direta ou indiretamente apoiaram esse projeto.
“Qualquer idéia poderosa é absolutamente
fascinante e absolutamente inútil
até decidirmos usá-la.”
Richard Bach
RESUMO
Industrial Control Systems (ICSs) became popular with the advent of the first automated
controls in the late 1960s. Its use and complexity increased with the evolution of electronics
and the emergence of computerized automated equipment. The need to control and
monitor these systems have emerged, even for those in different geographic locations.
SCADA (Supervisory Control and Data Acquisition) systems were created to meet this
need, considered to be the highest subgroup of ICSs. However, not all ICS devices have
access to communication services or, in some cases, only have intermittent access to the
ICS network. Thus, communication between offline devices and the network, maintaining
authenticity and integrity of messages is a problem addressed poorly by the literature.
Within this context, the work presented here proposes a distributed and decentralized
communication protocol for ICS networks that enable the message exchange between the
network and offline devices; providing them with authentication and integrity services. The
main features of the protocol are: decentralized message propagation, authentication, and
integrity services using lightweight cryptographic algorithms; and a distributed database.
The connection between devices uses mutual authentication, independent of a centralized
service. The message propagation is performed by P2P connection, enabling asynchronous
communication between the offline devices and the remainder of the network. A prototype
was developed to validate the hypotheses presented. Experiments were made to test the
protocol functionalities considering a network with offline devices and a simulation in
which a device fully recovers its already propagated data, deleted by a supposed problem
in the storage system. MitM (man-in-the-middle) attacks were simulated to test the
authentication and integrity services of the protocol. The positive results of the tests
and simulations, shows the proposed solution has reached its goal: propose a distributed
and decentralized communication protocol for ICSs IIoT ((Industrial Internet of Things))
networks that allow the exchange of messages between the network and offline devices,
providing authentication and integrity services.
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2 DEFINIÇÃO DO PROBLEMA . . . .
. . . . . . . . . . . . . . . . . 23
2.1 HISTÓRICO . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 23
2.1.1 ARQUITETURA . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 23
2.1.2 PROTOCOLOS . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 27
2.2 O PROBLEMA . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 31
2.3 OBJETIVO GERAL . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 32
2.3.1 OBJETIVOS ESPECÍFICOS . . . . . . . .
. . . . . . . . . . . . . . . . . . 33
2.3.2 REQUISITOS DO MECANISMO PROPOSTO . . . . . . . . . . . . . . . . . 33
3 TRABALHOS RELACIONADOS . . . . . . . . . . . . . . . . . . . . 34
3.1 SEGURANÇA EM ICSS IIOT . . . . . . . . . . . . . . . . . . . . . . . . 34
3.1.1 BLOCKCHAIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2 VISHWAKARMA E DAS . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3 ALI ET AL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4 FERRETTI, MARCHETTI E COLAJANNI . . . . . . . . . . . . . . . . . . 38
3.5 KIM ET AL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.6 AMANLOU E BAKAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.7 RAHMAN ET AL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.8 BRUNO E BOLETTIERI . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.9 YANG ET AL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.10 OSCAR NOVO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.11 CONSIDERAÇÕES SOBRE OS TRABALHOS RELACIONADOS . . . . . . 44
4 PROPOSTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.1 FUNDAMENTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2 UM CENÁRIO ILUSTRATIVO . . . . . . . . . . . . . . . . . . . . . . . . 46
4.3 O PROTOCOLO PROPOSTO . . . . . . . . . . . . . . . . . . . . . . . . 47
5 AVALIAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.1 CENÁRIO DOS EXPERIMENTOS . . . . . . . . . . . . . . . . . . . . . . 64
5.2 TESTES DE FUNCIONAMENTO . . . . . . . . . . . . . . . . . . . . . . 67
5.2.1 TESTE DE PROPAGAÇÃO DE MENSAGENS . . . . . . . . . . . . . . . . . 67
5.2.2 TESTE DE RECUPERAÇÃO DO BANCO DE DADOS . . . . . . . . . . . . . 69
5.2.3 TESTE COM DISPOSITIVOS IOT . . . . . . . . . . . . . . . . . . . . . . . 70
5.3 SIMULAÇÃO DE ATAQUES . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.3.1 ATAQUE DE FABRICAÇÃO – SPOOFING . . . . . . . . . . . . . . . . . . . 75
5.3.2 ATAQUE EAVESDROPPING . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.3.3 ATAQUE DE MODIFICAÇÃO – ALTERAÇÃO E EXCLUSÃO . . . . . . . . . . 78
5.3.4 ATAQUE DE MODIFICAÇÃO – EXCLUSÃO DE MENSAGENS PÓS SINCRONI-
ZAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.4 DISCUSSÕES SOBRE A SOLUÇÃO PROPOSTA . . . . . . . . . . . . . . 83
6 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.1 CONTRIBUIÇÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.2 TRABALHOS FUTUROS . . . . . . . . . . . . . . . . . . . . . . . . . . 86
REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
15
1 INTRODUÇÃO
cessos aos ICSs, criando redes cada vez mais complexas. Adicionalmente, a evolução dos
dispositivos tem permitido uma maior comunicação entre eles, aumentando a comunicação
horizontal (18). Nesses casos podemos considerar que algumas funções executadas pelos
níveis 1 e 2 da Figura 3 estão descentralizadas, sendo executadas pelos dispositivos de
campo, como ocorre por exemplo nas implementações que utilizam Arquitetura de Névoa
ou de Borda (Fog Computing ou Edge Computing). Dada a complexidade desse novo
cenário, com o objetivo de reduzir despesas operacionais, facilitar a acessibilidade e contar
com maior automação e supervisão, os ICSs passaram a utilizar infraestruturas de redes
públicas, como a Internet (15, 17).
Nesse sentido, os ICSs entraram em uma nova era, chamada de Internet das Coisas
(IoT), na qual a Internet é a tecnologia que permite o acesso de dispositivos a uma rede (19).
O uso de IoT no ambiente industrial – também conhecido como IIoT – está promovendo a
evolução dos ICSs, desempenhando um papel importante em suas conexões ao ciberespaço,
melhorando a eficiência operacional e aumentando o rendimento da produção (20). A
diferença entre um ICS tradicional e esse novo ICS IIoT está na conectividade com
outros sistemas e usuários, fomentando o emprego de sensores e atuadores em ambientes
industriais, além de aumentar sua diversidade e escala (21).
Embora um ICS IIoT use a Internet, nem sempre é possível supor que os diversos
dispositivos estejam, a todo momento, conectados à rede (22). Existem diversos motivos
pelos quais um dispositivo em um ICS IIoT fica offline, como (23): economia de energia,
circunstâncias externas (ex. problemas de conexão de redes wireless) e mobilidade. Apesar
de atualmente a cobertura por internet alcançar a marca de 90 por cento da população
mundial (24), áreas rurais ainda possuem deficiências não só na cobertura de telecomu-
nicações, como também deficiências no suprimento de energia elétrica (25, 24). Dessa
forma, sistemas de controle em localizações remotas sem cobertura de redes móveis, ou
Capítulo 1. Introdução 19
dos sistemas ICSs IIoT, citando que o aumento desse tipo de eventos tem imposto um
grande desafio aos profissionais responsáveis pela segurança desses sistemas para adaptá-los
à nova realidade a que foram expostos. A maioria desses ataques atua comprometendo
os processos de tomada de decisão, sejam essas decisões executadas por operadores ou
sistemas automáticos (28). Como exemplo, pode-se citar o trabalho de Lin, Wu e Lee(29)
que lista mais de 200 ataques em sistemas de infraestrutura crítica a cada ano, destacando
um caso na Alemanha no qual um forno utilizado em uma usina de aço foi destruído por
um ataque cibernético.
Com relação às ICSs, a Figura 5 apresenta os diversos cenários de ataque a uma
ICS IIoT. As linhas pretas sólidas indicam o fluxo normal de dados, sem ataque. As linhas
vermelhas sólidas indicam o caminho do ataque. As linhas vermelhas tracejadas indicam
que o ataque pode comprometer as informações posteriores.
O ataque de Interrupção ocorre quando o atacante consegue fazer com que o sistema
ou parte dele fique indisponível, seja por exaustão dos recursos, como no ataque DoS
- (Denial of Service), ou por destruição física. Assim, um ativo é destruído ou torna-se
indisponível, sendo um ataque contra disponibilidade. O ataque de Interceptação ocorre
quando o atacante consegue a informação desviando o fluxo da informação. Logo, um
ativo é acessado por uma parte não autorizada (pessoa, programa, etc), sendo um ataque
contra a confidencialidade.
O ataque de Fabricação ocorre quando o atacante consegue reproduzir mensagens
enviadas entre dois endereços de uma rede (30), em outras palavras, o atacante gera um
dado falso e o injeta no sistema, sem que emissor tenha realizado nenhuma ação. Este
é um ataque contra a autenticidade. Por fim, o ataque de Modificação ocorre quando a
informação é interceptada e modificada pelo atacante durante o trânsito entre o emissor e
o receptor (31), sendo um ataque contra a integridade.
O escopo deste trabalho está voltado para o tratamento de integridade e autentici-
Capítulo 1. Introdução 21
dade em ICSs IIoT. Desta maneira, ele está focado nos ataques de Fabricação e Modificação.
Um dos mais elementares ataques de Fabricação é o spoofing ou masquerade (32). Neste
ataque, o objetivo é conseguir controle total sobre o dispositivo alvo (31). Uma vez que
tenha conseguido obter o controle, faz uma análise do ambiente e começa a se comportar
como um dispositivo autorizado. Usando, por exemplo, um IP válido para a rede, uma
técnica conhecida como IP spoofing (33). Já um dos principais ataques de Modificação é o
replay attack (ataque por repetição) (34), no qual o atacante busca violar a integridade do
sistema ao reproduzir mensagens enviadas entre dois endereços de uma rede (30, 32). O
atacante monitora a comunicação entre o Endereço 1 e Endereço 2, coletando as mensagens
enviadas e passado um tempo determinado as mensagens coletadas são enviadas novamente
para o Endereço 2 conforme exemplificado na Figura 6. O principal objetivo deste ataque
é atrapalhar o fluxo de comunicação entre emissor e receptor levando aos sistemas de
controle tomarem decisões errôneas baseados nas informações duplicadas enviadas pelo
atacante.
2 DEFINIÇÃO DO PROBLEMA
2.1 Histórico
Em um cenário de ICS IIoT com dispositivos offline, uma solução ingênua para
estabelecer a comunicação com esses dispositivos é usar outros dispositivos móveis para
transportar as mensagens até que consigam conectar-se à rede e propagá-las até o destino
final, conforme ilustrado na Figura 4. Para tanto, existem algumas tecnologias (arquiteturas
e protocolos) que visam fazer esse transporte.
2.1.1 Arquitetura
As arquiteturas que se destacam como as adequadas para a comunicação de
dispositivos offline são a DTN (Delay-Tolerant Network), Mesh e Fog Computing. Embora
as estruturas de arquitetura apresentadas a seguir não definam, por si só, os serviços de
autenticidade e integridade, suas características baseadas na descentralização permitem
implementar esses serviços para dispositivos offline. Assim, o projeto de uma arquitetura
descentralizada é uma etapa importante no desenvolvimento da troca de mensagens neste
contexto.
A arquitetura que utiliza a comunicação ponto a ponto (P2P - Peer-to-Peer )
intuitivamente permite a participação de dispositivos offline. De acordo com (39):
Pura: “se for primeiramente uma rede ponto a ponto de acordo com a Definição
1 e, em segundo lugar, se houver um único terminal escolhido arbitrariamente,
a entidade pode ser removida da rede sem que a rede sofra qualquer perda de
serviço de rede”
Híbrida: “se for em primeiro lugar uma rede ponto a ponto de acordo com a
Definição 1 e em segundo lugar uma entidade central é necessária para fornecer
parte dos serviços de rede oferecidos”.
funcionalidades: (i) Arquitetura Mesh de Infraestrutura, na qual roteadores sem fio atuam
como uma espinha dorsal (back bone) para a estrutura de comunicação. Neste caso, os
clientes conectam-se a esses roteadores passivamente através de interfaces Ethernet. A
próxima claasificação é a (ii) Arquitetura Mesh baseada em Clientes, na qual os próprios
clientes atuam também como roteadores e a (iii) Arquitetura Mesh híbrida, na qual a
estrutura de back bone é composta tanto por roteadores como pelos clientes. A Figura 9
apresenta um exemplo de uma arquitetura Mesh híbrida.
Para atender os requisitos dos projetos de Internet das Coisas, como escalabilidade,
privacidade, largura de banda, consumo de energia, eficiência no roteamento de rede e
comunicação sensível a atrasos, que já não estavam sendo atendidos convenientemente pela
arquitetura em nuvem, surgiram os conceitos de computação em névoa (Fog Computing) e
em Borda (Edge Computing). Tecnologias baseadas na descentralização e distribuição de
serviços que eram providos de forma centralizada pela computação em núvem (45). Nessas
arquiteturas um grande número de dispositivos heterogêneos, ubíquos e descentralizados
se comunicam e realizam tarefas sem a intervenção de terceiros (46). Um exemplo de
arquitetura Fog Computing está representada na Figura 11.
2.1.2 Protocolos
Dois protocolos têm posição de destaque no ambiente de comunicação entre dispo-
sitivos IoT: o MQTT (Message Queuing Telemetry Transport) e o CoAP (Constrained
Capítulo 2. Definição do Problema 28
O CoAP adequa-se bem em situações nas quais muitos clientes precisam acessar o
mesmo recurso simultaneamente, criando problemas de escalabilidade e eficiência, como
perdas de mensagens devido a congestionamento de rede, memória restrita ou atrasos
Capítulo 2. Definição do Problema 30
2.2 O Problema
O problema principal estudado nesta tese é o da manutenção da autenticidade
e da integridade durante a propagação do fluxo de dados (mensagem entre dispositivos
e a rede) envolvendo dispositivos offline em ICSs IIoT. Conforme se expõe a seguir,
vários autores consideram a autenticidade e a integridade como problemas importantes
na área de segurança de ICSs IIoT (sistemas com dispositivos distribuídos em geral),
mas não abordam a questão de dispositivos offline, sendo este um problema ainda não
adequadamente resolvido na área.
Reinfurt et al.(55) apresentam cinco padrões de IoT para resolver problemas
semelhantes encontrados em diferentes setores que usam a tecnologia de IoT. Os autores
identificaram os padrões coletando e revisando informações de produtos e tecnologias,
usando várias fontes como: páginas de produtos, manuais do usuário, documentação técnica,
documentos padrão, com jornais e artigos de pesquisa. O padrão de sombra do dispositivo
explica como interagir com dispositivos offline. O contexto deste padrão é definido por
dispositivos que, devido ao seu modo de operação ou circunstâncias externas, devem
estar frequentemente offline. O padrão de bloqueio e apagamento remoto é outro padrão
relacionado ao uso de dispositivos offline. Esse padrão deve ser considerado no contexto
de dispositivos que podem ser perdidos ou roubados por estarem em locais públicos ou
remotos. Assim, sempre que um dispositivo que permaneceu offline se conectar à rede,
seja por meio de outro dispositivo ou diretamente a um servidor, o dispositivo deve estar
sujeito a serviços de autenticação e integridade para verificar se, durante o período em
que esteve offline, não houve roubo ou violação de dados de dados. Porém o trabalho
não aborda de forma detalhada a forma com que os padrões lidam com as questões de
segurança.
Em sua pesquisa, Al-Fuqaha et al.(56) apresenta uma visão geral da Internet das
Coisas com ênfase em tecnologias habilitadoras, protocolos e problemas de aplicativos.
embora os autores não abordem diretamente os protocolos usados para dispositivos offline,
apresentam uma visão geral das arquiteturas, protocolos e padrões atuais da indústria
de IoT, abordando diferentes aspectos da implementação dos serviços de autenticação e
integridade usados nos protocolos e arquiteturas apresentadas.
Uma análise aprofundada do uso de protocolos nos vários ambientes de IoT,
destacando os desafios, pontos fortes e fracos desses protocolos de troca de mensagens,
é o foco do trabalho apresentado por Al-Masri et al.(51). No entanto, em relação à
comunicação offline, os autores mencionam apenas uma vulnerabilidade no protocolo
MQTT2 , relacionada com a desabilitação da codificação Unicode, e a possibilidade de
clientes buscarem dados offline no protocolo AMQP3 . Em sua comparação, eles analisam
2
Message Queuing Telemetry Transport
3
Advanced Message Queuing Protocol
Capítulo 2. Definição do Problema 32
os protocolos HTTP, CoAP, MQTT, AMQP, DDS e XMPP em vários aspectos, incluindo
recursos de segurança, mapeando possíveis fontes de vulnerabilidades para práticas de
segurança comuns, incluindo a Tríade CIA (confidentiality, integrity and availability) (37).
Porém, não apresentam soluções de contorno para as vulnerabilidades apontadas.
Nguyen, Laurent e Oualha(57) apresentam uma discussão sobre a aplicabilidade
e limitações dos protocolos de segurança usados em redes de sensores sem fio, que são
potencialmente adequados no contexto da IoT. A análise é baseada no mecanismo de
distribuição de chaves. Embora o trabalho não aborde a comunicação com dispositivos
offline, a análise dos vários métodos de distribuição de chaves permite uma compreensão
das questões de segurança, incluindo autenticidade e integridade, que podem ser aplicadas
em comunicações com dispositivos offline.
Os trabalhos apresentados por Kavianpour et al.(58) e Marino, Moiso e Petracca(59)
discutem profundamente a questão da autenticação mútua, que tem um papel destacado
na questão da segurança nas trocas de informações entre dispositivos IoT, protegendo
o perímetro da rede. Marino, Moiso e Petracca(59) abordam o monitoramento offline e
problemas de comunicação, analisando a evolução das arquiteturas IoT, que deixaram
aplicações estáticas, fechadas e com integração vertical entre os dispositivos. No contexto
do monitoramento de transações que ocorrem nessa integração, os autores abordam a
questão dos dispositivos offline. Apontam a necessidade de que todas as interações que
ocorram durante o monitoramento offline sejam seguramente registradas e armazenadas
para exames futuros, preservando sua autenticidade e integridade, porém não apresentam
propostas de implementação que atendam a essa necessidade.
coletadas dos dispositivos offline para os outros participantes da mesma rede, (ii) e (iii)
verificar a autenticidade e integridade das mensagens propagadas.
• Ser capaz de comunicar-se com outro dispositivo sem a necessidade de uma entidade
central.
34
3 TRABALHOS RELACIONADOS
Este capítulo tem por objetivo apresentar uma revisão da literatura sobre trabalhos ligados
a troca de mensagens entre a rede e dispositivos offline em uma ICS. Como já citado
no levantamento do problema no Capítulo 2 poucos trabalhos abordam diretamente o
problema da garantia da autenticidade e integridade das mensagens propagadas entre a
rede e dispositivos que estejam permanente ou momentaneamente sem conexão.
3.1.1 Blockchain
Algumas linhas de pesquisa na literatura têm apontado a tecnologia Blockchain
como uma solução viável para tratar as questões de segurança listadas acima. Devido
principalmente às suas características da descentralização, segurança e auditibilidade da
tecnologia (66). Blockchain é um banco de dados distribuído, descentralizado, comparti-
lhado, imutável e auditável (67), que suporta uma plataforma para execução de transações
anônimas e seguras, utilizando uma rede descentralizada de computadores e dispositivos
(68).
Como o próprio nome sugere, blockchain é uma cadeia de blocos, no qual cada um
dos blocos é identificado pelo seu hash 1 e faz referência ao hash do bloco anterior, criando
assim uma sequência encadeada de blocos (70). Uma visão simplificada do blockchain está
apresentada na Figura 14.
O encadeamento dos blocos através do código hash é um dos fatores que contribuem
para a imutabilidade do blockchain, pois caso algumas das transações de blocos anteriores
seja alterada, o hash do bloco também será alterado, que por sua vez fará com que todos
os blocos subsequentes tenham seus códigos hash alterados.
A tecnologia blockchain possibilita redes onde as transações P2P podem ser realiza-
das sem a necessidade de uma entidade intermediária e centralizadora para estabelecer a
confiança (67), que no caso é garantida pelo uso de técnicas de criptografia, sua principal
característica.
A cadeia de blocos é distribuída para todos os participantes da rede, e para garantir
que todas as cópias sejam idênticas, é necessário um mecanismo automático no qual os nós
concordem com as transações e a ordem em que são registrados na cadeia. Caso contrário,
as cópias individuais do blockchain vão divergir afetando a integridade da rede. A esse
mecanismo é dado o nome de consenso (67).
Desde o lançamento da tecnologia blockchain em 2008, pesquisadores têm proposto
seu uso em redes IoT devido às suas características: ambiente verdadeiramente descentra-
lizado, confiável e seguro. A tecnologia blockchain utiliza os mecanismos dos protocolos
1
Resultado de uma função hash, que tem como objetivo extrair uma cadeia de caracteres de tamanho
fixo de uma mensagem com tamanho variável. Utilizado como um código único da mensagem (69).
Capítulo 3. Trabalhos Relacionados 36
gossip, que foram projetados para redes P2P em sistemas distribuídos e imitam a propaga-
ção de doenças epidêmicas (71). Embora os protocolos gossip tenham sido estudados por
mais de quarenta anos (72), eles ganharam popularidade com seu uso na tecnologia de
blockchain, devido à sua resiliência.
No entanto, o uso da tecnologia blockchain em dispositivos restritos enfrenta alguns
obstáculos: o banco de dados distribuído requer recursos extensos dos nós e também requer
um tempo substancial para validar e sincronizar as transações (73), o aumento do uso da
rede blockchain implica no aumento dificuldade das funções de criptografia, o que resulta
em tempos de transação elevados e consumo de energia elétrica muito alto (68). A troca
de dados em aplicativos de blockchain tradicionais é realizada através de transações de
token (criptomoedas) e a maioria dos sistemas de blockchain têm taxas de transação que
são usadas para gerar recompensas de bloco como incentivos, para manter a rede viva, de
acordo com Florea(68) esta é a principal desvantagem de uso de blockchain em redes IoT.
Como forma de contornar os problemas na adoção das implementações de blockchain
existentes por redes de IoT, mas mantendo seus principais conceitos, em 2018 foi criada a
IOTA (74), um novo tipo de DLT (Distributed Ledger Technology) com foco em redes de
IoT (75). Ao contrário de outras implementações como Bitcoin e Ethereum que utiliza os
conceitos tradicionais do blockchain, IOTA usa uma tecnologia baseada em grafos chamada
“Tangle” para anexar e propagar suas transações (76). Ao invés de encadear as transações
de forma linear, na rede IOTA uma transação apenas se referencia a outras duas transações
já existentes, validando-as. Dessa forma, cada nó não necessita validar todas as transações
do banco de dados, como acontece no blockchain tradicional.
Mesmo sendo uma tecnologia desenvolvida com foco em dispositivos IoT, Zorzo
et al.(77), Wang et al.(78) e Florea(68) destacam que a IOTA não deve ser usado em
dispositivos com restrições de recursos devido ao seu pesado algoritmo de validação das
transações.
Todos os CHs têm uma cópia idêntica do blockchain. Os CHs devem ser dispositivos
com alto poder de processamento, uma vez que será o controlador da comunicação dos
participantes do cluster, os CMs. Os CMs são dispositivos inteligentes, como lâmpadas
inteligentes, alto-falantes, equipamentos médicos especializados, ar-condicionado e muitos
outros. A Figura 15 apresenta um esquema da arquitetura proposta
O processo é iniciado com a criação dos CHs, que por sua vez são responsáveis
por autenticar os dispositivos (CMs) através da geração de uma identificação e um par
de chaves. Ao se associar a um cluster, cada dispositivo recebe um Batch ID, que será
utilizado na comunicação. A identificação dos dispositivos é registrada no blockchain da
Ethereum, através de um Smart Contract. A cada comunicação entre os CMs, cada CM
faz uma solicitação ao CH vinculado que atesta sua autenticidade na rede blockchain
entregando uma chave secreta síncrona de uso único para que seja realizada a comunicação.
A solução apresentada mostrou-se adequada nas questões de autenticação e inte-
gridade, porém para utilização com dispositivos offline é necessário que haja dispositivos
do tipo CHs móveis que possibilitem a comunicação eventual do dispositivo offline com o
restante da rede.
que nem todas as aplicações suportadas por dispositivos IoT podem tolerar a latência que
é introduzida na troca de dados com os servidores centralizados da nuvem, e (ii) a falta
de padronização dos dispositivos IoT, resultando em uma grande variedade de protocolos,
o que dificulta a conectividade entre os dispositivos.
Propuseram então, a utilização de comunicação sem fio e um framework computa-
cional que suporta escalabilidade com o aumento do número de dispositivos. A solução é
composta por uma WMN (Wireless Mesh Network) na qual os Access Points e Roteadores
são utilizados como Gateways que facilitam a integração de dispositivos com diferentes
protocolos.
Para a propagação de dados, os autores utilizaram um protocolo assíncrono baseado
no sistema de publicação/subscrição. Porém para não utilizar protocolos centralizados, como
o MQTT e AMQP, usaram o DHT (Distributed Hash Table) (81) um modelo descentralizado
que mescla a comunicação P2P (Peer-to-peer) com o sistema publicação/subscrição.
O fato da solução apresentada ser descentralizada e permitir uma comunicação
assíncrona poderia pressupor que permite a inclusão de dispositivos offline na sua rede.
Porém, os autores não fazem uma menção direta a esse contexto. Além disso, as questões de
autenticação, integridade e confidencialidade na troca de mensagens não foram abordadas
no trabalho.
Apesar dos autores não citarem explicitamente o seu uso em dispositivos offline,
devido ao gerenciamento de chaves pré-compartilhadas a autenticação mútua é atingida
independente dos dispositivos estarem com conexão estabelecida com o restante da rede.
Porém, os autores não citam se o trabalho permite a propagação de forma segura das
mensagens geradas por dispositivos offline.
do seu trabalho. Uma vez ser necessário que cada nó possua uma cópia completa das
transações realizadas na rede.
Assim, o autor propõe uma solução que integre os dispositivos em um blockchain, e
consequentemente aproveitar das suas características intrínsecas de decentralização e a
implementação dos serviços de autenticação e integridade. Para tal, a proposta inclui um
nó chamado management hub que interage com o blockchain em nome dos dispositivos
IoT. As regras de acesso ao sistema, bem como todas as operações e comunicações entre
os dispositivos são controladas por um Smart Contract. Administradores do sistema,
chamados de managers podem interagir com o Smart Contract a fim de definir políticas
do sistema. A Figura 18 apresenta um esquema simplificado da solução proposta.
S T R I D E
Management Hub X X X X X
Administrador X
Dispositivo IoT X
Capítulo 3. Trabalhos Relacionados 44
4 PROPOSTA
4.1 Fundamentos
A fim de tratar o problema da troca de dados entre a rede e dispositivos offline, o
protocolo proposto está baseado nos seguintes princípios:
• Durante os testes contra ataques será considerado que o atacante não possui acesso
às chaves secretas dos dispositivos. A exceção será para os casos nos quais o atacante
é um participante desonesto da rede, porém, nesse caso será considerado que somente
terá acesso às chaves secretas do seu dispositivo.
desenhado originalmente para ser um protocolo de mensagens de rede social que funcione
mesmo com alguns usuários estando offline.
O SSB apresenta o conceito de Pub, que é um participante do SSB acessível ao
público. Um Pub tem um objetivo social e outro técnico: serve como um ponto de encontro
para novos usuários encontrarem outras pessoas e para usuários já existentes darem as boas
vindas aos usuários recém-chegados; possui um endereço IP estável e permite conexões
TCP, facilitando assim o acesso. Um Pub também emite os convites que possibilitam
que os novos usuários se conectem à rede. Um convite contém o endereço do Pub, a
porta e a chave pública. Também contém uma chave privada que o usuário pode usar
para fazer com que o Pub os siga de volta. Somente após a resposta do Pub, o novo
usuário será considerado afiliado ao Pub e terá acesso às mensagens postadas por outros
membros do Pub e conseguirá enviar suas próprias mensagens. As mensagens emitidas
por qualquer um dos participantes da rede são armazenadas em um Feed, uma lista de
mensagens encadeadas pelo hash de cada mensagem, um mecanismo semelhante ao usado
no blockchain.
Embora em um primeiro momento, o mecanismo proposto pelo SSB parece se
adequar perfeitamente ao contexto de redes IoT com dispositivos offline, o modelo aberto
sofre de algumas limitações impostas pelo contexto de uma rede IoT, como entre outras:
ele implementa a replicação total, ou seja, após o armazenamento de novas mensagens em
um nó, todos os outros nós devem conter os mesmos logs (e as mesmas mensagens). Além
disso, fornece persistência total, ou seja, uma vez que uma mensagem é gerada por um
dispositivo, ela é mantida para sempre em todos os nós da rede (88).
Outro ponto importante que pode ser considerado uma desvantagem na utilização
do protocolo SSB em um ICS é seu acesso aberto. Por ter sido desenvolvido visando um
aplicativo de mensagens, qualquer um que possua o endereço IP do Pub pode solicitar a
afiliação ao protocolo. Mesmo no caso em que o projetista altere os parâmetros padronizados
do protocolo como chave de acesso e porta, criando assim uma rede apartada, uma vez
que um atacante descubra o IP de algum Pub, é possível participar da rede.
forma, cada Pub possui tantos feeds (entidade que armazena as mensagens emitidas)
quanto dispositivos afiliados. E devido ao fato do protocolo implementar um banco de
dados distribuído, cada afiliado a um Pub terá uma cópia dos feeds correspondentes. Essa
configuração está representada na Figura 19, na qual os feeds possuem a mesma cor dos
Pubs.
forma semelhante ao protocolo SSB, atua como um gerenciador de identidades para outros
dispositivos. Para participar da rede todos os dispositivos devem ser afiliados a pelo menos
um Pub.
O processo de afiliação é iniciado pela geração de um convite pelo Pub e instalado
localmente no dispositivo pelo administrador. De posse do convite, o dispositivo acessa
o Pub e através um processo onde o convite é validado, o Pub gera um ticket e o envia
para o dispositivo, que é o instrumento de associação. O ticket consiste-se na assinatura,
pelo Pub, da chave pública do dispositivo afiliado. Uma vez de posse do ticket, qualquer
dispositivo da rede poderá validá-lo. Para isso basta verificar se o ticket apresentado pelo
dispositivo corresponde à assinatura da sua chave pública realizada pelo Pub. As figuras
21a e 21b apresentam, respectivamente, os processos de criação e validação do ticket. A
proposta da utilização do ticket tem como objetivo evitar a complexidade dos processos
tradicionais do gerenciamento de criação e distribuição de chaves (21).
(a) Criação
(b) Validação
Para que outros dispositivos sejam afiliados ao Pub recém-criado, é necessário criar
convites a serem enviados para os futuros afiliados. O convite consiste-se em um código
gerado randomicamente e a chave pública do Pub. O diagrama de sequência desta operação
está descrita na Figura 23. Tanto o processo de criação como de coleta dos convites são
realizados localmente pelo administrador da rede.
Para cada convite criado pelo Pub, é gerado um arquivo para ser enviado posterior-
mente para o dispositivo. Todos os códigos de convites criados são armazenados no banco
de dados do Pub com o status CRIADO. Nesta tabela também há um campo para registro
do dispositivo que terá sua afiliação autorizada após o envio do convite, dessa forma o
Pub poderá gerenciar o processo de distribuição e utilização de convites, garantindo que
sejam utilizados uma única vez.
A criação de um dispositivo comum é semelhante à criação do Pub, já vista
Capítulo 4. Proposta 50
anteriormente: o par de chaves é gerado, as tabelas de Pubs Afiliados e feeds são criadas,
porém sem registros uma vez que o dispositivo não está afiliado a nenhum Pub no momento
de sua criação. O diagrama de sequência dessa etapa está apresentado na Figura 24.
está solicitando o ticket seja realmente quem diz ser. A assinatura da mensagem e a
cifragem do convite são instrumentos utilizados para mitigar o risco de que dispositivos
não autorizados recebam um ticket válido por um Pub da rede.
Assim que o Pub recebe a mensagem enviada pelo dispositivo, são verificadas
a assinatura e a cifragem. Caso haja algum problema nesses quesitos, é retornada uma
mensagem para o dispositivo informando a causa da recusa. O processo a partir da recepção
da mensagem pelo Pub está apresentado no diagrama de sequência, Figura 28.
Caso o dispositivo tenha enviado o convite de forma pública, é retornada uma
mensagem de recusa ao dispositivo e o convite recebido é descartado. O descarte é
materializado com uma alteração no status do convite no banco de dados evitando assim
que seja utilizado novamente.
Uma vez verificado o comando, o próximo passo é verificar a existência do convite
e o status do convite no banco de dados do Pub. Para que possa ser gerado um ticket a
partir do convite recebido, o convite deve estar registrado com o status CRIADO. Em
caso afirmativo, o ticket é gerado e um comando POST_TICKET é preparado para ser
enviado ao dispositivo. Ao receber o comando, o dispositivo valida o ticket gerado. Tendo
Capítulo 4. Proposta 53
o ticket seja válido, as informações recebidas serão comparadas com o feed correspondente e
definido se será necessário enviar ou receber mensagens do dispositivo D02. Neste momento
existe a possibilidade do dispositivo D02 não possuir ainda o feed questionado por D01,
neste caso o dispositivo envia o sequencial zero e o último hash nulo.
A Figura 38 apresenta o diagrama de sequência para o caso em que é necessário
enviar mensagens para o dispositivo D02. Neste momento é feita a primeira verificação
da integridade do feed, o hash da última mensagem enviada é comparado com o hash da
mensagem armazenada no dispositivo D01 com o mesmo sequencial. Se os códigos hash
são diferentes, significa que há uma divergência nos feeds. É enviado uma mensagem de
retorno com um código de erro e o processo para esse feed é interrompido. Caso os códigos
hash sejam iguais, considera-se que as mensagens anteriores estejam íntegras e iguais nos
dois dispositivos.
Então o processo inicia o envio das mensagens a partir da mensagem subsequente à
última armazenada no dispositivo D02. Para isso é utilizado o comando POST_MESSAGE,
conforme representado na Figura. Ao receber o bloco da mensagem o dispositivo D02 faz
uma série de validações antes de armazená-lo no seu feed: (i) o número sequencial da men-
sagem, (ii) a assinatura da mensagem e (iii) o código hash. Caso alguma dessas validações
falhe, é enviado o código de erro correspondente ao dispositivo D01 que interrompe o
Capítulo 4. Proposta 61
processo, passando para o próximo feed. No caso da validação ocorrer com sucesso, o bloco
de mensagem é armazenado no seu feed, incrementando o número de validações do bloco.
Na sequência, é enviado um comando de retorno informando que a validação ocorreu com
sucesso. No recebimento, o número de validações também é incrementado no seu feed.
A Figura 39 apresenta o diagrama de sequência para os casos em que é necessário
receber mensagens do dispositivo D02. O número sequencial da última mensagem arma-
zenada no feed em questão é incrementada e é enviado um comando GET_MESSAGE,
informando o feed e o sequencial. Ao receber o comando, é feita uma verificação no seu
formato. Caso haja algum problema, é retornado o comando RETURN_MESSAGE com
o código de erro. Se o comando estiver correto, é verificado se existe o bloco de mensagem
correspondente ao sequencial solicitado. Caso não haja a mensagem, é retornado o comando
POST_MESSAGE com o valor nulo no campo Pub, encerrando a sincronização para esse
Capítulo 4. Proposta 62
5 AVALIAÇÃO
até hoje, a Curva 25519 tem sido adotada em diversas aplicações, como por exemplo nas
bibliotecas SSL/TLS (92).
da sincronização. Porém, somente são armazenados os feeds que sejam de Pubs aos quais o
dispositivo seja afiliado. Nos diagramas de sequência a seguir, os feeds serão identificados
pela codificação Pxx-Dyy, onde xx é o número do Pub e yy o número do dispositivo. A
afiliação de cada dispositivo é apresentada na sua descrição.
O início do experimento está descrito no diagrama de sequência apresentado na
Figura 45. Os dispositivos 1 e 2 geram mensagens que são armazenadas em seus bancos de
dados representados nos retângulos amarelos. A geração de mensagens pelos dispositivos
são representadas pelos retângulos cor de rosa. Após a sincronização entre os dispositivos
1 e 2 os respectivos bancos de dados são atualizados.
O experimento é iniciado com a emissão de mensagens pelos dispositivos 1 e 2. O
dispositivo 1 emite uma mensagem no feed P01-D01 e o dispositivo 2 emite duas mensagens:
uma no feed P01-D02 e outra no feed P02-D02, como representado na Figura 45.
Como o único Pub comum aos dois dispositivos é o Pub 1, apenas as mensagens
geradas em feeds do Pub 1 são sincronizadas. Ou seja, o dispositivo 1 não recebe as
mensagens emitidas pelo dispositivo 2 no feed P02-D02. Na sequência, a Figura 46
apresenta o diagrama de sequência das sincronizações entre os dispositivos 2, 3 e 4, com
geração de mensagens dos dispositivos 2 e 4 nos feeds P01-D02 e P03-D04 respectivamente.
Na sincronização entre os dispositivos 2 e 3, apenas o feed P02-D02 é sincronizado, uma vez
que o dispositivo 3 não é associado ao Pub 1. Antes da última sincronização desse diagrama
(Figura 46), o dispositivo 4 gera uma mensagem no feed P03-D04. Na sincronização com o
dispositivo 2, os feeds referentes ao Pub 1 são trazidos para o seu banco de dados. Devido
ao fato do Pub 3 só possuir o dispositivo 4 como associado, a mensagem gerada no feed
P03-D04 não será propagado entre os demais dispositivos desse experimento.
A última fase do teste de propagação de dados está descrita através do diagrama de
Capítulo 5. Avaliação 69
sequência apresentado na Figura 47. Nesse momento, o dispositivo 3 emite uma mensagem
no feed P02-D03 antes da sincronização com o dispositivo 1. Após a sincronização entre os
dispositivos 1 e 3 são realizadas as sincronizações entre os dispositivos 1 e 4 e entre os
dispositivos 2 e 3.
Após a sincronização entre os dispositivos 1 e 3, os bancos de dados de ambos
os dispositivos permanecem inalterados. Isso é devido ao fato de que os dispositivos não
são afiliados a nenhum Pub comum. Porém, após a sincronização entre os dispositivos
1 e 4, o banco de dados do dispositivo 1 foi atualizado, com a mensagem emitida pelo
dispositivo 2. Importante observar a propagação dessa mensagem que não chegou ao
dispositivo 1 pela sincronização com o emissor, mas através de um terceiro dispositivo,
no caso o dispositivo 4 que é associado a um Pub comum aos dois outros dispositivos.
Finalmente, a sincronização entre os dispositivos 2 e 3 para a propagação da última
mensagem emitida pelo dispositivo 3. E ao final desse procedimento os dispositivos estão
com todas as mensagens sincronizadas.
aos Pubs aos quais o dispositivo era afiliado. No caso específico os Pubs 1 e 2. Uma vez
de posse dos convites, deve-se instalá-los no dispositivo. No próximo passo, o dispositivo
envia uma solicitação de ticket aos Pubs 1 e 2. Esse processo está descrito no diagrama de
sequência apresentado na Figura 49.
Uma vez os tickets restaurados, para restaurar os feeds, basta realizar sincronizações
com dispositivos que sejam afiliados aos mesmos Pubs. No caso, foram realizadas as
sincronizações com os dispositivos 1 e 3, conforme descrito no diagrama de sequência
apresentado na Figura 50. Ao final do processo, os feeds do dispositivo 2 foram totalmente
restaurados.
Dispositivo Código
Toradex T
Raspberry Pi R
Pub 1 P01
Pub 2 P02
Capítulo 5. Avaliação 72
atacante seja um participante desonesto. Situações que não se enquadram no escopo deste
trabalho.
Desta forma, as simulações de ataque foram desenvolvidas de forma a se enquadra-
rem nas premissas do trabalho. Foram realizadas diversas simulações de ataques do tipo
MitM, com foco na propagação das mensagens geradas pelos dispositivo offline. Assim
como nos testes de funcionamento, foram desenvolvidos scripts em Python para a execução
automática das simulações que serão descritas a seguir.
Uma vez que o atacante realizou o fork na sua versão do feed P01-R, o próximo passo
é tentar propagar as novas mensagens geradas ao restante da rede através de sincronizações.
Essa operação está detalhada no diagrama de sequência da Figura 65.
uma solução de distribuição desses serviços nas bordas da rede para que fossem “alcançáveis”
pelos dispositivos (Edge ou Fog Computing), ou através de uma rede Mesh que faria a
conexão por saltos até alcançar o dispositivo offline.
A autenticação dos dispositivos na conexão P2P em situações nas quais não há
acesso à rede foi resolvida através de um mecanismo de autenticação mútua por tickets
gerados e assinados por Pubs, dispositivos com capacidade de gerenciar a identidade e
autenticação dos demais dispositivos de maneira simples e sem a necessidade de acesso a
serviços centralizados.
A integridade e autenticidade das mensagens geradas, seja por dispositivos offline
ou conectados foram conseguidas através de algoritmos criptográficos e por encadeamento
de mensagens, similar à da tecnologia blockchain.
A propagação das mensagens é conseguida por um mecanismo de sincronização
realizada em pares, aliada a um banco de dados distribuído, no qual todos os dispositivos
associados a um mesmo Pub possui uma cópia das mensagens geradas pelos demais
associados. Ao sincronizar somente os feeds de Pubs em comum, a solução proposta visa
minimizar os problemas decorrentes do processo utilizado no SSB, no qual são sincronizadas
todas as mensagens dos participantes da rede, podendo facilmente exaurir os recursos de
armazenamento dos dispositivos.
Foi desenvolvido um protótipo do protocolo e seu funcionamento foi testada a sua
resistência à ataques do tipo MitM, bem como a uma tentativa de propagação de um fork
indevido por um participante desonesto. A partir dos experimentos realizados, podemos
depreender que a solução proposta atingiu seus objetivos ao evidenciar que dispositivos
offline tiveram suas mensagens propagadas corretamente, preservando sua integridade e
autenticidade.
Finalmente, a Tabela 5 faz um comparativo da solução proposta com os trabalhos
relacionados apresentados no capítulo 3
6 CONCLUSÃO
6.1 Contribuições
Como contribuições desta tese, destacam-se:
REFERÊNCIAS
1 CHOI, S.; YUN, J.-H.; KIM, S.-K. A comparison of ics datasets for security research
based on attack paths. In: LUIIJF, E.; ŽUTAUTAITĖ, I.; HÄMMERLI, B. M. (Ed.).
Critical Information Infrastructures Security. Cham: Springer International Publishing,
2019. p. 154–166. ISBN 978-3-030-05849-4.
2 BOFF, S. G.; PAGANO, D. J.; PLUCÊNIO, A.; ALVES, R. Aplicação de um scada a
uma unidade experimental de coluna de destilação. In: Congresso Brasileiro de P&D em
Petróleo e Gás, Salvador (BA). [S.l.: s.n.], 2005.
3 NASA. TREK Delay Tolerant Networking (DTN) Tutorial. [S.l.], 2020. Disponível em:
<https://trek.msfc.nasa.gov/Documents/trek_5_3_1/trek_dtn_tutorial.pdf>.
4 PARVIN, J. R. An overview of wireless mesh networks. Wireless Mesh Networks-Security,
Architectures and Protocols, IntechOpen, 2019.
5 Stanford-Clark, A.; Truong, H. L. MQTT For Sensor Networks (MQTT-SN) – Proto-
col Specification. [S.l.], 2013. Disponível em: <https://www.oasis-open.org/committees/
download.php/66091/MQTT-SN_spec_v1.2.pdf>.
6 MAGG, F.; VOSSELER, R. The Fragility of Industrial IoT’s Data Backbone.
[S.l.], 2018. Disponível em: <https://documents.trendmicro.com/assets/white\_papers/
wp-the-fragility-of-industrial-IoTs-data-backbone.pdf>.
7 VISHWAKARMA, L.; DAS, D. Scab - iota: Secure communication and authentication
for iot applications using blockchain. Journal of Parallel and Distributed Computing, v. 154,
p. 94–105, 2021. ISSN 0743-7315. Disponível em: <https://www.sciencedirect.com/science/
article/pii/S0743731521000800>.
8 FERRETTI, L.; MARCHETTI, M.; COLAJANNI, M. Fog-based secure communications
for low-power iot devices. ACM Trans. Internet Technol., Association for Computing
Machinery, New York, NY, USA, v. 19, n. 2, mar. 2019. ISSN 1533-5399. Disponível em:
<https://doi.org/10.1145/3284554>.
9 Yang, Z.; He, J.; Tian, Y.; Zhou, J. Faster authenticated key agreement with per-
fect forward secrecy for industrial internet-of-things. IEEE Transactions on Industrial
Informatics, v. 16, n. 10, p. 6584–6596, 2020.
10 Novo, O. Blockchain meets iot: An architecture for scalable access management in iot.
IEEE Internet of Things Journal, v. 5, n. 2, p. 1184–1195, 2018.
11 LEWIS, F. Applied Optimal Control and Estimation. Prentice-Hall„ 1992. ISBN
978-0130403612. Disponível em: <https://lewisgroup.uta.edu/history.htm>.
12 HAYDEN, E.; ASSANTE, M.; CONWAY, M. An Abbreviated History of Automation
and Industrial Controls Systems and Cybersecurity. [S.l.], 2014. Disponível em: <https://ics.
sans.org/media/An-Abbreviated-History-of-Automation-and-ICS-Cybersecurity.pdf>.
13 BARADI, D.; XAVIER, J. Relay logic programming explained. In: 2018 71st Annual
Conference for Protective Relay Engineers (CPRE). [S.l.: s.n.], 2018. p. 1–11.
Referências 89
14 MCLAUGHLIN, S.; KONSTANTINOU, C.; WANG, X.; DAVI, L.; SADEGHI, A.-R.;
MANIATAKOS, M.; KARRI, R. The cybersecurity landscape in industrial control systems.
Proceedings of the IEEE, IEEE, v. 104, n. 5, p. 1039–1057, 2016. ISSN 0018-9219.
15 ENISA. Communication network dependencies for ICS/SCADA Systems. [S.l.], 2016.
Disponível em: <https://www.enisa.europa.eu/publications/ics-scada-dependencies>.
16 BRASIL. Política Nacional de Defesa. [S.l.], 2020. Disponível em: <https://www.gov.
br/defesa/pt-br/assuntos/copy_of_estado-e-defesa/pnd_end_congresso_.pdf>.
17 PLIATSIOS, D.; SARIGIANNIDIS, P.; LAGKAS, T.; SARIGIANNIDIS, A. G. A
survey on scada systems: Secure protocols, incidents, threats and tactics. IEEE Communi-
cations Surveys Tutorials, v. 22, n. 3, p. 1942–1976, 2020.
18 KIM, J.; LEE, J.; KIM, J.; YUN, J. M2m service platforms: Survey, issues, and
enabling technologies. IEEE Communications Surveys Tutorials, v. 16, n. 1, p. 61–76,
2014.
19 KENG, D.; KOO, S. G. Spatial standards for internet of things. In: 2014 IEEE
International Conference on Internet of Things (iThings), and IEEE Green Computing
and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing
(CPSCom). [S.l.: s.n.], 2014. p. 284–287.
20 Dai, H.; Zheng, Z.; Zhang, Y. Blockchain for internet of things: A survey. IEEE
Internet of Things Journal, v. 6, n. 5, p. 8076–8094, 2019.
21 SCHRECKER, S.; SOROUSH, H.; MOLINA, J.; LEBLANC, J.; HIRSCH, F.;
BUCHHEIT, M.; GINTER, A.; MARTIN, R.; BANAVARA, H.; ESWARAHALLY,
S.; RAMAN, K.; KING, A.; ZHANG, Q.; MACKAY, P.; WITTEN, B. Indus-
trial Internet of ThingsVolume G4: Security Framework. [S.l.], 2016. Disponível
em: <https://www.iiconsortium.orghttps://www.iiconsortium.org/pdf/IIC\_PUB\_G4\
_V1.00\_PB.pdf>.
22 Sahadevan, A.; Mathew, D.; Mookathana, J.; Jose, B. A. An offline online strategy for
iot using mqtt. In: 2017 IEEE 4th International Conference on Cyber Security and Cloud
Computing (CSCloud). 445 Hoes Lane, Piscataway, NJ 08854: IEEE, 2017. p. 369–373.
23 Meiklejohn, C. S.; Van Roy, P. Loquat: A framework for large-scale actor communica-
tion on edge networks. In: 2017 IEEE International Conference on Pervasive Computing
and Communications Workshops (PerCom Workshops). 445 Hoes Lane, Piscataway, NJ
08854: IEEE, 2017. p. 563–568.
24 GALáN-JIMéNEZ, J.; MOGUEL, E.; GARCíA-ALONSO, J.; BERROCAL, J. Energy-
efficient and solar powered mission planning of uav swarms to reduce the coverage gap in
rural areas: The 3d case. Ad Hoc Networks, v. 118, p. 102517, 2021. ISSN 1570-8705. Dis-
ponível em: <https://www.sciencedirect.com/science/article/pii/S157087052100072X>.
25 NUGROHO, A. P.; OKAYASU, T.; HOSHI, T.; INOUE, E.; HIRAI, Y.; MITSUOKA,
M.; SUTIARSO, L. Development of a remote environmental monitoring and control
framework for tropical horticulture and verification of its validity under unstable network
connection in rural area. Computers and Electronics in Agriculture, v. 124, p. 325–339,
2016. ISSN 0168-1699. Disponível em: <https://www.sciencedirect.com/science/article/
pii/S0168169916301569>.
Referências 90
42 MADNI, M. A. A.; IRANMANESH, S.; RAAD, R. Dtn and non-dtn routing protocols
for inter-cubesat communications: A comprehensive survey. Electronics, v. 9, n. 3, 2020.
ISSN 2079-9292. Disponível em: <https://www.mdpi.com/2079-9292/9/3/482>.
43 MAO, Y.; ZHOU, C.; LING, Y.; LLORET, J. An optimized probabilistic delay tolerant
network (dtn) routing protocol based on scheduling mechanism for internet of things (iot).
Sensors, v. 19, n. 2, 2019. ISSN 1424-8220. Disponível em: <https://www.mdpi.com/
1424-8220/19/2/243>.
44 Bruno, R.; Conti, M.; Gregori, E. Mesh networks: commodity multihop ad hoc networks.
IEEE Communications Magazine, IEEE Communications Society, 3 Park Avenue 17th
Floor New York, NY 10016, v. 43, n. 3, p. 123–131, 2005.
45 NAEEM, R. Z.; BASHIR, S.; AMJAD, M. F.; ABBAS, H.; AFZAL, H. Fog computing
in internet of things: Practical applications and future directions. Peer-to-Peer Networking
and Applications, Springer, v. 12, n. 5, p. 1236–1262, 2019.
48 Thota, P.; Kim, Y. Implementation and comparison of m2m protocols for internet of
things. In: 2016 4th Intl Conf on Applied Computing and Information Technology/3rd Intl
Conf on Computational Science/Intelligence and Applied Informatics/1st Intl Conf on Big
Data, Cloud Computing, Data Science Engineering (ACIT-CSII-BCD). 445 Hoes Lane,
Piscataway, NJ 08854: IEEE, 2016. p. 43–48.
50 Oasis Open Foundation. MQTT Version 5.0 – OASIS Standard Specification. [S.l.],
2019. Disponível em: <https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html>.
Referências 92
51 Al-Masri, E.; Kalyanam, K. R.; Batts, J.; Kim, J.; Singh, S.; Vo, T.; Yan, C. Investiga-
ting messaging protocols for the internet of things (iot). IEEE Access, v. 8, p. 94880–94911,
2020.
53 BENDEL, S.; SPRINGER, T.; SCHUSTER, D.; SCHILL, A.; ACKERMANN, R.;
AMELING, M. A service infrastructure for the internet of things based on xmpp. In: 2013
IEEE International Conference on Pervasive Computing and Communications Workshops
(PERCOM Workshops). [S.l.: s.n.], 2013. p. 385–388.
56 Al-Fuqaha, A.; Guizani, M.; Mohammadi, M.; Aledhari, M.; Ayyash, M. Internet of
things: A survey on enabling technologies, protocols, and applications. IEEE Communica-
tions Surveys Tutorials, v. 17, n. 4, p. 2347–2376, 2015.
58 KAVIANPOUR, S.; SHANMUGAM, B.; AZAM, S.; ZAMANI, M.; SAMY, G. N.;
BOER, F. D. A systematic literature review of authentication in internet of things for
heterogeneous devices. Journal of Computer Networks and Communications, v. 2019, 2019.
ISSN 2090-7141. Disponível em: <https://doi.org/10.1155/2019/5747136>.
60 HARIT, A.; EZZATI, A.; ELHARTI, R. Internet of things security: Challenges and
perspectives. In: Proceedings of the Second International Conference on Internet of Things,
Data and Cloud Computing. New York, NY, USA: Association for Computing Machinery,
2017. (ICC ’17), p. Article No 167 Pages 1–8. ISBN 9781450347747. Disponível em:
<https://doi.org/10.1145/3018896.3056784>.
61 Kim, H.; Wasicek, A.; Mehne, B.; Lee, E. A. A secure network architecture for the
internet of things based on local authorization entities. In: 2016 IEEE 4th International
Conference on Future Internet of Things and Cloud (FiCloud). 445 Hoes Lane, Piscataway,
NJ 08854: IEEE, 2016. p. 114–122.
Referências 93
62 Hamad, S. A.; Sheng, Q. Z.; Zhang, W. E.; Nepal, S. Realizing an internet of secure
things: A survey on issues and enabling technologies. IEEE Communications Surveys
Tutorials, v. 22, n. 2, p. 1372–1391, 2020.
63 NETO, A. L. M.; SOUZA, A. L. F.; CUNHA, I.; NOGUEIRA, M.; NUNES, I. O.;
COTTA, L.; GENTILLE, N.; LOUREIRO, A. A. F.; ARANHA, D. F.; PATIL, H. K.;
OLIVEIRA, L. B. Aot: Authentication and access control for the entire iot device life-cycle.
In: Proceedings of the 14th ACM Conference on Embedded Network Sensor Systems CD-
ROM. New York, NY, USA: Association for Computing Machinery, 2016. (SenSys ’16), p.
1–15. ISBN 9781450342636. Disponível em: <https://doi.org/10.1145/2994551.2994555>.
64 Macedo, E. L. C.; de Oliveira, E. A. R.; Silva, F. H.; Mello, R. R.; França, F. M. G.;
Delicato, F. C.; de Rezende, J. F.; de Moraes, L. F. M. On the security aspects of internet
of things: A systematic literature review. Journal of Communications and Networks, v. 21,
n. 5, p. 444–457, 2019.
65 SICARI, S.; RIZZARDI, A.; GRIECO, L.; COEN-PORISINI, A. Security, privacy
and trust in internet of things: The road ahead. Computer Networks, v. 76, p. 146 – 164,
2015. ISSN 1389-1286. Disponível em: <http://www.sciencedirect.com/science/article/pii/
S1389128614003971>.
66 KHAN, M. A.; SALAH, K. Iot security: Review, blockchain solutions, and open
challenges. Future Generation Computer Systems, v. 82, p. 395 – 411, 2018. ISSN 0167-739X.
Disponível em: <http://www.sciencedirect.com/science/article/pii/S0167739X17315765>.
67 Christidis, K.; Devetsikiotis, M. Blockchains and smart contracts for the internet of
things. IEEE Access, v. 4, p. 2292–2303, 2016. ISSN 2169-3536.
68 Florea, B. C. Blockchain and internet of things data provider for smart applications.
In: 2018 7th Mediterranean Conference on Embedded Computing (MECO). 445 Hoes Lane,
Piscataway, NJ 08854: IEEE, 2018. p. 1–4.
69 Fridrich, J.; Goljan, M. Robust hash functions for digital watermarking. In: Procee-
dings International Conference on Information Technology: Coding and Computing (Cat.
No.PR00540). [S.l.: s.n.], 2000. p. 178–183.
70 ANTONOPOULOS, A. M. Mastering Bitcoin: unlocking digital cryptocurrencies.
Sebastopol, CA: " O’Reilly Media, Inc.", 2014.
71 LAO, L.; LI, Z.; HOU, S.; XIAO, B.; GUO, S.; YANG, Y. A survey of iot applications
in blockchain systems: Architecture, consensus, and traffic modeling. ACM Comput. Surv.,
Association for Computing Machinery, New York, NY, USA, v. 53, n. 1, fev. 2020. ISSN
0360-0300. Disponível em: <https://doi.org/10.1145/3372136>.
72 APT, K. R.; KOPCZYNSKI, E.; WOJTCZAK, D. On the computational complexity
of gossip protocols. In: IJCAI. Melbourne, Australia: International Joint Conferences on
Artificial Intelligence, 2017. p. 765–771.
73 aO, R. B. A blockchain-based protocol for message exchange in a ics network: Stu-
dent research abstract. In: Proceedings of the 35th Annual ACM Symposium on Applied
Computing. New York, NY, USA: Association for Computing Machinery, 2020. (SAC
’20), p. 357–360. ISBN 9781450368667. Disponível em: <https://doi.org/10.1145/3341105.
3374231>.
Referências 94
77 Zorzo, A. F.; Nunes, H. C.; Lunardi, R. C.; Michelin, R. A.; Kanhere, S. S. Dependable
iot using blockchain-based technology. In: 2018 Eighth Latin-American Symposium on
Dependable Computing (LADC). [S.l.: s.n.], 2018. p. 1–9.
78 Wang, J.; Li, M.; He, Y.; Li, H.; Xiao, K.; Wang, C. A blockchain based privacy-
preserving incentive mechanism in crowdsensing applications. IEEE Access, v. 6, p. 17545–
17556, 2018.
79 ALI, S.; BANERJEA, S.; PANDEY, M.; TYAGI, N. Wireless fog-mesh: A communi-
cation and computation infrastructure for iot based smart environments. In: RENAULT,
É.; BOUMERDASSI, S.; BOUZEFRANE, S. (Ed.). Mobile, Secure, and Programmable
Networking. Gewerbestrasse 11, 6330 Cham, Switzerland: Springer International Publishing,
2019. p. 322–338. ISBN 978-3-030-03101-5.
80 ALI, S.; PANDEY, M.; TYAGI, N. Wireless-fog mesh: A framework for in-network
computing of microservices in semipermanent smart environments. International Journal
of Network Management, v. 30, n. 6, p. e2125, 2020. E2125 nem.2125. Disponível em:
<https://onlinelibrary.wiley.com/doi/abs/10.1002/nem.2125>.
82 KIM, H.; KANG, E.; LEE, E. A.; BROMAN, D. A toolkit for construction of autho-
rization service infrastructure for the internet of things. In: Proceedings of the Second
International Conference on Internet-of-Things Design and Implementation. New York,
NY, USA: Association for Computing Machinery, 2017. (IoTDI ’17), p. 147–158. ISBN
9781450349666. Disponível em: <https://doi.org/10.1145/3054977.3054980>.
84 Rahman, A.; Roy, S.; Kaiser, M. S.; Islam, M. S. A lightweight multi-tier s-mqtt
framework to secure communication between low-end iot nodes. In: 2018 5th International
Conference on Networking, Systems and Security (NSysS). [S.l.: s.n.], 2018. p. 1–6.
87 TSCHUDIN, C. End-to-end encrypted scalable abstract data types over icn. In:
Proceedings of the 5th ACM Conference on Information-Centric Networking. New York,
NY, USA: ACM, 2018. (ICN ’18, .), p. 88–94. ISBN 978-1-4503-5959-7. Maio/2019.
Disponível em: <http://doi.acm.org/10.1145/3267955.3267962>.
93 MUŁA, W.; LEMIRE, D. Faster base64 encoding and decoding using avx2 instructions.
ACM Trans. Web, Association for Computing Machinery, New York, NY, USA, v. 12, n. 3,
jul. 2018. ISSN 1559-1131. Disponível em: <https://doi.org/10.1145/3132709>.
94 Morris, T. Industrial Control System (ICS) Cyber Attack Datasets. [S.l.], 2014. Dispo-
nível em: <https://sites.google.com/a/uah.edu/tommy-morris-uah/ics-data-sets>.