Crate fidl_fuchsia_tpm_cr50
source ·Macros
- Pattern that matches an unknown
CcdCapabilityState
member. - Pattern that matches an unknown
CcdCapability
member. - Pattern that matches an unknown
CcdState
member. - Pattern that matches an unknown
Cr50Rc
member. - Pattern that matches an unknown
Cr50Status
member. - Pattern that matches an unknown
PhysicalPresenceEvent
member. - Pattern that matches an unknown
PhysicalPresenceState
member. - Pattern that matches an unknown
TryAuthResponse
member.
Structs
- A Stream of incoming requests for fuchsia.tpm.cr50/Cr50.
- Defines a single entry in the table of failed authentication attempt number to authentication delay.
- Additional data included as part of
LogEntry
required to execute the replay step. - Parameters to InsertLeaf method. TODO(fxbug.dev/88343): Replace with anonymous tables when avaliable as parameter arguments.
- Response from the InsertLeaf method. TODO(fxbug.dev/88343): Replace with anonymous tables when avaliable as parameter arguments.
- Describes a log entry as returned from GetLog.
- Parameters to LogReplay method.
- Response from LogReplay method.
- A Stream of incoming requests for fuchsia.tpm.cr50/PhysicalPresenceNotifier.
- A Stream of incoming requests for fuchsia.tpm.cr50/PinWeaver.
- Parameters to RemoveLeaf method. TODO(fxbug.dev/88343): Replace with anonymous tables when avaliable as parameter arguments.
- Returned on authentication failure when the low entropy secret is incorrect.
- Parameters to the TryAuth method. TODO(fxbug.dev/88343): Replace with anonymous tables when avaliable as parameter arguments.
- Returned on authentication failure when the rate limit has been reached. This is distinct from the other failure mode as the provided low entropy secret may be correct but the caller is locked out until
time_to_wait
has passed. - Returned on authentication success when the low entropy secret is correct.
- Write protect status field.
Enums
- Case-closed debugging capabilities.
- Represents the state of a CCD capability.
- State of case-closed debugging features on this device.
- Response code type for cr50 commands.
- Vendor-specific TPM response codes.
- Enum defining the types of
LogEntry
s that can be returned. - Union passed to OnChange() event handler of |PhysicalPresenceNotifier|.
- Protocol used to notify client of a pending physical presence event. This protocol has no form of backpressure because it is not expected to generate a large number of messages. An unlock or open will usually result in less than 20 messages.
- All the errors that can be returned by the CR50 for the PinWeaver protocol.
- The PinWeaver protocol defines the low level interface to the CR50 firmware for low entropy credentials. This interface allows the caller which should be a high trust component the ability to seal high entropy secrets behind rate-limited low entropy secrets which can only be unsealed if the correct low entropy secret is provided and the rate limit has not been reached.
- Authentication can succeed and fail three distinct ways see the
TryAuth()
method for how. This response is returned on allTryAuth()
calls with one member of the union being filled based on the success or error type.
Constants
- Maximum size of the credential metadata.
- Maximum number of delay schedule entries.
- Size of a SHA256 hash.
- Maximum size of a high entropy secret
- Maximum size of a low entropy secret
- Size of a HMAC-SHA256 hash.
- Maximum number of log entries returned by GetLog.
Traits
Type Aliases
- The list of auxiliary hashes for a particular leaf node. These are the hashes which together with the leaf nodes HMAC are required to recompute the updated root hash of the hash tree.
- Opaque metadata for credential as produced by the PinWeaver server.
- A secure SHA256 sized byte buffer. These are used by the intermediate Merkle tree nodes including the root hash.
- A high entropy secret that is randomly generated and usable for symmetric key encryption.
- The identifier corresponding to a credential within the Merkle tree. This is a globally unique identifier that identifies a specific location in the tree.
- A low entropy or user provided secret such as a pin or password.
- A HMAC-SHA256 over the credential metadata and a secret key stored by the CR50. These form the leaf hashes of the Merkle tree.