I have already identified a way to make an SD card truly read-only on HackaDay.
So let's consider this situation:
- A third party have used dd to transfer the Linux image to an SD card
- The PERM_WRITE_PROTECT bit is set and can not be changed
- There is a hash of the image that will be checked on booting from the card
- The developer have signed the hash with PGP and this is clearly stated online
The purpose of this card is to be able to boot a computer you already own and to know that what was intended to boot is actually running. Could uEFI or BIOS in a computer be compromised?
Security should enable the user to:
- Generate a paper wallet
- Print the wallet with a USB connected printer
- (Other actions needing high security precautions)
To do this with confidence, both the SD card and the code to generate the keys must be verified (hash and PGP signatures) by the user. What am I missing? Are there any loopholes in this combination of hardware and software?