annotate doc/Formatting-thoughts @ 57:bccf028921bb

apdu-checksw command added to both fc-simtool and fc-uicc-tool
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 22 Mar 2021 23:58:11 +0000
parents a754d4f117cf
children 7c9a3130fb66
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18
da6e9d0b2ee6 data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 Thoughts on card (re)formatting
da6e9d0b2ee6 data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 ===============================
da6e9d0b2ee6 data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3
da6e9d0b2ee6 data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 ETSI and 3GPP specs give many more degrees of freedom to SIM card issuers than
da6e9d0b2ee6 data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 just the content of various EFs: the card issuer gets to decide which DFs and
da6e9d0b2ee6 data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 EFs will be present vs. which ones won't be present at all, and for many EFs
da6e9d0b2ee6 data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 the size (allocated space) is variable per the specs and up to the card issuer.
da6e9d0b2ee6 data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 In the case of record-based EFs, both the record size and the number of records
da6e9d0b2ee6 data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 are often left up to card issuers to tune as desired.
da6e9d0b2ee6 data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10
da6e9d0b2ee6 data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 In the Mother's opinion, a truly programmable SIM would be one where every
da6e9d0b2ee6 data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 downstream owner of each card (not just the initial factory or the party putting
da6e9d0b2ee6 data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 up big bucks for a large custom production run) can do a full reformat: erase
da6e9d0b2ee6 data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 the file system and then create whatever tree of DFs and EFs she desires, with
da6e9d0b2ee6 data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 full control over each file's allocated size, structure and access conditions.
da6e9d0b2ee6 data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16
55
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
17 The problem, however, is that the people who work with big bucks and who control
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
18 SIM card manufacturing have taken away our community's ability to freely
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
19 reformat our programmable SIMs downstream of the factory. To the best of our
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
20 knowledge, there has only ever been one SIM card model in the entire history of
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
21 Osmocom community that supported downstream reformatting, and this model was
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
22 sysmoSIM-GR1:
18
da6e9d0b2ee6 data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23
da6e9d0b2ee6 data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 https://osmocom.org/projects/cellular-infrastructure/wiki/GrcardSIM
da6e9d0b2ee6 data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25
55
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
26 But Grcard company no longer sells that original card model, and for their new
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
27 card model (GrcardSIM2, branded sysmoSIM-GR2 or FCSIM1) there is no published
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
28 documentation for how to erase the card file system and recreate it differently.
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
29 We can only guess that this ability probably exists, but Grcard people are
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
30 refusing to disclose the secret knowledge of how to do it unless we pay them
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
31 some ginormous sum of money.
18
da6e9d0b2ee6 data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32
55
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
33 The current offering from Sysmocom (sysmoISIM-SJA2) does not fare any better in
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
34 this regard. These cards are natively UICC, and in the world of UICC there
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
35 exist partially standarized commands for creating and deleting files, defined in
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
36 ETSI TS 102 222. However, these commands are only partially standardized: the
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
37 ETSI spec gives the general principles and the command structure, but many of
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
38 the details as to exactly what needs to be put into the TLV structure fed to the
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
39 CREATE FILE command in order for that command to succeed constitute proprietary
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
40 knowledge. Our experiments with this CREATE FILE command on sysmoISIM-SJA2 were
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
41 unsuccessful. The only way how the file structure of Sysmocom cards would
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
42 become truly editable by end users would be if Sysmocom were to publish at least
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
43 one fully worked-out example of a real CREATE FILE command that creates some
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
44 dummy non-standard file just to prove it working, followed by a working example
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
45 of a DELETE FILE command that deletes this newly created file, restoring the
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
46 card to its original state. However, we reason that Sysmocom would probably be
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
47 willing to do this support work only if someone paid them for it on an hourly
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
48 support basis, or ordered a large custom batch of cards from them and required
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
49 this support knowledge as part of that deal - and we (FreeCalypso) are not
a754d4f117cf doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents: 18
diff changeset
50 currently in a position to pursue either of those two routes.