Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump Dasharo Coreboot / hotp-verification; fix nitropad-nxx ec-powerdown #1561

Merged
merged 3 commits into from
Jan 3, 2024

Conversation

daringer
Copy link
Collaborator

This is the upstream relevant part of Nitrokey's next release for the Nitropads, it consists of three parts:

  1. update Dasharo Coreboot to the most recent version (1.7.2)
  1. fix watchdog-based powerdown for nitropad-nxx
  1. updates hotp-verification to obey Nitrokey 3's extended security model
  • older hotp-verification versions + NK3 v1.6 will not allow overwriting the HOTP secret, workaround: delete it manually using nitropy
  • using this hotp-verification version the HOTP secret is first removed before setting it again during HOTP regeneration
  • this change is fully backwards compatible with any previously working tokens

Test Results

First round of tests was done for t430-hotp-max, nitropad-nv41, nitropad-ns50:

  • QubesOS / ubuntu regular boot + installation
  • splash screen visible
  • flashing using the build-time-provided .zip
  • suspend ns50 (S0ix) -> QubesOS (not ok/expected), Ubuntu (ok)
  • suspend nv41 (S3) -> QubesOS (ok), Ubuntu (ok)
  • igfx availability (nv41/ns50) inside Ubuntu (ok)
  • igfx availability (nv41/ns50) inside QubesOS (4.1.2) still llvm-pipe, works with QubesOS 4.2
  • branding and vendor reconfiguration works as expected (site-local)
  • Nitrokey 3 HOTP with firmware <v1.6 & >=v1.6

We plan for another round of testing early in January, once these tests confirm the listed ones - I'll change the PR to be ready-for-review.

* remove all previous coreboot patches (as they are already included)
* to be investigated: linux trampoline patch
* add new patch to hardcode sleep configuration
* activate smmstore as dasharo vendor code requires it

Signed-off-by: Markus Meissner <[email protected]>
* overwriting a hotp secret is not possible anymore
* make sure to delete the hotp secret before setting a new one
* requires one additional user presence check during HOTP setup
* bump to v1.5

Signed-off-by: Markus Meissner <[email protected]>
@tlaurion tlaurion marked this pull request as ready for review December 22, 2023 18:44
@tlaurion
Copy link
Collaborator

@JonathonHall-Purism time to test hotp for regression and approve?

@tlaurion tlaurion self-assigned this Dec 29, 2023
@tlaurion
Copy link
Collaborator

Tested without regression

  • Untested_w530-hotp-maximized (new main machine)

config/coreboot-nitropad-ns50.config Show resolved Hide resolved
config/coreboot-nitropad-nv41.config Show resolved Hide resolved
modules/hotp-verification Show resolved Hide resolved
@daringer
Copy link
Collaborator Author

daringer commented Jan 2, 2024

At this point we cannot get rid of the SMMSTORE - Dasharo introduces reading from it here: This means that currently any Dasharo build is implicitly depending on SMMSTORE (even if it's not explicitly set in the configs, it will be pulled in via EDK2). Removing this might be possible, but is quite a bigger changeset which we would have to introduce and I cannot oversee currently if this would introduce regressions of some kind.

@daringer
Copy link
Collaborator Author

daringer commented Jan 2, 2024

We also did another full test iteration today, fully confirmed what is written in "Test Results" in the initial post

@tlaurion tlaurion mentioned this pull request Jan 2, 2024
49 tasks
Copy link
Collaborator

@JonathonHall-Purism JonathonHall-Purism left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested Librem 14 + Librem Key, looks good to me. Thanks @daringer

@tlaurion tlaurion merged commit 449977b into linuxboot:master Jan 3, 2024
51 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants