[LEDE-DEV] [PATCH] mbedtls: Re-allow SHA1-signed certificates

Magnus Kroken mkroken at gmail.com
Fri Aug 4 12:48:01 PDT 2017


Hi

On 04.08.2017 18:37, Hauke Mehrtens wrote:
> I agree to put this into LEDE 17.01 and the master branch for now.

It should be merged to LEDE 17.01 to maintain feature compatibility. I 
disagree that it should be merged to master, as this is a feature we 
(should) want to break in the long run.

> There are probably a lot of old certificates out there that are still in
> use and are SHA1. As the public CAs are not issuing any SHA1
> certificates any more and creating a own certificate and not just
> modifying an existing is certificate is harder, I think there is no big
> security problem here.

Let's take the two examples brought up so far - certificates used with 
OpenVPN, and certificates used with general HTTPS connections.

1. HTTPS
As you said, public CAs have not issued SHA-1 certs for some time. In 
addition, all major desktop web browsers consider sites with SHA-1 certs 
insecure, and throw big fat warnings in the face of users if they 
connect to one. Any site that wants any visitors at all will either 
offer their sites over HTTP only, or install a new cert with SHA-256 
fingerprint. The major browsers have already put their combined force 
together to push for security over compatibility. I don't see why we 
should pull in the opposite direction, given that our influence in this 
context is insignificant in comparison.

2. OpenVPN
OpenVPN does not rely on the public CA system, so the changes in that 
regard does not push OpenVPN servers/providers to do anything about 
their setup (trusting a public CA in an OpenVPN setup greatly reduces 
the security).

The issue I have in this case isn't that "security trumps everything 
everytime", but that it puts all users at risk. When we help out the 
people who still have some work to do with their services, we also put 
the people who have done their homework at risk, with no easy way out. 
I can't tell my OpenVPN server to only trust certs with SHA-256 
fingerprints, because OpenVPN trusts the TLS library to decide which 
algorithms are acceptable and which are not. This isn't specific to 
OpenVPN, most applications provide little or no tweaking of these things.

Since mbedTLS is not runtime-configurable, the question becomes "who 
should we tell to compile their own library to fix their issue?", be it 
security concerns or compatibility issues. In the master branch, I think 
it's fair to make such a breaking change now - we aren't early birds in 
this regard, web browsers have been forcing people to fix their certs 
for more than 6 months now.

Regards
/Magnus



More information about the Lede-dev mailing list