This package defines messages for SGX identity and identity expectations.
SgxIdentity
A high-level representation of the identity of an SGX enclave, which includes
the properties of its code identity (sgx.CodeIdentity) and the
security-relevant properties of its execution environment
(sgx.MachineConfiguration).
Specification of which fields from the target enclave identity to match.
Required.
No
asylo.sgx.CodeIdentity
An enclave’s code identity as specified by the SGX architecture. Some of the
fields in this proto are required fields, while others are optional fields
(this is indicated in the comments for individual fields). If a required
field is missing, then the entire proto is considered invalid. On the other
hand, it is OK for an optional field to be missing, if the enclave identity
verifier does not care about matching that particular field (as specified
by the CodeIdentityMatchSpec proto).
Specification of which fields from CodeIdentity to match.
Field
Type
Description
Required
is_mrenclave_match_required
bool
Flag indicating whether to perform a match on MRENCLAVE. Required.
No
is_mrsigner_match_required
bool
Flag indicating whether to perform a match on MRSIGNER. Required.
No
miscselect_match_mask
uint32
Mask indicating which bits from MISCSELECT must be matched. A value of
one in a bit position implies the corresponding bit in MISCSELECT must be
matched. Value of zero implies the corresponding bit must be ignored.
Note that this is a required field. If this field is skipped, no
CodeIdentity will match this identity expectation. Required.
Mask indicating which bits from ATTRIBUTES should be matched. Semantics
similar to the miscselect mask. Note that this is a required field. If
this field is skipped, no CodeIdentity will match this identity
expectation. Required.
No
asylo.sgx.MachineConfigurationMatchSpec
Specification of which fields from MachineConfiguration to match.