A signed message is not always encrypted. It can also be just the message with, appended to it, the result of its hash encrypted by the signature key.
Does Bootguard works by having the boot firmware encrypted?
…
Ok I’m reading that and I understand better:
https://binarly.io/posts/Leaked_Intel_Boot_Guard_keys_What_happened_How_does_it_affect_the_software_supply_chain/index.html
So, what was leaked was the KM private RSA key and the BPM private RSA key, for 4 lines of products (among which we don’t know yet if Framework is [2]).
To clarify what I tried to understand in the previous posts, Bootguard does indeed store the signed hash of the IBB in the BPM (so to modify the IBB one would have to modify the BPM), and the signed hash of the BPM in the KEYM (modifying the BPM involves modifying the KEYM), but fortunately only the hash of the KM RSA public key is stored in a fused CPU register (it’s not clear from the diagram, but it is what is implied in the text of the article [1]).
So, when the KM RSA private key is leaked, this system would allow us to just re-write the KEYM contents (keeping its RSA public key), the BPM completely, and the IBB completely (and thus the BIOS).
I’m just realizing that a skilled individual could unsolder a CPU from one of the compromised product lines and resolder it into a Framework mainboard, in order to have an “jailbreaked” dev board (e.g. for Coreboot development).
Or if it’s a company, they could ask their production line to exceptionally use the compromised key hash to write in the CPU register before fusing it, to create a small number of dev boards (although I’m not sure how legal that would be).
[1] and maybe they are wrong, so that needs confirmation nah, the article gives good details about how they found it out, so that’s pretty sure.
[2] and from the new understanding that the article provided to me, I can say that Framework laptops are probably not concerned by this leak, but as I said one could swap CPUs with a MSI laptop, or even use the leaked keys upstream in the production line to create Bootguard-free boards.
(@Be_Far I think I’ve mostly figured it out, please check out my post)