Subject: [jose] Implementation Requirements

From: "Hannes Tschofenig" <[email-masked]>
Date: Mon, 14 Apr 2014 14:48:15 +0200

Hi all,

I am looking at the implementation requirements of the JWA spec and I am wondering to what deployment environment they refer they.

The JW* specs are generic building blocks and I fail to see how one can list mandatory-to-implement algorithsms.

Ciao

Hannes

---

From: Richard Barnes <[email-masked]>
Date: Mon, 14 Apr 2014 09:07:00 -0400

+1

On Monday, April 14, 2014, Hannes Tschofenig <[email-masked]>
wrote:

> Hi all,
>
> I am looking at the implementation requirements of the JWA spec and I am
> wondering to what deployment environment they refer they.

---

From: John Bradley <[email-masked]>
Date: Mon, 14 Apr 2014 10:09:06 -0300

The IESG wants to see interoperability between implementations, to do that without dragging in discovery etc there need to be minimum feature sets of JOSE libraries that people can count on.

A application using JOSE can elect not to support all the algorithms,  but JOSE libraries need to support the mandatory to implement algorithms.

On Apr 14, 2014, at 9:48 AM, Hannes Tschofenig <[email-masked]> wrote:

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

---

From: "Hannes Tschofenig" <[email-masked]>
Date: Mon, 14 Apr 2014 15:50:40 +0200

I don't think that's meaningful but I am already happy if there is a section in the JWA document that explains that these interoperability requirements refer to standalone libraries.

I also think that the table for the IANA consideration section needs to make that clear as well.

Ciao

Hannes

Gesendet: Montag, 14. April 2014 um 14:09 Uhr

Von: "John Bradley" <[email-masked]>

An: "Hannes Tschofenig" <[email-masked]>

Cc: [email-masked]

Betreff: Re: [jose] Implementation Requirements

Hi all,

Ciao

Hannes

jose mailing list

[email-masked]

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

---

From: Mike Jones <[email-masked]>
Date: Mon, 14 Apr 2014 16:35:05 +0000

I agree with John’s statement of why the implementation requirements are there.  I also agree with the suggestion that we be explicit that the implementation requirements apply to libraries.  I’ll add that to my to-do list.  I’m sure an opportunity to add that will arise sometime during IESG and IETF review.

                                                                           -- Mike

From: jose [mailto:[email-masked]] On Behalf Of Hannes Tschofenig
Sent: Monday, April 14, 2014 6:51 AM
To: John Bradley
Cc: [email-masked]
Subject: Re: [jose] Implementation Requirements

Ciao
Hannes

Gesendet: Montag, 14. April 2014 um 14:09 Uhr
Von: "John Bradley" <[email-masked]<mailto:[email-masked]>>
An: "Hannes Tschofenig" <[email-masked]<mailto:[email-masked]>>
Cc: [email-masked]<mailto:[email-masked]>
Betreff: Re: [jose] Implementation Requirements
The IESG wants to see interoperability between implementations, to do that without dragging in discovery etc there need to be minimum feature sets of JOSE libraries that people can count on.

Hi all,

Ciao
Hannes

_______________________________________________
jose mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/jose
_______________________________________________ jose mailing list [email-masked]<mailto:[email-masked]> https://www.ietf.org/mailman/listinfo/jose

---

From: Richard Barnes <[email-masked]>
Date: Wed, 16 Apr 2014 10:34:44 -0400

Let me address this in two parts, first with my IESG hat on, and then as an
individual.

<hat type="IESG">
The IESG does NOT think that a set of mandatory algorithms in JWA is a
requirement for interoperability.

After having discussed this with Kathleen and Sean: There are several
different ways to address interoperability with a framework protocol like
JOSE.  CMS provides a fine example of how algorithms can be left flexible
at the security layer, with applications like S/MIME defining algorithm
requirements.  Algorithm agility is another important consideration in
security protocol design, and locking in algorithms too deeply can hinder
updates in the future.
</hat>

<hat type="individual">
I continue to be concerned that having mandatory algorithms for JOSE will
make two types of applications non-compliant:
1. JOSE implementations are often going to not have any choice in what
algorithms they can support.  They're going to be built on top of crypto
libraries, which either support an algorithm or they don't.  It's pointless
to levy requirements at the JOSE layer.
2. Constrained devices aren't going to want to implement a whole boatload
of algorithms, just the ones they need for their use cases.

Limiting the requirement to "standalone JOSE libraries" doesn't address
either of these concerns.

As a compromise, how about if we define a RECOMMENDED suite of common
algorithms?  That would help guide implementations toward interop without
ruling out the above use cases.
</hat>

Hope that helps clarify things,
--Richard

On Mon, Apr 14, 2014 at 9:09 AM, John Bradley <[email-masked]> wrote:

> The IESG wants to see interoperability between implementations, to do that
> without dragging in discovery etc there need to be minimum feature sets of
> JOSE libraries that people can count on.
>
> A application using JOSE can elect not to support all the algorithms,  but
> JOSE libraries need to support the mandatory to implement algorithms.
>

---

From: "Hannes Tschofenig" <[email-masked]>
Date: Wed, 16 Apr 2014 17:05:53 +0200

Hi Richard,

a short remark below.

Gesendet: Mittwoch, 16. April 2014 um 15:34 Uhr

Von: "Richard Barnes" <[email-masked]>

An: "John Bradley" <[email-masked]>

Cc: "Hannes Tschofenig" <[email-masked]>, "[email-masked]" <[email-masked]>

Let me address this in two parts, first with my IESG hat on, and then as an individual.

<hat type="IESG">

The IESG does NOT think that a set of mandatory algorithms in JWA is a requirement for interoperability.

After having discussed this with Kathleen and Sean: There are several different ways to address interoperability with a framework protocol like JOSE.  CMS provides a fine example of how algorithms can be left flexible at the security layer, with applications like S/MIME defining algorithm requirements.  Algorithm agility is another important consideration in security protocol design, and locking in algorithms too deeply can hinder updates in the future.

</hat>

[hannes] Sounds reasonable to me.

<hat type="individual">

I continue to be concerned that having mandatory algorithms for JOSE will make two types of applications non-compliant:

1. JOSE implementations are often going to not have any choice in what algorithms they can support.  They're going to be built on top of crypto libraries, which either support an algorithm or they don't.  It's pointless to levy requirements at the JOSE layer.

2. Constrained devices aren't going to want to implement a whole boatload of algorithms, just the ones they need for their use cases.

[hannes] Also makes sense to me.

Limiting the requirement to "standalone JOSE libraries" doesn't address either of these concerns.

As a compromise, how about if we define a RECOMMENDED suite of common algorithms?  That would help guide implementations toward interop without ruling out the above use cases.

</hat>

[hannes]  It makes sense for me to define domain specific recommendations. I will write some of those down for a specific Internet of Things context. For the use of JOSE with OpenID Connect these recommendations are available already.

Ciao

Hannes

--Richard

Hi all,

Ciao

Hannes

jose mailing list

[email-masked]

jose mailing list

[email-masked]

---

From: Richard Barnes <[email-masked]>
Date: Wed, 16 Apr 2014 13:17:45 -0400

> requirement for interoperability.

Clarification: I did not mean to imply that the IESG has an opinion one way
or another on this issue.  It hasn't been brought up.  But there are at
least a couple of members of the IESG who do not believe that mandatory
algorithms are a requirement.

In other words: The IESG hasn't made up its collective mind on this yet, so
the WG has an opportunity to choose an answer and make an argument for it.

>> The IESG wants to see interoperability between implementations, to do
>> that without dragging in discovery etc there need to be minimum feature
>> sets of JOSE libraries that people can count on.
>>
>> A application using JOSE can elect not to support all the algorithms,
>>  but JOSE libraries need to support the mandatory to implement algorithms.
>>

---

From: Mike Jones <[email-masked]>
Date: Wed, 16 Apr 2014 19:59:09 +0000

The case can be made that the working group has had this opportunity to choose an answer during the entire life of the working group and the answer has never varied - there should be a small set of commonly implement required algorithms to promote interoperability.  This has been true in all 26 working group drafts of JWA, going back to draft-ietf-jose-json-web-algorithms-00 in January 2012.

The +/- notation was added to the Implementation Requirements at the suggestion of Sean Turner in JWA draft -03 in January, 2013.

The question of required algorithms was explicitly considered as JOSE issue #10: http://trac.tools.ietf.org/wg/jose/trac/ticket/10.  Despite there being a minority of working group participants (primarily you, Richard, as I recall) who opposed MTI algorithms, most seemed to be in favor.

I personally don't see it as being productive to try to re-open this already heavily discussed issue now.

                                                                -- Mike

From: jose [mailto:[email-masked]] On Behalf Of Richard Barnes
Sent: Wednesday, April 16, 2014 10:18 AM
To: John Bradley
Cc: Hannes Tschofenig; [email-masked]
Subject: Re: [jose] Implementation Requirements

On Wed, Apr 16, 2014 at 10:34 AM, Richard Barnes <[email-masked]<mailto:[email-masked]>> wrote:
Let me address this in two parts, first with my IESG hat on, and then as an individual.

<hat type="IESG">

Clarification: I did not mean to imply that the IESG has an opinion one way or another on this issue.  It hasn't been brought up.  But there are at least a couple of members of the IESG who do not believe that mandatory algorithms are a requirement.

In other words: The IESG hasn't made up its collective mind on this yet, so the WG has an opportunity to choose an answer and make an argument for it.

<hat type="individual">

On Mon, Apr 14, 2014 at 9:09 AM, John Bradley <[email-masked]<mailto:[email-masked]>> wrote:
The IESG wants to see interoperability between implementations, to do that without dragging in discovery etc there need to be minimum feature sets of JOSE libraries that people can count on.

On Apr 14, 2014, at 9:48 AM, Hannes Tschofenig <[email-masked]<mailto:[email-masked]>> wrote:

Hi all,

Ciao
Hannes

_______________________________________________
jose mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/jose

_______________________________________________
jose mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/jose

---

From: "Jim Schaad" <[email-masked]>
Date: Wed, 16 Apr 2014 13:03:12 -0700

From: jose [mailto:[email-masked]] On Behalf Of Richard Barnes
Sent: Wednesday, April 16, 2014 7:35 AM
To: John Bradley
Cc: Hannes Tschofenig; [email-masked]
Subject: Re: [jose] Implementation Requirements

<hat type="IESG">

After having discussed this with Kathleen and Sean: There are several
different ways to address interoperability with a framework protocol like
JOSE.  CMS provides a fine example of how algorithms can be left flexible at
the security layer, with applications like S/MIME defining algorithm
requirements.  Algorithm agility is another important consideration in
security protocol design, and locking in algorithms too deeply can hinder
updates in the future.
</hat>

<hat type="individual">
I continue to be concerned that having mandatory algorithms for JOSE will
make two types of applications non-compliant:
1. JOSE implementations are often going to not have any choice in what
algorithms they can support.  They're going to be built on top of crypto
libraries, which either support an algorithm or they don't.  It's pointless
to levy requirements at the JOSE layer.
2. Constrained devices aren't going to want to implement a whole boatload of
algorithms, just the ones they need for their use cases.

[JLS]  I am not sure that I understand the reasoning behind this. 
For point 2 - an application can specify a set of algorithms that are not
even mentioned by the JOSE specifications.  This is what I would expect to
potentially happen for the constrained device case, the application being
running here would say we use the following algorithms - independent of the
JOSE specs say.  Application specs will always override our specs.

For point 1 - that is always true and has always been true for applications
that use system crypto.  S/MIME could mandate the use of EC, but if it is
not supported on the OS and the implementation uses the OS for its crypto -
then the application will not be able to do anything with EC algorithms.
The same thing is also true with out of date libraries or applications.  The
set of required algorithms has changed, but not all of the software
installations have been upgraded (can you say RC4 in TLS and SSL 3.x in
general).

jim

On Apr 14, 2014, at 9:48 AM, Hannes Tschofenig <[email-masked]>
wrote:

Hi all, 
 
I am looking at the implementation requirements of the JWA spec and I am
wondering to what deployment environment they refer they.
The JW* specs are generic building blocks and I fail to see how one can list
mandatory-to-implement algorithsms. 
 
Ciao
Hannes