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.