Re: [Cfrg] GCM nonce reuse question

Russ Housley <housley@vigilsec.com> Tue, 02 April 2013 16:12 UTC

Return-Path: <housley@vigilsec.com>
X-Original-To: cfrg@ietfa.amsl.com
Delivered-To: cfrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C598021F8D35 for <cfrg@ietfa.amsl.com>; Tue, 2 Apr 2013 09:12:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.298
X-Spam-Level:
X-Spam-Status: No, score=-102.298 tagged_above=-999 required=5 tests=[AWL=-0.300, BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_33=0.6, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id f9d2DibRH1NW for <cfrg@ietfa.amsl.com>; Tue, 2 Apr 2013 09:12:11 -0700 (PDT)
Received: from odin.smetech.net (mail.smetech.net [208.254.26.82]) by ietfa.amsl.com (Postfix) with ESMTP id 1DD1D21F8D33 for <cfrg@irtf.org>; Tue, 2 Apr 2013 09:12:11 -0700 (PDT)
Received: from localhost (unknown [208.254.26.81]) by odin.smetech.net (Postfix) with ESMTP id 00B72F2406E; Tue, 2 Apr 2013 12:12:10 -0400 (EDT)
X-Virus-Scanned: amavisd-new at smetech.net
Received: from odin.smetech.net ([208.254.26.82]) by localhost (ronin.smetech.net [208.254.26.81]) (amavisd-new, port 10024) with ESMTP id q8JWDSAVI31v; Tue, 2 Apr 2013 12:12:08 -0400 (EDT)
Received: from [192.168.2.100] (pool-108-28-60-169.washdc.fios.verizon.net [108.28.60.169]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by odin.smetech.net (Postfix) with ESMTP id 3745BF24076; Tue, 2 Apr 2013 12:12:08 -0400 (EDT)
Mime-Version: 1.0 (Apple Message framework v1085)
Content-Type: multipart/alternative; boundary="Apple-Mail-22-64866469"
From: Russ Housley <housley@vigilsec.com>
In-Reply-To: <4EC6AC2C-8EE6-4433-8302-E884DD0B3C06@ve7jtb.com>
Date: Tue, 02 Apr 2013 12:12:02 -0400
Message-Id: <6BDAB42A-B894-40E7-ADB9-4DB4337A73EE@vigilsec.com>
References: <006a01ce2b3c$8f0d03b0$ad270b10$@augustcellars.com> <747787E65E3FBD4E93F0EB2F14DB556B183EF2E3@xmb-rcd-x04.cisco.com> <4E1F6AAD24975D4BA5B1680429673943675A0978@TK5EX14MBXC283.redmond.corp.microsoft.com> <004e01ce2fb9$74979730$5dc6c590$@augustcellars.com> <4EC6AC2C-8EE6-4433-8302-E884DD0B3C06@ve7jtb.com>
To: Jim Schaad <jimsch@augustcellars.com>
X-Mailer: Apple Mail (2.1085)
Cc: IRTF CFRG <cfrg@irtf.org>
Subject: Re: [Cfrg] GCM nonce reuse question
X-BeenThere: cfrg@irtf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
List-Unsubscribe: <http://www.irtf.org/mailman/options/cfrg>, <mailto:cfrg-request@irtf.org?subject=unsubscribe>
List-Archive: <http://www.irtf.org/mail-archive/web/cfrg>
List-Post: <mailto:cfrg@irtf.org>
List-Help: <mailto:cfrg-request@irtf.org?subject=help>
List-Subscribe: <http://www.irtf.org/mailman/listinfo/cfrg>, <mailto:cfrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Tue, 02 Apr 2013 16:12:12 -0000

Jim:

RFC 5084 and RFC 6476 both show approaches to the use of authenticated encryption with CMS.  Is there some reason that JOSE is not following one of these approaches?

Russ


On Apr 2, 2013, at 11:59 AM, John Bradley wrote:

> Jim,
> 
> I don't think Mike was proposing that as a solution, but rather an attempt to characterize the issue.
> 
> Yes changing the nonce per recipient would cause the cypher text produced by GCM to change per recipient and need to be repeated, making it an array of JWE effectively, and not really anyones idea of encrypting to multiple recipients.
> 
> In a later email I asked David if we have the same or similar issue with his AES-CBC+HMAC. 
> 
> Perhaps and I think it is too early to go there, perhaps not all encryption algorithms are equally well suited to using with multiple recipients.
> 
> John B.
> 
> On 2013-04-02, at 12:48 PM, "Jim Schaad" <jimsch@augustcellars.com> wrote:
> 
>> Mike,
>>  
>> I will note that this is not going to be considered an acceptable solution for the JOSE group.  You don’t really want to increase the size of the message by n*base64 encoding where in is the number of recipients.
>>  
>> Jim
>>  
>>  
>> From: Mike Jones [mailto:Michael.Jones@microsoft.com] 
>> Sent: Monday, April 01, 2013 5:55 PM
>> To: David McGrew (mcgrew); Jim Schaad
>> Cc: cfrg@irtf.org; John Bradley
>> Subject: RE: GCM nonce reuse question
>>  
>> Hi David,
>>  
>> In reading this thread and http://tools.ietf.org/html/draft-mcgrew-iv-gen-02, I believe that it’s OK, however if the usage is:
>>  
>> (Recipient #1 ciphertext, Recipient #1 authentication tag) = GCM(Key, Recipient #1 data, nonce #1, plain text)
>> (Recipient #2 ciphertext, Recipient #2 authentication tag) = GCM(Key, Recipient #2 data, nonce #2, plain text)
>>  
>> where nonce #1 and nonce #2 are guaranteed to be distinct?  Am I reading things correctly in that regard?
>>  
>>                                                                 Thanks,
>>                                                                 -- Mike
>>  
>> From: cfrg-bounces@irtf.org [mailto:cfrg-bounces@irtf.org] On Behalf Of David McGrew (mcgrew)
>> Sent: Thursday, March 28, 2013 4:15 AM
>> To: Jim Schaad
>> Cc: cfrg@irtf.org
>> Subject: Re: [Cfrg] GCM nonce reuse question
>>  
>> Hi Jim,
>>  
>> From: Jim Schaad <jimsch@augustcellars.com>
>> Date: Wednesday, March 27, 2013 6:43 PM
>> To: David McGrew <mcgrew@cisco.com>
>> Cc: "cfrg@irtf.org" <cfrg@irtf.org>
>> Subject: GCM nonce reuse question
>>  
>> David,
>>  
>> In doing a write up I became worried about a security property of the GCM encryption mode in the way that the JOSE group is currently using it.
>>  
>> There are known problems with not having a unique set of values for IVs and Key pairings.  Do these problems apply to having a different set of auxiliary data as well as the plain text?
>>  
>>  
>> Yes.  The security issues are summarized in http://tools.ietf.org/html/rfc5116#section-5.1.1  but apparently they are not described generally enough.   They should read "plaintext or associated data values".
>>  
>> Specifically the current way that GCM mode is being used in JOSE is
>>  
>> Recipient #1 authentication tag = GCM(Key, Recipient #1 data, nonce, plain text)
>> Recipient #2 authentication tag = GCM(Key, Recipient #2 data, nonce, plain text)
>>  
>> As the key, nonce and plain text are fixed it would produce the same encrypted text value but different authentication tags.
>>  
>>  
>> Can't do that.   Each invocation of the encryption operation needs a distinct nonce, unless all of the encryption operation inputs are identical.
>>  
>> Many thanks for calling this out, Jim.
>>  
>> David
>>  
>> Jim
>>  
> 
> _______________________________________________
> Cfrg mailing list
> Cfrg@irtf.org
> http://www.irtf.org/mailman/listinfo/cfrg