> On Apr 12, 2018, at 7:47 PM, Eric Rescorla <e...@rtfm.com> wrote:
> 
> In the current document, there is no expectation that clients will pin the
> server's use of TLSA and therefore the server can safely stop using
> TLSA (or run a mixed server farm). However, because this text implies
> that the client *could* pin, in order to ensure interoperability the server
> would have to provide authenticated denial at the risk of connection
> failure with such clients. However the text also does not require that
> the server do so. Thus, a conformant client and a conformant server
> can fail if the server just stops using TLSA.

Another way of looking at this argument is that we should not recommend
that servers should return denial of existence, because if we do, then
servers that don't return denial of existence might find themselves less
interoperable than those that do.  So everyone should be less interoperable,
so not that nobody is relatively disadvantaged.

An honest assessment of the situation is that indeed returning denial
of existence is more generally interoperable in the face of unknown
client behaviour, and so should be recommended as suggested.

I am only mildly sympathetic to the slippery slope argument that this
may facilitate expectations of such behaviour in clients.  We are not
here to police future design decisions for fidelity to pure
interpretations of the draft.  If client expectations are desirable
in future applications, and servers coƶperate, then hooray, we have
a specification that meets real world needs.

That said, the proposed language is not intended to be ann a-priori
license to "pin as you see fit" with no prior application-specific
standard defining what constitutes interoperable behaviour.  This
specification provides a mechanism, not policy.  Applications will
have to define the relevant policy options.  My goal all along has
been to make sure that the mechanism is sufficiently flexible to
accommodate a range of application policies.  [ Thus also the proposal
for the additional TTL hint, which supports a broader range of possible
policies. ]

If you'd like me to craft revised option (A) text, that includes a suitable
caveat, I can try.  Or you or someone else can propose an alternative.
I only ask that it be honest about the server's options: serving the denial
of existence (DoE) records does interoperate with a broader range of client
policies.

In an application where the extension is absolutely optional, i.e. clients
MUST NOT (and do not in practice) expect consistent use by the server,
returning the DoE records would not be substantively different from simply
leaving out the extension.  The client must be able to function in some
fashion with the extension missing, whether legitimately or stripped.

In applications where some clients expect downgrade protection the server
returning DoE records continues to work and the one not returning them might
not interoperate with clients that expect to consistently learn the truth
(good news or bad) about the servers TLSA records.

Does anyone want to propose better text?

-- 
        Viktor.

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

Reply via email to