根证书过期可能导致物联网设备停止工作。作为大型组织,应当重视这一问题,并借此拓展自身业务。

多年来,随着采用率的快速提升,互联网实现了跨越式发展。我们可以通过社交媒体与全球各地的人交流,浏览各类所需信息。若没有万维网(即互联网),在线购物、娱乐以及其他大量有趣且实用的功能都将无从实现。随着互联网使用量的增长,我们的家中也充斥着智能手表、智能电视等各类物联网(IoT)设备。

当网站与各类 IoT 设备在互联网上共享信息时,我们的个人数据必然会被置于万维网上以提供个性化体验。但你认为这安全吗?例如,有人拦截了你的 Web 服务器与其浏览器(或智能设备)之间的通信,以窃取正在交换的信息。这类数据泄露通常通过中间人攻击(MITM,Man-in-the-Middle)发生——攻击者插入通信通道中间,窃取相关信息。这足以令人警醒:想象有人因为在线金融交易数据被窃取而清空银行账户,成为身份盗窃的受害者。

因此,采用安全通道来交换此类信息至关重要,而 SSL 是最佳解决方案。

什么是 SSL?

SSL(Secure Sockets Layer,安全套接层)将普通的 HTTP 转换为 HTTPS(Hypertext Transfer Protocol Secure,超文本传输安全协议)。HTTPS 的工作原理是在数据传输前进行加密,并在另一端解密,从而抵御中间人攻击——攻击者即使截获信息也无法理解其内容。

SSL 如何工作?

SSL 通过加密数据来实现保护,加密方式分为两种:对称加密与非对称加密。

非对称加密:也称公钥密码学(public-key cryptography),使用数学上生成的一对密钥进行加解密。公钥与终端方共享,私钥由你妥善保管。通信过程中,你加密的数据只能使用对应的私钥解密。

对称加密:不使用公私钥对,通信双方使用同一把密钥进行加解密。

SSL 通信的两个阶段

SSL 在初始握手阶段使用非对称密码学,在实际数据传输阶段使用对称加密。

初始 SSL 握手:客户端向服务器发送「Client Hello」,包含 SSL 版本、会话专属数据等;服务器回应「Server Hello」;客户端通过 CA(证书颁发机构)验证服务器出示的 SSL 证书,验证失败则向用户告警并终止传输;验证通过后,客户端用服务器公钥生成会话密钥并发回;服务器用私钥解密该会话密钥,再以会话密钥回送确认。

实际 SSL 数据传输:双方使用共享的会话密钥传输数据。对称加密因 CPU 开销更低而被优先采用。

SSL 证书链的作用

要让客户端设备或浏览器验证网站身份,需提供由 SSL 证书组成的证书链,至少包含 3 张证书:终端实体证书、中间 CA 证书(可多于一张)以及自签名的根 CA 证书。根 CA 证书嵌入在操作系统或浏览器中,物理存在于你的设备上。

智能设备面临的威胁

所有联网且带有「智能」字样的设备都容易成为攻击目标。知名流媒体设备 Roku、大型支付处理商 Stripe 与 Spreedly 都曾因根 CA 证书过期而遭受损失——其客户端系统中安装的是已过期的根 CA 证书,且未收到应当替换旧版本的新证书。问题在于,没有最新版本,系统便无法正常工作并开始故障,客户端很快就会因「无效」而拒绝此前有效的服务器证书。

最佳解决方案是更新客户端。即便你采购设备已过去十年或更新,也不能掉以轻心——设备软件可能已过于陈旧而被视作淘汰。如果你运营或构建某项服务并需要使用 CA,务必审慎选择:先了解客户的系统版本、最后更新时间等,再判断哪张 CA 证书适合你。

检测与解决问题

检测此类问题有助于掌握客户端及其根存储(root store)状况。你可以使用网络错误日志(NEL,Network Error Logging)来简化工作,也可请客户端在遇到连接或证书问题时主动反馈。常见的报告错误包括:

tls.version_or_cipher_mismatch:因版本或密码套件不匹配导致 TLS 连接中止。

tls.cert.authority_invalid:因颁发机构无效导致 TLS 连接中止。

tls.cert.date_invalid:因证书日期无效导致中止。

tls.cert.revoked:因证书被吊销导致中止。

其中最主要的通常是 tls.cert.authority_invalid。一旦收到该报告,便可着手收集信息。作为围绕公钥基础设施构建安全通信的软件或设备厂商,必须认识到:不更新根 CA 将对服务产生巨大影响,即便面对旧版客户端,CA 的选择也会对他们产生深远影响。发布或替换更优版本的根存储,能为设备延续数年寿命,并带来积极的口碑。

通过本文,你已更深入理解过期 SSL 证书的危险,以及 SSL 的工作原理与证书链结构。组织应提前规划根证书更新,避免因根 CA 证书过期而拖垮手机、电视乃至所有 IoT 设备。