SDLS Key Management Draftv02

advertisement
SDLS Key Management Extended Procedures
Purpose and Rational for SDLS Key Management Extended Procedures
The SDLS protocol provides encryption, authentication, or authenticated encryption for data link layer
services of the TC, TM, and AOS protocols. Key Management extended procedures are necessary in
order to support the management and distribution of cryptographic material that is required for the
cryptographic operations within the SDLS protocol.
3. Service Definition
3.1 Overview
This Section provides the service definition for the SDLS key management extended procedures. The
procedures are described in an abstract, sequential step-by-step procedure. They represent an abstract
model of the logical exchange of data and control information between the key management procedure
initiator and the recipient. The definition of primitives is independent of specific implementation
approaches.
3.2 Key Management Service
The Key Management Extended Procedures for the SDLS protocol are specified as an extension of the
CCSDS Symmetric Key Management Recommended Practise [AD-KM]. Thus terminology from this
recommended practise is used within this specification. The SDLS Key Management Procedures are an
instantiation of the generic key management procedures specified in [AD-KM]. More concrete, they
replace the generic data structure specifications with concrete service data units and put the procedures
into context with the established Security Associations.
The baseline SDLS Key Management Procedures are built around a two-level key hierarchy (see below)
and an over-the-air-rekeying (OTAR) principle. Thus the OTAR related mandatory key management
procedures specified in [AD-KM] apply.
3.2.1 Service Parameters
3.2.2 Service Directives
3.2.2.1 Key DB Status Request
3.2.2.2 Key DB Self-Test
3.2.2.3 Verify Key (Key Verification)
The procedure allows the verification of a set of active ephemeral keys on the spacecraft. This gives
confirmation to the ground segment that the keys are not corrupted or modified and fully operational. It
should be noted that this procedure may not be executed for ephemeral or static keys associated with
pre-activation state since this would imply a transition to active state.
3.2.2.4 Revoke Key (Key Deactivation)
The deactivation (or revocation) procedure deactivates a set of previously uploaded ephemeral keys at
both end of the communication channel so that these keys are assigned the Deactivated State and
subsequently cannot be used for cryptographic operations anymore. However, the keys are not (yet)
destroyed.
3.2.2.5 Erase Key (Key Destruction)
3.2.2.6 Zeroize
3.2.2.7 Generate Key
3.2.2.9 Load Master Key / KEK
3.2.2.10 Unload Master Key / KEK
3.2.2.11 Key Upload (OTAR Rekeying)
3.2.2.12 Activate Key (Key Activation)
3.3 Security Associations Management Service
3.4 SDLS Monitoring & Control Service
4 Interface with SLP & SDLS Protocols
The Key Management Handler is the entity responsible for the management of the key management
procedures. It communicates with the Space Data Link Protocols in the role of a Virtual Channel Access
and the data exchanged is in the form of VCA_PDUs in case of TM and AOS and VCA_PDUs or segments
in the case of TC.
Backend
(Key DB, Key Gen.)
User Interface
KM Handling
(VCA Service)
VCA_PDU /
Segment
VCA_PDU
AOS/TC
AOS/TM
This section defines the Key Management Procedures in the form of procedural tasks to be executed
either by the Initiator or the Recipient. For each procedure this recommended standard specifies a
precondition to execute the procedure.
5 Procedures Definition
5.1 Key Management Procedures
The following Key Management Procedures shall be supported:







Key DB Status Request
Key DB Self-Test
Verify Key
Revoke Key
Erase Key
Key Upload (OTAR)
Activate Key
The following Key Management Procedures are optional:






Zeroize
Generate Key
Load Master Key/KEK
Unload Master Key/ KEK
Convert Key Red-> Black
Convert Key Black-> Red
5.1.1 Procedures Specification
The following section describes on a procedural level, the key management extended procedures.
5.1.1.1 Key DB Status Request
The DB Status Request procedure shall be an instantiation of Section 4.1.1. of [AD-KM].
5.1.1.1.1 Description
This procedure allows the initiator to request a status report concerning the key DB status on the
recipient side.
5.1.1.1.2 Pre-Conditions for the Procedure
This procedure has no pre-conditions.
5.1.1.1.3 Procedural Steps and Roles for the Procedure
This procedure shall have the following steps and associated roles.


1)
2)
3)
4)
5)
The procedure is only completed once all steps have been carried out by their associated roles
in the order specified by the procedure.
All steps are mandatory.
VCA_PDU/TC Segment Creation and transmission to Recipient ; Role: Initiator
VCA_PDU/TC Segment reception and extraction; Role: Recipient
Status Report Creation; Role: Recipient
VCA_PDU Creation and transmission to Initiator; Role: Recipient
VCA_PDU reception and extraction; Role: Initiator
Figure xx – Key DB Status Request Procedure Visualization
5.1.1.1.4 Step 1: VCA_PDU/TC Segment Creation and transmission to Recipient
The step 1 shall have the following input:

None
The step 1 shall have the following output:

VCA_PDU/ TC Segment containing Procedure 1.1 data structure delivered to Initiator Space Data
Link Protocol Instance
The step 1 processing:


The KM handler creates a Procedure 1.1 protocol data unit. Two data units shall be supported
depending on the Space Link Protocol in use:
1. VCA_PDU
2. TC Segment without segment header
The KM handler provides the Procedure 1.1 data unit created to the Space Data Link Protocol
interface. Two interfaces shall be supported:
1. Virtual Channel Access Service (for VCA_PDU)
2. MAP Access Service (for TC Segments)
5.1.1.1.5 Step 2: VCA_PDU/TC Segment reception and extraction
The step 2 shall have the following input:

VCA_PDU or TC segment carrying Procedure 1.1 protocol data unit
The step 2 shall have the following output:

Key DB Status Request Information
The step 2 processing:


The KM handler receives a Procedure 1.1 protocol data unit from the Virtual Channel Access
Service. Two data units shall be supported depending on the Space Link Protocol in use:
1. VCA_PDU
2. TC Segment without segment header
The KM handler parses the Procedure 1.1 data unit and extracts the Key DB Status Request
information
5.1.1.1.6 Step 3: Status Report Creation
Step 3 is an internal process on the recipient side and does not involve a communication channel.
The step 3 shall have the following input:

Key DB Status Request Information
The step 3 shall have the following output:

Key DB Status Request Response
The step 3 processing:
1. The KM handler shall request the key DB status information from the Key DB
2. The KM handler shall create a Key DB Request Response
5.1.1.1.7 Step 4: VCA_PDU Creation and transmission to Initiator
The step 4 shall have the following input:

Key DB Status Request Response
The step 4 shall have the following output:

VCA_PDU containing Procedure 1.2 data structure delivered to Initiator Space Data Link Protocol
Instance
The step 4 processing:
1. The KM handler shall encode the Key DB Status Response in a Procedure 1.2 data structure
2. The KM handler shall create a VCA_PDU containing the Procedure 1.2 data structure
3. The KM handler shall deliver the VCA_PDU to the Space Data Link Protocol via the Virtual
Channel Access Service.
5.1.1.1.8 Step 5: VCA_PDU reception and extraction
The step 5 shall have the following input:

VCA_PDU carrying Procedure 1.2 protocol data unit
The step 5 shall have the following output:

Key DB Status Request Response
The step 5 processing:
1. The KM handler receives a Procedure 1.2 protocol data unit from the Virtual Channel Access
Service in the form of a VCA_PDU.
2. The KM handler parses the Procedure 1.2 data unit and extracts the Status Request Response
information
Mmh, does the KM handler need to be able to parse the information it received to see which service is
actually used at the moment?
5.1.1.2 Key DB Self-Test
The service primitives for this service are
5.1.1.3 Verify Key
The Verify key procedure shall be an instantiation of Section 4.1.3 of [AD-KM].
5.1.1.3.1 Description
The procedure allows the verification of a set of active ephemeral keys at the recipient. This gives
confirmation to the initiator that the keys are not corrupted or modified and fully operational.
5.1.1.3.2 Pre-Conditions for the Procedure
Both entities shall have an identical set of ephemeral keys associated with active state.
5.1.1.3.3 Procedural Steps and Roles for the Procedure
This procedure shall have the following steps and associated roles.


1)
2)
3)
4)
5)
6)
The procedure is only completed once all steps have been carried out by their associated roles
in the order specified by the procedure.
All steps are mandatory.
VCA_PDU/TC Segment Creation and transmission to Recipient ; Role: Initiator
VCA_PDU/TC Segment reception and extraction; Role: Recipient
Computation of Challenge Responses; Role: Recipient
VCA_PDU Creation and transmission to Initiator; Role: Recipient
VCA_PDU reception and extraction; Role: Initiator
Verification of Challenge Responses; Role: Initiator
7) Figure xx – Key DB Status Request Procedure Visualization
5.1.1.3.4 Step 1: VCA_PDU/TC Segment Creation and transmission to Recipient
The step 1 shall have the following input:


Random Number Generator output or fixed function output (challenge seed)
Key IDs of keys to be verified
The step 1 shall have the following output:

VCA_PDU/ TC Segment containing Procedure 3.1 data structure delivered to Initiator Space Data
Link Protocol Instance
The step 1 processing:


The KM handler creates a Procedure 3.1 protocol data unit. Two data units shall be supported
depending on the Space Link Protocol in use:
1. VCA_PDU
2. TC Segment without segment header
The KM handler provides the Procedure 3.1 data unit created to the Space Data Link Protocol
interface. Two interfaces shall be supported:
1. Virtual Channel Access Service (for VCA_PDU)
2. MAP Access Service (for TC Segments)
5.1.1.3.5 Step 2: VCA_PDU/TC Segment reception and extraction
The step 2 shall have the following input:

VCA_PDU or TC segment carrying Procedure 3.1 protocol data unit
The step 2 shall have the following output:

Set of Key IDs and Challenges
The step 2 processing:


The KM handler receives a Procedure 3.1 protocol data unit from the Virtual Channel Access
Service. Two data units shall be supported depending on the Space Link Protocol in use:
1. VCA_PDU
2. TC Segment without segment header
The KM handler parses the Procedure 3.1 data unit and extracts the set of Key IDs and
Challenges
5.1.1.3.6 Step 3: Computation of Challenge Responses; Role: Recipient
Step 3 is an internal process on the recipient side and does not involve a communication channel.
The step 3 shall have the following input:

Set of Key IDs and a challenge (bit pattern)
The step 3 shall have the following output:

Set of Key ID and challenge response bit patterns
The step 3 processing:
1. The KM handler shall, for Key ID id_i, identify the key associated with the key ID and compute an
encrypted version of the challenge, enc_i
2. The KM handler shall create a set of (Key ID, enc_i) pairs.
5.1.1.3.7 Step 4: VCA_PDU Creation and transmission to Initiator
The step 4 shall have the following input:

Set of (Key ID, enc_i) pairs
The step 4 shall have the following output:

VCA_PDU containing Procedure 3.2 data structure delivered to Initiator Space Data Link Protocol
Instance
The step 4 processing:
1. The KM handler shall encode the set of (Key ID, enc_i) pairs in a Procedure 3.2 data structure
2. The KM handler shall create a VCA_PDU containing the Procedure 3.2 data structure
3. The KM handler shall deliver the VCA_PDU to the Space Data Link Protocol via the Virtual
Channel Access Service.
5.1.1.3.8 Step 5: VCA_PDU reception and extraction
The step 5 shall have the following input:

VCA_PDU carrying Procedure 3.2 protocol data unit
The step 5 shall have the following output:

Set of (Key ID, enc_i) pairs
The step 5 processing:
1. The KM handler receives a Procedure 3.2 protocol data unit from the Virtual Channel Access
Service in the form of a VCA_PDU.
2. The KM handler parses the Procedure 3.2 data unit and extracts the set of (Key OD, enc_i) pairs.
5.1.1.3.8 Step 6: Verification of Challenge Responses
The step 6 shall have the following input:

Set of (Key ID, enc_i) pairs.
The step 6 shall have the following output:

Set of (Key ID, ver_i) pairs.
The step 6 processing:
1. The KM handler computes a decrypted version (Key ID, dec_i) for each (Key ID, enc_i) received
from the previous step, where dec_i is the decrypted text from enc_i under the key associated
with the Key ID parameter
2. For each Key ID, the KM handler compares dec_i to the challenge bit pattern. If they match,
ver_i is set to true, otherwise its set to false
5.1.1.4 Revoke Key
The Revoke key procedure shall be an instantiation of Section 4.1.4 of [AD-KM].
5.1.1.4.1 Description
The deactivation (or revocation) procedure deactivates a set of previously uploaded ephemeral keys at
both end of the communication channel so that these keys are assigned the Deactivated State and
subsequently cannot be used for cryptographic operations anymore. However, the keys are not (yet)
destroyed.
5.1.1.4.2 Pre-Conditions for the Procedure
Both entities shall have an identical set of ephemeral keys associated with active state.
5.1.1.4.3 Procedural Steps and Roles for the Procedure
This procedure shall have the following steps and associated roles.


1)
2)
3)
4)
The procedure is only completed once all steps have been carried out by their associated roles
in the order specified by the procedure.
All steps are mandatory.
Deactivation of the set of ephemeral keys; Role: Initiator
VCA_PDU/TC Segment Creation and transmission to Recipient ; Role: Initiator
VCA_PDU/TC Segment reception and extraction; Role: Recipient
Deactivation of the set of ephemeral keys; Role: Recipient
Figure xx – Revoke Key Procedure Visualization
5.1.1.4.4 Step 1: Revocation the set of ephemeral keys
The step 1 shall have the following input:

Key IDs of keys to be revoked
The step 1 shall have the following output:

Revocation confirmation for all keys the set of Key IDs to be revoked
The step 1 processing:


For each key identified by a key ID in the set of Key IDs provided, the associated key shall be
transitioned to status DECATIVATED.
A revocation confirmation shall be produced.
5.1.1.4.4 Step 2: VCA_PDU/TC Segment Creation and transmission to Recipient
The step 2 shall have the following input:

Key IDs of keys to be revoked
The step 2 shall have the following output:

VCA_PDU/ TC Segment containing Procedure 4.1 data structure delivered to Initiator Space Data
Link Protocol Instance
The step 2 processing:

The KM handler creates a Procedure 4.1 protocol data unit. Two data units shall be supported
depending on the Space Link Protocol in use:

1. VCA_PDU
2. TC Segment without segment header
The KM handler provides the Procedure 4.1 data unit created to the Space Data Link Protocol
interface. Two interfaces shall be supported:
1. Virtual Channel Access Service (for VCA_PDU)
2. MAP Access Service (for TC Segments)
5.1.1.4.5 Step 3: VCA_PDU/TC Segment reception and extraction
The step 3 shall have the following input:

VCA_PDU or TC segment carrying Procedure 4.1 protocol data unit
The step 3 shall have the following output:

Set of Key IDs associated with the keys to be revoked.
The step 3 processing:


The KM handler receives a Procedure 4.1 protocol data unit from the Virtual Channel Access
Service. Two data units shall be supported depending on the Space Link Protocol in use:
3. VCA_PDU
4. TC Segment without segment header
The KM handler parses the Procedure 4.1 data unit and extracts the set of Key IDs
5.1.1.4.6 Step 4: Revocation the set of ephemeral keys Role: Recipient
The step 4 shall have the following input:

Key IDs of keys to be revoked
The step 4 shall have the following output:

None
The step 4 processing:

For each key identified by a key ID in the set of Key IDs provided, the associated key shall be
transitioned to status DEACTIVATED.
5.1.1.5 Erase Key
The Erase key procedure shall be an instantiation of Section 4.1.5 of [AD-KM].
5.1.1.5.1 Description
The destruction (or zeroing) procedure destroys a set of previously deactivated ephemeral keys at both
end of the communication channel so that these keys are assigned the Destroyed State and
subsequently are not available anymore.
5.1.1.5.2 Pre-Conditions for the Procedure
Both entities shall have an identical set of ephemeral keys associated with deactivated state.
5.1.1.5.3 Procedural Steps and Roles for the Procedure
This procedure shall have the following steps and associated roles.


1)
2)
3)
4)
The procedure is only completed once all steps have been carried out by their associated roles
in the order specified by the procedure.
All steps are mandatory.
Destruction of the set of ephemeral keys; Role: Initiator
VCA_PDU/TC Segment Creation and transmission to Recipient ; Role: Initiator
VCA_PDU/TC Segment reception and extraction; Role: Recipient
Destruction of the set of ephemeral keys; Role: Recipient
Figure xx – Erase Key Procedure Visualization
5.1.1.5.4 Step 1: Revocation the set of ephemeral keys
The step 1 shall have the following input:

Key IDs of keys to be destroyed
The step 1 shall have the following output:

Destruction confirmation for all keys the set of Key IDs to be revoked
The step 1 processing:


For each key identified by a key ID in the set of Key IDs provided, the associated key shall be
transitioned to status DESTROYED.
A destruction confirmation shall be produced.
5.1.1.5.4 Step 2: VCA_PDU/TC Segment Creation and transmission to Recipient
The step 2 shall have the following input:

Key IDs of keys to be destroyed
The step 2 shall have the following output:

VCA_PDU/ TC Segment containing Procedure 5.1 data structure delivered to Initiator Space Data
Link Protocol Instance
The step 2 processing:


The KM handler creates a Procedure 5.1 protocol data unit. Two data units shall be supported
depending on the Space Link Protocol in use:
1. VCA_PDU
2. TC Segment without segment header
The KM handler provides the Procedure 5.1 data unit created to the Space Data Link Protocol
interface. Two interfaces shall be supported:
1. Virtual Channel Access Service (for VCA_PDU)
2. MAP Access Service (for TC Segments)
5.1.1.5.5 Step 3: VCA_PDU/TC Segment reception and extraction
The step 3 shall have the following input:

VCA_PDU or TC segment carrying Procedure 5.1 protocol data unit
The step 3 shall have the following output:

Set of Key IDs associated with the keys to be destroyed.
The step 3 processing:

The KM handler receives a Procedure 5.1 protocol data unit from the Virtual Channel Access
Service. Two data units shall be supported depending on the Space Link Protocol in use:
5. VCA_PDU

6. TC Segment without segment header
The KM handler parses the Procedure 5.1 data unit and extracts the set of Key IDs
5.1.1.5.6 Step 4: Revocation the set of ephemeral keys Role: Recipient
The step 4 shall have the following input:

Key IDs of keys to be destroyed
The step 4 shall have the following output:

None
The step 4 processing:

For each key identified by a key ID in the set of Key IDs provided, the associated key shall be
transitioned to status DESTROYED.
5.1.1.6 Key Upload (OTAR)
The Erase key procedure shall be an instantiation of Section 4.1.6 of [AD-KM].
5.1.1.6.1 Description
Over-the-air-rekeying (OTAR) addresses the transmission of ephemeral keys over a communication
channel between two communication entities. It is assumed that the communication channel is an
untrusted/insecure link. More concrete, the attacker is able to intercept messages send on the link.
5.1.1.6.2 Pre-Conditions for the Procedure
Both entities shall share a set of static keys. At least one static key of this set shall be in pre-activation
state and selected by both entities for OTAR purposes.
The initiator of the OTAR procedures shall have available the set of ephemeral keys that is to be
transmitted during the procedure. These keys shall be in pre-activation state.
5.1.1.6.3 Procedural Steps and Roles for the Procedure
This procedure shall have the following steps and associated roles.


1)
2)
3)
4)
The procedure is only completed once all steps have been carried out by their associated roles
in the order specified by the procedure.
All steps are mandatory.
Encryption of the set of ephemeral keys; Role: Initiator
VCA_PDU/TC Segment Creation and transmission to Recipient ; Role: Initiator
VCA_PDU/TC Segment reception and extraction; Role: Recipient
Decryption of the set of ephemeral keys; Role: Recipient
Figure xx – Key Upload (OTAR) Procedure Visualization
5.1.1.6.4 Step 1: Encryption the set of ephemeral keys
The step 1 shall have the following input:


Key IDs of keys to be encrypted
Key ID of the encryption key enc_key
The step 1 shall have the following output:

Set of (Key ID, key_i_enc) pairs
The step 1 processing:


For each Key ID compute a pair (Key ID, key_i_enc) with key_i_enc = encrypt (enc_key, Key ID)
where Key ID specifies the ephemeral key to be encrypted
Transition of the status of enc_key to ACTIVE
5.1.1.6.4 Step 2: VCA_PDU/TC Segment Creation and transmission to Recipient
The step 2 shall have the following input:


Set of (Key ID, key_i_enc) pairs to be uplinked
Key ID of enc_key
The step 2 shall have the following output:

VCA_PDU/ TC Segment containing Procedure 6.1 data structure delivered to Initiator Space Data
Link Protocol Instance
The step 2 processing:


The KM handler creates a Procedure 6.1 protocol data unit. Two data units shall be supported
depending on the Space Link Protocol in use:
1. VCA_PDU
2. TC Segment without segment header
The KM handler provides the Procedure 6.1 data unit created to the Space Data Link Protocol
interface. Two interfaces shall be supported:
1. Virtual Channel Access Service (for VCA_PDU)
2. MAP Access Service (for TC Segments)
5.1.1.6.5 Step 3: VCA_PDU/TC Segment reception and extraction
The step 3 shall have the following input:

VCA_PDU or TC segment carrying Procedure 6.1 protocol data unit
The step 3 shall have the following output:

Set of (Key ID, key_i_enc) pairs
The step 3 processing:


The KM handler receives a Procedure6.1 protocol data unit from the Virtual Channel Access
Service. Two data units shall be supported depending on the Space Link Protocol in use:
7. VCA_PDU
8. TC Segment without segment header
The KM handler parses the Procedure 6.1 data unit and extracts the Set of (Key ID, key_i_enc)
pairs
5.1.1.6.6 Step 4: Decryption the set of ephemeral keys
The step 4 shall have the following input:


Set of (Key ID, key_i_enc)
Key ID of enc_key
The step 4 shall have the following output:

None
The step 4 processing:



For each (Key ID, key_i_enc) pair compute a pair (Key ID, key_i_plain) with key_i_plain = decrypt
(enc_key, key_i_enc)
Each key_i_plain is stored in the memory slot identified by its key ID in status PRE-ACTIVATED.
The memory slot of enc_key is transitioned to ACTIVE.
5.1.1.7 Activate Key
The Activate key procedure shall be an instantiation of Section 4.1.7 of [AD-KM].
5.1.1.7.1 Description
The activation procedure activates a set of previously uploaded ephemeral keys at both end of the
communication channel so that these keys can subsequently be used for cryptographic operations in the
context of the parent security association.
5.1.1.7.2 Pre-Conditions for the Procedure
Both entities shall have an identical set of ephemeral keys associated with pre-activation state.
5.1.1.7.3 Procedural Steps and Roles for the Procedure
This procedure shall have the following steps and associated roles.


1)
2)
3)
4)
The procedure is only completed once all steps have been carried out by their associated roles
in the order specified by the procedure.
All steps are mandatory.
Activation of the set of ephemeral keys; Role: Initiator
VCA_PDU/TC Segment Creation and transmission to Recipient ; Role: Initiator
VCA_PDU/TC Segment reception and extraction; Role: Recipient
Activation of the set of ephemeral keys; Role: Recipient
Figure xx – Key Activation Procedure Visualization
5.1.1.7.4 Step 1: Encryption the set of ephemeral keys
The step 1 shall have the following input:

Key IDs of keys to be activated
The step 1 shall have the following output:

Activation confirmation for all Key IDs
The step 1 processing:


For each key identified by a key ID in the set of Key IDs provided, the associated key shall be
transitioned to status ACTIVE.
An activation confirmation shall be produced.
5.1.1.7.4 Step 2: VCA_PDU/TC Segment Creation and transmission to Recipient
The step 2 shall have the following input:


Set of (Key ID, key_i_enc) pairs to be uplinked
Key ID of enc_key
The step 2 shall have the following output:

VCA_PDU/ TC Segment containing Procedure 7.1 data structure delivered to Initiator Space Data
Link Protocol Instance
The step 2 processing:


The KM handler creates a Procedure 7.1 protocol data unit. Two data units shall be supported
depending on the Space Link Protocol in use:
3. VCA_PDU
4. TC Segment without segment header
The KM handler provides the Procedure 7.1 data unit created to the Space Data Link Protocol
interface. Two interfaces shall be supported:
1. Virtual Channel Access Service (for VCA_PDU)
2. MAP Access Service (for TC Segments)
5.1.1.7.5 Step 3: VCA_PDU/TC Segment reception and extraction
The step 3 shall have the following input:

VCA_PDU or TC segment carrying Procedure 7.1 protocol data unit
The step 3 shall have the following output:

Set of Key IDs associated with the keys to be activated.
The step 3 processing:


The KM handler receives a Procedure6.1 protocol data unit from the Virtual Channel Access
Service. Two data units shall be supported depending on the Space Link Protocol in use:
9. VCA_PDU
10. TC Segment without segment header
The KM handler parses the Procedure 6.1 data unit and extracts the Set of Key IDs
5.1.1.7.6 Step 4: Decryption the set of ephemeral keys
The step 4 shall have the following input:

Key IDs of keys to be activated
The step 4 shall have the following output:

None
The step 4 processing:

For each key identified by a key ID in the set of Key IDs provided, the associated key shall be
transitioned to status ACTIVE.
5.1.2 Procedures Specification
5.1.2.1 Key Types and Lifecycle
The SDLS key management extended procedures are based on a two-level key hierarchy, one level for
static keys (called master keys in the SDLS context) and one level for ephemeral keys (called session keys
in the SDLS context).
All recommendations from [AD-KM] Section 3.1 (Key Types) apply to the key hierarchy used for the
SDLS protocol extended procedures.
All recommendations from [AD-KM] Section 3.2 (Key Life Cycle) apply to the key hierarchy used for
the SDLS protocol extended procedures. The Suspended State shall not be used. Figure xx shows the
applicable key life cycle.
Figure xx – Key Life Cycle for SDLS Extended Procedures for Key Management
Keys are managed as bit fields. The length of the bit fields is dependent on the selected cryptographic
algorithm as specified in [AD-CRYPTO]. However, the length of all keys shall fixed a specific Security
Association. For the purpose of key management, each key is amended with meta information
describing specific properties of the key. The following meta-information is associated with each key:

Key ID: The Key ID uniquely identifies a given key. It is split into two ranges:, one for master keys
and one for session keys
The key meta-information follows, without gap, each key. All key meta-information are managed
parameters within the SA.
Master Key Roles: Each master key can be associated one of the following specific roles:
o
o
Key Encryption Key
Bypass-Mode Authentication Key
NOTE: Master Keys must not be assigned the role of Key Generation Key since key derivation is
not used by the SDLS protocol key management extended procedure.
4.1.1.1 Key Types and Lifecycle Managed Parameters
The following managed parameters must be specified by the KM SA:
o
o
Key Length: The length (in bits) of the cryptographic keys
Key ID Field Length: The length (in bits) of the key ID field
NOTE: To be clarified: if the KM SA is responsible for all other SAs then all keys and key ID fields
used in all other SAs must have the same length. Otherwise this parameters must become
unmanaged.
5.1.2.2 Key Management Procedure Protocol Data Unit (KM_PDU)
The presence or absence of the Key Management Procedure Protocol Data Unit shall remain constant
during a mission phase.
NOTE: The presence of the Key Management Procedure Protocol Data Unit specifies that a given
VC or MAP is used for Key Management Procedures.
The Key Management Procedure Protocol Data Unit consists of two mandatory data structures:
1. Key Management Procedure Header (8 bits; mandatory)
2. Key Management Procedure Data Field (variable length; mandatory)
NOTE: The structure of the Key Management Procedure Protocol Data Unit is shown in Figure xx below.
NOTE: While the primary communication interface for the key management extended procedures is the
data-link layer, an application layer interface could also be used. The data structures defined in the
following sections can be used without modification.
Figure xx – Key Management Procedure Protocol Data Unit
5.1.2.1.1 Key Management Procedure Header
The presence or absence of a Key Management Procedure Header shall remain constant during a
mission phase.
The Key Management Procedure Header is mandatory on a virtual channel if the channel is used be the
Key Management Handler.
The Key Management Procedure Header shall consist of one mandatory field:

Key Management Procedure Identification Field (8 bits; mandatory)
The Key Management Procedure Header shall consist of exactly 8 bits.
NOTE: Presence or absence of the Key Management Procedure Header on a VC or MAP for a given
mission phase is a managed parameter.
5.1.2.1.1.1 Key Management Procedure Identification Field
The Key Management Procedure identification field specifies the Key Management Procedure as
follows:
Field Value
00000001
00000010
00000100
00001000
00010000
00100000
01000000
Procedure
Key DB Status Request
Key DB Self-Test
Verify Key
Revoke Key
Erase Key
Key Upload (OTAR)
Activate Key
5.1.2.1.2 Key Management Procedure Data Field
The presence or absence of a Key Management Procedure Data Field shall remain constant during a
mission phase.
The flexibility of the length of the Key Management Procedure Data Field shall be as follows:
1. Flexible length for TC frames and Segments
2. Fixed length for TM and AOS frames
NOTE: In the case of a fixed length, idle data will be inserted into the Key Management Procedure Data
Unit following without gap the Key Management Procedure Data Field.
The content of the Key Management Procedure Data Field shall be specified by the Key Management
Procedure used.
5.1.2.3 Key DB Status
The Procedure 1: Key DB Status Request shall support two Key Management Procedure Data Field
Structures:
1. Key DB Status Request Structure (1,1)
2. Key DB Status Structure (1,2)
5.1.2.3.1 Key DB Status Request Structure (1,1)
The Key DB Status Request Structure (1,1) shall be associated with Steps 1 and 2 of the Key DB Status
Request Procedure as defined in Section 3.2.3.1.
The Key DB Status Request Structure (1,1) shall be associated with a TC Segment (without Header) or a
AOS VCA_PDU.
The Key DB Status Request Structure (1,1) shall consist of one mandatory field:
1. Key DB Status Request (2 bit (00); mandatory)
NOTE: The structure of the Key DB Status Request Structure (1,1) is shown in Figure xx below.
The Key DB Status Request field is always set to 00.
NOTE: No additional parameters are expected for the Key DB Status Request (1,1) structure.
5.1.2.3.2 Key DB Status Response Structure (1,2)
The Key DB Status Response Structure (1,2) shall be associated with Steps 4 and 5 of the Key DB Status
Request Procedure as defined in Section 3.2.3.1.
The Key DB Status Response Structure (1,2) shall be associated with a TC Segment (without Header) or a
AOS VCA_PDU.
The Key DB Status Response Structure (1,2) shall consist of two mandatory fields:
1. Key DB Status Response Status (4 bit; mandatory)
NOTE: The structure of the Key DB Status Response Structure (1,2) is shown in Figure xx below.
The Key DB Status field shall contain the following values:
Field Value
0000
1111
…
Implication
DB Status OK
DB Status Offline
…
5.1.2.4 Key DB Self-Test
The service primitives for this service are
5.1.2.5 Verify Key
The Procedure Verify Key shall support two Key Management Procedure Data Field Structures:
1. Verify Key Request Structure (3,1)
2. Verify Key Response Structure (3,2)
5.1.2.5.1 Verify Key Request Structure (1,1)
The Verify Key Request Structure (3,1) shall be associated with Steps 1 and 2 of the Verify Key Procedure
as defined in Section 3.2.3.1.
The Verify Key Request Structure (3,1) shall be associated with a TC Segment (without Header) or a AOS
VCA_PDU.
The Verify Key Request Structure (3,1) shall consist of at least two mandatory fields:
1. A challenge (managed size)
2. Field of n Key ID entries
NOTE: The structure of the Verify Key Request Structure (3,1) is shown in Figure xx below.
Figure xx: Verify Key Request Structure (3,1)
5.1.2.5.2 Verify Key Response Structure (3,2)
The Verify Key Response Structure (3,2) shall be associated with Steps 4, 5 and 6 of the Verify Key
Procedure as defined in Section 3.2.3.1.
The Verify Key Response Structure (3,2) shall be associated with a TC Segment (without Header) or a
AOS VCA_PDU.
The Key DB Status Response Structure (3,2) shall consist of two mandatory fields:
1. Verify Key Response Status (4 bit; mandatory)
NOTE: The structure of the Verify Key Response Structure (3,2) is shown in Figure xx below.
Figure xx: Verify Key Response Structure (3,2)
5.1.2.6 Revoke Key
The Procedure Revoke Key shall support one Key Management Procedure Data Field Structure:
1. Revoke Key Structure (4,1)
5.1.2.6.1 Revoke Key Structure (4,1)
The Revoke Key Structure (4,1) shall be associated with Steps 1 through 4 of the Revoke Key Procedure
as defined in Section 3.2.3.1.
The Revoke Key Structure (4,1) shall be associated with a TC Segment (without Header) or a AOS
VCA_PDU.
The Revoke Key Structure (4,1) shall consist of n mandatory fields:
1. Key ID n (managed)
NOTE: The structure of the Revoke Key Structure (4,1) is shown in Figure xx below.
Figure xx: Revoke Key Structure (4,1)
5.1.2.7 Erase Key
The Procedure Erase Key shall support one Key Management Procedure Data Field Structure:
1. Erase Key Structure (5,1)
5.1.2.7.1 Erase Key Structure (5,1)
The Erase Key Structure (5,1) shall be associated with Steps 1 through 4 of the Erase Key Procedure as
defined in Section 3.2.3.1.
The Erase Key Structure (5,1) shall be associated with a TC Segment (without Header) or a AOS
VCA_PDU.
The Erase Key Structure (5,1) shall consist of n mandatory fields:
2. Key ID n (managed)
NOTE: The structure of the Erase Key Structure (5,1) is shown in Figure xx below.
Figure xx: Erase Key Structure (5,1)
5.1.2.8 Key Upload (OTAR)
5.1.2.8.1 Key Upload (OTAR) Structure (6,1)
The Key Upload (OTAR) (6,1) shall be associated with Steps 1 through 4 of the Key Upload (OTAR)
Procedure as defined in Section 3.2.3.1.
The Key Upload (OTAR) Structure (6,1) shall be associated with a TC Segment (without Header) or a AOS
VCA_PDU.
The Key Upload (OTAR) Structure (6,1) shall consist of a set of 2 mandatory fields:
1. Ephemerial Key I (encrypted bit field, managed)
2. Ephemerial Key I Meta-Information (managed)
NOTE: The structure of the Key Upload (OTAR) Structure (6,1) is shown in Figure xx below.
Figure xx: Key Upload (OTAR) Structure (6,1)
5.1.2.9 Activate Key
5.1.2.9.1 Activate Key Structure (7,1)
The Activate Key Structure (7,1) shall be associated with Steps 1 through 4 of the Activate Key Procedure
as defined in Section 3.2.3.1.
The Activate Key Structure (7,1) shall be associated with a TC Segment (without Header) or a AOS
VCA_PDU.
The Activate Key Structure (7,1) shall consist of n mandatory fields:
1. Key ID n (managed)
NOTE: The structure of the Activate Key Structure (7,1) is shown in Figure xx below.
Figure xx: Activate Key Structure (7,1)
4.1.2 Managed Parameters
-
Key Length
Key ID field length
Presence of the Key Management Procedure Header
Download