"SSL Certificates should be validated by a collection of independent certificate authorities"
That would greatly raise the cost of the SSL certificates. And I don't think that would be something that you could get the various providers to even agree on.
> That would greatly raise the cost of the SSL certificates.
$0 x N is still $0, and the difference between 1 EV certificate and 3 EV certificates is not going to put anybody who really thinks they need one out of business.
> And I don't think that would be something that you could get the various providers to even agree on.
Put simply, certificate authorities don't have a vote. It's up to the browser and OS vendors to set their own requirements for default trust.
If Google, Microsoft, Mozilla, and Apple declare that all SSL certificates lacking at least N valid signatures are treated by default as invalid, that's the ball game. If the current authorities don't play along, new authorities will.
Edit: I should also note that there's really no need for anybody to play along. You can ship a CSR off to as many authorities as you want for signatures, then assemble those signatures and your certificate in whatever form is used by your server and the browsers. The only possible response by an authority is revocation of their signature upon discovery that your certificate has been signed by other authorities, too. Such an action would make them a laughingstock.
Isn't the name of the issuing CA inserted into the the blob of ASN.1 that the CA signs?
I'm sure there have been various proposals over the years to allow it, but I don't think current X509 PKI in browsers accepts multiple signers on certs (except for odd cases like countersigned timestamps for Microsoft Authenticode code signing).
Sorry, I was speaking imprecisely and off the top of my head. You of course have to have multiple certificates, but the point is all that is necessary is for all of the certificates to be sent to the browser and for the browser to check them. It's entirely a question of browser<->server interaction.
You can get all of those certificates for the same hostname and key without any of the authorities even knowing the others exist.
Of course there are technical changes necessary in the browsers and web servers, but that's not the point. The SSL trust model is flawed and needs to be fixed, there are precious few options that won't involve some technical changes.
Comments
"SSL Certificates should be validated by a collection of independent certificate authorities"
That would greatly raise the cost of the SSL certificates. And I don't think that would be something that you could get the various providers to even agree on.
> That would greatly raise the cost of the SSL certificates.
$0 x N is still $0, and the difference between 1 EV certificate and 3 EV certificates is not going to put anybody who really thinks they need one out of business.
> And I don't think that would be something that you could get the various providers to even agree on.
Put simply, certificate authorities don't have a vote. It's up to the browser and OS vendors to set their own requirements for default trust.
If Google, Microsoft, Mozilla, and Apple declare that all SSL certificates lacking at least N valid signatures are treated by default as invalid, that's the ball game. If the current authorities don't play along, new authorities will.
Edit: I should also note that there's really no need for anybody to play along. You can ship a CSR off to as many authorities as you want for signatures, then assemble those signatures and your certificate in whatever form is used by your server and the browsers. The only possible response by an authority is revocation of their signature upon discovery that your certificate has been signed by other authorities, too. Such an action would make them a laughingstock.
Isn't the name of the issuing CA inserted into the the blob of ASN.1 that the CA signs?
I'm sure there have been various proposals over the years to allow it, but I don't think current X509 PKI in browsers accepts multiple signers on certs (except for odd cases like countersigned timestamps for Microsoft Authenticode code signing).
Sorry, I was speaking imprecisely and off the top of my head. You of course have to have multiple certificates, but the point is all that is necessary is for all of the certificates to be sent to the browser and for the browser to check them. It's entirely a question of browser<->server interaction.
You can get all of those certificates for the same hostname and key without any of the authorities even knowing the others exist.
Of course there are technical changes necessary in the browsers and web servers, but that's not the point. The SSL trust model is flawed and needs to be fixed, there are precious few options that won't involve some technical changes.