You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It doesn't seem to handle auth value sizes in the same way as the reference implementation. From experimenting, it seems to behave as follows:
Trailing zero bytes are stripped from auth values supplied with a password session in a command payload in the implementation of CheckPWAuthSession, which is good.
At least TPM2_HierarchyChangeAuth strips trailing zero bytes from the auth value before storing it, which is good.
At least TPM2_Create strips trailing zero bytes from the auth value of the new object, which is different to the reference implementation (which pads the auth value to the size of the name algorithm).
Duplicating an object with TPM2_Duplicate doesn't normalize the auth value of the duplicated sensitive area by padding it to the size of the name algorithm, which is different to the reference area.
The auth value in sensitive areas loaded with TPM2_LoadExternal are not modified, which is good.
The implementation of EntityGetAuthValue doesn't strip trailing zero bytes from the returned auth value before using it in other TPM code, which is different from the reference implementation.
A consequence of this is that if an object that has an auth value with trailing zero bytes is loaded with TPM2_LoadExternal, then that object's auth value cannot be used for password authentication.
It would be worth figuring out if any of these behavioural differences require handling in go-tpm2.
The text was updated successfully, but these errors were encountered:
I have a Nuvoton TPM on my Dell XPS15:
It doesn't seem to handle auth value sizes in the same way as the reference implementation. From experimenting, it seems to behave as follows:
A consequence of this is that if an object that has an auth value with trailing zero bytes is loaded with TPM2_LoadExternal, then that object's auth value cannot be used for password authentication.
It would be worth figuring out if any of these behavioural differences require handling in go-tpm2.
The text was updated successfully, but these errors were encountered: