Convergence (SSL)

Last updated
Convergence
Final release
0.09 (client) / 2012-03-07
Repository
Written inPython, JavaScript
Operating system Windows, OS X, Linux
Available inEnglish
Type Web browsing
License GPLv3
WebsiteSee 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.

Contents

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 was focused on an IETF proposal called TACK, [5] which was 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

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 CAs 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

Related Research Articles

<span class="mw-page-title-main">HTTPS</span> Extension of the HTTP communications protocol to support TLS encryption

Hypertext Transfer Protocol Secure (HTTPS) is an extension of the Hypertext Transfer Protocol (HTTP). It uses encryption for secure communication over a computer network, and is widely used on the Internet. In HTTPS, the communication protocol is encrypted using Transport Layer Security (TLS) or, formerly, Secure Sockets Layer (SSL). The protocol is therefore also referred to as HTTP over TLS, or HTTP over SSL.

X.500 is a series of computer networking standards covering electronic directory services. The X.500 series was developed by the Telecommunication Standardization Sector of the International Telecommunication Union (ITU-T). ITU-T was formerly known as the Consultative Committee for International Telephony and Telegraphy (CCITT). X.500 was first approved in 1988. The directory services were developed to support requirements of X.400 electronic mail exchange and name lookup. The International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC) were partners in developing the standards, incorporating them into the Open Systems Interconnection suite of protocols. ISO/IEC 9594 is the corresponding ISO/IEC identification.

Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network. The protocol is widely used in applications such as email, instant messaging, and voice over IP, but its use in securing HTTPS remains the most publicly visible.

<span class="mw-page-title-main">Public key infrastructure</span> System that can issue, distribute and verify digital certificates

A public key infrastructure (PKI) is a set of roles, policies, hardware, software and procedures needed to create, manage, distribute, use, store and revoke digital certificates and manage public-key encryption.

In cryptography, a public key certificate, also known as a digital certificate or identity certificate, is an electronic document used to prove the validity of a public key. The certificate includes the public key and information about it, information about the identity of its owner, and the digital signature of an entity that has verified the certificate's contents. If the device examining the certificate trusts the issuer and finds the signature to be a valid signature of that issuer, then it can use the included public key to communicate securely with the certificate's subject. In email encryption, code signing, and e-signature systems, a certificate's subject is typically a person or organization. However, in Transport Layer Security (TLS) a certificate's subject is typically a computer or other device, though TLS certificates may identify organizations or individuals in addition to their core role in identifying devices. TLS, sometimes called by its older name Secure Sockets Layer (SSL), is notable for being a part of HTTPS, a protocol for securely browsing the web.

In cryptography, X.509 is an International Telecommunication Union (ITU) standard defining the format of public key certificates. X.509 certificates are used in many Internet protocols, including TLS/SSL, which is the basis for HTTPS, the secure protocol for browsing the web. They are also used in offline applications, like electronic signatures.

<span class="mw-page-title-main">Web of trust</span> Mechanism for authenticating cryptographic keys

In cryptography, a web of trust is a concept used in PGP, GnuPG, and other OpenPGP-compatible systems to establish the authenticity of the binding between a public key and its owner. Its decentralized trust model is an alternative to the centralized trust model of a public key infrastructure (PKI), which relies exclusively on a certificate authority. As with computer networks, there are many independent webs of trust, and any user can be a part of, and a link between, multiple webs.

In cryptography, a certificate authority or certification authority (CA) is an entity that stores, signs, and issues digital certificates. A digital certificate certifies the ownership of a public key by the named subject of the certificate. This allows others to rely upon signatures or on assertions made about the private key that corresponds to the certified public key. A CA acts as a trusted third party—trusted both by the subject (owner) of the certificate and by the party relying upon the certificate. The format of these certificates is specified by the X.509 or EMV standard.

<span class="mw-page-title-main">Key exchange</span> Cryptographic method

Key exchange is a method in cryptography by which cryptographic keys are exchanged between two parties, allowing use of a cryptographic algorithm.

The certification path validation algorithm is the algorithm which verifies that a given certificate path is valid under a given public key infrastructure (PKI). A path starts with the Subject certificate and proceeds through a number of intermediate certificates up to a trusted root certificate, typically issued by a trusted certificate authority (CA).

The Online Certificate Status Protocol (OCSP) is an Internet protocol used for obtaining the revocation status of an X.509 digital certificate. It is described in RFC 6960 and is on the Internet standards track. It was created as an alternative to certificate revocation lists (CRL), specifically addressing certain problems associated with using CRLs in a public key infrastructure (PKI). Messages communicated via OCSP are encoded in ASN.1 and are usually communicated over HTTP. The "request/response" nature of these messages leads to OCSP servers being termed OCSP responders.

Thawte Consulting is a certificate authority (CA) for X.509 certificates. Thawte was founded in 1995 by Mark Shuttleworth in South Africa. As of December 30, 2016, its then-parent company, Symantec Group, was collectively the third largest public CA on the Internet with 17.2% market share.

Xcitium, formerly known as Comodo Security Solutions, Inc., is a cybersecurity company headquartered in Bloomfield, New Jersey. Under the brand Sectigo, the company acts as a web Certificate authority (CA) and issues SSL/TLS certificates.

<span class="mw-page-title-main">.onion</span> Pseudo–top-level internet domain

.onion is a special-use top-level domain name designating an anonymous onion service, which was formerly known as a "hidden service", reachable via the Tor network. Such addresses are not actual DNS names, and the .onion TLD is not in the Internet DNS root, but with the appropriate proxy software installed, Internet programs such as web browsers can access sites with .onion addresses by sending the request through the Tor network.

Server Name Indication (SNI) is an extension to the Transport Layer Security (TLS) computer networking protocol by which a client indicates which hostname it is attempting to connect to at the start of the handshaking process. The extension allows a server to present one of multiple possible certificates on the same IP address and TCP port number and hence allows multiple secure (HTTPS) websites to be served by the same IP address without requiring all those sites to use the same certificate. It is the conceptual equivalent to HTTP/1.1 name-based virtual hosting, but for HTTPS. This also allows a proxy to forward client traffic to the right server during TLS/SSL handshake. The desired hostname is not encrypted in the original SNI extension, so an eavesdropper can see which site is being requested. The SNI extension was specified in 2003 in RFC 3546

<span class="mw-page-title-main">Moxie Marlinspike</span> American entrepreneur

Matthew Rosenfeld, better known by the pseudonym Moxie Marlinspike, is an American entrepreneur, cryptographer, and computer security researcher. Marlinspike is the creator of Signal, co-founder of the Signal Technology Foundation, and served as the first CEO of Signal Messenger LLC. He is also a co-author of the Signal Protocol encryption used by Signal, WhatsApp, Google Messages, Facebook Messenger, and Skype.

HTTP Strict Transport Security (HSTS) is a policy mechanism that helps to protect websites against man-in-the-middle attacks such as protocol downgrade attacks and. It allows to declare that web browsers should automatically interact with it using only connections, which provide Transport Layer Security (TLS/SSL), unlike the insecure HTTP used alone. HSTS is an track protocol and is specified in.

Trust on first use (TOFU), or trust upon first use (TUFU), is an authentication scheme used by client software which needs to establish a trust relationship with an unknown or not-yet-trusted endpoint. In a TOFU model, the client will try to look up the endpoint's identifier, usually either the public identity key of the endpoint, or the fingerprint of said identity key, in its local trust database. If no identifier exists yet for the endpoint, the client software will either prompt the user to confirm they have verified the purported identifier is authentic, or if manual verification is not assumed to be possible in the protocol, the client will simply trust the identifier which was given and record the trust relationship into its trust database. If in a subsequent connection a different identifier is received from the opposing endpoint, the client software will consider it to be untrusted.

WebID is a method for internet services and members to know who they are communicating with. The WebID specifications define a set of editor's drafts to prepare the process of standardization for identity, identification and authentication on HTTP-based networks. WebID-based protocols offer a new way to log into internet services. Instead of using a password, for example, the member refers to another web address which can vouch for it. WebID is not a specific service or product.

Let's Encrypt is a non-profit certificate authority run by Internet Security Research Group (ISRG) that provides X.509 certificates for Transport Layer Security (TLS) encryption at no charge. It is the world's largest certificate authority, used by more than 300 million websites, with the goal of all websites being secure and using HTTPS. The Internet Security Research Group (ISRG), the provider of the service, is a public benefit organization. Major sponsors include the Electronic Frontier Foundation (EFF), the Mozilla Foundation, OVH, Cisco Systems, Facebook, Google Chrome, Internet Society, AWS, NGINX, and Bill and Melinda Gates Foundation. Other partners include the certificate authority IdenTrust, the University of Michigan (U-M), and the Linux Foundation.

References

  1. "SSL And The Future Of Authenticity". YouTube.
  2. Schwartz, Mathew J. (2011-09-30). "New SSL Alternative: Support Grows For Convergence". InformationWeek. UBM. Archived from the original on 2011-10-01. Retrieved 2016-09-25.
  3. Messmer, Ellen (2011-10-12). "The SSL certificate industry can and should be replaced". Network World. IDG. Archived from the original on 2014-03-01. Retrieved 2016-09-25.
  4. Marlinspike, Moxie [@moxie] (2013-02-18). "@deviantollam Unfortunately it's not possible to develop a convergence chrome extension. We've been focusing more on http://tack.io" (Tweet) via Twitter.
  5. "Trust Assertions for Certificate Keys". Archived from the original on 2018-09-04. Retrieved 2019-06-19.
  6. Fisher, Dennis (2012-05-30). "Moxie Marlinspike on TACK, Convergence and Trust Agility". ThreatPost.
  7. Marlinspike, Moxie (October 2012). "Trevor Perrin and I are actually making..." Hacker News (Forum). Retrieved 2016-09-24.
  8. "mk-fg/convergence". August 27, 2020 via GitHub.
  9. Goodin, Dan. "Dutch CA banished for life from Chrome, Firefox". www.theregister.com.
  10. "SSL Labs: Announcing launch of two Convergence notaries". Qualys Security Blog. September 29, 2011.
  11. U.S. notary server: https://www.ssllabs.com/convergence/notary-us.convergence.qualys.com.notary [ permanent dead link ]
  12. "moxie0/Convergence". GitHub.
  13. Fuchs, Karl-Peter; Herrmann, Dominik; Micheloni, Andrea; Federrath, Hannes (2015-02-18). "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.