NTS:Meta 的经过身份验证的时间服务

邱宇行业资讯📡 BestBlogs·全站精选⭐ 912026-10-081325 阅读💛 47 收藏
NTS:Meta 的经过身份验证的时间服务

📌 One-Sentence Summary

Meta 已在 nts.meta.com 上线了一项支持 NTS 的时间服务,为设备提供经过身份验证、防篡改的时间同步,并开源了协议实现。

📝 Summary

Meta 的新 NTS 服务解决了无身份验证 NTP 的关键漏洞,提供了安全、可靠的时间源。服务使用两阶段过程:首先通过 TLS 握手建立密钥,然后通过经过身份验证的 UDP 数据包进行时间同步,确保时间数据既准确又可信。实现是无状态的,并且是开源的,旨在鼓励广泛采用,以提高依赖时间的互联网操作的安全性。

💡 Main Points

无身份验证 NTP 的漏洞

当前的 NTP 协议缺乏身份验证,容易受到中间人攻击,攻击者可以伪造时间响应。这对依赖精确时间进行证书验证和令牌过期的系统构成严重风险。

NTS 协议概述

网络时间安全(NTS)是一个两阶段协议,首先通过安全的 TLS 连接交换会话密钥,然后使用这些密钥对通过 UDP 发送的时间数据包进行身份验证。这确保了时间数据在传输过程中没有被篡改。

无状态设计与可伸缩性

Meta 的 NTS 服务器不保存任何客户端状态:会话密钥来自 TLS 握手,封装 cookie 的密钥则由共享主密钥和自纪元起的天数经 HKDF 派生,不存储也不复制,任何服务器都能打开其他服务器签发的 cookie,便于扩展且没有可被耗尽的状态。

虽然一些服务器实现支持 NTS,但它在主要移动操作系统(Android 和 iOS)中基本缺失。Meta 呼吁这些平台采用 NTS,以确保它们控制的数十亿台设备能够与安全、经过身份验证的时间源进行同步。

💬 Key Quotes

自 1985 年以来,NTP 就一直是无身份验证的,就像互联网上的许多基础协议一样。但它也是验证每个证书、令牌和签名的依据。

客户端发送 48 字节,某方发回 48 字节,然后客户端就相信了。这里没有签名,没有身份。

RTC 电池耗尽的设备在进行首次握手之前仍然必须获得大致正确的时间。

如果你运营公共时间服务,应该打开 NTS。如果你维护 NTP 客户端,就要实现 RFC 8915。如果你拥有移动操作系统中的时间栈,这正是需要弥补的差距。

📊 Article Meta

AI Screening: 91

Featured: Yes

Source: Engineering at Meta

Author: Engineering at Meta

Category: 软件编程

Language: 英文

Read Time: 10 min

Word Count: 2427

Tags:

编程与工程 , 安全 , 开源项目 , 分布式系统 , 系统设计

#编程与工程# 安全# 开源项目# 分布式系统# 系统设计

文章评论(5)

暮临风1 小时前

这篇文章分析得很透彻,收藏了!

回复
北岛渔夫3 小时前

这个观点很中肯,深有同感。

回复
暮临风1 小时前

看完了,收获满满,期待更多更新。

回复
墨沐雨2 小时前

点赞,必须点赞

回复
吴超58 分钟前

整理得太全面了,省了我不少时间。

回复