Re: More on KEKIdentifiers, and a suggested addition to CMS
"John Ross" <ross@secstan.com> Thu, 11 March 1999 19:08 UTC
Received: from mail.proper.com (mail.proper.com [206.86.127.224]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id OAA08477 for <smime-archive@odin.ietf.org>; Thu, 11 Mar 1999 14:08:35 -0500 (EST)
Received: (from majordomo@localhost) by mail.proper.com (8.8.8/8.8.5) id JAA11182 for ietf-smime-bks; Thu, 11 Mar 1999 09:50:24 -0800 (PST)
Received: from gnasher.sol.co.uk (gnasher.sol.co.uk [194.247.64.2]) by mail.proper.com (8.8.8/8.8.5) with ESMTP id JAA11178 for <ietf-smime@imc.org>; Thu, 11 Mar 1999 09:50:22 -0800 (PST)
Received: from jrwork (e1c6p45.scotland.net [148.176.233.109]) by gnasher.sol.co.uk (8.8.5/8.8.5) with SMTP id RAA14355; Thu, 11 Mar 1999 17:55:57 GMT
Message-ID: <00e901be6c2a$ded01e40$0400000a@jrwork>
From: John Ross <ross@secstan.com>
To: rankney@erols.com, pgut001@cs.aucKland.ac.nz, Russ Housley <housley@spyrus.com>
Cc: ietf-smime@imc.org, burt@RSA.COM
Subject: Re: More on KEKIdentifiers, and a suggested addition to CMS
Date: Thu, 11 Mar 1999 17:51:28 -0800
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.3110.5
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Sender: owner-ietf-smime@imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-smime/mail-archive/>
List-Unsubscribe: <mailto:ietf-smime-request@imc.org?body=unsubscribe>
Content-Transfer-Encoding: 7bit
If you are going to allow the choice to be extended, I agree with Rick that
it should be controlled. Just extending the choice with a new tag (and by
the way it also then needs a new version number), will give problems in the
future, as it is not a unique identifier. What if a private extensions has
been defined already and used tag 3? Also, if every extension to the choice
needs a new CMSversion number assigned, that may be a lot of CMSversion
around in the future. A while back I proposed to have an extensible "choice"
using octet string, it would be better using OID and any defined by as
follows:.
The following is an example ASN.1:
RecipientInfo ::= CHOICE {
ktri KeyTransRecipientInfo,
kari [1] KeyAgreeRecipientInfo,
kekri [2] KEKRecipientInfo,
kext [3] ExternalyDefinedKeyAgreement --for future or private key
management schemes }
ExternalyDefinedKeyAgreement :: = SEQUENCE {
keyTypeIdentifier ObjectIdentier,
keyTypeInfo OCTECT STRING --any defined by OID}
This will at lease make sure that there is unique identifiers for all the
extensions to recipient info.
Regards
John Ross
-----Original Message-----
From: Rich Ankney <rankney@erols.com>
To: pgut001@cs.aucKland.ac.nz <pgut001@cs.aucKland.ac.nz>; Russ Housley
<housley@spyrus.com>
Cc: ietf-smime@imc.org <ietf-smime@imc.org>; burt@RSA.COM <burt@RSA.COM>
Date: Wednesday, March 10, 1999 10:39 AM
Subject: Re: More on KEKIdentifiers, and a suggested addition to CMS
>If we're going to add another recipient type, I'd like to see it be an
>open type (OID and ANY DEFINED BY), of which this would be
>the first case. ANSI X9F3 would like to add another recipient type,
>as well (the Tecsec CKM stuff from X9.69). So we would have:
>
>Key transport
>KEK
>Key agreement
>Other
> Password-based
> CKM
>
>Regards,
>Rich
>
>----------
>> From: Russ Housley <housley@spyrus.com>
>> To: pgut001@cs.aucKland.ac.nz
>> Cc: ietf-smime@imc.org; burt@RSA.COM
>> Subject: Re: More on KEKIdentifiers, and a suggested addition to CMS
>> Date: Monday, March 08, 1999 4:43 AM
>>
>> Peter:
>>
>> I stayed silent to see if anyone would support your suggestion. No one
>> spoke for it, but no one spke against it either. I would like to heard
>> from the list members regarding this suggestion. I do not consider
>silence
>> a reason to make an additional recipient type....
>>
>> Russ
>>
>> At 04:19 AM 2/21/99 +0000, Peter Gutmann wrote:
>> >I don't know what the final resolution on optional vs mandatory
>> KEKIdentifiers
>> >was, but I note that PKCS #15, which AFAIK is the first non-S/MIME use
>of CMS
>> >KEK encryption, already has to explicitly state that KEKIdentifiers are
>null
>> >strings wherever they occur because they're not useful for anything
>(actually
>> >there's a "not recommended" special-case use for them, see below). I
>think
>> >this proves my earlier point that there's going to be very little use
>for a
>> >KEKIdentifier outside S/MIME, so that making it optional would be a good
>idea.
>> >
>> >Looking at the way KEKRecipientInfo is being used in PKCS #15, there's a
>
>> >rather obvious recipient type missing from CMS: Password-based
>encryption.
>> >PKCS #15 has a hack for this which puts the key derivation information
>into
>> >the KEKIdentifier (this being the special-case use mentioned above), but
>I'm
>> >sure this isn't what it was intended for because it isn't a key
>identifier at
>> >all but contains the AlgorithmIdentifier for the password processing.
>What's
>> >really needed is a new recipient type, PasswordRecipientInfo. Included
>below
>> >is a suggestion for this which could drop directly into the CMS draft.
>> >
>> >Peter.
>> >
>> >-- Snip --
>> >
>> >6.2.4 PasswordRecipientInfo Type
>> >
>> > Recipient information using a user-supplied password is represented
>in the
>> > type PasswordRecipientInfo. Each instance of PasswordRecipientInfo
>will
>> > transfer the content-encryption key to one or more recipients who
>have the
>> > previously agreed-upon password.
>> >
>> > PasswordRecipientInfo ::= SEQUENCE {
>> > version CMSVersion, -- always set to 0
>> > keyDerivationAlgorithm KeyDerivationAlgorithmIdentifier,
>> > keyEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
>> > encryptedKey EncryptedKey }
>> >
>> > The fields of type PasswordRecipientInfo have the following meanings:
>> >
>> > version is the syntax version number. It shall always be 0.
>> >
>> > keyDerivationAlgorithm identifies the key-derivation algorithm,
>and any
>> > associated parameters, used to derive the key-encryption key from
>the
>> > user-supplied password.
>> >
>> > keyEncryptionAlgorithm identifies the content-encryption
>algorithm, and
>> > any associated parameters, used to encrypt the content-encryption
>key
>> > with the password-derived key-encryption key.
>> >
>> > encryptedKey is the result of encrypting the content-encryption
>key with
>> > the password-derived key-encryption key.
>> >
>> > The key derivation algorithms are:
>> >
>> > KeyDerivationAlgorithmIdentifer ALGORITHM-IDENTIFIER ::= {
>> > { IDENTIFIED BY id-PBKDF2 },
>> > ...
>> > }
>> >
>> > For key derivation, CMS implementations must include PBKDF2
>[PKCS5v2].
>> >
>> > For content (= key) encryption, CMS implementations must include
>> >Triple-DES
>> > in CBC mode, should include RC2 in CBC mode, and may include other
>> > algorithms (CAST-128, RC5, IDEA, Skipjack) and modes as required.
>CMS
>> > implementations should not include any KSG ciphers such as RC4.
>> >
>> >-- Snip --
>> >
>> >Comments:
>> >
>> >The ContentEncryptionAlgorithmIdentifier is something like:
>> >
>> > ContentEncryptionAlgorithmIdentifier ::= {
>> > { IDENTIFIED BY des-ede3-cbc },
>> > { IDENTIFIED BY rc2CBC },
>> > { IDENTIFIED BY cast5CBC },
>> > { IDENTIFIED BY rc5CBC },
>> > { IDENTIFIED BY ideaCBC },
>> > { IDENTIFIED BY desCBC },
>> > ... -- ... and anything else you can think of, eg Skipjack
>> > }
>> >
>> >but enumerating every possible one is superfluous as they're specified
>> >elsewhere.
>> >
>> >The content is encrypted is as per the KEK algorithm, but using the IV
>given
>> >in the ContentEncryptionAlgorithmIdentifier instead of a fixed IV - this
>is
>> >just standard CMS content encryption. The advantage of using standard
>> OIDs is
>> >that it doesn't require defining a completely new set of OIDs which
>parallel
>> >all of the existing ones just to show that you're encrypting a key.
>Another
>> >way to handle this is as EncryptedContentInfo (which just adds an extra
>> >SEQUENCE around the existing ContentEncryptionAlgorithmIdentifier +
>> >EncryptedContent (=EncryptedKey)), but this is probably going overboard.
>> >
>> >(I'm prepared to accept a 'kekid [0] KEKIdentifier OPTIONAL' after the
>> version
>> > number if that's what's required to get people's grunt of approval for
>the
>> > thing).
>> >
>> >(Before people complain that you can't change the key wrap algorithm, if
>it
>> > ever does become necessary to change it (and I thought the point of the
>
>> > current key wrap design process was to build a solution once and for
>all),
>> > all you need to do is increment the RecipientInfo version number and
>add
>> > whatever you feel like).
>> >
>> >Peter.
>> >
>> >
- More on KEKIdentifiers, and a suggested addition … Peter Gutmann
- Re: More on KEKIdentifiers, and a suggested addit… Russ Housley
- Re: More on KEKIdentifiers, and a suggested addit… John Pawling
- Re: More on KEKIdentifiers, and a suggested addit… Rich Ankney
- RE: More on KEKIdentifiers, and a suggested addit… Jim Schaad (Exchange)
- Re: More on KEKIdentifiers, and a suggested addit… Peter Gutmann
- Re: More on KEKIdentifiers, and a suggested addit… Magnus Nystrom
- Re: More on KEKIdentifiers, and a suggested addit… John Ross
- Re: More on KEKIdentifiers, and a suggested addit… Paul Hoffman / IMC
- Re: More on KEKIdentifiers, and a suggested addit… Russ Housley
- Re: More on KEKIdentifiers, and a suggested addit… Bruce Greenblatt
- Re: More on KEKIdentifiers, and a suggested addit… Paul Hoffman / IMC
- Re: More on KEKIdentifiers, and a suggested addit… Bruce Greenblatt
- Re: More on KEKIdentifiers, and a suggested addit… Russ Housley
- RE: More on KEKIdentifiers, and a suggested addit… Darren Harter
- Re: More on KEKIdentifiers, and a suggested addit… Peter Gutmann
- Re: More on KEKIdentifiers, and a suggested addit… John Pawling
- Re: More on KEKIdentifiers, and a suggested addit… John Ross
- Re: More on KEKIdentifiers, and a suggested addit… John Pawling
- RE: More on KEKIdentifiers, and a suggested addit… John Pawling
- Re: More on KEKIdentifiers, and a suggested addit… Peter Gutmann
- Re: More on KEKIdentifiers, and a suggested addit… ross@secstan
- Re: More on KEKIdentifiers, and a suggested addit… John Pawling
- Re: More on KEKIdentifiers, and a suggested addit… Peter Gutmann
- Re: More on KEKIdentifiers, and a suggested addit… John Pawling
- Re: More on KEKIdentifiers, and a suggested addit… Peter Gutmann
- Re: More on KEKIdentifiers, and a suggested addit… ross@secstan
- Re: More on KEKIdentifiers, and a suggested addit… Rich Ankney
- Re: More on KEKIdentifiers, and a suggested addit… John Pawling
- Re: More on KEKIdentifiers, and a suggested addit… ross@secstan
- Re: More on KEKIdentifiers, and a suggested addit… Russ Housley