heads/modules
Kyle Rankin 31cf85b707
Add Librem Key support to Heads
The Librem Key is a custom device USB-based security token Nitrokey is
producing for Purism and among other things it has custom firmware
created for use with Heads. In particular, when a board is configured
with CONFIG_LIBREMKEY, this custom firmware allows Heads to use the
sealed TOTP secret to also send an HOTP authentication to the Librem
Key. If the HOTP code is successful, the Librem Key will blink a green
LED, if unsuccessful it will blink red, thereby informing the user that
Heads has been tampered with without requiring them to use a phone to
validate the TOTP secret.

Heads will still use and show the TOTP secret, in case the user wants to
validate both codes (in case the Librem Key was lost or is no longer
trusted). It will also show the result of the HOTP verification (but not
the code itself), even though the user should trust only what the Librem
Key displays, so the user can confirm that both the device and Heads are
in sync. If HOTP is enabled, Heads will maintain a new TPM counter
separate from the Heads TPM counter that will increment each time HOTP
codes are checked.

This change also modifies the routines that update TOTP so that if
the Librem Key executables are present it will also update HOTP codes
and synchronize them with a Librem Key.
2018-06-19 12:27:27 -07:00
..
busybox ensure that Linux kernel is updated after a build and that busybox is not spuriously rebuilt (#397) 2018-05-03 18:03:24 -04:00
cairo Add Cairo/FBWhiptail to the build process 2018-03-28 16:42:34 -04:00
coreboot force re-configuration when linux or coreboot config files change (#397) 2018-05-03 16:47:09 -04:00
coreboot-blobs reconfigure submodules if their config files ever change (issue #172) 2017-04-07 10:34:57 -04:00
cryptsetup Define $(CROSS_TOOLS) to ensure reproducible builds (issue #173) 2017-04-08 13:23:34 -04:00
dropbear parallel make fixes and hacks, which seem to work and reduce excessive remaking (issue #394) 2018-05-02 11:38:39 -04:00
fbwhiptail Add Cairo/FBWhiptail to the build process 2018-03-28 16:42:34 -04:00
flashrom Update flashrom to 1.0 2018-03-26 15:21:41 -04:00
flashtools Read and measure an EFI file into initrd during init 2018-04-29 19:58:44 -07:00
frotz adventure module 2018-02-05 11:30:39 -05:00
gpg force cross compile flags for gpg (#299) 2018-02-06 11:13:20 -05:00
kexec Generate a fake EBDA with kexec, removing the need for a custom xen (#227) 2018-02-28 10:48:35 -05:00
libpng Add Cairo/FBWhiptail to the build process 2018-03-28 16:42:34 -04:00
libremkey-hotp-verification Add Librem Key support to Heads 2018-06-19 12:27:27 -07:00
libusb Define $(CROSS_TOOLS) to ensure reproducible builds (issue #173) 2017-04-08 13:23:34 -04:00
libusb-compat Define $(CROSS_TOOLS) to ensure reproducible builds (issue #173) 2017-04-08 13:23:34 -04:00
linux move git hash into /etc/config instead of Linux kernel version and track clean/dirty status (#398) 2018-05-04 14:36:56 -04:00
linuxboot fix path to edk2/OvmfPkg for qemu-linuxboot board (#394) 2018-05-02 15:46:30 -04:00
lvm2 fix url for LVM2 2018-02-02 15:54:01 -05:00
make Build GNU make-4.2 if the system make is the wrong version (issue #88). 2017-01-27 18:00:50 -05:00
mbedtls Define $(CROSS_TOOLS) to ensure reproducible builds (issue #173) 2017-04-08 13:23:34 -04:00
musl Fix linux header install path 2018-05-02 14:30:27 -04:00
musl-cross fix external cross compiler parallel build and patch directories 2018-05-02 14:30:58 -04:00
newt newt: Disable compiling TCL module if tcl headers are installed in system 2018-03-08 18:42:55 -05:00
pciutils Add back flashrom support for KGPE-D16 2018-05-05 18:59:43 -07:00
pixman Add Cairo/FBWhiptail to the build process 2018-03-28 16:42:34 -04:00
popt update URL for popt since rpm5.or gis down (issue #421) 2018-05-29 17:28:47 -04:00
qrencode Define $(CROSS_TOOLS) to ensure reproducible builds (issue #173) 2017-04-08 13:23:34 -04:00
slang slang: disable parallel make during the install target (issue #385) 2018-04-19 20:41:49 -04:00
tpmtotp use tpmtotp git and add hotp command 2018-06-01 12:36:21 -04:00
u-root parallel make fixes and hacks, which seem to work and reduce excessive remaking (issue #394) 2018-05-02 11:38:39 -04:00
util-linux Define $(CROSS_TOOLS) to ensure reproducible builds (issue #173) 2017-04-08 13:23:34 -04:00
zlib make zlib, busybox and musl opt-out 2018-02-13 17:37:28 -05:00