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: [email protected] [mailto:[email protected]] On Behalf Of Richard 
Barnes
Sent: Friday, February 08, 2013 3:25 PM
To: Mike Jones
Cc: [email protected]
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 implements JWE is absolutely required to 
throw out an object that contains an unknown header.  That requirement applies 
to any system that implements JWE -- JUST JWE, not some overall system that 
uses JWE.  (And likewise JWS.)

So yes, the current language applies very specifically to a JOSE library, not 
to a more general system.  If you want to do that, write a BCP on "Guidelines 
for Usage of JOSE".

--Richard




On Fri, Feb 8, 2013 at 6:19 PM, Mike Jones 
<[email protected]<mailto:[email protected]>> wrote:
I think you're missing the point of the second poll question.  It's there to 
clarify that the requirement to validate the headers is one placed on the 
system as a whole - not solely on particular pieces of an implementation.  
Indeed, it's my understanding that IETF specs almost universally place 
requirements only on the protocol behaviors - not on how implementations must 
be factored.  In other words, it's normal for IETF specs to place constraints 
on the behavior of the system as a whole.  The text in the second poll question 
would just reinforce that this is so in this particular case.

Hope everyone has a good weekend!

                                                                -- Mike

From: [email protected]<mailto:[email protected]> 
[mailto:[email protected]<mailto:[email protected]>] On Behalf Of 
Richard Barnes
Sent: Friday, February 08, 2013 3:12 PM
To: [email protected]<mailto:[email protected]>
Subject: [jose] Header criticality -- hidden consensus?

We're 24 votes into the header criticality poll, so I thought I would go ahead 
and take a look at how the results are shaping up.  My initial tabulation is 
below.  The result on the FIRST POLL (the main one) is as follows:

No: 10
Yes: 14

What I find striking, however, is that every single person that voted "Yes" on 
the FIRST POLL also voted "Yes" on the SECOND POLL.  So nobody who thinks that 
all headers should be critical thinks that a JOSE library should actually be 
required to enforce this constraint.  And that means that enforcing that all 
headers are supported cannot be a MUST according to RFC 2119.

So I wonder if there's consensus to remove the following text from JWE and JWS:
-----BEGIN-JWE-----
   4.   The resulting JWE Header MUST be validated to only include
        parameters and values whose syntax and semantics are both
        understood and supported.
-----END-JWE-----
-----BEGIN-JWS-----
   4.  The resulting JWS Header MUST be validated to only include
       parameters and values whose syntax and semantics are both
       understood and supported.
-----END-JWS-----

Otherewise, a JOSE library conforming to these specifications would be REQUIRED 
(a synonym to MUST in 2119) to reject a JWE/JWS that contains an unknown 
header, contradicting all those "Yes" votes on the SECOND POLL.

--Richard



-----BEGIN-Tabulation-----
1       2       3    Name:
N       -       -    Bradley
N       -       -    Ito
N       N       A    Yee
N       N       B    Barnes
N       N       B    Rescorla
N       N       C    Manger
N       N       C    Octman
N       Y       A    Fletcher
N       Y       A    Miller
N       Y       A    Sakimura
Y       Y       -    D'Agostino
Y       Y       A    Biering
Y       Y       A    Brault
Y       Y       A    Hedberg
Y       Y       A    Jay
Y       Y       A    Jones
Y       Y       A    Marais
Y       Y       A    Nadalin
Y       Y       A    Nara
Y       Y       A    Nennker
Y       Y       A    Solberg
Y       Y       B    Hardt
Y       Y       B    Medeiros
Y       Y       C    Matake
Y       Y       C    Mishra
-----END-Tabulation-----

_______________________________________________
jose mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/jose

Reply via email to