How do you keep people from simulating a fido key? There is intrinsically no way to detect if the hardware signature was actually done by hardware.
There is a way to make it correct, though. Device manufacturer also has to inject its own root private key into the device. So the device will use additional, third signature on behalf of manufacturer.
[1] https://developers.yubico.com/U2F/Protocol_details/Key_gener...
There's no need to keep a "root private key" on device.
https://developers.yubico.com/U2F/Attestation_and_Metadata/ https://fidoalliance.org/fido-technotes-the-truth-about-atte...