Build Flow Archiver & Auditor

Enverité® Trace® Build Archiver and Auditor preserves the FPGA build flow for auditability and reproducibility by creating a tamper-evident digital thread of the implementation process.

The FPGA build flow consists of multiple implementation steps that expose the design to risk of an attack or human error that may alter the intended design. The Trace archive preserves the build process by capturing design files, settings, and implementation artifacts before and after each step in a cryptographically signed archive. The Retrace® auditor authenticates that archive and enables rebuild capabilities to confirm that the archived bitstream is reproducible.


EDA Build Flows Are Vulnerable

A sophisticated adversary can leverage advanced persistent threats or insider threats to expertly choose where to insert vulnerabilities and malicious behaviors in FPGA and ASIC design implementations. They can target the design files (HDL source code), EDA software installations, IP libraries, intermediate design state, and even the final deployed binary in the form of the configuration bitstream. Existing verification tools can verify functional equivalence or check properties at a given point in time, but an attacker is still free to modify the design state or bitstream at any point after verification has been completed. With Trace archiver, you can create a digital thread of the implementation flow that persists in time and can be audited with Retrace® auditor at any point in the future.


Tamper-Evident Audit Trail

Trace archiver captures and preserves the design implementation state along with any design properties or implementation settings that would affect the build process as the design moves through the build flow. It does so without disturbing existing developer workflows or replacing EDA vendor tools by parsing the vendor project file (e.g., Vivado project.xpr) and generating a custom build script. This build script leverages vendor Tcl APIs to build the design, extract the relevant implementation artifacts before and after each implementation step, and apply cryptographic hashing and signature functions as integrity verification mechanisms. The implementation artifacts are preserved along with an electronic ledger containing the hash signatures in the Trace Archive.

 
 

Enable Audits and Reproducible Builds

Trace captures design files, implementation artifacts, and configuration settings throughout the FPGA build flow and stores them in a cryptographically protected archive with a signed electronic ledger. Retrace authenticates the archived record and can automatically rebuild the design from recorded sources and settings to verify equivalence with the original bitstream. Together, they produce a tamper-evident build archive and independent rebuild validation artifacts suitable for audit, accreditation, and supply-chain assurance.

The Enverité Trace feature, Retrace, authenticates the hash value signatures in the ledger and compares them to hash values recalculated from the files in the Trace Archive. It also enables manual inspection of implementation settings or an automated comparison to a provided list of required settings. If a design component were to be altered, a Retrace audit will detect the change and alert the user.


Follow NSA Guidance on FPGA Assurance

The FPGA assurance guidelines released by NSA provide a list of mitigations against the introduction of Trojans during design development. One of these mitigations, ‘Perform reproducible build,’ helps protect against an adversary that compromises the design cycle. The mitigation description is as follows:

A reproducible build process is a methodology to verify the integrity of the FPGA synthesis and build software. Reproducible build performs the synthesis process taking in human readable HDL, and other human readable inputs, and consistently generates the same final configuration file (bitstream)…This process will highlight the possession of modified software when there is a mismatch.

Trace archiver does exactly that! By cryptographically signing design artifacts and bundling them into a Trace Archive, the archive enables another user to confidently reproduce the design and detect any unexpected changes.