Secure Tunnels for Constrained Environments
Total Page:16
File Type:pdf, Size:1020Kb
THESE DE DOCTORAT DE L’INSA RENNES COMUE UNIVERSITE BRETAGNE LOIRE ECOLE DOCTORALE N° 601 Mathématiques et Sciences et Technologies de l'Information et de la Communication Spécialité : Informatique Par Loïc FERREIRA Tunnels sécurisés pour environnements contraints Thèse présentée et soutenue à Rennes, le 18 novembre 2019 Unité de recherche : IRISA Thèse N° : 19ISAR 18 / D19 - 18 Rapporteurs avant soutenance : Céline Chevalier Maître de conférences, Université Panthéon-Assas Paris 2 Henri Gilbert Directeur du laboratoire de cryptographie, ANSSI Composition du Jury : Président Serge Vaudenay Professeur, EPFL Examinateurs Céline Chevalier Maître de conférences, Université Panthéon-Assas Paris 2 Henri Gilbert Directeur du laboratoire de cryptographie, ANSSI Gildas Avoine Professeur, INSA Rennes Sébastien Canard Ingénieur de recherche, Orange Labs Caroline Fontaine Directrice de recherche CNRS, ENS Paris-Saclay María Naya-Plasencia Directrice de recherche Inria, Inria Paris David Pointcheval Directeur de recherche CNRS, ENS Directeur de thèse Gildas Avoine Professeur, INSA Rennes Co-directeur de thèse Sébastien Canard Ingénieur de recherche, Orange Labs Intitulé de la thèse : Secure Tunnels for Constrained Environments Loïc FERREIRA En partenariat avec : Document protégé par les droits d’auteur Secure Tunnels for Constrained Environments Loïc Ferreira Supervisors: Gildas Avoine and Sébastien Canard In memoriam Maria da Luz Résumé en français tablir une communication sécurisée entre des entités distantes est l’un des objectifs auxquels la cryptographie cherche à répondre. De tels tunnels sécurisés impliquent la Émise en œuvre d’algorithmes cryptographiques de nature (symétrique, asymétrique) et de complexité diérentes. Le besoin de communications sécurisées se manifeste particulièrement avec l’apparition d’objets connectés aux usages très divers et la multiplication des interactions entre ces objets. Le développement de l’Internet des Objets entraîne le déploiement accéléré d’objets dits « à bas coût ». Contrairement à un ordinateur personnel ou un smartphone, ces objets ont des capacités très limitées notamment en termes de calcul, de communication et d’alimentation en énergie. Néanmoins, ces objets participent à la gestion d’infrastructures et d’équipements parfois très sensibles (fourniture d’eau, d’électricité, pacemaker ou débrillateur implanté dans le corps humain, etc.). Les données échangées (dont les commandes reçues) par ces objets doivent donc être protégées à la hauteur de ces usages. Cela requiert un haut niveau de sécurité, permis en général par des mécanismes cryptographiques de relativement grande complexité calculatoire. Or les algorithmes usuellement implémentés sur un ordinateur ou un smartphone ne sont pas fonctionnels sur des objets connectés étant données les capacités réduites de ces derniers. Cette partie introduit les problématiques des protocoles de sécurité destinés aux objets à bas coût. Elle présente également les résultats obtenus au cours de ce travail de doctorat, dont l’objectif est d’analyser la sécurité de protocoles existants et de produire des mécanismes d’échange de clé applicables aux objets à bas coût, sans compromis entre sécurité et ecacité. Contexte L’un des buts de la cryptographie est de permettre à deux entités distantes de communiquer de manière sécurisée. Cet objectif est rempli quotidiennement et de manière transparente lorsque l’on utilise un ordinateur personnel ou un smartphone pour, par exemple, consulter un service bancaire ou parler avec une personne éloignée. La mise en œuvre d’un tel tunnel sécurisé est rendue possible par l’utilisation conjointe d’algorithmes cryptographiques qui ont chacun une fonction diérente. La cryptographie asymétrique intervient alors lors d’une phase qui précède la communication proprement dite. Les algorithmes asymétriques sont utilisés pour que les deux parties impliquées puissent mutuellement s’authentier (i.e. : avoir la garantie de leur identité respective) et permettre de partager des paramètres secrets. Ces paramètres sont ensuite manipulés par des algorithmes symétriques qui vont concrètement protéger les messages (par exemple vocaux, visuels) échangés entre les deux parties. Ils garantissent que ces messages ne sont accessibles qu’aux deux parties légitimes (propriété de condentialité) et qu’il est impossible de modier ces messages à l’insu des deux parties prenant part à la iv Résumé en français communication (propriété d’intégrité). Ces algorithmes qui remplissent des fonctions distinctes ont des caractéristiques techniques diérentes. D’une manière générale, les algorithmes symétriques sont beaucoup plus rapides que les algorithmes asymétriques. Mais, comme indiqué plus haut, les algorithmes asymétriques permettent de garantir des propriétés de sécurité que ne peuvent orir les algorithmes symé- triques. C’est la raison pour laquelle les deux types d’algorithmes sont généralement utilisés dans les protocoles de sécurité : bénéciant pleinement de leur complémentarité, ces protocoles atteignent un niveau de sécurité supérieur. L’une des propriétés de sécurité, fondamentale, rendue possible par la cryptographie asymétrique est la condentialité persistante (ou forward secrecy [Gün90; DvW92]) généralement obtenue par le protocole Die-Hellman (DH) [DH76]. Cette propriété garantit que la divulgation d’un paramètre secret permanent ne compromet pas la sécurité des communications eectuées antérieurement à cette divulgation. Cela permet donc de maintenir la sécurité des communications passées en dépit de la compromission d’un paramètre secret important et réduit l’étendue des conséquences d’une telle compromission. Avec l’émergence de l’Internet des Objets (Internet of Things ou IoT), une multitude d’« objets connectés » sont déployés. Ces objets à bas coût de production ont des capacités de calcul et de communication restreintes. De même ils disposent d’une ressource limitée en termes d’alimenta- tion électrique (ainsi ils peuvent être alimentés à l’aide d’une batterie dont il s’agit d’économiser la consommation, voire ne recevoir d’énergie que lorsqu’ils entrent en communication avec un lecteur). Parmi les cas d’usage impliquant ces objets, on peut citer les réseaux de senseurs sans l (Wireless Sensor Networks ou WSN), la radio-identication (Radio Frequency Identication ou RFID), les cartes à puce, les unités de contrôle véhiculaires (Controller Area Network ou CAN), la domotique, l’IoT industriel et la téléphonie mobile. Ces objets participent à la gestion ou au fonctionnement d’infrastructures ou d’équipements qui rendent des services sensibles tels que la fourniture d’eau, d’électricité ou l’assistance médicale par le biais de pacemakers et de débrillateurs implantés dans le corps humain. Les commandes transmises à ces objets et les données récupérées auprès de ces derniers impliquent donc un niveau de sécurité à la mesure du service qu’ils contribuent à rendre. Or le niveau de sécurité d’un algorithme cryptographique est généralement lié à sa complexité. Si les ordinateurs personnels et les smartphones peuvent exécuter des algorithmes cryptographiques « lourds » et complexes, il n’en est pas de même des objets connectés. Se pose alors, pour ces objets, la diculté de résoudre la contradiction induite par une attente élevée en termes de sécurité et une faible capacité en termes de fonctionnalité et d’ecacité. Un champ de la cryptographie s’attache, approximativement depuis le début du millénaire, à concevoir des algorithmes cryptographiques fonctionnels pour des objets à bas coût. La grande majorité de ces algorithmes sont symétriques. S’agissant de la cryptographie asymétrique, à part quelques exceptions, les eorts tendent, avec des succès mitigés, à optimiser l’implémentation d’algorithmes usuels an de les rendre fonctionnels sur ces objets. Ces travaux constituent une étape importante et nécessaire. Néanmoins, l’établissement d’un tunnel sécurisé suppose plus de fonctionnalités et de propriétés de sécurité qu’un simple algorithme de chirement ou de hachage. Objectifs Etant données les capacités réduites des objets connectés, le choix peut être fait de réduire les fonctionnalités des protocoles de sécurité existants et de choisir des mécanismes cryptogra- phiques peu « coûteux » an que le résultat soit implémentable et fonctionnel dans un objet disposant de faibles capacités. Cette démarche, bien qu’intéressante, n’est toutefois pas com- Contributions v plètement satisfaisante puisqu’elle pose notamment les questions de la souplesse du protocole ainsi obtenu et celle de la sécurité globale oerte. Ainsi, les protocoles existants destinés à l’établissement de communications sécurisées avec ces objets s’appuient sur deux principes généraux. Tout d’abord une seule fonction symétrique est mise en œuvre. Ensuite la sécurité s’appuie sur un unique paramètre secret, exploité par l’objet tout au long de sa vie. Cela ne permet pas de garantir les mêmes propriétés et donc le même niveau de sécurité rendus possibles par l’utilisation additionnelle de mécanismes cryp- tographiques asymétriques. En particulier, la divulgation de cette clé symétrique permanente aboutit à la compromission de toutes les communications futures mais aussi passées que l’objet a établies. L’objectif principal de cette thèse est de concevoir des protocoles d’échange de clé, destinés à permettre l’établissement de tunnels sécurisés entre objets à bas coût, orant un niveau de sécurité plus élevé que les protocoles existants tout en étant fonctionnels sur ces objets. Nous tentons