Using open SSL for web
server - browser communication
Transport
Layer Security (TLS)
and its predecessor, Secure
Sockets Layer (SSL),
are cryptographic protocols designed to provide communication security over the Internet.[1] They use X.509 certificates and hence asymmetric cryptography to authenticate the counterparty with whom they are communicating, and
to exchange a symmetric key. This session
key is then used to encrypt data flowing between the parties. This allows for
data/message confidentiality, and message authentication codes for message integrity and as a
by-product, message authentication. Several versions of the protocols are in
widespread use in applications such as web browsing, electronic mail, Internet
faxing, instant messaging, and voice-over-IP (VoIP). An important property in this
context is forward secrecy, so the
short-term session key cannot be derived from the long-term asymmetric secret
key.
As
a consequence of choosing X.509 certificates, certificate authorities and a public key infrastructure are necessary to verify the relation
between a certificate and its owner, as well as to generate, sign, and
administer the validity of certificates. While this can be more beneficial than
verifying the identities via a web of trust, the 2013 mass surveillance disclosures made it more widely known that
certificate authorities are a weak point from a security standpoint, allowing man-in-the-middle attacks (MITM).
In
the Internet Protocol Suite, TLS
and SSL encrypt the data of network connections in the application
layer. In model
equivalences, TLS/SSL is initialized at layer 5 (session layer)
and works at layer 6 (the presentation layer).[citation needed] The session layer has a handshake
using an asymmetric cipher in order to establish cipher settings and a shared
key for that session; then the presentation layer encrypts the rest of the
communication using a symmetric cipher and that session key. In both models,
TLS and SSL work on behalf of the underlying transport layer, whose segments carry
encrypted data?
Comments
Post a Comment