Re: [jose] Header criticality -- hidden consensus?

Mike Jones <Michael.Jones@microsoft.com> Sat, 09 February 2013 00:22 UTC

Return-Path: <Michael.Jones@microsoft.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 4A4B921F8971 for <jose@ietfa.amsl.com>; Fri, 8 Feb 2013 16:22:37 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.589
X-Spam-Level:
X-Spam-Status: No, score=-2.589 tagged_above=-999 required=5 tests=[AWL=0.010, BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YhgQb4bqQXWb for <jose@ietfa.amsl.com>; Fri, 8 Feb 2013 16:22:35 -0800 (PST)
Received: from na01-by2-obe.outbound.protection.outlook.com (na01-by2-obe.ptr.protection.outlook.com [207.46.100.29]) by ietfa.amsl.com (Postfix) with ESMTP id E0A4621F84E4 for <jose@ietf.org>; Fri, 8 Feb 2013 16:22:34 -0800 (PST)
Received: from BL2FFO11FD008.protection.gbl (10.173.161.200) by BL2FFO11HUB016.protection.gbl (10.173.160.108) with Microsoft SMTP Server (TLS) id 15.0.620.12; Sat, 9 Feb 2013 00:22:32 +0000
Received: from TK5EX14HUBC105.redmond.corp.microsoft.com (131.107.125.37) by BL2FFO11FD008.mail.protection.outlook.com (10.173.161.4) with Microsoft SMTP Server (TLS) id 15.0.620.12 via Frontend Transport; Sat, 9 Feb 2013 00:22:32 +0000
Received: from TK5EX14MBXC284.redmond.corp.microsoft.com ([169.254.1.132]) by TK5EX14HUBC105.redmond.corp.microsoft.com ([157.54.80.48]) with mapi id 14.02.0318.003; Sat, 9 Feb 2013 00:22:06 +0000
From: Mike Jones <Michael.Jones@microsoft.com>
To: Richard Barnes <rlb@ipv.sx>
Thread-Topic: Header criticality -- hidden consensus?
Thread-Index: AQHOBlq+C4HtPeMLs0qEtpGLBCzcQphwqO4A
Date: Sat, 09 Feb 2013 00:22:05 +0000
Message-ID: <4E1F6AAD24975D4BA5B168042967394367422146@TK5EX14MBXC284.redmond.corp.microsoft.com>
References: <CAL02cgRxeS-DomWzVBmoqzps57jgvrUSLn5nrFtqcrTD1wQa=g@mail.gmail.com> <4E1F6AAD24975D4BA5B168042967394367421D1C@TK5EX14MBXC284.redmond.corp.microsoft.com> <CAL02cgTaNM2KM6DxYv0z7rOi4BRP6m3g=K6=mFEGzF1E9yERZA@mail.gmail.com> <4E1F6AAD24975D4BA5B168042967394367421DED@TK5EX14MBXC284.redmond.corp.microsoft.com> <CAL02cgTVS_nXu+PDNeQTa_i7f=uNKa8ctSw5JVU50esm+GUdSw@mail.gmail.com> <4E1F6AAD24975D4BA5B16804296739436742200E@TK5EX14MBXC284.redmond.corp.microsoft.com> <CAL02cgRLUf94MbBXuh3DPauLzpDRyYsNOKot1N=QSEjGZZ9eOQ@mail.gmail.com>
In-Reply-To: <CAL02cgRLUf94MbBXuh3DPauLzpDRyYsNOKot1N=QSEjGZZ9eOQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [157.54.51.73]
Content-Type: multipart/alternative; boundary="_000_4E1F6AAD24975D4BA5B168042967394367422146TK5EX14MBXC284r_"
MIME-Version: 1.0
X-Forefront-Antispam-Report: CIP:131.107.125.37; CTRY:US; IPV:CAL; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(189002)(199002)(24454001)(377454001)(47446002)(15202345001)(33656001)(5343635001)(512954001)(5343655001)(74502001)(74662001)(54356001)(53806001)(44976002)(56776001)(31966008)(54316002)(59766001)(77982001)(63696002)(56816002)(79102001)(76482001)(16406001)(16236675001)(51856001)(4396001)(65816001)(20776003)(66066001)(46102001)(47736001)(55846006)(47976001)(50986001)(80022001)(49866001)(9078065001); DIR:OUT; SFP:; SCL:1; SRVR:BL2FFO11HUB016; H:TK5EX14HUBC105.redmond.corp.microsoft.com; RD:InfoDomainNonexistent; MX:1; A:1; LANG:en;
X-OriginatorOrg: microsoft.onmicrosoft.com
X-Forefront-PRVS: 07521929C1
Cc: "jose@ietf.org" <jose@ietf.org>
Subject: Re: [jose] Header criticality -- hidden consensus?
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: Sat, 09 Feb 2013 00:22:37 -0000

See my answer in http://www.ietf.org/mail-archive/web/jose/current/msg01523.html.  There are several ways to layer solutions and easily meet the intent of the specs.

Out of respect for everyone else's time, who probably don't want to continue reading ongoing minutiae of semantic arguments that don't seem to be converging, maybe we could let this topic go until Monday? ;-)

Enjoy your weekend.

                                                                -- Mike

From: Richard Barnes [mailto:rlb@ipv.sx]
Sent: Friday, February 08, 2013 4:17 PM
To: Mike Jones
Cc: jose@ietf.org
Subject: Re: Header criticality -- hidden consensus?

So your answer is "No".

Conversely, if it DOES reject headers it doesn't recognize, it is also out of compliance, because they might be recognized at a higher layer.

So you're saying that nothing can implement this spec besides a complete system that can never have anything layered on top of it. Of course, you can always layer something on top, so you can actually never implement this spec.

This is what I meant about the "whole system" language bein meaningless. You have to draw a line somewhere.

--Richard






On Friday, February 8, 2013, Mike Jones wrote:
It implements part of them.  That's the truth. :)

From: Richard Barnes [mailto:rlb@ipv.sx<javascript:_e(%7b%7d,%20'cvml',%20'rlb@ipv.sx');>]
Sent: Friday, February 08, 2013 3:54 PM
To: Mike Jones
Cc: jose@ietf.org<javascript:_e(%7b%7d,%20'cvml',%20'jose@ietf.org');>
Subject: Re: [jose] Header criticality -- hidden consensus?



Suppose I write a JOSE library.  It can encrypt and decrypt JWEs, sign and verify JWSs.  It does not check that every header in an object is supported.  Should it be considered to implement the JWE and JWS specs or not?



The answer to that question has to be "Yes" or "No".  No cheating :)



--Richard



On Fri, Feb 8, 2013 at 6:33 PM, Mike Jones <Michael.Jones@microsoft.com<mailto:Michael.Jones@microsoft.com>> wrote:

I'm not going to spend a lot of time arguing semantics, but there are lots of ways to meet this requirement in a library and still allow extensions to be used by the system as a whole that are not understood by the library.



One would be to have the caller pass a list of header parameter values to the library informing it to allow the use of particular parameters not understood by the library.  For instance, the list ["notes", "vsf"] might be passed in, informing the library not to reject inputs using the "notes" and "vsf" header parameters, since they are understood by the caller.



A dual of this is to have the library return a list of header parameters present in the input that it did not understand to the caller, letting the caller decide whether the input needs to be rejected.



I don't see the word "library" anywhere in RFC 2199. :)



                                                                Cheers,

                                                                -- Mike



From: jose-bounces@ietf.org<mailto:jose-bounces@ietf.org> [mailto:jose-bounces@ietf.org] On Behalf Of Richard Barnes
Sent: Friday, February 08, 2013 3:25 PM
To: Mike Jones
Cc: jose@ietf.org<mailto:jose@ietf.org>
Subject: Re: [jose] Header criticality -- hidden consensus?



Allow me to quote RFC 2119, which defines the requirements terminology for IETF documents:

"

1. MUST   This word, or the terms "REQUIRED" or "SHALL", mean that the

   definition is an absolute requirement of the specification.

"



By that definition, a system that imp