Conversation

Verified boot is an important security feature primarily used to make privileged persistence much more difficult for an attacker. If they can simply write out a vulnerable SoC boot chain, it doesn't work. It's secondarily used for anti-tampering and the same thing applies to it.
2
The primary threat model for verified boot is defending against a remote attacker trying to persist on the device, not physical security. Anti-tampering is a secondary and less important threat model for verified boot. Chromebooks don't really bother even trying to do that part.
3
1
You flash device by interacting with firmware on the device and there are a whole bunch of components which have firmware: SoC firmware including firmware for GPU, media encode/decode, image processing, crypto engine, TEE and much more, touchscreen, battery, USB controller, etc.
2
Open source firmware for everything implies making a new SoC based on open RISC-V core designs and creating a GPU and all the other components like the memory controller, USB controller, battery, touchscreen, TEE, secure element, etc. as part of that too.
2
Open source firmware doesn't imply not having verified boot and rollback protection. Trusty OS and OpenTitan are open source so there's a starting point for making TEE and secure element with the same base that current and future Pixels will be using for the foreseeable future.
1
Rollback protection is an inherent part of verified boot because any non-trivial software is going to have vulnerabilities. It's feasible to make a bootrom that's highly secure and doesn't have vulnerabilities found but it's really not feasible to avoid it in all that firmware.
2
What's enforcing the root of trust that's set by the owner? On a Pixel, it's this firmware boot chain which loads the root of trust from the secure element. In order for the OS to have verified boot, the firmware boot chain and secure element need verified boot before it.
1
Show replies