Intel Agilex 7-apparaatbeveiliging
Productinformatie
Specificaties
- Modelnummer: UG-20335
- Releasedatum: 2023.05.23
Instructies voor productgebruik
1. Toewijding aan productbeveiliging
Intel zet zich in voor productbeveiliging en raadt gebruikers aan zich vertrouwd te maken met de aangeboden productbeveiligingsbronnen. Deze bronnen moeten gedurende de hele levensduur van het Intel-product worden gebruikt.
2. Geplande beveiligingsfuncties
De volgende beveiligingsfuncties zijn gepland voor een toekomstige release van Intel Quartus Prime Pro Edition-software:
- Gedeeltelijke herconfiguratie Bitstream-beveiligingsverificatie: biedt extra zekerheid dat gedeeltelijke herconfiguratie (PR) bitstreams geen toegang hebben tot andere PR-persona-bitstreams of deze kunnen verstoren.
- Zelfdoding van apparaat voor fysieke Anti-Tamper: Voert een apparaatwis- of apparaatnulisatiereactie uit en programmeert eFuses om te voorkomen dat het apparaat opnieuw wordt geconfigureerd.
3. Beschikbare beveiligingsdocumentatie
De volgende tabel bevat de beschikbare documentatie voor apparaatbeveiligingsfuncties op Intel FPGA- en Structured ASIC-apparaten:
Documentnaam | Doel |
---|---|
Beveiligingsmethodologie voor gebruikers van Intel FPGA's en gestructureerde ASIC's Gids |
Document op het hoogste niveau met gedetailleerde beschrijvingen van beveiligingsfuncties en technologieën in Intel Programmable Solutions Producten. Helpt gebruikers bij het selecteren van de benodigde beveiligingsfuncties voldoen aan hun veiligheidsdoelstellingen. |
Intel Stratix 10 Apparaatbeveiliging Gebruikershandleiding | Instructies voor gebruikers van Intel Stratix 10-apparaten om te implementeren de beveiligingskenmerken die zijn geïdentificeerd met behulp van de Beveiligingsmethodologie Gebruikershandleiding. |
Intel Agilex 7 Apparaatbeveiliging Gebruikershandleiding | Instructies voor gebruikers van Intel Agilex 7-apparaten om te implementeren de beveiligingskenmerken die zijn geïdentificeerd met behulp van de Beveiligingsmethodologie Gebruikershandleiding. |
Gebruikershandleiding voor Intel eASIC N5X apparaatbeveiliging | Instructies voor gebruikers van Intel eASIC N5X-apparaten om te implementeren de beveiligingskenmerken die zijn geïdentificeerd met behulp van de Beveiligingsmethodologie Gebruikershandleiding. |
Intel Agilex 7 en Intel eASIC N5X HPS cryptografische services Gebruikershandleiding |
Informatie voor HPS software engineers over de implementatie en gebruik van HPS-softwarebibliotheken om toegang te krijgen tot cryptografische diensten verstrekt door de SDM. |
AN-968 Black Key Provisioning Service snelstartgids | Voltooi de reeks stappen om Black Key Provisioning in te stellen dienst. |
Veelgestelde vragen
Vraag: Wat is het doel van de Gebruikershandleiding voor de beveiligingsmethodologie?
A: De gebruikershandleiding voor beveiligingsmethodologie biedt gedetailleerde beschrijvingen van beveiligingsfuncties en -technologieën in Intel Programmable Solutions Products. Het helpt gebruikers bij het selecteren van de noodzakelijke beveiligingsfuncties om aan hun beveiligingsdoelstellingen te voldoen.
Vraag: Waar kan ik de Intel Agilex 7 Device Security Gebruikershandleiding vinden?
A: De Intel Agilex 7 Device Security Gebruikershandleiding kunt u vinden in het Intel Resource and Design Center webplaats.
Vraag: Wat is de Black Key Provisioning-service?
A: De Black Key Provisioning-service is een service die een complete reeks stappen biedt voor het opzetten van sleutelvoorzieningen voor veilige activiteiten.
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding
Bijgewerkt voor Intel® Quartus® Prime Design Suite: 23.1
Online versie Feedback verzenden
UG-20335
683823 2023.05.23
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 2
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 3
683823 | 2023.05.23 Feedback verzenden
1. Intel Agilex® 7
Apparaatbeveiliging voorbijview
Intel® ontwerpt de Intel Agilex® 7-apparaten met speciale, zeer configureerbare beveiligingshardware en firmware.
Dit document bevat instructies om u te helpen Intel Quartus® Prime Pro Edition-software te gebruiken om beveiligingsfuncties op uw Intel Agilex 7-apparaten te implementeren.
Bovendien is de gebruikershandleiding Security Methodology for Intel FPGAs and Structured ASICs beschikbaar op het Intel Resource & Design Center. Dit document bevat gedetailleerde beschrijvingen van de beveiligingsfuncties en technologieën die beschikbaar zijn via Intel Programmable Solutions-producten om u te helpen de beveiligingsfuncties te selecteren die nodig zijn om aan uw beveiligingsdoelstellingen te voldoen. Neem contact op met Intel Support met referentienummer 14014613136 voor toegang tot de gebruikershandleiding voor de beveiligingsmethode voor Intel FPGA's en gestructureerde ASIC's.
Het document is als volgt ingedeeld: · Authenticatie en autorisatie: biedt instructies voor het maken ervan
authenticatiesleutels en handtekeningketens, machtigingen en intrekkingen toepassen, objecten ondertekenen en authenticatiefuncties programmeren op Intel Agilex 7-apparaten. · AES Bitstream-codering: biedt instructies voor het maken van een AES-hoofdsleutel, het coderen van configuratiebitstreams en het inrichten van de AES-hoofdsleutel voor Intel Agilex 7-apparaten. · Device Provisioning: Biedt instructies voor het gebruik van de Intel Quartus Prime Programmer en Secure Device Manager (SDM) provisioningfirmware om beveiligingsfuncties op Intel Agilex 7-apparaten te programmeren. · Geavanceerde functies: Biedt instructies om geavanceerde beveiligingsfuncties in te schakelen, waaronder autorisatie voor beveiligde debuggen, debuggen van Hard Processor System (HPS) en systeemupdates op afstand.
1.1. Toewijding aan productbeveiliging
Intel's langdurige toewijding aan beveiliging is nog nooit zo sterk geweest. Intel raadt u ten zeerste aan vertrouwd te raken met onze productbeveiligingsmiddelen en van plan te zijn deze gedurende de levensduur van uw Intel-product te gebruiken.
Gerelateerde informatie · Productbeveiliging bij Intel · Intel Product Security Center-adviezen
Intel Corporation. Alle rechten voorbehouden. Intel, het Intel-logo en andere Intel-merken zijn handelsmerken van Intel Corporation of haar dochterondernemingen. Intel garandeert de prestaties van zijn FPGA- en halfgeleiderproducten volgens de huidige specificaties in overeenstemming met de standaardgarantie van Intel, maar behoudt zich het recht voor om op elk moment zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Intel aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van informatie, producten of diensten die hierin worden beschreven, behalve zoals uitdrukkelijk schriftelijk overeengekomen door Intel. Intel-klanten wordt geadviseerd om de nieuwste versie van apparaatspecificaties te verkrijgen voordat ze vertrouwen op gepubliceerde informatie en voordat ze producten of diensten bestellen. *Andere namen en merken kunnen worden geclaimd als eigendom van anderen.
ISO 9001: 2015 geregistreerd
1. Intel Agilex® 7 apparaatbeveiliging voorbijview 683823 | 2023.05.23
1.2. Geplande beveiligingsfuncties
De in deze sectie genoemde functies zijn gepland voor een toekomstige release van Intel Quartus Prime Pro Edition-software.
Opmerking:
De informatie in deze sectie is voorlopig.
1.2.1. Gedeeltelijke herconfiguratie Bitstream-beveiligingsverificatie
Gedeeltelijke herconfiguratie (PR) bitstream-beveiligingsvalidatie helpt extra zekerheid te bieden dat PR-persona-bitstreams geen toegang hebben tot andere PR-persona-bitstreams of deze kunnen verstoren.
1.2.2. Zelfdoding van apparaat voor fysieke Anti-Tamper
Zelfmoord op het apparaat voert een apparaatwis- of nulstellingsreactie uit en programmeert bovendien eFuses om te voorkomen dat het apparaat opnieuw wordt geconfigureerd.
1.3. Beschikbare beveiligingsdocumentatie
De volgende tabel somt de beschikbare documentatie op voor apparaatbeveiligingsfuncties op Intel FPGA- en gestructureerde ASIC-apparaten:
Tabel 1.
Beschikbare apparaatbeveiligingsdocumentatie
Documentnaam
Beveiligingsmethodologie voor Intel FPGA's en gestructureerde ASIC's Gebruikershandleiding
Doel
Document op het hoogste niveau met gedetailleerde beschrijvingen van beveiligingsfuncties en -technologieën in Intel Programmable Solutions Products. Bedoeld om u te helpen bij het selecteren van de beveiligingsfuncties die nodig zijn om aan uw beveiligingsdoelstellingen te voldoen.
Document-ID 721596
Intel Stratix 10 Apparaatbeveiliging Gebruikershandleiding
Intel Agilex 7 Apparaatbeveiliging Gebruikershandleiding
Voor gebruikers van Intel Stratix 10-apparaten bevat deze handleiding instructies voor het gebruik van Intel Quartus Prime Pro Edition-software om de beveiligingsfuncties te implementeren die zijn geïdentificeerd in de Gebruikershandleiding voor beveiligingsmethoden.
Voor gebruikers van Intel Agilex 7-apparaten bevat deze handleiding instructies voor het gebruik van Intel Quartus Prime Pro Edition-software om de beveiligingsfuncties te implementeren die zijn geïdentificeerd in de Gebruikershandleiding voor beveiligingsmethoden.
683642 683823
Gebruikershandleiding voor Intel eASIC N5X apparaatbeveiliging
Voor gebruikers van Intel eASIC N5X-apparaten bevat deze handleiding instructies voor het gebruik van de Intel Quartus Prime Pro Edition-software om de beveiligingsfuncties te implementeren die zijn geïdentificeerd in de Gebruikershandleiding voor beveiligingsmethoden.
626836
Intel Agilex 7 en Intel eASIC N5X HPS Cryptographic Services Gebruikershandleiding
Deze handleiding bevat informatie om HPS-software-ingenieurs te helpen bij de implementatie en het gebruik van HPS-softwarebibliotheken om toegang te krijgen tot cryptografische services die door de SDM worden geleverd.
713026
AN-968 Black Key Provisioning Service snelstartgids
Deze handleiding bevat een volledige reeks stappen voor het instellen van de Black Key Provisioning-service.
739071
Locatie Intel-bron en
Ontwerpcentrum
Intel.com
Intel.com
Intel Resource- en ontwerpcentrum
Intel Resource- en ontwerpcentrum
Intel Resource- en ontwerpcentrum
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 5
683823 | 2023.05.23 Feedback verzenden
Om de authenticatiefuncties van een Intel Agilex 7-apparaat in te schakelen, begint u met het gebruik van de Intel Quartus Prime Pro Edition-software en bijbehorende tools om een handtekeningketen op te bouwen. Een handtekeningketen bestaat uit een rootsleutel, een of meer ondertekeningssleutels en toepasselijke autorisaties. U past de handtekeningketen toe op uw Intel Quartus Prime Pro Edition-project en gecompileerde programmering fileS. Gebruik de instructies in Device Provisioning om uw rootsleutel in Intel Agilex 7-apparaten te programmeren.
Gerelateerde informatie
Apparaatinrichting op pagina 25
2.1. Een handtekeningketen creëren
U kunt de quartus_sign-tool of de agilex_sign.py-referentie-implementatie gebruiken om handtekeningketenbewerkingen uit te voeren. Dit document biedt bijvampbestanden met quartus_sign.
Om de referentie-implementatie te gebruiken, vervangt u een aanroep naar de Python-interpreter die bij de Intel Quartus Prime-software wordt geleverd en laat u de optie –family=agilex weg; alle andere opties zijn gelijkwaardig. Bijvoorbeeldample, de opdracht quartus_sign die verderop in deze sectie wordt gevonden
quartus_sign –family=agilex –operation=make_root root_public.pem root.qky kan als volgt worden geconverteerd naar de equivalente aanroep van de referentie-implementatie
pgm_py agilex_sign.py –operation=make_root root_public.pem root.qky
Intel Quartus Prime Pro Edition-software bevat de tools quartus_sign, pgm_py en agilex_sign.py. U kunt de opdrachtshelltool Nios® II gebruiken, die automatisch de juiste omgevingsvariabelen instelt om toegang te krijgen tot de tools.
Volg deze instructies om een Nios II-opdrachtshell te openen. 1. Open een Nios II-opdrachtshell.
Optie Windows
Linux
Beschrijving
Wijs in het menu Start naar Programma's Intel FPGA Nios II EDS en klik op Nios II Commandoshell.
Wijzig in een opdrachtshell naar het /nios2eds en voer het volgende commando uit:
./nios2_command_shell.sh
De exampDe bestanden in deze sectie gaan uit van handtekeningketen en configuratiebitstream files bevinden zich in de huidige werkmap. Als je ervoor kiest om de examples waar sleutel files worden bewaard op de file systeem, die examples neemt de sleutel over files zijn
Intel Corporation. Alle rechten voorbehouden. Intel, het Intel-logo en andere Intel-merken zijn handelsmerken van Intel Corporation of haar dochterondernemingen. Intel garandeert de prestaties van zijn FPGA- en halfgeleiderproducten volgens de huidige specificaties in overeenstemming met de standaardgarantie van Intel, maar behoudt zich het recht voor om op elk moment zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Intel aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van informatie, producten of diensten die hierin worden beschreven, behalve zoals uitdrukkelijk schriftelijk overeengekomen door Intel. Intel-klanten wordt geadviseerd om de nieuwste versie van apparaatspecificaties te verkrijgen voordat ze vertrouwen op gepubliceerde informatie en voordat ze producten of diensten bestellen. *Andere namen en merken kunnen worden geclaimd als eigendom van anderen.
ISO 9001: 2015 geregistreerd
2. Authenticatie en autorisatie 683823 | 2023.05.23/XNUMX/XNUMX
bevindt zich in de huidige werkmap. U kunt kiezen welke mappen u wilt gebruiken, en de hulpprogramma's ondersteunen deze relatief file paden. Als u ervoor kiest de sleutel te behouden files op de file systeem, moet u de toegangsrechten daarvoor zorgvuldig beheren files.
Intel raadt aan een in de handel verkrijgbare Hardware Security Module (HSM) te gebruiken om cryptografische sleutels op te slaan en cryptografische bewerkingen uit te voeren. De quartus_sign-tool en referentie-implementatie omvatten een Public Key Cryptography Standard #11 (PKCS #11) Application Programming Interface (API) voor interactie met een HSM tijdens het uitvoeren van handtekeningketenbewerkingen. De agilex_sign.py-referentie-implementatie bevat zowel een interface-samenvatting als een exampbestandsinterface voor SoftHSM.
Deze kun je gebruiken bijvample interfaces om een interface naar uw HSM te implementeren. Raadpleeg de documentatie van uw HSM-leverancier voor meer informatie over het implementeren van een interface naar en het bedienen van uw HSM.
SoftHSM is een software-implementatie van een generiek cryptografisch apparaat met een PKCS #11-interface dat beschikbaar wordt gesteld door het OpenDNSSEC®-project. Meer informatie, inclusief instructies over het downloaden, bouwen en installeren van OpenHSM, kunt u vinden in het OpenDNSSEC-project. De exampbestanden in deze sectie gebruiken SoftHSM versie 2.6.1. De exampDe bestanden in deze sectie gebruiken bovendien het hulpprogramma pkcs11-tool van OpenSC om aanvullende PKCS #11-bewerkingen uit te voeren met een SoftHSM-token. Mogelijk vindt u meer informatie, inclusief instructies over het downloaden, bouwen en installeren van pkcs11tool van OpenSC.
Gerelateerde informatie
· Het OpenDNSSEC-project Op beleid gebaseerde zoneondertekenaar voor het automatiseren van het proces van het volgen van DNSSEC-sleutels.
· SoftHSM Informatie over de implementatie van een cryptografisch archief dat toegankelijk is via een PKCS #11-interface.
· OpenSC Biedt een reeks bibliotheken en hulpprogramma's die met smartcards kunnen werken.
2.1.1. Authenticatiesleutelparen maken op lokaal niveau File Systeem
U gebruikt de tool quartus_sign om authenticatiesleutelparen op het lokale netwerk te maken file systeem met behulp van de toolbewerkingen make_private_pem en make_public_pem. U genereert eerst een privésleutel met de make_private_pem bewerking. U specificeert de elliptische curve die u wilt gebruiken, de privésleutel filenaam en optioneel of de privésleutel moet worden beschermd met een wachtwoordzin. Intel raadt het gebruik van de secp384r1-curve aan en het volgen van best practices uit de branche om een sterke, willekeurige wachtwoordzin te creëren voor alle privésleutels fileS. Intel raadt ook aan om de file systeemrechten op de privésleutel .pem files alleen door de eigenaar te lezen. U leidt de publieke sleutel af van de private sleutel met de make_public_pem bewerking. Het is handig om de sleutel de naam .pem te geven files beschrijvend. Dit document maakt gebruik van de conventie _ .pem in de volgende voorbeeldamples.
1. Voer in de Nios II-opdrachtshell de volgende opdracht uit om een privésleutel te maken. De privésleutel, hieronder weergegeven, wordt in later voorbeeld als rootsleutel gebruiktampbestanden die een handtekeningketen creëren. Intel Agilex 7-apparaten ondersteunen meerdere rootsleutels, zodat u
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 7
2. Authenticatie en autorisatie 683823 | 2023.05.23/XNUMX/XNUMX
herhaal deze stap om het vereiste aantal hoofdsleutels te maken. Exampbestanden in dit document verwijzen allemaal naar de eerste root-sleutel, hoewel je met elke root-sleutel op vergelijkbare wijze handtekeningketens kunt bouwen.
Optie Met wachtwoordzin
Beschrijving
quartus_sign –family=agilex –operation=make_private_pem –curve=secp384r1 root0_private.pem Voer de wachtwoordzin in wanneer daarom wordt gevraagd.
Zonder wachtwoordzin
quartus_sign –family=agilex –operation=make_private_pem –curve=secp384r1 –no_passphrase root0_private.pem
2. Voer de volgende opdracht uit om een openbare sleutel te maken met behulp van de privésleutel die in de vorige stap is gegenereerd. U hoeft de vertrouwelijkheid van een openbare sleutel niet te beschermen.
quartus_sign –family=agilex –operation=make_public_pem root0_private.pem root0_public.pem
3. Voer de opdrachten opnieuw uit om een sleutelpaar te maken dat wordt gebruikt als ontwerpondertekeningssleutel in de handtekeningketen.
quartus_sign –family=agilex –operation=make_private_pem –curve=secp384r1 design0_sign_private.pem
quartus_sign –family=agilex –operation=make_public_pem design0_sign_private.pem design0_sign_public.pem
2.1.2. Authenticatiesleutelparen maken in SoftHSM
De SoftHSM exampDe bestanden in dit hoofdstuk zijn zelfconsistent. Bepaalde parameters zijn afhankelijk van uw SoftHSM-installatie en een token-initialisatie binnen SoftHSM.
De tool quartus_sign is afhankelijk van de PKCS #11 API-bibliotheek van uw HSM.
De exampIn de bestanden in deze sectie wordt ervan uitgegaan dat de SoftHSM-bibliotheek op een van de volgende locaties is geïnstalleerd: · /usr/local/lib/softhsm2.so op Linux · C:SoftHSM2libsofthsm2.dll op de 32-bits versie van Windows · C:SoftHSM2libsofthsm2-x64 .dll op 64-bits versie van Windows.
Initialiseer een token binnen SoftHSM met behulp van de softhsm2-util tool:
softhsm2-util –init-token –label agilex-token –pin agilex-token-pin –so-pin agilex-so-pin –gratis
De optieparameters, met name het tokenlabel en de tokenpin, zijn exampbestanden die in dit hoofdstuk worden gebruikt. Intel raadt u aan de instructies van uw HSM-leverancier te volgen om tokens en sleutels te maken en te beheren.
U maakt authenticatiesleutelparen met behulp van het pkcs11-hulpprogramma voor interactie met het token in SoftHSM. In plaats van expliciet te verwijzen naar de private en publieke sleutel .pem files in de file systeem bijvampbestanden, verwijst u naar het sleutelpaar via het label en selecteert de tool automatisch de juiste sleutel.
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 8
Feedback verzenden
2. Authenticatie en autorisatie 683823 | 2023.05.23/XNUMX/XNUMX
Voer de volgende opdrachten uit om een sleutelpaar te maken dat als rootsleutel wordt gebruikt in latere exampbestanden, evenals een sleutelpaar dat wordt gebruikt als ontwerpondertekeningssleutel in de handtekeningketen:
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label agilex-token –login –pin agilex-token-pin –keypairgen –mechanisme ECDSA-KEY-PAIR-GEN –key-type EC :secp384r1 –gebruiksteken –label root0 –id 0
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label agilex-token –login –pin agilex-token-pin –keypairgen –mechanisme ECDSA-KEY-PAIR-GEN –key-type EC :secp384r1 –gebruiksteken –labelontwerp0_teken –id 1
Opmerking:
De ID-optie in deze stap moet uniek zijn voor elke sleutel, maar wordt alleen door de HSM gebruikt. Deze ID-optie heeft geen betrekking op de sleutelannulerings-ID die is toegewezen in de handtekeningketen.
2.1.3. Het aanmaken van de handtekeningketenrootinvoer
Converteer de publieke rootsleutel naar een rootinvoer voor een handtekeningketen, opgeslagen op de lokale sleutel file systeem in het Intel Quartus Prime-sleutelformaat (.qky). file, met de make_root bewerking. Herhaal deze stap voor elke hoofdsleutel die u genereert.
Voer de volgende opdracht uit om een handtekeningketen te maken met een root-invoer, met behulp van een publieke root-sleutel uit de file systeem:
quartus_sign –family=agilex –operation=make_root –key_type=eigenaar root0_public.pem root0.qky
Voer de volgende opdracht uit om een handtekeningketen met een root-invoer te maken, met behulp van de root-sleutel van het SoftHSM-token dat in de vorige sectie is vastgelegd:
quartus_sign –family=agilex –operation=make_root –key_type=eigenaar –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. Een openbare sleutelinvoer voor een handtekeningketen maken
Maak een nieuwe openbare sleutelinvoer voor een handtekeningketen met de bewerking append_key. U specificeert de eerdere handtekeningketen, de privésleutel voor het laatste item in de vorige handtekeningketen, de openbare sleutel van het volgende niveau, de machtigingen en het annulerings-ID die u toewijst aan de openbare sleutel van het volgende niveau, en de nieuwe handtekeningketen file.
Merk op dat de softHSM-bibliotheek niet beschikbaar is bij de Quartus-installatie en in plaats daarvan afzonderlijk moet worden geïnstalleerd. Voor meer informatie over softHSM raadpleegt u het gedeelte Een handtekeningketen creëren hierboven.
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 9
2. Authenticatie en autorisatie 683823 | 2023.05.23/XNUMX/XNUMX
Afhankelijk van uw gebruik van de toetsen op de file systeem of in een HSM gebruikt u een van de volgende bijvample-opdrachten om de publieke sleutel design0_sign toe te voegen aan de root-handtekeningketen die in de vorige sectie is gemaakt:
quartus_sign –family=agilex –operation=append_key –previous_pem=root0_private.pem –previous_qky=root0.qky –permission=6 –cancel=0 –input_pem=design0_sign_public.pem design0_sign_chain.qky
quartus_sign –family=agilex –operation=append_key –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –previous_keyname= root0 –previous_qky=root0.qky –permission=6 –cancel=0 –input_keyname=design0_sign design0_sign_chain.qky
U kunt de bewerking append_key nog maximaal twee keer herhalen voor maximaal drie vermeldingen van de openbare sleutel tussen de hoofdingang en de headerblokingang in een handtekeningketen.
De volgende example gaat ervan uit dat je een andere openbare authenticatiesleutel hebt gemaakt met dezelfde machtigingen en annulerings-ID 1 hebt toegewezen, genaamd design1_sign_public.pem, en deze sleutel toevoegt aan de handtekeningketen van de vorige exampon:
quartus_sign –family=agilex –operation=append_key –previous_pem=design0_sign_private.pem –previous_qky=design0_sign_chain.qky –permission=6 –cancel=1 –input_pem=design1_sign_public.pem design1_sign_chain.qky
quartus_sign –family=agilex –operation=append_key –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –previous_keyname= design0_sign –previous_qky=design0_sign_chain.qky –permission=6 –cancel=1 –input_keyname=design1_sign design1_sign_chain.qky
Intel Agilex 7-apparaten bevatten een extra sleutelannuleringsteller om het gebruik van een sleutel te vergemakkelijken die periodiek kan veranderen gedurende de levensduur van een bepaald apparaat. U kunt deze sleutelannuleringsteller selecteren door het argument van de optie –cancel te wijzigen in pts:pts_value.
2.2. Een configuratiebitstream ondertekenen
Intel Agilex 7-apparaten ondersteunen Security Version Number (SVN)-tellers, waarmee u de autorisatie van een object kunt intrekken zonder een sleutel te annuleren. U wijst de SVN-teller en de juiste SVN-tellerwaarde toe tijdens het ondertekenen van een object, zoals een bitstreamsectie, firmware .zip fileof compact certificaat. U wijst de SVN-teller en de SVN-waarde toe met behulp van de optie –cancel en svn_counter:svn_value als argument. Geldige waarden voor svn_counter zijn svnA, svnB, svnC en svnD. De svn_value is een geheel getal binnen het bereik [0,63].
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 10
Feedback verzenden
2. Authenticatie en autorisatie 683823 | 2023.05.23/XNUMX/XNUMX
2.2.1. Quartus sleutel File Opdracht
U specificeert een handtekeningketen in uw Intel Quartus Prime-softwareproject om de authenticatiefunctie voor dat ontwerp in te schakelen. Selecteer in het menu Toewijzingen Apparaat Apparaat- en pinopties Beveiliging Quartus Key Fileen blader vervolgens naar de handtekeningketen .qky file die je hebt gemaakt om dit ontwerp te ondertekenen.
Figuur 1. Configuratie-bitstreaminstelling inschakelen
Als alternatief kunt u de volgende toewijzingsverklaring toevoegen aan uw Intel Quartus Prime-instellingen file (.qsf):
set_global_assignment -naam QKY_FILE design0_sign_chain.qky
Om een .sof file vanuit een eerder gecompileerd ontwerp, waarin deze instelling is opgenomen, selecteert u in het menu Verwerken Start Start Assembler. De nieuwe uitvoer .sof file omvat de toewijzingen om authenticatie met de meegeleverde handtekeningketen mogelijk te maken.
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 11
2. Authenticatie en autorisatie 683823 | 2023.05.23/XNUMX/XNUMX
2.2.2. SDM-firmware mede ondertekenen
U gebruikt de tool quartus_sign om de toepasselijke SDM-firmware .zip uit te pakken, te ondertekenen en te installeren file. De medeondertekende firmware wordt vervolgens bij de programmering inbegrepen file generatortool wanneer u .sof converteert file in een configuratiebitstream .rbf file. U gebruikt de volgende opdrachten om een nieuwe handtekeningketen te maken en SDM-firmware te ondertekenen.
1. Maak een nieuw ondertekeningssleutelpaar.
A. Maak een nieuw ondertekeningssleutelpaar aan op de file systeem:
quartus_sign –family=agilex –operation=make_private_pem –curve=secp384r1 firmware1_private.pem
quartus_sign –family=agilex –operation=make_public_pem firmware1_private.pem firmware1_public.pem
B. Maak een nieuw ondertekeningssleutelpaar in de HSM:
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label agilex-token –login –pin agilex-token-pin –keypairgen -mechanisme ECDSA-KEY-PAIR-GEN –key-type EC :secp384r1 –gebruiksteken –label firmware1 –id 1
2. Maak een nieuwe handtekeningketen die de nieuwe openbare sleutel bevat:
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 –toestemming=1 –cancel=1 –input_keyname=firmware1 firmware1_sign_chain.qky
3. Kopieer de firmware-.zip file vanuit uw Intel Quartus Prime Pro Edition software-installatiemap ( /devices/programmer/firmware/agilex.zip) naar de huidige werkmap.
quartus_sign –family=agilex –get_firmware=.
4. Onderteken de firmware .zip file. De tool pakt de .zip automatisch uit file en ondertekent individueel alle firmware .cmf files en bouwt vervolgens de .zip opnieuw op file voor gebruik door de tools in de volgende secties:
quartus_sign –family=agilex –operation=sign –qky=firmware1_sign_chain.qky –cancel=svnA:0 –pem=firmware1_private.pem agilex.zip ondertekend_agilex.zip
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so”
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 12
Feedback verzenden
2. Authenticatie en autorisatie 683823 | 2023.05.23/XNUMX/XNUMX
–sleutelnaam=firmware1 –cancel=svnA:0 –qky=firmware1_sign_chain.qky agilex.zip ondertekend_agilex.zip
2.2.3. Ondertekeningsconfiguratie Bitstream met behulp van de opdracht quartus_sign
Om een configuratiebitstream te ondertekenen met de opdracht quartus_sign, converteert u eerst de .sof file naar het niet-ondertekende onbewerkte binaire bestand file (.rbf)-indeling. U kunt optioneel medeondertekende firmware opgeven met behulp van de optie fw_source tijdens de conversiestap.
U kunt de niet-ondertekende onbewerkte bitstream in .rbf-indeling genereren met behulp van de volgende opdracht:
quartus_pfg c o fw_source=signed_agilex.zip -o sign_later=ON design.sof unsigned_bitstream.rbf
Voer een van de volgende opdrachten uit om de bitstream te ondertekenen met behulp van de quartus_sign-tool, afhankelijk van de locatie van uw sleutels:
quartus_sign –family=agilex –operation=sign –qky=design0_sign_chain.qky –pem=design0_sign_private.pem –cancel=svnA:0 unsigned_bitstream.rbf ondertekende_bitstream.rbf
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname= design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_bitstream.rbf ondertekend_bitstream.rbf
U kunt ondertekende .rbf converteren files naar een andere configuratiebitstream file formaten.
Bijvoorbeeldampbestand, als u de Jam* Standard Test and Programming Language (STAPL) Player gebruikt om een bitstream via JTAG, gebruikt u de volgende opdracht om een .rbf te converteren file naar het .jam-formaat dat de Jam STAPL Player vereist:
quartus_pfg -c ondertekend_bitstream.rbf ondertekend_bitstream.jam
2.2.4. Gedeeltelijke herconfiguratie Ondersteuning voor meerdere autoriteiten
Intel Agilex 7-apparaten ondersteunen gedeeltelijke herconfiguratie van multi-authority-authenticatie, waarbij de eigenaar van het apparaat de statische bitstream creëert en ondertekent, en een afzonderlijke PR-eigenaar PR-persona-bitstreams creëert en ondertekent. Intel Agilex 7-apparaten implementeren ondersteuning voor meerdere autoriteiten door de eerste authenticatie-rootsleutelslots toe te wijzen aan de eigenaar van het apparaat of de statische bitstream en het definitieve authenticatie-rootsleutelslot toe te wijzen aan de gedeeltelijke herconfiguratie-persona bitstream-eigenaar.
Als de authenticatiefunctie is ingeschakeld, moeten alle PR-persona-afbeeldingen worden ondertekend, inclusief geneste PR-persona-afbeeldingen. PR-persona-afbeeldingen kunnen worden ondertekend door de eigenaar van het apparaat of door de PR-eigenaar; Bitstreams met statische regio's moeten echter worden ondertekend door de eigenaar van het apparaat.
Opmerking:
Gedeeltelijke herconfiguratie van statische en persona bitstream-encryptie wanneer ondersteuning voor meerdere autoriteiten is ingeschakeld, is gepland in een toekomstige release.
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 13
2. Authenticatie en autorisatie 683823 | 2023.05.23/XNUMX/XNUMX
Figuur 2.
Het implementeren van gedeeltelijke herconfiguratie van ondersteuning door meerdere autoriteiten vereist verschillende stappen:
1. De eigenaar van het apparaat of de statische bitstream genereert een of meer authenticatiehoofdsleutels zoals beschreven in Authenticatiesleutelparen creëren in SoftHSM op pagina 8, waarbij de optie –key_type de waarde-eigenaar heeft.
2. De eigenaar van de gedeeltelijke herconfiguratie van de bitstream genereert een authenticatiehoofdsleutel, maar verandert de optiewaarde –key_type in secundaire_eigenaar.
3. Zowel de ontwerpeigenaren van de statische bitstream als van de gedeeltelijke herconfiguratie zorgen ervoor dat het selectievakje Ondersteuning voor meerdere autoriteiten inschakelen is ingeschakeld op het tabblad Toewijzingen Apparaat Apparaat- en pinopties Beveiliging.
Intel Quartus Prime Schakel optie-instellingen voor meerdere autoriteiten in
4. Zowel de ontwerpeigenaren van de statische bitstream als van de gedeeltelijke herconfiguratie creëren handtekeningketens op basis van hun respectieve rootsleutels, zoals beschreven in Een handtekeningketen creëren op pagina 6.
5. Zowel de statische bitstream- als de gedeeltelijke herconfiguratie-ontwerpeigenaren converteren hun gecompileerde ontwerpen naar het .rbf-formaat files en onderteken de .rbf files.
6. De eigenaar van het apparaat of de statische bitstream genereert en ondertekent een compact PR-certificaat voor programmaautorisatie voor het publieke sleutelprogramma.
quartus_pfg –ccert o ccert_type=PR_PUBKEY_PROG_AUTH o eigenaar_qky_file=”root0.qky;root1.qky” unsigned_pr_pubkey_prog.ccert
quartus_sign –family=agilex –operation=sign –qky=design0_sign_chain.qky –pem=design0_sign_private.pem –cancel=svnA:0 unsigned_pr_pubkey_prog.ccert ondertekend_pr_pubkey_prog.ccert
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=s10-token –user_pin=s10-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname= design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_pr_pubkey_prog.ccert ondertekend_pr_pubkey_prog.ccert
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 14
Feedback verzenden
2. Authenticatie en autorisatie 683823 | 2023.05.23/XNUMX/XNUMX
7. De eigenaar van het apparaat of de statische bitstroom levert zijn authenticatie-rootsleutel-hashes aan het apparaat, programmeert vervolgens het compacte PR-autorisatiecertificaat voor het programma van de openbare sleutel, en levert ten slotte de root-sleutel van de gedeeltelijke herconfiguratie van de bitstream-eigenaar aan het apparaat. In de sectie Apparaatinrichting wordt dit inrichtingsproces beschreven.
8. Intel Agilex 7-apparaat is geconfigureerd met de statische regio .rbf file.
9. Intel Agilex 7-apparaat is gedeeltelijk opnieuw geconfigureerd met het persona-ontwerp .rbf file.
Gerelateerde informatie
· Een handtekeningketen maken op pagina 6
· Authenticatiesleutelparen aanmaken in SoftHSM op pagina 8
· Apparaatinrichting op pagina 25
2.2.5. Configuratie bitstream-handtekeningketens verifiëren
Nadat u handtekeningketens en ondertekende bitstreams hebt gemaakt, kunt u verifiëren dat een ondertekende bitstream een apparaat dat is geprogrammeerd met een bepaalde rootsleutel correct configureert. U gebruikt eerst de fuse_info-bewerking van het quartus_sign-commando om de hash van de publieke root-sleutel naar een tekst af te drukken file:
quartus_sign –family=agilex –operation=fuse_info root0.qky hash_fuse.txt
Vervolgens gebruikt u de optie check_integrity van de opdracht quartus_pfg om de handtekeningketen van elke sectie van een ondertekende bitstream in .rbf-indeling te inspecteren. De optie check_integrity drukt de volgende informatie af:
· Status van de algehele bitstream-integriteitscontrole
· Inhoud van elk item in elke handtekeningketen die aan elke sectie in de bitstream .rbf is gekoppeld file,
· Verwachte zekeringswaarde voor de hash van de publieke hoofdsleutel voor elke handtekeningketen.
De waarde van de uitvoer fuse_info moet overeenkomen met de Fuse-regels in de uitvoer check_integrity.
quartus_pfg –check_integrity ondertekend_bitstream.rbf
Hier is een exampbestand van de opdrachtuitvoer check_integrity:
Info: Commando: quartus_pfg –check_integrity ondertekend_bitstream.rbf Integriteitsstatus: OK
Sectie
Type: CMF
Handtekeningbeschrijving …
Handtekeningketen #0 (invoer: -1, offset: 96)
Item #0
Fuse: 34FD3B5F 7829001F DE2A24C7 3A7EAE29 C7786DB1 D6D5BC3C 52741C79
72978B22 0731B082 6F596899 40F32048 AD766A24
Sleutel genereren…
Kromme: secp384r1
X
: 29C39C3064AE594A36DAA85602D6AF0B278CBB0B207C4D97CFB6967961E5F0ECA
456FF53F5DBB3A69E48A042C62AB6B0
Y
: 3E81D40CBBBEAC13601247A9D53F4A831308A24CA0BDFFA40351EE76438C7B5D2
2826F7E94A169023AFAE1D1DF4A31C2
Sleutel genereren…
Kromme: secp384r1
X
: 29C39C3064AE594A36DAA85602D6AF0B278CBB0B207C4D97CFB6967961E5F0ECA
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 15
2. Authenticatie en autorisatie 683823 | 2023.05.23/XNUMX/XNUMX
456FF53F5DBB3A69E48A042C62AB6B0
Y
: 3E81D40CBBBEAC13601247A9D53F4A831308A24CA0BDFFA40351EE76438C7B5D2
2826F7E94A169023AFAE1D1DF4A31C2
Item #1
Sleutel genereren…
Kromme: secp384r1
X
: 015290C556F1533E5631322953E2F9E91258472F43EC954E05D6A4B63D611E04B
C120C7E7A744C357346B424D52100A9
Y
: 68696DEAC4773FF3D5A16A4261975424AAB4248196CF5142858E016242FB82BC5
08A80F3FE7F156DEF0AE5FD95BDFE05
Invoer #2 Sleutelhangertoestemming: SIGN_CODE De sleutelhanger kan worden geannuleerd met ID: 3 Handtekeningketen #1 (invoer: -1, offset: 648)
Item #0
Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6
DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE
Sleutel genereren…
Kromme: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Sleutel genereren…
Kromme: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Item #1
Sleutel genereren…
Kromme: secp384r1
X
: 1E8FBEDC486C2F3161AFEB028D0C4B426258293058CD41358A164C1B1D60E5C1D
74D982BC20A4772ABCD0A1848E9DC96
Y
: 768F1BF95B37A3CC2FFCEEB071DD456D14B84F1B9BFF780FC5A72A0D3BE5EB51D
0DA7C6B53D83CF8A775A8340BD5A5DB
Item #2
Sleutel genereren…
Kromme: secp384r1
X
: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432
76896E771A9C6CA5A2D3C08CF4CB83C
Y
: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1
49F91CABA72F6A3A1C2D1990CDAEA3D
Invoer #3 Sleutelhangertoestemming: SIGN_CODE Sleutelhanger kan worden geannuleerd op ID: 15 Handtekeningketen #2 (invoer: -1, offset: 0) Handtekeningketen #3 (invoer: -1, offset: 0) Handtekeningketen #4 (invoer: -1, offset: 0) Handtekeningketen #5 (invoer: -1, offset: 0) Handtekeningketen #6 (invoer: -1, offset: 0) Handtekeningketen #7 (invoer: -1, offset: 0)
Sectietype: IO Handtekeningdescriptor … Handtekeningketen #0 (invoer: -1, offset: 96)
Item #0
Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6
DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE
Sleutel genereren…
Kromme: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 16
Feedback verzenden
2. Authenticatie en autorisatie 683823 | 2023.05.23/XNUMX/XNUMX
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Sleutel genereren…
Kromme: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Item #1
Sleutel genereren…
Kromme: secp384r1
X
: 646B51F668D8CC365D72B89BA8082FDE79B00CDB750DA0C984DC5891CDF57BD21
44758CA747B1A8315024A8247F12E51
Y
: 53513118E25E16151FD55D7ECDE8293AF6C98A74D52E0DA2527948A64FABDFE7C
F4EA8B8E229218D38A869EE15476750
Item #2
Sleutel genereren…
Kromme: secp384r1
X
: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432
76896E771A9C6CA5A2D3C08CF4CB83C
Y
: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1
49F91CABA72F6A3A1C2D1990CDAEA3D
Invoer #3 Sleutelhangertoestemming: SIGN_CORE Sleutelhanger kan worden geannuleerd op ID: 15 Handtekeningketen #1 (invoer: -1, offset: 0) Handtekeningketen #2 (invoer: -1, offset: 0) Handtekeningketen #3 (invoer: -1, offset: 0) Handtekeningketen #4 (invoer: -1, offset: 0) Handtekeningketen #5 (invoer: -1, offset: 0) Handtekeningketen #6 (invoer: -1, offset: 0) Handtekening keten #7 (invoer: -1, offset: 0)
Sectie
Type: HPS
Handtekeningbeschrijving …
Handtekeningketen #0 (invoer: -1, offset: 96)
Item #0
Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6
DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE
Sleutel genereren…
Kromme: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Sleutel genereren…
Kromme: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Item #1
Sleutel genereren…
Kromme: secp384r1
X
: FAF423E08FB08D09F926AB66705EB1843C7C82A4391D3049A35E0C5F17ACB1A30
09CE3F486200940E81D02E2F385D150
Y
: 397C0DA2F8DD6447C52048CD0FF7D5CCA7F169C711367E9B81E1E6C1E8CD9134E
5AC33EE6D388B1A895AC07B86155E9D
Item #2
Sleutel genereren…
Kromme: secp384r1
X
: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432
76896E771A9C6CA5A2D3C08CF4CB83C
Y
: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1
49F91CABA72F6A3A1C2D1990CDAEA3D
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 17
2. Authenticatie en autorisatie 683823 | 2023.05.23/XNUMX/XNUMX
Invoer #3 Sleutelhangertoestemming: SIGN_HPS Sleutelhanger kan worden geannuleerd op ID: 15 Handtekeningketen #1 (invoer: -1, offset: 0) Handtekeningketen #2 (invoer: -1, offset: 0) Handtekeningketen #3 (invoer: -1, offset: 0) Handtekeningketen #4 (invoer: -1, offset: 0) Handtekeningketen #5 (invoer: -1, offset: 0) Handtekeningketen #6 (invoer: -1, offset: 0) Handtekening keten #7 (invoer: -1, offset: 0)
Sectietype: CORE Handtekeningdescriptor … Handtekeningketen #0 (invoer: -1, offset: 96)
Item #0
Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6
DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE
Sleutel genereren…
Kromme: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Sleutel genereren…
Kromme: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Item #1
Sleutel genereren…
Kromme: secp384r1
X
: 646B51F668D8CC365D72B89BA8082FDE79B00CDB750DA0C984DC5891CDF57BD21
44758CA747B1A8315024A8247F12E51
Y
: 53513118E25E16151FD55D7ECDE8293AF6C98A74D52E0DA2527948A64FABDFE7C
F4EA8B8E229218D38A869EE15476750
Item #2
Sleutel genereren…
Kromme: secp384r1
X
: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432
76896E771A9C6CA5A2D3C08CF4CB83C
Y
: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1
49F91CABA72F6A3A1C2D1990CDAEA3D
Invoer #3 Sleutelhangertoestemming: SIGN_CORE Sleutelhanger kan worden geannuleerd op ID: 15 Handtekeningketen #1 (invoer: -1, offset: 0) Handtekeningketen #2 (invoer: -1, offset: 0) Handtekeningketen #3 (invoer: -1, offset: 0) Handtekeningketen #4 (invoer: -1, offset: 0) Handtekeningketen #5 (invoer: -1, offset: 0) Handtekeningketen #6 (invoer: -1, offset: 0) Handtekening keten #7 (invoer: -1, offset: 0)
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 18
Feedback verzenden
683823 | 2023.05.23 Feedback verzenden
AES Bitstream-codering
Advanced Encryption Standard (AES) bitstream-encryptie is een functie waarmee de eigenaar van een apparaat de vertrouwelijkheid van intellectueel eigendom in een configuratie-bitstream kan beschermen.
Om de vertrouwelijkheid van sleutels te helpen beschermen, wordt bij de configuratie van bitstream-encryptie gebruik gemaakt van een reeks AES-sleutels. Deze sleutels worden gebruikt om eigenaarsgegevens in de configuratiebitstream te versleutelen, waarbij de eerste tussensleutel wordt versleuteld met de AES-rootsleutel.
3.1. De AES-hoofdsleutel maken
U kunt de quartus_encrypt-tool of de stratix10_encrypt.py-referentie-implementatie gebruiken om een AES-hoofdsleutel te maken in de Intel Quartus Prime-software-encryptiesleutel (.qek)-indeling file.
Opmerking:
De stratix10_encrypt.py file wordt gebruikt voor Intel Stratix® 10- en Intel Agilex 7-apparaten.
U kunt optioneel de basissleutel opgeven die wordt gebruikt om de AES-hoofdsleutel en de sleutelafleidingssleutel af te leiden, de waarde voor de AES-hoofdsleutel rechtstreeks, het aantal tussensleutels en het maximale gebruik per tussensleutel.
U moet de apparaatfamilie opgeven, uitvoer .qek file locatie en wachtwoordzin wanneer daarom wordt gevraagd.
Voer de volgende opdracht uit om de AES-hoofdsleutel te genereren met behulp van willekeurige gegevens voor de basissleutel en standaardwaarden voor het aantal tussenliggende sleutels en het maximale sleutelgebruik.
Om de referentie-implementatie te gebruiken, vervangt u een aanroep naar de Python-interpreter die bij de Intel Quartus Prime-software wordt geleverd en laat u de optie –family=agilex weg; alle andere opties zijn gelijkwaardig. Bijvoorbeeldample, de opdracht quartus_encrypt die verderop in de sectie wordt gevonden
quartus_encrypt –family=agilex –operation=MAKE_AES_KEY aes_root.qek
kan als volgt worden omgezet in de equivalente aanroep van de referentie-implementatie pgm_py stratix10_encrypt.py –operation=MAKE_AES_KEY aes_root.qek
3.2. Quartus-coderingsinstellingen
Om bitstream-encryptie voor een ontwerp in te schakelen, moet u de juiste opties opgeven via het paneel Toewijzingen Apparaat Apparaat en Pinopties Beveiliging. U selecteert het selectievakje Configuratie bitstream-codering inschakelen en de gewenste opslaglocatie voor de coderingssleutel in het vervolgkeuzemenu.
Intel Corporation. Alle rechten voorbehouden. Intel, het Intel-logo en andere Intel-merken zijn handelsmerken van Intel Corporation of haar dochterondernemingen. Intel garandeert de prestaties van zijn FPGA- en halfgeleiderproducten volgens de huidige specificaties in overeenstemming met de standaardgarantie van Intel, maar behoudt zich het recht voor om op elk moment zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Intel aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van informatie, producten of diensten die hierin worden beschreven, behalve zoals uitdrukkelijk schriftelijk overeengekomen door Intel. Intel-klanten wordt geadviseerd om de nieuwste versie van apparaatspecificaties te verkrijgen voordat ze vertrouwen op gepubliceerde informatie en voordat ze producten of diensten bestellen. *Andere namen en merken kunnen worden geclaimd als eigendom van anderen.
ISO 9001: 2015 geregistreerd
Figuur 3. Intel Quartus Prime Encryptie-instellingen
3. AES Bitstream-codering 683823 | 2023.05.23/XNUMX/XNUMX
Als alternatief kunt u de volgende toewijzingsinstructie toevoegen aan uw Intel Quartus Prime-instellingen file .qsf:
set_global_assignment -naam ENCRYPT_PROGRAMMING_BITSTREAM op set_global_assignment -naam PROGRAMMING_BITSTREAM_ENCRYPTION_KEY_SELECT eFuses
Als u aanvullende maatregelen tegen side-channel aanvalsvectoren wilt inschakelen, kunt u de vervolgkeuzelijst Encryption update ratio en het selectievakje Enable scrambling inschakelen.
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 20
Feedback verzenden
3. AES Bitstream-codering 683823 | 2023.05.23/XNUMX/XNUMX
De overeenkomstige wijzigingen in de .qsf zijn:
set_global_assignment -naam PROGRAMMING_BITSTREAM_ENCRYPTION_CNOC_SCRAMBLING op set_global_assignment -naam PROGRAMMING_BITSTREAM_ENCRYPTION_UPDATE_RATIO 31
3.3. Een configuratiebitstream coderen
U codeert een configuratiebitstream voordat u de bitstream ondertekent. De Intel Quartus Prime-programmering File De generatortool kan een configuratiebitstream automatisch coderen en ondertekenen met behulp van de grafische gebruikersinterface of opdrachtregel.
U kunt optioneel een gedeeltelijk gecodeerde bitstream maken voor gebruik met de tools quartus_encrypt en quartus_sign of referentie-implementatie-equivalenten.
3.3.1. Configuratie Bitstream-codering met behulp van de programmering File Grafische generatorinterface
U kunt gebruik maken van de Programmering File Generator om de afbeelding van de eigenaar te coderen en te ondertekenen.
Figuur 4.
1. Op de Intel Quartus Prime File menu, selecteer Programmeren File Generator. 2. Op de uitgang FileOp het tabblad s geeft u de uitvoer op file type voor uw configuratie
regeling.
Uitvoer File Specificatie
Configuratieschema Uitgang file tabblad
Uitvoer file type
3. Op de ingang FileKlik op het tabblad Bitstream toevoegen en blader naar uw .sof. 4. Om coderings- en authenticatieopties op te geven, selecteert u het .sof-bestand en klikt u op
Eigenschappen. A. Schakel Ondertekentool inschakelen in. B. Voor privésleutel file selecteer uw ondertekeningssleutel private .pem file. C. Schakel Encryptie voltooien in.
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 21
3. AES Bitstream-codering 683823 | 2023.05.23/XNUMX/XNUMX
Figuur 5.
D. Voor coderingssleutel file, selecteer uw AES .qek file. Invoer (.sof) File Eigenschappen voor authenticatie en codering
Verificatie inschakelen Geef privéroot .pem op
Encryptie inschakelen Geef de encryptiesleutel op
5. Om de ondertekende en gecodeerde bitstream te genereren, op de ingang FileKlik op het tabblad Genereren. Wachtwoorddialoogvensters verschijnen waarin u uw wachtwoordzin voor uw AES-sleutel .qek kunt invoeren file en het ondertekenen van privésleutel .pem file. De programmering file generator maakt de gecodeerde en ondertekende uitvoer_file.rbf.
3.3.2. Configuratie Bitstream-codering met behulp van de programmering File Commandoregelinterface van generator
Genereer een gecodeerde en ondertekende configuratiebitstream in .rbf-indeling met de opdrachtregelinterface quartus_pfg:
quartus_pfg -c encryptie_enabled.sof top.rbf -o finalize_encryption=AAN -o qek_file=aes_root.qek -o ondertekening=AAN -o pem_file=design0_sign_private.pem
U kunt een gecodeerde en ondertekende configuratiebitstream in .rbf-indeling converteren naar een andere configuratiebitstream file formaten.
3.3.3. Gedeeltelijk gecodeerde configuratie Bitstreamgeneratie met behulp van de opdrachtregelinterface
U kunt een gedeeltelijk gecodeerde programmering genereren file om de codering af te ronden en de afbeelding later te ondertekenen. Genereer de gedeeltelijk gecodeerde programmering file in het .rbf-formaat met de opdrachtregelinterface van quartus_pfg: quartus_pfg -c -o finalize_encryption_later=ON -o sign_later=ON top.sof top.rbf
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 22
Feedback verzenden
3. AES Bitstream-codering 683823 | 2023.05.23/XNUMX/XNUMX
U gebruikt het opdrachtregelprogramma quartus_encrypt om de bitstream-codering te voltooien:
quartus_encrypt –family=agilex –operation=ENCRYPT –key=aes_root.qek top.rbf gecodeerde_top.rbf
U gebruikt het opdrachtregelprogramma quartus_sign om de gecodeerde configuratiebitstream te ondertekenen:
quartus_sign –family=agilex –operation=SIGN –qky=design0_sign_chain.qky –pem=design0_sign_private.pem –cancel=svnA:0 gecodeerde_top.rbf ondertekend_encrypted_top.rbf
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname= design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 gecodeerde_top.rbf ondertekend_encrypted_top.rbf
3.3.4. Gedeeltelijke herconfiguratie Bitstream-codering
U kunt bitstream-encryptie inschakelen op sommige Intel Agilex 7 FPGA-ontwerpen die gedeeltelijke herconfiguratie gebruiken.
Gedeeltelijke herconfiguratieontwerpen die gebruik maken van de Hiërarchische Gedeeltelijke Herconfiguratie (HPR) of Statische Update Gedeeltelijke Herconfiguratie (SUPR) ondersteunen de bitstream-codering niet. Als uw ontwerp meerdere PR-regio's bevat, moet u alle persona's versleutelen.
Om gedeeltelijke herconfiguratie van bitstream-encryptie mogelijk te maken, volgt u dezelfde procedure in alle ontwerprevisies. 1. Op de Intel Quartus Prime File menu, selecteer Toewijzingen Apparaat Apparaat
en Pin-opties Beveiliging. 2. Selecteer de gewenste opslaglocatie voor de encryptiesleutel.
Figuur 6. Gedeeltelijke herconfiguratie Bitstream-coderingsinstelling
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 23
3. AES Bitstream-codering 683823 | 2023.05.23/XNUMX/XNUMX
Als alternatief kunt u de volgende toewijzingsinstructie toevoegen aan de Quartus Prime-instellingen file .qsf:
set_global_assignment -name –ENABLE_PARTIAL_RECONFIGURATION_BITSTREAM_ENCRYPTION aan
Nadat u uw basisontwerp en revisies heeft samengesteld, genereert de software een.soffile en een of meer.pmsffiles, die de persona's vertegenwoordigen. 3. Creëer gecodeerde en ondertekende programmering files van.sof en.pmsf files op een vergelijkbare manier als ontwerpen waarbij gedeeltelijke herconfiguratie niet is ingeschakeld. 4. Converteer de gecompileerde persona.pmsf file naar een gedeeltelijk gecodeerde.rbf file:
quartus_pfg -c -o finalize_encryption_later=AAN -o sign_later=AAN encryptie_enabled_persona1.pmsf persona1.rbf
5. Voltooi de bitstream-encryptie met behulp van het opdrachtregelprogramma quartus_encrypt:
quartus_encrypt –family=agilex –operation=ENCRYPT –key=aes_root.qek persona1.rbf gecodeerde_persona1.rbf
6. Onderteken de gecodeerde configuratiebitstream met behulp van het opdrachtregelprogramma quartus_sign:
quartus_sign –family=agilex –operation=SIGN –qky=design0_sign_chain.qky –pem=design0_sign_private.pem gecodeerde_persona1.rbf ondertekend_encrypted_persona1.rbf
quartus_sign –family=agilex –operation=SIGN –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –qky= design0_sign_chain.qky –cancel=svnA:0 –keyname=design0_sign gecodeerde_persona1.rbf ondertekend_encrypted_persona1.rbf
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 24
Feedback verzenden
683823 | 2023.05.23 Feedback verzenden
Apparaatregistratie
De initiële inrichting van beveiligingsfuncties wordt alleen ondersteund in de SDM-voorzieningsfirmware. Gebruik de Intel Quartus Prime Programmer om de SDM-voorzieningsfirmware te laden en inrichtingsbewerkingen uit te voeren.
U kunt elk type JTAG downloadkabel om de Quartus Programmer aan te sluiten op een Intel Agilex 7-apparaat om inrichtingsbewerkingen uit te voeren.
4.1. SDM Provision-firmware gebruiken
De Intel Quartus Prime Programmer maakt en laadt automatisch een fabrieksstandaard helperimage wanneer u de initialisatiebewerking en een opdracht selecteert om iets anders dan een configuratiebitstream te programmeren.
Afhankelijk van het opgegeven programmeercommando is er een van twee typen standaard helperimage:
· Hulpimage voor inrichting: bestaat uit één bitstreamsectie die de SDM-inrichtingsfirmware bevat.
· QSPI-helperimage: bestaat uit twee bitstreamsecties, één met de SDM-hoofdfirmware en één I/O-sectie.
U kunt een fabrieksstandaard helperimage maken file in uw apparaat laden voordat u een programmeeropdracht uitvoert. Na het programmeren van een hash voor de authenticatiehoofdsleutel, moet u een standaard QSPI-helperimage maken en ondertekenen vanwege de meegeleverde I/O-sectie. Als u bovendien de mede-ondertekende firmware-beveiligingsinstelling eFuse programmeert, moet u inrichtings- en QSPI-fabrieksstandaardhelperimages maken met mede-ondertekende firmware. U kunt een mede ondertekende, standaard fabriekshelperimage gebruiken op een niet-ingericht apparaat, aangezien het niet-ingerichte apparaat handtekeningketens van niet-Intel via SDM-firmware negeert. Raadpleeg De standaard QSPI-helperimage gebruiken op eigen apparaten op pagina 26 voor meer informatie over het maken, ondertekenen en gebruiken van de standaard QSPI-helperimage.
De fabrieksstandaard helperimage voor de inrichting voert een inrichtingsactie uit, zoals het programmeren van de hash van de authenticatiehoofdsleutel, zekeringen voor beveiligingsinstellingen, PUF-inschrijving of het inrichten van zwarte sleutels. Je maakt gebruik van Intel Quartus Prime Programming File Generator-opdrachtregelprogramma om de inrichtingshelperimage te maken, waarbij u de optie helper_image, de naam van uw helper_device, het subtype van de inrichtingshelperimage en optioneel een medeondertekende firmware .zip opgeeft file:
quartus_pfg –helper_image -o helper_device=AGFB014R24A -o subtype=PROVISION -o fw_source=signed_agilex.zip ondertekend_provision_helper_image.rbf
Programmeer de helperimage met behulp van de Intel Quartus Prime Programmer-tool:
quartus_pgm -c 1 -mjtag -o “p;signed_provision_helper_image.rbf” –force
Intel Corporation. Alle rechten voorbehouden. Intel, het Intel-logo en andere Intel-merken zijn handelsmerken van Intel Corporation of haar dochterondernemingen. Intel garandeert de prestaties van zijn FPGA- en halfgeleiderproducten volgens de huidige specificaties in overeenstemming met de standaardgarantie van Intel, maar behoudt zich het recht voor om op elk moment zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Intel aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van informatie, producten of diensten die hierin worden beschreven, behalve zoals uitdrukkelijk schriftelijk overeengekomen door Intel. Intel-klanten wordt geadviseerd om de nieuwste versie van apparaatspecificaties te verkrijgen voordat ze vertrouwen op gepubliceerde informatie en voordat ze producten of diensten bestellen. *Andere namen en merken kunnen worden geclaimd als eigendom van anderen.
ISO 9001: 2015 geregistreerd
4. Toestelinrichting 683823 | 2023.05.23/XNUMX/XNUMX
Opmerking:
U kunt de initialisatiebewerking weglaten van opdrachten, inclusief exampbestanden die in dit hoofdstuk worden gegeven, na het programmeren van een provisioninghelperimage of het gebruiken van een commando dat de initialisatiebewerking bevat.
4.2. QSPI-fabrieksstandaard helperimage gebruiken op eigen apparaten
De Intel Quartus Prime Programmer maakt en laadt automatisch een QSPI-fabrieksstandaard helperimage wanneer u de initialisatiebewerking voor een QSPI-flashprogrammering selecteert file. Na het programmeren van een authenticatie-rootsleutelhash moet u de QSPI-fabrieksstandaard helperimage maken en ondertekenen, en de ondertekende QSPI-fabriekshelperimage afzonderlijk programmeren voordat u de QSPI-flash programmeert. 1. U gebruikt de Intel Quartus Prime-programmering File Generator-opdrachtregelprogramma om te downloaden
maak de QSPI-helperimage, waarbij u de optie helper_image, uw helper_device-type, het QSPI-helperimage-subtype en optioneel een medeondertekende firmware .zip specificeert file:
quartus_pfg –helper_image -o helper_device=AGFB014R24A -o subtype=QSPI -o fw_source=signed_agilex.zip qspi_helper_image.rbf
2. U ondertekent de standaard QSPI-helperafbeelding:
quartus_sign –family=agilex –operation=sign –qky=design0_sign_chain.qky –pem=design0_sign_private.pem qspi_helper_image.rbf ondertekend_qspi_helper_image.rbf
3. U kunt elke QSPI-flashprogrammering gebruiken file formaat. De volgende bijvampbestanden gebruiken een configuratiebitstream die is geconverteerd naar de .jic file formaat:
quartus_pfg -c ondertekend_bitstream.rbf ondertekend_flash.jic -o apparaat=MT25QU128 -o flash_loader=AGFB014R24A -o modus=ASX4
4. U programmeert de ondertekende helperimage met behulp van de Intel Quartus Prime Programmer-tool:
quartus_pgm -c 1 -mjtag -o “p;signed_qspi_helper_image.rbf” –force
5. U programmeert de .jic-afbeelding om te knipperen met behulp van de Intel Quartus Prime Programmer-tool:
quartus_pgm -c 1 -mjtag -o “p;ondertekend_flash.jic”
4.3. Authenticatie Root Key Provisioning
Om de hashes van de rootsleutel van de eigenaar naar fysieke zekeringen te programmeren, moet u eerst de voorzieningenfirmware laden, vervolgens de hashes van de rootsleutel van de eigenaar programmeren en vervolgens onmiddellijk een reset bij het inschakelen uitvoeren. Een reset bij het inschakelen is niet vereist als u rootsleutel-hashes naar virtuele zekeringen programmeert.
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 26
Feedback verzenden
4. Toestelinrichting 683823 | 2023.05.23/XNUMX/XNUMX
Om authenticatie-rootsleutel-hashes te programmeren, programmeert u de helperimage voor de voorzieningenfirmware en voert u een van de volgende opdrachten uit om de root-sleutel .qky te programmeren files.
// Voor fysieke (niet-vluchtige) eFuses quartus_pgm -c 1 -mjtag -o “p;root0.qky;root1.qky;root2.qky” – niet-vluchtige_sleutel
// Voor virtuele (vluchtige) eFuses quartus_pgm -c 1 -mjtag -o “p;root0.qky;root1.qky;root2.qky”
4.3.1. Gedeeltelijke herconfiguratie van rootsleutelprogrammering met meerdere autoriteiten
Nadat u de rootsleutels van de bitstreameigenaar van het apparaat of de statische regio hebt ingericht, laadt u opnieuw de helperimage voor het inrichten van het apparaat, programmeert u het ondertekende compacte certificaat voor autorisatie van het PR-programma voor de openbare sleutel en richt u vervolgens de rootsleutel van de PR persona bitstreameigenaar in.
// Voor fysieke (niet-vluchtige) eFuses quartus_pgm -c 1 -mjtag -o “p;root_pr.qky” –pr_pubkey –niet-vluchtige_sleutel
// Voor virtuele (vluchtige) eFuses quartus_pgm -c 1 -mjtag -o “p;p;root_pr.qky” –pr_pubkey
4.4. Programmeringssleutel Annulering ID Zekeringen
Vanaf Intel Quartus Prime Pro Edition-softwareversie 21.1 vereist het programmeren van Intel- en eigenaarsleutelannulerings-ID-zekeringen het gebruik van een ondertekend compact certificaat. U kunt het compacte sleutelannulerings-ID-certificaat ondertekenen met een handtekeningketen die ondertekeningsrechten voor de FPGA-sectie heeft. Met het programmeren maakt u het compacte certificaat aan file generator opdrachtregelprogramma. U ondertekent het niet-ondertekende certificaat met behulp van de quartus_sign-tool of referentie-implementatie.
Intel Agilex 7-apparaten ondersteunen afzonderlijke banken met annulerings-ID's van de eigenaar voor elke rootsleutel. Wanneer een compact certificaat met annulerings-ID van de eigenaar wordt geprogrammeerd in een Intel Agilex 7 FPGA, bepaalt de SDM welke rootsleutel het compacte certificaat heeft ondertekend en blaast de sleutelannulering-ID-zekering op die overeenkomt met die rootsleutel.
De volgende examples maak een Intel sleutelannuleringscertificaat voor Intel sleutel ID 7. U kunt 7 vervangen door de toepasselijke Intel sleutelannulerings-ID van 0-31.
Voer de volgende opdracht uit om een niet-ondertekend compact certificaat voor Intel-sleutelannulering-ID te maken:
quartus_pfg –ccert -o ccert_type=CANCEL_INTEL_KEY -o cancel_key=7 unsigned_cancel_intel7.ccert
Voer een van de volgende opdrachten uit om het niet-ondertekende compacte Intel Key Cancellation ID-certificaat te ondertekenen:
quartus_sign –family=agilex –operation=SIGN –qky=design0_sign_chain.qky –pem=design0_private.pem –cancel=svnA:0 unsigned_cancel_intel7.ccert ondertekend_cancel_intel7.ccert
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so”
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 27
4. Toestelinrichting 683823 | 2023.05.23/XNUMX/XNUMX
–keyname=design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_cancel_intel7.ccert ondertekend_cancel_intel7.ccert
Voer de volgende opdracht uit om een niet-ondertekend compact certificaat voor annulerings-ID van de eigenaar te maken:
quartus_pfg –ccert -o ccert_type=CANCEL_OWNER_KEY -o cancel_key=2 unsigned_cancel_owner2.ccert
Voer een van de volgende opdrachten uit om het niet-ondertekende compacte certificaat voor annulerings-ID van de eigenaarsleutel te ondertekenen:
quartus_sign –family=agilex –operation=SIGN –qky=design0_sign_chain.qky –pem=design0_private.pem –cancel=svnA:0 unsigned_cancel_owner2.ccert ondertekend_cancel_owner2.ccert
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname= design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_cancel_owner2.ccert ondertekend_cancel_owner2.ccert
Nadat u een ondertekend compact certificaat voor sleutelannulering-ID hebt gemaakt, gebruikt u de Intel Quartus Prime Programmer om het compacte certificaat op het apparaat te programmeren via JTAG.
//Voor fysieke (niet-vluchtige) eFuses quartus_pgm -c 1 -mjtag -o “pi;signed_cancel_intel7.ccert” –non_volatile_key quartus_pgm -c 1 -mjtag -o “pi;signed_cancel_owner2.ccert” – niet-vluchtige_sleutel
//Voor virtuele (vluchtige) eFuses quartus_pgm -c 1 -mjtag -o “pi;signed_cancel_intel7.ccert” quartus_pgm -c 1 -mjtag -o “pi;signed_cancel_owner2.ccert”
U kunt het compacte certificaat bovendien naar de SDM sturen met behulp van de FPGA- of HPS-mailboxinterface.
4.5. Rootsleutels annuleren
Met Intel Agilex 7-apparaten kunt u de hash van de rootsleutel annuleren wanneer er een andere niet-geannuleerde hash van de rootsleutel aanwezig is. U annuleert een rootsleutel-hash door eerst het apparaat te configureren met een ontwerp waarvan de handtekeningketen is geworteld in een andere root-sleutel-hash, en programmeer vervolgens een ondertekend compact certificaat voor het annuleren van de root-sleutel-hash. U moet het compacte certificaat voor hash-annulering van de rootsleutel ondertekenen met een handtekeningketen die is geworteld in de rootsleutel die moet worden geannuleerd.
Voer de volgende opdracht uit om een niet-ondertekend compact certificaat voor hash-annulering van de rootsleutel te genereren:
quartus_pfg –ccert -o –ccert_type=CANCEL_KEY_HASH unsigned_root_cancel.ccert
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 28
Feedback verzenden
4. Toestelinrichting 683823 | 2023.05.23/XNUMX/XNUMX
Voer een van de volgende opdrachten uit om het niet-ondertekende compacte certificaat voor hash-annulering van de rootsleutel te ondertekenen:
quartus_sign –family=agilex –operation=SIGN –qky=design0_sign_chain.qky –pem=design0_private.pem –cancel=svnA:0 unsigned_root_cancel.ccert ondertekend_root_cancel.ccert
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname= design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_root_cancel.ccert ondertekend_root_cancel.ccert
U kunt een compact certificaat voor hash-annulering van de rootsleutel programmeren via JTAG, FPGA- of HPS-mailboxen.
4.6. Tellerzekeringen programmeren
U werkt het beveiligingsversienummer (SVN) en Pseudo Time Stamp (PTS) tegenzekeringen met behulp van ondertekende compacte certificaten.
Opmerking:
De SDM houdt de minimale tellerwaarde bij die tijdens een bepaalde configuratie wordt waargenomen en accepteert geen tellerverhogingscertificaten wanneer de tellerwaarde kleiner is dan de minimumwaarde. U moet alle objecten die aan een teller zijn toegewezen bijwerken en het apparaat opnieuw configureren voordat u een compact certificaat met tellerverhoging programmeert.
Voer een van de volgende opdrachten uit die overeenkomt met het tellerverhogingscertificaat dat u wilt genereren.
quartus_pfg –ccert -o ccert_type=PTS_COUNTER -o counter=<-1:495> unsigned_pts.ccert
quartus_pfg –ccert -o ccert_type=SVN_COUNTER_A -o counter=<-1:63> unsigned_svnA.ccert
quartus_pfg –ccert -o ccert_type=SVN_COUNTER_B -o counter=<-1:63> unsigned_svnB.ccert
quartus_pfg –ccert -o ccert_type=SVN_COUNTER_C -o counter=<-1:63> unsigned_svnC.ccert
quartus_pfg –ccert -o ccert_type=SVN_COUNTER_D -o counter=<-1:63> unsigned_svnD.ccert
Een tellerwaarde van 1 creëert een autorisatiecertificaat voor het verhogen van de teller. Door een compact certificaat voor autorisatie voor tellerverhoging te programmeren, kunt u nog meer niet-ondertekende certificaten voor tellerverhoging programmeren om de betreffende teller bij te werken. U gebruikt het hulpprogramma quartus_sign om de teller-compactcertificaten op dezelfde manier te ondertekenen als compacte certificaten voor sleutelannulering-ID.
U kunt een compact certificaat voor hash-annulering van de rootsleutel programmeren via JTAG, FPGA- of HPS-mailboxen.
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 29
4. Toestelinrichting 683823 | 2023.05.23/XNUMX/XNUMX
4.7. Veilige dataobjectservice-rootsleutelinrichting
U gebruikt de Intel Quartus Prime Programmer om de rootsleutel van Secure Data Object Service (SDOS) in te richten. De programmeur laadt automatisch de helperimage voor de inrichtingsfirmware om de SDOS-hoofdsleutel in te richten.
quartus_pgm c 1 mjtag –service_root_key –niet-vluchtige_sleutel
4.8. Beveiligingsinstelling Zekeringinrichting
Gebruik de Intel Quartus Prime Programmer om de zekeringen van de apparaatbeveiligingsinstellingen te onderzoeken en deze naar een op tekst gebaseerde .fuse te schrijven file als volgt:
quartus_pgm -c 1 -mjtag -o “ei; programmeren_file.zekering;AGFB014R24B”
Opties · i: De programmeur laadt de helperimage voor de voorzieningenfirmware naar het apparaat. · e: De Programmeur leest de zekering van het apparaat en slaat deze op in een .fuse file.
De zekering file bevat een lijst met zekeringnaam-waardeparen. De waarde geeft aan of een zekering is doorgebrand of de inhoud van het zekeringenveld.
De volgende example toont het formaat van de .fuse file:
# Medeondertekende firmware
= “Niet opgeblazen”
# Apparaatvergunning doden
= “Niet opgeblazen”
# Apparaat niet beveiligd
= “Niet opgeblazen”
# Schakel HPS-foutopsporing uit
= “Niet opgeblazen”
# Schakel Intrinsieke ID PUF-inschrijving uit
= “Niet opgeblazen”
# Schakel J uitTAG
= “Niet opgeblazen”
# Schakel de PUF-verpakte coderingssleutel uit
= “Niet opgeblazen”
# Schakel de coderingssleutel van de eigenaar uit in BBRAM = "Niet opgeblazen"
# Schakel de coderingssleutel van de eigenaar uit in eFuses = "Niet opgeblazen"
# Schakel eigenaar root publieke sleutel hash 0 uit
= “Niet opgeblazen”
# Schakel eigenaar root publieke sleutel hash 1 uit
= “Niet opgeblazen”
# Schakel eigenaar root publieke sleutel hash 2 uit
= “Niet opgeblazen”
# Schakel virtuele eFuses uit
= “Niet opgeblazen”
# Forceer SDM-klok naar interne oscillator = "Niet opgeblazen"
# Forceer update van de coderingssleutel
= “Niet opgeblazen”
# Intel expliciete sleutelannulering
= “0”
# Beveiligings-eFuses vergrendelen
= “Niet opgeblazen”
# Eigenaar encryptiesleutelprogramma voltooid
= “Niet opgeblazen”
# Start van het coderingssleutelprogramma van de eigenaar
= “Niet opgeblazen”
# Eigenaar expliciete sleutelannulering 0
= “”
# Eigenaar expliciete sleutelannulering 1
= “”
# Eigenaar expliciete sleutelannulering 2
= “”
# Eigenaar zekeringen
=
“0x00000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000
0000000000000000000000”
# Eigenaar root publieke sleutel hash 0
=
“0x00000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000”
# Eigenaar root publieke sleutel hash 1
=
“0x00000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000”
# Eigenaar root publieke sleutel hash 2
=
“0x00000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000”
# Grootte van de publieke root-sleutel van de eigenaar
= “Geen”
# PTS-teller
= “0”
# PTS-tegenbasis
= “0”
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 30
Feedback verzenden
4. Toestelinrichting 683823 | 2023.05.23/XNUMX/XNUMX
# QSPI opstartvertraging # RMA-teller # SDMIO0 is I2C # SVN-teller A # SVN-teller B # SVN-teller C # SVN-teller D
= “10ms” = “0” = “Niet geblazen” = “0” = “0” = “0” = “0”
Wijzig de .fuse file om de gewenste beveiligingsinstelling voor zekeringen in te stellen. Een regel die begint met # wordt behandeld als een commentaarregel. Om een zekering voor een beveiligingsinstelling te programmeren, verwijdert u de eerste # en stelt u de waarde in op Doorgebrand. Bijvoorbeeldample, om de medeondertekende firmware-beveiligingsinstellingszekering in te schakelen, wijzigt u de eerste regel van de zekering file Naar het volgende:
Mede ondertekende firmware = "Blown"
U kunt de eigenaarzekeringen ook toewijzen en programmeren op basis van uw vereisten.
U kunt de volgende opdracht gebruiken om een blanco controle uit te voeren, de openbare rootsleutel van de eigenaar te programmeren en te verifiëren:
quartus_pgm -c 1 -mjtag -o “ibpv;root0.qky”
Opties · i: Laadt de helperimage voor de voorzieningenfirmware naar het apparaat. · b: Voert een blanco controle uit om te controleren of de gewenste beveiligingsinstelling niet klopt
al opgeblazen. · p: Programmeert de zekering. · v: Controleert de geprogrammeerde sleutel op het apparaat.
Na het programmeren van de .qky file, kunt u de zekeringsinformatie onderzoeken door de zekeringsinformatie opnieuw te controleren om er zeker van te zijn dat zowel de hash van de openbare sleutel van de eigenaar als de grootte van de openbare sleutel van de eigenaar waarden hebben die niet nul zijn.
Hoewel de volgende velden niet beschrijfbaar zijn via de .fuse file methode worden ze ter verificatie opgenomen tijdens de uitvoer van de onderzoeksbewerking: · Apparaat niet beveiligd · Apparaatvergunning doden · Schakel de hash van de openbare root-sleutel van de eigenaar uit 0 · Schakel de hash van de openbare root-sleutel van de eigenaar uit 1 · Schakel de hash van de openbare root-sleutel van de eigenaar uit 2 · Annulering van de Intel-sleutel · Start programma eigenaar encryptiesleutel · Programma eigenaar encryptiesleutel voltooid · Annulering eigenaarsleutel · Hash van openbare sleutel eigenaar · Grootte van openbare sleutel eigenaar · Eigenaar root publieke sleutel hash 0 · Eigenaar root publieke sleutel hash 1 · Eigenaar root publieke sleutel hash 2
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 31
4. Toestelinrichting 683823 | 2023.05.23/XNUMX/XNUMX
· PTS-teller · PTS-tellerbasis · QSPI opstartvertraging · RMA-teller · SDMIO0 is I2C · SVN-teller A · SVN-teller B · SVN-teller C · SVN-teller D
Gebruik de Intel Quartus Prime Programmer om de .fuse te programmeren file terug naar het apparaat. Als u de i-optie toevoegt, laadt de Programmer automatisch de voorzieningenfirmware om de beveiligingsinstellingszekeringen te programmeren.
//Voor fysieke (niet-vluchtige) eFuses quartus_pgm -c 1 -mjtag -o “pi; programmeren_file.fuse” –niet-vluchtige_sleutel
//Voor virtuele (vluchtige) eFuses quartus_pgm -c 1 -mjtag -o “pi; programmeren_file.samensmelten"
U kunt de volgende opdracht gebruiken om te verifiëren of de hash van de rootsleutel van het apparaat hetzelfde is als de .qky die in de opdracht wordt opgegeven:
quartus_pgm -c 1 -mjtag -o “v;root0_another.qky”
Als de sleutels niet overeenkomen, faalt de Programmer met de foutmelding Operatie mislukt.
4.9. AES-rootsleutelinrichting
U moet een ondertekend compact AES-rootsleutelcertificaat gebruiken om een AES-rootsleutel op een Intel Agilex 7-apparaat te programmeren.
4.9.1. AES Root Key Compact-certificaat
U gebruikt het opdrachtregelprogramma quartus_pfg om uw AES-hoofdsleutel .qek te converteren file naar het compacte certificaat .ccert-formaat. U geeft de sleutelopslaglocatie op tijdens het maken van het compacte certificaat. U kunt de tool quartus_pfg gebruiken om een niet-ondertekend certificaat te maken dat u later kunt ondertekenen. U moet een handtekeningketen gebruiken met de ondertekeningsmachtiging van het AES-rootsleutelcertificaat, toestemmingsbit 6, ingeschakeld om met succes een compact AES-rootsleutelcertificaat te kunnen ondertekenen.
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 32
Feedback verzenden
4. Toestelinrichting 683823 | 2023.05.23/XNUMX/XNUMX
1. Maak een extra sleutelpaar dat wordt gebruikt om het compacte AES-sleutelcertificaat te ondertekenen met behulp van een van de volgende opdrachten, bijvoorbeeldamples:
quartus_sign –family=agilex –operation=make_private_pem –curve=secp384r1 aesccert1_private.pem
quartus_sign –family=agilex –operation=make_public_pem aesccert1_private.pem aesccert1_public.pem
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label agilex-token –login –pin agilex-token-pin –keypairgen-mechanisme ECDSA-KEY-PAIR-GEN –key-type EC: secp384r1 –gebruiksteken –label aesccert1 –id 2
2. Maak een handtekeningketen met de juiste machtigingsbit ingesteld met behulp van een van de volgende opdrachten:
quartus_sign –family=agilex –operation=append_key –previous_pem=root0_private.pem –previous_qky=root0.qky –permission=0x40 –cancel=1 –input_pem=aesccert1_public.pem aesccert1_sign_chain.qky
quartus_sign –family=agilex –operation=append_key –module=softHSM -module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –previous_keyname= root0 –previous_qky=root0.qky –permission=0x40 –cancel=1 –input_keyname=aesccert1 aesccert1_sign_chain.qky
3. Maak een niet-ondertekend AES-compactcertificaat voor de gewenste AES-rootsleutelopslaglocatie. De volgende AES-rootsleutelopslagopties zijn beschikbaar:
· 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
// Maak een eFuse AES-hoofdsleutel niet-ondertekend certificaat quartus_pfg –ccert -o ccert_type=EFUSE_WRAPPED_AES_KEY -o qek_file=aes.qek unsigned_efuse1.ccert
4. Onderteken het compacte certificaat met de opdracht quartus_sign of referentie-implementatie.
quartus_sign –family=agilex –operation=sign –pem=aesccert1_private.pem –qky=aesccert1_sign_chain.qky unsigned_ 1.ccert ondertekend_ 1.ccert
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so”
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 33
4. Toestelinrichting 683823 | 2023.05.23/XNUMX/XNUMX
–sleutelnaam=aesccert1 –qky=aesccert1_sign_chain.qky unsigned_ 1.ccert ondertekend_ 1.ccert
5. Gebruik de Intel Quartus Prime Programmer om het AES root key compact-certificaat te programmeren op het Intel Agilex 7-apparaat via JTAG. De Intel Quartus Prime Programmer programmeert standaard virtuele eFuses bij gebruik van het compacte certificaattype EFUSE_WRAPPED_AES_KEY.
U voegt de optie –non_volatile_key toe om de programmering van fysieke zekeringen op te geven.
//Voor fysieke (niet-vluchtige) eFuse AES-hoofdsleutel quartus_pgm -c 1 -mjtag -o “pi;signed_efuse1.ccert” –niet-vluchtige_sleutel
//Voor virtuele (vluchtige) eFuse AES-hoofdsleutel quartus_pgm -c 1 -mjtag -o “pi;signed_efuse1.ccert”
//Voor BBRAM AES-hoofdsleutel quartus_pgm -c 1 -mjtag -o “pi;signed_bbram1.ccert”
De SDM-voorzieningsfirmware en hoofdfirmware ondersteunen AES-rootsleutelcertificaatprogrammering. U kunt ook de SDM-mailboxinterface van de FPGA-fabric of HPS gebruiken om een AES-rootsleutelcertificaat te programmeren.
Opmerking:
De opdracht quartus_pgm ondersteunt de opties b en v voor compacte certificaten (.ccert) niet.
4.9.2. Intrinsieke ID® PUF AES Root Key Provisioning
Het implementeren van de Intrinsieke* ID PUF verpakte AES-sleutel omvat de volgende stappen: 1. Registratie van de Intrinsieke ID PUF via JTAG. 2. De AES-hoofdsleutel inpakken. 3. Programmeren van de helpergegevens en verpakte sleutel in quad SPI-flashgeheugen. 4. De PUF-activeringsstatus van de Intrinsieke ID opvragen.
Voor het gebruik van Intrinsic ID-technologie is een afzonderlijke licentieovereenkomst met Intrinsic ID vereist. Intel Quartus Prime Pro Edition-software beperkt PUF-bewerkingen zonder de juiste licentie, zoals inschrijving, sleutelverpakking en PUF-gegevensprogrammering naar QSPI-flash.
4.9.2.1. Intrinsieke ID PUF-inschrijving
Om de PUF te registreren, moet u de SDM-voorzieningsfirmware gebruiken. De voorzieningenfirmware moet de eerste firmware zijn die wordt geladen na een stroomcyclus, en u moet vóór elke andere opdracht de PUF-inschrijvingsopdracht geven. De voorzieningenfirmware ondersteunt andere opdrachten na PUF-inschrijving, waaronder AES-rootkey-wrapping en het programmeren van quad-SPI. U moet het apparaat echter uit en weer aanzetten om een configuratiebitstream te laden.
U gebruikt de Intel Quartus Prime Programmer om PUF-inschrijving te activeren en de PUF-helpergegevens .puf te genereren file.
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 34
Feedback verzenden
4. Toestelinrichting 683823 | 2023.05.23/XNUMX/XNUMX
Figuur 7.
Intrinsieke ID PUF-inschrijving
quartus_pgm PUF-inschrijving
Inschrijving PUF-helpergegevens
Veilig apparaatbeheer (SDM)
wrapper.puf Helpergegevens
De Programmer laadt automatisch een hulpimage voor de voorzieningenfirmware wanneer u zowel de i-bewerking als een .puf-argument opgeeft.
quartus_pgm -c 1 -mjtag -o “ei;help_data.puf;AGFB014R24A”
Als u mede-ondertekende firmware gebruikt, programmeert u de mede-ondertekende firmware-helperimage voordat u de PUF-inschrijvingsopdracht gebruikt.
quartus_pgm -c 1 -mjtag -o “p;signed_provision_helper_image.rbf” –force quartus_pgm -c 1 -mjtag -o “e;help_data.puf;AGFB014R24A”
De UDS IID PUF wordt geregistreerd tijdens de productie van het apparaat en kan niet opnieuw worden ingeschreven. In plaats daarvan gebruikt u de Programmer om de locatie van de UDS PUF-helpergegevens op IPCS te bepalen, download de .puf file rechtstreeks en gebruik vervolgens de UDS .puf file op dezelfde manier als de .puf file geëxtraheerd uit een Intel Agilex 7-apparaat.
Gebruik de volgende Programmer-opdracht om een tekst te genereren file met daarin een lijst van URLs verwijst naar apparaatspecifiek files op IPCS:
quartus_pgm -c 1 -mjtag -o “e;ipcs_urls.txt;AGFB014R24B” –ipcs_urls
4.9.2.2. De AES-rootsleutel inpakken
U genereert de IID PUF-verpakte AES-hoofdsleutel .wkey file door een ondertekend certificaat naar de SDM te sturen.
U kunt de Intel Quartus Prime Programmer gebruiken om automatisch het certificaat te genereren, ondertekenen en verzenden om uw AES-hoofdsleutel in te pakken, of u kunt de Intel Quartus Prime Programming gebruiken File Generator om een niet-ondertekend certificaat te genereren. U ondertekent het niet-ondertekende certificaat met uw eigen tools of de Quartus-ondertekeningstool. Vervolgens gebruikt u de Programmer om het ondertekende certificaat te verzenden en uw AES-hoofdsleutel in te pakken. Het ondertekende certificaat kan worden gebruikt om alle apparaten te programmeren die de handtekeningketen kunnen valideren.
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 35
4. Toestelinrichting 683823 | 2023.05.23/XNUMX/XNUMX
Figuur 8.
De AES-sleutel inpakken met behulp van de Intel Quartus Prime-programmeur
.pem Privé
Sleutel
.qky
quartus_pgm
Wrap AES-sleutel
AES.QSKigYnature rootCPhuabilnic-sleutel
Genereer een PUF-verpakte sleutel
Verpakte AES-sleutel
SDM
.qek-codering
Sleutel
.wkey PUF-verpakt
AES-sleutel
1. U kunt de IID PUF-gewikkelde AES-hoofdsleutel (.wkey) genereren met de Programmer met behulp van de volgende argumenten:
· De .qky file met een handtekeningketen met AES-rootsleutelcertificaattoestemming
· Het privé-.pem file voor de laatste sleutel in de handtekeningketen
· De .qek file terwijl u de AES-rootsleutel ingedrukt houdt
· De initialisatievector van 16 bytes (iv).
quartus_pgm -c 1 -mjtag –qky_file=aes0_sign_chain.qky –pem_file=aes0_sign_private.pem –qek_file=aes.qek –iv=1234567890ABCDEF1234567890ABCDEF -o “ei;aes.wkey;AGFB014R24A”
2. Als alternatief kunt u met de programmering een niet-ondertekend IID PUF-inpakkend AES-rootsleutelcertificaat genereren File Generator met behulp van de volgende argumenten:
quartus_pfg –ccert -o ccert_type=IID_PUF_WRAPPED_AES_KEY -o qek_file=aes.qek –iv=1234567890ABCDEF1234567890ABCDEF unsigned_aes.ccert
3. U ondertekent het niet-ondertekende certificaat met uw eigen ondertekeningstools of de quartus_sign-tool met behulp van de volgende opdracht:
quartus_sign –family=agilex –operation=sign –qky=aes0_sign_chain.qky –pem=aes0_sign_private.pem unsigned_aes.ccert ondertekend_aes.ccert
4. Vervolgens gebruikt u de Programmeur om het ondertekende AES-certificaat te verzenden en de ingepakte sleutel (.wkey) terug te sturen file:
quarts_pgm -c 1 -mjtag –ccert_file=ondertekend_aes.ccert -o “ei;aes.wkey;AGFB014R24A”
Opmerking: De i-bewerking is niet nodig als u bijvoorbeeld eerder de provisioningfirmware-helperimage hebt geladenample, om de PUF in te schrijven.
4.9.2.3. Programmering van helpergegevens en ingepakte sleutel voor QSPI-flashgeheugen
Je maakt gebruik van de Quartus Programmering File Grafische interface voor generator om een initiële QSPI-flashimage te bouwen die een PUF-partitie bevat. U moet een volledig flash-programmeerimage genereren en programmeren om een PUF-partitie aan de QSPI-flash toe te voegen. Oprichting van de PUF
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 36
Feedback verzenden
4. Toestelinrichting 683823 | 2023.05.23/XNUMX/XNUMX
Figuur 9.
gegevenspartitie en gebruik van de PUF-helpergegevens en ingepakte sleutel files voor het genereren van flash-afbeeldingen worden niet ondersteund via de programmering File Commandoregelinterface van generator.
De volgende stappen demonstreren het bouwen van een flash-programmeerimage met de PUF-helpergegevens en de ingepakte sleutel:
1. Op de File menu, klik op Programmeren File Generator. Op de uitgang Files-tabblad maakt u de volgende selecties:
A. Selecteer voor Apparaatfamilie Agilex 7.
B. Voor de configuratiemodus selecteert u Active Serial x4.
C. Blader voor de uitvoermap naar uw uitvoer file map. Deze exampbestand gebruikt output_files.
D. Geef bij Naam een naam op voor de programmering file gegenereerd worden. Deze exampbestand gebruikt output_file.
e. Selecteer onder Beschrijving de programmering files te genereren. Deze example genereert de JTAG Indirecte configuratie File (.jic) voor apparaatconfiguratie en het Raw Binary File van Programming Helper Image (.rbf) voor apparaathelperimage. Deze example selecteert ook de optionele Memory Map File (.map) en onbewerkte programmeergegevens File (.rpd). De onbewerkte programmeergegevens file is alleen nodig als u van plan bent in de toekomst een programmeur van derden te gebruiken.
Programmeren File Generator – Uitgang Files Tab – Selecteer JTAG Indirecte configuratie
Configuratiemodus apparaatfamilie
Uitvoer file tabblad
Uitvoermap
JTAG Indirecte (.jic) geheugenkaart File Programmeerhulp Ruwe programmeergegevens
Op de Ingang Files tabblad, maak de volgende selecties: 1. Klik op Bitstream toevoegen en blader naar uw .sof. 2. Selecteer uw .sof file en klik vervolgens op Eigenschappen.
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 37
4. Toestelinrichting 683823 | 2023.05.23/XNUMX/XNUMX
A. Schakel Ondertekentool inschakelen in. B. Voor privésleutel file selecteer uw .pem file. C. Schakel Versleuteling voltooien in. D. Voor coderingssleutel file selecteer uw .qek file. e. Klik op OK om terug te keren naar het vorige venster. 3. Om uw PUF-helpergegevens op te geven file, klik op Ruwe gegevens toevoegen. Verander de Files van het type vervolgkeuzemenu naar Quartus Physical Unclonable Function File (*.puf). Blader naar uw .puf file. Als u zowel de IID PUF als de UDS IID PUF gebruikt, herhaalt u deze stap zodat .puf files voor elke PUF worden als invoer toegevoegd fileS. 4. Om uw verpakte AES-sleutel op te geven file, klik op Ruwe gegevens toevoegen. Verander de Files van het type vervolgkeuzemenu naar Quartus Wrapped Key File (*.wkey). Blader naar uw .wkey file. Als u AES-sleutels hebt ingepakt met zowel de IID PUF als de UDS IID PUF, herhaalt u deze stap zodat .wkey files voor elke PUF worden als invoer toegevoegd files.
Figuur 10. Specificeer invoer Files voor configuratie, authenticatie en codering
Bitstream toevoegen. Ruwe gegevens toevoegen
Eigenschappen
Privésleutel file
Versleuteling voltooien Versleutelingssleutel
Op het tabblad Configuratieapparaat maakt u de volgende selecties: 1. Klik op Apparaat toevoegen en selecteer uw flashapparaat uit de lijst met beschikbare flashapparaten.
apparaten. 2. Selecteer het configuratieapparaat dat u zojuist hebt toegevoegd en klik op Partitie toevoegen. 3. In het dialoogvenster Partitie bewerken voor de invoer file en selecteer uw .sof uit de
keuzelijst. U kunt de standaardinstellingen behouden of de andere parameters bewerken in het dialoogvenster Partitie bewerken.
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 38
Feedback verzenden
4. Toestelinrichting 683823 | 2023.05.23/XNUMX/XNUMX
Figuur 11. Uw .sof-configuratie-bitstreampartitie opgeven
Configuratie apparaat
Partitie bewerken Voeg .sof toe file
Partitie toevoegen
4. Wanneer u de .puf en .wkey als invoer toevoegt files, de programmering File Generator maakt automatisch een PUF-partitie aan in uw configuratieapparaat. Om de .puf en .wkey op de PUF-partitie op te slaan, selecteert u de PUF-partitie en klikt u op Bewerken. Selecteer in het dialoogvenster Partitie bewerken uw .puf en .wkey files uit de vervolgkeuzelijsten. Als u de PUF-partitie verwijdert, moet u het configuratie-apparaat voor de programmering verwijderen en opnieuw toevoegen File Generator om nog een PUF-partitie te maken. U moet ervoor zorgen dat u de juiste .puf en .wkey selecteert file voor respectievelijk de IID PUF en UDS IID PUF.
Figuur 12. Voeg de .puf en .wkey toe files naar de PUF-partitie
PUF-partitie
Bewerking
Partitie bewerken
Flash-lader
Selecteer Genereren
5. Selecteer voor de Flash Loader-parameter de Intel Agilex 7-apparaatfamilie en apparaatnaam die overeenkomt met uw Intel Agilex 7 OPN.
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 39
4. Toestelinrichting 683823 | 2023.05.23/XNUMX/XNUMX
6. Klik op Genereren om de uitvoer te genereren files die u hebt opgegeven in de uitvoer Files tabblad.
7. De programmering File Generator leest uw .qek file en vraagt u om uw wachtwoordzin. Typ uw wachtwoordzin als reactie op de prompt Voer QEK-wachtwoordzin in. Klik op de Enter-toets.
8. Klik op OK bij Programmeren File Generator meldt succesvolle generatie.
U gebruikt de Intel Quartus Prime Programmer om het QSPI-programmeerimage naar QSPI-flashgeheugen te schrijven. 1. Selecteer Programmer in het menu Intel Quartus Prime Tools. 2. Klik in de Programmer op Hardware Setup en selecteer vervolgens een aangesloten Intel
FPGA-downloadkabel. 3. Klik op Toevoegen File en blader naar uw .jic file.
Figuur 13. Programma .jic
Programmeren file
Programmeren/configureren
JTAG scan keten
4. Schakel het vakje uit dat aan de Helper-afbeelding is gekoppeld. 5. Selecteer Program/Configure voor de .jic-uitvoer file. 6. Schakel de Start-knop in om uw quad SPI-flashgeheugen te programmeren. 7. Zet je board uit en weer aan. Het ontwerp is geprogrammeerd op het quad SPI-flashgeheugen
apparaat wordt vervolgens in de doel-FPGA geladen.
U moet een volledig flash-programmeerimage genereren en programmeren om een PUF-partitie aan de quad SPI-flash toe te voegen.
Wanneer er al een PUF-partitie in de flash bestaat, is het mogelijk om de Intel Quartus Prime Programmer te gebruiken om rechtstreeks toegang te krijgen tot de PUF-helpergegevens en de ingepakte sleutel files. BijvoorbeeldampAls de activering niet lukt, is het mogelijk om de PUF opnieuw in te schrijven, de AES-sleutel opnieuw in te pakken en vervolgens alleen de PUF te programmeren files zonder dat u de hele flitser hoeft te overschrijven.
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 40
Feedback verzenden
4. Toestelinrichting 683823 | 2023.05.23/XNUMX/XNUMX
De Intel Quartus Prime Programmer ondersteunt het volgende bewerkingsargument voor PUF files in een reeds bestaande PUF-partitie:
· p: programma
· v: verifiëren
· r: wissen
· b: blanco cheque
U moet dezelfde beperkingen volgen voor PUF-inschrijving, zelfs als er een PUF-partitie bestaat.
1. Gebruik het argument i-bewerking om de helperimage voor de voorzieningenfirmware voor de eerste bewerking te laden. Bijvoorbeeldample, de volgende opdrachtreeks registreert de PUF opnieuw, pakt de AES-hoofdsleutel opnieuw in, wist de oude PUF-helpergegevens en de ingepakte sleutel en programmeert en verifieert vervolgens de nieuwe PUF-helpergegevens en AES-hoofdsleutel.
quartus_pgm -c 1 -mjtag -o “ei;nieuw.puf;AGFB014R24A” quartus_pgm -c 1 -mjtag –ccert_file=signed_aes.ccert -o “e;new.wkey;AGFB014R24A” quartus_pgm -c 1 -mjtag -o “r;oud.puf” quartus_pgm -c 1 -mjtag -o “r;oud.wkey” quartus_pgm -c 1 -mjtag -o “p;nieuw.puf” quartus_pgm -c 1 -mjtag -o “p;nieuwe.wkey” quartus_pgm -c 1 -mjtag -o “v;nieuw.puf” quartus_pgm -c 1 -mjtag -o “v;nieuwe.wkey”
4.9.2.4. Opvragen van PUF-activeringsstatus van intrinsieke ID
Nadat u de Intrinsic ID PUF hebt geregistreerd, verpakt u een AES-sleutel en genereert u de flash-programmering files en update de quad SPI-flash, dan schakelt u uw apparaat uit en weer in om PUF-activering en -configuratie vanuit de gecodeerde bitstream te activeren. De SDM rapporteert de PUF-activeringsstatus samen met de configuratiestatus. Als de PUF-activering mislukt, rapporteert de SDM in plaats daarvan de PUF-foutstatus. Gebruik de opdracht quartus_pgm om de configuratiestatus op te vragen.
1. Gebruik het volgende commando om de activeringsstatus op te vragen:
quartus_pgm -c 1 -mjtag –status –status_type=”CONFIG”
Hier is sampbestanduitvoer van een succesvolle activering:
Info (21597): Reactie van CONFIG_STATUS Apparaat draait in gebruikersmodus 00006000 RESPONSE_CODE=OK, LENGTH=6 00000000 STATE=IDLE 00160300 Versie 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 Foutlocatie 00000000 Foutdetails Reactie van PUF_STATUS 00002000 RESPONSE_CODE=OK, LENGTH=2 00000500 USER_IID STAT VS=PUF_ACTIVATION_SUCCESS,
RELIABILITY_DIAGNOSTIC_SCORE=5, TEST_MODE=0 00000500 UDS_IID STATUS=PUF_ACTIVATION_SUCCESS,
BETROUWBAARHEID_DIAGNOSTIC_SCORE=5, TEST_MODE=0
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 41
4. Toestelinrichting 683823 | 2023.05.23/XNUMX/XNUMX
Als u alleen de IID PUF of de UDS IID PUF gebruikt en geen helperdata.puf hebt geprogrammeerd file voor beide PUF's in de QSPI-flash geldt dat die PUF niet wordt geactiveerd en dat de PUF-status aangeeft dat de PUF-helpergegevens niet geldig zijn. De volgende bijvample toont de PUF-status wanneer de PUF-helpergegevens voor geen van beide PUFs waren geprogrammeerd:
Reactie van 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,
BETROUWBAARHEID_DIAGNOSTIC_SCORE=0, TEST_MODE=0
4.9.2.5. Locatie van de PUF in Flash-geheugen
De locatie van de PUF file is verschillend voor ontwerpen die RSU ondersteunen en ontwerpen die de RSU-functie niet ondersteunen.
Voor ontwerpen die RSU niet ondersteunen, moet u de .puf en .wkey opnemen files wanneer u bijgewerkte Flash-afbeeldingen maakt. Voor ontwerpen die RSU ondersteunen, overschrijft de SDM de PUF-gegevenssecties niet tijdens fabrieks- of applicatie-image-updates.
Tabel 2.
Flash-subpartitie-indeling zonder RSU-ondersteuning
Flitsoffset (in bytes)
Grootte (in bytes)
Inhoud
Beschrijving
0K 256K
256K 256K
Configuratiebeheerfirmware Configuratiebeheerfirmware
Firmware die op SDM draait.
512K
256K
Configuratiebeheerfirmware
768K
256K
Configuratiebeheerfirmware
1M
32K
PUF-gegevenskopie 0
Gegevensstructuur voor het opslaan van PUF-helpergegevens en PUF-verpakte AES-hoofdsleutelkopie 0
1M+32K
32K
PUF-gegevenskopie 1
Gegevensstructuur voor het opslaan van PUF-helpergegevens en PUF-verpakte AES-hoofdsleutelkopie 1
Tabel 3.
Flash-subpartitie-indeling met RSU-ondersteuning
Flitsoffset (in bytes)
Grootte (in bytes)
Inhoud
Beschrijving
0K 512K
512K 512K
Decision-firmware Decision-firmware
Firmware om de afbeelding met de hoogste prioriteit te identificeren en te laden.
1M 1.5M
512K 512K
Decision-firmware Decision-firmware
2M
8K + 24K
Beslissing firmwaregegevens
Vulling
Gereserveerd voor gebruik van Decision-firmware.
2M + 32K
32K
Gereserveerd voor SDM
Gereserveerd voor SDM.
2M + 64K
Variabel
Fabrieksafbeelding
Een eenvoudige image die u maakt als back-up als alle andere applicatie-images niet kunnen worden geladen. Deze afbeelding bevat de CMF die op de SDM draait.
Volgende
32K
PUF-gegevenskopie 0
Gegevensstructuur voor het opslaan van PUF-helpergegevens en PUF-verpakte AES-hoofdsleutelkopie 0
voortgezet…
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 42
Feedback verzenden
4. Toestelinrichting 683823 | 2023.05.23/XNUMX/XNUMX
Flitsoffset (in bytes)
Grootte (in bytes)
Volgende +32K 32K
Inhoud PUF-gegevenskopie 1
Volgende + 256K 4K Volgende +32K 4K Volgende +32K 4K
Kopie van subpartitietabel 0 Kopie van subpartitietabel 1 CMF-pointerblokkopie 0
Volgende +32K _
CMF-aanwijzerblokkopie 1
Variabele Variabele
Variabele Variabele
Applicatieafbeelding 1 Applicatieafbeelding 2
4.9.3. Black Key-voorziening
Beschrijving
Gegevensstructuur voor het opslaan van PUF-helpergegevens en PUF-verpakte AES-hoofdsleutelkopie 1
Datastructuur om het beheer van de flash-opslag te vergemakkelijken.
Een lijst met verwijzingen naar toepassingsafbeeldingen in volgorde van prioriteit. Wanneer u een afbeelding toevoegt, wordt die afbeelding de hoogste.
Een tweede kopie van de lijst met verwijzingen naar applicatie-afbeeldingen.
Uw eerste toepassingsafbeelding.
Uw tweede toepassingsafbeelding.
Opmerking:
De Intel Quartus PrimeProgrammer helpt bij het tot stand brengen van een wederzijds geauthenticeerde veilige verbinding tussen het Intel Agilex 7-apparaat en de black key provisioning-service. De beveiligde verbinding wordt tot stand gebracht via https en vereist verschillende certificaten die worden geïdentificeerd met behulp van een tekst file.
Wanneer u Black Key Provisioning gebruikt, raadt Intel aan dat u vermijdt dat u de TCK-pin extern aansluit om een weerstand omhoog of omlaag te trekken terwijl u deze nog steeds gebruikt voor JTAG. U kunt de TCK-pin echter aansluiten op de VCCIO SDM-voeding met behulp van een weerstand van 10 k. De bestaande richtlijnen in de Pin Connection Guidelines om TCK aan te sluiten op een 1 k pull-down weerstand zijn opgenomen voor ruisonderdrukking. De wijziging in de geleiding naar een pull-up-weerstand van 10 k heeft geen invloed op de functionaliteit van het apparaat. Voor meer informatie over het aansluiten van de TCK-pin raadpleegt u Intel Agilex 7-pins verbindingsrichtlijnen.
Thebkp_tls_ca_certificate verifieert uw Black Key Provisioning Service-instantie voor uw Black Key Provisioning Programmer-instantie. Debkp_tls_*certificaten authenticeren uw Black Key Provisioning Programmer-instantie voor uw Black Key Provisioning Service-instantie.
Je maakt een tekst file met de benodigde informatie voor de Intel Quartus Prime Programmer om verbinding te maken met de Black Key Provisioning-service. Om de Black Key-inrichting te starten, gebruikt u de opdrachtregelinterface van Programmer om de tekst voor de Black Key-inrichtingsopties op te geven file. De Black Key-provisioning verloopt vervolgens automatisch. Neem contact op met Intel Support voor toegang tot de Black Key Provisioning-service en bijbehorende documentatie.
U kunt de zwarte sleutelinrichting inschakelen met de opdrachtquartus_pgm:
quartus_pgm -c -M -apparaat –bkp_options=bkp_options.txt
De opdrachtargumenten specificeren de volgende informatie:
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 43
4. Toestelinrichting 683823 | 2023.05.23/XNUMX/XNUMX
· -c: kabelnummer · -m: specificeert de programmeermodus zoals JTAG · –apparaat: specificeert een apparaatindex op de JTAG ketting. De standaardwaarde is 1. · –bkp_options: specificeert een tekst file met zwarte sleutel-inrichtingsopties.
Gerelateerde informatie Intel Agilex 7-apparaatfamilie Richtlijnen voor pinverbinding
4.9.3.1. Black Key-inrichtingsopties
De inrichtingsopties voor de zwarte sleutel zijn een tekst file doorgegeven aan de programmeur via de opdracht quartus_pgm. De file bevat de vereiste informatie om de Black Key-inrichting te activeren.
Het volgende is een exampbestand van 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 = https://192.167.5.5:5000 bkp_proxy_user = proxy_gebruiker bkp_proxy_password = proxy_wachtwoord
Tabel 4.
Black Key-inrichtingsopties
In deze tabel worden de opties weergegeven die nodig zijn om de Black Key-inrichting te activeren.
Optie Naam
Type
Beschrijving
bkp_ip
Vereist
Specificeert het IP-adres van de server waarop de Black Key-inrichtingsservice wordt uitgevoerd.
bkp_poort
Vereist
Specificeert de poort voor de inrichting van de zwarte sleutel die nodig is om verbinding te maken met de server.
bkp_cfg_id
Vereist
Identificeert de ID van de configuratiestroom voor de zwarte sleutel.
De Black Key Provisioning-service creëert de configuratiestromen voor Black Key Provisioning, inclusief een AES-hoofdsleutel, gewenste eFuse-instellingen en andere autorisatie-opties voor Black Key Provisioning. Het nummer dat wordt toegewezen tijdens het instellen van de Black Key-inrichtingsservice identificeert de configuratiestromen voor de Black Key-inrichting.
Opmerking: meerdere apparaten kunnen verwijzen naar dezelfde configuratiestroom voor de levering van zwarte sleutels.
bkp_tls_ca_cert
Vereist
Het root-TLS-certificaat dat wordt gebruikt om de black key provisioning-services voor de Intel Quartus Prime Programmer (Programmer) te identificeren. Een vertrouwde certificeringsinstantie voor het Black Key Provisioning Service-exemplaar geeft dit certificaat uit.
Als u de Programmer op een computer met het Microsoft® Windows®-besturingssysteem (Windows) gebruikt, moet u dit certificaat in het Windows-certificaatarchief installeren.
bkp_tls_prog_cert
Vereist
Een certificaat gemaakt voor het exemplaar van de Black Key Provisioning Programmer (BKP Programmer). Dit is het https-clientcertificaat dat wordt gebruikt om deze BKP-programmeurinstantie te identificeren
voortgezet…
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 44
Feedback verzenden
4. Toestelinrichting 683823 | 2023.05.23/XNUMX/XNUMX
Optie Naam
Type
bkp_tls_prog_key
Vereist
bkp_tls_prog_key_pass Optioneel
bkp_proxy_adres bkp_proxy_gebruiker bkp_proxy_wachtwoord
Optioneel Optioneel Optioneel
Beschrijving
naar de Black Key Provisioning-service. U moet dit certificaat installeren en autoriseren in de Black Key-inrichtingsservice voordat u een Black Key-inrichtingssessie start. Als u de Programmer op Windows uitvoert, is deze optie niet beschikbaar. In dit geval bevat de bkp_tls_prog_key dit certificaat al.
De privésleutel die overeenkomt met het BKP Programmer-certificaat. De sleutel valideert de identiteit van de BKP Programmer-instantie voor de Black Key-inrichtingsservice. Als u de Programmer op Windows uitvoert, wordt de .pfx file combineert het bkp_tls_prog_cert certificaat en de privésleutel. De bkp_tlx_prog_key optie geeft de .pfx door file in bkp_options.txt file.
Het wachtwoord voor de persoonlijke sleutel bkp_tls_prog_key. Niet vereist in de tekst voor configuratieopties voor zwarte sleutels (bkp_options.txt). file.
Specificeert de proxyserver URL adres.
Specificeert de gebruikersnaam van de proxyserver.
Specificeert het wachtwoord voor proxyverificatie.
4.10. Rootsleutel van eigenaar, AES-rootsleutelcertificaten en zekering converteren files naar Jam STAPL File Formaten
U kunt de opdrachtregelopdracht quartus_pfg gebruiken om .qky, AES-hoofdsleutel .ccert en .fuse te converteren files naar Jam STAPL-formaat File (.jam) en Jam Byte Code-indeling File (.jbc). Je kunt deze gebruiken files om Intel FPGA's te programmeren met respectievelijk de Jam STAPL Player en de Jam STAPL Byte-Code Player.
Een enkele .jam of .jbc bevat verschillende functies, waaronder een firmware-helperimageconfiguratie en -programma, blanco controle en verificatie van de programmering van sleutels en zekeringen.
Voorzichtigheid:
Wanneer u de AES-hoofdsleutel .ccert file naar .jam-formaat, de .jam file bevat de AES-sleutel in leesbare maar versluierde vorm. Daarom moet u de .jam beschermen file bij het opslaan van de AES-sleutel. U kunt dit doen door de AES-sleutel in een beveiligde omgeving in te richten.
Hier zijn exampbestanden van quartus_pfg-conversieopdrachten:
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_de vice=AGFB014R24A-instellingen. fuse settings_fuse.jbc
Voor meer informatie over het gebruik van de Jam STAPL Player voor apparaatprogrammering raadpleegt u AN 425: Gebruik van de opdrachtregel Jam STAPL-oplossing voor apparaatprogrammering.
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 45
4. Toestelinrichting 683823 | 2023.05.23/XNUMX/XNUMX
Voer de volgende opdrachten uit om de openbare rootsleutel van de eigenaar en de AES-coderingssleutel te programmeren:
//Om de helper-bitstream in de FPGA te laden. // De helper-bitstream bevat voorzieningenfirmware quartus_jli -c 1 -a CONFIGURE RootKey.jam
//Om de openbare rootsleutel van de eigenaar te programmeren in virtuele eFuses quartus_jli -c 1 -a PUBKEY_PROGRAM RootKey.jam
//Om de openbare rootsleutel van de eigenaar te programmeren in fysieke eFuses quartus_jli -c 1 -a PUBKEY_PROGRAM -e DO_UNI_ACT_DO_EFUSES_FLAG RootKey.jam
//Om de publieke rootsleutel van de PR-eigenaar te programmeren in virtuele eFuses quartus_jli -c 1 -a PUBKEY_PROGRAM -e DO_UNI_ACT_DO_PR_PUBKEY_FLAG pr_rootkey.jam
//Om de publieke root-sleutel van de PR-eigenaar te programmeren in fysieke eFuses 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
//Om de AES-coderingssleutel CCERT te programmeren in BBRAM quartus_jli -c 1 -a CCERT_PROGRAM EncKeyBBRAM.jam
//Om de AES-coderingssleutel CCERT te programmeren in fysieke eFuses quartus_jli -c 1 -a CCERT_PROGRAM -e DO_UNI_ACT_DO_EFUSES_FLAG EncKeyEFuse.jam
Gerelateerde informatie AN 425: De opdrachtregelstoring STAPL-oplossing gebruiken voor het programmeren van apparaten
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 46
Feedback verzenden
683823 | 2023.05.23 Feedback verzenden
Geavanceerde functies
5.1. Veilige foutopsporingsautorisatie
Om Secure Debug Authorization in te schakelen, moet de debug-eigenaar een authenticatiesleutelpaar genereren en de Intel Quartus Prime Pro Programmer gebruiken om apparaatinformatie te genereren file voor het apparaat waarop de foutopsporingsimage wordt uitgevoerd:
quartus_pgm -c 1 -mjtag -o “ei;device_info.txt;AGFB014R24A” –dev_info
De eigenaar van het apparaat gebruikt de quartus_sign-tool of de referentie-implementatie om een voorwaardelijke openbare sleutelinvoer toe te voegen aan een handtekeningketen die bedoeld is voor foutopsporingsbewerkingen met behulp van de openbare sleutel van de debug-eigenaar, de benodigde autorisaties, de apparaatinformatietekst file, en toepasselijke verdere beperkingen:
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
De eigenaar van het apparaat stuurt de volledige handtekeningketen terug naar de eigenaar van de foutopsporing, die de handtekeningketen en zijn privésleutel gebruikt om de foutopsporingsafbeelding te ondertekenen:
quartus_sign –family=agilex –operation=sign –qky=secure_debug_auth_chain.qky –pem=debug_authorization_private_key.pem unsigned_debug_design.rbf geautoriseerde_debug_design.rbf
U kunt de opdracht quartus_pfg gebruiken om de handtekeningketen van elke sectie van deze ondertekende beveiligde debug-bitstream als volgt te inspecteren:
quartus_pfg –check_integrity geautoriseerd_debug_design.rbf
De uitvoer van deze opdracht drukt de beperkingswaarden 1,2,17,18 af van de voorwaardelijke openbare sleutel die werd gebruikt om de ondertekende bitstream te genereren.
De debug-eigenaar kan vervolgens het veilig geautoriseerde debug-ontwerp programmeren:
quartus_pgm -c 1 -mjtag -o “p;authorized_debug_design.rbf”
De eigenaar van het apparaat kan de beveiligde debug-autorisatie intrekken door de expliciete sleutelannulerings-ID te annuleren die is toegewezen in de handtekeningketen van de beveiligde debug-autorisatie.
5.2. HPS-foutopsporingscertificaten
Alleen geautoriseerde toegang tot de HPS debug access port (DAP) mogelijk maken via JTAG interface vereist verschillende stappen:
Intel Corporation. Alle rechten voorbehouden. Intel, het Intel-logo en andere Intel-merken zijn handelsmerken van Intel Corporation of haar dochterondernemingen. Intel garandeert de prestaties van zijn FPGA- en halfgeleiderproducten volgens de huidige specificaties in overeenstemming met de standaardgarantie van Intel, maar behoudt zich het recht voor om op elk moment zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Intel aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van informatie, producten of diensten die hierin worden beschreven, behalve zoals uitdrukkelijk schriftelijk overeengekomen door Intel. Intel-klanten wordt geadviseerd om de nieuwste versie van apparaatspecificaties te verkrijgen voordat ze vertrouwen op gepubliceerde informatie en voordat ze producten of diensten bestellen. *Andere namen en merken kunnen worden geclaimd als eigendom van anderen.
ISO 9001: 2015 geregistreerd
5. Geavanceerde functies 683823 | 2023.05.23/XNUMX/XNUMX
1. Klik op het Intel Quartus Prime-softwaretoewijzingenmenu en selecteer het tabblad Apparaatapparaat- en pinoptiesconfiguratie.
2. Schakel op het tabblad Configuratie de HPS debug access port (DAP) in door HPS Pins of SDM Pins te selecteren in het vervolgkeuzemenu en ervoor te zorgen dat het selectievakje HPS debug zonder certificaten toestaan niet is ingeschakeld.
Figuur 14. Specificeer HPS- of SDM-pinnen voor de HPS DAP
HPS-foutopsporingstoegangspoort (DAP)
Als alternatief kunt u de onderstaande toewijzing instellen in de Quartus Prime Instellingen .qsf file:
set_global_assignment -name HPS_DAP_SPLIT_MODE “SDM-PINNEN”
3. Compileer en laad het ontwerp met deze instellingen. 4. Maak een handtekeningketen met de juiste machtigingen om een HPS-foutopsporing te ondertekenen
certificaat:
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. Vraag een niet-ondertekend HPS-foutopsporingscertificaat aan op het apparaat waarop het foutopsporingsontwerp is geladen:
quartus_pgm -c 1 -mjtag -o “e;unsigned_hps_debug.cert;AGFB014R24A”
6. Onderteken het niet-ondertekende HPS-debug-certificaat met behulp van de quartus_sign-tool of referentie-implementatie en de HPS-debug-handtekeningketen:
quartus_sign –family=agilex –operation=sign –qky=hps_debug_cert_sign_chain.qky –pem=hps_debug_cert_private_key.pem unsigned_hps_debug.cert ondertekend_hps_debug.cert
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 48
Feedback verzenden
5. Geavanceerde functies 683823 | 2023.05.23/XNUMX/XNUMX
7. Stuur het ondertekende HPS-foutopsporingscertificaat terug naar het apparaat om toegang tot de HPS-foutopsporingstoegangspoort (DAP) mogelijk te maken:
quartus_pgm -c 1 -mjtag -o “p;signed_hps_debug.cert”
Het HPS-foutopsporingscertificaat is alleen geldig vanaf het moment dat het is gegenereerd tot de volgende stroomcyclus van het apparaat of totdat een ander type of versie van SDM-firmware wordt geladen. U moet het ondertekende HPS-foutopsporingscertificaat genereren, ondertekenen en programmeren en alle foutopsporingsbewerkingen uitvoeren voordat u het apparaat uit en weer inschakelt. U kunt het ondertekende HPS-foutopsporingscertificaat ongeldig maken door het apparaat uit en weer in te schakelen.
5.3. Platformattest
U kunt een referentie-integriteitsmanifest (.rim) genereren file gebruik van de programmering file generatorgereedschap:
quartus_pfg -c ondertekend_encrypted_top.rbf top_rim.rim
Volg deze stappen om de platformattestatie in uw ontwerp te garanderen: 1. Gebruik de Intel Quartus Prime Pro Programmer om uw apparaat te configureren met de
ontwerp waarvoor u een referentie-integriteitsmanifest hebt gemaakt. 2. Gebruik een platformattestverifier om het apparaat te registreren door opdrachten te geven aan de
SDM via de SDM-mailbox om bij het opnieuw laden het apparaat-ID-certificaat en het firmwarecertificaat aan te maken. 3. Gebruik de Intel Quartus Prime Pro Programmer om uw apparaat opnieuw te configureren met het ontwerp. 4. Gebruik de platformattestverifier om opdrachten aan de SDM te geven om de attestapparaat-ID, firmware en aliascertificaten op te halen. 5. Gebruik de attestationverifier om de SDM-mailboxopdracht uit te voeren om het attestationbewijs te verkrijgen en de verifier controleert het geretourneerde bewijsmateriaal.
U kunt uw eigen verificatieservice implementeren met behulp van de SDM-mailboxopdrachten, of u kunt de attestationverificatieservice van het Intel-platform gebruiken. Neem contact op met Intel Support voor meer informatie over Intel platform attestation verifier servicesoftware, beschikbaarheid en documentatie.
Gerelateerde informatie Intel Agilex 7-apparaatfamilie Richtlijnen voor pinverbinding
5.4. Fysieke anti-Tamper
Je schakelt de fysieke anti-t inamper-functies met behulp van de volgende stappen: 1. Het selecteren van de gewenste reactie op een gedetecteerde tamper gebeurtenis 2. Het configureren van de gewenste tamper detectiemethoden en parameters 3. Inclusief de anti-tamper IP in uw ontwerplogica om anti-t te helpen beherenamper
evenementen
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 49
5. Geavanceerde functies 683823 | 2023.05.23/XNUMX/XNUMX
5.4.1. Anti-Tamper reacties
Je schakelt fysieke anti-t inamper door een antwoord van de Anti-t te selecterenampantwoord: vervolgkeuzelijst op Toewijzingen Apparaat Apparaat- en pinopties Beveiliging Anti-Tamper tabblad. Standaard is de anti-tampDe reactie is uitgeschakeld. Vijf categorieën anti-tampEr zijn reacties beschikbaar. Wanneer u het gewenste antwoord selecteert, worden de opties ingeschakeld om een of meer detectiemethoden in te schakelen.
Figuur 15. Beschikbare Anti-Tamper antwoordopties
De overeenkomstige toewijzing in de Quartus Prime-instellingen .gsf file is het volgende:
set_global_assignment -naam ANTI_TAMPER_RESPONSE “MELDING APPARAAT WISSEN APPARAAT VERGRENDELEN EN NULISEREN”
Wanneer u een anti-tampAls antwoord kunt u twee beschikbare SDM-specifieke I/O-pinnen kiezen om de t uit te voerenampDetectie van gebeurtenissen en de responsstatus met behulp van het venster Toewijzingen Apparaat Apparaat- en pinopties Configuratie Configuratie Pinopties.
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 50
Feedback verzenden
5. Geavanceerde functies 683823 | 2023.05.23/XNUMX/XNUMX
Afbeelding 16. Beschikbare SDM-specifieke I/O-pinnen voor TampEr gebeurtenisdetectie
In de instellingen kunt u ook de volgende pintoewijzingen uitvoeren file: set_global_assignment -naam USE_TAMPER_DETECT SDM_IO15 set_global_assignment -naam ANTI_TAMPER_RESPONSE_FAILED SDM_IO16
5.4.2. Anti-Tamper detectie
U kunt de frequentie, temperatuur en volume individueel inschakelentage detectiefuncties van de SDM. FPGA-detectie is afhankelijk van het opnemen van de Anti-Tamper Lite Intel FPGA IP in uw ontwerp.
Opmerking:
SDM-frequentie en voltagenampDe detectiemethoden zijn afhankelijk van interne referenties en meethardware die per apparaat kunnen variëren. Intel raadt aan dat u het gedrag van t karakteriseertamper detectie-instellingen.
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 51
5. Geavanceerde functies 683823 | 2023.05.23/XNUMX/XNUMX
Frequentie tampErdetectie werkt op de configuratieklokbron. Om frequentie t in te schakelenampBij detectie moet u een andere optie dan Interne Oscillator opgeven in de vervolgkeuzelijst Configuratieklokbron op het tabblad Toewijzingen Apparaat Apparaat- en pinopties Algemeen. U moet ervoor zorgen dat het selectievakje Run configuratie CPU van interne oscillator is ingeschakeld voordat u de frequentie t inschakeltamper detectie. Figuur 17. De SDM instellen op interne oscillator
Om frequentie t in te schakelenampBij detectie selecteert u Frequentie inschakelen tamperdetectie aankruisvakje en selecteer de gewenste frequentie tampdetectiebereik in het vervolgkeuzemenu. Afbeelding 18. Frequentie T inschakelenamper detectie
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 52
Feedback verzenden
5. Geavanceerde functies 683823 | 2023.05.23/XNUMX/XNUMX
Als alternatief kunt u Frequentie T inschakelenamperdetectie door de volgende wijzigingen aan te brengen in de Quartus Prime-instellingen .qsf file:
set_global_assignment -naam AUTO_RESTART_CONFIGURATION UIT set_global_assignment -naam DEVICE_INITIALIZATION_CLOCK OSC_CLK_1_100MHZ set_global_assignment -naam RUN_CONFIG_CPU_FROM_INT_OSC AAN set_global_assignment -naam ENABLE_FREQUENCY_TAMPER_DETECTION ON set_global_assignment -name FREQUENCY_TAMPER_DETECTION_RANGE 35
Om temperatuur t in te schakelenampBij detectie selecteert u Temperatuur inschakelen tampEr detectie selectievakje en selecteer de gewenste boven- en ondergrens van de temperatuur in de overeenkomstige velden. De boven- en ondergrenzen worden standaard ingevuld met het bijbehorende temperatuurbereik voor het apparaat dat in het ontwerp is geselecteerd.
Om voltagenampBij detectie selecteert u een of beide opties voor Enable VCCL voltagenamper detectie of VCCL_SDM vol. inschakelentagenamperdetectie selectievakjes in en selecteer het gewenste Voltagenampdetectietriggerpercentagetage in het overeenkomstige veld.
Figuur 19. Vol. inschakelentagen Tamper detectie
Als alternatief kunt u Voltagen Tamper-detectie door de volgende toewijzingen op te geven in het bestand .qsf file:
set_global_assignment -naam ENABLE_TEMPERATURE_TAMPER_DETECTION ON set_global_assignment -naam TEMPERATURE_TAMPER_UPPER_BOUND 100 set_global_assignment -naam ENABLE_VCCL_VOLTAGE_TAMPER_DETECTION AAN set_global_assignment -naam ENABLE_VCCL_SDM_VOLTAGE_TAMPER_DETECTION AAN
5.4.3. Anti-Tamper Lite Intel FPGA IP
De Anti-TampEr Lite Intel FPGA IP, beschikbaar in de IP-catalogus in Intel Quartus Prime Pro Edition-software, vergemakkelijkt bidirectionele communicatie tussen uw ontwerp en de SDM voor tampeh evenementen.
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 53
Figuur 20. Anti-Tamper Lite Intel FPGA IP
5. Geavanceerde functies 683823 | 2023.05.23/XNUMX/XNUMX
Het IP levert de volgende signalen die u indien nodig aan uw ontwerp koppelt:
Tabel 5.
Anti-Tamper Lite Intel FPGA IP I/O-signalen
Signaalnaam
Richting
Beschrijving
gpo_sdm_at_event gpi_fpga_at_event
Uitvoer invoer
SDM-signaal naar FPGA-fabriclogica die een SDM heeft gedetecteerdampeh evenement. De FPGA-logica heeft ongeveer 5 ms om elke gewenste opschoning uit te voeren en te reageren op de SDM via gpi_fpga_at_response_done en gpi_fpga_at_zeroization_done. De SDM gaat verder met de tampEr zijn responsacties wanneer gpi_fpga_at_response_done wordt bevestigd of nadat er binnen de toegewezen tijd geen antwoord is ontvangen.
FPGA-interrupt naar SDM die uw anti-t heeft ontworpenampHet detectiecircuit heeft gedetecteerdamper-evenement en de SDM tampEr moet een reactie worden geactiveerd.
gpi_fpga_at_response_done
Invoer
FPGA-interrupt naar SDM dat FPGA-logica de gewenste opschoning heeft uitgevoerd.
gpi_fpga_at_zeroization_d één
Invoer
FPGA-signaal naar SDM dat FPGA-logica elke gewenste nulstelling van ontwerpgegevens heeft voltooid. Dit signaal is sampgeleid wanneer gpi_fpga_at_response_done wordt beweerd.
5.4.3.1. Vrijgave-informatie
Het IP-versieschema (XYZ)-nummer verandert van de ene softwareversie naar de andere. Een verandering in:
· X duidt op een ingrijpende herziening van het IP. Als u uw Intel Quartus Prime-software bijwerkt, moet u het IP-adres opnieuw genereren.
· Y geeft aan dat het IP-adres nieuwe functies bevat. Genereer uw IP opnieuw om deze nieuwe functies op te nemen.
· Z geeft aan dat het IP-adres kleine wijzigingen bevat. Genereer uw IP opnieuw om deze wijzigingen op te nemen.
Tabel 6.
Anti-Tamper Lite Intel FPGA IP-release-informatie
IP-versie
Item
Beschrijving 20.1.0
Intel Quartus Prime-versie
21.2
Releasedatum
2021.06.21
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 54
Feedback verzenden
5. Geavanceerde functies 683823 | 2023.05.23/XNUMX/XNUMX
5.5. Ontwerpbeveiligingsfuncties gebruiken met systeemupdate op afstand
Remote System Update (RSU) is een Intel Agilex 7 FPGA-functie die helpt bij het bijwerken van de configuratie files op een robuuste manier. RSU is compatibel met ontwerpbeveiligingsfuncties zoals authenticatie, medeondertekening van firmware en bitstream-encryptie, aangezien RSU niet afhankelijk is van de ontwerpinhoud van configuratiebitstreams.
RSU-images bouwen met .sof Files
Als u privésleutels opslaat op uw lokale filesysteem, kunt u RSU-images met ontwerpbeveiligingsfuncties genereren met behulp van een vereenvoudigde stroom met .sof files als invoer. Om RSU-images te genereren met de .sof file, kunt u de instructies volgen in het gedeelte Een image voor een externe systeemupdate genereren Files Programmering gebruiken File Generator van de Intel Agilex 7 configuratiehandleiding. Voor elke .sof file aangegeven op de Ingang FileKlik op het tabblad Eigenschappen… en geef de juiste instellingen en sleutels op voor de ondertekenings- en coderingstools. De programmering file generator tool ondertekent en codeert automatisch fabrieks- en applicatie-images terwijl de RSU-programmering wordt gemaakt files.
Als u privésleutels opslaat in een HSM, moet u ook de tool quartus_sign gebruiken en daarom .rbf gebruiken fileS. In de rest van deze sectie worden de wijzigingen beschreven in de stroom voor het genereren van RSU-images met .rbf files als invoer. U moet het .rbf-formaat coderen en ondertekenen files voordat u ze als invoer selecteert files voor RSU-afbeeldingen; echter de RSU-opstartinformatie file mag niet worden gecodeerd en alleen worden ondertekend. De programmering File Generator ondersteunt geen wijziging van eigenschappen van het .rbf-formaat files.
De volgende examples demonstreren de noodzakelijke wijzigingen aan de commando's in de sectie Een externe systeemupdate-image genereren Files Programmering gebruiken File Generator van de Intel Agilex 7 configuratiehandleiding.
Het initiële RSU-beeld genereren met behulp van .rbf Files: Commandowijziging
Van het genereren van de initiële RSU-afbeelding met behulp van .rbf Files-sectie wijzigt u de opdrachten in stap 1. om de ontwerpbeveiligingsfuncties naar wens in te schakelen, met behulp van de instructies uit eerdere secties van dit document.
Bijvoorbeeldample, zou u een ondertekende firmware opgeven file als u firmware-cosigning gebruikte, gebruik dan de Quartus-coderingstool om elke .rbf te coderen fileen gebruik ten slotte de tool quartus_sign om ze allemaal te ondertekenen file.
Als u in stap 2 medeondertekening van de firmware hebt ingeschakeld, moet u een extra optie gebruiken bij het maken van de boot .rbf van de fabrieksimage file:
quartus_pfg -c fabriek.sof boot.rbf -o rsu_boot=AAN -o fw_source=signed_agilex.zip
Nadat u de opstartinfo .rbf hebt gemaakt file, gebruikt u de tool quartus_sign om de .rbf te ondertekenen file. U mag de opstartinformatie .rbf niet coderen file.
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 55
5. Geavanceerde functies 683823 | 2023.05.23/XNUMX/XNUMX
Een applicatie-image genereren: opdrachtwijziging
Om een applicatie-image te genereren met ontwerpbeveiligingsfuncties, wijzigt u de opdracht in Generating an Application Image om een .rbf te gebruiken met ingeschakelde ontwerpbeveiligingsfuncties, inclusief mede-ondertekende firmware indien nodig, in plaats van het oorspronkelijke applicatie-.sof file:
quartus_pfg -c cosigned_fw_signed_encrypted_application.rbf Secured_rsu_application.rpd -o mode=ASX4 -o bitswap=AAN
Een fabrieksupdate-image genereren: opdrachtwijziging
Nadat u de opstartinfo .rbf hebt gemaakt file, je gebruikt de quartus_sign tool om het .rbf bestand te ondertekenen file. U mag de opstartinformatie .rbf niet coderen file.
Om een RSU-fabrieksupdate-image te genereren, wijzigt u de opdracht van Een fabrieksupdate-image genereren om een .rbf-bestand te gebruiken file met ingeschakelde ontwerpbeveiligingsfuncties en voeg de optie toe om het gebruik van de medeondertekende firmware aan te geven:
quartus_pfg -c cosigned_fw_signed_encrypted_factory.rbf secured_rsu_factory_update.rpd -o mode=ASX4 -o bitswap=AAN -o rsu_upgrade=AAN -o fw_source=signed_agilex.zip
Gerelateerde informatie Intel Agilex 7 Configuratie Gebruikershandleiding
5.6. SDM-cryptografische diensten
De SDM op Intel Agilex 7-apparaten biedt cryptografische services die FPGA-fabriclogica of de HPS kan aanvragen via de betreffende SDM-mailboxinterface. Raadpleeg Appendix B in de Security Methodology for Intel FPGAs and Structured ASICs User Guide voor meer informatie over de mailboxopdrachten en gegevensformaten voor alle SDM-cryptografische services.
Om toegang te krijgen tot de SDM-mailboxinterface voor FPGA-fabriclogica voor SDM-cryptografische services, moet u het Mailbox Client Intel FPGA IP-adres in uw ontwerp instantiëren.
Referentiecode voor toegang tot de SDM-mailboxinterface vanuit de HPS is opgenomen in de ATF- en Linux-code die door Intel wordt geleverd.
Gerelateerde informatie Mailbox Client Intel FPGA IP Gebruikershandleiding
5.6.1. Door de leverancier geautoriseerde opstart
Intel biedt een referentie-implementatie voor HPS-software die gebruikmaakt van de door de leverancier geautoriseerde opstartfunctie om HPS-opstartsoftware vanaf het eerste moment te verifiëren.tage bootloader tot aan de Linux-kernel.
Gerelateerde informatie Intel Agilex 7 SoC Secure Boot Demo-ontwerp
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 56
Feedback verzenden
5. Geavanceerde functies 683823 | 2023.05.23/XNUMX/XNUMX
5.6.2. Beveiligde data-objectservice
U stuurt de opdrachten via de SDM-mailbox om SDOS-objectencryptie en -decryptie uit te voeren. U kunt de SDOS-functie gebruiken nadat u de SDOS-rootsleutel hebt geprovisioneerd.
Verwante informatie Secure Data Object Service Root Key Provisioning op pagina 30
5.6.3. SDM cryptografische primitieve diensten
U stuurt de opdrachten via de SDM-mailbox om SDM-cryptografische primitieve servicebewerkingen te starten. Sommige cryptografische primitieve services vereisen dat er meer gegevens van en naar de SDM worden overgebracht dan de mailboxinterface kan accepteren. In deze gevallen verandert de opdracht van de indeling om pointers naar gegevens in het geheugen te bieden. Bovendien moet u de instantiatie van de Mailbox Client Intel FPGA IP wijzigen om SDM-cryptografische primitieve services van de FPGA-fabriclogica te gebruiken. U moet bovendien de parameter Enable Crypto Service instellen op 1 en de nieuw blootgestelde AXI-initiatorinterface verbinden met een geheugen in uw ontwerp.
Figuur 21. SDM Cryptographic Services inschakelen in de Mailbox Client Intel FPGA IP
5.7. Bitstreambeveiligingsinstellingen (FM/S10)
FPGA Bitstream Security-opties zijn een verzameling beleidsregels die de opgegeven functie of werkingsmodus binnen een bepaalde periode beperken.
Bitstream Security-opties bestaan uit vlaggen die u instelt in Intel Quartus Prime Pro Edition-software. Deze vlaggen worden automatisch gekopieerd in de configuratiebitstreams.
U kunt beveiligingsopties permanent op een apparaat afdwingen met behulp van de bijbehorende beveiligingsinstelling eFuse.
Om beveiligingsinstellingen in de configuratiebitstream of apparaat-eFuses te kunnen gebruiken, moet u de authenticatiefunctie inschakelen.
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 57
5. Geavanceerde functies 683823 | 2023.05.23/XNUMX/XNUMX
5.7.1. Beveiligingsopties selecteren en inschakelen
Om beveiligingsopties te selecteren en in te schakelen, doet u het volgende: Selecteer in het menu Toewijzingen Apparaat Apparaat- en pinopties Beveiliging Meer opties… Afbeelding 22. Beveiligingsopties selecteren en inschakelen
Selecteer vervolgens de waarden uit de vervolgkeuzelijsten voor de beveiligingsopties die u wilt inschakelen, zoals weergegeven in het volgende voorbeeld.ampon:
Figuur 23. Waarden selecteren voor beveiligingsopties
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 58
Feedback verzenden
5. Geavanceerde functies 683823 | 2023.05.23/XNUMX/XNUMX
Hieronder staan de overeenkomstige wijzigingen in de Quartus Prime-instellingen .qsf file:
set_global_assignment -naam SECU_OPTION_DISABLE_JTAG “AAN CONTROLE” set_global_assignment -name SECU_OPTION_FORCE_ENCRYPTION_KEY_UPDATE “AAN STICKY” set_global_assignment -name SECU_OPTION_FORCE_SDM_CLOCK_TO_INT_OSC AAN set_global_assignment -name SECU_OPTION_DISABLE_VIRTUAL_EFUSES AAN set_global_assignment -name SECU_OPTION_LOCK_SECURITY_EFUSES AAN set_global_assignment -name SECU_OPTION_DISABLE_HPS_DEBUG AAN set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES AAN set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES AAN set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES AAN set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES AAN set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES AAN set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_BBRAM AAN set_global_assignment -name SECU_OPTION_DISABLE_PUF_WRAPPED_ENCRYPTION_KEY AAN
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 59
683823 | 2023.05.23 Feedback verzenden
Probleemoplossing
In dit hoofdstuk worden veelvoorkomende fouten en waarschuwingsberichten beschreven die u kunt tegenkomen wanneer u de beveiligingsfuncties van uw apparaat probeert te gebruiken, en de maatregelen die u kunt nemen om deze fouten en waarschuwingsberichten op te lossen.
6.1. Quartus-opdrachten gebruiken in een Windows-omgeving Fout
Fout quartus_pgm: opdracht niet gevonden Beschrijving Deze fout wordt weergegeven wanneer u probeert Quartus-opdrachten te gebruiken in een NIOS II Shell in een Windows-omgeving met behulp van WSL. Oplossing Deze opdracht werkt in een Linux-omgeving; voor Windows-hosts gebruikt u de volgende opdracht: quartus_pgm.exe -h Pas dezelfde syntaxis toe op andere Quartus Prime-opdrachten, zoals quartus_pfg, quartus_sign, quartus_encrypt en andere opdrachten.
Intel Corporation. Alle rechten voorbehouden. Intel, het Intel-logo en andere Intel-merken zijn handelsmerken van Intel Corporation of haar dochterondernemingen. Intel garandeert de prestaties van zijn FPGA- en halfgeleiderproducten volgens de huidige specificaties in overeenstemming met de standaardgarantie van Intel, maar behoudt zich het recht voor om op elk moment zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Intel aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van informatie, producten of diensten die hierin worden beschreven, behalve zoals uitdrukkelijk schriftelijk overeengekomen door Intel. Intel-klanten wordt geadviseerd om de nieuwste versie van apparaatspecificaties te verkrijgen voordat ze vertrouwen op gepubliceerde informatie en voordat ze producten of diensten bestellen. *Andere namen en merken kunnen worden geclaimd als eigendom van anderen.
ISO 9001: 2015 geregistreerd
6. Problemen oplossen 683823 | 2023.05.23
6.2. Een waarschuwing voor een privésleutel genereren
Waarschuwing:
Het opgegeven wachtwoord wordt als onveilig beschouwd. Intel raadt aan om minimaal 13 tekens van het wachtwoord te gebruiken. U wordt aangeraden om het wachtwoord te wijzigen met behulp van het OpenSSL-uitvoerbare bestand.
openssl ec -in -uit -aes256
Beschrijving
Deze waarschuwing heeft betrekking op de sterkte van het wachtwoord en wordt weergegeven wanneer u probeert een persoonlijke sleutel te genereren door de volgende opdrachten uit te voeren:
quartus_sign –familie=agilex –bewerking=maak_private_pem –curve=secp3841 root.pem
Resolutie Gebruik het openssl-uitvoerbare bestand om een langer en dus sterker wachtwoord op te geven.
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 61
6. Problemen oplossen 683823 | 2023.05.23
6.3. Een ondertekeningssleutel toevoegen aan het Quartus-project Fout
Fout …File bevat root-sleutelinformatie…
Beschrijving
Na het toevoegen van een ondertekeningssleutel .qky file voor het Quartus-project moet u de .sof opnieuw samenstellen file. Wanneer u deze geregenereerde .sof toevoegt file naar het geselecteerde apparaat met behulp van Quartus Programmer, geeft het volgende foutbericht aan dat de file bevat root-sleutelinformatie:
Toevoegen misluktfile-pad-naam> naar Programmeur. De file bevat root key informatie (.qky). Programmer ondersteunt echter geen bitstream signing feature. U kunt Programming gebruiken File Generator om de file naar de ondertekende Raw Binary file (.rbf) voor configuratie.
Oplossing
Gebruik de Quartus-programmering file generator om de file in een ondertekende Raw Binary File .rbf voor configuratie.
Verwante informatie Ondertekening Configuratie Bitstream Met behulp van de quartus_sign-opdracht op pagina 13
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 62
Feedback verzenden
6. Problemen oplossen 683823 | 2023.05.23
6.4. Quartus Prime-programmering genereren File was niet succesvol
Fout
Fout (20353): X van de openbare sleutel van QKY komt niet overeen met de privésleutel van PEM file.
Fout (20352): Het ondertekenen van de bitstream via het Python-script agilex_sign.py is mislukt.
Fout: Quartus Prime-programmering File Generator werkte niet.
Beschrijving Als u probeert een configuratiebitstream te ondertekenen met een onjuiste privésleutel .pem file of een .pem file die niet overeenkomt met de .qky die aan het project is toegevoegd, worden de bovenstaande veelvoorkomende fouten weergegeven. Oplossing Zorg ervoor dat u de juiste privésleutel .pem gebruikt om de bitstream te ondertekenen.
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 63
6. Problemen oplossen 683823 | 2023.05.23
6.5. Onbekende argumentfouten
Fout
Fout (23028): Onbekend argument “ûc”. Raadpleeg –help voor juridische argumenten.
Fout (213008): Programmeeroptiereeks “ûp” is illegaal. Raadpleeg –help voor legale programmeeroptieformaten.
Beschrijving Als u opdrachtregelopties kopieert en plakt uit een .pdf-bestand file in de Windows NIOS II Shell, kunt u onbekende argumentfouten tegenkomen zoals hierboven weergegeven. Oplossing In dergelijke gevallen kunt u de opdrachten handmatig invoeren in plaats van ze te plakken vanuit het klembord.
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 64
Feedback verzenden
6. Problemen oplossen 683823 | 2023.05.23
6.6. Fout bij uitgeschakelde bitstream-encryptieoptie
Fout
Kan de codering voor de niet voltooien file ontwerp .sof omdat het is gecompileerd met de bitstream-encryptieoptie uitgeschakeld.
Beschrijving Als u de bitstream probeert te coderen via de GUI of de opdrachtregel nadat u het project hebt gecompileerd met de optie voor bitstreamcodering uitgeschakeld, wijst Quartus de opdracht af zoals hierboven weergegeven.
Resolutie Zorg ervoor dat u het project compileert met de bitstream-encryptieoptie ingeschakeld via GUI of opdrachtregel. Om deze optie in GUI in te schakelen, moet u het selectievakje voor deze optie aanvinken.
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 65
6. Problemen oplossen 683823 | 2023.05.23
6.7. Het juiste pad naar de sleutel specificeren
Fout
Fout (19516): Programmering gedetecteerd File Fout bij generatorinstellingen: Kan 'key_ niet vindenfile'. Zorg ervoor dat de file bevindt zich op de verwachte locatie of werk de instelling bij.sec
Fout (19516): Programmering gedetecteerd File Fout bij generatorinstellingen: Kan 'key_ niet vindenfile'. Zorg ervoor dat de file bevindt zich op de verwachte locatie of werkt u de instelling bij.
Beschrijving
Als u sleutels gebruikt die op de file systeem, moet u ervoor zorgen dat ze het juiste pad specificeren voor de sleutels die worden gebruikt voor bitstream-encryptie en ondertekening. Als de programmering File De generator kan het juiste pad niet vinden, de bovenstaande foutmeldingen worden weergegeven.
Oplossing
Raadpleeg de Quartus Prime-instellingen .qsf file om de juiste paden voor de sleutels te vinden. Zorg ervoor dat u relatieve paden gebruikt in plaats van absolute paden.
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 66
Feedback verzenden
6. Problemen oplossen 683823 | 2023.05.23
6.8. Niet-ondersteunde uitvoer gebruiken File Type
Fout
quartus_pfg -c ontwerp.sof uitvoer_file.ebf -o finalize_operation=AAN -o qek_file=ae.qek -o ondertekening=AAN -o pem_file=teken_privé.pem
Fout (19511): Niet-ondersteunde uitvoer file type (ebf). Gebruik de optie “-l” of “–list” om ondersteunde file type-informatie.
Beschrijving Tijdens het gebruik van de Quartus-programmering File Generator om de gecodeerde en ondertekende configuratiebitstream te genereren, u ziet mogelijk de bovenstaande fout als er een niet-ondersteunde uitvoer is file type is opgegeven. Resolutie Gebruik de optie -l of –list om de lijst met ondersteunde file typen.
Feedback verzenden
Intel Agilex® 7 Apparaatbeveiliging Gebruikershandleiding 67
683823 | 2023.05.23 Feedback verzenden
7. Intel Agilex 7 Device Security Gebruikershandleiding Archieven
Voor de nieuwste en vorige versies van deze gebruikershandleiding, raadpleegt u Intel Agilex 7 Device Security User Guide. Als een IP- of softwareversie niet wordt vermeld, is de gebruikershandleiding voor de vorige IP- of softwareversie van toepassing.
Intel Corporation. Alle rechten voorbehouden. Intel, het Intel-logo en andere Intel-merken zijn handelsmerken van Intel Corporation of haar dochterondernemingen. Intel garandeert de prestaties van zijn FPGA- en halfgeleiderproducten volgens de huidige specificaties in overeenstemming met de standaardgarantie van Intel, maar behoudt zich het recht voor om op elk moment zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Intel aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van informatie, producten of diensten die hierin worden beschreven, behalve zoals uitdrukkelijk schriftelijk overeengekomen door Intel. Intel-klanten wordt geadviseerd om de nieuwste versie van apparaatspecificaties te verkrijgen voordat ze vertrouwen op gepubliceerde informatie en voordat ze producten of diensten bestellen. *Andere namen en merken kunnen worden geclaimd als eigendom van anderen.
ISO 9001: 2015 geregistreerd
683823 | 2023.05.23 Feedback verzenden
8. Revisiegeschiedenis voor de Intel Agilex 7 Device Security-gebruikershandleiding
Documentversie 2023.05.23
2022.11.22 2022.04.04 2022.01.20
2021.11.09
Documenten / Bronnen
![]() |
Intel Agilex 7-apparaatbeveiliging [pdf] Gebruikershandleiding Agilex 7 Apparaatbeveiliging, Agilex 7, Apparaatbeveiliging, Beveiliging |