The Electronic Frontier Foundation (EFF) is proposing an extension to the current SSL chain of trust that aims to improve the security of HTTPS and other secure communication protocols.
EFF's Sovereign Keys (SK) specification is designed to put the control give domain owners control over the link between their domain names and their certificates after recent Certificate Authority (CA) compromises raised serious questions about the security of the entire Internet Public Key Infrastructure.
One of the main problems with the current PKI model is the lack of control over CAs and their subsidiaries. There are literally hundreds of organisations spread around the world that are allowed to issue certificates for any domain name, and some of them are operated by governments that practice Internet surveillance and censorship.
Sovereign Keys was designed to solve this problem by allowing domain owners to sign CA-issued certificates with their own private keys for additional authenticity. These validated domain-certificate associations are kept on so-called timeline servers and are synchronised with mirrors that are queried by clients.
The SK specification, which is still in the design stage, has safeguards in place to ensure that clients only trust the most recent entries in the timeline, that associations can easily be revoked and modified by the sovereign key owners, and that browsing performance is not severely affected by the additional traffic.
In essence, the SK model reduces the number of attack points from hundreds of CAs to 30 or fewer servers where any compromise can be detected automatically. Suspicious entries and other indications of a security breach will cause a compromised server to be immediately ignored by mirrors and clients alike.
Certificate authority breaches
Ever since security breaches at CAs Comodo and Diginotar resulted in fake digital certificates for high profile domains being issued, Internet engineers and security researchers have tried to come up with solutions to improve the current system.
One of the suggested solutions, public key pinning, was recently presented at an Internet Engineering Task Force (IETF) meeting in Taipei. It relies on special HTTP headers to inform browsers what certificates should be cached for particular domains and what CAs their owners trust to issue them.
This approach makes things harder for attackers, because they can't generate trusted certificates unless they compromise one of the limited number of CAs accepted by the domain they wish to attack.
However, while certificate pinning is a step forward, the solution isn't perfect. First of all, it only works for HTTPS, leaving out other secure protocols used for email communication or instant messaging, like SMTP over SSL, POP over SSL, IMAP over SSL and XMPP.
Other criticisms are that certificate pinning lacks a coherent revocation mechanism, and doesn't prevent attacks against users who connect for the first time to a domain name. According to the EFF, the Sovereign Keys extension addresses all of these problems.
In addition, the SK specification is compatible with DANE (DNS-Based Authentication of Named Entities), a protocol used to associate certificates with domain names via DNSSEC, and can be be used to cross-sign DANE keys in order to prevent DNS-based attacks.
Steps to Convergence
The Sovereign Keys system is said to addresses the false positive and false negative issues raised by Convergence, a system designed by SSL security researcher Moxie Marlinkspike, which aims to slowly replace the CA model.
With Convergence, a browser trying to establish an HTTPS connection asks a number of trusted third party notary servers to also query the domain. If the digital certificates received by the notaries and the browser are different, then a man-in-the-middle attack is most likely in progress and the connection is refused.
Marlinspike is skeptical regarding the success of Sovereign Keys because it requires too many changes to current SSL/TLS implementations. "The deployment of 'Sovereign Keys' would require a major internet migration, changing both the way that every webserver deploys SSL today, as well as the way that every SSL client processes server certificates," he said.
"My feeling is that this migration would be unlikely to happen, as it requires the use of client technologies that web browsers are disinclined to integrate, as well as commitments and mechanics that the operators of SSL websites are disinclined to make," he added.
Even though people and organisations have different ideas about how the security of the Internet public key infrastructure should be improved, they all seem to agree that the CA model needs to be replaced or strengthened.
Marlinspike believes that the solution which will eventually be accepted will most likely be the one that requires less changes from those involved in the process. "As we've seen from years of talk about the deficiencies of the CA system, the hard part of this work is not coming up with an idea, but getting it done," he said.