A Blockchain-based Solution for Connected Vehicle Networks

Detalhes bibliográficos
Autor(a) principal: Álvares, Paulo Alexandre dos Santos
Data de Publicação: 2021
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10451/51238
Resumo: Tese de mestrado, Engenharia Informática (Arquiteturas, Sistemas e Redes de Computadores) Universidade de Lisboa, Faculdade de Ciências, 2021
id RCAP_386356077a823dbadb53e6da6d941ae7
oai_identifier_str oai:repositorio.ul.pt:10451/51238
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling A Blockchain-based Solution for Connected Vehicle NetworksInternet de VeículosBlockchainPartilha de informaçãoCriptografiaConsenso distribuídoTeses de mestrado - 2021Departamento de InformáticaTese de mestrado, Engenharia Informática (Arquiteturas, Sistemas e Redes de Computadores) Universidade de Lisboa, Faculdade de Ciências, 2021Previa-se que, em 2020, existiriam cerca de 26 mil milhões de dispositivos ligados à internet, com veículos a ocupar uma grande percentagem deste número. A Internet de Veículos (IdV) é um conceito que se refere à conexão e cooperação de veículos e dispositivos inteligentes numa rede através da produção, partilha e processamento de dados e que tem como objetivo a melhoria das condições de trânsito, do tempo médio de viagem e do conforto dos utilizadores, ajudando à redução dos níveis de poluição e acidentes. No entanto, a partilha de dados privados, como a localização, tem de ser completamente protegida de modo a salvaguardar os veículos e os seus condutores, visto que esta informação pode ser utilizada por agentes maliciosos, o que pode comprometer a segurança dos veículos e dos seus possíveis passageiros, especialmente com o desenvolvimento de carros com condução autónoma. Blockchain é uma tecnologia relativamente recente (i.e., 2008) que garante confiança entre dispositivos numa rede através do uso de mecanismos de criptografia e protocolos de consenso em ambientes distribuídos e não confiáveis, como as redes IdV. Assim sendo, tem-se feito muita pesquisa sobre como implementar e integrar aplicações e soluções baseadas em Blockchain em redes IdV, visto que a primeira oferece soluções para problemas críticos que existem na segunda, como a falta de segurança e privacidade. Porém, estas implementações têm de ter em conta os recursos limitados dos dispositivos na IdV, já que não são suficientes a nível de poder computacional e energia para suportar sistemas tradicionais de Blockchain, que utilizam protocolos de consenso baseados em Proof-of-Work. Protocolos de consenso deste tipo requerem a resolução de um problema matemático com cálculos extremamente complexos, que consomem bastantes recursos, a um nível energético, destes dispositivos e exigem a existência de capacidades computacionais elevadas, ou os tempos de execução dos algoritmos será tão grande que a eficiência dos mesmos não é suficiente para estes ambientes com trocas constantes de informação. Esta questão é uma das maiores limitações para a implementação de soluções baseadas em plataformas de Blockchain na IdV. Esta Dissertação tem como foco, então, introduzir e explicar uma proposta de solução para o problema referido, através da implementação de duas alternativas leves baseadas em primitivas criptográficas para atingir consenso e garantir confiança entre os nós que participam na rede, com resultados semelhantes a mecanismos tradicionais de Blockchain em termos de segurança e com menos consumo de recursos computacionais e energia. Estas soluções também são denominadas como Communication-Enforcing Schemes (CES) porque requerem que o nó que “assina a mensagem” (i.e., faz hash do bloco) tenha de receber toda a mensagem de quem envia, ou o resultado será incorreto. Esta propriedade impede a existência de um problema proeminente em redes peer-to-peer (P2P), como pode ser o caso das IdV: o free riding, que consiste em nós que utilizam a rede para seu benefício sem participar ativamente na mesma, o que viria a beneficiar os outros peers. O primeiro esquema apresentado, CBC-RSA, divide a mensagem recebida em blocos, faz o hash de cada divisão e une a informação toda novamente. No entanto, para evitar que o tamanho do resultado final seja maior que a mensagem original, aplica-se um protocolo de Cipher-block chaining (CBC) para manter o tamanho do resultado. Para o processo de verificação, o algoritmo realiza o processo no sentido inverso, desencriptando sequencial a mensagem de trás para a frente, com as chaves públicas do nó que criou a assinatura, para poder comparar os valores. Se o bloco tiver sido alterado, depois de ser introduzido na Blockchain, os valores desencriptados serão diferentes do que os que serão obtidos da mensagem atual. O segundo esquema, chamado Two-root RSA, divide a mensagem recebida em blocos, também, e cria um vetor inicial de bytes, preenchido de forma aleatória. Com essa informação, constrói uma equação polinomial de grau igual ao número de divisões da mensagem original. De seguida, o algoritmo tenta encontrar duas raízes desse polinómio e, se não encontrar, cria um vetor inicial novo e repete o processo até encontrar duas raízes válidas. Para fazer a verificação de dados, o algoritmo utiliza o vetor inicial e a mensagem original, cria a equação polonimal e utiliza as duas raízes encontradas para verificar se as mesmas ainda o são (raízes) para a equação criada com mensagem guardada no respetivo bloco. Se o bloco tiver sido alterado de forma maliciosa, o valor resultante será diferente de 0 para as raízes fornecidas, o que será detetado. Estes dois algoritmos foram implementados recorrendo à linguagem de programação Golang, que é a linguagem base das plataformas de Blockchain mais conhecidas, como o Hyperledger e o Ethereum. Foram, posteriormente, introduzidos na plataforma Ethereum¸ pois era a que tinha um protocolo baseado em PoW incorporado de início, ao contrário do Hyperledger, que utiliza uma versão do protocolo RAFT, pelo que seria necessário criar um terceiro protocolo PoW para fazer comparações em termos de consumo e tempos de computação. Para obter os dados, foram realizados testes em dispositivos diferentes, um com menos recursos computacionais (Raspberry Pi com 4GB RAM) e outro, um computador regular (8GB RAM). Estes testes serviram para comparar as diferenças entre os tempos de computação das criações de hashes de um computador regular e de um dispositivo semelhante aos que existem em redes IdV. Para simular um caso real, onde existe interação entre veículos, os dados de troca de mensagens entre veículos foram obtidos através de um simulador de redes veiculares (Veins). Esse registo de troca de mensagens foi, posteriormente, transformado em transações entre os nós da rede Ethereum, que foram aplicadas durante a execução de vários nós, a funcionar na mesma rede, para simular uma situação real de troca de mensagens entre os veículos e introdução de informação na Blockchain, e assim obter-se resultados o mais semelhantes à realidade. A avaliação de desempenho mostra que os mecanismos de consenso apresentados são, aproximadamente, até 12000 vezes mais rápidos a fazer o hashing dos blocos e até 40000 vezes mais rápido a verificar essa hash, que o protocolo utilizado atualmente na plataforma Ethereum, o Ethash. Para encriptar a informação, o CBC-RSA é mais rápido que o Two-root RSA, devido à complexidade dos cálculos matemáticos do segundo, mas, na verificação de integridade, os lugares invertem-se, sendo o Two-root RSA geralmente mais rápido, visto que o processo deste é bastante mais simples que a desencriptação necessária para a verificação de uma assinatura com CBC-RSA. Com os resultados obtidos, é possível concluir que os algoritmos apresentados se mostram, então, como soluções viáveis para o problema de recursos reduzidos presente nos dispositivos da IdV, utilizando menos recursos computacionais e requerendo menos tempo de execução que um método tradicional de consenso baseado em PoW, como é o caso do Ethash, garantido segurança, assegurada matematicamente pelas provas apresentadas no desenho dos algoritmos. O facto de serem desenvolvidos em Golang adiciona uma camada de flexibilidade de implementação e integração noutros sistemas, visto que é uma linguagem recente e utilizada nas maiores plataformas de Blockchain utilizadas para pesquisa científica e desenvolvimento de aplicações, como é o caso do Hyperledger. Futuramente, a generalização dos algoritmos para mais divisões da mensagem inicial é uma das propostas de desenvolvimento, de forma a avaliar, em termos de desempenho e tempo de encriptação e criação de assinaturas, de que modo o aumento do número de divisões poderá afetar a segurança e a eficiência dos protocolos, seja positiva, seja negativamente. Alterações ao modo de mineração de blocos do Ethereum, para algo periódico ou baseado em eventos poderia ser, também, uma mais-valia para a redução no consumo de recursos em dispositivos limitados a este nível.It had been predicted that by 2020, nearly 26 billion devices would be connected to the internet, with a big percentage being vehicles. The Internet of Vehicles is a concept that refers to the connection and cooperation of smart vehicles and devices in a network, through the generation, transmission, and processing of data that aims at improving traffic congestion, travel time, and comfort, all the while reducing pollution and accidents. However, this transmission of sensitive data (e.g., location) needs to occur with defined security properties to safeguard vehicles and their drivers, since this data could be used by attackers. Blockchain is a fairly recent technology that guarantees trust between nodes through the usage of cryptography mechanisms and consensus protocols in distributed, untrustful environments, like IoV networks. As such a lot of research has been made in implementing the former in the latter to impressive results, as Blockchain can cover and offer solutions to a lot of problems of IoV networks. However, these implementations have to deal with the challenge of resource constraints in IoV, since they do not suffice for the computational and energy requirements of traditional Blockchain systems, which is one of the biggest limitations of Blockchain implementations in IoV. This dissertation aims at introducing and explaining a proposed solution to this problem by implementing lightweight alternatives based on cryptographic primitives to achieve consensus on the global state and ensure trust between the nodes that participate in the IoV network, with similar results to regular Blockchain mechanisms in the terms of security properties and less resource consumption in terms of computational power and energy usage. Performance evaluation results show that the proposed consensus mechanisms are approximately 12000 times faster when hashing a block and up to 40000 times faster when verifying said hash, than the Proof-of-Work-based protocol that is presently used in Ethereum, Ethash.Magaia, Naércio David PedroRepositório da Universidade de LisboaÁlvares, Paulo Alexandre dos Santos2022-02-12T13:12:10Z2025-05-04T00:00:00Z202120212021-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10451/51238TID:202934080enginfo:eu-repo/semantics/embargoedAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-11-08T16:55:50Zoai:repositorio.ul.pt:10451/51238Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T22:02:34.266269Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv A Blockchain-based Solution for Connected Vehicle Networks
title A Blockchain-based Solution for Connected Vehicle Networks
spellingShingle A Blockchain-based Solution for Connected Vehicle Networks
Álvares, Paulo Alexandre dos Santos
Internet de Veículos
Blockchain
Partilha de informação
Criptografia
Consenso distribuído
Teses de mestrado - 2021
Departamento de Informática
title_short A Blockchain-based Solution for Connected Vehicle Networks
title_full A Blockchain-based Solution for Connected Vehicle Networks
title_fullStr A Blockchain-based Solution for Connected Vehicle Networks
title_full_unstemmed A Blockchain-based Solution for Connected Vehicle Networks
title_sort A Blockchain-based Solution for Connected Vehicle Networks
author Álvares, Paulo Alexandre dos Santos
author_facet Álvares, Paulo Alexandre dos Santos
author_role author
dc.contributor.none.fl_str_mv Magaia, Naércio David Pedro
Repositório da Universidade de Lisboa
dc.contributor.author.fl_str_mv Álvares, Paulo Alexandre dos Santos
dc.subject.por.fl_str_mv Internet de Veículos
Blockchain
Partilha de informação
Criptografia
Consenso distribuído
Teses de mestrado - 2021
Departamento de Informática
topic Internet de Veículos
Blockchain
Partilha de informação
Criptografia
Consenso distribuído
Teses de mestrado - 2021
Departamento de Informática
description Tese de mestrado, Engenharia Informática (Arquiteturas, Sistemas e Redes de Computadores) Universidade de Lisboa, Faculdade de Ciências, 2021
publishDate 2021
dc.date.none.fl_str_mv 2021
2021
2021-01-01T00:00:00Z
2022-02-12T13:12:10Z
2025-05-04T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10451/51238
TID:202934080
url http://hdl.handle.net/10451/51238
identifier_str_mv TID:202934080
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/embargoedAccess
eu_rights_str_mv embargoedAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799134575146827776