cloudflare / cloudflare/tls-tris

Support for session tickets and other post-handshake messages

Open
#50 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
300
Forks
52
PR merge metrics
No merged PRs in 30d

Description

In TLS 1.2, the client could not receive NewSessionTicket because it did not advertise the session_ticket extension ([RFC 5077](https://tools.ietf.org/search/rfc5077)). The only post-handshake message it could receive from the server is a HelloRequest message.

In TLS 1.3, the NST message is part of the protocol and does not need an extension. This means that the code must be prepared to accept other post-handshake Handshake messages. In particular:

- NewSessionTicket
- KeyUpdate
- CertificateRequest (only if client advertises `post_handshake_auth`).

Currently it sends a no_renegotiation alert while it should probably be sending an unexpected_message alert (or handle the message).

Related: https://github.com/golang/go/issues/19199

Contributor guide

Open the contributing guide

Research direction

Start by tracing the TLS 1.3 handling of post-handshake Handshake messages and the current no_renegotiation alert path. Check behavior for NewSessionTicket, KeyUpdate, and post-handshake CertificateRequest, and verify that unsupported messages produce the appropriate alert or are handled as required.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cryptography, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.