Posts
5046
Following
330
Followers
504
Linux kernel hacker and maintainer etc.

OpenPGP: 3AB05486C7752FE1
So the story with tpm2sh is that I only started it in August so that link feels like ancient history me in this fast-phased timeline :-)

If you have something other in mind and have good rationale for it, I want to align with that.The point is that tpm2sh is a reference model for me how kernel will handle the ASN.1 format.
2
0
0
@Foxboron My guess it might be TPM2_PolicySecret section that you might be referring into, which was incorrectly handled in earlier versions but as of today it is treated same way as in the ASN.1 spec (objectHandleHint, objectName and policyRef).
0
0
0

Jarkko Sakkinen

Edited 28 days ago
@Foxboron If possible, could you point out the part of the current version that don't right to you?

I'm proactively concerned about this because I need to know what we want for kernel in the long run.

We don't want two separate formats so it is better to address this issue rather sooner than later :-) I'm not hanging myself to my implementation. I'm just working without better information (perhaps).

Actually no need to even look at the source code (unless you really want to). Just describe what goes wrong and I'll check whether I need to address something or if it is already addressed.
2
0
0
@Foxboron I have exactly one optional field "parentPublic".

Other than I'm willing to consider changes if there is need. My tools has been built quite rapidly so maybe you are not in-sync with very latest version but it is otherwise in par with the spec :-)

E.g., in very first version it did handle e.g. PolicySecret incorrectly but as of today it follows correctly the ASN.1 definition.
1
0
0
@Foxboron I need to try that out against my tool. It already nicely operates with openssl and tpm2-tools.

tpm2sh can generate keys with policies.

The set of commands is fairly limited but it is a subset that I pick to maximize coverage for the time being: or, secret and pcr.

Unfortunately spec is quite incomplete when it comes to PolicyOr but my tool generates the full PolicyRestart dance to the file. That way e.g. kernel in future can implement a functional executor.

What executor needs to done with output data:

1. Fill policy handle with active session handle.
2. Resolve handles for PolicySecret calls.

It would be cool to maintain some kind of interoperatibility with sbctl given the state of spec and that way sort of "fill out the blanks" :-)

For auth values in the latest version I've ended up to "<handle>:<hex>" type of list of mappings. Linear list of values is quite difficult to map when you have both purely auth value authenticated object and policies referencing to handles.
1
0
0
@Foxboron sound work with sbctl i have to say :-) superconvenient tool!
1
0
0
@lkundrak @vbabka one of my all time fav norweigan band is turbonegro :-)
0
0
2

Jarkko Sakkinen

what the fuck is youtube offering to me
1
0
0
ray of light was produced by william orbit, and that shows. i.e. in terms of composition and production it is a great album.
1
0
2

Jarkko Sakkinen

Edited 29 days ago
one aspect in security, which has been wrong even in some of the linux foundations pages from time to time is that they differentiate answers between "incorrect password" and "acount does not exist". this should be obviously opaque.

it allows to query which sites user has an account, which is useful information in wrong hands already.

#infosec #oracle
0
2
1

Jarkko Sakkinen

when it comes to infosec i'm glad at least that the "era of silly security questions" is over.

it was super-frustating to copy-paste set-and-forget one-time pad answers to questions such as "what was your mothers maiden name", when they were still a thing.

i don't know who invented them but the person should get some kind of worst invention of IT ever award or something.

#infosec #password
1
0
2

Jarkko Sakkinen

Next thing I'll add to tpm2sh is direct support for keyctl syscall and key re-creation in kernel. After that I can revisit asymmetric keys kernel patch set :-)
0
0
0
@Foxboron I recently migrated from shim to sbctl based secure boot. Now I'm thinking why I did not do this before :-)
1
0
0

Jarkko Sakkinen

Edited 29 days ago
for what is worth here's arch installation running for my Ryzen 9950X desktop :-)

https://git.kernel.org/pub/scm/linux/kernel/git/jarkko/sysdarch.git/

Just though to upload it somewhere for backup.

It has secure boot (sbctl), TPM2 unlock, and finally EXT4, which is probably a twist from current standards (but is so convenient given universal support everywhere).
2
0
0

Jarkko Sakkinen

rust learning of today: to avoid integer overflows when summing up lengths, always use checked_add in such situations :-)

E.g., this is wrong:

    let total_body_len =
        handle_area_size + parameter_area_size_field_len + param_area_size + sessions_len;

And this is right:

    let total_body_len = handle_area_size
        .checked_add(parameter_area_size_field_len)
        .and_then(|len| len.checked_add(param_area_size))
        .and_then(|len| len.checked_add(sessions_len))
        .ok_or(TpmProtocolError::IntegerTooLarge)?;

#rustlang

0
1
1
@tess Actually bullet two is the key of learning and understanding software and becoming a upstream contributor in most of major open source projects :-) You improve the system patch at a time until you understand why it works the way it does.

Thus, 180 degrees disagreement on bullet 2.
1
0
1
Show older