Bezpieczeństwo urządzeń Intel Agilex 7
Informacje o produkcie
Specyfikacje
- Numer modelu: UG-20335
- Data wydania: 2023.05.23
Instrukcje użytkowania produktu
1. Zaangażowanie w bezpieczeństwo produktu
Firma Intel dba o bezpieczeństwo produktów i zaleca użytkownikom zapoznanie się z udostępnionymi zasobami dotyczącymi bezpieczeństwa produktów. Z zasobów tych należy korzystać przez cały okres użytkowania produktu Intel.
2. Planowane funkcje bezpieczeństwa
W przyszłej wersji oprogramowania Intel Quartus Prime Pro Edition planowane są następujące funkcje zabezpieczeń:
- Weryfikacja bezpieczeństwa strumienia bitów częściowej rekonfiguracji: zapewnia dodatkową pewność, że strumienie bitów częściowej rekonfiguracji (PR) nie mają dostępu do innych strumieni bitów osoby PR ani nie zakłócają ich.
- Samozabicie urządzenia w celu fizycznego zwalczania Tamper: Wykonuje czyszczenie urządzenia lub reakcję zerowania urządzenia i programuje eFuse, aby zapobiec ponownej konfiguracji urządzenia.
3. Dostępna dokumentacja bezpieczeństwa
W poniższej tabeli wymieniono dostępną dokumentację dotyczącą funkcji zabezpieczeń urządzeń Intel FPGA i Structured ASIC:
Nazwa dokumentu | Zamiar |
---|---|
Metodologia zabezpieczeń dla użytkowników układów Intel FPGA i strukturalnych układów ASIC Przewodnik |
Dokument najwyższego poziomu, który zawiera szczegółowe opisy funkcje i technologie zabezpieczeń w programowalnych rozwiązaniach firmy Intel Produkty. Pomaga użytkownikom wybrać niezbędne funkcje zabezpieczeń spełniają swoje cele w zakresie bezpieczeństwa. |
Podręcznik użytkownika zabezpieczeń urządzenia Intel Stratix 10 | Instrukcje do wdrożenia dla użytkowników urządzeń Intel Stratix 10 funkcje bezpieczeństwa zidentyfikowane przy użyciu Metodologii Bezpieczeństwa Instrukcja użytkownika. |
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex 7 | Instrukcje do wdrożenia dla użytkowników urządzeń Intel Agilex 7 funkcje bezpieczeństwa zidentyfikowane przy użyciu Metodologii Bezpieczeństwa Instrukcja użytkownika. |
Podręcznik użytkownika zabezpieczeń urządzenia Intel eASIC N5X | Instrukcje do wdrożenia dla użytkowników urządzeń Intel eASIC N5X funkcje bezpieczeństwa zidentyfikowane przy użyciu Metodologii Bezpieczeństwa Instrukcja użytkownika. |
Usługi kryptograficzne Intel Agilex 7 i Intel eASIC N5X HPS Instrukcja użytkownika |
Informacje dla inżynierów oprogramowania HPS dotyczące wdrożenia oraz korzystanie z bibliotek oprogramowania HPS w celu uzyskania dostępu do usług kryptograficznych dostarczone przez SDM. |
Skrócona instrukcja obsługi usługi udostępniania kluczy AN-968 | Wykonaj zestaw kroków, aby skonfigurować obsługę Black Key praca. |
Często zadawane pytania
P: Jaki jest cel Podręcznika użytkownika metodologii zabezpieczeń?
Odp.: Podręcznik użytkownika metodologii zabezpieczeń zawiera szczegółowe opisy funkcji i technologii zabezpieczeń w produktach Intel Programmable Solutions. Pomaga użytkownikom wybrać niezbędne funkcje bezpieczeństwa, aby spełnić ich cele bezpieczeństwa.
P: Gdzie mogę znaleźć Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex 7?
Odp.: Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex 7 można znaleźć w Centrum zasobów i projektów Intel webstrona.
P: Czym jest usługa Black Key Provisioning?
O: Usługa Black Key Provisioning to usługa zapewniająca kompletny zestaw kroków umożliwiających skonfigurowanie dostarczania kluczy w celu zapewnienia bezpiecznych operacji.
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7
Zaktualizowano dla pakietu Intel® Quartus® Prime Design Suite: 23.1
Wersja online Prześlij opinię
UG-20335
683823 2023.05.23
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 2
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 3
683823 | 2023.05.23 Prześlij opinię
1. Intel Agilex® 7
Koniec zabezpieczeń urządzeniaview
Firma Intel® projektuje urządzenia Intel Agilex® 7 z dedykowanym, wysoce konfigurowalnym sprzętem zabezpieczającym i oprogramowaniem sprzętowym.
Ten dokument zawiera instrukcje ułatwiające korzystanie z oprogramowania Intel Quartus® Prime Pro Edition w celu wdrożenia funkcji zabezpieczeń w urządzeniach Intel Agilex 7.
Ponadto podręcznik użytkownika Metodologia zabezpieczeń dla układów Intel FPGA i strukturalnych układów ASIC jest dostępny w Centrum zasobów i projektów firmy Intel. Ten dokument zawiera szczegółowe opisy funkcji zabezpieczeń i technologii dostępnych w produktach Intel Programmable Solutions, które pomogą Ci wybrać funkcje zabezpieczeń niezbędne do spełnienia Twoich celów w zakresie bezpieczeństwa. Skontaktuj się z pomocą techniczną firmy Intel pod numerem referencyjnym 14014613136, aby uzyskać dostęp do podręcznika użytkownika Metodologia zabezpieczeń dla układów Intel FPGA i strukturalnych układów ASIC.
Dokument jest zorganizowany w następujący sposób: · Uwierzytelnianie i autoryzacja: Zawiera instrukcje dotyczące tworzenia
klucze uwierzytelniające i łańcuchy podpisów, stosowanie uprawnień i unieważnień, podpisywanie obiektów i funkcje uwierzytelniania programów na urządzeniach Intel Agilex 7. · Szyfrowanie strumienia bitów AES: Zawiera instrukcje dotyczące tworzenia klucza głównego AES, szyfrowania strumieni bitów konfiguracji i udostępniania klucza głównego AES urządzeniom Intel Agilex 7. · Device Provisioning: Zawiera instrukcje dotyczące korzystania z oprogramowania układowego Intel Quartus Prime Programmer i Secure Device Manager (SDM) w celu programowania funkcji zabezpieczeń na urządzeniach Intel Agilex 7. · Funkcje zaawansowane: Zawiera instrukcje dotyczące włączania zaawansowanych funkcji zabezpieczeń, w tym autoryzacji bezpiecznego debugowania, debugowania systemu procesora twardego (HPS) i zdalnej aktualizacji systemu.
1.1. Zaangażowanie w bezpieczeństwo produktu
Długotrwałe zaangażowanie firmy Intel w bezpieczeństwo nigdy nie było tak silne. Firma Intel zdecydowanie zaleca zapoznanie się z naszymi zasobami dotyczącymi bezpieczeństwa produktów i zaplanowanie korzystania z nich przez cały okres użytkowania produktu Intel.
Powiązane informacje · Bezpieczeństwo produktów w firmie Intel · Poradniki Centrum bezpieczeństwa produktów Intel
Korporacja intelektualna. Wszelkie prawa zastrzeżone. Intel, logo Intel i inne znaki Intel są znakami towarowymi firmy Intel Corporation lub jej podmiotów zależnych. Firma Intel gwarantuje wydajność swoich produktów FPGA i półprzewodników zgodnie z aktualnymi specyfikacjami zgodnie ze standardową gwarancją firmy Intel, ale zastrzega sobie prawo do wprowadzania zmian w dowolnych produktach i usługach w dowolnym czasie bez powiadomienia. Firma Intel nie ponosi żadnej odpowiedzialności wynikającej z zastosowania lub wykorzystania jakichkolwiek informacji, produktów lub usług opisanych w niniejszym dokumencie, z wyjątkiem przypadków wyraźnie uzgodnionych na piśmie przez firmę Intel. Klienci firmy Intel powinni uzyskać najnowszą wersję specyfikacji urządzeń przed poleganiem na jakichkolwiek opublikowanych informacjach oraz przed złożeniem zamówienia na produkty lub usługi. *Inne nazwy i marki mogą być przedmiotem praw osób trzecich.
Zarejestrowany zgodnie z ISO 9001: 2015
1. Koniec zabezpieczeń urządzeń Intel Agilex® 7view 683823 | 2023.05.23
1.2. Planowane funkcje bezpieczeństwa
Funkcje wymienione w tej sekcji są planowane w przyszłej wersji oprogramowania Intel Quartus Prime Pro Edition.
Notatka:
Informacje zawarte w tej sekcji mają charakter wstępny.
1.2.1. Częściowa rekonfiguracja Weryfikacja bezpieczeństwa strumienia bitów
Weryfikacja bezpieczeństwa strumienia bitów związanej z częściową rekonfiguracją (PR) pomaga zapewnić dodatkową pewność, że strumienie bitów PR persona nie mają dostępu do innych strumieni bitów PR persona ani nie zakłócają ich.
1.2.2. Samozabicie urządzenia w celu fizycznego zwalczania Tamper
Samozabicie urządzenia wykonuje czyszczenie urządzenia lub reakcję zerowania urządzenia, a dodatkowo programuje eFuse, aby zapobiec ponownej konfiguracji urządzenia.
1.3. Dostępna dokumentacja bezpieczeństwa
W poniższej tabeli wymieniono dostępną dokumentację dotyczącą funkcji zabezpieczeń urządzeń Intel FPGA i Structured ASIC:
Tabela 1.
Dostępna dokumentacja dotycząca bezpieczeństwa urządzenia
Nazwa dokumentu
Metodologia zabezpieczeń dla podręcznika użytkownika układów Intel FPGA i strukturalnych układów ASIC
Zamiar
Dokument najwyższego poziomu zawierający szczegółowe opisy funkcji i technologii zabezpieczeń w produktach Intel Programmable Solutions. Zaprojektowane, aby pomóc Ci wybrać funkcje bezpieczeństwa niezbędne do spełnienia Twoich celów bezpieczeństwa.
Identyfikator dokumentu 721596
Podręcznik użytkownika zabezpieczeń urządzenia Intel Stratix 10
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex 7
Dla użytkowników urządzeń Intel Stratix 10 niniejszy podręcznik zawiera instrukcje dotyczące korzystania z oprogramowania Intel Quartus Prime Pro Edition w celu wdrożenia funkcji zabezpieczeń określonych w Podręczniku użytkownika metodologii zabezpieczeń.
Dla użytkowników urządzeń Intel Agilex 7 niniejszy podręcznik zawiera instrukcje dotyczące korzystania z oprogramowania Intel Quartus Prime Pro Edition w celu wdrożenia funkcji zabezpieczeń określonych w Podręczniku użytkownika metodologii zabezpieczeń.
683642 683823
Podręcznik użytkownika zabezpieczeń urządzenia Intel eASIC N5X
Dla użytkowników urządzeń Intel eASIC N5X niniejszy podręcznik zawiera instrukcje dotyczące korzystania z oprogramowania Intel Quartus Prime Pro Edition w celu wdrożenia funkcji zabezpieczeń określonych w Podręczniku użytkownika metodologii zabezpieczeń.
626836
Podręcznik użytkownika usług kryptograficznych Intel Agilex 7 i Intel eASIC N5X HPS
Ten przewodnik zawiera informacje mające pomóc inżynierom oprogramowania HPS we wdrażaniu i używaniu bibliotek oprogramowania HPS w celu uzyskania dostępu do usług kryptograficznych świadczonych przez SDM.
713026
Skrócona instrukcja obsługi usługi udostępniania kluczy AN-968
Ten przewodnik zawiera kompletny zestaw kroków niezbędnych do skonfigurowania usługi Black Key Provisioning.
739071
Lokalizacja Zasoby Intel i
Centrum projektowe
Intel.com
Intel.com
Centrum zasobów i projektowania firmy Intel
Centrum zasobów i projektowania firmy Intel
Centrum zasobów i projektowania firmy Intel
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 5
683823 | 2023.05.23 Prześlij opinię
Aby włączyć funkcje uwierzytelniania urządzenia Intel Agilex 7, zacznij od użycia oprogramowania Intel Quartus Prime Pro Edition i powiązanych narzędzi w celu zbudowania łańcucha podpisów. Łańcuch podpisów składa się z klucza głównego, jednego lub większej liczby kluczy podpisujących i odpowiednich autoryzacji. Stosujesz łańcuch sygnatur do projektu Intel Quartus Prime Pro Edition i skompilowanego programowania fileS. Skorzystaj z instrukcji w sekcji Device Provisioning, aby zaprogramować klucz główny w urządzeniach Intel Agilex 7.
Informacje powiązane
Udostępnianie urządzeń na stronie 25
2.1. Tworzenie łańcucha podpisów
Do wykonywania operacji na łańcuchu podpisów możesz użyć narzędzia quartus_sign lub implementacji referencyjnej agilex_sign.py. Dokument ten zapewnia npamples przy użyciu quartus_sign.
Aby skorzystać z implementacji referencyjnej, należy wywołać interpreter języka Python dołączony do oprogramowania Intel Quartus Prime i pominąć opcję –family=agilex; wszystkie inne opcje są równoważne. Na przykładample, polecenie quartus_sign znalezione w dalszej części tej sekcji
quartus_sign –family=agilex –operacja=make_root root_public.pem root.qky można przekonwertować na równoważne wywołanie implementacji referencyjnej w następujący sposób
pgm_py agilex_sign.py –operacja=make_root root_public.pem root.qky
Oprogramowanie Intel Quartus Prime Pro Edition obejmuje narzędzia quartus_sign, pgm_py i agilex_sign.py. Możesz użyć narzędzia powłoki poleceń Nios® II, które automatycznie ustawia odpowiednie zmienne środowiskowe w celu uzyskania dostępu do narzędzi.
Postępuj zgodnie z poniższymi instrukcjami, aby wyświetlić powłokę poleceń Nios II. 1. Wyświetl powłokę poleceń Nios II.
Opcja Windows
Linux
Opis
W menu Start wskaż Programy Intel FPGA Nios II EDS i kliknij Nios II Powłoka poleceń.
W powłoce poleceń zmień na /nios2eds i uruchom następujące polecenie:
./nios2_command_shell.sh
ByłyampPliki w tej sekcji zakładają łańcuch sygnatur i strumień bitów konfiguracji files znajdują się w bieżącym katalogu roboczym. Jeśli zdecydujesz się podążać za byłymamples gdzie klucz filesą przechowywane na file systemu, npampLes zakłada klucz filesą
Korporacja intelektualna. Wszelkie prawa zastrzeżone. Intel, logo Intel i inne znaki Intel są znakami towarowymi firmy Intel Corporation lub jej podmiotów zależnych. Firma Intel gwarantuje wydajność swoich produktów FPGA i półprzewodników zgodnie z aktualnymi specyfikacjami zgodnie ze standardową gwarancją firmy Intel, ale zastrzega sobie prawo do wprowadzania zmian w dowolnych produktach i usługach w dowolnym czasie bez powiadomienia. Firma Intel nie ponosi żadnej odpowiedzialności wynikającej z zastosowania lub wykorzystania jakichkolwiek informacji, produktów lub usług opisanych w niniejszym dokumencie, z wyjątkiem przypadków wyraźnie uzgodnionych na piśmie przez firmę Intel. Klienci firmy Intel powinni uzyskać najnowszą wersję specyfikacji urządzeń przed poleganiem na jakichkolwiek opublikowanych informacjach oraz przed złożeniem zamówienia na produkty lub usługi. *Inne nazwy i marki mogą być przedmiotem praw osób trzecich.
Zarejestrowany zgodnie z ISO 9001: 2015
2. Uwierzytelnianie i autoryzacja 683823 | 2023.05.23
znajduje się w bieżącym katalogu roboczym. Możesz wybrać, które katalogi mają być używane, a narzędzia obsługują względne file ścieżki. Jeśli zdecydujesz się zachować klucz filejest na file systemu, należy uważnie zarządzać uprawnieniami dostępu do nich files.
Firma Intel zaleca używanie dostępnego na rynku sprzętowego modułu zabezpieczającego (HSM) do przechowywania kluczy kryptograficznych i wykonywania operacji kryptograficznych. Narzędzie quartus_sign i implementacja referencyjna obejmują standard kryptografii klucza publicznego nr 11 (PKCS nr 11) interfejs programowania aplikacji (API) umożliwiający interakcję z modułem HSM podczas wykonywania operacji na łańcuchu podpisów. Implementacja referencyjna agilex_sign.py zawiera streszczenie interfejsu oraz przykładampinterfejs pliku do SoftHSM.
Możesz użyć tych npample interfejsy, aby zaimplementować interfejs do HSM. Więcej informacji na temat implementowania interfejsu i obsługi modułu HSM można znaleźć w dokumentacji dostawcy modułu HSM.
SoftHSM to implementacja oprogramowania ogólnego urządzenia kryptograficznego z interfejsem PKCS #11 udostępniana w ramach projektu OpenDNSSEC®. Więcej informacji, w tym instrukcje dotyczące pobierania, budowania i instalowania OpenHSM, możesz znaleźć w projekcie OpenDNSSEC. ByłyampPliki w tej sekcji wykorzystują wersję SoftHSM 2.6.1. Byłyamppliki w tej sekcji dodatkowo wykorzystują narzędzie pkcs11-tool z OpenSC do wykonywania dodatkowych operacji PKCS #11 za pomocą tokena SoftHSM. Możesz znaleźć więcej informacji, w tym instrukcje dotyczące pobierania, budowania i instalowania pkcs11tool z OpenSC.
Informacje powiązane
· Projekt OpenDNSSEC Oparta na zasadach osoba podpisująca strefę do automatyzacji procesu śledzenia kluczy DNSSEC.
· SoftHSM Informacje o wdrożeniu magazynu kryptograficznego dostępne poprzez interfejs PKCS #11.
· OpenSC Zapewnia zestaw bibliotek i narzędzi umożliwiających współpracę z kartami inteligentnymi.
2.1.1. Tworzenie par kluczy uwierzytelniających lokalnie File System
Narzędzie quartus_sign służy do tworzenia par kluczy uwierzytelniających lokalnie file systemu za pomocą operacji narzędziowych make_private_pem i make_public_pem. Najpierw generujesz klucz prywatny za pomocą operacji make_private_pem. Określasz krzywą eliptyczną, której chcesz użyć, czyli klucz prywatny filenazwę i opcjonalnie, czy chronić klucz prywatny hasłem. Firma Intel zaleca stosowanie krzywej secp384r1 i przestrzeganie najlepszych praktyk branżowych w celu utworzenia silnego, losowego hasła dla wszystkich kluczy prywatnych fileS. Firma Intel zaleca również ograniczenie file uprawnienia systemowe do klucza prywatnego .pem filedo przeczytania tylko przez właściciela. Klucz publiczny wyprowadzasz z klucza prywatnego za pomocą operacji make_public_pem. Pomocne jest nadanie kluczowi nazwy .pem filejest opisowo. W niniejszym dokumencie zastosowano tę konwencję _ .pem w następującym przykładzieamples.
1. W powłoce poleceń Nios II uruchom następujące polecenie, aby utworzyć klucz prywatny. Klucz prywatny pokazany poniżej jest używany jako klucz główny w późniejszym przykładzieamppliki tworzące łańcuch podpisów. Urządzenia Intel Agilex 7 obsługują wiele kluczy głównych, więc Ty
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 7
2. Uwierzytelnianie i autoryzacja 683823 | 2023.05.23
powtórz ten krok, aby utworzyć wymaganą liczbę kluczy głównych. ByłyampWszystkie pliki w tym dokumencie odnoszą się do pierwszego klucza głównego, chociaż możesz budować łańcuchy sygnatur w podobny sposób z dowolnym kluczem głównym.
Opcja Z hasłem
Opis
quartus_sign –family=agilex –operacja=make_private_pem –curve=secp384r1 root0_private.pem Wprowadź hasło, gdy zostaniesz o to poproszony.
Bez hasła
quartus_sign –family=agilex –operacja=make_private_pem –curve=secp384r1 –no_passphrase root0_private.pem
2. Uruchom następujące polecenie, aby utworzyć klucz publiczny przy użyciu klucza prywatnego wygenerowanego w poprzednim kroku. Nie musisz chronić poufności klucza publicznego.
quartus_sign –family=agilex –operacja=make_public_pem root0_private.pem root0_public.pem
3. Uruchom ponownie polecenia, aby utworzyć parę kluczy używaną jako klucz do podpisywania projektu w łańcuchu podpisów.
quartus_sign –family=agilex –operacja=make_private_pem –curve=secp384r1 design0_sign_private.pem
quartus_sign –family=agilex –operacja=make_public_pem design0_sign_private.pem design0_sign_public.pem
2.1.2. Tworzenie par kluczy uwierzytelniających w SoftHSM
Przykład SoftHSMampPliki w tym rozdziale są spójne. Niektóre parametry zależą od instalacji SoftHSM i inicjalizacji tokena w SoftHSM.
Narzędzie quartus_sign zależy od biblioteki API PKCS #11 z modułu HSM.
ByłyampW plikach w tej sekcji przyjęto założenie, że biblioteka SoftHSM jest zainstalowana w jednej z następujących lokalizacji: · /usr/local/lib/softhsm2.so w systemie Linux · C:SoftHSM2libsofthsm2.dll w 32-bitowej wersji systemu Windows · C:SoftHSM2libsofthsm2-x64 .dll w 64-bitowej wersji systemu Windows.
Zainicjuj token w SoftHSM za pomocą narzędzia softhsm2-util:
softhsm2-util –init-token –label agilex-token –pin agilex-token-pin –so-pin agilex-so-pin –bezpłatny
Parametry opcji, w szczególności etykieta tokena i pin tokena, to npamppliki używane w tym rozdziale. Firma Intel zaleca postępowanie zgodnie z instrukcjami dostawcy modułu HSM w celu tworzenia tokenów i kluczy oraz zarządzania nimi.
Tworzysz pary kluczy uwierzytelniających za pomocą narzędzia pkcs11-tool do interakcji z tokenem w SoftHSM. Zamiast jawnie odwoływać się do klucza prywatnego i publicznego .pem filejest w file system npamples, odnosisz się do pary kluczy po jej etykiecie, a narzędzie automatycznie wybiera odpowiedni klucz.
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 8
Wyślij opinię
2. Uwierzytelnianie i autoryzacja 683823 | 2023.05.23
Uruchom następujące polecenia, aby utworzyć parę kluczy używaną jako klucz główny w późniejszym przykładzieamppliki, a także parę kluczy używanych jako klucz do podpisywania projektu w łańcuchu podpisów:
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label agilex-token –login –pin agilex-token-pin –keypairgen –mechanizm ECDSA-KEY-PAIR-GEN –typ klucza EC :secp384r1 – znak użycia – etykieta root0 – id 0
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label agilex-token –login –pin agilex-token-pin –keypairgen –mechanizm ECDSA-KEY-PAIR-GEN –typ klucza EC :secp384r1 –znak użycia –projekt etykiety0_znak –id 1
Notatka:
Opcja identyfikatora w tym kroku musi być unikalna dla każdego klucza, ale jest używana tylko przez moduł HSM. Ta opcja identyfikatora nie jest powiązana z identyfikatorem anulowania klucza przypisanym w łańcuchu podpisów.
2.1.3. Tworzenie wpisu głównego łańcucha podpisów
Konwertuj główny klucz publiczny na wpis główny łańcucha podpisów, przechowywany w pliku lokalnym file system w formacie klucza Intel Quartus Prime (.qky). file, za pomocą operacji make_root. Powtórz ten krok dla każdego wygenerowanego klucza głównego.
Uruchom następujące polecenie, aby utworzyć łańcuch podpisów z wpisem głównym, używając głównego klucza publicznego z pliku file system:
quartus_sign –family=agilex –operacja=make_root –key_type=właściciel root0_public.pem root0.qky
Uruchom następujące polecenie, aby utworzyć łańcuch podpisów z wpisem głównym, używając klucza głównego z tokena SoftHSM ustalonego w poprzedniej sekcji:
quartus_sign –family=agilex –operacja=make_root –key_type=właściciel –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. Tworzenie wpisu klucza publicznego łańcucha podpisów
Utwórz nowy wpis klucza publicznego dla łańcucha podpisów za pomocą operacji append_key. Określasz poprzedni łańcuch podpisów, klucz prywatny dla ostatniego wpisu w poprzednim łańcuchu podpisów, klucz publiczny następnego poziomu, uprawnienia i identyfikator anulowania przypisany do klucza publicznego następnego poziomu oraz nowy łańcuch podpisów file.
Należy zauważyć, że biblioteka softHSM nie jest dostępna w przypadku instalacji Quartus i zamiast tego należy ją zainstalować osobno. Aby uzyskać więcej informacji na temat softHSM, zobacz sekcję Tworzenie łańcucha podpisów powyżej.
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 9
2. Uwierzytelnianie i autoryzacja 683823 | 2023.05.23
W zależności od tego, jak używasz klawiszy na file systemie lub w HSM, używasz jednego z następujących example, aby dołączyć klucz publiczny design0_sign do głównego łańcucha podpisów utworzonego w poprzedniej sekcji:
quartus_sign –family=agilex –operacja=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 –operacja=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 –poprzedni_qky=root0.qky –permission=6 –cancel=0 –input_keyname=design0_sign design0_sign_chain.qky
Możesz powtórzyć operację append_key jeszcze dwa razy dla maksymalnie trzech wpisów klucza publicznego pomiędzy wpisem głównym a wpisem bloku nagłówka w dowolnym łańcuchu sygnatur.
Następujący exampplik zakłada, że utworzyłeś inny klucz publiczny uwierzytelniania z tymi samymi uprawnieniami i przypisanym identyfikatorem anulowania 1 o nazwie design1_sign_public.pem i dołączasz ten klucz do łańcucha podpisów z poprzedniego exampna:
quartus_sign –family=agilex –operacja=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 –operacja=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
Urządzenia Intel Agilex 7 posiadają dodatkowy licznik anulowania klucza, który ułatwia korzystanie z klucza, który może zmieniać się cyklicznie przez cały okres użytkowania danego urządzenia. Możesz wybrać ten licznik anulowania klucza, zmieniając argument opcji –cancel na pts:wartość_pts.
2.2. Podpisywanie strumienia bitów konfiguracji
Urządzenia Intel Agilex 7 obsługują liczniki numeru wersji zabezpieczeń (SVN), które umożliwiają unieważnienie autoryzacji obiektu bez anulowania klucza. Przypisujesz licznik SVN i odpowiednią wartość licznika SVN podczas podpisywania dowolnego obiektu, np. sekcji bitstream, firmware .zip filelub certyfikat kompaktowy. Przypisujesz licznik SVN i wartość SVN za pomocą opcji –cancel i svn_counter:svn_value jako argumentu. Prawidłowe wartości svn_counter to svnA, svnB, svnC i svnD. Wartość_svn jest liczbą całkowitą z zakresu [0,63].
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 10
Wyślij opinię
2. Uwierzytelnianie i autoryzacja 683823 | 2023.05.23
2.2.1. Klucz Kwarcowy File Zadanie
Określasz łańcuch podpisów w projekcie oprogramowania Intel Quartus Prime, aby włączyć funkcję uwierzytelniania dla tego projektu. Z menu Przypisania wybierz opcję Urządzenie Opcje urządzenia i kodu PIN Bezpieczeństwo Klucz Quartus File, a następnie przejdź do łańcucha podpisów .qky file stworzyłeś, aby podpisać ten projekt.
Rysunek 1. Włącz ustawienie strumienia bitów konfiguracji
Alternatywnie możesz dodać następującą instrukcję przypisania do ustawień Intel Quartus Prime file (.qsf):
set_global_przypisanie -nazwa QKY_FILE design0_sign_chain.qky
Aby wygenerować plik .sof file z wcześniej skompilowanego projektu, który zawiera to ustawienie, z menu Przetwarzanie wybierz Start Start Asembler. Nowe wyjście .sof file zawiera przypisania umożliwiające uwierzytelnianie za pomocą dostarczonego łańcucha podpisów.
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 11
2. Uwierzytelnianie i autoryzacja 683823 | 2023.05.23
2.2.2. Współpodpisywanie oprogramowania układowego SDM
Narzędzie quartus_sign służy do wyodrębniania, podpisywania i instalowania odpowiedniego oprogramowania sprzętowego SDM w formacie .zip file. Podpisane oprogramowanie sprzętowe jest następnie uwzględniane w programowaniu file narzędzie generatora podczas konwersji .sof file do strumienia bitów konfiguracyjnych .rbf file. Poniższe polecenia służą do tworzenia nowego łańcucha sygnatur i podpisania oprogramowania układowego SDM.
1. Utwórz nową parę kluczy podpisujących.
A. Utwórz nową parę kluczy podpisujących w pliku file system:
quartus_sign –family=agilex –operacja=make_private_pem –curve=secp384r1 firmware1_private.pem
quartus_sign –family=agilex –operacja=make_public_pem firmware1_private.pem firmware1_public.pem
B. Utwórz nową parę kluczy podpisujących w HSM:
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label agilex-token –login –pin agilex-token-pin –keypairgen -mechanizm ECDSA-KEY-PAIR-GEN –typ klucza EC :secp384r1 –znak użycia –etykieta oprogramowania sprzętowego1 –id 1
2. Utwórz nowy łańcuch podpisów zawierający nowy klucz publiczny:
quartus_sign –family=agilex –operacja=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 –operacja=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 –poprzedni_qky=root0.qky –permission=1 –cancel=1 –input_keyname=firmware1 firmware1_sign_chain.qky
3. Skopiuj plik .zip oprogramowania sprzętowego file z katalogu instalacyjnego oprogramowania Intel Quartus Prime Pro Edition ( /devices/programmer/firmware/agilex.zip) do bieżącego katalogu roboczego.
quartus_sign –family=agilex –get_firmware=.
4. Podpisz plik .zip oprogramowania sprzętowego file. Narzędzie automatycznie rozpakowuje plik .zip file i indywidualnie podpisuje całe oprogramowanie sprzętowe .cmf files, a następnie odbudowuje plik .zip file do użytku przez narzędzia z następujących sekcji:
quartus_sign –family=agilex –operacja=znak –qky=firmware1_sign_chain.qky –cancel=svnA:0 –pem=firmware1_private.pem agilex.zip podpisany_agilex.zip
quartus_sign –family=agilex –operacja=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so”
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 12
Wyślij opinię
2. Uwierzytelnianie i autoryzacja 683823 | 2023.05.23
–keyname=firmware1 –cancel=svnA:0 –qky=firmware1_sign_chain.qky agilex.zipsigned_agilex.zip
2.2.3. Strumień bitów konfiguracji podpisywania za pomocą polecenia quartus_sign
Aby podpisać strumień bitów konfiguracji za pomocą polecenia quartus_sign, należy najpierw przekonwertować plik .sof file do surowego pliku binarnego bez znaku file (.rbf). Opcjonalnie możesz określić podpisane oprogramowanie sprzętowe, korzystając z opcji fw_source na etapie konwersji.
Możesz wygenerować surowy strumień bitów bez znaku w formacie .rbf za pomocą następującego polecenia:
quartus_pfg c o fw_source=signed_agilex.zip -osign_later=ON design.sof unsigned_bitstream.rbf
Uruchom jedno z poniższych poleceń, aby podpisać strumień bitów za pomocą narzędzia quartus_sign, w zależności od lokalizacji kluczy:
quartus_sign –family=agilex –operacja=sign –qky=design0_sign_chain.qky –pem=design0_sign_private.pem –cancel=svnA:0 unsigned_bitstream.rbf Signed_bitstream.rbf
quartus_sign –family=agilex –operacja=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 podpisany_bitstream.rbf
Możesz przekonwertować podpisany plik .rbf files do innego strumienia bitów konfiguracji file formaty.
Na przykładample, jeśli używasz odtwarzacza Jam* Standard Test and Programming Language (STAPL) do programowania strumienia bitów przez JTAG, użyj następującego polecenia, aby przekonwertować plik .rbf file do formatu .jam wymaganego przez odtwarzacz Jam STAPL:
quartus_pfg -c podpisany_bitstream.rbf podpisany_bitstream.jam
2.2.4. Częściowa rekonfiguracja Obsługa wielu organów
Urządzenia Intel Agilex 7 obsługują uwierzytelnianie wieloautorskie z częściową rekonfiguracją, w którym właściciel urządzenia tworzy i podpisuje statyczny strumień bitów, a oddzielny właściciel PR tworzy i podpisuje strumienie bitów osoby PR. Urządzenia Intel Agilex 7 wdrażają obsługę wielu organów, przypisując pierwsze gniazda klucza głównego uwierzytelniania do urządzenia lub właściciela statycznego strumienia bitów i przypisując ostatnie gniazdo klucza głównego uwierzytelniania właścicielowi strumienia bitów osoby z częściową rekonfiguracją.
Jeśli funkcja uwierzytelniania jest włączona, wszystkie obrazy osób PR muszą zostać podpisane, łącznie z zagnieżdżonymi obrazami osób PR. Obrazy PR mogą być podpisane przez właściciela urządzenia lub przez właściciela PR; jednakże strumienie bitów regionu statycznego muszą być podpisane przez właściciela urządzenia.
Notatka:
Częściowa rekonfiguracja szyfrowania statycznego i osobistego strumienia bitów po włączeniu obsługi wielu organów jest planowana w przyszłej wersji.
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 13
2. Uwierzytelnianie i autoryzacja 683823 | 2023.05.23
Rysunek 2.
Wdrożenie obsługi wielu organów w ramach częściowej rekonfiguracji wymaga kilku kroków:
1. Właściciel urządzenia lub statycznego strumienia bitów generuje jeden lub więcej kluczy głównych uwierzytelniania, jak opisano w Tworzenie par kluczy uwierzytelniających w SoftHSM na stronie 8, gdzie opcja –key_type ma wartość właściciel.
2. Właściciel strumienia bitów częściowej rekonfiguracji generuje klucz główny uwierzytelniania, ale zmienia wartość opcji –key_type na właściciel_wtórny.
3. Zarówno właściciele projektu statycznego strumienia bitów, jak i projektu częściowej rekonfiguracji, upewniają się, że pole wyboru Włącz obsługę wielu organów jest włączone na karcie Przypisania Urządzenie, urządzenie i Opcje PIN.
Intel Quartus Prime Włącz ustawienia opcji wielu organów
4. Zarówno właściciele projektu statycznego strumienia bitów, jak i projektu częściowej rekonfiguracji tworzą łańcuchy podpisów na podstawie odpowiednich kluczy głównych, jak opisano w Tworzenie łańcucha podpisów na stronie 6.
5. Zarówno właściciele projektów statycznego strumienia bitów, jak i projektów częściowej rekonfiguracji konwertują swoje skompilowane projekty do formatu .rbf files i podpisz plik .rbf files.
6. Właściciel urządzenia lub statycznego strumienia bitów generuje i podpisuje kompaktowy certyfikat autoryzacji programu klucza publicznego PR.
quartus_pfg –ccert lub ccert_type=PR_PUBKEY_PROG_AUTH lub właściciel_qky_file=”root0.qky;root1.qky” unsigned_pr_pubkey_prog.ccert
quartus_sign –family=agilex –operacja=sign –qky=design0_sign_chain.qky –pem=design0_sign_private.pem –cancel=svnA:0 unsigned_pr_pubkey_prog.ccert Signed_pr_pubkey_prog.ccert
quartus_sign –family=agilex –operacja=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 podpisał_pr_pubkey_prog.ccert
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 14
Wyślij opinię
2. Uwierzytelnianie i autoryzacja 683823 | 2023.05.23
7. Właściciel urządzenia lub statycznego strumienia bitów dostarcza do urządzenia skrót swojego głównego klucza uwierzytelniającego, następnie programuje kompaktowy certyfikat autoryzacji programu klucza publicznego PR i na koniec dostarcza do urządzenia klucz główny właściciela strumienia bitów częściowej rekonfiguracji. Sekcja udostępniania urządzeń opisuje ten proces udostępniania.
8. Urządzenie Intel Agilex 7 jest skonfigurowane ze statycznym regionem .rbf file.
9. Urządzenie Intel Agilex 7 zostało częściowo ponownie skonfigurowane z plikiem persona design .rbf file.
Informacje powiązane
· Tworzenie łańcucha podpisów na stronie 6
· Tworzenie par kluczy uwierzytelniających w SoftHSM na stronie 8
· Udostępnianie urządzeń na stronie 25
2.2.5. Weryfikacja łańcuchów podpisów konfiguracji Bitstream
Po utworzeniu łańcuchów sygnatur i podpisanych strumieni bitów możesz sprawdzić, czy podpisany strumień bitów poprawnie konfiguruje urządzenie zaprogramowane przy użyciu danego klucza głównego. Najpierw używasz operacji „fuse_info” komendy quartus_sign, aby wydrukować skrót głównego klucza publicznego w postaci tekstu file:
quartus_sign –family=agilex –operacja=fuse_info root0.qky hash_fuse.txt
Następnie użyj opcji check_integrity komendy quartus_pfg, aby sprawdzić łańcuch podpisów w każdej sekcji podpisanego strumienia bitów w formacie .rbf. Opcja check_integrity drukuje następujące informacje:
· Stan ogólnej kontroli integralności strumienia bitów
· Zawartość każdego wpisu w każdym łańcuchu podpisów dołączona do każdej sekcji strumienia bitów .rbf file,
· Oczekiwana wartość bezpiecznika dla skrótu głównego klucza publicznego dla każdego łańcucha podpisów.
Wartość z wyjścia Fuse_info powinna odpowiadać liniom Fuse na wyjściu check_integrity.
quartus_pfg –check_integrity podpisany_bitstream.rbf
Oto byłyampplik wyjściowy polecenia check_integrity:
Informacje: Polecenie: quartus_pfg –check_integrity Sign_bitstream.rbf Stan integralności: OK
Sekcja
Typ: CMF
Deskryptor podpisu…
Łańcuch podpisów #0 (wpisy: -1, przesunięcie: 96)
Wpis #0
Fuse: 34FD3B5F 7829001F DE2A24C7 3A7EAE29 C7786DB1 D6D5BC3C 52741C79
72978B22 0731B082 6F596899 40F32048 AD766A24
Wygeneruj klucz…
Krzywa: secp384r1
X
: 29C39C3064AE594A36DAA85602D6AF0B278CBB0B207C4D97CFB6967961E5F0ECA
456FF53F5DBB3A69E48A042C62AB6B0
Y
: 3E81D40CBBBEAC13601247A9D53F4A831308A24CA0BDFFA40351EE76438C7B5D2
2826F7E94A169023AFAE1D1DF4A31C2
Wygeneruj klucz…
Krzywa: secp384r1
X
: 29C39C3064AE594A36DAA85602D6AF0B278CBB0B207C4D97CFB6967961E5F0ECA
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 15
2. Uwierzytelnianie i autoryzacja 683823 | 2023.05.23
456FF53F5DBB3A69E48A042C62AB6B0
Y
: 3E81D40CBBBEAC13601247A9D53F4A831308A24CA0BDFFA40351EE76438C7B5D2
2826F7E94A169023AFAE1D1DF4A31C2
Wpis #1
Wygeneruj klucz…
Krzywa: secp384r1
X
: 015290C556F1533E5631322953E2F9E91258472F43EC954E05D6A4B63D611E04B
C120C7E7A744C357346B424D52100A9
Y
: 68696DEAC4773FF3D5A16A4261975424AAB4248196CF5142858E016242FB82BC5
08A80F3FE7F156DEF0AE5FD95BDFE05
Wpis nr 2 Zezwolenie na pęk kluczy: SIGN_CODE Pęk kluczy można anulować za pomocą identyfikatora: 3 Łańcuch podpisów nr 1 (wpisy: -1, przesunięcie: 648)
Wpis #0
Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6
DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE
Wygeneruj klucz…
Krzywa: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Wygeneruj klucz…
Krzywa: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Wpis #1
Wygeneruj klucz…
Krzywa: secp384r1
X
: 1E8FBEDC486C2F3161AFEB028D0C4B426258293058CD41358A164C1B1D60E5C1D
74D982BC20A4772ABCD0A1848E9DC96
Y
: 768F1BF95B37A3CC2FFCEEB071DD456D14B84F1B9BFF780FC5A72A0D3BE5EB51D
0DA7C6B53D83CF8A775A8340BD5A5DB
Wpis #2
Wygeneruj klucz…
Krzywa: secp384r1
X
: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432
76896E771A9C6CA5A2D3C08CF4CB83C
Y
: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1
49F91CABA72F6A3A1C2D1990CDAEA3D
Wpis #3 Zezwolenie na pęk kluczy: SIGN_CODE Brelok można anulować za pomocą ID: 15 Łańcuch podpisów #2 (wpisy: -1, przesunięcie: 0) Łańcuch podpisów #3 (wpisy: -1, przesunięcie: 0) Łańcuch podpisów #4 (wpisy: -1, offset: 0) Łańcuch podpisów #5 (wpisy: -1, offset: 0) Łańcuch podpisów #6 (wpisy: -1, offset: 0) Łańcuch podpisów #7 (wpisy: -1, offset: 0)
Typ sekcji: Deskryptor podpisu IO… Łańcuch podpisów #0 (wpisy: -1, przesunięcie: 96)
Wpis #0
Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6
DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE
Wygeneruj klucz…
Krzywa: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 16
Wyślij opinię
2. Uwierzytelnianie i autoryzacja 683823 | 2023.05.23
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Wygeneruj klucz…
Krzywa: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Wpis #1
Wygeneruj klucz…
Krzywa: secp384r1
X
: 646B51F668D8CC365D72B89BA8082FDE79B00CDB750DA0C984DC5891CDF57BD21
44758CA747B1A8315024A8247F12E51
Y
: 53513118E25E16151FD55D7ECDE8293AF6C98A74D52E0DA2527948A64FABDFE7C
F4EA8B8E229218D38A869EE15476750
Wpis #2
Wygeneruj klucz…
Krzywa: secp384r1
X
: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432
76896E771A9C6CA5A2D3C08CF4CB83C
Y
: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1
49F91CABA72F6A3A1C2D1990CDAEA3D
Wpis #3 Zezwolenie na pęk kluczy: SIGN_CORE Brelok można anulować za pomocą ID: 15 Łańcuch podpisów #1 (wpisy: -1, przesunięcie: 0) Łańcuch podpisów #2 (wpisy: -1, przesunięcie: 0) Łańcuch podpisów #3 (wpisy: -1, przesunięcie: 0) Łańcuch podpisów #4 (wpisy: -1, przesunięcie: 0) Łańcuch podpisów #5 (wpisy: -1, przesunięcie: 0) Łańcuch podpisów #6 (wpisy: -1, przesunięcie: 0) Podpis łańcuch nr 7 (wpisy: -1, przesunięcie: 0)
Sekcja
Typ: HPS
Deskryptor podpisu…
Łańcuch podpisów #0 (wpisy: -1, przesunięcie: 96)
Wpis #0
Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6
DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE
Wygeneruj klucz…
Krzywa: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Wygeneruj klucz…
Krzywa: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Wpis #1
Wygeneruj klucz…
Krzywa: secp384r1
X
: FAF423E08FB08D09F926AB66705EB1843C7C82A4391D3049A35E0C5F17ACB1A30
09CE3F486200940E81D02E2F385D150
Y
: 397C0DA2F8DD6447C52048CD0FF7D5CCA7F169C711367E9B81E1E6C1E8CD9134E
5AC33EE6D388B1A895AC07B86155E9D
Wpis #2
Wygeneruj klucz…
Krzywa: secp384r1
X
: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432
76896E771A9C6CA5A2D3C08CF4CB83C
Y
: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1
49F91CABA72F6A3A1C2D1990CDAEA3D
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 17
2. Uwierzytelnianie i autoryzacja 683823 | 2023.05.23
Wpis nr 3 Zezwolenie na pęk kluczy: SIGN_HPS Pęk kluczy można anulować za pomocą identyfikatora: 15 Łańcuch podpisów nr 1 (wpisy: -1, przesunięcie: 0) Łańcuch podpisów nr 2 (wpisy: -1, przesunięcie: 0) Łańcuch podpisów nr 3 (wpisy: -1, przesunięcie: 0) Łańcuch podpisów #4 (wpisy: -1, przesunięcie: 0) Łańcuch podpisów #5 (wpisy: -1, przesunięcie: 0) Łańcuch podpisów #6 (wpisy: -1, przesunięcie: 0) Podpis łańcuch nr 7 (wpisy: -1, przesunięcie: 0)
Typ sekcji: Deskryptor podpisu CORE… Łańcuch podpisów #0 (wpisy: -1, przesunięcie: 96)
Wpis #0
Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6
DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE
Wygeneruj klucz…
Krzywa: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Wygeneruj klucz…
Krzywa: secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
Wpis #1
Wygeneruj klucz…
Krzywa: secp384r1
X
: 646B51F668D8CC365D72B89BA8082FDE79B00CDB750DA0C984DC5891CDF57BD21
44758CA747B1A8315024A8247F12E51
Y
: 53513118E25E16151FD55D7ECDE8293AF6C98A74D52E0DA2527948A64FABDFE7C
F4EA8B8E229218D38A869EE15476750
Wpis #2
Wygeneruj klucz…
Krzywa: secp384r1
X
: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432
76896E771A9C6CA5A2D3C08CF4CB83C
Y
: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1
49F91CABA72F6A3A1C2D1990CDAEA3D
Wpis #3 Zezwolenie na pęk kluczy: SIGN_CORE Brelok można anulować za pomocą ID: 15 Łańcuch podpisów #1 (wpisy: -1, przesunięcie: 0) Łańcuch podpisów #2 (wpisy: -1, przesunięcie: 0) Łańcuch podpisów #3 (wpisy: -1, przesunięcie: 0) Łańcuch podpisów #4 (wpisy: -1, przesunięcie: 0) Łańcuch podpisów #5 (wpisy: -1, przesunięcie: 0) Łańcuch podpisów #6 (wpisy: -1, przesunięcie: 0) Podpis łańcuch nr 7 (wpisy: -1, przesunięcie: 0)
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 18
Wyślij opinię
683823 | 2023.05.23 Prześlij opinię
Szyfrowanie strumienia bitów AES
Szyfrowanie strumienia bitów w standardzie Advanced Encryption Standard (AES) to funkcja, która umożliwia właścicielowi urządzenia ochronę poufności własności intelektualnej w strumieniu bitów konfiguracyjnych.
Aby pomóc chronić poufność kluczy, szyfrowanie strumienia bitów konfiguracji wykorzystuje łańcuch kluczy AES. Klucze te służą do szyfrowania danych właściciela w strumieniu bitów konfiguracji, gdzie pierwszy klucz pośredni jest szyfrowany kluczem głównym AES.
3.1. Tworzenie klucza głównego AES
Możesz użyć narzędzia quartus_encrypt lub implementacji referencyjnej stratix10_encrypt.py, aby utworzyć klucz główny AES w formacie klucza szyfrowania oprogramowania Intel Quartus Prime (.qek) file.
Notatka:
Plik stratix10_encrypt.py file jest używany w urządzeniach Intel Stratix® 10 i Intel Agilex 7.
Opcjonalnie możesz określić klucz podstawowy używany do wyprowadzenia klucza głównego AES i klucza wyprowadzającego klucz, wartość klucza głównego AES bezpośrednio, liczbę kluczy pośrednich i maksymalne wykorzystanie klucza pośredniego.
Musisz określić rodzinę urządzeń, wyjście .qek file lokalizację i hasło, gdy zostaniesz o to poproszony.
Uruchom następujące polecenie, aby wygenerować klucz główny AES przy użyciu losowych danych dla klucza podstawowego i wartości domyślnych liczby kluczy pośrednich i maksymalnego użycia klucza.
Aby skorzystać z implementacji referencyjnej, należy wywołać interpreter języka Python dołączony do oprogramowania Intel Quartus Prime i pominąć opcję –family=agilex; wszystkie inne opcje są równoważne. Na przykładample, polecenie quartus_encrypt znalezione w dalszej części tej sekcji
quartus_encrypt –family=agilex –operacja=MAKE_AES_KEY aes_root.qek
można przekonwertować na równoważne wywołanie implementacji referencyjnej w następujący sposób pgm_py stratix10_encrypt.py – Operation=MAKE_AES_KEY aes_root.qek
3.2. Ustawienia szyfrowania Quartus
Aby włączyć szyfrowanie strumienia bitów dla projektu, należy określić odpowiednie opcje w panelu Zabezpieczenia urządzenia urządzenia i opcji PIN. Zaznacz pole wyboru Włącz szyfrowanie strumienia bitów konfiguracji i żądaną lokalizację przechowywania klucza szyfrowania z menu rozwijanego.
Korporacja intelektualna. Wszelkie prawa zastrzeżone. Intel, logo Intel i inne znaki Intel są znakami towarowymi firmy Intel Corporation lub jej podmiotów zależnych. Firma Intel gwarantuje wydajność swoich produktów FPGA i półprzewodników zgodnie z aktualnymi specyfikacjami zgodnie ze standardową gwarancją firmy Intel, ale zastrzega sobie prawo do wprowadzania zmian w dowolnych produktach i usługach w dowolnym czasie bez powiadomienia. Firma Intel nie ponosi żadnej odpowiedzialności wynikającej z zastosowania lub wykorzystania jakichkolwiek informacji, produktów lub usług opisanych w niniejszym dokumencie, z wyjątkiem przypadków wyraźnie uzgodnionych na piśmie przez firmę Intel. Klienci firmy Intel powinni uzyskać najnowszą wersję specyfikacji urządzeń przed poleganiem na jakichkolwiek opublikowanych informacjach oraz przed złożeniem zamówienia na produkty lub usługi. *Inne nazwy i marki mogą być przedmiotem praw osób trzecich.
Zarejestrowany zgodnie z ISO 9001: 2015
Rysunek 3. Ustawienia szyfrowania Intel Quartus Prime
3. Szyfrowanie strumienia bitów AES 683823 | 2023.05.23
Alternatywnie możesz dodać następującą instrukcję przypisania do ustawień Intel Quartus Prime file .qsf:
set_global_przypisanie -nazwa ENCRYPT_PROGRAMMING_BITSTREAM na zestawie_global_przypisanie -nazwa PROGRAMMING_BITSTREAM_ENCRYPTION_KEY_SELECT eFuses
Jeśli chcesz włączyć dodatkowe zabezpieczenia przed wektorami ataków z kanału bocznego, możesz włączyć listę rozwijaną Współczynnik aktualizacji szyfrowania i pole wyboru Włącz szyfrowanie.
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 20
Wyślij opinię
3. Szyfrowanie strumienia bitów AES 683823 | 2023.05.23
Odpowiednie zmiany w pliku .qsf to:
set_global_przypisanie -nazwa PROGRAMMING_BITSTREAM_ENCRYPTION_CNOC_SCRAMBLING na zestawie_globalnego_przypisania -nazwa PROGRAMMING_BITSTREAM_ENCRYPTION_UPDATE_RATIO 31
3.3. Szyfrowanie strumienia bitów konfiguracji
Szyfrujesz strumień bitów konfiguracji przed podpisaniem strumienia bitów. Programowanie Intel Quartus Prime File Narzędzie generatora może automatycznie szyfrować i podpisywać strumień bitów konfiguracji za pomocą graficznego interfejsu użytkownika lub wiersza poleceń.
Opcjonalnie możesz utworzyć częściowo zaszyfrowany strumień bitów do użytku z narzędziami quartus_encrypt i quartus_sign lub ich odpowiednikami w implementacji referencyjnej.
3.3.1. Konfiguracja szyfrowania strumienia bitów za pomocą programowania File Interfejs graficzny generatora
Możesz skorzystać z Programowania File Generator do szyfrowania i podpisywania obrazu właściciela.
Rysunek 4.
1. Na Intel Quartus Prime File menu wybierz Programowanie File Generator. 2. Na wyjściu Files, określ dane wyjściowe file wpisz dla swojej konfiguracji
schemat.
Wyjście File Specyfikacja
Schemat konfiguracji Wyjście file patka
Wyjście file typ
3. Na wejściu Files, kliknij opcję Dodaj Bitstream i przejdź do pliku .sof. 4. Aby określić opcje szyfrowania i uwierzytelniania, wybierz plik .sof i kliknij
Nieruchomości. A. Włącz opcję Włącz narzędzie do podpisywania. B. Dla klucza prywatnego file wybierz swój klucz podpisywania prywatny .pem file. C. Włącz opcję Finalizuj szyfrowanie.
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 21
3. Szyfrowanie strumienia bitów AES 683823 | 2023.05.23
Rysunek 5.
D. Dla klucza szyfrowania file, wybierz plik AES .qek file. Wejście (.sof) File Właściwości uwierzytelniania i szyfrowania
Włącz uwierzytelnianie Określ prywatny katalog główny .pem
Włącz szyfrowanie Określ klucz szyfrowania
5. Aby wygenerować podpisany i zaszyfrowany strumień bitów, na wejściu Files kliknij opcję Generuj. Pojawią się okna dialogowe hasła, w których możesz wpisać hasło dla klucza AES .qek file i podpisanie klucza prywatnego .pem file. Programowanie file generator tworzy zaszyfrowane i podpisane dane wyjściowe_file.rbf.
3.3.2. Konfiguracja szyfrowania strumienia bitów za pomocą programowania File Interfejs wiersza poleceń generatora
Wygeneruj zaszyfrowany i podpisany strumień bitów konfiguracyjnych w formacie .rbf za pomocą interfejsu wiersza poleceń quartus_pfg:
quartus_pfg -c szyfrowanie_enabled.sof top.rbf -o finalize_encryption=ON -o qek_file=aes_root.qek -o podpisywanie=ON -o pem_file=design0_sign_private.pem
Możesz przekonwertować zaszyfrowany i podpisany strumień bitów konfiguracyjnych w formacie .rbf na inny strumień bitów konfiguracyjnych file formaty.
3.3.3. Częściowo szyfrowane generowanie strumienia bitów konfiguracji przy użyciu interfejsu wiersza poleceń
Możesz wygenerować częściowo zaszyfrowane oprogramowanie file aby dokończyć szyfrowanie i podpisać obraz później. Wygeneruj częściowo zaszyfrowane oprogramowanie file w formacie .rbf z interfejsem wiersza poleceńquartus_pfg: quartus_pfg -c -o finalize_encryption_later=ON -osign_later=ON top.sof top.rbf
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 22
Wyślij opinię
3. Szyfrowanie strumienia bitów AES 683823 | 2023.05.23
Do sfinalizowania szyfrowania strumienia bitów używasz narzędzia wiersza poleceń quartus_encrypt:
quartus_encrypt –family=agilex –operacja=SZYFROWANIE –key=aes_root.qek top.rbf zaszyfrowany_top.rbf
Do podpisania zaszyfrowanego strumienia bitów konfiguracyjnych używasz narzędzia wiersza poleceń quartus_sign:
quartus_sign –family=agilex –operacja=SIGN –qky=design0_sign_chain.qky –pem=design0_sign_private.pem –cancel=svnA:0 szyfrowany_top.rbf podpisany_enszyfrowany_top.rbf
quartus_sign –family=agilex –operacja=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 szyfrowany_top.rbf podpisany_enszyfrowany_top.rbf
3.3.4. Częściowa rekonfiguracja szyfrowania strumienia bitów
Można włączyć szyfrowanie strumienia bitów w niektórych projektach Intel Agilex 7 FPGA, które korzystają z częściowej rekonfiguracji.
Projekty częściowej rekonfiguracji wykorzystujące hierarchiczną częściową rekonfigurację (HPR) lub statyczną aktualizację częściowej rekonfiguracji (SUPR) nie obsługują szyfrowania strumienia bitów. Jeśli Twój projekt zawiera wiele regionów PR, musisz zaszyfrować wszystkie osoby.
Aby włączyć szyfrowanie strumienia bitów z częściową rekonfiguracją, wykonaj tę samą procedurę we wszystkich wersjach projektu. 1. Na Intel Quartus Prime File wybierz opcję Przypisania Urządzenie Urządzenie
i opcje PIN Zabezpieczenia. 2. Wybierz żądaną lokalizację przechowywania klucza szyfrowania.
Rysunek 6. Ustawienie szyfrowania strumienia bitów w ramach częściowej rekonfiguracji
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 23
3. Szyfrowanie strumienia bitów AES 683823 | 2023.05.23
Alternatywnie możesz dodać następującą instrukcję przypisania w ustawieniach Quartus Prime file .qsf:
set_global_przypisanie -nazwa –ENABLE_PARTIAL_RECONFIGURATION_BITSTREAM_ENCRYPTION wł.
Po skompilowaniu projektu podstawowego i poprawek, oprogramowanie generuje plik.soffile i jeden lub więcej.pmsffiles, reprezentujące osoby. 3. Twórz zaszyfrowane i podpisane programy files z.sof i.pmsf filedziała w podobny sposób jak projekty bez możliwości częściowej rekonfiguracji. 4. Przekonwertuj skompilowany plik persona.pmsf file do częściowo zaszyfrowanego pliku.rbf file:
quartus_pfg -c -o finalize_encryption_later=WŁ. -o znak_later=WŁ. szyfrowanie_enabled_persona1.pmsf persona1.rbf
5. Zakończ szyfrowanie strumienia bitów za pomocą narzędzia wiersza poleceń quartus_encrypt:
quartus_encrypt –family=agilex –operacja=SZYFROWANIE –key=aes_root.qek persona1.rbf zaszyfrowana_osoba1.rbf
6. Podpisz zaszyfrowany strumień bitów konfiguracyjnych za pomocą narzędzia wiersza poleceń quartus_sign:
quartus_sign –family=agilex –operacja=SIGN –qky=design0_sign_chain.qky –pem=design0_sign_private.pem zaszyfrowana_osoba1.rbf podpisana_enszyfrowana_osoba1.rbf
quartus_sign –family=agilex –operacja=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 zaszyfrowana_osoba1.rbf podpisana_zaszyfrowana_osoba1.rbf
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 24
Wyślij opinię
683823 | 2023.05.23 Prześlij opinię
Udostępnianie urządzeń
Początkowe udostępnianie funkcji zabezpieczeń jest obsługiwane tylko w oprogramowaniu sprzętowym SDM. Użyj programatora Intel Quartus Prime, aby załadować oprogramowanie sprzętowe SDM i wykonać operacje udostępniania.
Możesz użyć dowolnego typu JTAG pobierz kabel umożliwiający podłączenie programatora Quartus do urządzenia Intel Agilex 7 w celu wykonania operacji udostępniania.
4.1. Korzystanie z oprogramowania sprzętowego SDM Provision
Programator Intel Quartus Prime automatycznie tworzy i ładuje domyślny fabryczny obraz pomocniczy po wybraniu operacji inicjalizacji i polecenia zaprogramowania czegoś innego niż strumień bitów konfiguracyjnych.
W zależności od określonego polecenia programowania, domyślny fabryczny obraz pomocniczy jest jednym z dwóch typów:
· Obraz pomocniczy udostępniania — składa się z jednej sekcji strumienia bitów zawierającej oprogramowanie sprzętowe udostępniania SDM.
· Obraz pomocniczy QSPI – składa się z dwóch sekcji strumienia bitów, jednej zawierającej główne oprogramowanie sprzętowe SDM i jednej sekcji I/O.
Możesz utworzyć fabryczny domyślny obraz pomocniczy file załadować do urządzenia przed wykonaniem jakiegokolwiek polecenia programowania. Po zaprogramowaniu skrótu klucza głównego uwierzytelniania należy utworzyć i podpisać fabryczny domyślny obraz pomocniczy QSPI ze względu na dołączoną sekcję we/wy. Jeśli dodatkowo zaprogramujesz ustawienie zabezpieczeń oprogramowania sprzętowego z podpisem eFuse, musisz utworzyć domyślne obrazy pomocnicze QSPI z oprogramowaniem sprzętowym z podpisem. Możesz użyć podpisanego, domyślnego obrazu pomocniczego na urządzeniu bez obsługi administracyjnej, ponieważ urządzenie bez obsługi administracyjnej ignoruje łańcuchy sygnatur firm innych niż Intel w oprogramowaniu sprzętowym SDM. Więcej szczegółów na temat tworzenia, podpisywania i używania fabrycznego obrazu pomocniczego QSPI na posiadanych urządzeniach można znaleźć w części Używanie fabrycznego obrazu pomocniczego QSPI na posiadanych urządzeniach.
Domyślny fabryczny obraz pomocniczy udostępniania wykonuje akcję udostępniania, taką jak programowanie skrótu klucza głównego uwierzytelniania, bezpieczniki ustawień zabezpieczeń, rejestracja PUF lub udostępnianie czarnego klucza. Korzystasz z programowania Intel Quartus Prime File Narzędzie wiersza poleceń generatora do tworzenia obrazu pomocniczego udostępniania, określającego opcję obrazu_pomocnika, nazwę urządzenia_pomocnika, podtyp obrazu pomocniczego udostępniania i opcjonalnie plik zip z podpisem oprogramowania sprzętowego file:
quartus_pfg – obraz_pomocnika -o urządzenie_pomocnicze=AGFB014R24A -o podtyp=PROVISION -o fw_source=signed_agilex.zip podpisany_provision_helper_image.rbf
Zaprogramuj obraz pomocniczy za pomocą narzędzia Intel Quartus Prime Programmer:
quartus_pgm -c 1 -mjtag -o „p;signed_provision_helper_image.rbf” –force
Korporacja intelektualna. Wszelkie prawa zastrzeżone. Intel, logo Intel i inne znaki Intel są znakami towarowymi firmy Intel Corporation lub jej podmiotów zależnych. Firma Intel gwarantuje wydajność swoich produktów FPGA i półprzewodników zgodnie z aktualnymi specyfikacjami zgodnie ze standardową gwarancją firmy Intel, ale zastrzega sobie prawo do wprowadzania zmian w dowolnych produktach i usługach w dowolnym czasie bez powiadomienia. Firma Intel nie ponosi żadnej odpowiedzialności wynikającej z zastosowania lub wykorzystania jakichkolwiek informacji, produktów lub usług opisanych w niniejszym dokumencie, z wyjątkiem przypadków wyraźnie uzgodnionych na piśmie przez firmę Intel. Klienci firmy Intel powinni uzyskać najnowszą wersję specyfikacji urządzeń przed poleganiem na jakichkolwiek opublikowanych informacjach oraz przed złożeniem zamówienia na produkty lub usługi. *Inne nazwy i marki mogą być przedmiotem praw osób trzecich.
Zarejestrowany zgodnie z ISO 9001: 2015
4. Udostępnianie urządzeń 683823 | 2023.05.23
Notatka:
Możesz pominąć operację inicjalizacji z poleceń, w tym npampplików przedstawionych w tym rozdziale, po zaprogramowaniu obrazu pomocniczego udostępniania lub użyciu polecenia zawierającego operację inicjowania.
4.2. Korzystanie z domyślnego fabrycznego obrazu pomocniczego QSPI na posiadanych urządzeniach
Programator Intel Quartus Prime automatycznie tworzy i ładuje domyślny fabryczny obraz pomocniczy QSPI po wybraniu operacji inicjalizacji dla programowania flash QSPI file. Po zaprogramowaniu skrótu klucza głównego uwierzytelniania należy utworzyć i podpisać domyślny fabryczny obraz pomocniczy QSPI oraz oddzielnie zaprogramować podpisany fabryczny obraz pomocniczy QSPI przed zaprogramowaniem pamięci flash QSPI. 1. Korzystasz z programowania Intel Quartus Prime File Narzędzie wiersza poleceń generatora do
utwórz obraz pomocniczy QSPI, określając opcję obraz_pomocnika, typ urządzenia_pomocnika, podtyp obrazu pomocniczego QSPI i opcjonalnie plik .zip z podpisem oprogramowania sprzętowego file:
quartus_pfg – obraz_pomocniczy -o urządzenie_pomocnicze=AGFB014R24A -o podtyp=QSPI -o fw_source=signed_agilex.zip qspi_helper_image.rbf
2. Podpisz domyślny fabryczny obraz pomocniczy QSPI:
quartus_sign –family=agilex –operacja=sign –qky=design0_sign_chain.qky –pem=design0_sign_private.pem qspi_helper_image.rbf Sign_qspi_helper_image.rbf
3. Możesz użyć dowolnego programowania flash QSPI file format. Poniższy przykładampPliki korzystają ze strumienia bitów konfiguracyjnych przekonwertowanego na plik .jic file format:
quartus_pfg -c podpisany_bitstream.rbf podpisany_flash.jic -o urządzenie=MT25QU128 -o flash_loader=AGFB014R24A -o tryb=ASX4
4. Programujesz podpisany obraz pomocniczy za pomocą narzędzia Intel Quartus Prime Programmer:
quartus_pgm -c 1 -mjtag -o „p;signed_qspi_helper_image.rbf” – siła
5. Programujesz obraz .jic do flashowania za pomocą narzędzia Intel Quartus Prime Programmer:
quartus_pgm -c 1 -mjtag -o „p;signed_flash.jic”
4.3. Udostępnianie klucza głównego uwierzytelniania
Aby zaprogramować skróty klucza głównego właściciela do bezpieczników fizycznych, najpierw należy załadować oprogramowanie sprzętowe, następnie zaprogramować skróty klucza głównego właściciela, a następnie natychmiast wykonać reset po włączeniu zasilania. Resetowanie po włączeniu zasilania nie jest wymagane w przypadku programowania skrótów klucza głównego do wirtualnych bezpieczników.
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 26
Wyślij opinię
4. Udostępnianie urządzeń 683823 | 2023.05.23
Aby zaprogramować skróty klucza głównego uwierzytelniania, zaprogramuj obraz pomocniczy oprogramowania sprzętowego i uruchom jedno z poniższych poleceń, aby zaprogramować klucz główny .qky files.
// Dla fizycznych (nieulotnych) eFuses quartus_pgm -c 1 -mjtag -o „p;root0.qky;root1.qky;root2.qky” –non_volatile_key
// Dla wirtualnych (lotnych) eFuses quartus_pgm -c 1 -mjtag -o „p;root0.qky;root1.qky;root2.qky”
4.3.1. Częściowa rekonfiguracja Programowanie klucza głównego z wieloma uprawnieniami
Po udostępnieniu kluczy głównych właściciela strumienia bitów urządzenia lub regionu statycznego należy ponownie załadować obraz pomocniczy udostępniania urządzenia, zaprogramować podpisany kompaktowy certyfikat autoryzacji programu klucza publicznego PR, a następnie udostępnić klucz główny właściciela strumienia bitów osoby PR.
// Dla fizycznych (nieulotnych) eFuses quartus_pgm -c 1 -mjtag -o „p;root_pr.qky” –pr_pubkey –non_volatile_key
// Dla wirtualnych (lotnych) eFuses quartus_pgm -c 1 -mjtag -o „p;p;root_pr.qky” –pr_pubkey
4.4. Programowanie bezpieczników identyfikacyjnych anulowania klucza
Począwszy od wersji oprogramowania Intel Quartus Prime Pro Edition 21.1, programowanie bezpieczników Intel i identyfikatorów anulowania klucza właściciela wymaga użycia podpisanego certyfikatu kompaktowego. Możesz podpisać kompaktowy certyfikat identyfikatora anulowania klucza za pomocą łańcucha podpisów, który ma uprawnienia do podpisywania sekcji FPGA. Certyfikat kompaktowy tworzysz wraz z programowaniem file narzędzie wiersza poleceń generatora. Podpisujesz niepodpisany certyfikat za pomocą narzędzia quartus_sign lub implementacji referencyjnej.
Urządzenia Intel Agilex 7 obsługują oddzielne banki identyfikatorów anulowania kluczy właściciela dla każdego klucza głównego. Kiedy w układzie FPGA Intel Agilex 7 zaprogramowany jest kompaktowy certyfikat identyfikatora anulowania klucza właściciela, moduł SDM określa, który klucz główny podpisał certyfikat kompaktowy i przepala bezpiecznik identyfikatora anulowania klucza odpowiadający temu kluczowi głównemu.
Następujący exampPliki tworzą certyfikat anulowania klucza Intel dla klucza Intel o identyfikatorze 7. Możesz zastąpić 7 odpowiednim identyfikatorem anulowania klucza Intel z zakresu 0-31.
Uruchom następujące polecenie, aby utworzyć niepodpisany certyfikat kompaktowy z identyfikatorem anulowania klucza Intel:
quartus_pfg –ccert -o ccert_type=CANCEL_INTEL_KEY -o cancel_key=7 unsigned_cancel_intel7.ccert
Uruchom jedno z następujących poleceń, aby podpisać kompaktowy certyfikat niepodpisanego identyfikatora anulowania klucza Intel:
quartus_sign –family=agilex –operacja=SIGN –qky=design0_sign_chain.qky –pem=design0_private.pem –cancel=svnA:0 unsigned_cancel_intel7.ccert Signed_cancel_intel7.ccert
quartus_sign –family=agilex –operacja=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so”
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 27
4. Udostępnianie urządzeń 683823 | 2023.05.23
–keyname=design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_cancel_intel7.ccert podpisany_cancel_intel7.ccert
Uruchom następującą komendę, aby utworzyć kompaktowy certyfikat z identyfikatorem anulowania klucza właściciela bez podpisu:
quartus_pfg –ccert -o ccert_type=CANCEL_OWNER_KEY -o cancel_key=2 unsigned_cancel_owner2.ccert
Uruchom jedno z następujących poleceń, aby podpisać kompaktowy certyfikat identyfikatora anulowania klucza niepodpisanego właściciela:
quartus_sign –family=agilex –operacja=SIGN –qky=design0_sign_chain.qky –pem=design0_private.pem –cancel=svnA:0 unsigned_cancel_owner2.ccert Signed_cancel_owner2.ccert
quartus_sign –family=agilex –operacja=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname= design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_cancel_owner2.ccert Signed_cancel_owner2.ccert
Po utworzeniu podpisanego certyfikatu kompaktowego z identyfikatorem anulowania klucza możesz użyć programatora Intel Quartus Prime Programmer do zaprogramowania certyfikatu kompaktowego w urządzeniu za pośrednictwem JTAG.
//Dla fizycznych (nieulotnych) 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” –non_volatile_key
//Dla wirtualnych (lotnych) eFuses quartus_pgm -c 1 -mjtag -o „pi;signed_cancel_intel7.ccert” quartus_pgm -c 1 -mjtag -o „pi;signed_cancel_owner2.ccert”
Możesz dodatkowo wysłać certyfikat kompaktowy do SDM za pomocą interfejsu skrzynki pocztowej FPGA lub HPS.
4.5. Anulowanie kluczy głównych
Urządzenia Intel Agilex 7 umożliwiają anulowanie skrótów klucza głównego, gdy obecny jest inny niezatwierdzony skrót klucza głównego. Anulujesz skrót klucza głównego, najpierw konfigurując urządzenie z projektem, którego łańcuch podpisów jest zakorzeniony w innym skrótu klucza głównego, a następnie programujesz kompaktowy certyfikat anulowania skrótu klucza głównego z podpisem. Musisz podpisać kompaktowy certyfikat anulowania skrótu klucza głównego łańcuchem podpisów zakorzenionym w kluczu głównym, który ma zostać anulowany.
Uruchom następującą komendę, aby wygenerować kompaktowy certyfikat anulowania skrótu klucza głównego bez znaku:
quartus_pfg –ccert -o –ccert_type=CANCEL_KEY_HASH unsigned_root_cancel.ccert
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 28
Wyślij opinię
4. Udostępnianie urządzeń 683823 | 2023.05.23
Uruchom jedno z następujących poleceń, aby podpisać kompaktowy certyfikat anulowania skrótu klucza głównego bez znaku:
quartus_sign –family=agilex –operacja=SIGN –qky=design0_sign_chain.qky –pem=design0_private.pem –cancel=svnA:0 unsigned_root_cancel.ccert Signed_root_cancel.ccert
quartus_sign –family=agilex –operacja=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 podpisany_root_cancel.ccert
Możesz zaprogramować kompaktowy certyfikat anulowania skrótu klucza głównego za pośrednictwem JTAG, FPGA lub skrzynki pocztowe HPS.
4.6. Programowanie liczników bezpieczników
Aktualizujesz numer wersji zabezpieczeń (SVN) i pseudoczas Stamp (PTS) licznikowe bezpieczniki na podstawie podpisanych certyfikatów kompaktowych.
Notatka:
SDM śledzi minimalną wartość licznika widzianą podczas danej konfiguracji i nie akceptuje certyfikatów zwiększających licznik, gdy wartość licznika jest mniejsza niż wartość minimalna. Przed zaprogramowaniem certyfikatu kompaktowego przyrostu licznika należy zaktualizować wszystkie obiekty przypisane do licznika i ponownie skonfigurować urządzenie.
Uruchom jedno z następujących poleceń odpowiadających certyfikatowi przyrostu licznika, który chcesz wygenerować.
quartus_pfg –ccert -o ccert_type=PTS_COUNTER -o licznik=<-1:495> unsigned_pts.ccert
quartus_pfg –ccert -o ccert_type=SVN_COUNTER_A -o licznik=<-1:63> unsigned_svnA.ccert
quartus_pfg –ccert -o ccert_type=SVN_COUNTER_B -o licznik=<-1:63> unsigned_svnB.ccert
quartus_pfg –ccert -o ccert_type=SVN_COUNTER_C -o licznik=<-1:63> unsigned_svnC.ccert
quartus_pfg –ccert -o ccert_type=SVN_COUNTER_D -o licznik=<-1:63> unsigned_svnD.ccert
Wartość licznika równa 1 tworzy certyfikat autoryzacji przyrostu licznika. Zaprogramowanie kompaktowego certyfikatu autoryzacji przyrostu licznika umożliwia zaprogramowanie dalszych certyfikatów przyrostu licznika bez znaku w celu aktualizacji odpowiedniego licznika. Narzędzie quartus_sign służy do podpisywania certyfikatów kompaktowych licznika w podobny sposób jak certyfikaty kompaktowe z identyfikatorem anulowania klucza.
Możesz zaprogramować kompaktowy certyfikat anulowania skrótu klucza głównego za pośrednictwem JTAG, FPGA lub skrzynki pocztowe HPS.
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 29
4. Udostępnianie urządzeń 683823 | 2023.05.23
4.7. Udostępnianie klucza głównego usługi bezpiecznego obiektu danych
Programatora Intel Quartus Prime używasz do udostępniania klucza głównego usługi Secure Data Object Service (SDOS). Programista automatycznie ładuje obraz pomocniczy oprogramowania układowego w celu udostępnienia klucza głównego SDOS.
quartus_pgm do 1 mjtag –klucz_główny_usługi –klucz_nieulotny
4.8. Zabezpieczenie ustawień bezpieczników
Użyj programatora Intel Quartus Prime, aby sprawdzić bezpieczniki ustawień zabezpieczeń urządzenia i zapisać je w pliku tekstowym .fuse file następująco:
quartus_pgm -c 1 -mjtag -o „ei;programowanie_file.bezpiecznik;AGFB014R24B”
Opcje · i: Programista ładuje obraz pomocniczy oprogramowania sprzętowego do urządzenia. · e: Programista odczytuje bezpiecznik z urządzenia i zapisuje go w bezpieczniku file.
Bezpiecznik file zawiera listę par nazwa-wartość bezpiecznika. Wartość określa, czy doszło do przepalenia bezpiecznika, lub jaka jest zawartość pola bezpiecznika.
Następujący example pokazuje format pliku .fuse file:
# Oprogramowanie sprzętowe z podpisem współautorskim
= „Nie przepalony”
# Zabijanie zezwolenia na urządzenie
= „Nie przepalony”
# Urządzenie nie jest bezpieczne
= „Nie przepalony”
# Wyłącz debugowanie HPS
= „Nie przepalony”
# Wyłącz rejestrację wewnętrznego identyfikatora PUF
= „Nie przepalony”
# Wyłącz JTAG
= „Nie przepalony”
# Wyłącz klucz szyfrowania opakowany PUF
= „Nie przepalony”
# Wyłącz klucz szyfrowania właściciela w BBRAM = „Nie przepalony”
# Wyłącz klucz szyfrowania właściciela w eFuses = „Nie przepalony”
# Wyłącz skrót klucza publicznego głównego właściciela 0
= „Nie przepalony”
# Wyłącz skrót klucza publicznego głównego właściciela 1
= „Nie przepalony”
# Wyłącz skrót klucza publicznego głównego właściciela 2
= „Nie przepalony”
# Wyłącz wirtualne eFuse
= „Nie przepalony”
# Wymuś zegar SDM na wewnętrznym oscylatorze = „Nie przepalony”
# Wymuś aktualizację klucza szyfrowania
= „Nie przepalony”
# Wyraźne anulowanie klucza Intel
= „0”
# Zablokuj eFuse bezpieczeństwa
= „Nie przepalony”
# Program klucza szyfrującego właściciela został ukończony
= „Nie przepalony”
# Uruchomienie programu klucza szyfrującego właściciela
= „Nie przepalony”
# Anulowanie klucza jawnego właściciela 0
= „”
# Anulowanie klucza jawnego właściciela 1
= „”
# Anulowanie klucza jawnego właściciela 2
= „”
# Bezpieczniki właściciela
=
„0x00000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000
0000000000000000000000”
# Hash głównego klucza publicznego właściciela 0
=
„0x00000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000”
# Hash głównego klucza publicznego właściciela 1
=
„0x00000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000”
# Hash głównego klucza publicznego właściciela 2
=
„0x00000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000”
# Rozmiar głównego klucza publicznego właściciela
= „Żaden”
# Licznik PTS
= „0”
# Podstawa licznika PTS
= „0”
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 30
Wyślij opinię
4. Udostępnianie urządzeń 683823 | 2023.05.23
# Opóźnienie uruchomienia QSPI # Licznik RMA # SDMIO0 to I2C # Licznik SVN A # Licznik SVN B # Licznik SVN C # Licznik SVN D
= „10ms” = „0” = „Brak przedmuchu” = „0” = „0” = „0” = „0”
Zmodyfikuj bezpiecznik file aby ustawić żądane ustawienia zabezpieczeń. Linia rozpoczynająca się od # jest traktowana jako linia komentarza. Aby zaprogramować ustawienie bezpiecznika zabezpieczającego, usuń wiodący # i ustaw wartość na Przepalony. Na przykładample, aby włączyć bezpiecznik ustawień zabezpieczeń Co-signed Firmware, zmodyfikuj pierwszą linię bezpiecznika file do następujących:
Podpisane oprogramowanie sprzętowe = „wypalone”
Możesz także przydzielić i zaprogramować bezpieczniki właściciela w oparciu o swoje wymagania.
Możesz użyć następującego polecenia, aby wykonać sprawdzenie in blanco, zaprogramować i zweryfikować główny klucz publiczny właściciela:
quartus_pgm -c 1 -mjtag -o „ibpv;root0.qky”
Opcje · i: Ładuje obraz pomocniczy oprogramowania sprzętowego do urządzenia. · b: Wykonuje próbę ślepą, aby sprawdzić, czy żądane bezpieczniki nie są ustawione
już przepalony. · p: Programuje bezpiecznik. · v: Sprawdza zaprogramowany klucz na urządzeniu.
Po zaprogramowaniu pliku .qky file, możesz sprawdzić informacje o bezpieczniku, sprawdzając je ponownie, aby upewnić się, że zarówno skrót klucza publicznego właściciela, jak i rozmiar klucza publicznego właściciela mają wartości niezerowe.
Podczas gdy w poniższych polach nie można zapisywać poprzez plik .fuse file metody, są one uwzględniane podczas sprawdzania wyników operacji w celu weryfikacji: · Urządzenie nie jest zabezpieczone · Zabicie zezwolenia na urządzenie · Wyłącz skrót głównego klucza publicznego właściciela 0 · Wyłącz skrót głównego klucza publicznego właściciela 1 · Wyłącz skrót głównego klucza publicznego właściciela 2 · Anulowanie klucza Intel · Uruchomienie programu klucza szyfrującego właściciela · Program klucza szyfrującego właściciela zakończony · Anulowanie klucza właściciela · Skrót klucza publicznego właściciela · Rozmiar klucza publicznego właściciela · Skrót klucza publicznego głównego właściciela 0 · Skrót klucza publicznego głównego właściciela 1 · Skrót klucza publicznego głównego właściciela 2
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 31
4. Udostępnianie urządzeń 683823 | 2023.05.23
· Licznik PTS · Podstawa licznika PTS · Opóźnienie uruchomienia QSPI · Licznik RMA · SDMIO0 to I2C · Licznik SVN A · Licznik SVN B · Licznik SVN C · Licznik SVN D
Do zaprogramowania bezpiecznika użyj programatora Intel Quartus Prime file z powrotem do urządzenia. Jeśli dodasz opcję i, Programista automatycznie załaduje oprogramowanie sprzętowe w celu zaprogramowania bezpieczników ustawień zabezpieczeń.
//Dla fizycznych (nieulotnych) eFuses quartus_pgm -c 1 -mjtag -o „pi;programowanie_file.fuse” –non_volatile_key
//Dla wirtualnych (lotnych) eFuses quartus_pgm -c 1 -mjtag -o „pi;programowanie_file.bezpiecznik"
Możesz użyć następującego polecenia, aby sprawdzić, czy skrót klucza głównego urządzenia jest taki sam, jak .qky podany w poleceniu:
quartus_pgm -c 1 -mjtag -o „v;root0_another.qky”
Jeśli klucze nie pasują, programista zakończy się niepowodzeniem i wyświetli się komunikat o błędzie Operacja nie powiodła się.
4.9. Udostępnianie klucza głównego AES
Aby zaprogramować klucz główny AES na urządzeniu Intel Agilex 7, należy użyć podpisanego kompaktowego certyfikatu klucza głównego AES.
4.9.1. Kompaktowy certyfikat klucza głównego AES
Do konwersji klucza głównego AES .qek służy narzędzie wiersza poleceń quartus_pfg file do formatu certyfikatu kompaktowego .ccert. Miejsce przechowywania kluczy określasz podczas tworzenia certyfikatu kompaktowego. Możesz użyć narzędzia quartus_pfg, aby utworzyć niepodpisany certyfikat do późniejszego podpisania. Aby pomyślnie podpisać kompaktowy certyfikat klucza głównego AES, należy użyć łańcucha podpisów z uprawnieniem do podpisywania certyfikatu klucza głównego AES, bit uprawnienia 6.
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 32
Wyślij opinię
4. Udostępnianie urządzeń 683823 | 2023.05.23
1. Utwórz dodatkową parę kluczy używaną do podpisywania kompaktowego certyfikatu klucza AES, używając jednego z następujących poleceń, npamples:
quartus_sign –family=agilex –operacja=make_private_pem –curve=secp384r1 aesccert1_private.pem
quartus_sign –family=agilex –operacja=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 –mechanizm pary kluczy ECDSA-KEY-PAIR-GEN –typ klucza EC: secp384r1 – znak użycia – etykieta aesccert1 – identyfikator 2
2. Utwórz łańcuch podpisów z ustawionym poprawnym bitem uprawnień, używając jednego z następujących poleceń:
quartus_sign –family=agilex –operacja=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 –operacja=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 –poprzedni_qky=root0.qky –permission=0x40 –cancel=1 –input_keyname=aesccert1 aesccert1_sign_chain.qky
3. Utwórz niepodpisany certyfikat kompaktowy AES dla żądanej lokalizacji przechowywania klucza głównego AES. Dostępne są następujące opcje przechowywania kluczy głównych AES:
· EFUSE_WRAPPED_AES_KEY
· IID_PUF_WRAPPED_AES_KEY
· UDS_IID_PUF_WRAPPED_AES_KEY
· BBRAM_WRAPPED_AES_KEY
· BBRAM_IID_PUF_WRAPPED_AES_KEY
· BBRAM_UDS_IID_PUF_WRAPPED_AES_KEY
//Utwórz klucz główny eFuse AES bez znaku certyfikatu quartus_pfg –ccert -o ccert_type=EFUSE_WRAPPED_AES_KEY -o qek_file=aes.qek unsigned_efuse1.ccert
4. Podpisz certyfikat kompaktowy za pomocą komendy quartus_sign lub referencyjnej implementacji.
quartus_sign –family=agilex –operacja=znak –pem=aesccert1_private.pem –qky=aesccert1_sign_chain.qky unsigned_ 1.certyfikat podpisany_ 1.cert
quartus_sign –family=agilex –operacja=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so”
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 33
4. Udostępnianie urządzeń 683823 | 2023.05.23
–keyname=aesccert1 –qky=aesccert1_sign_chain.qky unsigned_ 1.certyfikat podpisany_ 1.cert
5. Użyj programatora Intel Quartus Prime, aby zaprogramować kompaktowy certyfikat klucza głównego AES na urządzeniu Intel Agilex 7 za pośrednictwem JTAG. Programista Intel Quartus Prime domyślnie programuje wirtualne eFuse podczas korzystania z kompaktowego typu certyfikatu EFUSE_WRAPPED_AES_KEY.
Dodajesz opcję –non_volatile_key, aby określić programowanie fizycznych bezpieczników.
//Dla fizycznego (nieulotnego) klucza głównego eFuse AES quartus_pgm -c 1 -mjtag -o „pi;signed_efuse1.ccert” –non_volatile_key
//Dla wirtualnego (lotnego) klucza głównego eFuse AES quartus_pgm -c 1 -mjtag -o „pi;signed_efuse1.ccert”
//Dla klucza głównego BBRAM AES quartus_pgm -c 1 -mjtag -o „pi;signed_bbram1.ccert”
Oprogramowanie sprzętowe SDM i główne oprogramowanie sprzętowe obsługują programowanie certyfikatu klucza głównego AES. Możesz także użyć interfejsu skrzynki pocztowej SDM ze struktury FPGA lub HPS, aby zaprogramować certyfikat klucza głównego AES.
Notatka:
Komenda quartus_pgm nie obsługuje opcji b i v w przypadku certyfikatów kompaktowych (.ccert).
4.9.2. Udostępnianie klucza głównego Intrinsic ID® PUF AES
Implementacja klucza AES opakowanego w Intrinsic* ID PUF obejmuje następujące kroki: 1. Rejestracja Intrinsic ID PUF przez JTAG. 2. Zawijanie klucza głównego AES. 3. Zaprogramuj dane pomocnicze i opakuj klucz w pamięć flash Quad SPI. 4. Zapytanie o status aktywacji Intrinsic ID PUF.
Korzystanie z technologii Intrinsic ID wymaga osobnej umowy licencyjnej z Intrinsic ID. Oprogramowanie Intel Quartus Prime Pro Edition ogranicza operacje PUF bez odpowiedniej licencji, takie jak rejestracja, pakowanie kluczy i programowanie danych PUF w pamięci flash QSPI.
4.9.2.1. Rejestracja wewnętrznego identyfikatora PUF
Aby zarejestrować PUF, musisz użyć oprogramowania sprzętowego SDM. Udostępnione oprogramowanie sprzętowe musi być pierwszym oprogramowaniem sprzętowym załadowanym po wyłączeniu zasilania, a polecenie rejestracji PUF należy wydać przed jakimkolwiek innym poleceniem. Oprogramowanie sprzętowe obsługuje inne polecenia po zarejestrowaniu PUF, w tym zawijanie klucza głównego AES i programowanie quad SPI, jednak należy wyłączyć i włączyć zasilanie urządzenia, aby załadować strumień bitów konfiguracyjnych.
Używasz programatora Intel Quartus Prime do wyzwalania rejestracji PUF i generowania danych pomocniczych PUF .puf file.
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 34
Wyślij opinię
4. Udostępnianie urządzeń 683823 | 2023.05.23
Rysunek 7.
Rejestracja wewnętrznego identyfikatora PUF
quartus_pgm Rejestracja PUF
Dane pomocnicze PUF dotyczące rejestracji
Menedżer bezpiecznych urządzeń (SDM)
wrapper.puf Dane pomocnicze
Programista automatycznie ładuje pomocniczy obraz oprogramowania sprzętowego, gdy określisz zarówno operację i, jak i argument .puf.
quartus_pgm -c 1 -mjtag -o „ei;help_data.puf;AGFB014R24A”
Jeśli używasz oprogramowania sprzętowego z podpisem, programujesz obraz pomocniczy oprogramowania sprzętowego z podpisem przed użyciem polecenia rejestracji PUF.
quartus_pgm -c 1 -mjtag -o „p;signed_provision_helper_image.rbf” –force quartus_pgm -c 1 -mjtag -o „e;help_data.puf;AGFB014R24A”
Certyfikat UDS IID PUF jest rejestrowany w trakcie produkcji urządzenia i nie można go ponownie zarejestrować. Zamiast tego używasz Programisty do określenia lokalizacji danych pomocniczych UDS PUF w IPCS, pobierz plik .puf file bezpośrednio, a następnie użyj pliku UDS .puf file w taki sam sposób jak .puf file wyodrębnione z urządzenia Intel Agilex 7.
Użyj następującego polecenia Programisty, aby wygenerować tekst file zawierający listę URLs wskazuje na specyficzne dla urządzenia filena IPCS:
quartus_pgm -c 1 -mjtag -o „e;ipcs_urls.txt;AGFB014R24B” –ipcs_urls
4.9.2.2. Zawijanie klucza głównego AES
Generujesz klucz główny AES opakowany w IID PUF .wkey file poprzez przesłanie podpisanego certyfikatu do SDM.
Możesz użyć programatora Intel Quartus Prime do automatycznego generowania, podpisywania i wysyłania certyfikatu w celu opakowania klucza głównego AES lub możesz skorzystać z programatora Intel Quartus Prime File Generator do generowania niepodpisanego certyfikatu. Niepodpisany certyfikat podpisujesz za pomocą własnych narzędzi lub narzędzia do podpisywania Quartus. Następnie używasz Programisty do wysyłania podpisanego certyfikatu i pakowania klucza głównego AES. Podpisanym certyfikatem można zaprogramować wszystkie urządzenia, które będą mogły walidować łańcuch podpisów.
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 35
4. Udostępnianie urządzeń 683823 | 2023.05.23
Rysunek 8.
Zawijanie klucza AES za pomocą programatora Intel Quartus Prime
.pem Prywatne
Klawisz
.qky
quartus_pgm
Zawiń klucz AES
Klucz AES.QSKigYnature RootCPhuabilnic
Wygeneruj klucz opakowany PUF
Opakowany klucz AES
SDM
Szyfrowanie .qek
Klawisz
.wkey w opakowaniu PUF
Klucz AES
1. Możesz wygenerować klucz główny AES IID PUF (.wkey) za pomocą Programisty, używając następujących argumentów:
· Plik .qky file zawierający łańcuch podpisów z uprawnieniami do certyfikatu klucza głównego AES
· Prywatny plik .pem file dla ostatniego klucza w łańcuchu podpisów
· Plik .qek file trzymając klucz główny AES
· 16-bajtowy wektor inicjujący (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. Alternatywnie możesz wygenerować niepodpisany certyfikat klucza głównego AES IID PUF za pomocą narzędzia Programowanie File Generator wykorzystujący następujące argumenty:
quartus_pfg –ccert -o ccert_type=IID_PUF_WRAPPED_AES_KEY -o qek_file=aes.qek –iv=1234567890ABCDEF1234567890ABCDEF unsigned_aes.ccert
3. Niepodpisany certyfikat podpisujesz za pomocą własnych narzędzi do podpisywania lub narzędzia quartus_sign za pomocą następującego polecenia:
quartus_sign –family=agilex –operacja=sign –qky=aes0_sign_chain.qky –pem=aes0_sign_private.pem unsigned_aes.ccert Signed_aes.ccert
4. Następnie za pomocą Programatora wysyłasz podpisany certyfikat AES i zwracasz zapakowany klucz (.wkey) file:
kwarty_pgm -c 1 -mjtag –ccert_file=signed_aes.ccert -o „ei;aes.wkey;AGFB014R24A”
Uwaga: operacja i nie jest konieczna, jeśli wcześniej załadowałeś obraz pomocniczy oprogramowania sprzętowego, npample, aby zapisać się do PUF.
4.9.2.3. Programowanie danych pomocniczych i klucza opakowanego w pamięci Flash QSPI
Korzystasz z programowania Quartus File Generator interfejsu graficznego do tworzenia początkowego obrazu flash QSPI zawierającego partycję PUF. Aby dodać partycję PUF do pamięci flash QSPI, należy wygenerować i zaprogramować cały obraz programowania Flash. Utworzenie PUF-u
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 36
Wyślij opinię
4. Udostępnianie urządzeń 683823 | 2023.05.23
Rysunek 9.
partycja danych i wykorzystanie danych pomocniczych PUF oraz opakowanego klucza files do generowania obrazów flash nie jest obsługiwany przez programowanie File Interfejs wiersza poleceń generatora.
Poniższe kroki demonstrują budowanie obrazu programowania Flash z danymi pomocniczymi PUF i opakowanym kluczem:
1. Na File menu kliknij Programowanie File Generator. Na wyjściu Files dokonaj następujących wyborów:
A. W obszarze Rodzina urządzeń wybierz Agilex 7.
B. W trybie konfiguracji wybierz Aktywny port szeregowy x4.
C. W katalogu wyjściowym przejdź do danych wyjściowych file informator. Ten byłyampplik wykorzystuje dane wyjściowefiles.
D. W polu Nazwa podaj nazwę programowania file zostać wygenerowane. Ten byłyampplik wykorzystuje dane wyjściowefile.
mi. W obszarze Opis wybierz programowanie files wygenerować. Ten byłyample generuje JTAG Konfiguracja pośrednia File (.jic) do konfiguracji urządzenia i nieprzetworzonego pliku binarnego File obrazu pomocniczego programowania (.rbf) dla obrazu pomocniczego urządzenia. Ten byłyample wybiera także opcjonalną mapę pamięci File (.map) i surowe dane programowe File (.rpd). Surowe dane programowe file jest konieczne tylko wtedy, gdy w przyszłości planujesz korzystać z programatora innej firmy.
Programowanie File Generator – Wyjście FileZakładka s – Wybierz JTAG Konfiguracja pośrednia
Tryb konfiguracji rodziny urządzeń
Wyjście file patka
Katalog wyjściowy
JTAG Pośrednia (.jic) mapa pamięci File Pomoc w programowaniu Surowe dane programistyczne
Na wejściu Files, dokonaj następujących wyborów: 1. Kliknij Dodaj Bitstream i przejdź do swojego pliku .sof. 2. Wybierz swój plik .sof file a następnie kliknij Właściwości.
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 37
4. Udostępnianie urządzeń 683823 | 2023.05.23
A. Włącz opcję Włącz narzędzie do podpisywania. B. Dla klucza prywatnego file wybierz swój plik .pem file. C. Włącz opcję Finalizuj szyfrowanie. D. Dla klucza szyfrowania file wybierz swój plik .qek file. mi. Kliknij OK, aby powrócić do poprzedniego okna. 3. Aby określić dane pomocnicze PUF filekliknij opcję Dodaj nieprzetworzone dane. Zmienić Files typu z menu rozwijanego Quartus Physical Unclonable Function File (*.puf). Przejdź do swojego pliku .puf file. Jeśli używasz zarówno IID PUF, jak i UDS IID PUF, powtórz ten krok, aby .puf files dla każdego PUF są dodawane jako dane wejściowe fileS. 4. Aby określić opakowany klucz AES filekliknij opcję Dodaj nieprzetworzone dane. Zmienić Filez menu rozwijanego typu s wybierz Quartus Wrapped Key File (*.wkey). Przejdź do swojego pliku .wkey file. Jeśli klucze AES zostały zawinięte zarówno przy użyciu IID PUF, jak i UDS IID PUF, powtórz ten krok, aby .wkey files dla każdego PUF są dodawane jako dane wejściowe files.
Rysunek 10. Określ dane wejściowe Files do konfiguracji, uwierzytelniania i szyfrowania
Dodaj strumień bitów Dodaj surowe dane
Właściwości
Klucz prywatny file
Zakończ szyfrowanie Klucz szyfrowania
Na karcie Urządzenie konfiguracyjne dokonaj następujących wyborów: 1. Kliknij Dodaj urządzenie i wybierz urządzenie flash z listy dostępnych urządzeń flash.
urządzenia. 2. Wybierz właśnie dodane urządzenie konfiguracyjne i kliknij Dodaj partycję. 3. W oknie dialogowym Edytuj partycję dla wejścia file i wybierz plik .sof z
Lista rozwijana. Możesz zachować ustawienia domyślne lub edytować inne parametry w oknie dialogowym Edytuj partycję.
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 38
Wyślij opinię
4. Udostępnianie urządzeń 683823 | 2023.05.23
Rysunek 11. Określanie partycji konfiguracyjnej strumienia bitów .sof
Urządzenie konfiguracyjne
Edytuj partycję Dodaj .sof file
Dodaj partycję
4. Po dodaniu plików .puf i .wkey jako danych wejściowych files, Programowanie File Generator automatycznie tworzy partycję PUF na urządzeniu konfiguracyjnym. Aby zapisać pliki .puf i .wkey na partycji PUF, wybierz partycję PUF i kliknij Edytuj. W oknie dialogowym Edytuj partycję wybierz pliki .puf i .wkey files z list rozwijanych. Jeśli usuniesz partycję PUF, musisz usunąć i ponownie dodać urządzenie konfiguracyjne do programowania File Generator do utworzenia kolejnej partycji PUF. Musisz upewnić się, że wybrałeś właściwe pliki .puf i .wkey file odpowiednio dla IID PUF i UDS IID PUF.
Rysunek 12. Dodaj pliki .puf i .wkey files do partycji PUF
Partycja PUF
Redagować
Edytuj partycję
Ładowarka Flash
Wybierz opcję Generuj
5. Dla parametru Flash Loader wybierz rodzinę urządzeń Intel Agilex 7 i nazwę urządzenia zgodną z nazwą OPN Intel Agilex 7.
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 39
4. Udostępnianie urządzeń 683823 | 2023.05.23
6. Kliknij opcję Generuj, aby wygenerować dane wyjściowe files, które określiłeś na wyjściu Filezakładka s.
7. Programowanie File Generator odczytuje Twój plik .qek file i poprosi o podanie hasła. Wpisz hasło w odpowiedzi na monit o wprowadzenie hasła QEK. Kliknij klawisz Enter.
8. Kliknij OK podczas programowania File Generator zgłasza pomyślną generację.
Programator Intel Quartus Prime służy do zapisywania obrazu programowania QSPI w pamięci flash QSPI. 1. W menu Narzędzia Intel Quartus Prime wybierz opcję Programista. 2. W Programmerze kliknij opcję Hardware Setup, a następnie wybierz podłączoną firmę Intel
Kabel do pobierania FPGA. 3. Kliknij Dodaj File i przejdź do pliku .jic file.
Rysunek 13. Program .jic
Programowanie file
Programuj/konfiguruj
JTAG łańcuch skanowania
4. Odznacz pole powiązane z obrazem Pomocnika. 5. Wybierz opcję Program/Configure dla pliku wyjściowego .jic file. 6. Włącz przycisk Start, aby zaprogramować pamięć flash Quad SPI. 7. Wyłącz i wyłącz tablicę. Konstrukcja zaprogramowana na poczwórną pamięć flash SPI
urządzenie następnie ładuje się do docelowego układu FPGA.
Aby dodać partycję PUF do poczwórnej pamięci flash SPI, należy wygenerować i zaprogramować cały obraz programowania Flash.
Jeśli partycja PUF już istnieje w pamięci flash, można użyć programatora Intel Quartus Prime Programmer, aby uzyskać bezpośredni dostęp do danych pomocniczych PUF i opakowanego klucza files. Na przykładample, jeśli aktywacja się nie powiedzie, istnieje możliwość ponownego zarejestrowania PUF, ponownego zapakowania klucza AES, a następnie jedynie zaprogramowania PUF files bez konieczności nadpisywania całej pamięci flash.
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 40
Wyślij opinię
4. Udostępnianie urządzeń 683823 | 2023.05.23
Programator Intel Quartus Prime obsługuje następujący argument operacyjny dla PUF files na istniejącej partycji PUF:
· p: program
· v: sprawdź
· r: usuń
· b: czek in blanco
Należy przestrzegać tych samych ograniczeń w przypadku rejestracji PUF, nawet jeśli istnieje partycja PUF.
1. Użyj argumentu operacji i, aby załadować obraz pomocniczy oprogramowania sprzętowego dla pierwszej operacji. Na przykładample, następująca sekwencja poleceń ponownie rejestruje PUF, ponownie zawija klucz główny AES, usuwa stare dane pomocnicze PUF i opakowany klucz, a następnie programuje i weryfikuje nowe dane pomocnicze PUF i klucz główny AES.
quartus_pgm -c 1 -mjtag -o „ei;nowy.puf;AGFB014R24A” quartus_pgm -c 1 -mjtag –ccert_file=signed_aes.ccert -o „e;nowy.wkey;AGFB014R24A” quartus_pgm -c 1 -mjtag -o „r;old.puf” quartus_pgm -c 1 -mjtag -o „r;old.wkey” quartus_pgm -c 1 -mjtag -o „p;nowy.puf” quartus_pgm -c 1 -mjtag -o „p;nowy.wkey” quartus_pgm -c 1 -mjtag -o „v;nowy.puf” quartus_pgm -c 1 -mjtag -o „v;nowy.wkey”
4.9.2.4. Zapytanie o stan aktywacji PUF wewnętrznego identyfikatora
Po zarejestrowaniu Intrinsic ID PUF, zawiń klucz AES i wygeneruj programowanie flash files i zaktualizuj poczwórną pamięć flash SPI, wyłącz i włącz urządzenie, aby uruchomić aktywację i konfigurację PUF z zaszyfrowanego strumienia bitów. SDM raportuje stan aktywacji PUF wraz ze statusem konfiguracji. Jeśli aktywacja PUF nie powiedzie się, SDM zamiast tego zgłasza stan błędu PUF. Użyj komendy quartus_pgm, aby sprawdzić stan konfiguracji.
1. Użyj następującego polecenia, aby sprawdzić stan aktywacji:
quartus_pgm -c 1 -mjtag –status –typ_statusu=”KONFIG”
Oto sampDane wyjściowe udanej aktywacji:
Informacje (21597): Odpowiedź CONFIG_STATUS Urządzenie pracuje w trybie użytkownika 00006000 RESPONSE_CODE=OK, LENGTH=6 00000000 STATE=IDLE 00160300 Wersja 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 Lokalizacja błędu 00000000 Szczegóły błędu Odpowiedź PUF_STATUS 00002000 RESPONSE_CODE=OK, LENGTH=2 00000500 USER_IID STATUS=PUF_AKTYWACJA_SUCCESS,
RELIABILITY_DIAGNOSTIC_SCORE=5, TEST_MODE=0 00000500 UDS_IID STATUS=PUF_ACTIVATION_SUCCESS,
RELIABILITY_DIAGNOSTIC_SCORE=5, TEST_MODE=0
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 41
4. Udostępnianie urządzeń 683823 | 2023.05.23
Jeśli używasz tylko IID PUF lub UDS IID PUF i nie zaprogramowałeś danych pomocniczych .puf file dla któregokolwiek PUF w pamięci flash QSPI, ten PUF nie zostanie aktywowany, a status PUF odzwierciedla, że dane pomocnicze PUF są nieprawidłowe. Poniższy przykładampPlik pokazuje status PUF, gdy dane pomocnicze PUF nie zostały zaprogramowane dla żadnego PUF:
Odpowiedź PUF_STATUS 00002000 RESPONSE_CODE=OK, LENGTH=2 00000002 USER_IID STATUS=PUF_DATA_CORRUPTED,
RELIABILITY_DIAGNOSTIC_SCORE=0, TEST_MODE=0 00000002 UDS_IID STATUS=PUF_DATA_CORRUPTED,
RELIABILITY_DIAGNOSTIC_SCORE=0, TEST_MODE=0
4.9.2.5. Lokalizacja PUF w pamięci Flash
Lokalizacja firmy PUF file różni się w przypadku projektów obsługujących funkcję RSU i projektów, które nie obsługują funkcji RSU.
W przypadku projektów, które nie obsługują RSU, należy dołączyć pliki .puf i .wkey files podczas tworzenia zaktualizowanych obrazów flash. W przypadku projektów obsługujących RSU, SDM nie zastępuje sekcji danych PUF podczas aktualizacji obrazu fabrycznego lub aplikacji.
Tabela 2.
Układ podpartycji Flash bez obsługi RSU
Przesunięcie Flash (w bajtach)
Rozmiar (w bajtach)
Zawartość
Opis
0 tys. 256 tys.
256 tys. 256 tys.
Oprogramowanie sprzętowe do zarządzania konfiguracją Oprogramowanie sprzętowe do zarządzania konfiguracją
Oprogramowanie sprzętowe działające na SDM.
512 tys.
256 tys.
Oprogramowanie sprzętowe do zarządzania konfiguracją
768 tys.
256 tys.
Oprogramowanie sprzętowe do zarządzania konfiguracją
1M
32 tys.
Kopia danych PUF 0
Struktura danych do przechowywania danych pomocniczych PUF i kopii klucza głównego AES zapakowanej w PUF 0
1 mln+32 tys.
32 tys.
Kopia danych PUF 1
Struktura danych do przechowywania danych pomocniczych PUF i kopii klucza głównego AES zapakowanej w PUF 1
Tabela 3.
Układ podpartycji Flash z obsługą RSU
Przesunięcie Flash (w bajtach)
Rozmiar (w bajtach)
Zawartość
Opis
0 tys. 512 tys.
512 tys. 512 tys.
Oprogramowanie decyzyjne Oprogramowanie decyzyjne
Oprogramowanie sprzętowe umożliwiające identyfikację i ładowanie obrazu o najwyższym priorytecie.
1M 1.5M
512 tys. 512 tys.
Oprogramowanie decyzyjne Oprogramowanie decyzyjne
2M
8K + 24K
Dane oprogramowania sprzętowego decyzji
Wyściółka
Zarezerwowane do użytku oprogramowania sprzętowego decyzyjnego.
2M + 32K
32 tys.
Zarezerwowane dla SDM
Zarezerwowane dla SDM.
2M + 64K
Zmienny
Obraz fabryczny
Prosty obraz tworzony jako kopia zapasowa, jeśli wszystkie inne obrazy aplikacji nie zostaną załadowane. Ten obraz zawiera CMF działający na SDM.
Następny
32 tys.
Kopia danych PUF 0
Struktura danych do przechowywania danych pomocniczych PUF i kopii klucza głównego AES zapakowanej w PUF 0
dalszy…
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 42
Wyślij opinię
4. Udostępnianie urządzeń 683823 | 2023.05.23
Przesunięcie Flash (w bajtach)
Rozmiar (w bajtach)
Dalej +32 tys. 32 tys
Spis treści Kopia danych PUF 1
Następny + 256 tys. 4 tys. Następny +32 tys. 4 tys. Następny +32 tys. 4 tys
Kopia tabeli podpodziałów 0 Kopia tabeli podpodziałów 1 Kopia bloku wskaźnika CMF 0
Dalej +32 tys. _
Kopia bloku wskaźnika CMF 1
Zmienna Zmienna
Zmienna Zmienna
Obraz aplikacji 1 Obraz aplikacji 2
4.9.3. Udostępnianie czarnego klucza
Opis
Struktura danych do przechowywania danych pomocniczych PUF i kopii klucza głównego AES zapakowanej w PUF 1
Struktura danych ułatwiająca zarządzanie pamięcią flash.
Lista wskaźników do obrazów aplikacji w kolejności priorytetu. Po dodaniu obrazu staje się on najwyższy.
Druga kopia listy wskaźników do obrazów aplikacji.
Twój pierwszy obraz aplikacji.
Twój drugi obraz aplikacji.
Notatka:
Program Intel Quartus PrimeProgrammer pomaga w ustanowieniu wzajemnie uwierzytelnionego bezpiecznego połączenia pomiędzy urządzeniem Intel Agilex 7 a usługą dostarczania czarnego klucza. Bezpieczne połączenie nawiązywane jest za pośrednictwem protokołu https i wymaga kilku certyfikatów identyfikowanych za pomocą tekstu file.
W przypadku korzystania z Black Key Provisioning firma Intel zaleca unikanie zewnętrznego podłączania pinu TCK w celu podciągania lub ściągania rezystora, podczas gdy nadal używasz go do JTAG. Można jednak podłączyć pin TCK do zasilacza VCCIO SDM za pomocą rezystora 10 k. Istniejące wytyczne zawarte w Wytycznych dotyczących połączeń pinowych, dotyczące podłączenia TCK do rezystora obniżającego 1 k, zostały uwzględnione w celu tłumienia szumów. Zmiana sterowania na rezystor podciągający 10 k nie wpływa na funkcjonalność urządzenia. Więcej informacji na temat podłączania styku TCK można znaleźć w Wytycznych dotyczących połączeń 7-stykowych Intel Agilex.
Thebkp_tls_ca_certcertificate uwierzytelnia instancję usługi udostępniania czarnego klucza w instancji programisty udostępniania czarnego klucza. Certyfikaty bkp_tls_* uwierzytelniają instancję programisty udostępniającego czarny klucz w instancji usługi udostępniania czarnego klucza.
Tworzysz tekst file zawierający informacje niezbędne dla programatora Intel Quartus Prime do połączenia się z usługą dostarczania czarnego klucza. Aby zainicjować udostępnianie czarnego klucza, użyj interfejsu wiersza poleceń Programisty w celu określenia tekstu opcji udostępniania czarnego klucza file. Następnie udostępnianie czarnego klucza przebiega automatycznie. Aby uzyskać dostęp do usługi udostępniania czarnego klucza i powiązanej dokumentacji, skontaktuj się z pomocą techniczną firmy Intel.
Możesz włączyć udostępnianie czarnego klucza za pomocą polecenia thequartus_pgm:
quartus_pgm -c -M -urządzenie –bkp_options=bkp_options.txt
Argumenty polecenia określają następujące informacje:
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 43
4. Udostępnianie urządzeń 683823 | 2023.05.23
· -c: numer kabla · -m: określa tryb programowania, taki jak JTAG · –device: określa indeks urządzenia na serwerze JTAG łańcuch. Wartość domyślna to 1. · –bkp_options: określa tekst file zawierające opcje udostępniania czarnego klucza.
Powiązane informacje Wytyczne dotyczące połączeń stykowych rodziny urządzeń Intel Agilex 7
4.9.3.1. Opcje udostępniania czarnego klucza
Opcje udostępniania czarnego klucza to tekst file przekazywane Programiście za pomocą komendy quartus_pgm. The file zawiera informacje wymagane do uruchomienia udostępniania czarnego klucza.
Poniżej znajduje się byłyampplik bkp_options.txt file:
bkp_cfg_id = 1 bkp_ip = 192.167.1.1 bkp_port = 10034 bkp_tls_ca_cert = root.cert bkp_tls_prog_cert = prog.cert bkp_tls_prog_key = prog_key.pem bkp_tls_prog_key_pass = 1234 bkp_proxy_address = https://192.167.5.5:5000 bkp_proxy_user = użytkownik_proxy bkp_proxy_password = hasło_proxy
Tabela 4.
Opcje udostępniania czarnego klucza
W tej tabeli przedstawiono opcje wymagane do wyzwolenia aprowizacji czarnego klucza.
Nazwa opcji
Typ
Opis
bkp_ip
Wymagany
Określa adres IP serwera, na którym działa usługa udostępniania czarnego klucza.
bkp_port
Wymagany
Określa port usługi udostępniania klucza czarnego wymagany do połączenia z serwerem.
bkp_cfg_id
Wymagany
Identyfikuje identyfikator przepływu konfiguracji udostępniania klucza czarnego.
Usługa dostarczania czarnego klucza tworzy przepływy konfiguracji dostarczania czarnego klucza, w tym klucz główny AES, żądane ustawienia eFuse i inne opcje autoryzacji udostępniania czarnego klucza. Numer przypisany podczas konfiguracji usługi udostępniania klucza czarnego identyfikuje przepływy konfiguracji udostępniania klucza czarnego.
Uwaga: wiele urządzeń może odnosić się do tego samego przepływu konfiguracji usługi udostępniania czarnego klucza.
bkp_tls_ca_cert
Wymagany
Główny certyfikat TLS używany do identyfikacji usług dostarczania czarnego klucza dla programisty Intel Quartus Prime (programisty). Zaufany urząd certyfikacji dla instancji usługi udostępniania klucza czarnego wystawia ten certyfikat.
Jeżeli uruchamiasz Programistę na komputerze z systemem operacyjnym Microsoft® Windows® (Windows), musisz zainstalować ten certyfikat w magazynie certyfikatów Windows.
bkp_tls_prog_cert
Wymagany
Certyfikat utworzony dla instancji Programisty dostarczającego czarny klucz (Programista BKP). Jest to certyfikat klienta https używany do identyfikacji tej instancji programisty BKP
dalszy…
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 44
Wyślij opinię
4. Udostępnianie urządzeń 683823 | 2023.05.23
Nazwa opcji
Typ
bkp_tls_prog_key
Wymagany
bkp_tls_prog_key_pass Opcjonalne
bkp_proxy_address bkp_proxy_user bkp_proxy_password
Opcjonalnie Opcjonalnie Opcjonalnie
Opis
do usługi udostępniania czarnego klucza. Przed rozpoczęciem sesji udostępniania klucza czarnego należy zainstalować i autoryzować ten certyfikat w usłudze udostępniania klucza czarnego. Jeśli uruchamiasz Programmer w systemie Windows, ta opcja nie jest dostępna. W tym przypadku bkp_tls_prog_key zawiera już ten certyfikat.
Klucz prywatny odpowiadający certyfikatowi Programisty BKP. Klucz sprawdza tożsamość instancji Programisty BKP w ramach usługi udostępniania czarnego klucza. Jeśli uruchomisz Programmer w systemie Windows, plik .pfx file łączy certyfikat bkp_tls_prog_cert i klucz prywatny. Opcja bkp_tlx_prog_key przekazuje plik .pfx file w pliku bkp_options.txt file.
Hasło do klucza prywatnego bkp_tls_prog_key. Niewymagane w tekście opcji konfiguracji udostępniania czarnego klucza (bkp_options.txt). file.
Określa serwer proxy URL adres.
Określa nazwę użytkownika serwera proxy.
Określa hasło uwierzytelniania serwera proxy.
4.10. Konwersja klucza głównego właściciela, certyfikatów klucza głównego AES i bezpiecznika files do zacięcia STAPL File Formaty
Możesz użyć polecenia wiersza poleceń quartus_pfg, aby przekonwertować pliki .qky, klucz główny AES .ccert i .fuse files do zacięcia formatu STAPL File (.jam) i format kodu bajtowego Jam File (.jbc). Możesz z nich skorzystać files do programowania układów Intel FPGA przy użyciu odpowiednio Jam STAPL Player i Jam STAPL Byte-Code Player.
Pojedynczy plik .jam lub .jbc zawiera kilka funkcji, w tym konfigurację obrazu pomocniczego oprogramowania sprzętowego i program, sprawdzanie stanu pustego oraz weryfikację zaprogramowania klucza i bezpiecznika.
Ostrożność:
Podczas konwersji klucza głównego AES .ccert file do formatu .jam, plik .jam file zawiera klucz AES w postaci zwykłego tekstu, ale w zaciemnionej formie. W związku z tym musisz chronić plik .jam file podczas przechowywania klucza AES. Można to zrobić, udostępniając klucz AES w bezpiecznym środowisku.
Oto examppliki poleceń konwersji quartus_pfg:
Quartus_pfg -c -o helper_device = agfb014r24a „root0.qky; root1.qky; root2.qky” rootkey.jam quartus_pfg -c -o helper_device = agfb014r24a „root0.qky; root1.qky; root2.qky” rootkey.jbc quartus_pfg - c -o urządzenie_pomocnicze=AGFB014R24A aes.ccert aes_ccert.jam quartus_pfg -c -o urządzenie_pomocnicze=AGFB014R24A aes.ccert aes_ccert.jbc quartus_pfg -c -o urządzenie_pomocnicze=AGFB014R24A ustawienia.fuse ustawienia_fuse.jam quartus_pfg -c -o pomoc er_device=AGFB014R24A ustawienia. ustawienia bezpieczników_fuse.jbc
Więcej informacji na temat korzystania z odtwarzacza Jam STAPL Player do programowania urządzeń można znaleźć w artykule AN 425: Korzystanie z rozwiązania Jam STAPL wiersza poleceń do programowania urządzeń.
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 45
4. Udostępnianie urządzeń 683823 | 2023.05.23
Uruchom następujące polecenia, aby zaprogramować główny klucz publiczny właściciela i klucz szyfrowania AES:
//Aby załadować pomocniczy strumień bitów do FPGA. // Pomocniczy strumień bitów zawiera oprogramowanie sprzętowe quartus_jli -c 1 -a KONFIGURACJA RootKey.jam
//Aby zaprogramować główny klucz publiczny właściciela w wirtualnym eFuses quartus_jli -c 1 -a PUBKEY_PROGRAM RootKey.jam
//Aby zaprogramować główny klucz publiczny właściciela w fizycznym eFuses quartus_jli -c 1 -a PUBKEY_PROGRAM -e DO_UNI_ACT_DO_EFUSES_FLAG RootKey.jam
//Aby zaprogramować główny klucz publiczny właściciela PR w wirtualnym eFuses quartus_jli -c 1 -a PUBKEY_PROGRAM -e DO_UNI_ACT_DO_PR_PUBKEY_FLAG pr_rootkey.jam
//Aby zaprogramować główny klucz publiczny właściciela PR w fizycznym 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
//Aby zaprogramować klucz szyfrowania AES CCERT w BBRAM quartus_jli -c 1 -a CCERT_PROGRAM EncKeyBBRAM.jam
//Aby zaprogramować klucz szyfrujący AES CCERT w fizycznym eFuses quartus_jli -c 1 -a CCERT_PROGRAM -e DO_UNI_ACT_DO_EFUSES_FLAG EncKeyEFuse.jam
Informacje pokrewne AN 425: Korzystanie z rozwiązania STAPL Jam wiersza poleceń do programowania urządzeń
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 46
Wyślij opinię
683823 | 2023.05.23 Prześlij opinię
Zaawansowane funkcje
5.1. Autoryzacja bezpiecznego debugowania
Aby włączyć autoryzację bezpiecznego debugowania, właściciel debugowania musi wygenerować parę kluczy uwierzytelniających i użyć programatora Intel Quartus Prime Pro do wygenerowania informacji o urządzeniu file dla urządzenia, na którym uruchamiany jest obraz debugowania:
quartus_pgm -c 1 -mjtag -o „ei;info_urządzenia.txt;AGFB014R24A” –dev_info
Właściciel urządzenia używa narzędzia quartus_sign lub implementacji referencyjnej do dołączenia wpisu warunkowego klucza publicznego do łańcucha podpisów przeznaczonego do operacji debugowania przy użyciu klucza publicznego od właściciela debugowania, niezbędnych autoryzacji, tekstu informacji o urządzeniu fileoraz obowiązujące dalsze ograniczenia:
quartus_sign –family=agilex –operacja=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
Właściciel urządzenia wysyła pełny łańcuch podpisów z powrotem do właściciela debugowania, który używa łańcucha podpisów i swojego klucza prywatnego do podpisania obrazu debugowania:
quartus_sign –family=agilex –operacja=sign –qky=secure_debug_auth_chain.qky –pem=debug_authorization_private_key.pem unsigned_debug_design.rbf autoryzowany_debug_design.rbf
Możesz użyć komendy quartus_pfg, aby sprawdzić łańcuch podpisów każdej sekcji tego podpisanego strumienia bitów bezpiecznego debugowania w następujący sposób:
quartus_pfg –check_integrity autoryzowany_debug_design.rbf
Dane wyjściowe tego polecenia wyświetlają wartości ograniczeń 1,2,17,18 warunkowego klucza publicznego, który został użyty do wygenerowania podpisanego strumienia bitów.
Właściciel debugowania może następnie zaprogramować bezpiecznie autoryzowany projekt debugowania:
quartus_pgm -c 1 -mjtag -o „p;authorized_debug_design.rbf”
Właściciel urządzenia może odwołać autoryzację bezpiecznego debugowania, anulując jawny identyfikator anulowania klucza przypisany w łańcuchu podpisów autoryzacji bezpiecznego debugowania.
5.2. Certyfikaty debugowania HPS
Włączanie tylko autoryzowanego dostępu do portu dostępu debugowania HPS (DAP) za pośrednictwem JTAG interfejs wymaga kilku kroków:
Korporacja intelektualna. Wszelkie prawa zastrzeżone. Intel, logo Intel i inne znaki Intel są znakami towarowymi firmy Intel Corporation lub jej podmiotów zależnych. Firma Intel gwarantuje wydajność swoich produktów FPGA i półprzewodników zgodnie z aktualnymi specyfikacjami zgodnie ze standardową gwarancją firmy Intel, ale zastrzega sobie prawo do wprowadzania zmian w dowolnych produktach i usługach w dowolnym czasie bez powiadomienia. Firma Intel nie ponosi żadnej odpowiedzialności wynikającej z zastosowania lub wykorzystania jakichkolwiek informacji, produktów lub usług opisanych w niniejszym dokumencie, z wyjątkiem przypadków wyraźnie uzgodnionych na piśmie przez firmę Intel. Klienci firmy Intel powinni uzyskać najnowszą wersję specyfikacji urządzeń przed poleganiem na jakichkolwiek opublikowanych informacjach oraz przed złożeniem zamówienia na produkty lub usługi. *Inne nazwy i marki mogą być przedmiotem praw osób trzecich.
Zarejestrowany zgodnie z ISO 9001: 2015
5. Zaawansowane funkcje 683823 | 2023.05.23
1. Kliknij menu Przypisania oprogramowania Intel Quartus Prime i wybierz kartę Konfiguracja opcji urządzenia i styków urządzenia.
2. Na karcie Konfiguracja włącz port dostępu do debugowania HPS (DAP), wybierając opcję HPS Pins lub SDM Pins z menu rozwijanego i upewniając się, że pole wyboru Zezwalaj na debugowanie HPS bez certyfikatów nie jest zaznaczone.
Rysunek 14. Wybierz styki HPS lub SDM dla HPS DAP
Port dostępu do debugowania HPS (DAP)
Alternatywnie możesz ustawić przypisanie poniżej w pliku Quartus Prime Settings .qsf file:
set_global_przypisanie -nazwa HPS_DAP_SPLIT_MODE „PINS SDM”
3. Skompiluj i załaduj projekt z tymi ustawieniami. 4. Utwórz łańcuch podpisów z odpowiednimi uprawnieniami, aby podpisać debugowanie HPS
certyfikat:
quartus_sign –family=agilex –operacja=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. Poproś o niepodpisany certyfikat debugowania HPS z urządzenia, na którym załadowany jest projekt debugowania:
quartus_pgm -c 1 -mjtag -o „e;unsigned_hps_debug.cert;AGFB014R24A”
6. Podpisz niepodpisany certyfikat debugowania HPS za pomocą narzędzia quartus_sign lub implementacji referencyjnej i łańcucha podpisów debugowania HPS:
quartus_sign –family=agilex –operacja=sign –qky=hps_debug_cert_sign_chain.qky –pem=hps_debug_cert_private_key.pem unsigned_hps_debug.cert Signed_hps_debug.cert
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 48
Wyślij opinię
5. Zaawansowane funkcje 683823 | 2023.05.23
7. Wyślij podpisany certyfikat debugowania HPS z powrotem do urządzenia, aby umożliwić dostęp do portu dostępu do debugowania HPS (DAP):
quartus_pgm -c 1 -mjtag -o „p;signed_hps_debug.cert”
Certyfikat debugowania HPS jest ważny tylko od momentu jego wygenerowania do następnego włączenia zasilania urządzenia lub do momentu załadowania innego typu lub wersji oprogramowania sprzętowego SDM. Przed włączeniem zasilania urządzenia należy wygenerować, podpisać i zaprogramować podpisany certyfikat debugowania HPS oraz wykonać wszystkie operacje debugowania. Możesz unieważnić podpisany certyfikat debugowania HPS, wyłączając i włączając urządzenie.
5.3. Atest platformy
Możesz wygenerować manifest integralności odniesienia (.rim) file za pomocą programowania file narzędzie generatora:
quartus_pfg -c podpisany_enszyfrowany_top.rbf top_rim.rim
Wykonaj poniższe kroki, aby zapewnić atest platformy w swoim projekcie: 1. Użyj programatora Intel Quartus Prime Pro, aby skonfigurować urządzenie za pomocą
projekt, dla którego utworzono manifest integralności odniesienia. 2. Użyj weryfikatora atestacji platformy, aby zarejestrować urządzenie, wydając polecenia do
SDM za pośrednictwem skrzynki pocztowej SDM, aby utworzyć certyfikat identyfikacyjny urządzenia i certyfikat oprogramowania sprzętowego przy ponownym ładowaniu. 3. Użyj programatora Intel Quartus Prime Pro, aby ponownie skonfigurować urządzenie zgodnie z projektem. 4. Użyj weryfikatora atestu platformy, aby wydać polecenia do modułu SDM w celu uzyskania identyfikatora urządzenia atestującego, oprogramowania sprzętowego i certyfikatów aliasu. 5. Użyj weryfikatora atestu, aby wydać polecenie skrzynki pocztowej SDM w celu uzyskania dowodu atestu, a weryfikator sprawdzi zwrócony dowód.
Możesz zaimplementować własną usługę weryfikatora za pomocą poleceń skrzynki pocztowej SDM lub skorzystać z usługi weryfikatora atestacji platformy Intel. Aby uzyskać więcej informacji na temat oprogramowania usługi weryfikatora atestów platformy Intel, dostępności i dokumentacji, skontaktuj się z pomocą techniczną firmy Intel.
Powiązane informacje Wytyczne dotyczące połączeń stykowych rodziny urządzeń Intel Agilex 7
5.4. Fizyczne anty-Tamper
Włączasz fizyczne zabezpieczenie przed tampAby to zrobić, wykonaj następujące czynności: 1. Wybór żądanej reakcji na wykryty sygnałamper event 2. Konfiguracja żądanego tampmetody i parametry wykrywania Er 3. W tym anty-tamper IP w logice projektu, aby pomóc w zarządzaniu anty-tamper
wydarzenia
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 49
5. Zaawansowane funkcje 683823 | 2023.05.23
5.4.1. Anty-Tampe odpowiedzi
Włączasz fizyczne zabezpieczenie przed tamper, wybierając odpowiedź z listy Anti-tampodpowiedź: lista rozwijana na urządzeniu Przypisania Urządzenie i opcje PIN Zabezpieczenia Anti-Tampeee zakładka. Domyślnie anty-tampodpowiedź jest wyłączona. Pięć kategorii anty-tampodpowiedź jest dostępna. Po wybraniu żądanej reakcji zostaną włączone opcje umożliwiające włączenie jednej lub większej liczby metod wykrywania.
Rysunek 15. Dostępne anty-TampOpcje odpowiedzi
Odpowiednie przypisanie w ustawieniach Quartus Prime .gsf file jest następujący:
set_global_przypisanie -nazwa ANTI_TAMPER_RESPONSE „URZĄDZENIE POWIADOMIENIA WYCZYŚĆ BLOKADĘ URZĄDZENIA I ZEROWANIE”
Po włączeniu anty-tampW przypadku odpowiedzi możesz wybrać dwa dostępne dedykowane piny we/wy SDM do wyprowadzenia sygnału tamper wykrywanie zdarzeń i stan odpowiedzi za pomocą okna Przypisania Urządzenie Konfiguracja opcji urządzenia i styków Konfiguracja Opcje styków.
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 50
Wyślij opinię
5. Zaawansowane funkcje 683823 | 2023.05.23
Rysunek 16. Dostępne dedykowane piny we/wy SDM dla Tamper Wykrywanie zdarzeń
W ustawieniach możesz także dokonać następujących przypisań pinów file: set_global_przypisanie -nazwa USE_TAMPER_DETECT SDM_IO15 set_global_przypisanie -nazwa ANTI_TAMPER_RESPONSE_FAILED SDM_IO16
5.4.2. Anty-Tamper Wykrywanie
Możesz indywidualnie włączyć częstotliwość, temperaturę i głośnośćtagFunkcje wykrywania SDM. Wykrywanie FPGA zależy od włączenia modułu Anti-Tamper Lite Intel FPGA IP w Twoim projekcie.
Notatka:
Częstotliwość i objętość SDMtagiampMetody wykrywania zależą od referencji wewnętrznych i sprzętu pomiarowego, który może różnić się w zależności od urządzenia. Firma Intel zaleca scharakteryzowanie zachowania tamper ustawienia wykrywania.
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 51
5. Zaawansowane funkcje 683823 | 2023.05.23
Częstotliwość tampwykrywanie er działa na źródle zegara konfiguracyjnego. Aby włączyć częstotliwość tampw przypadku wykrycia należy określić opcję inną niż Internal Oscillator na liście rozwijanej Konfiguracja źródła zegara, na karcie Ogólne urządzenia przypisań i Opcje styków. Przed włączeniem częstotliwości t należy upewnić się, że pole wyboru Uruchom konfigurację procesora z wewnętrznego oscylatora jest włączoneampeee wykrywanie. Rysunek 17. Ustawienie SDM na wewnętrzny oscylator
Aby włączyć częstotliwość tamppo wykryciu wybierz opcję Włącz częstotliwość tamppole wyboru wykrywania er i wybierz żądaną częstotliwość tamper zakres wykrywania z menu rozwijanego. Rysunek 18. Włączanie częstotliwości Tamper Wykrywanie
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 52
Wyślij opinię
5. Zaawansowane funkcje 683823 | 2023.05.23
Alternatywnie możesz włączyć Częstotliwość Tamper Wykrywanie poprzez wprowadzenie następujących zmian w pliku Quartus Prime Settings .qsf file:
set_global_przypisanie -nazwa AUTO_RESTART_CONFIGURACJA WYŁ. set_global_przypisanie -nazwa DEVICE_INITIALIZATION_CLOCK OSC_CLK_1_100MHZ set_global_przypisanie -nazwa RUN_CONFIG_CPU_FROM_INT_OSC ON set_global_przypisanie -nazwa ENABLE_FREQUENCY_TAMPER_DETECTION ON zestaw_globalnego_przypisania -nazwa CZĘSTOTLIWOŚĆ_TAMPER_DETECTION_RANGE 35
Aby włączyć temperaturę tampwykrycia, wybierz opcję Włącz temperaturę tampzaznacz pole wyboru wykrywania er i wybierz żądaną górną i dolną granicę temperatury w odpowiednich polach. Domyślnie górna i dolna granica jest wypełniona odpowiednim zakresem temperatur dla urządzenia wybranego w projekcie.
Aby włączyć objtagiamppo wykryciu wybierz jedną lub obie opcje Włącz VCCL objtagiampwykrywanie er lub Włącz VCCL_SDM objtagiamppola wyboru wykrywania i wybierz żądaną głośnośćtagiamper procent wyzwalania detekcjitage w odpowiednim polu.
Rysunek 19. Włączanie Voltagoraz Tamper Wykrywanie
Alternatywnie możesz włączyć Voltagoraz Tamper Wykrywanie poprzez określenie następujących przypisań w pliku .qsf file:
set_global_przypisanie -nazwa ENABLE_TEMPERATURE_TAMPER_DETECTION ON zestaw_globalnego_przypisania -nazwa TEMPERATURA_TAMPER_UPPER_BOUND 100 zestaw_globalnego_przypisania -nazwa ENABLE_VCCL_VOLTAGE_TAMPER_DETECTION ON zestaw_globalnego_przypisania -nazwa ENABLE_VCCL_SDM_VOLTAGE_TAMPER_DETECTION WŁ
5.4.3. Anty-Tampe Lite Intel FPGA IP
Anty-Tamper Lite Intel FPGA IP, dostępny w katalogu IP w oprogramowaniu Intel Quartus Prime Pro Edition, ułatwia dwukierunkową komunikację pomiędzy Twoim projektem a SDM dla tampeee wydarzenia.
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 53
Rysunek 20. Anty-Tampe Lite Intel FPGA IP
5. Zaawansowane funkcje 683823 | 2023.05.23
IP zapewnia następujące sygnały, które w razie potrzeby podłączasz do swojego projektu:
Tabela 5.
Anty-Tamper Lite sygnały we/wy Intel FPGA IP
Nazwa sygnału
Kierunek
Opis
gpo_sdm_at_event gpi_fpga_at_event
Wyjście wejście
Sygnał SDM do logiki struktury FPGA, który wykrył SDMampeee wydarzenie. Układ logiczny FPGA ma około 5 ms na wykonanie żądanego czyszczenia i zareagowanie na SDM poprzez gpi_fpga_at_response_done i gpi_fpga_at_zeroization_done. SDM kontynuuje tamper działania w odpowiedzi, gdy zostanie potwierdzona gpi_fpga_at_response_done lub jeśli nie otrzymano żadnej odpowiedzi w wyznaczonym czasie.
Przerwanie FPGA do SDM, które zaprojektowałeś anty-tamper obwód detekcyjny wykrył przyamper wydarzenie i SDM tamppowinna zostać wywołana reakcja.
gpi_fpga_at_response_done
Wejście
Przerwanie FPGA do SDM, że logika FPGA wykonała żądane czyszczenie.
gpi_fpga_at_zeroization_d jeden
Wejście
Sygnał FPGA do SDM, że logika FPGA zakończyła żądane zerowanie danych projektowych. Ten sygnał to sampdioda LED, gdy zostanie potwierdzona gpi_fpga_at_response_done.
5.4.3.1. Informacje o wydaniu
Numer schematu wersjonowania IP (XYZ) zmienia się w zależności od wersji oprogramowania. Zmiana w:
· X oznacza poważną rewizję Paktu Uczciwości. Jeśli zaktualizujesz oprogramowanie Intel Quartus Prime, musisz ponownie wygenerować adres IP.
· Y wskazuje, że adres IP zawiera nowe funkcje. Wygeneruj ponownie swój adres IP, aby uwzględnić te nowe funkcje.
· Z oznacza, że IP zawiera drobne zmiany. Wygeneruj ponownie swój adres IP, aby uwzględnić te zmiany.
Tabela 6.
Anty-Tamper Informacje o wersji Lite Intel FPGA IP
Wersja IP
Przedmiot
Opis 20.1.0
Wersja Intel Quartus Prime
21.2
Data wydania
2021.06.21
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 54
Wyślij opinię
5. Zaawansowane funkcje 683823 | 2023.05.23
5.5. Korzystanie z funkcji zabezpieczeń projektu przy zdalnej aktualizacji systemu
Zdalna aktualizacja systemu (RSU) to funkcja układów FPGA Intel Agilex 7, która pomaga w aktualizowaniu konfiguracji filew solidny sposób. RSU jest kompatybilny z funkcjami bezpieczeństwa projektu, takimi jak uwierzytelnianie, podpisywanie oprogramowania sprzętowego i szyfrowanie strumienia bitów, ponieważ RSU nie zależy od zawartości projektowej strumieni bitów konfiguracji.
Tworzenie obrazów RSU za pomocą .sof Files
Jeśli przechowujesz klucze prywatne na swoim serwerze lokalnym filesystemu, możesz generować obrazy RSU z funkcjami bezpieczeństwa projektu, korzystając z uproszczonego przepływu za pomocą pliku .sof filejako dane wejściowe. Aby wygenerować obrazy RSU za pomocą pliku .sof file, możesz postępować zgodnie z instrukcjami w sekcji Generowanie obrazu zdalnej aktualizacji systemu Files Korzystanie z programowania File Generator podręcznika użytkownika konfiguracji Intel Agilex 7. Dla każdego .sof file określone na wejściu Files, kliknij przycisk Właściwości… i określ odpowiednie ustawienia i klucze narzędzi do podpisywania i szyfrowania. Programowanie file Narzędzie generatora automatycznie podpisuje i szyfruje obrazy fabryczne i aplikacji podczas tworzenia programowania RSU files.
Alternatywnie, jeśli przechowujesz klucze prywatne w HSM, musisz użyć narzędzia quartus_sign i dlatego użyj .rbf fileS. W pozostałej części tej sekcji szczegółowo opisano zmiany w procesie generowania obrazów RSU z plikiem .rbf filejako dane wejściowe. Musisz zaszyfrować i podpisać format .rbf files przed wybraniem ich jako danych wejściowych files dla obrazów RSU; jednak informacje o rozruchu RSU file nie mogą być szyfrowane, lecz jedynie podpisane. Programowanie File Generator nie obsługuje modyfikowania właściwości formatu .rbf files.
Następujący exampPliki przedstawiają niezbędne modyfikacje poleceń w sekcji Generowanie obrazu zdalnej aktualizacji systemu Files Korzystanie z programowania File Generator podręcznika użytkownika konfiguracji Intel Agilex 7.
Generowanie początkowego obrazu RSU przy użyciu pliku .rbf Files: Modyfikacja poleceń
Z wygenerowania początkowego obrazu RSU przy użyciu pliku .rbf Files, zmodyfikuj polecenia z kroku 1, aby włączyć funkcje zabezpieczeń projektu zgodnie z potrzebami, korzystając z instrukcji z wcześniejszych części tego dokumentu.
Na przykładample, należy określić podpisane oprogramowanie sprzętowe file jeśli korzystałeś z cosigningu oprogramowania sprzętowego, użyj narzędzia szyfrującego Quartus do zaszyfrowania każdego pliku .rbf filei na koniec użyj narzędzia quartus_sign do podpisania każdego z nich file.
W kroku 2, jeśli włączyłeś podpisywanie oprogramowania układowego, musisz użyć dodatkowej opcji podczas tworzenia pliku rozruchowego .rbf z obrazu fabrycznego file:
quartus_pfg -c Factory.sof boot.rbf -o rsu_boot=ON -o fw_source=signed_agilex.zip
Po utworzeniu pliku informacyjnego rozruchu .rbf file, użyj narzędzia quartus_sign do podpisania pliku .rbf file. Nie wolno szyfrować informacji o rozruchu w formacie .rbf file.
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 55
5. Zaawansowane funkcje 683823 | 2023.05.23
Generowanie obrazu aplikacji: modyfikacja poleceń
Aby wygenerować obraz aplikacji z funkcjami zabezpieczeń projektu, należy zmodyfikować polecenie w sekcji Generowanie obrazu aplikacji, aby użyć pliku .rbf z włączonymi funkcjami zabezpieczeń projektu, w tym z podpisanym wspólnie oprogramowaniem układowym, jeśli jest to wymagane, zamiast oryginalnego pliku .sof aplikacji. file:
quartus_pfg -c cosigned_fw_signed_encrypted_application.rbf secure_rsu_application.rpd -o mode=ASX4 -o bitswap=ON
Generowanie obrazu aktualizacji fabrycznej: modyfikacja polecenia
Po utworzeniu pliku informacyjnego rozruchu .rbf file, aby podpisać plik .rbf, należy użyć narzędzia quartus_sign file. Nie wolno szyfrować informacji o rozruchu w formacie .rbf file.
Aby wygenerować obraz aktualizacji fabrycznej RSU, należy zmodyfikować polecenie z sekcji Generowanie obrazu aktualizacji fabrycznej, aby użyć pliku .rbf file z włączonymi funkcjami bezpieczeństwa projektu i dodaj opcję wskazującą na użycie współpodpisanego oprogramowania sprzętowego:
quartus_pfg -c cosigned_fw_signed_encrypted_factory.rbf secured_rsu_factory_update.rpd -o mode=ASX4 -o bitswap=ON -o rsu_upgrade=ON -o fw_source=signed_agilex.zip
Informacje powiązane Instrukcja użytkownika konfiguracji Intel Agilex 7
5.6. Usługi kryptograficzne SDM
SDM na urządzeniach Intel Agilex 7 zapewnia usługi kryptograficzne, których logika FPGA Fabric lub HPS może zażądać za pośrednictwem odpowiedniego interfejsu skrzynki pocztowej SDM. Aby uzyskać więcej informacji o poleceniach skrzynki pocztowej i formatach danych dla wszystkich usług kryptograficznych SDM, zapoznaj się z Załącznikiem B w Podręczniku użytkownika Security Methodology for Intel FPGAs and Structured ASICs.
Aby uzyskać dostęp do interfejsu skrzynki pocztowej SDM z logiką struktury FPGA dla usług kryptograficznych SDM, należy utworzyć w projekcie wystąpienie klienta skrzynki pocztowej Intel FPGA IP.
Kod referencyjny umożliwiający dostęp do interfejsu skrzynki pocztowej SDM z poziomu HPS jest zawarty w kodzie ATF i Linux udostępnianym przez firmę Intel.
Informacje powiązane Mailbox Client Intel FPGA IP User Guide
5.6.1. Autoryzowany rozruch dostawcy
Firma Intel dostarcza referencyjną implementację oprogramowania HPS, która wykorzystuje funkcję rozruchu autoryzowaną przez dostawcę w celu uwierzytelnienia oprogramowania rozruchowego HPS od pierwszego uruchomienia.tage programu ładującego aż do jądra Linux.
Informacje powiązane Projekt demonstracyjny bezpiecznego rozruchu układu Intel Agilex 7 SoC
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 56
Wyślij opinię
5. Zaawansowane funkcje 683823 | 2023.05.23
5.6.2. Usługa bezpiecznego obiektu danych
Wysyłasz polecenia przez skrzynkę pocztową SDM, aby wykonać szyfrowanie i deszyfrowanie obiektów SDOS. Możesz użyć funkcji SDOS po dostarczeniu klucza głównego SDOS.
Informacje powiązane Usługa Secure Data Object Service Root Key Provisioning na stronie 30
5.6.3. Usługi kryptograficzne pierwotne SDM
Wysyłasz polecenia przez skrzynkę pocztową SDM, aby zainicjować operacje kryptograficznej usługi pierwotnej SDM. Niektóre kryptograficzne usługi pierwotne wymagają, aby do i z SDM przesyłano więcej danych, niż interfejs skrzynki pocztowej może zaakceptować. W takich przypadkach polecenie formatu zmienia się, aby zapewnić wskaźniki do danych w pamięci. Ponadto musisz zmienić instancję Mailbox Client Intel FPGA IP, aby używać kryptograficznych usług pierwotnych SDM z logiki struktury FPGA. Musisz dodatkowo ustawić parametr Enable Crypto Service na 1 i połączyć nowo odsłonięty interfejs inicjatora AXI z pamięcią w swoim projekcie.
Rysunek 21. Włączanie usług kryptograficznych SDM w kliencie pocztowym Intel FPGA IP
5.7. Ustawienia zabezpieczeń strumienia bitów (FM/S10)
Opcje zabezpieczeń FPGA Bitstream Security to zbiór zasad, które ograniczają określoną funkcję lub tryb działania w zdefiniowanym okresie.
Opcje Bitstream Security składają się z flag, które ustawiasz w oprogramowaniu Intel Quartus Prime Pro Edition. Flagi te są automatycznie kopiowane do konfiguracji bitstreams.
Możesz trwale wymusić opcje zabezpieczeń na urządzeniu, korzystając z odpowiedniego ustawienia zabezpieczeń eFuse.
Aby móc korzystać z ustawień zabezpieczeń w strumieniu bitów konfiguracji lub w bezpiecznikach urządzenia eFuse, należy włączyć funkcję uwierzytelniania.
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 57
5. Zaawansowane funkcje 683823 | 2023.05.23
5.7.1. Wybieranie i włączanie opcji zabezpieczeń
Aby wybrać i włączyć opcje zabezpieczeń, wykonaj następujące czynności: W menu Przypisania wybierz kolejno opcje Urządzenie Opcje urządzenia i kodu PIN Zabezpieczenia Więcej opcji… Rysunek 22. Wybieranie i włączanie opcji zabezpieczeń
Następnie wybierz wartości z list rozwijanych dla opcji zabezpieczeń, które chcesz włączyć, jak pokazano w poniższym przykładzieampna:
Rysunek 23. Wybieranie wartości dla opcji zabezpieczeń
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 58
Wyślij opinię
5. Zaawansowane funkcje 683823 | 2023.05.23
Poniżej przedstawiono odpowiednie zmiany w pliku Quartus Prime Settings .qsf file:
set_global_assignment -name SECU_OPTION_DISABLE_JTAG „ON CHECK” set_global_assignment -name SECU_OPTION_FORCE_ENCRYPTION_KEY_UPDATE „ON STICKY” set_global_assignment -name SECU_OPTION_FORCE_SDM_CLOCK_TO_INT_OSC ON set_global_assignment -name SECU_OPTION_DISABLE_VIRTUAL_EFUSES ON set_global_assignment -name SECU_OPTION_LOCK_SECURITY_EFUSES ON set_global_assignment -name SECU_OPTION_DISABLE_HPS_DEBUG ON set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES ON set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES ON set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES ON set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES WŁĄCZONE set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES WŁĄCZONE set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_BBRAM WŁĄCZONE set_global_assignment -name SECU_OPTION_DISABLE_PUF_WRAPPED_ENCRYPTION_KEY WŁĄCZONE
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 59
683823 | 2023.05.23 Prześlij opinię
Rozwiązywanie problemów
W tym rozdziale opisano typowe błędy i komunikaty ostrzegawcze, na które można natrafić podczas próby użycia funkcji zabezpieczających urządzenie, a także sposoby ich rozwiązania.
6.1. Korzystanie z poleceń Quartus w środowisku Windows Błąd
Błąd quartus_pgm: polecenie nie zostało znalezione Opis Ten błąd wyświetla się podczas próby użycia poleceń Quartus w powłoce NIOS II w środowisku Windows przy użyciu WSL. Rozwiązanie To polecenie działa w środowisku Linux; W przypadku hostów Windows użyj następującego polecenia: quartus_pgm.exe -h Podobnie zastosuj tę samą składnię do innych poleceń Quartus Prime, takich jak quartus_pfg, quartus_sign, quartus_encrypt i innych poleceń.
Korporacja intelektualna. Wszelkie prawa zastrzeżone. Intel, logo Intel i inne znaki Intel są znakami towarowymi firmy Intel Corporation lub jej podmiotów zależnych. Firma Intel gwarantuje wydajność swoich produktów FPGA i półprzewodników zgodnie z aktualnymi specyfikacjami zgodnie ze standardową gwarancją firmy Intel, ale zastrzega sobie prawo do wprowadzania zmian w dowolnych produktach i usługach w dowolnym czasie bez powiadomienia. Firma Intel nie ponosi żadnej odpowiedzialności wynikającej z zastosowania lub wykorzystania jakichkolwiek informacji, produktów lub usług opisanych w niniejszym dokumencie, z wyjątkiem przypadków wyraźnie uzgodnionych na piśmie przez firmę Intel. Klienci firmy Intel powinni uzyskać najnowszą wersję specyfikacji urządzeń przed poleganiem na jakichkolwiek opublikowanych informacjach oraz przed złożeniem zamówienia na produkty lub usługi. *Inne nazwy i marki mogą być przedmiotem praw osób trzecich.
Zarejestrowany zgodnie z ISO 9001: 2015
6. Rozwiązywanie problemów 683823 | 2023.05.23
6.2. Generowanie ostrzeżenia klucza prywatnego
Ostrzeżenie:
Podane hasło jest uważane za niebezpieczne. Intel zaleca używanie co najmniej 13 znaków hasła. Zaleca się zmianę hasła za pomocą pliku wykonywalnego OpenSSL.
openssl ec -in -na zewnątrz -aes256
Opis
To ostrzeżenie dotyczy siły hasła i wyświetla się podczas próby wygenerowania klucza prywatnego za pomocą następujących poleceń:
quartus_sign – rodzina=agilex – operacja=utwórz_prywatny_pem – krzywa=secp3841 root.pem
Rozwiązanie Użyj pliku wykonywalnego openssl, aby określić dłuższe, a tym samym silniejsze hasło.
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 61
6. Rozwiązywanie problemów 683823 | 2023.05.23
6.3. Dodawanie klucza podpisu do projektu Quartus Błąd
Błąd …File zawiera informacje o kluczu głównym…
Opis
Po dodaniu klucza podpisu .qky file do projektu Quartus, musisz ponownie złożyć plik .sof file. Kiedy dodasz ten zregenerowany plik .sof file do wybranego urządzenia za pomocą Quartus Programmer, poniższy komunikat o błędzie wskazuje, że file zawiera informacje o kluczu głównym:
Nie udało się dodaćfile-path-name> do Programisty. file zawiera informacje o kluczu głównym (.qky). Jednak Programmer nie obsługuje funkcji podpisywania strumienia bitów. Możesz użyć Programming File Generator do konwersji file do podpisanego pliku binarnego Raw file (.rbf) do konfiguracji.
Rezolucja
Użyj programowania Quartus file generator do konwersji file do podpisanego pliku binarnego Raw File .rbf dla konfiguracji.
Informacje powiązane Podpisywanie konfiguracji Bitstream Korzystanie z polecenia quartus_sign na stronie 13
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 62
Wyślij opinię
6. Rozwiązywanie problemów 683823 | 2023.05.23
6.4. Generowanie programowania Quartus Prime File było nieudane
Błąd
Błąd (20353): X klucza publicznego z QKY nie pasuje do klucza prywatnego z PEM file.
Błąd (20352): Nie udało się podpisać strumienia bitów za pomocą skryptu Python agilex_sign.py.
Błąd: programowanie Quartus Prime File Generator nie działał.
Opis Jeśli próbujesz podpisać strumień bitów konfiguracji przy użyciu nieprawidłowego klucza prywatnego .pem file lub .pem file który nie pasuje do .qky dodanego do projektu, wyświetlane są powyższe typowe błędy. Rozwiązanie Upewnij się, że używasz prawidłowego klucza prywatnego .pem do podpisania strumienia bitów.
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 63
6. Rozwiązywanie problemów 683823 | 2023.05.23
6.5. Błędy nieznanego argumentu
Błąd
Błąd (23028): Nieznany argument „ûc”. Zapoznaj się z –help, aby uzyskać argumenty prawne.
Błąd (213008): Ciąg opcji programowania „ûp” jest nielegalny. Zapoznaj się z –help, aby poznać legalne formaty opcji programowania.
Opis Jeśli skopiujesz i wkleisz opcje wiersza poleceń z pliku .pdf file w powłoce Windows NIOS II możesz napotkać błędy Unknown argument, jak pokazano powyżej. Rozwiązanie W takich przypadkach możesz ręcznie wprowadzić polecenia zamiast wklejać je ze schowka.
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 64
Wyślij opinię
6. Rozwiązywanie problemów 683823 | 2023.05.23
6.6. Błąd wyłączonej opcji szyfrowania strumienia bitów
Błąd
Nie można sfinalizować szyfrowania dla file projekt .sof, ponieważ został skompilowany z wyłączoną opcją szyfrowania strumienia bitów.
Opis Jeśli spróbujesz zaszyfrować strumień bitów za pomocą interfejsu graficznego lub wiersza poleceń po skompilowaniu projektu z wyłączoną opcją szyfrowania strumienia bitów, Quartus odrzuci polecenie, jak pokazano powyżej.
Rozwiązanie Upewnij się, że kompilujesz projekt z włączoną opcją szyfrowania strumienia bitów za pomocą GUI lub wiersza poleceń. Aby włączyć tę opcję w GUI, musisz zaznaczyć pole wyboru dla tej opcji.
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 65
6. Rozwiązywanie problemów 683823 | 2023.05.23
6.7. Określanie prawidłowej ścieżki do klucza
Błąd
Błąd (19516): Wykryto programowanie File Błąd ustawień generatora: Nie można znaleźć klucza „key_”file'. Upewnij się, że file znajduje się w oczekiwanej lokalizacji lub zaktualizuj ustawienie.sec
Błąd (19516): Wykryto programowanie File Błąd ustawień generatora: Nie można znaleźć klucza „key_”file'. Upewnij się, że file znajduje się w oczekiwanej lokalizacji lub aktualizuje ustawienie.
Opis
Jeśli używasz kluczy zapisanych na file system, musisz upewnić się, że określają one poprawną ścieżkę dla kluczy używanych do szyfrowania i podpisywania strumienia bitów. Jeśli programowanie File Generator nie może wykryć właściwej ścieżki, wyświetlają się powyższe komunikaty o błędach.
Rezolucja
Zapoznaj się z plikiem Quartus Prime Settings .qsf file aby zlokalizować prawidłowe ścieżki dla kluczy. Upewnij się, że używasz ścieżek względnych zamiast ścieżek bezwzględnych.
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 66
Wyślij opinię
6. Rozwiązywanie problemów 683823 | 2023.05.23
6.8. Korzystanie z nieobsługiwanego wyjścia File Typ
Błąd
quartus_pfg -c design.sof wyjście_file.ebf -o finalize_operation=ON -o qek_file=ae.qek -o podpisywanie=ON -o pem_file=sign_private.pem
Błąd (19511): Nieobsługiwane wyjście file typ (ebf). Użyj opcji „-l” lub „–list”, aby wyświetlić obsługiwane file wpisz informacje.
Opis Podczas korzystania z programowania Quartus File Generator do generowania zaszyfrowanego i podpisanego strumienia bitów konfiguracji. W przypadku nieobsługiwanego wyjścia może zostać wyświetlony powyższy błąd. file typ jest określony. Rozwiązanie Użyj opcji -l lub –list, aby zobaczyć listę obsługiwanych file Typy.
Wyślij opinię
Podręcznik użytkownika zabezpieczeń urządzenia Intel Agilex® 7 67
683823 | 2023.05.23 Prześlij opinię
7. Archiwum podręcznika użytkownika zabezpieczeń urządzenia Intel Agilex 7
Aby zapoznać się z najnowszymi i poprzednimi wersjami tego podręcznika użytkownika, zapoznaj się z podręcznikiem użytkownika Intel Agilex 7 Device Security. Jeśli nie ma na liście wersji IP lub oprogramowania, obowiązuje podręcznik użytkownika dla poprzedniej wersji IP lub oprogramowania.
Korporacja intelektualna. Wszelkie prawa zastrzeżone. Intel, logo Intel i inne znaki Intel są znakami towarowymi firmy Intel Corporation lub jej podmiotów zależnych. Firma Intel gwarantuje wydajność swoich produktów FPGA i półprzewodników zgodnie z aktualnymi specyfikacjami zgodnie ze standardową gwarancją firmy Intel, ale zastrzega sobie prawo do wprowadzania zmian w dowolnych produktach i usługach w dowolnym czasie bez powiadomienia. Firma Intel nie ponosi żadnej odpowiedzialności wynikającej z zastosowania lub wykorzystania jakichkolwiek informacji, produktów lub usług opisanych w niniejszym dokumencie, z wyjątkiem przypadków wyraźnie uzgodnionych na piśmie przez firmę Intel. Klienci firmy Intel powinni uzyskać najnowszą wersję specyfikacji urządzeń przed poleganiem na jakichkolwiek opublikowanych informacjach oraz przed złożeniem zamówienia na produkty lub usługi. *Inne nazwy i marki mogą być przedmiotem praw osób trzecich.
Zarejestrowany zgodnie z ISO 9001: 2015
683823 | 2023.05.23 Prześlij opinię
8. Historia wersji podręcznika użytkownika zabezpieczeń urządzenia Intel Agilex 7
Wersja dokumentu 2023.05.23
2022.11.22 2022.04.04 2022.01.20
2021.11.09
Dokumenty / Zasoby
![]() |
Bezpieczeństwo urządzeń Intel Agilex 7 [plik PDF] Instrukcja obsługi Agilex 7 Bezpieczeństwo urządzeń, Agilex 7, Bezpieczeństwo urządzeń, Bezpieczeństwo |