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

Richard Barnes <rlb@ipv.sx> Sat, 09 February 2013 00:16 UTC

Return-Path: <rlb@ipv.sx>
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 5F68A21F8C3B for <jose@ietfa.amsl.com>; Fri, 8 Feb 2013 16:16:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.81
X-Spam-Level:
X-Spam-Status: No, score=-0.81 tagged_above=-999 required=5 tests=[AWL=-2.167, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_PBL=0.905, RCVD_IN_SORBS_DUL=0.877, RDNS_NONE=0.1]
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 fvRgPrqTqK+m for <jose@ietfa.amsl.com>; Fri, 8 Feb 2013 16:16:40 -0800 (PST)
Received: from mail-la0-x22f.google.com (mail-la0-x22f.google.com [IPv6:2a00:1450:4010:c03::22f]) by ietfa.amsl.com (Postfix) with ESMTP id 3961421F8C3F for <jose@ietf.org>; Fri, 8 Feb 2013 16:16:40 -0800 (PST)
Received: by mail-la0-f47.google.com with SMTP id fj20so4340792lab.34 for <jose@ietf.org>; Fri, 08 Feb 2013 16:16:39 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-received:x-originating-ip:in-reply-to:references :date:message-id:subject:from:to:cc:content-type:x-gm-message-state; bh=NHRZiBgkiu4sG6TQcfbQwPPAo1pEPUPVydcP0YbfWzQ=; b=mZNdBBRECs8NpLDhI85NXKxevTKi3y2op+C3kKwXRDYPrV2RoWFSx15/2+3+5ILhSW aPw+UbQ+0ksVzviM4CmgNRz5ST45cT2d1CH4msANs9jj4O857SgAQtisMxjnIqDvaVkB 43Si7LMEqakAdMO9cdRUpGBFPjknO7jtk04SNoa4PFWv3tH4ZA9SQ0//td/ttBgu0ue3 87UELFmBALltdWgpQuf3+edL8cE1Sr6Bz6kLKn4pfJIG40FyBhud8iqb86yI0HHOW2LJ URyFvo+ZemKox9aC5oJ23LogjPRi1KHtJXMo8u33X3TSlnuvV3a53Y6Cxows/9mv64Ha Ycog==
MIME-Version: 1.0
X-Received: by 10.112.88.72 with SMTP id be8mr92763lbb.116.1360368999106; Fri, 08 Feb 2013 16:16:39 -0800 (PST)
Received: by 10.112.147.164 with HTTP; Fri, 8 Feb 2013 16:16:39 -0800 (PST)
X-Originating-IP: [108.18.40.68]
In-Reply-To: <4E1F6AAD24975D4BA5B16804296739436742200E@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>
Date: Fri, 08 Feb 2013 19:16:39 -0500
Message-ID: <CAL02cgRLUf94MbBXuh3DPauLzpDRyYsNOKot1N=QSEjGZZ9eOQ@mail.gmail.com>
From: Richard Barnes <rlb@ipv.sx>
To: Mike Jones <Michael.Jones@microsoft.com>
Content-Type: multipart/alternative; boundary="bcaec554da74f489a304d53f96cc"
X-Gm-Message-State: ALoCoQlWHoNSXp/bt1o8h9OwTtvmLrhVnV52K2WjCxedQS88mjHzkzrxfZ+9DK9Gnz9AdiRHYZCJ
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:16:41 -0000

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. J****
>
> ** **
>
> *From:* Richard Barnes [mailto:rlb@ipv.sx <javascript:_e({}, 'cvml',
> 'rlb@ipv.sx');>]
> *Sent:* Friday, February 08, 2013 3:54 PM
> *To:* Mike Jones
> *Cc:* jose@ietf.org <javascript:_e({}, 'cvml', '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>
> 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. J****
>
>  ****
>
>                                                                 Cheers,***
> *
>
>                                                                 -- Mike***
> *
>
>  ****
>
> *From:* 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
> *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
>