On 10/02/07, Michael Sparks wrote:

> > The TPM was designed with this in mind, and each TPM has its own
keys.
> > Because they're internal to the TPM and can't be extracted by
software,
> > you can have confidence in the TPM's authenticity.
>
> This is waaaay off topic, but how does a remote third party that wants
to 
> trust your system tell the difference between (for example):
>
> * A remote system that's just been bought that's using the TPM to
securely
>   store keys for a secure store/streaming system
>
> * A remote system that is running a virtual machine that looks to the
>   operating system sitting inside that virtual machine as if it has a
TPM
>   module, and that remote machine looks like its just been installed,
and
>   the virtualised OS is otherwise installed identically.

It's all about the keys installed at manufacture. Obviously, the TPM is
just a computer itself (usually an 8 bit micro, but a computer
nonetheless) and could be emulated in software. The security comes from
the isolation of the TPM and the main computer - there is memory in the
TPM that cannot be accessed from the big bad outside world. By placing a
key in the device during manufacture (known as the Endorsement Key -
Google Pt 1), there is an identification that cannot be spoofed by a
rogue TPM. The public part of the Endorsement Key is signed by a
certificate authority as belonging to a particular TPM.

Now, an Attestation Identity Key is generated by the TPM for use by an
application that wants to check the validity of the TPM. That's a
private/public key pair that is signed by the private Endorsement Key.
That new key can be sent to the certificate authority, who can check the
Endorsement Key's signature - and also if that Endorsement Key has been
revoked. If all's ok, the certificate authority signs the Attestation
Identity Key, so the application (who also trusts the CA) knows the TPM
is ok.

There is also a more advanced method for validating the authenticity of
a TPM without the need for trusted third party involvement, called
Direct Anonymous Attestation. 

This presentation gives an overview of DAA:
http://www.zurich.ibm.com/security/daa/daa-slides-ZISC.pdf

Slightly more in depth presentation:
https://www.trustedcomputinggroup.org/news/presentations/051012_DAA-slid
es.pdf

This paper describes in detail with proofs. Exercise for the reader!
http://www.hpl.hp.com/techreports/2004/HPL-2004-93.pdf

> For all intents and purposes the remote third party (eg a person
wanting
> to trust) should get the same responses from the secure system, and
the 
> supposedly secure system.

If the virtualised TPM has the correct EK, you'd be right.

> I don't work with these things, but having read the linux journal
> article[1] sometime back, and knowing how virtualisation works, and
the
> fact that any hardware system can be emulated I can't see how a remote
> third party can truly tell the difference.
>
>  [1] For anyone else, if they haven't read this, its worth reading
since
>      you'll see that TCPA/TPM is a double edged sword that has many
real
>      uses beyond things like DRM. (Once I read it, it struck me that
its
>      primary use is for helping lock down a military laptop in the
event
>      of it being compromised/stolen in an even more secure fashion
than
>      people who are used to used an encrypted loopback device are used
to)

Thanks for mentioning that. Honestly, DRM != TPM. Although it's intended
for day-to-day use in locking down enterprise PCs more than the
military. For example, Vista's Bitlocker will take advantage of a TPM to
store the drive encryption key (that's the only use that Vista puts the
TPM to, as far as I'm aware)

The TCG is not oblivious to the bad press it has received from certain
in the community. Design decisions are made around principles that seem
fine to me. For example, from:
https://www.trustedcomputinggroup.org/specs/bestpractices/Best_Practices
_Principles_Document_V2_0.pdf

"Each owner should have effective choice and control over the use and
operation of the TCG-enabled capabilities that belong to them; their
participation must be opt-in. Subsequently any user can reliably disable
the
TCG functionality in a way that does not violate the owner's policy."

Note the dichotomy between user and owner - I'm using my company's
laptop right now, and it's their right to lock it down. But if I were
using my desktop, that decision would be mine to make.

> Based on your comments, I'm guessing that the TPMs themselves have
default 
> hardware keys as well as being able to generate keys and those default
> keys can in fact be authenticated rather than just being able to
> generated? What's to stop someone opening up the hardware to find out
what
> that is? Obviously that's outside the realms of your average
developer,
> but it's not outside the capabilities of a commercial company.

That's right (as explained above). I've mentioned before that security
isn't binary, and you only spend as much on security as is economically
sensible. Most TPMs will be developed on tamperproof processes, and give
smartcard level protection to secrets. That's strong - not perfect - but
you need to be determined and well resourced to extract secrets from a
well designed device. There are few commercial companies that I would
expect to have such capabilities. In addition, there are no class
secrets in the TPM, meaning if you do crack one - you've only cracked
one.
 
> All clearly hypothetical examples, with varying levels of likelihood,
but 
> since you say you work in the area, I'm curious as to the answer or
> pointers since I suspect there is :)

The guys who develop these specs think about them! Cryptographers have
come up with some fantastic maths - DAA is beyond my skill to invent.
But if you really want to blow your mind, look at the revocation
mechanisms for AACS.

> Feel free to respond with terms that I should google for BTW :)

Hope to have helped!

Tim

-- 
IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium.  Thank you.



-
Sent via the backstage.bbc.co.uk discussion group.  To unsubscribe, please 
visit http://backstage.bbc.co.uk/archives/2005/01/mailing_list.html.  
Unofficial list archive: http://www.mail-archive.com/[email protected]/

Reply via email to