Subject: Re: [Rats] Propose a new event-log-type in CHARRA

From: "Eric Voit (evoit)" <[email-masked]>
Date: Tue, 1 Sep 2020 12:28:43 +0000

I also have no objection to this addition to Charra.

Eric

From: Ira McDonald, August 28, 2020 10:08 AM

Hi,

+1

I've worried about this fragility in RIMs (Reference Integrity Metrics) all along.

You might be able to fix the boot order of drivers (well maybe not), but you

certainly almost always can't fix the load order of applications and libraries.

Cheers,

- Ira

Ira McDonald (Musician / Software Architect)
Co-Chair - TCG Trusted Mobility Solutions WG

Co-Chair - TCG Metadata Access Protocol SG

Chair - Linux Foundation Open Printing WG
Secretary - IEEE-ISTO Printer Working Group
Co-Chair - IEEE-ISTO PWG Internet Printing Protocol WG
IETF Designated Expert - IPP & Printer MIB
Blue Roof Music / High North Inc
 <http://sites.google.com/site/blueroofmusic> http://sites.google.com/site/blueroofmusic
 <http://sites.google.com/site/highnorthinc> http://sites.google.com/site/highnorthinc
mailto: [email-masked] <mailto:[email-masked]> 
(permanent) PO Box 221  Grand Marais, MI 49839  906-494-2434

On Fri, Aug 28, 2020 at 9:53 AM Panwei (William) <[email-masked] <mailto:[email-masked]> > wrote:

Hi authors, all,

We’ve proposed a new attested-event-log-type in the Github (PR#5 <https://github.com/ietf-rats-wg/basic-yang-module/pull/5> ) a while ago, but unfortunately there is little discussion about it. This is also mentioned at IETF 108 meeting. I think it might be better to bring this topic to the mailing list and give more description about it.

The blue part below is the format of the new type of log that we propose. It literally looks somewhat similar to the IMA log format, because it uses part of the IMA’s concepts in the devices boot measurement.

When the device boots, it needs to load/execute a lot of files, but the order in which these files are loaded/executed is not deterministic or hard to keep fixed, so it’s difficult to give an accurate reference value.

The method to overcome this difficulty is below:

1. The Attester measures each file before execution, extends the hash value of the file into PCR, and records the measurement information of the file in the log.

2. When doing the remote attestation, the Attester sends the final values of the PCRs and the detailed logs to the Verifier.

3. The Verifier has a list of reference values for all files. It compares the hash value of each file recorded in the log with the corresponding reference value. If all files’ hash values match with their reference values, then the Verifier extends the hash values one by one according to the order recorded in the log, gets the final value, and compares the final value with the PCR value sent by the Attester.

Based on this method, we propose the new type of log. Any thoughts?

+--ro output

   +--ro system-event-logs

      +--ro node-data* []

         +--ro tpm-name?     string

         +--ro up-time?      uint32

         +--ro log-result

            +--ro (attested-event-log-type)

               +--:(bios)

               |  +--ro bios-event-logs

               |     +--ro bios-event-entry* [event-number]

               |        +--ro event-number    uint32

               |        +--ro event-type?     uint32

               |        +--ro pcr-index?      pcr

               |        +--ro digest-list* []

               |        |  +--ro hash-algo?   identityref

               |        |  +--ro digest*      binary

               |        +--ro event-size?     uint32

               |        +--ro event-data*     uint8

               +--:(netequip-boot)

               |  +--ro boot-event-logs

               |     +--ro boot-event-entry* [event-number]

               |        +--ro event-number               uint64

               |        +--ro filename-hint?             string

               |        +--ro filedata-hash?             binary

               |        +--ro filedata-hash-algorithm?   string

               |        +--ro file-version?              string

               |        +--ro file-type?                 string

               |        +--ro pcr-index?                 pcr

               +--:(ima)

                  +--ro ima-event-logs

                     +--ro ima-event-entry* [event-number]

                        +--ro event-number               uint64

                        +--ro ima-template?              string

                        +--ro filename-hint?             string

                        +--ro filedata-hash?             binary

                        +--ro filedata-hash-algorithm?   string

                        +--ro template-hash-algorithm?   string

                        +--ro template-hash?             binary

                        +--ro pcr-index?                 pcr

                        +--ro signature?                 binary

Regards & Thanks!

Wei Pan

_______________________________________________
RATS mailing list
[email-masked] <mailto:[email-masked]> 
https://www.ietf.org/mailman/listinfo/rats

---

From: "Meiling Chen" <[email-masked]>
Date: Wed, 2 Sep 2020 10:02:05 +0800

Hi all, 
support +1,
Whether the boot process is deterministic is debatable, but recording the intermediate process is also a must.
It is recommended to add the other two attributes:
  the type of log: such as warning, error, normally
  event log time: record exactly when log was produced

Best,
Meiling
 
From: Panwei (William)
Date: 2020-08-28 21:53
To: [email-masked]
CC: [email-masked]
Subject: [Rats] Propose a new event-log-type in CHARRA
Hi authors, all,
 
We’ve proposed a new attested-event-log-type in the Github (PR#5) a while ago, but unfortunately there is little discussion about it. This is also mentioned at IETF 108 meeting. I think it might be better to bring this topic to the mailing list and give more description about it.
 
+--ro output
   +--ro system-event-logs
      +--ro node-data* []
         +--ro tpm-name?     string
         +--ro up-time?      uint32
         +--ro log-result
 
Regards & Thanks!
Wei Pan

---

From: "Smith, Ned" <[email-masked]>
Date: Fri, 4 Sep 2020 15:39:43 +0000

For the TCG-ers on the list, does this and other CHARRA event log definition align with TCG’s Canonical Event Log definition? For example, the ima definition includes a signature while the TCG CEL doesn’t anticipate signatures.

From: RATS <[email-masked]> on behalf of Meiling Chen <[email-masked]>
Date: Tuesday, September 1, 2020 at 7:05 PM
To: "Panwei (William)" <[email-masked]>, "[email-masked]" <[email-masked]>
Cc: "[email-masked]" <[email-masked]>
Subject: Re: [Rats] Propose a new event-log-type in CHARRA

Hi all,
support +1,

·         Whether the boot process is deterministic is debatable, but recording the intermediate process is also a must.
·

o    It is recommended to add the other two attributes:

o      the type of log: such as warning, error, normally

o      event log time: record exactly when log was produced

Best,
Meiling

From: Panwei (William)<mailto:[email-masked]>
Date: 2020-08-28 21:53
To: [email-masked]<mailto:[email-masked]>
CC: [email-masked]<mailto:[email-masked]>
Subject: [Rats] Propose a new event-log-type in CHARRA
Hi authors, all,

We’ve proposed a new attested-event-log-type in the Github (PR#5<https://github.com/ietf-rats-wg/basic-yang-module/pull/5>) a while ago, but unfortunately there is little discussion about it. This is also mentioned at IETF 108 meeting. I think it might be better to bring this topic to the mailing list and give more description about it.

+--ro output
   +--ro system-event-logs
      +--ro node-data* []
         +--ro tpm-name?     string
         +--ro up-time?      uint32
         +--ro log-result

Regards & Thanks!
Wei Pan