University of Birmingham > Talks@bham > Computer Security Seminars > not-quite-so-broken TLS: lessons in re-engineering a security protocol specification and implementation

not-quite-so-broken TLS: lessons in re-engineering a security protocol specification and implementation

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Andreea Radu.

Lots of TLS implementations have a history of security vulnerabilities (goto fail, Heartbleed, ...). The root causes of most existing TLS implementations are ambiguous specification, choice of inherently unsafe programming language, complex APIs, and legacy code bases.

We re-engineered a TLS stack from scratch which avoids these root causes by using a more modern typed programming language with memory management and a modular and declarative programming style, where effectful operations (input/output, but also mutation of memory) are explicitly annotated. The result is an artifact which can be used both as specification, testing other implementations, and as implementation. Its performance is in the same ballpark as OpenSSL, while its source code is nearly two orders of magnitude smaller. Useful features are implemented, while we avoided to implement legacy (SSL version 2 and 3, export ciphers, ...).

Our implementation is used in the wild, one target is MirageOS, a library operating system (running OCaml directly as virtual machine, without any libc).

Project website:

This talk is part of the Computer Security Seminars series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.


Talks@bham, University of Birmingham. Contact Us | Help and Documentation | Privacy and Publicity.
talks@bham is based on from the University of Cambridge.