E.6 MIKEY general extension payload to encapsulate parameters associated with a GMK
33.1793GPPRelease 13Security of Mission Critical Push To Talk (MCPTT) over LTETS
E.6.1 General
The parameters associated with a key shall be contained in the ‘General extension payload’ specified in IETF RFC 3830 [22] using the ‘3GPP key parameters ‘ Type value and contained within the signed envelope of the MIKEY-SAKKE I_MESSAGE specified in clause E.2. The format and cryptography of the payload are specified in this subclause.
The General Extensions Field Name ‘3GPP key parameters’ has an IANA assigned type value of ‘7’ [41].
The payload consist of a series of information elements. The standard format and encoding rules for the information elements follow that defined for the MCPTT Off-Network Protocol (MONP) as documented in Annex I of 3GPP TS 24.379 [10].
The four octets consisting of the header of the ‘General extension payload’ shall be formatted according to IETF RFC 3830 [22].
The contents of the ‘General extension payload’ shall be a Protected Payload as defined in Clause E.6.8. The Protected Payload shall encapsulate a ‘Key Parameters’ payload.
The ‘Key Parameters’ payload is a type 6 information element composing a 1 byte Key Parameters IEI, a 2 byte length of the Key Parameters payload contents, and the Key Parameters payload content itself. The Key Parameters payload content shall be of the format specified in Table E.6.1-1.
Table E.6.1-1: Key Parameters Payload content
|
Information Element |
Type/Reference |
Presence |
Format |
Length |
|
Key Type |
The type of key. Clause E.6.11. |
M |
V |
1 |
|
Status |
The current status of the key. Clause E.6.9. |
M |
V |
4 |
|
Activation Time |
Date and Time when the key may start to be used. Clause E.6.4. |
M |
V |
5 |
|
Expiry Time |
Date and Time when the key may no longer be used. Clause E.6.10. |
M |
V |
5 |
|
Text |
A human-readable name for the key Clause E.6.5. |
M |
LV-E |
2-x |
|
Group IDs |
The Group IDs associated with the key (if any) Clause E.6.3. |
C |
LV-E |
2-x |
|
Reserved |
Additional information associated with the key (if any) Clause E.6.6. |
O |
TLV-E |
x |
NOTE: The ‘MC group IDs’ IE is only present in the Key Parameters payload if the key type is ‘GMK’ or ‘MKFC’.
The IEs in the Key Parameters Payload are described in the following subclauses.
E.6.2 Void
E.6.3 MCPTT group ID
This field allows distribution of MCPTT Group IDs that are associated with the current key carried in the MIKEY-SAKKE I_MESSAGE.
The ‘Group IDs’ IE is only present in the Key Parameters payload if the key type is ‘GMK’ or ‘MKFC’.
The ‘Group IDs’ IE shall be of the format specified in Table E.6.3-1.
Table E.6.3-1: Group IDs IE content
|
Information Element |
Type/Reference |
Presence |
Format |
Length |
|
Number of Group IDs |
Shall be ‘1’ or ‘0’ |
M |
V |
1 |
|
Group ID |
The ID for the group associated with the key. Clause 15.2.5 of TS 24.379 |
O |
TLV-E |
3-x |
The Number of Group IDs may be ‘0’ or ‘1’. Where the key corresponds to a group ID, the ‘Group IDs’ IE shall contain a two octet ‘Length’ sub-element with the value ‘4+n’ (where ‘n’ is the length of the Group ID content), followed by a ‘Number of Group IDs’ element of value ‘1’, and one ‘Group ID’ IE.
Where the key does not correspond to a group ID, the ‘Group IDs’ IE shall contain a two octet ‘Length’ sub-element with the value ‘1’, followed by a ‘Number of Group IDs’ element of value ‘0’, and zero ‘Group ID’ IEs.
The ‘Group ID’ IE is a type 6 information element comprising a one octet IEI, a two octet length subfield (containing the length of the ‘Group ID’ contents) and the ‘Group ID’ content contained in octet 4 to octet n.
E.6.4 Activation time
The ‘Activation time’ element shall define the time in UTC at which the associated GMK is to be made active for transmission in seconds since midnight UTC of January 1, 1970 (not counting leap seconds). It shall be 5 octets in length.
A value of 0 shall imply the activation time is the timestamp of the received MIKEY I_MESSAGE.
E.6.5 Text
The definition and encoding of the Reserved IE is outside of scope of the present document.
E.6.6 Reserved
The definition and encoding of the Reserved IE is outside of scope of the present document.
E.6.7 Void
E.6.8 Cryptography
The contents of the MIKEY ‘General extension payload’ shall be a Protected Payload. The Protected Payload shall encapsulate a ‘Key Parameters’ payload. The Protected Payload shall have the format defined in Table E.6.8-1:
Table E.6.8-1: Protected Payload content
|
Information Element |
Type/Reference |
Presence |
Format |
Length |
|
Message Type |
Message type |
M |
V |
1 |
|
Date and Time |
Date and Time of creation of protected payload. |
M |
V |
5 |
|
Payload ID |
The identifier for the payload. |
M |
V |
16 |
|
Payload sequence number |
Shall be ‘0’ |
M |
V |
1 |
|
Algorithm ID |
Payload encryption algorithm Shall be ‘1’ corresponding to DP_AES_128_GCM. |
M |
V |
1 |
|
IV |
Initialisation vector (or nonce) for message |
M |
V |
16 |
|
Key identifier |
The 32-bit CSB-ID from the MIKEY I_MESSAGE |
M |
V |
4 |
|
Payload |
Encrypted Key Parameters IE (Clause E.6.1) |
M |
TLV-E |
x |
The ‘Message Type’ is a type 3 element and shall take the value ’10’.
The ‘Date and T ime’ is a type 3 element and shall be the time in UTC when the Protected Payload was created in seconds since midnight UTC of January 1, 1970 (not counting leap seconds). It shall be 5 octets in length.
The ‘Payload ID’ is a type 3 element and shall be a 16 octet unique identifier for the Protected Payload.
The ‘Payload sequence number’ is a type 3 element and shall take the value ‘0’.
The ‘Algorithm ID’ is a type 3 element and shall take the value ‘1’, indicating that the DP_AES_128_GCM algorithm shall be used to protect the payload.
The ‘IV’ is a type 3 element and shall be a 16 octet random value used as the initialisation vector for the encryption algorithm.
The ‘Key identifier’ is a type 3 element and shall contain the 4 octet CSB-ID used within the encapsulating MIKEY I_MESSAGE.
The ‘Payload’ shall be the encrypted Key Parameters IE. The content of this payload is defined in Clause 6.8.1. The following algorithm shall support the following algorithms (cipher suites):
Table E.6.8-2: DP_AES_128_GCM algorithm parameters
|
Parameter |
Value/Reference |
|
Algorithm ID |
DP_AES_128_GCM |
|
Cipher |
AEAD_AES_128_GCM (as defined in RFC 5116 [43]) |
|
Key length |
128 bits |
|
IV length |
128 bits |
|
AEAD authentication tag length |
128 bits |
In using the above cipher suites as defined in RFC 5116 [43], the plaintext (the Key Parameters IE), shall be the full original plaintext payload. The associate data (AD) shall be the Message Type, Date and Time, Payload ID, Payload sequence number, Algorithm ID, IV, and Key Identifier fields.
E.6.9 Status
The ‘Status’ element shall determine the current status of the GMK. It shall be 4 octets in length. The following values are defined:
0: Revoked
1: Not-revoked
Undefined bits shall be ignored.
E.6.10 Expiry time
The ‘Expiry time’ element shall define the time in UTC at which the associated key shall no longer be used in seconds since midnight UTC of January 1, 1970 (not counting leap seconds). It shall be 5 octets in length.
A value of 0 shall imply the key shall not expire.
E.6.11 Key Type
The purpose of Key Type IE is to specify the type and purpose of the key.
The value part of the Key type information element is coded as shown in Table E.6.11-1.
Table E.6.11-1: Key type
|
Bits |
|||||||||
|
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
||
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
GMK |
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
PCK |
|
|
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
CSK |
|
|
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
SPK |
|
|
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
MKFC |
|
|
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
MSCCK |
|
|
All other values are reserved. |
|||||||||