Re: [jose] comments on draft-jones-json-web-signature and draft-jones-json-web-encryption

David McGrew <mcgrew@cisco.com> Wed, 16 November 2011 12:25 UTC

Return-Path: <mcgrew@cisco.com>
X-Original-To: jose@ietfa.amsl.com
Delivered-To: jose@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 714B221F9481 for <jose@ietfa.amsl.com>; Wed, 16 Nov 2011 04:25:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.119
X-Spam-Level:
X-Spam-Status: No, score=-106.119 tagged_above=-999 required=5 tests=[AWL=-0.120, BAYES_00=-2.599, J_CHICKENPOX_34=0.6, RCVD_IN_DNSWL_MED=-4, 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 vpS9-V6E+3t6 for <jose@ietfa.amsl.com>; Wed, 16 Nov 2011 04:25:49 -0800 (PST)
Received: from mtv-iport-2.cisco.com (mtv-iport-2.cisco.com [173.36.130.13]) by ietfa.amsl.com (Postfix) with ESMTP id A71D221F947B for <jose@ietf.org>; Wed, 16 Nov 2011 04:25:49 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=mcgrew@cisco.com; l=7310; q=dns/txt; s=iport; t=1321446349; x=1322655949; h=cc:message-id:from:to:in-reply-to: content-transfer-encoding:mime-version:subject:date: references; bh=jJHGIdWdXDg0Td3aR0w07SfnIBrLWXZGh1Vshf1RXHI=; b=F1kg9Emql2yyLl/AYr6lDubx9LBT9po6Ocq3OQpE+pXfB5FQJjRwXeuM rbfzMVbu9GssRQmM24GBQwCdeISnGB+fNWFzcu4SXqYJN4yjBdQE383Xg /8GGiMszp7k2Z4la11JxVSXeGWHueBe7MP4AekNBEbpumaaRY12pOTLdp M=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: ApoAANaqw06rRDoH/2dsb2JhbABDhQGUcZAFgQWBcgEBAQMBAQEBDwEQBBEwBgsFBwQLDgMEAQEDAiMDAgInHwkIBhMih2AImk0BjFmSDASBMIdRM2MEiBSMIIU7jGI
X-IronPort-AV: E=Sophos;i="4.69,520,1315180800"; d="scan'208";a="14536527"
Received: from mtv-core-2.cisco.com ([171.68.58.7]) by mtv-iport-2.cisco.com with ESMTP; 16 Nov 2011 12:25:49 +0000
Received: from [10.32.254.210] ([10.32.254.210]) by mtv-core-2.cisco.com (8.14.3/8.14.3) with ESMTP id pAGCPmHT016188; Wed, 16 Nov 2011 12:25:48 GMT
Message-Id: <109CDA9B-7427-4FB5-ADFD-4A72E82E4CAA@cisco.com>
From: David McGrew <mcgrew@cisco.com>
To: Mike Jones <Michael.Jones@microsoft.com>
In-Reply-To: <4E1F6AAD24975D4BA5B16804296739435F7113A8@TK5EX14MBXC285.redmond.corp.microsoft.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"; delsp="yes"
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Apple Message framework v936)
Date: Wed, 16 Nov 2011 04:25:46 -0800
References: <9509AB72-10CC-4BA6-A61C-AD9C4AC7944A@cisco.com> <B26C1EF377CB694EAB6BDDC8E624B6E73A8BEDC2@SN2PRD0304MB235.namprd03.prod.outlook.com> <4E1F6AAD24975D4BA5B16804296739435F7113A8@TK5EX14MBXC285.redmond.corp.microsoft.com>
X-Mailer: Apple Mail (2.936)
X-Mailman-Approved-At: Wed, 16 Nov 2011 04:52:31 -0800
Cc: Anthony Nadalin <tonynad@microsoft.com>, "jose@ietf.org" <jose@ietf.org>
Subject: Re: [jose] comments on draft-jones-json-web-signature and draft-jones-json-web-encryption
X-BeenThere: jose@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Javascript Object Signing and Encryption <jose.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/jose>, <mailto:jose-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/jose>
List-Post: <mailto:jose@ietf.org>
List-Help: <mailto:jose-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/jose>, <mailto:jose-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 16 Nov 2011 12:25:50 -0000

Hi Mike,

On Nov 15, 2011, at 5:57 PM, Mike Jones wrote:

> Upon reflection since Monday's meeting, I believe that the draft  
> title should stay "JSON Web Signature" (as Tony pointed out,  
> "Signing" is in the WG's name!)

we should not be concerned about consistency with the WG name, but  
instead about the perceptions of the reader.  We can't blame the  
reader for expecting an RFC with "signatures" in its name to provide  
asymmetric authentication.  Will implementations that include the  
symmetric message authentication code, but lack any actual signature  
mechanisms, be able to claim conformance to the specification?

> but the text should be clear that the spec describes both how to  
> perform digital signatures and how to perform HMAC operations).  It  
> will no longer use the term "signing" when referring to HMAC  
> operations.
>

Great, that's a key point.

> As Eric Rescorla pointed out during the meeting, the problem with  
> splitting out HMAC into a different spec is that the preparation of  
> the content is essentially identical between the two kinds of  
> operations.  The amount of duplication resulting wouldn't be doing  
> the users of the specs any favors.

Avoiding duplication is a good goal.  Another way to achieve it, while  
being more clear about what conformance to the spec means, is to have  
two drafts, with the MAC draft using definitions from the Signature  
draft.  Say, the Signature draft could have a section or two that  
applies to both, and the MAC draft references those sections.

If there is only going to be one draft, then I strongly encourage the  
WG to use a generic term like "authentication" in the title, or to  
have the title describe both security mechanisms: "JSON Web Signature  
and Message Authentication".

David

>
> 				-- Mike
>
> -----Original Message-----
> From: jose-bounces@ietf.org [mailto:jose-bounces@ietf.org] On Behalf  
> Of Anthony Nadalin
> Sent: Tuesday, November 15, 2011 5:50 PM
> To: David McGrew; jose@ietf.org
> Subject: Re: [jose] comments on draft-jones-json-web-signature and  
> draft-jones-json-web-encryption
>
> At the same time we don't want to confuse folks the other way to  
> have them think we are not addressing signature. The WG name does  
> have signing in it. One option would be to split out the MAC from  
> the signing
>
> -----Original Message-----
> From: jose-bounces@ietf.org [mailto:jose-bounces@ietf.org] On Behalf  
> Of David McGrew
> Sent: Tuesday, November 15, 2011 4:40 AM
> To: jose@ietf.org
> Subject: [jose] comments on draft-jones-json-web-signature and draft- 
> jones-json-web-encryption
>
> Hi
>
> I would like to contribute the following comments.  I have not been  
> closely following the WG, so apologies in advance if I'm rehashing  
> something.
>
> The json-web-signature draft should be changed by using the more  
> generic "authentication" instead of "signature", as suggested in
> Section 9.   HMAC is a (symmetric) message authentication code, and
> not an (asymmetric) digital signature algorithm.  See RFC 4949 for  
> instance for the appropriate definitions.  Calling HMAC a signature  
> method will confuse readers going forward and potentially set  
> incorrect expectations. I suggest the following changes (not because  
> I think these are the only good alternatives, but because I want to be
> constructive):
>
> "JSON Web Signature" -> "JSON Web Authentication"
> "sign" -> "authenticate"
> "signing" -> "authenticating"
> "signature" -> "authentication data"
>
> The security considerations of json-web-signature should explain the  
> difference between symmetric and asymmetric encryption.
>
> Section 9 mentions the possibility of including an unkeyed checksum  
> based on SHA-256.  If that is done, then that will potentially  
> confuse the issue further.  What would the value of that checksum  
> be, and
> would it be a security mechanism?   If it is defined, I suggest that
> it be done in a different draft.
>
> Why are we allowing unauthenticated encryption in draft-jones-json- 
> web-
> encryption?   Authenticated Encryption with Associated Data (AEAD) is
> recommended (in the form of AES-GCM) in the draft, and it avoids all  
> sorts of security issues that are present with unauthenticated  
> encryption (besides being theoretically vulnerable, it has fallen  
> victim to practical attacks [1][2][3][4][5][6][7][8]).  Note that  
> some of these attacks apply when encryption is loosely bound to  
> authentication.  I suggest that AEAD be the only encryption method,  
> and that an RFC 5116 interface be included.  Since GCM is  
> recommended, the interface is already there, but not called out.   
> Omitting unauthenticated encryption will simplify the spec, and  
> improve security.  If there is some percieved issue with AES-GCM,  
> there are other AEAD algorithms that can be used, AES-SIV (synthetic  
> IV mode)
> for instance, or a generic CBC+HMAC composition.   In any case, I
> offer to help craft and/or review this text.
>
> A minor point: JWE recommends AES-GCM; why not have json-web- 
> signature recommend AES-GMAC?
>
> json-web-signature says that "Related encryption capabilities are
> described in the separate JSON Web Encryption (JWE) specification".
> The JWE specification says that "In general, senders SHOULD sign the  
> message and then encrypt the result (thus encrypting the
> signature)".   There ought to be better recommendations for security.
> For instance, encryption without authentication should be disallowed.
>
> regards,
>
> David
>
> --
>
>
> [1] Vaudenay, "Security Flaws Induced by CBC Padding Applications to  
> SSL, IPSEC, WTLS...", EUROCRYPT 2002.
>
> [2] Rizzo, Duong, "Practical Padding Oracle Attacks", Black Hat  
> Europe, 2010.
>
> [3] Jager, Somorovsky, "How To Break XML Encryption", 18th ACM  
> Conference on Computer and Communications Security (CCS), 2011.
>
> [4] Bellare, Kohno, Namprempre, "Breaking and provably repairing the  
> SSH authenticated encryption scheme: A case study of the Encode- 
> then- Encrypt-and-MAC paradigm", ACM Transactions on Information and  
> System Security, May 2004.
>
> [5] Rizzo, Thai, "BEAST: Surprising crypto attack against HTTPS",  
> Ekoparty, 2011.
>
> [6] Bellovin, “Problem Areas for the IP Security Protocols”,  
> Sixth Usenix Unix Security Symposium, 1996.
>
> [7] Paterson, Yau, “Cryptography in theory and practice: The case  
> of encryption in IPsec”, EUROCRYPT 2006,
>
> [8] Degabriele, Paterson, "Attacking the IPsec Standards in  
> Encryption- only Configurations", IEEE Symposium on Security and  
> Privacy, 2007.
>
>
>
>
> _______________________________________________
> jose mailing list
> jose@ietf.org
> https://www.ietf.org/mailman/listinfo/jose
> _______________________________________________
> jose mailing list
> jose@ietf.org
> https://www.ietf.org/mailman/listinfo/jose