Skip to content

Multiple vs Single measurements Environments

Thomas Fossati edited this page Mar 9, 2023 · 4 revisions

In the following, "measurement" is a shorthand for "measurement of a certain type".

Single-measurement Environment

This is the case when:

  • Measurements are layered and there can only be one measurement per layer (e.g., DiceTcbInfo).
; ENV --1:1--> MEAS

[ environment-map, measurement-map ]

Multiple-measurement Environment

This is the case when either:

  • Measurements are not layered (e.g., PSA attester), or
  • Measurements are layered, but there are multiple measurement per layer (*)
; ENV --1:m--> MEAS

[ environment-map, [ + measurement-map ] ]

(*) Note that this is not the case of DiceMultiTcbInfo as the DiceTcbInfo contains both the "name fields" (i.e., environment-map) and the "values fields" (i.e., measurement-values-map). So a more accurate representation is:

[ + (environment-map, measurement-map) ]

Pulling the two together

[ environment-map, measurement-map / [ + measurement-map ] ]

where the alternative is semantically charged:

  • the scalar form means: "at any point in time the environment has only one measurement"
  • the array form means: "at any point in time the environment has many associated measurements"

This arrangement would hold for reference-values, endorsed-values and stateful-environments.