Locked History Actions

Presentation

SeFPGA : Architectures FPGA sécurisées pour les systèmes sur puce

Ce projet ANR s'inscrit dans le volet "Architectures du Futur" http://www-anr-ci.cea.fr/scripts/home/publigen/content/templates/show.asp?P=147&L=FR&ITEMID=18

Il a été labellisé par le pôle de compétitivité Systematic

Contexte

Les contraintes économiques de coût et d’adaptation au marché ont imposé l’intégration de cœurs de processeurs dans les circuits électroniques. La flexibilité que procure l’architecture SoC « System On Chip » souffre cependant d’un manque de performances pour certaines classes d’application ayant besoin à la fois de vitesse et de flexibilité. Par exemple un cryptoprocesseur capable d’effectuer différents calculs de chiffrement est pénalisé par un traitement 100% logiciel. Une structure matérielle reconfigurable offre un compromis intéressant : elle permet d’une part de respecter des contraintes de vitesse de calcul, et d’autre part de s’adapter aux besoins de l’utilisateur. Le choix d’une structure FPGA embarqué e-FPGA (Embedded Field Programmable Gate Array) pour des besoins cryptographiques est judicieux car il allie souplesse et performances. Mais comme tout cryptoprocesseur matériel, le e-FPGA peut être la cible d'attaques dites « sur les canaux auxiliaires » ou « canaux cachés ». Par exemple, la DPA « Differential Power Analysis » consiste à analyser le courant consommé sur la canal d'alimentation. Le secret (la clé) est déduit en corrélant les mesures avec des prédicteurs de signatures de consommation correspondant à des sous-ensembles de clé. Un autre type d'attaque, dite « attaque en faute» ou FA , consiste à provoquer une erreur sur un signal et ainsi, par analyse différentielle entre la sortie non erronée et la sortie erronée , permettre d'en déduire le secret du chiffrement.

Le FPGA doit donc se prémunir des attaques en intégrant à la fois dans sa structure comme dans l’application programmée, des contre-mesures efficaces. Il s'avère que sa structure générique offre de multiples facettes pour la sécurisation. Un premier niveau se situe au niveau de l'architecture des cellules et de l'interconnexion qui peut être optimisée pour réduire la fuite d'information par canaux cachés. Un exemple est d'utiliser des structures de signaux à double rail pour équilibrer la consommation. Un deuxième niveau est celui de l’application programmée qui peut intégrer des contre-mesures logiques comme celles proposées dans les ASICs. Enfin un troisième niveau est celui du changement à la volée d’une partie de l'application qui peut s'appuyer sur la reconfiguration dynamique de façon à perturber, voire annihiler l'attaque.

Solutions étudiées

De façon à optimiser les contraintes physiques, économiques et de sécurité, une structure innovante d’interconnexion va être étudiée en plus de la structure classique de topologie matricielle ou "Mesh" utilisées dans les FPGAs du commerce. Cette structure, dite « hiérarchique » ou « arborescente » peut offrir de nombreux avantages. Il a notamment été prouvé dans le laboratoire du LIP6 que cette classe d’interconnexion permettait de gagner jusqu’à 40% en surface par rapport à la structure Mesh. La structure en arbre peut cependant être plus difficile à router. Une étude architecturale associée à une réalisation de masques (lay-out) en technologie ASIC permettra à la fois de répondre à la question de la routabilité et de mesurer le prix des modifications architecturales imposées par la sécurisation. L’évaluation des architectures de calcul du FPGA (les cellules) ainsi que l’interconnexion nécessite le développement d'outils logiciels de routage ad-hoc acceptant diverses configurations topologiques et différents degrés de sécurisation. L’étude de la sécurisation des architectures arborescentes et Mesh va s’appuyer sur les travaux menés à l’ENST disposant d'une plate-forme d'attaques et ayant conçu diverses contre-mesures. La sécurisation au niveau physique sera effectuée par l’étude de différents scénarii de lay-out. L’architecture retenue fera l’objet d’une réalisation d’un circuit prototype en ASIC. Ce circuit sera finalement évalué fonctionnellement et au niveau sécurité sur une plate-forme d’attaque de l’ENST.

En conclusion ce projet vise à démontrer la faisabilité et les atouts d’un FPGA sécurisé "Secured Embedded FPGA" SeFPFA basé sur une structure d'interconnexion en matrice et sur la nouvelle structure « hiérarchique ». D'un point de vue théorique cette solution d'interconnexion permet de diminuer le nombre de points de commutation et ainsi d'optimiser la surface et la vitesse. Le projet va consister à rendre l’architecture sécurisée et à concevoir un circuit VLSI prototype pour valider la structure en arbre ainsi que les contre-mesures. Des outils de CAO seront conçus de façon à converger vers une topologie optimale au sens du respect des compromis : complexité, vitesse et sécurité dans tous les types de FPGA . Ces outils permettront de mettre en oeuvre des méthodes de sécurisation à tous les niveaux de la chaîne de conception et d’un façon paramétrable avec l’option -- secure=<n>,où <n> est le degré de sécurité.