I found this material describing signed boot:
Using fitimage and uboot, it should be possible to check image signature and even boot on encrypted device. I read also that libpkcs11 was added to uboot, so it should be possible to check signature against a smartcard reader.
Did you enquire about those additional security features.
Interesting read. Especially since I just reflashed a device with my own uboot cause it didn't let me install Lede. It was looking for an RSA signature. So given enough motivation and/or resources anything could be hacked.
Basically we are all in the business of (re)flashing excisting hardware to extend its life, make it better and/or add features the original device have.
The question is: what kind of scenarios are you thinking of that it makes sense to use a smart card to access the firmware and make it very difficult to do what we do? The PDF was mainly about robustness. So to use a signature to detect corrupt firmware (tampered/modified) could make sense. Like my own device not continue to boot with "non rsa signed" firmware.
I think it should be more part of the uboot. After booting making it secure is why we need to be able to update packages/kernel. So in that cause we should be able to sign the new update for the uboot to verify before flashing and booting.
The question is: what kind of scenarios are you thinking of that it
makes sense to use a smart card to access the firmware and make it very
difficult to do what we do?
I always suspected that bootloaders include backdoors, because it is much easier to hack a device during boot. You may even boot on a remote system silently without notice.
Any kind of scenario of a company involved in business, research centers, universities, government agencies, etc ... There are also scenarios involving criminal attacks against your hardware (ransom-ware and all).
Smartcards are valuable because they protect the certificates/private keys. So there is no way to recover/fork certificates.
In France, thousands of jobs could be saved every year if companies were more secure.
In the next days, I am going to try to produce an RSA signed system for my WDR-3600.
I believe in Open Source. It will plug any security hole as soon as someone (anywhere) discovers it. Which means you have to be able to update the software. So a kind of checksum / signature should be in place to avoid flashing corrupt data. Then the system should have a kind of dual boot function (like discussed here in a different topic). So in case you do a checksum (whatever kind) on the newly flashed firmware to make sure its not corrupt or a bad flash you can boot in a recovery state. Effectively loosing half of the flash available.
If you can't do the update remotely and securely, its not really scalable. So in case of big companies, universities etc it can become a problem to maintain the whole IT structure. Which is what we are seeing around the world. Even a lot of government computers are still running something like Windows XP to name something silly.
So unless you make it impossible to access the device, and the data you are trying to protect is valuable enough the criminals will find a way. You could probably short circuit the flashchip, piggyback a new one and you wouldn't even notice.
Still it would be nice to see what you can come up with.
Then the system should have a kind of dual boot function (like discussed here in a different topic). So in case you do a checksum (whatever kind) on the newly flashed firmware to make sure its not corrupt or a bad flash you can boot in a recovery state. Effectively loosing half of the flash available.
I will use this topic to report ...
Reset should offer the original blank firmware (or no firmware at all).
I also believe that WIFI should not bridge with local wired network.
Unbound should be unabled by default.
USB ports should be disabled.
Serial console should be disabled.
I also belive that kernel should be built staticly (sure), maybe with
security patches (maybe).
This is kind of a "security" LEDE intended to use in a serious