Introduction - Introduction - XAPP1098

Developing Tamper-Resistant Designs with UltraScale and UltraScale+ FPGAs (XAPP1098)

Document ID
XAPP1098
Release Date
2025-05-22
Revision
1.5.1 English

AMD has been at the forefront of providing FPGA AT solutions to their customers for many generations. UltraScale and UltraScale+ FPGAs continue this trend by including asymmetric authentication, side channel attack protection, and other silicon AT features. Additionally, to provide a number of tamper protections post configuration, AMD offers an IP core known as Security Monitor (see Security Monitor Product Brief). Due to certain restrictions, Security Monitor’s availability is limited. Contact your local AMD representative for details.

Keeping one step ahead of the adversary is a continuous process that involves understanding the existing vulnerabilities and attacks and then developing new mitigation techniques (countermeasures) to combat those attacks. AMD has a multi-generational commitment to secure FPGA technology in a cost-sensitive manner for the AT-conscious communities which include both commercial and defense markets.

By taking advantage of various AMD FPGA AT features, you can choose how much AT to include with the FPGA design based on program and customer requirements. AT can be in the form of enabling individual silicon AT features or a combination of these AT features (perhaps tied together by the developer in the FPGA design and following best practice guidance).

The decision as to how much AT to include primarily depends on three factors:

Value
The perceived value of the intellectual property and the damage it might cause either financially or to national security if it were to become compromised. Certain AT features can be expensive to implement and that cost must be weighed against the value of the technology or data being protected.
Adversary
Access to the system and the sophistication level and resources available to carry out the attack. For example, can access to the system be prevented by “guns, gates, and guards” or can it be easily obtained in the open market? Is the adversary a garage-based hacker or a nation-state? The adversary’s capabilities could be at these extremes or anywhere in-between.
Design stage
The point in the system development cycle where the decision is made to enable AT for the FPGA design. AMD highly recommends that the decision to use FPGA AT features is made very early on (that is, after CT is defined in a system) to help address both schedule and cost concerns. It is always more costly, more time consuming, and often less effective to insert AT features later on in the development process.

Another factor that needs to be considered is how much of the FPGA’s logic resources are consumed by enabling certain active AT features. The overall resource penalty is usually rather small. However, it does depend on how these features are implemented and the size of the FPGA (that is, the larger FPGAs experience less of an impact).

AMD classifies the silicon AT features as either passive or active security. In general, passive security features are those that are either part of the tool flow or built into the FPGA and do not require you to do anything extra in your FPGA logic design. Passive security features are also temporal in nature—they come into effect at different times during the normal life cycle of the FPGA:

  • Pre-configuration (for example, public key authentication of the configuration bitstream)
  • During-configuration (for example, resistance to side-channel attacks via differential power analysis (DPA))
  • Post-configuration (for example, user data protection via disabling of readback)

In contrast, active security features are required to be included in the FPGA logic design. These features only come into effect after the FPGA has been configured via the user bitstream and the design becomes active. Examples are asserting KEYCLEARB to zeroize the battery-backed advanced encryption standard (AES) key or handle a PROGRAM_B intercept.

At a bare minimum, you should always plan on including the appropriate passive security features into your design (for example, bitstream encryption and authentication). These features do not affect the function of the design. However, they might create logistical challenges (for example, key management), system challenges (for example, a battery is needed if using battery-backed RAM (BBRAM) for key storage), and increase the configuration time (for example, public key authentication might increase configuration time). Otherwise, these features are freely available in terms of impact to the design and can provide a fair amount of tamper protection. For an already fielded system or a design late in the development stage, these AT features are great candidates for enabling because they do not affect the actual FPGA logic design.

Additionally, the AT features and guidance presented in this application note fall into three main AT categories:

  • Prevention (for example, JTAG port blocking)
  • Detection (for example, voltage and temperature monitoring)
  • Response (for example, BBRAM key erasure penalty)

The following table summarizes and classifies the built-in silicon AT features of the UltraScale and UltraScale+ FGPAs.

Table 1. AT Features Classification and Summary
UltraScale and UltraScale+ FPGAs Silicon AT Features Type Category Life Cycle 1
Bitstream confidentiality and authentication (symmetric) 2 Passive Prevention Pre and During
Volatile 256-bit BBRAM key storage Passive Prevention Pre
Non-volatile 256-bit eFUSE key storage 3 Passive Prevention Pre
Write-only key load w/ integrity check (BBRAM and eFUSE) 2 Passive Prevention Pre
Obfuscated key loading and storage 2 Passive Prevention Pre
Bitstream authentication (asymmetric - RSA_AUTH eFUSE) 2 3 Passive Prevention Pre
Non-volatile 384-bit eFUSE public key hash storage 2 3 Passive Prevention Pre
DPA protections 2 Passive Prevention During
Hardened readback disabling circuitry Passive Prevention Post
Internal test scan permanent disable (SCAN_DIS eFUSE) 3 Passive Prevention Pre
JTAG port permanent disable (FUSE_SHAD_SEC[3] eFUSE) 2 3 Passive or Active Prevention or Response Pre or Post
JTAG port temporary disable Active Prevention Post
JTAG port monitor Active Detection Post
Configuration memory integrity checking Active Detection Post
Unique identifiers (device DNA and user eFUSE) Active Detection Post
On-chip temperature and voltage monitors/alarms Active Detection and Response Post
Uninterruptible internal clock source Active Detection Post
External PROGRAM_B intercept Active Prevention and Detection Post
Configuration memory clearing Active Response Post
Key agility (BBRAM only) 2 Active Response Post
BBRAM key zeroize (erase + verify) 2 Active Response Post
Non-volatile (eFUSE) tamper event logging 2 Active Response Post
Bitstream decryptor permanent (CRYPT_DISABLE eFUSE) disable 2 3 Active Prevention or Response Post
Global 3-state (GTS) enable Active Response Post
Global set-reset (GSR) enable Active Response Post
  1. Describes when in the FPGA’s life cycle this feature is effective (pre-configuration, during configuration, or post-configuration).
  2. This feature is new or improved in UltraScale and UltraScale+ FPGAs.
  3. Asserting some of these “permanent” tamper penalties (eFUSE-based) is irreversible and might affect whether or not the device can be returned to AMD. Refer to UltraScale Architecture Configuration User Guide (UG570) for details.

The following sections explore the above features in depth, providing detailed explanations on what they are, why they exist, and give specific examples on how to properly use them (either by themselves, with other built-in features and user logic, or both). Additionally, specific guidance is given on certain methods and techniques that can be employed to increase the tamper resistance of the FPGA design and overall system.

Any AT features enabled at the FPGA level should always be part of an overall system-level AT solution. The features and techniques outlined in this document provide for a very good AT “umbrella” for the FPGA itself. However, AT is most effective when it is developed with a multi-layer approach with the entire system always in mind.