6.6 Confidentiality and Integrity Protection of TLV messages
24.2823GPPMission Critical Data (MCData) signalling controlProtocol specificationRelease 18TS
6.6.1 General
Signalling plane provides confidentiality and integrity protection for the MCData Data signalling and MCData Data messages sent over the signalling plane. Signalling plane security also provides the authentication of MCData Data messages.
The signalling plane security is based on 3GPP MCData security solution including key management and end-to-end protection as defined in 3GPP TS 33.180 [26].
Various keys and associated key identifiers protect the MCData Data signalling and MCData Data messages carried on the signalling plane.
The MCData Data signalling messages may be:
1. SDS SIGNALLING PAYLOAD;
2. FD SIGNALLING PAYLOAD;
3. SDS NOTIFICATION;
4. FD NOTIFICATION;
5. FD NETWORK NOTIFICATION;
6. COMMUNICATION RELEASE;
7. SDS OFF-NETWORK MESSAGE; or
8. SDS OFF-NETWORK NOTIFICATION.
The MCData Data messages may be:
1. DATA PAYLOAD.
In an on-network MCData communication for an MCData group, if protection of MCData Data messages is negotiated, the GMK and the GMK-ID of the MCData group protect the MCData Data messages sent and received by MCData clients;
In an on-network one-to-one MCData communications, if protection of MCData Data messages is negotiated, the PCK and the PCK-ID protect the MCData Data messages sent and received by MCData clients;
If protection of MCData Data signalling messages sent using unicast between the MCData client and the participating MCData function serving the the MCData client is negotiated, the CSK and the CSK-ID protect the MCData Data signalling messages sent and received using unicast by the MCData client and by a participating MCData function;
If protection of MCData Data signalling messages between the participating MCData function and the controlling MCData function is configured, the SPK and the SPK-ID protect the MCData Data signalling messages sent and received between the participating MCData function and the controlling MCData function; and
If protection of MCData is configured for an on-network MBMS MCData communication, a MuSiK and the corresponding MuSiK-ID may be used to protect transmissions on an MBMS bearer to and from MCData clients.
The GMK and the GMK-ID are distributed to the MCData clients using the group document subscription and notification procedure specified in 3GPP TS 24.481 [11].
The PCK and the PCK-ID are generated by the MCData client initiating the standalone SDS using signalling control plane or standalone one-to-one SDS using media plane or one-to-one SDS session or one-to-one FD using media plane and provided to the MCData client receiving the SIP signalling.
The CSK and the CSK-ID are generated by the MCData client and provided to the participating MCData function serving the MCData client using SIP signalling.
The SPK and the SPK-ID are configured in the participating MCData function and the controlling MCData function.
The MuSiK and the MuSiK-ID are distributed to the MCData clients as described in clause 19.
The key material for creating and verifying the authentication signature (SSK, PVT and KPAK) is provisioned to the MCData clients by the KMS as specified in 3GPP TS 33.180 [26].
6.6.2 Derivation of master keys for media and media control
Each MCData Payload Protection Key (DPPK) (i.e. GMK, PCK, CSK, SPK) and its associated key identifier DPPK-ID (i.e. GMK-ID, PCK-ID, CSK-ID, SPK -ID) described in clause 6.6.1 are used to derive a MCData Payload Cipher Key (DPCK) and its associated DPCK-ID as specified in 3GPP TS 33.180 [26].
DPCK and DPCK-ID are used in the protection of MCData Data signalling and MCData Data messages as specified in 3GPP TS 33.180 [26].
6.6.3 Protection of MCData Data signalling and MCData Data messages
6.6.3.1 General
The MCData Data messages may be encrypted and integrity protected. When encryption is applied to the entire message, the MCData Data message shall be encrypted as specified in clause 8.5.4 in 3GPP TS 33.180 [26]. When encryption is applied to the Payload IEs of the MCData Data message the Payload IEs shall be encrypted as specified in clause 8.5.4 in 3GPP TS 33.180 [26].
The MCData Data signalling messages may be encrypted and integrity protected . When encryption is applied the MCData Data signalling shall be encrypted as specified in clause 8.5.4 in 3GPP TS 33.180 [26].
The MCData Data messages and the protected MCData Data messages may also be end-to-end authenticated as specified in clause 8.5.5 in 3GPP TS 33.180 [26].
The MCData Protected Payload message as specified in 3GPP TS 33.180 [26] inherits the message type from the MCData Data signalling messages and the MCData Data messages with bits 7, 8 set according to clause 8.5.1 of 3GPP TS 33.180 [26] when entire MCData Data signalling messages and the MCData Data messages protected.
6.6.3.2 The MCData client
A MCData client transmitting MCData Data messages shall protect the MCData Data messages using the related DPPK and DPPK-ID according to the negotiatd protection method. For one-to-one communications PCK and PCK-ID shall be used as DPPK and DPPK-ID. For group communications GMK and GMK-ID shall be used as DPPK and DPPK-ID.
A MCData client transmitting MCData Data messages shall use the key material provisioned by the KMS when generating the authentication signature.
A MCData client which receives protected MCData Data messages shall decrypt and authenticate the protected MCData Data messages using the related DPPK and DPPK-ID according to the negotiated protection method.
A MCData client which receives signed MCData Data messages shall verify the signature using the signature, the identity of the originating MCData client and the KPAK provisioned by the KMS.
A MCData client transmitting MCData Data signalling messages shall encrypt the MCData Data signalling messages using CPK and CPK-ID if MCData Data signalling messages protection is negotiated.
A MCData client which receives encrypted MCData Data signalling messages shall decrypt the media control using CPK and CPK-ID.
6.6.3.3 The participating MCData function
A participating MCData function which receives protected MCData Data messages shall forward it to the next entity without any additional action related to the security framework.
A participating MCData function, when receiving an encrypted MCData Data signalling messages from a MCData client shall decrypt the encrypted MCData Data signalling messages using the CSK and CSK-ID negotiated with the MCData client which has sent the MCData Data signalling message. Then, the participating MCData function shall forward the MCData Data signalling messages to the controlling MCData function by encrypting the MCData Data signalling messages using SPK and SPK-ID, if protection is configured between the participating MCData function and the controlling MCData function.
A participating MCData function, when receiving an encrypted MCData Data signalling messages from the controlling MCData function shall decrypt the encrypted MCData Data signalling messages using the SPK and SPK-ID configured between the participating MCData function and the controlling MCData function. Then, the participating MCData function shall forward the MCData Data signalling messages to the destination MCData client using the CSK and CSK-ID if protection is negotiated between the participating MCData function and the MCData client.
6.6.3.4 The controlling MCData function
A controlling MCData function which receives protected MCData Data messages shall forward it to the next entity without any additional action related to the security framework.
A controlling MCData function, when receiving an encrypted MCData Data signalling messages from a participating MCData function shall decrypt the encrypted MCData Data signalling messages using the SPK and SPK-ID configured between the participating MCData function and the controlling MCData function. Then, the controlling MCData function shall forward the MCData Data signalling messages to the participating MCData function serving the destination MCData client by encrypting the MCData Data signalling messages using SPK and SPK-ID, if protection is configured between the participating MCData function and the controlling MCData function.