3 ms·
The idea for Precursor is that every user runs a different random build of the design.
by marcan_42 5y ago
The idea for Precursor is that every user runs a different random build of the design.
- mlyle 5y agoThe only thing that seems to be randomized in building precursor is the P&R seed. https://github.com/betrusted-io/betrusted-soc/blob/main/betrusted_soc.py#L949 https://github.com/betrusted-io/betrusted-soc/blob/main/betr... That prevents attacks where you have a known place on the FPGA is naughty, but not when you have a lot of elements that are naughty on certain input. It doesn't even really protect against known-naughty-place: there's not infinite freedom on P&R with fixed I/O locations.
- marcan_42 5y agoRight now, sure, but there are more mitigations that can be added. This is an area ripe for research. The idea is that this kind of device and approach allows for further research, which can benefit users in the future since it's soft logic. Again, I'm not saying this is a silver bullet, I'm saying it's an interesting approach and can claim to at least mitigate the risk of silicon backdoors by making them harder to pull off, which is more than can be said of the typical hard logic approach.