On Tue, May 16, 2017 at 11:17 AM, Russ Housley <hous...@vigilsec.com> wrote:
>
> On May 15, 2017, at 7:01 PM, Eric Rescorla <e...@rtfm.com> wrote:
>
>
>
> On Mon, May 15, 2017 at 12:38 PM, Russ Housley <hous...@vigilsec.com> wrote:
>>
>> Just commenting on Section 4.2 …
>>
>> >
>> > > 3. Section 4.2.
>> > >
>> > >    "In general, detailed certificate validation procedures are out of
>> > >    scope for TLS (see [RFC5280]).  This section provides TLS-specific
>> > >    requirements."
>> > >
>> > > I don't see an explanation of why it is out-of-scope.  The reference
>> > > is just to RFC5280, which seems odd.  I would expect the reference to
>> > > be to something that explains why it is out-of-scope.
>>
>> I think the the separation of certificate path validation from the TLS
>> protocol is correct, but perhaps this can be explained differently.  Perhaps
>> the approach should be that TLS depends upon certificate path validation as
>> described in RFC 5280.
>>
>> > In general, TLS's policy (dating back to TLS 1.0) has been that the
>> > job of TLS is to carry the certificates and other authentication
>> > material but to leave it up to other parts of the system to
>> > interpret them. It's been a long time since that decision was made,
>> > but from my perspective, there are a number of major reasons:
>> >
>> > 1. Most of PKI processing (path construction, etc.) is generic and
>> >    not specific to TLS. What is specific to TLS is:
>> >
>> >    * How to indicate what your PKI capabilities are
>> >      (see, e.g, S 4.2.4 and 4.3.2)
>> >    * How to stuff the PKI material into the protocol
>> >      (principally S 4.4.2)
>> >    * How to determine whether a given certificate is suitable for
>> >      use in TLS 4.4.4.2 and 4.3.2.1).
>> >
>> >    So we want to outsource the generic PKI part
>> >
>> >
>> > 2. It matches the software architecture that people often use,
>> >    which is to have a TLS stack but separate PKI validation. For
>> >    instance, Firefox uses NSS for TLS but moz::pkix for
>> >    validation. Similarly, Chrome uses BoringSSL for TLS
>> >    but the system PKI libraries for validation.
>> >
>> >
>> > In this case, I think that this text was more intended to
>> > say "and go read 5280 to learn how to do this". To that end,
>> > I suggest we say"
>> >
>> >
>> >     "In general detailed certificate validation procedures are out of
>> >     scope for TLS. [RFC5280] provides general procedures for
>> >     certificate validation. This section provides TLS-specific
>> >     requirements.”
>>
>> I agree with the reasoning, however the dependency on RFC 5280 should be
>> called out in a MUST statement.  I suggest something like:
>>
>>     "TLS depends on certificate path validation, and a conformant
>>     TLS implementation MUST implement certificate paths validation
>>     in a manner that achieves the same result as [RFC5280]. This
>>     section provides TLS-specific requirements.”
>>
>> Note that RFC 5280 is already a normative reference.
>
>
> A MUST here would be a pretty material change to historical TLS practice.
> As Viktor says, there are TLS-using applications that just don't validate
> the cert via 5280 at all.
>
>
> I think we want to say that if the certificates are used, then the
> certification path MUST be validated in a manner that is compatible with
> Internet X.509 certificate profile [RFC5280]; however, other approaches to
> validation of the public key, such as the DANE TLSA resource record
> [RFC6698], are also acceptable.

I do like this a lot better as it will help with interoperability and
security, with well defined implementation guidance.

Thank you,
Kathleen

>
> Russ
>
>



-- 

Best regards,
Kathleen

_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to