On May 30, 2020, Sectigo’s AddTrust External SHA-1 CA Root will expire. What does this mean and do you need to worry about it? In all likelihood, if you are using a device with up-to-date software, you don't have to worry. However, if you use the specific, aforementioned root, you will need to update applications or installations dependent on it by May 2020 or you may be at risk of outages or having error messages displayed.
Before we dive into why this is, let’s talk a little about what SHA-1 and hash algorithms actually are.
SHA-1 and hashing algorithms
Before you can understand what SHA-1 is, you need to understand what a hashing algorithm is and how they are used in SSLs. At its most basic, a hashing algorithm is a mathematical algorithm that maps and condenses data of any size to a fixed size. When you input plain text to a hashing algorithm it turns it into a compressed numerical value known as hashed text.
As an example, we used the joaat hash algorithm, a very basic, non-cryptographic, hashing algorithm. We input “I love SSLs” and the hashed text result was: df290b71.
Hashes are used by computers to identify or compare files and strings of data. It’s a lot easier to do this with hashes rather than using the original files. Hashing is commonly used across the Internet. Some examples of what it can be used for include storing passwords, retrieving data, and a whole lot more.
Hashes are used in SSL certificates to form digital signatures. Specifically, SSL certificates use cryptographic Secure Hashing Algorithms (SHA). This kind of hashing algorithm creates hashes that are unique and irreversible. This means that the same hash can never be produced twice, and that you can’t decipher what the original piece of data was with just the hash alone. When your SSL is issued by a trusted Certificate Authority, they digitally sign the file with SHA. These digital signatures basically authenticate your SSL and offer proof that it hasn’t been modified or copied. It proves cryptographically to clients (such as a web browser) that the information contained in your SSL certificate file has been verified.
The move from SHA-1 to SHA-2
SHA-1 is a specific version of the secure hashing algorithm. For a long time, it was the primary SHA algorithm for SSLs, but since then its use has been deprecated and phased out completely. From 2016 onwards, SHA-2 (another version of SHA) became the new industry standard. SHA-2 can produce a far higher number of unique hashes than SHA-2, and is therefore considered to be far more secure.
So, what’s the problem?
Even though the use of SHA-1 has largely been phased out, it is still being used in some root certificates today. If you use or run any applications or installations dependent on this root, you will be at risk of outages or displayed error messages.
As a quick explanation of what a root certificate is, we need to talk about the SSL certificate chain.
At its most basic, the chain looks roughly like this:
- Root certificate
- Intermediate certificate
- End-user certificate
Each CA has several root certificates with different attributes. SSL certificates for websites aren’t issued directly from their roots, but intermediate certificates which have been signed by the root certificate. This is to protect the root certificate. So, when you seek to activate an SSL, you submit a CSR to the CA. The CA will then authenticate your SSL and sign it with the private key of the intermediate certificate, then send it back to you. When browsers see that it was signed by a trusted CA, it knows to trust it.
Every device will feature something called a root store. This is a list of the root certificates and public keys of the main trusted CAs. Computer systems and applications know to trust certificates that have been issued from one of these roots. A root store is often native to a device’s OS, while some applications like web browsers also have their own.
So, you can see why the expiration of AddTrust External SHA-1 CA Root might be a problem. From May onwards, systems will stop trusting it.
Will the change affect you?
Probably not. To illustrate, here are three potential scenarios and their outcomes:
1. You are a user and your device is up to date.
If you connect to a site that is signed by the AddTrust SHA-1 root after it expires, your OS/Browser will automatically treat the SSL as trusted because your device already has the SHA-2 root that the SSL was cross-signed with.
2. You are a user and your device is old (like, very very old)
If you connect to a site that is signed by AddTrust SHA-1 root after it expires, you will likely receive an error because your browser/OS will not be able to authenticate the SSL as your device is not compatible with the SHA-2 root the SSL was cross-signed with. To continue using SSL services securely, you should update your device.
3. You are a site owner and your SSL is signed with AddTrust SHA-1 root
Those users who have very old devices will unlikely be able to load your site securely. If you want such visitors to continue to access your site securely after root expiration, you can contact SSLs.com Support and ask us to cross-sign your SSL with Sectigo’s AAA Certificate Services root.
As we’ve said, the sunset of the AddTrust External SHA-1 CA Root is unlikely to impact on the majority of users, unless you are a user with a very old device, or you have a site with visitors who use very old devices. If you are one of the former, it is recommended that you upgrade your device. Beyond SHA-2 incompatibility, older devices are rife with security issues in general. If you are one of the latter, reach out to us so that you can get your SSL cross-signed with the AAA Certificate Services root.