A small C program to read/write OTP registers for use with LUKS #67
Labels
No Label
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Sysdeploy/openwrt#67
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
In raspberry pi documentation it says that OTP registers 56-63 can store a user-defined 256 bit private key. It's not really a TPM, but in combination with secure boot, access to it can be restricted. It can be used in combination with secure boot to have a non-interactive LUKS unlock, at least in theory because there doesn't appear to be tooling available to do this. The key can be extracted by using
vcgencmd otp_dump
. If you look at the source, you'll see how to use it (read and write the bytes) in C. It would be great if there was a small C tool to do these two things:cryptsetup luksOpen
This isn't in C but maybe it's sufficient or can be adjusted: https://github.com/raspberrypi/usbboot/blob/master/tools/rpi-otp-private-key
Actually maybe I don't need this for openWRT.
Not needed anymore.