!agkXCfUrgbadYlQXRj:kack.it

NixOS + TPMs

182 Members
49 Servers

Load older messages


SenderMessageTime
16 Jul 2021
@andi:kack.itandi-and tango is the remote attestation part to it14:05:09
@grahamc:nixos.org@grahamc:nixos.orgI clicked the link thinking "oh great, exactly what we need, yet another blog post with some obscure commands with dozens of flags that probably makes it work just barely well enough but not actually be thorough"14:08:15
@grahamc:nixos.org@grahamc:nixos.orgbut it is short enough that I reasonably trust it!14:08:23
@andi:kack.itandi-So clevis probably puts the two public parts into the initrd?14:09:15
@grahamc:nixos.org@grahamc:nixos.orgmaybe uses nvram14:09:27
@andi:kack.itandi-https://github.com/latchset/clevis/blob/f8132dfbfdce6db8b2195bc6cd34c46db369ba5d/src/pins/tpm2/clevis-encrypt-tpm2#L7014:11:52
@andi:kack.itandi-apparently does. After that line all your other keys are gone?14:12:16
@andi:kack.itandi-More like here https://github.com/latchset/clevis/blob/f8132dfbfdce6db8b2195bc6cd34c46db369ba5d/src/pins/tpm2/clevis-encrypt-tpm2#L156-L15714:12:23
@grahamc:nixos.org@grahamc:nixos.orgbash ;_;14:13:00
@andi:kack.itandi-Isn't that your favourite language? :)14:13:44
@grahamc:nixos.org@grahamc:nixos.org:)14:13:53
@grahamc:nixos.org@grahamc:nixos.orgset -e # all good!14:13:58
@andi:kack.itandi-oh, I am confusing you with that other guy...14:14:17
@grahamc:nixos.org@grahamc:nixos.orghttps://github.com/latchset/clevis/blob/f8132dfbfdce6db8b2195bc6cd34c46db369ba5d/src/pins/tpm2/clevis-encrypt-tpm2#L21-L2514:16:11
@andi:kack.itandi-Any idea where that code is?14:18:49
@andi:kack.itandi-I've only found a dracut module with that name14:19:16
@grahamc:nixos.org@grahamc:nixos.orgI can't find it14:19:29
@andi:kack.itandi-I feel like I'd want to throw most of clevis away and implement it in Rust/Python/... instead14:41:06
@grahamc:nixos.org@grahamc:nixos.orgwhen people look at Nixpkgs and say "puke, bash" I say yes but it runs in a sandbox and is gone at the end14:50:52
@grahamc:nixos.org@grahamc:nixos.orglike yeah, puke, bash, but you're not forever cursed by its taint 14:51:06
@andi:kack.itandi-"gone" I have an entire directory on my disk full of it that :D14:51:16
@grahamc:nixos.org@grahamc:nixos.orgit is inert! :)14:51:43
@andi:kack.itandi-so yeah, lets understand how all this stuff works before rewriting things from scratch14:51:49
@grahamc:nixos.org@grahamc:nixos.orgrun clevis inside a nix-build with the sandbox disabled :see14:52:18
@grahamc:nixos.org@grahamc:nixos.org * run clevis inside a nix-build with the sandbox disabled14:52:19
@grahamc:nixos.org@grahamc:nixos.org🙈14:52:22
@andi:kack.itandi-The best of none of the worlds?14:52:47
@grahamc:nixos.org@grahamc:nixos.orgbingo14:53:07
@grahamc:nixos.org@grahamc:nixos.orgokay new learning 15:01:07
@grahamc:nixos.org@grahamc:nixos.org
In reply to @grahamc:nixos.org
like, I think the nvram is for "I don't have a filesystem yet!" stuff, plus perhaps password attempt counters

this isn't stored in an arbitrary location in nvram, and it isn't on a per-secret basis, but an overal property of the TPM: a counter of failures:

[nix-shell:~]# tpm2 getcap properties-variable > prop-vals.2

[nix-shell:~]# diff prop-vals.1 prop-vals.2
29c29
< TPM2_PT_LOCKOUT_COUNTER: 0x7
---
> TPM2_PT_LOCKOUT_COUNTER: 0x8

15:02:21

Show newer messages


Back to Room ListRoom Version: 6