Sécurité et confidentialité des applications décentralisées

par Octavio Perez Kempner

Projet de thèse en Informatique

Sous la direction de David Naccache.

Thèses en préparation à Paris Sciences et Lettres , dans le cadre de Sciences Mathématiques de Paris Centre , en partenariat avec DIENS - Département d'informatique de l'École normale supérieure (laboratoire) et de Ecole normale supérieure (établissement de préparation de la thèse) depuis le 01-09-2018 .


  • Résumé

    1. Introduction L'un des principaux obstacles à la protection de la vie privée est celui de la confiance. Au moment où nous écrivons ces lignes, il semble irréalisable de placer toute la confiance dans un système central. Dans ce but, des efforts récents ont été faits pour décentraliser la confiance, souvent par le biais des Blockchains. Les technologies de Blockchain reposent sur l'idée de gérer des bases de données décentralisées combinées à des techniques cryptographiques de pointe et des protocoles de consensus pour supprimer le besoin d'une autorité centrale (tiers de confiance) tout en permettant aux parties non fiables concernées de s'entendre sur les données. Le cas le plus connu est celui de Bitcoin qui permet de maintenir un historique cohérent des transactions monétaires à convenir par des parties indépendantes non fiables, ce qui a permis l'utilisation d'une monnaie virtuelle pour effectuer des paiements sans passer par une institution financière, un système de paiement international ou dépendre sous une forme quelconque de ces institutions. Le succès de Bitcoin, l'idée d'une exécution décentralisée du code pour étendre l'utilisation des technologies des blockchains a d'abord été conçue et mise en œuvre par le projet Ethereum, qui a proposé un nouveau modèle pour le calcul décentralisé. Comme l'a souligné le fondateur d'Ethereum, Vitalik Buterin, "Le véritable génie derrière le succès de Bitcoin, Ethereum et des systèmes similaires n'est sans doute pas la conception spécifique de leur chaîne de blocs ou leur utilisation d'algorithmes qui ressemblent à des formes de consensus distribué afin de maintenir la sécurité ; C'est plutôt l'innovation de la crypto économie - l'art de combiner des techniques cryptographiques et des incitations économiques définies et administrées à l'intérieur d'un protocole afin d'encourager les utilisateurs à participer (correctement) à certains rôles dans le protocole, et ainsi préserver et maintenir certaines propriétés souhaitées du protocole". Avec cela, la recherche basée sur la modélisation de la théorie des jeux de chaînes de blocs est devenue d'un grand intérêt. De plus, ce que l'on appelle l'"Internet des valeurs", qui peut être considéré comme la prochaine étape vers le développement de l'Internet, où les utilisateurs pourront échanger tout bien de valeur directement de manière plus efficace et avec une réduction significative des coûts, motive encore plus de recherches. Au cours des dernières années, la plupart des recherches sur la Blockchain se sont concentrées sur les problèmes liés à l'évolutivité, la performance des transactions en termes de débit et de latence, et la robustesse de la confiance décentralisée, mais de nombreuses questions liées au problème de confidentialité qui doivent également être résolues restent à un stade très précoce dans l'état actuel des connaissances ; tel est le cas des contrats intelligents, qui sont une composante cruciale pour le développement des applications décentralisées avec des technologies en blockchain. L'ensemble des applications qui reposent sur la protection de la vie privée et les nouvelles réglementations entrées en vigueur récemment, telles que le règlement général sur la protection des données pour tous les individus au sein de l'Union européenne, motivent, entre autres recherches, les travaux sur la protection de la vie privée dans les contrats intelligents. Idéalement, un contrat intelligent respectueux de la vie privée devrait faire en sorte 1) que son contenu reste caché à tout le monde sauf à la partie qui le fournit, 2) qu'il puisse calculer sa fonction sans révéler aucun état intermédiaire, et 3) qu'il renvoie sa production en suivant la politique correspondante à cette fin. Plusieurs défis se posent pour accomplir cette tâche, et bien que le cryptage homomorphique puisse être une approche appropriée à essayer, il n'est toujours pas pratique pour les applications du monde réel, et d'autres voies ont été suivies. Les tentatives les plus réussies ont été faites en incorporant des environnements d'exécution sécurisés, des calculs multipartites sécurisés et des preuves de connaissances nulles. Les environnements d'exécution fiables font trop confiance aux fabricants de matériel et soulèvent également la question de savoir dans quelle mesure nous pouvons avoir confiance dans le matériel auquel les utilisateurs ont un accès physique. Cela nous amène à la deuxième option, qui présente également des inconvénients considérables. L'un des principaux inconvénients de l'utilisation du calcul multipartite sécurisé est qu'il nécessite plusieurs cycles d'interaction et que si certains utilisateurs interrompent le protocole, l'ensemble du calcul pourrait être compromis. Enfin, lorsque l'on considère les preuves de connaissances nulles, on peut trouver de graves limitations avec l'état actuel de la technique. En particulier, les systèmes de preuve les plus efficaces nécessitent une configuration de confiance coûteuse, spécifique à chaque contrat intelligent, et néanmoins très onéreuse pour le prouveur. Dans cette thèse, nous aborderons les questions de sécurité, d'efficacité et d'optimisation liées aux alternatives mentionnées ci-dessus afin de proposer des améliorations pour un environnement plus sûr et plus respectueux de la vie privée pour développer des applications décentralisées. 2. Programme de recherche Le doctorant mènera une recherche de pointe avec une approche théorique pour étudier l'état actuel de la technique, avec un accent particulier sur la problématique de la protection de la vie privée associée aux contrats intelligents, afin de procéder à une évaluation critique des différentes propositions et d'identifier les améliorations. Dans cette optique, les sujets suivants seront abordés: 2.1. Analyse de la sécurité des contrats intelligents Au début de cette année, l'équipe de vérification des contrats intelligents d'Hosho a publié un rapport indiquant qu'un contrat intelligent sur quatre présente des vulnérabilités de sécurité critiques, et trois sur cinq présentent au moins un problème de sécurité. Par ailleurs, une autre étude récente a conclu, après un audit automatisé de plus d'un million de contrats smart, que 34 000 d'entre eux étaient potentiellement " suicidaires ". Le doctorant préparera un catalogue des vulnérabilités et limitations de sécurité les plus courantes auxquelles sont confrontés les contrats intelligents et proposera des solutions conceptuelles et algorithmiques pour améliorer leur sécurité. 2.2. Améliorations de la protection de la vie privée pour les contrats intelligents Comme indiqué comme étant la motivation de la proposition de doctorat actuelle, l'étudiant au doctorat explorera les différentes approches proposées pour atteindre la protection de la vie privée pour les contrats intelligents avec un accent particulier sur le travail avec des preuves de connaissance zéro et le calcul multipartite sécurisé pour avancer non seulement dans de nouvelles techniques mais aussi dans des implémentations plus efficaces. Des preuves de concepts ou des implémentations complètes peuvent être réalisées le cas échéant. 2.3. Analyse et proposition de nouveaux cas d'utilisation suivant un modèle économique formel Différents mécanismes d'incitation ont été proposés pour gérer le processus minier. De plus, l'interopérabilité entre les chaînes de blocs sera cruciale au cours des années à venir, de sorte qu'une meilleure compréhension des incitations et des manipulations malveillantes d'un point de vue économique et de la modélisation formelle est nécessaire. Le doctorant analysera et proposera de nouveaux cas d'utilisation en tenant compte de ces considérations afin d'évaluer la sécurité de différents scénarios contre différents comportements malveillants.

  • Titre traduit

    Security and privacy of decentralized applications


  • Résumé

    1. Introduction One of the core obstacles to achieving privacy is that of trust. As we write these lines, it seems infeasible to place all trust in one central system. To this end, recent efforts have been made to decentralize trust, often through the use of blockchains. Blockchain technologies rely on the idea of managing decentralized databases combined with cutting-edge cryptographic techniques and consensus protocols to remove the need of a central authority (trusted third party) while allowing the involved untrusted parties to agree upon the data. The most known case is that of Bitcoin which make it possible to maintain a coherent history of monetary transactions to be agreed by independent untrusted parties; this allowed the usage of a virtual currency to make payments without the need to pass through a financial institution, an international payment scheme or to depend in any form from such institutions. Following Bitcoin's success, the idea of decentralized execution of code to expand the usage of blockchain technologies was first conceived and implemented by the Ethereum project, which proposed a new model for decentralized computation. As Ethereum's founder, Vitalik Buterin, pointed out, “Arguably, the true genius behind the success of Bitcoin, Ethereum and similar systems was not the specific design of their blockchain or their use of algorithms that resemble forms of distributed consensus in order to maintain security; rather, it is the innovation of cryptoeconomics – the art of combining cryptographic techniques and economic incentives defined and administrated inside a protocol in order to encourage users to (correctly) participate in certain roles in the protocol, and thereby preserve and maintain certain desired properties of the protocol”. With this, research based on game theory modeling of blockchains became of utmost interest. Moreover, the so-called “Internet of Value”, which can be seen as the next step towards the development of the Internet, where users will be enabled to exchange, any asset of value directly in a more efficient and with a significant cost reduction, motivates even further research. Over the past years, most blockchain research focused on problems related to the scalability, performance of transactions in terms of throughput and latency, and robustness of the decentralized trust but many issues related to the privacy problem that also need to be solved remain at a very early stage with the current state of the art; this is the case of the smart contracts, which are a crucial component for the development of decentralized applications with blockchain technologies. The entire range of applications that rely on privacy and new regulations that came into force recently, such as the General Data Protection Regulation for all individuals within the European Union, motivates among other research the work on privacy-preserving for smart contracts. Ideally, a privacy-preserving smart contract should ensure that 1) its input remains hidden from everyone except the party supplying it, 2) it can compute its function without revealing any intermediate state, and 3) it returns its output by following the corresponding associated policy to that end. Several challenges arise in order to accomplish this task, and while Homomorphic encryption may be a suitable approach to try, it is still impractical for real-world applications, and other paths have been followed. The most successful attempts have een made by incorporating Trusted Execution Environments, Secure Multiparty Computation and Zero-Knowledge Proofs. Trusted Execution Environments put too much trust in the manufacturers of hardware and also rise the question about how confident we can be in hardware that users have physical access to. This moves us to the second option, which has also considerable drawbacks. One of the key setback of using secure multiparty computation is that it requires multiple rounds of interaction and if some users abort the protocol the entire computation could be compromised. Finally, when considering zero-knowledge proofs, we can find severe limitations with the current state of the art. In particular, the most efficient proof systems require a costly trusted setup, which is specific to each smart contract, and are nonetheless very expensive for the prover. In this thesis, we will drive the issues concerning the security, efficiency and optimizations related to the above - mentioned alternatives in order to propose improvements for a more secure and privacy-preserving environment to develop decentralized applications. 2. Research program The PhD student will conduct cutting-edge research with a theoretical approach to study the current state of the art, with a particular focus on the privacy-preserving problem associated with smart contracts, in order to conduct a critical evaluation of the different proposals and identify improvements. With this in consideration, the following topics will be addressed: 2.1. Security analysis of smart contracts Early this year, Hosho's Smart Contract auditing team released a report stating, “one in four smart contracts have critical security vulnerabilities, and three in five have at least one security issue”. Furthermore, another recent study concluded after an automated audit of over 1 million smart contracts that 34,000 of them were potentially “suicidal”. The PhD student will prepare a catalogue of the most common security vulnerabilities and limitations faced by smart contracts and propose conceptual and algorithmic solutions to improve their security. 2.2. Improvements of privacy-preserving for smart contracts As pointed out as the motivation of the current PhD proposal, the PhD student will explore the different approaches proposed to achieve privacy-preserving for smart contracts with a particular focus on working with zero-knowledge proofs and secure multiparty computation to advance not only in new techniques but also in more efficient implementations. Proof of concepts or complete implementations may be realized if appropriate. 2.3. Analysis and proposal of new use cases following a formal economic model Different incentive mechanisms have been proposed to deal with the mining process. Also, interoperability between blockchains is going to be crucial during the upcoming years, so a deeper understanding of the incentives and malicious manipulations from an economic point of view and formal modeling is needed. The PhD student will analyze and propose new use cases taking into account these considerations in order to assess the security of different scenarios against different malicious behaviors.