巧妹儿,点滴生活,生活点滴,都需要你来陪伴,往后余生,请多多指教。男人最幸福的事情是:一个好妻子,一份好工作,一个好身体。

2009-2022
DFHL
首页 » 网站相关 » 为什么 SSL 证书那么贵?

为什么 SSL 证书那么贵?

简单来说,主要贵在加密的专利费以及如果发生经济损失要经济赔偿问题。ssl证书可以理解为给网站传输买了一份保障, 一份保险。
以下引用知乎某一个网友的详细介绍
刚刚昨天心血来潮答了个密码学相关的问题,今天就有人邀请我回答网络安全和应用密码学的问题了嘛… 谢邀~

其实楼上很多朋友都已经回答了,SSL证书本身的生成和制作并不困难,困难在于SSL证书的颁布者以及背后涉及到的担保。我想分别针对这两个方面,再详细的回答一下这个问题。

哦对了,先需要说说SSL证书的目的,它有如下5个主要的服务:

  • 认证服务:确认当前访问的网页是其声明的网页。
  • 数据完整性服务:确认互相传输的数据没有被修改过。
  • 数据保密性服务:即数据的加密,没有密钥的第三方无法获知数据的具体内容。
  • 不可否认服务:从技术上保证网站和用户对其行为的认可。举个例子:在淘宝或者其他地方消费了,SSL证书会从技术上证明用户确实进行了消费,服务商确实收到了资金,以及服务商确实付出了与资金相匹配的服务。
  • 公正服务:通过技术手段证明数据的有效性和正确性。

1. 一个典型的数字证书以及其包含的内容

先说明这一点有助于我后面对于这个问题的回答。用个什么例子好呢?我一直比较喜欢听Coursera上面的公开课,这个网站的证书就是一个SSL证书,不妨用它来举例子吧。Coursera的网址为:

Coursera.org

用Firefox打开这个网页,在网页地址栏左边有一个锁一样的图标,点击打开就能够看见SSL证书的详细信息了,截图如下。

这是一个标准的SSL证书,其包括两大部分:证书的结构以及证书的具体字段。其中,证书结构部分就是我们下面要涉及到的证书管理问题。证书的字段部分就是我们下面要涉及到的证书技术问题

我们先来看看这个证书,可以看出,这个证书是由Go Daddy Class 2 CA颁发的。其层级为Go Daddy Root Certificate Authenority -> Go Daddy Secure Certificate Authority -> *.coursera.org

我们也可以分布查看这个证书每一个层级的证书字段,我们仅以*.coursera.org为例。其版本是v3,证书涉及到的算法分别为:SHA-256,RSA加密以及签名,有效期是2014.4.10-2017.1.5。

下面的两幅图,一个是12306火车购票系统的SSL证书详细信息,一个是腾讯邮箱的SSL证书详细信息。我又列举这两个的主要原因是证明,不同的SSL证书,其证书结构部分和证书字段部分都可能会有所不同,甚至使用的密码学算法都不太相同。

看清楚这些区别,我们来分别根据技术部分和管理部分这两大类来回答为何SSL证书会这么贵。

2. 技术部分:杂凑算法,加密算法以及签名算法

前面提到了,一个数字证书需要完成这五个服务。实际上,各种不同的服务对应了不同的密码学技术,而这些密码学技术使得SSL证书在刚开始出现,一直到这些密码学技术专利到期之前,价格都非常的贵。

  • 认证服务。这个服务对应的密码学技术是数字签名(Digital Signature)。签名算法,简单地说就是让数据的发送者对于发送的文件进行一个“签名”工作。数据的接收者可以通过某种方法验证,这个签名确实是发送者签的,而不可能是别人伪造的。签名算法到现在为止广为使用的仍然是RSA签名算法。RSA签名算法虽然是公开的算法,但其使用实际上是有专利版权的,这个版权的归属者就是RSA这三个人:Rivest,Shamir,Adleman。当然了,后面这三个人开了个RSA公司,专门做安全类的业务,这个需要提一下。RSA算法大约是在1977年提出。1983年麻省理工学院在美国RSA算法申请了专利。这个专利2000年9月21日失效。因此,RSA签名算法(当然还有RSA加密算法)的专利使用权,导致了前期数字证书高昂的价格。
  • 数据完整性服务。这个服务对应的密码学技术是安全杂凑算法(Secure Hash Function)。杂凑算法的概念是,给定任意的输入,其输出一个固定长度的子串,满足:(1)很难根据这个输出的子串,再找到一个输入,也使得输出等于这个子串。(2)如果已知输入,那么计算子串非常快。这个算法怎么用呢?很简单,发送方发送消息后,计算出杂凑值,然后把杂凑值一并发送给接收者。接收者先验证输入的杂凑结果是不是等于杂凑值,只要不等于就认为数据被篡改了。杂凑算法比较知名的是MD5,SHA1,SHA256,SHA384,SHA512等等。这些算法是否有专利我没有找到。
  • 数据保密性服务。这个服务对应的密码学技术是单钥加密算法(Symmetric Encryption)。单钥加密算法知名的是DES,IDEA,AES等等。这些算法有的有专利,有的没有。
  • 不可否认服务和公证服务也是上述三种密码学技术的综合。

所以我们可以看出,密码学技术在刚提出来的时候是造成成本的一个主要的原因。毕竟算法并不能无偿使用嘛。现在,这些传统的密码学技术的专利都已经到期了,自然而然出现了现在所看到的:自己用OpenSSL,加上一些很直观的技术,就能构造和使用证书的一个现象。那么,现在证书的成本主要来自哪里呢?这就来自第二个方面了:证书的颁发和管理问题。

3. 证书的生成和管理:CA以及风险

既然每个人都可以通过算法生成证书,那么我们怎么能知道一个证书是否由一个合法的证书生成者生成的呢?举个例子,我自己生成了一个证书,这个证书可以通过验证。但是,我自己生成的证书是无法得到网络上的认可的:这个证书的生成参数是否正确,生成者是否有资质生成证书。而这些,就成为了证书价格高昂的一个核心原因。

证书的管理者是由各个CA(Certificate Authority)来完成的。整个证书的系统异常庞杂,并不是在这里一句话两句话能够说清楚的。不过我们可以通过一个并行的系统来解释,即国籍。每个人都有自己的国籍,每个人也都可以在自己的国家申请护照,通过签证前往其他的国家。而这个护照就类似于证书:证明你是哪个国家的人,你确实具有这个国家人的属性,你有责任代表这个国家。护照的颁发者就类似于CA。国家外交部是国家互相之间认可的唯一官方组织,只有这些组织颁布的护照才是合法有效的,并且能够被完全接受。

国籍这个牵扯到的经济利益不多,但是网络上面就不好说了… 所以说,每一个证书的颁发机构都有潜在的经济风险。也就是说,颁发机构颁发的证书,如果被伪造了,涉及到经济损失是需要赔偿的。这才是证书价格较高的核心问题。

文章如无特别注明均为原创! 作者: 等风也等你, 转载或复制请以 超链接形式 并注明出处 走近风的BLOG
原文地址《 为什么 SSL 证书那么贵?》发布于2021年11月28日

分享到:
打赏

评论

游客

看不清楚?点图切换