Intel® Stratix® 10 Device Security User Guide

ID 683642
Date 7/14/2023
Public
Document Table of Contents

5.1. Secure Debug Authorization

To enable Secure Debug Authorization, the debug owner needs to generate an authentication key pair and use the Intel® Quartus® Prime Pro Programmer to generate a device information file for the device that runs the debug image:
quartus_pgm -c 1 -m jtag -o “ei;device_info.txt;1SX280HH1” --dev_info 
The debug owner transfers the generated authenticated public key and device information to the device owner. The device owner uses the quartus_sign tool or the reference implementation to append a conditional public key entry to a signature chain intended for debug operations using the public key from the debug owner, the necessary authorizations, the device information text file, and applicable further restrictions:
quartus_sign --family=Stratix10 --operation=append_key \ 
--previous_pem=debug_chain_private.pem \
--previous_qky=debug_chain.qky \ 
--permission=0x6 --cancel=1 \ 
--dev_info=device_info.txt \
--restriction=”1,2,17,18” \  
--input_pem=debug_authorization_public_key.pem secure_debug_auth_chain.qky
The device owner sends the full signature chain back to the debug owner, who uses the signature chain and their private key to sign the debug image:
quartus_sign --family=Stratix10 --operation=sign \ 
--qky=secure_debug_auth_chain.qky \
--pem=debug_authorization_private_key.pem \
unsigned_debug_design.rbf authorized_debug_design.rbf 

You may use the quartus_pfg command to inspect the signature chain of each section of this signed secure debug bitstream as follows:

quartus_pfg --check_integrity authorized_debug_design.rbf

The output of this command prints the restriction values 1,2,17,18 of the conditional public key that was used to generate the signed bitstream.

The debug owner can then program the securely authorized debug design:
quartus_pgm -c 1 -m jtag -o “p;authorized_debug_design.rbf” 

The device owner may revoke the secure debug authorization by canceling the explicit key cancellation ID assigned in the secure debug authorization signature chain.