Les contraintes économiques de coût et d'adaptation au marché ont imposé l'intégration de coeurs 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é.
Le e-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 contremesures
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.
De façon à optimiser les contraintes physiques, économiques et de sécurité, une structure innovante
d'interconnexion va être étudiée. Cette structure, dite « hiérarchique » ou « arborescente », par
opposition aux structures « matricielles » ou « Mesh » utilisées dans les FPGAs du commerce, 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 de l'architecture hiérarchique va s'appuyer
sur les travaux menés à l'ENST concernant les structures e-FPGA Mesh. 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é embarqué
"Secured Embedded FPGA" SeFPFA basé sur une structure d'interconnexion« 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 contremesures.
Des outils de CAO seront conçus de façon à converger vers une topologie optimale et pour
qu'un utilisateur puisse tirer pleinement parti de cette nouvelle structure. 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é.
Monsieur Jean-Luc DANGER (Université)
L'auteur de ce résumé est le coordinateur du projet, qui est responsable du contenu de ce résumé. L'ANR décline par conséquent toute responsabilité quant à son contenu.
Aide de l'ANR 378 834 euros
Début et durée du projet scientifique :
- 36 Mois