On Tue, Sep 24, 2024, 12:12 Martin Thomson <m...@lowentropy.net> wrote:

> On Thu, Sep 12, 2024, at 13:31, David Benjamin wrote:
> > 1. If a DTLS 1.2 (i.e. does not implement RFC 9147 at all)
> > implementation receives an ACK record for whatever reason, what
> > happens? This decision we don't get to change. Rather, it is a design
> > constraint. Both OpenSSL and BoringSSL treat unexpected record types as
> > a fatal error. I haven't checked other implementations. So I think we
> > must take as a constraint that you cannot send an ACK unless you know
> > the peer is 1.3-capable.
>
> This is tangential, but I find this claim about {Open|Boring}SSL to be a
> bit troubling, if true.
>
> No DTLS implementation should treat unauthenticated packets as being
> fatal.  Though perhaps that could be true prior to completing the
> handshake, the reasons for dying should still be somewhat limited.
>

This is unavoidable, no? Suppose I sent you an unauthenticated ACK, or part
of a ClientHello/ServerHello with the wrong contents. Or maybe I made you
think that the server sent HelloRetryRquest or a non-existent message as
the first message. You'll update your internal state accordingly and fail
to complete the handshake, e.g. because the transcript is wrong or you
thought a packet was received but it wasn't.

If the attacker can manipulate the transport for a given connection, they
can cause the connection to fail. That's true in either TLS or DTLS. Of
course, if they can break the integrity or confidentiality of the
connection, that's a problem. Or if one connection can cause *another*
connection to fail by using disproportionate global resources. But things
we do in this working group can't really guarantee availability in the face
of the underlying transport not working at all.

David

>
_______________________________________________
TLS mailing list -- tls@ietf.org
To unsubscribe send an email to tls-le...@ietf.org

Reply via email to