2024年11月

TLS/SSL解密的优势

拥有和运营TLS/SSL网络安全的人员可以获得许多优势,这些优势来自于能够洞察通过其网络流动的加密流量。这些优势包括:

1.可见性和威胁检测:通过解密TLS/SSL流量,组织可以看到加密通信的内容。这使安全工具能够检查加密数据包的内容,发现恶意活动的迹象,如恶意软件、命令与控制通信或数据泄露企图。如果不解密,这些威胁可能会逃避检测,对组织构成重大风险。

2.增强安全性:解密TLS/SSL流量使安全团队能够应用高级威胁检测技术,包括入侵检测系统(IDS)、数据丢失预防(DLP)和Web应用防火墙(WAF)。这增强了组织检测和应对使用加密隐藏活动的复杂威胁的能力。

3.优化网络性能:TLS/SSL解密技术设计用于最大限度地减少对网络运行性能的影响。它们利用高效的处理和优化技术,确保解密不会显著降低网络性能。通过监控和分析加密流量,组织可以识别可能影响网络性能的瓶颈、错误和异常,允许进行主动优化。

4.有效的事件响应:解密TLS/SSL流量使安全团队在发生安全事件时能够获得详细的可见性和溯源能力。这允许进行深入的调查和分析攻击路径、受影响的数据及其影响,这对有效的事件响应和减轻损害至关重要。

5.合规性和遵守监管要求:许多法律法规(如《网络安全法》、《数据安全法》等)要求组织监控和保护敏感数据。TLS/SSL解密通过允许组织检查加密流量以寻找合规性违规和安全事件,帮助组织实现合规性。

使用TLS/SSL解密的挑战

在网络中进行TLS/SSL解密带来了复杂的挑战,性能压力和不断发展的加密标准增加了其复杂性。关键因素包括资源需求和强大的密钥安全性。高级威胁的规避策略和多样化的网络环境增加了困难。成功克服这些障碍取决于实现可扩展性并解决可见性限制。

性能影响:解密和检查TLS流量可能会对网络资源(如安全工具)造成压力,导致延迟增加和吞吐量减少,这可能影响应用程序和服务的整体性能。

复杂性:在具有各种协议、密码套件和密钥交换方法的多样化网络环境中配置和管理TLS解密可能很复杂,特别是对于流量量大的大型网络。

合规和隐私问题:解密某些类型的流量可能违反隐私法律或合规要求,如《个人信息保护法》等,特别是在处理敏感数据时。

加密标准的演变:随着加密标准的演进(如TLS 1.3),在不损害安全性或性能的前提下解密流量面临新的挑战。组织必须跟随加密趋势和技术的发展,调整解密能力。

可扩展性:确保解密解决方案能够随着网络流量的增长而有效扩展,对于维护性能和安全至关重要。

可见性限制:并非所有加密流量都可以由安全工具解密,某些应用程序和协议使用完美前向保密(PFS)或其他技术,使得追溯解密流量变得困难,限制了对某些通信的可见性。

加密协议是一种通信协议,它确保在两个或多个参与者之间传输的数据是安全的,防止未授权的访问和篡改。这些协议通常涉及使用加密算法来加密数据,使得只有拥有正确密钥的参与者才能解密和访问信息。以下是一些常见的加密协议:

  1. SSL/TLS(Secure Sockets Layer/Transport Layer Security)

    • 用于在互联网上提供安全通信和数据完整性的加密协议。它主要用于网页浏览器和服务器之间的通信,确保数据传输过程中的安全性。
  2. SSH(Secure Shell)

    • 一种网络协议,用于加密方式远程登录到服务器,以及在不安全的网络中安全地传输数据。
  3. IPSec(Internet Protocol Security)

    • 一种网络层安全协议,用于保护IP通信免受窃听和篡改。它可以在IP层提供加密和认证服务。
  4. PGP(Pretty Good Privacy)

    • 一种数据加密和解密程序,用于提高电子邮件通信的隐私性。它使用公钥和私钥加密技术来保护信息。
  5. S/MIME(Secure/Multipurpose Internet Mail Extensions)

    • 一种基于X.509标准的加密协议,用于在电子邮件通信中提供加密、数字签名和认证。
  6. HTTPS(HyperText Transfer Protocol Secure)

    • 是HTTP的安全版本,通过在HTTP下层使用SSL/TLS来加密数据,确保数据在客户端和服务器之间传输时的安全。
  7. WPA/WPA2/WPA3(Wi-Fi Protected Access)

    • 用于保护无线网络(Wi-Fi)的安全协议,提供加密和认证功能,以防止未授权访问。
  8. VPN(Virtual Private Network)

    • 一种技术,允许通过公共网络(如互联网)建立一个安全的、加密的连接,以实现远程访问内部网络。
  9. SM2(Secure Message 2)

    • 一种基于椭圆曲线密码学的公钥加密算法,常用于中国的加密通信。

这些协议在不同的应用场景中发挥着重要作用,确保数据在传输过程中的机密性、完整性和可用性。随着技术的发展,新的加密协议和算法也在不断地被开发和部署,以应对日益复杂的安全威胁。

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证书链完整,包括所有必要的中间根证书。