En 2016, des chercheurs de l’Institut Weizmann des Sciences à Tel-Aviv, en Israël, parviennent à prendre le contrôle d’ampoules connectées de la marque Philips et montrent les conséquences catastrophiques d’un tel piratage. Ils décrivent une réaction en chaîne impliquant des appareils connectés au réseau ZigBee ayant atteint une masse critique dans une métropole comme Paris ; une attaque qui commence par une ampoule, puis se propage dans toute la ville en quelques minutes, permettant d’allumer ou d’éteindre tous les lampadaires, ou de les exploiter pour lancer une attaque par déni de service distribué (DDoS) de grande ampleur… “On ne peut pas se permettre d’avoir des objets connectés, aussi triviaux soient-ils, qui ne soient pas sécurisés”, affirme Léo Perrin, chargé de recherche dans le domaine de la cryptographie symétrique au sein de l’équipe COSMIQ d’Inria et coauteur de plusieurs algorithmes de cryptographie légère. Ce domaine de recherche s’attache à construire des systèmes cryptographiques à bas coût, optimisés (notamment) pour les petits dispositifs de l’Internet des objets (IoT). Explications.
Quels sont les enjeux soulevés en matière de cybersécurité par la généralisation des objets connectés ?
Cela pose un double enjeu de respect de la vie privée et de sécurité. Premièrement, un objet connecté collecte des données à caractère personnel qui peuvent être remontées aux serveurs du fabricant. Cela peut, par sa conception même (by design), porter atteinte à la vie privée. Deuxièmement, même si l’objet a été conçu pour protéger la confidentialité, les données sont quand même collectées et stockées. Elles transitent dans un réseau interne, au sein d’une maison, par exemple, où différents objets peuvent communiquer entre eux. Ces objets doivent être sécurisés pour éviter qu’ils soient piratés et que les données se retrouvent dans la nature.
Cela ne saute pas aux yeux lorsque l’on pense à une brosse à cheveux connectée, mais la sécurisation de ce type de dispositifs est cruciale, car ils peuvent constituer une porte d’entrée vers le réseau auquel ils sont connectés et être utilisés pour mener des attaques plus élaborées, comme l’a montré l’équipe de chercheurs israélienne.
Pourquoi les algorithmes cryptographiques classiques sont-ils inadaptés aux petits dispositifs de l’IoT ? Qu’entend-on par “plateforme contrainte” ?
Les standards cryptographiques actuels ont été conçus pour les ordinateurs. Les algorithmes sont optimisés pour les ressources que l’on a à disposition sur un PC, ou même un smartphone. Mais les objets connectés présentent des ressources limitées, notamment en énergie et en puissance, et la mise en œuvre d’algorithmes classiques peut entraver leur performance, c’est-à-dire leur coût de production et d’exploitation, puisqu’elle requiert l’ajout de ressources et une consommation d’électricité plus élevée.
Or, les contraintes de performances sont essentielles en cryptographie ; il ne suffit pas de construire des algorithmes qui sécurisent les communications, il faut aussi s’assurer qu’ils sont utilisés en pratique, et donc baisser leur coût au maximum. Pour un tag RFID, par exemple, cela implique de réduire le coût du circuit électronique en diminuant le nombre de portes logiques. Pour un microcontrôleur, il s’agira de réduire le nombre d’instructions nécessaires pour une opération de chiffrement ou d’authentification.
Mais un microcontrôleur est différent d’un processeur que l’on retrouve sur un ordinateur. De nombreuses opérations que l’on considère comme évidentes (y compris des opérations essentielles en cryptographie) ne sont pas présentes, ou alors coûtent plus cher sur un microcontrôleur. Donc, non seulement les contraintes de performances sont plus fortes sur les dispositifs de l’Internet des objets, mais en plus, le modèle même de coût des opérations est différent.
À cela s’ajoute le fait que ces objets sont plus susceptibles de subir des attaques physiques. Pour pirater un badge équipé d’une puce RFID, l’attaquant va peut-être essayer de lire la clé cryptographique directement dans le circuit électronique, ou bien, par exemple, analyser les variations de consommation de courant. C’est ce que l’on appelle une “attaque par canal auxiliaire”. Idéalement, la cryptographie légère visera à développer des algorithmes moins vulnérables à ce type d’attaques, ou du moins, permettant des implémentations physiques plus sécurisées.
Justement, comment définissez-vous la cryptographie légère ?
C’est l’une des grosses difficultés de ce domaine (y compris pour le NIST) : la cryptographie recherche tout le temps la “légèreté”, c’est-à-dire à fournir un maximum de sécurité pour un minimum de coût. Lors de ma thèse, j’avais proposé de définir la cryptographie légère comme une cryptographie explicitement dédiée à des niches spécifiques. Pour moi, ce qui la définit, c’est finalement la légèreté des plateformes sur lesquelles elle doit être implémentée. Par exemple, un tag RFID a une puissance de calcul plus “légère”. Par ailleurs, la cryptographie légère admet des compromis qui ne pourraient pas l’être en cryptographie “normale”. On peut, par exemple, considérer le fait que les attaquants ont accès à moins de données chiffrées (une quantité cruciale pour l’efficacité de son attaque) lorsqu’ils ciblent une étiquette RFID plutôt qu’un PC, car celle-ci peut chiffrer beaucoup moins de textes en un temps donné. La cryptographie légère n’offre pas un niveau de sécurité moins élevé, mais prend en compte ces limitations lors de la construction des algorithmes. Pour rendre cela possible, je suis convaincu qu’il faut se concentrer sur certaines niches et développer des algorithmes spécialisés pouvant satisfaire les contraintes spécifiques de ces niches.
Quelles sont-elles ? Avez-vous identifié des cas d’utilisation dans le cadre de votre thèse ou de vos recherches au sein de l’équipe COSMIQ ?
L’idée derrière cette notion de niche est de dire qu’il n’est pas possible d’avoir un algorithme unique qui soit excellent partout. Or, c’est ce que l’on recherche en cryptographie légère pour abaisser les barrières à l’adoption du chiffrement dans les dispositifs contraints. Je pense donc qu’il faut identifier des cas d’utilisation où l’on ne peut pas utiliser l’AES pour des raisons de performances et construire des algorithmes efficaces dans ces cas-là, ce qui implique d’en avoir plusieurs. La spécification exacte de ces niches n’a pas encore été arrêtée, mais les étiquettes RFID et les microcontrôleurs en constituent chacun une.
Pourriez-vous décrire les travaux menés par l’équipe COSMIQ dans le domaine de la cryptographie légère ?
Les travaux de recherche de COSMIQ portent essentiellement sur la conception et l’analyse de sécurité des primitives cryptographiques, qui sont des objets mathématiques élémentaires assurant des fonctions de base comme le chiffrement par bloc. Pour ma part, je travaille sur les primitives symétriques, mais des collègues travaillent sur la cryptographie à clé publique, en particulier post-quantique, et d’autres sur la cryptographie quantique. La cryptographie légère nous a beaucoup occupés ces derniers temps, car nous contribuons aux efforts de standardisation du NIST dans ce domaine. Nous avons soumis plusieurs algorithmes, dont Sparkle, l’un des dix finalistes de la compétition, et fait beaucoup de cryptanalyse en cassant des algorithmes (voir par exemple notre attaque contre Gimli et celle contre Spook, coconçu par une personne de mon équipe).
Quelle a été l’approche retenue par le NIST ?
Le NIST a “officiellement” lancé une réflexion sur la standardisation des algorithmes cryptographiques légers en 2015, et tenté d’obtenir des profils (une description des différentes niches) de la part de l’industrie. Cela n’a pas abouti, les industriels étant réticents à partager des données chiffrées (relatives aux besoins de leur produit quant à la consommation électrique ou le niveau de sécurité attendu, par exemple) pour des raisons de secret des affaires. Il a ensuite initié un processus de standardisation en 2018, avec un appel à soumission comprenant deux cahiers des charges correspondant à deux profils : les plateformes matérielles (circuits électroniques comme les tags RFID) et les plateformes logicielles de type microcontrôleurs. Il a reçu plus de cinquante soumissions. Il ne reste plus aujourd’hui que dix candidats, parmi lesquels figurent à la fois des algorithmes généralistes (Ascon, par exemple) et des algorithmes spécialisés (comme Grain-128AEAD). Sparkle, l’algorithme que j’ai coécrit et qui est basé sur un autre algorithme, SPARX, conçu lors de ma thèse au Luxembourg, est optimisé pour les microcontrôleurs, ce qui veut dire que l’on utilise des opérations que les microcontrôleurs savent très bien faire.
Le choix entre un algorithme généraliste et des algorithmes spécialisés est très difficile, car les deux approches offrent de bons arguments. Le risque, en optant pour un algorithme unique, serait d’avoir un deuxième AES, c’est-à-dire un algorithme bon partout (parfois même très bon), mais qui ne sera pas excellent dans les cas les plus contraints. La décision finale sera rendue par le NIST à la fin de l’année.