Project

General

Profile

Download (18 KB) Statistics
| Branch: | Revision:
1 9d63d6fd Harald Welte
= Specification for IMSI Pseudonymization on the Radio Interface for 2G/3G/4G
2 5c95bc9c Oliver Smith
3
== Introduction
4
5 bf33c75a Oliver Smith
=== Protecting the IMSI on the Radio Interface is Desirable
6
7 5c95bc9c Oliver Smith
A long-standing issue in the 3GPP specifications is, that mobile phones and
8
other mobile equipment (ME) have to send the International Mobile Subscriber
9 4dc664dd Harald Welte
Identity (IMSI) unencrypted over the air. Each IMSI is a unique identifier for
10 a281464e Oliver Smith
the subscriber. Therefore most people can be uniquely identified by recording
11
the IMSI that their ME is sending.  The 3GPP specifications provide means for
12 4dc664dd Harald Welte
implementations to send the IMSI less often by using the Temporary Mobile
13
Subscriber Identity (TMSI) where possible.
14 5c95bc9c Oliver Smith
15
But this is not enough. So-called IMSI catchers were invented and are used to
16
not only record IMSIs when they have to be sent. But also to force ME to send
17 9d63d6fd Harald Welte
their IMSI by imitating a Base Transceiver Station (BTS). IMSI catchers have
18 5c95bc9c Oliver Smith
become small and affordable, even criminals actors without much budget can use
19
them to track anybody with a mobile phone.
20
21 efe5c98b Oliver Smith
5G addresses this problem with the Subscriber Concealed Identifier (SUCI),
22
which uses public-key cryptography to ensure that the permanent subscriber
23
identity can only be read by the home network (3GPP TS 33.501, Section 6.12.2).
24
A comparable, but different approach to conceal the IMSI for 2G, 3G and 4G is
25
provided in this specification.
26
27 bf33c75a Oliver Smith
=== Summary of Proposed Solution
28
29 5c95bc9c Oliver Smith
The solution presented in this document is to periodically change the IMSI of
30
the ME to a new pseudonymous IMSI allocated by the Home Location Register (HLR)
31 bf33c75a Oliver Smith
or Home Subscriber Service (HSS). The next pseudonymous IMSI is sent to the SIM
32
via Short Message Service (SMS), then a SIM applet overwrites the IMSI of the
33
SIM with the new value. The only component that needs to be changed in the
34 763232b3 Oliver Smith
network besides the SIM/USIM is the HLR/HSS, therefore it should be possible
35
even for a Mobile Virtual Network Operator (MVNO) to deploy this privacy
36 5c95bc9c Oliver Smith
enhancement.
37
38 bf33c75a Oliver Smith
=== Summary of Existing Location Updating Procedures in RAN and CN
39 5c95bc9c Oliver Smith
40 6f9f2186 Oliver Smith
The subscriber's SIM is provisioned with the IMSI and cryptographic keys of a
41
subscriber, after the subscriber was added with the same data to the HLR/HSS.
42
In the Remote Access Network (RAN), the IMSI is sent over the air interface and
43
then transmitted to the Core Network (CN), where it is validated by the
44
HLR/HSS. The involved components vary by the generation of the network and
45
whether the SIM is attempting a Circuit Switched (CS) or Packet Switched (PS)
46
connection, but the principle is the same. This document uses 2G CS Location
47
Updating for reference, as in <<figure-imsi-regular>>.
48 7afd7010 Oliver Smith
49
The IMSI is transmitted in the Location Updating Request from ME. The VLR
50
needs an authentication challenge specific to the secret keys on the SIM to
51
authenticate the SIM, and looks the authentication challenges up by the IMSI.
52
If the VLR does not have any more authentication challenges for the IMSI (as it
53
happens when the VLR sees the IMSI for the first time), the VLR requests new
54
authentication challenges from the HLR. Then the HLR verifies that the IMSI is
55
known and, if it is unknown, sends back an error that will terminate the
56
Location Updating procedure.
57
58
After the VLR found the authentication challenge, it authenticates the SIM, and
59
performs a Classmark Enquiry and Physical Channel Reconfiguration. Then the VLR
60
has the required information to finish the Location Updating, and continues
61 206a0fa9 Oliver Smith
with Process Update_Location_HLR (3GPP TS 29.002). Afterwards, the VLR assigns
62
a new TMSI with the Location Updating Accept, which is acknowledged by the TMSI
63
Reallocation Complete. In following Location Updates with the same MSC, the ME
64
sends the TMSI instead of the IMSI in the Location Updating Request.
65 7afd7010 Oliver Smith
66
[[figure-imsi-regular]]
67
.Location Updating in 2G CS with IMSI
68
["mscgen"]
69
----
70
msc {
71
  hscale="1.75";
72
  ME [label="ME"], BTS [label="BTS"], BSC [label="BSC"], MSC [label="MSC/VLR"],
73
  HLR [label="HLR"];
74
75
  // BTS <=> BSC: RSL
76
  // BSC <=> MSC: BSSAP, RNSAP
77
  // MSC <=> HLR: MAP (process Update_Location_HLR, 3GPP TS 29.002)
78
79
  ME   => BTS [label="Location Updating Request"];
80
  BTS  => BSC [label="Location Updating Request"];
81
  BSC  => MSC [label="Location Updating Request"];
82
83 7e33ef5e Oliver Smith
  --- [label="If necessary: VLR requests new authentication challenges for this IMSI"];
84 7afd7010 Oliver Smith
  MSC  => HLR [label="Send Auth Info Request"];
85
  MSC <=  HLR [label="Send Auth Info Result"];
86
  ---;
87
88
  BSC <=  MSC [label="Authentication Request"];
89
  BTS <=  BSC [label="Authentication Request"];
90
  ME  <=  BTS [label="Authentication Request"];
91
  ME   => BTS [label="Authentication Response"];
92
  BTS  => BSC [label="Authentication Response"];
93
  BSC  => MSC [label="Authentication Response"];
94
  BSC <=  MSC [label="Classmark Enquiry"];
95
  BTS <=  BSC [label="Classmark Enquiry"];
96
  ME  <=  BTS [label="Classmark Enquiry"];
97
  ME   => BTS [label="Classmark Change"];
98
  BTS  => BSC [label="Classmark Change"];
99
  BSC  => MSC [label="Classmark Update"];
100
  BSC <=  MSC [label="Physical Channel Reconfiguration"];
101
  BTS <=  BSC [label="Ciphering Mode Command"];
102
  ME  <=  BTS [label="Ciphering Mode Command"];
103 8c81b556 Oliver Smith
  ME   => BTS [label="Ciphering Mode Complete"];
104 7afd7010 Oliver Smith
  BTS  => BSC [label="Ciphering Mode Complete"];
105
  BSC  => MSC [label="Ciphering Mode Complete"];
106
107 206a0fa9 Oliver Smith
  --- [label="Process Update_Location_HLR (3GPP TS 29.002)"];
108 7afd7010 Oliver Smith
  MSC  => HLR [label="Update Location Request"];
109
  MSC <=  HLR [label="Insert Subscriber Data Request"];
110
  MSC  => HLR [label="Insert Subscriber Data Result"];
111
  MSC <=  HLR [label="Update Location Result"];
112 206a0fa9 Oliver Smith
  ---;
113 7afd7010 Oliver Smith
114
  BSC <=  MSC [label="Location Updating Accept"];
115
  BTS <=  BSC [label="Location Updating Accept"];
116
  ME  <=  BTS [label="Location Updating Accept"];
117
  ME   => BTS [label="TMSI Reallocation Complete"];
118
  BTS  => BSC [label="TMSI Reallocation Complete"];
119 2c8a19c1 Oliver Smith
  BSC  => MSC [label="TMSI Reallocation Complete"];
120 7afd7010 Oliver Smith
}
121
----
122
123 bf33c75a Oliver Smith
<<<
124 2c8a19c1 Oliver Smith
== Required Changes
125 6f9f2186 Oliver Smith
126 64d154ce Oliver Smith
[[hlr-imsi-pseudo-storage]]
127 bf33c75a Oliver Smith
=== Pseudonymous IMSI Storage in the HLR
128
129
The HLR must store up to two pseudonymous IMSIs (imsi_pseudo) and their related
130
counters (imsi_pseudo_i) per subscriber. Each subscriber initially has one
131
pseudonymous IMSI allocated. A subscriber has two valid pseudonymous IMSIs
132
only during the transition phase from the old pseudonymous IMSI to the new one.
133
The amount of available IMSIs must be higher than the amount of subscribers
134
registered with the HLR. If the amount of available IMSIs is too short, the HLR
135
can delay assigning new pseudonymous IMSIs until new IMSIs are available again.
136
137
.Examples for additional subscriber data in HLR
138 69e3fa6b Oliver Smith
[options="header"]
139 bf33c75a Oliver Smith
|===
140
| Subscriber ID | imsi_pseudo | imsi_pseudo_i
141
// example IMSIs taken from Wikipedia
142
| 123
143
| 310150123456789
144
| 1
145
146
| 234
147
| 502130123456789
148
| 1
149 6f9f2186 Oliver Smith
150 bf33c75a Oliver Smith
| 234
151
| 460001357924680
152
| 2
153
|===
154 6f9f2186 Oliver Smith
155 bf33c75a Oliver Smith
==== imsi_pseudo
156 6f9f2186 Oliver Smith
157 bf33c75a Oliver Smith
The value for imsi_pseudo is a random choice from the pool of available IMSIs
158
that the HLR controls. The pseudonymous IMSI must not be used by any subscriber
159
as pseudonymous IMSI yet, but may be the real IMSI of a subscriber.
160
161 8b68e4ec Oliver Smith
[[hlr-imsi-pseudo-i]]
162 bf33c75a Oliver Smith
==== imsi_pseudo_i
163
164 9d63d6fd Harald Welte
The counter imsi_pseudo_i indicates how often a subscribers pseudonymous IMSI
165 8c81b556 Oliver Smith
was changed. The value is 1 for the first allocated pseudonymous IMSI of a
166
subscriber. When allocating a new pseudonymous IMSI for the same subscriber,
167
the new imsi_pseudo_i value is increased by 1. The counter is used by the SIM
168 bf33c75a Oliver Smith
applet to detect and ignore outdated requests related to changing the
169
pseudonymous IMSI.
170
171
=== SIM Provisioning
172 6f9f2186 Oliver Smith
173 763232b3 Oliver Smith
IMSI pseudonymization as specified by this document works with SIM and USIM.
174 8b68e4ec Oliver Smith
The HLR is allocating a pseudonymous IMSI for the subscriber. This pseudonymous
175
IMSI is stored as IMSI on the subscriber's SIM instead of the real IMSI.
176
177 5de45c08 Oliver Smith
[[sim-app]]
178 8b68e4ec Oliver Smith
==== SIM applet
179
180
The SIM is provisioned with a SIM applet, which is able to change the IMSI once
181
the next pseudonymous IMSI arrives from the HLR. A reference implementation is
182
provided in <<reference-src>>.
183
184 69e3fa6b Oliver Smith
===== Counter Storage
185
186
The following counter variables are stored in the SIM applet.
187
188
[options="header",cols="20%,12%,68%"]
189
|===
190
| Name | Initial value | Description
191
192
| imsi_pseudo_i
193
| 1
194
| See <<hlr-imsi-pseudo-i>>.
195
196
| imsi_pseudo_lu
197
| 0
198
| Amount of Location Updating procedures done with the same pseudonymous IMSI.
199
200
| imsi_pseudo_lu_max
201
| (decided by operator)
202
| Maximum amount of Location Updating procedures done with the same
203
  pseudonymous IMSI, before the SIM applet shows a warning to the subscriber.
204
|===
205
206
===== Switch to Next Pseudonymous IMSI
207
208 37981b6d Harald Welte
The SIM applet registers to a suitable SMS trigger (3GPP TS 43.019, Section
209 7b0dbb96 Oliver Smith
6.2). When an SMS from the HLR in the structure of <<sms-structure>> arrives,
210
the applet must verify that the SMS is not outdated by comparing imsi_pseudo_i
211
from the SMS with the last imsi_pseudo_i that was used when changing the IMSI
212 8b68e4ec Oliver Smith
(initially 1 as in <<hlr-imsi-pseudo-i>>). The new value must be higher,
213
otherwise the SMS should not be processed further.
214
215
The SIM applet registers a timer with min_sleep_time from the SMS. When the
216 b80a9f87 Oliver Smith
timer triggers, EF~IMSI~ of the SIM is overwritten with the new pseudonymous
217
IMSI. The TMSI and related data (EF~LOCI~, EF~PSLOCI~) and ciphering keys
218
(EF~Kc~, EF~KcGPRS~, EF~Keys~, EF~KeysPS~) are invalidated (see 3GPP TS
219
31.102). The current imsi_pseudo_i from the SMS is stored in the SIM applet
220 69e3fa6b Oliver Smith
to compare it with the next SMS. imsi_pseudo_lu is reset to 0. Afterwards,
221
the EF~IMSI~ changing procedure in 3GPP TS 11.14, Section 6.4.7.1 is executed
222
to apply the new IMSI.
223 8b68e4ec Oliver Smith
224
// FIXME: do we need to enforce the LU now, with an arbitrary CM Service
225
// Request, or would this only be necessary for Osmocom? (OS#4404)
226 69e3fa6b Oliver Smith
227
===== Warning the Subscriber If the Pseudonymous IMSI Does Not Change
228
229
An attacker could potentially block the next pseudonymous IMSI SMS on purpose.
230
Because the SIM applet cannot decide the next pseudonymous IMSI, it would have
231
the same pseudonymous IMSI for a long time. Then it could become feasible for
232
an attacker to track the subscriber by their pseudonymous IMSI. Therefore the
233
SIM applet should warn the subscriber if the pseudonymous IMSI does not change.
234
235
The SIM applet registers to EVENT_EVENT_DOWNLOAD_LOCATION_STATUS (3GPP TS
236
03.19, Section 6.2) and increases imsi_pseudo_lu by 1 when the event is
237
triggered. If imsi_pseudo_lu reaches imsi_pseudo_lu_max, the SIM applet
238
displays a warning to the subscriber.
239
240 bb8d9127 Oliver Smith
[[process-update-location-hlr]]
241 206a0fa9 Oliver Smith
=== Process Update_Location_HLR
242
243
All IMSI Pseudonymization related changes to Process Update_Location_HLR
244 64d154ce Oliver Smith
(3GPP TS 29.002) are optional. Deviations from the existing specification that
245
are outlined in this section are expected to be enabled or disabled entirely
246
where IMSI pseudonymization is implemented.
247 206a0fa9 Oliver Smith
248 ef43ac3a Oliver Smith
[[figure-imsi-pseudo]]
249 206a0fa9 Oliver Smith
.Process Update_Location_HLR with IMSI pseudonymization changes
250
["mscgen"]
251
----
252
msc {
253
  hscale="1.75";
254
  MSC [label="MSC/VLR"], SMSC [label="SMS-SC"], HLR [label="HLR"];
255
256
  MSC   => HLR  [label="Update Location Request"];
257 7e33ef5e Oliver Smith
258
  --- [label="If new pseudonymous IMSI was used: deallocate and cancel old pseudonymous IMSI"];
259 64d154ce Oliver Smith
  HLR  box HLR  [label="Deallocate old pseudonymous IMSI"];
260 7e33ef5e Oliver Smith
  MSC  <=  HLR  [label="Cancel Location Request"];
261
  MSC   => HLR  [label="Cancel Location Result"];
262
  ---;
263
264 206a0fa9 Oliver Smith
  MSC  <=  HLR  [label="Insert Subscriber Data Request"];
265
  MSC   => HLR  [label="Insert Subscriber Data Result"];
266 64d154ce Oliver Smith
  HLR  box HLR  [label="Start Next_Pseudo_IMSI_Timer"];
267 206a0fa9 Oliver Smith
  MSC  <=  HLR  [label="Update Location Result"];
268 64d154ce Oliver Smith
  MSC  box MSC  [label="Finish Location Updating with ME"],
269 206a0fa9 Oliver Smith
270 64d154ce Oliver Smith
  HLR  box HLR  [label="Wait for Next_Pseudo_IMSI_Timer expiry"];
271 206a0fa9 Oliver Smith
  |||;
272
  ...;
273
  |||;
274 64d154ce Oliver Smith
  HLR  box HLR  [label="Next_Pseudo_IMSI_Timer expired"];
275 7e33ef5e Oliver Smith
276 64d154ce Oliver Smith
  HLR  box HLR  [label="\nAllocate new pseudonymous IMSI\nif subscriber has only one allocated\n"];
277 206a0fa9 Oliver Smith
  SMSC <=  HLR  [label="Next Pseudonymous IMSI SMS"];
278
  SMSC box SMSC [label="Deliver SMS to ME"];
279
}
280
----
281 5c95bc9c Oliver Smith
282 ef43ac3a Oliver Smith
==== Update Location Request
283 64d154ce Oliver Smith
284 ef43ac3a Oliver Smith
When Update Location Request arrives, the HLR does not look up the subscriber
285
by the IMSI, but by the pseudonymous IMSI instead. Unless the subscriber has
286 69e3fa6b Oliver Smith
two pseudonymous IMSI allocated and used the new pseudonymous IMSI in the
287
Update Location Request, this is followed by the existing logic to continue
288
with Insert Subscriber Data Request.
289 ef43ac3a Oliver Smith
290
===== Update Location Request With New Pseudonymous IMSI
291
292
If the subscriber has two pseudonymous IMSIs allocated, and the newer entry was
293
used (higher imsi_pseudo_i, see <<hlr-imsi-pseudo-i>>), this section applies.
294
The older pseudonymous IMSI is deallocated in the HLR. This is done as early
295
as possible, so the timeframe where two pseudonymous IMSI are allocated for one
296
subscriber is short.
297
298
A Cancel Location Request with the old pseudonymous IMSI is sent to the VLR, so
299
the conflicting subscriber entry with the old pseudonymous IMSI is deleted from
300
the VLR. Receiving a Cancel Location Result is followed by the existing logic
301
to continue with Insert Subscriber Data Request.
302
303
===== Update Location Request With Old Pseudonymous IMSI
304
305
If the subscriber has two pseudonymous IMSIs allocated, and the older entry was
306
used (lower imsi_pseudo_i, see <<hlr-imsi-pseudo-i>>), the newer entry is _not_
307
deallocated. This could lock out the subscriber from the network if the SMS
308
with the new pseudonymous IMSI arrives with a delay.
309
310
==== Insert Subscriber Data Result
311
312 64d154ce Oliver Smith
When Insert Subscriber Data Result arrives, a subscriber specific
313
Next_Pseudo_IMSI_Timer starts.
314 ef43ac3a Oliver Smith
315
==== Next_Pseudo_IMSI_Timer Expires
316
317 64d154ce Oliver Smith
If the subscriber has only one pseudonymous IMSI allocated, and the amount of
318
available IMSIs in the HLR is high enough, a second pseudonymous IMSI and
319
related imsi_pseudo_i gets allocated for the subscriber (as described in
320
<<hlr-imsi-pseudo-storage>>).
321
322
If the subscriber still has only one pseudonymous IMSI, because not enough
323
IMSIs were available in the HLR, the process is aborted here and no SMS with
324
a next pseudonymous IMSI is sent to the subscriber. The subscriber will get a
325
new pseudonymous IMSI during the next Location Updating Procedure, if the HLR
326
has enough IMSIs available at that point.
327
328
An SMS is sent to the SMS - Service Centre (SMS-SC) with the newer pseudonymous
329
IMSI (higher imsi_pseudo_i, see <<hlr-imsi-pseudo-i>>) and related
330
imsi_pseudo_i value.
331 ef43ac3a Oliver Smith
332 7b0dbb96 Oliver Smith
[[sms-structure]]
333
==== Next Pseudonymous IMSI SMS Structure
334 ef43ac3a Oliver Smith
335 7b0dbb96 Oliver Smith
.Next pseudonymous IMSI SMS structure
336
[packetdiag]
337
----
338
{
339
	colwidth = 32
340
341
	0-31:	 IMSI_PSEUDO_I
342
	32-63:   MIN_SLEEP_TIME
343
	64-119:  IMSI_PSEUDO
344
	120-127: PAD
345
}
346
----
347
348 a0354de4 Oliver Smith
// FIXME
349
IMPORTANT: This is a draft. The structure is likely to change after the
350
reference implementation phase.
351
352 7b0dbb96 Oliver Smith
IMSI_PSEUDO_I: 32 bits::
353
See <<hlr-imsi-pseudo-i>>.
354
355
MIN_SLEEP_TIME: 32 bits::
356
Amount of seconds, which the SIM applet should wait before changing to the new
357
pseudonymous IMSI. Since it is unclear when the SMS will arrive (ME might be
358
turned off), this is a minimum amount.
359
360
IMSI_PSEUDO: 60 bits::
361
Telephony Binary Coded Decimal (TBCD, 3GPP TS 29.002) version of the next
362
pseudonymous IMSI.
363
364
PAD: 8 bits::
365
Padding at the end, should be filled with 1111 as in the TBCD specification.
366 ef43ac3a Oliver Smith
367 2c8a19c1 Oliver Smith
== Error Scenarios
368 5de45c08 Oliver Smith
369 2c8a19c1 Oliver Smith
=== Next Pseudonymous IMSI SMS is Lost
370 5de45c08 Oliver Smith
371
If the SMS with the next pseudonymous IMSI does not arrive, the SIM will start
372
the next Location Updating Procedure with the old pseudonymous IMSI. Because
373
the HLR has both the old and the new pseudonymous IMSI allocated at this point,
374
the subscriber is not locked out of the network.
375
376 a281464e Oliver Smith
=== Next Pseudonymous IMSI SMS Arrives Out of Order
377 5de45c08 Oliver Smith
378
The next pseudonymous IMSI SMS may arrive out of order. Either, because the
379
network is not able to deliver them in order, or even because an attacker would
380
perform a replay attack.
381
382
If the SMS arrives out of order, the imsi_pseudo_i counter will not be higher
383
than the value the SIM applet (<<sim-app>>) has stored. Therefore, the applet
384
will discard the message and the subscriber is not locked out of the network.
385 5c95bc9c Oliver Smith
386 8b68e4ec Oliver Smith
// === SMS Arrives Before Timer Expires
387
// FIXME: OS#4486
388
389 2c8a19c1 Oliver Smith
== Recommendations for Real-World Implementations
390 cbe90581 Oliver Smith
391 18bf9bb1 Oliver Smith
=== BCCH SI3: ATT = 0
392 cbe90581 Oliver Smith
393 18bf9bb1 Oliver Smith
When changing from one pseudonymous IMSI to the next, it is important that the
394
ME does not detach from the network. Otherwise it would be trivial for an
395
attacker to correlate the detach with the attach of the same ME with the next
396
pseudonymous IMSI.
397
398
This is controlled with the ATT flag in the SYSTEM INFORMATION TYPE 3 (SI3)
399
message on the Broadcast Control Channel (BCCH), see 3GPP TS 44.018 Section
400
10.5.2.11. It must be set to 0.
401
402
// FIXME: verify how it set with operators in germany (OS#4404)
403
404 5c95bc9c Oliver Smith
=== End to End Encryption of SMS
405 cbe90581 Oliver Smith
406
When deploying the IMSI pseudonymization, the operator should make sure that
407
the next pseudonymous IMSI SMS (<<sms-structure>>) cannot be read or modified
408
by third parties. Otherwise, the next pseudonymous IMSI is leaked, and if the
409
pseudonymous IMSI in the SMS was changed, the SIM would be locked out of the
410
network.
411
412
The safest way to protect the next pseudonymous IMSI SMS is a layer of end to
413 a281464e Oliver Smith
end encryption from the HLR to the SIM.  The existing means for OTA SMS
414
security (3GPP TS 23.048) provide mechanisms for integrity protection,
415
confidentiality as well as replay protection and must be implemented when using
416
IMSI pseudonymization.
417 cbe90581 Oliver Smith
418 5c95bc9c Oliver Smith
=== User-configurable Minimum Duration Between IMSI Changes
419 2c8a19c1 Oliver Smith
420 a0354de4 Oliver Smith
It may be desirable to let subscribers configure their minimum duration between
421
IMSI changes. This allows subscribers with a high privacy requirement to switch
422
their pseudonymous IMSI more often, and it allows the pseudonymous IMSI change
423
to happen less frequently if it is distracting to the subscriber.
424
425
How distracting the pseudonymous IMSI change is, depends on the ME. The
426
following examples were observed:
427
428
// FIXME: might need an update after SYS#4481
429
430
* A Samsung GT-I9100 Galaxy SII smartphone with Android 4.0.3 displays a
431
  message at the bottom of the screen for about 5 seconds, but the user
432
  interface remains usable.
433
* A Samsung GT-E1200 feature phone displays a waiting screen for 16 to 17
434
  seconds and is unusable during that time.
435
436 0feaa89a Oliver Smith
[[reference-src]]
437
== Reference Implementation with Source Code
438
439
A reference implementation for the SIM applet (<<sim-app>>) is available in
440
source code under the Apache-2.0 license at:
441
442
https://osmocom.org/projects/imsi-pseudo
443
444
The HLR modifications described in <<hlr-imsi-pseudo-storage>> and
445
<<process-update-location-hlr>> were implemented for reference in OsmoHLR from
446
the Osmocom project, licensed under AGPL-3.0. Information about the source code
447
and related branches for IMSI pseudonymization can be found at the above URL as
448
well.
Add picture from clipboard (Maximum size: 48.8 MB)