Millions of Web users could be left unable to access websites over the HTTPS protocol if those websites use only digital certificates signed with the SHA-2 hashing algorithm.
The warning comes from Facebook and CloudFlare as browser makers are considering an accelerated retirement of the older and increasingly vulnerable SHA-1 function.
The two companies have put mechanisms in place to serve SHA-1 certificates from their websites to old browsers and operating systems that don't support SHA-2, but are still widely used in some regions of the world.
These include Windows versions older than Windows XP with Service Pack 3, Android versions older than 2.3 (Gingerbread) and any applications that rely on OpenSSL 0.9.8 for encrypted communications.
SHA-1 (Secure Hash Algorithm 1) dates back to 1995 and became the default choice for signing SSL/TLS certificates after researchers proved in 2008 that certificates signed with the even older MD5 function could be forged.
SHA-1 itself is also theoretically vulnerable, but the practicability of attacks against it depends on the computing power available. In 2012, renowned cryptographer Bruce Schneier estimated that a practical attack against SHA-1 would cost $700,000 using commercial cloud computing services by 2015 and $173,000 by 2018, putting it well within the reach of criminal syndicates.
As a result, the CA/Browser Forum, a group of certificate authorities and browser makers that sets guidelines for the issuance and use of digital certificates, decided that new SHA-1-signed certificates should not be issued after Jan. 1, 2016. Browser makers also decided that existing SHA-1 certificates will no longer be trusted in their software starting Jan. 1, 2017, even if they're technically set to expire after that date.
However, in October, a group of researchers presented a new way to break SHA-1 that is expected to lower the cost of attacks more quickly than previously anticipated. This has caused some browser makers like Mozilla and Microsoft to consider an even earlier cut-off date for SHA-1 certificates in their products.
To avoid users being unable to access their online properties, the owners of HTTPS websites that still use SHA-1 certificates -- about a million of them including around a sixth of the top 140,000 by traffic -- are under pressure to get new certificates signed with SHA-2.
The problem, though, as researchers from CloudFlare have pointed out, is that around 2% of users who currently access HTTPS-enabled services do so from browsers or operating systems that don't support SHA-2.
That might not seem like much, percentage-wise, but it's actually over 37 million people and the majority of them are located in some of the "poorest, most repressive, and most war-torn countries in the world," CloudFlare's CEO Matthew Prince said Wednesday in a blog post.
According to CloudFlare's data, the top 10 countries with the lowest support for SHA-2 are: China (6%), Cameroon (5%), Yemen (5%), Sudan (5%), Egypt (5%), Libya (5%), Ivory Coast (5%), Nepal (4.5%), Ghana (4%) and Nigeria (4%). The top 25 list includes additional countries from Africa, the Middle East, Asia and Central and South America.
"In other words, after December 31st most of the encrypted Web will be cut off from the most vulnerable populations of Internet users who need encryption the most," the CloudFlare researchers said. "And, unfortunately, if we're going to bring the next 2 billion Internet users online, a lot of them are going to be doing so on second-hand Android phones, so this problem isn't going away any time soon."
Facebook signaled the same problem, estimating that 3% to 7% of browsers currently in use don't support SHA-256, also known as SHA-2.
"A disproportionate number of those people reside in developing countries, and the likely outcome in those countries will be a serious backslide in the deployment of HTTPS by governments, companies and NGOs that wish to reach their target populations," said Alex Stamos, Facebook's chief security officer, in a blog post Wednesday.
Facebook has solved this problem by building a mechanism that allows its certificates to be switched automatically based on the browser used by the visitor. In this way, modern browsers will be served a SHA-2 certificate and older ones will receive a certificate signed with SHA-1.
This allows browser vendors to continue with their plan to cut off support for SHA-1 certificates next year, while allowing websites to serve users with old devices that are unlikely to ever be updated.
Facebook has made the code for its certificate switching mechanism open source under a BSD license, as part of its larger Proxygen HTTP library project. This means that other developers can use it in their own projects and TLS proxies.
CloudFlare, which runs a content delivery network to optimize and protect its customers' websites, has enabled automatic SHA-1 fallback for its paying users. If they wish, business and enterprise customers can turn off the feature, and pro users will be able to do the same by the end of the year.
Facebook and CloudFlare are not the only companies taking such actions. Chinese Internet firm Alibaba uses SHA-1 fallback across many of its websites, which is not surprising givien the large number of users in China who access the Web from browsers that lack SHA-2 support.
Facebook and CloudFlare want to take it one step further. They're urging the CA/Browser Forum to create a new class of certificates called Legacy Validated (LV) certificates for which SHA-1 signatures would continue to be allowed.
Such certificates could be issued past the existing SHA-1 retirement date to organizations which can prove that they use modern certificates and protocols with modern browsers and fall back to LV certificates only for legacy browsers.