linuxboot / linuxboot/heads

Implement forward sealing of firmware upgrades

Open
#523 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement / improvement help wanted
Dominant language
Makefile
Stars
1.6k
Forks
211
Avg merge
4d 21h
Merged PRs (30d)
6

Description

Sharing @marmarek idea posted here:

High level effect: preserve TOTP/HTOP secret, _if the firmware update is
properly signed_. This include two things:
 - verifying firmware update signature (probably independently of
   coreboot's vboot)
 - if signature is ok, calculate expected PCRs values of the new firmware
   and seal the secret to them

This "forward sealing" is supported by OpenXT, so it may be a good idea
to take a look at how they do that in details. Some documentation is
here:
https://openxt.atlassian.net/wiki/spaces/TEST/pages/76910241/Forward+Seal+Test+Procedures
https://openxt.atlassian.net/wiki/spaces/DC/pages/77302339/TPM+2.0
(AFAIR they had this for TPM 1.2 too)
The actual script for this (OpenXT specific):
https://github.com/OpenXT/xenclient-oe/blob/master/recipes-openxt/openxt-measuredlaunch/openxt-measuredlaunch/seal-system

If you'd like to tackle this, I can connect you with OpenXT people
and/or forward some questions.

Contributor guide

Open the contributing guide

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 by reading the OpenXT forward-seal documentation and the linked seal-system script, then review the referenced discussion in pull request #511. The issue considers firmware signature verification and sealing secrets to expected PCR values; done would require a defined design and implementation covering both parts.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux
Domain
operating-systems, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.