How do you actually know that it is running the open source firmware and not a modified version installed by the manufacturer or replaced in transit?
Two stages, depending on user paranoia:
1) Update the device before using it, with known good firmware (cryptographically signed + deterministic compilation). [Does not rule out rootkit]
2) Open the device, visually verify hardware, and use JTAG/SWD to manually wipe and flash. [Rules out rootkit, FPGA masquerade, etc]
This will mitigate all reasonable attacks. The only one left would a malicious custom ASIC pretending to be the MCU. But if your attacker is willing to spend millions of dollars ... hell, you must be doing something right in your life.
Generally if your computing device is compromised you're kind of doomed, but in this case not so much... because the behavior of the device is sufficiently narrow and all communication mediated via the host, it should be possible to be a little more confident here.
Yes, there are a million and one ways to attack a user when a malicious party can manipulate the hardware. But, you make a great point regardless; better safer than sorry.
My expectation is that you'd make your master key some H(device randomness || user or initial host randomness). You need a way to export the master key data for backup purposes, so with an addition that also lets the user obtain the contributing randomness after obtaining the device master key. Effectively this means the the device cannot undetectable cheat in the way you suggest.
Rather than that, and assuming you have a trusted computer on which to do all this (since it will have access to your master key), just build the backup manually using your own entropy and restore it to the device. Then query the device for a few public keys to verify it's using your backup. I specifically left this option open on my platform, so that advanced users could choose their own means of creating the master key. For example, choosing it like a brainwallet.
As usual, gmaxwell, your comments are wonderfully insightful and helpful. Thank you for taking the time to bat around these ideas with me (and the rest of the community).