SEC Module · Secure Enclave
TUM · M.Sc. Microelectronics & Chip Design · Edu4Chip Didactic SoC · Subsystem 1

PUF-derived secure storage for an SoC subsystem

The SEC module is an APB-attached secure storage subsystem integrated next to a RISC-V core on the Edu4Chip teaching System-on-Chip. Software provides plaintext records through a register interface; the hardware stores authenticated ciphertext in external flash. The 128-bit encryption key is not stored in non-volatile memory. Instead, it is reconstructed at boot from an SRAM PUF response and public helper data. This site summarizes the architecture, software interface, implementation trade-offs, and verification results.

Motivation

Embedded systems often need to protect data stored outside the trusted digital logic. Storing a long-term key directly in flash or fuses creates a fixed extraction target. This project evaluates a different approach: derive the key from an SRAM PUF at boot, stabilize it with error correction, and use ASCON authenticated encryption before any record is written to external memory. The flash stores ciphertext, authentication metadata, and public helper data, but not the reconstructed key.

Constraint

Avoid persistent secret storage

Long-term keys in non-volatile memory increase the impact of physical readout or firmware-level exposure.

Approach

Reconstruct the key at boot

An SRAM PUF and BCH-based correction recover a stable 128-bit key from device-specific startup behavior and public helper data.

Result

Authenticated encrypted records

Each 256-byte flash page contains associated data, ciphertext, and an ASCON tag. Modified records are rejected during read-back.

System Overview

The subsystem connects a firmware-visible APB interface to a hardware-controlled data path. The Main FSM coordinates the ASCON core, nonce counter, fuzzy extractor, FIFOs, and Quad-SPI master. Plaintext enters only through the APB-side write path, while external flash stores authenticated encrypted records and provisioning data.

SEC MODULE — tum_ss · APB slave plaintext command ciphertext key R nonce/AD RISC-V MC Ibex · APB master runs the firmware APB Gateway status_ctrl + TX/RX FIFOs Main FSM 47-state sequencer system policy & control Nonce Counter 39-bit · monotonic unique per write ASCON Core AEAD-128 · encrypt / decrypt Hash-256 · key validation keyed by the PUF ↓ Fuzzy Extractor PUF · BCH · helper data rebuilds the key at boot Quad-SPI master spi_master_quad erase · prog · read address guard W25Q64JV 8 MB NVM flash · on PMOD 0x000000 helper data public · guarded hash(K) · ENROLLED · ctr 0x002000… authenticated 256 B records AD + ciphertext + tag validity checked by ASCON tag

Reading the colours: ■ plaintext / APB · ■ ciphertext · ■ metadata, counters, helper data · ■ key material, tags, control

Explore the documentation

Each section can be read independently. Start with the data path for a system view, or use the references for implementation details.

Key parameters

128-bit
ASCON-AEAD-128 key & tag
2805-bit
SRAM-PUF helper data
t ≤ 18
BCH error-correction bound
256 B
authenticated flash record
47
Main-FSM states
400+
automated test & assertion checks
22 nm
GF22FDX ASIC target technology

Contributors

Designed, implemented, and verified by four M.Sc. students at TUM. For questions about the module, RTL, or documentation, contact the project contributors below.

Robert Zamora
M.Sc. Microelectronics & Chip Design · TUM
Matteo Calabrò
M.Sc. Microelectronics & Chip Design · TUM
Amin Mourad
M.Sc. Microelectronics & Chip Design · TUM
Theodor Ettling
M.Sc. Microelectronics & Chip Design · TUM