RE: [Cfrg] new authenticated encryption draft

"Doug Whiting" <DWhiting@hifn.com> Fri, 15 September 2006 02:17 UTC

Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GO3Gj-00054M-0P; Thu, 14 Sep 2006 22:17:29 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GO3Gg-00054G-Vl for cfrg@ietf.org; Thu, 14 Sep 2006 22:17:26 -0400
Received: from outbound-ash.frontbridge.com ([206.16.192.249] helo=outbound2-ash-R.bigfish.com) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GO3Gg-0000bz-HQ for cfrg@ietf.org; Thu, 14 Sep 2006 22:17:26 -0400
Received: from outbound2-ash.bigfish.com (localhost.localdomain [127.0.0.1]) by outbound2-ash-R.bigfish.com (Postfix) with ESMTP id 5A1BA115CBAA; Fri, 15 Sep 2006 02:17:26 +0000 (UTC)
Received: from mail62-ash-R.bigfish.com (unknown [172.18.2.3]) by outbound2-ash.bigfish.com (Postfix) with ESMTP id 510341103BFD; Fri, 15 Sep 2006 02:17:26 +0000 (UTC)
Received: from mail62-ash.bigfish.com (localhost.localdomain [127.0.0.1]) by mail62-ash-R.bigfish.com (Postfix) with ESMTP id 45BA4725595; Fri, 15 Sep 2006 02:17:26 +0000 (UTC)
X-BigFish: VP
Received: by mail62-ash (MessageSwitch) id 115828664622989_12198; Fri, 15 Sep 2006 02:17:26 +0000 (UCT)
Received: from sjcxch03.tbu.com (mailman1.hifn.com [208.10.194.50]) by mail62-ash.bigfish.com (Postfix) with ESMTP id AE38472559F; Fri, 15 Sep 2006 02:17:25 +0000 (UTC)
Received: from cldxch02.tbu.com ([192.168.2.251]) by sjcxch03.tbu.com with Microsoft SMTPSVC(6.0.3790.1830); Thu, 14 Sep 2006 19:17:21 -0700
Content-class: urn:content-classes:message
MIME-Version: 1.0
X-MimeOLE: Produced By Microsoft Exchange V6.5
Subject: RE: [Cfrg] new authenticated encryption draft
Date: Thu, 14 Sep 2006 19:17:19 -0700
Message-ID: <D68500C6C35614498F63C0AE96BBC6A5CE53E7@CLDXCH02.tbu.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [Cfrg] new authenticated encryption draft
Thread-Index: AcbYWpjKfVvYobnGR4C4fgwbQAjChgAEYcIC
References: <74A5A0C3-8E6E-47B4-A67B-C51ED97B2897@mindspring.com><da7b3ce30608201147u12c0c2f6s61694713e59cfa4a@mail.gmail.com><p06230910c10e98a55c4c@10.30.1.9><f207274d0608221905t2797ca6ew2a769dd5d9e3d410@mail.gmail.com><3D640F53-58F3-4AE4-AEFC-145BBD9BC9A0@cisco.com><f207274d0609011652m3bb76587xdd6cd9e1d3140e63@mail.gmail.com><7BA4156B-14B4-4BB1-BEAD-2237F5B3834D@cisco.com><f207274d0609111132w655f9b7er2e55c20e67973da5@mail.gmail.com><1C7CA0AE-3BCC-437B-891F-0D2831BFBFBC@cisco.com><20060914135834.90452.qmail@cr.yp.to> <D219FE3C-0E02-4EFD-B0B6-7EE85A675EE4@cisco.com>
From: Doug Whiting <DWhiting@hifn.com>
To: David McGrew <mcgrew@cisco.com>, "D. J. Bernstein" <djb@cr.yp.to>
X-OriginalArrivalTime: 15 Sep 2006 02:17:21.0414 (UTC) FILETIME=[1356FA60:01C6D86D]
X-Spam-Score: 0.6 (/)
X-Scan-Signature: 7a0494a0224ca59418dd8f92694c1fdb
Cc: cfrg@ietf.org
X-BeenThere: cfrg@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Crypto Forum Research Group <cfrg.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/cfrg>, <mailto:cfrg-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:cfrg@ietf.org>
List-Help: <mailto:cfrg-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/cfrg>, <mailto:cfrg-request@ietf.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1192808879=="
Errors-To: cfrg-bounces@ietf.org

David, I have heard this argument as well for years. I guess I understand it in the abstract, but I still don't fully get how/where it would really work or be needed. Do we currently have a "segmented" seqNum version of ESP? If not, I don't understand how you can make the sequence numbers work across "uncoordinated" crypto modules. That is, anti-replay will cause problems it seems to me, both on transmit and receive, if there is no coordination. If there is a coordination, why can't the IV space just be divided among them (e.g., for N modules, use log2(N) bits in the IV to distinguish among the modules). Seems like that one-time setup would be very easy to do in a multi-module system, and it avoids the need for random IVs to avoid collisions, since each module can then just use a counter.
 
So I guess that, like Dan, I'm asking for a little better explanation of how a system requiring random IVs might actually be structured. If I can't picture at least one realistic scenario, I have a hard time seeing the need for it in a standard. Hopefully somebody can turn on the light bulb for me.
 
Doug Whiting

________________________________

From: David McGrew [mailto:mcgrew@cisco.com]
Sent: Thu 9/14/2006 5:01 PM
To: D. J. Bernstein
Cc: cfrg@ietf.org
Subject: Re: [Cfrg] new authenticated encryption draft



Hi Dan,

On Sep 14, 2006, at 6:58 AM, D. J. Bernstein wrote:

> David McGrew writes:
>> When a single key is used by multiple encryptors, a unique IV needs
>> to have a distinct IV contribution for each encryptor.  In some
>> cases, it may not be convenient for the encryptors to coordinate
>> among themselves to agree on the values of the IV contribution.
>
> Specific references, please. What are those cases?

from my earlier mail: "For example, consider the case in which there 
is a cluster of devices that share an encryption key in order to 
provide a load balancing or failover capability."  For that matter, 
any protocol which uses a long-term shared secret key, and which is 
not explicitly designed to support a distributed implementation, but 
which ends up being implemented in a distributed manner anyway.

> Why can't the key
> generator hand out a counter along with the key?

You're assuming that there is a central entity distributing the key; 
why should we enforce that limitation on our systems?  Distributed 
systems are non-trivial, and forcing the use of unique IVs on them 
would create a need for coordination that could otherwise be 
avoided.  If a central authority coordinates all of the counters, 
this would force a single point of failure on the system.  If the 
counters are managed in a distributed manner (e.g. a VRRP like 
election), there is a chance of failure due to a network partition 
that bifurcates a cluster.

> Who exactly is sharing
> a single secret key among a large number of parties without having a
> list of the parties? What's the name of the software or hardware? How
> exactly does the promiscuous key sharing work? Is it secure? If it 
> isn't
> actually secure, why should we even consider screwing up our APIs to
> support it?

Allowing random IVs is screwing up our APIs?

Your final question neglects the first rationale that I gave for 
random IVs: with deterministic IVs, a provision must be made in order 
to ensure that the IV maintains its uniqueness across reboots, and it 
is not always convenient or desirable to do so.  That reason alone is 
sufficient.

David

>
> ---D. J. Bernstein, Professor, Mathematics, Statistics,
> and Computer Science, University of Illinois at Chicago
>
> _______________________________________________
> Cfrg mailing list
> Cfrg@ietf.org
> https://www1.ietf.org/mailman/listinfo/cfrg

_______________________________________________
Cfrg mailing list
Cfrg@ietf.org
https://www1.ietf.org/mailman/listinfo/cfrg



_______________________________________________
Cfrg mailing list
Cfrg@ietf.org
https://www1.ietf.org/mailman/listinfo/cfrg