report=/sys/kernel/config/tsm/report/report0
mkdir $report
dd if=binary_userdata_plus_nonce > $report/inblob
cat $report/outblob > attestation.bin
Hi @fwoodruff,
Welcome to Google Cloud Community!
It's great that you're trying to verify things, but if you configure your bare metal machine it cannot produce the exact same attestation values as a Google Cloud instance.
Here's are the reasons why:
Google Cloud uses specialized hardware specifically designed for their infrastructure. This includes customized motherboards, CPUs, and firmware that is optimized for their environment. Your bare metal machine, even with identical components, will have different unique identifiers (MRSEAM) and configuration due to the manufacturing process.
Google Cloud uses a custom firmware (BIOS) tailored to their infrastructure and security requirements. This is completely different from the firmware on your bare metal machine, which likely comes from the manufacturer.
We encourage you to create a public issue tracker. However, please note that there's no guaranteed timeframe for resolving it. If you need a workaround or urgent assistance, reach out to Google Cloud Support directly.
I hope the above information is helpful.
From my understanding the exact hardware should not effect the measurements.
Instead it is firmware and other software which effect the measurement value and can be verified as per instructions here: https://cloud.google.com/confidential-computing/confidential-vm/docs/verify-firmware
However since the firmware is binary and closed source it's impossible to know the there is not an attack coming from there, we can only verify it is an official Google release (signed). Unless Google open sources the OVHF I don't see the attestation process as adding much value. I've Posted a comment here requesting this: