Revision 206a0fa9
Added by osmith about 4 years ago
docs/imsi-pseudo-spec.adoc | ||
---|---|---|
53 | 53 |
After the VLR found the authentication challenge, it authenticates the SIM, and |
54 | 54 |
performs a Classmark Enquiry and Physical Channel Reconfiguration. Then the VLR |
55 | 55 |
has the required information to finish the Location Updating, and continues |
56 |
with an Update Location Request procedure with the HLR. Afterwards, the VLR |
|
57 |
assigns a new TMSI with the Location Updating Accept, which is acknowledged by |
|
58 |
the TMSI Reallocation Complete. In following Location Updates with the same |
|
59 |
MSC, the ME sends the TMSI instead of the IMSI in the Location Updating |
|
60 |
Request. |
|
56 |
with Process Update_Location_HLR (3GPP TS 29.002). Afterwards, the VLR assigns |
|
57 |
a new TMSI with the Location Updating Accept, which is acknowledged by the TMSI |
|
58 |
Reallocation Complete. In following Location Updates with the same MSC, the ME |
|
59 |
sends the TMSI instead of the IMSI in the Location Updating Request. |
|
61 | 60 |
|
62 | 61 |
[[figure-imsi-regular]] |
63 | 62 |
.Location Updating in 2G CS with IMSI |
... | ... | |
100 | 99 |
BTS => BSC [label="Ciphering Mode Complete"]; |
101 | 100 |
BSC => MSC [label="Ciphering Mode Complete"]; |
102 | 101 |
|
102 |
--- [label="Process Update_Location_HLR (3GPP TS 29.002)"]; |
|
103 | 103 |
MSC => HLR [label="Update Location Request"]; |
104 | 104 |
MSC <= HLR [label="Insert Subscriber Data Request"]; |
105 | 105 |
MSC => HLR [label="Insert Subscriber Data Result"]; |
106 | 106 |
MSC <= HLR [label="Update Location Result"]; |
107 |
---; |
|
107 | 108 |
|
108 | 109 |
BSC <= MSC [label="Location Updating Accept"]; |
109 | 110 |
BTS <= BSC [label="Location Updating Accept"]; |
... | ... | |
188 | 189 |
// FIXME: do we need to enforce the LU now, with an arbitrary CM Service |
189 | 190 |
// Request, or would this only be necessary for Osmocom? (OS#4404) |
190 | 191 |
|
191 |
=== Successful Location Update With Pseudonymous IMSI |
|
192 |
=== Process Update_Location_HLR |
|
193 |
|
|
194 |
All IMSI Pseudonymization related changes to Process Update_Location_HLR |
|
195 |
(3GPP TS 29.002) are optional. |
|
196 |
|
|
197 |
* HLR looks up subscriber by pseudonymous imsi in Update Location Request |
|
198 |
* if two pseudo imsi found, and connected with new one: dealloc old entry |
|
199 |
* if two pseudo imsi found and connected with old one: do not dealloc! |
|
192 | 200 |
|
193 |
// HLR may choose not to give out next IMSI if it is short on available IMSIs |
|
201 |
* after update location result: set new timer for sending next IMSI to random delay |
|
202 |
|
|
203 |
==== Send Next Pseudonymous IMSI |
|
204 |
|
|
205 |
* if subscriber has two pseudo IMSI, send the new one |
|
206 |
* if subscriber has only one pseudo IMSI: |
|
207 |
* abort if not enough IMSIs available |
|
208 |
* generate new pseudo IMSI as described earlier |
|
209 |
* set imsi_pseudo_i like last one + 1 |
|
210 |
* send SMS to subscriber's SIM |
|
194 | 211 |
|
195 | 212 |
[[sms-format]] |
196 |
==== Format of the SMS
|
|
213 |
==== SMS Format
|
|
197 | 214 |
|
198 | 215 |
* min_sleep_time |
199 | 216 |
* imsi_pseudo |
200 | 217 |
* imsi_pseudo_i |
201 | 218 |
|
202 |
=== Next Pseudonymous IMSI Arrives Via SMS |
|
219 |
[[figure-]] |
|
220 |
.Process Update_Location_HLR with IMSI pseudonymization changes |
|
221 |
["mscgen"] |
|
222 |
---- |
|
223 |
msc { |
|
224 |
hscale="1.75"; |
|
225 |
MSC [label="MSC/VLR"], SMSC [label="SMS-SC"], HLR [label="HLR"]; |
|
226 |
|
|
227 |
MSC => HLR [label="Update Location Request"]; |
|
228 |
HLR box HLR [label="\nDeallocate old Pseudonymous IMSI,\n if new Pseudonymous IMSI was used\n"]; |
|
229 |
MSC <= HLR [label="Insert Subscriber Data Request"]; |
|
230 |
MSC => HLR [label="Insert Subscriber Data Result"]; |
|
231 |
HLR box HLR [label="Start Next_Pseudo_IMSI_Timer"]; |
|
232 |
MSC <= HLR [label="Update Location Result"]; |
|
233 |
|
|
234 |
MSC box MSC [label="Finish Location Updating with ME"], |
|
235 |
HLR box HLR [label="Wait for Next_Pseudo_IMSI_Timer expiry"]; |
|
236 |
|||; |
|
237 |
...; |
|
238 |
|||; |
|
239 |
HLR box HLR [label="Next_Pseudo_IMSI_Timer expired"]; |
|
240 |
HLR box HLR [label="\nAllocate new Pseudonymous IMSI\nif subscriber only has one allocated\n"]; |
|
241 |
SMSC <= HLR [label="Next Pseudonymous IMSI SMS"]; |
|
242 |
SMSC box SMSC [label="Deliver SMS to ME"]; |
|
243 |
} |
|
244 |
---- |
|
203 | 245 |
|
204 | 246 |
== Error Scenarios |
205 | 247 |
=== Next Pseudonymous IMSI SMS is Lost |
Also available in: Unified diff
spec: Process Update_Location_HLR: bullet points + graph