DigiCert 是提供 SSL/TLS 证书的著名证书颁发机构 (CA) 之一,包括域验证 (DV)、组织验证 (OV) 和扩展验证 (EV) 证书。这些证书用于加密用户与网站或应用程序之间的通信,从而提高安全性,防止恶意网络监控和中间人攻击。

为域颁发证书时,证书颁发机构必须首先执行域控制验证 (DCV) 以确认客户拥有该域。用于验证域所有权的方法之一是在证书的 DNS CNAME 记录中添加一个带有随机值的字符串,然后对域执行 DNS 查找以确保随机值匹配。

根据 CABF 基线要求,随机值应由域名分隔,并带有下划线。否则,域与用于验证的子域之间存在冲突的风险。但DigiCert称,最近在一些基于CNAME的验证案例中没有在随机值中包含下划线前缀。

一个已事发5年的错误
DigiCert表示,造成这种错误的根本原因是2019年8月的系统更新,导致删除了某些验证路径中的自动下划线添加,影响了 2019 年 8 月至 2024 年 6 月期间的 83267 个证书。2024 年 6 月 11 日,一个用户体验提升项目通过整合随机值生成过程,修复了这个长达5年都未发现的问题。7 月 29 日,DigiCert 在调查一份关于生成随机值的单独报告时正式披露了这一问题。

目前DigiCert已通知 6807 名受影响的客户,要求他们尽快替换其证书,方法是登录其 DigiCert 帐户,生成证书签名请求 (CSR),并在通过 DCV 后重新颁发证书。需要注意的是,DigiCert 将在 24 小时内(UTC时间 7 月 31 日 19:30 之前)撤销受影响的证书。如果在此之前未完成该过程,则将导致网站或应用程序的连接丢失。

这一事态发展促使美国网络安全和基础设施安全局 (CISA) 发布了一份警报,指出“撤销这些证书可能会导致依赖这些证书进行安全通信的网站、服务和应用程序暂时中断。

使用自签名证书存在以下潜在风险:

  1. 浏览器警告:由于自签名证书没有经过受信任的证书颁发机构(CA)验证,浏览器会显示安全警告,提示用户连接可能不安全。
  2. 缺乏可信度:自签名证书没有第三方验证,用户无法验证证书的真实性,这可能导致用户对网站的可信度产生怀疑。
  3. 易受中间人攻击:没有CA验证意味着攻击者可以更容易地进行中间人攻击,用他们自己的证书替换自签名证书,从而窃取数据。
  4. 安全性弱:自签名证书可能使用较弱的加密算法,使得攻击者更容易破解加密数据。
  5. 不安全的SSL通信重新协商机制:使用自签名证书的服务器可能存在不安全的SSL通信重新协商漏洞,无法及时修补漏洞。
  6. 没有可访问的吊销列表:自签名证书没有可访问的吊销列表,使得浏览器无法实时查验证书状态,一旦证书丢失或被盗,无法吊销,可能被用于非法用途。
  7. 超长有效期,容易被破解:自签名证书往往签发有效期较长,这增加了被黑客破解的风险,因为攻击者有更多时间来破解加密。
  8. 合规性问题:行业安全和合规性标准如PCI DSS明确禁止使用自签名证书处理敏感数据,因为它们的不可信信任使得合规变得困难。
  9. 运营开销:部署和管理自签名证书会带来巨大的运营开销,尤其是在大规模情况下,生成、分发、跟踪、更新和撤销自签名证书很快就会变得复杂。
  10. 失去客户信任:由于安全警告和潜在的风险,客户可能会放弃使用自签名证书的网站,从而损害企业的声誉和销售。

综上所述,自签名证书虽然在某些内部测试环境中可能有用,但在面向公众的服务中使用会带来许多安全和信任问题,因此不建议在生产环境中使用。

不安全的SSL证书问题,特别是“过于广泛的信任证书”,主要涉及到以下几个方面:

  1. 自定义X509TrustManager和HostnameVerifier:在Android开发中,如果开发者自定义了X509TrustManager和HostnameVerifier,并且没有正确实现安全校验逻辑,就可能导致接受任意客户端证书和服务器证书,从而引发安全风险。
  2. 信任所有主机名:如果开发者设置了SSLSocketFactory来信任所有主机名,这同样是一个安全漏洞,因为它允许所有的SSL连接而不进行任何主机名验证。
  3. 证书颁发机构(CA)信任问题:如果程序默认接受由CA颁发的所有证书而屏蔽了安全校验逻辑,那么拥有盗用证书的攻击者可能会拦截这些CA的SSL/TLS信息流进行中间人攻击。
  4. 证书过期、域名不匹配、配置错误:这些都是导致SSL证书不被信任的常见原因。证书过期需要续订或更换,域名不匹配需要确保证书与域名一致,配置错误需要检查并修正SSL证书的安装和配置。
  5. 自签名证书或不受信任的CA机构颁发的证书:自签名证书或非权威CA机构颁发的证书通常不被浏览器信任,因此会导致安全警告。
  6. 系统时间错误:客户端系统时间错误可能会导致SSL证书被误判为过期,因此需要确保系统时间准确。
  7. 站内调用非HTTPS素材:网站内部调用的非HTTPS素材如图片、CSS、JS等可能引起不安全提示,需要确保所有内容均为HTTPS链接。
  8. 缺少中间根证书:如果SSL证书链不完整,缺少中间根证书,也会导致浏览器不信任网站的SSL证书。

为了避免这些问题,建议采取以下措施:

  • 使用受信任的CA机构颁发的SSL证书,并确保证书未过期。
  • 正确配置SSL证书,确保域名匹配。
  • 不要接受所有证书,而是实现适当的证书验证逻辑。
  • 定期检查和更新SSL证书,避免证书过期问题。
  • 确保网站内部所有素材均通过HTTPS链接调用。
  • 确保SSL证书链完整,包括所有必要的中间根证书。

购买SSL证书时,您需要注意以下几个重要的事项和潜在陷阱:

  1. 明确证书类型:SSL证书分为DV(域名验证)、OV(组织验证)和EV(扩展验证)证书。根据您的网站类型和需要保护的信息级别,选择最合适的证书类型。
  2. 比较价格:不同的证书授权中心(CA)提供的SSL证书价格各不相同。花时间比较不同供应商的价格,找到性价比最高的选项。
  3. 了解验证流程:购买OV或EV证书时,验证流程会更为复杂和时间消耗更大。确保您了解并准备好完成这些验证步骤。
  4. 选择可靠的供应商:选择一个声誉良好、服务可靠的证书供应商非常重要。查看用户评价和反馈,可以帮助您做出更好的选择。
  5. 留意证书的续期管理:为避免网站在证书过期后遇到安全问题,务必设立提醒,及时续期SSL证书。
  6. 避免使用自签名证书:不要为了省钱而使用自签名证书,因为主要浏览器可能不信任它,导致网站显示“未验证”或“不安全”的错误消息,损害业务。
  7. 考虑支持SGC强制性128位加密的SSL证书:这样的证书允许用户使用各种版本的浏览器实现128位高强度加密,提供更好的安全性。
  8. 避免免费SSL证书的风险:免费SSL证书可能不是由可信来源颁发的,主要浏览器可能不信任它,导致网站显示不安全警告,损害用户信任。
  9. 确保浏览器兼容性:请确保部署的SSL证书支持所有浏览器,这是部署SSL证书的最低要求。
  10. 考虑证书对SEO的影响:HTTPS是搜索引擎排名的一个因素,缺乏SSL证书的网站可能会在搜索结果中的排名降低。
  11. 合规性和法律风险:随着数据保护法规的实施,确保数据传输安全成为法定义务。缺乏SSL可能使网站运营者面临合规风险和潜在的法律诉讼。

通过考虑上述提示,您可以确保选择到最适合自己需求的SSL证书,为您的网站和用户提供必要的安全保护。

根据2024年的最新数据,SSL证书的价格因证书类型、品牌、验证级别以及保护域名数量等因素而异。以下是一些具体的价格参考:

  1. 域名验证(DV)型SSL证书

    • 这类证书价格相对较低,适合个人网站、博客或小微企业展示型网站。价格通常在几百元至几千元不等。
    • 例如,DigiCert品牌的通配符DV型SSL证书价格为1700元一年。
  2. 组织验证(OV)型SSL证书

    • 这类证书除了验证域名外,还会验证申请者的企业信息。价格适中,大约在几千元每年。
    • 例如,GlobalSign品牌的OV企业型单域名SSL证书价格为1864元一年。
  3. 扩展验证(EV)型SSL证书

    • 这是最高级别的证书,会深入验证企业的合法性和声誉。价格相对较高,大约在几千元至万元每年。
    • 例如,Digicert品牌的增强型EV证书价格为8542元一年。
  4. 多域名和通配符证书

    • 价格会根据支持的域名数量和是否为通配符证书而有所不同。
    • 例如,GeoTrust品牌的OV企业型通配符证书价格为4704元一年。