Convergence (SSL)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Convergence
Last release
0.09 (client) / 2012-03-07
Written in Python, JavaScript
Operating system Windows, OS X, GNU/Linux
Available in English
Type Web browsing
License GPLv3
Website See Archived 3 August 2016 at the Wayback Machine.

Convergence was a proposed strategy for replacing SSL certificate authorities, first put forth by Moxie Marlinspike in August 2011 while giving a talk titled "SSL and the Future of Authenticity" at the Black Hat security conference.[1] It was demonstrated with a Firefox addon and a server-side notary daemon.

In the talk, Marlinspike proposed that all of the current problems with the certificate authority (CA) system could be reduced to a single missing property, which he called "trust agility" and which Convergence aimed to provide. The strategy claimed to be agile, secure, and distributed.[2][3]

As of 2013,[4] Marlinspike is focused on an IETF proposal called TACK,[5] which is designed to be an uncontroversial first step that advocates for dynamic certificate pinning instead of full CA replacement and reduces the number of times a third party needs to be trusted.[6][7]

Development of Convergence was continued in a "Convergence Extra" fork until about 2014.[8][third-party source needed]

Background[edit]

Convergence was based on previous work from the Perspectives Project at Carnegie Mellon University. Like Perspectives, Convergence authenticated connections by contacting external notaries, but unlike Perspectives, Convergence notaries could use a number of different strategies beyond network perspective in order to reach a verdict.

Convergence in comparison to conventional SSL[edit]

The purpose of a certificate authority in the conventional SSL system is to vouch for the identity of a site, by checking its SSL certificate. Without some vouchsafing, one is open to a man-in-the-middle attack. A single site is vouched for by only a single certificate authority (CA), and this CA has to be trusted by the user. Web browsers typically include a list of default trusted certificate authorities, and display a warning about an "untrusted connection" when a site cannot be vouchsafed by a trusted CA. A problem with this system is that if a user (or browser vendor) loses trust in a CA, removing the CA from the browser's list of trusted authorities means losing trust in all the sites that used that CA. This happened when major browsers lost trust in the DigiNotar CA[9] and sites registered with this CA had to get new certificate authorities (see Certificate authority#CA compromise for more examples of trust breaches).

With Convergence, however, there was a level of redundancy, and no single point of failure. Several notaries could vouch for a single site. A user could choose to trust several notaries, most of which would vouch for the same sites. If the notaries disagreed on whether a site's identity was correct, the user could choose to go with the majority vote, or err on the side of caution and demand that all notaries agree, or be content with a single notary (the voting method was controlled with a setting in the browser addon). If a user chose to distrust a certain notary, a non-malicious site could still be trusted as long as the remaining trusted notaries trusted it; thus there was no longer a single point of failure.

In September 2011, Qualys announced it would run two notary servers.[10] As of June, 2016 these servers appeared to be down.[11] A list of notaries was maintained on the Convergence wiki.[12]

Alternatives[edit]

  • The Monkeysphere Project tries to solve the same problem by using the PGP web of trust model to assess the authenticity of https certificates.[13][third-party source needed]
  • Several blockchain-based projects remove the need for trust in a third party.
  • HTTP Public Key Pinning is a security mechanism which allows HTTPS websites to resist impersonation by attackers using mis-issued or otherwise fraudulent certificates.

References[edit]

External links[edit]