无论是公共网站,Intranet流量还是Web应用程序的登台服务器,您都需要一个证书来保护您的数据并满足用户的安全需求。
SSL连接的主要优点在于隐私和数据完整性。连接是私有的,因为加密可以防止窃听。通过加密验证您是否连接到正确的服务器,并通过验证各个消息在传输过程中未被篡改来确保数据完整性。
您可以通过几种不同的方式获取SSL证书,并且根据您的预算,受众和其他一些因素,您可以选择商业证书颁发机构、免费证书颁发机构、自签名证书以及私人证书授权。让我们对这些选项进行比较,并讨论不同时机应该使用哪种产品。
在开始之前,我们将定义在SSL安全性时使用的一些常用术语:
传输层安全性是一种新的安全协议,它取代了安全套接层(SSL)。虽然现代加密连接更有可能使用TLS,但SSL名称还是保留在流行语言中,我们将在此处使用SSL。
在本文中,我们将专门引用SSL服务器证书。每当请求新的SSL连接时,Web服务器都会显示服务器证书。它们包含颁发证书的主机的名称,并由证书颁发机构(CA)签名以建立信任。
也称为电子商务认证中心、电子商务认证授权机构,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。 CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。CA机构的数字签名使得攻击者不能伪造和篡改证书。它负责产生、分配并管理所有参与网上交易的个体所需的数字证书,因此是安全电子交易的核心环节。在SET交易中,CA不仅对持卡人、商户发放证书,还要对获款的银行、网关发放证书。
域名验证证书将颁发给已证明其控制证书所请求域名的人员。此证书仅能证明此域名归申请人所有。
组织验证证书意味着证书颁发机构还验证了公共数据库中的公司名称和地址。此信息将放入证书中,并且通常仅在用户单击绿色挂锁图标以进一步调查时显示。
扩展验证比域或组织验证更彻底。EV证书不仅在检查域所有权之后发布,而且还在验证请求证书的法人实体的存在和位置,并且所述实体控制正在验证的域。
与DV和OV证书不同,EV不能作为通配符证书颁发。
EV证书也在Web浏览器中得到特殊处理。虽然浏览器通常表示带有绿色挂锁图标的DV证书,但EV证书还会显示一个更大的绿色栏,其中包含发布给它的组织的名称。
通配符证书不是为特定的完全限定域名(例如app.example.com)颁发,而是对一系列子域名有效。因此,颁发给*.example.com的证书将涵盖example.com的任何子域,例如app.example.com和database.example.com。星号字符是通配符,可以用任何有效的主机名替换。
证书撤销功能提供了在密钥泄漏或密钥访问许可权被撤销时,撤销浏览器提供给客户机证书的能力。客户端拿到这个CRL后,就可以知道那些证书已经无效了。
OCSP克服了证书注销列表(CRL)的主要缺陷:必须经常在客户端下载以确保列表的更新。当用户试图访问一个服务器时,在线证书状态协议发送一个对于证书状态信息的请求。服务器回复一个“有效”、“过期”或“未知”的响应。协议规定了服务器和客户端应用程序的通讯语法。在线证书状态协议给了用户的到期的证书一个宽限期,这样他们就可以在更新以前的一段时间内继续访问服务器。
商业证书颁发机构允许您购买DV,OV和EV证书。有些提供了具有某些限制的免费域验证证书(DV),腾讯云的SSL证书就算商业证书颁发机构。
大多数浏览器默认信任大多数商业证书颁发机构。续订过程通常是手动的,因此您必须记下证书的到期日期并提醒您自己按时续订。
传统上,商业CA是获得大多数主流浏览器信任的证书的唯一真正选择。这已经改变了新的自动化证书颁发机构,仍然,商业CA是获得EV证书的唯一方式,也是获得大多数浏览器自动信任的通配符证书的唯一方法。商业证书颁发机构通常提供额外的支持合同,担保和认证选项,这对某些公司和行业很重要。所以,如果您的业务是企业级别,我们非常推荐您使用腾讯云SSL证书。
可以使用已由其自己的私钥签名的SSL证书,这样就完全绕过了对证书颁发机构的需求。这称为自签名证书,在设置用于测试或供少数精通技术的用户使用的Web应用程序时,通常会建议使用此证书。
可以openssl使用OpenSSL库附带的命令创建自签名证书。
由于自签名证书未由任何受信任的CA签名,因此您需要手动将证书标记为受信任,该过程在每个浏览器和操作系统中都是不同的。此后,证书将像一般的CA签名证书一样运行。
当您只需要手动管理少数客户端上的信任时,自签名证书适用于一次性使用,并且不介意在没有更多手动操作的情况下无法撤销或续订它。这通常足以用于开发和测试目的,或者仅供少数人使用的自托管Web应用程序。
可以创建自己的私有证书颁发机构并使用它来签署证书。您的用户需要在其任何证书受信任之前手动安装并信任您的私有CA.
与自签名证书一样,您可以使用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》
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。