<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Dec 29, 2013 at 5:06 PM, David Collier-Brown <span dir="ltr"><<a href="mailto:davecb.42@gmail.com" target="_blank">davecb.42@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">May I request you loudly announce how one checksums one's coreboot,<br>
and in principle other BIOSes, so that one can see if anyone has changed<br>
firmware critical to one's security.<br></blockquote><div><br>Depends... In general this is not done by the firmware at all. Instead, one would either read the system firmware ROM using an independent microcontroller before taking the system out of reset, or after the system has booted by using a tool such as flashrom (<a href="http://www.flashrom.org">http://www.flashrom.org</a>) to read the firmware ROM and then perform the checksum on the output binary. Most systems don't have the microcontroller necessary for the former, and the latter can be tricked with sufficient effort. There are many practical considerations to each approach.<br>

<br>For Chromebooks, full verification is built into coreboot and also utilizes hardware write-protection to ensure there is always a trusted read-only copy of the firmware that is run when the machine is turned on. Any field updateable  portions of the firmware are verified before being run. A detailed overview is available <a href="http://www.chromium.org/chromium-os/chromiumos-design-docs/verified-boot-crypto"><span id="goog_547231233"></span><span id="goog_547231234"></span>here</a>, and the code is open-sourced and can be adapted to other (non-Chromebook) platforms.<br>

<br>I'm am not certain about other secure boot mechanisms out there, but AFAIK they are usually intended to verify the payload (bootloader, OS kernel, etc) rather than the firmware itself. They're pretty much all closed-source, so unless you have a license to the source code you really can't know if they do what you want or that the security model is not easily broken.<br>

<br></div><div>Hope that helps to answer your question.</div></div><br></div></div>