ASCAD, une nouvelle base de données pour le test et l’étude de l’extraction d’information d’une implémentation cryptographique par l’apprentissage profond


La caractérisation de la sensibilité des systèmes embarqués vis-à-vis des attaques par analyse des canaux auxiliaires est un sujet d’importance pour l’ANSSI. Un effort conséquent est mené avec l’aide des Centres d’Evaluation de la Sécurité des Technologies de l’Information (CESTI) pour devancer tous les progrès qui pourraient être faits dans ce domaine. En particulier, les laboratoires de l’ANSSI s’intéressent à l’application des méthodes d’apprentissage profond (deep learning en anglais) comme techniques de cryptanalyse. De récents articles ont en effet montré des premiers résultats encourageants sur ce sujet. Pour enrichir la compréhension générale de ce phénomène par la communauté d’experts, l’ANSSI propose une base publique de tests pour la comparaison des résultats d’apprentissage profond.

Au cours de l’exécution d’un calcul cryptographique sur un système embarqué comme une carte à puce, il est parfois possible de retrouver de l’information sur les paramètres secrets ou les données utilisateurs en exploitant la dépendance statistique entre le comportement du matériel et la valeur des données manipulées. Cette dépendance peut, par exemple, être observée via la mesure du temps de calcul, de la consommation de courant ou du rayonnement électromagnétique des composants électroniques.

Depuis leur introduction dans le domaine publique dans les années 90, les attaques dites « par analyse de canaux auxiliaires » ont été beaucoup étudiées et, pour les contrer, de nombreuses contre-mesures ont été développées par les industriels du domaine. Elles consistent essentiellement à décomposer aléatoirement les données manipulées et à opérer les calculs cryptographiques sur ces parties tout en assurant que la recombinaison des résultats partiels permette de reconstruire la donnée attendue (p.e. une signature ou un message chiffré).

Dans un article publié sur les archives de l’IACR, le Laboratoire de Sécurité des Composants (LSC) et le Laboratoire d’Exploration et recherche en Détection (LED) de l’ANSSI  ont souhaité poser, le plus précisément possible, les bases de l’application de l’apprentissage profond à l’extraction d’information sur les paramètres secrets d’une implémentation cryptographique.

Afin de permettre la parfaite reproduction des études et des tests d’extraction d’information présentés dans l’article, deux implémentations de l’algorithme de chiffrement AES128 sur un composant grand public ATmega8515 ont été publiées sur le compte GitHub de l’ANSSI.

En complément, un data-set de mesures du rayonnement électromagnétique pendant le calcul de cet AES a été publié, ainsi que des scripts basés sur les bibliothèques Python Keras et Tensorflow permettant de rejouer les analyses décrites dans l’article.

Au-delà de permettre la reproduction des résultats, l’ANSSI souhaite également fournir à la communauté une base publique de tests permettant de comparer différents résultats d’apprentissage et d’améliorer ainsi la compréhension générale de la communauté des experts du domaine.

 

 

Liens externes