O UbiPri, proposto por Leithardt (2015), é um middleware focado no controle e gerenciamento de privacidade em ambientes ubíquos. Portanto, as configurações de privacidade do usuário podem ser garantidas de forma abrangente, já que os blockchains são impenetráveis e auditáveis.
PROBLEMA DE PESQUISA
Solução Proposta
A ideia principal deste trabalho é definir preferências de privacidade para três grupos diferentes denominados usuário, ambiente e dispositivos. Se um ambiente exigir dados que o usuário não deseja fornecer, será perguntado ao usuário se deseja alterar suas preferências de privacidade para permitir a coleta dessas informações.
Delimitação de Escopo
Justificativa
Quanto à viabilidade da solução proposta nesta dissertação, a arquitetura proposta é validada no trabalho de Ochô et al. Observando o que foi descrito, fica claro que a publicação comprova a viabilidade da solução proposta nesta dissertação.
OBJETIVOS
Objetivo Geral
Na solução descrita nesta tese, foi utilizado como base o método apresentado na solução proposta por Ochôa et al. A solução proposta neste trabalho enfatiza a proposta de Leithardt (2015), em que o ambiente indica as regras de privacidade dos usuários.
Objetivos Específicos
METODOLOGIA
Metodologia da Pesquisa
Procedimentos Metodológicos
ESTRUTURA DA DISSERTAÇÃO
A Seção 2.2 explica os conceitos de IoT, computação ubíqua e arquiteturas voltadas para esse tipo de ambiente. Finalmente, a Seção 2.4 apresenta o conceito de blockchain e como ele pode resolver alguns problemas existentes.
GENERAL DATA PROTECTION REGULATION - GDPR
Legalidade e transparência: As empresas podem recolher dados pessoais, mas devem deixar claro ao titular dos dados que o fazem; Finalidade e método de recolha: As empresas devem explicar ao titular dos dados porque estão a recolher dados e como o fazem;
INTERNET DAS COISAS
Ambientes Ubíquos
A computação ubíqua, portanto, não é tão nova e por isso já se expandiu para diversos outros conceitos. 2018) a computação ubíqua apresenta novos inconvenientes, pois em comparação com a computação tradicional representa uma perspectiva completamente diferente.
Arquiteturas voltadas para a IoT
No que diz respeito à privacidade do utilizador, a arquitetura oneM2M estipula que deve haver gestores de privacidade para ajudar a gerir as configurações de privacidade definidas pelo utilizador. As configurações de privacidade definidas pelo usuário devem estar em conformidade com as leis e requisitos do sistema aplicáveis.
MIDDLEWARES VOLTADOS PARA O TRATAMENTO DE PRIVA-
- UbiPri - middleware para controle e gerenciamento de privacidade em ambi-
- Middleware federado para otimizar a privacidade na IoT
- RERUM Middleware
- Middleware baseado em computação em névoa para automatização dos prin-
- Análise Comparativa
O modelo gerenciador de privacidade UbiPri conecta todos os módulos de sua arquitetura, exceto que os módulos operam de forma independente. Em seu trabalho, Fremantle (2016) apresenta middleware voltado para otimizar a privacidade em ambientes IoT. Elmisery, Rho e Botvič (2016) descrevem um middleware centralizado para serviços de saúde baseados em IoT usando nós de neblina (gateways pessoais) como pontos de aplicação de privacidade.
A Figura 12 ilustra os componentes de privacidade colaborativa do middleware aprimorado proposto em execução no nó fog do usuário. Leithardt (2015) descreve o processamento de privacidade baseado em perfis em seu middleware, considerando-o como aquele que denota regras de privacidade.
BLOCKCHAIN
Ethereum
De acordo com Mohanta, Panda e Jena (2018), um contrato inteligente é um programa de computador autoverificável, autoexecutável e antifraude. Estima-se que a plataforma Ethereum será totalmente migrada para PoS em 2020, e atualmente a plataforma utiliza uma versão otimizada de PoW. O termo “transação” é usado na plataforma Ethereum para pacotes de dados que armazenam mensagens entre usuários.
O preço padrão pago pelo GAS afirma que o usuário terá sua transação confirmada na plataforma Ethereum em 30 minutos. Ampliative Art é uma plataforma web onde artistas podem postar suas obras de arte para que outras pessoas vejam, se as pessoas gostarem da arte podem doar através da plataforma Ethereum para os artistas (ART, 2015).
Hyperledger Fabric
Caso o usuário queira que sua transação seja confirmada no blockchain com mais rapidez, ele poderá pagar a mais pelo GAS utilizado, tendo sua transação confirmada em menos de 2 minutos. Através de uma interface, os usuários têm acesso a uma aplicação que interage com o HyperLedger Fabric. O Hyperledger Fabric pode ser hospedado na infraestrutura de diversas empresas, devido ao fato dessa tecnologia ser voltada basicamente para esse tipo de ambiente.
Para avaliar o desempenho do Fabric é necessário, portanto, desenvolver um framework específico para este tipo de teste. IBM (2017) mostra uma solução para acelerar transações globais. 2017) ilustra uma aplicação utilizando Fabric para garantir a segurança alimentar.
IOTA
Popov (2018) descreve que o peso de uma transação é proporcional à quantidade de trabalho que o nó emissor investiu nela. IOTA tornou-se popular no desenvolvimento de aplicações IoT devido às suas propriedades de escalabilidade. Uma das plataformas mais promissoras é a rede Ethereum, pois o desenvolvimento de aplicações utilizando esta rede permite uma análise minuciosa do desempenho e segurança das aplicações.
Outras blockchains como o Hyperledger Fabric podem ter vantagens na construção de aplicações em relação à plataforma Ethereum, mas conforme descrito na Seção 2.4.2, é difícil avaliar o desempenho desta plataforma. Porém, o IOTA e sua estrutura Tangle também podem ter vantagens no desenvolvimento de aplicações em relação ao Ethereum, segundo De Roode, Ullah e Takinga (2018) segurança.
CHA ET AL. (2017)
Este capítulo descreverá trabalhos relacionados que estão alinhados com o modelo desta dissertação.
ALI, DOLUI E ANTONELLI (2017)
AZBEG ET AL. (2018)
A principal crítica a este trabalho refere-se à utilização do algoritmo de consenso Prova de Autoridade, que só é válido em implementações onde existe um nó de processamento.
DANG E NGUYEN (2018)
LOUKIL ET AL. (2018)
KOCHOVSKI ET AL. (2019)
SHAFEEQ, ALAM E KHAN (2019)
YANG ET AL. (2019)
DWIVEDI ET AL. (2019)
ANÁLISE COMPARATIVA
A plataforma Ethereum é utilizada em conjunto com um gateway para garantir a comunicação entre todas as entidades da rede, portanto a arquitetura apresentada neste trabalho é parcialmente descentralizada. Pensando nisso, a pesquisa do estado da arte teve como objetivo verificar as técnicas e arquiteturas utilizadas para adaptá-las ao middleware escolhido. Dado que o middleware não está totalmente implementado, a análise dos trabalhos relacionados contribui para a implementação eficiente do middleware.
Para desenvolver a solução proposta, optou-se por utilizar o blockchain Ethereum em conjunto com um gateway de comunicação. Na Seção 4.1 é apresentada a visão geral do projeto em relação à solução proposta para o problema de pesquisa.
VISÃO GERAL
Em relação ao armazenamento em blockchain na arquitetura proposta, optou-se por utilizar dispositivos com alto poder computacional. O administrador da rede (onde a aplicação é executada) deve ser responsável por registrar as preferências de privacidade do ambiente e dos dispositivos; Para simular dispositivos (sensores e atuadores), o hardware Arduino deve ser utilizado com o Ethernet Shield.
DETALHAMENTO DA SOLUÇÃO
Contratos Inteligentes
Também existe a opção de definir um valor para o nível de permissão necessário para interagir com o ambiente, além de definir se o ambiente exigirá acesso ao histórico de dados do usuário. Um nível de acesso pode ser definido para o usuário, como se ele deseja ou não permitir acesso ao seu histórico de dados. Por fim, o Contrato da Entidade também lista a privacidade necessária, a permissão para usar o histórico do usuário e o nível de permissão necessário.
A partir disso, será testada a compatibilidade entre as preferências do usuário e as regras do ambiente, bem como o nível de consentimento necessário. Também serão testadas todas as preferências, bem como o nível de permissão requerido, que, em caso de falha, retorna a lista de preferências incompatíveis, tamanho da lista, código de operação em valor lógico e o endereço MAC nulo.
Gateway de Comunicação
O usuário pode inserir em seu contrato o endereço do dispositivo alvo como argumento dentro da função connectToDevice. Se a comunicação for bem-sucedida, o endereço MAC correspondente do dispositivo poderá ser detectado pelo aplicativo Android. Assim, o dispositivo pode ser configurado para atualizar um recurso com valores de um sensor ou realizar um GET periódico em um recurso para obter seu valor, como no estado alterado pelo usuário de um LED.
Quando um dos pontos opera com PUT, o gateway lê o endereço MAC de origem, destino e dados de comunicação. O usuário poderá se conectar ao recurso do dispositivo através do MAC retornado da função de agregação fornecida no contrato inteligente associado a um dos nomes de serviço descobertos.
Aplicação Mobile Descentralizada
O hardware utilizado consiste em um Arduino Uno R3 com arquitetura de 16 bits rodando a 16 MHz e 2 KB de SRAM juntamente com Ethernet Shield W5100. A porta e o IPFS foram implementados em um laptop Dell com Intel Core I58265U com 4 núcleos, 8 threads, rodando a 1,6 GHz e 8 GB de RAM DDR4 e sistema operacional Kubuntu 18.04 de 64 bits. O Blockchain foi executado em um laptop Acer com Intel Core I3 8130U com 2 núcleos e 4 threads, rodando a 2,2 GHz e 4 GB de RAM DDR4 com sistema operacional Linux Mint Cinnamon 19.1 de 64 bits.
A comunicação CoAP no Arduino foi feita através da biblioteca SimpleCoAP disponível no gerenciador de biblioteca Arduino IDE. Não utilizou memória EEPROM e 785 bytes de 2.048 memória dinâmica disponíveis no dispositivo, o que representa 38% do total.
DESEMPENHO DA BLOCKCHAIN
O contrato de usuário é o mais complexo e caro, devido às suas funções que o conectam ao ambiente e a um dispositivo, instanciam outros contratos, comparam estruturas de preferências, armazenam dados e listas de acesso. Como visto, as funções mais caras são aquelas que mais tratam de acesso à memória, como é o caso de applicationBackupPrefs e applicationPendingPrefs, que tratam da lista de preferências do usuário. Embora as funções ConnectToDevice e ConnectToEnvironment sejam logicamente mais complexas, elas são computacionalmente as mais baratas.
O contrato do dispositivo testou apenas uma função, a função mais relevante para a arquitetura. Novamente, as funções mais caras apresentadas, como setRule e setDevice, são as funções que mais interagem com listas.
DESEMPENHO DO GATEWAY
Tempo de processamento de amostra (ms) Solicitação do usuário (ms) Solicitação do dispositivo (ms) Entrada para IPFS (ms). O tempo de solicitação do usuário foi o mais longo entre eles, devido à latência da rede interna, ao tempo de comunicação máquina a máquina e ao tempo de processamento do gateway. Para o gateway, uma operação PUT requer maior tempo de processamento, devido à necessidade de ler o payload e atualizar o recurso CoAP.
A inserção do IPFS, que conta o tempo de comunicação com o nó local e transferência de mensagens, foi a mais barata das etapas envolvidas. A Tabela 10 mostra os mesmos resultados para uma operação AOO, mas sem o tempo de inserção do IPFS, que é apenas uma característica da operação PUT.
PRIVACIDADE
A Figura 32 mostra uma tentativa de interação do usuário com o sensor HC-SR04. Porém, nesta situação, as preferências de privacidade do usuário não correspondem às preferências de privacidade do dispositivo, fazendo com que o blockchain rejeite a tentativa de estabelecer comunicação com o sensor.
FUNCIONALIDADES DO MIDDLEWARE UBIPRI
I:2017 IEEE International Conference on Internet of Things (iThings) og IEEE Green Computing and Communications (GreenCom) og IEEE Cyber, Physical and Social Computing (CPSCom) og IEEE Smart Data (SmartData). Blockchain-teknologier til tingenes internet: Forskningsspørgsmål og udfordringer.IEEE Internet of Things Journal, v. I:2018 IEEE International Conference on Internet of Things (iThings) og IEEE Green Computing and Communications (GreenCom) og IEEE Cyber, Physical and Social Computing (CPSCom) og IEEE Smart Data (SmartData).
In: 2015 12ª Conferência Internacional de Engenharia Elétrica/Eletrônica, Computadores, Telecomunicações e Tecnologia da Informação (ECTI-CON). Proposta arquitetônica para uso de blockchain em redes smart grid. In: ESCOLA REGIONAL DE ALTO PERFORMANCE - ERAD 2019. Estudo de Algoritmos Criptográficos Simétricos no Quadro Beaglebone. In: ERAD - Escola Regional de Alto Desempenho, Três20
2019a) KONFERENCE - 2019 Conferência Internacional sobre Privacidade, Segurança e Confiança B1 NR C. 2019b) CONFERÊNCIA - 2019 Qualidade da Tecnologia da Informação e Comunicação B2 NR C. 2019c) CONFERÊNCIA - 2019 WBlockchain - Simpósio Brasileiro de Redes de Computadores NR.