Sicurezza dei dispositivi Intel Agilex 7
Informazioni sul prodotto
Specifiche
- Numero modello: UG-20335
- Data di rilascio: 2023.05.23
Istruzioni per l'uso del prodotto
1. Impegno per la sicurezza del prodotto
Intel è impegnata nella sicurezza dei prodotti e consiglia agli utenti di familiarizzare con le risorse sulla sicurezza dei prodotti fornite. Queste risorse dovrebbero essere utilizzate per tutta la durata del prodotto Intel.
2. Funzionalità di sicurezza pianificate
Le seguenti funzionalità di sicurezza sono previste per una versione futura del software Intel Quartus Prime Pro Edition:
- Verifica della sicurezza del bitstream di riconfigurazione parziale: fornisce ulteriore garanzia che i bitstream di riconfigurazione parziale (PR) non possano accedere o interferire con altri bitstream di tipo PR.
- Dispositivo Self-Kill per l'Anti-T fisicoamper: esegue una risposta di cancellazione o azzeramento del dispositivo e programma eFuse per impedire la nuova configurazione del dispositivo.
3. Documentazione di sicurezza disponibile
La tabella seguente elenca la documentazione disponibile per le funzionalità di sicurezza dei dispositivi sui dispositivi Intel FPGA e ASIC strutturato:
Nome del documento | Scopo |
---|---|
Metodologia di sicurezza per utenti FPGA Intel e ASIC strutturati Guida |
Documento di primo livello che fornisce descrizioni dettagliate di funzionalità e tecnologie di sicurezza nelle soluzioni programmabili Intel Prodotti. Aiuta gli utenti a selezionare le funzionalità di sicurezza necessarie soddisfare i propri obiettivi di sicurezza. |
Guida per l'utente della sicurezza dei dispositivi Intel Stratix 10 | Istruzioni per l'implementazione da parte degli utenti dei dispositivi Intel Stratix 10 le caratteristiche di sicurezza identificate utilizzando la Metodologia di Sicurezza Guida per l'utente. |
Guida per l'utente di Intel Agilex 7 Device Security | Istruzioni per l'implementazione da parte degli utenti dei dispositivi Intel Agilex 7 le caratteristiche di sicurezza identificate utilizzando la Metodologia di Sicurezza Guida per l'utente. |
Guida per l'utente di Intel eASIC N5X Device Security | Istruzioni per l'implementazione da parte degli utenti dei dispositivi Intel eASIC N5X le caratteristiche di sicurezza identificate utilizzando la Metodologia di Sicurezza Guida per l'utente. |
Servizi di crittografia HPS Intel Agilex 7 e Intel eASIC N5X Guida per l'utente |
Informazioni sull'implementazione per gli ingegneri software HPS e utilizzo delle librerie software HPS per accedere ai servizi di crittografia forniti dall’SDM. |
Guida introduttiva rapida al servizio di provisioning delle chiavi nere AN-968 | Serie completa di passaggi per impostare il Black Key Provisioning servizio. |
Domande frequenti
D: Qual è lo scopo della Guida per l'utente sulla metodologia di sicurezza?
R: La Guida per l'utente della metodologia di sicurezza fornisce descrizioni dettagliate delle funzionalità e delle tecnologie di sicurezza nei prodotti per soluzioni programmabili Intel. Aiuta gli utenti a selezionare le funzionalità di sicurezza necessarie per raggiungere i propri obiettivi di sicurezza.
D: Dove posso trovare la Guida per l'utente di Intel Agilex 7 Device Security?
R: La Guida per l'utente di Intel Agilex 7 Device Security è disponibile nell'Intel Resource and Design Center websito.
D: Cos'è il servizio Black Key Provisioning?
R: Il servizio Black Key Provisioning è un servizio che fornisce una serie completa di passaggi per impostare il provisioning delle chiavi per operazioni sicure.
Guida per l'utente di Intel Agilex® 7 Device Security
Aggiornato per Intel® Quartus® Prime Design Suite: 23.1
Versione online Invia feedback
UG-20335
683823 2023.05.23
Guida per l'utente di Intel Agilex® 7 Device Security 2
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 3
683823 | 2023.05.23 Invia feedback
1.Intel Agilex® 7
Sicurezza del dispositivo terminataview
Intel® progetta i dispositivi Intel Agilex® 7 con hardware e firmware di sicurezza dedicati e altamente configurabili.
Questo documento contiene istruzioni che consentono di utilizzare il software Intel Quartus® Prime Pro Edition per implementare funzionalità di sicurezza sui dispositivi Intel Agilex 7.
Inoltre, la Guida per l'utente sulla metodologia di sicurezza per FPGA Intel e ASIC strutturati è disponibile nell'Intel Resource & Design Center. Questo documento contiene descrizioni dettagliate delle funzionalità e delle tecnologie di sicurezza disponibili tramite i prodotti Intel Programmable Solutions per aiutarti a selezionare le funzionalità di sicurezza necessarie per soddisfare i tuoi obiettivi di sicurezza. Contattare il supporto Intel con il numero di riferimento 14014613136 per accedere alla metodologia di sicurezza per la guida per l'utente di Intel FPGA e ASIC strutturati.
Il documento è organizzato come segue: · Autenticazione e autorizzazione: fornisce istruzioni per la creazione
chiavi di autenticazione e catene di firma, applicare autorizzazioni e revoche, firmare oggetti e funzionalità di autenticazione del programma sui dispositivi Intel Agilex 7. · Crittografia bitstream AES: fornisce istruzioni per creare una chiave root AES, crittografare i bitstream di configurazione e fornire la chiave root AES ai dispositivi Intel Agilex 7. · Provisioning dei dispositivi: fornisce istruzioni per utilizzare il firmware di provisioning Intel Quartus Prime Programmer e Secure Device Manager (SDM) per programmare le funzionalità di sicurezza sui dispositivi Intel Agilex 7. · Funzionalità avanzate: fornisce istruzioni per abilitare funzionalità di sicurezza avanzate, tra cui l'autorizzazione sicura al debug, il debug HPS (Hard Processor System) e l'aggiornamento del sistema remoto.
1.1. Impegno per la sicurezza del prodotto
L’impegno duraturo di Intel nei confronti della sicurezza non è mai stato così forte. Intel consiglia vivamente di acquisire familiarità con le risorse per la sicurezza dei prodotti e di pianificare l'utilizzo per tutta la durata del prodotto Intel.
Informazioni correlate · Sicurezza dei prodotti presso Intel · Consulenze del Centro per la sicurezza dei prodotti Intel
Intel Corporation. Tutti i diritti riservati. Intel, il logo Intel e altri marchi Intel sono marchi di Intel Corporation o delle sue consociate. Intel garantisce le prestazioni dei suoi prodotti FPGA e semiconduttori in base alle specifiche attuali in conformità con la garanzia standard di Intel, ma si riserva il diritto di apportare modifiche a qualsiasi prodotto e servizio in qualsiasi momento senza preavviso. Intel non si assume alcuna responsabilità derivante dall'applicazione o dall'uso di qualsiasi informazione, prodotto o servizio qui descritto, salvo quanto espressamente concordato per iscritto da Intel. Si consiglia ai clienti Intel di ottenere la versione più recente delle specifiche del dispositivo prima di fare affidamento su qualsiasi informazione pubblicata e prima di effettuare ordini per prodotti o servizi. *Altri nomi e marchi possono essere rivendicati come proprietà di altri.
Certificato ISO 9001: 2015
1. Sicurezza dei dispositivi Intel Agilex® 7 terminataview Italiano: 683823 | 2023.05.23
1.2. Funzionalità di sicurezza pianificate
Le funzionalità menzionate in questa sezione sono previste per una versione futura del software Intel Quartus Prime Pro Edition.
Nota:
Le informazioni contenute in questa sezione sono preliminari.
1.2.1. Verifica della sicurezza del bitstream di riconfigurazione parziale
La convalida della sicurezza del bitstream di riconfigurazione parziale (PR) aiuta a fornire ulteriore garanzia che i bitstream dei personaggi PR non possano accedere o interferire con altri bitstream dei personaggi PR.
1.2.2. Dispositivo Self-Kill per l'Anti-T fisicoamper
L'autouccisione del dispositivo esegue una risposta di cancellazione o azzeramento del dispositivo e inoltre programma eFuse per impedire la nuova configurazione del dispositivo.
1.3. Documentazione di sicurezza disponibile
La tabella seguente elenca la documentazione disponibile per le funzionalità di sicurezza dei dispositivi sui dispositivi Intel FPGA e ASIC strutturato:
Tabella 1.
Documentazione disponibile sulla sicurezza del dispositivo
Nome del documento
Metodologia di sicurezza per FPGA Intel e Guida per l'utente di ASIC strutturati
Scopo
Documento di primo livello che contiene descrizioni dettagliate delle funzionalità e delle tecnologie di sicurezza nei prodotti per soluzioni programmabili Intel. Progettato per aiutarti a selezionare le funzionalità di sicurezza necessarie per raggiungere i tuoi obiettivi di sicurezza.
ID documento 721596
Guida per l'utente della sicurezza dei dispositivi Intel Stratix 10
Guida per l'utente di Intel Agilex 7 Device Security
Per gli utenti dei dispositivi Intel Stratix 10, questa guida contiene istruzioni per utilizzare il software Intel Quartus Prime Pro Edition per implementare le funzionalità di sicurezza identificate utilizzando la Guida per l'utente della metodologia di sicurezza.
Per gli utenti dei dispositivi Intel Agilex 7, questa guida contiene istruzioni per utilizzare il software Intel Quartus Prime Pro Edition per implementare le funzionalità di sicurezza identificate utilizzando la Guida per l'utente della metodologia di sicurezza.
683642 683823
Guida per l'utente di Intel eASIC N5X Device Security
Per gli utenti dei dispositivi Intel eASIC N5X, questa guida contiene istruzioni per utilizzare il software Intel Quartus Prime Pro Edition per implementare le funzionalità di sicurezza identificate utilizzando la Guida per l'utente della metodologia di sicurezza.
626836
Guida per l'utente dei servizi di crittografia HPS Intel Agilex 7 e Intel eASIC N5X
Questa guida contiene informazioni per assistere gli ingegneri software HPS nell'implementazione e nell'utilizzo delle librerie software HPS per accedere ai servizi di crittografia forniti da SDM.
713026
Guida introduttiva rapida al servizio di provisioning delle chiavi nere AN-968
Questa guida contiene la serie completa di passaggi per configurare il servizio Black Key Provisioning.
739071
Posizione Risorsa Intel e
Centro di progettazione
Intel.com
Intel.com
Centro risorse e progettazione Intel
Centro risorse e progettazione Intel
Centro risorse e progettazione Intel
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 5
683823 | 2023.05.23 Invia feedback
Per abilitare le funzionalità di autenticazione di un dispositivo Intel Agilex 7, iniziare utilizzando il software Intel Quartus Prime Pro Edition e gli strumenti associati per creare una catena di firme. Una catena di firma è costituita da una chiave root, una o più chiavi di firma e le autorizzazioni applicabili. Applica la catena di firme al tuo progetto Intel Quartus Prime Pro Edition e alla programmazione compilata fileS. Utilizzare le istruzioni in Device Provisioning per programmare la chiave root nei dispositivi Intel Agilex 7.
Informazioni correlate
Provisioning dei dispositivi a pagina 25
2.1. Creazione di una catena di firme
Puoi utilizzare lo strumento quartus_sign o l'implementazione di riferimento agilex_sign.py per eseguire operazioni sulla catena di firma. Questo documento fornisce ad esample utilizzando quartus_sign.
Per utilizzare l'implementazione di riferimento, sostituire una chiamata all'interprete Python incluso nel software Intel Quartus Prime e omettere l'opzione –family=agilex; tutte le altre opzioni sono equivalenti. Per esample, il comando quartus_sign che troverete più avanti in questa sezione
quartus_sign –family=agilex –operazione=make_root root_public.pem root.qky può essere convertito nella chiamata equivalente all'implementazione di riferimento come segue
pgm_py agilex_sign.py –operazione=make_root root_public.pem root.qky
Il software Intel Quartus Prime Pro Edition include gli strumenti quartus_sign, pgm_py e agilex_sign.py. È possibile utilizzare lo strumento della shell dei comandi Nios® II, che imposta automaticamente le variabili di ambiente appropriate per accedere agli strumenti.
Segui queste istruzioni per visualizzare la shell dei comandi di Nios II. 1. Apri la shell dei comandi di Nios II.
Opzione Windows
Linux
Descrizione
Nel menu Start, selezionare Programmi Intel FPGA Nios II EDS e fare clic su Nios II Command Shell.
Nella shell dei comandi, passare a /nios2eds ed eseguire il comando seguente:
./nios2_command_shell.sh
L'exampi le in questa sezione presuppongono la catena della firma e il bitstream di configurazione filesi trovano nella directory di lavoro corrente. Se scegli di seguire l'examples dove chiave filesono conservati su file sistema, quelli exampassumiamo la chiave filesono
Intel Corporation. Tutti i diritti riservati. Intel, il logo Intel e altri marchi Intel sono marchi di Intel Corporation o delle sue consociate. Intel garantisce le prestazioni dei suoi prodotti FPGA e semiconduttori in base alle specifiche attuali in conformità con la garanzia standard di Intel, ma si riserva il diritto di apportare modifiche a qualsiasi prodotto e servizio in qualsiasi momento senza preavviso. Intel non si assume alcuna responsabilità derivante dall'applicazione o dall'uso di qualsiasi informazione, prodotto o servizio qui descritto, salvo quanto espressamente concordato per iscritto da Intel. Si consiglia ai clienti Intel di ottenere la versione più recente delle specifiche del dispositivo prima di fare affidamento su qualsiasi informazione pubblicata e prima di effettuare ordini per prodotti o servizi. *Altri nomi e marchi possono essere rivendicati come proprietà di altri.
Certificato ISO 9001: 2015
2. Autenticazione e autorizzazione 683823 | 2023.05.23
situato nella directory di lavoro corrente. Puoi scegliere quali directory utilizzare e gli strumenti supportano i file relativi file percorsi. Se scegli di tenere la chiave fileè sul file sistema, è necessario gestire attentamente i permessi di accesso a tali files.
Intel consiglia di utilizzare un modulo di sicurezza hardware (HSM) disponibile in commercio per archiviare le chiavi di crittografia ed eseguire operazioni di crittografia. Lo strumento quartus_sign e l'implementazione di riferimento includono un'API (Application Programming Interface) Public Key Cryptography Standard #11 (PKCS #11) per interagire con un HSM durante l'esecuzione di operazioni sulla catena di firme. L'implementazione di riferimento agilex_sign.py include un abstract dell'interfaccia e un example interfaccia a SoftHSM.
Puoi usare questi example interfacce per implementare un'interfaccia per il tuo HSM. Fare riferimento alla documentazione del fornitore dell'HSM per ulteriori informazioni sull'implementazione di un'interfaccia e sul funzionamento dell'HSM.
SoftHSM è un'implementazione software di un dispositivo crittografico generico con un'interfaccia PKCS #11 resa disponibile dal progetto OpenDNSSEC®. Puoi trovare ulteriori informazioni, comprese le istruzioni su come scaricare, creare e installare OpenHSM, nel progetto OpenDNSSEC. L'exampi le in questa sezione utilizzano SoftHSM versione 2.6.1. L'exampi le in questa sezione utilizzano inoltre l'utilità pkcs11-tool di OpenSC per eseguire operazioni PKCS #11 aggiuntive con un token SoftHSM. Potresti trovare ulteriori informazioni, incluse istruzioni su come scaricare, creare e installare pkcs11tool da OpenSC.
Informazioni correlate
· Il progetto OpenDNSSEC Firmatario di zona basato su policy per automatizzare il processo di tracciamento delle chiavi DNSSEC.
· SoftHSM Informazioni sull'implementazione di un archivio crittografico accessibile tramite un'interfaccia PKCS #11.
· OpenSC Fornisce un insieme di librerie e utilità in grado di funzionare con le smart card.
2.1.1. Creazione di coppie di chiavi di autenticazione in locale File Sistema
Puoi utilizzare lo strumento quartus_sign per creare coppie di chiavi di autenticazione in locale file sistema utilizzando le operazioni degli strumenti make_private_pem e make_public_pem. Per prima cosa generi una chiave privata con l'operazione make_private_pem. Si specifica la curva ellittica da utilizzare, la chiave privata filenome e facoltativamente se proteggere la chiave privata con una passphrase. Intel consiglia di utilizzare la curva secp384r1 e di seguire le migliori pratiche del settore per creare una passphrase forte e casuale su tutte le chiavi private fileS. Intel consiglia inoltre di limitare il file permessi di sistema sulla chiave privata .pem filedeve essere letto solo dal proprietario. La chiave pubblica viene ricavata dalla chiave privata con l'operazione make_public_pem. È utile denominare la chiave .pem fileè descrittivo. Questo documento utilizza la convenzione _.pem nel seguente esempioampmeno.
1. Nella shell dei comandi di Nios II, eseguire il comando seguente per creare una chiave privata. La chiave privata, mostrata di seguito, viene utilizzata come chiave root nell'esempio successivoample che creano una catena di firme. I dispositivi Intel Agilex 7 supportano più chiavi root, quindi tu
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 7
2. Autenticazione e autorizzazione 683823 | 2023.05.23
ripetere questo passaggio per creare il numero richiesto di chiavi root. Exampi le in questo documento si riferiscono tutti alla prima tonalità fondamentale, sebbene sia possibile creare catene di firme in modo simile con qualsiasi tonalità fondamentale.
Opzione Con passphrase
Descrizione
quartus_sign –family=agilex –Operation=make_private_pem –curve=secp384r1 root0_private.pem Immettere la passphrase quando richiesto.
Senza passphrase
quartus_sign –family=agilex –operazione=make_private_pem –curve=secp384r1 –no_passphrase root0_private.pem
2. Eseguire il comando seguente per creare una chiave pubblica utilizzando la chiave privata generata nel passaggio precedente. Non è necessario proteggere la riservatezza di una chiave pubblica.
quartus_sign –family=agilex –operazione=make_public_pem root0_private.pem root0_public.pem
3. Esegui nuovamente i comandi per creare una coppia di chiavi utilizzata come chiave di firma del progetto nella catena di firma.
quartus_sign –family=agilex –operazione=make_private_pem –curve=secp384r1 design0_sign_private.pem
quartus_sign –family=agilex –operazione=make_public_pem design0_sign_private.pem design0_sign_public.pem
2.1.2. Creazione di coppie di chiavi di autenticazione in SoftHSM
Il SoftHSM exampi in questo capitolo sono autoconsistenti. Alcuni parametri dipendono dall'installazione di SoftHSM e dall'inizializzazione del token all'interno di SoftHSM.
Lo strumento quartus_sign dipende dalla libreria API PKCS #11 del tuo HSM.
L'exampi in questa sezione presuppongono che la libreria SoftHSM sia installata in una delle seguenti posizioni: · /usr/local/lib/softhsm2.so su Linux · C:SoftHSM2libsofthsm2.dll sulla versione a 32 bit di Windows · C:SoftHSM2libsofthsm2-x64 .dll sulla versione a 64 bit di Windows.
Inizializza un token all'interno di SoftHSM utilizzando lo strumento softhsm2-util:
softhsm2-util –init-token –label agilex-token –pin agilex-token-pin –so-pin agilex-so-pin –free
I parametri dell'opzione, in particolare l'etichetta del token e il pin del token, sono example utilizzati in questo capitolo. Intel consiglia di seguire le istruzioni del fornitore HSM per creare e gestire token e chiavi.
Puoi creare coppie di chiavi di autenticazione utilizzando l'utilità pkcs11-tool per interagire con il token in SoftHSM. Invece di fare riferimento esplicitamente alla chiave privata e pubblica .pem fileè nel file sistema esample, fai riferimento alla coppia di chiavi tramite la sua etichetta e lo strumento seleziona automaticamente la chiave appropriata.
Guida per l'utente di Intel Agilex® 7 Device Security 8
Invia feedback
2. Autenticazione e autorizzazione 683823 | 2023.05.23
Eseguire i comandi seguenti per creare una coppia di chiavi utilizzata come chiave root nell'esempio successivoample e una coppia di chiavi utilizzata come chiave di firma del progetto nella catena della firma:
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 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
Nota:
L'opzione ID in questo passaggio deve essere univoca per ciascuna chiave, ma viene utilizzata solo dall'HSM. Questa opzione ID non è correlata all'ID di annullamento della chiave assegnato nella catena della firma.
2.1.3. Creazione della voce radice della catena della firma
Converti la chiave pubblica root in una voce root della catena di firme, archiviata sul file locale file sistema nel formato della chiave Intel Quartus Prime (.qky). file, con l'operazione make_root. Ripeti questo passaggio per ogni chiave root generata.
Esegui il comando seguente per creare una catena di firme con una voce root, utilizzando una chiave pubblica root da file sistema:
quartus_sign –family=agilex –operazione=make_root –key_type=proprietario root0_public.pem root0.qky
Esegui il comando seguente per creare una catena di firme con una voce root, utilizzando la chiave root del token SoftHSM stabilito nella sezione precedente:
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. Creazione di una voce di chiave pubblica della catena di firme
Crea una nuova voce di chiave pubblica per una catena di firme con l'operazione append_key. Puoi specificare la catena di firma precedente, la chiave privata per l'ultima voce nella catena di firma precedente, la chiave pubblica di livello successivo, le autorizzazioni e l'ID di annullamento assegnati alla chiave pubblica di livello successivo e la nuova catena di firma file.
Si noti che la libreria softHSM non è disponibile con l'installazione di Quartus e deve invece essere installata separatamente. Per ulteriori informazioni su softHSM fare riferimento alla sezione Creazione di una catena di firme sopra.
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 9
2. Autenticazione e autorizzazione 683823 | 2023.05.23
A seconda dell'uso dei tasti sul file o in un HSM, utilizzi uno dei seguenti example comandi per aggiungere la chiave pubblica design0_sign alla catena di firme root creata nella sezione precedente:
quartus_sign –family=agilex –operazione=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
Puoi ripetere l'operazione append_key fino ad altre due volte per un massimo di tre voci di chiave pubblica tra la voce root e la voce del blocco di intestazione in qualsiasi catena di firme.
Il seguente esempioample presuppone che tu abbia creato un'altra chiave pubblica di autenticazione con le stesse autorizzazioni e assegnato l'ID di cancellazione 1 chiamato design1_sign_public.pem e stai aggiungendo questa chiave alla catena di firma dell'ex precedenteampon:
quartus_sign –family=agilex –operazione=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
I dispositivi Intel Agilex 7 includono un contatore aggiuntivo di annullamento della chiave per facilitare l'uso di una chiave che può cambiare periodicamente nel corso della vita di un determinato dispositivo. È possibile selezionare questo contatore di annullamento della chiave modificando l'argomento dell'opzione –cancel in pts:pts_value.
2.2. Firma di un bitstream di configurazione
I dispositivi Intel Agilex 7 supportano i contatori SVN (Security Version Number), che consentono di revocare l'autorizzazione di un oggetto senza annullare una chiave. Assegni il contatore SVN e il valore del contatore SVN appropriato durante la firma di qualsiasi oggetto, come una sezione bitstream, firmware .zip fileo certificato compatto. Puoi assegnare il contatore SVN e il valore SVN utilizzando l'opzione –cancel e svn_counter:svn_value come argomento. I valori validi per svn_counter sono svnA, svnB, svnC e svnD. Il svn_value è un numero intero compreso nell'intervallo [0,63].
Guida per l'utente di Intel Agilex® 7 Device Security 10
Invia feedback
2. Autenticazione e autorizzazione 683823 | 2023.05.23
2.2.1. Chiave di Quarto File Assegnazione
Si specifica una catena di firme nel progetto software Intel Quartus Prime per abilitare la funzionalità di autenticazione per tale progettazione. Dal menu Assegnazioni, seleziona Dispositivo Dispositivo e Opzioni PIN Sicurezza Chiave Quartus File, quindi vai alla catena di firme .qky file hai creato per firmare questo disegno.
Figura 1. Abilita l'impostazione del bitstream di configurazione
In alternativa, è possibile aggiungere la seguente dichiarazione di assegnazione alle impostazioni di Intel Quartus Prime file (.qsf):
set_assegnazione_globale -nome QKY_FILE design0_sign_chain.qky
Per generare un file .sof file da un progetto precedentemente compilato, che include questa impostazione, dal menu Elaborazione, selezionare Avvia Avvia Assembler. Il nuovo output .sof file include le assegnazioni per abilitare l'autenticazione con la catena di firme fornita.
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 11
2. Autenticazione e autorizzazione 683823 | 2023.05.23
2.2.2. Firmware SDM cofirmato
Utilizzare lo strumento quartus_sign per estrarre, firmare e installare il firmware SDM applicabile .zip file. Il firmware cofirmato viene quindi incluso nella programmazione file strumento generatore quando converti .sof file in un bitstream di configurazione .rbf file. Utilizzare i seguenti comandi per creare una nuova catena di firme e firmare il firmware SDM.
1. Crea una nuova coppia di chiavi di firma.
UN. Crea una nuova coppia di chiavi di firma sul file file sistema:
quartus_sign –family=agilex –operazione=make_private_pem –curve=secp384r1 firmware1_private.pem
quartus_sign –family=agilex –operazione=make_public_pem firmware1_private.pem firmware1_public.pem
B. Crea una nuova coppia di chiavi di firma nell'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 –label firmware1 –id 1
2. Crea una nuova catena di firme contenente la nuova chiave pubblica:
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. Copiare il firmware .zip file dalla directory di installazione del software Intel Quartus Prime Pro Edition (/devices/programmer/firmware/agilex.zip) alla directory di lavoro corrente.
quartus_sign –family=agilex –get_firmware=.
4. Firmare il file .zip del firmware file. Lo strumento decomprime automaticamente il file .zip file e firma individualmente tutti i firmware .cmf files, quindi ricostruisce il file .zip file per l'utilizzo da parte degli strumenti nelle seguenti sezioni:
quartus_sign –family=agilex –operazione=sign –qky=firmware1_sign_chain.qky –cancel=svnA:0 –pem=firmware1_private.pem agilex.zip Signed_agilex.zip
quartus_sign –family=agilex –operazione=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so”
Guida per l'utente di Intel Agilex® 7 Device Security 12
Invia feedback
2. Autenticazione e autorizzazione 683823 | 2023.05.23
–keyname=firmware1 –cancel=svnA:0 –qky=firmware1_sign_chain.qky agilex.zip Signed_agilex.zip
2.2.3. Firma del bitstream di configurazione utilizzando il comando quartus_sign
Per firmare un bitstream di configurazione utilizzando il comando quartus_sign, devi prima convertire il file .sof file al binario grezzo senza segno file (.rbf). Facoltativamente è possibile specificare un firmware co-firmato utilizzando l'opzione fw_source durante la fase di conversione.
Puoi generare il flusso di bit non elaborato senza segno in formato .rbf utilizzando il seguente comando:
quartus_pfg c o fw_source=signed_agilex.zip -o sign_later=ON design.sof unsigned_bitstream.rbf
Esegui uno dei seguenti comandi per firmare il bitstream utilizzando lo strumento quartus_sign a seconda della posizione delle chiavi:
quartus_sign –family=agilex –operazione=sign –qky=design0_sign_chain.qky –pem=design0_sign_private.pem –cancel=svnA:0 unsigned_bitstream.rbf firmato_bitstream.rbf
quartus_sign –family=agilex –operazione=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 firmato_bitstream.rbf
Puoi convertire i file .rbf firmati files ad altri bitstream di configurazione file formati.
Per esempioample, se si utilizza il lettore Jam* Standard Test and Programming Language (STAPL) per programmare un bitstream su JTAG, si utilizza il comando seguente per convertire un file .rbf file al formato .jam richiesto da Jam STAPL Player:
quartus_pfg -c bitstream_firmato.rbf bitstream_firmato.jam
2.2.4. Supporto multiautorità per la riconfigurazione parziale
I dispositivi Intel Agilex 7 supportano l'autenticazione multi-autorità con riconfigurazione parziale, in cui il proprietario del dispositivo crea e firma il bitstream statico e un proprietario PR separato crea e firma i bitstream dei personaggi PR. I dispositivi Intel Agilex 7 implementano il supporto multi-autorità assegnando i primi slot della chiave root di autenticazione al dispositivo o al proprietario del bitstream statico e assegnando lo slot della chiave root di autenticazione finale al proprietario del bitstream della persona di riconfigurazione parziale.
Se la funzione di autenticazione è abilitata, tutte le immagini dei personaggi PR devono essere firmate, comprese le immagini dei personaggi PR nidificate. Le immagini dei personaggi PR possono essere firmate dal proprietario del dispositivo o dal proprietario PR; tuttavia, i bitstream della regione statica devono essere firmati dal proprietario del dispositivo.
Nota:
La riconfigurazione parziale della crittografia bitstream statica e personale quando il supporto multi-autorità è abilitato è pianificata in una versione futura.
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 13
2. Autenticazione e autorizzazione 683823 | 2023.05.23
Figura 2.
L'implementazione del supporto multi-autorità per la riconfigurazione parziale richiede diversi passaggi:
1. Il dispositivo o il proprietario del flusso di bit statico genera una o più chiavi root di autenticazione come descritto in Creazione di coppie di chiavi di autenticazione in SoftHSM a pagina 8, dove l'opzione –key_type ha il valore proprietario.
2. Il proprietario del flusso di bit di riconfigurazione parziale genera una chiave root di autenticazione ma modifica il valore dell'opzione –key_type in Secondary_owner.
3. Sia i proprietari del progetto di bitstream statico che quelli di riconfigurazione parziale assicurano che la casella di controllo Abilita supporto multi-autorità sia abilitata nella scheda Assegnazioni Dispositivo Dispositivo e Opzioni pin Sicurezza.
Intel Quartus Prime Abilita le impostazioni dell'opzione multi-autorità
4. Sia i proprietari del progetto del flusso di bit statico che quelli della riconfigurazione parziale creano catene di firme in base alle rispettive chiavi root come descritto in Creazione di una catena di firme a pagina 6.
5. Sia i proprietari dei progetti di bitstream statico che quelli di riconfigurazione parziale convertono i loro progetti compilati nel formato .rbf files e firmare il .rbf files.
6. Il proprietario del dispositivo o del flusso di bit statico genera e firma un certificato compatto di autorizzazione del programma a chiave pubblica PR.
quartus_pfg –ccert o ccert_type=PR_PUBKEY_PROG_AUTH o proprietario_qky_file="root0.qky;root1.qky" unsigned_pr_pubkey_prog.ccert
quartus_sign –family=agilex –operazione=sign –qky=design0_sign_chain.qky –pem=design0_sign_private.pem –cancel=svnA:0 unsigned_pr_pubkey_prog.ccert Signed_pr_pubkey_prog.ccert
quartus_sign –family=agilex –operazione=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 Signed_pr_pubkey_prog.ccert
Guida per l'utente di Intel Agilex® 7 Device Security 14
Invia feedback
2. Autenticazione e autorizzazione 683823 | 2023.05.23
7. Il dispositivo o il proprietario del flusso di bit statico fornisce gli hash della chiave root di autenticazione al dispositivo, quindi programma il certificato compatto di autorizzazione del programma a chiave pubblica PR e infine fornisce la chiave root del proprietario del bitstream di riconfigurazione parziale al dispositivo. La sezione Device Provisioning descrive questo processo di provisioning.
8. Il dispositivo Intel Agilex 7 è configurato con la regione statica .rbf file.
9. Il dispositivo Intel Agilex 7 è parzialmente riconfigurato con il design Persona .rbf file.
Informazioni correlate
· Creazione di una catena di firme a pagina 6
· Creazione di coppie di chiavi di autenticazione in SoftHSM a pagina 8
· Provisioning dei dispositivi a pagina 25
2.2.5. Verifica della configurazione delle catene di firma bitstream
Dopo aver creato catene di firme e bitstream firmati, puoi verificare che un bitstream firmato configuri correttamente un dispositivo programmato con una determinata chiave root. Per prima cosa utilizzi l'operazione fuse_info del comando quartus_sign per stampare l'hash della chiave pubblica root in un testo file:
quartus_sign –family=agilex –operazione=fuse_info root0.qky hash_fuse.txt
Quindi utilizzi l'opzione check_integrity del comando quartus_pfg per ispezionare la catena della firma su ciascuna sezione di un flusso di bit firmato in formato .rbf. L'opzione check_integrity stampa le seguenti informazioni:
· Stato del controllo generale dell'integrità del flusso di bit
· Contenuto di ciascuna voce in ciascuna catena di firme allegata a ciascuna sezione nel bitstream .rbf file,
· Valore del fusibile previsto per l'hash della chiave pubblica root per ciascuna catena di firma.
Il valore dall'output fuse_info dovrebbe corrispondere alle linee Fuse nell'output check_integrity.
quartus_pfg –check_integrity Signed_bitstream.rbf
Ecco un example dell'output del comando check_integrity:
Informazioni: Comando: quartus_pfg –check_integrity Signed_bitstream.rbf Stato di integrità: OK
Sezione
Tipo: CMF
Descrittore della firma…
Catena della firma n. 0 (voci: -1, offset: 96)
Entry #0
Fuse: 34FD3B5F 7829001F DE2A24C7 3A7EAE29 C7786DB1 D6D5BC3C 52741C79
72978B22 0731B082 6F596899 40F32048 AD766A24
Genera chiave…
Curva: secp384r1
X
: 29C39C3064AE594A36DAA85602D6AF0B278CBB0B207C4D97CFB6967961E5F0ECA
456FF53F5DBB3A69E48A042C62AB6B0
Y
: 3E81D40CBBBEAC13601247A9D53F4A831308A24CA0BDFFA40351EE76438C7B5D2
2826F7E94A169023AFAE1D1DF4A31C2
Genera chiave…
Curva: secp384r1
X
: 29C39C3064AE594A36DAA85602D6AF0B278CBB0B207C4D97CFB6967961E5F0ECA
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 15
2. Autenticazione e autorizzazione 683823 | 2023.05.23
456FF53F5DBB3A69E48A042C62AB6B0
Y
: 3E81D40CBBBEAC13601247A9D53F4A831308A24CA0BDFFA40351EE76438C7B5D2
2826F7E94A169023AFAE1D1DF4A31C2
Entry #1
Genera chiave…
Curva: secp384r1
X
: 015290C556F1533E5631322953E2F9E91258472F43EC954E05D6A4B63D611E04B
C120C7E7A744C357346B424D52100A9
Y
: 68696DEAC4773FF3D5A16A4261975424AAB4248196CF5142858E016242FB82BC5
08A80F3FE7F156DEF0AE5FD95BDFE05
Voce n.2 Autorizzazione portachiavi: SIGN_CODE Il portachiavi può essere annullato dall'ID: 3 Catena di firme n.1 (voci: -1, offset: 648)
Entry #0
Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6
DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE
Genera chiave…
Curva: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Genera chiave…
Curva: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Entry #1
Genera chiave…
Curva: secp384r1
X
: 1E8FBEDC486C2F3161AFEB028D0C4B426258293058CD41358A164C1B1D60E5C1D
74D982BC20A4772ABCD0A1848E9DC96
Y
: 768F1BF95B37A3CC2FFCEEB071DD456D14B84F1B9BFF780FC5A72A0D3BE5EB51D
0DA7C6B53D83CF8A775A8340BD5A5DB
Entry #2
Genera chiave…
Curva: secp384r1
X
: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432
76896E771A9C6CA5A2D3C08CF4CB83C
Y
: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1
49F91CABA72F6A3A1C2D1990CDAEA3D
Voce n. 3 Autorizzazione portachiavi: SIGN_CODE Il portachiavi può essere annullato dall'ID: 15 Catena di firme n. 2 (voci: -1, offset: 0) Catena di firme n. 3 (voci: -1, offset: 0) Catena di firme n. 4 (voci: -1, offset: 0) Catena della firma n. 5 (voci: -1, offset: 0) Catena della firma n. 6 (voci: -1, offset: 0) Catena della firma n. 7 (voci: -1, offset: 0)
Tipo di sezione: Descrittore firma IO... Catena firma n. 0 (voci: -1, offset: 96)
Entry #0
Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6
DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE
Genera chiave…
Curva: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Guida per l'utente di Intel Agilex® 7 Device Security 16
Invia feedback
2. Autenticazione e autorizzazione 683823 | 2023.05.23
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Genera chiave…
Curva: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Entry #1
Genera chiave…
Curva: secp384r1
X
: 646B51F668D8CC365D72B89BA8082FDE79B00CDB750DA0C984DC5891CDF57BD21
44758CA747B1A8315024A8247F12E51
Y
: 53513118E25E16151FD55D7ECDE8293AF6C98A74D52E0DA2527948A64FABDFE7C
F4EA8B8E229218D38A869EE15476750
Entry #2
Genera chiave…
Curva: secp384r1
X
: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432
76896E771A9C6CA5A2D3C08CF4CB83C
Y
: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1
49F91CABA72F6A3A1C2D1990CDAEA3D
Voce n. 3 Autorizzazione portachiavi: SIGN_CORE Il portachiavi può essere annullato dall'ID: 15 Catena di firme n. 1 (voci: -1, offset: 0) Catena di firme n. 2 (voci: -1, offset: 0) Catena di firme n. 3 (voci: -1, offset: 0) Catena della firma n. 4 (voci: -1, offset: 0) Catena della firma n. 5 (voci: -1, offset: 0) Catena della firma n. 6 (voci: -1, offset: 0) Firma catena #7 (voci: -1, offset: 0)
Sezione
Tipo: HPS
Descrittore della firma…
Catena della firma n. 0 (voci: -1, offset: 96)
Entry #0
Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6
DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE
Genera chiave…
Curva: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Genera chiave…
Curva: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Entry #1
Genera chiave…
Curva: secp384r1
X
: FAF423E08FB08D09F926AB66705EB1843C7C82A4391D3049A35E0C5F17ACB1A30
09CE3F486200940E81D02E2F385D150
Y
: 397C0DA2F8DD6447C52048CD0FF7D5CCA7F169C711367E9B81E1E6C1E8CD9134E
5AC33EE6D388B1A895AC07B86155E9D
Entry #2
Genera chiave…
Curva: secp384r1
X
: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432
76896E771A9C6CA5A2D3C08CF4CB83C
Y
: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1
49F91CABA72F6A3A1C2D1990CDAEA3D
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 17
2. Autenticazione e autorizzazione 683823 | 2023.05.23
Voce n. 3 Autorizzazione portachiavi: SIGN_HPS Il portachiavi può essere annullato dall'ID: 15 Catena di firme n. 1 (voci: -1, offset: 0) Catena di firme n. 2 (voci: -1, offset: 0) Catena di firme n. 3 (voci: -1, offset: 0) Catena della firma n. 4 (voci: -1, offset: 0) Catena della firma n. 5 (voci: -1, offset: 0) Catena della firma n. 6 (voci: -1, offset: 0) Firma catena #7 (voci: -1, offset: 0)
Tipo di sezione: Descrittore della firma CORE … Catena della firma n. 0 (voci: -1, offset: 96)
Entry #0
Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6
DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE
Genera chiave…
Curva: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Genera chiave…
Curva: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Entry #1
Genera chiave…
Curva: secp384r1
X
: 646B51F668D8CC365D72B89BA8082FDE79B00CDB750DA0C984DC5891CDF57BD21
44758CA747B1A8315024A8247F12E51
Y
: 53513118E25E16151FD55D7ECDE8293AF6C98A74D52E0DA2527948A64FABDFE7C
F4EA8B8E229218D38A869EE15476750
Entry #2
Genera chiave…
Curva: secp384r1
X
: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432
76896E771A9C6CA5A2D3C08CF4CB83C
Y
: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1
49F91CABA72F6A3A1C2D1990CDAEA3D
Voce n. 3 Autorizzazione portachiavi: SIGN_CORE Il portachiavi può essere annullato dall'ID: 15 Catena di firme n. 1 (voci: -1, offset: 0) Catena di firme n. 2 (voci: -1, offset: 0) Catena di firme n. 3 (voci: -1, offset: 0) Catena della firma n. 4 (voci: -1, offset: 0) Catena della firma n. 5 (voci: -1, offset: 0) Catena della firma n. 6 (voci: -1, offset: 0) Firma catena #7 (voci: -1, offset: 0)
Guida per l'utente di Intel Agilex® 7 Device Security 18
Invia feedback
683823 | 2023.05.23 Invia feedback
Crittografia bitstream AES
La crittografia bitstream Advanced Encryption Standard (AES) è una funzionalità che consente al proprietario del dispositivo di proteggere la riservatezza della proprietà intellettuale in un bitstream di configurazione.
Per proteggere la riservatezza delle chiavi, la crittografia bitstream di configurazione utilizza una catena di chiavi AES. Queste chiavi vengono utilizzate per crittografare i dati del proprietario nel bitstream di configurazione, dove la prima chiave intermedia viene crittografata con la chiave root AES.
3.1. Creazione della chiave root AES
È possibile utilizzare lo strumento quartus_encrypt o l'implementazione di riferimento stratix10_encrypt.py per creare una chiave root AES nel formato della chiave di crittografia del software Intel Quartus Prime (.qek) file.
Nota:
Il file stratix10_encrypt.py file viene utilizzato per i dispositivi Intel Stratix® 10 e Intel Agilex 7.
Facoltativamente, è possibile specificare la chiave di base utilizzata per derivare la chiave root AES e la chiave di derivazione della chiave, il valore direttamente per la chiave root AES, il numero di chiavi intermedie e l'utilizzo massimo per chiave intermedia.
È necessario specificare la famiglia del dispositivo, output .qek file posizione e passphrase quando richiesto.
Esegui il comando seguente per generare la chiave root AES utilizzando dati casuali per la chiave di base e valori predefiniti per il numero di chiavi intermedie e l'utilizzo massimo della chiave.
Per utilizzare l'implementazione di riferimento, sostituire una chiamata all'interprete Python incluso nel software Intel Quartus Prime e omettere l'opzione –family=agilex; tutte le altre opzioni sono equivalenti. Per esample, il comando quartus_encrypt che si trova più avanti nella sezione
quartus_encrypt –family=agilex –operazione=MAKE_AES_KEY aes_root.qek
può essere convertito nella chiamata equivalente all'implementazione di riferimento come segue pgm_py stratix10_encrypt.py –operazione=MAKE_AES_KEY aes_root.qek
3.2. Impostazioni di crittografia Quartus
Per abilitare la crittografia bitstream per un progetto, è necessario specificare le opzioni appropriate utilizzando il pannello Assegnazioni Dispositivo Dispositivo e Opzioni pin Sicurezza. Seleziona la casella di controllo Abilita crittografia bitstream di configurazione e la posizione di archiviazione della chiave di crittografia desiderata dal menu a discesa.
Intel Corporation. Tutti i diritti riservati. Intel, il logo Intel e altri marchi Intel sono marchi di Intel Corporation o delle sue consociate. Intel garantisce le prestazioni dei suoi prodotti FPGA e semiconduttori in base alle specifiche attuali in conformità con la garanzia standard di Intel, ma si riserva il diritto di apportare modifiche a qualsiasi prodotto e servizio in qualsiasi momento senza preavviso. Intel non si assume alcuna responsabilità derivante dall'applicazione o dall'uso di qualsiasi informazione, prodotto o servizio qui descritto, salvo quanto espressamente concordato per iscritto da Intel. Si consiglia ai clienti Intel di ottenere la versione più recente delle specifiche del dispositivo prima di fare affidamento su qualsiasi informazione pubblicata e prima di effettuare ordini per prodotti o servizi. *Altri nomi e marchi possono essere rivendicati come proprietà di altri.
Certificato ISO 9001: 2015
Figura 3. Impostazioni di crittografia Intel Quartus Prime
3. Crittografia bitstream AES 683823 | 2023.05.23
In alternativa, è possibile aggiungere la seguente dichiarazione di assegnazione alle impostazioni di Intel Quartus Prime file .qsf:
set_global_assignment -name ENCRYPT_PROGRAMMING_BITSTREAM on set_global_assignment -name PROGRAMMING_BITSTREAM_ENCRYPTION_KEY_SELECT eFuses
Se desideri abilitare ulteriori mitigazioni contro i vettori di attacco del canale laterale, puoi abilitare il menu a discesa Rapporto di aggiornamento della crittografia e la casella di controllo Abilita codifica.
Guida per l'utente di Intel Agilex® 7 Device Security 20
Invia feedback
3. Crittografia bitstream AES 683823 | 2023.05.23
Le modifiche corrispondenti nel file .qsf sono:
set_global_assignment -name PROGRAMMING_BITSTREAM_ENCRYPTION_CNOC_SCRAMBLING su set_global_assignment -name PROGRAMMING_BITSTREAM_ENCRYPTION_UPDATE_RATIO 31
3.3. Crittografia di un bitstream di configurazione
Crittografi un bitstream di configurazione prima di firmarlo. La programmazione di Intel Quartus Prime File Lo strumento generatore può crittografare e firmare automaticamente un bitstream di configurazione utilizzando l'interfaccia utente grafica o la riga di comando.
Facoltativamente, puoi creare un flusso di bit parzialmente crittografato da utilizzare con gli strumenti quartus_encrypt e quartus_sign o equivalenti implementazioni di riferimento.
3.3.1. Configurazione della crittografia bitstream tramite la programmazione File Interfaccia grafica del generatore
È possibile utilizzare la Programmazione File Generatore per crittografare e firmare l'immagine del proprietario.
Figura 4.
1. Su Intel Quartus Prime File selezionare dal menu Programmazione File Generatore. 2. Sull'uscita Files, specificare l'output file digitare per la configurazione
schema.
Produzione File Specificazione
Schema di configurazione Uscita file scheda
Produzione file tipo
3. All'ingresso Files, fai clic su Aggiungi Bitstream e cerca il tuo file .sof. 4. Per specificare le opzioni di crittografia e autenticazione selezionare il file .sof e fare clic su
Proprietà. UN. Attiva Abilita strumento di firma. B. Per la chiave privata file seleziona la tua chiave di firma privata .pem file. C. Attiva Finalizza crittografia.
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 21
3. Crittografia bitstream AES 683823 | 2023.05.23
Figura 5.
D. Per la chiave di crittografia file, seleziona il tuo file AES .qek file. Ingresso (.sof) File Proprietà per l'autenticazione e la crittografia
Abilita autenticazione Specifica root privato .pem
Abilita crittografia Specificare la chiave di crittografia
5. Per generare il bitstream firmato e crittografato, sull'Input Files, fare clic su Genera. Vengono visualizzate le finestre di dialogo della password per inserire la passphrase per la chiave AES .qek file e firmare la chiave privata .pem file. La programmazione file il generatore crea l'output crittografato e firmato_file.rbf.
3.3.2. Configurazione della crittografia bitstream tramite la programmazione File Interfaccia della riga di comando del generatore
Genera un bitstream di configurazione crittografato e firmato in formato .rbf con l'interfaccia a riga di comando quartus_pfg:
quartus_pfg -c crittografia_enabled.sof top.rbf -o finalize_encryption=ON -o qek_file=aes_root.qek -o firma=ON -o pem_file=design0_sign_private.pem
È possibile convertire un bitstream di configurazione crittografato e firmato in formato .rbf in un altro bitstream di configurazione file formati.
3.3.3. Generazione di bitstream di configurazione parzialmente crittografata utilizzando l'interfaccia della riga di comando
Potresti generare una programmazione parzialmente crittografata file per finalizzare la crittografia e firmare l'immagine in un secondo momento. Genera la programmazione parzialmente crittografata file nel formato .rbf con l'interfaccia della riga di comandoquartus_pfg: quartus_pfg -c -o finalize_encryption_later=ON -o sign_later=ON top.sof top.rbf
Guida per l'utente di Intel Agilex® 7 Device Security 22
Invia feedback
3. Crittografia bitstream AES 683823 | 2023.05.23
Puoi utilizzare lo strumento da riga di comando quartus_encrypt per finalizzare la crittografia bitstream:
quartus_encrypt –family=agilex –operazione=ENCRYPT –key=aes_root.qek top.rbf cifrato_top.rbf
Puoi utilizzare lo strumento da riga di comando quartus_sign per firmare il bitstream di configurazione crittografato:
quartus_sign –family=agilex –operazione=SIGN –qky=design0_sign_chain.qky –pem=design0_sign_private.pem –cancel=svnA:0 cifrato_top.rbf firmato_encrypted_top.rbf
quartus_sign –family=agilex –operazione=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 cifrato_top.rbf firmato_cifrato_top.rbf
3.3.4. Riconfigurazione parziale Crittografia bitstream
È possibile abilitare la crittografia bitstream su alcuni progetti FPGA Intel Agilex 7 che utilizzano la riconfigurazione parziale.
I progetti di riconfigurazione parziale che utilizzano la riconfigurazione parziale gerarchica (HPR) o la riconfigurazione parziale con aggiornamento statico (SUPR) non supportano la crittografia bitstream. Se il tuo progetto contiene più regioni PR, devi crittografare tutti i personaggi.
Per abilitare la crittografia bitstream a riconfigurazione parziale, seguire la stessa procedura in tutte le revisioni della progettazione. 1. Su Intel Quartus Prime File selezionare Assegnazioni Dispositivo Dispositivo
e Sicurezza delle opzioni PIN. 2. Selezionare la posizione di archiviazione della chiave di crittografia desiderata.
Figura 6. Impostazione della crittografia bitstream di riconfigurazione parziale
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 23
3. Crittografia bitstream AES 683823 | 2023.05.23
In alternativa, puoi aggiungere la seguente dichiarazione di assegnazione nelle impostazioni di Quartus Prime file .qsf:
set_global_assignment -name –ENABLE_PARTIAL_RECONFIGURATION_BITSTREAM_ENCRYPTION on
Dopo aver compilato il progetto di base e le revisioni, il software genera un file.soffile e uno o più.pmsffiles, che rappresentano le personas. 3. Crea una programmazione crittografata e firmata files da.sof e.pmsf fileFunziona in modo simile ai progetti senza riconfigurazione parziale abilitata. 4. Convertire il file persona.pmsf compilato file in un file.rbf parzialmente crittografato file:
quartus_pfg -c -o finalize_encryption_later=ON -o sign_later=ON crittografia_enabled_persona1.pmsf persona1.rbf
5. Finalizzare la crittografia bitstream utilizzando lo strumento da riga di comando quartus_encrypt:
quartus_encrypt –family=agilex –operazione=ENCRYPT –key=aes_root.qek persona1.rbf cifrato_persona1.rbf
6. Firma il bitstream di configurazione crittografato utilizzando lo strumento da riga di comando quartus_sign:
quartus_sign –family=agilex –operazione=SIGN –qky=design0_sign_chain.qky –pem=design0_sign_private.pem cifrato_persona1.rbf firmato_encrypted_persona1.rbf
quartus_sign –family=agilex –operazione=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 cifrato_persona1.rbf firmato_encrypted_persona1.rbf
Guida per l'utente di Intel Agilex® 7 Device Security 24
Invia feedback
683823 | 2023.05.23 Invia feedback
Provisioning del dispositivo
Il provisioning iniziale delle funzionalità di sicurezza è supportato solo nel firmware di provisioning SDM. Utilizzare il programmatore Intel Quartus Prime per caricare il firmware di provisioning SDM ed eseguire operazioni di provisioning.
Puoi usare qualsiasi tipo di JTAG scaricare il cavo per collegare il Programmatore Quartus ad un dispositivo Intel Agilex 7 per eseguire operazioni di provisioning.
4.1. Utilizzo del firmware di fornitura SDM
Il programmatore Intel Quartus Prime crea e carica automaticamente un'immagine helper predefinita di fabbrica quando si seleziona l'operazione di inizializzazione e un comando per programmare qualcosa di diverso da un bitstream di configurazione.
A seconda del comando di programmazione specificato, l'immagine helper predefinita di fabbrica è di due tipi:
· Immagine helper per il provisioning: è costituita da una sezione bitstream contenente il firmware di provisioning SDM.
· Immagine helper QSPI: composta da due sezioni bitstream, una contenente il firmware principale SDM e una sezione I/O.
Puoi creare un'immagine helper predefinita di fabbrica file da caricare nel dispositivo prima di eseguire qualsiasi comando di programmazione. Dopo aver programmato un hash della chiave root di autenticazione, è necessario creare e firmare un'immagine helper predefinita di fabbrica QSPI a causa della sezione I/O inclusa. Se si programma inoltre l'impostazione di sicurezza del firmware co-firmato eFuse, è necessario creare immagini helper predefinite di fabbrica per il provisioning e QSPI con firmware co-firmato. È possibile utilizzare un'immagine helper predefinita di fabbrica cofirmata su un dispositivo senza provisioning poiché il dispositivo senza provisioning ignora le catene di firme non Intel sul firmware SDM. Fare riferimento a Utilizzo dell'immagine helper predefinita di fabbrica QSPI sui dispositivi di proprietà a pagina 26 per ulteriori dettagli sulla creazione, firma e utilizzo dell'immagine helper predefinita di fabbrica QSPI.
L'immagine helper predefinita di fabbrica del provisioning esegue un'azione di provisioning, ad esempio la programmazione dell'hash della chiave root di autenticazione, i fusibili delle impostazioni di sicurezza, la registrazione PUF o il provisioning della chiave nera. Utilizzi la programmazione Intel Quartus Prime File Strumento da riga di comando del generatore per creare l'immagine helper di provisioning, specificando l'opzione helper_image, il nome helper_device, il sottotipo di immagine helper di provisioning e facoltativamente un firmware co-firmato .zip file:
quartus_pfg –helper_image -o helper_device=AGFB014R24A -o subtype=PROVISION -o fw_source=signed_agilex.zip Signed_provision_helper_image.rbf
Programmare l'immagine helper utilizzando lo strumento Intel Quartus Prime Programmer:
quarzo_pgm -c 1 -m jtag -o “p;signed_provision_helper_image.rbf” –force
Intel Corporation. Tutti i diritti riservati. Intel, il logo Intel e altri marchi Intel sono marchi di Intel Corporation o delle sue consociate. Intel garantisce le prestazioni dei suoi prodotti FPGA e semiconduttori in base alle specifiche attuali in conformità con la garanzia standard di Intel, ma si riserva il diritto di apportare modifiche a qualsiasi prodotto e servizio in qualsiasi momento senza preavviso. Intel non si assume alcuna responsabilità derivante dall'applicazione o dall'uso di qualsiasi informazione, prodotto o servizio qui descritto, salvo quanto espressamente concordato per iscritto da Intel. Si consiglia ai clienti Intel di ottenere la versione più recente delle specifiche del dispositivo prima di fare affidamento su qualsiasi informazione pubblicata e prima di effettuare ordini per prodotti o servizi. *Altri nomi e marchi possono essere rivendicati come proprietà di altri.
Certificato ISO 9001: 2015
4. Provisioning dei dispositivi 683823 | 2023.05.23
Nota:
È possibile omettere l'operazione di inizializzazione dai comandi, incluso example forniti in questo capitolo, dopo aver programmato un'immagine helper di fornitura o aver utilizzato un comando che contiene l'operazione di inizializzazione.
4.2. Utilizzo dell'immagine helper predefinita di fabbrica QSPI sui dispositivi di proprietà
Il programmatore Intel Quartus Prime crea e carica automaticamente un'immagine helper predefinita di fabbrica QSPI quando si seleziona l'operazione di inizializzazione per una programmazione flash QSPI file. Dopo aver programmato un hash della chiave root di autenticazione, è necessario creare e firmare l'immagine helper predefinita di fabbrica QSPI e programmare separatamente l'immagine helper factory QSPI firmata prima di programmare il flash QSPI. 1. Si utilizza la programmazione Intel Quartus Prime File Strumento da riga di comando del generatore per
creare l'immagine helper QSPI, specificando l'opzione helper_image, il tipo helper_device, il sottotipo immagine helper QSPI e facoltativamente un firmware .zip cofirmato file:
quartus_pfg –helper_image -o helper_device=AGFB014R24A -o subtype=QSPI -o fw_source=signed_agilex.zip qspi_helper_image.rbf
2. Firmi l'immagine helper predefinita di fabbrica QSPI:
quartus_sign –family=agilex –operazione=sign –qky=design0_sign_chain.qky –pem=design0_sign_private.pem qspi_helper_image.rbf firmato_qspi_helper_image.rbf
3. È possibile utilizzare qualsiasi programmazione flash QSPI file formato. Il seguente esampi le utilizzano un bitstream di configurazione convertito in .jic file formato:
quartus_pfg -c firmato_bitstream.rbf firmato_flash.jic -o dispositivo=MT25QU128 -o flash_loader=AGFB014R24A -o modalità=ASX4
4. Programmare l'immagine helper firmata utilizzando lo strumento Intel Quartus Prime Programmer:
quarzo_pgm -c 1 -m jtag -o “p;signed_qspi_helper_image.rbf” –force
5. Programmare l'immagine .jic in modo che flash utilizzando lo strumento Programmatore Intel Quartus Prime:
quarzo_pgm -c 1 -m jtag -o “p;firmato_flash.jic”
4.3. Provisioning della chiave root di autenticazione
Per programmare gli hash della chiave root del proprietario sui fusibili fisici, è necessario innanzitutto caricare il firmware di fornitura, quindi programmare gli hash della chiave root del proprietario e quindi eseguire immediatamente un ripristino all'accensione. Non è necessario un ripristino all'accensione se si programmano gli hash della chiave root su fusibili virtuali.
Guida per l'utente di Intel Agilex® 7 Device Security 26
Invia feedback
4. Provisioning dei dispositivi 683823 | 2023.05.23
Per programmare gli hash della chiave root di autenticazione, programmare l'immagine helper del firmware di fornitura ed eseguire uno dei seguenti comandi per programmare la chiave root .qky files.
// Per eFuse fisici (non volatili) quartus_pgm -c 1 -m jtag -o “p;root0.qky;root1.qky;root2.qky” –non_volatile_key
// Per eFuse virtuali (volatili) quartus_pgm -c 1 -m jtag -o “p;root0.qky;root1.qky;root2.qky”
4.3.1. Programmazione della chiave root multiautorità con riconfigurazione parziale
Dopo aver eseguito il provisioning delle chiavi root del proprietario del bitstream della regione statica o del dispositivo, caricare nuovamente l'immagine helper per il provisioning del dispositivo, programmare il certificato compatto di autorizzazione del programma di chiave pubblica PR firmato, quindi eseguire il provisioning della chiave root del proprietario del bitstream della persona PR.
// Per eFuse fisici (non volatili) quartus_pgm -c 1 -m jtag -o “p;root_pr.qky” –pr_pubkey –non_volatile_key
// Per eFuse virtuali (volatili) quartus_pgm -c 1 -m jtag -o “p;p;root_pr.qky” –pr_pubkey
4.4. Fusibili ID Cancellazione Chiave Programmazione
A partire dalla versione 21.1 del software Intel Quartus Prime Pro Edition, la programmazione dei fusibili ID di annullamento della chiave Intel e del proprietario richiede l'uso di un certificato compatto firmato. È possibile firmare il certificato compatto dell'ID di annullamento della chiave con una catena di firma dotata delle autorizzazioni di firma della sezione FPGA. Il certificato compatto si crea con la programmazione file strumento da riga di comando del generatore. Firmi il certificato non firmato utilizzando lo strumento quartus_sign o l'implementazione di riferimento.
I dispositivi Intel Agilex 7 supportano banche separate di ID di annullamento della chiave proprietaria per ciascuna chiave root. Quando un certificato compatto con ID di annullamento della chiave proprietaria viene programmato in un FPGA Intel Agilex 7, l'SDM determina quale chiave root ha firmato il certificato compatto e fa saltare il fusibile dell'ID di annullamento della chiave che corrisponde a quella chiave root.
Il seguente esempioampi le creano un certificato di annullamento della chiave Intel per l'ID chiave Intel 7. È possibile sostituire 7 con l'ID di annullamento della chiave Intel applicabile compreso tra 0 e 31.
Eseguire il comando seguente per creare un certificato compatto con ID di annullamento della chiave Intel non firmato:
quartus_pfg –ccert -o ccert_type=CANCEL_INTEL_KEY -o cancel_key=7 unsigned_cancel_intel7.ccert
Eseguire uno dei seguenti comandi per firmare il certificato compatto dell'ID di annullamento della chiave Intel non firmato:
quartus_sign –family=agilex –operazione=SIGN –qky=design0_sign_chain.qky –pem=design0_private.pem –cancel=svnA:0 unsigned_cancel_intel7.ccert Signed_cancel_intel7.ccert
quartus_sign –family=agilex –operazione=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so”
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 27
4. Provisioning dei dispositivi 683823 | 2023.05.23
–keyname=design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_cancel_intel7.ccert Signed_cancel_intel7.ccert
Eseguire il comando seguente per creare un certificato compatto con ID di annullamento della chiave del proprietario non firmato:
quartus_pfg –ccert -o ccert_type=CANCEL_OWNER_KEY -o cancel_key=2 unsigned_cancel_owner2.ccert
Eseguire uno dei seguenti comandi per firmare il certificato compatto dell'ID di annullamento della chiave del proprietario non firmato:
quartus_sign –family=agilex –operazione=SIGN –qky=design0_sign_chain.qky –pem=design0_private.pem –cancel=svnA:0 unsigned_cancel_owner2.ccert Signed_cancel_owner2.ccert
quartus_sign –family=agilex –operazione=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 Signed_cancel_owner2.ccert
Dopo aver creato un certificato compatto con ID di annullamento della chiave firmato, utilizzare il programmatore Intel Quartus Prime per programmare il certificato compatto sul dispositivo tramite JTAG.
//Per eFuse fisici (non volatili) quartus_pgm -c 1 -m jtag -o “pi;signed_cancel_intel7.ccert” –non_volatile_key quartus_pgm -c 1 -mjtag -o “pi;signed_cancel_owner2.ccert” –non_volatile_key
//Per eFuse virtuali (volatili) quartus_pgm -c 1 -m jtag -o “pi;signed_cancel_intel7.ccert” quartus_pgm -c 1 -mjtag -o “pi;signed_cancel_owner2.ccert”
È inoltre possibile inviare il certificato compatto all'SDM utilizzando l'interfaccia della casella di posta FPGA o HPS.
4.5. Annullamento delle chiavi root
I dispositivi Intel Agilex 7 consentono di annullare gli hash della chiave root quando è presente un altro hash della chiave root non annullato. Puoi annullare un hash della chiave root configurando prima il dispositivo con un progetto la cui catena di firme è radicata in un hash della chiave root diverso, quindi programmando un certificato compatto di annullamento dell'hash della chiave root firmato. È necessario firmare il certificato compatto di annullamento dell'hash della chiave root con una catena di firme radicata nella chiave root da annullare.
Eseguire il comando seguente per generare un certificato compatto di annullamento dell'hash della chiave root non firmato:
quartus_pfg –ccert -o –ccert_type=CANCEL_KEY_HASH unsigned_root_cancel.ccert
Guida per l'utente di Intel Agilex® 7 Device Security 28
Invia feedback
4. Provisioning dei dispositivi 683823 | 2023.05.23
Eseguire uno dei seguenti comandi per firmare il certificato compatto di annullamento dell'hash della chiave root non firmato:
quartus_sign –family=agilex –operazione=SIGN –qky=design0_sign_chain.qky –pem=design0_private.pem –cancel=svnA:0 unsigned_root_cancel.ccert Signed_root_cancel.ccert
quartus_sign –family=agilex –operazione=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 Signed_root_cancel.ccert
È possibile programmare un certificato compatto di cancellazione dell'hash della chiave root tramite JTAG, FPGA o caselle di posta HPS.
4.6. Fusibili del contatore di programmazione
Si aggiorna il numero di versione di sicurezza (SVN) e lo pseudo orario Stamp (PTS) controfusibili mediante certificati compatti firmati.
Nota:
L'SDM tiene traccia del valore minimo del contatore rilevato durante una determinata configurazione e non accetta certificati di incremento del contatore quando il valore del contatore è inferiore al valore minimo. È necessario aggiornare tutti gli oggetti assegnati a un contatore e riconfigurare il dispositivo prima di programmare un certificato compatto di incremento del contatore.
Esegui uno dei seguenti comandi che corrisponde al certificato di incremento del contatore che desideri generare.
quartus_pfg –ccert -o ccert_type=PTS_COUNTER -o contatore= unsigned_pts.ccert
quartus_pfg –ccert -o ccert_type=SVN_COUNTER_A -o contatore= unsigned_svnA.ccert
quartus_pfg –ccert -o ccert_type=SVN_COUNTER_B -o contatore= unsigned_svnB.ccert
quartus_pfg –ccert -o ccert_type=SVN_COUNTER_C -o contatore= unsigned_svnC.ccert
quartus_pfg –ccert -o ccert_type=SVN_COUNTER_D -o contatore= unsigned_svnD.ccert
Un valore del contatore pari a 1 crea un certificato di autorizzazione all'incremento del contatore. La programmazione di un certificato compatto di autorizzazione all'incremento del contatore consente di programmare ulteriori certificati di incremento del contatore senza segno per aggiornare il rispettivo contatore. Utilizzare lo strumento quartus_sign per firmare i certificati compatti di contatore in modo simile ai certificati compatti con ID di annullamento chiave.
È possibile programmare un certificato compatto di cancellazione dell'hash della chiave root tramite JTAG, FPGA o caselle di posta HPS.
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 29
4. Provisioning dei dispositivi 683823 | 2023.05.23
4.7. Provisioning della chiave root del servizio Secure Data Object
Si utilizza il programmatore Intel Quartus Prime per fornire la chiave root SDOS (Secure Data Object Service). Il programmatore carica automaticamente l'immagine helper del firmware per eseguire il provisioning della chiave root SDOS.
quarzo_pgm c 1 m jtag –service_root_key –non_volatile_key
4.8. Impostazione di sicurezza Fornitura di fusibili
Utilizzare il programmatore Intel Quartus Prime per esaminare i fusibili delle impostazioni di sicurezza del dispositivo e scriverli in un file .fuse basato su testo file come segue:
quarzo_pgm -c 1 -m jtag -o “ei;programmazione_file.fusibile;AGFB014R24B”
Opzioni · i: il programmatore carica l'immagine helper del firmware di fornitura sul dispositivo. · e: Il Programmatore legge il fusibile dal dispositivo e lo memorizza in un .fuse file.
Il .fusibile file contiene un elenco di coppie nome-valore del fusibile. Il valore specifica se è bruciato un fusibile o il contenuto del campo fusibile.
Il seguente esempioample mostra il formato del file .fuse file:
# Firmware co-firmato
= “Non bruciato”
# Dispositivo Permesso Uccidi
= “Non bruciato”
# Dispositivo non sicuro
= “Non bruciato”
# Disabilita il debug HPS
= “Non bruciato”
# Disabilita la registrazione PUF con ID intrinseco
= “Non bruciato”
# Disabilita JTAG
= “Non bruciato”
# Disabilita la chiave di crittografia protetta da PUF
= “Non bruciato”
# Disabilita la chiave di crittografia del proprietario in BBRAM = "Non bruciato"
# Disabilita la chiave di crittografia del proprietario in eFuses = "Non bruciato"
# Disabilita l'hash 0 della chiave pubblica root del proprietario
= “Non bruciato”
# Disabilita l'hash 1 della chiave pubblica root del proprietario
= “Non bruciato”
# Disabilita l'hash 2 della chiave pubblica root del proprietario
= “Non bruciato”
# Disabilita eFuse virtuali
= “Non bruciato”
# Forza l'orologio SDM sull'oscillatore interno = "Non bruciato"
# Forza l'aggiornamento della chiave di crittografia
= “Non bruciato”
# Cancellazione esplicita della chiave Intel
= "0"
# Blocca gli eFuse di sicurezza
= “Non bruciato”
# Programma della chiave di crittografia del proprietario completato
= “Non bruciato”
# Avvio del programma della chiave di crittografia del proprietario
= “Non bruciato”
# Cancellazione chiave esplicita del proprietario 0
= ""
# Cancellazione chiave esplicita del proprietario 1
= ""
# Cancellazione chiave esplicita del proprietario 2
= ""
# Fusibili del proprietario
=
“0x00000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000
0000000000000000000000"
# Hash della chiave pubblica root del proprietario 0
=
“0x00000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000"
# Hash della chiave pubblica root del proprietario 1
=
“0x00000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000"
# Hash della chiave pubblica root del proprietario 2
=
“0x00000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000"
# Dimensione della chiave pubblica root del proprietario
= “Nessuno”
# Contatore PTS
= "0"
# Controbase PTS
= "0"
Guida per l'utente di Intel Agilex® 7 Device Security 30
Invia feedback
4. Provisioning dei dispositivi 683823 | 2023.05.23
# Ritardo di avvio QSPI # Contatore RMA # SDMIO0 è I2C # Contatore SVN A # Contatore SVN B # Contatore SVN C # Contatore SVN D
= “10ms” = “0” = “Non bruciato” = “0” = “0” = “0” = “0”
Modificare il file .fuse file per impostare i fusibili con le impostazioni di sicurezza desiderate. Una riga che inizia con # viene trattata come una riga di commento. Per programmare un fusibile con impostazione di sicurezza, rimuovere il # iniziale e impostare il valore su Bruciato. Per esample, per abilitare il fusibile delle impostazioni di sicurezza del firmware co-firmato, modificare la prima riga del fusibile file a quanto segue:
Firmware co-firmato = “Bloccato”
È inoltre possibile allocare e programmare i fusibili proprietari in base alle proprie esigenze.
È possibile utilizzare il seguente comando per eseguire un controllo in bianco, programmare e verificare la chiave pubblica root del proprietario:
quarzo_pgm -c 1 -m jtag -o “ibpv;root0.qky”
Opzioni · i: carica l'immagine helper del firmware di fornitura sul dispositivo. · b: esegue un controllo in bianco per verificare che i fusibili dell'impostazione di sicurezza desiderata non lo siano
già saltato. · p: Programma il fusibile. · v: Verifica la chiave programmata sul dispositivo.
Dopo aver programmato il file .qky file, puoi esaminare le informazioni sul fusibile controllandole nuovamente per assicurarti che sia l'hash della chiave pubblica del proprietario che la dimensione della chiave pubblica del proprietario abbiano valori diversi da zero.
Mentre i seguenti campi non sono scrivibili tramite il file .fuse file metodo, vengono inclusi durante l'output dell'operazione di esame per la verifica: · Dispositivo non sicuro · Permesso dispositivo kill · Disabilita hash della chiave pubblica root del proprietario 0 · Disabilita hash della chiave pubblica root del proprietario 1 · Disabilita hash della chiave pubblica root del proprietario 2 · Cancellazione della chiave Intel · Avvio del programma della chiave di crittografia del proprietario · Programma della chiave di crittografia del proprietario terminato · Cancellazione della chiave del proprietario · Hash della chiave pubblica del proprietario · Dimensione della chiave pubblica del proprietario · Hash della chiave pubblica root del proprietario 0 · Hash della chiave pubblica root del proprietario 1 · Hash della chiave pubblica root del proprietario 2
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 31
4. Provisioning dei dispositivi 683823 | 2023.05.23
· Contatore PTS · Base contatore PTS · Ritardo di avvio QSPI · Contatore RMA · SDMIO0 è I2C · Contatore SVN A · Contatore SVN B · Contatore SVN C · Contatore SVN D
Utilizzare il programmatore Intel Quartus Prime per programmare il file .fuse file tornare al dispositivo. Se si aggiunge l'opzione i, il programmatore carica automaticamente il firmware di fornitura per programmare i fusibili delle impostazioni di sicurezza.
//Per eFuse fisici (non volatili) quartus_pgm -c 1 -m jtag -o “pi;programmazione_file.fuse” –non_volatile_key
//Per eFuse virtuali (volatili) quartus_pgm -c 1 -m jtag -o “pi;programmazione_file.fusibile"
È possibile utilizzare il comando seguente per verificare se l'hash della chiave root del dispositivo è uguale al .qky fornito nel comando:
quarzo_pgm -c 1 -m jtag -o “v;root0_altro.qky”
Se le chiavi non corrispondono, il programmatore fallisce con un messaggio di errore Operazione non riuscita.
4.9. Provisioning della chiave root AES
È necessario utilizzare un certificato compatto della chiave root AES firmato per programmare una chiave root AES su un dispositivo Intel Agilex 7.
4.9.1. Certificato compatto con chiave root AES
Utilizza lo strumento da riga di comando quartus_pfg per convertire la chiave root AES .qek file nel formato compatto del certificato .ccert. La posizione di archiviazione della chiave viene specificata durante la creazione del certificato compatto. È possibile utilizzare lo strumento quartus_pfg per creare un certificato non firmato da firmare successivamente. È necessario utilizzare una catena di firme con l'autorizzazione di firma del certificato della chiave root AES, bit di autorizzazione 6, abilitata per poter firmare correttamente un certificato compatto della chiave root AES.
Guida per l'utente di Intel Agilex® 7 Device Security 32
Invia feedback
4. Provisioning dei dispositivi 683823 | 2023.05.23
1. Creare una coppia di chiavi aggiuntiva utilizzata per firmare il certificato compatto con chiave AES utilizzando uno dei seguenti comandi, examples:
quartus_sign –family=agilex –operazione=make_private_pem –curve=secp384r1 aesccert1_private.pem
quartus_sign –family=agilex –operazione=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 meccanismo ECDSA-KEY-PAIR-GEN –key-type EC: secp384r1 –usage-sign –label aesccert1 –id 2
2. Crea una catena di firme con il bit di autorizzazione corretto impostato utilizzando uno dei seguenti comandi:
quartus_sign –family=agilex –operazione=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. Creare un certificato compatto AES non firmato per la posizione di archiviazione della chiave root AES desiderata. Sono disponibili le seguenti opzioni di archiviazione della chiave root AES:
· 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
//Crea un certificato non firmato con chiave root AES eFuse quartus_pfg –ccert -o ccert_type=EFUSE_WRAPPED_AES_KEY -o qek_file=aes.qek unsigned_efuse1.ccert
4. Firmare il certificato compatto con il comando quartus_sign o l'implementazione di riferimento.
quartus_sign –family=agilex –operazione=sign –pem=aesccert1_private.pem –qky=aesccert1_sign_chain.qky unsigned_1.ccert firmato_1.ccert
quartus_sign –family=agilex –operazione=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so”
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 33
4. Provisioning dei dispositivi 683823 | 2023.05.23
–keyname=aesccert1 –qky=aesccert1_sign_chain.qky unsigned_1.ccert Signed_1.ccert
5. Utilizzare il programmatore Intel Quartus Prime per programmare il certificato compatto della chiave root AES sul dispositivo Intel Agilex 7 tramite JTAG. Per impostazione predefinita, il programmatore Intel Quartus Prime programma gli eFuse virtuali quando si utilizza il tipo di certificato compatto EFUSE_WRAPPED_AES_KEY.
Aggiungi l'opzione –non_volatile_key per specificare la programmazione dei fusibili fisici.
//Per la chiave root fisica (non volatile) eFuse AES quartus_pgm -c 1 -m jtag -o “pi;signed_efuse1.ccert” –non_volatile_key
//Per la chiave root AES virtuale (volatile) eFuse quartus_pgm -c 1 -m jtag -o “pi;signed_efuse1.ccert”
//Per la chiave root BBRAM AES quartus_pgm -c 1 -m jtag -o “pi;firmato_bbram1.ccert”
Il firmware di fornitura SDM e il firmware principale supportano la programmazione del certificato della chiave root AES. È inoltre possibile utilizzare l'interfaccia della casella di posta SDM dall'infrastruttura FPGA o HPS per programmare un certificato della chiave root AES.
Nota:
Il comando quartus_pgm non supporta le opzioni b e v per i certificati compatti (.ccert).
4.9.2. Provisioning della chiave root AES Intrinsic ID® PUF
L'implementazione della chiave AES con wrapper PUF ID intrinseco include i seguenti passaggi: 1. Registrazione della PUF ID intrinseco tramite JTAG. 2. Avvolgimento della chiave root AES. 3. Programmazione dei dati di supporto e chiave inserita nella memoria flash quad SPI. 4. Interrogazione sullo stato di attivazione della PUF dell'ID intrinseco.
L'uso della tecnologia Intrinsic ID richiede un contratto di licenza separato con Intrinsic ID. Il software Intel Quartus Prime Pro Edition limita le operazioni PUF senza la licenza appropriata, come la registrazione, il wrapper delle chiavi e la programmazione dei dati PUF al flash QSPI.
4.9.2.1. Iscrizione PUF con ID intrinseco
Per registrare la PUF è necessario utilizzare il firmware di fornitura SDM. Il firmware di fornitura deve essere il primo caricato dopo un ciclo di accensione ed è necessario emettere il comando di registrazione PUF prima di qualsiasi altro comando. Il firmware di fornitura supporta altri comandi dopo la registrazione PUF, incluso il wrapper della chiave root AES e la programmazione quad SPI, tuttavia, è necessario spegnere e riaccendere il dispositivo per caricare un bitstream di configurazione.
Si utilizza il programmatore Intel Quartus Prime per attivare la registrazione PUF e generare i dati di supporto PUF .puf file.
Guida per l'utente di Intel Agilex® 7 Device Security 34
Invia feedback
4. Provisioning dei dispositivi 683823 | 2023.05.23
Figura 7.
Iscrizione PUF con ID intrinseco
quartus_pgm Iscrizione PUF
Dati di supporto PUF di registrazione
Gestore dispositivi sicuri (SDM)
wrapper.puf Dati di supporto
Il programmatore carica automaticamente un'immagine helper del firmware di fornitura quando si specificano sia l'operazione i che un argomento .puf.
quarzo_pgm -c 1 -m jtag -o “ei;help_data.puf;AGFB014R24A”
Se si utilizza un firmware co-firmato, si programma l'immagine helper del firmware co-firmato prima di utilizzare il comando di registrazione PUF.
quarzo_pgm -c 1 -m jtag -o “p;signed_provision_helper_image.rbf” –force quartus_pgm -c 1 -mjtag -o “e;help_data.puf;AGFB014R24A”
La PUF IID UDS viene registrata durante la produzione del dispositivo e non è disponibile per la nuova registrazione. Se invece si utilizza il Programmatore per determinare la posizione dei dati helper PUF UDS su IPCS, scaricare il file .puf file direttamente, quindi utilizzare il file UDS .puf file allo stesso modo del .puf file estratto da un dispositivo Intel Agilex 7.
Utilizzare il seguente comando del programmatore per generare un testo file contenente un elenco di URLPunta a specifico del dispositivo files su IPCS:
quarzo_pgm -c 1 -m jtag -o “e;ipcs_urls.txt;AGFB014R24B” –ipcs_urls
4.9.2.2. Avvolgimento della chiave radice AES
Generare la chiave root AES con wrapper IID PUF .wkey file inviando un certificato firmato all'SDM.
È possibile utilizzare il Programmatore Intel Quartus Prime per generare, firmare e inviare automaticamente il certificato per racchiudere la chiave root AES oppure è possibile utilizzare la Programmazione Intel Quartus Prime File Generatore per generare un certificato non firmato. Firmi il certificato non firmato utilizzando i tuoi strumenti o lo strumento di firma Quartus. Quindi utilizzerai il programmatore per inviare il certificato firmato e avvolgere la chiave root AES. Il certificato firmato può essere utilizzato per programmare tutti i dispositivi in grado di convalidare la catena di firme.
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 35
4. Provisioning dei dispositivi 683823 | 2023.05.23
Figura 8.
Wrapping della chiave AES utilizzando il programmatore Intel Quartus Prime
.pem Privato
Chiave
.qky
quarzo_pgm
Avvolgi la chiave AES
AES.QSKigYnature RootCPhuabilnic Chiave
Genera chiave con wrapper PUF
Chiave AES avvolta
SDM
Crittografia .qek
Chiave
.wkey avvolto in PUF
Chiave AES
1. È possibile generare la chiave root AES racchiusa nel PUF dell'IID (.wkey) con il Programmatore utilizzando i seguenti argomenti:
· Il file .qky file contenente una catena di firme con autorizzazione del certificato della chiave root AES
· Il file .pem privato file per l'ultima chiave nella catena della firma
· Il .qek file tenendo la chiave root AES
· Il vettore di inizializzazione a 16 byte (iv).
quarzo_pgm -c 1 -m jtag –qky_file=aes0_sign_chain.qky –pem_file=aes0_sign_privato.pem –qek_file=aes.qek –iv=1234567890ABCDEF1234567890ABCDEF -o “ei;aes.wkey;AGFB014R24A”
2. In alternativa, è possibile generare un certificato di chiave root AES IID PUF senza segno con la Programmazione File Generatore utilizzando i seguenti argomenti:
quartus_pfg –ccert -o ccert_type=IID_PUF_WRAPPED_AES_KEY -o qek_file=aes.qek –iv=1234567890ABCDEF1234567890ABCDEF unsigned_aes.ccert
3. Firma il certificato non firmato con i tuoi strumenti di firma o con lo strumento quartus_sign utilizzando il seguente comando:
quartus_sign –family=agilex –operazione=sign –qky=aes0_sign_chain.qky –pem=aes0_sign_private.pem unsigned_aes.ccert Signed_aes.ccert
4. Quindi utilizzare il Programmatore per inviare il certificato AES firmato e restituire la chiave incapsulata (.wkey) file:
quarti_pgm -c 1 -m jtag –ccert_file=signed_aes.ccert -o “ei;aes.wkey;AGFB014R24A”
Nota: l'operazione i non è necessaria se in precedenza è stata caricata l'immagine helper del firmware di fornitura, ad esample, per iscrivere la PUF.
4.9.2.3. Dati di supporto alla programmazione e chiave inserita nella memoria flash QSPI
Utilizzi la programmazione Quartus File Interfaccia grafica del generatore per creare un'immagine flash QSPI iniziale contenente una partizione PUF. È necessario generare e programmare un'intera immagine di programmazione flash per aggiungere una partizione PUF alla flash QSPI. Creazione del PUF
Guida per l'utente di Intel Agilex® 7 Device Security 36
Invia feedback
4. Provisioning dei dispositivi 683823 | 2023.05.23
Figura 9.
partizione dei dati e utilizzo dei dati helper PUF e della chiave incapsulata fileI programmi per la generazione di immagini flash non sono supportati dalla programmazione File Interfaccia della riga di comando del generatore.
I passaggi seguenti dimostrano la creazione di un'immagine di programmazione Flash con i dati helper PUF e la chiave incapsulata:
1. Sul File menu, fare clic su Programmazione File Generatore. In uscita FileNella scheda s effettuare le seguenti selezioni:
UN. Per Famiglia di dispositivi selezionare Agilex 7.
B. Per la modalità di configurazione selezionare Active Serial x4.
C. Per la directory di output, cerca il tuo output file directory. Questo esample usa output_files.
D. Per Nome, specificare un nome per la programmazione file da generare. Questo esample usa output_file.
e. In Descrizione selezionare la programmazione files per generare. Questo esample genera il JTAG Configurazione indiretta File (.jic) per la configurazione del dispositivo e il file binario grezzo File dell'immagine di supporto alla programmazione (.rbf) per l'immagine di supporto del dispositivo. Questo esampil file seleziona anche la mappa della memoria opzionale File (.map) e dati di programmazione grezzi File (.rpd). I dati grezzi di programmazione file è necessario solo se prevedi di utilizzare un programmatore di terze parti in futuro.
Programmazione File Generatore – Uscita Files Scheda – Selezionare JTAG Configurazione indiretta
Modalità di configurazione della famiglia di dispositivi
Produzione file scheda
Directory di output
JTAG Mappa della memoria indiretta (.jic). File Dati di programmazione grezzi dell'assistente di programmazione
All'ingresso Files, effettua le seguenti selezioni: 1. Fai clic su Aggiungi Bitstream e cerca il tuo file .sof. 2. Seleziona il tuo file .sof file e quindi su Proprietà.
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 37
4. Provisioning dei dispositivi 683823 | 2023.05.23
UN. Attiva Abilita strumento di firma. B. Per la chiave privata file seleziona il tuo .pem file. C. Attiva Finalizza crittografia. D. Per la chiave di crittografia file seleziona il tuo .qek file. e. Fare clic su OK per tornare alla finestra precedente. 3. Per specificare i dati dell'helper PUF file, fai clic su Aggiungi dati non elaborati. Cambiare il Files del menu a discesa del tipo per Quartus Physical Unclonable Function File (*.puf). Sfoglia il tuo file .puf file. Se si utilizzano sia l'IID PUF che l'UDS IID PUF, ripetere questo passaggio in modo che .puf fileI messaggi per ogni PUF vengono aggiunti come input fileS. 4. Per specificare la chiave AES incapsulata file, fai clic su Aggiungi dati non elaborati. Cambiare il Files del menu a discesa del tipo Quartus Wrapped Key File (*.wkey). Sfoglia il tuo file .wkey file. Se hai inserito le chiavi AES utilizzando sia l'IID PUF che l'UDS IID PUF, ripeti questo passaggio in modo che .wkey fileI messaggi per ogni PUF vengono aggiunti come input files.
Figura 10. Specificare l'input Files per configurazione, autenticazione e crittografia
Aggiungi Bitstream Aggiungi dati grezzi
Proprietà
Chiave privata file
Finalizza la crittografia Chiave di crittografia
Nella scheda Dispositivo di configurazione, effettuare le seguenti selezioni: 1. Fare clic su Aggiungi dispositivo e selezionare il dispositivo flash dall'elenco dei dispositivi flash disponibili.
dispositivi. 2. Seleziona il dispositivo di configurazione appena aggiunto e fai clic su Aggiungi partizione. 3. Nella finestra di dialogo Modifica partizione per l'Input file e seleziona il tuo .sof dal file
menu `A tendina. È possibile mantenere le impostazioni predefinite o modificare gli altri parametri nella finestra di dialogo Modifica partizione.
Guida per l'utente di Intel Agilex® 7 Device Security 38
Invia feedback
4. Provisioning dei dispositivi 683823 | 2023.05.23
Figura 11. Specifica della partizione bitstream di configurazione .sof
Dispositivo di configurazione
Modifica partizione Aggiungi .sof file
Aggiungi partizione
4. Quando aggiungi .puf e .wkey come input files, la Programmazione File Il generatore crea automaticamente una partizione PUF nel dispositivo di configurazione. Per memorizzare i file .puf e .wkey nella partizione PUF, selezionare la partizione PUF e fare clic su Modifica. Nella finestra di dialogo Modifica partizione, seleziona i tuoi file .puf e .wkey files dagli elenchi a discesa. Se si rimuove la partizione PUF, è necessario rimuovere e aggiungere nuovamente il dispositivo di configurazione per la Programmazione File Generator per creare un'altra partizione PUF. È necessario assicurarsi di selezionare i file .puf e .wkey corretti file rispettivamente per IID PUF e UDS IID PUF.
Figura 12. Aggiungere .puf e .wkey files alla partizione PUF
Partizione PUF
Modificare
Modifica partizione
Caricatore flash
Seleziona Genera
5. Per il parametro Flash Loader selezionare la famiglia di dispositivi Intel Agilex 7 e il nome del dispositivo che corrisponde al proprio OPN Intel Agilex 7.
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 39
4. Provisioning dei dispositivi 683823 | 2023.05.23
6. Fare clic su Genera per generare l'output files che hai specificato nell'Output Filescheda s.
7. La Programmazione File Il generatore legge il tuo .qek file e ti richiede la passphrase. Digita la tua passphrase in risposta alla richiesta di immissione della passphrase QEK. Fare clic sul tasto Invio.
8. Fare clic su OK una volta avviata la Programmazione File Il generatore segnala una generazione riuscita.
Si utilizza il programmatore Intel Quartus Prime per scrivere l'immagine di programmazione QSPI nella memoria flash QSPI. 1. Nel menu Strumenti di Intel Quartus Prime selezionare Programmatore. 2. Nel Programmatore, fare clic su Configurazione hardware e quindi selezionare un Intel connesso
Cavo di download FPGA. 3. Fare clic su Aggiungi File e cerca il tuo file .jic file.
Figura 13. Programma .jic
Programmazione file
Programma/Configura
JTAG catena di scansione
4. Deseleziona la casella associata all'immagine Helper. 5. Selezionare Programma/Configura per l'output .jic file. 6. Attiva il pulsante Start per programmare la memoria flash quad SPI. 7. Spegnere e riaccendere la scheda. Il design è programmato per la memoria flash quad SPI
il dispositivo viene successivamente caricato nell'FPGA di destinazione.
È necessario generare e programmare un'intera immagine di programmazione flash per aggiungere una partizione PUF alla flash quad SPI.
Quando esiste già una partizione PUF nella flash, è possibile utilizzare il programmatore Intel Quartus Prime per accedere direttamente ai dati dell'helper PUF e alla chiave incapsulata files. Per esempioample, se l'attivazione non va a buon fine, è possibile registrare nuovamente la PUF, riavvolgere la chiave AES e successivamente programmare solo la PUF files senza dover sovrascrivere l'intera flash.
Guida per l'utente di Intel Agilex® 7 Device Security 40
Invia feedback
4. Provisioning dei dispositivi 683823 | 2023.05.23
Il programmatore Intel Quartus Prime supporta il seguente argomento operativo per PUF files in una partizione PUF preesistente:
· p: programma
· v: verificare
· r: cancella
· b: assegno in bianco
È necessario seguire le stesse restrizioni per la registrazione PUF, anche se esiste una partizione PUF.
1. Utilizzare l'argomento dell'operazione i per caricare l'immagine helper del firmware di provisioning per la prima operazione. Per esample, la seguente sequenza di comandi registra nuovamente il PUF, riavvolge la chiave root AES, cancella i vecchi dati helper PUF e la chiave rooted, quindi programma e verifica i nuovi dati helper PUF e la chiave root AES.
quarzo_pgm -c 1 -m jtag -o “ei;new.puf;AGFB014R24A” quartus_pgm -c 1 -mjtag –ccert_file=signed_aes.ccert -o “e;new.wkey;AGFB014R24A” quartus_pgm -c 1 -mjtag -o “r;vecchio.puf” quartus_pgm -c 1 -m jtag -o “r;old.wkey” quartus_pgm -c 1 -mjtag -o “p;nuovo.puf” quartus_pgm -c 1 -m jtag -o “p;new.wkey” quartus_pgm -c 1 -mjtag -o “v;nuovo.puf” quartus_pgm -c 1 -m jtag -o “v;new.wkey”
4.9.2.4. Interrogazione sullo stato di attivazione PUF dell'ID intrinseco
Dopo aver registrato il PUF dell'ID intrinseco, avvolgere una chiave AES e generare la programmazione flash files e aggiorna il flash quad SPI, spegni e riaccendi il dispositivo per attivare l'attivazione e la configurazione PUF dal bitstream crittografato. L'SDM riporta lo stato di attivazione della PUF insieme allo stato di configurazione. Se l'attivazione del PUF fallisce, SDM segnala invece lo stato di errore del PUF. Utilizzare il comando quartus_pgm per interrogare lo stato della configurazione.
1. Utilizzare il seguente comando per interrogare lo stato di attivazione:
quarzo_pgm -c 1 -m jtag –status –status_type=”CONFIG”
Ecco sample output di un'attivazione riuscita:
Informazioni (21597): Risposta di CONFIG_STATUS Il dispositivo è in esecuzione in modalità utente 00006000 RESPONSE_CODE=OK, LENGTH=6 00000000 STATE=IDLE 00160300 Versione 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 Posizione dell'errore 00000000 Dettagli dell'errore Risposta di PUF_STATUS 00002000 RESPONSE_CODE=OK, LENGTH=2 00000500 USER_IID STATUS=PU F_ACTIVATION_SUCCESS,
RELIABILITY_DIAGNOSTIC_SCORE=5, TEST_MODE=0 00000500 UDS_IID STATUS=PUF_ACTIVATION_SUCCESS,
RELIABILITY_DIAGNOSTIC_SCORE=5, TEST_MODE=0
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 41
4. Provisioning dei dispositivi 683823 | 2023.05.23
Se si utilizza solo l'IID PUF o l'UDS IID PUF e non è stato programmato un file helper data .puf file per uno dei PUF nel flash QSPI, quel PUF non viene attivato e lo stato del PUF riflette che i dati dell'helper PUF non sono validi. Il seguente esample mostra lo stato del PUF quando i dati helper PUF non sono stati programmati per nessuno dei PUF:
Risposta di 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. Posizione del PUF nella memoria flash
La posizione del PUF file è diverso per i progetti che supportano RSU e i progetti che non supportano la funzionalità RSU.
Per i progetti che non supportano RSU, è necessario includere .puf e .wkey files quando crei immagini flash aggiornate. Per i progetti che supportano RSU, SDM non sovrascrive le sezioni di dati PUF durante gli aggiornamenti dell'immagine di fabbrica o dell'applicazione.
Tabella 2.
Layout delle sottopartizioni Flash senza supporto RSU
Offset Flash (in byte)
Dimensione (in byte)
Contenuto
Descrizione
0 mila 256 mila
256 mila 256 mila
Firmware di gestione della configurazione Firmware di gestione della configurazione
Firmware che funziona su SDM.
512K
256K
Firmware di gestione della configurazione
768K
256K
Firmware di gestione della configurazione
1M
32K
Copia dati PUF 0
Struttura dati per l'archiviazione dei dati helper PUF e della copia della chiave root AES con wrapper PUF 0
1 milioni + 32 mila
32K
Copia dati PUF 1
Struttura dati per l'archiviazione dei dati helper PUF e della copia della chiave root AES con wrapper PUF 1
Tabella 3.
Layout delle sottopartizioni Flash con supporto RSU
Offset Flash (in byte)
Dimensione (in byte)
Contenuto
Descrizione
0 mila 512 mila
512 mila 512 mila
Firmware decisionale Firmware decisionale
Firmware per identificare e caricare l'immagine con la priorità più alta.
1M 1.5M
512 mila 512 mila
Firmware decisionale Firmware decisionale
2M
8K + 24K
Dati firmware decisionali
Imbottitura
Riservato per l'uso del firmware Decision.
2M + 32K
32K
Riservato all'SDM
Riservato all'SDM.
2M + 64K
Variabile
Immagine di fabbrica
Un'immagine semplice creata come backup se tutte le altre immagini dell'applicazione non vengono caricate. Questa immagine include il CMF eseguito sull'SDM.
Prossimo
32K
Copia dati PUF 0
Struttura dati per l'archiviazione dei dati helper PUF e della copia della chiave root AES con wrapper PUF 0
continua…
Guida per l'utente di Intel Agilex® 7 Device Security 42
Invia feedback
4. Provisioning dei dispositivi 683823 | 2023.05.23
Offset Flash (in byte)
Dimensione (in byte)
Successivo +32K 32K
Contenuto Copia dati PUF 1
Successivo + 256K 4K Successivo +32K 4K Successivo +32K 4K
Copia della tabella delle sottopartizioni 0 Copia della tabella delle sottopartizioni 1 Copia del blocco puntatore CMF 0
Successivo +32K _
Copia del blocco puntatore CMF 1
Variabile Variabile
Variabile Variabile
Immagine dell'applicazione 1 Immagine dell'applicazione 2
4.9.3. Provisioning della chiave nera
Descrizione
Struttura dati per l'archiviazione dei dati helper PUF e della copia della chiave root AES con wrapper PUF 1
Struttura dati per facilitare la gestione della memoria flash.
Un elenco di puntatori alle immagini dell'applicazione in ordine di priorità. Quando aggiungi un'immagine, quell'immagine diventa la più alta.
Una seconda copia dell'elenco dei puntatori alle immagini dell'applicazione.
La tua prima immagine dell'applicazione.
La tua seconda immagine dell'applicazione.
Nota:
Il programmatore Intel Quartus Prime aiuta a stabilire una connessione sicura reciprocamente autenticata tra il dispositivo Intel Agilex 7 e il servizio di provisioning della chiave nera. La connessione sicura viene stabilita tramite https e richiede diversi certificati identificati tramite un testo file.
Quando si utilizza il Black Key Provisioning, Intel consiglia di evitare di collegare esternamente il pin TCK per sollevare o abbassare un resistore mentre lo si utilizza ancora per JTAG. Tuttavia, è possibile collegare il pin TCK all'alimentatore VCCIO SDM utilizzando un resistore da 10 k. La guida esistente nelle Linee guida per la connessione dei pin per collegare TCK a un resistore pull-down da 1 k è inclusa per la soppressione del rumore. La modifica della guida a un resistore pull-up da 10 k non influisce sul funzionamento del dispositivo. Per ulteriori informazioni sulla connessione del pin TCK, fare riferimento alle linee guida per la connessione Intel Agilex 7 pin.
Thebkp_tls_ca_certcertificate autentica l'istanza del servizio di provisioning della chiave nera sull'istanza del programmatore di provisioning della chiave nera. I certificati bkp_tls_* autenticano l'istanza del programmatore di provisioning della chiave nera sull'istanza del servizio di provisioning della chiave nera.
Crei un testo file contenente le informazioni necessarie affinché il Programmatore Intel Quartus Prime possa connettersi al servizio di provisioning della chiave nera. Per avviare il provisioning della chiave nera, utilizzare l'interfaccia della riga di comando del programmatore per specificare il testo delle opzioni di provisioning della chiave nera file. La fornitura della chiave nera procede quindi automaticamente. Per accedere al servizio di provisioning della chiave nera e alla documentazione associata, contattare il supporto Intel.
Puoi abilitare il provisioning della chiave nera utilizzando il comandoquartus_pgm:
quartus_pgm -c -m –device –bkp_options=bkp_options.txt
Gli argomenti del comando specificano le seguenti informazioni:
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 43
4. Provisioning dei dispositivi 683823 | 2023.05.23
· -c: numero del cavo · -m: specifica la modalità di programmazione come JTAG · –device: specifica un indice di dispositivo sul JTAG catena. Il valore predefinito è 1. · –bkp_options: specifica un testo file contenente opzioni di provisioning della chiave nera.
Informazioni correlate Linee guida per la connessione pin della famiglia di dispositivi Intel Agilex 7
4.9.3.1. Opzioni di provisioning della chiave nera
Le opzioni di provisioning della chiave nera sono un testo file passato al Programmatore tramite il comando quartus_pgm. IL file contiene le informazioni necessarie per attivare il provisioning della chiave nera.
Quello che segue è un example del 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
Tabella 4.
Opzioni di provisioning della chiave nera
Questa tabella mostra le opzioni necessarie per attivare il provisioning della chiave nera.
Nome opzione
Tipo
Descrizione
bkp_ip
Necessario
Specifica l'indirizzo IP del server che esegue il servizio di provisioning della chiave nera.
porta_bkp
Necessario
Specifica la porta del servizio di provisioning della chiave nera richiesta per connettersi al server.
bkp_cfg_id
Necessario
Identifica l'ID del flusso di configurazione del provisioning della chiave nera.
Il servizio di provisioning della chiave nera crea i flussi di configurazione del provisioning della chiave nera, inclusa una chiave root AES, le impostazioni eFuse desiderate e altre opzioni di autorizzazione per il provisioning della chiave nera. Il numero assegnato durante la configurazione del servizio di provisioning della chiave nera identifica i flussi di configurazione del provisioning della chiave nera.
Nota: più dispositivi possono fare riferimento allo stesso flusso di configurazione del servizio di provisioning della chiave nera.
bkp_tls_ca_cert
Necessario
Il certificato TLS root utilizzato per identificare i servizi di provisioning della chiave nera per il programmatore Intel Quartus Prime (programmatore). Un'autorità di certificazione attendibile per l'istanza del servizio di provisioning della chiave nera emette questo certificato.
Se si esegue il Programmatore su un computer con sistema operativo Microsoft® Windows® (Windows), è necessario installare questo certificato nell'archivio certificati di Windows.
bkp_tls_prog_cert
Necessario
Un certificato creato per l'istanza del Programmatore di provisioning della chiave nera (Programmatore BKP). Questo è il certificato client https utilizzato per identificare questa istanza del programmatore BKP
continua…
Guida per l'utente di Intel Agilex® 7 Device Security 44
Invia feedback
4. Provisioning dei dispositivi 683823 | 2023.05.23
Nome opzione
Tipo
bkp_tls_prog_key
Necessario
bkp_tls_prog_key_pass Facoltativo
bkp_proxy_address bkp_proxy_user bkp_proxy_password
Opzionale Opzionale Opzionale
Descrizione
al servizio di provisioning della chiave nera. È necessario installare e autorizzare questo certificato nel servizio di provisioning della chiave nera prima di avviare una sessione di provisioning della chiave nera. Se si esegue il Programmatore su Windows, questa opzione non è disponibile. In questo caso, bkp_tls_prog_key include già questo certificato.
La chiave privata corrispondente al certificato del Programmatore BKP. La chiave convalida l'identità dell'istanza del programmatore BKP per il servizio di provisioning della chiave nera. Se esegui il Programmatore su Windows, il file .pfx file combina il certificato bkp_tls_prog_cert e la chiave privata. L'opzione bkp_tlx_prog_key passa il file .pfx file nel file bkp_options.txt file.
La password per la chiave privata bkp_tls_prog_key. Non richiesto nel testo delle opzioni di configurazione del provisioning della chiave nera (bkp_options.txt). file.
Specifica il server proxy URL indirizzo.
Specifica il nome utente del server proxy.
Specifica la password di autenticazione proxy.
4.10. Conversione della chiave root del proprietario, dei certificati della chiave root AES e del fusibile files per inceppare STAPL File Formati
È possibile utilizzare il comando da riga di comando quartus_pfg per convertire .qky, chiave root AES .ccert e .fuse files in formato Jam STAPL File (.jam) e formato byte code Jam File (.jbc). Puoi usare questi fileAiuta a programmare gli FPGA Intel utilizzando rispettivamente Jam STAPL Player e Jam STAPL Byte-Code Player.
Un singolo .jam o .jbc contiene diverse funzioni tra cui la configurazione e il programma dell'immagine di supporto del firmware, il controllo in bianco e la verifica della programmazione di chiavi e fusibili.
Attenzione:
Quando converti la chiave root AES .ccert file nel formato .jam, il file .jam file contiene la chiave AES in testo normale ma in forma offuscata. Di conseguenza, è necessario proteggere il file .jam file quando si memorizza la chiave AES. Puoi farlo fornendo la chiave AES in un ambiente sicuro.
Ecco gli example dei comandi di conversione 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=AGFB Impostazioni 014R24A. impostazioni fusibile_fuse.jbc
Per ulteriori informazioni sull'utilizzo di Jam STAPL Player per la programmazione del dispositivo, fare riferimento a AN 425: Utilizzo della soluzione Jam STAPL da riga di comando per la programmazione del dispositivo.
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 45
4. Provisioning dei dispositivi 683823 | 2023.05.23
Eseguire i seguenti comandi per programmare la chiave pubblica root del proprietario e la chiave di crittografia AES:
//Per caricare il flusso di bit helper nell'FPGA. // Il bitstream helper include la fornitura del firmware quartus_jli -c 1 -a CONFIGURA RootKey.jam
//Per programmare la chiave pubblica root del proprietario in eFuses virtuali quartus_jli -c 1 -a PUBKEY_PROGRAM RootKey.jam
//Per programmare la chiave pubblica root del proprietario in eFuses fisici quartus_jli -c 1 -a PUBKEY_PROGRAM -e DO_UNI_ACT_DO_EFUSES_FLAG RootKey.jam
//Per programmare la chiave pubblica root del proprietario PR negli eFuses virtuali quartus_jli -c 1 -a PUBKEY_PROGRAM -e DO_UNI_ACT_DO_PR_PUBKEY_FLAG pr_rootkey.jam
//Per programmare la chiave pubblica root del proprietario PR in eFuses fisici 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
//Per programmare la chiave di crittografia AES CCERT in BBRAM quartus_jli -c 1 -a CCERT_PROGRAM EncKeyBBRAM.jam
//Per programmare la chiave di crittografia AES CCERT negli eFuses fisici quartus_jli -c 1 -a CCERT_PROGRAM -e DO_UNI_ACT_DO_EFUSES_FLAG EncKeyEFuse.jam
Informazioni correlate AN 425: Utilizzo della soluzione Jam STAPL della riga di comando per la programmazione del dispositivo
Guida per l'utente di Intel Agilex® 7 Device Security 46
Invia feedback
683823 | 2023.05.23 Invia feedback
Funzionalità avanzate
5.1. Autorizzazione di debug sicura
Per abilitare l'autorizzazione al debug sicuro, il proprietario del debug deve generare una coppia di chiavi di autenticazione e utilizzare il programmatore Intel Quartus Prime Pro per generare informazioni sul dispositivo file per il dispositivo che esegue l'immagine di debug:
quarzo_pgm -c 1 -m jtag -o “ei;device_info.txt;AGFB014R24A” –dev_info
Il proprietario del dispositivo utilizza lo strumento quartus_sign o l'implementazione di riferimento per aggiungere una voce di chiave pubblica condizionale a una catena di firme destinata alle operazioni di debug utilizzando la chiave pubblica del proprietario del debug, le autorizzazioni necessarie, il testo delle informazioni sul dispositivo filee ulteriori restrizioni applicabili:
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
Il proprietario del dispositivo invia l'intera catena della firma al proprietario del debug, che utilizza la catena della firma e la propria chiave privata per firmare l'immagine di debug:
quartus_sign –family=agilex –operazione=sign –qky=secure_debug_auth_chain.qky –pem=debug_authorization_private_key.pem unsigned_debug_design.rbf autorizzato_debug_design.rbf
Puoi utilizzare il comando quartus_pfg per ispezionare la catena di firme di ciascuna sezione di questo bitstream di debug sicuro firmato come segue:
quartus_pfg –check_integrity autorizzato_debug_design.rbf
L'output di questo comando stampa i valori di restrizione 1,2,17,18 della chiave pubblica condizionale utilizzata per generare il bitstream firmato.
Il proprietario del debug può quindi programmare il progetto di debug autorizzato in modo sicuro:
quarzo_pgm -c 1 -m jtag -o “p;authorized_debug_design.rbf”
Il proprietario del dispositivo può revocare l'autorizzazione al debug sicuro annullando l'ID di annullamento della chiave esplicita assegnato nella catena di firme dell'autorizzazione al debug sicuro.
5.2. Certificati di debug HPS
Abilitando solo l'accesso autorizzato alla porta di accesso al debug HPS (DAP) tramite JTAG l'interfaccia richiede diversi passaggi:
Intel Corporation. Tutti i diritti riservati. Intel, il logo Intel e altri marchi Intel sono marchi di Intel Corporation o delle sue consociate. Intel garantisce le prestazioni dei suoi prodotti FPGA e semiconduttori in base alle specifiche attuali in conformità con la garanzia standard di Intel, ma si riserva il diritto di apportare modifiche a qualsiasi prodotto e servizio in qualsiasi momento senza preavviso. Intel non si assume alcuna responsabilità derivante dall'applicazione o dall'uso di qualsiasi informazione, prodotto o servizio qui descritto, salvo quanto espressamente concordato per iscritto da Intel. Si consiglia ai clienti Intel di ottenere la versione più recente delle specifiche del dispositivo prima di fare affidamento su qualsiasi informazione pubblicata e prima di effettuare ordini per prodotti o servizi. *Altri nomi e marchi possono essere rivendicati come proprietà di altri.
Certificato ISO 9001: 2015
5. Funzionalità avanzate 683823 | 2023.05.23
1. Fare clic sul menu Assegnazioni del software Intel Quartus Prime e selezionare la scheda Configurazione delle opzioni del dispositivo e del pin.
2. Nella scheda Configurazione, abilitare la porta di accesso al debug HPS (DAP) selezionando Pin HPS o Pin SDM dal menu a discesa e assicurandosi che la casella di controllo Consenti debug HPS senza certificati non sia selezionata.
Figura 14. Specificare i pin HPS o SDM per il DAP HPS
Porta di accesso debug HPS (DAP)
In alternativa, è possibile impostare l'assegnazione di seguito nelle Impostazioni Quartus Prime .qsf file:
set_global_assignment -name HPS_DAP_SPLIT_MODE “PIN SDM”
3. Compila e carica il disegno con queste impostazioni. 4. Creare una catena di firme con le autorizzazioni appropriate per firmare un debug HPS
certificato:
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. Richiedi un certificato di debug HPS non firmato dal dispositivo su cui è caricato il progetto di debug:
quarzo_pgm -c 1 -m jtag -o “e;unsigned_hps_debug.cert;AGFB014R24A”
6. Firma il certificato di debug HPS non firmato utilizzando lo strumento quartus_sign o l'implementazione di riferimento e la catena di firme di debug HPS:
quartus_sign –family=agilex –operazione=sign –qky=hps_debug_cert_sign_chain.qky –pem=hps_debug_cert_private_key.pem unsigned_hps_debug.cert firmato_hps_debug.cert
Guida per l'utente di Intel Agilex® 7 Device Security 48
Invia feedback
5. Funzionalità avanzate 683823 | 2023.05.23
7. Inviare nuovamente il certificato di debug HPS firmato al dispositivo per abilitare l'accesso alla porta di accesso al debug HPS (DAP):
quarzo_pgm -c 1 -m jtag -o “p;signed_hps_debug.cert”
Il certificato di debug HPS è valido solo dal momento in cui è stato generato fino al successivo ciclo di accensione del dispositivo o fino al caricamento di un tipo o versione diversa del firmware SDM. È necessario generare, firmare e programmare il certificato di debug HPS firmato ed eseguire tutte le operazioni di debug prima di spegnere e riaccendere il dispositivo. È possibile invalidare il certificato di debug HPS firmato spegnendo e riaccendendo il dispositivo.
5.3. Attestazione della piattaforma
È possibile generare un manifesto di integrità dei riferimenti (.rim) file utilizzando la programmazione file strumento generatore:
quartus_pfg -c firmato_crittografato_top.rbf top_rim.rim
Seguire questi passaggi per garantire l'attestazione della piattaforma nella progettazione: 1. Utilizzare il programmatore Intel Quartus Prime Pro per configurare il dispositivo con
progetto per il quale hai creato un manifesto di integrità di riferimento. 2. Utilizzare un verificatore di attestazione della piattaforma per registrare il dispositivo emettendo comandi al
SDM tramite la casella di posta SDM per creare il certificato ID dispositivo e il certificato firmware al ricaricamento. 3. Utilizzare il programmatore Intel Quartus Prime Pro per riconfigurare il dispositivo con il design. 4. Utilizzare il verificatore di attestazione della piattaforma per inviare comandi all'SDM per ottenere l'ID del dispositivo di attestazione, il firmware e i certificati alias. 5. Utilizzare il verificatore di attestazione per emettere il comando della casella di posta SDM per ottenere l'evidenza dell'attestazione e il verificatore controlla l'evidenza restituita.
È possibile implementare il proprio servizio di verifica utilizzando i comandi della cassetta postale SDM oppure utilizzare il servizio di verifica dell'attestazione della piattaforma Intel. Per ulteriori informazioni sul software, sulla disponibilità e sulla documentazione del servizio di verifica dell'attestazione della piattaforma Intel, contattare il supporto Intel.
Informazioni correlate Linee guida per la connessione pin della famiglia di dispositivi Intel Agilex 7
5.4. Anti-T fisicoamper
Abilita l'anti-t fisicoamper utilizzando i seguenti passaggi: 1. Selezionando la risposta desiderata a un t rilevatoamper evento 2. Configurare l'evento desideratoampmetodi e parametri di rilevamento er 3. Compreso l'anti-tamper IP nella logica di progettazione per aiutare a gestire l'anti-tamper
eventi
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 49
5. Funzionalità avanzate 683823 | 2023.05.23
5.4.1. Anti-Tampehm Risposte
Abilita l'anti-t fisicoamper selezionando una risposta dall'Anti-tamprisposta del venditore: elenco a discesa in Assegnazioni Dispositivo Dispositivo e Opzioni PIN Sicurezza Anti-Tampehm scheda. Per impostazione predefinita, l'anti-tampla risposta è disabilitata. Cinque categorie di anti-tampSono disponibili altre risposte. Quando selezioni la risposta desiderata, vengono abilitate le opzioni per abilitare uno o più metodi di rilevamento.
Figura 15. Anti-T disponibileampOpzioni di risposta
L'assegnazione corrispondente nelle impostazioni di Quartus Prime .gsf file è il seguente:
set_global_assignment -nome ANTI_TAMPER_RESPONSE “BLOCCO E AZZERAMENTO DISPOSITIVO CANCELLAZIONE DISPOSITIVO DI NOTIFICA”
Quando abiliti un anti-tampIn risposta, è possibile scegliere due pin I/O dedicati SDM disponibili per emettere il tampSpecificare lo stato del rilevamento degli eventi e della risposta utilizzando la finestra Assegnazioni Dispositivo Dispositivo e Opzioni pin Configurazione Configurazione Opzioni pin.
Guida per l'utente di Intel Agilex® 7 Device Security 50
Invia feedback
5. Funzionalità avanzate 683823 | 2023.05.23
Figura 16. Pin I/O dedicati SDM disponibili per Tampo Rilevamento eventi
È inoltre possibile effettuare le seguenti assegnazioni dei pin nelle impostazioni file: set_global_assignment -nome USE_TAMPER_DETECT SDM_IO15 set_global_assignment -nome ANTI_TAMPER_RESPONSE_FAILED SDM_IO16
5.4.2. Anti-Tampehm rilevamento
Puoi abilitare individualmente la frequenza, la temperatura e il volumetagLe funzionalità di rilevamento dell'SDM. Il rilevamento FPGA dipende dall'inclusione dell'Anti-Tamper Lite Intel FPGA IP nel tuo design.
Nota:
Frequenza e volume SDMtageampI metodi di rilevamento dipendono da riferimenti interni e hardware di misurazione che possono variare da un dispositivo all'altro. Intel consiglia di caratterizzare il comportamento di tampimpostazioni di rilevamento errori.
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 51
5. Funzionalità avanzate 683823 | 2023.05.23
Frequenza tampIl rilevamento del guasto funziona sulla sorgente dell'orologio di configurazione. Per abilitare la frequenza tamper rilevamento, è necessario specificare un'opzione diversa da Oscillatore interno nel menu a discesa Configurazione origine orologio nella scheda Assegnazioni Dispositivo Dispositivo e Opzioni pin Generale. È necessario assicurarsi che la casella di controllo Esegui configurazione CPU dall'oscillatore interno sia abilitata prima di abilitare la frequenza tamper rilevamento. Figura 17. Impostazione dell'SDM sull'oscillatore interno
Per abilitare la frequenza tamper rilevamento, selezionare Abilita frequenza tampcasella di controllo rilevamento er e selezionare la frequenza t desiderataamper il raggio di rilevamento dal menu a discesa. Figura 18. Abilitazione della frequenza Tampehm rilevamento
Guida per l'utente di Intel Agilex® 7 Device Security 52
Invia feedback
5. Funzionalità avanzate 683823 | 2023.05.23
In alternativa, è possibile abilitare la Frequenza Tamper Detection apportando le seguenti modifiche alle impostazioni Quartus Prime .qsf file:
set_global_assignment -nome AUTO_RESTART_CONFIGURATION OFF set_global_assignment -nome 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_RILEVAMENTO_RANGE 35
Per abilitare la temperatura tamper rilevamento, selezionare la voce Abilita temperatura tampcasella di controllo rilevamento er e selezionare i limiti superiore e inferiore della temperatura desiderata nei campi corrispondenti. I limiti superiore e inferiore vengono popolati per impostazione predefinita con il relativo intervallo di temperatura per il dispositivo selezionato nel progetto.
Per abilitare il voltageamper rilevamento, si seleziona uno o entrambi i pulsanti Abilita VCCL voltageamprilevamento errori o Abilita VCCL_SDM voltageampcaselle di controllo rilevamento er e selezionare il volume desideratotageamppercentuale di attivazione del rilevamento ertage nel campo corrispondente.
Figura 19. Abilitazione voltage Tampehm rilevamento
In alternativa, puoi abilitare Voltage Tamper Rilevamento specificando le seguenti assegnazioni nel file .qsf file:
set_global_assignment -nome ENABLE_TEMPERATURE_TAMPER_DETECTION ON set_global_assignment -name TEMPERATURE_TAMPER_UPPER_BOUND 100 set_global_assignment -nome ENABLE_VCCL_VOLTAGE_TAMPER_DETECTION ON set_global_assignment -name ENABLE_VCCL_SDM_VOLTAGE_TAMPRILEVAMENTO_ER ATTIVO
5.4.3. Anti-Tamper Lite Intel FPGA IP
L'Anti-Tamper Lite Intel FPGA IP, disponibile nel catalogo IP nel software Intel Quartus Prime Pro Edition, facilita la comunicazione bidirezionale tra il progetto e l'SDM per tampehm eventi.
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 53
Figura 20. Anti-Tamper Lite Intel FPGA IP
5. Funzionalità avanzate 683823 | 2023.05.23
L'IP fornisce i seguenti segnali che puoi connettere al tuo progetto secondo necessità:
Tabella 5.
Anti Tamper Lite Intel FPGA IP Segnali I/O
Nome del segnale
Direzione
Descrizione
gpo_sdm_at_event gpi_fpga_at_event
Ingresso di uscita
L'SDM segnala alla logica della struttura FPGA che un SDM ha rilevato un tampehm, evento. La logica FPGA ha circa 5 ms per eseguire qualsiasi pulizia desiderata e rispondere all'SDM tramite gpi_fpga_at_response_done e gpi_fpga_at_zeroization_done. L'SDM procede con la tamper azioni di risposta quando viene affermato gpi_fpga_at_response_done o dopo che non viene ricevuta alcuna risposta nel tempo assegnato.
Interruzione FPGA su SDM anti-t progettatoampIl circuito di rilevamento er ha rilevato un tamper e l'SDM tampLa risposta dovrebbe essere attivata.
gpi_fpga_at_response_done
Ingresso
L'FPGA interrompe l'SDM indicante che la logica FPGA ha eseguito la pulizia desiderata.
gpi_fpga_at_zeroization_d uno
Ingresso
L'FPGA segnala all'SDM che la logica dell'FPGA ha completato l'eventuale azzeramento desiderato dei dati di progettazione. Questo segnale è sampportato quando viene affermato gpi_fpga_at_response_done.
5.4.3.1. Informazioni sul rilascio
Il numero dello schema di controllo delle versioni IP (X.Y.Z) cambia da una versione del software all'altra. Un cambiamento in:
· X indica una revisione importante dell'IP. Se aggiorni il software Intel Quartus Prime, devi rigenerare l'IP.
· Y indica che l'IP include nuove funzionalità. Rigenera il tuo IP per includere queste nuove funzionalità.
· Z indica che l'IP include modifiche minori. Rigenera il tuo IP per includere queste modifiche.
Tabella 6.
Anti Tamper Lite Intel FPGA Informazioni sulla versione IP
Versione IP
Articolo
Descrizione 20.1.0
Versione Intel Quartus Prime
21.2
Data di rilascio
2021.06.21
Guida per l'utente di Intel Agilex® 7 Device Security 54
Invia feedback
5. Funzionalità avanzate 683823 | 2023.05.23
5.5. Utilizzo delle funzionalità di sicurezza della progettazione con aggiornamento del sistema remoto
Remote System Update (RSU) è una funzionalità FPGA Intel Agilex 7 che assiste nell'aggiornamento della configurazione files in modo robusto. RSU è compatibile con funzionalità di sicurezza di progettazione come l'autenticazione, la co-firma del firmware e la crittografia bitstream poiché RSU non dipende dai contenuti di progettazione dei bitstream di configurazione.
Creazione di immagini RSU con .sof Files
Se stai memorizzando le chiavi private sul tuo file local filesystem, puoi generare immagini RSU con funzionalità di sicurezza del design utilizzando un flusso semplificato con .sof filesono come input. Per generare immagini RSU con il file .sof file, è possibile seguire le istruzioni nella sezione Generazione dell'immagine di aggiornamento del sistema remoto Files Utilizzo della programmazione File Generatore della Guida per l'utente della configurazione Intel Agilex 7. Per ogni .sof file specificato sull'ingresso Files, fare clic sul pulsante Proprietà... e specificare le impostazioni e le chiavi appropriate per gli strumenti di firma e crittografia. La programmazione file Lo strumento generatore firma e crittografa automaticamente le immagini di fabbrica e dell'applicazione durante la creazione della programmazione RSU files.
In alternativa, se stai memorizzando le chiavi private in un HSM, devi utilizzare lo strumento quartus_sign e quindi utilizzare .rbf fileS. Il resto di questa sezione descrive in dettaglio le modifiche nel flusso per generare immagini RSU con .rbf filesono come input. È necessario crittografare e firmare il formato .rbf files prima di selezionarli come input files per le immagini RSU; tuttavia, le informazioni di avvio RSU file non deve essere crittografato ma deve essere solo firmato. La Programmazione File Il generatore non supporta la modifica delle proprietà del formato .rbf files.
Il seguente esempioampmostrano le modifiche necessarie ai comandi nella sezione Generazione dell'immagine di aggiornamento del sistema remoto Files Utilizzo della programmazione File Generatore della Guida per l'utente della configurazione Intel Agilex 7.
Generazione dell'immagine RSU iniziale utilizzando .rbf Files: Modifica del comando
Dalla generazione dell'immagine RSU iniziale utilizzando .rbf Files, modificare i comandi nel passaggio 1. per abilitare le funzionalità di sicurezza del progetto come desiderato utilizzando le istruzioni delle sezioni precedenti di questo documento.
Per esempioample, dovresti specificare un firmware firmato file se stavi utilizzando la cofirma del firmware, utilizza lo strumento di crittografia Quartus per crittografare ciascun .rbf filee infine utilizzare lo strumento quartus_sign per firmarli ciascuno file.
Nel passaggio 2, se hai abilitato la co-firma del firmware, devi utilizzare un'opzione aggiuntiva nella creazione del file .rbf di avvio dall'immagine di fabbrica file:
quartus_pfg -c factory.sof boot.rbf -o rsu_boot=ON -o fw_source=signed_agilex.zip
Dopo aver creato le informazioni di avvio .rbf file, utilizzare lo strumento quartus_sign per firmare il file .rbf file. Non è necessario crittografare il file .rbf delle informazioni di avvio file.
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 55
5. Funzionalità avanzate 683823 | 2023.05.23
Generazione di un'immagine dell'applicazione: modifica del comando
Per generare un'immagine dell'applicazione con funzionalità di sicurezza della progettazione, modificare il comando in Generazione di un'immagine dell'applicazione per utilizzare un file .rbf con funzionalità di sicurezza della progettazione abilitate, incluso il firmware co-firmato se necessario, invece del file .sof dell'applicazione originale. file:
quartus_pfg -c cosigned_fw_signed_encrypted_application.rbf secure_rsu_application.rpd -o mode=ASX4 -o bitswap=ON
Generazione di un'immagine di aggiornamento di fabbrica: modifica del comando
Dopo aver creato le informazioni di avvio .rbf file, si utilizza lo strumento quartus_sign per firmare il file .rbf file. Non è necessario crittografare il file .rbf delle informazioni di avvio file.
Per generare un'immagine di aggiornamento di fabbrica RSU, modificare il comando da Generazione di un'immagine di aggiornamento di fabbrica per utilizzare un file .rbf file con le funzionalità di sicurezza del progetto abilitate e aggiungi l'opzione per indicare l'utilizzo del firmware co-firmato:
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
Informazioni correlate Guida per l'utente della configurazione Intel Agilex 7
5.6. Servizi di crittografia SDM
L'SDM sui dispositivi Intel Agilex 7 fornisce servizi di crittografia che la logica della struttura FPGA o l'HPS possono richiedere tramite la rispettiva interfaccia della cassetta postale SDM. Per ulteriori informazioni sui comandi della casella di posta e sui formati dei dati per tutti i servizi di crittografia SDM, fare riferimento all'Appendice B nella Guida per l'utente della metodologia di sicurezza per Intel FPGA e ASIC strutturati.
Per accedere all'interfaccia della casella di posta SDM alla logica dell'infrastruttura FPGA per i servizi di crittografia SDM, è necessario creare un'istanza dell'IP Intel FPGA del client della casella di posta nel progetto.
Il codice di riferimento per accedere all'interfaccia della casella di posta SDM dall'HPS è incluso nel codice ATF e Linux fornito da Intel.
Informazioni correlate Guida per l'utente del client Intel FPGA IP per cassette postali
5.6.1. Avvio autorizzato dal fornitore
Intel fornisce un'implementazione di riferimento per il software HPS che utilizza la funzionalità di avvio autorizzato dal fornitore per autenticare il software di avvio HPS fin dai primi secondi.tage boot loader fino al kernel Linux.
Informazioni correlate Progettazione demo di avvio sicuro del SoC Intel Agilex 7
Guida per l'utente di Intel Agilex® 7 Device Security 56
Invia feedback
5. Funzionalità avanzate 683823 | 2023.05.23
5.6.2. Servizio oggetto dati protetto
Si inviano i comandi tramite la casella di posta SDM per eseguire la crittografia e la decrittografia degli oggetti SDOS. È possibile utilizzare la funzionalità SDOS dopo aver fornito la chiave root SDOS.
Informazioni correlate Provisioning della chiave root del servizio Secure Data Object a pagina 30
5.6.3. Servizi primitivi crittografici SDM
I comandi vengono inviati tramite la casella di posta SDM per avviare le operazioni del servizio primitivo crittografico SDM. Alcuni servizi primitivi di crittografia richiedono che vengano trasferiti da e verso l'SDM più dati di quelli che l'interfaccia della casella di posta può accettare. In questi casi, il comando del formato cambia per fornire puntatori ai dati in memoria. Inoltre, è necessario modificare la creazione di istanze dell'IP Intel FPGA del client della cassetta postale per utilizzare i servizi primitivi crittografici SDM dalla logica dell'infrastruttura FPGA. È inoltre necessario impostare il parametro Enable Crypto Service su 1 e connettere l'interfaccia dell'iniziatore AXI appena esposta a una memoria nel progetto.
Figura 21. Abilitazione dei servizi di crittografia SDM nel client della cassetta postale Intel FPGA IP
5.7. Impostazioni di sicurezza bitstream (FM/S10)
Le opzioni di sicurezza Bitstream FPGA sono una raccolta di policy che limitano la funzionalità o la modalità di funzionamento specificata entro un periodo definito.
Le opzioni di sicurezza Bitstream sono costituite da flag impostati nel software Intel Quartus Prime Pro Edition. Questi flag vengono automaticamente copiati nei bitstream di configurazione.
L'utente può applicare in modo permanente le opzioni di sicurezza su un dispositivo utilizzando l'impostazione di sicurezza corrispondente eFuse.
Per utilizzare qualsiasi impostazione di sicurezza nel bitstream di configurazione o nel dispositivo eFuse, è necessario abilitare la funzione di autenticazione.
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 57
5. Funzionalità avanzate 683823 | 2023.05.23
5.7.1. Selezione e attivazione delle opzioni di sicurezza
Per selezionare e abilitare le opzioni di sicurezza, procedere come segue: Dal menu Assegnazioni, selezionare Dispositivo Opzioni dispositivo e pin Sicurezza Altre opzioni... Figura 22. Selezione e abilitazione delle opzioni di sicurezza
Quindi seleziona i valori dagli elenchi a discesa per le opzioni di sicurezza che desideri abilitare come mostrato nel seguente esempioampon:
Figura 23. Selezione dei valori per le opzioni di sicurezza
Guida per l'utente di Intel Agilex® 7 Device Security 58
Invia feedback
5. Funzionalità avanzate 683823 | 2023.05.23
Di seguito sono riportate le modifiche corrispondenti nelle Impostazioni Quartus Prime .qsf file:
set_global_assignment -nome SECU_OPTION_DISABLE_JTAG “ON CHECK” set_global_assignment -nome SECU_OPTION_FORCE_ENCRYPTION_KEY_UPDATE “ON STICKY” set_global_assignment -nome SECU_OPTION_FORCE_SDM_CLOCK_TO_INT_OSC ON set_global_assignment -nome SECU_OPTION_DISABLE_VIRTUAL_EFUSES ON set_global_assignment -nome SECU_OPTION_LOCK_SECURITY_EFUSES ON set_global_assignment -nome SECU_OPTION_DISABLE_HPS_DEBUG ON set_global_assignment -nome SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES ON set_global_assignment -nome SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES ON set_global_assignment -nome SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES ON set_global _nome-assegnazione SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES ON set_global_assignment -nome SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_BBRAM ON set_global_assignment -name SECU_OPTION_DISABLE_PUF_WRAPPED_ENCRYPTION_KEY ON
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 59
683823 | 2023.05.23 Invia feedback
Risoluzione dei problemi
In questo capitolo vengono descritti gli errori comuni e i messaggi di avviso che potresti incontrare durante il tentativo di utilizzare le funzionalità di sicurezza del dispositivo e le misure per risolverli.
6.1. Utilizzo dei comandi Quartus in un errore dell'ambiente Windows
Errore quartus_pgm: comando non trovato Descrizione Questo errore viene visualizzato quando si tenta di utilizzare i comandi Quartus in una shell NIOS II in un ambiente Windows utilizzando WSL. Risoluzione Questo comando funziona in ambiente Linux; Per gli host Windows, utilizzare il seguente comando: quartus_pgm.exe -h Allo stesso modo, applicare la stessa sintassi ad altri comandi Quartus Prime come quartus_pfg, quartus_sign, quartus_encrypt tra gli altri comandi.
Intel Corporation. Tutti i diritti riservati. Intel, il logo Intel e altri marchi Intel sono marchi di Intel Corporation o delle sue consociate. Intel garantisce le prestazioni dei suoi prodotti FPGA e semiconduttori in base alle specifiche attuali in conformità con la garanzia standard di Intel, ma si riserva il diritto di apportare modifiche a qualsiasi prodotto e servizio in qualsiasi momento senza preavviso. Intel non si assume alcuna responsabilità derivante dall'applicazione o dall'uso di qualsiasi informazione, prodotto o servizio qui descritto, salvo quanto espressamente concordato per iscritto da Intel. Si consiglia ai clienti Intel di ottenere la versione più recente delle specifiche del dispositivo prima di fare affidamento su qualsiasi informazione pubblicata e prima di effettuare ordini per prodotti o servizi. *Altri nomi e marchi possono essere rivendicati come proprietà di altri.
Certificato ISO 9001: 2015
6. Risoluzione dei problemi 683823 | 2023.05.23
6.2. Generazione di un avviso di chiave privata
Avvertimento:
La password specificata è considerata non sicura. Intel consiglia di utilizzare almeno 13 caratteri di password. Si consiglia di modificare la password utilizzando l'eseguibile OpenSSL.
openssl ec -in -fuori -aes256
Descrizione
Questo avviso è correlato alla sicurezza della password e viene visualizzato quando si tenta di generare una chiave privata eseguendo i seguenti comandi:
quartus_sign –family=agilex –operazione=make_private_pem –curve=secp3841 root.pem
Soluzione Utilizzare l'eseguibile openssl per specificare una password più lunga e quindi più sicura.
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 61
6. Risoluzione dei problemi 683823 | 2023.05.23
6.3. Aggiunta di una chiave di firma all'errore del progetto Quartus
Errore…File contiene informazioni sulla chiave root...
Descrizione
Dopo aver aggiunto una chiave di firma .qky file al progetto Quartus è necessario riassemblare il file .sof file. Quando aggiungi questo file .sof rigenerato file al dispositivo selezionato utilizzando Quartus Programmer, il seguente messaggio di errore indica che il file contiene informazioni sulla chiave root:
Impossibile aggiungerefile-nome-percorso> al Programmatore. IL file contiene informazioni sulla chiave root (.qky). Tuttavia, il Programmatore non supporta la funzionalità di firma bitstream. È possibile utilizzare la programmazione File Generatore per convertire il file al Raw Binary firmato file (.rbf) per la configurazione.
Risoluzione
Utilizzare la programmazione Quartus file generatore per convertire il file file in un codice binario grezzo firmato File .rbf per la configurazione.
Informazioni correlate Bitstream di configurazione della firma utilizzando il comando quartus_sign a pagina 13
Guida per l'utente di Intel Agilex® 7 Device Security 62
Invia feedback
6. Risoluzione dei problemi 683823 | 2023.05.23
6.4. Generazione della programmazione Quartus Prime File non ha avuto successo
Errore
Errore (20353): X della chiave pubblica di QKY non corrisponde alla chiave privata di PEM file.
Errore (20352): impossibile firmare il flusso di bit tramite lo script Python agilex_sign.py.
Errore: programmazione Quartus Prime File Il generatore non ha avuto successo.
Descrizione Se si tenta di firmare un bitstream di configurazione utilizzando una chiave privata .pem errata file o un .pem file che non corrisponde al file .qky aggiunto al progetto, vengono visualizzati gli errori comuni sopra indicati. Soluzione Assicurarsi di utilizzare la chiave privata corretta .pem per firmare il flusso di bit.
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 63
6. Risoluzione dei problemi 683823 | 2023.05.23
6.5. Errori di argomento sconosciuti
Errore
Errore (23028): argomento sconosciuto “ûc”. Fare riferimento a –help per argomenti legali.
Errore (213008): la stringa dell'opzione di programmazione “ûp” non è valida. Fare riferimento a –help per i formati delle opzioni di programmazione legali.
Descrizione Se copi e incolli le opzioni della riga di comando da un file .pdf file nella shell Windows NIOS II, potresti riscontrare errori di argomento sconosciuto come mostrato sopra. Risoluzione In questi casi, è possibile immettere manualmente i comandi invece di incollarli dagli appunti.
Guida per l'utente di Intel Agilex® 7 Device Security 64
Invia feedback
6. Risoluzione dei problemi 683823 | 2023.05.23
6.6. Errore opzione di crittografia bitstream disabilitata
Errore
Impossibile finalizzare la crittografia per il file file design .sof perché è stato compilato con l'opzione di crittografia bitstream disabilitata.
Descrizione Se provi a crittografare il bitstream tramite GUI o riga di comando dopo aver compilato il progetto con l'opzione di crittografia bitstream disabilitata, Quartus rifiuta il comando come mostrato sopra.
Soluzione Assicurarsi di compilare il progetto con l'opzione di crittografia bitstream abilitata tramite GUI o riga di comando. Per abilitare questa opzione nella GUI, è necessario selezionare la casella di controllo per questa opzione.
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 65
6. Risoluzione dei problemi 683823 | 2023.05.23
6.7. Specificare il percorso corretto della chiave
Errore
Errore (19516): Rilevata programmazione File Errore nelle impostazioni del generatore: impossibile trovare 'key_file'. Assicurati che file si trova nella posizione prevista o aggiorna l'impostazione.sec
Errore (19516): Rilevata programmazione File Errore nelle impostazioni del generatore: impossibile trovare 'key_file'. Assicurati che file si trova nella posizione prevista o aggiornare l'impostazione.
Descrizione
Se si utilizzano chiavi memorizzate sul file file sistema, è necessario assicurarsi che specifichino il percorso corretto per le chiavi utilizzate per la crittografia e la firma bitstream. Se la programmazione File Il generatore non è in grado di rilevare il percorso corretto, vengono visualizzati i messaggi di errore sopra riportati.
Risoluzione
Fare riferimento alle Impostazioni Quartus Prime .qsf file per individuare i percorsi corretti per le chiavi. Assicurati di utilizzare percorsi relativi anziché percorsi assoluti.
Guida per l'utente di Intel Agilex® 7 Device Security 66
Invia feedback
6. Risoluzione dei problemi 683823 | 2023.05.23
6.8. Utilizzo di output non supportato File Tipo
Errore
quartus_pfg -c design.sof output_file.ebf -o finalize_operazione=ON -o qek_file=ae.qek -o firma=ON -o pem_file=segno_privato.pem
Errore (19511): output non supportato file tipo (ebf). Utilizzare l'opzione “-l” o “–list” per visualizzare i file supportati file digitare informazioni.
Descrizione Durante l'utilizzo della programmazione Quartus File Generator per generare il bitstream di configurazione crittografato e firmato, potresti visualizzare l'errore precedente se un output non è supportato file il tipo è specificato. Soluzione Utilizzare l'opzione -l o –list per visualizzare l'elenco dei prodotti supportati file tipi.
Invia feedback
Guida per l'utente di Intel Agilex® 7 Device Security 67
683823 | 2023.05.23 Invia feedback
7. Archivi della Guida per l'utente di Intel Agilex 7 Device Security
Per le versioni più recenti e precedenti di questa guida per l'utente, fare riferimento alla Guida per l'utente di Intel Agilex 7 Device Security. Se una versione IP o software non è elencata, si applica la guida per l'utente della versione IP o software precedente.
Intel Corporation. Tutti i diritti riservati. Intel, il logo Intel e altri marchi Intel sono marchi di Intel Corporation o delle sue consociate. Intel garantisce le prestazioni dei suoi prodotti FPGA e semiconduttori in base alle specifiche attuali in conformità con la garanzia standard di Intel, ma si riserva il diritto di apportare modifiche a qualsiasi prodotto e servizio in qualsiasi momento senza preavviso. Intel non si assume alcuna responsabilità derivante dall'applicazione o dall'uso di qualsiasi informazione, prodotto o servizio qui descritto, salvo quanto espressamente concordato per iscritto da Intel. Si consiglia ai clienti Intel di ottenere la versione più recente delle specifiche del dispositivo prima di fare affidamento su qualsiasi informazione pubblicata e prima di effettuare ordini per prodotti o servizi. *Altri nomi e marchi possono essere rivendicati come proprietà di altri.
Certificato ISO 9001: 2015
683823 | 2023.05.23 Invia feedback
8. Cronologia delle revisioni per la Guida per l'utente di Intel Agilex 7 Device Security
Versione documento 2023.05.23
2022.11.22 2022.04.04 2022.01.20
2021.11.09
Documenti / Risorse
![]() |
Sicurezza dei dispositivi Intel Agilex 7 [pdf] Manuale d'uso Sicurezza del dispositivo Agilex 7, Agilex 7, Sicurezza del dispositivo, Sicurezza |