Você está na página 1de 39

Proposta de Uso Corporativo de Redes Virtuais Privadas (VPN)

Descentralizadas Baseadas em Tecnologia Blockchain

Luiz Felipe Mandetta Clementino

Universidade Federal do Rio de Janeiro

Curso de Pós-Graduação

MBA em Engenharia de Software

Orientadora: Denise Filippo, Dsc.

Rio de Janeiro

2018
ii

FICHA CATALOGRÁFICA

Clementino, Luiz Felipe Mandetta.

Proposta de Uso Corporativo de Redes Virtuais Privadas (VPN)

Descentralizadas Baseadas em Tecnologia Blockchain / Luiz Felipe Mandetta

Clementino. – Rio de Janeiro, 2018.

ix, 30 f.: il. ; 29 cm

Monografia (MBA em Engenharia de Software) – Universidade Federal

do Rio de Janeiro - UFRJ, Escola Politécnica, 2018

Orientador: Denise Filippo, Dsc.

1. Rede Virtual Privada. 2. Blockchain. 3. Rede de Computadores. 4.


Infraestrutura de Rede 5. Criptografia - Monografia. I. Filippo, Denise.
II. Universidade Federal do Rio de Janeiro. Escola Politécnica. III. Título
iii

Este trabalho é dedicado à

minha família, namorada e amigos.

Também aos professores do curso

por toda a dedicação.

Luiz Felipe Mandetta Clementino


iv

Agradeço a todos que

participaram direta ou indiretamente

na conclusão deste trabalho, minha

namorada, minha família e minha

orientadora Denise Filippo.

Luiz Felipe Mandetta Clementino


v

RESUMO

A crescente integração entre organizações e conseqüente demanda por uma

comunicação online mais eficiente tornou necessário o constante aprimoramento e

desenvolvimento de novas soluções computacionais para buscar segurança e baixo

custo. As Redes Privadas Virtuais (VPN – Virtual Private Network) surgiram para

atender esse mercado crescente, no entanto, estas têm tanto limitações tecnológicas

quanto de custo. Com o advento do blockchain, novas barreiras tecnológicas estão

sendo derrubadas, e uma delas é a das VPNs. Com o blockchain é possível criar uma

rede VPN descentralizada com total segurança e capacitada de atender às demandas

desde usuário comum até grandes empresas. Nesse contexto, esse trabalho visa

apresentar, por meio de um estudo de caso, uma proposta de uma solução VPN

utilizando blockchain para uma empresa interligar sua rede interna entre países

distintos com segurança e redução de custos.

Palavras chave: Rede Virtual Privada; Blockchain; Rede de Computadores;

Infraestrutura de Rede; Criptografia


vi

LISTA DE FIGURAS

Figura 1 - Criptografia de Chave Pública (Salomaa, 1996) ...................................... 6

Figura 2 - Princípios da entrada e saída de dados (Paar e Pelzl, 2010) .................. 8

Figura 3 - Processo de assinatura digital (Narayanan et al, 2016) ........................... 9

Figura 4 – Exemplo de árvore de Merkle (*wiki) ..................................................... 10

Figura 5 - Arquitetura cliente-servidor (adaptado de Wang, 2009) ......................... 11

Figura 6 - Arquitetura P2P (adaptado de Wang, 2009) .......................................... 12

Figura 7 - Cadeia de blocos do blockchain a partir de um hash ............................. 15

Figura 8 - Encadeamento de transações no blockchain ......................................... 16

Figura 9 - Validação de transação com criptografia assimétrica (Okupski, 2014) ... 18

Figura 10 - Blocos com o nonce resolvido após a prova de trabalho ..................... 19


vii

LISTA DE ABREVIATURAS E SIGLAS

CAD - Computer Aided Design

CAE - Computer Aided Engineering

ISP - Internet Service Provider

LAN – Local Area Network

P2P - Peer to Peer

RSA - Rivest-Shamir-Adleman

TI - Tecnologia da Informação

VPN - Virtual Private Network

VP2P - VPN Peer to Peer

WAN - Wide Area Network


viii

SUMÁRIO

1 Introdução ..................................................................................................... 1

2 REDE VPN E BLOCKCHAIN ......................................................................... 4

2.1 Conceitos ............................................................................................ 4

2.1.1 Criptografia de Chave Pública ....................................................... 5

2.1.2 Função Hash ................................................................................. 7

2.1.3 Assinatura Digital .......................................................................... 8

2.1.4 Árvore de Merkle ........................................................................... 9

2.1.5 Redes P2P .................................................................................. 10

2.2 Redes Privadas Virtuais (Virtual Private Network - VPN)................... 12

2.3 Blockchain ......................................................................................... 14

2.3.1 Cadeia de blocos ......................................................................... 14

2.3.2 Transações (Registros) ............................................................... 15

2.3.3 Validação de Blocos .................................................................... 18

3 Problema: INTEGRAÇÃO FÍSICA DE REDES EMPRESARIAIS ................. 19

3.1 BrasX ................................................................................................ 20

3.2 Descrição do problema ...................................................................... 21

4 Solução: UTILIZAÇÃO DE UM MODELO DE VPN DESCENTRALIZADA

UTILIZANDO BLOCKCHAIN .......................................................................................... 24

4.1 Rede Blockchain ............................................................................... 24

4.2 Segurança ......................................................................................... 25


ix

4.3 Velocidade ........................................................................................ 25

4.4 Custos ............................................................................................... 26

4.5 Implantação ....................................................................................... 26

5 Conclusão ................................................................................................... 27

Referências Bibliográficas ...................................................................................... 29


1 INTRODUÇÃO

A crescente integração entre organizações e conseqüente demanda por

comunicação mais eficiente tornou necessário o constante aprimoramento e

desenvolvimento de novas soluções de infraestrutura computacionais. É necessário

prover a interligação de equipamentos e pessoas visando o melhor compartilhamento

de informações, de forma rápida e segura.

Diferentes soluções de infraestrutura de rede já existem. O custo de projeto é

elevado principalmente porque esses projetos tipiamente têm grandes proporções e

causam impactos significativos na empresa. Adicionalmente, esses projetos também

têm um custo elevado de implantação e de manutenção.

No mundo corporativo, o cenário de TI está em constante tranformação no

sentido de redução de custos, principalmente devido a uma série de tendências

irreversíveis, e com caráter mundial, voltadas para o universo móvel. O uso crescente

de dispositivos móveis como primeiro acesso a informações corporativas e a melhoria

dos serviços em nuvem criam um meio corporativo descentralizado, obrigando as

empresas a reavaliarem constantemente suas estratégias de TI.

Assim, as antigas soluções usadas em redes WANs privadas, como linhas

dedicadas e circuitos de Frame Relay já não proporcionam a flexibilidade requerida

para o atendimento de um cenário de mobilidade, principalmente em tempos onde se

busca reduzir custos. Ao mesmo tempo, a internet como infraestrutura ainda se mostra

como principal meio integrador, criando um cenário desafiador para especialistas em

segurança da informação, já que informações privadas precisam trafegar num meio

aberto a usuários mal intencionados.


2

Neste contexto, uma solução muito utilizada é o acesso remoto seguro, com

base na aplicação de Redes Virtuais Privadas, VPN (Virtual Private Network). O

conceito de VPN surgiu da necessidade de se utilizar redes de comunicação não

confiáveis para trafegar informações de forma segura através de um túnel

criptografado entre dois pontos. Este túnel funciona como um canal por onde os dados

são enviados sem que outros usuários tenham acesso. A idéia é a mesma de um túnel

rodoviário: uma entrada euma saída de forma que quem está do lado de fora não

consegue ver quem está passando pelo interior.

Porém, uma rede VPN própria tem um custo, pois exige uma conexão dedicada

de alta velocidade, mesmo utilizando-se de recursos como Load Balance, QoS e

Multipath para que links mais baratos sejam utilizados. Também é necessário dispor

de uma equipe própria para administrar essa rede, já que não basta ter um firewall

robusto, roteadores e outros sistemas de segurança se os mesmos não forem bem

administrados. Essa insfraestrutura física de rede tem um custo interno muitas vezes

não visualizado, como o tempo dedicado para monitorar a rede e sua segurança e a

necessidade de constante atualização e treinamento desses profissionais.

Desta forma, um grande problema hoje enfrentado pelas empresas, sejam

grandes ou pequenas, é integrar as pessoas de forma segura com o menor custo

possível. Uma questão que surge então é: como novas tecnologias, em particular a

de blockchain, podem dar suporte à criação de conexões privadas seguras?

Com este foco, o objetivo deste trabalho é investigar uma solução para

viabilizar uma VPN segura de baixo custo, utilizando o conceito de blockchain, por

meio de um estudo de caso numa empresa que tem escritórios distintos em diferentes

países.
3

Analisaremos o caso de uma empresa de engenharia BrasX (nome fictício),

com projetos navais onde o escritório de projeto fica em um país e o estaleiro em outro

distinto: precisa-se, assim, de comunicação constante das equipes entre os dois

polos. Todo o projeto deve ter um banco de dados único, visto em tempo real tanto

pelo escritório de projetos como no estaleiro, em redes distintas. Isso implica na

necessidade de uma rede segura e rápida, um caso típico para uso de uma VPN entre

os dois sites. No caso, o banco de dados deve ser dimensionado para processar todo

o projeto inclusive arquivos diversos envolvidos, documentação, arquivos CAD,

instrumentação, segurança e outros.

Assim, a contribuição deste trabalho é fundamentar empresas e profissionais

de rede de computadores sobre o crescente uso de tecnologia blockchain,

principalmente para resolver problemas atuais como o uso em redes virtuais privadas

(VPN) para reduzir custos.

Utilizando o estudo de caso como metodologia de pesquisa (Filippo; Pimentel;

Wainer, 2011), este trabalho apresenta uma proposta de um sistema descentralizado

de VPN utilizando o conceito de blockchain para a troca de informações entre duas

redes distintas utilizando a internet. Conforme já mencionado, este estudo de caso é

realizado na empresa BrasX onde reuniões foram feitas para tentar resolver

problemas de infraestrutura, principalmente relacionados à qualidade da conexão, à

velocidade de troca de dados, a o custo e aos riscos envolvidos. As fontes de dados

deste estudo de caso são os valores gastos mensalmente com provedores e

servidores de redes VPN para conexão entre as redes da empresas, e com

funcionários fora da rede interna, assim como relatórios sobre a qualidade do serviços,

principalmente levando em consideração a disponibilidade e qualidade do sinal

provido.
4

No próximo capítulo é feita a revisão bibliográfica, apresentando os conceitos

técnicos abordados no trabalho, como VPN, blockchain e demais tecnologias

envolvidas. No Capítulo 3 é exposto e discutido o problema real para estabelecer essa

rede VPN na empresa BrasX, e no Capítulo 4 é analisada a solução de rede VPN

proposta, explicando com mais detalhes principalmente os pontos positivos e

negativos em comparação com uma rede VPN centralizada padrão. Finalizando, no

Capítulo 5 é feita a conclusão deste trabalho e apresentadas propostas de melhoria

futuras ao sistema.

2 REDE VPN E BLOCKCHAIN

Este capítulo é dividido em 4 seções. Na Seção 2.1, são apresentados

conceitos básicos necessários ao desenvolvimento deste trabalho, principalmente

relativos à criptografia, segurança e modo de funcionamento desses tipos de rede. Na

Seção 2.2, apresentamos em maior profundidade o conceito de Redes Privadas

Virtuais (VPN), exemplificando seu uso e a forma como ela funciona e garante a

segurança na troca de informações. Posteriormente, na Seção 2.3 é apresentado o

conceito de Blockchain com seus conceitos básicos de funcionamento, a cadeia de

informações agrupadas em blocos ligados por chaves criptografadas, o conceito de

transações entre os elos da cadeia e como é feita a validação dos dados trafegados.

2.1 Conceitos

Nessa seção, discutimos o que é criptografia de chave pública, explicando

claramente o seu conceito, principais algoritmos e, principalmente, a forma como ela

é utilizada. Posteriormente, é explicado o conceito e uso da função criptográfica

HASH, fundamental para o funcionamento de redes Blockchain, assim como o


5

conceito de assinatura digital para verificação dos dados trafegados em uma rede

P2P, também abordada nessa seção.

2.1.1 Criptografia de Chave Pública

Publicado em 2002 por Martin Hellman, o algoritmo chamado de chave de troca

Diffie-Hellman-Merkle (Hellman, 2002), tem sido muito utilizado para a transmissão

segura de mensagens entre dois interlocutores. Hoje o algoritmo é mais conhecido

como a criptografia de chave pública, ou criptografia assimétrica, onde faz-se o uso

de duas chaves diferentes no processo.

O algoritmo é baseado no uso de uma chave pública para criptografia e uma

chave privada para descriptografar, o que possibilita que dois interlocutores, que não

se conehcem previamente, estabeleçam uma comunicação segura através de um

canal de inseguro. É um modelo bastante seguro, onde somente o destinatário que

possui a chave privada consegue acesso à informação original criptografada através

de uma chave pública do destinatário. Este modelo se contrapõe ao modelo de chave

simétrica, onde a mesma chave é utilizada para criptografia e decriptografia, exigindo

que a mesma chave seja transmitida, o que a torna vulnerável de interceptação por

outras pessoas na rede que por ventura tenham acesso a esta chave, tornando o

processo com duas chaves mais seguro. A Figura 1 ilustra o modelo chave pública.
6

Figura 1 - Criptografia de Chave Pública (Salomaa, 1996)

Dessa forma, a segurança de um sistema criptográfico assimétrico em geral

está na diferença entre os caminhos de ida e volta da operação matemática envolvida

(Impagliazzo, 1989). Quanto maior a diferença nos caminhos, maior a eficiência

envolvida no processo. Alguns algoritmos para ciptografia assimétrica ficaram

bastante conhecidos ao longo do tempo, como, por exemplo, o algoritmo Diffie-

Hellman de 1975, que é baseado na dificuldade em se reverter operações logarítmicas

e é normalmente utilizado para estabelecer acordo sobre uma chave primária a ser

usada em outra comunicação. Um exemplo de sistema de criptografia com chave

pública é o algoritmo do tipo RSA, que explora operações de fatoração de um número

em fatores primos, comparado à facilidade de multiplicar dois primos para gerar um

produto, ou as chave públicas e privdas. É considerado um dos mais seguros e

também o primeiro algoritmo a possibilitar criptografia e assinatura digital.

Atualmente, o tipo de Criptografia de Curvas Elípticas (CCE) é considerado o

tipo mais eficiente e seguro, sendo assim o mais utilizado para aplicações de

blockchain. As chaves públicas e privadas do algoritmo são calculadas a partir de


7

repetidas operações de adição de coordenadas polares obtidas pela interseção da

curva elíptica com diversas retas tangentes (Hankersonet al, 2006).

De modo geral, a criptografia com chave simétrica provê confidencialidade,

enquanto a criptografia com a chave pública, ou assinatura digital, provê

autenticidade.

2.1.2 Função Hash

Uma função hash criptográfica, também denominada Message Digest, é um

mecanismo muito utilizado para assinaturas digitais. De acordo com Paar e Pelzl

(2009), hash é um identificador único de um dado digital com tamanho fixo que

apresenta as seguintes características:

• Unidirecional – Uma vez convertido o hash de um dado, não é possível

obter o dado original.

• Baixa Colisão –Isso implica que duas entradas de dados aleatórias não

irão gerar o mesmo hash. Matematicamente, a chance de acontecer um

hash idêntico para dados diferentes tem que ser praticamente nula.

Conforme se pode observar na Figura 2, cada mensagem diferente, mesmo

que seja um caractere, gera um hash totalmente diferente para uma mesma função

hash criptográfica “h”.


8

Figura 2 - Princípios da entrada e saída de dados (Paar e Pelzl, 2010)

2.1.3 Assinatura Digital

A assinatura digital é uma maneira de autenticar uma informação análoga a

uma assinatura física em um documento. Isso a torna indispensável em transações

criptografadas que exigem alto nível de segurança. Para garantir a autenticidade e

segurança, ela deve contar com as seguintes propriedades:

• Autenticidade – Qualquer pessoa deve poder confirmar o autor. Mas

apenas o emissor deve conseguir reproduzir sua assinatura digital.

• Integridade – A assinatura deve estar também vinculada ao conteúdo

do documento. Qualquer alteração no documento invalida a assinatura

digital existente.

• Irretratabilidade ou não-repúdio – O emissor não pode negar a

assinatura digital depois de emitida. Assim, garante-se a autenticidade

da assinatura e evita-se a reprodução e o uso da mesma em um

documento para o qual ela não foi feita. Digitalmente falando, a


9

criptografia assimétrica é utilizada para garantir essas características.

Conforme visto na Seção 2.1.1, o modelo de chaves pública e privada

é perfeitamente utilizado para garantir a autenticidade da mensagem,

sendo que a chave a privada é utilizada para criptografia, e a chave

pública para descriptografar e assim garantir a autenticidade. Para

garantir a confindencialidade, utiliza-se a função hash no documento e

uma saída única é gerada. Assim, para criar uma assinatura digital,

basta criptografar o hash da mensagem original com a chave privada,

e, quem for verifica-la, só terá que descriptografar esse hash com a

chave pública e comparar com o hash da mensagem recebida para

atestar a integridade da mensagem.

Na Figura 3 podemos visualizar melhor o processo de assinatura digital.

Figura 3 - Processo de assinatura digital (Narayanan et al, 2016)

2.1.4 Árvore de Merkle

Árvore de Merkle, também conhecida como árvore de dispersão, é uma

estrutura de dados com contém informação resumida de uma pedaço de informação

maior, de modo a criar um resumo de dados com integridade criptográfica verificável


10

de fomra eficiente quando se tem o dado conhecido como raiz de Merkle (presente no

cabeçalho de cada bloco).

Para formar a raiz de uma árvore binária com transações, o hash de cada bloco

é concatenado ao id da transação vizinha, sendo este submetido a um novo hash até

chegar ao Top Hash (Merkle, 1988). A Figura 4 esquematiza esse processo.

Figura 4 – Exemplo de árvore de Merkle (*wiki)

2.1.5 Redes P2P

Redes com arquitetura P2P (PeerToPeer) se contrapõem ao modelo tradicional

de troca de dados entre cliente e servidor. É um modelo descentralizado em que cada

máquina exerce as duas funções, enviando e recebendo dados. Cada computador


11

conectado em uma rede P2P é chamado de nó e uma rede P2P não tem limitação de

nós. Ao contrário de um modelo cliente-servidor, onde, quanto mais requisições de

clientes, pior fica o desempenho do servidor, em uma rede P2P, quanto maior for o

número de nós, melhor será o desempenho da rede já que os dados terão maiores

opções de caminho até um nó de destino que esteja na mesma rede

Além disso, existe total flexibilidade quando novos nós entram na rede e outros

se desconectam, mudando apenas o caminho percorrido pelos dados e, assim,

garantindo a operação de aplicações P2P que estiver em funcionamento. Com a

arquitetura cliente-servidor, qualquer aplicação seria interrompida caso o servidor se

desconectasse. As Figuras 5 e 6 apresentam as estruturas, formadas por clientes(nós)

e servidor, dos dois modelos de arquitetura.

Figura 5 - Arquitetura cliente-servidor (adaptado de Wang, 2009)


12

Figura 6 - Arquitetura P2P (adaptado de Wang, 2009)

Outra característica importante do P2P é que, pelo fato de a arquitetura ser

descentralizada, as informações são replicadas por diversos nós afim de garantir a

correta transmissão dos dados entre origem e destino mesmo que um nó seja

desligado durante uma operação, assim tornando praticamente impossível apagar ou

alterar algum dado trafegando na rede.

2.2 Redes Privadas Virtuais (Virtual Private Network - VPN)

A implementação de redes privadas através de uma rede pública, como a

Internet, é o que chamamos de Rede Privada Virtual ou Virtual Private Network (VPN).

As VPNs são basicamente túneis criptografados entre pontos distintos, usando redes

públicas ou privadas, por meio das quais informações são trocadas de forma segura.
13

Uma rede VPN é fundamentada pela sua segurança na troca de informações,

já que permite a troca de dados privados através de meios inseguros, como a internet,

sem que ocorra interceptação ou modificação nos dados. Os principais elementos de

uma rede VPN são a autenticação dos usuários nas extremidades da conexão através

de alritmos do tipo hash, o tunelamento da conexão, que é a forma como os dados

vão trafegar, e o transporte subjacente que visa aumentar a segurança do protocolo

IP utilizado na troca de informações.

Uma das grandes vantagens do uso de VPNs, comercialmente, é a redução de

custo de implementação, manutenção e conexão para empresas, pois evita o uso de

um link dedicado entre endereços fisicamente distintos, principalmente para usuários

móveis ou remotos.Existem três usos principais de VPNs. Um deles é conexão de

LANs através da internet utilizando um link dedicado de um ISP. Neste caso, um

software VPN promove a conexão formando uma WAN corporativa.

Outra possibilidade é a conexão de usuários remotos, externos a uma rede

privada (LAN) através de um link dedicado do tipo ISP. Forma-se assim um túnel

seguro para a troca de dados através de um meio inseguro como a internet. Isso se

torna muito útil para o caso de funcionários de uma empresa acessarem a rede interna

(intranet) estando fisicamente fora da empresa.

Esse método de autenticação e da segurança e virtualização das redes VPN

pode ser utilizado para um terceiro caso, onde uma VPN utilizada dentro de uma

mesma rede corporativa para o caso de existirem dados confidenciais e a troca de

dados precisar se promovida através de uma conexão segura. Neste cenário, a

conexão é criada por um servidor VPN que fornece túneis seguros para a troca de

informações.
14

2.3 Blockchain

De maneira simplificada, o conceito de blockchain é uma cadeia de registros

imutáveis, públicos e distribuídos formando um tipo de banco de dados distribuído. Os

dados de uma cadeia blockchain funcionam basicamente sobre 4 pilares, segundo

Narayanan colaboradores (2016) e Okupski (2014):

• Cadeia - os registros estão cuidadosamente encadeados uns aos outros

por meio de chaves públicas, entradas e saídas;

• Imutáveis - uma vez que o registro é inserido na cadeia, ele não pode

mais ser alterado;

• Públicos - a única condição necessária para que um cidadão possa ter

acesso aos registros do blockchain é que ele tenha acesso à internet;

• Distribuídos - esta cadeia de registro não está armazenada em um

único servidor central, ao contrário, está replicada em milhões de

máquinas distribuídas pelo mundo todo. Nenhuma empresa ou indivíduo

pode reivindicar a propriedade destes registros.

2.3.1 Cadeia de blocos

O conceito de blockchain está baseado na estrutura de blocos encadeados,

onde cada bloco possui uma área de transações e outra de cabeçalho. Na área de

transações estão os registros de todas as transações onde aquele bloco participou.

Na área de cabeçalho se encontram o hash do cabeçalho do bloco anterior e a raiz

da árvore de Merkle das transações presentes no campo de transações. Dessa forma,

cada bloco está ligado ao bloco anterior, formando uma cadeia de blocos. Cada

transação está representada no cabeçalho por meio da raiz da árvore de Merkle em


15

que foi coletada (Narayanan et al, 2016). A Figura 7 mostra esse sistema de

encadeamento dos blocos.

Figura 7 - Cadeia de blocos do blockchain a partir de um hash

É interessante notar que a propriedade de imutabilidade do blockchain e boa

parte de sua segurança derivam-se da estrutura encadeada dos blocos. Como cada

bloco contém em seu cabeçalho o hash formado também com informações do

cabeçalho do bloco anterior, criando o encadeamento entre eles e garantindo a

integridade da informação, torna-se extremamente difícil alterar blocos antigos sem

alterar todos os blocos subsequentes. Na prática, cada bloco adicionado torna mais

difícil alterar algum bloco já existente na cadeia e, consequentemente, torna-se

necessária uma capacidade de processamento ainda maior.

A utilização da árvore de Merkle permite detectar qualquer alteração nas

transações, uma vez qualquer alteração nas transações do bloco resulta em uma

alteração na raiz da árvore de Merkle inserida no cabeçalho do bloco. Assim, a

dificuldade para se alterar um registro do blockchain cresce à medida que novos nós

são adicionados à rede (Okupski, 2014).

2.3.2 Transações (Registros)

Uma transação em um blockchain é formada pela entrada e saída de dados

de um elo para outro elo diferente da corrente. Cada transação fica identificada na
16

corrente sob a forma com um identificador (id) e o tamanho dos dados trocados. Para

cada transação é gerado um hash único que, adicionalmente é encadeado na corrente

publicamente. Tecnicamente, uma transação é composta por três campos:

• metadados, contendo informações da transação como id e tamanho em


bytes;
• campo de entradas, contendo vetor com informações sobre as entradas
da transação;
• campo de saídas, contendo informações sobre as saídas da transação.

Esses 3 campos são esquematizados na Figura 8 (Antonopoulos, 2014).

Figura 8 - Encadeamento de transações no blockchain

O campo Metadados reúne informações gerais da transação, como o tamanho

da transação em bytes, a quantidade de entradas e saídas, a versão do protocolo e o

id da transação obtido a partir do cálculo de seu hash SHA256.


17

O campo Entradas apresenta uma lista numerada de entradas desta transação.

Cada entrada de uma transação deve fazer referência à saída de outra transação

anterior. Logo, neste campo há uma lista de id‘s de outros registros e o respectivo

número da saída. Estas saídas devem ser computadas como entradas nesta

transação. Ainda no campo entrada são adicionadas uma assinatura digital e uma

chave pública responsáveis por confirmar que aquela transação está autorizada a

utilizar as saídas indicadas no campo Entradas. O campo saída apresenta uma lista

numerada de saídas que devem ser utilizadas como entradas de transações futuras.

Este campo apresenta ainda um hash de chave pública que possui informações que

condicionam a utilização dessas saídas por outra transação.

Como mostrado na Seção 2.1.3, a assinatura digital faz uso da chave privada

para criptografar (assinar) uma mensagem e da chave pública para verificacar a

assinatura. Dessa maneira, ao inserir uma chave pública na saída da transação (ou

um hash dela), apenas o portador da chave privada correspondente estará autorizado

a utilizar aquela saída. No processo de validação da transação, a chave pública

informada no campo Entrada é comparada com a chave pública previamente inserida

na Saída. Caso elas sejam diferentes, a transação é considerada inválida e não é

propagada para os demais nós da rede. Caso elas sejam iguais, a assinatura

informada no campo Entrada é verificada com a chave pública previamente

confirmada. Se a assinatura for autêntica, ou seja, se a decriptação com a chave

pública revelar o hash dos dados da transação, então a transação é validada,

replicada para os demais nós da rede e coletada em bloco para mineração. Caso

contrário, a transação é descartada. A Figura 9 apresenta o processo de validação de

transações com chaves públicas e privadas.


18

Figura 9 - Validação de transação com criptografia assimétrica (Okupski,

2014)

2.3.3 Validação de Blocos

A validação de um bloco, ou mineração, consiste em uma conta matemática

que cria um consenso descentralizado sobre a validade do bloco entre os nós na rede

blockchain. Assim, todos os nós passam a aceitar aquele bloco como válido. Esse

esforço matemático para validar um bloco é conhecido como prova de trabalho, ou

proofofwork. Um nó minerador coleta as transações para validar o bloco e calcula a

raiz da árvore de Merkle, como visto na Seção 2.1.4, e passa a executar o algoritmo

de Prova de Trabalho.

Prova de trabalho é o algoritmo que garante consenso na rede através de um

problema probalilístico, onde a probabilidade de sucesso depende da dificuldade

estabelecida pelo sistema. Quando uma solução é encontrada, um novo bloco é criado

e, ao final do bloco, o resultado (conhecido como nonce) é adicionado ao bloco.


19

Figura 10 - Blocos com o nonce resolvido após a prova de trabalho

A mineração em um blockchain consiste em calcular esse número nonce para

os novos blocos e, assim, este novo bloco é imediatamente publicado na rede para os

nós adjacentes pela rede P2P existente. Cada um destes nós recebe o novo bloco e

faz uma verificação pelo hash se ainda não existe, adiciona ao blockchain e replica a

informação para os nós adjacentes. A operação termina quando todos os nós recebem

esse novo bloco e existe consenso na rede.

3 PROBLEMA: INTEGRAÇÃO FÍSICA DE REDES EMPRESARIAIS

Neste capítulo é apresentada a situação enfrentada pela empresa BrasX (nome

fictício) composta por escritórios espalhados em diversos locais do mundo. Esta

característica mundial obriga a BrasX a investir grandes somas de dinheiro na

infraestrutura necessária para a troca de dados entre seus funcionários por meio de

redes locais.

Na seção 3.1 é apresentado um histórico da empresa e seu crescimento

nacional e posteriormente internacional. Em seguida, na Seção 3.2, é apresentado o

cenário atual de infraestrutura de rede da empresa, que tem se mostrado um problema


20

crescente, uma vez que para acompanhar o crescimento e uso de novas tecnologias,

o modelo atual de VPN demanda um investimento financeiro significativo para dar

garantias de funcionamento e crescimento exigidos.

3.1 BrasX

A empresa BrasX é uma empresa de soluções e prestação de serviços de

engenharia e TI fundada em 1988. A empresa atua principalmente no mercado de

óleo e gás e tem sede no Rio de Janeiro, principal polo deste segmento no Brasil.

Contando com escritórios no Brasil e estaleiros fora do país, principalmente em

Singapura e na China, a empresa é atualmente uma das maiores fornecedoras

brasileiras de soluções neste segmento. A partir de 2006, a BrasX experimentou

crescimento acentuado na quantidade de projetos de projetos impulsionados pelo

crecimento da indústria nacional de óleo e gás, principalmente após a descoberta do

pré-sal.

Atualmente, a BrasX conta com projetos nacionais de grande porte, como

grandes plataformas de petróleo e navios de apoio em geral para a indústria de

exploração offshore. Seus projetos são concebidos na matriz e escritórios pelo Brasil

e a etapa de construção é concluída em estaleiros na Ásia, principalmente por

questões de custos e prazos.

A empresa utiliza recursos de última tecnologia disponível e programas de alta

capacidade que utilizam bancos de dados gigantescos. Esses bancos de dadossão

utilizados para todas as etapas do projeto, desde gerenciamento de documentos,

produção de desenhos, isométricos e P&IDs em duas dimensões (2D), até uma


21

maquete em três dimensões (3D) para o projeto de onde é extraída uma série de

documentos inerentes ao projeto.

Com o advento do CAD (Computer Aided Design) e do CAE (Computer

AidedEngineering), os computadores substituíram totalmente o uso de papel e todo o

projeto de engenharia passou a ser feito com o auxílio do computador. Como

consequência, a demanda por infraestrutura computacional foi elevada a um patamar

muito mais complexo.

3.2 Descrição do problema

Os projetos desenvolvidos e realizados no escritório brasileiro da BrasX

precisam ser compartilhados em tempo real entre todos os escritórios, o que é

realizado através do compartilhamento da intranet local da empresa.

A comunicação entre os escritórios precisa ser de duas vias. Projetistas e

engenheiros em qualquer lugar, com as devidas permissões, podem alterar ou solicitar

alterações no projeto. Para isso, velocidade na troca de dados e disponibilidade alta

da rede são mandatórios: solicitações precisam ser atendidas o mais rapidamente

possível para que nem o escritório que desenvolve o projeto e nem o estaleiro percam

um mínimo de tempo com burocracia.

Assim, o setor de Tecnologia da Informação da empresa precisa prover uma

solução em VPN confiável, segura e veloz para interligar toda rede da empresa e todos

os lugares. Uma VPN convencional pode suprir essas necessidades, já que pessoas

fora de uma rede interna podem acessá-la por um canal seguro.

No entanto, redes VPNs convencionais centralizadas, apesar de suprirem essa

necessidade, apresentam alguns problemas, como o serviço estar condicionado a


22

uma grande quantidade de provedores centralizados, fazendo com que não se possa

garantir a total anonimidade do processo. No caso, quanto maior a centralização da

informação, mais fácil se determinar a origem, assim menos privacidade na troca de

dados.

Além da questão da anonimidade, como o serviço é oferecido por empresas

que detêm a insfraestutura necessária, o custo de infraestrutura acaba sendo elevado

para manter esse servidor centralizado, porque para manter a confiabilidade do

sistema, a empresa vai depender de um provedor de dados de alta capacidade,que

possa garantir altas taxas de transferência de download/upload. Adicionalmente, esse

provedor pode ter um custo mais ou menos elevado dependendo de sua localização.

Outra questão do uso de um serviço centralizado é a escalabilidade. Como

utiliza-se a mesma interface de rede da intranet para os usuários, é fácil para a

empresa fornecedorado serviço administrar, e adicionar novos usuários. No entanto,

caso seja necessário aumentar ou adicionar algum equipamento de fornecedores

diferentes, pode-se ter problemas de compatibilidade, ou até inviabilidade econômica,

para fazer equipamentos de fornecedores diversos conversarem. No caso da BrasX,

como um dos escritórios fica na China, país com alto índice de controle da internet

pelo governo, existe a necessidade de uma autorização especial para uma conexão

externa.

Do ponto de vista da segurança, a implantação de uma VPN pode ser

complexa, significando um alto conhecimento da rede por profissionais altamente

especializados. Também existe a possibilidade de logs serem feitos indevidamente no

caminho, ainda mais utilizando a internet em países como a China que fazem controle

rígido dos dados trafegados na internet.Essa política de bloqueio é conhecida como

DeepPackageInspection (DPI), que filtra pacotes de rede de computadores e examina


23

a parte de dados e/ou do cabeçalho ao passar por algum ponto da rede onde é feita

uma inspeção. Esse método é muito eficiente para detectar tráfego via VPN onde

ocorre o reconhecimento dos dados encapsulados via protocolos de segurança VPN.

A filtragem DPI é que permite que o servidor distingua os diferentes tipos de

dados trafegados, tais como Youtube, requisições http, Skype, entre outros inúmeros

tipos de dados. Ele é amplamente utilizado por governos que mantêm políticas de

controle de dados na internet do país como China e Síria, que tem como alvo

protocolos VPN, por exemplo, OpenVPN, L2TP e PPTP. Outras formas menos

eficientes de bloqueio seriam ou diretamente pelo IP dos provedores de VPN, ou pelas

portas do protocolo VPN, como 1194 (UDP), 1723 (TCP), 500 (UDP), 4500 (UDP),

1701 (UDP), entre outras.

Outra questão importante na segurança é o fato de dados provenientes de

VPNs são visíveis na rede. Um observador pode ver que existem dados provenientes

de determinada empresa trafegando mesmo que eles não sejam compreensíveis. Isso

pode gerar um problema de segurança, pois torna a VPN visível para pessoas mal

intencionadas e, assim, comprometer toda a segurança da rede VPN.


24

4 SOLUÇÃO: UTILIZAÇÃO DE UM MODELO DE VPN DESCENTRALIZADA

UTILIZANDO BLOCKCHAIN

A BrasX está ciente dos problemas relacionados no capítulo anterior e tem

interesse em buscar soluções para aumentar a segurança de sua comunicação e

diminuir seus custos. Nesse contexto, este trabalho apresenta uma proposta de um

modelo de rede VPN descrentralizada, que é baseada em P2P e blockchain. Essa

proposta é apresentada nas próximas seções.

4.1 Rede Blockchain

Tendo como base os conceitos apresentados no Capítulo 2 e o cenário de

redes de computadores dos escritórios da empresa interligadas por meio da internet

apresentados no Capítulo 3, este trabalho propõe como solução a criação da rede

V2P2, uma rede de computadores com as seguintes características:

• Utiliza P2P como base para a comunicação entre os computadores no nível


de aplicação;
• Implementa um blockchain para prover maior segurança e menor custo de
conexão

A partir dessa proposta, os computadores passam a se comunicar de forma

que os dados trafeguem pela rede de maneira distribuída e descentralizada, ou seja,

todos os computadores da empresa atuariam como nós recebendo, repassando e

validando os dados trafegados.Como os dados circulam de forma distribuída, isso

torna a VP2P impossível de ser bloqueada, mesmo nos lugares com controles mais

rígidos utilizando bloqueios por DPIs direto na rede. Isso ocorre porque os dados

gerados não serão identificados como sendo provenientes de uma rede VPN, nem
25

utilizarão portas específicas já conhecidas. Além disso, caso um nó seja bloqueado,

os dados continuam trafegando pela rede.

4.2 Segurança

Do ponto de vista da segurança, os dados da VP2P irão trafegar de forma

transparente e invisível dentro da internet, evitando chamar a atenção para a rede

VPN, diminuindo assim os riscos de segurança da informação.

Outra questão importante é a não geração de logs em servidores centralizados

sobre os dados, informações de origem/destino, tamanhos, identificação dos usuários.

Além disso, mesmo que alguma parte dos dados seja desviada para um nó que esteja

offline, o sistema da rede irá perceber e esses dados perdidos irão retomar o caminho

por outros nós. Enventualmente, quem recebeu algum pacote, não terá como abrir e

ler o conteúdo e nem altera-lo e remeter novamente na rede, pois a alteração do hash

do pacote seria imediatamente detectada pelo blockchain e logo excluído.

4.3 Velocidade

A velocidade da rede fica limitada ao número de computadores conectados e,

quanto maiores as rede envolvidas, mesmo quando localizadas em lugares diferentes,

maior será o número de computadores processando a corrente e assim, como

consequência, maior será a velocidade de transferência de dados envolvida. Dessa

forma, vários computadores em redes distintas são capazes de se comunicar com

total rapidez, mesmo que um dos nós esteja com uma conexão mais lenta. Por

exemplo, quanto mais computadores estiverem disponíveis na blockchain, em mais

partes menores a informação pode ser quebrada e, potencialmente, estas irão

trafegar mais rápido até o destino.


26

4.4 Custos

Em relação a custos, inicialmente esperamos que a empresa BrasX tenha um

custo elevado de implantação justamente por se tratar de uma nova tecnologia, mas,

futuramente, os gastos tendem a ser muito menores comparados com uma rede VPN

centralizada. A rede VP2P tem a vantagem adicional de deixar a empresa preparada

para futuras expansões para outros lugares, inclusive para outros países, precisando

apenas contratar um serviço de internet local e integrar os computadores na

blockchain formada para a VP2P, independentemente de restrições e de limites de

cada lugar, e nem da quantidade de usuários.

4.5 Implantação

Para a implantação do projeto, o primeiro passo é escolher unidades próximas

e assim ir crescendo a estrutura e avaliando sua performance diante do uso real da

rede pelos diversos setores da empresa.

A empresa assume um custo inicial um pouco elevado para treinar e contratar

profissionais especializados em tecnologia blockchain, principalmente para o

desenvolvimento de softwares para a leitura e escrita das informações. No entanto,

esse custo logo é diluído diante da economia prevista pelo uso deste tipo de rede.

Enquanto uma estrutura dedicada de rede VPN tem um custo com uma ordem de

grandeza de milhares de dólares, considerando-se que a infraestrutura atende filiais

internacionais, numa rede baseada em VP2P o custo aproximado estimado é de 60%

do valor, com total elasticidade de uso.

Caso o cenário da empresa demande mais infraestrutura, esta já está

praticamente disponível considerando que se utilize os próprios computadores da


27

empresa para estabelecer os nós necessários. Servidores mais robustos são

necessários para estabelecer nós primários na rede, mas estes oferecem total

flexibilidade de operação.Uma vez implantada, a previsão é que em poucos anos a

tecnologia já se torne dominante na empresa, podendo até ser exportada como uma

solução para outras empresas, gerando ganhos e assim favorecendo financeiramente

o desenvolvimento e implantação desta tecnologia.

5 CONCLUSÃO

Este trabalho apresentou uma solução inovadora para um problema antigo de

empresas que dependem do uso extensivo de meios computacionais para se

comunicar com escrtórios em outras cidades ou países. A grande maioria das

empresas já utilizam redes VPN para a comunicação entre escritórios fisicamente

distantes e para a comunicação de funcionários que estejam em trânsito, fora da

empresa.

No entanto, esta infraestrutura de rede tem um custo elevado. Assim, neste

trabalho é apresentado um estudo de caso na empresa BrasX onde são estudadas

suas demandas de infraestrutura de rede e possibilidades de melhoria. A partir da

análise do cenário desta empresa, é proposta uma rede VPN utilizando uma nova

tecnologia, o blockchain, que tem o potencial de gerar uma redução de custo e até de

aumentar a segurança da informação trafegada.

Buscou-se neste trabalho apresentar uma proposta que faz uso de uma

tecnologia recente de forma a melhorar a eficiência de empresas integradas no

mundo. Como consequência, com a visualização dos resultados práticos – maior

velocidade e maior segurança - e a provável popularização desta solução, custos


28

serão reduzidos e, assim, toda a população poderá se beneficiar direta ou

indiretamente.

As dificuldades encontradas estão certamente ligadas à infraestrutura local de

internet de cada nó da rede blockchain, principalmente considerando que os lugares

de onde a rede VPN for acessada não se tem uma infraestrutura totalmente uniforme,

como é o caso dos países envolvidos – Brasil, Singapura, China. Além disso, para os

usuários, a rede VP2P funcionará de forma totalmente transparente sem necessitar

de nenhuma intervenção do usuário comum, que, além disso, funcionará como um nó

da rede VP2P para transferência de dados dentro da blockchain ao qual ele faz parte.

É importante notar que uma análise mais abrangente, com dados empíricos,

precisa ser feita. Como estamos propondo uma solução nova, utilizando uma

tecnologia muito recente como o blockchain, não temos um estudo comparativo para

relatar neste trabalho.

Para o uma segunda etapa, propõe-se o uso desse tipo de rede VPN utilizando

outros protocolos de blockchain mais moderno, como o protocolo chamado Ethereum

(Buterinet al, 2014). Este pretende ser uma evolução do blockchain tradicional e que

é mais versátil, permitindo o uso em qualquer aplicação programável. Abre-se assim

um novo horizonte para aplicações do tipo blockchain, como por exemplo, para

transferências financeiras, registro de títulos, registro de apólices de seguro, entre

outras.

Por fim, como essa tecnologia apresenta uma nova forma de fazer algo que já

existe utilizando uma tecnologia muito recente, certamente ela apresentará bastante

resistência no meio executivo para implementação. Assim, em um primeiro momento

acredita-se que ela seja adotada por parte dos setores de uma empresa. Após ganhar

confiança de seus usuários, a ferramenta deve ser expandida pela empresa até sua
29

total implementação, o que, ressaltamos, configura-se como uma ruptura de

paradigma na infraestrutura clássica de rede.

REFERÊNCIAS BIBLIOGRÁFICAS

BUTERIN, VITALIK (2014). Ethereum: A Next-Generation Cryptocurrency and


Decentralized Application Platform. Bitcoin Magazine.

ANTONOPOULOS; ANTONOPOULOS, ANDREAS M. (2014). Mastering Bitcoin -


Unlocking Digital Cryptocurrencies‖. Ed. O‘Reilly Media. ISBN 978-1-449-37404-4. 15-
28.

C. PAAR AND J. PELZL (2010). Understanding Cryptography, Springer-Verlag, Berlin,


Heidelberg, 2010, p. 173.

FILIPPO, D, PIMENTEL, M, WAINER, J (2011) Metodologia de Pesquisa Científica


em Sistemas Colaborativos. Sistemas Colaborativos, Capítulo 23. Mariano Pimentel,
Hugo Fuks. (Org.), 1a edição, Rio de Janeiro: Elsevier, 2011, ISBN 978-85-352-4669-
8p, 370-404.

HANDERSON; HANKERSON, DARREL; MENEZES, ALFRED; VANSTONE, SCOTT.


(2006). "Guide to elliptic curve cryptography. Springer. Nova York, USA. ISBN 0-387-
95273-X.

HELLMAN, MARTIN E. (2002), An overview of public key cryptography, IEEE


Communications Magazine, 40 (5): 42–49, doi:10.1109/MCOM.2002.1006971.

IMPAGLIAZZO, RUSSELL. (1989). One-way functions are essential for complexity


based cryptography‖. Dept. of Math., California Univ., Berkeley, CA, USA. ISBN 0-
8186-1982-1.
30

KRZYSZTOF OKUPSKI (2014): Bitcoin Developer Reference. Available at


http://enetium.com/resources/Bitcoin.pdf.[19] David Perry (2012): Bitcoin Attacks in
Plain English. Acesso em 30 Outubro 2018.

MERKLE, R. C. (1988). A Digital Signature Based on a Conventional Encryption


Function. Advances in Cryptology — CRYPTO '87. Lecture Notes in Computer
Science. 293. p. 369. doi:10.1007/3-540-48184-2_32. ISBN 978-3-540-18796-7.

NARAYANAN, A., et al. (2016). Bitcoin and Cryptocurrency Technologies: A


Comprehensive Introduction. Princeton University Press.

SALOMAA, A. (1996). Public-Key Cryptography, Springer-Verlag, ISBN 3540613560,


9783540613565, Berlin, New York, London, Paris, Tokyo.

WANG ET AL; WANG, PING; ASLAM, BABER; ZOU, CLIFF C. (2009) ―Peer-to-Peer
Botnets‖. School of Electrical Engineering and Computer Science, University of Central
Florida, Orlando, Florida 32816.

Você também pode gostar