Apprentissage profond pour la cybersécurité embarquée

Description

Des milliards d’appareils connectés sont utilisés de nos jours, notamment des smartphones, des tablettes multimédias, des ordinateurs portables et de bureau, des unités de contrôle électronique pour l’automobile, des capteurs intelligents, des cartes à puce, etc. Pour garantir la confidentialité, l’intégrité et l’authenticité de leurs données sensibles, divers mécanismes de sécurité ont été spécifiés, et certains d’entre eux mathématiquement prouvés comme sûrs, en particulier contre la cryptanalyse linéaire et la cryptanalyse différentielle. Cependant, les implémenter dans un circuit numérique sans introduire de vulnérabilité reste un défi d’actualité.

Les vulnérabilités les plus exploitées sont les bogues d’implémentation, ainsi que les canaux dits auxiliaires, qui laissent fuir des informations comme le temps d’exécution d’une opération sensible. Les deux classes de vulnérabilités peuvent également être combinées : par exemple, Meltdown (CVE-2017-5754) et Spectre (CVE-2017-5753) exploitent en même temps un bogue matériel et une mesure du temps d’accès au cache de données.

Depuis 2016, l’intelligence artificielle, et plus précisément l’apprentissage profond à l’aide de réseaux de neurones, est utilisée pour évaluer le niveau de résistance de contre-mesures aux attaques par canal auxiliaire. Ainsi, il a été démontré qu’une implémentation d’AES protégée par du partage de secret à base de masquage booléen ne lui résistait pas, tout comme la désynchronisation, deux contre-mesures pourtant réputées comme très efficaces. Concernant la cryptographie à clé publique, des vulnérabilités ont également été identifiées dans des implémentations de RSA protégées à l’aide de masquage (blinding) du message, de l’exposant secret et/ou du modulo.

L’intelligence artificielle est donc une aide précieuse pour identifier des vulnérabilités. L’objectif du projet sera d’étendre son utilisation, à la fois à des algorithmes autres que AES et RSA, mais surtout à d’autres contre-mesures comme l’aléatoirisation des registres, de l’état l’interne, de l’opération modulaire, etc.