public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-devel] [PATCH v4 0/3] TCG_Sp800_155_PlatformId_Event3 support
@ 2024-05-06 18:07 Dionna Glaze via groups.io
  2024-05-06 18:07 ` [edk2-devel] [PATCH v4 1/3] MdePkg: Add TcgSp800155Event3 type info Dionna Glaze via groups.io
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Dionna Glaze via groups.io @ 2024-05-06 18:07 UTC (permalink / raw)
  To: devel
  Cc: Dionna Glaze, Michael D Kinney, Liming Gao, Zhiguang Liu,
	Jiewen Yao, Rahul Kumar, Ard Biesheuvel, Gerd Hoffmann

In December 2023, the TCG published the PC Client Platform Firmware
Profile version 1.06 revision 52. This revision includes a new event
type for NIST SP 800-155 recommended signed BIOS reference measurements.
The new type allows for the event log auditor to find local or remote
copies of the signed reference measurements.

Supporting this new event type eases the process of distributing signed
reference measurements since the machine can now simply report where
they can be found in a standard way.

Changes since v3:
  - Fixed build error from 1 too many ')'s.
  - Fixed formatting for uncrustify.
Changes since v2:
  - Removed errant spacing.
Changes since v1:
  - MdePkg defines TCG_Sp800_155_PlatformId_Event3 instead of adding a
    comment about Event3 to Event2.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

Dionna Glaze (3):
  MdePkg: Add TcgSp800155Event3 type info
  SecurityPkg: Recognize sp800155Event3 event
  OvmfPkg: Add sp800155Event3 support

 .../IndustryStandard/UefiTcgPlatform.h        | 38 ++++++++++++++++++-
 OvmfPkg/Tcg/TdTcg2Dxe/TdTcg2Dxe.c             | 15 +++++---
 SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c             | 15 +++++---
 3 files changed, 57 insertions(+), 11 deletions(-)

--
2.45.0.rc1.225.g2a3ae87e7f-goog


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#118610): https://edk2.groups.io/g/devel/message/118610
Mute This Topic: https://groups.io/mt/105945150/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [edk2-devel] [PATCH v4 1/3] MdePkg: Add TcgSp800155Event3 type info
  2024-05-06 18:07 [edk2-devel] [PATCH v4 0/3] TCG_Sp800_155_PlatformId_Event3 support Dionna Glaze via groups.io
@ 2024-05-06 18:07 ` Dionna Glaze via groups.io
  2024-05-06 18:07 ` [edk2-devel] [PATCH v4 2/3] SecurityPkg: Recognize sp800155Event3 event Dionna Glaze via groups.io
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Dionna Glaze via groups.io @ 2024-05-06 18:07 UTC (permalink / raw)
  To: devel; +Cc: Dionna Glaze, Michael D Kinney, Liming Gao, Zhiguang Liu,
	Jiewen Yao

TCG PC Client Platform Firmware Profile 1.06 revision 52 of December
2023 added a new event signature and extended information about where a
reference measurement document for the firmware can be found.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>

Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
---
 .../IndustryStandard/UefiTcgPlatform.h        | 38 ++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)

diff --git a/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h b/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
index 61bd4e4667..aaee5d6c88 100644
--- a/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
+++ b/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
@@ -451,6 +451,7 @@ typedef struct tdTCG_PCClientTaggedEvent {
 
 #define TCG_Sp800_155_PlatformId_Event_SIGNATURE   "SP800-155 Event"
 #define TCG_Sp800_155_PlatformId_Event2_SIGNATURE  "SP800-155 Event2"
+#define TCG_Sp800_155_PlatformId_Event3_SIGNATURE  "SP800-155 Event3"
 
 typedef struct tdTCG_Sp800_155_PlatformId_Event2 {
   UINT8       Signature[16];
@@ -478,9 +479,44 @@ typedef struct tdTCG_Sp800_155_PlatformId_Event2 {
   // UINT8               FirmwareManufacturerStr[FirmwareManufacturerStrSize];
   // UINT32              FirmwareManufacturerId;
   // UINT8               FirmwareVersion;
-  // UINT8               FirmwareVersion[FirmwareVersionSize]];
+  // UINT8               FirmwareVersion[FirmwareVersionSize];
 } TCG_Sp800_155_PlatformId_Event2;
 
+typedef struct tdTCG_Sp800_155_PlatformId_Event3 {
+  UINT8       Signature[16];
+  //
+  // Where Vendor ID is an integer defined
+  // at http://www.iana.org/assignments/enterprisenumbers
+  //
+  UINT32      VendorId;
+  //
+  // 16-byte identifier of a given platform's static configuration of code
+  //
+  EFI_GUID    ReferenceManifestGuid;
+  // UINT8               PlatformManufacturerStrSize;
+  // UINT8               PlatformManufacturerStr[PlatformManufacturerStrSize];
+  // UINT8               PlatformModelSize;
+  // UINT8               PlatformModel[PlatformModelSize];
+  // UINT8               PlatformVersionSize;
+  // UINT8               PlatformVersion[PlatformVersionSize];
+  // UINT8               PlatformModelSize;
+  // UINT8               PlatformModel[PlatformModelSize];
+  // UINT8               FirmwareManufacturerStrSize;
+  // UINT8               FirmwareManufacturerStr[FirmwareManufacturerStrSize];
+  // UINT32              FirmwareManufacturerId;
+  // UINT8               FirmwareVersion;
+  // UINT8               FirmwareVersion[FirmwareVersionSize];
+  //
+  // Below structure is newly added in TCG_Sp800_155_PlatformId_Event3
+  //
+  // UINT32              RimLocatorType;
+  // UINT32              RimLocatorLength;
+  // UINT8               RimLocator[RimLocatorLength];
+  // UINT32              PlatformCertLocatorType;
+  // UINT32              PlatformCertLocatorLength;
+  // UINT8               PlatformCertLocator[PlatformCertLocatorLength];
+} TCG_Sp800_155_PlatformId_Event3;
+
 #define TCG_EfiStartupLocalityEvent_SIGNATURE  "StartupLocality"
 
 //
-- 
2.45.0.rc1.225.g2a3ae87e7f-goog



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#118611): https://edk2.groups.io/g/devel/message/118611
Mute This Topic: https://groups.io/mt/105945151/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [edk2-devel] [PATCH v4 2/3] SecurityPkg: Recognize sp800155Event3 event
  2024-05-06 18:07 [edk2-devel] [PATCH v4 0/3] TCG_Sp800_155_PlatformId_Event3 support Dionna Glaze via groups.io
  2024-05-06 18:07 ` [edk2-devel] [PATCH v4 1/3] MdePkg: Add TcgSp800155Event3 type info Dionna Glaze via groups.io
@ 2024-05-06 18:07 ` Dionna Glaze via groups.io
  2024-05-06 18:07 ` [edk2-devel] [PATCH v4 3/3] OvmfPkg: Add sp800155Event3 support Dionna Glaze via groups.io
  2024-05-07  1:49 ` [edk2-devel] [PATCH v4 0/3] TCG_Sp800_155_PlatformId_Event3 support Yao, Jiewen
  3 siblings, 0 replies; 5+ messages in thread
From: Dionna Glaze via groups.io @ 2024-05-06 18:07 UTC (permalink / raw)
  To: devel; +Cc: Dionna Glaze, Jiewen Yao, Rahul Kumar

The signatures for event2 or event3 are now valid TCG SP800155 event
types. Fixes uncrustify formatting.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>

Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
---
 SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
index b8f50e25df..b55b6c12d2 100644
--- a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
+++ b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
@@ -812,11 +812,16 @@ Is800155Event (
 {
   if ((((TCG_PCR_EVENT2_HDR *)NewEventHdr)->EventType == EV_NO_ACTION) &&
       (NewEventSize >= sizeof (TCG_Sp800_155_PlatformId_Event2)) &&
-      (CompareMem (
-         NewEventData,
-         TCG_Sp800_155_PlatformId_Event2_SIGNATURE,
-         sizeof (TCG_Sp800_155_PlatformId_Event2_SIGNATURE) - 1
-         ) == 0))
+      ((CompareMem (
+          NewEventData,
+          TCG_Sp800_155_PlatformId_Event2_SIGNATURE,
+          sizeof (TCG_Sp800_155_PlatformId_Event2_SIGNATURE) - 1
+          ) == 0) ||
+       (CompareMem (
+          NewEventData,
+          TCG_Sp800_155_PlatformId_Event3_SIGNATURE,
+          sizeof (TCG_Sp800_155_PlatformId_Event3_SIGNATURE) - 1
+          ) == 0)))
   {
     return TRUE;
   }
-- 
2.45.0.rc1.225.g2a3ae87e7f-goog



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#118612): https://edk2.groups.io/g/devel/message/118612
Mute This Topic: https://groups.io/mt/105945152/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [edk2-devel] [PATCH v4 3/3] OvmfPkg: Add sp800155Event3 support
  2024-05-06 18:07 [edk2-devel] [PATCH v4 0/3] TCG_Sp800_155_PlatformId_Event3 support Dionna Glaze via groups.io
  2024-05-06 18:07 ` [edk2-devel] [PATCH v4 1/3] MdePkg: Add TcgSp800155Event3 type info Dionna Glaze via groups.io
  2024-05-06 18:07 ` [edk2-devel] [PATCH v4 2/3] SecurityPkg: Recognize sp800155Event3 event Dionna Glaze via groups.io
@ 2024-05-06 18:07 ` Dionna Glaze via groups.io
  2024-05-07  1:49 ` [edk2-devel] [PATCH v4 0/3] TCG_Sp800_155_PlatformId_Event3 support Yao, Jiewen
  3 siblings, 0 replies; 5+ messages in thread
From: Dionna Glaze via groups.io @ 2024-05-06 18:07 UTC (permalink / raw)
  To: devel; +Cc: Dionna Glaze, Ard Biesheuvel, Jiewen Yao, Gerd Hoffmann

The signatures for event2 or event3 are now valid TCG SP800155 event
types. Fixes uncrustify formatting.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>

Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
---
 OvmfPkg/Tcg/TdTcg2Dxe/TdTcg2Dxe.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/OvmfPkg/Tcg/TdTcg2Dxe/TdTcg2Dxe.c b/OvmfPkg/Tcg/TdTcg2Dxe/TdTcg2Dxe.c
index 6ca29f5de0..5241f60891 100644
--- a/OvmfPkg/Tcg/TdTcg2Dxe/TdTcg2Dxe.c
+++ b/OvmfPkg/Tcg/TdTcg2Dxe/TdTcg2Dxe.c
@@ -821,11 +821,16 @@ Is800155Event (
 {
   if ((((TCG_PCR_EVENT2_HDR *)NewEventHdr)->EventType == EV_NO_ACTION) &&
       (NewEventSize >= sizeof (TCG_Sp800_155_PlatformId_Event2)) &&
-      (CompareMem (
-         NewEventData,
-         TCG_Sp800_155_PlatformId_Event2_SIGNATURE,
-         sizeof (TCG_Sp800_155_PlatformId_Event2_SIGNATURE) - 1
-         ) == 0))
+      ((CompareMem (
+          NewEventData,
+          TCG_Sp800_155_PlatformId_Event2_SIGNATURE,
+          sizeof (TCG_Sp800_155_PlatformId_Event2_SIGNATURE) - 1
+          ) == 0) ||
+       (CompareMem (
+          NewEventData,
+          TCG_Sp800_155_PlatformId_Event3_SIGNATURE,
+          sizeof (TCG_Sp800_155_PlatformId_Event3_SIGNATURE) - 1
+          ) == 0)))
   {
     return TRUE;
   }
-- 
2.45.0.rc1.225.g2a3ae87e7f-goog



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#118613): https://edk2.groups.io/g/devel/message/118613
Mute This Topic: https://groups.io/mt/105945155/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [edk2-devel] [PATCH v4 0/3] TCG_Sp800_155_PlatformId_Event3 support
  2024-05-06 18:07 [edk2-devel] [PATCH v4 0/3] TCG_Sp800_155_PlatformId_Event3 support Dionna Glaze via groups.io
                   ` (2 preceding siblings ...)
  2024-05-06 18:07 ` [edk2-devel] [PATCH v4 3/3] OvmfPkg: Add sp800155Event3 support Dionna Glaze via groups.io
@ 2024-05-07  1:49 ` Yao, Jiewen
  3 siblings, 0 replies; 5+ messages in thread
From: Yao, Jiewen @ 2024-05-07  1:49 UTC (permalink / raw)
  To: Dionna Glaze, devel@edk2.groups.io
  Cc: Kinney, Michael D, Liming Gao, Liu, Zhiguang, Kumar, Rahul R,
	Ard Biesheuvel, Gerd Hoffmann

Merged https://github.com/tianocore/edk2/pull/5628

> -----Original Message-----
> From: Dionna Glaze <dionnaglaze@google.com>
> Sent: Tuesday, May 7, 2024 2:08 AM
> To: devel@edk2.groups.io
> Cc: Dionna Glaze <dionnaglaze@google.com>; Kinney, Michael D
> <michael.d.kinney@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>; Liu,
> Zhiguang <zhiguang.liu@intel.com>; Yao, Jiewen <jiewen.yao@intel.com>;
> Kumar, Rahul R <rahul.r.kumar@intel.com>; Ard Biesheuvel
> <ardb+tianocore@kernel.org>; Gerd Hoffmann <kraxel@redhat.com>
> Subject: [PATCH v4 0/3] TCG_Sp800_155_PlatformId_Event3 support
> 
> In December 2023, the TCG published the PC Client Platform Firmware
> Profile version 1.06 revision 52. This revision includes a new event
> type for NIST SP 800-155 recommended signed BIOS reference measurements.
> The new type allows for the event log auditor to find local or remote
> copies of the signed reference measurements.
> 
> Supporting this new event type eases the process of distributing signed
> reference measurements since the machine can now simply report where
> they can be found in a standard way.
> 
> Changes since v3:
>   - Fixed build error from 1 too many ')'s.
>   - Fixed formatting for uncrustify.
> Changes since v2:
>   - Removed errant spacing.
> Changes since v1:
>   - MdePkg defines TCG_Sp800_155_PlatformId_Event3 instead of adding a
>     comment about Event3 to Event2.
> 
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Rahul Kumar <rahul1.kumar@intel.com>
> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
> 
> Dionna Glaze (3):
>   MdePkg: Add TcgSp800155Event3 type info
>   SecurityPkg: Recognize sp800155Event3 event
>   OvmfPkg: Add sp800155Event3 support
> 
>  .../IndustryStandard/UefiTcgPlatform.h        | 38 ++++++++++++++++++-
>  OvmfPkg/Tcg/TdTcg2Dxe/TdTcg2Dxe.c             | 15 +++++---
>  SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c             | 15 +++++---
>  3 files changed, 57 insertions(+), 11 deletions(-)
> 
> --
> 2.45.0.rc1.225.g2a3ae87e7f-goog


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#118624): https://edk2.groups.io/g/devel/message/118624
Mute This Topic: https://groups.io/mt/105945150/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-05-07  1:49 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-06 18:07 [edk2-devel] [PATCH v4 0/3] TCG_Sp800_155_PlatformId_Event3 support Dionna Glaze via groups.io
2024-05-06 18:07 ` [edk2-devel] [PATCH v4 1/3] MdePkg: Add TcgSp800155Event3 type info Dionna Glaze via groups.io
2024-05-06 18:07 ` [edk2-devel] [PATCH v4 2/3] SecurityPkg: Recognize sp800155Event3 event Dionna Glaze via groups.io
2024-05-06 18:07 ` [edk2-devel] [PATCH v4 3/3] OvmfPkg: Add sp800155Event3 support Dionna Glaze via groups.io
2024-05-07  1:49 ` [edk2-devel] [PATCH v4 0/3] TCG_Sp800_155_PlatformId_Event3 support Yao, Jiewen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox