• Aucun résultat trouvé

Positionnement de la thèse : de la sécurisation de mécanismes de gestion de l’énergie

sécurisation

De nombreuses attaques contre des objets ou des réseaux dans l’IoT ont été évoquées dans la section 1.3. Les attaques sur la couche application, ainsi que les protections contre ces attaques, sont en général propres à chaque application. Les attaques sur les couches réseau, transport et

liaison dépendent du protocole de communication, et peuvent généralement être contrées par

la mise en œuvre d’une sécurité adéquate au niveau de ce protocole. Le chiffrement, l’authen- tification et éventuellement l’intégrité des données échangées dans ces protocoles reposent sur l’utilisation de clés secrètes ; ces clés sont stockées sur les circuits intégrés, et peuvent être obte- nues grâce à des attaques matérielles contre ces circuits. Un attaquant en possession de ces clés pourrait alors contourner la sécurité mise en place au niveau des protocoles et des applications. D’un autre côté, la mise hors service d’un seul circuit intégré, par exemple avec une attaque par déni de service ciblée, peut avoir des conséquences sur le routage et la transmission des messages à l’échelle d’un réseau entier. La mise en place d’une sécurité efficace sur la couche physique, au niveau du circuit intégré lui-même, est donc primordiale afin d’éviter divers types d’attaques à plusieurs autres niveaux. Dans nos travaux, nous étudions la sécurité d’un circuit pour l’IoT ayant une structure similaire à celle de L-IoT, présenté dans la section 1.2.3.

De nombreuses contraintes sont imposées aux circuits intégrés conçus pour une utilisation dans l’IoT. En particulier, ceux-ci doivent avoir une faible consommation énergétique, de bonnes performances et un niveau de sécurité élevé. Bien que la mise en place d’une sécurité appropriée soit souvent coûteuse en énergie, très peu de solutions permettent actuellement de concilier ces deux contraintes. Dans nos travaux, nous traitons donc de la relation entre sécurité et efficacité énergétique à travers l’étude de divers compromis entre ces deux contraintes. Dans un premier temps, nous nous intéressons à la sécurisation d’un mécanisme de gestion de l’énergie contre des attaques par déni de service. Dans un second temps, nous abordons l’efficacité énergétique de contre-mesures contre les attaques matérielles, qui visent l’implémentation matérielle de primi- tives cryptographiques.

1.4.1 Sécurité de la radio de réveil pour une gestion efficace de l’énergie

Tandis que la majorité des attaques sur la radio principale peuvent être contrées avec l’uti- lisation d’un protocole de communication sécurisé, ce n’est pas le cas des potentielles attaques sur la radio de réveil (décrite dans la section 1.2.3), pour laquelle il n’existe pas de protocole de communication communément utilisé à l’heure actuelle. Cette radio ne reçoit ou ne transmet pas de message confidentiel, mais elle occupe tout de même une fonction critique : elle permet de contrôler la sortie de veille de l’ensemble du circuit intégré. C’est donc un mécanisme important pour la gestion de l’énergie d’un circuit intégré. Or, le code envoyé sur cette radio afin de réveiller un circuit est généralement prédéfini et identique pour tous les réveils. Un attaquant peut alors ré-utiliser ce code constant en le renvoyant continuellement au circuit visé, ce qui aurait pour ef- fet de réveiller constamment celui-ci et donc de vider rapidement sa batterie. Une telle attaque, décrite pour la première fois dans [50], est appelée une attaque par déni de sommeil, et fait partie de la catégorie des attaques par déni de service.

Pour contrer cette attaque, les codes de réveil doivent être dynamiques : ceux-ci doivent être différents à chaque réveil, et imprévisibles pour un attaquant, c’est-à-dire qu’un attaquant connais- sant un ou plusieurs codes de réveil passés ne doit pas être en mesure de prédire la valeur d’un futur code de réveil. Plusieurs méthodes existent afin de générer ces codes, et sont décrites et ana- lysées dans le chapitre 2. Elles ont plusieurs désavantages, tels qu’un coût énergétique élevé ou une mise en œuvre complexe. Nous proposons donc dans le chapitre 2 une nouvelle méthode permettant de générer des codes de réveil dynamiques pour un coût négligeable en énergie, qui tire pleinement partie de la séparation du circuit en deux sous-parties Always-Responsive et On- 19

Demand et de l’usage de deux types de radios différentes. Une analyse de la sécurité de cette mé-

thode montre qu’il n’existe pas d’attaque plus efficace contre celle-ci qu’une attaque par force brute, et qu’une telle attaque est irréalisable en pratique. De plus, nous proposons également un processus de réveil et de communication robuste, qui serait compatible avec de nombreux proto- coles de communication sur la radio principale.

1.4.2 Efficacité énergétique des contre-mesures matérielles

Les attaques matérielles par injection de fautes et par analyse des canaux auxiliaires ont des objectifs variés, allant de la récupération des clés de chiffrement stockées dans les circuits inté- grés à l’altération des données stockées ou du fonctionnement normal d’un algorithme. Elles sont peu coûteuses à mettre en place et requièrent peu d’expertise. Elles constituent donc une menace importante pour la sécurité dans l’IoT. Dans le chapitre 3, nous décrivons les principes physiques et la mise en œuvre de ces attaques, et nous évaluons leur efficacité contre l’implémentation de l’algorithme léger de chiffrement par flot Trivium, qui est particulièrement adapté pour un usage dans l’IoT. De nombreuses protections, présentées dans le chapitre 3, ont été publiées afin de sé- curiser l’implémentation d’un algorithme contre l’une ou l’autre de ces attaques, ou contre les deux à la fois. La mise en place de ces protections introduit généralement une augmentation de la consommation instantanée lors de l’exécution de cet algorithme, et/ou une augmentation du temps d’exécution de celui-ci. De plus, de nombreuses contre-mesures requièrent la génération continue de bits aléatoires, ce qui implique également une augmentation de la consommation. Au final, elles ont donc un impact important sur la consommation d’énergie, et ce coût énergé- tique peut être prohibitif pour une intégration dans l’IoT. Afin de concilier sécurité matérielle et efficacité énergétique, des contre-mesures plus efficaces d’un point de vue énergétique ont été développées au cours de cette thèse.

Dans le chapitre 4, nous proposons une nouvelle contre-mesure, appelée encodage dynamique, qui permet de contrer efficacement les attaques matérielles par injection de fautes et par analyse des canaux auxiliaires. Celle-ci est particulièrement adaptée pour la protection d’algorithmes lé- gers tels que Trivium. Cette contre-mesure multiplie environ par quatre la consommation instan- tanée d’un algorithme, n’augmente pas son temps d’exécution, et requiert entre 0 et 8 bits aléa- toires à chaque exécution de l’algorithme. Elle a donc un coût énergétique bien plus faible que les contre-mesures existantes contre ces deux types d’attaques, et nous montrons qu’elle permet de protéger efficacement l’implémentation d’un algorithme contre les attaques existantes.

Pour aller plus loin dans l’efficacité énergétique des contre-mesures matérielles, nous avons évoqué dans la section 1.3.4 la possibilité de reconfigurer de manière dynamique le niveau de sécurité, durant le fonctionnement d’un circuit intégré. La mise en place de contre-mesures adap- tatives, activées ou non selon le contexte et les besoins variables en sécurité et en consommation d’énergie, permet de réduire au minimum le coût énergétique de la sécurité. De plus, cette flexi- bilité des contre-mesures permet de garantir un niveau de sécurité adéquat durant toute la durée de vie d’un circuit intégré, avec la possibilité d’augmenter le niveau de protection lors de la décou- verte de nouvelles attaques, et elle répond également aux exigences de durabilité et de réutilisa- tion des circuits intégrés. Dans le chapitre 5, nous proposons donc plusieurs contre-mesures ma- térielles adaptatives. Ce concept est appliqué à l’encodage dynamique, mais également au mas- quage, qui est une contre-mesure existante largement étudiée. Plusieurs variantes de ces contre- mesures adaptatives sont décrites, afin de couvrir des cas d’usage variés, et une analyse de la sé- curité de celles-ci est effectuée.

Enfin, dans le chapitre 6, nous détaillons l’implémentation matérielle sur cibles physiques des contre-mesures proposées précédemment, dans le but d’évaluer expérimentalement leur effica- cité contre les attaques matérielles. Plusieurs implémentations sur ASIC et sur FPGA sont décrites, et une évaluation des fuites d’information par canaux auxiliaires sur FPGA est effectuée.