Convergence (SSL)
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.
Final release | 0.09 (client)
/ 2012-03-07 |
---|---|
Repository | |
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 |
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]
Background
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
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
- 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]
- HTTP Public Key Pinning is a security mechanism which allows HTTPS websites to resist impersonation by attackers using mis-issued or otherwise fraudulent certificates.
- Certificate Transparency is an attempt to solve the problem by verifiable append-only public logs.
References
- "SSL And The Future Of Authenticity". YouTube.
- Schwartz, Mathew J. (30 September 2011). "New SSL Alternative: Support Grows For Convergence". InformationWeek. UBM. Archived from the original on 1 October 2011. Retrieved 25 September 2016.
- Messmer, Ellen (12 October 2011). "The SSL certificate industry can and should be replaced". Network World. IDG. Archived from the original on 1 March 2014. Retrieved 25 September 2016.
- Marlinspike, Moxie [@moxie] (13 February 2013). "@deviantollam Unfortunately it's not possible to develop a convergence chrome extension. We've been focusing more on tack.io" (Tweet) – via Twitter. |date= mismatches calculated date from |number= by two or more days (help)
- "Trust Assertions for Certificate Keys". Archived from the original on 2018-09-04. Retrieved 2019-06-19.
- Fisher, Dennis (30 May 2012). "Moxie Marlinspike on TACK, Convergence and Trust Agility". ThreatPost.
- Marlinspike, Moxie (October 2012). "Trevor Perrin and I are actually making..." Hacker News (Forum). Retrieved 24 September 2016.
- "Github Convergence Extra Repository".
- https://www.theregister.co.uk/2011/09/03/diginotar_game_over/
- https://community.qualys.com/blogs/securitylabs/2011/09/29/ssl-labs-announcing-launch-of-two-convergence-notaries
- U.S. notary server: https://www.ssllabs.com/convergence/notary-us.convergence.qualys.com.notary
- https://github.com/moxie0/Convergence/wiki/Notaries
- Fuchs, Karl-Peter; Herrmann, Dominik; Micheloni, Andrea; Federrath, Hannes (18 February 2015). "Laribus: privacy-preserving detection of fake SSL certificates with a social P2P notary network". EURASIP Journal on Information Security. 2015. doi:10.1186/s13635-014-0018-0. S2CID 3746068. Retrieved 2019-12-20.
External links
- "Convergence". Archived from the original on 3 August 2016. Retrieved 13 October 2011.CS1 maint: bot: original URL status unknown (link)
- Convergence project page at GitHub