20. Discussion, Limitations and Conclusion

20.1 What this study establishes

The paper set out to determine how a block cipher, an elliptic-curve group and a hash function can be supplied to a TLS 1.3 connection through the OpenSSL 3 provider interface. Its findings are of three kinds.

The architectural finding is the taxonomy of Chapter 4. Four distinct paths lead from a provider into a TLS connection, and they differ in mechanism, in reach and in what they demand of the peer. Supplying an implementation for an algorithm TLS already names requires nothing of the peer and adds nothing to the protocol. Advertising a group or a signature algorithm through the capability mechanism introduces a new code point, and this is a genuine extension point — OpenSSL introduces post-quantum signature algorithms to TLS through the same interface a third-party provider would use. Cipher suites are obtained by the TLS library from its own suite table, which makes a new suite a different kind of undertaking from a new group.

The design finding is that the three algorithm classes are not symmetric in difficulty. The AEAD is comparatively self-contained: report three lengths, accept an external nonce, never release unverified plaintext. The group carries the security-critical obligation of peer-share validation and the dual obligation of implementing and advertising. The hash is the smallest interface and the largest consequence, because its output length parameterises the entire key schedule, and an error in that single reported number can produce a working connection with weakened keys.

The methodological finding is that the failure modes of this kind of system concentrate in places a happy-path test suite does not reach: silent fallback when a provider fails to load, accepted plaintext on a failed tag check, unvalidated peer shares, and misreported lengths. Chapter 19's insistence on negative tests follows from this and is, in the author's view, the most transferable part of the paper.

20.2 Limitations

These are stated plainly, as Chapter 1.5 promised.

20.3 What an implementation phase should produce

For the design to be considered validated, an implementation phase would need to produce, at minimum:

  1. A building provider module implementing Chapters 8–11, with the parameter answers of Appendix C.
  2. L1–L3 test results per Chapter 19, including every negative test of §19.5.1.
  3. A handshake log showing the negotiated suite and group, from both endpoints.
  4. A leak-checked teardown result.
  5. A statement of what was not tested.

Items 2 and 5 are where studies of this kind most often fall short, and they are the items that distinguish a demonstration from a validation.

20.4 Future work

Three directions follow naturally. The first is the implementation phase above, which would convert the design chapters from specification to evidence. The second is an empirical study of the fetch-cost question raised in Chapter 18: the project's own documentation warns that name-based lookup is much slower than a method table, and the practical significance of that warning for handshake-rate-limited services appears not to have been measured publicly. The third is the certificate problem of §11.4 — introducing a novel signature algorithm end to end, including encoding, chain construction and verification — which is a larger undertaking than the signature operation and is where a provider-based approach meets its most substantial obstacle.

20.5 Conclusion

The provider architecture delivers a substantial part of what cryptographic agility promises. A new elliptic-curve group can be introduced into a TLS 1.3 handshake by a loadable module, advertised on the wire with its own code point, and selected by negotiation, with no change to the TLS library and no change to the application — and OpenSSL's own post-quantum work uses that same mechanism, which is the strongest evidence that it is a real extension point rather than an internal convenience.

The remaining distance is instructive. Cipher suites are obtained differently from groups and signature algorithms, so a new suite is a different kind of work from a new group. Protocol sequencing is deliberately beyond a provider's reach, which is a security property rather than a limitation. And the closer an extension comes to the protocol's own structures — a new code point, a new key-schedule width, a new certificate algorithm — the more it requires of the peer, until the technique is confined to deployments where both endpoints are under one administration.

An engineer approaching this problem should therefore begin not with the implementation but with Chapter 4's question: which of the four paths does this requirement actually need? In the common case the honest answer is a smaller path than the one first imagined, and the design that follows is correspondingly more likely to reach production.