Please enter your password of your account at the remote wiki below.
/!\ You should trust both wikis because the password could be read by the particular administrators.

Clear message
Locked History Actions

Presentation

Le projet "Secured Algorithms"

Le projet concerne d'une part la modélisation et l'évaluation de la sécurité des systèmes embarquant de la cryptographie, et d'autre part une amélioration du niveau de sécurité de ces systèmes

  • Les algorithmes cryptographiques ont traditionnellement été conçus dans l'optique de résister aux attaques théoriques. Celles-ci sont généralement implicitement assimilées à des attaques en boîte noire parce que les valeurs des variables temporaires utilisées durant le calcul ne sont pas accessibles par l’attaquant. Cependant, quand les algorithmes sont implémentés dans des systèmes embarqués, comme les cartes à puce, de nombreuses nouvelles attaques deviennent réalisables. Ces nouvelles attaques, qui visent l’implémentation, consistent à exploiter des canaux cachés ou à modifier le fonctionnement des circuits. Contrairement aux attaques théoriques, elles ne sont plus conduites en boîte noire mais en boîte grise, ce qui veut dire que certaines variables internes aux algorithmes peuvent être lues ou modifiées [GUILLEY-ANNALES04]. Les attaques en boîte grise se divisent en deux grandes familles : la première contient les attaques en observation (ou SCA pour « Side-Channel Attack » tandis que la seconde regroupe les attaques en injection (ou FA, pour « Fault-Attack »).

Les analyses de consommations (« Power Attacks», une classe de SCA) sont particulièrement dangereuses car elles peuvent être montées rapidement avec des appareils usuels de laboratoire et sans une grande expertise ni en cryptographie, ni en électronique. Plusieurs entreprises se sont spécialisées dans ce type d'analyses (voir par exemple [dpa_workstation]) et des bancs de mesure « clé en main » sont même aujourd’hui vendus (par Cryptography Research par exemple). ). Un laboratoire de Thales est spécialisé dans ce type d’attaques. Ses missions sont l’évaluation de la résistance de composants cryptographiques et de cartes à puces.

Malgré la menace et le faible coût des SCA, la résistance à cette classe d'attaque n'a jamais été sérieusement incorporée aux spécifications des cryptosystèmes. Ainsi, pour protéger les implémentations concrètes, les concepteurs (de software et de hardware) doivent implanter des contre-mesures ad hoc. Comme la faisabilité de l'ajout de telles contre-mesures n'a pas été explicitement prévue lors de la conception des algorithmes cryptographiques, leur ajout est cause d’un surcoût énorme en taille de code, en temps d'exécution et en temps de développement. Cette situation est d’autant plus dommageable que les systèmes embarqués ont peu de mémoire et sont utilisés comme cœur de sécurité dans des applications où les exigences de performance sont très fortes.

Pour remédier aux menaces que font pesées les attaques SCA sur les systèmes embarqués, les concepteurs n’ont pour l’instant pas d’autres moyens que d’ajouter des contre-mesures aux SCA lors de l’implémentation des algorithmes et de valider empiriquement la pertinence de ce dernières. En effet, la validation des contre-mesures ne peut souvent se faire qu’au niveau empirique car les attaques physiques n'ont toujours pas été modélisées de façon convenable. Cet état de fait peut malheureusement conduire à des situations paradoxales (quoique probables) où l'adjonction d'une contre-mesure a priori sûre peut soit être trivialement contournée, soit donner lieu à de nouvelles attaques. Dans le même temps, la force des attaques SCA augmente à un rythme régulier et de nouveaux exploits sont publiés à chaque nouvelle conférence. On voit même apparaître des attaques réalisables pratiquement sur des systèmes embarqués protégés (se référer par exemple à [OSWALD-CHES05]). Enfin, l'imprécision des modèles et la faible compréhension des phénomènes à l'origine des fuites d'information ne permettent pas d'anticiper de futures attaques. Ceci est dommageable au secteur économique de la carte à puce où la meilleure défense reste effectivement la prévention.

Actuellement, les terminaux mobiles sont largement utilisés comme points d'entrées sécurisés à de nombreux services, comme la banque, les passeports, les pièces d'identité, les téléphones portables, la télévision payante, le contrôle d'accès, l'automobile, etc. Ils constituent en effet une solution élégante et bon marché pour assurer la sécurité des besoins en signature électronique ou en identification des personnes.

Les secrets industriels sont de plus en plus protégés par des primitives cryptographiques. Par exemple, des circuits de type FPGA peuvent être clonés par copie du fichier de configuration. Pour éviter le clonage, les fichiers de configuration sont stockés chiffré et le déchiffrement est réalisé par le circuit lors de la lecture. L’accès aux circuits permet de mener des attaques SCA sans contraintes de temps, ce qui donne un très grand pouvoir aux attaquants.

En tant que principal consommateur d'algorithmes cryptographiques, les systèmes embarqués sécurisés devraient avoir leurs propres standards, adaptés à leurs usages, leurs contraintes et leurs avantages. Néanmoins, peu (ou aucune) initiative de ce genre n'a été entreprise à ce jour.

Le projet a pour but d'étudier la possibilité de concevoir des algorithmes sur-mesure dédiés à l'embarqué et de définir des outils d’aide à la validation « sécurité » de ces algorithmes vis à vis des attaques SCA. La recherche d’algorithmes dédiés au monde de l’embarqué nous paraît effectivement pertinente. En effet et pour exemple, certains critères cryptographiques (utilisés pour définir des primitives cryptographiques) deviennent non pertinents lorsqu'ils sont appliqués à des implémentations embarquées alors qu’au contraire certains besoins spécifiques de sécurité sont généralement sous-estimés par les architectes d'algorithmes cryptographiques.

En parallèle de la construction d’algorithmes pour l’embarqué, il est indispensable de définir un cadre formel dans lequel sera analysée la sécurité de l’algorithme. Une seconde motivation du projet est donc d'apporter une contribution décisive à la formalisation des attaques physiques. Ceci permettra de tirer des conclusions objectives sur les niveaux de sécurité comparés des attaques logiques et physiques. De là, des critères de sécurité « duaux » (englobant les deux types d'attaques) seront définis.

Afin de quantifier l'efficacité des contre-mesures aux SCA et afin d’être en mesure de démontrer théoriquement leur adaptation à une vulnérabilité, les points suivants doivent être étudiés :

  • La modélisation des fuites d'information sera confrontée à des mesures « grandeur nature »,
  • La définition de critères de sécurité en accord avec les modèles (ce qui devrait permettre la construction de primitives et d'algorithmes résistant aux SCA),
  • La spécification d’une bibliothèque de contre-mesures et l’analyse théorique et empirique de leur niveau de sécurité.

Les partenaires du projet pensent que, derrière toute attaque, il se cache une vulnérabilité fondamentale (i.e. universelle). Une fois identifiée, toute faiblesse peut être incorporée aux spécifications sécuritaires de nouvelles primitives cryptographiques ou de nouveaux algorithmes, de sorte que les attaques ne puissent pas être reproduites (les primitives ou les algorithmes ont été immunisés).

Dans le domaine de la cryptanalyse classique, l’identification des faiblesses a été initiée il y a déjà plusieurs années et les principes à la source de nombreuses attaques (structurelles) guident désormais la conception des nouveaux algorithmes de chiffrement [DAE98]. Cette démarche de formalisation n’a pas encore émergé pour les attaques physiques, même s’il est vrai que quelques travaux préliminaires ont été publiés pour les SCA [GHP04, PRO05, CAR05, CC05] et les FA [BS97, LDV03, 4PQ03].

En résumé, les retombées de ce projet sont d’améliorer les modèles d’attaques pour être en mesure de développer de meilleures protections. Plus spécifiquement, les retombées du projet sont listées ci-dessous :

  • Une meilleure appréhension des attaques actuellement réalisables
  • Une meilleure compréhension des liens entre les critères sécuritaires classiques (théoriques ou logiques) et ceux des systèmes embarqués (mis en évidence dans la première partie de ce travail)
  • La définition de nouveaux modèles de sécurité • La création de nouveaux standards cryptographiques spécifiques aux systèmes embarqués
  • Des publications scientifiques dans des conférences et des journaux internationaux qui abordent la recherche dans la sécurité des systèmes embarqués