28

I am a newbie in this field. I am confused with why SSL certificates cannot be free of charge. In my understanding the certificate is just a text file consisting of cryptic numbers installed on a server. What do the SSL certificates cost?

  • 20
    @ruief - for someone knew to the field, understanding what a certificate is is non-trivial. He at least understood there was some secret and understood that there isn't a real cost associated with creating the secret. He has a valid question that many people have a hard time understanding if they aren't already pretty familiar with SSL. Sure it shows a lack of knowledge of how SSL works, but the question isn't about how SSL works, it's about why it has a cost in most cases. – AJ Henderson Nov 15 '13 at 20:47
  • With SRP, you won't need any certificates after account creation. – Smit Johnth Nov 26 '13 at 7:58
  • 4
    Birth Certificate is just a piece of paper, why can't I just issue it for myself? Here is a piece of paper I just created in Word, asserting that I am me. – Lie Ryan Jun 9 '15 at 11:35
33

SSL certificates provide two things, encryption and authentication. For encryption, any SSL certificate will do. You can use a self-signed certificate which you can make free of charge and it will provide encrypted communication between your server and a client.

The problem is that since it lacks any authentication, an attacker could simply make their own certificate and claim to be the server you want to connect to. Your browser wouldn't know the difference and would connect to the attacker with an encrypted connection and the attacker could then attach to the real server and monitor all your communication.

To avoid this problem, SSL certificates also need to provide authentication and that means that someone has to verify domain ownership and identity information. The policies have to be administered and systems have to be run to handle dealing with lost keys. Relationships also have to be built with browser makers to get the root keys for the certificate authorities in to the applications. This all has costs and so those costs are passed on to those who buy SSL certificates from a Certificate Authority.

In exchange for that cost, the CA verifies the identity of the organization and domain that they are issuing the certificate to. Now back in our original case, the attacker may be able to get between the client and the server, but they can't get the client to connect to their SSL certificate since it isn't trusted and if the client connects with the real SSL certificate, then the encryption kicks in blocking the attacker from being able to monitor what is happening.

More recently, the service Let's Encrypt has appeared and offers a limited selection of free certificates. They are able to do this for three main reasons:

First, they have generous sponsors who support their operating costs. Lack of encryption and trust on the internet has become a growing problem in recent years as attackers have grown increasingly capable. This need, and the cost of dealing with the lack of trust on the internet, has led to Let's Encrypt being able to get funding.

Second, they offer an extremely limited portfolio of certificate options. They lack the facilities for handling EV certificates or even identity validation. They only offer domain validation and only offer extremely short validity periods due to the automated nature of their verification.

Third, they drastically limited their costs by cutting humans out of the equation. Rather than have conventional validation, Let's Encrypt works purely from automated domain level validation via the ACME protocol. This is good enough to establish a low level of trust that the domain server is being run by the same person that controls the domain name, but not good for anything else.

While it is a free option, unless you are certain of the identity of the website operator, it isn't nearly as good or as trust worthy as certificates available from paid CAs who do further identity verification prior to issuing certificates (though it's of equal value to domain validated certificates offered by other CAs, some of which also offer similar automated free or low cost options, though with even greater limitations on the certs offered.)

  • Not all DV certificates are the same. Some CAs use multiple vantage points and DNSSEC enabled resolver when checking the DNS-01 or HTTP-01 challenges. It is worthless in a way because the current model allows any CA to deliver a certificate for any domain... except if its owner uses CAA records in the DNS, but this also needs DNSSEC to be foolproof. CAA records are mandatory to be taken into account by CAs at issuance due to CAB Forum Requirements. – Patrick Mevzek Aug 13 at 16:32
  • Not everyone thinks that EV certificate are any better than DV ones... Also the short timeframe of validity is shown as a positive thing, not a drawback. It is on purpose like that (to force automation among other goals) and could even be reduced in length. – Patrick Mevzek Aug 13 at 16:33
  • @PatrickMevzek - Length is a positive or a negative depending on how you look at it. Personally, even with the automation in place, I'd prefer longer lived certs to avoid possible breakdowns in the automation process. One year isn't that long either. As for DV vs EV, there are bad actor CAs out there, but the validation of the identity of the entity being given the certificate rather than just the domain is way more trustworthy, especially within a given CA. Agreed that not all DVs are the same though. – AJ Henderson Aug 13 at 16:42
  • My point on needing short life on something that is DV, domains may change hands, but a verification as to the entity behind the domain can safely be longer lived. It's a slight issue that the company may sell the domain and still have a valid cert for it, but you would know who the attacker was at that point because you'd have a signature to the individual or company rather than the domain. Shorter is absolutely better for a DV system though. Long issue DV is crazy. – AJ Henderson Aug 13 at 16:46
  • "domains may change hands" This is descrived in the CAB Forum Requirements. If a domain changes hand (is not renewed, etc.) the CA must revoke the certificate. See point 4 under 4.9.1.1.: "(a court or arbitrator has revoked a Domain Name Registrant's right to use the Domain Name, a relevant licensing or services agreement between the Domain Name Registrant and the Applicant has terminated, or the Domain Name Registrant has failed to renew the Domain Name)" – Patrick Mevzek Aug 13 at 16:47
12

If you generate your SSL Certificate by yourself, HTTPS/SSL will work, but a browser will issue a warning encouraging the user to not trust the site. There will be no way to tell if the website your visitors are accessing is really who it is. So you need authentication from a Root CA to avoid this problem. To get this authentication you need to pay.
But now things are changing. You can explore the Let's Encrypt project; its aim is to provide a free CA. It will generate legitimate certs that are trusted by a significant percentage of browsers.

enter image description here

7

You can certainly generate your own SSL certificate. Charges are not for the generation of them; rather the fee is for someone else to say they trust your certificate.

Presentation of a cert doesn't mean anything, it's the chain of trust associated with it that has meaning. You don't know me, and if I gave you a cert that said I'm Bob Smith of www.google.com, you would either trust me (fool!) or not. If I gave you a similar cert that carried the trust of, say, Verisign, if you trust them then you would extend that trust to me. Verisign isn't going to do that for free since they have administrative requirements before they'll trust me enough to relay that trust to you.

6

Check out Let's Encrypt https://letsencrypt.org (currently in beta). Let's Encrypt is a non-profit that gives out SSL certs for free, and whose goal is widespread adoption of TLS security and to ease the pain of certificate configuration by allowing automatic config and renewal. I have not used this service yet, but it sounds promising, and is sponsored by several big tech companies (Google, Cisco, Mozilla, Facebook).

They only issue DV (Domain validated) certs, but that's all that is needed for most small sites.

For use by anyone, even corporations: https://community.letsencrypt.org/t/are-they-limitations-on-who-can-use-lets-encrypt/687

“The only limitation is that your use-cases fit in what is being offered: domain-validation certificates, to users who can prove ownership over a domain and a private key, with any number of those domains included in the certificate. So: No wildcard certs, no OV [Organization validated] or EV [Extended validation] certs. That's about it.” “Commercial users are welcome to use Let's Encrypt for commercial and for-profit purposes. This is an intended use; we don't have any desire to restrict the use of our services to non-profit or non-commercial purposes.” “It's worth noting that this is because our primary goal is to protect website users, not necessarily to benefit website operators. If we restricted issuance to non-profit or non-commercial websites, we'd fail to help protect a large number of users who have no control over whether or not websites use TLS, and are typically not well informed about TLS status”

Trusted by browsers: Certs are cross signed by IdenTrust for acceptance until LE gets their own root CA that is trusted by browsers. https://letsencrypt.org/certificates/

“Our intermediate is signed by ISRG Root X1. However, since we are a very new certificate authority, ISRG Root X1 is not yet trusted in most browsers. In order to be broadly trusted right away, our intermediate is also cross-signed by another certificate authority, IdenTrust, whose root is already trusted in all major browsers. Specifically, IdenTrust has cross-signed our intermediate using their DST Root CA X3.”

Let’s Encrypt referenced in official Google Chrome site https://www.chromium.org/Home/chromium-security/marking-http-as-non-secure

0

If you want to use SSL publicly and you want the browser to display a trusted status for a root CA cert, then you will need to use a trusted CA to sign your cert. This is where VeriSign, GoDaddy, etc. come in. It is quite expensive to maintain a Trusted Root Cert Authority. You need infrastructure, auditing, staff, etc. to provide certs then you need to pay browser vendors to store them in the browser, around $250K for IE for example, although that number was a while ago.

If your SSL certs are internally-facing then, you can create your own CA, create your own certs using OpenSSL and then push them out to your corporate users. This is much cheaper but not exactly free as you still need infrastructure, staff, etc. to maintain it.

-1

Let's talk about this meaningfully. SSL certificate is to make a trust between the parties, and the certificate authorities such as Verisign, Comodo are Trusted Third party(TTP), which are trusted by first party(user) and second party(web server). Hence, both parties implicitly promise to trust those 3rd parties and browser vendors or organizations explicitly applied the certificates to their own browsers.

It means that the 3rd party CAs bought their trust by paying to be a trusted third party. The "paying" means that they invested their infrastructures and systems to make it secure. If they are compromised, they can be bankrupt since they would be not "trusted" 3rd party more.

So, that is their business model so SSL certificate cannot be free. Of course, some guys have a justice like "https://letsencrypt.org/" provide free certificate. But i believe that Root certificate authorities have to invest their infra. and systems to make it more secure so make the business model from that is reasonable.

New contributor
Sungkyu Cho is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
  • why was this downvoted? – Vipul Nair Aug 16 at 5:26
  • I guess because the author is disparaging letsencrypt without giving a good reason which many people don't like. At least one person (not me, even though I agree) was annoyed enough to downvote the answer for that. – Christoph Grimmer-Dietrich Aug 16 at 6:27
  • Oops. I'm sorry if anyone annoyed because of me. I didn't have any intents to blame let's encrypt. I just wanted to say that they provide free certificate to enhance the privacy on internet. It is really great and noble. I respect them. But, I believe that security is not free, and in the aspect of responsibility, companies and people have to invest their own asset to make it more secure. I just wanted to say that that is why the certificates are not free, not blaming on Let's crypt :) – Sungkyu Cho Aug 16 at 7:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.