Xilinx / Xilinx/embeddedsw

Zynq FSBL: bitstream authentication failure during QSPI boot

Open
#129 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
HTML
Stars
1.2k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

When booting a Zynq 7000 from QSPI with RSA enabled, the FSBL passes authentication, but the bitstream does not. After enabling some debug prints in the FSBL I observed that the signatures, keys, etc. parsed in AuthenticatePartition() (when called on the bitstream) looked invalid.

I tried deactivating the data caching in image_mover.c (CR#785778 https://github.com/Xilinx/embeddedsw/commit/4f9efaf5844a1375bde7ec7c97966d5d64c16d3d#diff-89c0cd5131cff5afce2b7ec22ab2729c) and the bitstream was successfully authenticated.

I'm using SDK 2017.2

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with AuthenticatePartition() and the data-cache handling in image_mover.c, using the linked CR#785778 commit as context. Reproduce an RSA-enabled Zynq 7000 QSPI boot with SDK 2017.2 and compare authentication with caching enabled and disabled; done means the bitstream authenticates with the intended cache behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
authentication, cryptography, embedded-iot
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.