GSM GPRS: Global System For Mobile Communication
GSM GPRS: Global System For Mobile Communication
GSM GPRS: Global System For Mobile Communication
GPRS
General Packet Radio Service
DECT (Digital Enhanced Cordless Telecommunications) is a cordless system low mobility (only within isolated islands)
next lecture
4G
GPRS
Packet services
EDGE
CDMA 2000
Duplexing
(separation of uplink/downlink transmission directions) FDD (Frequency Division Duplexing)
(GSM/GPRS, TETRA, UTRA FDD)
Uplink
duplex separation
Downlink
frequency
...
UL
DL
UL
DL
...
time
=> indoor
asymmetric services
BS
BS MS
BS
BS
Location Area 3
If an idle MS moves between two location areas, it cannot be reached before it performs a location update.
EIR
BSC
TRAU
EIR
Circuit switched connection Signaling Database
BSC
PCU
SGSN
Packet switched connection Signaling Database
EIR
IP backbone
GGSN
BSC
PCU
SGSN
EIR
New MS/terminals Packet Control Unit (PCU) SGSN and GGSN routers software updates (BTS, HLR)
IP backbone
GGSN
MS
BTS
Time division
time
code nr.
Frequency division
Code division
Carrier 1
T TS2
TT
Carrier 2
Carrier 3
Time Slot
TDMA multiframe:
1 2 3 4 5 6 7 8 9 10 11 12
SACCH 13 14 15 Idle 23 24 25 26
260 bits
260 bits
456 bits bits 4, 12, 20, 28, 36, 44, etc. from the 456 bit frame
57 bits
57 bits
57 bits
184 bits
456 bits bits 4, 12, 20, 28, 36, 44, etc. from the 456 bit frame
57 bits
57 bits
57 bits
MOC, MTC
PDP Context
5
6
MM CM / SM
Communication between MS and network is not possible before going through a procedure called random access. Random access must consequently be used in network originated activity paging, e.g. for a mobile terminated call in GSM
MS originated activity IMSI attach, IMSI detatch GPRS attach, GPRS detach location updating in GSM or GPRS mobile originated call in GSM SMS (short message service) message transfer
1. MS sends a short access burst over the Random Access CHannel (RACH) in uplink using Slotted Aloha (collision possibility retransmission) 2. After detecting the access burst, the network (BSC) returns an immediate assignment message which includes the following information: - allocated physical channel (frequency, time slot) in which the assigned signalling channel is located - timing advance (for correct time slot alignment) 3. The MS now sends a message on the dedicated signalling channel assigned by the network, indicating the reason for performing random access.
Challenge
Random number
algorithm
Authentication key Ki
Response SRES
algorithm
Authentication key Ki
3 MS
Ciphering in GSM
Cipher command (time info...) Kc BTS Kc Time info Ciphering key
Time info
Ciphering key
Data
algorithm algorithm
Ciphered data
algorithm algorithm
Data
For each call, a new ciphering key (Kc) is generated during authentication both in MS and MSC (in same way as authentication response).
Network
A5
Ciphered data
MS
Ki SRES ?
Serving MSC
RAND SRES Kc Kc A5 Data SRES
AuC
RAND A3
A8
Ki
Authentication vector
Algorithm considerations
Using output and one or more inputs, it is in practice not possible to calculate backwards other input(s) brute force approach, extensive search Key length in bits (N) is important (in case of brute force approach 2N calculation attempts may be needed) Strength of algorithm is that it is secret => bad idea! security through obscurity
Better: open algorithm can be tested by engineering community (security through strong algorithm)
3
MS
Authentication Start ciphering IMSI is never sent over air interface if not absolutely necessary! New TMSI allocated by network
CM or MM transaction
IMSI detach New TMSI stored in SIM
Idle
GPRS attach Standby timer expired
Ready
Timer expired
Standby
MM areas in GSM/GPRS
Cell
Location updating in GPRS (ready state)
Affects capacity
SIM
LAI 1 IMSI TMSI
MSC
VLR 1
IMSI TMSI
MSC
HLR
IMSI LAI 1
VLR 2
Most recently allocated TMSI and last visited LAI (Location Area ID) are stored in SIM even after switch-off.
After switch-on, MS monitors LAI. If stored and monitored LAI values are the same, no location updating is needed.
ME
SIM
LAI 1 IMSI TMSI
MSC
VLR 1
IMSI TMSI
MSC
HLR
IMSI LAI 1
VLR 2
ME
MSC
VLR 1
LAI 1, TMSI
SIM
LAI 1 IMSI TMSI
IMSI TMSI
MSC
HLR
No TMSI - IMSI context
IMSI LAI 1
VLR 2
SIM sends old LAI and TMSI to VLR 2. VLR 2 does not recognize TMSI since there is no TMSIIMSI context. Who is this user?
ME
MSC
VLR 1
IMSI
SIM
LAI 1 IMSI TMSI
IMSI TMSI
MSC
VLR 2
IMSI TMSI
address: LAI 1
HLR
IMSI LAI 1
However, VLR 2 can contact VLR 1 (address: LAI 1) and request IMSI.
ME
MSC
VLR 1 MSC
IMSI TMSI
SIM
LAI 1 IMSI TMSI
IMSI TMSI
HLR
LAI 2
IMSI LAI 1 LAI 2
VLR 2
Important: HLR must be updated (new LAI). If this is not done, incoming calls can not be routed to new MSC/VLR. HLR also requests VLR 1 to remove old user data.
ME
MSC
VLR 1 MSC HLR
IMSI TMSI TMSI IMSI LAI 2
SIM
LAI 1 IMSI TMSI LAI 2 TMSI
LAI 2 TMSI
VLR 2
VLR 2 generates new TMSI and sends this to user. User stores new LAI and TMSI safely in SIM. Location update successful !
MCC = Mobile Country Code (3 digits) MNC = Mobile Network Code (2 digits) MSIN = Mobile Subscriber Identity Number (10 digits)
LAC
CI
MCC = Mobile Country Code (3 digits) MNC = Mobile Network Code (2 digits) LAC = Location Area Code (10 digits)
CC = Country Code (1-3 digits) NDC = National Destination Code (1-3 digits) SN = Subscriber Number for routing to MSC/VLR
CC
TN
CC = Country Code (1-3 digits) NDC = National Destination Code (1-3 digits) TN = Temporary Number
ME SIM MS
EIR
Circuit switched connection (64 kb/s PCM, 16 kb/s between TRAU and BTS, 13 kb/s encoded speech over air interface) Signaling (ISUP, MAP) Database
ME SIM MS
BSC
EIR
Call is routed to GMSC using MSISDN number of called user (e.g. 040 1234567).
ME SIM MS
BSC
EIR
HLR knows location of Serving MSC/VLR (when user moves to another VLR, this is always recorded in HLR).
ME SIM MS
BSC
EIR
Call can now be routed to Serving MSC/VLR using ISUP (may involve several intermediate switching centers).
MSC/VLR starts paging within Location Area (LA) in which user is located, using TMSI for identification.
ME SIM MS
BSC
EIR
Only the mobile user with the corresponding TMSI responds to the paging.
Using random access procedure, user requests a channel, e.g. SDCCH, for call control signaling.
ME SIM MS
BSC
EIR
Signaling channel is set up. After authentication and ciphering procedures, call control signaling continues.
PDP context
PDP context describes characteristics of GPRS session (session = always on connection) PDP context information is stored in MS, SGSN and GGSN MS ::: :::
123.12.223.0 123.12.223.9
Activate PDP context request Security functions Create PDP context request
::: :::
IP address allocated to MS
::: :::
Dynamic IP address allocation has one problem: it is difficult to handle a mobile terminated transaction (external source does not know IP address of MS) Fortunately, packet services are of client-server type => MS initiates packet transmission
GGSN Packet is sent to SGSN. SGSN sends packet to GGSN through GTP (GPRS Tunneling Protocol) tunnel.
Tunneling = encapsulation of IP packet in GTP packet IP address ... IP address IP payload
GGSN
GGSN sends packet through external IP network (i.e. Internet) to IP/WAP server.
Source IP addr.
GGSN
Dest. IP addr.
Server
IP payload
GGSN
Server sends return packet via GGSN, GTP tunnel and SGSN to MS.
Packets from server to MS are always routed via GGSN (since this node has PDP context information).