Every day, we share sensitive information online, like bank details, credit card numbers, phone numbers, and addresses. It’s really important to keep this information safe while it travels from our computer to a website, and SSL/TLS certificates are the ones that help protect our data during these transfers. Given their importance, we’ve put together this easy-to-understand SSL/TLS security guide to explain how they work and how they keep us safe online.
Contents
An Introduction to SSL/TLS
There is no better way to start an SSL/TLS security guide than talking about the SSL/TLS protocol, which has changed a lot over the years.
The protocol started as SSL (Secure Sockets Layer) in the mid-1990s, providing a basic layer of encryption for Internet communications. In time, security threats grew more sophisticated, so SSL went through a few updates to increase its protection capabilities.
In 1999, SSL was succeeded by TLS (Transport Layer Security), which introduced stronger encryption algorithms, better authentication methods, and improved overall security. TLS 1.0 was the first version and, since then, it has continued to evolve, with TLS 1.3 being the latest version. TLS 1.3 offers faster, more efficient performance and eliminates older, vulnerable cryptographic features, making it the most secure option available today.
Continuing with the SSL/TLS security guide and putting the history of this technology aside, let’s dig into the inner workings of these protocols. The key function of SSL/TLS is to perform a “handshake” between the user’s device and the server that the user is connecting to. During this handshake, 3 things occur in the span of a second:
- Authentication: the server proves its identity to the user’s device by presenting a certificate issued by a trusted Certificate Authority (CA).
- Encryption: both parties agree on encryption methods and generate session keys that will be used to encrypt and decrypt data during the session.
- Integrity: data is checked for integrity to ensure it hasn’t been altered during transmission.
These steps ensure that communication is secure, private, and authenticated, preventing bad guys from intercepting or altering the data.
Modern SSL/TLS implementations support features like Perfect Forward Secrecy (PFS), which ensures that even if a session key is compromised, it cannot be used to decrypt past communications. Another important feature is HTTP Strict Transport Security (HSTS), which forces the use of HTTPS connections and helps prevent protocol downgrade attacks and cookie hijacking.
Now it’s time to dive deeper and touch a few important subjects, which are cipher suites, certificate issuers, and the certificate expiration date.
Understanding the SSL/TLS Cipher Suite
Continuing with the SSL/TLS security guide, we find ourselves in front of the so-called SSL/TLS cipher suite, which is a set of cryptographic algorithms that define how data is encrypted, decrypted, and authenticated during SSL/TLS communications. Each cipher suite consists of several components that perform different functions. These components are the following:
- Key exchange algorithm: determines how the keys used for encryption are shared between your device and the server. Examples include RSA, Diffie-Hellman (DH), and Elliptic Curve Diffie-Hellman (ECDHE).
- Authentication algorithm: it verifies the identity of the server and optionally the client. This typically involves the use of digital certificates and public keys. RSA and ECDSA are common authentication algorithms.
- Encryption algorithm: its task is to encrypt the data exchanged between your device and the server to keep it confidential. Symmetric encryption algorithms like AES (Advanced Encryption Standard) and ChaCha20 are very common.
- Message Authentication Code (MAC) algorithm: it ensures the integrity and authenticity of the information. It verifies that the data has not been tampered with during transmission. Common MAC algorithms include HMAC-SHA256 and Poly1305.
Each one of these components plays a big role in maintaining the security of the data transmitted over SSL/TLS connections. Together, they ensure that the data is encrypted, authenticated, and verified.
Selecting the Right Cipher Suite
This is no simple task, but fortunately, you have this SSL/TLS security guide right in front of you. Here are some considerations when choosing a cipher suite:
- Security: the strength of the encryption algorithms and key exchange methods is critical. It’s important to use modern, strong algorithms and to avoid deprecated or weak ones. For example, using AES over older algorithms like 3DES is recommended.
- Performance: while security is the primary concern, performance should also be considered. Some encryption algorithms, like ChaCha20, offer a good balance of security and performance.
- Compatibility: ensure that the chosen cipher suites are compatible with the clients that will be connecting to your server. People using older devices or older software may have issues connecting to your app using TLS 1.3, so you may need to support TLS 1.2 and older ciphers.
- Forward Secrecy: cipher suites that support Perfect Forward Secrecy (PFS), like those using ECDHE, ensure that even if a session key is compromised, past communications remain secure.
If you are looking for a full list of cipher suites that work well in most situations, we recommend checking out this Mozilla article and using the Intermediary compatibility ciphers. If you don’t need backward compatibility, then go for the Modern option.
What are Certificate Issuers?
The next step in our SSL/TLS security guide is certificate issuers, also called Certificate Authority (CA). An SSL/TLS certificate issuer is a trusted third party that validates the identity of organizations and individuals before issuing SSL/TLS certificates.
CAs play some big roles in the SSL/TLS ecosystem:
- Identity verification: before issuing a certificate, a CA verifies the identity of the person/organization requesting the certificate. This involves checking that the applicant controls the domain for which the certificate is requested and, in some cases, verifying additional information about the organization.
- Certificate issuance: after verifying the applicant, the CA issues a digital certificate. This certificate includes information about the organization and the public key used for encryption.
- Trust chain: issuers create a chain of trust that browsers and operating systems use to verify the legitimacy of certificates. The CA’s own certificate, known as the root certificate, comes pre-installed in web browsers and operating systems. When a certificate is issued, it forms part of a chain that links back to the CA’s root certificate, establishing a trusted connection.
- Revocations: CAs manage lists of revoked certificates, and provide tools like the OCSP protocol to check the validity of certificates in real time.
Types of SSL/TLS Certificates
No SSL/TLS security guide is complete without touching on this topic. CAs can issue different types of SSL/TLS certificates, each offering various levels of validation and features:
- Domain Validation (DV): they provide basic security and are issued after the CA verifies that the applicant controls the domain. They are the cheapest, fastest, and easiest to obtain, but they offer minimal information about the person or organization behind the website.
- Organization Validation (OV): they require a deeper validation, where the issuer verifies the organization’s identity and its domain control. OV certificates display the organization’s name in the certificate details.
- Extended Validation (EV): these certificates provide the highest level of trust and require a thorough validation by the CA. This includes verifying the legal, physical, and operational existence of the organization or company. Websites with EV certificates display the organization’s name in the browser’s address bar.
- Wildcard certificates: they secure a domain and all its subdomains within a single certificate. For example, a wildcard certificate for *.myshinydomain.com would secure www.myshinydomain.com, mail.myshinydomain.com, and any other subdomains.
- Multi-domain (SAN): these certificates can secure multiple domains with a single certificate. They are ideal for organizations that operate multiple websites under different domains.
Popular SSL/TLS Issuers: Which One Should you Choose?
We have decided to include a few well-known CAs in this SSL/TLS security guide. Keep in mind that all of them are quite good and popular, and they are all a safe bet to obtain your certificate. We suggest looking into Let’s Encrypt first if you need a basic certificate.
- DigiCert: they are known for their high-assurance certificates and excellent customer support.
- Let’s Encrypt: this is a free, automated CA that provides SSL/TLS certificates for millions of websites worldwide, and nowadays is the most used CA in the world, with a 53,3% market share.
- GlobalSign: they offer a wide range of certificates and focus on providing scalable solutions for companies.
- Comodo/Sectigo: they provide various affordable certificates and are popular among small to medium-sized companies.
Obtaining and Installing an SSL/TLS Certificate
Our SSL/TLS security guide includes the necessary steps to obtain and install a certificate below, but if you want more in-depth information be sure to check our tutorial on how to install an SSL/TLS certificate.
- Choosing a CA: the first step in obtaining an SSL/TLS certificate is selecting a CA that meets your needs based on factors like cost, validation level, and customer support. You can find a few popular issuers right above.
- Certificate request: the next step is to generate a Certificate Signing Request (CSR) on your server, which includes your public key and information about your organization or company.
- Validation: submit the CSR to the CA and follow their instructions to validate that you have control over the domain.
- Issuance and installation: once validated, the CA issues the certificate. Now you must install this certificate on your server and configure your SSL/TLS settings. Please check the guide linked above for more information about this step.
The certificate expiration
The penultimate stop in this SSL/TLS security guide is the SSL/TLS certificate expiration. Yeah, unfortunately, they have a validity period, but there’s a reason for that.
SSL/TLS certificates usually last one to two years before they expire, though some free certificates last 3 months, for example, the ones issued by Let’s Encrypt, though they are often renewed automatically. Managing certificate expiration carefully is important to keep HTTPS connections alive and running.
Certificate expiration is important for a few reasons. First, it keeps security strong by making sure encryption methods stay up to date. As technology changes, older encryption standards can become easier to break. Renewing SSL/TLS certificates regularly promotes using stronger and newer encryptions.
Second, certificate expiration helps build trust for online transactions and communication. Web browsers and operating systems trust SSL/TLS certificates during their valid periods. When a certificate expires, browsers will warn users trying to visit a website, showing a big sign with potential security risks. This obviously makes users less confident in the website’s safety.
To correctly manage SSL/TLS certificate expiration, it’s important to watch them closely and renew them when needed. Companies should keep records of all certificates they use, noting when they were issued and when they’ll expire. Automated tools like Let’s Encrypt and Certbot can help by making certificate issuance, installation, and renewals easier.
In addition to implementing SSL/TLS to secure online communications, mid-to-large organizations can benefit greatly from leveraging a threat hunting platform. These tools are specifically designed to detect and mitigate advanced threats that may bypass traditional security measures, providing enhanced data protection and a proactive defense strategy against potential cyberattacks. For example, SSL certificate tracking can help identify potential vulnerabilities in expired or misconfigured certificates
Testing Your SSL/TLS Security Settings
For the last stop in our SSL/TLS security guide, we have a small gift for you, in the form of a quick tutorial on how to test your current SSL/TLS security settings. This is pretty easy to do and completely free, just follow the steps below:
- Access our web security scanner.
- Type your domain in the scan box.
- Click on the two boxes below, named “Clear cache” and “Follow redirects”.
- Now hit the scan button and wait 20-30 scans for the full scan to finish.
- Scroll down to the “SSL/TLS Analysis” section, and take a look at your results. The more green results, the better. If you get a failed in red you may need to update your current settings. Don’t stress over it and just take a look at the rest of the SSL/TLS security guide above.
Summary
Our SSL/TLS security guide has explored how the SSL and TLS protocols protect our online information thanks to the encryption used during data transfers.
Understanding cipher suites, certificate issuers, and managing certificate expiration are key points to maintain a secure HTTPS connection on our website.