FORNECENDO COMUNICAÇÃO SEGURA EM AMBIENTES DE SISTEMA EMBARCADOS USANDO ARDUÍNO

Documentos relacionados
Desenvolvimento de Aplicações Distribuídas

>>> RESTful API >>> Com Node.js e Restify. Name: Anderson Pimentel Date: 19 de Março de

Curso Online de E-commerce. Plano de Estudo

ATENÇÃO O TCP/IP não é um protocolo. TCP/IP é um conjunto de diversos protocolos em 04 camadas próprias que se relaciona com o modelo OSI.

MINICURSO - PLATAFORMA ARDUINO Eixo de Informação e Comunicação Gil Eduardo de Andrade

Redes de Computadores e Aplicações

APP WORK - SISTEMA DE GERENCIAMENTO DE HORÁRIO PONTO E GEOLOCALIZAÇÃO 1 APP WORK - POINT AND GEOLOCALIZATION SCHEME MANAGEMENT SYSTEM

UMA INTERFACE DE GERENCIAMENTO DE REDES DEFINIDAS POR SOFTWARE

PTC Aula Princípios das aplicações de rede 2.2 A Web e o HTTP. (Kurose, p ) (Peterson, p ) 21/03/2017

Introdução à Computação

IFC PORTARIAS: SISTEMA PARA PUBLICAÇÃO E MONITORAMENTO DE PORTARIAS

SERVIÇOS WEB. Frankley Gustavo F. Mesquita, Tamiris Souza Fonseca. 27 de junho de 2016

TÍTULO: AUTOMAÇÃO COM ELETRÔNICA EMBARCA APLICADA A ACESSIBILIDADE PARA CADEIRANTES

SISTEMA DE GERENCIAMENTO DO CENTRO DE PRÁTICAS CLÍNICAS E CIRÚRGICAS DO IFC CAMPUS ARAQUARI

Níkolas Timóteo Paulino da Silva Redes de Computadores I ADS 2ºTermo

Camada de Aplicação da Arquitetura TCP/IP

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

Aula 1: Apresentação do Curso

Aula 1: Apresentação do Curso

Desenvolvimento Web. Introdução Geral. Prof. Vicente Paulo de Camargo

INFORMAÇÕES GERAIS DO TRABALHO

Arquitetura da World Wide Web. WWW: Histórico. WWW: Usos. WWW: Histórico. WWW Tecnologias Fundamentais. Comércio Eletrônico na WWW

UMA INTERFACE DE SOFTWARE PARA A REDE DE SENSORES DO PROJETO ESTUFA. Tiago Possato, Mateus Zanini, Angelita Rettore de Araujo Zanella, Tiago Heineck

Formação em Segurança Cibernética. Sessão 8 Criptografia II

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Configurar o LDAP como uma fonte do contato do diretório para o Jabber de Cisco usando a integração do diretório Cisco

CST em Redes de Computadores

Sérgio de Oliveira. Novatec

Arquiteturas de Redes de Computadores Os Modelos RM-OSI e TCP/IP. Prof. M.e Helber Wagner da Silva

Redes de Computadores

Modelos de Referência

INSTITUTO FEDERAL SUL DE MINAS GERAIS CAMPUS MUZAMBINHO CENTRO DE EDUCAÇÃO A DISTÂNCIA CEAD

Informática. Internet / Intranet. Professor Márcio Hunecke.

Prof. Samuel Henrique Bucke Brito

Projeto Disciplinar de Infra-Estrutura de Software WEBZINE MANAGER REVISTA ELETRÔNICA INTERAÇÃO NEWS

Sumário. Parte I Elementos essenciais Sobre o autor Sobre o revisor técnico Prefácio... 14

EA975 - Laboratório de Engenharia de Software

Redes de Computadores

Curso online de Fundamentos em Android. Plano de Estudo

Sistemas Distribuídos

APOSTILA 1 - TUTORIA SISTEMAS OPERACIONAIS

Curso online de. Formação em Front-End. Plano de Estudo

COMUNICADO. Brasília, 07 de novembro de Jorge Almeida Guimarães Diretor Presidente

Nuvem e Virtualização Redes Programáveis

Arquitetura de Serviços na Embrapa, viabilização da integração de informações eletrônicas de UDs e UCs. 12 de agosto de 2014 Fernando Chagas Santos

Capítulo 2. Camada de aplicação

Introdução à Computação

Desenvolvimento de Aplicações Distribuídas

INTERNET DAS COISAS: PROTÓTIPO DE BAIXO CUSTO PARA MONITORAR TEMPERATURA E UMIDADE

Desenvolvedor Android: Avançado. Plano de Estudo

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO WEB E MOBILE

PROJETO DE INCLUSÃO DE DISCIPLINAS OPTATIVAS NO CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO CAMPUS CURITIBA

M V C, J S O N E X M L P R O F. M E. H É L I O E S P E R I D I Ã O

Um Servidor HTTP/2 Reativo em Scala

Labsensing: Um Sistema de Sensoriamento para Laboratórios Científicos com Computação Inteligente Nas Bordas

REDES DE COMPUTADORES

Petter Anderson Lopes Arbitragem, Desenvolvimento Seguro, Segurança Ofensiva e Forense Computacional

DESENVOLVIMENTO DE UM LABORATÓRIO DIDÁTICO PARA ELETRÔNICA USANDO PLATAFORMA DE INSTRUMENTAÇÃO VIRTUAL COM ACESSO VIA WEB

ÍNDICE. Redes de Computadores - 1º Período de Cap 12 - Fls. 1

AUTOR(ES): ANGELINA GRAZIELA SÉTIMO DE CARVALHO, ALAN CARLOS ECHER, JOÃO LUIS OSTI DA SILVA, THAISA BONAMIM FIORILLI

Introdução ao Desenvolvimento de

Redes de Computadores

Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES

Web Services - Definição. Web Services - Introdução. Universidade Federal de Santa Catarina. DSOOII Web Services

Arquitetura de IoT para cidades inteligentes

Introdução à Programação Aula 01. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

4 Arquitetura Adotada

EA975 - Laboratório de Engenharia de Software

Microprocessadores vs Microcontroladores

Programação para Web

Desenvolvimento de um aplicativo na plataforma Android para realização de fichamento bibliográfico em dispositivos móveis: resultados iniciais

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software

Transmissão e comunicação de dados. Renato Machado

MAPEAMENTO OBJETO RELACIONAL COM HIBERNATE EM APLICAÇÕES JAVA WEB

Apresentação. Sistemas Operacionais. Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D.

Arquitetura de Rede. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina: Redes de Computadores I

Disciplina: Redes de Computadores

Protocolo HTTP. Professor Leonardo Larback

Protocolos de Redes de Computadores

Aula 1 Conceitos Básicos

código belo vs. legado e qualidade de software

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Redes de Computadores Prof. Fred Sauer

Sérgio Koch Van-Dall

Prof. Mizael Cortez Modelo em camadas Arquitetura TCP/IP Modelo ISO/OSI

Arduíno: Uma possibilidade de integração com o gvsig


Protocolos e Serviços de Redes

Redes de Computadores

Backup e Restauração Banco de Dados. Evandro Deliberal

Arduino Básico: As versatilidades desta plataforma na prática

CURSO TÉCNICO EM INFORMÁTICA

CURSO TÉCNICO EM INFORMÁTICA

Redes de Computadores I

MONITORAMENTO E GERENCIAMENTO DE TEMPERATURA EM SALAS DE EQUIPAMENTOS

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO O MODELO TCP/IP

Arquitetura em Camadas. Profª. Dianne Scherly Varela de Medeiros

ACS 5.x: Exemplo de configuração do servidor ldap

Internet das Coisas. João Bosco Teixeira Junior >

Transcrição:

FORNECENDO COMUNICAÇÃO SEGURA EM AMBIENTES DE SISTEMA EMBARCADOS USANDO ARDUÍNO Autores : Iago Marinheiro ELIAS, Giorgy ismael da rosa OLIVEIRA, Thiago Locatelli Candido de OLIVEIRA, Vanessa Barbosa ROLIM. Identificação autores: PIBIC-EM/CNPq; Eduardo da SILVA, IFC Campus Araquari. Introdução Um dos maiores avanços obtidos pela humanidade, a Internet, se tornou parte do cotidiano de todos os indivíduos, ao ponto de ser difícil imaginar a vida sem ela. Posteriormente diversos dispositivos, que possuíam outros fins, obtiveram capacidade de integrar-se a Internet (MAGALHAES, 2016). A Internet das Coisas (Internet of Things - IoT) refere-se à integração de objetos físicos e virtuais em redes conectadas à Internet, propiciando que coisas coletem e troquem informações (ALMEIDA,2015). A IoT possui características autoconfiguráveis e baseada em protocolos de comunicação interoperáveis. Os dispositivos conectados em uma IoT possuem identidades, atributos físicos e personalidades virtuais. No qual, usam interfaces inteligentes e são perfeitamente integradas à uma rede de dados. Atualmente, essas "coisas", são objetos amplamente disseminados, pode-se citar partícipes: smartphones, sensores, tablets, microcontroladores, laptops entre outros dispositivos. Para atender os requisitos deste projeto foi proposto um ambiente de troca de segura de dados, entre microcontroladores e um servidor Web. Essa comunicação ocorre sob o protocolo HTTPS entre ambos os dispositivos que estão geograficamente dispersos. Para estabelecer a comunicação e a integração entre essas plataformas faz-se necessário empregar uma tecnologia de Serviço Web. Que caracteriza-se por uma tecnologia modular, autodescritiva e acessível através de uma URL. Esta tecnologia é independente da plataforma de desenvolvimento e permite a interação entre aplicações sem intervenção humana.

Almejando uma transmissão segura, confiável, eficiente e escalável; foram selecionadas duas tecnologias de Serviços Web, o SOAP (Simple Object Access Protocol Protocolo Simples de Acesso a Objeto) e o REST (Representational State Transfer - Transferência de Estado Representativo). A primeira é caracterizada pelo encapsulamento dos dados. Enquanto que a segunda pela exploração transparente dos recursos e protocolos já implementados na Internet. Observando as características das tecnologias estudadas, optou-se pela utilização do REST. Pois o desenvolvimento é viabilizado em plataformas diferentes, sem que houvesse a necessidade de preocupação com o desenvolvimento de outro protocolo. A representação gráfica do fluxo da comunicação entre o sistema embarcado (microcontroladores Arduino) e o servidor, pode ser encontrado na figura 1. Esta comunicação estabelece a troca de dados entre o servidor Django e os microcontroladores Arduino através da utilização do REST. Nesta leitura os dados obtidos pelos sensores interligados a microcontroladores, comunicam-se a um servidor Web que mantém o cadastros dos dispositivo IoT. Figura 1 - Fluxo da comunicação entre o sistema embarcado

Material e Métodos Para o desenvolvimento do projeto, são utilizados: um servidor com Django versão 1.9, Python na versão 2.7, e um banco de dados SQLite versão 3.14.1, Django REST versão 3.0. O Django é um framework Web (software base que fornece suporte a funcionalidades para desenvolvimento de aplicações Web) de alto nível, e desenvolvida por uma comunidade de código livre, que utiliza a linguagem Python. Para tanto, o framework incentiva o desenvolvimento limpo, rápido e pragmático. Neste âmbito os desenvolvedores concentram-se em escrever a sua aplicação sem a necessidade de reinventar funções triviais (DJANGO, 2016). O SQLite é um mecanismo de banco de dados SQL ( Structured Query Language ou Linguagem de Consulta Estruturada) integrado. Diferentemente da maioria dos outros bancos de dados, o SQL não possui um processo de servidor separado. Para tanto, é um banco de dados SQL completo com múltiplas tabelas, índices e triggers, contida apenas em um único arquivo no disco (SQLITE, 2016). Analogamente, para a comunicação, foi utilizado o Django REST framework, pois possui suporte para implementação com criptografia de soluções específicas. Para tanto, possui uma documentação extensa. Além disso, também é utilizada por empresas internacionalmente reconhecidas, incluindo Mozilla, Red Hat, Heroku, e Eventbrite (DJANGO-REST, 2016). Em suma, o hardware utilizado como base é o Arduino. Este é uma pequena placa de microcontrolador para prototipagem. Para conexões esta arquitetura contém um conector USB; além de outros circuitos eletrônicos externos, como motores, relés, sensores e atuadores (MONK, 2014). Adjacente as tecnologias citadas anteriormente, o protocolo HTTPS ( Hyper Text Transfer Protocol Secure ou Protocolo de Transferência de Hipertexto Seguro) foi adotado para obter-se segurança durante a comunicação entre o Arduino e o servidor.

Este protocolo equivale à o protocolo HTTP ( HyperText Transfer Protocol ou Protocolo de Transferência de Hipertexto) utilizado sobre uma camada denominada SSL ( Secure Sockets Layer) que em conjunto fornecem uma conexão segura, incluindo: I. Negociação de parâmetros entre cliente e servidor. II. Autenticação mútua de cliente e servidor. III. Comunicação secreta. IV. Proteção da integridade dos dados (TANENBAUM, 2011). Para implementação da estrutura proposta no Arduíno foi utilizada a placa Ethernet Shield W5100, adjacente à linguagem de programação C. E para tanto, gerenciamento da comunicação no microcontrolador foi utilizado a biblioteca Ethernet.h. Além do desenvolvimento de duas funções. A primeira, tem o objetivo de desempenhar a perspectiva de um servidor Web com ip designado pelo administrador, para que o este servidor possa enviar dados ao Arduíno. E a segunda para caminho contrário, no qual o microcontrolador Arduino envia os dados para servidor Web. Resultados e discussão Após a execução de alguns testes utilizando a arquitetura proposta, ficou elucidado que a preferência pela utilização do Django REST framework e o protocolo HTTPS foi adequada, pois rendeu resultados eficazes. E para tanto, foi comprovado que a transmissão de dados foi eficiente e confiável. Visto que não houveram quaisquer preocupações de implementação com soluções próprias em baixo nível de detecção e correção de erros, resultando em um melhor desempenho para a aplicação proposta. Conclusão A utilização desta arquitetura, previamente aplicada em outros cenários, no NODES (Núcleo de Operacionalização e Desenvolvimento em Sistemas de Informação) do IFC Araquari, favoreceu o desenvolvimento da comunicação entre as diferentes plataformas, com segurança na troca de dados. O desenvolvimento também visou uma

implementação simplificada e eficiente. Pois fomentou o conhecimento dos membros através da pesquisa em áreas pouco exploradas, vista do âmbito de redes de computadores, segurança e IoT. A comunicação entre meios tão diferentes de forma segura é cada vez mais pragmático e evidentemente acarreta no embasamento de futuros projetos, inclusive no NODES, agregando ainda mais valor aos resultados encontrados até o término da deste projeto de fato. Referências ALMEIDA, H. Tudo Conectado: assunto predominante no CSBC 2015, a Internet das Coisas é o tema desta edição da Computação Brasil. Porto Alegre. p. 7, 2015. EVANS, Dave. The Internet of Things How the Next Evolution of the Internet Is Changing Everything. Cisco Internet Business Solutions Group (IBSG), Apr. 2011. DJANGO-REST. Django REST framework - Web APIs for Django. Site, 2011-2014, Disponível em: < http://tinyurl.com/mlpb7ou />. Acessado em: 09 de junho de 2016. DJANGO. The Web framework for perfectionists with deadlines Django. Site, 2005-2014. Disponível em: <https://www.djangoproject.com/>. Acessado em: 09 de junho de 2016. JSON. JSON. Disponível em: <http://json.org/>. Acessado em: 09 de junho de 2016. MAGALHAES, G.G.M.S. Estudo de segurança nos principais protocolos da Internet das Coisas. 2016. 110 f. Monografia (Engenharia da Computação), Instituto de Ciências Exatas, Departamento de Ciência da Computação - Universidade de Brasília, Brasília. 2016. MONK, Simon. 30 Projetos com Arduino. 2ª Edição.Rio Grande do Sul: Bookman, 2014. 215 páginas. SQLITE. SQLite. Disponível em: <https://www.sqlite.org/about.html>. Acessado em: 09 de junho de 2016.