4 ms·
I don't see why a TPM couldn't be open? Nobody makes open-source TPMs (because they're put inside CPUs or attached to motherboards with specific pins and protoc
by jeroenhd 2y ago
I don't see why a TPM couldn't be open? Nobody makes open-source TPMs (because they're put inside CPUs or attached to motherboards with specific pins and protocols) but in theory you could just do it. All you need to do is make sure any secrets stored get wiped permanently whenever you flash new firmware.
It'd be similar to secure boot: usable by default, but reconfigurable so that you can bring your own keys and signatures, putting you in complete control of your hardware, to the point where even the manufacturer no longer has a say in what's running and what isn't.
- eddythompson80 2y agoYou can make your own HSM using a raspberry pi pico https://www.picokeys.com/pico-hsm/ https://www.picokeys.com/pico-hsm/ > usable by default, but reconfigurable so that you can bring your own keys and signatures, putting you in complete control of your hardware, to the point where even the manufacturer no longer has a say in what's running and what isn't. You can control what's your TPM. That's how they work today. Sure their software isn't "open source" but there aren't that many 100% "open source hardware" options around. If you want to be able to flash it, build your own HSM. I don't know if there is a market for a prebuilt microcontroller with something like picokeys preinstalled. I know that the market for "open" hardware is tough.
- raron 2y ago> I don't see why a TPM couldn't be open? Nobody makes open-source TPMs The main advantage of the TPM is how it is made physically. It should be designed to make it hard or impossible to read the secrets out of it and those things depends on how the components are manufactured on the silicon wafer. Maybe the manufacturing process could be published, but I don't think it would help much. You could probably write your own TPM emulator or modify swtpm a bit and compile it to any microcontroller, but in that case the chip could be easily decapped to make all the secrets readable.
- varispeed 2y agoThat's a definition of security by obscurity.
- eptcyka 2y agoIs a yubikey then employing security by obscurity?
- formerly_proven 2y ago100% They’re built from essentially the same secure MCUs as traditional TPMs and both the hardware and the proprietary crypto libraries used on them have been exploited many times over.
- eptcyka 2y agoBut would you not agree that using a yubikey can improve security? If you chose to label TPMs as security by obscurity, so be it, but it doesn’t make them less useful conceptually. Shitty implementations and complexities of UEFI do that.
- PhilipRoman 2y agoUnlike with cryptography, there is no rigorous notion of physical security. Doors, locks and even security systems can all be overcome with sufficient effort, skill and resources. They work because physical attacks require proximity and are very hard to keep anonymous. I seriously doubt that any TPM implementation would last a week against government funded researchers with state of the art technology, but that doesn't mean the TPM is useless.
- varispeed 2y agoNo, it's the same. Cryptography is like a lock that you can overcome with mathematical force. It's just in different domain than physical objects. If you know how the lock is built, you can rule out existence of master key for instance. You don't know if your TPM chip has API where three letter agency can just download the keys from it. You are in the dark. Same with cryptography, you can choose the method, just like you can choose type of lock. There are locks that have not yet been picked, but you can use a hammer, similar with cryptography - you can use quantum computer etc.
- tremon 2y agoAn open TPM does exist: https://www.qemu.org/docs/master/specs/tpm.html#the-qemu-tpm-emulator-device https://www.qemu.org/docs/master/specs/tpm.html#the-qemu-tpm... The TPM emulation offers a full TPM implementation in software, for providing TPM functionality to a virtual machine when the host doesn't have one (or, when the TPM needs to be virtualized for other reasons, e.g. migration).
- yx827ha 2y agoIt's in the works. https://opentitan.org/ https://opentitan.org/