TLS 1.0 to 1.2 and NIST TLS Cipher Updates: Email Program and Web Browser Compatibility Issues
It happens at least every few years: system administrators need to update the security configuration of their servers to keep up with the latest best practices and to close newly found security issues(i.e., via changes to recommended TLS ciphers and protocols). These updates can be rocky. Change often introduces incompatibilities that prevent certain systems or programs from being able to connect to the updated systems.
(Article updated for January 10th, 2020).
In this article we are going to look at what email program an web browser incompatibilities arise when you migrate from using the “old standard:” TLS v1.0+ and the ciphers recommend by NIST 800-52r1 to using either TLS v1.0+ and the new NIST 800-52r2 ciphers or TLS v1.2+ and the new NIST 800-52r2 ciphers.
Why?
- PCI required that servers that need to be PCI compliant use only TLS v1.1+ (which really means v1.2+) by the end of June, 2018.
- NIST 800-52r2 updated its recommended cipher list and remove many ciphers from revision 1 that are now considered “weak” and introduced a number of new, better ciphers. Administrators should be using NIST 800-52r2 cipher support as a best practice.
- Organizations that require HIPAA compliance should also follow the NIST guidelines and prepare NIST 800-52r2 support and, where possible, support TLS v1.3 and eventually eliminate pre-TLS 1.2 support. See: What level of TLS is required for HIPAA compliance?
Three TLS/Protocol/Cipher Test Cases
In the following sections, we will look at 3 different server configurations and analyze how moving between them will affect the ability of various web browsers and email programs to connect to the server and successfully negotiate TLS. This will help you prepare for these security upgrades.
The three test cases:
- Baseline: TLS 1.0+ with the old, standard NIST 800-52r1 ciphers
- Revision 2: TLS 1.0+ with the new, proposed NIST 800-52r2 ciphers
- Revision 2 + TLS 1.2: TLS 1.2+ with the new, proposed NIST 800-52r2 ciphers
To get a list of the ciphers in each of these chases, refer to the post: What level of TLS is required for HIPAA compliance?
Web Browser Compatibility
We tested web browser compatibility by configuring a web site using each of the three test cases and then performing an SSL Labs scan.
Web Browser | Baseline | Revision 2 | Revision 2 + TLS 1.2 |
---|---|---|---|
Android 2.3.7 – 4.3 | |||
Android 4.4+ | |||
Bing Preview | |||
Chrome 49/XP SP3 | |||
Chrome 57/Windows 7 | |||
Firefox 31.3.0 ESR / Win 7 | |||
Firefox 47 / Win 7 | |||
Firefox 49 / XP SP3 | |||
Firefox 53 / Win 7 | |||
Googlebot | |||
IE 6/XP | |||
IE 7/Vista | |||
IE 8/XP | |||
IE 8-10/Win7 | |||
IE 11/Win7 | |||
IE 11/Win8.1 | |||
IE 11/Win10 | |||
IE 10/Windows Phone 8 | |||
IE 11/Windows Phone 8.1 | |||
Edge 15/Win10 | |||
Edge 13/Win Phone 10 | |||
Java 6u45 | |||
Java 7u25 | |||
Java 8u121 | |||
openssl 0.9.8y | |||
openssl 1.0.1l | |||
openssl 1.0.2e | |||
Safari 6+/ iOS 6+ | |||
Safari 5.1.9 / Mac OS X 10.6.8 | |||
Safari 6.0.4 / Mac OS X 10.8.4 | |||
Safari 7+ / Mac OS X 10.9+ | |||
Yahoo Bot |
So, upgrading the ciphers to NIST 800-52r2 for your web sites will improve security without impacting compatibility. LuxSci uses NIST 800-52r2 for all of its hosted web sites for this reason. If you want to lock down your web site to TLS 1.2+, you will lose compatibility with some older Microsoft browsers and some old libraries (java and openssl) which may or may not be important for your infrastructure.
If you are on an older system, we recommend using the FireFox or Chrome browsers. These have TLS 1.2 support even on Windows XP, because they bring their own TLS libraries and do not rely on the TLS support that comes with the operating system.
Email Program Compatibility
We tested email program browser compatibility by configuring an IMAP/SMTP site using each of the three test cases and then manually testing connectivity from each of the listed email program / operating system combinations (yes, a lot of virtual machines).
Email Program | Baseline | Revision 2 | Revision 2 + TLS 1.2 |
---|---|---|---|
Oulook 2003 / Win XP (up to SP3) | |||
Outlook 2003 / Vista | |||
Outlook 2003 / Win7 | |||
Outlook 2003 / Win8+ | |||
Oulook 2007 / Win XP (up to SP3) | |||
Outlook 2007 / Vista | |||
Outlook 2007 / Win7 | |||
Outlook 2007 / Win8+ | |||
Oulook 2010 / Win XP SP3 | |||
Outlook 2010 / Vista | |||
Outlook 2010 / Win7 | |||
Outlook 2010 / Win8+ | |||
Outlook 2013 / Win7 | |||
Outlook 2013 / Win8+ | |||
Outlook 2016 / Win7 | |||
Outlook 2016 / Win8+ | |||
Outlook 2011 / Mac OSX 10.11-10.13 | |||
Outlook 2016 / Mac OSX 10.11-10.13 | |||
Mac Mail / Mac OSX 10.11 (El Capitan) |
|||
Mac Mail / Mac OSX 10.12+ | |||
Mail / iOS 11+ | |||
Mail / Android 5+ | |||
Thunderbird 24.2 / Win XP+ or Mac 10.11+ | |||
Thunderbird 45.6 / Win XP+ or Mac 10.11+ | |||
Thunderbird 52.8 / Win XP+ or Mac 10.11+ |
Just like with web sites, moving to the updated NIST 800-52r2 ciphers does not really introduce any compatibility issues — unless, of course, you are using Outlook 2011 on a Mac. Switching to TLS 1.2+ will spell trouble for people using Outlook on Windows 7 or earlier, Mac Mail on Mac 10.11 (El Capitan) or earlier, and those using very old versions of Thunderbird.
LuxSci continued to support TLS 1.0+ for general compatibility through January 1st, 2020, unless specific customers requested that their servers be locked down to TLS 1.2+ before then.
I’m on an old system, What can I do?
If you are using an old system (e.g., Windows 7) and need TLS 1.2 support, there are various things that you can do. Clearly, the number one recommend suggestion is to upgrade your operating system, as these old systems (including Windows 7, as of January 2020) are no longer being supported be the vendors and no longer will be getting security updates. Their continued use puts you at risk of security compromise and puts you out of compliance with any regulations (e.g., HIPAA) that you may have to abide by.
The following are some suggestions for getting TLS 1.2 support:
Upgrade to Windows 10 for free
You can will upgrade from Windows 7 to Windows 10 for free. Here is how.
Use Mozilla Thunderbird
Thunderbird is a great email program made by the same folks that make the FireFox web browser. It includes its own TLS libraries and so, even when run on old systems, it can use modern encryption. Get Thunderbird.
Enable TLS 1.2 in Windows 7 SP1, Windows Server 2012, and Windows Server 2008 R2 SP1
There are ways to hack around Windows 7 (service pack 1), Windows Server 2012 and Windows Server 2008 (Revision 2, Service Pack 1) to enable TLS v1.2 support (its there, but turned off by default by Microsoft). We provide the following article for those wishing to try this. LuxSci does not provide support or assistance with this process and you tweak Windows at your own risk:
Add TLS 1.2 to Eudora
If you are a die hard Eudora user, there is apparently a Security DLL that you can download and use that adds TLS v1.2 support. See the Hermes Mail Project.
Find a Patch or Update
Many software systems that do not support TLS 1.2, do not do so because they are old. In many cases, the developers of these systems have since released patches or new versions of the software that do support TLS 1.2. We recommend checking with the vendor (or searching google) to see if such a thing is available for you.
Use stunnel
This is a good solution if you are somewhat technically inclined. You can download stunnel and install it on your computer. Then, you configure stunnel to listen for insecure connections on your computer and connect them to secure connections om LuxSci (e.g., port 465 for SMTP, 993 for IMAP, or 993 for POP). stunnel will take care of all the TLS 1.2 necessities for you; you just point your email program at the local non-TLS stunnel ports on your local computer instead of directly at LuxSci.