Re: [jose] Proposed resolution of header criticality issue: meta/asd

"Manger, James H" <James.H.Manger@team.telstra.com> Tue, 12 March 2013 13:40 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 0E93821F8481 for <jose@ietfa.amsl.com>; Tue, 12 Mar 2013 06:40:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.871
X-Spam-Level:
X-Spam-Status: No, score=-0.871 tagged_above=-999 required=5 tests=[AWL=0.030, 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 YM+bxL6QqFta for <jose@ietfa.amsl.com>; Tue, 12 Mar 2013 06:40:10 -0700 (PDT)
Received: from ipxcno.tcif.telstra.com.au (ipxcno.tcif.telstra.com.au [203.35.82.208]) by ietfa.amsl.com (Postfix) with ESMTP id 023B321F8A84 for <jose@ietf.org>; Tue, 12 Mar 2013 06:39:59 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.84,830,1355058000"; d="scan'208";a="119194929"
Received: from unknown (HELO ipccni.tcif.telstra.com.au) ([10.97.216.208]) by ipocni.tcif.telstra.com.au with ESMTP; 13 Mar 2013 00:39:58 +1100
X-IronPort-AV: E=McAfee;i="5400,1158,7011"; a="120547097"
Received: from wsmsg3757.srv.dir.telstra.com ([172.49.40.85]) by ipccni.tcif.telstra.com.au with ESMTP; 13 Mar 2013 00:39:59 +1100
Received: from WSMSG3153V.srv.dir.telstra.com ([172.49.40.159]) by wsmsg3757.srv.dir.telstra.com ([172.49.40.85]) with mapi; Wed, 13 Mar 2013 00:39:58 +1100
From: "Manger, James H" <James.H.Manger@team.telstra.com>
To: "michael.jones@microsoft.com" <michael.jones@microsoft.com>, "rlb@ipv.sx" <rlb@ipv.sx>
Date: Wed, 13 Mar 2013 00:39:58 +1100
Thread-Topic: [jose] Proposed resolution of header criticality issue: meta/asd
Thread-Index: AQHOHycW1XUdMuaSuU6oCo6QrOPCIQ==
Message-ID: <BB2A93A6-A3E9-4C82-B76A-2A2FBF272D6E@team.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
Cc: "jose@ietf.org" <jose@ietf.org>
Subject: Re: [jose] Proposed resolution of header criticality issue: meta/asd
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: Tue, 12 Mar 2013 13:40:13 -0000

I would put "cty" (content type) under "meta".

Mike, do you think "cty" isn't needed, or that there is no value in separating such a field from the others?

--
James Manger

----- Reply message -----
From: "Mike Jones" <Michael.Jones@microsoft.com>
Date: Wed, Mar 13, 2013 12:07 am
Subject: [jose] Proposed resolution of header criticality issue
To: "John Bradley" <ve7jtb@ve7jtb.com>, "Richard Barnes" <rlb@ipv.sx>
Cc: "Tim Bray" <tbray@textuality.com>, "Manger, James H" <James.H.Manger@team.telstra.com>, "Karen O&apos;Donoghue" <odonoghue@isoc.org>, "jose" <jose@ietf.org>

I’m with Richard on this.  The application-specific-data/meta field isn’t needed.

-- Mike

From: Richard Barnes
Sent: ‎March‎ ‎11‎, ‎2013 ‎10‎:‎02‎ ‎PM
To: John Bradley
CC: Tim Bray, Manger, James H, Karen ODonoghue, jose
Subject: Re: [jose] Proposed resolution of header criticality issue

+1 to cheers.  I already high-fived Mike in person.

FWIW, my preference would be to get rid of "asd" or "meta" (part 5).  I don't think it's relevant to the criticality discussion, and it's just not needed.

--Richard



On Mon, Mar 11, 2013 at 11:01 PM, John Bradley <ve7jtb@ve7jtb.com<mailto:ve7jtb@ve7jtb.com>> wrote:

On 2013-03-11, at 10:48 PM, "Manger, James H" <James.H.Manger@team.telstra.com<mailto:James.H.Manger@team.telstra.com>> wrote:

I’ll add some cheers — this does look like substantial progress.

I assume the fields such as “epk”, “apu” etc that sometimes must be understood, and at other times must be ignored (depending on “alg” or “enc” value) would NOT be listed in the “crit” field as they are defined in the “base specs”.

Correct

Being in the “base specs” is the right criteria for whether a field should be listed in “crit” as long as “base specs” means: “base specifications for the particular “alg”/”enc” values”. It shouldn’t mean (and doesn’t have to mean) the base spec for the whole JOSE system.


Crit is only for extensions, it is up to the extension definition to decide if the field needs to be in crit.


P.S. “meta” might be a nicer label than “asd”.

I don't have any particular attachment to the name.   Some places things like this are called associated data, though not the places normal people go I grant you.
Meta-data about the payload is what it is,  The current practice is to use three character names.   I am fine with met or meta (I suspect that if you are throwing crap into the envelope the single character won't kill anyone.

James if you like the solution and want it to be meta I will back you on it :)

John B.


--
James Manger

From: jose-bounces@ietf.org<mailto:jose-bounces@ietf.org> [mailto:jose-<mailto:jose->bounces@ietf.org<mailto:bounces@ietf.org>] On Behalf Of Tim Bray
Sent: Tuesday, 12 March 2013 12:43 PM
To: Karen ODonoghue
Cc: jose
Subject: Re: [jose] Proposed resolution of header criticality issue

Cue wild cheers from the peanut gallery where non-cryptographers sit.  MustIgnore is infinitely more robust and open-ended than MustUnderstand.  -T

On Mon, Mar 11, 2013 at 5:31 PM, Karen O'Donoghue <odonoghue@isoc.org<mailto:odonoghue@isoc.org>> wrote:

Folks,

A side meeting was held Sunday with a number of jose working group participants to try to resolve the open issue related to header criticality. The following are the proposed resolutions from the meeting. Point 5 of the proposed resolution below is actually independent of the other 4 points, and could be considered separately. This will all be discussed in Wednesday's meeting.

In addition to the text below, there was some agreement to replace the "understand" text with something a bit more explicit like "must process". However, that text has not been rolled into the summary text below yet.

Thank you to Jim Schaad, Mike Jones, John Bradley, Nat Sakimura, Martin Thomas, Eric Rescorla, Matt Miller, and Richard Barnes for your efforts (and my apologies if I missed someone).

Regards,
Karen

1:  Change the language “Additional members MAY be present in the JWK.  If present, they MUST be understood by implementations using them.” to “Additional members MAY be present in the JWK.  If not understood by implementations encountering them, they MUST be ignored.”  (And make the same change for JWK Set as well.)

2:  Characterize all existing JWS and JWE header fields as either must be understood or may be ignored.  “alg”, “enc”, and “zip” must be understood.  “kid”, “x5u”, “x5c”, “x5t”, “jwk”, “jku”, “typ”, and “cty” can be ignored because while not using them may result in the inability to process some signatures or encrypted content, this will not result in a security violation – just degraded functionality.  Other fields such as “epk”, “apu”, “apv”, “epu”, and “epv” must be understood and used when “alg” or “enc” values requiring them are used, and otherwise they may be ignored.

3.  Define a new header field that lists which additional fields not defined in the base specifications must be understood and acted upon when present.  For instance, an expiration-time extension field could be marked as must-be-understood-and-acted-upon.  One possible name for this would be “crit” (critical).  An example use, along with a hypothetical “exp” (expiration-time) field is:

  {"alg":"ES256",
   "crit":["exp"],
   "exp”:1363284000
  }

4.  All additional header fields not defined in the base specifications and not contained in the “crit” list MUST be ignored if not understood.

5.  Define a new header field “asd” (application-specific data) whose value is a JSON structure whose contents are opaque to and ignored by JWS and JWE implementations but for which its contents MUST be provided to applications using JWS or JWE, provided that the signature/MAC validation or decryption operation succeeds.  The intended use of this field is to have a standard place to provide application-specific metadata about the payload or plaintext.



_______________________________________________
jose mailing list
jose@ietf.org<mailto:jose@ietf.org>
https://www.ietf.org/mailman/listinfo/jose

_______________________________________________
jose mailing list
jose@ietf.org<mailto:jose@ietf.org>
https://www.ietf.org/mailman/listinfo/jose


_______________________________________________
jose mailing list
jose@ietf.org<mailto:jose@ietf.org>
https://www.ietf.org/mailman/listinfo/jose