Skip to main content

Examples of Interfaces

The interfaces mentioned above have been employed in commercial and open-source setups. Here, we include the interfaces in two setups, namely FOBOS [2] and ChipWhisperer [3].

A. FOBOS​

Based on the documentation from the FOBOS website, here is the extracted information (a--e) for each API [2]:

1. Target Communication Module​

a. Data: the target Communication Module handles the data transfer between the target (Device Under Test) and the control system, including managing communication protocols.

b. Features:

  • Configures target interface and manages output length.
  • Handles communication over various interfaces like UART, SPI, etc.

c. Purpose: its purpose is to provide a reliable means of communication between the target and the controlling system, facilitating data exchange for side-channel analysis.

d. Logical Layer: works by interfacing with the control system to transmit and receive data from the target, ensuring proper synchronization and timing. According to FOBOS documentation, the 4-bit full-duplex FIFO interface is available.

e. Physical Layer: involves the physical connections (e.g., UART, SPI) between the target and the control system to facilitate data transfer.

2. Target Control Module​

a. Data: the target Control Module manages control data related to the target, including triggering operations, resetting the target, and initiating other control signals for side-channel measurements.

b. Features:

  • controls target clock settings, trigger operations, and resets.
  • configures glitch and timeout behavior, as well as target selection for multi-target setups.

c. Purpose: its purpose is to ensure proper timing, control, and synchronization of the target during the side-channel analysis experiments.

d. Logical Layer: FIFO (bytewise), digital signal

e. Physical Layer: physically controls the target via hardware interfaces like GPIO, clock lines, and reset lines, all of which are connected to the target’s pins.

3. Open ADC Module​

a. Data: the Open ADC Module handles the data acquisition from the target during side-channel measurements, acquiring analog signals like power traces.

b. Features:

  • Provides ADC functionality for acquiring power traces.
  • Requires the FOBOS Shield for proper operation.

c. Purpose: it aims to acquire high-fidelity analog traces from the target, typically for power analysis or glitch attacks.

d. Logical Layer: NA

e. Physical Layer: wire - Signals (traces)

4. Power Module​

a. Data: the power module supplies power to the target, providing the necessary power for device operation during testing and side-channel measurements.

b. Features:

  • supplies stable and configurable power to the target.
  • integrates with the FOBOS Shield for power management.

c. Purpose: its purpose is to provide regulated power to the target, ensuring consistent performance during testing and experiments.

d. Logical Layer: NA

e. Physical Layer: wire, power

B. ChipWhisperer​

The scope, target, capture, and analyzer APIs collectively enable comprehensive side-channel analysis using ChipWhisperer, covering hardware control, data acquisition, and data analysis [3]. The ChipWhisperer documentation describes each of these APIs. Here, we reformulate their definitions using the framework provided in this document.

1. Scope API​

a. Data: the Scope API manages the capture and glitching functionalities of ChipWhisperer devices, handling data acquisition from the target.

b. Features: provides control over various scope settings, including sampling frequency, trigger conditions, and glitch parameters.

c. Purpose: facilitates the configuration and operation of the ChipWhisperer scope hardware to capture side-channel data and perform glitching attacks.

d. Logical Layer: offers an object-oriented interface in Python to configure and control the scope's behavior, including methods for arming the scope and initiating captures.

e. Physical Layer: represents the physical ChipWhisperer scope hardware, such as the OpenADC Scope (Lite, Pro, Husky) and ChipWhisperer Nano Scope (Nano), which interface with the target to collect data.

2. Target API​

a. Data: the Target API manages communication with the target, facilitating data exchange for side-channel analysis.

b. Features: supports various target types, including Simple Serial Targets and FPGA-based targets like CW305 and CW310, enabling flexible interactions with different DUTs.

c. Purpose: provides an interface to configure and control the target device, essential for setting up experiments and collecting relevant data.

d. Logical Layer: offers classes and functions to define target behavior, such as communication protocols and response handling, within the ChipWhisperer framework.

e. Physical Layer: encompasses the actual hardware targets, like the CW305 FPGA Target and CW310, which are connected to the ChipWhisperer scope for data acquisition.

3. Capture API​

a. Data: the capture API handles the acquisition and storage of side-channel data during experiments, managing trace collection and storage.

b. Features: provides functionalities to start, stop, and manage data captures, including handling triggers and synchronization with the scope.

c. Purpose: ensures reliable and synchronized data collection from the target, crucial for accurate side-channel analysis.

d. Logical Layer: power trace and signals

e. Physical Layer: wires - SMA and 20-pin connectors.

4. Analyzer API​

a. Data: the Analyzer API processes and analyzes the captured side-channel data, extracting meaningful information for cryptographic analysis.

b. Features: includes tools for data visualization, statistical analysis, and correlation techniques to interpret and capture results.

c. Purpose: aids in examining and interpreting side-channel data, facilitating the extraction of cryptographic keys or other sensitive information.

d. Logical Layer: NA

e. Physical Layer: NA

Stay Updated!

Join our mailing list for
the latest news.

Join Now