Evaluation de la sécurité physique des SoC

par Thomas Trouchkine

Thèse de doctorat en Nano electronique et nano technologies

Sous la direction de Jessy Clediere et de Guillaume Bouffard.

Thèses en préparation à l'Université Grenoble Alpes , dans le cadre de École doctorale électronique, électrotechnique, automatique, traitement du signal , en partenariat avec CEA/LETI (laboratoire) .


  • Résumé

    De nos jours, nos appareils mobiles sont utilisés pour réaliser des opérations sensibles telles que du paiement, de l'identification ou la gestion de services santé. Historiquement, ces opérations sont réal- isées par des appareils conçus et évalués pour résister à diverses at- taques: les éléments sécurisés. En revanche, les appareils mobiles sont conçus pour fournir la meilleure performance possible et ne subissent aucune évaluation de sécurité. Cet état de fait interroge sur la résis- tance de ces appareils face aux attaques classiques contre lesquelles se protègent les éléments sécurisés. Parmi ces attaques, nous nous proposons, dans cette thèse, d'étudier les attaques par perturbations. Ces attaques consiste à modifier les conditions d'exécution du circuit ciblé afin d'induire des erreurs dans son fonctionnement. Ces erreurs volontaires, communément appelées fautes, permettent de créer des failles dans la cible pouvant aller jusqu'à la cryptanalyse d'un algorithme de chiffrement ou l'authentifi- cation d'un utilisateur non autorisé. Bien que ces méthodes d'attaques soient connues et étudiées sur les éléments sécurisés, les appareils modernes reposent sur des pro- cesseurs modernes présentant des différences par rapport aux pro- cesseur des éléments sécurisés. Cela peut être le nombre de module qu'ils embarquent, leur finesse de gravure ou des optimisations. L'impact de ces différences sur la sécurité des processeur n'a pas été étudié en prenant en compte la possibilité d'induire des fautes. C'est ce que nous réalisons dans cette thèse. Nous définissons une méthode permettant de caractériser les effets de perturbations sur un processeur moderne que nous appliquons sur trois processeurs représentatifs des appareils existants: le BCM2837, le BCM2711b0 et l'Intel Core i3-6100T. Nous avons également utilisés deux moyens de perturbation classiques: l'injection d'onde électromagnétique et l'utilisation d'un laser. L'étude de ces cibles, en variant les moyens d'injections de faute, nous a permis de déterminer qu'elles réagissent toutes de manière similaire aux différentes perturbations malgré leur différente architecture. L'effet le plus marquant étant la modification des instructions exécutées. Ce type de faute est très fort car il permet de modifier une par- tie du programme exécuté pendant son exécution. Vérifier le pro- gramme avant de l'exécuter ne protège en rien face à ce type de fautes, par exemple. C'est pourquoi nous avons également étudié la résistance des mécanismes de sécurité présents dans ces cibles face à ce type de faute. Nous avons notamment réussi à cryptanalyser l'implémentation de l'algorithme de chiffrement AES de la biblio- thèque OpenSSL, très utilisé dans les systèmes utilisant Linux. Nous avons également étudié la résistance du mécanisme d'authentification des utilisateurs d'un système Linux en regardant le programme sudo . Cette étude nous a, en particulier, révélé que la communauté manque d'outils efficace pour analyser ce type de programmes face aux fautes. En effet, les programmes s'exécutant dans un environnement Linux bénéficient de nombreux mécanismes liés au noyau Linux qui rendent l'exécution d'un programme difficile à étudier.

  • Titre traduit

    SoC physical security evaluation


  • Résumé

    Since the democratization of mobile devices, sensitive operations like payment, identification or healthcare, usually done using security evaluated smartcards, are handled by these devices. However, mo- bile devices neither are designed for security nor security evaluated. Therefore, their resistance against powerful attacks, like physical at- tacks is questionable. In this thesis, we aim at evaluating the security of mobile devices against physical attacks, in particular perturbation attacks. These at- tacks aims at modifying the execution environment of the device to in- duce bugs during its computation. These bugs are called faults. These faults can compromise the security of a device by allowing the crypt- analysis of its secret or forcing an unauthorized authentication for instance. Mobile devices are powered by modern processors, which are the heart of this work, and are never evaluated against fault attacks. How- ever, our knowledge about fault attacks on smartcards is not rele- vant as the processors powering smartcards are way less complex, in terms of number of modules, technology node and optimization mechanisms, than modern processors. Regarding this situation, we aim at providing rationals on the se- curity of modern processors against fault attacks by defining a fault characterization method, using it on representative modern proces- sors and analyzing classical security mechanisms against the charac- terized faults. We characterized three devices, namely the BCM2837, BCM2711b0 and the Intel Core i3-6100T against fault attacks using two different injection mediums: electromagnetic perturbations and a laser. We de- termined that these devices, despite having different architecture and using different mediums are faulted in similar ways. Most of the time, a perturbation on these devices modify their executed instructions. As this is a powerful fault, we also analyzed classical security mech- anisms embedded in such devices. We successfully realized a dif- ferential fault analysis on the AES implementation of the OpenSSL library, which is used in every Linux based operating system. We also analyzed the Linux user authentication process involved in the sudo program. This work highlights the lack of tools to efficiently ana- lyze Linux programs, which are rather complex with dynamic linking mechanisms, against fault attacks.