Table of Contents
Comprendre la cryptographie basée sur le FPGA
Les tableaux de portes programmables sur le terrain (FPGA) sont des dispositifs semi-conducteurs qui peuvent être configurés par un client ou un concepteur après la fabrication, permettant la création de circuits logiques définis par le matériel optimisés pour des charges de travail spécifiques. Contrairement aux circuits intégrés spécifiques à l'application à fonction fixe (ASIC), les FPGA peuvent être reconfigurés même après le déploiement, ce qui les rend uniques à répondre à des exigences de sécurité changeantes.
La cryptographie sur un FPGA implique la programmation des blocs logiques programmables de l'appareil, des ressources d'interconnexion et des tranches de traitement numérique du signal (DSP) pour exécuter le chiffrement, le décryptage, le hachage, les signatures numériques et les opérations d'échange de clés.
Comme la logique est innovée en silicium, une implémentation FPGA peut durcir les frontières cryptographiques contre les attaques qui exploitent les vulnérabilités des logiciels. Les attaques latérales peuvent être atténuées par des implémentations de circuits à temps constant, la génération de bruit ou des techniques logiques à double rail qui ne sont possibles qu'au niveau matériel.
Principaux avantages de la sécurité fondée sur l'AGPF
La transition de la cryptographie pure au système de sécurité accéléré FPGA est guidée par des exigences de performance, de latence et de protection physique. Les attributs suivants expliquent pourquoi les FPGA sont sélectionnés pour les applications de sécurité les plus exigeantes dans tous les secteurs d'activité.
Traitement parallèle et débit élevé
Contrairement aux processeurs qui exécutent des tours cryptographiques séquentiellement, un FPGA peut dérouler des tours de chiffrement et des unités de traitement dupliquées pour traiter plusieurs blocs de données simultanément. Pour le Advanced Encryption Standard (AES), un modèle FPGA en pipeline peut obtenir un débit multi-gigabit-par-seconde en dédicérant des blocs logiques distincts à chaque tour du chiffrement. Ce parallélisme s'étend au-delà du chiffrement en vrac : fonctions de hachage, multiplication des points de courbe elliptiques et polynôme de réseau, tout avantage de la capacité d'injecter plusieurs unités de calcul sur la même matrice.
Reconfiguration et agilité de la cryptographie
Un module crypto implémenté dans un FPGA peut être mis à jour via un bitstream de firmware sans remplacer le périphérique physique, fournissant une crypto-agilité essentielle pour les systèmes de longue durée dans l'aérospatiale, la défense et le contrôle industriel. Cette flexibilité permet également au même FPGA de jouer de multiples rôles – agissant comme proxy TLS pendant le trafic maximal et plus tard comme module de sécurité matérielle pour la gestion des clés – en chargeant une nouvelle configuration sur demande. La reconfiguration partielle permet de reprogrammer un sous-ensemble du tissu pendant que le reste continue à fonctionner, permettant des mises à jour de sécurité avec zéro temps d'arrêt. Cette capacité est particulièrement précieuse dans les systèmes où les correctifs de sécurité doivent être appliqués sans interrompre les opérations essentielles à la mission.
Sécurité physique et résistance aux tambours
Lorsque les clés cryptographiques sont traitées uniquement dans un logiciel, elles résident souvent dans la mémoire principale, ce qui les rend sensibles aux attaques à démarrage à froid ou aux transferts malveillants d'accès direct à la mémoire (DMA). Dans un FPGA, les clés peuvent être stockées dans une mémoire RAM à piles ou cryptées dans une mémoire de configuration avec une protection unique de clé de puce fournie par les fusibles de sécurité du fabricant. Les FPGA modernes comprennent des fonctions physiquement incontrôlables (PUFs) qui génèrent des empreintes uniques en silicium, permettant une identification robuste des appareils et l'établissement de la racine de confiance sans stocker une clé statique dans la mémoire non volatile.
Faible latence déterministe
Les systèmes en temps réel tels que les systèmes de freinage par fil automobile, les contrôleurs avioniques et les contrôleurs de sécurité industriels exigent des opérations cryptographiques avec des latences fixes et connues. Les solutions logicielles sur les systèmes d'exploitation multitâches entraînent des retards variables en raison de l'horaire et de l'interruption de la manutention. Les processeurs de sécurité basés sur FPGA présentent un calendrier déterministe parce que les données passent par un pipeline fixe sans pannes de cache ni commutateurs de contexte.
Efficacité énergétique pour les systèmes embarqués
En éliminant les instructions de récupération et de décodage des frais généraux, un modèle FPGA bien optimisé peut calculer le même nombre d'opérations cryptographiques en utilisant une fraction de la puissance d'un logiciel de fonctionnement CPU. Les FPGA de faible puissance, comme ceux de Lattice Semiconductor et Microchip, permettent des modules de sécurité fonctionnant avec batterie qui doivent maintenir des communications cryptées pendant de longues périodes sans recharger.
Scénarios d'applications dans le monde réel
La flexibilité et la performance des FPGA ont conduit à leur adoption dans une grande variété de systèmes axés sur la sécurité, de la défense nationale aux transactions Internet quotidiennes. Chaque application exploite une combinaison différente des avantages décrits ci-dessus.
Communications militaires et aérospatiales sécuritaires
Les radios et les terminaux de communication par satellite définis par logiciel utilisent fréquemment les FPGA pour mettre en œuvre la cryptographie de type 1 et les formes d'onde personnalisées. La possibilité de mettre à niveau les algorithmes de chiffrement grâce à une mise à jour bitstream sur le terrain est inestimable pour les missions où le remplacement matériel physique est impossible. Au-delà du chiffrement en vrac, les FPGA peuvent mettre en place des protocoles anti-jamming, des sauts de fréquence et une faible probabilité de formes d'onde interceptées qui doivent être traitées avec une vitesse extrême et une latence minimale.
Accélérateurs cryptographiques du centre de données
Les fournisseurs de cloud et les centres de données hyperéchelle déploient des cartes d'accélérateur FPGA, comme celles basées sur les plateformes AMD Alveo ou Intel Agilex, pour décharger les charges de travail cryptographiques des processeurs serveur. Un Aperçu de la technologie de sécurité Xilinx décrit comment les smartNIC basés sur FPGA peuvent exécuter simultanément la terminaison TLS, le chiffrement en vrac IPsec et la compression, libérant ainsi les cœurs CPU pour la logique d'application.
Modules de sécurité matérielle (HSM)
Les HSM sont des appareils dédiés qui gèrent les clés numériques, effectuent des opérations cryptographiques et appliquent des politiques d'accès. L'utilisation d'un moteur de traitement de base permet à un HSM d'obtenir une certification FIPS 140-2 ou FIPS 140-3 avec une limite de sécurité en ancrage matériel. La logique de FPGA peut être cloisonnée dans des régions isolées les unes des autres, permettant des voûtes à clés multiples où chaque matériel clé du locataire est traité dans une boîte à sable dédiée.
Protection des IoT et des périphériques Edge
Les FPGA avec des systèmes intégrés de processeurs durs peuvent sécuriser le démarrage, authentifier les données des capteurs et établir des liens chiffrés vers le cloud sans ajouter de CI de sécurité distinct. Les FPGA de faible puissance de Lattice Semiconductor ou Microchip offrent une solution convaincante pour les modules de sécurité fonctionnant avec batterie qui nécessitent des mises à jour de protocole en vol. Un Slip de sécurité Intel[ souligne comment les FPGA sont utilisés dans les passerelles automobiles pour gérer l'authentification des messages véhicule à tout (V2X) avec des temps de réponse nanoseconde. Dans les scénarios IoT industriels, les FPGA peuvent mettre en place des mécanismes de mise à jour sécurisés de firmware qui vérifient les signatures cryptographiques avant d'appliquer de nouvelles configurations, empêchant ainsi le chargement de code malveillant sur des dispositifs déployés.
Sécurité automobile et fonctionnelle
Les véhicules modernes contiennent plus de 100 unités de commande électronique (ECU) connectées par CAN, LIN, Automotive Ethernet et d'autres bus. Les FPGA sont assis à la passerelle, effectuant l'authentification des messages, le chiffrement et la détection d'intrusion tout en respectant les exigences de sécurité fonctionnelles ISO 26262. La capacité du matériel à exécuter simultanément plusieurs fonctions de sécurité sans interférer les uns avec les autres est essentielle dans ce domaine. Par exemple, un FPGA unique peut gérer simultanément la vérification sécurisée des démarrages, le chiffrement en temps réel du trafic et la détection d'anomalies, réduisant le nombre de composants et la surface d'attaque de l'architecture électronique du véhicule.
5G Sécurité du réseau
Les stations de base 5G et les éléments réseau de base nécessitent un traitement cryptographique à des taux de données extrêmement élevés avec des limites de latence serrées. Les FPGA sont déployés dans une infrastructure 5G pour gérer le cryptage AES pour le trafic d'avion utilisateur, la protection de l'intégrité pour la signalisation de plan de contrôle et la gestion des clés pour l'authentification des appareils. La flexibilité des FPGA permet aux opérateurs réseau de mettre à jour les algorithmes de sécurité à mesure que les normes 5G évoluent, sans remplacer le matériel de base coûteux.
Algorithmes cryptographiques populaires sur les FPGA
Presque tout algorithme symétrique, asymétrique ou de hachage peut être cartographié sur le tissu FPGA. Certaines implémentations sont devenues des conceptions de référence pour l'étalonnage et l'éducation, fournissant une base pour les systèmes de production.
- AES (Advanced Encryption Standard):[ AES-128, AES-192 et AES-256 dans les modes BCE, CBC, GCM et XTS sont largement disponibles sous forme de cœurs IP hautement optimisés. Les modèles GCM pipelined peuvent atteindre plus de 100 Gbps sur les familles FPGA haut de gamme, avec quelques implémentations de plus de 400 Gbps sur les plus grands appareils. Le mode CTR permet le chiffrement parallèle de blocs individuels, ce qui le rend particulièrement adapté à l'accélération matérielle.
- La cryptographie par courbe elliptique et la cryptographie par courbe (ECC):[ L'exposantiation modulaire et la multiplication de points bénéficient des blocs DSP FPGA pour l'arithmétique grand-entier. Les courbes Curve25519 et NIST P-256 sont courantes dans les implémentations de démarrage sécurisées et l'échange de clés TLS.
- SHA-2 et SHA-3 Hashing: Les haches sont utilisées dans l'intégrité des messages et les signatures numériques. Les implémentations de la FPGA de Keccak (SHA-3) peuvent exploiter le parallélisme au niveau bit pour le hachage à grande vitesse, réalisant des débits qui sont des ordres de grandeur plus élevés que les logiciels.
- Cryptographie post-quantique (PQC):[ Le concours NIST PQC a finalisé un ensemble d'algorithmes comprenant CRYSTALS-Kyber, CRYSTALS-Dilithium, Falcon et SPHINCS+. Ces schémas basés sur des réseaux et des hachages comportent un arithmétique polynôme qui se compare bien aux unités DSP de la FPGA. Le projet NIST Post-Quantum Cryptographie fournit des ensembles de paramètres normalisés, et les accélérateurs basés sur la FPGA sont déjà utilisés pour l'échange de clés sans danger quantique.
- Cinquants légers: Les algorithmes tels que PRESENT, SPECK et Ascon sont conçus pour les environnements à ressources limitées. Les petits FPGA et même les CPLD à faible densité peuvent les implémenter pour l'authentification IoT, fournissant une sécurité accélérée matérielle avec un nombre minimal de portes et une consommation d'énergie.
Considérations de conception et flux de travail de développement
La création d'une solution de sécurité FPGA robuste implique plus que l'écriture de code HDL. Les concepteurs doivent relever une gamme de défis d'ingénierie, de cycle de vie et de certification pour s'assurer que le produit final répond à ses exigences de sécurité.
Description du matériel Langues et synthèse de haut niveau
Les outils de synthèse de haut niveau (HLS) d'AMD (Vitis HLS) et d'Intel (HLS Compiler) permettent de traduire les descriptions algorithmiques C/C++ en RTL, accélérant le développement pour les équipes de logiciel-sauvetage. Cependant, HLS peut introduire des inefficacités qui affectent la résilience des canaux latéraux, exigeant un examen de sécurité de la logique générée. Les concepteurs qui appliquent des normes de certification telles que FIPS 140-3 préfèrent souvent les HDL optimisés à la main pour les fonctions cryptographiques critiques afin d'assurer une exécution à temps constant et un comportement de synchronisation prévisible.
Gestion du cycle de vie de la sécurité
Un module de sécurité basé sur le FPGA doit être fourni avec du matériel cryptographique initial pendant la fabrication, mis à jour sur le terrain, et éventuellement désactivé. Les pratiques de chaîne d'approvisionnement sécurisée sont essentielles pour empêcher les manipulations de bits, qui pourraient introduire des portes arrières ou des configurations vulnérables. De nombreux fournisseurs offrent le chargement crypté de bits lorsque le FPGA décrypte sa configuration en utilisant une clé unique préprogrammée dans eFuses. Combiné à une attestation à distance, cela garantit que l'appareil fonctionne uniquement avec un firmware authentique.
Complexité et coût du design
Bien que le coût unitaire des FPGA de haut de gamme soit plus élevé qu'une solution logicielle, le coût total de la propriété diminue souvent lorsque l'on prend en compte les économies d'énergie et l'élimination des recoupements de sécurité dédiés ASIC. Les concepteurs réduisent la complexité en réutilisant les cœurs de chiffrement IP fournis par les fournisseurs et en adoptant une reconfiguration partielle, ce qui permet de reprogrammer un sous-ensemble du tissu pendant que le reste continue à fonctionner, permettant des mises à jour en direct avec un temps d'arrêt nul.
Vérification et validation
Les concepteurs doivent valider que l'implémentation est exempte de canaux latéraux de synchronisation, que le matériau clé ne peut pas être divulgué par des voies non intentionnelles et que la conception se comporte correctement sous des attaques par injection de faille. Les outils de vérification officiels peuvent prouver des propriétés telles que l'exécution à temps constant et l'isolement de la mémoire. Les essais fondés sur la simulation avec des modèles d'injection de failles permettent de garantir que la conception demeure sécurisée lorsque les attaques par glissade ou les températures extrêmes sont soumises à des attaques.
Normes et certifications pour la sécurité basée sur la FPGA
La norme FIPS 140-3, maintenue par le NIST, précise les exigences relatives aux modules cryptographiques, y compris la sécurité physique, la gestion des clés et l'environnement opérationnel.Les modules FPGA peuvent obtenir la validation FIPS 140-3 aux niveaux de sécurité 2 à 4, selon les mécanismes de protection contre les manipulations mis en place.Le cadre de critères communs fournit un autre chemin vers la certification, avec des profils de protection définis pour des cas d'utilisation particuliers tels que les HSM et les implémentations de boot sécurisées.Les concepteurs qui poursuivent la certification doivent documenter l'ensemble du cycle de vie du développement, des exigences par la vérification, et démontrer que la mise en œuvre du FPGA satisfait aux exigences fonctionnelles de sécurité spécifiées.
Comparaison de la sécurité de l'AGFP avec d'autres approches matérielles
Il est instructif de positionner les FPGA aux côtés d'autres plateformes de sécurité matérielle pour comprendre où chaque excelle et où des compromis existent. Chaque plateforme apporte des forces différentes à la pile de sécurité, et le choix dépend des exigences spécifiques de l'application.
- ASIC: Fournit les performances les plus élevées et le coût unitaire le plus bas à l'échelle, mais sont inflexibles une fois fabriqués. Les mises à jour d'algorithme nécessitent une nouvelle puce, les rendant impropres aux applications où les menaces évoluent plus rapidement que les cycles de rafraîchissement du matériel.
- Modules de plate-forme fiable (TPM):[ Microcontrôleurs dédiés qui mettent en œuvre un ensemble fixe de fonctions telles que le stockage de clés, les mesures et l'attestation. Les FPGA peuvent sous-estimer la fonctionnalité TPM tout en ajoutant une accélération personnalisée pour le système hôte, fournissant une solution de sécurité plus intégrée. Cependant, les TPM sont standardisés, peu coûteux et bien compris, ce qui les rend appropriés pour les applications qui ne nécessitent que des fonctions de sécurité de base.
- Sécuriser les microcontrôleurs et les éléments sécurisés: Des dispositifs à faible coût et à faible puissance avec des ensembles d'instructions cryptons durcis. Ils conviennent aux nœuds IoT restreints où les exigences de débit sont modestes. Les FPGA sont choisis lorsque ces nœuds ont besoin d'un débit plus élevé, d'algorithmes plus complexes ou de la capacité de mettre à jour des implémentations cryptographiques au-dessus de l'air.
- CPU/GPU avec environnements d'exécution fiables (TEEs):[ Intel SGX, AMD SEV et Arm TrustZone isolent l'exécution logicielle au sein du processeur. Bien qu'ils soient puissants, ils comptent toujours sur la microarchitecture et le firmware processeurs qui ont été montrés vulnérables aux attaques d'exécution latérales et spéculatives. Un FPGA peut agir comme un ancrage de confiance physiquement séparé non affecté par la spéculation CPU, fournissant une limite d'isolement plus forte pour les opérations cryptographiques sensibles.
Défis et limites
Malgré leurs avantages, les solutions de sécurité basées sur le FPGA doivent relever plusieurs défis. La courbe d'apprentissage de la conception matérielle est plus forte que le développement logiciel, exigeant une expertise en logique numérique et la fermeture de la synchronisation qui est rare dans la communauté de l'ingénierie de sécurité plus large. La complexité de la programmation du FPGA signifie que les erreurs de conception peuvent introduire des vulnérabilités qui sont difficiles à détecter lors des tests. La sécurité Bitstream est elle-même une préoccupation : si les clés de cryptage de configuration sont compromises, un attaquant pourrait inventorier la mise en œuvre cryptographique ou charger des configurations malveillantes.
Tendances et orientations futures
Les tendances de la recherche et de l'industrie indiquent un rôle croissant des FPGA dans la sécurité conventionnelle et de la prochaine génération. Plusieurs développements méritent d'être surveillés car ils façonneront l'avenir de la cryptographie basée sur les FPGA.
Accélération de la cryptographie post-quantique : Alors que les organisations se préparent à un adversaire capable de mesurer le volume, des accélérateurs basés sur le FPGA pour Kyber et Dilithium sont déployés pour gérer les tailles de clés et la complexité algorithmique accrue sans surcharger les principaux processeurs. Le parallélisme inhérent de l'arithmétique réseau fait que les cœurs IP FPGA sont naturellement adaptés et certifiés et devraient être disponibles dans les prochaines années.
Encryptage homomorphe et calcul confidentiel: Le cryptage entièrement homomorphe (FHE) permet le calcul sur des données chiffrées, mais ses exigences de calcul massives rendent actuellement impossibles pour de nombreuses applications. Les prototypes FPGA ont montré des promesses en accélérant les opérations polynômes nécessaires pour FHE, avec certaines implémentations permettant des améliorations de l'ordre de grandeur par rapport aux approches basées sur le CPU. Les architectures informatiques confidentielles basées sur le FPGA peuvent un jour permettre aux clients du cloud de traiter des données sans jamais exposer de texte clair au CPU hôte, permettant ainsi une analyse de préservation de la vie privée et l'apprentissage automatique dans des environnements non fiables.
Détection d'anomalie améliorée par l'IA : Les FPGA servent déjà de moteurs d'inférence pour les réseaux neuronaux. Dans des contextes de sécurité, ils peuvent exécuter des modèles d'apprentissage de machine légers directement sur les schémas de trafic réseau pour détecter les intrusions ou les anomalies de fuites de canaux latéraux en temps réel.
Open-Source FPGA Tools and RISC-V Integration: Le mouvement matériel open-source produit des chaînes d'outils FPGA (SymbiFlow, nextpnr) et des cœurs de processeurs RISC-V souples qui fonctionnent sur le tissu FPGA. Cette démocratisation permet aux chercheurs en sécurité de construire des processeurs sécurisés personnalisés et auditables avec des accélérateurs cryptographiques étroitement couplés au pipeline CPU. Le résultat est une racine de confiance transparente où chaque transistor peut être examiné, réduisant le risque de portes cachées.
Intégration avec calcul 5G et Edge:[ À mesure que les réseaux 5G seront matures, les FPGA joueront un rôle de plus en plus important dans la sécurisation de l'infrastructure de calcul de bord qui prend en charge les applications à faible latence.
Conclusion
Leur capacité unique à accélérer les algorithmes par le biais d'un parallélisme massif, à s'adapter aux nouvelles menaces par la reconfiguration et à protéger les clés au niveau du silicium en fait une pierre angulaire de l'infrastructure de sécurité moderne. Du déchargement des DCT et des HSM aux radios militaires et aux passerelles IoT, les FPGA renforcent la racine matérielle de la confiance dans une gamme d'applications toujours plus vaste. À mesure que les algorithmes postquantiques se transforment en une utilisation courante et en un calcul confidentiel, le rôle de FPGA continuera de croître. Les ingénieurs qui investissent dans les compétences de conception de sécurité des FPGA seront bien placés aujourd'hui pour construire les systèmes de sécurité résistants et de haute assurance de demain.