= Goals Secure communication between client and server. The captured data might go through different interfaces than the one used for capturing. Instead of rolling a custom protocol the idea is to adopt TLS 1.2 to achieve client authentication and ciphering. Neither the client nor the server should block during the key exchange. Most TLS implementations do block and this is a problem for a single threaded server. Ideally the same library is used in the client and the server. In practice libraries might block during the handshake and this is a big deal for the server (other clients block).