Skip to content

BuildNot yet confirmed elsewhere1 publisher3 min readPublished

Meta adds Network Time Security to its public time service, nts.meta.com

Meta's public time service now speaks NTS, so devices can verify time delivered over NTP, a protocol unauthenticated since 1985. Unattended certificate renewals and token checks all read that clock, so a forged reply on plain NTP can break them without anyone noticing.

The Engineer · Build desk

How we use AISend a correction

Illustration accompanying Meta adds Network Time Security to its public time service, nts.meta.com
Generated illustration

What happened

  • Meta has open-sourced its protocol implementation, server and client as part of its Time library on GitHub.
  • Meta is asking NTP client maintainers to enable NTS support, and names those on Android and iOS in particular.
  • CA/Browser Forum ballot SC-081v3 caps new public TLS certificates at 200 days from March 2026, 100 days from March 2027 and 47 days from March 2029.

Why it matters

  • exposure Hosts that renew certificates over ACME roughly monthly will fail or reissue without a ticket if their clock is wrong; NTS takes on-path forgery off the list of causes.
  • cost Client networks need outbound TCP 4460 for the key exchange as well as UDP 123 for time, so a firewall that passes only NTP's UDP port stops NTS before it starts.
  • capability An operator running Meta's open-source server can add machines without building a shared or replicated key store, since clients return their session keys inside each cookie.

Plain NTP trusts whatever answers. Meta describes it this way: the client sends 48 bytes, something sends 48 bytes back, and the client believes it, with no signature and no identity [5]. That is a generous trust model for the input every expiry check reads. Certificate notBefore and notAfter fields, token lifetimes and replay windows are all compared against the local clock, and logs from two hosts only line up if their clocks agree [6].

Certificates also make the problem circular. X.509 date validation needs the current time before the device has a trusted one [7]. Meta lists two workarounds [8]. Devices can skip validation until the clock is set. Or issuers can backdate notBefore by a few minutes while validators widen the window at their end [8]. "Both sides are guessing at how wrong the other one is," Meta's engineers wrote [9]. Meta calls that guessing survivable when a certificate lasted 398 days [10]. The 2029 cap is about 8.5 times shorter [16].

NTS splits the work into two phases. The first is NTS-KE, a TLS 1.3 session on TCP port 4460 negotiated with ALPN ntske/1 [12]. Client and server pick an AEAD and derive two directional session keys from the TLS session through the RFC 5705 exporter [12]. The server then hands over eight cookies and a record naming the NTP server to use, and closes the connection [12]. This happens once, not per packet [12]. Meta negotiates three AEADs and lets the client's preference win [13]. AES-SIV-CMAC-256 is the one RFC 8915 makes mandatory to implement, so it is what an unknown client is most likely to ask for [13].

Phase two is ordinary NTPv4 on UDP 123 with NTS extension fields [14]. Each request carries a unique identifier, a cookie and an authenticator that protects the fields ahead of it in the packet while leaving them in plaintext [14]. The server decrypts the cookie to get the session keys back, then verifies the authenticator. It replies with the identifier echoed back and an authenticator of its own, whose encrypted payload is a set of fresh cookies [15].

The cookie is how the server stays stateless. It brings the client's session keys back on every request, and the server opens it to recover them [15]. Meta says its servers hold no per-client state, and that cookie keys are derived, not stored and not replicated [2]. I think this is the right tradeoff for a public endpoint serving clients it has never seen. The server spends one cookie decryption per request and keeps no session table [15].

Where it breaks is first boot. NTS-KE is a TLS 1.3 handshake [12], and Meta's post itself says X.509 date checks cannot run without the current time [7]. So a device whose clock is far off has to validate the key-exchange server's certificate before it has any authenticated time. Meta's description of the two phases does not address that case.

What to watch

  • Whether Android or iOS NTP clients ship NTS support in response to Meta's request.
  • How Meta's open-source client validates the NTS-KE server certificate on a device whose clock is badly wrong at first boot.
  • Interoperability results between Meta's NTS server and other RFC 8915 clients that prefer an AEAD other than AES-SIV-CMAC-256.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence45
Adoption
Insufficient
Hype gap+5
Incentives35
Confidence55
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    Meta's public time service now speaks NTS (Network Time Security, RFC 8915) at nts.meta.com; packets are authenticated so a device can verify the time came from Meta and was not modified on the way.

    ReportedSupportedSource: Meta engineering blogView cited source
  2. [2]

    Meta's NTS servers hold no per-client state. Cookie keys are derived, not stored and not replicated.

    ReportedSupportedSource: Meta engineering blogView cited source
  3. [3]

    Meta has open sourced the protocol, server and client through Meta's Time library on GitHub.

    ReportedSupportedSource: Meta engineering blogView cited source

Sources

1 independent publisher whose own reporting we read for this story.

  1. engineering.fb.com

    1 article · October 6, 2026

    NTS: Authenticated Time at Meta

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Topics

  • Internet protocol securityFollow
  • TLS certificate lifecycleFollow
  • Network Time SecurityFollow

Entities

Loading related stories