5 research outputs found

    Provendo privacidade no modelo de coordenação por Espaço de Tuplas

    Get PDF
    Dissertação (mestrado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2018.A coordenação entre processos se configura como um grande desafio no desenvolvimento de sistemas distribuídos. Um dos modelos utilizados para realização de coordenação entre processos temporal e espacialmente desacoplados é por Espaços de Tuplas, que consiste em uma implementação de memória compartilhada que provê armazenamento e recuperação de objetos de dados chamados tuplas. Buscas de tuplas são realizadas de modo associativo, através do conteúdo de seus campos. Este tipo de acesso pode impedir que haja privacidade dos dados armazenados, tornando-as vulneráveis a uma série de ataques, já que os servidores precisam acessar dados em claro para realizar buscas. Com o objetivo de sanar este problema, este trabalho apresenta propostas visando prover privacidade no sistema DepSpace, um sistema de coordenação que implementa mecanismos de tolerância a falhas e confiabilidade combinadas com aspectos de segurança. A ideia principal é utilizar esquemas criptográficos de computação privativa, que possibilitam a busca e computação sobre dados cifrados. Assim, os servidores podem operar sobre dados sem tomarem conhecimento dos mesmos. O sistema resultante além de prover privacidade, aumenta suas funcionalidades, tornando-se mais flexível. Apresentamos ainda uma análise de segurança do sistema com as melhorias propostas, juntamente com sua análise de desempenho, explicitando o impacto causado pelos algoritmos criptográficos. Experimentos foram realizados aplicando as propostas à coordenação distribuída extensível, um modelo que utiliza computação dos dados nos servidores para tornar a coordenação mais ágil. Os resultados mostram uma redução de até 90% na latência do sistema e um aumento de até quase 9x na vazão (throughput) no processamento de mecanismos de coordenação em comparação à abordagem tradicional não extensível.The coordination of distributed processes is a big challenge in the development of dis- tributed applications. Tuple spaces provide a model for processes coordination that is decoupled in space and time. Conceptually, tuple spaces are shared memory objects that provide operations to store and retrieve ordered sets of data, called tuples. Tuples stored in a tuple space are accessed by the contents of their fields, working as an associative memory. This kind of access could impair user and data privacy, making these Systems susceptible to several types of attacks since servers need to access plaintext data to search for tuples. In order to deal with this problem, this work proposes mechanisms to provide privacy on DepSpace, a fault-tolerant coordination system that combines dependability and security properties. The main idea is to use privacy-preserving cryptography schemes, that allow search and computation over encrypted data. Consequently, servers could operate over data without knowing them. Beyond to provide privacy, the resulting system increases its functionalities, being more flexible. This work also presents a security analysis of the system with the proposed improvements, together with its performance analysis that shows the impact caused by the cryptographic algorithms. A set of experiments was implemented applying this proposals for extensible distributed coordination, a model that uses data computing on the servers side to make the coordination faster. The results show that it could bring a reduction of up to 90% on the system latency and increase almost 9x its throughput on processing coordination mechanisms, comparing to the non-extensible traditional approach

    Um plano de controle seguro e distribuído para redes definidas por software

    Get PDF
    Dissertação (mestrado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2020.Redes Definidas por Software (SDN) surgiram como um novo paradigma para gerencia- mento de redes, definindo uma arquitetura que separa os planos de dados e de controle. Uma arquitetura SDN baseada em um controlador centralizado não escala e nem tolera falhas, pois apresenta um ponto único de falhas. Controladores distribuídos baseados em um modelo de consistência eventual para gerenciamento do estado da rede também apre- sentam sérios problemas: um modelo de programação complexo para as aplicações de rede; e pode gerar anomalias (como loops) na rede. Consequentemente, soluções considerando um modelo de dados com consistência forte para o armazenamento das informações da rede SDN foram propostos. Nestas abordagens, os controladores distribuídos usam um armazenamento de dados consistente e tolerante a falhas para armazenar o estado rele- vante das aplicações e da rede. Infelizmente, estas propostas existentes não consideram requisitos fundamentais de segurança para a arquitetura SDN. Este trabalho apresenta nossos esforços no projeto, implementação e avaliação de um modelo seguro e consistente para o plano de controle, baseado no DepSpace, que é um espaço de tuplas com pro- priedades de segurança. Modificamos duas aplicações de rede (Aprendizado de Switch e Balanceador de carga) de um controlador de mercado (i.e., Floodlight), integrando ao DepSpace e verificamos os custos introduzidos nesta arquitetura. Além disso, verificamos os custos apenas com a utilização do DepSpace considerando os acessos necessários para cada aplicação. Por fim, verificamos o uso de um mecanismo de coordenação extensível, presente no DepSpace para melhorar o desempenho da nossa arquitetura. Experimentos foram realizados aplicando nossa proposta e foi possível verificar o ganho de benefícios associados a manutenção de informações sensíveis em um espaço seguro evitando acessos indevidos e garantindo uma alta disponibilidade com a utilização de um armazenamento distribuído e seguro. Resultados mostram, ainda, um custo de aproximadamente 0, 4 se- gundos para se conectar ao armazenamento de dados seguro, significando um custo muito pequeno comparado com as vantagens das propriedades de seguranças adquiridas com o uso de tal arquitetura.Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES).Software Defined Networks (SDN) emerged as a new paradigm for network management, defining an architecture that physically decouples the control and data planes. A SDN ar- chitecture based on a central controller does not scale and neither is fault-tolerant since it presents a single point of failure. Distributed SDN controllers based on eventually consis- tent model for the network state also brings serious drawbacks: a complex programming model for network applications; and it can lead to network anomalies. Consequently, so- lutions considering a strong consistent model for the network state are emerging. In these approaches, the distributed controllers use a consistent and fault-tolerant data store that keeps relevant network and applications state. Unfortunately, these approaches do not consider security requirements for the SDN network. This work aims to design, implement and evaluate a secure and consistent model for the control plane based on DepSpace, a secure tuple space implementation. Experimental results show the practical feasibility of the proposed architecture. We modified two network applications (switch learning and load balancer) from a market controller (i.e., Floodlight), integrated them in DepSpace and analysed the costs introduced in this architecture. In addition, we check costs only with the use of DepSpace considering the accesses necessary in each application. Finally, we verified the use of extensible coordination, present in DepSpace, to improve the per- formance of our architecture. Experiments were performed using our proposal to verify the benefits with the use of a distributed and secure storage. Results also show an ap- proximate cost of 0.4 seconds to connect to secure data storage, meaning a very low cost when compared to the advantages of security properties provided by the architecture

    Mechanisms for improving ZooKeeper Atomic Broadcast performance

    Get PDF
    PhD ThesisCoordination services are essential for building higher-level primitives that are often used in today’s data-center infrastructures, as they greatly facilitate the operation of distributed client applications. Examples of typical functionalities offered by coordination services include the provision of group membership, support for leader election, distributed synchronization, as well as reliable low-volume storage and naming. To provide reliable services to the client applications, coordination services in general are replicated for fault tolerance and should deliver high performance to ensure that they do not become bottlenecks for dependent applications. Apache ZooKeeper, for example, is a well-known coordination service and applies a primary-backup approach in which the leader server processes all state-modifying requests and then forwards the corresponding state updates to a set of follower servers using an atomic broadcast protocol called Zab. Having analyzed state-of-the-art coordination services, we identified two main limitations that prevent existing systems such as Apache ZooKeeper from achieving a higher write performance: First, while this approach prevents the data stored by client applications from being lost as a result of server crashes, it also comes at the cost of a performance penalty. In particular, the fact that it relies on a leader-based protocol, means that its performance becomes bottlenecked when the leader server has to handle an increased message traffic as the number of client requests and replicas increases. Second, Zab requires significant communication between instances (as it entails three communication steps). This can potentially lead to performance overhead and uses up more computer resources, resulting in less guarantees for users who must then build more complex applications to handle these issues. To this end, the work makes four contributions. First, we implement ZooKeeper atomic broadcast, extracting from ZooKeeper in order to make it easier for other developers to build their applications on top of Zab without the complexity of integrating the entire ZooKeeper codebase. Second, we propose three variations of Zab, which are all capable of reaching an agreement in fewer communication steps than Zab. The v variations are built with restriction assumptions that server crashes are independent and a server quorum remains operative at all times. The first variation offers excellent performance but can only be used for 3-server systems; the other two are built without this limitation. Then, we redesigned the latest two Zab variations to operate under the least-restricted Zab fault assumptions. Third, we design and implement a ZooKeeper coin-tossing protocol, called ZabCT which addresses the above concerns by having the other, non-leader server replicas toss a coin and broadcast their acknowledgment of a leader’s proposal only if the toss results in an outcome of Head. We model the ZabCT process and derive analytical expressions for estimating the coin-tossing probability of Head for a given arrival rate of service requests such that the dual objectives of performance gains and traffic reduction can be accomplished. If a coin-tossing protocol, ZabCT is judged not to offer performance benefits over Zab, processes should be able to switch autonomously to Zab. We design protocol switching by letting processes switch between ZabCT and Zab without stopping message delivery. Finally, an extensive performance evaluation is provided for Zab and Zab-variant protocols

    Byzantine state machine replication for the masses

    Get PDF
    Tese de doutoramento, Informática (Ciência da Computação), Universidade de Lisboa, Faculdade de Ciências, 2018The state machine replication technique is a popular approach for building Byzantine fault-tolerant services. However, despite the widespread adoption of this paradigm for crash fault-tolerant systems, there are still few examples of this paradigm for real Byzantine fault-tolerant systems. Our view of this situation is that there is a lack of robust implementations of Byzantine fault-tolerant state machine replication middleware, and that the performance penalty is too high, specially for geo-replication. These hindrances are tightly coupled to the distributed protocols used for enforcing such resilience. This thesis has the objective of finding methodologies for enhancing robustness and performance of state machine replication systems. The first contribution is Mod-SMaRt, a modular protocol that preserves optimal latency in terms of the communications steps exchanged among processes. By being a modular protocol, it becomes simpler to validate and implement, thus resulting in greater robustness; by also preserving optimal message-exchanges among processes, the protocol is capable of delivering desirable performance. The second contribution is concerned with implementing Mod-SMaRt into BFTSMART, a reliable and high-performance codebase that was maintained and improved over the entire course of the PhD that offers multicore-awareness, reconfiguration support, and a flexible API. The third contribution presents WHEAT, a protocol derived from Mod-SMaRt that uses optimizations shown to be effective in reducing latency via a practical evaluation conducted in a geo distributed environment. We additionally conducted an evaluation of both BFT-SMART and WHEAT applied to a relational database middleware and an ordering service for a permissioned blockchain platform. These evaluations revealed encouraging results for both systems and validated our work conducted in the geo-distributed context.A técnica de replicação máquina de estados é um paradigma popular usado em vários sistemas distribuídos modernos. No entanto, apesar da adoção deste paradigma em sistemas reais tolerantes a faltas por paragem, ainda existem poucos exemplos de sistemas reais tolerantes a faltas bizantinas. Segundo a nossa experiência nesta área de investigação, isto deve-se ao fato de existirem poucas concretizações robustas para replicação máquina de estados tolerante a faltas bizantinas, assim como uma perda de desempenho demasiado elevada, especialmente em ambientes geo-replicados. A razão fundamental para a existência destes obstáculos vem dos protocolos distribuídos necessários para assegurar este tipo de resiliência. Esta tese tem como objetivo explorar metodologias para a robustez e eficiência da replicação máquina de estados. A primeira contribuição da tese é o algoritmo Mod-SMaRt, um protocolo modular que preserva latência ótima em termos de passos de comunicação executados pelos processos. Sendo um protocolo modular, torna-se mais simples de validar e concretizar, o que resulta em maior robustez; ao preservar troca de mensagens ótima entre processos, também é capaz de entregar um desempenho desejável. A segunda contribuição consiste em concretizar o protocolo Mod SMaRt na ferramenta BFT-SMART, uma biblioteca fiável de alto desempenho, mantida e melhorada ao longo de todo o período correspondente ao doutoramento, capaz de suportar arquiteturas multi-núcleo, reconfiguração do grupo de réplicas, e uma API de programação flexível. A terceira contribuição consiste em um protocolo derivado do Mod-SMaRt designado WHEAT, que usa otimizações que demostraram serem eficientes na redução da latência segundo uma avaliação prática em ambiente geo-replicado. Adicionalmente, foram também realizadas avaliações de ambos os protocolos quando aplicados num middleware para base de dados relacionais, e num serviço de ordenação para uma plataforma blockchain. Ambas as avaliações revelam resultados encorajadores para ambos os sistemas e validam o trabalho realizado em contexto geo-distribuído.Projeto IRCoC (PTDC/EEI-SCR/6970/2014); Comissão Europeia, FP7 (Seventh Framework Programme for Research and Technological Development), projetos FP7/2007-2013, ICT-25724
    corecore