Secure channels: Building real world crypto systems
From BruCON 2017
Secure communication is one of the most common, most important real world application of cryptography today. But besides being one of the most important requirements of modern communication systems people still keep getting this wrong. And it’s not fully clear why that is. In this presentation we are going to explore the cryptography that is involved in building secure channels (the theory and the practice) We are going to look at different secure channel concepts: - Authenticated key establishment protocol; - Key derivation phases; - Protecting data using the derived key (typically using authenticated encryption). Followed by an in-depth look of typical properties that we require of such channels and the specific cryptographic constructions that accomplish these properties. We will look at the following properties: - Data confidentiality; - Data integrity; - Authenticity of the messages. We will explain some of the most famous security bugs in TLS and SSH and why they came to be by exploring the “cryptographic doom principle” and some of the proposed fixes. In the second part of this presentation we are going to look at some recent efforts into secure secure channel implementations (SSH and TLS 1.3), and what the proposed fixes entailed. Attendees will learn what a cryptographic secure channel is and what typical cryptographic constructions are involved in creating such a channel.