Let’s take another commonly known example: Hypertext Transfer Protocol Secure (HTTPS). To be a truly secure channel, HTTPS would need to be disclosure resistant and would also need to address the integrity of each message, the authenticity of the sender of each message, the authenticity of the message itself against forgery and replay, and the availability of the channel. In fact, HTTPS offers no availability assurance and weak integrity assurance; thus, HTTPS is really a confidential channel and not a secure one.
Other channels can be secure or confidential, depending on how they are configured. For example, Secure Shell (SSH) mutually authenticates both ends of the channel. However, the integrity provided depends on the protocols configured on both client and server, and the actual protocol negotiated during connection setup. SSH also provides features to promote high availability, but, like all network protocols, it provides only limited availability assurances. SSH connections are not necessarily confidential, so improper configuration can result in weak or unencrypted connections.
Secure Channels
These provide a secured point-to-point connection between two systems or networks, providing resistance to both tampering and data disclosure. You can create secure channels in several ways:
- Virtual private network (VPN) is a widely deployed mechanism that provides a secured connection in which the remote client network appears to be a part of the host’s local network. All communication is cryptographically protected with messages both authenticated and encrypted.
- Transport Layer Security (TLS) is a crypto protocol explicitly used to secure data in transit in computing networks. TLS is sometimes called a Secure Sockets Layer (SSL) VPN, which is inaccurate. TLS actually replaced SSL, which should not be used anymore. TLS prevents eavesdropping and tampering. TLS uses symmetric and asymmetric crypto during a “handshake” process between client and server. It uses digital certificates for authenticity.
- Secure Shell Protocol (SSH) is widely used in the Unix and Linux worlds. SSH is used to create secure tunnels, usually between clients and servers, and is most often applied to create a secured connection between a client and a server that does not support any protocol-level security. For example, an SSH tunnel can be used to provide a secure Internet Message Access Protocol (IMAP) connection for a mail server that does not support IMAP over SSL (IMAPS). The open-source version of SSH, OpenSSH, now uses NTRU crypto by default for key exchange.
Secure Application Protocols
Many internet protocols were developed without considering security, and now communication over these protocols needs to be secure. As a result, TLS has been bolted onto original protocols to create secured client-server communication without developing new secure protocols.
TLS provides a simple, cost-effective means to secure an existing network protocol without the expense of developing a new secure protocol from the ground up. Examples of where TLS has been added to existing protocols include:
- HTTPS for HTTP
- LDAPS for LDAP
- IMAPS, POPS, and SMTPS for email related protocols
- SIPS, SRTP, and SRTCP for VoIP networking
- IRCS, TELNETS, and FTPS for IRC, Telnet, and FTP
About Ed Adams, CEO
Ed Adams is a software quality and security expert with over 20 years of experience in the field. He served as a member of the Security Innovation Board of Directors since 2002 and as CEO since 2003. Ed has held senior management positions at Rational Software, Lionbridge, Ipswitch, and MathSoft. He was also an engineer for the US Army and Foster-Miller earlier in his career.
Ed is a Ponemon Institute Research Fellow, Privacy by Design Ambassador by the Information & Privacy Commissioner of Canada, Forbes Technology Council Member, and recipient of multiple SC Magazine’s Reboot Leadership Awards. He sits on the board of Cyversity, a non-profit committed to advancing minorities in the field of cyber security, and is a BoSTEM Advisory Committee member.



