KiviBoot

A two-stage secure boot solutions that extends trust from the protected FPGA configuration to the application firmware.

KiviBoot secure bootloader

KiviBoot extends the chain of trust from your platform’s protected boot configuration to bootloader and application software. Choose software-based cryptography, FPGA-based AES and SHA acceleration, or integration with a Linux boot environment to match your system. 

Why embedded systems need secure boot

Embedded systems rely on trusted software from the moment they start. If an attacker can modify, replace, or extract firmware during the boot process, security mechanisms at the application level may already be compromised.

KiviBoot establishes a secure chain of trust from the hardware root of trust to the bootloader and application software. Only authenticated software is executed, while optional encryption helps protect sensitive code and intellectual property.

Protect your system 

KiviBoot helps address key security risks in embedded FPGA and SoC systems.

 

Firmware Tampering

Prevent modified or unauthorized firmware from being executed.

IP Theft

Protect proprietary firmware and software against unauthorized extraction and cloning.

Data Exposure

Reduce the risk of sensitive data and cryptographic assets being exposed through compromised software.

Unauthorized code execution

Prevent untrusted or malicious software from gaining control of the system during the boot process.

Security requirements are increasing

Secure boot is becoming increasingly important for meeting security requirements and industry security practices. 

Cyber Resilience Act (CRA)

Introduces security requirements for products with digital elements throughout their lifecycle.

IEC 62443

Defines security requirements for industrial automation and control systems.

NIST SP 800-193

Provides guidance for Platform Firmware Resiliency (PFR) to protect firmware and establish firmware resilience.

NIST SP 800-213 and NISTIR 8259A

Address security capabilities and requirements for IoT devices.

OCP Hardware Security Specifications

Aaddress hard-/firmware security for infrastructure such as data-center platforms and BMCs.

Extend the chain of trust to every software stage

Native FPGA security mechanisms can authenticate and encrypt the configuration bitstream. But FPGA-based systems often load additional boot software and application firmware from external flash or other memories after configuration. If these components are not verified before execution, they remain outside the hardware-established chain of trust.

KiviBoot closes this gap. It provides a trusted transition from the authenticated FPGA design to the bootloader and application software. Images are decrypted and cryptographically verified before control is transferred to the next stage.

Extends the hardware root of trust to application firmware

Protects software stored in external flash and loaded into RAM

Adapts to bare-metal, RTOS and Linux-based systems

Supports software cryptography, external secure elements and FPGA-based crypto acceleration

Authenticates software before execution

ARM and RISC-V CPU support

Choose the KiviBoot solution for your system

Start with your application environment, then consider the cryptographic workload and FPGA resources available for boot processing.

All KiviBoot products use the same two-stage boot architecture, they differ in cryptographic implementation and supported application environment. 

Software only secure boot

KiviBoot-Tiny executes the cryptographic boot operations on the available target processor.

Choose it for bare-metal or RTOS designs where FPGA resources are limited and software-based boot performance meets your requirements.
 

FPGA-accelerated secure boot

KiviBoot-Fast combines the software boot stages with AES and SHA hardware acceleration in the FPGA fabric

Choose it for bare-metal or RTOS designs where cryptographic boot processing calls for acceleration.

Secure boot for Linux systems

KiviBoot-Linux combines the KiviBoot boot stages with hardware-accelerated cryptographic processing and integration of the platform-specific Linux boot chain.

Choose it when your design needs the additional boot components and an agreed verification scope for Linux startup. 

Secure every stage of your FPGA-based boot process

Tell us about your FPGA, processor architecture, memory configuration and security requirements. We will assess how KiviBoot can be adapted to your target platform.

Secure-Boot-Loader

How it works

  • 1. The FPGA verifies and decrypts its configuration bitstream using the platform's native security mechanisms.
  • 2. The authenticated FPGA configuration establishes the hardware-based starting point and initializes KiviBoot-NanoBL in protected on-chip memory.
  • 3. KiviBoot-NanoBL loads, decrypts and verifies KiviBoot-SecureBL.
  • 4. KiviBoot-SecureBL loads the application, decrypts the image and verifies its integrity and digital signature.
  • 5. The application starts only after all required checks have passed.

KiviBoot components for secure boot

KiviBoot separates the minimal trusted boot stage from the more flexible system functionality. This limits the attack surface of the first stage while allowing the second stage to be adapted to the target solution.

KiviBoot-NanoBL

Minimal first-stage secure bootloader

Designed for execution from protected on-chip RAM or ROM. It contains a small, fixed set of functions required to start the next trusted component.

  • Establish the trusted software entry point
  • Starts from protected on-chip memory
  • Loads KiviBoot-SecureBL
  • Decrypts and verifies KiviBoot-SecureBL before execution
  • Transfers control only after successful verification
  • Keeps the initial trusted software base small

KiviBoot-SecureBL

Second-stage bootloader for application security

Runs after successful verification by KiviBoot-NanoBL. It loads and protects the application stage and can implement product-specific boot policies.

  • Verify and manage application firmware
  • Loads application firmware
  • Decrypts the application image
  • Verifies image integrity and digital signatures
  • Supports firmware update handling
  • Can be adapted for image metadata, product and hardware identifiers, version checks, recovery and anti-rollback policies
  • Transfers control only to successfully verified application firmware