Logo Intel

Sécurité des appareils Intel Agilex 7

Image de sécurité des appareils Intel-Agilex-7

Informations sur le produit

Caractéristiques

  • Numéro de modèle : UG-20335
  • Date de sortie : 2023.05.23

Instructions d'utilisation du produit

1. Engagement envers la sécurité des produits

Intel s'engage en faveur de la sécurité des produits et recommande aux utilisateurs de se familiariser avec les ressources de sécurité des produits fournies. Ces ressources doivent être utilisées tout au long de la durée de vie du produit Intel.

2. Fonctionnalités de sécurité prévues

Les fonctionnalités de sécurité suivantes sont prévues pour une future version du logiciel Intel Quartus Prime Pro Edition :

  • Vérification de la sécurité du flux binaire de reconfiguration partielle : fournit une assurance supplémentaire que les flux binaires de reconfiguration partielle (PR) ne peuvent pas accéder ou interférer avec d'autres flux binaires de personnes PR.
  • Dispositif d'auto-élimination pour anti-T physiqueamper : effectue une réponse d'effacement ou de remise à zéro de l'appareil et programme les eFuses pour empêcher l'appareil de se configurer à nouveau.

3. Documentation de sécurité disponible

Le tableau suivant répertorie la documentation disponible pour les fonctionnalités de sécurité des appareils sur les appareils Intel FPGA et ASIC structurés :

Nom du document But
Méthodologie de sécurité pour les utilisateurs de FPGA Intel et d'ASIC structurés
Guide
Document de niveau supérieur qui fournit des descriptions détaillées de
fonctionnalités et technologies de sécurité dans les solutions programmables Intel
Des produits. Aide les utilisateurs à sélectionner les fonctionnalités de sécurité nécessaires pour
atteindre leurs objectifs de sécurité.
Guide de l'utilisateur de la sécurité des appareils Intel Stratix 10 Instructions à l'intention des utilisateurs d'appareils Intel Stratix 10 à mettre en œuvre
les éléments de sécurité identifiés à l'aide de la méthodologie de sécurité
Guide de l'utilisateur.
Guide de l'utilisateur de la sécurité des appareils Intel Agilex 7 Instructions à l'intention des utilisateurs d'appareils Intel Agilex 7 à mettre en œuvre
les éléments de sécurité identifiés à l'aide de la méthodologie de sécurité
Guide de l'utilisateur.
Guide de l'utilisateur de la sécurité des appareils Intel eASIC N5X Instructions destinées aux utilisateurs d'appareils Intel eASIC N5X à mettre en œuvre
les éléments de sécurité identifiés à l'aide de la méthodologie de sécurité
Guide de l'utilisateur.
Services cryptographiques Intel Agilex 7 et Intel eASIC N5X HPS
Guide de l'utilisateur
Informations destinées aux ingénieurs logiciels HPS sur la mise en œuvre
et utilisation des bibliothèques de logiciels HPS pour accéder aux services cryptographiques
fournis par le mandataire.
Guide de démarrage rapide du service de provisionnement de clé noire AN-968 Ensemble complet d'étapes pour configurer le provisionnement de clé noire
service.

Questions fréquemment posées

Q : Quel est l'objectif du Guide de l'utilisateur de la méthodologie de sécurité ?

R : Le Guide de l'utilisateur de la méthodologie de sécurité fournit des descriptions détaillées des fonctionnalités et technologies de sécurité des produits de solutions programmables Intel. Il aide les utilisateurs à sélectionner les fonctionnalités de sécurité nécessaires pour atteindre leurs objectifs de sécurité.

Q : Où puis-je trouver le Guide de l'utilisateur de la sécurité des appareils Intel Agilex 7 ?

R : Le Guide de l'utilisateur de la sécurité des appareils Intel Agilex 7 est disponible sur le Centre de ressources et de conception Intel. website.

Q : Qu'est-ce que le service Black Key Provisioning ?

R : Le service Black Key Provisioning est un service qui fournit un ensemble complet d’étapes pour configurer le provisionnement de clés pour des opérations sécurisées.

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7
Mise à jour pour Intel® Quartus® Prime Design Suite : 23.1

Version en ligne Envoyer des commentaires

UG-20335

683823 2023.05.23

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 2

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 3

683823 | 2023.05.23 Envoyer des commentaires
1. Intel Agilex® 7

Sécurité de l'appareil terminéeview

Intel® conçoit les appareils Intel Agilex® 7 avec un matériel et un micrologiciel de sécurité dédiés et hautement configurables.
Ce document contient des instructions pour vous aider à utiliser le logiciel Intel Quartus® Prime Pro Edition pour implémenter des fonctionnalités de sécurité sur vos appareils Intel Agilex 7.
De plus, le guide de l'utilisateur de la méthodologie de sécurité pour les FPGA Intel et les ASIC structurés est disponible sur le centre de ressources et de conception Intel. Ce document contient des descriptions détaillées des fonctionnalités et technologies de sécurité disponibles via les produits Intel Programmable Solutions pour vous aider à sélectionner les fonctionnalités de sécurité nécessaires pour atteindre vos objectifs de sécurité. Contactez le support Intel avec le numéro de référence 14014613136 pour accéder à la méthodologie de sécurité pour le guide de l'utilisateur des FPGA Intel et des ASIC structurés.
Le document est organisé comme suit : · Authentification et autorisation : fournit des instructions pour créer
clés d'authentification et chaînes de signature, appliquer des autorisations et des révocations, signer des objets et programmer des fonctionnalités d'authentification sur les appareils Intel Agilex 7. · AES Bitstream Encryption : fournit des instructions pour créer une clé racine AES, chiffrer les flux binaires de configuration et fournir la clé racine AES aux périphériques Intel Agilex 7. · Approvisionnement des appareils : fournit des instructions pour utiliser le micrologiciel d'approvisionnement Intel Quartus Prime Programmer et Secure Device Manager (SDM) pour programmer les fonctionnalités de sécurité sur les appareils Intel Agilex 7. · Fonctionnalités avancées : fournit des instructions pour activer les fonctionnalités de sécurité avancées, notamment l'autorisation de débogage sécurisée, le débogage du système de processeur dur (HPS) et la mise à jour du système à distance.
1.1. Engagement envers la sécurité des produits
L’engagement de longue date d’Intel en faveur de la sécurité n’a jamais été aussi fort. Intel vous recommande fortement de vous familiariser avec nos ressources de sécurité des produits et de prévoir de les utiliser tout au long de la durée de vie de votre produit Intel.
Informations connexes · Sécurité des produits chez Intel · Avis du Centre de sécurité des produits Intel

Société intel. Tous les droits sont réservés. Intel, le logo Intel et les autres marques Intel sont des marques commerciales d'Intel Corporation ou de ses filiales. Intel garantit les performances de ses produits FPGA et semi-conducteurs selon les spécifications actuelles conformément à la garantie standard d'Intel, mais se réserve le droit d'apporter des modifications à tout produit et service à tout moment et sans préavis. Intel n'assume aucune responsabilité découlant de l'application ou de l'utilisation de toute information, produit ou service décrit dans le présent document, sauf accord exprès et écrit d'Intel. Il est conseillé aux clients d'Intel d'obtenir la dernière version des spécifications de l'appareil avant de se fier aux informations publiées et avant de passer des commandes de produits ou de services. * D'autres noms et marques peuvent être revendiqués comme la propriété d'autrui.

Enregistré ISO 9001: 2015

1. Sécurité des appareils Intel Agilex® 7 terminéeview 683823 | 2023.05.23

1.2. Fonctionnalités de sécurité prévues

Les fonctionnalités mentionnées dans cette section sont prévues pour une future version du logiciel Intel Quartus Prime Pro Edition.

Note:

Les informations contenues dans cette section sont préliminaires.

1.2.1. Vérification de la sécurité du flux binaire de reconfiguration partielle
La validation de la sécurité du flux binaire par reconfiguration partielle (PR) contribue à fournir une assurance supplémentaire que les flux binaires de personnages PR ne peuvent pas accéder ou interférer avec d'autres flux binaires de personnages PR.

1.2.2. Dispositif d'auto-élimination pour anti-T physiqueamper
L'auto-élimination de l'appareil effectue une réponse d'effacement ou de remise à zéro de l'appareil et programme en outre les eFuses pour empêcher l'appareil de se configurer à nouveau.

1.3. Documentation de sécurité disponible

Le tableau suivant énumère la documentation disponible sur les fonctionnalités de sécurité des appareils sur les appareils Intel FPGA et ASIC structurés :

Tableau 1.

Documentation disponible sur la sécurité des appareils

Nom du document
Méthodologie de sécurité pour les FPGA Intel et les ASIC structurés - Guide de l'utilisateur

But
Document de niveau supérieur contenant des descriptions détaillées des fonctionnalités et technologies de sécurité des produits de solutions programmables Intel. Destiné à vous aider à sélectionner les fonctionnalités de sécurité nécessaires pour atteindre vos objectifs de sécurité.

Identifiant du document 721596

Guide de l'utilisateur de la sécurité des appareils Intel Stratix 10
Guide de l'utilisateur de la sécurité des appareils Intel Agilex 7

Pour les utilisateurs d'appareils Intel Stratix 10, ce guide contient des instructions pour utiliser le logiciel Intel Quartus Prime Pro Edition afin de mettre en œuvre les fonctionnalités de sécurité identifiées à l'aide du Guide de l'utilisateur de la méthodologie de sécurité.
Pour les utilisateurs d'appareils Intel Agilex 7, ce guide contient des instructions pour utiliser le logiciel Intel Quartus Prime Pro Edition afin de mettre en œuvre les fonctionnalités de sécurité identifiées à l'aide du Guide de l'utilisateur de la méthodologie de sécurité.

683642 683823

Guide de l'utilisateur de la sécurité des appareils Intel eASIC N5X

Pour les utilisateurs d'appareils Intel eASIC N5X, ce guide contient des instructions pour utiliser le logiciel Intel Quartus Prime Pro Edition afin de mettre en œuvre les fonctionnalités de sécurité identifiées à l'aide du Guide de l'utilisateur de la méthodologie de sécurité.

626836

Guide de l'utilisateur des services cryptographiques Intel Agilex 7 et Intel eASIC N5X HPS

Ce guide contient des informations destinées à aider les ingénieurs logiciels HPS dans la mise en œuvre et l'utilisation des bibliothèques logicielles HPS pour accéder aux services cryptographiques fournis par le SDM.

713026

Guide de démarrage rapide du service de provisionnement de clé noire AN-968

Ce guide contient un ensemble complet d'étapes pour configurer le service Black Key Provisioning.

739071

Localisation des ressources Intel et
Centre de conception
Intel.com
Intel.com
Centre de ressources et de conception Intel
Centre de ressources et de conception Intel
Centre de ressources et de conception Intel

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 5

683823 | 2023.05.23 Envoyer des commentaires

Authentification et autorisation

Pour activer les fonctionnalités d'authentification d'un appareil Intel Agilex 7, vous commencez par utiliser le logiciel Intel Quartus Prime Pro Edition et les outils associés pour créer une chaîne de signature. Une chaîne de signature se compose d'une clé racine, d'une ou plusieurs clés de signature et des autorisations applicables. Vous appliquez la chaîne de signature à votre projet Intel Quartus Prime Pro Edition et à votre programmation compilée files. Utilisez les instructions dans Device Provisioning pour programmer votre clé racine sur les appareils Intel Agilex 7.
Informations connexes
Provisionnement des appareils à la page 25

2.1. Création d'une chaîne de signature
Vous pouvez utiliser l'outil quartus_sign ou l'implémentation de référence agilex_sign.py pour effectuer des opérations de chaîne de signature. Ce document fournit exampchiers utilisant quartus_sign.
Pour utiliser l'implémentation de référence, vous remplacez un appel à l'interpréteur Python inclus avec le logiciel Intel Quartus Prime et omettez l'option –family=agilex ; toutes les autres options sont équivalentes. Par exempleample, la commande quartus_sign trouvée plus loin dans cette section
quartus_sign –family=agilex –operation=make_root root_public.pem root.qky peut être converti en l'appel équivalent à l'implémentation de référence comme suit
pgm_py agilex_sign.py –opération=make_root root_public.pem root.qky

Le logiciel Intel Quartus Prime Pro Edition comprend les outils quartus_sign, pgm_py et agilex_sign.py. Vous pouvez utiliser l'outil shell de commande Nios® II, qui définit automatiquement les variables d'environnement appropriées pour accéder aux outils.

Suivez ces instructions pour afficher un shell de commande Nios II. 1. Affichez un shell de commande Nios II.

Fenêtres d'options
Linux

Description
Dans le menu Démarrer, pointez sur Programmes Intel FPGA Nios II EDS et cliquez sur Nios II Command Shell.
Dans un shell de commande, accédez à /nios2eds et exécutez la commande suivante :
./nios2_command_shell.sh

L'examples fichiers de cette section supposent une chaîne de signature et un flux binaire de configuration files sont situés dans le répertoire de travail actuel. Si vous choisissez de suivre l'examples où clé files sont conservés sur le file système, ces exampLes assumer la clé files sont

Société intel. Tous les droits sont réservés. Intel, le logo Intel et les autres marques Intel sont des marques commerciales d'Intel Corporation ou de ses filiales. Intel garantit les performances de ses produits FPGA et semi-conducteurs selon les spécifications actuelles conformément à la garantie standard d'Intel, mais se réserve le droit d'apporter des modifications à tout produit et service à tout moment et sans préavis. Intel n'assume aucune responsabilité découlant de l'application ou de l'utilisation de toute information, produit ou service décrit dans le présent document, sauf accord exprès et écrit d'Intel. Il est conseillé aux clients d'Intel d'obtenir la dernière version des spécifications de l'appareil avant de se fier aux informations publiées et avant de passer des commandes de produits ou de services. * D'autres noms et marques peuvent être revendiqués comme la propriété d'autrui.

Enregistré ISO 9001: 2015

2. Authentification et autorisation 683823 | 2023.05.23
situé dans le répertoire de travail actuel. Vous pouvez choisir les répertoires à utiliser et les outils prennent en charge les file chemins. Si vous choisissez de conserver la clé files sur le file système, vous devez gérer soigneusement les autorisations d'accès à ces files.
Intel recommande d'utiliser un module de sécurité matérielle (HSM) disponible dans le commerce pour stocker les clés cryptographiques et effectuer des opérations cryptographiques. L'outil quartus_sign et l'implémentation de référence incluent une interface de programmation d'application (API) Public Key Cryptography Standard #11 (PKCS #11) pour interagir avec un HSM tout en effectuant des opérations de chaîne de signature. L'implémentation de référence agilex_sign.py comprend un résumé d'interface ainsi qu'un exampl'interface vers SoftHSM.
Vous pouvez utiliser ces example interfaces pour implémenter une interface vers votre HSM. Reportez-vous à la documentation de votre fournisseur HSM pour plus d'informations sur la mise en œuvre d'une interface et le fonctionnement de votre HSM.
SoftHSM est une implémentation logicielle d'un dispositif cryptographique générique avec une interface PKCS #11 mise à disposition par le projet OpenDNSSEC®. Vous pouvez trouver plus d'informations, y compris des instructions sur la façon de télécharger, de créer et d'installer OpenHSM, sur le projet OpenDNSSEC. Le EXampLes fichiers de cette section utilisent SoftHSM version 2.6.1. Le EXampLes fichiers de cette section utilisent également l'utilitaire pkcs11-tool d'OpenSC pour effectuer des opérations PKCS #11 supplémentaires avec un jeton SoftHSM. Vous pouvez trouver plus d'informations, y compris des instructions sur la façon de télécharger, de créer et d'installer pkcs11tool à partir d'OpenSC.
Informations connexes
· Le projet OpenDNSSEC Signataire de zone basé sur des politiques pour automatiser le processus de suivi des clés DNSSEC.
· SoftHSM Informations sur la mise en œuvre d'un magasin cryptographique accessible via une interface PKCS #11.
· OpenSC Fournit un ensemble de bibliothèques et d'utilitaires capables de fonctionner avec des cartes à puce.
2.1.1. Création de paires de clés d'authentification sur le réseau local File Système
Vous utilisez l'outil quartus_sign pour créer des paires de clés d'authentification sur le serveur local. file système à l’aide des opérations des outils make_private_pem et make_public_pem. Vous générez d’abord une clé privée avec l’opération make_private_pem. Vous précisez la courbe elliptique à utiliser, la clé privée fileet éventuellement s'il faut protéger la clé privée avec une phrase secrète. Intel recommande d'utiliser la courbe secp384r1 et de suivre les meilleures pratiques du secteur pour créer une phrase secrète forte et aléatoire sur toutes les clés privées. files. Intel recommande également de restreindre le file autorisations système sur la clé privée .pem files à lire par le propriétaire uniquement. Vous dérivez la clé publique de la clé privée avec l'opération make_public_pem. Il est utile de nommer la clé .pem files de manière descriptive. Ce document utilise la convention _.pem dans l'exemple suivantamples.
1. Dans le shell de commande Nios II, exécutez la commande suivante pour créer une clé privée. La clé privée, illustrée ci-dessous, est utilisée comme clé racine dans les versions ultérieures.ampchiers qui créent une chaîne de signature. Les appareils Intel Agilex 7 prennent en charge plusieurs clés racine, vous

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 7

2. Authentification et autorisation 683823 | 2023.05.23

répétez cette étape pour créer le nombre requis de clés racine. ExampLes fichiers de ce document font tous référence à la première clé racine, bien que vous puissiez créer des chaînes de signature de la même manière avec n'importe quelle clé racine.

Option Avec phrase secrète

Description
quartus_sign –family=agilex –operation=make_private_pem –curve=secp384r1 root0_private.pem Saisissez la phrase secrète lorsque vous y êtes invité.

Sans mot de passe

quartus_sign –family=agilex –operation=make_private_pem –curve=secp384r1 –no_passphrase root0_private.pem

2. Exécutez la commande suivante pour créer une clé publique à l'aide de la clé privée générée à l'étape précédente. Vous n'avez pas besoin de protéger la confidentialité d'une clé publique.
quartus_sign –family=agilex –operation=make_public_pem root0_private.pem root0_public.pem
3. Exécutez à nouveau les commandes pour créer une paire de clés utilisée comme clé de signature de conception dans la chaîne de signature.
quartus_sign –family=agilex –operation=make_private_pem –curve=secp384r1 design0_sign_private.pem

quartus_sign –family=agilex –operation=make_public_pem design0_sign_private.pem design0_sign_public.pem

2.1.2. Création de paires de clés d'authentification dans SoftHSM
L'ancien SoftHSMampLes fichiers de ce chapitre sont cohérents. Certains paramètres dépendent de votre installation SoftHSM et d'une initialisation de jeton dans SoftHSM.
L'outil quartus_sign dépend de la bibliothèque API PKCS #11 de votre HSM.
L'exampLes chiers de cette section supposent que la bibliothèque SoftHSM est installée à l'un des emplacements suivants : · /usr/local/lib/softhsm2.so sous Linux · C:SoftHSM2libsofthsm2.dll sur la version 32 bits de Windows · C:SoftHSM2libsofthsm2-x64 .dll sur la version 64 bits de Windows.
Initialisez un jeton dans SoftHSM à l'aide de l'outil softhsm2-util :
softhsm2-util –init-token –étiquette agilex-token –pin agilex-token-pin –so-pin agilex-so-pin –gratuit
Les paramètres d'option, en particulier l'étiquette du jeton et le code PIN du jeton, sont exampchiers utilisés tout au long de ce chapitre. Intel vous recommande de suivre les instructions de votre fournisseur HSM pour créer et gérer des jetons et des clés.
Vous créez des paires de clés d'authentification à l'aide de l'utilitaire pkcs11-tool pour interagir avec le jeton dans SoftHSM. Au lieu de faire explicitement référence aux clés privée et publique .pem files dans le file système exampchiers, vous faites référence à la paire de clés par son étiquette et l'outil sélectionne automatiquement la clé appropriée.

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 8

Envoyer des commentaires

2. Authentification et autorisation 683823 | 2023.05.23

Exécutez les commandes suivantes pour créer une paire de clés utilisée comme clé racine dans les versions ultérieures.amples ainsi qu'une paire de clés utilisée comme clé de signature de conception dans la chaîne de signature :
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label agilex-token –login –pin agilex-token-pin –keypairgen –mechanism ECDSA-KEY-PAIR-GEN –key-type EC :secp384r1 –usage-sign –étiquette root0 –id 0
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label agilex-token –login –pin agilex-token-pin –keypairgen –mechanism ECDSA-KEY-PAIR-GEN –key-type EC :secp384r1 –usage-sign –label design0_sign –id 1

Note:

L'option ID dans cette étape doit être unique pour chaque clé, mais elle est utilisée uniquement par le HSM. Cette option d'ID n'a aucun rapport avec l'ID d'annulation de clé attribué dans la chaîne de signature.

2.1.3. Création de l'entrée racine de la chaîne de signature
Convertissez la clé publique racine en une entrée racine de chaîne de signature, stockée sur le serveur local. file système au format de clé Intel Quartus Prime (.qky) file, avec l'opération make_root. Répétez cette étape pour chaque clé racine que vous générez.
Exécutez la commande suivante pour créer une chaîne de signature avec une entrée racine, en utilisant une clé publique racine du file système:
quartus_sign –family=agilex –opération=make_root –key_type=propriétaire root0_public.pem root0.qky
Exécutez la commande suivante pour créer une chaîne de signature avec une entrée racine, en utilisant la clé racine du jeton SoftHSM établi dans la section précédente :
quartus_sign –family=agilex –operation=make_root –key_type=owner –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so " root0 root0.qky

2.1.4. Création d'une entrée de clé publique de chaîne de signature
Créez une nouvelle entrée de clé publique pour une chaîne de signature avec l'opération append_key. Vous spécifiez la chaîne de signature précédente, la clé privée pour la dernière entrée de la chaîne de signature précédente, la clé publique de niveau suivant, les autorisations et l'ID d'annulation que vous attribuez à la clé publique de niveau suivant, ainsi que la nouvelle chaîne de signature. file.
Notez que la bibliothèque softHSM n'est pas disponible avec l'installation de Quartus et doit plutôt être installée séparément. Pour plus d'informations sur softHSM, reportez-vous à la section Création d'une chaîne de signature ci-dessus.

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 9

2. Authentification et autorisation 683823 | 2023.05.23
En fonction de votre utilisation des touches du file système ou dans un HSM, vous utilisez l'un des ex suivantsamples commandes pour ajouter la clé publique design0_sign à la chaîne de signature racine créée dans la section précédente :
quartus_sign –family=agilex –operation=append_key –previous_pem=root0_private.pem –previous_qky=root0.qky –permission=6 –cancel=0 –input_pem=design0_sign_public.pem design0_sign_chain.qky
quartus_sign –family=agilex –operation=append_key –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –previous_keyname= root0 –previous_qky=root0.qky –permission=6 –cancel=0 –input_keyname=design0_sign design0_sign_chain.qky
Vous pouvez répéter l'opération append_key jusqu'à deux fois supplémentaires pour un maximum de trois entrées de clé publique entre l'entrée racine et l'entrée du bloc d'en-tête dans n'importe quelle chaîne de signature.
L'exemple suivantample suppose que vous avez créé une autre clé publique d'authentification avec les mêmes autorisations et attribué l'ID d'annulation 1 appelé design1_sign_public.pem, et que vous ajoutez cette clé à la chaîne de signature de l'ex précédent.ample:
quartus_sign –family=agilex –operation=append_key –previous_pem=design0_sign_private.pem –previous_qky=design0_sign_chain.qky –permission=6 –cancel=1 –input_pem=design1_sign_public.pem design1_sign_chain.qky
quartus_sign –family=agilex –operation=append_key –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –previous_keyname= design0_sign –previous_qky=design0_sign_chain.qky –permission=6 –cancel=1 –input_keyname=design1_sign design1_sign_chain.qky
Les appareils Intel Agilex 7 incluent un compteur d'annulation de clé supplémentaire pour faciliter l'utilisation d'une clé qui peut changer périodiquement tout au long de la vie d'un appareil donné. Vous pouvez sélectionner ce compteur d'annulation de clé en modifiant l'argument de l'option –cancel en pts:pts_value.
2.2. Signature d'un flux binaire de configuration
Les appareils Intel Agilex 7 prennent en charge les compteurs Security Version Number (SVN), qui vous permettent de révoquer l'autorisation d'un objet sans annuler une clé. Vous attribuez le compteur SVN et la valeur de compteur SVN appropriée lors de la signature de tout objet, tel qu'une section bitstream, un firmware .zip file, ou certificat compact. Vous attribuez le compteur SVN et la valeur SVN en utilisant l'option –cancel et svn_counter:svn_value comme argument. Les valeurs valides pour svn_counter sont svnA, svnB, svnC et svnD. La svn_value est un entier compris dans la plage [0,63].

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 10

Envoyer des commentaires

2. Authentification et autorisation 683823 | 2023.05.23
2.2.1. Clé de Quartus File Affectation
Vous spécifiez une chaîne de signature dans votre projet logiciel Intel Quartus Prime pour activer la fonction d'authentification pour cette conception. Dans le menu Affectations, sélectionnez Périphérique Options du périphérique et du code PIN Clé Quartus de sécurité File, puis accédez à la chaîne de signature .qky file vous avez créé pour signer ce dessin.
Figure 1. Activer le paramètre de configuration Bitstream

Vous pouvez également ajouter la déclaration d'affectation suivante à vos paramètres Intel Quartus Prime file (.qsf) :
set_global_assignment -nom QKY_FILE design0_sign_chain.qky
Pour générer un .sof file à partir d'une conception précédemment compilée, qui inclut ce paramètre, dans le menu Traitement, sélectionnez Démarrer Démarrer Assembleur. La nouvelle sortie .sof file inclut les affectations pour activer l’authentification avec la chaîne de signature fournie.

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 11

2. Authentification et autorisation 683823 | 2023.05.23
2.2.2. Co-signature du micrologiciel SDM
Vous utilisez l'outil quartus_sign pour extraire, signer et installer le fichier .zip du micrologiciel SDM applicable. file. Le firmware co-signé est ensuite inclus par la programmation file outil générateur lorsque vous convertissez .sof file dans un flux binaire de configuration .rbf file. Vous utilisez les commandes suivantes pour créer une nouvelle chaîne de signature et signer le micrologiciel SDM.
1. Créez une nouvelle paire de clés de signature.
un. Créez une nouvelle paire de clés de signature sur le file système:
quartus_sign –family=agilex –operation=make_private_pem –curve=secp384r1 firmware1_private.pem
quartus_sign –family=agilex –operation=make_public_pem firmware1_private.pem firmware1_public.pem
b. Créez une nouvelle paire de clés de signature dans le HSM :
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label agilex-token –login –pin agilex-token-pin –keypairgen -mechanism ECDSA-KEY-PAIR-GEN –key-type EC :secp384r1 –usage-sign –étiquette firmware1 –id 1
2. Créez une nouvelle chaîne de signature contenant la nouvelle clé publique :
quartus_sign –family=agilex –operation=append_key –previous_pem=root0_private.pem –previous_qky=root0.qky –permission=0x1 –cancel=1 –input_pem=firmware1_public.pem firmware1_sign_chain.qky
quartus_sign –family=agilex –operation=append_key –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –previous_keyname= root0 –previous_qky=root0.qky –permission=1 –cancel=1 –input_keyname=firmware1 firmware1_sign_chain.qky
3. Copiez le firmware .zip file depuis le répertoire d'installation du logiciel Intel Quartus Prime Pro Edition (/devices/programmer/firmware/agilex.zip) vers le répertoire de travail actuel.
quartus_sign –family=agilex –get_firmware=.
4. Signez le firmware .zip file. L'outil décompresse automatiquement le .zip file et signe individuellement tous les firmware .cmf files, puis reconstruit le .zip file à utiliser par les outils des sections suivantes :
quartus_sign –family=agilex –operation=sign –qky=firmware1_sign_chain.qky –cancel=svnA:0 –pem=firmware1_private.pem agilex.zip signé_agilex.zip
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so”

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 12

Envoyer des commentaires

2. Authentification et autorisation 683823 | 2023.05.23

–keyname=firmware1 –cancel=svnA:0 –qky=firmware1_sign_chain.qky agilex.zip signé_agilex.zip

2.2.3. Signature du flux binaire de configuration à l'aide de la commande quartus_sign
Pour signer un flux binaire de configuration à l'aide de la commande quartus_sign, vous convertissez d'abord le fichier .sof file au binaire brut non signé file (.rbf). Vous pouvez éventuellement spécifier un micrologiciel co-signé à l'aide de l'option fw_source lors de l'étape de conversion.
Vous pouvez générer le flux binaire brut non signé au format .rbf à l'aide de la commande suivante :
quartus_pfg c o fw_source=signed_agilex.zip -o sign_later=ON design.sof unsigned_bitstream.rbf
Exécutez l'une des commandes suivantes pour signer le flux binaire à l'aide de l'outil quartus_sign en fonction de l'emplacement de vos clés :
quartus_sign –family=agilex –operation=sign –qky=design0_sign_chain.qky –pem=design0_sign_private.pem –cancel=svnA:0 unsigned_bitstream.rbf signé_bitstream.rbf
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname= design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_bitstream.rbf signé_bitstream.rbf
Vous pouvez convertir un .rbf signé files vers un autre flux binaire de configuration file formats.
Par exempleample, si vous utilisez le lecteur Jam* Standard Test and Programming Language (STAPL) pour programmer un flux binaire sur JTAG, vous utilisez la commande suivante pour convertir un .rbf file au format .jam requis par Jam STAPL Player :
quartus_pfg -c signé_bitstream.rbf signé_bitstream.jam

2.2.4. Prise en charge multi-autorités de la reconfiguration partielle

Les appareils Intel Agilex 7 prennent en charge l'authentification multi-autorités à reconfiguration partielle, dans laquelle le propriétaire de l'appareil crée et signe le flux binaire statique, et un propriétaire de PR distinct crée et signe les flux binaires du personnage PR. Les appareils Intel Agilex 7 implémentent la prise en charge multi-autorités en attribuant les premiers emplacements de clé racine d'authentification au périphérique ou au propriétaire du flux binaire statique et en attribuant l'emplacement de clé racine d'authentification finale au propriétaire du flux binaire de la personne de reconfiguration partielle.
Si la fonction d'authentification est activée, toutes les images de personnages PR doivent être signées, y compris les images de personnages PR imbriquées. Les images personnelles des relations publiques peuvent être signées soit par le propriétaire de l'appareil, soit par le propriétaire des relations publiques ; cependant, les flux binaires de régions statiques doivent être signés par le propriétaire de l'appareil.

Note:

La reconfiguration partielle du chiffrement statique et personnel bitstream lorsque la prise en charge multi-autorités est activée est prévue dans une version ultérieure.

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 13

2. Authentification et autorisation 683823 | 2023.05.23

Figure 2.

La mise en œuvre de la prise en charge multi-autorités de la reconfiguration partielle nécessite plusieurs étapes :
1. Le propriétaire de l'appareil ou du flux binaire statique génère une ou plusieurs clés racine d'authentification comme décrit dans Création de paires de clés d'authentification dans SoftHSM à la page 8, où l'option –key_type a la valeur propriétaire.
2. Le propriétaire du flux binaire de reconfiguration partielle génère une clé racine d'authentification mais modifie la valeur de l'option –key_type en secondaire_owner.
3. Les propriétaires de conception de flux binaire statique et de reconfiguration partielle s'assurent que la case à cocher Activer la prise en charge multi-autorités est activée dans l'onglet Sécurité des options de périphérique et de code PIN des affectations.
Intel Quartus Prime Activer les paramètres d'option multi-autorités

4. Les propriétaires de conception de flux binaire statique et de reconfiguration partielle créent des chaînes de signature basées sur leurs clés racine respectives, comme décrit dans Création d'une chaîne de signature à la page 6.
5. Les propriétaires de conceptions à flux binaire statique et à reconfiguration partielle convertissent leurs conceptions compilées au format .rbf. files et signez le .rbf files.
6. Le propriétaire de l'appareil ou du flux binaire statique génère et signe un certificat compact d'autorisation de programme à clé publique PR.
quartus_pfg –ccert ou ccert_type=PR_PUBKEY_PROG_AUTH ou Owner_qky_file=”root0.qky;root1.qky” unsigned_pr_pubkey_prog.ccert
quartus_sign –family=agilex –operation=sign –qky=design0_sign_chain.qky –pem=design0_sign_private.pem –cancel=svnA:0 unsigned_pr_pubkey_prog.ccert signé_pr_pubkey_prog.ccert
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=s10-token –user_pin=s10-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname= design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_pr_pubkey_prog.ccert signé_pr_pubkey_prog.ccert

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 14

Envoyer des commentaires

2. Authentification et autorisation 683823 | 2023.05.23

7. Le propriétaire du périphérique ou du flux binaire statique fournit ses hachages de clé racine d'authentification au périphérique, puis programme le certificat compact d'autorisation du programme de clé publique PR et enfin fournit la clé racine du propriétaire du flux binaire de reconfiguration partielle au périphérique. La section Provisionnement des appareils décrit ce processus de provisionnement.
8. Le périphérique Intel Agilex 7 est configuré avec la région statique .rbf file.
9. L'appareil Intel Agilex 7 est partiellement reconfiguré avec le persona design .rbf file.
Informations connexes
· Création d'une chaîne de signature à la page 6
· Création de paires de clés d'authentification dans SoftHSM à la page 8
· Provisionnement des appareils à la page 25

2.2.5. Vérification des chaînes de signature Bitstream de configuration
Après avoir créé des chaînes de signature et des flux binaires signés, vous pouvez vérifier qu'un flux binaire signé configure correctement un périphérique programmé avec une clé racine donnée. Vous utilisez d'abord l'opération fuse_info de la commande quartus_sign pour imprimer le hachage de la clé publique racine dans un texte file:
quartus_sign –family=agilex –operation=fuse_info root0.qky hash_fuse.txt

Vous utilisez ensuite l'option check_integrity de la commande quartus_pfg pour inspecter la chaîne de signature sur chaque section d'un flux binaire signé au format .rbf. L'option check_integrity imprime les informations suivantes :
· État de la vérification globale de l'intégrité du flux binaire
· Contenu de chaque entrée dans chaque chaîne de signature attachée à chaque section du bitstream .rbf file,
· Valeur de fusible attendue pour le hachage de la clé publique racine pour chaque chaîne de signature.
La valeur de la sortie fuse_info doit correspondre aux lignes Fuse dans la sortie check_integrity.
quartus_pfg –check_integrity signé_bitstream.rbf

Voici un exampchier de la sortie de la commande check_integrity :

Info : Commande : quartus_pfg –check_integrity signé_bitstream.rbf Statut d'intégrité : OK

Section

Type : FMC

Descripteur de signature…

Chaîne de signature #0 (entrées : -1, décalage : 96)

Entrée #0

Fuse: 34FD3B5F 7829001F DE2A24C7 3A7EAE29 C7786DB1 D6D5BC3C 52741C79

72978B22 0731B082 6F596899 40F32048 AD766A24

Générer la clé…

Courbe : secp384r1

X

: 29C39C3064AE594A36DAA85602D6AF0B278CBB0B207C4D97CFB6967961E5F0ECA

456FF53F5DBB3A69E48A042C62AB6B0

Y

: 3E81D40CBBBEAC13601247A9D53F4A831308A24CA0BDFFA40351EE76438C7B5D2

2826F7E94A169023AFAE1D1DF4A31C2

Générer la clé…

Courbe : secp384r1

X

: 29C39C3064AE594A36DAA85602D6AF0B278CBB0B207C4D97CFB6967961E5F0ECA

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 15

2. Authentification et autorisation 683823 | 2023.05.23

456FF53F5DBB3A69E48A042C62AB6B0

Y

: 3E81D40CBBBEAC13601247A9D53F4A831308A24CA0BDFFA40351EE76438C7B5D2

2826F7E94A169023AFAE1D1DF4A31C2

Entrée #1

Générer la clé…

Courbe : secp384r1

X

: 015290C556F1533E5631322953E2F9E91258472F43EC954E05D6A4B63D611E04B

C120C7E7A744C357346B424D52100A9

Y

: 68696DEAC4773FF3D5A16A4261975424AAB4248196CF5142858E016242FB82BC5

08A80F3FE7F156DEF0AE5FD95BDFE05

Entrée n°2 Autorisation du trousseau : SIGN_CODE Le trousseau peut être annulé par ID : 3 Chaîne de signature n°1 (entrées : -1, décalage : 648)

Entrée #0

Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6

DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE

Générer la clé…

Courbe : secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

Générer la clé…

Courbe : secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

Entrée #1

Générer la clé…

Courbe : secp384r1

X

: 1E8FBEDC486C2F3161AFEB028D0C4B426258293058CD41358A164C1B1D60E5C1D

74D982BC20A4772ABCD0A1848E9DC96

Y

: 768F1BF95B37A3CC2FFCEEB071DD456D14B84F1B9BFF780FC5A72A0D3BE5EB51D

0DA7C6B53D83CF8A775A8340BD5A5DB

Entrée #2

Générer la clé…

Courbe : secp384r1

X

: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432

76896E771A9C6CA5A2D3C08CF4CB83C

Y

: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1

49F91CABA72F6A3A1C2D1990CDAEA3D

Entrée n° 3 Autorisation du trousseau : SIGN_CODE Le trousseau peut être annulé par ID : 15 Chaîne de signature n° 2 (entrées : -1, décalage : 0) Chaîne de signature n° 3 (entrées : -1, décalage : 0) Chaîne de signature n° 4 (entrées : -1, décalage : 0) Chaîne de signature n°5 (entrées : -1, décalage : 0) Chaîne de signature n°6 (entrées : -1, décalage : 0) Chaîne de signature n°7 (entrées : -1, décalage : 0)

Type de section : Descripteur de signature IO… Chaîne de signature n°0 (entrées : -1, décalage : 96)

Entrée #0

Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6

DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE

Générer la clé…

Courbe : secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 16

Envoyer des commentaires

2. Authentification et autorisation 683823 | 2023.05.23

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

Générer la clé…

Courbe : secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

Entrée #1

Générer la clé…

Courbe : secp384r1

X

: 646B51F668D8CC365D72B89BA8082FDE79B00CDB750DA0C984DC5891CDF57BD21

44758CA747B1A8315024A8247F12E51

Y

: 53513118E25E16151FD55D7ECDE8293AF6C98A74D52E0DA2527948A64FABDFE7C

F4EA8B8E229218D38A869EE15476750

Entrée #2

Générer la clé…

Courbe : secp384r1

X

: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432

76896E771A9C6CA5A2D3C08CF4CB83C

Y

: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1

49F91CABA72F6A3A1C2D1990CDAEA3D

Entrée n° 3 Autorisation du trousseau : SIGN_CORE Le trousseau peut être annulé par ID : 15 Chaîne de signature n° 1 (entrées : -1, décalage : 0) Chaîne de signature n° 2 (entrées : -1, décalage : 0) Chaîne de signature n° 3 (entrées : -1, décalage : 0) Chaîne de signature n°4 (entrées : -1, décalage : 0) Chaîne de signature n°5 (entrées : -1, décalage : 0) Chaîne de signature n°6 (entrées : -1, décalage : 0) Signature chaîne n°7 (entrées : -1, décalage : 0)

Section

Type : HPS

Descripteur de signature…

Chaîne de signature #0 (entrées : -1, décalage : 96)

Entrée #0

Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6

DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE

Générer la clé…

Courbe : secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

Générer la clé…

Courbe : secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

Entrée #1

Générer la clé…

Courbe : secp384r1

X

: FAF423E08FB08D09F926AB66705EB1843C7C82A4391D3049A35E0C5F17ACB1A30

09CE3F486200940E81D02E2F385D150

Y

: 397C0DA2F8DD6447C52048CD0FF7D5CCA7F169C711367E9B81E1E6C1E8CD9134E

5AC33EE6D388B1A895AC07B86155E9D

Entrée #2

Générer la clé…

Courbe : secp384r1

X

: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432

76896E771A9C6CA5A2D3C08CF4CB83C

Y

: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1

49F91CABA72F6A3A1C2D1990CDAEA3D

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 17

2. Authentification et autorisation 683823 | 2023.05.23

Entrée n° 3 Autorisation du trousseau : SIGN_HPS Le trousseau peut être annulé par ID : 15 Chaîne de signature n° 1 (entrées : -1, décalage : 0) Chaîne de signature n° 2 (entrées : -1, décalage : 0) Chaîne de signature n° 3 (entrées : -1, décalage : 0) Chaîne de signature n°4 (entrées : -1, décalage : 0) Chaîne de signature n°5 (entrées : -1, décalage : 0) Chaîne de signature n°6 (entrées : -1, décalage : 0) Signature chaîne n°7 (entrées : -1, décalage : 0)

Type de section : Descripteur de signature CORE… Chaîne de signature #0 (entrées : -1, décalage : 96)

Entrée #0

Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6

DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE

Générer la clé…

Courbe : secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

Générer la clé…

Courbe : secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

Entrée #1

Générer la clé…

Courbe : secp384r1

X

: 646B51F668D8CC365D72B89BA8082FDE79B00CDB750DA0C984DC5891CDF57BD21

44758CA747B1A8315024A8247F12E51

Y

: 53513118E25E16151FD55D7ECDE8293AF6C98A74D52E0DA2527948A64FABDFE7C

F4EA8B8E229218D38A869EE15476750

Entrée #2

Générer la clé…

Courbe : secp384r1

X

: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432

76896E771A9C6CA5A2D3C08CF4CB83C

Y

: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1

49F91CABA72F6A3A1C2D1990CDAEA3D

Entrée n° 3 Autorisation du trousseau : SIGN_CORE Le trousseau peut être annulé par ID : 15 Chaîne de signature n° 1 (entrées : -1, décalage : 0) Chaîne de signature n° 2 (entrées : -1, décalage : 0) Chaîne de signature n° 3 (entrées : -1, décalage : 0) Chaîne de signature n°4 (entrées : -1, décalage : 0) Chaîne de signature n°5 (entrées : -1, décalage : 0) Chaîne de signature n°6 (entrées : -1, décalage : 0) Signature chaîne n°7 (entrées : -1, décalage : 0)

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 18

Envoyer des commentaires

683823 | 2023.05.23 Envoyer des commentaires

Cryptage de flux binaire AES

Le chiffrement du flux binaire Advanced Encryption Standard (AES) est une fonctionnalité qui permet au propriétaire d'un appareil de protéger la confidentialité de la propriété intellectuelle dans un flux binaire de configuration.
Pour aider à protéger la confidentialité des clés, le chiffrement bitstream de configuration utilise une chaîne de clés AES. Ces clés sont utilisées pour chiffrer les données du propriétaire dans le flux binaire de configuration, où la première clé intermédiaire est chiffrée avec la clé racine AES.

3.1. Création de la clé racine AES

Vous pouvez utiliser l'outil quartus_encrypt ou l'implémentation de référence stratix10_encrypt.py pour créer une clé racine AES au format de clé de chiffrement logiciel Intel Quartus Prime (.qek). file.

Note:

Le stratix10_encrypt.py file est utilisé pour les appareils Intel Stratix® 10 et Intel Agilex 7.

Vous pouvez éventuellement spécifier la clé de base utilisée pour dériver la clé racine AES et la clé de dérivation de clé, la valeur de la clé racine AES directement, le nombre de clés intermédiaires et l'utilisation maximale par clé intermédiaire.

Vous devez spécifier la famille d'appareils, sortie .qek file emplacement et phrase secrète lorsque vous y êtes invité.
Exécutez la commande suivante pour générer la clé racine AES à l'aide de données aléatoires pour la clé de base et des valeurs par défaut pour le nombre de clés intermédiaires et l'utilisation maximale de la clé.
Pour utiliser l'implémentation de référence, vous remplacez un appel à l'interpréteur Python inclus avec le logiciel Intel Quartus Prime et omettez l'option –family=agilex ; toutes les autres options sont équivalentes. Par exempleample, la commande quartus_encrypt trouvée plus loin dans la section

quartus_encrypt –family=agilex –opération=MAKE_AES_KEY aes_root.qek

peut être converti en appel équivalent à l'implémentation de référence comme suit pgm_py stratix10_encrypt.py –operation=MAKE_AES_KEY aes_root.qek

3.2. Paramètres de chiffrement Quartus
Pour activer le chiffrement bitstream pour une conception, vous devez spécifier les options appropriées à l'aide du panneau Assignments Device Device and Pin Options Security. Vous cochez la case Activer le chiffrement bitstream de configuration et l'emplacement de stockage de la clé de chiffrement souhaité dans le menu déroulant.

Société intel. Tous les droits sont réservés. Intel, le logo Intel et les autres marques Intel sont des marques commerciales d'Intel Corporation ou de ses filiales. Intel garantit les performances de ses produits FPGA et semi-conducteurs selon les spécifications actuelles conformément à la garantie standard d'Intel, mais se réserve le droit d'apporter des modifications à tout produit et service à tout moment et sans préavis. Intel n'assume aucune responsabilité découlant de l'application ou de l'utilisation de toute information, produit ou service décrit dans le présent document, sauf accord exprès et écrit d'Intel. Il est conseillé aux clients d'Intel d'obtenir la dernière version des spécifications de l'appareil avant de se fier aux informations publiées et avant de passer des commandes de produits ou de services. * D'autres noms et marques peuvent être revendiqués comme la propriété d'autrui.

Enregistré ISO 9001: 2015

Figure 3. Paramètres de chiffrement Intel Quartus Prime

3. Cryptage de flux binaire AES 683823 | 2023.05.23

Vous pouvez également ajouter la déclaration d'affectation suivante à vos paramètres Intel Quartus Prime file .qsf :
set_global_assignment -name ENCRYPT_PROGRAMMING_BITSTREAM sur set_global_assignment -name PROGRAMMING_BITSTREAM_ENCRYPTION_KEY_SELECT eFuses
Si vous souhaitez activer des atténuations supplémentaires contre les vecteurs d'attaque par canal secondaire, vous pouvez activer la liste déroulante Taux de mise à jour du chiffrement et la case Activer le brouillage.

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 20

Envoyer des commentaires

3. Cryptage de flux binaire AES 683823 | 2023.05.23

Les modifications correspondantes dans le .qsf sont :
set_global_assignment -name PROGRAMMING_BITSTREAM_ENCRYPTION_CNOC_SCRAMBLING sur set_global_assignment -name PROGRAMMING_BITSTREAM_ENCRYPTION_UPDATE_RATIO 31

3.3. Chiffrement d'un flux binaire de configuration
Vous chiffrez un flux binaire de configuration avant de signer le flux binaire. La programmation Intel Quartus Prime File L'outil générateur peut automatiquement chiffrer et signer un flux binaire de configuration à l'aide de l'interface utilisateur graphique ou de la ligne de commande.
Vous pouvez éventuellement créer un flux binaire partiellement chiffré à utiliser avec les outils quartus_encrypt et quartus_sign ou leurs équivalents d'implémentation de référence.

3.3.1. Configuration du chiffrement Bitstream à l'aide de la programmation File Interface graphique du générateur
Vous pouvez utiliser la programmation File Générateur pour crypter et signer l'image du propriétaire.

Figure 4.

1. Sur l'Intel Quartus Prime File menu sélectionner Programmation File Générateur. 2. Sur la sortie Fileonglet s, spécifiez la sortie file tapez pour votre configuration
schème.
Sortir File Spécification

Schéma de configuration Sortie file languette
Sortir file taper

3. Sur l'entrée Files, cliquez sur Ajouter Bitstream et accédez à votre .sof. 4. Pour spécifier les options de cryptage et d'authentification, sélectionnez le .sof et cliquez sur
Propriétés. un. Activez Activer l'outil de signature. b. Pour la clé privée file sélectionnez votre clé de signature privée .pem file. c. Activez Finaliser le cryptage.

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 21

3. Cryptage de flux binaire AES 683823 | 2023.05.23

Figure 5.

d. Pour la clé de chiffrement file, sélectionnez votre AES .qek file. Entrée (.sof) File Propriétés d'authentification et de chiffrement

Activer l'authentification Spécifier la racine privée .pem
Activer le cryptage Spécifier la clé de cryptage
5. Pour générer le bitstream signé et chiffré, sur l'entrée Files, cliquez sur Générer. Des boîtes de dialogue de mot de passe apparaissent pour vous permettre de saisir votre phrase secrète pour votre clé AES .qek file et signature de la clé privée .pem file. La programmation file Le générateur crée la sortie chiffrée et signée_file.rbf.
3.3.2. Configuration du chiffrement Bitstream à l'aide de la programmation File Interface de ligne de commande du générateur
Générez un bitstream de configuration chiffré et signé au format .rbf avec l'interface de ligne de commande quartus_pfg :
quartus_pfg -c chiffrement_enabled.sof top.rbf -o finalize_encryption=ON -o qek_file=aes_root.qek -o signature=ON -o pem_file=design0_sign_private.pem
Vous pouvez convertir un flux binaire de configuration chiffré et signé au format .rbf en un autre flux binaire de configuration file formats.
3.3.3. Génération de flux binaires de configuration partiellement chiffrée à l'aide de l'interface de ligne de commande
Vous pouvez générer une programmation partiellement cryptée file pour finaliser le cryptage et signer l'image plus tard. Générer la programmation partiellement cryptée file au format .rbf avec l'interface de ligne de commande quartus_pfg : quartus_pfg -c -o finalize_encryption_later=ON -o sign_later=ON top.sof top.rbf

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 22

Envoyer des commentaires

3. Cryptage de flux binaire AES 683823 | 2023.05.23
Vous utilisez l'outil de ligne de commande quartus_encrypt pour finaliser le chiffrement bitstream :
quartus_encrypt –family=agilex –operation=ENCRYPT –key=aes_root.qek top.rbf approved_top.rbf
Vous utilisez l'outil de ligne de commande quartus_sign pour signer le flux binaire de configuration chiffré :
quartus_sign –family=agilex –operation=SIGN –qky=design0_sign_chain.qky –pem=design0_sign_private.pem –cancel=svnA:0 cryptographié_top.rbf signé_encrypted_top.rbf
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname= design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 cryptographié_top.rbf signé_encrypted_top.rbf
3.3.4. Reconfiguration partielle du chiffrement Bitstream
Vous pouvez activer le chiffrement bitstream sur certaines conceptions FPGA Intel Agilex 7 qui utilisent une reconfiguration partielle.
Les conceptions de reconfiguration partielle utilisant la reconfiguration partielle hiérarchique (HPR) ou la reconfiguration partielle de mise à jour statique (SUPR) ne prennent pas en charge le chiffrement du flux binaire. Si votre conception contient plusieurs régions PR, vous devez chiffrer tous les personnages.
Pour activer le chiffrement du flux binaire avec reconfiguration partielle, suivez la même procédure dans toutes les révisions de conception. 1. Sur l'Intel Quartus Prime File dans le menu, sélectionnez Affectations Appareil Appareil
et sécurité des options de broches. 2. Sélectionnez l'emplacement de stockage de la clé de cryptage souhaité.
Figure 6. Paramètre de chiffrement Bitstream de reconfiguration partielle

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 23

3. Cryptage de flux binaire AES 683823 | 2023.05.23
Alternativement, vous pouvez ajouter l'instruction d'affectation suivante dans les paramètres de Quartus Prime file .qsf :
set_global_assignment -name –ENABLE_PARTIAL_RECONFIGURATION_BITSTREAM_ENCRYPTION sur
Après avoir compilé votre conception de base et vos révisions, le logiciel génère un fichier.soffile et un ou plusieurs.pmsffiles, représentant les personnages. 3. Créez une programmation cryptée et signée files de.sof et.pmsf files de la même manière que les conceptions sans reconfiguration partielle activée. 4. Convertissez le persona.pmsf compilé file vers un fichier.rbf partiellement chiffré file:
quartus_pfg -c -o finalize_encryption_later=ON -o sign_later=ON chiffrement_enabled_persona1.pmsf persona1.rbf
5. Finalisez le chiffrement bitstream à l'aide de l'outil de ligne de commande quartus_encrypt :
quartus_encrypt –family=agilex –operation=ENCRYPT –key=aes_root.qek persona1.rbf approved_persona1.rbf
6. Signez le flux binaire de configuration chiffré à l'aide de l'outil de ligne de commande quartus_sign :
quartus_sign –family=agilex –operation=SIGN –qky=design0_sign_chain.qky –pem=design0_sign_private.pem approved_persona1.rbf signé_encrypted_persona1.rbf
quartus_sign –family=agilex –operation=SIGN –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –qky= design0_sign_chain.qky –cancel=svnA:0 –keyname=design0_sign encrypté_persona1.rbf signé_encrypted_persona1.rbf

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 24

Envoyer des commentaires

683823 | 2023.05.23 Envoyer des commentaires

Approvisionnement de l'appareil

Le provisionnement initial des fonctionnalités de sécurité n’est pris en charge que dans le micrologiciel de provisionnement SDM. Utilisez le programmeur Intel Quartus Prime pour charger le micrologiciel de provisionnement SDM et effectuer des opérations de provisionnement.
Vous pouvez utiliser n'importe quel type de JTAG câble de téléchargement pour connecter le programmeur Quartus à un appareil Intel Agilex 7 afin d'effectuer des opérations de provisionnement.
4.1. Utilisation du micrologiciel de fourniture SDM
Le programmeur Intel Quartus Prime crée et charge automatiquement une image d'assistance par défaut lorsque vous sélectionnez l'opération d'initialisation et une commande pour programmer autre chose qu'un flux binaire de configuration.
En fonction de la commande de programmation spécifiée, l'image d'assistance par défaut est de deux types :
· Image d'aide au provisionnement : se compose d'une section de flux binaire contenant le micrologiciel de provisionnement SDM.
· Image d'assistance QSPI : se compose de deux sections de flux binaire, une contenant le micrologiciel principal du SDM et une section d'E/S.
Vous pouvez créer une image d'assistance par défaut file à charger sur votre appareil avant d'exécuter une commande de programmation. Après avoir programmé un hachage de clé racine d'authentification, vous devez créer et signer une image d'assistance par défaut QSPI en raison de la section d'E/S incluse. Si vous programmez en outre le paramètre de sécurité du micrologiciel cosigné eFuse, vous devez créer des images d'assistance d'approvisionnement et d'assistance par défaut QSPI avec le micrologiciel cosigné. Vous pouvez utiliser une image d'assistance par défaut cosignée sur un appareil non provisionné, car celui-ci ignore les chaînes de signature non Intel sur le micrologiciel SDM. Reportez-vous à Utilisation de l'image d'assistance par défaut QSPI sur les appareils détenus à la page 26 pour plus de détails sur la création, la signature et l'utilisation de l'image d'assistance par défaut QSPI.
L'image d'assistance par défaut d'usine de provisionnement effectue une action de provisionnement, telle que la programmation du hachage de clé racine d'authentification, des fusibles de paramètres de sécurité, de l'inscription PUF ou du provisionnement de clé noire. Vous utilisez la programmation Intel Quartus Prime File Outil de ligne de commande du générateur pour créer l'image d'assistance de provisionnement, en spécifiant l'option helper_image, le nom de votre helper_device, le sous-type d'image d'assistance de provisionnement et éventuellement un firmware .zip co-signé. file:
quartus_pfg –helper_image -o helper_device=AGFB014R24A -o subtype=PROVISION -o fw_source=signed_agilex.zip signé_provision_helper_image.rbf
Programmez l'image d'assistance à l'aide de l'outil Intel Quartus Prime Programmer :
quartus_pgm -c 1 -mjtag -o « p;signed_provision_helper_image.rbf » –force

Société intel. Tous les droits sont réservés. Intel, le logo Intel et les autres marques Intel sont des marques commerciales d'Intel Corporation ou de ses filiales. Intel garantit les performances de ses produits FPGA et semi-conducteurs selon les spécifications actuelles conformément à la garantie standard d'Intel, mais se réserve le droit d'apporter des modifications à tout produit et service à tout moment et sans préavis. Intel n'assume aucune responsabilité découlant de l'application ou de l'utilisation de toute information, produit ou service décrit dans le présent document, sauf accord exprès et écrit d'Intel. Il est conseillé aux clients d'Intel d'obtenir la dernière version des spécifications de l'appareil avant de se fier aux informations publiées et avant de passer des commandes de produits ou de services. * D'autres noms et marques peuvent être revendiqués comme la propriété d'autrui.

Enregistré ISO 9001: 2015

4. Approvisionnement des appareils 683823 | 2023.05.23

Note:

Vous pouvez omettre l'opération d'initialisation des commandes, y compris exampchiers fournis dans ce chapitre, après avoir programmé une image d'assistance de provisionnement ou utilisé une commande contenant l'opération d'initialisation.

4.2. Utilisation de l'image d'assistance par défaut d'usine QSPI sur les appareils détenus
Le programmeur Intel Quartus Prime crée et charge automatiquement une image d'assistance par défaut QSPI lorsque vous sélectionnez l'opération d'initialisation pour une programmation flash QSPI. file. Après avoir programmé un hachage de clé racine d'authentification, vous devez créer et signer l'image d'assistance par défaut d'usine QSPI, et programmer l'image d'assistance d'usine QSPI signée séparément avant de programmer le flash QSPI. 1. Vous utilisez la programmation Intel Quartus Prime File Outil de ligne de commande du générateur pour
créez l'image d'assistance QSPI, en spécifiant l'option helper_image, votre type d'assistance_device, le sous-type d'image d'assistance QSPI et éventuellement un firmware .zip cosigné file:
quartus_pfg –helper_image -o helper_device=AGFB014R24A -o subtype=QSPI -o fw_source=signed_agilex.zip qspi_helper_image.rbf
2. Vous signez l'image d'assistance par défaut d'usine QSPI :
quartus_sign –family=agilex –operation=sign –qky=design0_sign_chain.qky –pem=design0_sign_private.pem qspi_helper_image.rbf signé_qspi_helper_image.rbf
3. Vous pouvez utiliser n'importe quelle programmation flash QSPI file format. L'ex suivantamples fichiers utilisent un flux binaire de configuration converti en .jic file format:
quartus_pfg -c signé_bitstream.rbf signé_flash.jic -o périphérique=MT25QU128 -o flash_loader=AGFB014R24A -o mode=ASX4
4. Vous programmez l'image d'assistance signée à l'aide de l'outil Intel Quartus Prime Programmer :
quartus_pgm -c 1 -mjtag -o "p;signed_qspi_helper_image.rbf" –force
5. Vous programmez l'image .jic pour qu'elle clignote à l'aide de l'outil Intel Quartus Prime Programmer :
quartus_pgm -c 1 -mjtag -o "p;signed_flash.jic"

4.3. Approvisionnement de la clé racine d’authentification
Pour programmer les hachages de clé racine du propriétaire sur des fusibles physiques, vous devez d'abord charger le micrologiciel de mise à disposition, puis programmer les hachages de clé racine du propriétaire, puis effectuer immédiatement une réinitialisation à la mise sous tension. Une réinitialisation à la mise sous tension n'est pas nécessaire si vous programmez des hachages de clé racine sur des fusibles virtuels.

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 26

Envoyer des commentaires

4. Approvisionnement des appareils 683823 | 2023.05.23
Pour programmer les hachages de clé racine d'authentification, vous programmez l'image d'assistance du micrologiciel de mise à disposition et exécutez l'une des commandes suivantes pour programmer la clé racine .qky files.
// Pour les eFuses physiques (non volatiles) quartus_pgm -c 1 -m jtag -o "p;root0.qky;root1.qky;root2.qky" –clé_non_volatile
// Pour les eFuses virtuels (volatils) quartus_pgm -c 1 -m jtag -o "p;root0.qky;root1.qky;root2.qky"
4.3.1. Reconfiguration partielle Programmation de clé racine multi-autorités
Après avoir provisionné les clés racine du propriétaire du flux binaire de l'appareil ou de la région statique, vous chargez à nouveau l'image d'assistance à la fourniture du périphérique, programmez le certificat compact d'autorisation du programme de clé publique PR signé, puis provisionnez la clé racine du propriétaire du flux binaire du personnage PR.
// Pour les eFuses physiques (non volatiles) quartus_pgm -c 1 -m jtag -o "p;root_pr.qky" –pr_pubkey –non_volatile_key
// Pour les eFuses virtuels (volatils) quartus_pgm -c 1 -m jtag -o "p;p;root_pr.qky" –pr_pubkey
4.4. Programmation des fusibles d'identification d'annulation de clé
À partir de la version 21.1 du logiciel Intel Quartus Prime Pro Edition, la programmation des fusibles Intel et de l'ID d'annulation de clé propriétaire nécessite l'utilisation d'un certificat compact signé. Vous pouvez signer le certificat compact d'ID d'annulation de clé avec une chaîne de signature disposant des autorisations de signature de section FPGA. Vous créez le certificat compact avec la programmation file outil de ligne de commande du générateur. Vous signez le certificat non signé à l'aide de l'outil quartus_sign ou de l'implémentation de référence.
Les appareils Intel Agilex 7 prennent en charge des banques distinctes d'ID d'annulation de clé de propriétaire pour chaque clé racine. Lorsqu'un certificat compact d'ID d'annulation de clé de propriétaire est programmé dans un FPGA Intel Agilex 7, le SDM détermine quelle clé racine a signé le certificat compact et fait sauter le fusible d'ID d'annulation de clé qui correspond à cette clé racine.
L'exemple suivantampLes créer un certificat d'annulation de clé Intel pour l'ID de clé Intel 7. Vous pouvez remplacer 7 par l'ID d'annulation de clé Intel applicable de 0 à 31.
Exécutez la commande suivante pour créer un certificat compact d'ID d'annulation de clé Intel non signé :
quartus_pfg –ccert -o ccert_type=CANCEL_INTEL_KEY -o Cancel_key=7 unsigned_cancel_intel7.ccert
Exécutez l’une des commandes suivantes pour signer le certificat compact d’ID d’annulation de clé Intel non signé :
quartus_sign –family=agilex –operation=SIGN –qky=design0_sign_chain.qky –pem=design0_private.pem –cancel=svnA:0 unsigned_cancel_intel7.ccert signé_cancel_intel7.ccert
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so”

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 27

4. Approvisionnement des appareils 683823 | 2023.05.23
–keyname=design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_cancel_intel7.ccert signé_cancel_intel7.ccert
Exécutez la commande suivante pour créer un certificat compact d'ID d'annulation de clé de propriétaire non signé :
quartus_pfg –ccert -o ccert_type=CANCEL_OWNER_KEY -o Cancel_key=2 unsigned_cancel_owner2.ccert
Exécutez l’une des commandes suivantes pour signer le certificat compact d’ID d’annulation de clé de propriétaire non signé :
quartus_sign –family=agilex –operation=SIGN –qky=design0_sign_chain.qky –pem=design0_private.pem –cancel=svnA:0 unsigned_cancel_owner2.ccert signé_cancel_owner2.ccert
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname= design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_cancel_owner2.ccert signé_cancel_owner2.ccert
Après avoir créé un certificat compact d'ID d'annulation de clé signé, vous utilisez le programmeur Intel Quartus Prime pour programmer le certificat compact sur l'appareil via J.TAG.
//Pour les eFuses physiques (non volatiles) quartus_pgm -c 1 -m jtag -o « pi;signed_cancel_intel7.ccert » –non_volatile_key quartus_pgm -c 1 -m jtag -o « pi;signed_cancel_owner2.ccert » –non_volatile_key
//Pour les eFuses virtuels (volatils) quartus_pgm -c 1 -m jtag -o « pi;signed_cancel_intel7.ccert » quartus_pgm -c 1 -m jtag -o "pi; signé_cancel_owner2.ccert"
Vous pouvez également envoyer le certificat compact au SDM à l'aide de l'interface de boîte aux lettres FPGA ou HPS.
4.5. Annulation des clés racine
Les appareils Intel Agilex 7 vous permettent d'annuler les hachages de clé racine lorsqu'un autre hachage de clé racine non annulé est présent. Vous annulez un hachage de clé racine en configurant d’abord l’appareil avec une conception dont la chaîne de signature est enracinée dans un hachage de clé racine différent, puis programmez un certificat compact d’annulation de hachage de clé racine signé. Vous devez signer le certificat compact d'annulation de hachage de clé racine avec une chaîne de signature ancrée dans la clé racine à annuler.
Exécutez la commande suivante pour générer un certificat compact d'annulation de hachage de clé racine non signé :
quartus_pfg –ccert -o –ccert_type=CANCEL_KEY_HASH unsigned_root_cancel.ccert

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 28

Envoyer des commentaires

4. Approvisionnement des appareils 683823 | 2023.05.23

Exécutez l’une des commandes suivantes pour signer le certificat compact d’annulation de hachage de clé racine non signé :
quartus_sign –family=agilex –operation=SIGN –qky=design0_sign_chain.qky –pem=design0_private.pem –cancel=svnA:0 unsigned_root_cancel.ccert signé_root_cancel.ccert
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname= design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_root_cancel.ccert signé_root_cancel.ccert
Vous pouvez programmer un certificat compact d'annulation de hachage de clé racine via JTAG, FPGA ou HPS.

4.6. Programmation des fusibles du compteur
Vous mettez à jour le numéro de version de sécurité (SVN) et le pseudo-heure St.amp (PTS) contre-fusibles à l’aide de certificats compacts signés.

Note:

Le SDM garde une trace de la valeur minimale du compteur observée lors d'une configuration donnée et n'accepte pas les certificats d'incrément de compteur lorsque la valeur du compteur est inférieure à la valeur minimale. Vous devez mettre à jour tous les objets affectés à un compteur et reconfigurer l'appareil avant de programmer un certificat compact d'incrément de compteur.

Exécutez l'une des commandes suivantes qui correspond au certificat d'incrément de compteur que vous souhaitez générer.
quartus_pfg –ccert -o ccert_type=PTS_COUNTER -o counter= unsigned_pts.ccert

quartus_pfg –ccert -o ccert_type=SVN_COUNTER_A -o counter= unsigned_svnA.ccert

quartus_pfg –ccert -o ccert_type=SVN_COUNTER_B -o counter= unsigned_svnB.ccert

quartus_pfg –ccert -o ccert_type=SVN_COUNTER_C -o counter= unsigned_svnC.ccert

quartus_pfg –ccert -o ccert_type=SVN_COUNTER_D -o counter= unsigned_svnD.ccert

Une valeur de compteur de 1 crée un certificat d'autorisation d'incrément de compteur. La programmation d'un certificat compact d'autorisation d'incrément de compteur vous permet de programmer d'autres certificats d'incrément de compteur non signés pour mettre à jour le compteur respectif. Vous utilisez l'outil quartus_sign pour signer les certificats compacts de compteur de la même manière que les certificats compacts d'ID d'annulation de clé.
Vous pouvez programmer un certificat compact d'annulation de hachage de clé racine via JTAG, FPGA ou HPS.

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 29

4. Approvisionnement des appareils 683823 | 2023.05.23

4.7. Approvisionnement en clé racine du service d'objets de données sécurisé
Vous utilisez le programmeur Intel Quartus Prime pour provisionner la clé racine SDOS (Secure Data Object Service). Le programmeur charge automatiquement l’image d’assistance du micrologiciel de mise à disposition pour mettre à disposition la clé racine SDOS.
quartus_pgm c 1 m jtag –clé_racine_service –clé_non_volatile

4.8. Paramètre de sécurité Approvisionnement en fusibles
Utilisez le programmeur Intel Quartus Prime pour examiner les fusibles des paramètres de sécurité de l'appareil et les écrire dans un fichier .fuse textuel. file comme suit:
quartus_pgm -c 1 -mjtag -o « ei;programmation_file.fusible ;AGFB014R24B »

Options · i : Le programmeur charge l'image d'assistance du micrologiciel de mise à disposition sur l'appareil. · e : le programmateur lit le fusible de l'appareil et le stocke dans un fichier .fuse file.

Le fusible file contient une liste de paires nom-valeur de fusible. La valeur indique si un fusible a grillé ou le contenu du champ Fusible.

L'exemple suivantample montre le format du .fuse file:

# Firmware co-signé

= "Pas soufflé"

# Autorisation d'élimination de l'appareil

= "Pas soufflé"

# Appareil non sécurisé

= "Pas soufflé"

# Désactiver le débogage HPS

= "Pas soufflé"

# Désactiver l'inscription PUF avec ID intrinsèque

= "Pas soufflé"

# Désactiver JTAG

= "Pas soufflé"

# Désactiver la clé de chiffrement enveloppée par PUF

= "Pas soufflé"

# Désactiver la clé de cryptage du propriétaire dans BBRAM = "Non grillé"

# Désactiver la clé de cryptage du propriétaire dans eFuses = « Pas grillé »

# Désactiver le hachage de la clé publique racine du propriétaire 0

= "Pas soufflé"

# Désactiver le hachage de la clé publique racine du propriétaire 1

= "Pas soufflé"

# Désactiver le hachage de la clé publique racine du propriétaire 2

= "Pas soufflé"

# Désactiver les eFuses virtuels

= "Pas soufflé"

# Forcer l'horloge SDM sur l'oscillateur interne = "Pas grillé"

# Forcer la mise à jour de la clé de chiffrement

= "Pas soufflé"

# Annulation de clé explicite Intel

= "0"

# Verrouiller les eFuses de sécurité

= "Pas soufflé"

# Programme de clé de chiffrement du propriétaire terminé

= "Pas soufflé"

# Démarrage du programme de clé de chiffrement du propriétaire

= "Pas soufflé"

# Annulation de clé explicite du propriétaire 0

= ""

# Annulation de clé explicite du propriétaire 1

= ""

# Annulation de clé explicite du propriétaire 2

= ""

# Fusibles du propriétaire

=

« 0x00000000000000000000000000000000000000000000000000000

00000000000000000000000000000000000000000000000000000

0000000000000000000000”

# Hachage de clé publique racine du propriétaire 0

=

« 0x00000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000”

# Hachage de clé publique racine du propriétaire 1

=

« 0x00000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000”

# Hachage de clé publique racine du propriétaire 2

=

« 0x00000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000”

# Taille de la clé publique racine du propriétaire

= « Aucun »

# Compteur PTS

= "0"

# Base de comptoir PTS

= "0"

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 30

Envoyer des commentaires

4. Approvisionnement des appareils 683823 | 2023.05.23

# Délai de démarrage QSPI # Compteur RMA # SDMIO0 est I2C # Compteur SVN A # Compteur SVN B # Compteur SVN C # Compteur SVN D

= « 10 ms » = « 0 » = « Non grillé » = « 0 » = « 0 » = « 0 » = « 0 »

Modifier le .fuse file pour définir les fusibles de réglage de sécurité souhaités. Une ligne commençant par # est traitée comme une ligne de commentaire. Pour programmer un fusible de paramètre de sécurité, supprimez le signe # et définissez la valeur sur Blown. Par exempleample, pour activer le fusible de paramètre de sécurité du micrologiciel co-signé, modifiez la première ligne du fusible file aux éléments suivants:
Firmware co-signé = « Soufflé »

Vous pouvez également attribuer et programmer les fusibles propriétaires en fonction de vos besoins.
Vous pouvez utiliser la commande suivante pour effectuer une vérification à blanc, programmer et vérifier la clé publique racine du propriétaire :
quartus_pgm -c 1 -mjtag -o "ibpv;root0.qky"

Options · i : charge l'image d'assistance du micrologiciel de mise à disposition sur l'appareil. · b : Effectue une vérification en blanc pour vérifier que les fusibles du paramètre de sécurité souhaité ne sont pas
déjà soufflé. · p : Programme le fusible. · v : Vérifie la clé programmée sur l'appareil.
Après avoir programmé le .qky file, vous pouvez examiner les informations sur le fusible en vérifiant à nouveau les informations sur le fusible pour vous assurer que le hachage de la clé publique du propriétaire et la taille de la clé publique du propriétaire ont des valeurs non nulles.
Bien que les champs suivants ne soient pas accessibles en écriture via le .fuse file méthode, ils sont inclus lors de l'opération d'examen pour vérification : · Appareil non sécurisé · Autorisation de suppression du périphérique · Désactivation du hachage de clé publique racine du propriétaire 0 · Désactivation du hachage de clé publique racine du propriétaire 1 · Désactivation du hachage de clé publique racine du propriétaire 2 · Annulation de la clé Intel · Démarrage du programme de clé de chiffrement du propriétaire · Programme de clé de chiffrement du propriétaire terminé · Annulation de la clé du propriétaire · Hachage de la clé publique du propriétaire · Taille de la clé publique du propriétaire · Hachage de la clé publique racine du propriétaire 0 · Hachage de la clé publique racine du propriétaire 1 · Hachage de la clé publique racine du propriétaire 2

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 31

4. Approvisionnement des appareils 683823 | 2023.05.23
· Compteur PTS · Base du compteur PTS · Retard de démarrage QSPI · Compteur RMA · SDMIO0 est I2C · Compteur SVN A · Compteur SVN B · Compteur SVN C · Compteur SVN D
Utilisez le programmeur Intel Quartus Prime pour programmer le .fuse file retour à l'appareil. Si vous ajoutez l'option i, le programmeur charge automatiquement le micrologiciel de mise à disposition pour programmer les fusibles des paramètres de sécurité.
//Pour les eFuses physiques (non volatiles) quartus_pgm -c 1 -m jtag -o "pi;programmation_file.fuse » –non_volatile_key
//Pour les eFuses virtuels (volatils) quartus_pgm -c 1 -m jtag -o "pi;programmation_file.fusible"
Vous pouvez utiliser la commande suivante pour vérifier si le hachage de la clé racine du périphérique est le même que le .qky fourni dans la commande :
quartus_pgm -c 1 -mjtag -o "v;root0_another.qky"
Si les clés ne correspondent pas, le programmeur échoue avec un message d’erreur d’échec de l’opération.
4.9. Approvisionnement de clé racine AES
Vous devez utiliser un certificat compact de clé racine AES signé pour programmer une clé racine AES sur un périphérique Intel Agilex 7.
4.9.1. Certificat compact de clé racine AES
Vous utilisez l'outil de ligne de commande quartus_pfg pour convertir votre clé racine AES .qek file au format de certificat compact .ccert. Vous spécifiez l'emplacement de stockage de la clé lors de la création du certificat compact. Vous pouvez utiliser l'outil quartus_pfg pour créer un certificat non signé pour une signature ultérieure. Vous devez utiliser une chaîne de signature avec l'autorisation de signature de certificat de clé racine AES, bit d'autorisation 6, activée afin de signer avec succès un certificat compact de clé racine AES.

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 32

Envoyer des commentaires

4. Approvisionnement des appareils 683823 | 2023.05.23
1. Créez une paire de clés supplémentaire utilisée pour signer le certificat compact de clé AES à l'aide de l'une des commandes suivantes examples:
quartus_sign –family=agilex –operation=make_private_pem –curve=secp384r1 aesccert1_private.pem
quartus_sign –family=agilex –operation=make_public_pem aesccert1_private.pem aesccert1_public.pem
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label agilex-token –login –pin agilex-token-pin –keypairgen mécanisme ECDSA-KEY-PAIR-GEN –key-type EC : secp384r1 –usage-sign –étiquette aesccert1 –id 2
2. Créez une chaîne de signature avec le bit d'autorisation correct défini à l'aide de l'une des commandes suivantes :
quartus_sign –family=agilex –operation=append_key –previous_pem=root0_private.pem –previous_qky=root0.qky –permission=0x40 –cancel=1 –input_pem=aesccert1_public.pem aesccert1_sign_chain.qky
quartus_sign –family=agilex –operation=append_key –module=softHSM -module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –previous_keyname= root0 –previous_qky=root0.qky –permission=0x40 –cancel=1 –input_keyname=aesccert1 aesccert1_sign_chain.qky
3. Créez un certificat compact AES non signé pour l'emplacement de stockage de clé racine AES souhaité. Les options de stockage de clé racine AES suivantes sont disponibles :
· EFUSE_WRAPPED_AES_KEY
· IID_PUF_WRAPPED_AES_KEY
· UDS_IID_PUF_WRAPPED_AES_KEY
· BBRAM_WRAPPED_AES_KEY
· BBRAM_IID_PUF_WRAPPED_AES_KEY
· BBRAM_UDS_IID_PUF_WRAPPED_AES_KEY
//Créer un certificat non signé de clé racine eFuse AES quartus_pfg –ccert -o ccert_type=EFUSE_WRAPPED_AES_KEY -o qek_file=aes.qek non signé_efuse1.ccert
4. Signez le certificat compact avec la commande quartus_sign ou l'implémentation de référence.
quartus_sign –family=agilex –operation=sign –pem=aesccert1_private.pem –qky=aesccert1_sign_chain.qky unsigned_1.ccert signé_1.ccert
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so”

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 33

4. Approvisionnement des appareils 683823 | 2023.05.23

–keyname=aesccert1 –qky=aesccert1_sign_chain.qky unsigned_1.ccert signé_1.ccert
5. Utilisez le programmeur Intel Quartus Prime pour programmer le certificat compact de clé racine AES sur le périphérique Intel Agilex 7 via J.TAG. Le programmeur Intel Quartus Prime programme par défaut des eFuses virtuels lors de l'utilisation du type de certificat compact EFUSE_WRAPPED_AES_KEY.
Vous ajoutez l'option –non_volatile_key pour spécifier la programmation des fusibles physiques.
//Pour la clé racine eFuse AES physique (non volatile) quartus_pgm -c 1 -m jtag -o « pi;signed_efuse1.ccert » –non_volatile_key

//Pour la clé racine eFuse AES virtuelle (volatile) quartus_pgm -c 1 -m jtag -o "pi; signé_efuse1.ccert"

//Pour la clé racine BBRAM AES quartus_pgm -c 1 -m jtag -o "pi; signé_bbram1.ccert"

Le micrologiciel de fourniture SDM et le micrologiciel principal prennent en charge la programmation du certificat de clé racine AES. Vous pouvez également utiliser l'interface de boîte aux lettres SDM de la structure FPGA ou HPS pour programmer un certificat de clé racine AES.

Note:

La commande quartus_pgm ne prend pas en charge les options b et v pour les certificats compacts (.ccert).

4.9.2. Approvisionnement de clé racine Intrinsic ID® PUF AES
La mise en œuvre de la clé AES enveloppée par PUF d'ID intrinsèque* comprend les étapes suivantes : 1. Inscription du PUF d'ID intrinsèque via JTAG. 2. Encapsulation de la clé racine AES. 3. Programmation des données d'assistance et de la clé enveloppée dans la mémoire flash quad SPI. 4. Interrogation de l'état d'activation du PUF de l'ID intrinsèque.
L'utilisation de la technologie Intrinsic ID nécessite un accord de licence distinct avec Intrinsic ID. Le logiciel Intel Quartus Prime Pro Edition restreint les opérations PUF sans la licence appropriée, telles que l'inscription, l'encapsulation de clés et la programmation des données PUF sur QSPI Flash.

4.9.2.1. Inscription PUF avec ID intrinsèque
Pour inscrire le PUF, vous devez utiliser le micrologiciel de fourniture SDM. Le micrologiciel de mise à disposition doit être le premier micrologiciel chargé après un cycle d'alimentation et vous devez émettre la commande d'inscription PUF avant toute autre commande. Le micrologiciel de mise à disposition prend en charge d'autres commandes après l'inscription PUF, notamment l'encapsulation de clé racine AES et la programmation du quad SPI. Cependant, vous devez redémarrer l'appareil pour charger un flux binaire de configuration.
Vous utilisez le programmeur Intel Quartus Prime pour déclencher l'inscription PUF et générer les données d'assistance PUF .puf file.

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 34

Envoyer des commentaires

4. Approvisionnement des appareils 683823 | 2023.05.23

Figure 7.

Inscription PUF avec ID intrinsèque
quartus_pgm Inscription PUF

Données d'assistance PUF d'inscription

Gestionnaire de périphériques sécurisés (SDM)

données d'assistance wrapper.puf
Le programmeur charge automatiquement une image d'assistance du micrologiciel de mise à disposition lorsque vous spécifiez à la fois l'opération i et un argument .puf.
quartus_pgm -c 1 -mjtag -o « ei;help_data.puf;AGFB014R24A »
Si vous utilisez un micrologiciel cosigné, vous programmez l’image d’assistance du micrologiciel cosigné avant d’utiliser la commande d’inscription PUF.
quartus_pgm -c 1 -mjtag -o "p;signed_provision_helper_image.rbf" –force quartus_pgm -c 1 -m jtag -o « e;help_data.puf;AGFB014R24A »
Le PUF UDS IID est inscrit lors de la fabrication de l’appareil et n’est pas disponible pour une réinscription. Au lieu de cela, vous utilisez le programmeur pour déterminer l'emplacement des données d'assistance UDS PUF sur IPCS, téléchargez le fichier .puf file directement, puis utilisez le fichier UDS .puf file de la même manière que le .puf file extrait d'un appareil Intel Agilex 7.
Utilisez la commande de programmeur suivante pour générer un texte file contenant une liste de URLs pointant vers un périphérique spécifique files sur IPCS :
quartus_pgm -c 1 -mjtag -o « e;ipcs_urls.txt;AGFB014R24B” –ipcs_urls
4.9.2.2. Encapsulation de la clé racine AES
Vous générez la clé racine AES enveloppée par PUF IID .wkey file en envoyant un certificat signé au SDM.
Vous pouvez utiliser le programmeur Intel Quartus Prime pour générer, signer et envoyer automatiquement le certificat pour envelopper votre clé racine AES, ou vous pouvez utiliser le programme de programmation Intel Quartus Prime. File Générateur pour générer un certificat non signé. Vous signez le certificat non signé à l'aide de vos propres outils ou de l'outil de signature Quartus. Vous utilisez ensuite le programmeur pour envoyer le certificat signé et envelopper votre clé racine AES. Le certificat signé peut être utilisé pour programmer tous les appareils capables de valider la chaîne de signature.

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 35

4. Approvisionnement des appareils 683823 | 2023.05.23

Figure 8.

Encapsulation de la clé AES à l'aide du programmeur Intel Quartus Prime
.pem Privé
Clé

.qky

quartus_pgm

Envelopper la clé AES

Clé AES.QSKigYnature RootCPhuabilnic

Générer une clé encapsulée PUF

Clé AES enveloppée

SDM

Cryptage .qek
Clé

.wkey enveloppé dans du PUF
Clé AES

1. Vous pouvez générer la clé racine AES enveloppée par PUF IID (.wkey) avec le programmeur en utilisant les arguments suivants :
· Le .qky file contenant une chaîne de signature avec l'autorisation de certificat de clé racine AES
· Le .pem privé file pour la dernière clé de la chaîne de signature
· Le .qek file détenant la clé racine AES
· Le vecteur d'initialisation de 16 octets (iv).

quartus_pgm -c 1 -mjtag –qky_file=aes0_sign_chain.qky –pem_file=aes0_sign_private.pem –qek_file=aes.qek –iv=1234567890ABCDEF1234567890ABCDEF -o « ei;aes.wkey;AGFB014R24A »

2. Vous pouvez également générer un certificat de clé racine AES d'encapsulation PUF IID non signé avec le logiciel de programmation. File Générateur utilisant les arguments suivants :

quartus_pfg –ccert -o ccert_type=IID_PUF_WRAPPED_AES_KEY -o qek_file=aes.qek –iv=1234567890ABCDEF1234567890ABCDEF unsigned_aes.ccert

3. Vous signez le certificat non signé avec vos propres outils de signature ou l'outil quartus_sign à l'aide de la commande suivante :

quartus_sign –family=agilex –operation=sign –qky=aes0_sign_chain.qky –pem=aes0_sign_private.pem unsigned_aes.ccert signé_aes.ccert

4. Vous utilisez ensuite le programmeur pour envoyer le certificat AES signé et renvoyer la clé enveloppée (.wkey) file:

quarts_pgm -c 1 -mjtag –ccert_file=signed_aes.ccert -o « ei;aes.wkey;AGFB014R24A »

Remarque : l'opération i n'est pas nécessaire si vous avez préalablement chargé l'image d'assistance du micrologiciel de mise à disposition, par exempleample, pour inscrire le PUF.

4.9.2.3. Données d'aide à la programmation et clé enveloppée dans la mémoire flash QSPI
Vous utilisez la programmation Quartus File Interface graphique du générateur pour construire une image flash QSPI initiale contenant une partition PUF. Vous devez générer et programmer une image de programmation flash entière pour ajouter une partition PUF au flash QSPI. Création du PUF

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 36

Envoyer des commentaires

4. Approvisionnement des appareils 683823 | 2023.05.23

Figure 9.

partition de données et utilisation des données d'assistance PUF et de la clé encapsulée fileLes applications pour la génération d'images flash ne sont pas prises en charge via la programmation. File Interface de ligne de commande du générateur.
Les étapes suivantes montrent la création d'une image de programmation Flash avec les données d'assistance PUF et la clé encapsulée :
1. Sur le File menu, cliquez sur Programmation File Générateur. Sur la sortie FileDans l'onglet s, effectuez les sélections suivantes :
un. Pour Famille d'appareils, sélectionnez Agilex 7.
b. Pour le mode Configuration, sélectionnez Active Serial x4.
c. Pour le répertoire de sortie, accédez à votre sortie file annuaire. Cet example utilise output_files.
d. Pour Nom, spécifiez un nom pour la programmation file à générer. Cet example utilise output_file.
e. Sous Description, sélectionnez la programmation files à générer. Cet example génère le JTAG Configuration indirecte File (.jic) pour la configuration de l'appareil et le binaire brut File de l'image d'aide à la programmation (.rbf) pour l'image d'aide de l'appareil. Cet example sélectionne également la carte mémoire facultative File (.map) et données de programmation brutes File (.rpd). Les données brutes de programmation file n'est nécessaire que si vous envisagez d'utiliser un programmeur tiers à l'avenir.
Programmation File Générateur – Sortie FileOnglet s – Sélectionnez JTAG Configuration indirecte

Mode de configuration de la famille de périphériques
Sortir file languette
Répertoire de sortie
JTAG Carte mémoire indirecte (.jic) File Données de programmation brutes de l'assistant de programmation
Sur l'entrée Files, effectuez les sélections suivantes : 1. Cliquez sur Ajouter Bitstream et accédez à votre .sof. 2. Sélectionnez votre .sof file puis cliquez sur Propriétés.

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 37

4. Approvisionnement des appareils 683823 | 2023.05.23
un. Activez Activer l'outil de signature. b. Pour la clé privée file sélectionnez votre .pem file. c. Activez Finaliser le cryptage. d. Pour la clé de chiffrement file sélectionnez votre .qek file. e. Cliquez sur OK pour revenir à la fenêtre précédente. 3. Pour spécifier vos données d'assistance PUF file, cliquez sur Ajouter des données brutes. Changer la Files de type menu déroulant vers la fonction physique non clonable de Quartus File (*.puf). Accédez à votre .puf file. Si vous utilisez à la fois le PUF IID et le PUF UDS IID, répétez cette étape pour que .puf fileles s pour chaque PUF sont ajoutés en entrée files. 4. Pour spécifier votre clé AES enveloppée file, cliquez sur Ajouter des données brutes. Changer la Files de type menu déroulant vers Quartus Wrapped Key File (*.wclé). Accédez à votre clé .wkey file. Si vous avez encapsulé des clés AES à l'aide du PUF IID et du PUF IID UDS, répétez cette étape pour que .wkey fileles s pour chaque PUF sont ajoutés en entrée files.
Figure 10. Spécifier l'entrée Files pour la configuration, l'authentification et le cryptage

Ajouter Bitstream Ajouter des données brutes
Propriétés
Clé privée file
Finaliser le chiffrement Clé de chiffrement
Dans l'onglet Périphérique de configuration, effectuez les sélections suivantes : 1. Cliquez sur Ajouter un périphérique et sélectionnez votre périphérique Flash dans la liste des périphériques Flash disponibles.
dispositifs. 2. Sélectionnez le périphérique de configuration que vous venez d'ajouter et cliquez sur Ajouter une partition. 3. Dans la boîte de dialogue Modifier la partition pour l'entrée file et sélectionnez votre .sof dans le
la liste déroulante. Vous pouvez conserver les valeurs par défaut ou modifier les autres paramètres dans la boîte de dialogue Modifier la partition.

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 38

Envoyer des commentaires

4. Approvisionnement des appareils 683823 | 2023.05.23
Figure 11. Spécification de votre partition Bitstream de configuration .sof

Périphérique de configuration
Modifier la partition Ajouter .sof file

Ajouter une partition

4. Lorsque vous ajoutez le .puf et le .wkey en entrée files, la programmation File Generator crée automatiquement une partition PUF dans votre périphérique de configuration. Pour stocker les fichiers .puf et .wkey dans la partition PUF, sélectionnez la partition PUF et cliquez sur Modifier. Dans la boîte de dialogue Modifier la partition, sélectionnez votre .puf et votre .wkey files dans les listes déroulantes. Si vous supprimez la partition PUF, vous devez supprimer et rajouter le périphérique de configuration pour le module de programmation. File Générateur pour créer une autre partition PUF. Vous devez vous assurer que vous sélectionnez les bons .puf et .wkey file pour le PUF IID et le PUF UDS IID, respectivement.
Figure 12. Ajoutez les fichiers .puf et .wkey files à la partition PUF

Partition PUF

Modifier

Modifier la partition

Chargeur Flash

Sélectionnez Générer

5. Pour le paramètre Flash Loader, sélectionnez la famille de périphériques Intel Agilex 7 et le nom de périphérique qui correspondent à votre OPN Intel Agilex 7.

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 39

4. Approvisionnement des appareils 683823 | 2023.05.23
6. Cliquez sur Générer pour générer la sortie files que vous avez spécifié sur le Output Filepoignarder.
7. La programmation File Le générateur lit votre .qek file et vous demande votre phrase secrète. Tapez votre phrase secrète en réponse à l’invite Saisir la phrase secrète QEK. Cliquez sur la touche Entrée.
8. Cliquez sur OK lorsque la programmation File Le générateur signale une génération réussie.
Vous utilisez le programmeur Intel Quartus Prime pour écrire l'image de programmation QSPI dans la mémoire flash QSPI. 1. Dans le menu Intel Quartus Prime Tools, sélectionnez Programmeur. 2. Dans le programmeur, cliquez sur Configuration matérielle, puis sélectionnez un périphérique Intel connecté.
Câble de téléchargement FPGA. 3. Cliquez sur Ajouter File et accédez à votre .jic file.
Figure 13. Programme .jic

Programmation file

Programmer/Configurer

JTAG chaîne de balayage
4. Décochez la case associée à l'image Helper. 5. Sélectionnez Programme/Configurer pour la sortie .jic file. 6. Activez le bouton Démarrer pour programmer votre mémoire flash quad SPI. 7. Redémarrez votre carte. La conception programmée sur la mémoire flash quad SPI
Le périphérique se charge ensuite dans le FPGA cible.
Vous devez générer et programmer une image de programmation flash entière pour ajouter une partition PUF au flash quad SPI.
Lorsqu'une partition PUF existe déjà dans la mémoire flash, il est possible d'utiliser le programmeur Intel Quartus Prime pour accéder directement aux données d'assistance PUF et à la clé encapsulée. files. Par exempleample, si l'activation échoue, il est possible de réinscrire le PUF, de réemballer la clé AES, et par la suite de programmer uniquement le PUF files sans avoir à écraser l’intégralité du flash.

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 40

Envoyer des commentaires

4. Approvisionnement des appareils 683823 | 2023.05.23
Le programmeur Intel Quartus Prime prend en charge l'argument d'opération suivant pour PUF files dans une partition PUF préexistante :
· p : programme
· v : vérifier
· r : effacer
· b : chèque en blanc
Vous devez suivre les mêmes restrictions pour l'inscription PUF, même s'il existe une partition PUF.
1. Utilisez l'argument d'opération i pour charger l'image d'assistance du micrologiciel de mise à disposition pour la première opération. Par exempleample, la séquence de commandes suivante réinscrit le PUF, réencapsule la clé racine AES, efface les anciennes données d'assistance PUF et la clé encapsulée, puis programme et vérifie les nouvelles données d'assistance PUF et la clé racine AES.
quartus_pgm -c 1 -mjtag -o « ei;new.puf;AGFB014R24A » quartus_pgm -c 1 -m jtag –ccert_file=signed_aes.ccert -o « e;new.wkey;AGFB014R24A » quartus_pgm -c 1 -m jtag -o "r;old.puf" quartus_pgm -c 1 -m jtag -o "r;old.wkey" quartus_pgm -c 1 -m jtag -o "p;new.puf" quartus_pgm -c 1 -m jtag -o "p;new.wkey" quartus_pgm -c 1 -m jtag -o "v;new.puf" quartus_pgm -c 1 -m jtag -o "v;nouveau.wkey"
4.9.2.4. Interrogation de l'état d'activation du PUF de l'ID intrinsèque
Après avoir inscrit le PUF d'ID intrinsèque, encapsulez une clé AES, générez la programmation flash files et mettez à jour le flash quad SPI, vous redémarrez votre appareil pour déclencher l'activation et la configuration du PUF à partir du flux binaire crypté. Le SDM signale l'état d'activation du PUF ainsi que l'état de configuration. Si l'activation du PUF échoue, le SDM signale à la place l'état d'erreur du PUF. Utilisez la commande quartus_pgm pour interroger l'état de la configuration.
1. Utilisez la commande suivante pour interroger l'état d'activation :
quartus_pgm -c 1 -mjtag –status –status_type=”CONFIG”
Voici sample résultat d'une activation réussie :
Info (21597) : Réponse de CONFIG_STATUS L'appareil fonctionne en mode utilisateur 00006000 RESPONSE_CODE=OK, LENGTH=6 00000000 STATE=IDLE 00160300 Version C000007B MSEL=QSPI_NORMAL, nSTATUS=1, nCONFIG=1, VID=1,
CLOCK_SOURCE=INTERNAL_PLL 0000000B CONF_DONE=1, INIT_DONE=1, CVP_DONE=0, SEU_ERROR=1 00000000 Emplacement de l'erreur 00000000 Détails de l'erreur Réponse de PUF_STATUS 00002000 RESPONSE_CODE=OK, LENGTH=2 00000500 USER_IID STATUS= PUF_ACTIVATION_SUCCESS,
RELIABILITY_DIAGNOSTIC_SCORE=5, TEST_MODE=0 00000500 UDS_IID STATUS=PUF_ACTIVATION_SUCCESS,
RELIABILITY_DIAGNOSTIC_SCORE=5, TEST_MODE=0

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 41

4. Approvisionnement des appareils 683823 | 2023.05.23

Si vous utilisez uniquement le PUF IID ou le PUF UDS IID et que vous n'avez pas programmé de données d'assistance .puf file pour l'un ou l'autre PUF dans le flash QSPI, ce PUF n'est pas activé et l'état du PUF indique que les données d'assistance PUF ne sont pas valides. L'ex suivantampLe fichier affiche l'état du PUF lorsque les données d'assistance PUF n'ont été programmées pour aucun des PUF :
Réponse de PUF_STATUS 00002000 RESPONSE_CODE=OK, LENGTH=2 00000002 USER_IID STATUS=PUF_DATA_CORRUPTED,
RELIABILITY_DIAGNOSTIC_SCORE=0, TEST_MODE=0 00000002 UDS_IID STATUS=PUF_DATA_CORRUPTED,
RELIABILITY_DIAGNOSTIC_SCORE=0, TEST_MODE=0

4.9.2.5. Emplacement du PUF dans la mémoire Flash
La localisation du PUF file est différent pour les conceptions qui prennent en charge RSU et les conceptions qui ne prennent pas en charge la fonctionnalité RSU.

Pour les conceptions qui ne prennent pas en charge RSU, vous devez inclure les fichiers .puf et .wkey. fileC'est lorsque vous créez des images flash mises à jour. Pour les conceptions prenant en charge RSU, le SDM n’écrase pas les sections de données PUF lors des mises à jour d’image d’usine ou d’application.

Tableau 2.

Disposition des sous-partitions Flash sans prise en charge RSU

Décalage Flash (en octets)

Taille (en octets)

Contenu

Description

0K 256K

256K 256K

Micrologiciel de gestion de configuration Micrologiciel de gestion de configuration

Firmware qui fonctionne sur SDM.

512K

256K

Micrologiciel de gestion de configuration

768K

256K

Micrologiciel de gestion de configuration

1M

32K

Copie des données PUF 0

Structure de données pour stocker les données d'assistance PUF et la copie de clé racine AES enveloppée dans PUF 0

1M+32K

32K

Copie des données PUF 1

Structure de données pour stocker les données d'assistance PUF et la copie de clé racine AES enveloppée dans PUF 1

Tableau 3.

Disposition des sous-partitions Flash avec prise en charge RSU

Décalage Flash (en octets)

Taille (en octets)

Contenu

Description

0K 512K

512K 512K

Micrologiciel de décision Micrologiciel de décision

Firmware pour identifier et charger l’image la plus prioritaire.

1M 1.5M

512K 512K

Micrologiciel de décision Micrologiciel de décision

2M

8K + 24K

Données du micrologiciel de décision

Rembourrage

Réservé à l’utilisation du micrologiciel Decision.

2M + 32K

32K

Réservé à SDM

Réservé à SDM.

2M + 64K

Variable

Image de l'usine

Une image simple que vous créez comme sauvegarde si toutes les autres images d'application ne parviennent pas à se charger. Cette image inclut le CMF qui s'exécute sur le SDM.

Suivant

32K

Copie des données PUF 0

Structure de données pour stocker les données d'assistance PUF et la copie de clé racine AES enveloppée dans PUF 0
suite…

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 42

Envoyer des commentaires

4. Approvisionnement des appareils 683823 | 2023.05.23

Décalage Flash (en octets)

Taille (en octets)

Suivant +32K 32K

Contenu des données PUF copie 1

Suivant + 256K 4K Suivant +32K 4K Suivant +32K 4K

Copie de table de sous-partition 0 Copie de table de sous-partition 1 Copie de bloc de pointeur CMF 0

Suivant +32K _

Copie 1 du bloc de pointeur CMF

Variable Variable

Variable Variable

Image d'application 1 Image d'application 2

4.9.3. Approvisionnement en clé noire

Description
Structure de données pour stocker les données d'assistance PUF et la copie de clé racine AES enveloppée dans PUF 1
Structure de données pour faciliter la gestion du stockage flash.
Une liste de pointeurs vers les images d’application par ordre de priorité. Lorsque vous ajoutez une image, cette image devient la plus haute.
Une deuxième copie de la liste des pointeurs vers les images de l'application.
Votre première image d'application.
Votre deuxième image d'application.

Note:

Le programmeur Intel Quartus Prime aide à établir une connexion sécurisée mutuellement authentifiée entre le périphérique Intel Agilex 7 et le service de fourniture de clé noire. La connexion sécurisée est établie via https et nécessite plusieurs certificats identifiés par un texte file.
Lors de l'utilisation du Black Key Provisioning, Intel vous recommande d'éviter de connecter en externe la broche TCK pour relever ou abaisser une résistance tout en l'utilisant pour J.TAG. Cependant, vous pouvez connecter la broche TCK à l'alimentation VCCIO SDM à l'aide d'une résistance de 10 k. Les instructions existantes dans les directives de connexion des broches pour connecter le TCK à une résistance pull-down de 1 k sont incluses pour la suppression du bruit. Le changement de guidage vers une résistance pull-up de 10 k n’affecte pas le fonctionnement de l’appareil. Pour plus d'informations sur la connexion de la broche TCK, reportez-vous aux directives de connexion Intel Agilex 7 broches.
Thebkp_tls_ca_certcertificate authentifie votre instance de service de provisionnement de clé noire auprès de votre instance de programmeur de provisionnement de clé noire. Les certificats bkp_tls_* authentifient votre instance de programmeur de provisionnement de clé noire auprès de votre instance de service de provisionnement de clé noire.
Vous créez un texte file contenant les informations nécessaires pour que le programmeur Intel Quartus Prime se connecte au service de fourniture de clé noire. Pour lancer le provisionnement de clé noire, utilisez l'interface de ligne de commande du programmeur pour spécifier le texte des options de provisionnement de clé noire. file. Le provisionnement de la clé noire se déroule alors automatiquement. Pour accéder au service de fourniture de clé noire et à la documentation associée, veuillez contacter le support Intel.
Vous pouvez activer le provisionnement de clé noire à l'aide de la commande quartus_pgm :
quartus_pgm -c -m –device –bkp_options=bkp_options.txt
Les arguments de la commande spécifient les informations suivantes :

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 43

4. Approvisionnement des appareils 683823 | 2023.05.23

· -c : numéro de câble · -m : spécifie le mode de programmation tel que JTAG · –device : spécifie un index de périphérique sur le JTAG chaîne. La valeur par défaut est 1. · –bkp_options : spécifie un texte file contenant des options de provisionnement de clé noire.
Informations connexes Directives de connexion des broches de la famille de périphériques Intel Agilex 7

4.9.3.1. Options de provisionnement de clé noire
Les options de provisionnement de la clé noire sont un texte file transmis au programmeur via la commande quartus_pgm. Le file contient les informations requises pour déclencher le provisionnement de la clé noire.
Ce qui suit est un exempleampfichier du bkp_options.txt file:
bkp_cfg_id = 1 bkp_ip = 192.167.1.1 bkp_port = 10034 bkp_tls_ca_cert = root.cert bkp_tls_prog_cert = prog.cert bkp_tls_prog_key = prog_key.pem bkp_tls_prog_key_pass = 1234 bkp_proxy_address = https ://192.167.5.5:5000 bkp_proxy_user = proxy_user bkp_proxy_password = proxy_password

Tableau 4.

Options de provisionnement de clé noire
Ce tableau affiche les options requises pour déclencher le provisionnement de clé noire.

Nom de l'option

Taper

Description

bkp_ip

Requis

Spécifie l'adresse IP du serveur exécutant le service de provisionnement de clé noire.

bkp_port

Requis

Spécifie le port du service de provisionnement de clé noire requis pour se connecter au serveur.

bkp_cfg_id

Requis

Identifie l’ID du flux de configuration de provisionnement de clé noire.
Le service de provisionnement de clé noire crée les flux de configuration de provisionnement de clé noire, y compris une clé racine AES, les paramètres eFuse souhaités et d'autres options d'autorisation de provisionnement de clé noire. Le numéro attribué lors de la configuration du service de provisionnement de clé noire identifie les flux de configuration de provisionnement de clé noire.
Remarque : Plusieurs appareils peuvent faire référence au même flux de configuration du service de provisionnement de clé noire.

bkp_tls_ca_cert

Requis

Le certificat TLS racine utilisé pour identifier les services de fourniture de clé noire au programmeur Intel Quartus Prime (Programmeur). Une autorité de certification approuvée pour l’instance du service de provisionnement de clé noire émet ce certificat.
Si vous exécutez le programmeur sur un ordinateur doté du système d'exploitation Microsoft® Windows® (Windows), vous devez installer ce certificat dans le magasin de certificats Windows.

bkp_tls_prog_cert

Requis

Un certificat créé pour l'instance du programmeur de provisionnement de clé noire (programmeur BKP). Il s'agit du certificat client https utilisé pour identifier cette instance de programmeur BKP.
suite…

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 44

Envoyer des commentaires

4. Approvisionnement des appareils 683823 | 2023.05.23

Nom de l'option

Taper

bkp_tls_prog_key

Requis

bkp_tls_prog_key_pass Facultatif

bkp_proxy_address bkp_proxy_user bkp_proxy_password

Facultatif Facultatif Facultatif

Description
au service de fourniture de clés noires. Vous devez installer et autoriser ce certificat dans le service de provisionnement de clé noire avant de lancer une session de provisionnement de clé noire. Si vous exécutez le programmeur sous Windows, cette option n'est pas disponible. Dans ce cas, bkp_tls_prog_key inclut déjà ce certificat.
La clé privée correspondant au certificat BKP Programmer. La clé valide l’identité de l’instance du programmeur BKP auprès du service de fourniture de clé noire. Si vous exécutez le programmeur sous Windows, le fichier .pfx file combine le certificat bkp_tls_prog_cert et la clé privée. L'option bkp_tlx_prog_key transmet le .pfx file dans le bkp_options.txt file.
Le mot de passe de la clé privée bkp_tls_prog_key. Non requis dans le texte des options de configuration de provisionnement de clé noire (bkp_options.txt) file.
Spécifie le serveur proxy URL adresse.
Spécifie le nom d'utilisateur du serveur proxy.
Spécifie le mot de passe d'authentification du proxy.

4.10. Conversion de la clé racine du propriétaire, des certificats de clé racine AES et du fusible files pour bloquer STAPL File Formats

Vous pouvez utiliser la commande de ligne de commande quartus_pfg pour convertir .qky, la clé racine AES .ccert et .fuse files au format Jam STAPL File (.jam) et format de code d'octet Jam File (.jbc). Vous pouvez les utiliser files pour programmer les FPGA Intel à l'aide du Jam STAPL Player et du Jam STAPL Byte-Code Player, respectivement.

Un seul .jam ou .jbc contient plusieurs fonctions, notamment une configuration et un programme d'image d'assistance du micrologiciel, un chèque en blanc et une vérification de la programmation des clés et des fusibles.

Prudence:

Lorsque vous convertissez la clé racine AES .ccert file au format .jam, le .jam file contient la clé AES en texte brut mais sous forme obscurcie. Par conséquent, vous devez protéger le .jam file lors du stockage de la clé AES. Vous pouvez le faire en provisionnant la clé AES dans un environnement sécurisé.

Voici des examples commandes de conversion quartus_pfg :

quartus_pfg -c -o helper_device=AGFB014R24A « root0.qky;root1.qky;root2.qky » RootKey.jam quartus_pfg -c -o helper_device=AGFB014R24A « root0.qky;root1.qky;root2.qky » RootKey.jbc quartus_pfg - c -o helper_device=AGFB014R24A aes.ccert aes_ccert.jam quartus_pfg -c -o helper_device=AGFB014R24A aes.ccert aes_ccert.jbc quartus_pfg -c -o helper_device=AGFB014R24A settings.fuse settings_fuse.jam quartus_pfg -c -o helper_device=AGFB014 Paramètres 24RXNUMXA. paramètres de fusible_fuse.jbc

Pour plus d'informations sur l'utilisation de Jam STAPL Player pour la programmation de périphériques, reportez-vous à AN 425 : Utilisation de la solution Jam STAPL en ligne de commande pour la programmation de périphériques.

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 45

4. Approvisionnement des appareils 683823 | 2023.05.23
Exécutez les commandes suivantes pour programmer la clé publique racine du propriétaire et la clé de chiffrement AES :
//Pour charger le flux binaire auxiliaire dans le FPGA. // Le flux binaire d'assistance inclut le micrologiciel de mise à disposition quartus_jli -c 1 -a CONFIGURER RootKey.jam
//Pour programmer la clé publique racine du propriétaire dans les eFuses virtuels quartus_jli -c 1 -a PUBKEY_PROGRAM RootKey.jam
//Pour programmer la clé publique racine du propriétaire dans les eFuses physiques quartus_jli -c 1 -a PUBKEY_PROGRAM -e DO_UNI_ACT_DO_EFUSES_FLAG RootKey.jam
//Pour programmer la clé publique racine du propriétaire du PR dans les eFuses virtuels quartus_jli -c 1 -a PUBKEY_PROGRAM -e DO_UNI_ACT_DO_PR_PUBKEY_FLAG pr_rootkey.jam
//Pour programmer la clé publique racine du propriétaire du PR dans les eFuses physiques quartus_jli -c 1 -a PUBKEY_PROGRAM -e DO_UNI_ACT_DO_PR_PUBKEY_FLAG -e DO_UNI_ACT_DO_EFUSES_FLAG pr_rootkey.jam
//Pour programmer la clé de chiffrement AES CCERT dans BBRAM quartus_jli -c 1 -a CCERT_PROGRAM EncKeyBBRAM.jam
//Pour programmer la clé de chiffrement AES CCERT dans les eFuses physiques quartus_jli -c 1 -a CCERT_PROGRAM -e DO_UNI_ACT_DO_EFUSES_FLAG EncKeyEFuse.jam
Informations connexes AN 425 : Utilisation de la solution Jam STAPL de ligne de commande pour la programmation de périphériques

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 46

Envoyer des commentaires

683823 | 2023.05.23 Envoyer des commentaires

Fonctionnalités avancées

5.1. Autorisation de débogage sécurisée
Pour activer l'autorisation de débogage sécurisée, le propriétaire du débogage doit générer une paire de clés d'authentification et utiliser le programmeur Intel Quartus Prime Pro pour générer des informations sur le périphérique. file pour le périphérique qui exécute l'image de débogage :
quartus_pgm -c 1 -mjtag -o « ei;device_info.txt;AGFB014R24A » –dev_info
Le propriétaire de l'appareil utilise l'outil quartus_sign ou l'implémentation de référence pour ajouter une entrée de clé publique conditionnelle à une chaîne de signature destinée aux opérations de débogage en utilisant la clé publique du propriétaire du débogage, les autorisations nécessaires, le texte d'information sur l'appareil. file, et autres restrictions applicables :
quartus_sign –family=agilex –operation=append_key –previous_pem=debug_chain_private.pem –previous_qky=debug_chain.qky –permission=0x6 –cancel=1 –dev_info=device_info.txt –restriction=”1,2,17,18″ –input_pem= debug_authorization_public_key.pem secure_debug_auth_chain.qky
Le propriétaire de l'appareil renvoie la chaîne de signature complète au propriétaire du débogage, qui utilise la chaîne de signature et sa clé privée pour signer l'image de débogage :
quartus_sign –family=agilex –operation=sign –qky=secure_debug_auth_chain.qky –pem=debug_authorization_private_key.pem unsigned_debug_design.rbf authorisé_debug_design.rbf
Vous pouvez utiliser la commande quartus_pfg pour inspecter la chaîne de signature de chaque section de ce flux binaire de débogage sécurisé signé comme suit :
quartus_pfg –check_integrity autorisé_debug_design.rbf
La sortie de cette commande imprime les valeurs de restriction 1,2,17,18 de la clé publique conditionnelle qui a été utilisée pour générer le flux binaire signé.
Le propriétaire du débogage peut ensuite programmer la conception de débogage autorisée de manière sécurisée :
quartus_pgm -c 1 -mjtag -o "p;authorized_debug_design.rbf"
Le propriétaire du périphérique peut révoquer l'autorisation de débogage sécurisé en annulant l'ID d'annulation de clé explicite attribué dans la chaîne de signature d'autorisation de débogage sécurisée.
5.2. Certificats de débogage HPS
Activation uniquement de l'accès autorisé au port d'accès au débogage HPS (DAP) via JTAG l'interface nécessite plusieurs étapes :

Société intel. Tous les droits sont réservés. Intel, le logo Intel et les autres marques Intel sont des marques commerciales d'Intel Corporation ou de ses filiales. Intel garantit les performances de ses produits FPGA et semi-conducteurs selon les spécifications actuelles conformément à la garantie standard d'Intel, mais se réserve le droit d'apporter des modifications à tout produit et service à tout moment et sans préavis. Intel n'assume aucune responsabilité découlant de l'application ou de l'utilisation de toute information, produit ou service décrit dans le présent document, sauf accord exprès et écrit d'Intel. Il est conseillé aux clients d'Intel d'obtenir la dernière version des spécifications de l'appareil avant de se fier aux informations publiées et avant de passer des commandes de produits ou de services. * D'autres noms et marques peuvent être revendiqués comme la propriété d'autrui.

Enregistré ISO 9001: 2015

5. Fonctionnalités avancées 683823 | 2023.05.23
1. Cliquez sur le menu Assignations du logiciel Intel Quartus Prime et sélectionnez l'onglet Configuration des options du périphérique et des broches du périphérique.
2. Dans l'onglet Configuration, activez le port d'accès au débogage HPS (DAP) en sélectionnant les broches HPS ou les broches SDM dans le menu déroulant et en vous assurant que la case Autoriser le débogage HPS sans certificats n'est pas cochée.
Figure 14. Spécifiez les broches HPS ou SDM pour le HPS DAP

Port d'accès au débogage HPS (DAP)
Vous pouvez également définir l'affectation ci-dessous dans les paramètres Quartus Prime .qsf. file:
set_global_assignment -name HPS_DAP_SPLIT_MODE « PINS SDM »
3. Compilez et chargez la conception avec ces paramètres. 4. Créez une chaîne de signature avec les autorisations appropriées pour signer un débogage HPS
certificat:
quartus_sign –family=agilex –operation=append_key –previous_pem=root_private.pem –previous_qky=root.qky –permission=0x8 –cancel=1 –input_pem=hps_debug_cert_public_key.pem hps_debug_cert_sign_chain.qky
5. Demandez un certificat de débogage HPS non signé à l'appareil sur lequel la conception de débogage est chargée :
quartus_pgm -c 1 -mjtag -o « e;unsigned_hps_debug.cert;AGFB014R24A »
6. Signez le certificat de débogage HPS non signé à l'aide de l'outil quartus_sign ou de l'implémentation de référence et de la chaîne de signature de débogage HPS :
quartus_sign –family=agilex –operation=sign –qky=hps_debug_cert_sign_chain.qky –pem=hps_debug_cert_private_key.pem unsigned_hps_debug.cert signé_hps_debug.cert

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 48

Envoyer des commentaires

5. Fonctionnalités avancées 683823 | 2023.05.23
7. Renvoyez le certificat de débogage HPS signé à l'appareil pour activer l'accès au port d'accès au débogage HPS (DAP) :
quartus_pgm -c 1 -mjtag -o « p;signed_hps_debug.cert »
Le certificat de débogage HPS n'est valide qu'à partir du moment où il a été généré jusqu'au prochain cycle d'alimentation de l'appareil ou jusqu'à ce qu'un type ou une version différente du micrologiciel SDM soit chargé. Vous devez générer, signer et programmer le certificat de débogage HPS signé et effectuer toutes les opérations de débogage avant de redémarrer le périphérique. Vous pouvez invalider le certificat de débogage HPS signé en redémarrant l'appareil.
5.3. Attestation de plateforme
Vous pouvez générer un manifeste d'intégrité de référence (.rim) file en utilisant la programmation file outil générateur :
quartus_pfg -c signé_encrypted_top.rbf top_rim.rim
Suivez ces étapes pour garantir l'attestation de plate-forme dans votre conception : 1. Utilisez le programmeur Intel Quartus Prime Pro pour configurer votre appareil avec le
conception pour laquelle vous avez créé un manifeste d’intégrité de référence. 2. Utilisez un vérificateur d'attestation de plateforme pour inscrire l'appareil en émettant des commandes au
SDM via la boîte aux lettres SDM pour créer le certificat d'identification de l'appareil et le certificat du micrologiciel lors du rechargement. 3. Utilisez le programmeur Intel Quartus Prime Pro pour reconfigurer votre appareil avec le design. 4. Utilisez le vérificateur d'attestation de la plateforme pour émettre des commandes vers le SDM afin d'obtenir l'ID du périphérique d'attestation, le micrologiciel et les certificats d'alias. 5. Utilisez le vérificateur d'attestation pour émettre la commande SDM mailbox afin d'obtenir la preuve d'attestation et le vérificateur vérifie les preuves renvoyées.
Vous pouvez implémenter votre propre service de vérification à l'aide des commandes de boîte aux lettres SDM ou utiliser le service de vérification d'attestation de la plateforme Intel. Pour plus d’informations sur le logiciel du service de vérification d’attestation de la plateforme Intel, sa disponibilité et sa documentation, contactez le support Intel.
Informations connexes Directives de connexion des broches de la famille de périphériques Intel Agilex 7
5.4. Anti-T physiqueamper
Vous activez l'anti-t physiqueamper en procédant comme suit : 1. Sélection de la réponse souhaitée à un t détectéamper événement 2. Configuration du t souhaitéampméthodes et paramètres de détection er 3. Y compris l'anti-tamper IP dans votre logique de conception pour vous aider à gérer les anti-tamper
événements

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 49

5. Fonctionnalités avancées 683823 | 2023.05.23
5.4.1. Anti-Tampheu Réponses
Vous activez l'anti-t physiqueamper en sélectionnant une réponse dans l'Anti-tampréponse du serveur : liste déroulante sur les affectations du périphérique et des options de code PIN Sécurité Anti-Tampeuh onglet. Par défaut, l'anti-tampLa réponse est désactivée. Cinq catégories d'anti-tampLes réponses sont disponibles. Lorsque vous sélectionnez la réponse souhaitée, les options permettant d'activer une ou plusieurs méthodes de détection sont activées.
Figure 15. Anti-T disponibleampOptions de réponse

L'affectation correspondante dans les paramètres Quartus Prime .gsf file est le suivant:
set_global_assignment -nom ANTI_TAMPER_RESPONSE « EFFACEMENT DU DISPOSITIF DE NOTIFICATION, VERROUILLAGE ET ZÉROISATION DU DISPOSITIF »
Lorsque vous activez un anti-tampAprès réponse, vous pouvez choisir deux broches d'E/S dédiées SDM disponibles pour sortir le tampDétection d'événement et état de réponse à l'aide de la fenêtre Assignments Device Device and Pin Options Configuration Configuration Pin Options.

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 50

Envoyer des commentaires

5. Fonctionnalités avancées 683823 | 2023.05.23
Figure 16. Broches d'E/S dédiées SDM disponibles pour Tamper Détection d'événement

Vous pouvez également effectuer les affectations de broches suivantes dans les paramètres file: set_global_assignment -name USE_TAMPER_DETECT SDM_IO15 set_global_assignment -name ANTI_TAMPER_RESPONSE_FAILED SDM_IO16

5.4.2. Anti-Tamper Détection

Vous pouvez activer individuellement la fréquence, la température et le voltage fonctionnalités de détection du SDM. La détection FPGA dépend de l'inclusion de l'Anti-Tamper Lite Intel FPGA IP dans votre conception.

Note:

Fréquence et volume SDMtagetampLes méthodes de détection des erreurs dépendent de références internes et du matériel de mesure qui peuvent varier selon les appareils. Intel vous recommande de caractériser le comportement de tampparamètres de détection.

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 51

5. Fonctionnalités avancées 683823 | 2023.05.23
Fréquence tampLa détection des erreurs fonctionne sur la source d'horloge de configuration. Pour activer la fréquence tampAprès détection, vous devez spécifier une option autre que l'oscillateur interne dans la liste déroulante Configuration de la source d'horloge de l'onglet Général des options de périphérique et de broche d'affectation. Vous devez vous assurer que la case Exécuter la configuration du processeur à partir de l'oscillateur interne est activée avant d'activer la fréquence t.ampeuh détection. Figure 17. Configuration du SDM sur oscillateur interne
Pour activer la fréquence tamper détection, sélectionnez la fréquence Activer tampcase à cocher Détection er et sélectionnez la fréquence t souhaitéeamper plage de détection dans le menu déroulant. Figure 18. Activation de la fréquence Tamper Détection

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 52

Envoyer des commentaires

5. Fonctionnalités avancées 683823 | 2023.05.23
Alternativement, vous pouvez activer la fréquence Tamper Détection en apportant les modifications suivantes aux paramètres Quartus Prime .qsf file:
set_global_assignment -name AUTO_RESTART_CONFIGURATION OFF set_global_assignment -name DEVICE_INITIALIZATION_CLOCK OSC_CLK_1_100MHZ set_global_assignment -name RUN_CONFIG_CPU_FROM_INT_OSC ON set_global_assignment -name ENABLE_FREQUENCY_TAMPER_DETECTION ON set_global_assignment -name FREQUENCY_TAMPER_DETECTION_RANGE 35
Pour activer la température tampAprès détection, sélectionnez Activer la température tamper détection et sélectionnez les limites supérieure et inférieure de la température souhaitée dans les champs correspondants. Les limites supérieure et inférieure sont renseignées par défaut avec la plage de température associée au périphérique sélectionné dans la conception.
Pour activer voltagetampAprès la détection, vous sélectionnez l'une ou les deux options Activer le vol VCCL.tagetamper détection ou Activer VCCL_SDM voltagetamper cases à cocher et sélectionnez le Vol souhaitétagetamppourcentage de déclenchement de détectiontage dans le champ correspondant.
Figure 19. Activation du volumetaget Tamper Détection

Alternativement, vous pouvez activer Voltaget Tamper Détection en spécifiant les affectations suivantes dans le .qsf file:
set_global_assignment -name ENABLE_TEMPERATURE_TAMPER_DETECTION ON set_global_assignment -name TEMPERATURE_TAMPER_UPPER_BOUND 100 set_global_assignment -name ENABLE_VCCL_VOLTAGE_TAMPER_DETECTION ON set_global_assignment -name ENABLE_VCCL_SDM_VOLTAGE_TAMPER_DETECTION ACTIVÉ
5.4.3. Anti-Tamper Lite Intel FPGA IP
L'Anti-Tamper Lite Intel FPGA IP, disponible dans le catalogue IP du logiciel Intel Quartus Prime Pro Edition, facilite la communication bidirectionnelle entre votre conception et le SDM pour tampeuh événements.

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 53

Figure 20. Anti-Tamper Lite Intel FPGA IP

5. Fonctionnalités avancées 683823 | 2023.05.23

L'IP fournit les signaux suivants que vous connectez à votre conception selon vos besoins :

Tableau 5.

Anti-Tamper Lite Signaux d'E/S IP Intel FPGA

Nom du signal

Direction

Description

gpo_sdm_at_event gpi_fpga_at_event

Sortie entrée

Signal SDM à la logique de la structure FPGA indiquant qu'un SDM a détecté un tampeuh événement. La logique FPGA dispose d'environ 5 ms pour effectuer le nettoyage souhaité et répondre au SDM via gpi_fpga_at_response_done et gpi_fpga_at_zeroization_done. Le SDM procède au tamper actions de réponse lorsque gpi_fpga_at_response_done est affirmé ou après qu'aucune réponse n'est reçue dans le temps imparti.
Interruption FPGA vers SDM que votre anti-t conçuampLe circuit de détection de panne a détecté un tampeuh événement et le SDM tampLa réponse devrait être déclenchée.

gpi_fpga_at_response_done

Saisir

Le FPGA interrompt le SDM indiquant que la logique FPGA a effectué le nettoyage souhaité.

gpi_fpga_at_zeroization_d un

Saisir

Le FPGA signale au SDM que la logique FPGA a terminé la remise à zéro souhaitée des données de conception. Ce signal est sampmené lorsque gpi_fpga_at_response_done est affirmé.

5.4.3.1. Divulguer des renseignements

Le numéro du schéma de version IP (X.Y.Z) change d'une version du logiciel à l'autre. Un changement dans :
· X indique une révision majeure de l'IP. Si vous mettez à jour votre logiciel Intel Quartus Prime, vous devez régénérer l'IP.
· Y indique que l'IP inclut de nouvelles fonctionnalités. Régénérez votre IP pour inclure ces nouvelles fonctionnalités.
· Z indique que l'IP inclut des modifications mineures. Régénérez votre adresse IP pour inclure ces modifications.

Tableau 6.

Anti-Tamper Lite Informations sur la version IP du FPGA Intel

Version IP

Article

Description 20.1.0

Version Intel Quartus Prime

21.2

Date de sortie

2021.06.21

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 54

Envoyer des commentaires

5. Fonctionnalités avancées 683823 | 2023.05.23
5.5. Utilisation des fonctionnalités de sécurité de conception avec la mise à jour du système à distance
La mise à jour du système à distance (RSU) est une fonctionnalité des FPGA Intel Agilex 7 qui aide à mettre à jour la configuration. files de manière robuste. RSU est compatible avec les fonctionnalités de sécurité de conception telles que l'authentification, la cosignature du micrologiciel et le cryptage du flux binaire, car RSU ne dépend pas du contenu de conception des flux binaires de configuration.
Création d'images RSU avec .sof Files
Si vous stockez des clés privées sur votre compte local filesystème, vous pouvez générer des images RSU avec des fonctionnalités de sécurité de conception en utilisant un flux simplifié avec .sof files comme entrées. Pour générer des images RSU avec le .sof file, vous pouvez suivre les instructions de la section Génération d'une image de mise à jour du système à distance Files Utilisation de la programmation File Générateur du guide utilisateur de configuration Intel Agilex 7. Pour chaque .sof file spécifié sur l'entrée Files, cliquez sur le bouton Propriétés… et spécifiez les paramètres et les clés appropriés pour les outils de signature et de chiffrement. La programmation file l'outil générateur signe et crypte automatiquement les images d'usine et d'application lors de la création de la programmation RSU files.
Alternativement, si vous stockez des clés privées dans un HSM, vous devez utiliser l'outil quartus_sign et donc utiliser .rbf files. Le reste de cette section détaille les changements dans le flux pour générer des images RSU avec .rbf files comme entrées. Vous devez chiffrer et signer au format .rbf files avant de les sélectionner comme entrée files pour les images RSU ; cependant, les informations de démarrage RSU file ne doit pas être crypté mais uniquement signé. La programmation File Le générateur ne prend pas en charge la modification des propriétés du format .rbf files.
L'exemple suivantamples fichiers démontrent les modifications nécessaires aux commandes dans la section Génération d'une image de mise à jour du système à distance Files Utilisation de la programmation File Générateur du guide utilisateur de configuration Intel Agilex 7.
Génération de l'image RSU initiale à l'aide de .rbf Files : Modification de la commande
À partir de la génération de l'image RSU initiale à l'aide de .rbf FileDans la section s, modifiez les commandes de l'étape 1. pour activer les fonctionnalités de sécurité de conception comme vous le souhaitez en utilisant les instructions des sections précédentes de ce document.
Par exempleample, vous spécifieriez un firmware signé file si vous utilisiez la cosignature du micrologiciel, utilisez l'outil de chiffrement Quartus pour chiffrer chaque .rbf file, et enfin utilisez l'outil quartus_sign pour signer chacun file.
À l'étape 2, si vous avez activé la co-signature du firmware, vous devez utiliser une option supplémentaire dans la création du .rbf de démarrage à partir de l'image d'usine. file:
quartus_pfg -c factory.sof boot.rbf -o rsu_boot=ON -o fw_source=signed_agilex.zip
Après avoir créé les informations de démarrage .rbf file, utilisez l'outil quartus_sign pour signer le .rbf file. Vous ne devez pas chiffrer les informations de démarrage .rbf file.

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 55

5. Fonctionnalités avancées 683823 | 2023.05.23
Génération d'une image d'application : modification de commande
Pour générer une image d'application avec des fonctionnalités de sécurité de conception, vous modifiez la commande dans Génération d'une image d'application pour utiliser un .rbf avec des fonctionnalités de sécurité de conception activées, y compris un micrologiciel cosigné si nécessaire, au lieu du .sof d'application d'origine. file:
quartus_pfg -c cosigned_fw_signed_encrypted_application.rbf secure_rsu_application.rpd -o mode=ASX4 -o bitswap=ON
Génération d'une image de mise à jour d'usine : modification de la commande
Après avoir créé les informations de démarrage .rbf file, vous utilisez l'outil quartus_sign pour signer le .rbf file. Vous ne devez pas chiffrer les informations de démarrage .rbf file.
Pour générer une image de mise à jour d'usine RSU, vous modifiez la commande de Génération d'une image de mise à jour d'usine pour utiliser un .rbf file avec les fonctionnalités de sécurité de conception activées et ajoutez l'option pour indiquer l'utilisation du micrologiciel cosigné :
quartus_pfg -c cosigned_fw_signed_encrypted_factory.rbf secure_rsu_factory_update.rpd -o mode=ASX4 -o bitswap=ON -o rsu_upgrade=ON -o fw_source=signed_agilex.zip
Informations connexes Guide de l'utilisateur de configuration Intel Agilex 7
5.6. Services cryptographiques SDM
Le SDM sur les appareils Intel Agilex 7 fournit des services cryptographiques que la logique de structure FPGA ou le HPS peuvent demander via l'interface de boîte aux lettres SDM respective. Pour plus d'informations sur les commandes de boîte aux lettres et les formats de données pour tous les services cryptographiques SDM, reportez-vous à l'annexe B du Guide de l'utilisateur de la méthodologie de sécurité pour les FPGA Intel et les ASIC structurés.
Pour accéder à l'interface de boîte aux lettres SDM à la logique de structure FPGA pour les services cryptographiques SDM, vous devez instancier l'adresse IP Intel FPGA du client de boîte aux lettres dans votre conception.
Le code de référence pour accéder à l'interface de boîte aux lettres SDM depuis le HPS est inclus dans le code ATF et Linux fourni par Intel.
Informations connexes Client de boîte aux lettres Guide de l'utilisateur Intel FPGA IP
5.6.1. Démarrage autorisé par le fournisseur
Intel fournit une implémentation de référence pour le logiciel HPS qui utilise la fonctionnalité de démarrage autorisée par le fournisseur pour authentifier le logiciel de démarrage HPS dès les premières secondes.tage chargeur de démarrage jusqu'au noyau Linux.
Informations connexes Conception de démonstration de démarrage sécurisé Intel Agilex 7 SoC

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 56

Envoyer des commentaires

5. Fonctionnalités avancées 683823 | 2023.05.23
5.6.2. Service d'objets de données sécurisés
Vous envoyez les commandes via la boîte aux lettres SDM pour effectuer le cryptage et le déchiffrement des objets SDOS. Vous pouvez utiliser la fonctionnalité SDOS après avoir provisionné la clé racine SDOS.
Informations connexes Provisionnement de la clé racine du service d'objets de données sécurisé à la page 30
5.6.3. Services primitifs cryptographiques SDM
Vous envoyez les commandes via la boîte aux lettres SDM pour lancer les opérations du service primitif cryptographique SDM. Certains services cryptographiques primitifs nécessitent que davantage de données soient transférées vers et depuis le SDM que l'interface de boîte aux lettres ne peut en accepter. Dans ces cas, la commande du format change pour fournir des pointeurs vers les données en mémoire. De plus, vous devez modifier l'instanciation de l'adresse IP Intel FPGA du client de boîte aux lettres pour utiliser les services primitifs cryptographiques SDM à partir de la logique de structure FPGA. Vous devez en outre définir le paramètre Enable Crypto Service sur 1 et connecter l'interface de l'initiateur AXI nouvellement exposée à une mémoire de votre conception.
Figure 21. Activation des services cryptographiques SDM dans le client de boîte aux lettres Intel FPGA IP

5.7. Paramètres de sécurité Bitstream (FM/S10)
Les options FPGA Bitstream Security sont un ensemble de politiques qui restreignent la fonctionnalité ou le mode de fonctionnement spécifié dans une période définie.
Les options de sécurité Bitstream consistent en des indicateurs que vous définissez dans le logiciel Intel Quartus Prime Pro Edition. Ces indicateurs sont automatiquement copiés dans les flux binaires de configuration.
Vous pouvez appliquer en permanence les options de sécurité sur un appareil en utilisant le paramètre de sécurité correspondant eFuse.
Pour utiliser des paramètres de sécurité dans le flux binaire de configuration ou les eFuses du périphérique, vous devez activer la fonction d'authentification.

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 57

5. Fonctionnalités avancées 683823 | 2023.05.23
5.7.1. Sélection et activation des options de sécurité
Pour sélectionner et activer les options de sécurité, procédez comme suit : Dans le menu Affectations, sélectionnez Périphérique Options du périphérique et du code PIN Sécurité Plus d'options… Figure 22. Sélection et activation des options de sécurité

Et puis sélectionnez les valeurs dans les listes déroulantes pour les options de sécurité que vous souhaitez activer, comme indiqué dans l'exemple suivantample:
Figure 23. Sélection de valeurs pour les options de sécurité

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 58

Envoyer des commentaires

5. Fonctionnalités avancées 683823 | 2023.05.23
Voici les modifications correspondantes dans les paramètres Quartus Prime .qsf file:
set_global_assignment -name SECU_OPTION_DISABLE_JTAG "ON CHECK" set_global_assignment -name SECU_OPTION_FORCE_ENCRYPTION_KEY_UPDATE "ON STICKY" set_global_assignment -name SECU_OPTION_FORCE_SDM_CLOCK_TO_INT_OSC ON set_global_assignment -name SECU_OPTION_DISABLE_VIRTUAL_EFUSES ON set_global_assignment -name SECU_OPTION_LOCK_SECURITY _EFUSES ON set_global_assignment -name SECU_OPTION_DISABLE_HPS_DEBUG ON set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES ON set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES ON set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_ IN_EFUSES ON set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES ON set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_BBRAM ON set_global_assignment -name SECU_OPTION_DISABLE_PUF_WRAPPED_ENCRYPTION_KEY ON

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 59

683823 | 2023.05.23 Envoyer des commentaires

Dépannage

Ce chapitre décrit les erreurs courantes et les messages d'avertissement que vous pouvez rencontrer lorsque vous essayez d'utiliser les fonctionnalités de sécurité de l'appareil et les mesures pour les résoudre.
6.1. Utilisation des commandes Quartus dans une erreur d'environnement Windows
Erreur quartus_pgm : commande introuvable Description Cette erreur s'affiche lors de la tentative d'utilisation des commandes Quartus dans un shell NIOS II dans un environnement Windows à l'aide de WSL. Résolution Cette commande fonctionne dans un environnement Linux ; Pour les hôtes Windows, utilisez la commande suivante : quartus_pgm.exe -h De même, appliquez la même syntaxe aux autres commandes Quartus Prime telles que quartus_pfg, quartus_sign, quartus_encrypt entre autres commandes.

Société intel. Tous les droits sont réservés. Intel, le logo Intel et les autres marques Intel sont des marques commerciales d'Intel Corporation ou de ses filiales. Intel garantit les performances de ses produits FPGA et semi-conducteurs selon les spécifications actuelles conformément à la garantie standard d'Intel, mais se réserve le droit d'apporter des modifications à tout produit et service à tout moment et sans préavis. Intel n'assume aucune responsabilité découlant de l'application ou de l'utilisation de toute information, produit ou service décrit dans le présent document, sauf accord exprès et écrit d'Intel. Il est conseillé aux clients d'Intel d'obtenir la dernière version des spécifications de l'appareil avant de se fier aux informations publiées et avant de passer des commandes de produits ou de services. * D'autres noms et marques peuvent être revendiqués comme la propriété d'autrui.

Enregistré ISO 9001: 2015

6. Dépannage 683823 | 2023.05.23

6.2. Générer un avertissement de clé privée

Avertissement:

Le mot de passe spécifié est considéré comme non sécurisé. Intel recommande d'utiliser au moins 13 caractères de mot de passe. Il est recommandé de modifier le mot de passe à l'aide de l'exécutable OpenSSL.

openssl ec -in -out -aes256

Description
Cet avertissement est lié à la force du mot de passe et s'affiche lorsque vous essayez de générer une clé privée en exécutant les commandes suivantes :

quartus_sign –family=agilex –operation=make_private_pem –curve=secp3841 root.pem

Résolution Utilisez l'exécutable openssl pour spécifier un mot de passe plus long et donc plus fort.

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 61

6. Dépannage 683823 | 2023.05.23
6.3. Ajout d'une clé de signature à l'erreur du projet Quartus
Erreur …File contient des informations sur la clé racine…
Description
Après avoir ajouté une clé de signature .qky file au projet Quartus, vous devez réassembler le .sof file. Lorsque vous ajoutez ce .sof régénéré file au périphérique sélectionné à l'aide de Quartus Programmer, le message d'erreur suivant indique que le file contient des informations sur la clé racine :
Échec de l'ajout <file-nom-chemin> au programmeur. Le file contient des informations sur la clé racine (.qky). Cependant, Programmer ne prend pas en charge la fonctionnalité de signature bitstream. Vous pouvez utiliser la programmation File Générateur pour convertir le file au binaire brut signé file (.rbf) pour la configuration.
Résolution
Utilisez la programmation Quartus file générateur pour convertir le file dans un binaire brut signé File .rbf pour la configuration.
Informations connexes Configuration de signature Bitstream à l'aide de la commande quartus_sign à la page 13

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 62

Envoyer des commentaires

6. Dépannage 683823 | 2023.05.23
6.4. Génération de la programmation Quartus Prime File n'a pas réussi
Erreur
Erreur (20353) : X de la clé publique de QKY ne correspond pas à la clé privée de PEM file.
Erreur (20352) : échec de la signature du flux binaire via le script python agilex_sign.py.
Erreur : programmation Quartus Prime File Le générateur n’a pas réussi.
Description Si vous essayez de signer un flux binaire de configuration à l'aide d'une clé privée .pem incorrecte file ou un .pem file qui ne correspond pas au .qky ajouté au projet, les erreurs courantes ci-dessus s'affichent. Résolution Assurez-vous d'utiliser la clé privée .pem correcte pour signer le flux binaire.

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 63

6. Dépannage 683823 | 2023.05.23
6.5. Erreurs d'argument inconnu
Erreur
Erreur (23028) : Argument inconnu « ûc ». Reportez-vous à –help pour les arguments juridiques.
Erreur (213008) : La chaîne d'option de programmation « ûp » est illégale. Reportez-vous à l'aide pour connaître les formats d'options de programmation légaux.
Description Si vous copiez et collez des options de ligne de commande à partir d'un fichier .pdf file dans le shell Windows NIOS II, vous pouvez rencontrer des erreurs d'argument inconnu, comme indiqué ci-dessus. Résolution Dans de tels cas, vous pouvez saisir manuellement les commandes au lieu de les coller à partir du presse-papiers.

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 64

Envoyer des commentaires

6. Dépannage 683823 | 2023.05.23
6.6. Erreur de désactivation de l'option de chiffrement Bitstream
Erreur
Impossible de finaliser le cryptage pour le file design .sof car il a été compilé avec l’option de chiffrement bitstream désactivée.
Description Si vous essayez de chiffrer le flux binaire via l'interface graphique ou la ligne de commande après avoir compilé le projet avec l'option de chiffrement bitstream désactivée, Quartus rejette la commande comme indiqué ci-dessus.
Résolution Assurez-vous de compiler le projet avec l'option de chiffrement bitstream activée via l'interface graphique ou la ligne de commande. Pour activer cette option dans l'interface graphique, vous devez cocher la case correspondant à cette option.

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 65

6. Dépannage 683823 | 2023.05.23
6.7. Spécification du chemin correct vers la clé
Erreur
Erreur (19516) : programmation détectée File Erreur de paramètres du générateur : impossible de trouver 'key_file'. Assurez-vous que le file se trouve à l'emplacement prévu ou mettez à jour le paramètre.sec
Erreur (19516) : programmation détectée File Erreur de paramètres du générateur : impossible de trouver 'key_file'. Assurez-vous que le file se trouve à l’emplacement prévu ou mettez à jour le paramètre.
Description
Si vous utilisez des clés stockées sur le file système, vous devez vous assurer qu'ils spécifient le chemin correct pour les clés utilisées pour le chiffrement et la signature bitstream. Si la programmation File Le générateur ne peut pas détecter le bon chemin, les messages d'erreur ci-dessus s'affichent.
Résolution
Reportez-vous aux paramètres Quartus Prime .qsf file pour localiser les chemins corrects pour les clés. Assurez-vous d'utiliser des chemins relatifs au lieu de chemins absolus.

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 66

Envoyer des commentaires

6. Dépannage 683823 | 2023.05.23
6.8. Utilisation d'une sortie non prise en charge File Taper
Erreur
quartus_pfg -c design.sof sortie_file.ebf -o finalize_operation=ON -o qek_file=ae.qek -o signature=ON -o pem_file=sign_private.pem
Erreur (19511) : sortie non prise en charge file tapez (ebf). Utilisez l'option "-l" ou "-list" pour afficher les fichiers pris en charge file tapez des informations.
Description Lors de l'utilisation de la programmation Quartus File Générateur pour générer le flux binaire de configuration chiffré et signé, vous pouvez voir l'erreur ci-dessus si une sortie non prise en charge file le type est spécifié. Résolution Utilisez l'option -l ou –list pour afficher la liste des file types.

Envoyer des commentaires

Guide de l'utilisateur de la sécurité des appareils Intel Agilex® 7 67

683823 | 2023.05.23 Envoyer des commentaires
7. Archives du guide de l'utilisateur de la sécurité des appareils Intel Agilex 7
Pour les versions les plus récentes et précédentes de ce guide de l'utilisateur, reportez-vous au Guide de l'utilisateur de la sécurité des appareils Intel Agilex 7. Si une version IP ou du logiciel n'est pas répertoriée, le guide de l'utilisateur de la version IP ou logicielle précédente s'applique.

Société intel. Tous les droits sont réservés. Intel, le logo Intel et les autres marques Intel sont des marques commerciales d'Intel Corporation ou de ses filiales. Intel garantit les performances de ses produits FPGA et semi-conducteurs selon les spécifications actuelles conformément à la garantie standard d'Intel, mais se réserve le droit d'apporter des modifications à tout produit et service à tout moment et sans préavis. Intel n'assume aucune responsabilité découlant de l'application ou de l'utilisation de toute information, produit ou service décrit dans le présent document, sauf accord exprès et écrit d'Intel. Il est conseillé aux clients d'Intel d'obtenir la dernière version des spécifications de l'appareil avant de se fier aux informations publiées et avant de passer des commandes de produits ou de services. * D'autres noms et marques peuvent être revendiqués comme la propriété d'autrui.

Enregistré ISO 9001: 2015

683823 | 2023.05.23 Envoyer des commentaires

8. Historique des révisions du guide de l'utilisateur de la sécurité des appareils Intel Agilex 7

Version du document 2023.05.23
2022.11.22 2022.04.04 2022.01.20
2021.11.09

Documents / Ressources

Sécurité des appareils Intel Agilex 7 [pdf] Manuel de l'utilisateur
Agilex 7 Sécurité des appareils, Agilex 7, Sécurité des appareils, Sécurité

Références

Laisser un commentaire

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués *