Dissertação

{en_GB=TLS for Internet of Things} {} EVALUATED

{pt=Transport Layer Security (TLS) é um dos protocolos de segurança de comunicação mais usados no mundo. O seu objectivo principal é fornecer um canal de comunicação seguro com garantias de confidencialidade, integridade, autenticidade e segurança futura perfeita. Cada um dos seus serviços de segurança pode ser implementado por um dos vários algoritmos disponíveis. TLS não foi desenhado para o ambiente constrangido das Internet das Coisas (IdC), sendo demasiado exigente para tais dispositivos. Contudo, é um protocolo maleável e os seus serviços de segurança podem sem activados ou desactivados por conexão. A abdicação de um serviço de segurança ou uso de um algoritmo menos exigente computacionalmente, reduz os recursos utilizados. As propriedades de segurança da conexão são definidas pela configuracão TLS. Algumas das configurações podem ser usadas em ambiente das IdC. O trabalho existente foca-se no protocolo Datagram TLS e, ou está intimamente ligado ao uso de um protocolo específico ou requer o uso de uma entidade externa. Nesta tese é feita uma análise completa do protocolo TLS e dos seus serviços de segurança. Os resultados e diagramas aqui apresentados podem ser usados pelos programadores e profissionais de segurança para seleccionar a configuração de TLS mais leve, conforme os requisitos e limitações do seu ambiente. Nos avaliamos a implementação do protocolo TLS pela biblioteca mbedTLS, usando duas métricas de custo: o nu ́mero estimado de ciclos da CPU, obtidos com valgrind, e o tempo de execução, obtido com PAPI. De seguida, iremos comprovar que os valores estimados estão perto dos reais., en=Transport Layer Security (TLS) is one of the most used communication security protocols in the world. Its main goal is to provide a secure communication channel with the security services of confidentiality, integrity, authentication, and Perfect Forward Secrecy. Each security service can be implemented by one of the multiple available algorithms. TLS was not designed for the constrained environment and is too computationally demanding for many Internet Of Things (IoT) devices. However, it is a malleable protocol and individual security services can be enabled and disabled on a per-connection basis. Foregoing a security service or using a cheaper algorithm to implement it reduces the utilized computational resources. The security properties of a connection are defined by a TLS configuration. Some of those configurations can be used with the resource-constrained IoT devices. Existing work focuses on Datagram TLS and is either tied to a specific protocol or requires the usage of a third-party entity. For this reason, it cannot be easily integrated with existing deployments. In this work, we performed a thorough evaluation of the TLS protocol and its security services. We present a framework that can be used by software developers and security professionals to select the cheapest TLS configuration for their environment’s needs and limitations. We evaluate the TLS implementation of the mbedTLS library using two cost metrics: the estimated number of CPU cycles, obtained with valgrind, and execution time, obtained with PAPI. In the end, we will show that the estimated values are close to the real ones.}
{pt=TLS, DTLS, SSL, Internet das Coisas, Sistemas Embebidos, en=TLS, DTLS, SSL, IoT, Embedded Systems}

junho 6, 2019, 13:0

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Aleksandar Ilic

Departamento de Engenharia Electrotécnica e de Computadores (DEEC)

Professor Auxiliar

ORIENTADOR

Ricardo Jorge Fernandes Chaves

Departamento de Engenharia Informática (DEI)

Professor Associado