| Internet-Draft | TESLA Update | November 2025 |
| Moskowitz & Canetti | Expires 6 May 2026 | [Page] |
This document updates TESLA [RFC4082] to current cryptographic methods for use by the International Civil Aviation Organization (ICAO) in their Global Navigation Satellite System (GNSS) Satellite-based augmentation system (SBAS) authentication protocol. The TESLA updates are to align it with current best practices.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 6 May 2026.¶
Copyright (c) 2025 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
TESLA [RFC4082] (Timed Efficient Stream Loss-Tolerant Authentication) uses the best practices for cryptography when published in 2005. This is quite dated, and any modern use of TESLA needs to adjust to current algorithms and methods.¶
This document focuses on the TESLA design targeted by the International Civil Aviation Organization (ICAO) in their Global Navigation Satellite System (GNSS) Satellite-based augmentation system (SBAS) authentication protocol.¶
The SBAS authentication protocol is more than a modern TESLA implementation. It uses a very tightly designed PKI and the C509 certificate encoding [C509-Certificates] to work within the very highly constrained SBAS communication link. The PKI is out-of-scope for this document and is described elsewhere within ICAO.¶
This document is very much a "work in progress", in that various ICAO SBAS documents need to be excised for their technical updates to TESLA.¶
The updating of TESLA in SBAS Authentication is outlined in [SBAS Authentication]. This document is the public source of changes made to TESLA and some of the justifications.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
Author's note: Should aviation terms (like SBAS) be defined here?¶
TBD - extracted from SBAS documents.¶
TESLA references "indirect time synchronization" like NTP [RFC1035]. It specifies that a controller and senders "engaged in a protocol for finding the value D^0_t between them", with controller and receivers "find the value D^R_t". This is not practical with GNSS time services.¶
TESLA time synchronization with broadcast only time services, like GNSS time, may be set up with out-of-band data (e.g. T_int) and in-band public key authenticated data. This in-band data transmissions need regular transmissions to accommodate "late joiner receivers".¶
TESLA uses a "cryptographic MAC" that MUST be cryptographically secure. It does not provide any guidelines to what is secure. As industry has shown they will field cryptographically weak easy keyed-MACs (e.g. Mavlink 2.0 [MAVLINK]), this update specifies that TESLA will use HMAC [RFC2104] with at least SHA2 or KMAC [NIST.SP.800-185].¶
Further, the one-way hash function MUST be at least SHA2.¶
Current MAC best practices allow for the inclusion of Additional Information added to the message block (e.g. M || "Message Domain"). This is particularly important with very short messages (e.g. SBAS 250 bit messages).¶
The MAC function used in a TESLA implementation SHOULD include Additional Information.¶
In situations where the link capacity cannot support a TESLA packet for each data message, a set of MAC messages may be aggregated, aMAC, and then the aMAC is transmitted. This transmission savings comes at the risk that if the aMAC is lost, a whole set of messages are not authenticated.¶
aMAC = Ltrunc (28, MAC(k, M1 || M2 || M3 || M4 || M5 || 0000))
When TESLA MACs individual packets, a loss of a MAC and thus an unauthenticated may not matter. When aMACs are used, a loss aMAC could be disruptive and adding a FEC (Forward Error Correction) or Block Erasure Codes may be worth the additional transmission cost.¶
This potential lost is highly likely in the GNSS SBAS (due to natural or malicious interference) use case where adding Block Erasure Codes is considered important.¶
The SBAS Block Erasure Codes are built on a set of 5 aMACS which are an aggregation of 5 MACs. Thus the Block Erasure Code recovers the MAC that protected 25 SBAS messages.¶
Author's note: Does this section needs expanding?. Should details of the SBAS Block Erasure Codes be included?¶
This work is in conjunction with the ICAO SBAS Authention Study Group members. This includes, and is not limited to: Jed Dennis (FAA Consultant), Abdel Youssouf (Eurocontrol), Timo Warns (Airbus), Todd Walter (Stanford) and chair Mikaël Mabilleau (Eurocontrol).¶