Space Data Link Security Protocol — Extended Procedures
The Extended Procedures manage SDLS in flight: keys, Security Associations, and monitoring and control. Each procedure is a PDU with a 3-octet header, identified by its Service Group and Procedure Identification.
Open the interactive diagram, Frame Builder and Frame Decoder
Extended Procedures PDU Header
The mandatory 24-bit header of every Extended Procedures PDU. It carries the Extended Procedures Tag — which identifies the procedure — followed by the Data Field Length.
Extended Procedures Tag
The 8-bit tag that uniquely identifies the procedure. Four sub-fields: Procedure Type, User Flag, Service Group and the Procedure Identification.
Procedure Type FlagPT
Identifies whether the PDU is a command (Initiator → Recipient) or a reply (Recipient → Initiator).
| Value | Meaning | Clause |
|---|---|---|
‘0’ | Command | § 5.3.2.2.2.1.2 |
‘1’ | Reply | § 5.3.2.2.2.1.3 |
User FlagUF
Identifies whether the PDU carries a CCSDS-defined procedure or a user-defined (proprietary) procedure.
| Value | Meaning | Clause |
|---|---|---|
‘0’ | CCSDS defined procedure | § 5.3.2.2.2.2.2 |
‘1’ | User defined procedure | § 5.3.2.2.2.2.3 |
Service Group FieldSG
Identifies the Extended Procedures Service the PDU belongs to — and, for SA Management, the direction of the SAs targeted.
| Value | Meaning | Clause |
|---|---|---|
‘00’ | Key Management procedure | § 5.3.2.2.2.3.2 |
‘01’ | SA Management — SAs handling Initiator → Recipient traffic | § 5.3.2.2.2.3.3 |
‘10’ | SA Management — SAs handling Recipient → Initiator traffic | § 5.3.2.2.2.3.4 |
‘11’ | Security Monitoring & Control procedure | § 5.3.2.2.2.3.5 |
Procedure Identification FieldPI
Identifies the specific procedure being communicated. Interpreted together with the Service Group (see table 5-1).
Extended Procedures Data Field LengthLEN
Signals the length of the PDU Data Field, in bits, octet-aligned. When zero, the Data Field is not present.
Key management
OTAR Command
The OTAR (Over-The-Air-Rekeying) Command realizes the secure — encrypted and authenticated — transmission of new session keys from the Initiator to the Recipient. Its PDU Data Field carries the Master Key ID, an optional Initialization Vector, an Upload Key Block of N (Encrypted Key ID, Encrypted Key) pairs, and a MAC over the authenticated-encrypted block.
| Field | Length | Meaning |
|---|---|---|
| Master Key ID | MANAGED | Signals the Key ID of the master key used for the encrypted authentication of the Upload Key Block. |
| Initialization Vector | MANAGED | Signals, if applicable, the Initialization Vector required by the cryptographic algorithm used for the authenticated encryption of the Upload Key Block. |
| Encrypted Key ID | MANAGED | Signals, in encrypted format, the identifiers of the session keys to be uploaded. Paired with an Encrypted Key and repeated N times within the Upload Key Block. |
| Encrypted Key | MANAGED | Signals, in encrypted format, the cryptographic keys to be uploaded to the Recipient. Paired with an Encrypted Key ID and repeated N times. |
| Message Authentication Code | MANAGED | Signals the Message Authentication Code computed by the cryptographic algorithm used for the authenticated encryption of the Upload Key Block. |
Key Activation Command
The Key Activation Command transitions a set of pre-loaded keys from the Pre-Active State to the Active State at both ends of the link, so they can subsequently be used for cryptographic operations. Its PDU Data Field is simply a Key ID field, repeated one to N times — one entry per key to activate.
| Field | Length | Meaning |
|---|---|---|
| Key ID | MANAGED | Signals the identifiers of the cryptographic keys to be activated on the Recipient. Repeated one to N times — one Key ID per key. |
Key Deactivation Command
The Key Deactivation Command transitions a set of keys from the Active State to the Deactivated State at both ends of the link. A deactivated key can no longer be used for cryptographic operations. Its PDU Data Field is a Key ID field, repeated one to N times — one entry per key to deactivate.
| Field | Length | Meaning |
|---|---|---|
| Key ID | MANAGED | Signals the identifiers of the cryptographic keys to be deactivated on the Recipient. Repeated one to N times — one Key ID per key. |
Key Destruction Command
The Key Destruction Command transitions a set of keys from the Deactivated State to the Destroyed State at both ends of the link — the terminal, irreversible state of the key lifecycle. Its PDU Data Field is a Key ID field, repeated one to N times — one entry per key to destroy.
| Field | Length | Meaning |
|---|---|---|
| Key ID | MANAGED | Signals the identifiers of the cryptographic keys to be destroyed on the Recipient. Repeated one to N times — one Key ID per key. |
Key Verification Command
The Key Verification Command lets the Initiator confirm that a set of active keys at the Recipient are not corrupted or modified and are fully operational. Its PDU Data Field carries (Key ID, Challenge) pairs, repeated one to N times — one pair per key to be verified.
| Field | Length | Meaning |
|---|---|---|
| Key ID | MANAGED | Signals the identifiers of the keys to be verified at the Recipient. Paired with a Challenge and repeated one to N times. |
| Challenge | MANAGED | Signals the challenges to be used for verification of the keys at the Recipient. Paired with a Key ID and repeated one to N times. |
Key Verification Reply
The Key Verification Reply returns the Recipient’s response to a Key Verification Command. For each verified key it carries, in encrypted and authenticated form, the response to the challenge. Its PDU Data Field carries (Key ID, IV, Encrypted Challenge, Challenge MAC) quadruples, repeated one to N times.
| Field | Length | Meaning |
|---|---|---|
| Key ID | MANAGED | Signals the identifiers of the keys that were verified. First field of each quadruple, repeated one to N times. |
| Initialization Vector | MANAGED | Signals, if applicable, the Initialization Vector required by the cryptographic algorithm used for the authenticated encryption of the challenge response. |
| Encrypted Challenge | MANAGED | Signals, in encrypted format, the responses to the challenges sent in the Key Verification Command. |
| Challenge MAC | MANAGED | Signals the Message Authentication Code computed by the cryptographic algorithm used for the authenticated encryption of the challenge response. |
Key Inventory Command
The Key Inventory Command requests the status of a contiguous range of keys held in the Recipient key data base. Its PDU Data Field carries just two fields — the First and Last Key ID of the range to be scanned.
| Field | Length | Meaning |
|---|---|---|
| First Key ID in Range | MANAGED | Signals the first Key ID of the range to be scanned in the Recipient Key Data Base to extract available keys and their status. |
| Last Key ID in Range | MANAGED | Signals the last Key ID of the range to be scanned in the Recipient Key Data Base to extract available keys and their status. |
Key Inventory Reply
The Key Inventory Reply returns the inventory for the range requested by a Key Inventory Command. It opens with the total number of Key IDs returned, followed by that many (Key ID, Key State) pairs — one per key found in the range.
| Field | Length | Meaning |
|---|---|---|
| Total Number of Key IDs Returned | 16 BITS | Signals the number of keys in the Recipient key data base for the range of Key IDs specified in the Key Inventory Command PDU. Sets N — the number of (Key ID, Key State) pairs that follow. |
| Key ID | MANAGED | Signals the identifier of a key found in the requested range. Paired with its Key State and repeated N times. |
| Key State | MANAGED | Signals the state of the paired key within the cryptographic key lifecycle. Paired with a Key ID and repeated N times. |
Security association mgmt
Start SA
The Start SA directive begins using a particular Security Association on a channel. Its PDU Data Field carries the 16-bit SPI of the applicable SA, followed by one to N GVC ID/GMAP ID fields naming the Global Virtual Channel(s)/Global MAP(s) the SA is to be used with.
| Field | Length | Meaning |
|---|---|---|
| Security Parameter Index (SPI) | 16 BITS | Signals the applicable Security Association to be started. The SPI uniquely identifies the SA within the Recipient SA database. |
| GVC ID / GMAP ID | MANAGED (32-bit units) | Signals the Global Virtual Channel(s)/Global MAP(s) with which the Security Association is to be used. Each ID is encoded into a unique 32-bit field; repeated one to N times. |
Stop SA
The Stop SA directive stops using a particular Security Association on a channel. Its PDU Data Field consists of a single field — the 16-bit SPI of the applicable SA, which must be in the ‘Operational’ state.
| Field | Length | Meaning |
|---|---|---|
| Security Parameter Index (SPI) | 16 BITS | Signals the applicable Security Association to be stopped. The SPI uniquely identifies the SA within the Recipient SA database. |
Rekey SA
The Rekey SA directive changes the keys and ARSN of a particular Security Association. Its PDU Data Field carries the 16-bit SPI, then — optionally — a new encryption key ID and a new authentication key ID, followed by a mandatory new ARSN and, if needed, a new IV for the encryption key.
| Field | Length | Meaning |
|---|---|---|
| Security Parameter Index (SPI) | 16 BITS | Signals the SPI of the Security Association to be rekeyed. Uniquely identifies the SA within the Recipient SA database. |
| New Encryption Key ID | MANAGED | Signals the new encryption key for the Security Association. Optional — present only when the encryption key is being changed. |
| New Authentication Key ID | MANAGED | Signals the new authentication key for the Security Association. If the SA service type is Authenticated Encryption using a combined single-key algorithm, this field signals the new key. |
| New Anti-Replay Sequence Number | MANAGED | Signals the new value of the Anti-Replay Sequence Number (ARSN) to be used with the new key. |
| New Initialization Vector (IV) | MANAGED | Signals the new value of the IV to be used with the encryption key. Present only if an IV is needed for the encryption key. |
Expire SA
The Expire SA directive expires the key of a particular Security Association. Its PDU Data Field consists of a single mandatory field — the 16-bit SPI of the applicable SA whose key is to be expired.
| Field | Length | Meaning |
|---|---|---|
| Security Parameter Index (SPI) | 16 BITS | Signals the SPI of the Security Association whose key is to be expired. |
Create SA
The Create SA directive creates a new Security Association and fully specifies its cryptographic configuration. Its PDU Data Field carries a managed number of contiguous fields: the SPI, service-type flags, the security header/trailer field lengths, and the cipher suite, IV, authentication bit mask and ARSN descriptors — each length field followed by its optional managed-length value.
| Field | Length | Meaning |
|---|---|---|
| Security Parameter Index (SPI) | 16 BITS | Signals the SPI of the Security Association to be created. |
| SA Service Type — Encryption | 1 BIT | SA Service Type flag for Encryption — signals whether the Security Association to be created provides an encryption service. |
| SA Service Type — Authentication | 1 BIT | SA Service Type flag for Authentication — signals whether the Security Association to be created provides an authentication service. |
| Security Header IV Field Length | 6 BITS | Signals the length of the Initialization Vector field in the SDLS Security Header for this SA. |
| Security Header SN Field Length | 6 BITS | Signals the length of the Sequence Number field in the SDLS Security Header for this SA. |
| Security Header PL Field Length | 2 BITS | Signals the length of the Pad Length field in the SDLS Security Header for this SA. |
| Security Trailer MAC Field Length | 8 BITS | Signals the length of the Message Authentication Code field in the SDLS Security Trailer for this SA. |
| Encryption Cipher Suite Length | 8 BITS | Signals the length in octets of the Encryption cipher suite identifier field that follows. |
| Encryption Cipher Suite Identifier | MANAGED | Signals the identifier of the encryption cipher suite to be used with the SA. Present only when the length field above is non-zero. |
| Initialization Vector Length | 8 BITS | Signals the length in octets of the IV value field that follows. |
| Initialization Vector Value | MANAGED | Signals the initial Initialization Vector value for the SA. Present only when the IV length field above is non-zero. |
| Authentication Cipher Suite Length | 8 BITS | Signals the length in octets of the Authentication cipher suite identifier field that follows. |
| Authentication Cipher Suite Identifier | MANAGED | Signals the identifier of the authentication cipher suite to be used with the SA. Present only when the length field above is non-zero. |
| Authentication Bit Mask Length | 8 BITS | Signals the length in octets of the Authentication bit mask value field that follows. |
| Authentication Bit Mask Value | MANAGED | Signals the bit mask that selects which bits of the frame are covered by authentication. Present only when the length field above is non-zero. |
| ARSN Length | 8 BITS | Signals the length in octets of the ARSN value field that follows. |
| ARSN Value | MANAGED | Signals the initial Anti-Replay Sequence Number value for the SA. Present only when the ARSN length field above is non-zero. |
| ARSN Window Length | 8 BITS | Signals the length in octets of the Anti-Replay Sequence Number Window value field that follows. |
| ARSN Window Value | MANAGED | Signals the Anti-Replay Sequence Number window — the tolerance within which out-of-order sequence numbers are accepted. Present only when the length field above is non-zero. |
Delete SA
The Delete SA directive removes a Security Association entirely, returning it to the null (‘No SA’) state and erasing all its managed parameters. The SA must be in the ‘Unkeyed’ state. Its PDU Data Field consists of a single mandatory field — the 16-bit SPI of the SA to be deleted.
| Field | Length | Meaning |
|---|---|---|
| Security Parameter Index (SPI) | 16 BITS | Signals the SPI of the Security Association to be deleted. |
Set ARSN
The Set Anti-Replay Sequence Number directive sets a new ARSN value for a particular Security Association. Its PDU Data Field carries the 16-bit SPI of the applicable SA, followed by the new ARSN value of managed length.
| Field | Length | Meaning |
|---|---|---|
| Security Parameter Index (SPI) | 16 BITS | Signals the SPI of the Security Association whose Anti-Replay Sequence Number is to be modified. |
| New Anti-Replay Sequence Number | MANAGED | Signals the new Anti-Replay Sequence Number value to be set for the Security Association. |
Set ARSN Window
The Set Anti-Replay Sequence Number Window directive sets a new ARSN window — the tolerance within which out-of-order sequence numbers are accepted — for a particular Security Association. Its PDU Data Field carries the 16-bit SPI of the applicable SA, followed by the new ARSN window value of managed length.
| Field | Length | Meaning |
|---|---|---|
| Security Parameter Index (SPI) | 16 BITS | Signals the SPI of the Security Association whose Anti-Replay Sequence Number window is to be modified. |
| New Anti-Replay Sequence Number Window | MANAGED | Signals the new Anti-Replay Sequence Number window value — the tolerance within which out-of-order sequence numbers are accepted — to be set for the Security Association. |
SA Status Request
The SA Status Request directive queries the current status of a particular Security Association. Its PDU Data Field consists of a single mandatory field — the 16-bit SPI of the SA to be queried. The Recipient answers with an SA Status Request Reply.
| Field | Length | Meaning |
|---|---|---|
| Security Parameter Index (SPI) | 16 BITS | Signals the SPI of the Security Association to be queried. |
SA Status Request Reply
The SA Status Request Reply returns the Recipient’s response to an SA Status Request. Its PDU Data Field carries two contiguous mandatory fields — the 16-bit SPI of the queried SA, and the 8-bit Procedure Identification of the last executed state-transition directive for that SA.
| Field | Length | Meaning |
|---|---|---|
| Security Parameter Index (SPI) | 16 BITS | Signals the SPI of the Security Association that was queried. |
| State Transition Directive | 8 BITS | Signals the Procedure Identification of the last executed state transition directive for the applicable Security Association; or, if no previous state transition for the SA is known, the current state of the SA. Within the Procedure Identification, the previous (exited) state of the SA is the leftmost two bits and the current (entered) state is the rightmost two bits. |
Read ARSN Command
The Read Anti-Replay Sequence Number Command reads the current ARSN value associated with a given Security Association. Its PDU Data Field consists of a single mandatory field — the 16-bit SPI of the SA whose ARSN is to be read. The Recipient answers with a Read ARSN Reply.
| Field | Length | Meaning |
|---|---|---|
| Security Parameter Index (SPI) | 16 BITS | Signals the SPI of the Security Association whose Anti-Replay Sequence Number is to be read. |
Read ARSN Reply
The Read Anti-Replay Sequence Number Reply returns the Recipient’s response to a Read ARSN Command. Its PDU Data Field consists of a single mandatory field — the current ARSN value of the queried SA, of managed length, carried in full without truncation.
| Field | Length | Meaning |
|---|---|---|
| Anti-Replay Sequence Number Value | MANAGED | Signals the current Anti-Replay Sequence Number value associated with the queried Security Association. Carried in full, without truncation. |
Monitoring & control
Ping Command
The Ping Command verifies that the SDLS Security Function on the Recipient is present and responsive. It belongs to the Security Monitoring & Control service group and has no PDU Data Field — the PDU Header alone carries the directive. The Recipient answers with a Ping Reply.
Ping Reply
The Ping Reply is the Recipient’s response to a Ping Command; its receipt confirms the SDLS Security Function is present and responsive. Like the command, it has no PDU Data Field — the PDU Header alone carries the reply.
Log Status Command
The Log Status Command requests a summary of the on-board Security Log. It belongs to the Security Monitoring & Control service group and has no PDU Data Field — the PDU Header alone carries the directive. The Recipient answers with a Log Status Reply.
Log Status Reply
The Log Status Reply returns the Recipient’s summary of the Security Log. Its PDU Data Field carries two contiguous mandatory fields of managed length — the number of events currently held in the Security Log and the remaining space still available in it.
| Field | Length | Meaning |
|---|---|---|
| Number of Events in the Security Log | MANAGED | Signals the number of Security Event Messages currently held in the on-board Security Log. |
| Remaining Space in the Security Log | MANAGED | Signals the space still available in the on-board Security Log for further Security Event Messages. |
Dump Log Command
The Dump Log Command requests that the Recipient send the entire content of the on-board Security Log to the ground. It does not erase the log. It belongs to the Security Monitoring & Control service group and has no PDU Data Field — the PDU Header alone carries the directive. The Recipient answers with a Dump Log Reply.
Dump Log Reply
The Dump Log Reply returns the full content of the on-board Security Log. Its PDU Data Field is a variable number of contiguous Security Event Messages in TLV (Tag–Length–Value) format — an Event Message Tag, an Event Message Length, then the variable-length Event Message itself — repeated one to N times, one triple per logged event. The Tag and Length field sizes are Managed Parameters.
| Field | Length | Meaning |
|---|---|---|
| Event Message Tag | MANAGED | The Tag (T) of a TLV-formatted Security Event Message — identifies the type of the logged event. First field of each triple; its length is a managed parameter. |
| Event Message Length | MANAGED | The Length (L) of a TLV-formatted Security Event Message — signals the size in octets of the Event Message value that follows. Its length is a managed parameter. |
| Event Message | VARIABLE (managed by L) | The Value (V) of a TLV-formatted Security Event Message — the variable-length body of a single logged security event. Its length is given by the preceding Event Message Length field. |
Erase Log Command
The Erase Log Command requests that the Recipient erase the entire content of the on-board Security Log. It belongs to the Security Monitoring & Control service group and has no PDU Data Field — the PDU Header alone carries the directive. The Recipient answers with an Erase Log Reply giving the log status after erasure.
Erase Log Reply
The Erase Log Reply returns the status of the Security Log after erasure. Its PDU Data Field carries two contiguous mandatory fields of managed length — the number of events still in the log after erasure, and the remaining space now available.
| Field | Length | Meaning |
|---|---|---|
| Number of Events After Erasure | MANAGED | Signals the number of Security Event Messages remaining in the on-board Security Log after erasure of the log. |
| Remaining Space After Erasure | MANAGED | Signals the space still available in the on-board Security Log for further Security Event Messages after erasure of the log. |
Self-Test Command
The Self-Test Command requests that the Recipient run a self-test of its SDLS Security Function. It belongs to the Security Monitoring & Control service group and has no PDU Data Field — the PDU Header alone carries the directive. The Recipient answers with a Self-Test Reply carrying the result.
Self-Test Reply
The Self-Test Reply returns the outcome of the Recipient’s self-test. Its PDU Data Field is a single mandatory 8-bit Self-Test Result field: the most significant bit signals the outcome — 0 = Self-Test OK, 1 = Self-Test not OK — while the remaining seven bits are left to the implementer.
| Field | Length | Meaning |
|---|---|---|
| Self-Test Result | 8 BITS | Signals the outcome of the Recipient self-test. The most significant bit carries the result; the low seven bits (‘X’) are not used by CCSDS and their values are left to the implementer. |
Alarm Flag Reset Command
The Alarm Flag Reset Command requests that the Recipient clear the security alarm flag raised by its SDLS Security Function. The Alarm Flag Reset Procedure supports a single PDU data field structure — the command only — and it has no PDU Data Field, so the PDU Header alone carries the directive.
Rules
- The Data Field Length counts bits, not octets, and is octet-aligned.
- A length of zero means there is no Data Field.