@@ -5,6 +5,7 @@ metadata:
55 namespace : trustee-operator-system
66 annotations :
77 argocd.argoproj.io/sync-wave : " 4"
8+ kbs.confidentialcontainers.org/migrated-from-v1.1.0 : v1.2.0
89data :
910 default_cpu.rego : |
1011 package policy
@@ -105,98 +106,74 @@ data:
105106
106107 ##### Azure vTPM SNP
107108 executables := 3 if {
108- input["az_snp_vtpm"]
109-
110- input["az_snp_vtpm"].measurement in query_reference_value("measurement")
111- input["az_snp_vtpm"].tpm.pcr03 in query_reference_value("snp_pcr03")
112- input["az_snp_vtpm"].tpm.pcr08 in query_reference_value("snp_pcr08")
113- input["az_snp_vtpm"].tpm.pcr09 in query_reference_value("snp_pcr09")
114- input["az_snp_vtpm"].tpm.pcr11 in query_reference_value("snp_pcr11")
115- input["az_snp_vtpm"].tpm.pcr12 in query_reference_value("snp_pcr12")
109+ input["az-snp-vtpm"]
110+
111+ # measurement check commented out per upstream default (launch measurement is Azure platform constant)
112+ # input["az-snp-vtpm"].measurement in query_reference_value("measurement")
113+ input["az-snp-vtpm"].tpm.pcr03 in query_reference_value("snp_pcr03")
114+ input["az-snp-vtpm"].tpm.pcr08 in query_reference_value("snp_pcr08")
115+ input["az-snp-vtpm"].tpm.pcr09 in query_reference_value("snp_pcr09")
116+ input["az-snp-vtpm"].tpm.pcr11 in query_reference_value("snp_pcr11")
117+ input["az-snp-vtpm"].tpm.pcr12 in query_reference_value("snp_pcr12")
116118 }
117119
118120 hardware := 2 if {
119- input["az_snp_vtpm "]
121+ input["az-snp-vtpm "]
120122
121- # Check the reported TCB to validate the ASP FW
122- count(query_reference_value("tcb_bootloader")) > 0
123- input["az_snp_vtpm"].reported_tcb_bootloader in query_reference_value("tcb_bootloader")
124- input["az_snp_vtpm"].reported_tcb_microcode in query_reference_value("tcb_microcode")
125- input["az_snp_vtpm"].reported_tcb_snp in query_reference_value("tcb_snp")
126- input["az_snp_vtpm"].reported_tcb_tee in query_reference_value("tcb_tee")
127- }
128-
129- # Fallback: TCB reference values not collected for Azure yet
130- else := 3 if {
131- input["az_snp_vtpm"]
123+ # TCB checks commented out per upstream default — Azure manages TCB validation
124+ # input["az-snp-vtpm"].reported_tcb_bootloader in query_reference_value("tcb_bootloader")
125+ # input["az-snp-vtpm"].reported_tcb_microcode in query_reference_value("tcb_microcode")
126+ # input["az-snp-vtpm"].reported_tcb_snp in query_reference_value("tcb_snp")
127+ # input["az-snp-vtpm"].reported_tcb_tee in query_reference_value("tcb_tee")
132128 }
133129
134- # For the 'configuration' trust claim 2 stands for
135- # "The configuration is a known and approved config."
136- #
137- # For this, we compare all the configuration fields.
138130 configuration := 2 if {
139- input["az_snp_vtpm"]
140-
141- count(query_reference_value("smt_enabled")) > 0
142- input["az_snp_vtpm"].platform_smt_enabled in query_reference_value("smt_enabled")
143- input["az_snp_vtpm"].platform_tsme_enabled in query_reference_value("tsme_enabled")
144- input["az_snp_vtpm"].policy_abi_major in query_reference_value("abi_major")
145- input["az_snp_vtpm"].policy_abi_minor in query_reference_value("abi_minor")
146- input["az_snp_vtpm"].policy_single_socket in query_reference_value("single_socket")
147- input["az_snp_vtpm"].policy_smt_allowed in query_reference_value("smt_allowed")
148- }
149-
150- # Fallback: configuration reference values not available
151- else := 3 if {
152- input["az_snp_vtpm"]
131+ input["az-snp-vtpm"]
132+
133+ # Config checks commented out per upstream default — Azure platform constants
134+ # input["az-snp-vtpm"].platform_smt_enabled in query_reference_value("smt_enabled")
135+ # input["az-snp-vtpm"].platform_tsme_enabled in query_reference_value("tsme_enabled")
136+ # input["az-snp-vtpm"].policy_abi_major in query_reference_value("abi_major")
137+ # input["az-snp-vtpm"].policy_abi_minor in query_reference_value("abi_minor")
138+ # input["az-snp-vtpm"].policy_single_socket in query_reference_value("single_socket")
139+ # input["az-snp-vtpm"].policy_smt_allowed in query_reference_value("smt_allowed")
153140 }
154141
155142 ##### Azure vTPM TDX
156143 executables := 3 if {
157- input["az_tdx_vtpm "]
144+ input["az-tdx-vtpm "]
158145
159- input["az_tdx_vtpm "].tpm.pcr03 in query_reference_value("tdx_pcr03")
160- input["az_tdx_vtpm "].tpm.pcr08 in query_reference_value("tdx_pcr08")
161- input["az_tdx_vtpm "].tpm.pcr09 in query_reference_value("tdx_pcr09")
162- input["az_tdx_vtpm "].tpm.pcr11 in query_reference_value("tdx_pcr11")
163- input["az_tdx_vtpm "].tpm.pcr12 in query_reference_value("tdx_pcr12")
146+ input["az-tdx-vtpm "].tpm.pcr03 in query_reference_value("tdx_pcr03")
147+ input["az-tdx-vtpm "].tpm.pcr08 in query_reference_value("tdx_pcr08")
148+ input["az-tdx-vtpm "].tpm.pcr09 in query_reference_value("tdx_pcr09")
149+ input["az-tdx-vtpm "].tpm.pcr11 in query_reference_value("tdx_pcr11")
150+ input["az-tdx-vtpm "].tpm.pcr12 in query_reference_value("tdx_pcr12")
164151 }
165152
166153 hardware := 2 if {
167- input["az_tdx_vtpm "]
154+ input["az-tdx-vtpm "]
168155
169156 # Check the quote is a TDX quote signed by Intel SGX Quoting Enclave
170- input["az_tdx_vtpm "].quote.header.tee_type == "81000000"
171- input["az_tdx_vtpm "].quote.header.vendor_id == "939a7233f79c4ca9940a0db3957f0607"
157+ input["az-tdx-vtpm "].quote.header.tee_type == "81000000"
158+ input["az-tdx-vtpm "].quote.header.vendor_id == "939a7233f79c4ca9940a0db3957f0607"
172159
173- # Check OVMF code hash
174- count(query_reference_value("mr_td")) > 0
175- input["az_tdx_vtpm"].quote.body.mr_td in query_reference_value("mr_td")
160+ # mr_td and OVMF checks commented out per upstream default
161+ # input["az-tdx-vtpm"].quote.body.mr_td in query_reference_value("mr_td")
176162
177163 # Check TCB status (covers quote.body.tcb_svn claim check)
178- input["az_tdx_vtpm"].tcb_status == "UpToDate"
179- }
180-
181- # Fallback: mr_td reference values not collected for Azure yet
182- else := 3 if {
183- input["az_tdx_vtpm"]
184-
185- input["az_tdx_vtpm"].quote.header.tee_type == "81000000"
186- input["az_tdx_vtpm"].quote.header.vendor_id == "939a7233f79c4ca9940a0db3957f0607"
187- input["az_tdx_vtpm"].tcb_status == "UpToDate"
164+ input["az-tdx-vtpm"].tcb_status == "UpToDate"
188165 }
189166
190167 configuration := 2 if {
191- input["az_tdx_vtpm "]
168+ input["az-tdx-vtpm "]
192169
193- count(query_reference_value(" xfam")) > 0
194- input["az_tdx_vtpm "].quote.body.xfam in query_reference_value("xfam")
170+ # xfam check commented out per upstream default
171+ # input["az-tdx-vtpm "].quote.body.xfam in query_reference_value("xfam")
195172 }
196173
197174 # Fallback: xfam reference values not available
198175 else := 3 if {
199- input["az_tdx_vtpm "]
176+ input["az-tdx-vtpm "]
200177 }
201178
202179 ##### Bare Metal TDX
@@ -240,6 +217,18 @@ data:
240217 input["tdx"].collateral_expiration_status == "0"
241218 }
242219
220+ # Fallback: TCB OutOfDate — hardware is real TDX but has known advisories
221+ else := 3 if {
222+ input["tdx"]
223+
224+ input["tdx"].quote.header.tee_type == "81000000"
225+ input["tdx"].quote.header.vendor_id == "939a7233f79c4ca9940a0db3957f0607"
226+
227+ input["tdx"].quote.body.mr_td in query_reference_value("mr_td")
228+
229+ input["tdx"].collateral_expiration_status == "0"
230+ }
231+
243232 configuration := 2 if {
244233 input["tdx"]
245234
0 commit comments