You are on page 1of 3


Transport Layer Security (TLS) is the most widely deployed security protocol used
nowadays, and is used for web browsers and other applications that require data to be
securely exchanged over a network (VOIP, file transfers, VPN connections, instant
messaging, etc.) TLS is used in OPENVPN because TLS/SSL is now one of the
strongest and most mature secure protocols available. It enhances the security of
communications due to the data cypher using the public/private key infrastructure, but
also due to the verification and authentication of data. Most of the crypto capabilities
in OpenVPN are derived from OpenSLL. Regarding the relationship between TLS
and SMTP, they are used for transmitting e-mail messages between servers in a
secure manner. In this way, the message contents are secured during transmission
between the servers. Not many e-mail providers supported TLS in the past, while
situation is different now, and majority of them support it. Additionally, there is
Internet Message Access Protocol (IMAP), which relies on the security properties
provided by TLS. They are used in combination to provide secure message transport.

2. When compared to digital certificates, pre-shared keys are typically used for small
and medium sized businesses that require a VPN connection, but are also easier to
configure. If we use a pre-shared key, then there is no need for public key operations
(depends on the cipher suite) and pre-shared keys fit better in certain cases. For
example, it can be useful in situations with limited CPU power. Additionally, if there
is already a mechanism for setting up shared secret keys by parties, it can be used to
“bootstrap” a key for authenticating a TLS connection. Also, in case where the
connection is usually configured manually in advance, it is much more easier to
configure a pre-shared key than to use certificates. When it comes to security issues,
pre-shared keys are a weak authentication method. If they are used, and unexpected
situation occurs, then all other PC group passwords must be altered since anyone can
get the group password from the stolen PC. The security of a pre-shared key
deployment can be improved by encrypting the key with a personal identification
number (PIN).

On the other hand, certificate-based encryption is a system where ID-based

cryptography is used by a certificate authority to produce a certificate. The
authentication is based on what the user has (private key) and knows (password that
protects the private key). This type of encryption has many practical examples and
content scrambling system (CSS) is one of them. It is used for encoding DVD movies
in order to make them playable only in a certain areas of the world where they are
sold. Also, they can also be used for login, access to file servers and e-mail security.
Moreover, certificate-based encryption is much safer, which means it will add more
security to a user’s VPN network. It cannot be easily exported in case of stealing
hardware, because it can be revoked from the certificate server. Furthermore, using
certificate-based encryption can make the configuration simpler. If we have 10 LAN
to LAN sites, there is no need to configure pre-shared keys for each site, but use
certificate server instead. One of disadvantages is that it requires a public-key
infrastructure (PKI). This may result in the increased cost of initial deployment in
some environments.

3. For server authentication, the client uses the public key of the server to
encrypt the data which is used to compute the secret key. This can only happen if
the server can decrypt the data with the accurate private key.

The client authentication works with the server using public key in the
certificate of the client and it decrypts the data that the client sends. Exchange of
the finished messages that are also encrypted confirms that the authentication is

The finished messages are encrypted in order to make sure that a mismatch is
detected before the user data is exposed. It is essentially the last check whether
both parties are not adversaries.

4. The purpose of random_bytes is to provide some kind of a way to guarantee
that the interaction between the server and the client is fresh. This helps against
replay attacks and re-use would make it oppposite of helping and it would make
both the client and the server susceptible to replay attacks.

5. Perfect forward secrecy states that something that is encrypted and secret should
remain that way. However, even if the information is secret now, it does not mean
that it will be secret at some point in the future. Secure web communication is based
on SSL/TLS, and on the mixture of private and public key asymmetric cryptography
and symmetric key encryption. PFS can also be defined as an attribute of the specific
key exchange mechanisms in TLS security.

This implies the independence of the session key, which is generated during the
secure session. The main goal of key exchange is to ensure that two parties will agree
on a session key. This happens upon the security setting available for both
participants of the negotiation, and no one except them will know it. It is important to
note that only a certain cipher suites may be used. Meaning that the connection
negotiation includes exchange of information about which cipher suites the client can
support. After that, the server selects a preferred scheme to be used for the session.
The server may also decline all offered cipher suites. Therefore, in order to use and
implement PFS it is necessary to make suitable cipher suites available on the server.
A certain server can select to use PFS cipher suite during the connection negotiation.
This way PFS protects the session from future decryption. It happens in a way that
other party gains knowledge of the server's private key. To PFS in terms of cipher
suite the most important thing is a key exchange, and it is the main element of the
connection negotiation that provides secure session. PFS-compliant key exchange
mechanisms that are available include:

1. ECDHE_RSA - Ephemeral Elliptic Curve Diffie - Hellman with RSA signatures

2. DHE_RSA - Ephemeral Diffie - Hellman with RSA signatures

However, there are certain drawbacks, which state that due to the server
administrator’s unawareness PFS can easily be broken. It is important to note that it is
not enough to enable the support of the cipher suites with certain FS key exchange
mechanisms on the server, but also to prioritize them.
PFS can also be used in terms of key exchange. It follows certain steps:
1. Server sends its certificate,
2. Then the client picks a random session key,
3. After that the client encrypts it with the server’s public key which is obtained
from the certificate
4. Then the server sends it back to the server

The created session is known as a secure session. In this type of session, a key can
only be decrypted with the server’s private key that corresponds to the public key.
This way, the server sets up thousands of sessions using the same key pair. It creates a
link between the session key, which is unique for each session and long-term key.
Although, if somehow private key is compromised, an adversary is able to go back in
time and decrypt all the previously recorded traffic encrypted using the same long-
term key.