On Sat, Nov 29, 2014 at 6:44 PM, Mick <michaelkintz...@gmail.com> wrote: > > Thanks Rich, it seems not all modern MoBos have it. This doesn't: >
Interesting, I had really thought they were ubiquitous. > > If I enable this TPM thing, do I automatically open ports at pre/post-boot > time giving access to my machine? Or is remote attestation something I have a > say over? > It has to be implemented in software. The only thing the chip does is let software call it and ask it to sign data. The chip can't talk to the network on its own. Remote attestation doesn't actually give anybody access to your machine. Now, it does let you prove to somebody that they actually do have access to your machine, if you installed software that gave them access. Suppose I gave you a piece of software and asked you to install it on your machine so that I could evesdrop on everything you do. If you refuse to do it I'll fire you from your job. Without remote attestation you could install that software in a VM or emulator somewhere and tell me you complied, and it would be impossible for me to tell that you did this if your VM was well-implemented. On the other hand, if my software implemented remote attestation then the best you could do is block it, in which case I brand you as non-compliant and fire you. With remote attestation I could get a list of the boot path from the firmware to my software and see if there is anything in it that could tamper with my software. If I dictate that you have to run TrustedCo Linux v5 then I could see that you're running an unpatched version of it and know that my process is directly talking to the kernel, which I know doesn't let you tamper with it, and that kernel is directly running on the hardware having been loaded by a trusted firmware/bootloader. > Also, what happens if the TPM chip, or the whole MoBo blows up? Will I ever > be able to access my data using another PC? Only if you encrypted it. A TPM chip doesn't do much more than except store and retrieve data, and digitally sign things. It just tends to be used in a way that greatly limits the ability of arbitrary processes to access the data stored on the chip. With Linux you're basically completely in control. You choose to encrypt your drive and store the key in the TPM, and you instruct the TPM to only hand it over under the conditions you specify, such as a particular bootloader, kernel, and initramfs (or something like that - I've never implemented it myself). If somebody tries to boot your system with some other kernel/bootloader/initramfs then the TPM will not have the valid signature chain and it will refuse to divulge your full-disk encryption key. I imagine that you could generate the key outside the TPM and keep a copy of it somewhere and load it into the TPM, so that if you mess up you can just mount it manually. It is a bit like UEFI - if you use it properly it becomes a tool which allows the device owner to secure his own device against other intruders. The problems only come when people want to treat your device as if it is their device. With Linux you control almost all of it, though I would GREATLY prefer it if TPM chips did not come with vendor-supplied certificates (that is, if there was no way for anybody to determine if the master key inside was externally loaded by the end user or not). If they didn't come pre-loaded with certificates then they would be just as usable for securing your own machine (since you could add your own certificate/etc), but they would be useless for DRM (since no key was ever in the chip at a time when it was in the possession of somebody trusted by the media companies). I also don't have much more than a general interest in this area, so I'm sure there are some fine details above which are inaccurate. The gist of it should be right though. -- Rich