That text looks fine to me!

On Thu, Jan 15, 2015 at 10:02 PM, Mike Jones <[email protected]>
wrote:

>  How about this (slightly revised) wording?
>
>
>
> In almost all cases, applications make decisions about whether to trust a
> key based on attributes bound to the key, such as names, roles, or the
> source of the key, rather than based on the key itself.  When an
> application is deciding whether to trust a key, there are several ways that
> it can bind attributes to a JWK.  Two example mechanisms are PKIX [RFC5280]
> and JSON Web Token (JWT) [JWT].
>
>
>
> For instance, the creator of a JWK can include a PKIX certificate in the
> JWK's "x5c" member.  If the application validates the certificate and
> verifies that the JWK corresponds to the subject public key in the
> certificate, then the JWK can be associated with the attributes in the
> certificate, such as the subject name, subject alternative names, extended
> key usages, and its trust chain.
>
>
>
> Also for instance, a JWT can be used to associate attributes with a JWK by
> referencing the JWK as a claim in the JWT.  The JWK can be included
> directly as a claim value, or the JWT can include a TLS-secured URI from
> which to retrieve the JWK value.  Either way, an application that gets a
> JWK via a JWT claim can associate it with the JWT’s cryptographic
> properties and use these and possibly additional claims in deciding whether
> to trust the key.
>
>
>
>                                                             -- Mike
>
>
>
> *From:* Richard Barnes [mailto:[email protected]]
> *Sent:* Thursday, January 15, 2015 6:36 PM
> *To:* Kathleen Moriarty
>
> *Cc:* Mike Jones; [email protected];
> [email protected]; The IESG; [email protected]
> *Subject:* Re: [jose] Richard Barnes' Discuss on
> draft-ietf-jose-json-web-key-33: (with DISCUSS and COMMENT)
>
>
>
>
>
>
>
> On Thu, Jan 15, 2015 at 9:11 PM, Kathleen Moriarty <
> [email protected]> wrote:
>
> Richard,
>
> I am close to be done with a final check on comments for this draft
> and see that one of your comments was not addressed and maybe should
> be.
>
> The comment left in the datatracker is as follows:
>
> Section 9.1.
> It might help here to note that technologies like PKIX and JWT can allow
> relying parties to verify the provenance of a key and binding of
> attributes to
> it.
>
> This is a slightly edited version from earlier discussions, which
> leads me to think you may not have been happy with the 'discussion'
> http://www.ietf.org/mail-archive/web/jose/current/msg04627.html
>
> Can you take a look at this and if you have text to propose, that
> would be appreciated.
>
>
>
> Chatted this over with Mike briefly, think the following captures our
> intent better.  (Obviously, Mike should feel free to object/revise/etc.)
>
> """
>
> In almost all cases, applications make decisions about whether to  trust a
> key based on attributes bound to the key, such as names or  roles, rather
> than the raw key itself.  When a relying party is  trying to decide whether
> to trust a key, there are several ways that he  can associate attributes to
> the JWK.  Two examples that are relevant to JWK are PKIX and JWT.
>
>
>
> The  creator of a JWK can include a PKIX certificate in the JWK's "x5c"
> attribute.  If the relying party verifies the certificate, and verifies
> that the JWK corresponds to the subject public key in the certificate,
> then the JWK can be associated with the attributes in the certificate, such
> as the subject name, subject alternative names, extended key usages, and
> its trust chain.
>
>
>
> JSON Web Token (JWT) objects can associate attributes to a JWK by
> referencing the JWK  as a claim in the JWT.  The JWK can be included
> directly as a claim value, or the JWT can include a secure reference to the
> JWK (e.g., an HTTPS URI).  Either way, a relying party that gets a JWK from
> a JWT claim can associate it with the JWT's cryptographic properties and
> optionally the additional claims in deciding whether to trust the JWK.
>
> """
>
>
>
>
>
>
> On Tue, Nov 4, 2014 at 12:33 AM, Mike Jones <[email protected]>
> wrote:
> > +1
> >
> >
> >
> > From: Kathleen Moriarty [mailto:[email protected]]
> > Sent: Monday, November 03, 2014 8:02 PM
> > To: Richard Barnes
> > Cc: Mike Jones; [email protected];
> > [email protected]; The IESG; [email protected]
> >
> >
> > Subject: Re: [jose] Richard Barnes' Discuss on
> > draft-ietf-jose-json-web-key-33: (with DISCUSS and COMMENT)
> >
> >
> >
> > Thank you, Richard.
> >
> > Sent from my iPhone
> >
> >
> > On Nov 3, 2014, at 10:14 PM, Richard Barnes <[email protected]> wrote:
> >
> > Thanks a lot!  I cleared.
> >
> >
> >
> > On Sat, Oct 25, 2014 at 2:34 AM, Mike Jones <[email protected]
> >
> > wrote:
> >
> > Hi Richard,
> >
> > In -36 I added that if both "use" and "key_ops" are used, then the
> > information they convey MUST be consistent, per your suggestion.  I also
> > replaced the [TBD]@ietf.org with the actual list name.  Hopefully this
> will
> > enable you to clear your DISCUSSes on this draft.
> >
> >                                 Thanks again,
> >                                 -- Mike
> >
> > -----Original Message-----
> > From: Mike Jones [mailto:[email protected]]
> > Sent: Monday, October 20, 2014 9:19 AM
> > To: Richard Barnes
> > Cc: The IESG; [email protected];
> > [email protected]; [email protected]
> >
> > Subject: RE: [jose] Richard Barnes' Discuss on
> > draft-ietf-jose-json-web-key-33: (with DISCUSS and COMMENT)
> >
> > Thanks for your responses, Richard.  Replies are inline below...
> >
> >> From: Richard Barnes [mailto:[email protected]]
> >> Sent: Saturday, October 18, 2014 11:38 AM
> >> To: Mike Jones
> >> Cc: The IESG; [email protected];
> >> [email protected]; [email protected]
> >> Subject: Re: [jose] Richard Barnes' Discuss on
> >> draft-ietf-jose-json-web-key-33: (with DISCUSS and COMMENT)
> >>
> >> On Tue, Oct 14, 2014 at 5:53 AM, Mike Jones <
> [email protected]>
> >> wrote:
> >> Thanks for your review.  The -34 draft contains the following
> resolutions.
> >> I hope that you can clear your DISCUSSes on that basis.
> >>
> >>                                 -- Mike
> >>
> >> > -----Original Message-----
> >> > From: jose [mailto:[email protected]] On Behalf Of Richard
> >> > Barnes
> >> > Sent: Wednesday, October 01, 2014 7:34 PM
> >> > To: The IESG
> >> > Cc: [email protected];
> >> > [email protected];
> >> > [email protected]
> >> > Subject: [jose] Richard Barnes' Discuss on
> >> > draft-ietf-jose-json-web-key-33: (with DISCUSS and COMMENT)
> >> >
> >> > Richard Barnes has entered the following ballot position for
> >> > draft-ietf-jose-json-web-key-33: Discuss
> >> >
> >> > When responding, please keep the subject line intact and reply to
> >> > all email addresses included in the To and CC lines. (Feel free to
> >> > cut this introductory paragraph, however.)
> >> >
> >> >
> >> > Please refer to
> >> > http://www.ietf.org/iesg/statement/discuss-criteria.html
> >> > for more information about IESG DISCUSS and COMMENT positions.
> >> >
> >> >
> >> > The document, along with other ballot positions, can be found here:
> >> > http://datatracker.ietf.org/doc/draft-ietf-jose-json-web-key/
> >> >
> >> >
> >> >
> >> > --------------------------------------------------------------------
> >> > --
> >> > DISCUSS:
> >> > --------------------------------------------------------------------
> >> > --
> >> >
> >> > Section 4.3.
> >> > "The "use" and "key_ops" JWK members SHOULD NOT be used together."
> >> > Did the WG discuss how these could combine?  What was the outcome of
> >> > that discussion?  This could be an important point for
> >> > interoperability.  For example, WebCrypto enforces them both, so it
> >> > will break if it gets a key with "use" and "key_ops" set to
> inconsistent
> >> > values.
> >> > https://dvcs.w3.org/hg/webcrypto-api/raw-file/tip/spec/Overview.html
> >> > #rsa-
> >> > pss-operations
> >>
> >> I believe that the working group discussion is accurately reflected in
> >> this text from the spec:
> >>    The "use" and "key_ops" JWK members SHOULD NOT be used together.
> >>    Applications should specify which of these members they use, if
> >>    either is to be used by the application.
> >>
> >> To keep things simple, applications should choose one or the other,
> based
> >> on their needs.  Note that this is a "SHOULD NOT" - not a "MUST NOT",
> so if
> >> WebCrypto believes they have a good reason to allow either or both,
> they're
> >> not violating the spec.  But specifying which combinations are legal and
> >> which aren't in the JWK spec seems very high on the complexity to
> usefulness
> >> ratio.  I hope that you will choose to withdraw this DISCUSS on that
> basis.
> >>
> >> How about if we require that they be consistent if used together, but
> punt
> >> the definition of consistency to WebCrypto?
> >>
> >> """
> >>    The "use" and "key_ops" JWK members SHOULD NOT be used together.
> >>    Applications should specify which of these members they use, if
> >>    either is to be used by the application.  If both "use" and "key_ops"
> >> members
> >>    are present, then they MUST be consistent (see [WebCrypto]).
> >> """
> >
> > I suspect some reviewers wouldn't agree with the "(see [WebCrypto])"
> part,
> > but I can add the rest of your suggested sentence, if that will do it for
> > you.
> >
> >> > Section 8.
> >> > "[TBD]@ietf.org"
> >> > This needs to be populated before approval.  I don't know what's
> >> > customary here, but "[email protected]" is an obvious candidate.
> >>
> >> Per the spec, [email protected] is already the recommended name.
> >> Yes, we would create this list before final approval, just as
> >> [email protected] was created before RFC 6749 was approved.  I
> hope
> >> that you'll choose to withdraw this DISCUSS on that basis.
> >>
> >> That sounds fine to me.  Who has the action to get that list set up?
> >
> > Kathleen is doing this, per earlier comments on the thread.
> >
> >> > --------------------------------------------------------------------
> >> > --
> >> > COMMENT:
> >> > --------------------------------------------------------------------
> >> > --
> >> >
> >> > Section 1.1.
> >> > The pointer for BASE64URL should be to JWS.  One level of
> >> > indirection, please :)
> >>
> >> Agreed
> >>
> >> > Section 4.
> >> > It might be worth being explicit (here or elsewhere):
> >> > "A JWK MUST NOT contain algorithm-specific members for key type
> >> > other the one specified in its "kty" attribute."
> >>
> >> I agree with the sentiment, but this actually contradicts the statement
> >> that member names that are not understood MUST be ignored.
> >>
> >> Good point.  Perhaps we could phrase this as a requirement on creators,
> >> leaving consumers free to be more liberal?
> >>
> >> """
> >> The creator of a JWK MUST NOT include algorithm-specific members for key
> >> type other the one specified in its "kty" attribute.  Consumers of JWKs
> >> SHOULD NOT reject JWKs with such members, however, in the interest of
> >> extensibility.
> >> """
> >
> > In another thread, Carsten Bormann had explicitly objected to situations
> in
> > which there are different requirements on producers and consumers, unless
> > absolutely necessary.  I don't think the situation you're describing (for
> > instance, including an extraneous "x" value in an RSA key value) rises to
> > the level of severity that it warrants placing different requirements on
> > producers and consumers.  Rather, my intuition at this point (which
> could,
> > of course, be wrong), is that doing so would be likely to itself generate
> > DISCUSS positions.  I think we're better off leaving this as-is.
> >
> >> > Section 4.1.
> >> > "cryptographic algorithm family used with the key"
> >> > "... such as "RSA" or "EC"."
> >>
> >> Agreed
> >>
> >> > Section 4.7.
> >> > "base64 encoded ([RFC4648] Section 4 -- not base64url encoded) DER"
> >> > It seems unpleasant for implementations to have to support two
> >> > flavors of base64, especially since this doesn't use PEM directly.
> >> > Did the WG discuss just using BASE64URL?
> >>
> >> Not much, although each certificate value is actually a PEM-encoded
> value,
> >> including allowing newlines, etc.  People agreed with that goal when we
> did
> >> discuss it.
> >>
> >> > Section 9.1.
> >> > It might help here to note that technologies like PKIX and JWT can
> >> > allow relying parties to verify the provenance of a key and binding of
> >> > attributes to it.
> >>
> >> Can you propose specific language for this?  What I have in mind is
> >> delivering a JWK or JWK Set on a TLS channel using a URL that is
> >> cryptographically bound to the use of the key - possibly using the URL
> as
> >> the issuer of a JWT signed with the key, but you may have something
> else in
> >> mind.
> >>
> >> I had in mind more the traditional, "use a certificate to bind
> attributes
> >> to a key" sense.  How about this?
> >>
> >> """
> >> In most applications today, there are trusted authorities that vouch for
> >> the provenance of a key and bind attributes to it.  For example, in
> >> PKIX-based applications, participants use certificates to verify that a
> >> certificate authority has bound certain attributes to a key, such as a
> name
> >> or key usage.  JWK supports this style of provenance through the "x5u",
> >> "x5c", "x5t", and "x5t#S256" attributes, all of which reference a
> >> certificate that a relying party can use to associate attributes to the
> JWK.
> >> Other assertions systems, such as JWT, can likewise be used to assert
> >> bindings of attributes to keys.
> >> In some applications, it may also be convenient to use TLS as an ersatz
> >> assertion mechanism.  For example, an application could require JWKs to
> be
> >> downloaded with associated attributes over HTTPS as a way of having the
> >> HTTPS server assert a binding of the JWK to its attributes.  This is
> similar
> >> to the way that the XMPP POSH mechanism uses HTTPS to assert delegations
> >> from one way to another.  In such applications, however, care needs to
> be
> >> taken to ensure that secure transports are always used, and to avoid
> >> confusion with other uses of the TLS server in question.  The former
> >> situation would allow an attacker to create bogus assertions, and the
> latter
> >> would let an attacker trick the server into issuing bogus assertions.
> >> """
> >
> > It may be just me, but the whole notion of binding attributes to keys
> seems
> > to be a bit off topic - at least in a section on "Key Provenance and
> Trust".
> > The point of this section is that applications will make trust decisions
> > about keys based on the trustworthiness of the way they got the key.
> > Whether or not there may also be attributes bundled with the key is
> > independent of this, so I'm not prone to talk about it here.  If you
> think
> > it needs to be talked about elsewhere, can you motivate the reason for
> doing
> > so?
> >
> > Other comments on your proposed text above follow...
> >
> > In what specific way are you thinking that "Other assertions systems,
> such
> > as JWT, can likewise be used to assert bindings of attributes to keys"?
> > While I agree that this is true, I suspect that most implementers
> wouldn't
> > find that particular wording actionable.
> >
> > In your second proposed paragraph, while you're talking about "binding of
> > the JWK to its attributes", I think the core of the message here is that
> TLS
> > URLs can be used to provide clear provenance for sets of keys.  I'm fine
> > with saying that in some way.
> >
> > I agree with your comments about secure transports being used and
> ensuring
> > that keys are only retrieved from locations advertised by the
> application as
> > being their key locations.
> >
> >>
> >>                                 Thanks again,
> >>                                 -- Mike
> >
> >                                 -- Mike
> >
> >
> >
> > _______________________________________________
> > jose mailing list
> > [email protected]
> > https://www.ietf.org/mailman/listinfo/jose
>
>
>   --
>
> Best regards,
> Kathleen
>
>
>
_______________________________________________
jose mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/jose

Reply via email to