Open Enclave  0.17.0
evidence.h
Go to the documentation of this file.
1 // Copyright (c) Open Enclave SDK contributors.
2 // Licensed under the MIT License.
3 
77 #ifndef _OE_ATTESTATION_SGX_EVIDENCE_H
78 #define _OE_ATTESTATION_SGX_EVIDENCE_H
79 
80 #include <openenclave/bits/defs.h>
81 
82 OE_EXTERNC_BEGIN
83 
84 #define OE_FORMAT_UUID_SGX_ECDSA \
85  { \
86  0xa3, 0xa2, 0x1e, 0x87, 0x1b, 0x4d, 0x40, 0x14, 0xb7, 0x0a, 0xa1, \
87  0x25, 0xd2, 0xfb, 0xcd, 0x8c \
88  }
89 
90 #define OE_FORMAT_UUID_LEGACY_REPORT_REMOTE \
91  { \
92  0xc8, 0x30, 0x34, 0x54, 0xd9, 0x23, 0x4c, 0x2c, 0xa6, 0x91, 0xdf, \
93  0x7d, 0xef, 0x46, 0x0a, 0x76 \
94  }
95 
96 #define OE_FORMAT_UUID_RAW_SGX_QUOTE_ECDSA \
97  { \
98  0x19, 0x23, 0xd9, 0x1e, 0x12, 0xd2, 0x4c, 0x72, 0xb2, 0x20, 0x25, \
99  0xcd, 0x8d, 0xac, 0xe8, 0x71 \
100  }
101 
102 #define OE_FORMAT_UUID_SGX_LOCAL_ATTESTATION \
103  { \
104  0x09, 0x26, 0x8c, 0x33, 0x6e, 0x0b, 0x45, 0xe5, 0x8a, 0x27, 0x15, \
105  0x64, 0x4d, 0x0e, 0xf8, 0x9a \
106  }
107 
108 #define OE_FORMAT_UUID_SGX_EPID_LINKABLE \
109  { \
110  0xf2, 0x28, 0xaa, 0x3f, 0xde, 0x4d, 0x49, 0xd3, 0x88, 0x4c, 0xb2, \
111  0xaa, 0x87, 0xa5, 0x0d, 0xa6 \
112  }
113 
114 #define OE_FORMAT_UUID_SGX_EPID_UNLINKABLE \
115  { \
116  0x5c, 0x35, 0xd2, 0x90, 0xa2, 0xc2, 0x4c, 0x55, 0x9e, 0x13, 0x5a, \
117  0xd7, 0x32, 0x74, 0x6c, 0x88 \
118  }
119 
120 #define OE_FORMAT_UUID_SGX_UNKNOWN \
121  { \
122  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
123  0x00, 0x00, 0x00, 0x00, 0x00 \
124  }
125 
126 // SGX specific claims
127 // Required: SGX report body fields that every SQX Quote verification should
128 // output.
129 // 1 boolean flag indicated by "sgx_misc_select_t"
130 #define OE_CLAIM_SGX_PF_GP_EXINFO_ENABLED "sgx_pf_gp_exit_info_enabled"
131 #define OE_CLAIM_SGX_ISV_EXTENDED_PRODUCT_ID "sgx_isv_extended_product_id"
132 // 4 boolean flags indicated by "sgx_attributes_t"
133 #define OE_CLAIM_SGX_IS_MODE64BIT "sgx_is_mode64bit"
134 #define OE_CLAIM_SGX_HAS_PROVISION_KEY "sgx_has_provision_key"
135 #define OE_CLAIM_SGX_HAS_EINITTOKEN_KEY "sgx_has_einittoken_key"
136 #define OE_CLAIM_SGX_USES_KSS "sgx_uses_kss"
137 #define OE_CLAIM_SGX_CONFIG_ID "sgx_config_id"
138 #define OE_CLAIM_SGX_CONFIG_SVN "sgx_config_svn"
139 #define OE_CLAIM_SGX_ISV_FAMILY_ID "sgx_isv_family_id"
140 #define OE_SGX_REQUIRED_CLAIMS_COUNT 9
141 
142 // Optional: SQX Quote verification collaterals.
143 #define OE_CLAIM_SGX_TCB_INFO "sgx_tcb_info"
144 #define OE_CLAIM_SGX_TCB_ISSUER_CHAIN "sgx_tcb_issuer_chain"
145 #define OE_CLAIM_SGX_PCK_CRL "sgx_pck_crl"
146 #define OE_CLAIM_SGX_ROOT_CA_CRL "sgx_root_ca_crl"
147 #define OE_CLAIM_SGX_CRL_ISSUER_CHAIN "sgx_crl_issuer_chain"
148 #define OE_CLAIM_SGX_QE_ID_INFO "sgx_qe_id_info"
149 #define OE_CLAIM_SGX_QE_ID_ISSUER_CHAIN "sgx_qe_id_issuer_chain"
150 #define OE_SGX_OPTIONAL_CLAIMS_COUNT 7
151 
152 // Additional SGX specific claim: for the report data embedded in the SGX quote.
153 
154 #define OE_CLAIM_SGX_REPORT_DATA "sgx_report_data"
155 
160 typedef enum _oe_sgx_tcb_status
161 {
166 
171 
176 
182 
188 
195 
202 
207 
209 
210 OE_EXTERNC_END
211 
212 #endif /* _OE_ATTESTATION_SGX_EVIDENCE_H */
TCB level of SGX platform is outdated and additional configuration of SGX platform may be needed...
Definition: evidence.h:187
TCB level is not valid.
Definition: evidence.h:206
TCB level of the SGX platform is up-to-date but additional configuration of SGX platform may be neede...
Definition: evidence.h:181
TCB level of SGX platform is up-to-date.
Definition: evidence.h:165
TCB level of the SGX platform is up-to-date but additional configuration for the platform and Softwar...
Definition: evidence.h:201
_oe_sgx_tcb_status
TCB level status of SGX platform.
Definition: evidence.h:160
enum _oe_sgx_tcb_status oe_sgx_tcb_status_t
TCB level status of SGX platform.
TCB level of SGX platform is outdated.
Definition: evidence.h:170
TCB level of SGX platform is revoked.
Definition: evidence.h:175
TCB level of the SGX platform is up-to-date but due to certain issues affecting the platform...
Definition: evidence.h:194