Subject: [Q] Key-Agreement?

From: Hilton Day <[email-masked]>
Date: Fri, 12 Feb 1999 16:18:28 +0000

Hi all,

I've been following the S/MIME 3 spec. since late in CMS-09, and am curious
about the Key Agreement Key Management Algorithm, and it's purpose within the
specification...

What purpose does using Key Agreement serve, rather than just using basic the
Key Transport mechanism?

I've had a look through the CMS (10), and it isn't clear what are the merit's
(or not) of using KA vs. KT.

Thanks in advance,

Hilton.

[PS - replies to either me directly, or ietf-smime mailing list (depending on
how useful you think the reply is to others) - I subscribe, so either way I'll
get the response]

--
JCP Computer Services           Tel:    +44 (0) 171 689 6890
16 St Johns Lane,               Fax:    +44 (0) 171 689 0438
London,                         E-Mail: [email-masked]
EC1M 4BS                        WWW:    http://www.jcp.co.uk
United Kingdom

---

From: Russ Housley <[email-masked]>
Date: Fri, 12 Feb 1999 13:00:10 -0500

Hilton:

RSA is a key transport algorithm, and Diffie-Hellman is a key agreement
algorithm.

With RSA, the originator needs the recipient's public key (from the
recipient's certificate).  The CEK is encrypted in the recipient's public
key.  The recipient does not a certificate or public key from the
originator to decrypt the CEK -- the originator only needs his own private key.

With Diffie-Hellman.the originator uses the recipient's public key and his
own private key to create a KEK.  The CEK is then encrypted in the KEK.
For the recipient to form the same KEK, the originator's public key and the
recipient's private key are used.  So, the CMS RecipientInfo structure
permits the originator to send the one-time public key in the message.

I hope this is the level of information you were seeking.

Russ

---

From: Hilton Day <[email-masked]>
Date: Thu, 18 Feb 1999 15:08:08 +0000

Hi all,

What (if anything) denotes whether a CMS message should use KA or KT as the
key-management algorithm?

I've looked through the spec, and can't see anything which mandates a method for
doing this, so I can only assume it is an implementation-specific choice (i.e.
User-input, or the programmers decide when writing the mail client, based on
security policy).

This leaves me wondering why KA is a "must" for the CMS - it is conveivable that
KA would never be used within the context of S/MIME, as mail clients could simply
use KT to wrap their CEK's.

Ok - I realise that in the interests of interoperability, KA should be implemented
in order that a recipient can read a mail sent with a shared-secret-based key, but
in the same way as Symmetric Key-Encryption Key algorithms are a "may", surely
this is something for the implementor to decide?

I realise that, as I've only been following the spec. since CMS-09, I've probably
already missed conversations along these lines, in which case, apologies to all
those who've hashed over this - but I'd appreciate an explanation.. :-)

Thanks,

Hilton.

---

From: Russ Housley <[email-masked]>
Date: Fri, 19 Feb 1999 14:32:21 -0500

Ephemeral-Static Diffie-Hellman is the mandatory to implement algorithm to
ensure interoperability.  Since Ephemeral-Static Diffie-Hellman is a key
agreement algorithm, that is the mandatory to implement portion of the
protocol.

Russ