Space Data Link Security Protocol

CCSDS 355.0-B-2 · Issue 2, July 2022

SDLS adds security to TM, TC, AOS and USLP Transfer Frames. It has no frame of its own: a Security Header and an optional Security Trailer go around the Frame Data, and their field lengths come from the Security Association named by the Security Parameter Index.

Open the interactive diagram, Frame Builder and Frame Decoder

Transfer Frame Header(s)

PER BASE PROTOCOL · FROM BASE FRAME · § 3.3.2 · Open in the viewer

The Primary Header (and, for TC/USLP with Segment Headers, the Segment Header) of the underlying Transfer Frame. SDLS leaves these fields in the clear — they are needed to route the frame and to identify the Security Association.

The Security Association applicable to a frame is selected from the Global Virtual Channel ID (Master Channel ID + Virtual Channel ID) and, for TC/USLP, the MAP ID — all carried in these base-protocol headers.

Security HeaderSH

≤ 64 OCTETS · MANDATORY WHEN SECURITY APPLIED · § 4.1.1 · Open in the viewer

Inserted at the start of the Frame Data area. Carries the SPI that identifies the Security Association, plus the optional Initialization Vector, Sequence Number and Pad Length whose lengths are managed per SA.

The receiver determines the presence and length of the optional fields from the SA identified by the SPI — the field lengths are Managed Parameters, not transmitted.

Security Parameter IndexSPI

BITS 0–15 · 16 BITS · MANDATORY · § 4.1.1.2 · Open in the viewer

The only mandatory Security Header field. A transmitted index that uniquely identifies the Security Association applicable to the frame — effectively a key into the SA data base shared by sender and receiver.

ValueMeaningClause
0 (all zeros)Reserved value§ 4.1.1.2.3
65535 (all ones)Reserved value§ 4.1.1.2.3

All Transfer Frames having the same SPI on a physical channel share a single SA.

Initialization VectorIV

MANAGED (0…n OCTETS) · OPTIONAL · § 4.1.1.3 · Open in the viewer

Carries the initialization vector (or an agreed-upon portion of it) for the cryptographic algorithm. Its length is a managed SA parameter, fixed for the SA’s lifetime; zero octets if no IV is required.

ValueMeaningClause
IV = SEQUENCE NUMBERIn counter-mode algorithms the IV may double as the anti-replay Sequence Number; the Sequence Number field is then zero octets§ 2.3.2.3.4 b)

The Initialization Vector field length is managed and is fixed for the duration of the SA.

The IV is the one Security Header field excluded from the MAC computation.

Sequence NumberSN

MANAGED (0…n OCTETS) · OPTIONAL · § 4.1.1.4 · Open in the viewer

The anti-replay sequence number. Present when authentication or authenticated encryption is selected; incremented by the sender each frame and checked against a sequence-number window by the receiver.

ValueMeaningClause
0 OCTETSWhen the IV serves as the sequence number (counter-mode), or when authentication is not selected§ 4.1.1.4.2 / .4

A received frame whose sequence number falls outside the managed Sequence Number Window is discarded and the stored value is neither replaced nor incremented (2.3.2.3.3).

The interpretation of a sequence number rollover to zero is mission-specific.

Pad LengthPL

MANAGED (0…n OCTETS) · OPTIONAL · § 4.1.1.5 · Open in the viewer

The count of fill bytes added during the cryptographic process (e.g. to satisfy a block cipher’s block-size requirement). Zero octets if padding is not required for the SA.

The Pad Length field length is a managed SA parameter (SA_length_PL).

Frame Data Field

VARIES · FROM BASE FRAME · § 2.3.3 · Open in the viewer

The user data area of the underlying Transfer Frame. When the SA includes encryption, SDLS encrypts this field; it is always included (with the headers, except the IV) in the MAC computation.

SDLS applies encryption to the Frame Data Field only; the Security Header and Trailer surround it but are not themselves encrypted.

Security TrailerST

MANAGED · PRESENT FOR AUTH / AUTH-ENC · § 4.1.2 · Open in the viewer

Appended after the Frame Data area. Present whenever authentication or authenticated encryption is applied on the Virtual Channel; carries the Message Authentication Code.

The length of the Security Trailer is a Managed Parameter (see section 6).

Message Authentication CodeMAC

MANAGED · OPTIONAL (AUTH / AUTH-ENC) · § 4.1.2.3 · Open in the viewer

The authentication tag protecting frame integrity and data-source authenticity. Computed over the Virtual Channel ID, Segment Header (TC), Security Header (excluding the IV) and Frame Data Field, under the SA’s authentication bit mask.

ValueMeaningClause
MAC FAILUREOn verification failure the ProcessSecurity function reports a status code and does not decrypt§ 3.3.3.2

The authentication bit mask must be at least as long as the data from the first octet of the Primary Header to the last octet of the Frame Data Field immediately preceding the MAC (4.2.2.6.2).

Rules