Return-Path: <bew@cisco.com>
X-Original-To: secdir@core3.amsl.com
Delivered-To: secdir@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix)
 with ESMTP id DCF803A6906; Tue,  8 Mar 2011 09:12:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -109.848
X-Spam-Level: 
X-Spam-Status: No, score=-109.848 tagged_above=-999 required=5
 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, SARE_OBFU_ALL=0.751,
 USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com
 [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TApMZ-2GgiMV;
 Tue,  8 Mar 2011 09:12:11 -0800 (PST)
Received: from sj-iport-4.cisco.com (sj-iport-4.cisco.com [171.68.10.86]) by
 core3.amsl.com (Postfix) with ESMTP id 87A323A68C5;
 Tue,  8 Mar 2011 09:12:11 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com;
 i=bew@cisco.com; l=6711; q=dns/txt; s=iport; t=1299604406; x=1300814006;
 h=subject:mime-version:from:in-reply-to:date:cc: content-transfer-encoding:message-id:references:to;
 bh=NelAVHGDKta/at5DrJUsE5ig0mpEbdhPsbFkxPJ8/kM=;
 b=FHG6cxOXM9bm4yYIDCi3sxzOff6M89NZj5H6WH3fDzl43Ot8x/0E1bZ/
 gb+8pdOW3FVad6F82sDFIzPmAzh/qEAYhUwtYQS4I9omBwxYmF6T6qM8q
 qxFWWRbbWZBC6d1RPgk6uQy2pd47+cBcXtK41N+iBE5aMtG5FHHESYfni k=; 
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AvsEAKbydU2rRN+K/2dsb2JhbACmT3Sjd5w3gxiCSwSFHYcVjCM
X-IronPort-AV: E=Sophos;i="4.62,285,1297036800"; d="scan'208";a="272604843"
Received: from sj-core-4.cisco.com ([171.68.223.138]) by sj-iport-4.cisco.com
 with ESMTP; 08 Mar 2011 17:13:26 +0000
Received: from stealth-10-32-244-213.cisco.com
 (stealth-10-32-244-213.cisco.com [10.32.244.213]) by sj-core-4.cisco.com
 (8.13.8/8.14.3) with ESMTP id p28HDQRe020098; Tue, 8 Mar 2011 17:13:26 GMT
Mime-Version: 1.0 (Apple Message framework v1082)
Content-Type: text/plain; charset=us-ascii
From: Brian Weis <bew@cisco.com>
In-Reply-To: <47CF9528-81A1-49D7-8D4B-B1DCC136581E@ll.mit.edu>
Date: Tue, 8 Mar 2011 09:13:26 -0800
Content-Transfer-Encoding: quoted-printable
Message-Id: <3E69AF7B-D325-4FC5-A003-FEBA1997D67E@cisco.com>
References: <D858A225-D1D1-497D-BA40-A66D3F55AD57@cisco.com>
 <552BBAA9-712F-49B4-8A5F-C671C3817C05@ll.mit.edu>
 <AA323705-436C-4B71-8B51-D2CA9E4E140C@cisco.com>
 <47CF9528-81A1-49D7-8D4B-B1DCC136581E@ll.mit.edu>
To: "Herzog, Jonathan - 0668 - MITLL" <jherzog@ll.mit.edu>
X-Mailer: Apple Mail (2.1082)
Cc: "draft-herzog-static-ecdh@tools.ietf.org"
 <draft-herzog-static-ecdh@tools.ietf.org>, "iesg@ietf.org" <iesg@ietf.org>,
 "secdir@ietf.org" <secdir@ietf.org>
Subject: Re: [secdir] Secdir review of draft-herzog-static-ecdh-05
X-BeenThere: secdir@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Security Area Directorate <secdir.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/secdir>,
 <mailto:secdir-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/secdir>
List-Post: <mailto:secdir@ietf.org>
List-Help: <mailto:secdir-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/secdir>,
 <mailto:secdir-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 08 Mar 2011 17:12:13 -0000

Hi Jonathan,

On Mar 8, 2011, at 8:10 AM, Herzog, Jonathan - 0668 - MITLL wrote:

>=20
> On Mar 8, 2011, at 12:15 AM, Brian Weis wrote:
>=20
>> Hi Jonathan,
>>=20
>> On Mar 6, 2011, at 1:43 PM, Herzog, Jonathan - 0668 - MITLL wrote:
>>>=20
>>> I plan to address these comments and submit a new draft in the next =
few days. Before I do, however, do you mind if I asked you a few =
questions?
>=20
>=20
> [snip]
>=20
>=20
>>>=20
>>> And the rest of the introduction remains the same. Do you think this =
will be enough to orient the reader correctly?
>>=20
>> That'll do the trick nicely, I think.
>=20
> Excellent. Thanks.
>=20
>=20
>=20
>>>=20
>>>> 2. Reference [SEC1] is heavily referenced in this document, for =
both a definition of ECDH and specific methods for using ECDH. But it =
would be good to also mention RFC 6090, which is the best IETF document =
describing ECDH.
>>>=20
>>> I was not previous aware of this RFC-- my bad. I have added it as an =
informative reference, but continued to refer to [Sec1] as the normative =
reference for the ECDH operation. Or do you think that RFC 6090 should =
be the normative reference?
>>=20
>> I would suggesting using RFC 6090 for a normative reference to ECDH =
if you need such a reference. But I don't believe RFC 6090 discusses =
static-static consideration or issues at all, so for that [Sec1] seems =
to be the appropriate normative reference.
>=20
> I'm a little uneasy with using RFC 6090 as a normative reference for =
ECDH, as my impression is that the rest of CMS uses SEC1 as the =
normative reference. (See RFC 5753.) This may be because RFC 6090 is so =
new, but I'm worried that switching to RFC 6090 as the normative =
reference for ECDH will introduce subtle incompatibilities.
>=20
> Also, RFC 6090 doesn't seem to include the cofactor ECDH operation (I =
think), or the use of the SharedInfo/ukm value.
>=20
> Given this, do you mind if I keep SEC1 as normative and use RFC 6090 =
as informative?

Sure, that's fine.

[snip]

>=20
>>> Do I need to explicitly require that the SharedInfo value be used?
>>=20
>> I think your requirements are fine. But because you discuss both ukm =
and SharedInfo, I would clarifying their linkage. For example, in your =
Security Considerations you could mention the role of SharedInfo to =
permute the session so that two sessions setup between the same entities =
will be keyed independently, point out that CMS specifies that ukm is to =
be the value used in SharedInfo, and how ukm is determined so that it =
will properly do its job. This is also rationale for the SHOULD in =
section 2.1.
>=20
> Good point. What do you think of the following change?

Bingo! That explanation seems both complete and clear to me. With that =
inclusion, I think its ready to publish.

Thanks,
Brian

>=20
> WAS
>=20
>=20
>   Extreme care must be used when using static-static Diffie-Hellman
>   (either standard or cofactor) without the use of some per-message
>   value in ukm.  If no message-specific information is used (such as a
>   counter value, or a fresh random string) then the resulting secret
>   key could be used in more than one message.  Under some
>   circumstances, this will open the sender to the 'small subgroup'
>   attack [MenezesUstaoglu] or other, yet-undiscovered attacks on re-
>   used Diffie-Hellman keys.  Applications that cannot tolerate the
>   inclusion of per-message information in ukm (due to bandwidth
>   requirements, for example) SHOULD NOT use static-static ECDH for a
>   recipient without ascertaining that the recipient knows the private
>   value associated with their certified Diffie-Hellman value.=20
>=20
> IS NOW
>=20
>=20
>   Extreme care must be used when using static-static Diffie-Hellman
>   (either standard or cofactor) without the use of some per-message
>   value in ukm.  As described in [RFC5753], the ukm value (if present)
>   will be embedded in a ECC-CMS-SharedInfo structure and the DER-
>   encoding of this structure will be used as the 'SharedInfo' input to
>   the ECDH key-agreement operation in [SEC1], Section 6.1.3.  The
>   purpose of this input is to add a message-unique value to the key-
>   distribution function so that two different sessions of =
static-static
>   ECDH between a given pair of agents result in independent keys.  If
>   the ukm value is not used or is re-used, on the other hand, then the
>   ECC-CMS-SharedInfo structure (and 'SharedInfo' input) will likely =
not
>   vary from message to message.  In this case, the two agents will re-
>   use the same keying material across multiple messages.  This is
>   considered to be bad cryptographic practice and may open the sender
>   to attacks on Diffie-Hellman (e.g., the 'small subgroup' attack
>   [MenezesUstaoglu] or other, yet-undiscovered attacks).
>=20
>   It is for these reasons that Section 2.1 states that message-senders
>   SHOULD include the ukm and SHOULD ensure that the value of ukm is
>   unique to the message being sent.  One way to ensure the uniqueness
>   of ukm is for the message sender to choose a 'sufficiently long'
>   random string for each message (where, as a rule of thumb, a
>   'sufficiently long' string is one at least as long as the keys used
>   by the key-wrap algorithm identified in the keyEncryptionAlgorithm
>   field of the KeyAgreeRecipientInfo structure).  However, other
>   methods (such as a counter) are possible.  Also, applications which
>   cannot tolerate the inclusion of per-message information in ukm (due
>   to bandwidth requirements, for example) SHOULD NOT use static-static
>   ECDH for a recipient without ascertaining that the recipient knows
>   the private value associated with their certified Diffie-Hellman
>   value.
>=20
>=20
>=20
>> BTW, the RFC Index search engine says that RFC 3278 has been =
obsoleted by RFC 5753. You should reference that one (which hopefully =
makes the same statements regarding ukm).
>=20
> Whoops! Good catch. Fortunately, the draft already did reference RFC =
5753. My brain, on the other hand, seem to be taking longer to catch up. =
;-)
>=20
>=20
>=20
> Thanks.
>=20
> --=20
> Jonathan Herzog							=
voice:  (781) 981-2356
> Technical Staff							=
fax:    (781) 981-7687
> Cyber Systems and Technology Group		email:  =
jherzog@ll.mit.edu
> MIT Lincoln Laboratory               			www:    =
http://www.ll.mit.edu/CST/
> 244 Wood Street   =20
> Lexington, MA 02420-9185
>=20


--=20
Brian Weis
Security Standards and Technology, ARTG, Cisco Systems
Telephone: +1 408 526 4796
Email: bew@cisco.com




