商业证书颁发机构与自签名SSL证书之间的比较

介绍

无论是公共网站,Intranet流量还是Web应用程序的登台服务器,您都需要一个证书来保护您的数据并满足用户的安全需求。

SSL连接的主要优点在于隐私数据完整性。连接是私有的,因为加密可以防止窃听。通过加密验证您是否连接到正确的服务器,并通过验证各个消息在传输过程中未被篡改来确保数据完整性。

您可以通过几种不同的方式获取SSL证书,并且根据您的预算,受众和其他一些因素,您可以选择商业证书颁发机构、免费证书颁发机构、自签名证书以及私人证书授权。让我们对这些选项进行比较,并讨论不同时机应该使用哪种产品。

词汇表

在开始之前,我们将定义在SSL安全性时使用的一些常用术语:

传输层安全性(TLS)

传输层安全性是一种新的安全协议,它取代了安全套接层(SSL)。虽然现代加密连接更有可能使用TLS,但SSL名称还是保留在流行语言中,我们将在此处使用SSL。

证书

在本文中,我们将专门引用SSL服务器证书。每当请求新的SSL连接时,Web服务器都会显示服务器证书。它们包含颁发证书的主机的名称,并由证书颁发机构(CA)签名以建立信任。

证书颁发机构(CA)

也称为电子商务认证中心电子商务认证授权机构,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。 CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。CA机构的数字签名使得攻击者不能伪造和篡改证书。它负责产生、分配并管理所有参与网上交易的个体所需的数字证书,因此是安全电子交易的核心环节。在SET交易中,CA不仅对持卡人、商户发放证书,还要对获款的银行、网关发放证书。

域验证(DV)SSL证书

域名验证证书将颁发给已证明其控制证书所请求域名的人员。此证书仅能证明此域名归申请人所有。

组织验证(OV)SSL证书

组织验证证书意味着证书颁发机构还验证了公共数据库中的公司名称和地址。此信息将放入证书中,并且通常仅在用户单击绿色挂锁图标以进一步调查时显示。

扩展验证(EV)SSL证书

扩展验证比域或组织验证更彻底。EV证书不仅在检查域所有权之后发布,而且还在验证请求证书的法人实体的存在和位置,并且所述实体控制正在验证的域。

与DV和OV证书不同,EV不能作为通配符证书颁发。

EV证书也在Web浏览器中得到特殊处理。虽然浏览器通常表示带有绿色挂锁图标的DV证书,但EV证书还会显示一个更大的绿色栏,其中包含发布给它的组织的名称。

通配符证书

通配符证书不是为特定的完全限定域名(例如app.example.com)颁发,而是对一系列子域名有效。因此,颁发给*.example.com的证书将涵盖example.com的任何子域,例如app.example.comdatabase.example.com。星号字符是通配符,可以用任何有效的主机名替换。

证书撤销列表(CRL)

证书撤销功能提供了在密钥泄漏或密钥访问许可权被撤销时,撤销浏览器提供给客户机证书的能力。客户端拿到这个CRL后,就可以知道那些证书已经无效了。

在线证书状态协议(OCSP)

OCSP克服了证书注销列表(CRL)的主要缺陷:必须经常在客户端下载以确保列表的更新。当用户试图访问一个服务器时,在线证书状态协议发送一个对于证书状态信息的请求。服务器回复一个“有效”、“过期”或“未知”的响应。协议规定了服务器和客户端应用程序的通讯语法。在线证书状态协议给了用户的到期的证书一个宽限期,这样他们就可以在更新以前的一段时间内继续访问服务器。

商业证书颁发机构

商业证书颁发机构允许您购买DV,OV和EV证书。有些提供了具有某些限制的免费域验证证书(DV),腾讯云的SSL证书就算商业证书颁发机构。

  • 流程:初始设置和续订的手动流程
  • 费用:大约10美元至1000美元
  • 验证: DV,OV和EV
  • 信任:在大多数浏览器和操作系统中默认为可信
  • 通配符证书:是的
  • 仅IP证书:有些证书将为公共 IP地址颁发证书
  • 有效期: 1 - 3年

大多数浏览器默认信任大多数商业证书颁发机构。续订过程通常是手动的,因此您必须记下证书的到期日期并提醒您自己按时续订。

传统上,商业CA是获得大多数主流浏览器信任的证书的唯一真正选择。这已经改变了新的自动化证书颁发机构,仍然,商业CA是获得EV证书的唯一方式,也是获得大多数浏览器自动信任的通配符证书的唯一方法。商业证书颁发机构通常提供额外的支持合同,担保和认证选项,这对某些公司和行业很重要。所以,如果您的业务是企业级别,我们非常推荐您使用腾讯云SSL证书

自签证书

可以使用已由其自己的私钥签名的SSL证书,这样就完全绕过了对证书颁发机构的需求。这称为自签名证书,在设置用于测试或供少数精通技术的用户使用的Web应用程序时,通常会建议使用此证书。

  • 流程:手动证书创建,无续订机制
  • 费用:免费
  • 验证: DV和OV
  • 信任:默认为无。必须手动将每个证书标记为受信任,因为不涉及通用CA.
  • 通配符证书:是的
  • 仅限IP证书:是,任何IP
  • 到期时间:任何

可以openssl使用OpenSSL库附带的命令创建自签名证书。

由于自签名证书未由任何受信任的CA签名,因此您需要手动将证书标记为受信任,该过程在每个浏览器和操作系统中都是不同的。此后,证书将像一般的CA签名证书一样运行。

当您只需要手动管理少数客户端上的信任时,自签名证书适用于一次性使用,并且不介意在没有更多手动操作的情况下无法撤销或续订它。这通常足以用于开发和测试目的,或者仅供少数人使用的自托管Web应用程序。

私人证书颁发机构

可以创建自己的私有证书颁发机构并使用它来签署证书。您的用户需要在其任何证书受信任之前手动安装并信任您的私有CA.

  • 流程:手动证书创建和续订,以及CA本身的手动设置
  • 费用:免费
  • 验证: DV和OV
  • 信任:默认为无。您必须手动将私有CA证书分发给客户端以建立信任
  • 通配符证书:是的
  • 仅限IP证书:是,任何IP
  • 到期时间:任意

与自签名证书一样,您可以使用OpenSSL库附带的命令行工具创建专用CA,但是已经开发了一些替代接口以简化该过程。tinyCA是此过程的图形界面,caman是一个命令行程序。两者都可以更轻松地创建CA,然后颁发,续订和吊销证书。

如果您要创建多个证书,并且可以手动为用户分发和安装CA,则私有CA是一个不错的选择。这可能会限制您在可以正确安装CA的组织或技术精通用户组中进行内部使用。较大的IT部门通常有办法自动将CA部署到用户,使这个解决方案对他们更具吸引力。

与自签名证书(每个证书必须手动标记为受信任证书)不同,您只需安装一次私有CA。然后,从该CA颁发的所有证书都将继承该信任。

一个缺点是运行CA会产生一些开销,需要知道如何以安全的方式进行设置和维护。

如果适当的撤销对您的使用很重要,您还需要为证书吊销列表或OCSP响应者维护HTTP服务器。

结论

我们已经回顾了一些获取或创建SSL证书的不同选项。无论哪种方式最适合您的情况,添加SSL保护有助于保护服务和用户的数据,隐私和安全。如何设置此证书取决于你是否拥有可解析该服务器的域名。

更多Linux教程请前往腾讯云+社区学习更多知识。


参考文献:《Commercial and Private Certificate Authorities, and Self-Signed SSL Certificates》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序手艺人

mbed TLS 简明教程(三)

45040
来自专栏C/C++基础

常见解压缩软件与其zip格式

国外软件: WinRAR、WinZip、7Zip 、PKZip等。 国内软件:2345好压(HaoZip)、360压缩、快压(KuaiZip)等。

15820
来自专栏云计算与大数据

SSL/TLS协议运行机制的概述

本文简要介绍SSL/TLS协议的运行机制。文章的重点是设计思想和运行过程,不涉及具体的实现细节。如果想了解这方面的内容,请参阅RFC文档。

14820
来自专栏ThoughtWorks

我也想来谈谈HTTPS|洞见

朱本威 ThoughtWorks 1 安全越来越被重视 2014年8月份Google在官博上发表《HTTPS as a ranking signal》表示调整其...

37960
来自专栏网络

从https的演进到burpsuite抓包的漫谈

开始先抛出一下三个问题: 网站登录用户名密码明文传输,改用https协议是否能解决这个问题? 那为什么我采用https了通过burp还是可以看到明文密码? 如果...

43190
来自专栏枕边书

再谈加密-RSA非对称加密的理解和使用

前言 随着互联网越来越渗透入我们生活的方方面面,各种私密信息在网络中传播,为了保证信息的真实可靠,在我们对其安全性的要求也越来越高,对此,加密是一个永远不过时的...

46590
来自专栏菜鸟计划

HTTPS科普(转) 为什么需要https

为什么需要https HTTP是明文传输的,也就意味着,介于发送端、接收端中间的任意节点都可以知道你们传输的内容是什么。这些节点可能是路由器、代理等。 举个最常...

39450
来自专栏Java技术栈

从入门到熟悉 HTTPS 的 9 个问题

HTTP 协议中的内容都是明文传输,HTTPS 的目的是将这些内容加密,确保信息传输安全。最后一个字母 S 指的是 SSL/TLS 协议,它位于 HTTP 协议...

12340
来自专栏向治洪

HTTPS加密协议详解

简介 HTTPS (Secure Hypertext Transfer Protocol)安全超文本传输协议,是一个安全通信通道,它基于HTTP开发用于在客户计...

45970
来自专栏即时通讯技术

迈向HTTPS(四)HTTPS到底解决了什么问题

很多人一提到 HTTPS,第一反应就是安全,对于普通用户来说这就足够了,对于程序员来说,有必要了解下 HTTP 到底有什么问题?HTTPS 是如何解决的?其背后...

12220

扫码关注云+社区

领取腾讯云代金券