F.3 Storage of the Master Group Keys and overview of flows
3GPP43.020Release 17Security related network functionsTS
The master group keys (in short called group keys in this Annex) are securely stored at two locations:
– GCR: Beside other information, the GCR stores for each Group_Id a list of group keys. Each group key is uniquely identified by the Group_Id, the group key number VK_Id and the service type;
– USIM: The USIM contains a list of 2 group keys for each Group_Id. Deletion or changing of group keys are allowed only via OTA or via USIM-personalisation.
The Short Term Key VSTK shall be deleted by the network entities after tearing down the call and by the ME on power down or UICC removal. On each new VGCS/VBS call set up, a new short term key VSTK shall be generated.
F.3.1 Distribution of ciphering data during establishment of a voice/broadcast group call
This signalling flow indicates the distribution of the VGCS parameters during the establishment of a ciphered voice group call. Figure F.3.1-1 shows the distribution of the VSTK_RAND, VSTK, VK_Id, A5_id and Cell_Global_Count between MSC, BSC and MS. The main points are:
– The Notification/NCH and Notification/FACCH are used to transfer the VSTK_RAND, VK_Id and Cell_Global_Count between the BSS and the MS.
– The PREPARE_GROUP_CALL is used to transfer the VSTK, VSTK_RAND, VK_Id and A5_Id between MSC-A and MSC-B.
– The VGCS/VBS Assignment Request transfers the VSTK, VSTK_RAND, VK_Id and A5_Id between the MSC and the BSC.
MS’ |
MSs |
BSS |
MSC-A |
VLR |
GCR |
FNT |
MSC-R |
[SYS_INFO (NCH allocated)] |
||||||||||||||
<——-<———- |
||||||||||||||
RACH (CHAN_REQ) |
||||||||||||||
——————-> |
||||||||||||||
IMM_ASS |
||||||||||||||
<——————- |
||||||||||||||
SABM (SERV_REQ [TMSI, CKSN]) |
||||||||||||||
——————-> |
||||||||||||||
COM_L3_INFO |
||||||||||||||
—————> |
PROC_ACC_REQ |
|||||||||||||
UA (SERVICE_REQ) |
——-> |
|||||||||||||
<——————- |
||||||||||||||
PROC_ACC_ACK |
||||||||||||||
Authentication & Ciphering (NOTE 1) |
<——- |
|||||||||||||
<—————————————-> |
||||||||||||||
SETUP |
||||||||||||||
——————————————> |
SEND_INFO_OUT |
|||||||||||||
——-> |
||||||||||||||
COMPLETE_CALL |
||||||||||||||
<——- |
||||||||||||||
GCR_INT (Group Id) |
||||||||||||||
—————–> |
||||||||||||||
GCR_INT_ACK |
||||||||||||||
(VK_Id, VSTK_RAND, VSTK, A5_Id) |
||||||||||||||
ASS_REQ |
<—————– |
|||||||||||||
<————— |
||||||||||||||
CH_MOD_MODFY |
||||||||||||||
<——————- |
||||||||||||||
CH_MOD_MODFY_ACK |
||||||||||||||
——————-> |
ASS_COMP |
|||||||||||||
—————> |
||||||||||||||
SETUP (to FN) |
||||||||||||||
VGCS_ASS_REQUEST |
————————————–> |
|||||||||||||
(Group Id, VK_Id, |
||||||||||||||
VSTK_RAND, VSTK, |
||||||||||||||
A5_Id) (NOTE 2, 3) |
Txx |
|||||||||||||
<————— |
____ |
PREPARE_GROUP_CALL |
||||||||||||
| |
(Group Id, VK_Id, |
|||||||||||||
| |
VSTK_RAND, VSTK, A5_Id) |
|||||||||||||
| |
—————————————————> |
MS’ |
MSs |
BSS |
MSC-A |
VLR |
GCR |
FNT |
MSC-R |
| |
PREPARE_GROUP CALL_ACK |
|||||||||||||
| |
<————————————————— |
|||||||||||||
| |
||||||||||||||
| |
SETUP (to MSC-R) |
|||||||||||||
| |
—————————————————> |
|||||||||||||
| |
||||||||||||||
| |
CONNECT (from MSC-R) |
|||||||||||||
| |
<————————————————— |
|||||||||||||
| |
||||||||||||||
| |
SEND GROUP CALL END SIGNAL |
|||||||||||||
| |
<————————————————— |
|||||||||||||
| |
||||||||||||||
| |
FORWARD_GROUP CALL_SIGNALLING (IMSI) |
|||||||||||||
| |
—————————————————> |
|||||||||||||
| |
||||||||||||||
VGCS_ASS_RESULT |
| |
CONNECT (from FN) |
||||||||||||
—————> |
__|_ |
<————————————– |
||||||||||||
NOTIFY_REQ (NCH) |
||||||||||||||
(Group Id, VK_Id, VSTK_RAND, |
||||||||||||||
cell global count,) (NOTE 2) |
||||||||||||||
<———- |
||||||||||||||
NOTIFY_REQ (FACCH) |
||||||||||||||
(Group Id, VK_Id, VSTK_RAND, |
||||||||||||||
cell global count,) (NOTE 2) |
||||||||||||||
<———- |
||||||||||||||
CONNECT |
||||||||||||||
<—————————————— |
||||||||||||||
PERIODIC NOTIF_REQ (NCH) |
||||||||||||||
(Group Id, VK_Id, VSTK_RAND, |
||||||||||||||
cell global count,) (NOTE 2) |
||||||||||||||
<———- |
||||||||||||||
Periodic SACCH Info |
||||||||||||||
UPLINK_RELEASE |
||||||||||||||
——————-> |
UPLINK_RELEASE_IND |
|||||||||||||
—————> |
||||||||||||||
FORWARD_GROUP CALL_SIGNAL. (uplink rel ind) |
||||||||||||||
—————————————————> |
||||||||||||||
CHAN_RELEASE |
CLR_CMD |
|||||||||||||
<——————- |
<————- |
|||||||||||||
CLR_COMP |
||||||||||||||
DISC |
————-> |
|||||||||||||
——————-> |
||||||||||||||
——————-> |
||||||||||||||
NOTE 1: If authentication and ciphering are performed, then the dedicated channel of the originator of the voice group call is ciphered with the cipher key Kc generated during the authentication procedure. If ciphering is started without authentication, the cipher key indicated with CKSN in the Service Request message is used.
NOTE 2: The Group Id and the Group cipher key number (VK_Id) are included in the Descriptive group call reference.
NOTE 3: The permitted ciphering algorithm (A5_Id) is included in the Encryption information.
NOTE 4: MS’ = calling subscriber mobile station;
MSs = destination subscriber mobile stations;
FNT = fixed network user terminal;
MSC-A = anchor MSC;
MSC-R = relay MSC.
Figure F.3.1-1: Distribution of ciphering data during establishment of a voice group call
F.3.2 Signalling information required for the voice group call uplink access in the anchor MSC (normal case, subsequent talker on dedicated channel)
Figure F.3.2-1 shows how the MS and the BSC determine the Cipher Key Sequence Number (CKSN) and Ciphering algorithm to use when the VGCS talker is switched to a dedicated channel. The main points are:
– The MS reads the CKSN and the individual cipher key Kc from the USIM and passes the value to the BSC via the TALKER INDICATION Message
– The CKSN is passed from the BSC to the MSC via the UPLINK REQUEST CONFIRMATION message (within Layer 3 information).
– The MS and BSC are informed of the ciphering algorithm identity in the ASSIGNMENT COMMAND message.
MS |
BSS |
MSC-A |
MSC-R |
UPLINK_FREE |
||||||
<————————— |
||||||
UPLINK_ACCESS |
||||||
—————————> |
UPLINK_REQUEST |
|||||
——————–> |
||||||
VGCS_UPLINK_GRANT |
||||||
<————————— |
||||||
UPLINK_BUSY |
||||||
<————————— |
||||||
SABM (TALKER_IND [TMSI, CKSN]) |
||||||
—————————> |
||||||
UA (TALKER_IND) |
FORWARD_GROUP CALL_SIGN. |
|||||
<————————— |
UPLINK_REQ_ACK |
(uplink seized command) |
||||
<——————– |
—————————–> |
|||||
UPLINK_ REQ_CONF (TALKER_IND [TMSI, CKSN]) |
||||||
———————> |
||||||
ASS_REQ (Kc) |
Dedicated channel |
|||||
ASSIGNMENT_CMD |
<——————– |
assignment (NOTE 1) |
||||
(cipher mode setting) |
||||||
<————————— |
||||||
(NOTE 2 , 3) |
||||||
ASSIGNMENT_COMP |
||||||
—————————> |
ASS_COMP |
|||||
——————–> |
||||||
Conversation proceeds |
||||||
<——————————————————-> |
||||||
UPLINK_RELEASE |
||||||
—————————> |
UPLINK_RELEASE_IND |
|||||
———————> |
||||||
UPLINK_FREE |
FORWARD_GROUP CALL_SIGN. |
|||||
<————————— |
(uplink release indication) |
|||||
——————————> |
||||||
NOTE 1: In this case the MSC decided to transfer the subsequent talker to a dedicated channel. The MSC includes the individual cipher key Kc indicated in the Talker Indication message with CKSN.
NOTE 2: Upon reception of the ASSIGNMENT CMD message which transfers the MS from the group call channel to a dedicated channel, the MS starts transmission and reception on the dedicated channel in ciphered mode, using the ciphering algorithm indicated in the cipher mode setting and using the individual cipher key Kc.
NOTE 3: The network configuration has to take care that ciphering is applied to a dedicated channel belonging to a ciphered VGCS Channel.
Figure F.3.2-1: Signalling information required for the voice group call uplink access
in the anchor MSC (normal case, subsequent talker on dedicated channel)
F.3.3 Signalling information required to transfer the originator or subsequent talker from a dedicated channel to a group call channel
Figure F.3.3-1 shows the MS being transferred from a dedicated channel to the group channel via the ASSIGNMENT COMMAND message. The main points are:
– The group channel is ciphered with VGCS ciphering
– The VK_Id, VSTK_RAND and Cell_Global_Count are supplied in the ASSIGNMENT COMMAND message in order for the MS to calculate the voice group ciphering keys.
MS |
BSS |
MSC-A |
MSC-R |
ASSIGNMENT_CMD |
(NOTE 1) |
|||||
(VK_Id, VSTK_RAND, Cell_global_Count) |
||||||
<————————— |
||||||
(NOTE 2) |
||||||
ASSIGNMENT_COMP |
||||||
—————————> |
CLR_REQ |
|||||
(Joined group call channel) |
||||||
——————–> |
||||||
CLR_CMD |
||||||
<——————– |
||||||
CLR_COMP |
||||||
——————–> |
||||||
Conversation proceeds |
||||||
<——————————————————-> |
||||||
NOTE 1: In this case the BSC decided to transfer the originator or subsequent talker to a group call channel.
NOTE 2: Upon reception of the ASSIGNMENT CMD message, if the Group cipher key number is different from ‘no ciphering’, the MS derives the cipher key V_Kc and starts transmission and reception on the group call channel in ciphered mode, using V_Kc.
Figure F.3.3-1: Signalling information required to transfer the originator or subsequent talker from a dedicated channel to a group call channel