On 15 November 2013 14:54, Ken Goldman <[email protected]> wrote:
> On 11/15/2013 4:24 AM, Thomas Habets wrote:
>> I'm concerned with any cryptography done in software, including
>> generating keys that actually matter in the trust chain or for key
>> storage. Storing on disk is just the biggest concern. Even having them
>> in RAM seems wrong.
> The TPM key is not generated in software.  The key pair is generated on
> the TPM.  The private key is returned encrypted.

I'm not great with TPM terminology. The keys generated in software
that I'm referring to are the root keys. From
http://trousers.sourceforge.net/pkcs11.html:
"The keys which form the roots of these trees are the Private Root Key
and the Public Root Key as depicted above. Both of these keys are
generated in software. "

>> I'm also concerned about *any* way to extract the keys from the TPM,
>> even for attackers that have the user or SO PIN, or even the owner
>> password and SRK (and the SRK needs to be well known for pkcs11, it
>> seems).
> The key is always 'extracted from the TPM' when it is created, then
> loaded for use by the TPM.

I mean in a usable form. There is course no problem with supplying an
opaque blob and a crypto operation to the TPM chip, if the private key
inside the opaque blob is not available for the CPU to use, and the
crypto operation is never "turn this blob into the private key", which
a migration effectively is, as I understand it.

>> So in other words: How do "migratable" keys not enable a bypass of the
>> whole reason for having a TPM chip in the first place?
> There are controls on migration.  It requires the authorization password
> of the parent and the migration authorization password of the key.

For keys under the private root key, does this mean the SRK password
(20 null bytes) and the user PIN?

> The owner password authorizes where it can be migrated.

So one more password to migrate than to use, correct? To me this
sounds like the single protection against copying keys, assuming the
pem files can be retrieved from either the file system, undeleted
files, fs journals, or remapped sectors (bad blocks or wear
levelling). The pem files can be offline cracked.

> All these controls are certainly far better than just having the private
> key on your disk.  But yes, if everyone cooperates, you could migrate
> the key to a software TPM and get the private key.  That's the price you
> pay for backups.

Right. I'd like to sacrifice backups for the benefit of knowing that
all crypto operations now and in the future involve this one
particular piece of hardware. Not a copy or successor of it.

> You must, however, have a plan that's better than, "If the TPM
> fails, my business fails."

I do. Everything breaks eventually, and this would not be a problem.
For one, the TPMs would probably not fail on all client machines at
once.

-- 
typedef struct me_s {
 char name[]      = { "Thomas Habets" };
 char email[]     = { "[email protected]" };
 char kernel[]    = { "Linux" };
 char *pgpKey[]   = { "http://www.habets.pp.se/pubkey.txt"; };
 char pgp[] = { "A8A3 D1DD 4AE0 8467 7FDE  0945 286A E90A AD48 E854" };
 char coolcmd[]   = { "echo '. ./_&. ./_'>_;. ./_" };
} me_t;

------------------------------------------------------------------------------
DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps
OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
Free app hosting. Or install the open source package on any LAMP server.
Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk
_______________________________________________
TrouSerS-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/trousers-users

Reply via email to