comparison doc/GrcardSIM2-WEKI-file @ 196:c804f2f8c138

doc/GrcardSIM2-WEKI-file article written
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 07 Mar 2021 01:56:02 +0000
parents
children 8c151bb01d28
comparison
equal deleted inserted replaced
195:810ea92d9f47 196:c804f2f8c138
1 GrcardSIM2 cards have a proprietary EF under DF_GSM with file ID 0x0001;
2 Osmocom wiki page for this card model gives EF.WEKI as the name for this
3 proprietary file. We (FreeCalypso) have no idea as to where this name came
4 from, and where and how the people who wrote that wiki page (Sysmocom staff or
5 not - unknown) got this knowledge. This file is important because it stores Ki
6 and the selection of COMP128 algorithm version, but the same file also appears
7 to have other fields serving other purposes which are not currently understood.
8
9 The total length of this transparent EF is 35 bytes, out of which only the first
10 19 bytes are documented in the Osmocom wiki page and written by their pySim-prog
11 tool. Let us now break down this file according to our currently available
12 limited understanding:
13
14 * The first two bytes are always 00 10 - these byte values appear in "blank"
15 unprogrammed cards as shipped by Grcard, they also appear in the Osmocom wiki
16 page, and are programmed by pySim-prog. The purpose and meaning of these two
17 bytes are completely unknown, and we have never tried writing anything
18 different into them.
19
20 * The next byte gives COMP128 algorithm selection plus something else that is
21 not understood:
22
23 - The low nibble of this byte selects COMP128 algorithm version as follows:
24
25 0 = COMP128v1
26 1 = COMP128v2
27 2 = COMP128v3
28
29 Note that the Osmocom wiki page is wrong in its description of this nibble:
30 setting this nibble to 3 ends up selecting COMP128v2 rather than v3.
31 (pySim-prog is unaffected because it always writes 0 for COMP128v1.)
32
33 - The high nibble of this byte is not understood. Osmocom wiki page tells
34 people to write 0 into this nibble and so does pySim-prog, but the "blank"
35 unprogrammed cards we got from Grcard have it set to 2. Setting this nibble
36 to either 0 or 2 does not seem to affect the result of RUN GSM ALGORITHM
37 operations, thus it probably controls something else.
38
39 * The next 16 bytes store Ki - this part is straightforward.
40
41 * The last 16 bytes are not understood; our "blank" unprogrammed cards from
42 Grcard have all FFs in these bytes.