Transport Layer Security (TLS) is a protocol that provides
authentication, privacy, and data integrity between two communicating computer
applications. It's the most widely-deployed security protocol used today and is
used for web browsers and other applications that require data to be securely
exchanged over a network, such as web browsing sessions, file transfers, VPN
connections, remote desktop sessions, and voice over IP (VoIP).
TLS evolved from Netscape's Secure Sockets Layer (SSL)
protocol and has largely superseded it, although the terms SSL or SSL/TLS are
still sometimes used. Key differences between SSL and TLS that make TLS a more
secure and efficient protocol are message authentication, key material
generation and the supported cipher suites, with TLS supporting newer
and more secure algorithms. TLS and SSL are not interoperable,
though TLS currently provides some backward compatibility in order to
work with legacy systems.
History and development
The Internet Engineering Task Force (IETF) officially took over the SSL
protocol to standardize it with an open process and released version 3.1 of SSL
in 1999 as TLS 1.0. The protocol was renamed TLS to avoid legal issues with
Netscape, which developed the SSL protocol as a key feature part of its
original web browser. According to the protocol specification, TLS is composed
of two layers: the TLS record protocol and the TLS handshake protocol. The
record protocol provides connection security, while the handshake protocol
allows the server and client to authenticate each other and to negotiate encryption
algorithms and cryptographic keys before any data is exchanged.
TLS attacks
Implementation flaws have
always been a big problem with encryption technologies, and TLS is no
exception. The infamous Heartbleed bug was the result of a surprisingly small
bug in a piece of logic that relates to OpenSSL's implementation of the TLS heartbeat
mechanism, which is designed to keep connections alive even when no data is
being transmitted. Although TLS is not vulnerable to the POODLE attack, because
it specifies that all padding bytes must have the same value and be verified, a
variant of the attack has exploited certain implementations of the TLS protocol
that don't correctly validate encryption padding byte requirements.
Comments
Post a Comment