[jose] AEAD and multiple recipients

"Manger, James H" <James.H.Manger@team.telstra.com> Sun, 28 April 2013 13:41 UTC

Return-Path: <James.H.Manger@team.telstra.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 5861821F99E4 for <jose@ietfa.amsl.com>; Sun, 28 Apr 2013 06:41:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.901
X-Spam-Level:
X-Spam-Status: No, score=-0.901 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_AU=0.377, HOST_EQ_AU=0.327, RELAY_IS_203=0.994]
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 Xdm9aOMtPU7i for <jose@ietfa.amsl.com>; Sun, 28 Apr 2013 06:41:33 -0700 (PDT)
Received: from ipxano.tcif.telstra.com.au (ipxano.tcif.telstra.com.au [203.35.82.200]) by ietfa.amsl.com (Postfix) with ESMTP id 97DBC21F99E8 for <jose@ietf.org>; Sun, 28 Apr 2013 06:41:33 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.87,566,1363093200"; d="scan'208";a="134453901"
Received: from unknown (HELO ipcbni.tcif.telstra.com.au) ([10.97.216.204]) by ipoani.tcif.telstra.com.au with ESMTP; 28 Apr 2013 23:41:31 +1000
X-IronPort-AV: E=McAfee;i="5400,1158,7058"; a="130056999"
Received: from wsmsg3757.srv.dir.telstra.com ([172.49.40.85]) by ipcbni.tcif.telstra.com.au with ESMTP; 28 Apr 2013 23:41:31 +1000
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by wsmsg3757.srv.dir.telstra.com ([172.49.40.85]) with mapi; Sun, 28 Apr 2013 23:41:31 +1000
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: "jose@ietf.org" <jose@ietf.org>
Date: Sun, 28 Apr 2013 23:41:29 +1000
Thread-Topic: AEAD and multiple recipients
Thread-Index: Ac5EFhYlXV17JaaZQOqVMnV6Tpl4Xg==
Message-ID: <255B9BB34FB7D647A506DC292726F6E1150CD91C88@WSMSG3153V.srv.dir.telstra.com>
Accept-Language: en-US, en-AU
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US, en-AU
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Subject: [jose] AEAD and multiple recipients
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: Sun, 28 Apr 2013 13:41:34 -0000

For draft-ietf-jose-json-web-encryption-10, it looks like Mike has picked "option 3: Put all per-recipient info into one header; keep this header under the AEAD integrity check; have one nonce" [http://www.ietf.org/mail-archive/web/jose/current/msg02093.html]

I think there is a better choice.

1. Define a JOSE message for applying an AEAD algorithm. This is basically a current "alg":"dir" (direct) JWE message. There is no key exchange info. The JSON header is the AAD.

  <header>.<nonce>.<ciphertext>

2. Define a JOSE message for key exchange. Have key agreement, key transport, key wrapping, and password-based key options. A key exchange JOSE message can be concatenated with another JOSE message that uses the exchanged key (such as a JOSE message from point 1).

  <header>.<originator>.<recipient 1>[.<recipient 2>...].<JOSE message>


This approach keeps integrity protection over the AEAD algorithm parameters, which just possibly might make some attacks harder.
It doesn’t limit JOSE messages to a fixed set of recipients known up front (before any content is protected), which would otherwise prevent a bunch of use cases and privacy options.

--
James Manger