Hacker News new | ask | show | jobs
by fpgaminer 3773 days ago
It's not possible to verify the checksum before flashing in this scheme. The EC is the only device that can calculate the checksum (1), and its RAM is probably smaller than its Flash. So there isn't enough RAM to receive the entire update, checksum, and then flash. It needs to stream to flash. So the checksum is either checked after flashing, after which it's too late to go back, or it's checked by the EC during boot, which is again too late.

There are better ways of doing this, but based on the article it seems the EC didn't implement them.

(1) We know this because the checksums are calculated on the decrypted image, and only the EC has the keys to decrypt the image.