Intel Agilex 7 장치 보안
제품 정보
명세서
- 모델 번호: UG-20335
- 출시일: 2023.05.23
제품 사용 지침
1. 제품 보안에 대한 약속
인텔은 제품 보안을 위해 최선을 다하고 있으며 사용자가 제공된 제품 보안 리소스를 숙지할 것을 권장합니다. 이러한 리소스는 인텔 제품의 수명 내내 활용되어야 합니다.
2. 계획된 보안 기능
다음 보안 기능은 Intel Quartus Prime Pro Edition 소프트웨어의 향후 릴리스에 계획되어 있습니다.
- 부분 재구성 비트스트림 보안 검증: 부분 재구성(PR) 비트스트림이 다른 PR 페르소나 비트스트림에 액세스하거나 간섭할 수 없다는 추가 보증을 제공합니다.
- 물리적 Anti-T를 위한 장치 자체 종료amper: 장치 초기화 또는 장치 초기화 응답을 수행하고 장치가 다시 구성되지 않도록 eFuse를 프로그래밍합니다.
3. 사용 가능한 보안 문서
다음 표에는 Intel FPGA 및 구조적 ASIC 장치의 장치 보안 기능에 대해 사용 가능한 문서가 나열되어 있습니다.
문서 이름 | 목적 |
---|---|
Intel FPGA 및 구조화된 ASIC 사용자를 위한 보안 방법론 가이드 |
다음에 대한 자세한 설명을 제공하는 최상위 문서 인텔 프로그래밍 가능 솔루션의 보안 기능 및 기술 제품. 사용자가 필요한 보안 기능을 선택하도록 돕습니다. 보안 목표를 달성합니다. |
Intel Stratix 10 장치 보안 사용자 가이드 | Intel Stratix 10 장치 사용자를 위한 구현 지침 보안 방법론을 사용하여 식별된 보안 기능 사용자 가이드 |
Intel Agilex 7 장치 보안 사용자 가이드 | Intel Agilex 7 장치 사용자가 구현해야 할 지침 보안 방법론을 사용하여 식별된 보안 기능 사용자 가이드 |
Intel eASIC N5X 장치 보안 사용자 가이드 | Intel eASIC N5X 장치 사용자가 구현해야 할 지침 보안 방법론을 사용하여 식별된 보안 기능 사용자 가이드 |
Intel Agilex 7 및 Intel eASIC N5X HPS 암호화 서비스 사용자 가이드 |
HPS 소프트웨어 엔지니어를 위한 구현 정보 암호화 서비스에 액세스하기 위한 HPS 소프트웨어 라이브러리 사용 SDM에서 제공합니다. |
AN-968 Black Key 프로비저닝 서비스 빠른 시작 안내서 | Black Key 프로비저닝 설정을 위한 전체 단계 서비스. |
자주 묻는 질문
Q: 보안 방법론 사용자 가이드의 목적은 무엇입니까?
답변: 보안 방법론 사용자 안내서에서는 인텔 프로그래밍 가능 솔루션 제품의 보안 기능과 기술에 대한 자세한 설명을 제공합니다. 이는 사용자가 보안 목표를 달성하는 데 필요한 보안 기능을 선택하는 데 도움이 됩니다.
Q: Intel Agilex 7 장치 보안 사용자 가이드는 어디에서 찾을 수 있습니까?
A: Intel Agilex 7 장치 보안 사용자 가이드는 Intel 리소스 및 디자인 센터에서 찾을 수 있습니다. web대지.
Q: Black Key 프로비저닝 서비스란 무엇입니까?
A: Black Key 프로비저닝 서비스는 보안 작업을 위한 키 프로비저닝을 설정하는 전체 단계 세트를 제공하는 서비스입니다.
Intel Agilex® 7 장치 보안 사용자 가이드
Intel® Quartus® Prime Design Suite용 업데이트: 23.1
온라인 버전 피드백 보내기
UG-20335
683823 2023.05.23
Intel Agilex® 7 장치 보안 사용자 가이드 2
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 3
683823 | 2023.05.23 피드백 보내기
1. 인텔 애질렉스® 7
장치 보안 종료view
Intel®은 고도로 구성 가능한 전용 보안 하드웨어 및 펌웨어를 갖춘 Intel Agilex® 7 장치를 설계합니다.
이 문서에는 Intel Quartus® Prime Pro Edition 소프트웨어를 사용하여 Intel Agilex 7 장치에 보안 기능을 구현하는 데 도움이 되는 지침이 포함되어 있습니다.
또한 인텔 FPGA 및 구조적 ASIC 사용자 가이드에 대한 보안 방법론은 인텔 리소스 및 디자인 센터에서 제공됩니다. 이 문서에는 보안 목표를 충족하는 데 필요한 보안 기능을 선택하는 데 도움이 되도록 인텔 프로그래밍 가능 솔루션 제품을 통해 사용할 수 있는 보안 기능과 기술에 대한 자세한 설명이 포함되어 있습니다. 인텔 FPGA 및 구조적 ASIC 사용자 가이드에 대한 보안 방법론에 액세스하려면 참조 번호 14014613136으로 인텔 지원팀에 문의하십시오.
문서는 다음과 같이 구성됩니다. · 인증 및 권한 부여: 생성 지침을 제공합니다.
인증 키 및 서명 체인, 권한 및 취소 적용, 개체 서명, Intel Agilex 7 장치의 인증 기능 프로그램. · AES 비트스트림 암호화: AES 루트 키 생성, 구성 비트스트림 암호화, Intel Agilex 7 장치에 AES 루트 키 제공에 대한 지침을 제공합니다. · 장치 프로비저닝: Intel Quartus Prime Programmer 및 SDM(Secure Device Manager) 프로비저닝 펌웨어를 사용하여 Intel Agilex 7 장치의 보안 기능을 프로그래밍하는 방법에 대한 지침을 제공합니다. · 고급 기능: 보안 디버그 인증, HPS(하드 프로세서 시스템) 디버그 및 원격 시스템 업데이트를 포함한 고급 보안 기능을 활성화하기 위한 지침을 제공합니다.
1.1. 제품 보안에 대한 약속
보안에 대한 인텔의 오랜 노력은 그 어느 때보다 강력했습니다. 인텔은 귀하가 당사의 제품 보안 리소스를 숙지하고 인텔 제품의 수명 전반에 걸쳐 이를 활용할 계획을 세울 것을 강력히 권장합니다.
관련 정보 · 인텔의 제품 보안 · 인텔 제품 보안 센터 권고 사항
인텔사. 판권 소유. 인텔, 인텔 로고 및 기타 인텔 마크는 인텔사 또는 그 자회사의 상표입니다. 인텔은 인텔의 표준 보증에 따라 FPGA 및 반도체 제품의 성능을 최신 사양으로 보증하지만 사전 통지 없이 언제든지 제품 및 서비스를 변경할 수 있는 권리를 보유합니다. 인텔은 인텔이 서면으로 명시적으로 동의한 경우를 제외하고 여기에 설명된 정보, 제품 또는 서비스의 적용 또는 사용으로 인해 발생하는 어떠한 책임도 지지 않습니다. 인텔 고객은 게시된 정보에 의존하고 제품이나 서비스를 주문하기 전에 최신 버전의 장치 사양을 얻는 것이 좋습니다. *다른 이름과 브랜드는 다른 사람의 자산일 수 있습니다.
ISO 9001 : 2015 등록
1. Intel Agilex® 7 장치 보안 이상view 683823 | 2023.05.23
1.2. 계획된 보안 기능
이 섹션에 언급된 기능은 Intel Quartus Prime Pro Edition 소프트웨어의 향후 릴리스에 포함될 예정입니다.
메모:
이 섹션의 정보는 예비적인 정보입니다.
1.2.1. 부분 재구성 비트스트림 보안 검증
부분 재구성(PR) 비트스트림 보안 검증은 PR 페르소나 비트스트림이 다른 PR 페르소나 비트스트림에 액세스하거나 이를 방해할 수 없다는 추가적인 보증을 제공하는 데 도움이 됩니다.
1.2.2. 물리적 Anti-T를 위한 장치 자체 종료amper
장치 자가 종료는 장치 초기화 또는 장치 초기화 응답을 수행하고 추가로 장치가 다시 구성되지 않도록 eFuse를 프로그래밍합니다.
1.3. 사용 가능한 보안 문서
다음 표에는 Intel FPGA 및 Structured ASIC 장치의 장치 보안 기능에 대해 사용 가능한 문서가 나열되어 있습니다.
표 1.
사용 가능한 장치 보안 문서
문서 이름
Intel FPGA 및 구조화된 ASIC 사용자 가이드를 위한 보안 방법론
목적
인텔 프로그래밍 가능 솔루션 제품의 보안 기능 및 기술에 대한 자세한 설명이 포함된 최상위 문서입니다. 보안 목표를 달성하는 데 필요한 보안 기능을 선택하는 데 도움을 주기 위한 것입니다.
문서 ID 721596
Intel Stratix 10 장치 보안 사용자 가이드
Intel Agilex 7 장치 보안 사용자 가이드
Intel Stratix 10 장치 사용자를 위한 이 가이드에는 Intel Quartus Prime Pro Edition 소프트웨어를 사용하여 보안 방법론 사용자 가이드를 통해 식별된 보안 기능을 구현하는 방법에 대한 지침이 포함되어 있습니다.
Intel Agilex 7 장치 사용자를 위한 이 가이드에는 Intel Quartus Prime Pro Edition 소프트웨어를 사용하여 보안 방법론 사용자 가이드를 통해 식별된 보안 기능을 구현하는 방법에 대한 지침이 포함되어 있습니다.
683642 683823
Intel eASIC N5X 장치 보안 사용자 가이드
Intel eASIC N5X 장치 사용자를 위한 이 가이드에는 Intel Quartus Prime Pro Edition 소프트웨어를 사용하여 보안 방법론 사용자 가이드를 통해 식별된 보안 기능을 구현하는 방법에 대한 지침이 포함되어 있습니다.
626836
Intel Agilex 7 및 Intel eASIC N5X HPS 암호화 서비스 사용자 가이드
이 가이드에는 HPS 소프트웨어 엔지니어가 SDM에서 제공하는 암호화 서비스에 액세스하기 위해 HPS 소프트웨어 라이브러리를 구현 및 사용하는 데 도움이 되는 정보가 포함되어 있습니다.
713026
AN-968 Black Key 프로비저닝 서비스 빠른 시작 안내서
이 가이드에는 Black Key 프로비저닝 서비스를 설정하는 전체 단계가 포함되어 있습니다.
739071
위치 인텔 리소스 및
디자인 센터
인텔닷컴
인텔닷컴
인텔 리소스 및 디자인 센터
인텔 리소스 및 디자인 센터
인텔 리소스 및 디자인 센터
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 5
683823 | 2023.05.23 피드백 보내기
Intel Agilex 7 장치의 인증 기능을 활성화하려면 먼저 Intel Quartus Prime Pro Edition 소프트웨어 및 관련 도구를 사용하여 서명 체인을 구축해야 합니다. 서명 체인은 루트 키, 하나 이상의 서명 키 및 적용 가능한 인증으로 구성됩니다. Intel Quartus Prime Pro Edition 프로젝트 및 컴파일된 프로그래밍에 서명 체인을 적용합니다. file에스. 장치 프로비저닝의 지침을 사용하여 루트 키를 Intel Agilex 7 장치에 프로그래밍하세요.
관련 정보
25페이지의 장치 프로비저닝
2.1. 서명 체인 생성
quartus_sign 도구 또는 agilex_sign.py 참조 구현을 사용하여 서명 체인 작업을 수행할 수 있습니다. 이 문서는 예를 제공합니다ampquartus_sign을 사용하는 파일.
참조 구현을 사용하려면 Intel Quartus Prime 소프트웨어에 포함된 Python 인터프리터에 대한 호출을 대체하고 –family=agilex 옵션을 생략합니다. 다른 모든 옵션은 동일합니다. 예를 들어amp파일, 이 섹션의 뒷부분에 있는 quartus_sign 명령
quartus_sign –family=agilex –eration=make_root root_public.pem root.qky는 다음과 같이 참조 구현에 대한 동등한 호출로 변환될 수 있습니다.
pgm_py agilex_sign.py –작업=make_root root_public.pem root.qky
Intel Quartus Prime Pro Edition 소프트웨어에는 quartus_sign, pgm_py 및 agilex_sign.py 도구가 포함되어 있습니다. 도구에 액세스하기 위한 적절한 환경 변수를 자동으로 설정하는 Nios® II 명령 셸 도구를 사용할 수 있습니다.
Nios II 명령 셸을 불러오려면 다음 지침을 따르세요. 1. Nios II 명령 셸을 불러옵니다.
옵션 윈도우
리눅스
설명
시작 메뉴에서 프로그램 Intel FPGA Nios II EDS를 가리킵니다. Nios II를 클릭하세요. 명령 셸.
명령 셸에서 다음으로 변경합니다. /nios2eds 다음 명령을 실행합니다:
./nios2_command_shell.sh
전직amp이 섹션의 파일은 서명 체인 및 구성 비트스트림을 가정합니다. files는 현재 작업 디렉토리에 있습니다. 전 애인을 따르기로 선택한 경우amp레 어디 열쇠 files는에 보관됩니다 file 시스템, 그 전amp열쇠를 가정하자 files는
인텔사. 판권 소유. 인텔, 인텔 로고 및 기타 인텔 마크는 인텔사 또는 그 자회사의 상표입니다. 인텔은 인텔의 표준 보증에 따라 FPGA 및 반도체 제품의 성능을 최신 사양으로 보증하지만 사전 통지 없이 언제든지 제품 및 서비스를 변경할 수 있는 권리를 보유합니다. 인텔은 인텔이 서면으로 명시적으로 동의한 경우를 제외하고 여기에 설명된 정보, 제품 또는 서비스의 적용 또는 사용으로 인해 발생하는 어떠한 책임도 지지 않습니다. 인텔 고객은 게시된 정보에 의존하고 제품이나 서비스를 주문하기 전에 최신 버전의 장치 사양을 얻는 것이 좋습니다. *다른 이름과 브랜드는 다른 사람의 자산일 수 있습니다.
ISO 9001 : 2015 등록
2. 인증 및 권한 부여 683823 | 2023.05.23
현재 작업 디렉토리에 위치합니다. 사용할 디렉토리를 선택할 수 있으며 도구는 상대 디렉토리를 지원합니다. file 경로. 키를 유지하기로 선택한 경우 file에있다 file 시스템에 대한 액세스 권한을 신중하게 관리해야 합니다. files.
인텔에서는 암호화 키를 저장하고 암호화 작업을 수행하는 데 상용 하드웨어 보안 모듈(HSM)을 사용할 것을 권장합니다. quartus_sign 도구 및 참조 구현에는 서명 체인 작업을 수행하는 동안 HSM과 상호 작용하기 위한 공개 키 암호화 표준 #11(PKCS #11) API(응용 프로그래밍 인터페이스)가 포함되어 있습니다. agilex_sign.py 참조 구현에는 인터페이스 추상과 ex가 포함되어 있습니다.ampSoftHSM에 대한 인터페이스입니다.
당신은 이것을 사용할 수 있습니다amp파일 인터페이스를 사용하여 HSM에 대한 인터페이스를 구현합니다. HSM에 대한 인터페이스 구현 및 작동에 대한 자세한 내용은 HSM 공급업체의 설명서를 참조하세요.
SoftHSM은 OpenDNSSEC® 프로젝트에서 사용할 수 있는 PKCS #11 인터페이스를 갖춘 일반 암호화 장치의 소프트웨어 구현입니다. OpenDNSSEC 프로젝트에서 OpenHSM을 다운로드, 빌드 및 설치하는 방법에 대한 지침을 포함한 자세한 정보를 확인할 수 있습니다. 전직amp이 섹션의 파일은 SoftHSM 버전 2.6.1을 사용합니다. 전직amp이 섹션의 파일에서는 OpenSC의 pkcs11-tool 유틸리티를 추가로 사용하여 SoftHSM 토큰으로 추가 PKCS #11 작업을 수행합니다. OpenSC에서 pkcs11tool을 다운로드, 빌드 및 설치하는 방법에 대한 지침을 포함하여 자세한 정보를 찾을 수 있습니다.
관련 정보
· DNSSEC 키 추적 프로세스를 자동화하기 위한 OpenDNSSEC 프로젝트 정책 기반 영역 서명자.
· PKCS #11 인터페이스를 통해 액세스할 수 있는 암호화 저장소 구현에 대한 SoftHSM 정보입니다.
· OpenSC 스마트 카드와 함께 작동할 수 있는 라이브러리 및 유틸리티 세트를 제공합니다.
2.1.1. 로컬에서 인증 키 쌍 생성 File 체계
quartus_sign 도구를 사용하여 로컬에서 인증 키 쌍을 생성합니다. file make_private_pem 및 make_public_pem 도구 작업을 사용하는 시스템입니다. 먼저 make_private_pem 작업을 사용하여 개인 키를 생성합니다. 사용할 타원 곡선인 개인 키를 지정합니다. file이름, 선택적으로 개인 키를 암호로 보호할지 여부. 인텔은 secp384r1 곡선을 사용하고 업계 모범 사례에 따라 모든 개인 키에 강력한 무작위 암호를 생성할 것을 권장합니다. file에스. 인텔은 또한 다음을 제한할 것을 권장합니다. file 개인 키 .pem에 대한 시스템 권한 file소유자만 읽을 수 있습니다. make_public_pem 작업을 사용하여 개인 키에서 공개 키를 파생시킵니다. 키 이름을 .pem으로 지정하는 것이 도움이 됩니다. file설명적으로요. 이 문서에서는 규칙을 사용합니다. _ 다음 예의 .pemamp레.
1. Nios II 명령 셸에서 다음 명령을 실행하여 개인 키를 생성합니다. 아래 표시된 개인 키는 나중에 ex에서 루트 키로 사용됩니다.amp서명 체인을 생성하는 파일입니다. Intel Agilex 7 장치는 여러 루트 키를 지원하므로
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 7
2. 인증 및 권한 부여 683823 | 2023.05.23
이 단계를 반복하여 필요한 수의 루트 키를 생성합니다. 전amp이 문서의 파일은 모두 첫 번째 루트 키를 참조하지만 임의의 루트 키를 사용하여 비슷한 방식으로 서명 체인을 구축할 수 있습니다.
옵션(암호 포함)
설명
quartus_sign –family=agilex –Operation=make_private_pem –curve=secp384r1 root0_private.pem 메시지가 표시되면 암호를 입력합니다.
암호 없이
quartus_sign –family=agilex –작업=make_private_pem –curve=secp384r1 –no_passphrase root0_private.pem
2. 다음 명령을 실행하여 이전 단계에서 생성된 개인 키를 사용하여 공개 키를 생성합니다. 공개 키의 기밀성을 보호할 필요는 없습니다.
quartus_sign –family=agilex –작업=make_public_pem root0_private.pem root0_public.pem
3. 명령을 다시 실행하여 서명 체인에서 디자인 서명 키로 사용되는 키 쌍을 생성합니다.
quartus_sign –family=agilex –작업=make_private_pem –curve=secp384r1 design0_sign_private.pem
quartus_sign –family=agilex –작업=make_public_pem design0_sign_private.pem design0_sign_public.pem
2.1.2. SoftHSM에서 인증 키 쌍 생성
SoftHSM 전amp이 장의 파일은 일관성이 있습니다. 특정 매개변수는 SoftHSM 설치 및 SoftHSM 내 토큰 초기화에 따라 달라집니다.
quartus_sign 도구는 HSM의 PKCS #11 API 라이브러리에 따라 다릅니다.
전직amp이 섹션의 파일에서는 SoftHSM 라이브러리가 다음 위치 중 하나에 설치되어 있다고 가정합니다. · Linux의 경우 /usr/local/lib/softhsm2.so · Windows 2비트 버전의 경우 C:SoftHSM2libsofthsm32.dll · C:SoftHSM2libsofthsm2-x64 64비트 버전의 Windows에서는 .dll입니다.
Softhsm2-util 도구를 사용하여 SoftHSM 내에서 토큰을 초기화합니다.
Softhsm2-util –init-token –label agilex-token –pin agilex-token-pin –so-pin agilex-so-pin –free
옵션 매개변수, 특히 토큰 라벨과 토큰 핀은 예입니다.amp이 장 전체에서 사용되는 파일입니다. 인텔에서는 HSM 공급업체의 지침에 따라 토큰과 키를 생성하고 관리할 것을 권장합니다.
SoftHSM에서 토큰과 상호 작용하려면 pkcs11-tool 유틸리티를 사용하여 인증 키 쌍을 생성합니다. 개인 및 공개 키 .pem을 명시적으로 참조하는 대신 file에있다 file 시스템 전amp파일의 경우 레이블로 키 쌍을 참조하면 도구가 자동으로 적절한 키를 선택합니다.
Intel Agilex® 7 장치 보안 사용자 가이드 8
피드백 보내기
2. 인증 및 권한 부여 683823 | 2023.05.23
다음 명령을 실행하여 나중에 ex에서 루트 키로 사용되는 키 쌍을 만듭니다.amp파일과 서명 체인의 디자인 서명 키로 사용되는 키 쌍:
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label agilex-token –login –pin agilex-token-pin –keypairgen –mechanism ECDSA-KEY-PAIR-GEN –key-type EC :secp384r1 –사용법 서명 –레이블 루트0 –id 0
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label agilex-token –login –pin agilex-token-pin –keypairgen –mechanism ECDSA-KEY-PAIR-GEN –key-type EC :secp384r1 –usage-sign –label design0_sign –id 1
메모:
이 단계의 ID 옵션은 각 키마다 고유해야 하지만 HSM에서만 사용됩니다. 이 ID 옵션은 서명 체인에 할당된 키 취소 ID와 관련이 없습니다.
2.1.3. 서명 체인 루트 항목 생성
루트 공개 키를 로컬에 저장된 서명 체인 루트 항목으로 변환합니다. file Intel Quartus Prime 키(.qky) 형식의 시스템 file, make_root 작업을 사용합니다. 생성하는 각 루트 키에 대해 이 단계를 반복합니다.
다음 명령을 실행하여 루트 항목이 포함된 서명 체인을 생성합니다. file 체계:
quartus_sign –family=agilex –작업=make_root –key_type=소유자 root0_public.pem root0.qky
다음 명령을 실행하여 이전 섹션에서 설정된 SoftHSM 토큰의 루트 키를 사용하여 루트 항목이 있는 서명 체인을 생성합니다.
quartus_sign –family=agilex –작업=make_root –key_type=소유자 –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so ” 루트0 루트0.qky
2.1.4. 서명 체인 공개 키 항목 생성
Append_key 작업을 사용하여 서명 체인에 대한 새 공개 키 항목을 생성합니다. 이전 서명 체인, 이전 서명 체인의 마지막 항목에 대한 개인 키, 다음 수준 공개 키, 다음 수준 공개 키에 할당하는 권한 및 취소 ID, 새 서명 체인을 지정합니다. file.
SoftHSM 라이브러리는 Quartus 설치와 함께 사용할 수 없으며 대신 별도로 설치해야 합니다. SoftHSM에 대한 자세한 내용은 위의 서명 체인 생성 섹션을 참조하세요.
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 9
2. 인증 및 권한 부여 683823 | 2023.05.23
키를 어떻게 사용하느냐에 따라 file 시스템 또는 HSM에서는 다음 예 중 하나를 사용합니다.amp이전 섹션에서 생성된 루트 서명 체인에 design0_sign 공개 키를 추가하는 파일 명령:
quartus_sign –family=agilex –작업=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 –작업=append_key –module=softHSM –module_args=” –token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –previous_keyname= root0 –previous_qky=root0.qky –permission=6 –cancel=0 –input_keyname=design0_sign design0_sign_chain.qky
하나의 서명 체인에 있는 루트 항목과 헤더 블록 항목 사이에 최대 3개의 공개 키 항목에 대해 최대 2번 더 Append_key 작업을 반복할 수 있습니다.
다음 예amp파일에서는 동일한 권한과 취소 ID 1이 할당된 design1_sign_public.pem이라는 또 다른 인증 공개 키를 생성했으며 이 키를 이전 ex의 서명 체인에 추가한다고 가정합니다.amp르 :
quartus_sign –family=agilex –작업=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 –작업=append_key –module=softHSM –module_args=” –token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –previous_keyname= design0_sign –previous_qky=design0_sign_chain.qky –permission=6 –cancel=1 –input_keyname=design1_sign design1_sign_chain.qky
Intel Agilex 7 장치에는 해당 장치의 수명 동안 주기적으로 변경될 수 있는 키의 사용을 용이하게 하는 추가 키 취소 카운터가 포함되어 있습니다. –cancel 옵션의 인수를 pts:pts_value로 변경하여 이 키 취소 카운터를 선택할 수 있습니다.
2.2. 구성 비트스트림 서명
Intel Agilex 7 장치는 키를 취소하지 않고도 개체 인증을 취소할 수 있는 SVN(보안 버전 번호) 카운터를 지원합니다. 비트스트림 섹션, 펌웨어 .zip과 같은 객체 서명 중에 SVN 카운터와 적절한 SVN 카운터 값을 할당합니다. file또는 컴팩트 인증서입니다. –cancel 옵션과 svn_counter:svn_value를 인수로 사용하여 SVN 카운터와 SVN 값을 할당합니다. svn_counter의 유효한 값은 svnA, svnB, svnC 및 svnD입니다. svn_value는 [0,63] 범위 내의 정수입니다.
Intel Agilex® 7 장치 보안 사용자 가이드 10
피드백 보내기
2. 인증 및 권한 부여 683823 | 2023.05.23
2.2.1. 쿼터스 키 File 과제
Intel Quartus Prime 소프트웨어 프로젝트에서 서명 체인을 지정하여 해당 디자인에 대한 인증 기능을 활성화합니다. 할당 메뉴에서 장치 장치 및 핀 옵션 보안 Quartus 키를 선택합니다. File을 클릭한 다음 서명 체인 .qky를 찾습니다. file 당신은 이 디자인에 서명하기 위해 만들었습니다.
그림 1. 구성 비트스트림 설정 활성화
또는 Intel Quartus Prime 설정에 다음 할당문을 추가할 수도 있습니다. file (.qsf):
세트_글로벌_할당 - 이름 QKY_FILE design0_sign_chain.qky
.sof를 생성하려면 file 이 설정을 포함하는 이전에 컴파일된 디자인의 처리 메뉴에서 시작 어셈블러 시작을 선택합니다. 새로운 출력 .sof file 제공된 서명 체인으로 인증을 활성화하는 할당이 포함되어 있습니다.
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 11
2. 인증 및 권한 부여 683823 | 2023.05.23
2.2.2. 공동 서명 SDM 펌웨어
quartus_sign 도구를 사용하여 해당 SDM 펌웨어 .zip을 추출, 서명 및 설치합니다. file. 그러면 공동 서명된 펌웨어가 프로그래밍에 포함됩니다. file .sof를 변환할 때 생성기 도구 file 구성 비트스트림 .rbf로 file. 다음 명령을 사용하여 새 서명 체인을 생성하고 SDM 펌웨어에 서명합니다.
1. 새로운 서명 키 쌍을 생성합니다.
ㅏ. 새 서명 키 쌍을 생성합니다. file 체계:
quartus_sign –family=agilex –작업=make_private_pem –curve=secp384r1 펌웨어1_private.pem
quartus_sign –family=agilex –작업=make_public_pem 펌웨어1_private.pem 펌웨어1_public.pem
비. HSM에서 새 서명 키 쌍을 생성합니다.
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label agilex-token –login –pin agilex-token-pin –keypairgen -mechanism ECDSA-KEY-PAIR-GEN –key-type EC :secp384r1 –사용법 서명 –레이블 펌웨어1 –id 1
2. 새 공개 키를 포함하는 새 서명 체인을 생성합니다.
quartus_sign –family=agilex –작업=append_key –previous_pem=root0_private.pem –previous_qky=root0.qky –permission=0x1 –cancel=1 –input_pem=firmware1_public.pem 펌웨어1_sign_chain.qky
quartus_sign –family=agilex –작업=append_key –module=softHSM –module_args=” –token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –previous_keyname= root0 –previous_qky=root0.qky –permission=1 –cancel=1 –input_keyname=firmware1 펌웨어1_sign_chain.qky
3. 펌웨어 .zip을 복사합니다. file Intel Quartus Prime Pro Edition 소프트웨어 설치 디렉토리( /devices/programmer/firmware/agilex.zip)을 현재 작업 디렉터리로 복사합니다.
quartus_sign –family=agilex –get_firmware=.
4. 펌웨어 .zip에 서명합니다. file. 이 도구는 자동으로 .zip의 압축을 풉니다. file 모든 펌웨어 .cmf에 개별적으로 서명합니다. files, 그런 다음 .zip을 다시 작성합니다. file 다음 섹션의 도구에서 사용됩니다.
quartus_sign –family=agilex –작업=sign –qky=firmware1_sign_chain.qky –cancel=svnA:0 –pem=firmware1_private.pem agilex.zip signed_agilex.zip
quartus_sign –family=agilex –작업=sign –module=softHSM –module_args=” –token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so”
Intel Agilex® 7 장치 보안 사용자 가이드 12
피드백 보내기
2. 인증 및 권한 부여 683823 | 2023.05.23
–keyname=firmware1 –cancel=svnA:0 –qky=firmware1_sign_chain.qky agilex.zip signed_agilex.zip
2.2.3. quartus_sign 명령을 사용하여 구성 비트스트림 서명
quartus_sign 명령을 사용하여 구성 비트스트림에 서명하려면 먼저 .sof를 변환합니다. file 서명되지 않은 원시 바이너리로 file (.rbf) 형식입니다. 변환 단계에서 fw_source 옵션을 사용하여 공동 서명된 펌웨어를 선택적으로 지정할 수 있습니다.
다음 명령을 사용하여 .rbf 형식의 서명되지 않은 원시 비트스트림을 생성할 수 있습니다.
quartus_pfg c o fw_source=signed_agilex.zip -o sign_later=ON design.sof unsigned_bitstream.rbf
키 위치에 따라 quartus_sign 도구를 사용하여 비트스트림에 서명하려면 다음 명령 중 하나를 실행하세요.
quartus_sign –family=agilex –작업=sign –qky=design0_sign_chain.qky –pem=design0_sign_private.pem –cancel=svnA:0 unsigned_bitstream.rbf signed_bitstream.rbf
quartus_sign –family=agilex –작업=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 signed_bitstream.rbf
서명된 .rbf를 변환할 수 있습니다. files를 다른 구성 비트스트림으로 file 형식.
예를 들어ample, J를 통해 비트스트림을 프로그래밍하기 위해 Jam* 표준 테스트 및 프로그래밍 언어(STAPL) 플레이어를 사용하는 경우TAG, 다음 명령을 사용하여 .rbf를 변환합니다. file Jam STAPL 플레이어에 필요한 .jam 형식으로:
quartus_pfg -c signed_bitstream.rbf signed_bitstream.jam
2.2.4. 부분 재구성 다중 권한 지원
Intel Agilex 7 장치는 장치 소유자가 정적 비트스트림을 생성 및 서명하고, 별도의 PR 소유자가 PR 페르소나 비트스트림을 생성 및 서명하는 부분 재구성 다중 인증 인증을 지원합니다. Intel Agilex 7 장치는 첫 번째 인증 루트 키 슬롯을 장치 또는 정적 비트스트림 소유자에 할당하고 최종 인증 루트 키 슬롯을 부분 재구성 페르소나 비트스트림 소유자에게 할당하여 다중 인증 지원을 구현합니다.
인증 기능이 활성화된 경우 중첩된 PR 페르소나 이미지를 포함하여 모든 PR 페르소나 이미지에 서명해야 합니다. PR 페르소나 이미지는 장치 소유자 또는 PR 소유자가 서명할 수 있습니다. 그러나 정적 영역 비트스트림은 장치 소유자가 서명해야 합니다.
메모:
다중 인증 지원이 활성화된 경우 부분 재구성 정적 및 개인 비트스트림 암호화는 향후 릴리스에서 계획되어 있습니다.
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 13
2. 인증 및 권한 부여 683823 | 2023.05.23
그림 2.
부분 재구성 다중 권한 지원을 구현하려면 여러 단계가 필요합니다.
1. 장치 또는 정적 비트스트림 소유자는 8페이지의 SoftHSM에서 인증 키 쌍 생성에 설명된 대로 하나 이상의 인증 루트 키를 생성합니다. 여기서 –key_type 옵션에는 owner 값이 있습니다.
2. 부분 재구성 비트스트림 소유자는 인증 루트 키를 생성하지만 –key_type 옵션 값을 second_owner로 변경합니다.
3. 정적 비트스트림 및 부분 재구성 설계 소유자 모두 할당 장치 장치 및 핀 옵션 보안 탭에서 다중 인증 지원 활성화 확인란이 활성화되어 있는지 확인합니다.
Intel Quartus Prime 다중 인증 옵션 설정 활성화
4. 정적 비트스트림 및 부분 재구성 설계 소유자 모두 6페이지의 서명 체인 생성에 설명된 대로 각각의 루트 키를 기반으로 서명 체인을 생성합니다.
5. 정적 비트스트림 및 부분 재구성 설계 소유자 모두 컴파일된 설계를 .rbf 형식으로 변환합니다. files를 입력하고 .rbf에 서명하세요. files.
6. 장치 또는 정적 비트스트림 소유자는 PR 공개 키 프로그램 인증 컴팩트 인증서를 생성하고 서명합니다.
quartus_pfg –ccert o ccert_type=PR_PUBKEY_PROG_AUTH o owner_qky_file=”root0.qky;root1.qky” unsigned_pr_pubkey_prog.ccert
quartus_sign –family=agilex –작업=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 –작업=sign –module=softHSM –module_args=” –token_label=s10-token –user_pin=s10-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname= design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_pr_pubkey_prog.ccert signed_pr_pubkey_prog.ccert
Intel Agilex® 7 장치 보안 사용자 가이드 14
피드백 보내기
2. 인증 및 권한 부여 683823 | 2023.05.23
7. 장치 또는 정적 비트스트림 소유자는 인증 루트 키 해시를 장치에 프로비저닝한 다음 PR 공개 키 프로그램 인증 컴팩트 인증서를 프로그래밍하고 마지막으로 부분 재구성 비트스트림 소유자 루트 키를 장치에 프로비저닝합니다. 장치 프로비저닝 섹션에서는 이 프로비저닝 프로세스를 설명합니다.
8. Intel Agilex 7 장치는 정적 영역 .rbf로 구성됩니다. file.
9. Intel Agilex 7 장치는 페르소나 디자인 .rbf로 부분적으로 재구성되었습니다. file.
관련 정보
· 6페이지의 서명 체인 생성
· SoftHSM에서 인증 키 쌍 생성(8페이지)
· 장치 프로비저닝 페이지 25
2.2.5. 구성 비트스트림 서명 체인 확인
서명 체인과 서명된 비트스트림을 생성한 후 서명된 비트스트림이 지정된 루트 키로 프로그래밍된 장치를 올바르게 구성하는지 확인할 수 있습니다. 먼저 quartus_sign 명령의 퓨즈_info 작업을 사용하여 루트 공개 키의 해시를 텍스트로 인쇄합니다. file:
quartus_sign –family=agilex –작업=fuse_info root0.qky hash_fuse.txt
그런 다음 quartus_pfg 명령의 check_integrity 옵션을 사용하여 .rbf 형식의 서명된 비트스트림의 각 섹션에서 서명 체인을 검사합니다. check_integrity 옵션은 다음 정보를 인쇄합니다.
· 전반적인 비트스트림 무결성 검사 상태
· 비트스트림 .rbf의 각 섹션에 첨부된 각 서명 체인의 각 항목 내용 file,
· 각 서명 체인의 루트 공개 키 해시에 대한 예상 퓨즈 값입니다.
Fuse_info 출력의 값은 check_integrity 출력의 Fuse 라인과 일치해야 합니다.
quartus_pfg –check_integrity signed_bitstream.rbf
여기 전직이 있습니다ampcheck_integrity 명령 출력 파일:
정보: 명령: quartus_pfg –check_integrity signed_bitstream.rbf 무결성 상태: OK
부분
유형: CMF
서명 설명자…
서명 체인 #0(항목: -1, 오프셋: 96)
항목 #0
Fuse: 34FD3B5F 7829001F DE2A24C7 3A7EAE29 C7786DB1 D6D5BC3C 52741C79
72978B22 0731B082 6F596899 40F32048 AD766A24
키 생성…
곡선 : secp384r1
X
: 29C39C3064AE594A36DAA85602D6AF0B278CBB0B207C4D97CFB6967961E5F0ECA
456FF53F5DBB3A69E48A042C62AB6B0
Y
: 3E81D40CBBBEAC13601247A9D53F4A831308A24CA0BDFFA40351EE76438C7B5D2
2826F7E94A169023AFAE1D1DF4A31C2
키 생성…
곡선 : secp384r1
X
: 29C39C3064AE594A36DAA85602D6AF0B278CBB0B207C4D97CFB6967961E5F0ECA
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 15
2. 인증 및 권한 부여 683823 | 2023.05.23
456FF53F5DBB3A69E48A042C62AB6B0
Y
: 3E81D40CBBBEAC13601247A9D53F4A831308A24CA0BDFFA40351EE76438C7B5D2
2826F7E94A169023AFAE1D1DF4A31C2
항목 #1
키 생성…
곡선 : secp384r1
X
: 015290C556F1533E5631322953E2F9E91258472F43EC954E05D6A4B63D611E04B
C120C7E7A744C357346B424D52100A9
Y
: 68696DEAC4773FF3D5A16A4261975424AAB4248196CF5142858E016242FB82BC5
08A80F3FE7F156DEF0AE5FD95BDFE05
항목 #2 키체인 권한: SIGN_CODE 키체인은 ID로 취소 가능: 3 서명 체인 #1(항목: -1, 오프셋: 648)
항목 #0
Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6
DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE
키 생성…
곡선 : secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
키 생성…
곡선 : secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
항목 #1
키 생성…
곡선 : secp384r1
X
: 1E8FBEDC486C2F3161AFEB028D0C4B426258293058CD41358A164C1B1D60E5C1D
74D982BC20A4772ABCD0A1848E9DC96
Y
: 768F1BF95B37A3CC2FFCEEB071DD456D14B84F1B9BFF780FC5A72A0D3BE5EB51D
0DA7C6B53D83CF8A775A8340BD5A5DB
항목 #2
키 생성…
곡선 : secp384r1
X
: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432
76896E771A9C6CA5A2D3C08CF4CB83C
Y
: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1
49F91CABA72F6A3A1C2D1990CDAEA3D
항목 #3 키체인 권한: SIGN_CODE 키체인은 ID: 15로 취소할 수 있습니다. 서명 체인 #2(항목: -1, 오프셋: 0) 서명 체인 #3(항목: -1, 오프셋: 0) 서명 체인 #4(항목: -1, 오프셋: 0) 서명 체인 #5(항목: -1, 오프셋: 0) 서명 체인 #6(항목: -1, 오프셋: 0) 서명 체인 #7(항목: -1, 오프셋: 0)
섹션 유형: IO 서명 설명자 … 서명 체인 #0(항목: -1, 오프셋: 96)
항목 #0
Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6
DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE
키 생성…
곡선 : secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Intel Agilex® 7 장치 보안 사용자 가이드 16
피드백 보내기
2. 인증 및 권한 부여 683823 | 2023.05.23
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
키 생성…
곡선 : secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
항목 #1
키 생성…
곡선 : secp384r1
X
: 646B51F668D8CC365D72B89BA8082FDE79B00CDB750DA0C984DC5891CDF57BD21
44758CA747B1A8315024A8247F12E51
Y
: 53513118E25E16151FD55D7ECDE8293AF6C98A74D52E0DA2527948A64FABDFE7C
F4EA8B8E229218D38A869EE15476750
항목 #2
키 생성…
곡선 : secp384r1
X
: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432
76896E771A9C6CA5A2D3C08CF4CB83C
Y
: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1
49F91CABA72F6A3A1C2D1990CDAEA3D
항목 #3 키체인 권한: SIGN_CORE 키체인은 ID로 취소 가능: 15 서명 체인 #1(항목: -1, 오프셋: 0) 서명 체인 #2(항목: -1, 오프셋: 0) 서명 체인 #3(항목: -1, 오프셋: 0) 서명 체인 #4(항목: -1, 오프셋: 0) 서명 체인 #5(항목: -1, 오프셋: 0) 서명 체인 #6(항목: -1, 오프셋: 0) 서명 체인 #7(항목: -1, 오프셋: 0)
부분
유형: HPS
서명 설명자…
서명 체인 #0(항목: -1, 오프셋: 96)
항목 #0
Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6
DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE
키 생성…
곡선 : secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
키 생성…
곡선 : secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
항목 #1
키 생성…
곡선 : secp384r1
X
: FAF423E08FB08D09F926AB66705EB1843C7C82A4391D3049A35E0C5F17ACB1A30
09CE3F486200940E81D02E2F385D150
Y
: 397C0DA2F8DD6447C52048CD0FF7D5CCA7F169C711367E9B81E1E6C1E8CD9134E
5AC33EE6D388B1A895AC07B86155E9D
항목 #2
키 생성…
곡선 : secp384r1
X
: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432
76896E771A9C6CA5A2D3C08CF4CB83C
Y
: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1
49F91CABA72F6A3A1C2D1990CDAEA3D
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 17
2. 인증 및 권한 부여 683823 | 2023.05.23
항목 #3 키체인 권한: SIGN_HPS 키체인은 ID로 취소 가능: 15 서명 체인 #1(항목: -1, 오프셋: 0) 서명 체인 #2(항목: -1, 오프셋: 0) 서명 체인 #3(항목: -1, 오프셋: 0) 서명 체인 #4(항목: -1, 오프셋: 0) 서명 체인 #5(항목: -1, 오프셋: 0) 서명 체인 #6(항목: -1, 오프셋: 0) 서명 체인 #7(항목: -1, 오프셋: 0)
섹션 유형: CORE 서명 설명자 … 서명 체인 #0(항목: -1, 오프셋: 96)
항목 #0
Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6
DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE
키 생성…
곡선 : secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
키 생성…
곡선 : secp384r1
X
: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765
0411C4592FAFFC71DE36A105B054781
Y
: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8
6B7312EEE8241189474262629501FCD
항목 #1
키 생성…
곡선 : secp384r1
X
: 646B51F668D8CC365D72B89BA8082FDE79B00CDB750DA0C984DC5891CDF57BD21
44758CA747B1A8315024A8247F12E51
Y
: 53513118E25E16151FD55D7ECDE8293AF6C98A74D52E0DA2527948A64FABDFE7C
F4EA8B8E229218D38A869EE15476750
항목 #2
키 생성…
곡선 : secp384r1
X
: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432
76896E771A9C6CA5A2D3C08CF4CB83C
Y
: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1
49F91CABA72F6A3A1C2D1990CDAEA3D
항목 #3 키체인 권한: SIGN_CORE 키체인은 ID로 취소 가능: 15 서명 체인 #1(항목: -1, 오프셋: 0) 서명 체인 #2(항목: -1, 오프셋: 0) 서명 체인 #3(항목: -1, 오프셋: 0) 서명 체인 #4(항목: -1, 오프셋: 0) 서명 체인 #5(항목: -1, 오프셋: 0) 서명 체인 #6(항목: -1, 오프셋: 0) 서명 체인 #7(항목: -1, 오프셋: 0)
Intel Agilex® 7 장치 보안 사용자 가이드 18
피드백 보내기
683823 | 2023.05.23 피드백 보내기
AES 비트스트림 암호화
AES(Advanced Encryption Standard) 비트스트림 암호화는 장치 소유자가 구성 비트스트림에서 지적 재산의 기밀성을 보호할 수 있도록 하는 기능입니다.
키의 기밀성을 보호하기 위해 구성 비트스트림 암호화에서는 AES 키 체인을 사용합니다. 이러한 키는 구성 비트스트림에서 소유자 데이터를 암호화하는 데 사용됩니다. 여기서 첫 번째 중간 키는 AES 루트 키로 암호화됩니다.
3.1. AES 루트 키 생성
quartus_encrypt 도구 또는 Straix10_encrypt.py 참조 구현을 사용하여 Intel Quartus Prime 소프트웨어 암호화 키(.qek) 형식으로 AES 루트 키를 생성할 수 있습니다. file.
메모:
Stratix10_encrypt.py file Intel Stratix® 10 및 Intel Agilex 7 장치에 사용됩니다.
선택적으로 AES 루트 키 및 키 파생 키를 파생하는 데 사용되는 기본 키, AES 루트 키에 대한 값 직접, 중간 키 수 및 중간 키당 최대 사용량을 지정할 수 있습니다.
장치 제품군을 지정하고 .qek을 출력해야 합니다. file 메시지가 나타나면 위치 및 암호를 입력합니다.
다음 명령을 실행하여 기본 키에 대한 임의 데이터와 중간 키 수 및 최대 키 사용에 대한 기본값을 사용하여 AES 루트 키를 생성합니다.
참조 구현을 사용하려면 Intel Quartus Prime 소프트웨어에 포함된 Python 인터프리터에 대한 호출을 대체하고 –family=agilex 옵션을 생략합니다. 다른 모든 옵션은 동일합니다. 예를 들어amp파일, 섹션 뒷부분에 있는 quartus_encrypt 명령
quartus_encrypt –family=agilex –작업=MAKE_AES_KEY aes_root.qek
다음과 같이 참조 구현에 대한 동등한 호출로 변환될 수 있습니다. pgm_pystraix10_encrypt.py –eration=MAKE_AES_KEY aes_root.qek
3.2. Quartus 암호화 설정
설계에 대한 비트스트림 암호화를 활성화하려면 할당 장치 장치 및 핀 옵션 보안 패널을 사용하여 적절한 옵션을 지정해야 합니다. 구성 비트스트림 암호화 활성화 확인란을 선택하고 드롭다운 메뉴에서 원하는 암호화 키 저장 위치를 선택합니다.
인텔사. 판권 소유. 인텔, 인텔 로고 및 기타 인텔 마크는 인텔사 또는 그 자회사의 상표입니다. 인텔은 인텔의 표준 보증에 따라 FPGA 및 반도체 제품의 성능을 최신 사양으로 보증하지만 사전 통지 없이 언제든지 제품 및 서비스를 변경할 수 있는 권리를 보유합니다. 인텔은 인텔이 서면으로 명시적으로 동의한 경우를 제외하고 여기에 설명된 정보, 제품 또는 서비스의 적용 또는 사용으로 인해 발생하는 어떠한 책임도 지지 않습니다. 인텔 고객은 게시된 정보에 의존하고 제품이나 서비스를 주문하기 전에 최신 버전의 장치 사양을 얻는 것이 좋습니다. *다른 이름과 브랜드는 다른 사람의 자산일 수 있습니다.
ISO 9001 : 2015 등록
그림 3. Intel Quartus Prime 암호화 설정
3. AES 비트스트림 암호화 683823 | 2023.05.23
또는 Intel Quartus Prime 설정에 다음 할당문을 추가할 수도 있습니다. file .qsf:
세트_글로벌_할당 - 이름 세트_글로벌_할당의 ENCRYPT_PROGRAMMING_BITSTREAM -이름 PROGRAMMING_BITSTREAM_ENCRYPTION_KEY_SELECT eFuse
부채널 공격 벡터에 대한 추가 완화를 활성화하려면 암호화 업데이트 비율 드롭다운 및 스크램블링 활성화 확인란을 활성화할 수 있습니다.
Intel Agilex® 7 장치 보안 사용자 가이드 20
피드백 보내기
3. AES 비트스트림 암호화 683823 | 2023.05.23
.qsf의 해당 변경 사항은 다음과 같습니다.
세트_글로벌_할당 - 이름 세트_글로벌_할당에 대한 PROGRAMMING_BITSTREAM_ENCRYPTION_CNOC_SCRAMBLING -이름 PROGRAMMING_BITSTREAM_ENCRYPTION_UPDATE_RATIO 31
3.3. 구성 비트스트림 암호화
비트스트림에 서명하기 전에 구성 비트스트림을 암호화합니다. Intel Quartus Prime 프로그래밍 File 생성기 도구는 그래픽 사용자 인터페이스 또는 명령줄을 사용하여 구성 비트스트림을 자동으로 암호화하고 서명할 수 있습니다.
선택적으로 quartus_encrypt 및 quartus_sign 도구 또는 참조 구현 도구와 함께 사용하기 위해 부분적으로 암호화된 비트스트림을 생성할 수 있습니다.
3.3.1. 프로그래밍을 사용한 비트스트림 암호화 구성 File 생성기 그래픽 인터페이스
프로그래밍을 사용할 수 있습니다. File 소유자 이미지를 암호화하고 서명하는 생성기입니다.
그림 4.
1. Intel Quartus Prime에서 File 메뉴 선택 프로그래밍 File 발전기. 2. 출력에서 Files 탭에서 출력을 지정합니다. file 구성에 대한 유형
계획.
산출 File 사양
구성 방식 출력 file 꼬리표
산출 file 유형
3. 입력 시 Files 탭에서 Add Bitstream을 클릭하고 .sof를 찾습니다. 4. 암호화 및 인증 옵션을 지정하려면 .sof를 선택하고 다음을 클릭합니다.
속성. ㅏ. 서명 도구 활성화를 켭니다. 비. 개인 키의 경우 file 서명 키 개인 .pem을 선택하세요. file. 씨. 암호화 마무리를 켭니다.
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 21
3. AES 비트스트림 암호화 683823 | 2023.05.23
그림 5.
디. 암호화 키의 경우 file, AES .qek을 선택하세요. file. 입력(.sof) File 인증 및 암호화 속성
인증 활성화 개인 루트 .pem 지정
암호화 활성화 암호화 키 지정
5. 서명되고 암호화된 비트스트림을 생성하려면 입력 File탭에서 생성을 클릭합니다. AES 키 .qek에 대한 암호를 입력할 수 있는 암호 대화 상자가 나타납니다. file 개인 키 .pem 서명 file. 프로그래밍 file 생성기는 암호화되고 서명된 출력을 생성합니다_file.rbf.
3.3.2. 프로그래밍을 사용한 비트스트림 암호화 구성 File 생성기 명령줄 인터페이스
quartus_pfg 명령줄 인터페이스를 사용하여 .rbf 형식으로 암호화되고 서명된 구성 비트스트림을 생성합니다.
quartus_pfg -c 암호화_활성화.sof top.rbf -o finalize_encryption=ON -o qek_file=aes_root.qek -o 서명=ON -o pem_file=design0_sign_private.pem
.rbf 형식의 암호화되고 서명된 구성 비트스트림을 다른 구성 비트스트림으로 변환할 수 있습니다. file 형식.
3.3.3. 명령줄 인터페이스를 사용하여 부분적으로 암호화된 구성 비트스트림 생성
부분적으로 암호화된 프로그래밍을 생성할 수 있습니다. file 암호화를 마무리하고 나중에 이미지에 서명합니다. 부분적으로 암호화된 프로그래밍 생성 file quartus_pfg 명령줄 인터페이스를 사용하여 .rbf 형식으로: quartus_pfg -c -o finalize_encryption_later=ON -o sign_later=ON top.sof top.rbf
Intel Agilex® 7 장치 보안 사용자 가이드 22
피드백 보내기
3. AES 비트스트림 암호화 683823 | 2023.05.23
quartus_encrypt 명령줄 도구를 사용하여 비트스트림 암호화를 마무리합니다.
quartus_encrypt –family=agilex –작업=ENCRYPT –key=aes_root.qek top.rbf 암호화된_top.rbf
quartus_sign 명령줄 도구를 사용하여 암호화된 구성 비트스트림에 서명합니다.
quartus_sign –family=agilex –작업=SIGN –qky=design0_sign_chain.qky –pem=design0_sign_private.pem –cancel=svnA:0 암호화된_top.rbf signed_encrypted_top.rbf
quartus_sign –family=agilex –작업=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 암호화된_top.rbf signed_encrypted_top.rbf
3.3.4. 부분 재구성 비트스트림 암호화
부분 재구성을 사용하는 일부 Intel Agilex 7 FPGA 설계에서 비트스트림 암호화를 활성화할 수 있습니다.
HPR(계층적 부분 재구성) 또는 SUPR(정적 업데이트 부분 재구성)을 활용하는 부분 재구성 설계는 비트스트림 암호화를 지원하지 않습니다. 디자인에 여러 PR 영역이 포함된 경우 모든 페르소나를 암호화해야 합니다.
부분 재구성 비트스트림 암호화를 활성화하려면 모든 설계 개정에서 동일한 절차를 따르십시오. 1. Intel Quartus Prime에서 File 메뉴에서 과제 장치 장치를 선택하세요.
및 핀 옵션 보안. 2. 원하는 암호화 키 저장 위치를 선택하세요.
그림 6. 부분 재구성 비트스트림 암호화 설정
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 23
3. AES 비트스트림 암호화 683823 | 2023.05.23
또는 Quartus Prime 설정에 다음 할당문을 추가할 수도 있습니다. file .qsf:
세트_글로벌_할당 - 이름 –ENABLE_PARTIAL_RECONFIGURATION_BITSTREAM_ENCRYPTION on
기본 설계 및 수정본을 컴파일한 후 소프트웨어는 a.sof를 생성합니다.file 그리고 하나 이상의 .pmsffiles, 페르소나를 나타냅니다. 3. 암호화되고 서명된 프로그래밍 생성 files from.sof 및 .pmsf file이는 부분 재구성이 활성화되지 않은 설계와 유사한 방식입니다. 4. 컴파일된 persona.pmsf를 변환합니다. file 부분적으로 암호화된 .rbf로 file:
quartus_pfg -c -o finalize_encryption_later=ON -o sign_later=ON 암호화_활성화_persona1.pmsf persona1.rbf
5. quartus_encrypt 명령줄 도구를 사용하여 비트스트림 암호화를 마무리합니다.
quartus_encrypt –family=agilex –작업=ENCRYPT –key=aes_root.qek persona1.rbf 암호화된_persona1.rbf
6. quartus_sign 명령줄 도구를 사용하여 암호화된 구성 비트스트림에 서명합니다.
quartus_sign –family=agilex –작업=SIGN –qky=design0_sign_chain.qky –pem=design0_sign_private.pem 암호화된_persona1.rbf signed_encrypted_persona1.rbf
quartus_sign –family=agilex –작업=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 – 취소=svnA:0 –keyname=design0_sign 암호화된_persona1.rbf signed_encrypted_persona1.rbf
Intel Agilex® 7 장치 보안 사용자 가이드 24
피드백 보내기
683823 | 2023.05.23 피드백 보내기
장치 프로비저닝
초기 보안 기능 프로비저닝은 SDM 프로비저닝 펌웨어에서만 지원됩니다. Intel Quartus Prime Programmer를 사용하여 SDM 프로비저닝 펌웨어를 로드하고 프로비저닝 작업을 수행합니다.
모든 유형의 J를 사용할 수 있습니다.TAG 프로비저닝 작업을 수행하려면 Quartus Programmer를 Intel Agilex 7 장치에 연결하는 케이블을 다운로드하세요.
4.1. SDM 프로비저닝 펌웨어 사용
Intel Quartus Prime Programmer는 구성 비트스트림 이외의 항목을 프로그래밍하기 위한 초기화 작업 및 명령을 선택할 때 공장 기본 도우미 이미지를 자동으로 생성하고 로드합니다.
지정된 프로그래밍 명령에 따라 공장 기본 도우미 이미지는 다음 두 가지 유형 중 하나입니다.
· 프로비저닝 도우미 이미지 – SDM 프로비저닝 펌웨어가 포함된 하나의 비트스트림 섹션으로 구성됩니다.
· QSPI 도우미 이미지 – 두 개의 비트스트림 섹션으로 구성됩니다. 하나는 SDM 기본 펌웨어를 포함하고 다른 하나는 I/O 섹션을 포함합니다.
공장 기본 도우미 이미지를 생성할 수 있습니다. file 프로그래밍 명령을 수행하기 전에 장치에 로드합니다. 인증 루트 키 해시를 프로그래밍한 후에는 포함된 I/O 섹션으로 인해 QSPI 공장 기본 도우미 이미지를 생성하고 서명해야 합니다. 공동 서명된 펌웨어 보안 설정 eFuse를 추가로 프로그래밍하는 경우 공동 서명된 펌웨어를 사용하여 프로비저닝 및 QSPI 공장 기본 도우미 이미지를 생성해야 합니다. 프로비저닝되지 않은 장치는 SDM 펌웨어를 통해 비인텔 서명 체인을 무시하므로 프로비저닝되지 않은 장치에서 공동 서명된 공장 기본 도우미 이미지를 사용할 수 있습니다. QSPI 공장 기본 도우미 이미지 생성, 서명 및 사용에 대한 자세한 내용은 26페이지의 소유 장치에서 QSPI 공장 기본 도우미 이미지 사용을 참조하십시오.
프로비저닝 공장 기본 도우미 이미지는 인증 루트 키 해시 프로그래밍, 보안 설정 퓨즈, PUF 등록 또는 블랙 키 프로비저닝과 같은 프로비저닝 작업을 수행합니다. Intel Quartus Prime 프로그래밍을 사용합니다. File helper_image 옵션, helper_device 이름, 프로비저닝 도우미 이미지 하위 유형 및 선택적으로 공동 서명된 펌웨어 .zip을 지정하여 프로비저닝 도우미 이미지를 생성하는 생성기 명령줄 도구 file:
quartus_pfg –helper_image -o helper_device=AGFB014R24A -o 하위 유형=PROVISION -o fw_source=signed_agilex.zip signed_provision_helper_image.rbf
Intel Quartus Prime Programmer 도구를 사용하여 도우미 이미지를 프로그래밍합니다.
quartus_pgm -c 1 -mjtag -o "p;signed_provision_helper_image.rbf" –force
인텔사. 판권 소유. 인텔, 인텔 로고 및 기타 인텔 마크는 인텔사 또는 그 자회사의 상표입니다. 인텔은 인텔의 표준 보증에 따라 FPGA 및 반도체 제품의 성능을 최신 사양으로 보증하지만 사전 통지 없이 언제든지 제품 및 서비스를 변경할 수 있는 권리를 보유합니다. 인텔은 인텔이 서면으로 명시적으로 동의한 경우를 제외하고 여기에 설명된 정보, 제품 또는 서비스의 적용 또는 사용으로 인해 발생하는 어떠한 책임도 지지 않습니다. 인텔 고객은 게시된 정보에 의존하고 제품이나 서비스를 주문하기 전에 최신 버전의 장치 사양을 얻는 것이 좋습니다. *다른 이름과 브랜드는 다른 사람의 자산일 수 있습니다.
ISO 9001 : 2015 등록
4. 장치 프로비저닝 683823 | 2023.05.23
메모:
ex를 포함한 명령에서 초기화 작업을 생략할 수 있습니다.amp프로비저닝 도우미 이미지를 프로그래밍하거나 초기화 작업이 포함된 명령을 사용한 후 이 장에서 제공되는 파일을 확인하세요.
4.2. 소유 장치에서 QSPI 공장 기본 도우미 이미지 사용
Intel Quartus Prime Programmer는 QSPI 플래시 프로그래밍을 위한 초기화 작업을 선택할 때 QSPI 공장 기본 도우미 이미지를 자동으로 생성하고 로드합니다. file. 인증 루트 키 해시를 프로그래밍한 후 QSPI 공장 기본 도우미 이미지를 생성 및 서명해야 하며, QSPI 플래시를 프로그래밍하기 전에 서명된 QSPI 공장 도우미 이미지를 별도로 프로그래밍해야 합니다. 1. Intel Quartus Prime 프로그래밍을 사용합니다. File 생성기 명령줄 도구
helper_image 옵션, helper_device 유형, QSPI 도우미 이미지 하위 유형 및 선택적으로 공동 서명된 펌웨어 .zip을 지정하여 QSPI 도우미 이미지를 생성합니다. file:
quartus_pfg –helper_image -o helper_device=AGFB014R24A -o 하위 유형=QSPI -o fw_source=signed_agilex.zip qspi_helper_image.rbf
2. QSPI 공장 기본 도우미 이미지에 서명합니다.
quartus_sign –family=agilex –작업=sign –qky=design0_sign_chain.qky –pem=design0_sign_private.pem qspi_helper_image.rbf signed_qspi_helper_image.rbf
3. QSPI 플래시 프로그래밍을 사용할 수 있습니다. file 체재. 다음 예amp파일은 .jic로 변환된 구성 비트스트림을 사용합니다. file 체재:
quartus_pfg -c signed_bitstream.rbf signed_flash.jic -o 장치=MT25QU128 -o flash_loader=AGFB014R24A -o 모드=ASX4
4. Intel Quartus Prime Programmer 도구를 사용하여 서명된 도우미 이미지를 프로그래밍합니다.
quartus_pgm -c 1 -mjtag -o "p;signed_qspi_helper_image.rbf" –force
5. Intel Quartus Prime Programmer 도구를 사용하여 .jic 이미지를 플래시하도록 프로그래밍합니다.
quartus_pgm -c 1 -mjtag -o “p;signed_flash.jic”
4.3. 인증 루트 키 프로비저닝
소유자 루트 키 해시를 물리적 퓨즈에 프로그래밍하려면 먼저 프로비저닝 펌웨어를 로드하고 다음으로 소유자 루트 키 해시를 프로그래밍한 후 즉시 전원 켜기 재설정을 수행해야 합니다. 루트 키 해시를 가상 퓨즈에 프로그래밍하는 경우 전원 켜기 재설정이 필요하지 않습니다.
Intel Agilex® 7 장치 보안 사용자 가이드 26
피드백 보내기
4. 장치 프로비저닝 683823 | 2023.05.23
인증 루트 키 해시를 프로그래밍하려면 프로비저닝 펌웨어 도우미 이미지를 프로그래밍하고 다음 명령 중 하나를 실행하여 루트 키 .qky를 프로그래밍합니다. files.
// 물리적(비휘발성) eFuse의 경우 quartus_pgm -c 1 -mjtag -o "p;root0.qky;root1.qky;root2.qky" –non_휘발성_키
// 가상(휘발성) eFuse의 경우 quartus_pgm -c 1 -mjtag -o "p;root0.qky;root1.qky;root2.qky"
4.3.1. 부분 재구성 다중 인증 루트 키 프로그래밍
장치 또는 정적 영역 비트스트림 소유자 루트 키를 프로비저닝한 후 장치 프로비저닝 헬퍼 이미지를 다시 로드하고 서명된 PR 공개 키 프로그램 인증 컴팩트 인증서를 프로그래밍한 다음 PR 페르소나 비트스트림 소유자 루트 키를 프로비저닝합니다.
// 물리적(비휘발성) eFuse의 경우 quartus_pgm -c 1 -mjtag -o “p;root_pr.qky” –pr_pubkey –non_휘발성_키
// 가상(휘발성) eFuse의 경우 quartus_pgm -c 1 -mjtag -o "p;p;root_pr.qky" –pr_pubkey
4.4. 프로그래밍 키 취소 ID 퓨즈
Intel Quartus Prime Pro Edition 소프트웨어 버전 21.1부터 Intel 및 소유자 키 취소 ID 퓨즈를 프로그래밍하려면 서명된 컴팩트 인증서를 사용해야 합니다. FPGA 섹션 서명 권한이 있는 서명 체인을 사용하여 키 취소 ID 컴팩트 인증서에 서명할 수 있습니다. 프로그래밍을 사용하여 컴팩트 인증서를 생성합니다. file 생성기 명령줄 도구. quartus_sign 도구 또는 참조 구현을 사용하여 서명되지 않은 인증서에 서명합니다.
Intel Agilex 7 장치는 각 루트 키에 대해 별도의 소유자 키 취소 ID 뱅크를 지원합니다. 소유자 키 취소 ID 컴팩트 인증서가 Intel Agilex 7 FPGA에 프로그래밍되면 SDM은 어느 루트 키가 컴팩트 인증서에 서명했는지 확인하고 해당 루트 키에 해당하는 키 취소 ID 퓨즈를 끊습니다.
다음 예amp그러면 인텔 키 ID 7에 대한 인텔 키 취소 인증서가 생성됩니다. 7을 0-31의 해당 인텔 키 취소 ID로 바꿀 수 있습니다.
서명되지 않은 Intel 키 취소 ID 컴팩트 인증서를 생성하려면 다음 명령을 실행하십시오.
quartus_pfg –ccert -o ccert_type=CANCEL_INTEL_KEY -o cancel_key=7 unsigned_cancel_intel7.ccert
다음 명령 중 하나를 실행하여 서명되지 않은 Intel 키 취소 ID 컴팩트 인증서에 서명하세요.
quartus_sign –family=agilex –작업=SIGN –qky=design0_sign_chain.qky –pem=design0_private.pem –cancel=svnA:0 unsigned_cancel_intel7.cccert signed_cancel_intel7.ccert
quartus_sign –family=agilex –작업=sign –module=softHSM –module_args=” –token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so”
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 27
4. 장치 프로비저닝 683823 | 2023.05.23
–keyname=design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_cancel_intel7.ccert signed_cancel_intel7.ccert
서명되지 않은 소유자 키 취소 ID 컴팩트 인증서를 생성하려면 다음 명령을 실행하십시오.
quartus_pfg –ccert -o ccert_type=CANCEL_OWNER_KEY -o cancel_key=2 unsigned_cancel_owner2.ccert
다음 명령 중 하나를 실행하여 서명되지 않은 소유자 키 취소 ID 컴팩트 인증서에 서명하세요.
quartus_sign –family=agilex –작업=SIGN –qky=design0_sign_chain.qky –pem=design0_private.pem –cancel=svnA:0 unsigned_cancel_owner2.cccert signed_cancel_owner2.ccert
quartus_sign –family=agilex –작업=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
서명된 키 취소 ID 컴팩트 인증서를 생성한 후 Intel Quartus Prime Programmer를 사용하여 J를 통해 장치에 컴팩트 인증서를 프로그래밍합니다.TAG.
//물리적(비휘발성) eFuse의 경우 quartus_pgm -c 1 -mjtag -o "pi;signed_cancel_intel7.ccert" –non_휘발성_key quartus_pgm -c 1 -mjtag -o "pi;signed_cancel_owner2.ccert" –non_휘발성_키
//가상(휘발성) eFuse의 경우 quartus_pgm -c 1 -mjtag -o "pi;signed_cancel_intel7.ccert" quartus_pgm -c 1 -mjtag -o "pi;signed_cancel_owner2.ccert"
추가적으로 FPGA 또는 HPS 메일박스 인터페이스를 사용하여 컴팩트 인증서를 SDM으로 보낼 수도 있습니다.
4.5. 루트 키 취소
Intel Agilex 7 장치를 사용하면 취소되지 않은 다른 루트 키 해시가 있는 경우 루트 키 해시를 취소할 수 있습니다. 먼저 서명 체인이 다른 루트 키 해시에 기반을 둔 설계로 장치를 구성한 다음 서명된 루트 키 해시 취소 컴팩트 인증서를 프로그래밍하여 루트 키 해시를 취소합니다. 취소하려면 루트 키에 루트가 있는 서명 체인을 사용하여 루트 키 해시 취소 컴팩트 인증서에 서명해야 합니다.
서명되지 않은 루트 키 해시 취소 압축 인증서를 생성하려면 다음 명령을 실행하십시오.
quartus_pfg –ccert -o –ccert_type=CANCEL_KEY_HASH unsigned_root_cancel.ccert
Intel Agilex® 7 장치 보안 사용자 가이드 28
피드백 보내기
4. 장치 프로비저닝 683823 | 2023.05.23
다음 명령 중 하나를 실행하여 서명되지 않은 루트 키 해시 취소 컴팩트 인증서에 서명합니다.
quartus_sign –family=agilex –작업=SIGN –qky=design0_sign_chain.qky –pem=design0_private.pem –cancel=svnA:0 unsigned_root_cancel.cccert signed_root_cancel.ccert
quartus_sign –family=agilex –작업=sign –module=softHSM –module_args=” –token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname= design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_root_cancel.ccert signed_root_cancel.ccert
J를 통해 루트 키 해시 취소 컴팩트 인증서를 프로그래밍할 수 있습니다.TAG, FPGA 또는 HPS 메일박스.
4.6. 프로그래밍 카운터 퓨즈
SVN(보안 버전 번호) 및 의사 시간 St를 업데이트합니다.amp (PTS) 카운터 퓨즈는 서명된 컴팩트 인증서를 사용합니다.
메모:
SDM은 특정 구성 중에 표시되는 최소 카운터 값을 추적하고 카운터 값이 최소값보다 작으면 카운터 증분 인증서를 허용하지 않습니다. 카운터 증분 컴팩트 인증서를 프로그래밍하기 전에 카운터에 할당된 모든 개체를 업데이트하고 장치를 재구성해야 합니다.
생성하려는 카운터 증분 인증서에 해당하는 다음 명령 중 하나를 실행합니다.
quartus_pfg –ccert -o ccert_type=PTS_COUNTER -o 카운터=<-1:495> unsigned_pts.ccert
quartus_pfg –ccert -o ccert_type=SVN_COUNTER_A -o 카운터=<-1:63> unsigned_svnA.ccert
quartus_pfg –ccert -o ccert_type=SVN_COUNTER_B -o 카운터=<-1:63> unsigned_svnB.ccert
quartus_pfg –ccert -o ccert_type=SVN_COUNTER_C -o 카운터=<-1:63> unsigned_svnC.ccert
quartus_pfg –ccert -o ccert_type=SVN_COUNTER_D -o 카운터=<-1:63> unsigned_svnD.ccert
카운터 값 1은 카운터 증분 인증 인증서를 생성합니다. 카운터 증분 인증 컴팩트 인증서를 프로그래밍하면 서명되지 않은 카운터 증분 인증서를 추가로 프로그래밍하여 해당 카운터를 업데이트할 수 있습니다. quartus_sign 도구를 사용하여 키 취소 ID 컴팩트 인증서와 유사한 방식으로 카운터 컴팩트 인증서에 서명합니다.
J를 통해 루트 키 해시 취소 컴팩트 인증서를 프로그래밍할 수 있습니다.TAG, FPGA 또는 HPS 메일박스.
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 29
4. 장치 프로비저닝 683823 | 2023.05.23
4.7. 보안 데이터 개체 서비스 루트 키 프로비저닝
Intel Quartus Prime Programmer를 사용하여 SDOS(Secure Data Object Service) 루트 키를 프로비저닝합니다. 프로그래머는 SDOS 루트 키를 프로비저닝하기 위해 프로비저닝 펌웨어 도우미 이미지를 자동으로 로드합니다.
quartus_pgm c 1mjtag –service_root_key –비휘발성_키
4.8. 보안 설정 퓨즈 프로비저닝
Intel Quartus Prime Programmer를 사용하여 장치 보안 설정 퓨즈를 검사하고 이를 텍스트 기반 .fuse에 기록합니다. file 다음과 같습니다:
quartus_pgm -c 1 -mjtag -o “ei;프로그래밍_file.fuse;AGFB014R24B”
옵션 · i: 프로그래머는 프로비저닝 펌웨어 도우미 이미지를 장치에 로드합니다. · e: 프로그래머는 장치에서 퓨즈를 읽고 이를 .fuse에 저장합니다. file.
.fuse file 퓨즈 이름-값 쌍의 목록을 포함합니다. 값은 퓨즈가 끊어졌는지 또는 퓨즈 필드의 내용을 지정합니다.
다음 예ample는 .fuse의 형식을 보여줍니다. file:
# 공동 서명된 펌웨어
= "불지 않음"
# 장치 허가 킬
= "불지 않음"
# 장치가 안전하지 않음
= "불지 않음"
# HPS 디버그 비활성화
= "불지 않음"
# 고유 ID PUF 등록 비활성화
= "불지 않음"
# J 비활성화TAG
= "불지 않음"
# PUF 래핑 암호화 키 비활성화
= "불지 않음"
# BBRAM의 소유자 암호화 키 비활성화 = "날리지 않음"
# eFuses에서 소유자 암호화 키 비활성화 = "날리지 않음"
# 소유자 루트 공개 키 해시 0을 비활성화합니다.
= "불지 않음"
# 소유자 루트 공개 키 해시 1을 비활성화합니다.
= "불지 않음"
# 소유자 루트 공개 키 해시 2을 비활성화합니다.
= "불지 않음"
# 가상 eFuse 비활성화
= "불지 않음"
# 내부 오실레이터에 SDM 클록을 강제 적용 = "불려지지 않음"
# 암호화 키 강제 업데이트
= "불지 않음"
# 인텔 명시적 키 취소
= "0"
# 보안 eFuse 잠금
= "불지 않음"
# 소유자 암호화 키 프로그램 완료
= "불지 않음"
# 소유자 암호화 키 프로그램 시작
= "불지 않음"
# 소유자 명시적 키 취소 0
= ""
# 소유자 명시적 키 취소 1
= ""
# 소유자 명시적 키 취소 2
= ""
# 소유자 퓨즈
=
"0x00000000000000000000000000000000000000000000000000000"
00000000000000000000000000000000000000000000000000000
0000000000000000000000인치
# 소유자 루트 공개 키 해시 0
=
"0x00000000000000000000000000000000000000000000000000000"
0000000000000000000000000000000000000000000인치
# 소유자 루트 공개 키 해시 1
=
"0x00000000000000000000000000000000000000000000000000000"
0000000000000000000000000000000000000000000인치
# 소유자 루트 공개 키 해시 2
=
"0x00000000000000000000000000000000000000000000000000000"
0000000000000000000000000000000000000000000인치
# 소유자 루트 공개 키 크기
= "없음"
# PTS 카운터
= "0"
# PTS 카운터 베이스
= "0"
Intel Agilex® 7 장치 보안 사용자 가이드 30
피드백 보내기
4. 장치 프로비저닝 683823 | 2023.05.23
# QSPI 시작 지연 # RMA 카운터 # SDMIO0은 I2C입니다 # SVN 카운터 A # SVN 카운터 B # SVN 카운터 C # SVN 카운터 D
= "10ms" = "0" = "불지 않음" = "0" = "0" = "0" = "0"
.fuse 수정 file 원하는 보안 설정 퓨즈를 설정합니다. #으로 시작하는 줄은 주석 줄로 처리됩니다. 보안 설정 퓨즈를 프로그래밍하려면 선행 #을 제거하고 값을 Blown으로 설정합니다. 예를 들어ample, 공동 서명된 펌웨어 보안 설정 퓨즈를 활성화하려면 퓨즈의 첫 번째 줄을 수정하십시오. file 다음에
공동 서명된 펌웨어 = "Blown"
또한 요구 사항에 따라 소유자 퓨즈를 할당하고 프로그래밍할 수도 있습니다.
다음 명령을 사용하여 백지 검사를 수행하고, 프로그래밍하고, 소유자 루트 공개 키를 확인할 수 있습니다.
quartus_pgm -c 1 -mjtag -o "ibpv;root0.qky"
옵션 · i: 프로비저닝 펌웨어 도우미 이미지를 장치에 로드합니다. · b: 원하는 보안 설정 퓨즈가 없는지 확인하기 위해 백지 검사를 수행합니다.
이미 터졌어. · p: 퓨즈를 프로그래밍합니다. · v: 장치에 프로그래밍된 키를 확인합니다.
.qky 프로그래밍 후 file, 퓨즈 정보를 다시 확인하여 소유자 공개 키 해시와 소유자 공개 키 크기가 모두 0이 아닌 값을 갖는지 확인하여 퓨즈 정보를 검사할 수 있습니다.
다음 필드는 .fuse를 통해 쓸 수 없습니다. file 방법을 사용하면 확인을 위해 검사 작업 출력 중에 다음이 포함됩니다. · 장치가 안전하지 않음 · 장치 허용 종료 · 소유자 루트 공개 키 해시 비활성화 0 · 소유자 루트 공개 키 해시 비활성화 1 · 소유자 루트 공개 키 해시 비활성화 2 · 인텔 키 취소 · 소유자 암호화 키 프로그램 시작 · 소유자 암호화 키 프로그램 완료 · 소유자 키 취소 · 소유자 공개 키 해시 · 소유자 공개 키 크기 · 소유자 루트 공개 키 해시 0 · 소유자 루트 공개 키 해시 1 · 소유자 루트 공개 키 해시 2
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 31
4. 장치 프로비저닝 683823 | 2023.05.23
· PTS 카운터 · PTS 카운터 베이스 · QSPI 시작 지연 · RMA 카운터 · SDMIO0은 I2C입니다 · SVN 카운터 A · SVN 카운터 B · SVN 카운터 C · SVN 카운터 D
Intel Quartus Prime Programmer를 사용하여 .fuse 프로그래밍 file 장치로 돌아갑니다. i 옵션을 추가하면 프로그래머가 자동으로 프로비저닝 펌웨어를 로드하여 보안 설정 퓨즈를 프로그래밍합니다.
//물리적(비휘발성) eFuse의 경우 quartus_pgm -c 1 -mjtag -o “pi;프로그래밍_file.fuse” –비휘발성_키
//가상(휘발성) eFuse의 경우 quartus_pgm -c 1 -mjtag -o “pi;프로그래밍_file.퓨즈"
다음 명령을 사용하여 장치 루트 키 해시가 명령에 제공된 .qky와 동일한지 확인할 수 있습니다.
quartus_pgm -c 1 -mjtag -o “v;root0_another.qky”
키가 일치하지 않으면 프로그래머는 작업 실패 오류 메시지와 함께 실패합니다.
4.9. AES 루트 키 프로비저닝
Intel Agilex 7 장치에 AES 루트 키를 프로그래밍하려면 서명된 AES 루트 키 압축 인증서를 사용해야 합니다.
4.9.1. AES 루트 키 컴팩트 인증서
quartus_pfg 명령줄 도구를 사용하여 AES 루트 키 .qek을 변환합니다. file 컴팩트 인증서 .ccert 형식으로 변환됩니다. 컴팩트 인증서를 생성하는 동안 키 저장 위치를 지정합니다. quartus_pfg 도구를 사용하여 나중에 서명하기 위해 서명되지 않은 인증서를 생성할 수 있습니다. AES 루트 키 압축 인증서에 성공적으로 서명하려면 AES 루트 키 인증서 서명 권한, 권한 비트 6이 활성화된 서명 체인을 사용해야 합니다.
Intel Agilex® 7 장치 보안 사용자 가이드 32
피드백 보내기
4. 장치 프로비저닝 683823 | 2023.05.23
1. 다음 명령 중 하나를 사용하여 AES 키 압축 인증서에 서명하는 데 사용되는 추가 키 쌍을 생성합니다.amp레:
quartus_sign –family=agilex –작업=make_private_pem –curve=secp384r1 aesccert1_private.pem
quartus_sign –family=agilex –작업=make_public_pem aesccert1_private.pem aesccert1_public.pem
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label agilex-token –login –pin agilex-token-pin –keypairgen 메커니즘 ECDSA-KEY-PAIR-GEN –key-type EC: secp384r1 –사용법 서명 –label aesccert1 –id 2
2. 다음 명령 중 하나를 사용하여 올바른 권한 비트가 설정된 서명 체인을 생성합니다.
quartus_sign –family=agilex –작업=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 –작업=append_key –module=softHSM -module_args=” –token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –previous_keyname= root0 –previous_qky=root0.qky –permission=0x40 –cancel=1 –input_keyname=aesccert1 aesccert1_sign_chain.qky
3. 원하는 AES 루트 키 저장 위치에 대해 서명되지 않은 AES 컴팩트 인증서를 생성합니다. 다음 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
//eFuse AES 루트 키 서명되지 않은 인증서 생성 quartus_pfg –ccert -o ccert_type=EFUSE_WRAPPED_AES_KEY -o qek_file=aes.qek unsigned_efuse1.ccert
4. quartus_sign 명령 또는 참조 구현을 사용하여 컴팩트 인증서에 서명합니다.
quartus_sign –family=agilex –작업=sign –pem=aesccert1_private.pem –qky=aesccert1_sign_chain.qky unsigned_ 1.cccert 서명_ 1.cccert
quartus_sign –family=agilex –작업=sign –module=softHSM –module_args=” –token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so”
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 33
4. 장치 프로비저닝 683823 | 2023.05.23
–keyname=aesccert1 –qky=aesccert1_sign_chain.qky unsigned_ 1.cccert 서명_ 1.cccert
5. Intel Quartus Prime Programmer를 사용하여 J를 통해 Intel Agilex 7 장치에 AES 루트 키 압축 인증서를 프로그래밍합니다.TAG. Intel Quartus Prime Programmer는 EFUSE_WRAPPED_AES_KEY 컴팩트 인증서 유형을 사용할 때 기본적으로 가상 eFuse를 프로그래밍합니다.
–non_휘발성_key 옵션을 추가하여 프로그래밍 물리적 퓨즈를 지정합니다.
//물리적(비휘발성) eFuse AES 루트 키의 경우 quartus_pgm -c 1 -mjtag -o "pi;signed_efuse1.ccert" –non_휘발성_키
//가상(휘발성) eFuse AES 루트 키의 경우 quartus_pgm -c 1 -mjtag -o "pi;signed_efuse1.ccert"
//BBRAM AES 루트 키의 경우 quartus_pgm -c 1 -mjtag -o “pi;signed_bbram1.ccert”
SDM 프로비저닝 펌웨어와 메인 펌웨어는 AES 루트 키 인증서 프로그래밍을 지원합니다. 또한 FPGA 패브릭 또는 HPS의 SDM 메일박스 인터페이스를 사용하여 AES 루트 키 인증서를 프로그래밍할 수도 있습니다.
메모:
quartus_pgm 명령은 컴팩트 인증서(.ccert)에 대해 옵션 b 및 v를 지원하지 않습니다.
4.9.2. Intrinsic ID® PUF AES 루트 키 프로비저닝
고유* ID PUF 래핑 AES 키 구현에는 다음 단계가 포함됩니다. 1. J를 통해 고유 ID PUF 등록TAG. 2. AES 루트 키를 래핑합니다. 3. 도우미 데이터와 래핑된 키를 쿼드 SPI 플래시 메모리로 프로그래밍합니다. 4. 고유 ID PUF 활성화 상태를 쿼리합니다.
Intrinsic ID 기술을 사용하려면 Intrinsic ID와 별도의 라이선스 계약이 필요합니다. Intel Quartus Prime Pro Edition 소프트웨어는 QSPI 플래시에 대한 등록, 키 래핑 및 PUF 데이터 프로그래밍과 같은 적절한 라이센스 없이 PUF 작업을 제한합니다.
4.9.2.1. 고유 ID PUF 등록
PUF를 등록하려면 SDM 프로비저닝 펌웨어를 사용해야 합니다. 프로비저닝 펌웨어는 전원을 껐다 켠 후 로드되는 첫 번째 펌웨어여야 하며, 다른 명령을 실행하기 전에 PUF 등록 명령을 실행해야 합니다. 프로비저닝 펌웨어는 AES 루트 키 래핑 및 쿼드 SPI 프로그래밍을 포함하여 PUF 등록 후 다른 명령을 지원합니다. 그러나 구성 비트스트림을 로드하려면 장치의 전원을 껐다가 켜야 합니다.
Intel Quartus Prime Programmer를 사용하여 PUF 등록을 트리거하고 PUF 도우미 데이터 .puf를 생성합니다. file.
Intel Agilex® 7 장치 보안 사용자 가이드 34
피드백 보내기
4. 장치 프로비저닝 683823 | 2023.05.23
그림 7.
고유 ID PUF 등록
quartus_pgm PUF 등록
등록 PUF 도우미 데이터
보안 장치 관리자(SDM)
Wrapper.puf 도우미 데이터
프로그래머는 i 작업과 .puf 인수를 모두 지정하면 프로비저닝 펌웨어 도우미 이미지를 자동으로 로드합니다.
quartus_pgm -c 1 -mjtag -o "ei;help_data.puf;AGFB014R24A"
공동 서명된 펌웨어를 사용하는 경우 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"
UDS IID PUF는 장치 제조 중에 등록되며 재등록할 수 없습니다. 대신 프로그래머를 사용하여 IPCS에서 UDS PUF 도우미 데이터의 위치를 확인하고 .puf를 다운로드합니다. file 직접 선택한 다음 UDS .puf를 사용하세요. file .puf와 같은 방식으로 file Intel Agilex 7 장치에서 추출되었습니다.
다음 프로그래머 명령을 사용하여 텍스트를 생성하십시오. file 목록을 포함 URL특정 장치를 가리키고 있습니다. fileIPCS의 경우:
quartus_pgm -c 1 -mjtag -o “e;ipcs_urls.txt;AGFB014R24B” –ipcs_urls
4.9.2.2. AES 루트 키 래핑
IID PUF 래핑 AES 루트 키 .wkey를 생성합니다. file 서명된 인증서를 SDM으로 전송합니다.
Intel Quartus Prime Programmer를 사용하여 인증서를 자동으로 생성, 서명 및 전송하여 AES 루트 키를 래핑하거나 Intel Quartus Prime 프로그래밍을 사용할 수 있습니다. File 서명되지 않은 인증서를 생성하는 생성기입니다. 자체 도구나 Quartus 서명 도구를 사용하여 서명되지 않은 인증서에 서명합니다. 그런 다음 프로그래머를 사용하여 서명된 인증서를 보내고 AES 루트 키를 래핑합니다. 서명된 인증서는 서명 체인을 검증할 수 있는 모든 장치를 프로그래밍하는 데 사용될 수 있습니다.
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 35
4. 장치 프로비저닝 683823 | 2023.05.23
그림 8.
Intel Quartus Prime 프로그래머를 사용하여 AES 키 래핑
.pem 비공개
열쇠
.qky
quartus_pgm
AES 키 래핑
AES.QSKigYnature RootCPhuabilnic 키
PUF 래핑 키 생성
래핑된 AES 키
SDM
.qek 암호화
열쇠
.wkey PUF로 포장됨
AES 키
1. 다음 인수를 사용하여 프로그래머로 IID PUF 래핑된 AES 루트 키(.wkey)를 생성할 수 있습니다.
· .qky file AES 루트 키 인증서 권한이 있는 서명 체인이 포함되어 있습니다.
· 개인 .pem file 서명 체인의 마지막 키에 대해
· .qek file AES 루트 키를 들고
· 16바이트 초기화 벡터(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. 또는 프로그래밍을 사용하여 AES 루트 키 인증서를 래핑하는 서명되지 않은 IID PUF를 생성할 수 있습니다. File 다음 인수를 사용하는 생성기:
quartus_pfg –ccert -o ccert_type=IID_PUF_WRAPPED_AES_KEY -o qek_file=aes.qek –iv=1234567890ABCDEF1234567890ABCDEF unsigned_aes.ccert
3. 다음 명령을 사용하여 자체 서명 도구 또는 quartus_sign 도구를 사용하여 서명되지 않은 인증서에 서명합니다.
quartus_sign –family=agilex –작업=sign –qky=aes0_sign_chain.qky –pem=aes0_sign_private.pem unsigned_aes.cccert signed_aes.ccert
4. 그런 다음 프로그래머를 사용하여 서명된 AES 인증서를 보내고 래핑된 키(.wkey)를 반환합니다. file:
quarts_pgm -c 1 -mjtag -cccert_file=signed_aes.ccert -o “ei;aes.wkey;AGFB014R24A”
참고: 이전에 프로비저닝 펌웨어 도우미 이미지를 로드한 경우 i 작업이 필요하지 않습니다.ample, PUF를 등록합니다.
4.9.2.3. 프로그래밍 도우미 데이터 및 QSPI 플래시 메모리에 대한 래핑된 키
Quartus 프로그래밍을 사용합니다. File PUF 파티션이 포함된 초기 QSPI 플래시 이미지를 구축하기 위한 생성기 그래픽 인터페이스입니다. QSPI 플래시에 PUF 파티션을 추가하려면 전체 플래시 프로그래밍 이미지를 생성하고 프로그래밍해야 합니다. PUF의 창조
Intel Agilex® 7 장치 보안 사용자 가이드 36
피드백 보내기
4. 장치 프로비저닝 683823 | 2023.05.23
그림 9.
데이터 파티션 및 PUF 도우미 데이터 및 래핑된 키 사용 file플래시 이미지 생성을 위한 s는 프로그래밍을 통해 지원되지 않습니다. File 생성기 명령줄 인터페이스.
다음 단계에서는 PUF 도우미 데이터 및 래핑된 키를 사용하여 플래시 프로그래밍 이미지를 구축하는 방법을 보여줍니다.
1. 에 File 메뉴에서 프로그래밍을 클릭하세요. File 발전기. 출력에서 File탭에서 다음을 선택합니다.
ㅏ. 장치 제품군으로 Agilex 7을 선택합니다.
비. 구성 모드의 경우 활성 직렬 x4를 선택합니다.
씨. 출력 디렉터리의 경우 출력을 찾습니다. file 예배 규칙서. 이 전ample는 출력을 사용합니다_files.
디. 이름에 프로그래밍 이름을 지정합니다. file 생성됩니다. 이 전ample는 출력을 사용합니다_file.
이자형. 설명에서 프로그래밍을 선택합니다. file생성하는 것입니다. 이 전ample는 J를 생성한다TAG 간접 구성 File (.jic) 장치 구성 및 원시 바이너리용 File 장치 도우미 이미지에 대한 프로그래밍 도우미 이미지(.rbf)입니다. 이 전ample는 또한 선택적 메모리 맵을 선택합니다. File (.map) 및 원시 프로그래밍 데이터 File (.rpd). 원시 프로그래밍 데이터 file 나중에 타사 프로그래머를 사용할 계획인 경우에만 필요합니다.
프로그램 작성 File 발전기 - 출력 Files 탭 – J 선택TAG 간접 구성
장치 제품군 구성 모드
산출 file 꼬리표
출력 디렉토리
JTAG 간접(.jic) 메모리 맵 File 프로그래밍 도우미 원시 프로그래밍 데이터
입력 시 Files 탭에서 다음을 선택합니다. 1. Add Bitstream을 클릭하고 .sof를 찾습니다. 2. .sof를 선택하세요. file 속성을 클릭합니다.
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 37
4. 장치 프로비저닝 683823 | 2023.05.23
ㅏ. 서명 도구 활성화를 켭니다. 비. 개인 키의 경우 file .pem을 선택하세요 file. 씨. 암호화 마무리를 켭니다. 디. 암호화 키의 경우 file .qek을 선택하세요 file. 이자형. 이전 창으로 돌아가려면 확인을 클릭하세요. 3. PUF 도우미 데이터를 지정하려면 file에서 원시 데이터 추가를 클릭합니다. 변경 FileQuartus Physical Unclonable Function에 대한 유형의 드롭다운 메뉴 File (*.puf). .puf를 찾아보세요. file. IID PUF와 UDS IID PUF를 모두 사용하는 경우 .puf가 생성되도록 이 단계를 반복합니다. file각 PUF에 대한 s가 입력으로 추가됩니다. file에스. 4. 래핑된 AES 키를 지정하려면 file에서 원시 데이터 추가를 클릭합니다. 변경 FileQuartus Wrapped Key 유형의 드롭다운 메뉴 File (*.wkey). .wkey를 찾아보세요. file. IID PUF와 UDS IID PUF를 모두 사용하여 AES 키를 래핑한 경우 이 단계를 반복하여 .wkey file각 PUF에 대한 s가 입력으로 추가됩니다. files.
그림 10. 입력 지정 File구성, 인증 및 암호화를 위한 s
비트스트림 추가 원시 데이터 추가
속성
개인 키 file
암호화 완료 암호화 키
구성 장치 탭에서 다음을 선택합니다. 1. 장치 추가를 클릭하고 사용 가능한 플래시 목록에서 플래시 장치를 선택합니다.
장치. 2. 방금 추가한 구성 장치를 선택하고 파티션 추가를 클릭합니다. 3. 입력 파티션 편집 대화 상자에서 file 다음에서 .sof를 선택하세요.
드롭 다운 목록. 파티션 편집 대화 상자에서 기본값을 유지하거나 다른 매개변수를 편집할 수 있습니다.
Intel Agilex® 7 장치 보안 사용자 가이드 38
피드백 보내기
4. 장치 프로비저닝 683823 | 2023.05.23
그림 11. .sof 구성 비트스트림 파티션 지정
구성 장치
파티션 편집 .sof 추가 file
파티션 추가
4. .puf 및 .wkey를 입력으로 추가하는 경우 files, 프로그래밍 File Generator는 구성 장치에 PUF 파티션을 자동으로 생성합니다. .puf 및 .wkey를 PUF 파티션에 저장하려면 PUF 파티션을 선택하고 편집을 클릭합니다. 파티션 편집 대화 상자에서 .puf 및 .wkey를 선택하십시오. file드롭다운 목록에서 s를 선택하세요. PUF 파티션을 제거하는 경우 프로그래밍용 구성 장치를 제거하고 다시 추가해야 합니다. File 다른 PUF 파티션을 생성하는 생성기입니다. 올바른 .puf 및 .wkey를 선택했는지 확인해야 합니다. file IID PUF 및 UDS IID PUF에 대해 각각.
그림 12. .puf 및 .wkey 추가 filePUF 파티션으로
PUF 파티션
편집하다
파티션 편집
플래시 로더
생성을 선택하세요
5. Flash Loader 매개변수의 경우 Intel Agilex 7 OPN과 일치하는 Intel Agilex 7 장치 제품군 및 장치 이름을 선택합니다.
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 39
4. 장치 프로비저닝 683823 | 2023.05.23
6. 생성을 클릭하여 출력을 생성합니다. file출력에 지정한 것 File탭.
7. 프로그래밍 File 생성기가 .qek을 읽습니다. file 그리고 암호를 묻는 메시지가 나타납니다. Enter QEK passphrase 프롬프트에 대한 응답으로 암호를 입력합니다. Enter 키를 클릭합니다.
8. 프로그래밍이 완료되면 확인을 클릭하세요. File 생성기가 성공적인 생성을 보고합니다.
Intel Quartus Prime Programmer를 사용하여 QSPI 프로그래밍 이미지를 QSPI 플래시 메모리에 씁니다. 1. Intel Quartus Prime Tools 메뉴에서 프로그래머를 선택합니다. 2. 프로그래머에서 하드웨어 설정을 클릭한 다음 연결된 Intel을 선택합니다.
FPGA 다운로드 케이블. 3. 추가를 클릭하세요 File .jic을 찾아보세요. file.
그림 13. 프로그램 .jic
프로그램 작성 file
프로그램/구성
JTAG 스캔 체인
4. 도우미 이미지와 연결된 상자를 선택 취소합니다. 5. .jic 출력에 대해 프로그램/구성을 선택합니다. file. 6. 시작 버튼을 켜서 쿼드 SPI 플래시 메모리를 프로그래밍하세요. 7. 보드의 전원을 껐다 켜십시오. 쿼드 SPI 플래시 메모리에 프로그래밍된 설계
이후 장치는 대상 FPGA에 로드됩니다.
쿼드 SPI 플래시에 PUF 파티션을 추가하려면 전체 플래시 프로그래밍 이미지를 생성하고 프로그래밍해야 합니다.
플래시에 PUF 파티션이 이미 존재하는 경우 Intel Quartus Prime Programmer를 사용하여 PUF 도우미 데이터 및 래핑된 키에 직접 액세스할 수 있습니다. files. 예를 들어amp파일, 활성화에 실패하면 PUF를 다시 등록하고 AES 키를 다시 래핑한 후 PUF만 프로그래밍할 수 있습니다. file전체 플래시를 덮어쓰지 않고도 가능합니다.
Intel Agilex® 7 장치 보안 사용자 가이드 40
피드백 보내기
4. 장치 프로비저닝 683823 | 2023.05.23
Intel Quartus Prime Programmer는 PUF에 대해 다음 작업 인수를 지원합니다. file기존 PUF 파티션에 있는 경우:
· p: 프로그램
· v: 확인하다
· r: 지우다
· b: 백지 수표
PUF 파티션이 존재하는 경우에도 PUF 등록에 대해 동일한 제한 사항을 따라야 합니다.
1. i 작업 인수를 사용하여 첫 번째 작업에 대한 프로비저닝 펌웨어 도우미 이미지를 로드합니다. 예를 들어amp파일에서 다음 명령 시퀀스는 PUF를 다시 등록하고, AES 루트 키를 다시 래핑하고, 이전 PUF 도우미 데이터와 래핑된 키를 지운 다음, 새 PUF 도우미 데이터와 AES 루트 키를 프로그래밍하고 확인합니다.
quartus_pgm -c 1 -mjtag -o "ei;new.puf;AGFB014R24A" quartus_pgm -c 1 -mjtag -cccert_file=signed_aes.ccert -o “e;new.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;new.puf” quartus_pgm -c 1 -mjtag -o “p;new.wkey” quartus_pgm -c 1 -mjtag -o “v;new.puf” quartus_pgm -c 1 -mjtag -o “v;new.wkey”
4.9.2.4. 고유 ID PUF 활성화 상태 쿼리
고유 ID PUF를 등록한 후 AES 키를 래핑하고 플래시 프로그래밍을 생성합니다. files, 쿼드 SPI 플래시를 업데이트하고 장치의 전원을 껐다가 켜서 암호화된 비트스트림에서 PUF 활성화 및 구성을 트리거합니다. SDM은 구성 상태와 함께 PUF 활성화 상태를 보고합니다. PUF 활성화가 실패하면 SDM은 대신 PUF 오류 상태를 보고합니다. quartus_pgm 명령을 사용하여 구성 상태를 쿼리합니다.
1. 다음 명령을 사용하여 활성화 상태를 쿼리합니다.
quartus_pgm -c 1 -mjtag –상태 –상태_유형=”CONFIG”
여기는 samp성공적인 활성화의 파일 출력:
정보(21597): CONFIG_STATUS 장치가 사용자 모드에서 실행 중입니다. 00006000 RESPONSE_CODE=OK, LENGTH=6 00000000 STATE=IDLE 00160300 버전 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 오류 위치 00000000 오류 세부 정보 PUF_STATUS의 응답 00002000 RESPONSE_CODE=OK, LENGTH=2 00000500 USER_IID STATUS =PUF_ACTIVATION_SUCCESS,
RELIABILITY_DIAGNOSTIC_SCORE=5, TEST_MODE=0 00000500 UDS_IID 상태=PUF_ACTIVATION_SUCCESS,
RELIABILITY_DIAGNOSTIC_SCORE=5, TEST_MODE=0
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 41
4. 장치 프로비저닝 683823 | 2023.05.23
IID PUF 또는 UDS IID PUF 중 하나만 사용하고 도우미 데이터 .puf를 프로그래밍하지 않은 경우 file QSPI 플래시의 PUF 중 하나에 대해 해당 PUF는 활성화되지 않으며 PUF 상태는 PUF 도우미 데이터가 유효하지 않음을 반영합니다. 다음 예amp파일은 PUF 도우미 데이터가 PUF에 대해 프로그래밍되지 않은 경우 PUF 상태를 보여줍니다.
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 상태=PUF_DATA_CORRUPTED,
RELIABILITY_DIAGNOSTIC_SCORE=0, TEST_MODE=0
4.9.2.5. 플래시 메모리의 PUF 위치
PUF의 위치 file RSU를 지원하는 디자인과 RSU 기능을 지원하지 않는 디자인의 경우는 다릅니다.
RSU를 지원하지 않는 디자인의 경우 .puf 및 .wkey를 포함해야 합니다. files 업데이트된 플래시 이미지를 생성할 때. RSU를 지원하는 설계의 경우 SDM은 공장 또는 애플리케이션 이미지 업데이트 중에 PUF 데이터 섹션을 덮어쓰지 않습니다.
표 2.
RSU를 지원하지 않는 플래시 하위 파티션 레이아웃
플래시 오프셋(바이트)
크기(바이트)
내용물
설명
0K 256K
256K 256K
구성 관리 펌웨어 구성 관리 펌웨어
SDM에서 실행되는 펌웨어.
512K
256K
구성 관리 펌웨어
768K
256K
구성 관리 펌웨어
1M
32K
PUF 데이터 복사 0
PUF 도우미 데이터 및 PUF 래핑된 AES 루트 키 복사본을 저장하기 위한 데이터 구조 0
1M+32K
32K
PUF 데이터 복사 1
PUF 도우미 데이터 및 PUF 래핑된 AES 루트 키 복사본을 저장하기 위한 데이터 구조 1
표 3.
RSU를 지원하는 플래시 하위 파티션 레이아웃
플래시 오프셋(바이트)
크기(바이트)
내용물
설명
0K 512K
512K 512K
결정 펌웨어 결정 펌웨어
우선순위가 가장 높은 이미지를 식별하고 로드하는 펌웨어입니다.
1 만 1.5 만
512K 512K
결정 펌웨어 결정 펌웨어
2M
8K + 24K
결정 펌웨어 데이터
심
Decision 펌웨어 사용을 위해 예약되어 있습니다.
2M + 32K
32K
SDM용으로 예약됨
SDM용으로 예약되어 있습니다.
2M + 64K
변하기 쉬운
공장 이미지
다른 모든 애플리케이션 이미지가 로드되지 않는 경우 백업으로 생성하는 간단한 이미지입니다. 이 이미지에는 SDM에서 실행되는 CMF가 포함되어 있습니다.
다음
32K
PUF 데이터 복사 0
PUF 도우미 데이터 및 PUF 래핑된 AES 루트 키 복사본을 저장하기 위한 데이터 구조 0
계속되는…
Intel Agilex® 7 장치 보안 사용자 가이드 42
피드백 보내기
4. 장치 프로비저닝 683823 | 2023.05.23
플래시 오프셋(바이트)
크기(바이트)
다음 +32K 32K
목차 PUF 데이터 복사 1
다음 + 256K 4K 다음 +32K 4K 다음 +32K 4K
하위 파티션 테이블 복사 0 하위 파티션 테이블 복사 1 CMF 포인터 블록 복사 0
다음 +32K _
CMF 포인터 블록 복사 1
변수 변수
변수 변수
애플리케이션 이미지 1 애플리케이션 이미지 2
4.9.3. 블랙 키 프로비저닝
설명
PUF 도우미 데이터 및 PUF 래핑된 AES 루트 키 복사본을 저장하기 위한 데이터 구조 1
플래시 스토리지 관리를 용이하게 하기 위한 데이터 구조입니다.
우선순위에 따른 애플리케이션 이미지에 대한 포인터 목록입니다. 이미지를 추가하면 해당 이미지가 가장 높아집니다.
애플리케이션 이미지에 대한 포인터 목록의 두 번째 복사본입니다.
첫 번째 애플리케이션 이미지.
두 번째 애플리케이션 이미지.
메모:
Intel Quartus PrimeProgrammer는 Intel Agilex 7 장치와 블랙 키 프로비저닝 서비스 간에 상호 인증된 보안 연결을 설정하는 데 도움을 줍니다. 보안 연결은 https를 통해 설정되며 텍스트를 사용하여 식별되는 여러 인증서가 필요합니다. file.
블랙 키 프로비저닝을 사용할 때 인텔에서는 J용으로 사용하는 동안 저항을 풀업 또는 풀다운하기 위해 TCK 핀을 외부에 연결하지 않을 것을 권장합니다.TAG. 그러나 10k 저항을 사용하여 TCK 핀을 VCCIO SDM 전원 공급 장치에 연결할 수 있습니다. TCK를 1k 풀다운 저항에 연결하는 핀 연결 지침의 기존 지침은 잡음 억제를 위해 포함되었습니다. 10k 풀업 저항으로의 지침 변경은 장치 기능에 영향을 미치지 않습니다. TCK 핀 연결에 대한 자세한 내용은 Intel Agilex 7 핀 연결 지침을 참조하세요.
bkp_tls_ca_certcertificate는 블랙 키 프로비저닝 서비스 인스턴스를 블랙 키 프로비저닝 프로그래머 인스턴스에 인증합니다. Thebkp_tls_*인증서는 블랙 키 프로비저닝 프로그래머 인스턴스를 블랙 키 프로비저닝 서비스 인스턴스에 인증합니다.
당신은 텍스트를 만듭니다 file Intel Quartus Prime Programmer가 블랙 키 프로비저닝 서비스에 연결하는 데 필요한 정보가 포함되어 있습니다. 블랙 키 프로비저닝을 시작하려면 프로그래머 명령줄 인터페이스를 사용하여 블랙 키 프로비저닝 옵션 텍스트를 지정하세요. file. 그러면 블랙 키 프로비저닝이 자동으로 진행됩니다. 블랙 키 프로비저닝 서비스 및 관련 문서에 액세스하려면 인텔 지원팀에 문의하십시오.
quartus_pgm 명령을 사용하여 블랙 키 프로비저닝을 활성화할 수 있습니다.
quartus_pgm -c -중 -장치 –bkp_options=bkp_options.txt
명령 인수는 다음 정보를 지정합니다.
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 43
4. 장치 프로비저닝 683823 | 2023.05.23
· -c: 케이블 번호 · -m: J와 같은 프로그래밍 모드를 지정합니다.TAG · –device: J의 장치 인덱스를 지정합니다.TAG 체인. 기본값은 1입니다. · –bkp_options: 텍스트를 지정합니다. file 블랙 키 프로비저닝 옵션이 포함되어 있습니다.
관련 정보 Intel Agilex 7 장치 제품군 핀 연결 지침
4.9.3.1. 블랙 키 프로비저닝 옵션
검은색 키 프로비저닝 옵션은 텍스트입니다. file quartus_pgm 명령을 통해 프로그래머에게 전달됩니다. 그만큼 file 블랙 키 프로비저닝을 트리거하는 데 필요한 정보가 포함되어 있습니다.
다음은 예입니다ampbkp_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:XNUMX bkp_proxy_user = 프록시_사용자 bkp_proxy_password = 프록시_비밀번호
표 4.
블랙 키 프로비저닝 옵션
이 표에는 블랙 키 프로비저닝을 트리거하는 데 필요한 옵션이 표시됩니다.
옵션 이름
유형
설명
bkp_ip
필수의
블랙 키 프로비저닝 서비스를 실행하는 서버 IP 주소를 지정합니다.
bkp_port
필수의
서버에 연결하는 데 필요한 블랙 키 프로비저닝 서비스 포트를 지정합니다.
bkp_cfg_id
필수의
블랙 키 프로비저닝 구성 흐름 ID를 식별합니다.
블랙 키 프로비저닝 서비스는 AES 루트 키, 원하는 eFuse 설정 및 기타 블랙 키 프로비저닝 인증 옵션을 포함하는 블랙 키 프로비저닝 구성 흐름을 생성합니다. 블랙 키 프로비저닝 서비스 설정 중에 할당된 번호는 블랙 키 프로비저닝 구성 흐름을 식별합니다.
참고: 여러 장치가 동일한 블랙 키 프로비저닝 서비스 구성 흐름을 참조할 수 있습니다.
bkp_tls_ca_cert
필수의
Intel Quartus Prime Programmer(프로그래머)에 대한 블랙 키 프로비저닝 서비스를 식별하는 데 사용되는 루트 TLS 인증서입니다. 블랙 키 프로비저닝 서비스 인스턴스에 대해 신뢰할 수 있는 인증 기관이 이 인증서를 발급합니다.
Microsoft® Windows® 운영 체제(Windows)가 설치된 컴퓨터에서 프로그래머를 실행하는 경우 Windows 인증서 저장소에 이 인증서를 설치해야 합니다.
bkp_tls_prog_cert
필수의
블랙키 프로비저닝 프로그래머(BKP Programmer)의 인스턴스용으로 생성된 인증서입니다. 이 BKP 프로그래머 인스턴스를 식별하는 데 사용되는 https 클라이언트 인증서입니다.
계속되는…
Intel Agilex® 7 장치 보안 사용자 가이드 44
피드백 보내기
4. 장치 프로비저닝 683823 | 2023.05.23
옵션 이름
유형
bkp_tls_prog_key
필수의
bkp_tls_prog_key_pass 선택사항
bkp_proxy_address bkp_proxy_user bkp_proxy_password
선택적 선택적 선택적
설명
블랙 키 프로비저닝 서비스로 이동합니다. 블랙 키 프로비저닝 세션을 시작하기 전에 블랙 키 프로비저닝 서비스에서 이 인증서를 설치하고 인증해야 합니다. Windows에서 프로그래머를 실행하는 경우 이 옵션을 사용할 수 없습니다. 이 경우 bkp_tls_prog_key에는 이미 이 인증서가 포함되어 있습니다.
BKP 프로그래머 인증서에 해당하는 개인 키입니다. 키는 블랙 키 프로비저닝 서비스에 대한 BKP 프로그래머 인스턴스의 ID를 검증합니다. Windows에서 프로그래머를 실행하는 경우 .pfx file bkp_tls_prog_cert 인증서와 개인 키를 결합합니다. bkp_tlx_prog_key 옵션은 .pfx를 전달합니다. file bkp_options.txt에서 file.
bkp_tls_prog_key 개인 키의 비밀번호입니다. 블랙 키 프로비저닝 구성 옵션(bkp_options.txt) 텍스트에는 필요하지 않습니다. file.
프록시 서버를 지정합니다 URL 주소.
프록시 서버 사용자 이름을 지정합니다.
프록시 인증 비밀번호를 지정합니다.
4.10. 소유자 루트 키, AES 루트 키 인증서 및 퓨즈 변환 fileJam STAPL에 전화하세요 File 형식
quartus_pfg 명령줄 명령을 사용하여 .qky, AES 루트 키 .ccert 및 .fuse를 변환할 수 있습니다. files를 Jam STAPL 형식으로 변환 File (.jam) 및 Jam 바이트 코드 형식 File (.jbc). 당신은 이것을 사용할 수 있습니다 fileJam STAPL 플레이어와 Jam STAPL 바이트 코드 플레이어를 각각 사용하여 Intel FPGA를 프로그래밍합니다.
단일 .jam 또는 .jbc에는 펌웨어 도우미 이미지 구성 및 프로그램, 백지 확인, 키 및 퓨즈 프로그래밍 확인 등 여러 기능이 포함되어 있습니다.
주의:
AES 루트 키 .ccert를 변환하는 경우 file .jam 형식으로, .jam file 일반 텍스트이지만 난독화된 형식의 AES 키를 포함합니다. 따라서 .jam을 보호해야 합니다. file AES 키를 저장할 때. 보안 환경에서 AES 키를 프로비저닝하면 됩니다.
여기 전ampquartus_pfg 변환 명령 파일:
quartus_pfg -c -o helper_device=AGFB014R24A "root0.qky;root1.qky;root2.qky" RootKey.jam quartus_pfg -c -o helper_device=AGFB014R24A "root0.qky;root1.qky;root2.qky" RootKey.jbc quartus_pfg - c -o helper_device=AGFB014R24A aes.ccert aes_ccert.jam quartus_pfg -c -o helper_device=AGFB014R24A aes.cccert aes_ccert.jbc quartus_pfg -c -o helper_device=AGFB014R24A settings.fuse settings_fuse.jam quartus_pfg -c -o helper_device=A GFB014R24A 설정. 퓨즈 설정_fuse.jbc
장치 프로그래밍을 위한 Jam STAPL 플레이어 사용에 대한 자세한 내용은 AN 425: 장치 프로그래밍을 위한 명령줄 Jam STAPL 솔루션 사용을 참조하십시오.
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 45
4. 장치 프로비저닝 683823 | 2023.05.23
다음 명령을 실행하여 소유자 루트 공개 키와 AES 암호화 키를 프로그래밍합니다.
//헬퍼 비트스트림을 FPGA에 로드합니다. // 도우미 비트스트림에는 프로비저닝 펌웨어가 포함됩니다. quartus_jli -c 1 -a CONFIGURE RootKey.jam
//소유자 루트 공개 키를 가상 eFuse에 프로그래밍하려면 quartus_jli -c 1 -a PUBKEY_PROGRAM RootKey.jam
//소유자 루트 공개 키를 물리적 eFuse에 프로그래밍하려면 quartus_jli -c 1 -a PUBKEY_PROGRAM -e DO_UNI_ACT_DO_EFUSES_FLAG RootKey.jam
//PR 소유자 루트 공개 키를 가상 eFuse에 프로그래밍하려면 quartus_jli -c 1 -a PUBKEY_PROGRAM -e DO_UNI_ACT_DO_PR_PUBKEY_FLAG pr_rootkey.jam
//PR 소유자 루트 공개 키를 물리적 eFuse에 프로그래밍하려면 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
//AES 암호화 키 CCERT를 BBRAM에 프로그래밍하려면 quartus_jli -c 1 -a CCERT_PROGRAM EncKeyBBRAM.jam
//AES 암호화 키 CCERT를 물리적 eFuse에 프로그래밍하려면 quartus_jli -c 1 -a CCERT_PROGRAM -e DO_UNI_ACT_DO_EFUSES_FLAG EncKeyEFuse.jam
관련 정보 AN 425: 장치 프로그래밍을 위한 명령줄 Jam STAPL 솔루션 사용
Intel Agilex® 7 장치 보안 사용자 가이드 46
피드백 보내기
683823 | 2023.05.23 피드백 보내기
고급 기능
5.1. 보안 디버그 인증
보안 디버그 인증을 활성화하려면 디버그 소유자가 인증 키 쌍을 생성하고 Intel Quartus Prime Pro 프로그래머를 사용하여 장치 정보를 생성해야 합니다. file 디버그 이미지를 실행하는 장치의 경우:
quartus_pgm -c 1 -mjtag -o “ei;device_info.txt;AGFB014R24A” –dev_info
장치 소유자는 quartus_sign 도구 또는 참조 구현을 사용하여 디버그 소유자의 공개 키, 필요한 인증, 장치 정보 텍스트를 사용하여 디버그 작업을 위한 서명 체인에 조건부 공개 키 항목을 추가합니다. file및 적용 가능한 추가 제한사항:
quartus_sign –family=agilex –작업=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
장치 소유자는 전체 서명 체인을 디버그 소유자에게 다시 보냅니다. 디버그 소유자는 서명 체인과 개인 키를 사용하여 디버그 이미지에 서명합니다.
quartus_sign –family=agilex –작업=sign –qky=secure_debug_auth_chain.qky –pem=debug_authorization_private_key.pem unsigned_debug_design.rbfauthorized_debug_design.rbf
다음과 같이 quartus_pfg 명령을 사용하여 이 서명된 보안 디버그 비트스트림의 각 섹션의 서명 체인을 검사할 수 있습니다.
quartus_pfg –check_integrityauthorized_debug_design.rbf
이 명령의 출력은 서명된 비트스트림을 생성하는 데 사용된 조건부 공개 키의 제한 값 1,2,17,18을 인쇄합니다.
그런 다음 디버그 소유자는 안전하게 승인된 디버그 설계를 프로그래밍할 수 있습니다.
quartus_pgm -c 1 -mjtag -o "p;authorized_debug_design.rbf"
기기 소유자는 보안 디버그 인증 서명 체인에 할당된 명시적 키 취소 ID를 취소하여 보안 디버그 인증을 취소할 수 있습니다.
5.2. HPS 디버그 인증서
J를 통해 HPS 디버그 액세스 포트(DAP)에 대한 승인된 액세스만 활성화TAG 인터페이스에는 여러 단계가 필요합니다.
인텔사. 판권 소유. 인텔, 인텔 로고 및 기타 인텔 마크는 인텔사 또는 그 자회사의 상표입니다. 인텔은 인텔의 표준 보증에 따라 FPGA 및 반도체 제품의 성능을 최신 사양으로 보증하지만 사전 통지 없이 언제든지 제품 및 서비스를 변경할 수 있는 권리를 보유합니다. 인텔은 인텔이 서면으로 명시적으로 동의한 경우를 제외하고 여기에 설명된 정보, 제품 또는 서비스의 적용 또는 사용으로 인해 발생하는 어떠한 책임도 지지 않습니다. 인텔 고객은 게시된 정보에 의존하고 제품이나 서비스를 주문하기 전에 최신 버전의 장치 사양을 얻는 것이 좋습니다. *다른 이름과 브랜드는 다른 사람의 자산일 수 있습니다.
ISO 9001 : 2015 등록
5. 고급 기능 683823 | 2023.05.23
1. Intel Quartus Prime 소프트웨어 할당 메뉴를 클릭하고 장치 장치 및 핀 옵션 구성 탭을 선택합니다.
2. 구성 탭의 드롭다운 메뉴에서 HPS 핀 또는 SDM 핀을 선택하고 인증서 없이 HPS 디버그 허용 확인란이 선택되어 있지 않은지 확인하여 HPS 디버그 액세스 포트(DAP)를 활성화합니다.
그림 14. HPS DAP에 대해 HPS 또는 SDM 핀 지정
HPS 디버그 액세스 포트(DAP)
또는 Quartus Prime 설정 .qsf에서 아래 할당을 설정할 수도 있습니다. file:
set_global_locationment -name HPS_DAP_SPLIT_MODE “SDM PINS”
3. 이러한 설정으로 디자인을 컴파일하고 로드합니다. 4. HPS 디버그에 서명하기 위한 적절한 권한이 있는 서명 체인을 생성합니다.
증명서:
quartus_sign –family=agilex –작업=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. 디버그 디자인이 로드된 장치에서 서명되지 않은 HPS 디버그 인증서를 요청합니다.
quartus_pgm -c 1 -mjtag -o "e;unsigned_hps_debug.cert;AGFB014R24A"
6. quartus_sign 도구 또는 참조 구현과 HPS 디버그 서명 체인을 사용하여 서명되지 않은 HPS 디버그 인증서에 서명합니다.
quartus_sign –family=agilex –작업=sign –qky=hps_debug_cert_sign_chain.qky –pem=hps_debug_cert_private_key.pem unsigned_hps_debug.cert signed_hps_debug.cert
Intel Agilex® 7 장치 보안 사용자 가이드 48
피드백 보내기
5. 고급 기능 683823 | 2023.05.23
7. HPS 디버그 액세스 포트(DAP)에 대한 액세스를 활성화하려면 서명된 HPS 디버그 인증서를 장치로 다시 보냅니다.
quartus_pgm -c 1 -mjtag -o "p;signed_hps_debug.cert"
HPS 디버그 인증서는 생성된 시점부터 장치의 다음 전원 주기까지 또는 다른 유형이나 버전의 SDM 펌웨어가 로드될 때까지만 유효합니다. 장치의 전원을 껐다 켜기 전에 서명된 HPS 디버그 인증서를 생성, 서명 및 프로그래밍하고 모든 디버그 작업을 수행해야 합니다. 장치의 전원을 껐다 켜면 서명된 HPS 디버그 인증서가 무효화될 수 있습니다.
5.3. 플랫폼 증명
참조 무결성 매니페스트(.rim)를 생성할 수 있습니다. file 프로그래밍을 사용하여 file 생성기 도구:
quartus_pfg -c signed_encrypted_top.rbf top_rim.rim
설계에서 플랫폼 증명을 확인하려면 다음 단계를 따르십시오. 1. Intel Quartus Prime Pro 프로그래머를 사용하여 다음과 같이 장치를 구성합니다.
참조 무결성 매니페스트를 만든 디자인입니다. 2. 플랫폼 증명 확인 프로그램을 사용하여 명령을 실행하여 장치를 등록합니다.
다시 로드할 때 장치 ID 인증서와 펌웨어 인증서를 생성하려면 SDM 사서함을 통해 SDM을 사용하세요. 3. Intel Quartus Prime Pro Programmer를 사용하여 장치를 디자인으로 재구성하십시오. 4. 플랫폼 증명 검증자를 사용하여 SDM에 명령을 실행하여 증명 장치 ID, 펌웨어 및 별칭 인증서를 가져옵니다. 5. 증명 검증자를 사용하여 SDM 메일함 명령을 실행하여 증명 증거를 가져오고 검증자는 반환된 증거를 확인합니다.
SDM 메일박스 명령을 사용하여 자체 검증 서비스를 구현하거나 Intel 플랫폼 증명 검증 서비스를 사용할 수 있습니다. 인텔 플랫폼 증명 검증 서비스 소프트웨어, 가용성 및 문서에 대한 자세한 내용은 인텔 지원팀에 문의하십시오.
관련 정보 Intel Agilex 7 장치 제품군 핀 연결 지침
5.4. 물리적 안티-Tamper
물리적 안티 t를 활성화합니다.amp1. 감지된 신호에 대해 원하는 응답을 선택합니다.amp2. 원하는 이벤트를 구성하세요.amper 탐지 방법 및 매개 변수 3. anti-t 포함ampAnti-T 관리에 도움이 되도록 디자인 로직에 IP를 추가하세요.amper
이벤트
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 49
5. 고급 기능 683823 | 2023.05.23
5.4.1. 안티-Tamp어 응답
물리적 안티 T를 활성화합니다.ampAnti-t에서 응답을 선택하면 됩니다.amp응답: 할당 장치 장치 및 핀 옵션의 드롭다운 목록 Security Anti-Tamp어 탭. 기본적으로 안티-Tamp응답이 비활성화되었습니다. 안티-T의 다섯 가지 범주amp응답이 가능합니다. 원하는 응답을 선택하면 하나 이상의 탐지 방법을 활성화하는 옵션이 활성화됩니다.
그림 15. 사용 가능한 Anti-Tamp어 응답 옵션
Quartus Prime 설정 .gsf의 해당 할당 file 다음과 같습니다:
set_global_locationment -name ANTI_TAMPER_RESPONSE "알림 장치 장치 잠금 및 영점화"
Anti-T를 활성화하면amp응답 후에는 사용 가능한 SDM 전용 I/O 핀 2개를 선택하여 출력할 수 있습니다.amp할당 장치 장치 및 핀 옵션 구성 구성 핀 옵션 창을 사용하여 이벤트 감지 및 응답 상태를 확인할 수 있습니다.
Intel Agilex® 7 장치 보안 사용자 가이드 50
피드백 보내기
5. 고급 기능 683823 | 2023.05.23
그림 16. T에 사용 가능한 SDM 전용 I/O 핀amp어 이벤트 감지
설정에서 다음과 같은 핀 할당을 수행할 수도 있습니다. file: 세트_글로벌_할당 - 이름 USE_TAMPER_DETECT SDM_IO15 set_global_locationment -name ANTI_TAMPER_RESPONSE_FAILED SDM_IO16
5.4.2. 안티-Tamp어 감지
주파수, 온도, 볼륨을 개별적으로 활성화할 수 있습니다.tagSDM의 탐지 기능. FPGA 감지는 Anti-T 포함 여부에 따라 달라집니다.amp귀하의 디자인에 Lite Intel FPGA IP를 추가하십시오.
메모:
SDM 주파수 및 볼륨tag에트amp정확한 감지 방법은 장치에 따라 다를 수 있는 내부 참조 및 측정 하드웨어에 따라 달라집니다. 인텔에서는 t의 동작을 특성화할 것을 권장합니다.amp감지 설정이요.
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 51
5. 고급 기능 683823 | 2023.05.23
주파수 tamper 감지는 구성 클럭 소스에서 작동합니다. 주파수 t를 활성화하려면amp감지 후에는 할당 장치 장치 및 핀 옵션 일반 탭의 구성 클록 소스 드롭다운에서 내부 발진기 이외의 옵션을 지정해야 합니다. 주파수 t를 활성화하기 전에 내부 오실레이터에서 구성 CPU 실행 확인란이 활성화되어 있는지 확인해야 합니다.amp어 감지. 그림 17. SDM을 내부 발진기로 설정
주파수 t를 활성화하려면amp감지 후 활성화 주파수 t를 선택합니다.amp감지 확인란을 선택하고 원하는 주파수 t를 선택하세요.amp드롭다운 메뉴에서 감지 범위를 선택하세요. 그림 18. 주파수 T 활성화amp어 감지
Intel Agilex® 7 장치 보안 사용자 가이드 52
피드백 보내기
5. 고급 기능 683823 | 2023.05.23
또는 주파수 T를 활성화할 수도 있습니다.ampQuartus Prime 설정 .qsf를 다음과 같이 변경하여 감지합니다. file:
세트_글로벌_할당 - 이름 AUTO_RESTART_CONFIGURATION OFF 세트_글로벌_할당 - 이름 DEVICE_INITIALIZATION_CLOCK OSC_CLK_1_100MHZ 세트_글로벌_할당 - 이름 RUN_CONFIG_CPU_FROM_INT_OSC ON 세트_글로벌_할당 -이름 ENABLE_FREQUENCY_TAMPER_DETECTION ON set_global_locationment -name FREQUENCY_TAMPER_DETECTION_RANGE 35
온도를 활성화하려면 tamp감지 후 온도 활성화 t를 선택합니다.amp감지 확인란을 선택하고 해당 필드에서 원하는 온도 상한 및 하한을 선택합니다. 상한 및 하한은 기본적으로 설계에서 선택한 장치의 관련 온도 범위로 채워집니다.
볼륨을 활성화하려면tag에트amp감지 후에는 VCCL 볼륨 활성화 중 하나 또는 둘 다를 선택합니다.tag에트amp감지 또는 VCCL_SDM 볼륨 활성화tag에트amp감지 확인란을 선택하고 원하는 볼륨을 선택하세요.tag에트amp어 감지 트리거 비율tage 해당 필드에.
그림 19. 볼륨 활성화tag전자 Tamp어 감지
또는 Vol을 활성화할 수도 있습니다.tag전자 Tamp.qsf에 다음 할당을 지정하여 탐지합니다. file:
세트_글로벌_할당 - 이름 ENABLE_TEMPERATURE_TAMPER_DETECTION ON set_global_locationment -name TEMPERATURE_TAMPER_UPPER_BOUND 100 세트_글로벌_할당 - 이름 ENABLE_VCCL_VOLTAGE_TAMPER_DETECTION ON set_global_locationment -name ENABLE_VCCL_SDM_VOLTAGE_TAMPER_감지 켜짐
5.4.3. 안티-Tamp어 Lite Intel FPGA IP
안티-TampIntel Quartus Prime Pro Edition 소프트웨어의 IP 카탈로그에서 사용할 수 있는 Lite Intel FPGA IP는 설계와 SDM 간의 양방향 통신을 촉진합니다.amp어 이벤트.
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 53
그림 20. 안티-Tamp어 Lite Intel FPGA IP
5. 고급 기능 683823 | 2023.05.23
IP는 필요에 따라 설계에 연결하는 다음 신호를 제공합니다.
표 5.
안티 -TampEr Lite Intel FPGA IP I/O 신호
신호 이름
방향
설명
gpo_sdm_at_event gpi_fpga_at_event
출력 입력
SDM이 감지한 FPGA 패브릭 로직에 대한 SDM 신호amp어 이벤트. FPGA 로직에는 원하는 정리를 수행하고 gpi_fpga_at_response_done 및 gpi_fpga_at_zeroization_done을 통해 SDM에 응답하는 데 약 5ms가 있습니다. SDM은 다음과 같이 진행됩니다.ampgpi_fpga_at_response_done이 선언되거나 할당된 시간 내에 응답이 수신되지 않은 경우 해당 응답 작업을 수행합니다.
귀하가 설계한 SDM에 대한 FPGA 인터럽트amp감지 회로가 다음을 감지했습니다.amp이벤트 및 SDM tamp응답이 트리거되어야 합니다.
gpi_fpga_at_response_done
입력
FPGA 로직이 원하는 정리를 수행한 SDM에 대한 FPGA 인터럽트입니다.
gpi_fpga_at_zeroization_d 하나
입력
FPGA 로직이 원하는 설계 데이터의 제로화를 완료했음을 SDM에 신호로 보냅니다. 이 신호는 sampgpi_fpga_at_response_done이 어설션되면 LED가 됩니다.
5.4.3.1. 출시 정보
IP 버전 지정 체계(XYZ) 번호는 소프트웨어 버전마다 변경됩니다. 변경 사항:
· X는 IP의 주요 개정을 나타냅니다. Intel Quartus Prime 소프트웨어를 업데이트하는 경우 IP를 재생성해야 합니다.
· Y는 IP에 새로운 기능이 포함되어 있음을 나타냅니다. 이러한 새로운 기능을 포함하도록 IP를 재생성하십시오.
· Z는 IP에 사소한 변경이 포함되어 있음을 나타냅니다. 이러한 변경 사항을 포함하려면 IP를 재생성하십시오.
표 6.
안티 -TampEr Lite Intel FPGA IP 릴리스 정보
IP 버전
목
설명 20.1.0
인텔 Quatus 프라임 버전
21.2
출시일
2021.06.21
Intel Agilex® 7 장치 보안 사용자 가이드 54
피드백 보내기
5. 고급 기능 683823 | 2023.05.23
5.5. 원격 시스템 업데이트와 함께 설계 보안 기능 사용
RSU(원격 시스템 업데이트)는 구성 업데이트를 지원하는 Intel Agilex 7 FPGA 기능입니다. file강력한 방식으로요. RSU는 구성 비트스트림의 설계 내용에 의존하지 않기 때문에 인증, 펌웨어 공동 서명, 비트스트림 암호화 등의 설계 보안 기능과 호환됩니다.
.sof를 사용하여 RSU 이미지 구축 Files
로컬에 개인 키를 저장하는 경우 file시스템에서는 .sof의 단순화된 흐름을 사용하여 설계 보안 기능이 포함된 RSU 이미지를 생성할 수 있습니다. files를 입력으로 사용합니다. .sof를 사용하여 RSU 이미지를 생성하려면 file, 원격 시스템 업데이트 이미지 생성 섹션의 지침을 따를 수 있습니다. Files 프로그래밍 사용 File Intel Agilex 7 구성 사용자 가이드 생성기. 모든 .sof에 대해 file 입력에 지정됨 File탭에서 속성… 버튼을 클릭하고 서명 및 암호화 도구에 대한 적절한 설정과 키를 지정합니다. 프로그래밍 file 생성기 도구는 RSU 프로그래밍을 생성하는 동안 공장 및 애플리케이션 이미지를 자동으로 서명하고 암호화합니다. files.
또는 HSM에 개인 키를 저장하는 경우 quartus_sign 도구를 사용해야 하므로 .rbf를 사용해야 합니다. file에스. 이 섹션의 나머지 부분에서는 .rbf를 사용하여 RSU 이미지를 생성하는 흐름의 변경 사항을 자세히 설명합니다. files를 입력으로 사용합니다. .rbf 형식을 암호화하고 서명해야 합니다. file입력으로 선택하기 전에 fileRSU 이미지의 경우; 그러나 RSU 부팅 정보 file 암호화해서는 안 되며 대신 서명만 하면 됩니다. 프로그래밍 File 생성기는 .rbf 형식의 속성 수정을 지원하지 않습니다. files.
다음 예amp파일은 원격 시스템 업데이트 이미지 생성 섹션의 명령에 필요한 수정 사항을 보여줍니다. Files 프로그래밍 사용 File Intel Agilex 7 구성 사용자 가이드 생성기.
.rbf를 사용하여 초기 RSU 이미지 생성 Files: 명령 수정
.rbf를 사용하여 초기 RSU 이미지 생성에서 File섹션에서 이 문서의 이전 섹션의 지침을 사용하여 1단계의 명령을 수정하여 원하는 대로 디자인 보안 기능을 활성화합니다.
예를 들어amp파일, 서명된 펌웨어를 지정합니다. file 펌웨어 공동 서명을 사용하는 경우 Quartus 암호화 도구를 사용하여 각 .rbf를 암호화합니다. file, 마지막으로 quartus_sign 도구를 사용하여 각 항목에 서명합니다. file.
2단계에서 펌웨어 공동 서명을 활성화한 경우 공장 이미지에서 boot .rbf를 생성할 때 추가 옵션을 사용해야 합니다. file:
quartus_pfg -c Factory.sof boot.rbf -o rsu_boot=ON -o fw_source=signed_agilex.zip
부팅 정보 .rbf를 생성한 후 file, quartus_sign 도구를 사용하여 .rbf에 서명합니다. file. 부팅 정보 .rbf를 암호화하면 안 됩니다. file.
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 55
5. 고급 기능 683823 | 2023.05.23
애플리케이션 이미지 생성: 명령 수정
디자인 보안 기능이 포함된 애플리케이션 이미지를 생성하려면 원래 애플리케이션 .sof 대신 필요한 경우 공동 서명된 펌웨어를 포함하여 디자인 보안 기능이 활성화된 .rbf를 사용하도록 애플리케이션 이미지 생성의 명령을 수정합니다. file:
quartus_pfg -c cosigned_fw_signed_encrypted_application.rbf secure_rsu_application.rpd -o 모드=ASX4 -o 비트스왑=ON
공장 업데이트 이미지 생성: 명령 수정
부팅 정보 .rbf를 생성한 후 file, quartus_sign 도구를 사용하여 .rbf에 서명합니다. file. 부팅 정보 .rbf를 암호화하면 안 됩니다. file.
RSU 공장 업데이트 이미지를 생성하려면 공장 업데이트 이미지 생성의 명령을 수정하여 .rbf를 사용합니다. file 설계 보안 기능을 활성화하고 공동 서명된 펌웨어 사용을 표시하는 옵션을 추가합니다.
quartus_pfg -c cosigned_fw_signed_encrypted_factory.rbf secure_rsu_factory_update.rpd -o 모드=ASX4 -o bitwap=ON -o rsu_upgrade=ON -o fw_source=signed_agilex.zip
관련 정보 Intel Agilex 7 구성 사용자 가이드
5.6. SDM 암호화 서비스
Intel Agilex 7 장치의 SDM은 FPGA 패브릭 로직 또는 HPS가 해당 SDM 메일박스 인터페이스를 통해 요청할 수 있는 암호화 서비스를 제공합니다. 모든 SDM 암호화 서비스의 메일함 명령 및 데이터 형식에 대한 자세한 내용은 Intel FPGA 및 Structured ASIC 사용자 가이드의 보안 방법론에서 부록 B를 참조하십시오.
SDM 암호화 서비스를 위한 FPGA 패브릭 로직에 대한 SDM 메일박스 인터페이스에 액세스하려면 설계에서 메일박스 클라이언트 Intel FPGA IP를 인스턴스화해야 합니다.
HPS에서 SDM 메일박스 인터페이스에 액세스하기 위한 참조 코드는 Intel에서 제공하는 ATF 및 Linux 코드에 포함되어 있습니다.
관련 정보 메일박스 클라이언트 Intel FPGA IP 사용 설명서
5.6.1. 공급업체 승인 부팅
인텔은 공급업체 인증 부팅 기능을 활용하여 처음부터 HPS 부팅 소프트웨어를 인증하는 HPS 소프트웨어에 대한 참조 구현을 제공합니다.tage 부트 로더를 Linux 커널로 전달합니다.
관련 정보 Intel Agilex 7 SoC 보안 부팅 데모 디자인
Intel Agilex® 7 장치 보안 사용자 가이드 56
피드백 보내기
5. 고급 기능 683823 | 2023.05.23
5.6.2. 보안 데이터 개체 서비스
SDM 사서함을 통해 명령을 보내 SDOS 개체 암호화 및 암호 해독을 수행합니다. SDOS 루트 키를 프로비저닝한 후 SDOS 기능을 사용할 수 있습니다.
관련 정보 보안 데이터 개체 서비스 루트 키 프로비저닝 페이지 30
5.6.3. SDM 암호화 기본 서비스
SDM 암호화 기본 서비스 작업을 시작하려면 SDM 사서함을 통해 명령을 보냅니다. 일부 암호화 기본 서비스에서는 메일함 인터페이스가 허용할 수 있는 것보다 더 많은 데이터를 SDM과 주고받도록 요구합니다. 이러한 경우 형식 명령은 메모리의 데이터에 대한 포인터를 제공하도록 변경됩니다. 또한 FPGA 패브릭 로직에서 SDM 암호화 기본 서비스를 사용하려면 메일박스 클라이언트 Intel FPGA IP의 인스턴스화를 변경해야 합니다. 추가적으로 암호화 서비스 활성화 매개변수를 1로 설정하고 새로 노출된 AXI 개시자 인터페이스를 설계의 메모리에 연결해야 합니다.
그림 21. 메일박스 클라이언트 Intel FPGA IP에서 SDM 암호화 서비스 활성화
5.7. 비트스트림 보안 설정(FM/S10)
FPGA 비트스트림 보안 옵션은 정의된 기간 내에 지정된 기능이나 작동 모드를 제한하는 정책 모음입니다.
비트스트림 보안 옵션은 Intel Quartus Prime Pro Edition 소프트웨어에서 설정한 플래그로 구성됩니다. 이러한 플래그는 구성 비트스트림에 자동으로 복사됩니다.
해당 보안 설정 eFuse를 사용하여 장치에 보안 옵션을 영구적으로 적용할 수 있습니다.
구성 비트스트림 또는 장치 eFuse의 보안 설정을 사용하려면 인증 기능을 활성화해야 합니다.
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 57
5. 고급 기능 683823 | 2023.05.23
5.7.1. 보안 옵션 선택 및 활성화
보안 옵션을 선택하고 활성화하려면 다음을 수행하십시오. 할당 메뉴에서 장치 장치 및 핀 옵션 보안 추가 옵션…을 선택합니다. 그림 22. 보안 옵션 선택 및 활성화
그런 다음 다음 예와 같이 활성화하려는 보안 옵션에 대한 드롭다운 목록에서 값을 선택합니다.amp르 :
그림 23. 보안 옵션 값 선택
Intel Agilex® 7 장치 보안 사용자 가이드 58
피드백 보내기
5. 고급 기능 683823 | 2023.05.23
다음은 Quartus Prime 설정 .qsf의 해당 변경 사항입니다. file:
세트_글로벌_할당 - 이름 SECU_OPTION_DISABLE_JTAG "ON CHECK" set_global_locationment -name SECU_OPTION_FORCE_ENCRYPTION_KEY_UPDATE "ON STICKY" set_global_locationment -name SECU_OPTION_FORCE_SDM_CLOCK_TO_INT_OSC ON set_global_assement -name SECU_OPTION_DISABLE_VIRTUAL_EFUSES ON set_global_location -name SECU_OPTION_LOCK_SECURITY_EF USES ON 세트_글로벌_할당 - 이름 SECU_OPTION_DISABLE_HPS_DEBUG ON 세트_글로벌_할당 - 이름 SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES ON 세트_글로벌_할당 -이름 SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES ON 세트_글로벌_할당 -이름 SECU_OPTION_DISABLE_KEY_IN_EF set_global_locationment -name에 사용 SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES ON 세트_글로벌_할당 - 이름 SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_BBRAM ON 세트_글로벌_할당 -이름 SECU_OPTION_DISABLE_PUF_WRAPPED_ENCRYPTION_KEY ON
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 59
683823 | 2023.05.23 피드백 보내기
문제 해결
이 장에서는 장치 보안 기능을 사용하려고 할 때 발생할 수 있는 일반적인 오류 및 경고 메시지와 이를 해결하는 방법에 대해 설명합니다.
6.1. Windows 환경 오류에서 Quartus 명령 사용
오류 quartus_pgm: 명령을 찾을 수 없음 설명 이 오류는 WSL을 사용하여 Windows 환경의 NIOS II 셸에서 Quartus 명령을 사용하려고 할 때 표시됩니다. 해결 방법 이 명령은 Linux 환경에서 작동합니다. Windows 호스트의 경우 다음 명령을 사용합니다: quartus_pgm.exe -h 마찬가지로, quartus_pfg, quartus_sign, quartus_encrypt와 같은 다른 Quartus Prime 명령에도 동일한 구문을 적용합니다.
인텔사. 판권 소유. 인텔, 인텔 로고 및 기타 인텔 마크는 인텔사 또는 그 자회사의 상표입니다. 인텔은 인텔의 표준 보증에 따라 FPGA 및 반도체 제품의 성능을 최신 사양으로 보증하지만 사전 통지 없이 언제든지 제품 및 서비스를 변경할 수 있는 권리를 보유합니다. 인텔은 인텔이 서면으로 명시적으로 동의한 경우를 제외하고 여기에 설명된 정보, 제품 또는 서비스의 적용 또는 사용으로 인해 발생하는 어떠한 책임도 지지 않습니다. 인텔 고객은 게시된 정보에 의존하고 제품이나 서비스를 주문하기 전에 최신 버전의 장치 사양을 얻는 것이 좋습니다. *다른 이름과 브랜드는 다른 사람의 자산일 수 있습니다.
ISO 9001 : 2015 등록
6. 문제 해결 683823 | 2023.05.23
6.2. 개인 키 경고 생성
경고:
지정된 비밀번호는 안전하지 않은 것으로 간주됩니다. 인텔에서는 최소 13자 이상의 비밀번호를 사용할 것을 권장합니다. OpenSSL 실행 파일을 사용하여 비밀번호를 변경하는 것이 좋습니다.
openssl ec -in -밖으로 -aes256
설명
이 경고는 비밀번호 강도와 관련이 있으며 다음 명령을 실행하여 개인 키를 생성하려고 할 때 표시됩니다.
quartus_sign –family=agilex –작업=make_private_pem –curve=secp3841 root.pem
해결 방법 openssl 실행 파일을 사용하여 더 길고 더 강력한 비밀번호를 지정하십시오.
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 61
6. 문제 해결 683823 | 2023.05.23
6.3. Quartus 프로젝트 오류에 서명 키 추가
오류…File 루트 키 정보가 포함되어 있습니다…
설명
서명 키 .qky를 추가한 후 file Quartus 프로젝트에 추가하려면 .sof를 다시 어셈블해야 합니다. file. 이 재생성된 .sof를 추가하면 file Quartus Programmer를 사용하여 선택한 장치에 연결하면 다음과 같은 오류 메시지가 나타납니다. file 루트 키 정보가 포함되어 있습니다.
추가하지 못했습니다.file-path-name>을 프로그래머에게 전달합니다. 그만큼 file 루트 키 정보(.qky)를 포함합니다. 그러나 Programmer는 비트스트림 서명 기능을 지원하지 않습니다. 프로그래밍을 사용할 수 있습니다 File 변환하는 생성기 file 서명된 원시 바이너리에 file (.rbf)를 구성합니다.
해결
Quartus 프로그래밍 사용 file 변환하는 발전기 file 서명된 원시 바이너리로 File 구성용 .rbf.
관련 정보 quartus_sign 명령을 사용하여 구성 비트스트림 서명 페이지 13
Intel Agilex® 7 장치 보안 사용자 가이드 62
피드백 보내기
6. 문제 해결 683823 | 2023.05.23
6.4. Quartus Prime 프로그래밍 생성 File 실패했습니다
오류
오류(20353): QKY의 공개 키 X가 PEM의 개인 키와 일치하지 않습니다. file.
오류(20352): Python 스크립트 agilex_sign.py를 통해 비트스트림에 서명하지 못했습니다.
오류: Quartus Prime 프로그래밍 File 발전기가 실패했습니다.
설명 잘못된 개인 키 .pem을 사용하여 구성 비트스트림에 서명을 시도하는 경우 file 또는 .pem file 프로젝트에 추가된 .qky와 일치하지 않는 경우 위의 일반적인 오류가 표시됩니다. 해결 방법 올바른 개인 키 .pem을 사용하여 비트스트림에 서명했는지 확인하십시오.
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 63
6. 문제 해결 683823 | 2023.05.23
6.5. 알 수 없는 인수 오류
오류
오류(23028): 알 수 없는 인수 “ûc”. 법적 주장에 대해서는 –help를 참조하십시오.
오류(213008): 프로그래밍 옵션 문자열 "ûp"가 잘못되었습니다. 적합한 프로그래밍 옵션 형식에 대해서는 –help를 참조하십시오.
설명 .pdf 파일에서 명령줄 옵션을 복사하여 붙여넣는 경우 file Windows NIOS II 셸에서는 위와 같이 알 수 없는 인수 오류가 발생할 수 있습니다. 해결 방법 이러한 경우 클립보드에서 붙여넣는 대신 수동으로 명령을 입력할 수 있습니다.
Intel Agilex® 7 장치 보안 사용자 가이드 64
피드백 보내기
6. 문제 해결 683823 | 2023.05.23
6.6. 비트스트림 암호화 옵션 비활성화 오류
오류
암호화를 완료할 수 없습니다. file design .sof는 비트스트림 암호화 옵션이 비활성화된 상태로 컴파일되었기 때문입니다.
설명 비트스트림 암호화 옵션을 비활성화한 상태에서 프로젝트를 컴파일한 후 GUI 또는 명령줄을 통해 비트스트림을 암호화하려고 하면 Quartus는 위와 같이 명령을 거부합니다.
해결 방법 GUI 또는 명령줄을 통해 비트스트림 암호화 옵션을 활성화하여 프로젝트를 컴파일해야 합니다. GUI에서 이 옵션을 활성화하려면 이 옵션의 확인란을 선택해야 합니다.
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 65
6. 문제 해결 683823 | 2023.05.23
6.7. 키에 대한 올바른 경로 지정
오류
오류(19516): 감지된 프로그래밍 File 생성기 설정 오류: 'key_'를 찾을 수 없습니다.file'. 확인하십시오 file 예상 위치에 있거나 settings.sec를 업데이트합니다.
오류(19516): 감지된 프로그래밍 File 생성기 설정 오류: 'key_'를 찾을 수 없습니다.file'. 확인하십시오 file 예상 위치에 있거나 설정을 업데이트하세요.
설명
컴퓨터에 저장된 키를 사용하는 경우 file 시스템에서는 비트스트림 암호화 및 서명에 사용되는 키의 올바른 경로를 지정하는지 확인해야 합니다. 프로그래밍의 경우 File 생성기가 올바른 경로를 감지할 수 없으며 위의 오류 메시지가 표시됩니다.
해결
Quartus Prime 설정 .qsf를 참조하세요. file 키의 올바른 경로를 찾으려면 절대 경로 대신 상대 경로를 사용해야 합니다.
Intel Agilex® 7 장치 보안 사용자 가이드 66
피드백 보내기
6. 문제 해결 683823 | 2023.05.23
6.8. 지원되지 않는 출력 사용 File 유형
오류
quartus_pfg -c design.sof 출력_file.ebf -o finalize_Operation=ON -o qek_file=ae.qek -o 서명=ON -o pem_file=sign_private.pem
오류(19511): 지원되지 않는 출력 file 유형(ebf)입니다. 지원되는 항목을 표시하려면 "-l" 또는 "-list" 옵션을 사용하세요. file 정보를 입력합니다.
설명 Quartus 프로그래밍을 사용하는 동안 File 암호화되고 서명된 구성 비트스트림을 생성하는 생성기, 지원되지 않는 출력인 경우 위의 오류가 표시될 수 있습니다. file 유형이 지정됩니다. 해결 방법 지원되는 목록을 보려면 -l 또는 –list 옵션을 사용하십시오. file 유형.
피드백 보내기
Intel Agilex® 7 장치 보안 사용자 가이드 67
683823 | 2023.05.23 피드백 보내기
7. Intel Agilex 7 장치 보안 사용자 가이드 아카이브
이 사용자 가이드의 최신 및 이전 버전은 Intel Agilex 7 장치 보안 사용자 가이드를 참조하세요. IP 또는 소프트웨어 버전이 목록에 없으면 이전 IP 또는 소프트웨어 버전에 대한 사용 설명서가 적용됩니다.
인텔사. 판권 소유. 인텔, 인텔 로고 및 기타 인텔 마크는 인텔사 또는 그 자회사의 상표입니다. 인텔은 인텔의 표준 보증에 따라 FPGA 및 반도체 제품의 성능을 최신 사양으로 보증하지만 사전 통지 없이 언제든지 제품 및 서비스를 변경할 수 있는 권리를 보유합니다. 인텔은 인텔이 서면으로 명시적으로 동의한 경우를 제외하고 여기에 설명된 정보, 제품 또는 서비스의 적용 또는 사용으로 인해 발생하는 어떠한 책임도 지지 않습니다. 인텔 고객은 게시된 정보에 의존하고 제품이나 서비스를 주문하기 전에 최신 버전의 장치 사양을 얻는 것이 좋습니다. *다른 이름과 브랜드는 다른 사람의 자산일 수 있습니다.
ISO 9001 : 2015 등록
683823 | 2023.05.23 피드백 보내기
8. Intel Agilex 7 장치 보안 사용자 가이드 개정 내역
문서 버전 2023.05.23
2022.11.22 2022.04.04 2022.01.20
2021.11.09
문서 / 리소스
![]() |
Intel Agilex 7 장치 보안 [PDF 파일] 사용자 매뉴얼 Agilex 7 장치 보안, Agilex 7, 장치 보안, 보안 |