Skip to content
June 2025 Security

eBoot Secure Boot: A Measured-Launch Walkthrough

An end-to-end tour of eBoot's chain of trust — root-of-trust keys, immutable stage 0, signed manifests, anti-rollback counters, and the runtime attestation hooks eAI consumes during model loading.

Chain of trust

eBoot's chain of trust starts with an immutable ROM stage 0 that contains the root-of-trust public key baked into OTP fuses at manufacturing. Stage 0 verifies stage 1 (the eBoot main binary) using ECDSA-P256. Stage 1 verifies the EoS kernel image and the app manifest. No stage executes unless the previous stage's signature is valid.

Stage progression

Stage 0 (ROM, 4 KB) → Stage 1 (eBoot main, 48 KB) → Stage 2 (EoS kernel, variable) → Stage 3 (app manifest verification). Each stage measures the next stage's hash into a TPM PCR register (or a software PCR on devices without hardware TPM). The final PCR chain is the device's attestation quote.

Anti-rollback counters

Each signed image contains a monotonic version counter stored in OTP. eBoot refuses to boot any image with a counter value lower than the current OTP value. This prevents downgrade attacks where an attacker flashes an older, vulnerable firmware version. Counter increments are irreversible.

Runtime attestation

The eAI model loader calls eBoot's attestation API to verify the PCR chain before loading any ML model. This ensures that a model only executes on a device that booted a known-good firmware stack. Compromised firmware cannot load production models, limiting the blast radius of a kernel exploit.

eBootSecuritySecure Boot

About these articles

How these articles are published

Every article on this site renders through this one page, from the Foundation's shared content registry. The title, date, badge, tags, and body all come from the same data the News page lists — which is why the two can never disagree about what an article says or when it appeared.

The registry replaced eight separate article pages whose metadata had drifted apart: seven of them showed a different publication date than the news listing. One source of truth is less interesting than eight bespoke pages, and considerably more honest.

What an article is

Articles are the long form: explanations of how something works, technical writing about the stack, and reflections on the work. News carries the timely announcement; the article carries the full treatment — the reasoning, the context, and the detail that would not fit in a listing.

Each article states its assumptions and links its evidence where evidence exists. The source material behind the technical claims — the code, the measurements, the filings — is public in the Foundation's repositories.

Dates and addresses

The date on an article is its publication date. The address is /article/ followed by the article's slug, and the older /article-xxx addresses from the previous site still resolve to the same pages — nothing already linked or indexed breaks.

If an article is corrected after publication, the correction is noted rather than silently made — the same standard our press releases are held to. The page you are reading is the current version, and the record of what changed stays with it.