• Chapter 5, HTTP and Browser Issues, is all about the relationship between HTTP and
TLS, the problems arising from the organic growth of the Web, and the messy interac-
tions between dierent pieces of the web ecosystem.
• Chapter 6, Implementation Issues, deals with issues arising from design and program-
ming mistakes related to random number generation, certicate validation, and other
key TLS and PKI functionality. In addition, it discusses voluntary protocol downgrade
and truncation attacks and also covers Heartbleed.
• Chapter 7, Protocol Attacks, is the longest chapter in the book. It covers all the major
protocol
aws discovered in recent years: insecure renegotiation, BEAST, CRIME,
Lucky 13, RC4, TIME and BREACH, and Triple Handshake Attack. A brief discussion
of Bullrun and its impact on the security of TLS is also included.
e third part, chapters 8 through 10, provides comprehensive advice about deploying TLS
in a secure and ecient fashion:
• Chapter 8, Deployment, is the map for the entire book and provides step-by-step in-
structions on how to deploy secure and well-performing TLS servers and web applica-
tions.
• Chapter 9, Performance Optimization, focuses on the speed of TLS, going into great de-
tail about various performance improvement techniques for those who want to squeeze
every bit of speed out of their servers.
• Chapter 10, HSTS, CSP, and Pinning, covers some advanced topics that strengthen web
applications, such as HTTP Strict Transport Security and Content Security Policy. It
also covers pinning, which is an eective way of reducing the large attack surface im-
posed by our current PKI model.
e fourth and nal part consists of chapters 11 through 16, which give practical advice
about how to use and congure TLS on major deployment platforms and web servers and
how to use OpenSSL to probe server conguration:
• Chapter 11, OpenSSL, describes the most frequently used OpenSSL functionality, with
a focus on installation, conguration, and key and certicate management. e last
section in this chapter provides instructions on how to construct and manage a private
certication authority.
• Chapter 12, Testing with OpenSSL, continues with OpenSSL and explains how to use its
command-line tools to test server conguration. Even though it’s oen much easier to
use an automated tool for testing, OpenSSL remains the tool you turn to when you
want to be sure about what’s going on.
•
Chapter 13, Conguring Apache, discusses the TLS conguration of the popular
Apache httpd web server. is is the rst in a series of chapters that provide practical
advice to match the theory from the earlier chapters. Each chapter is dedicated to one
major technology segment.
xviii
Preface