comparison doc/User-oriented-commands @ 64:8cd4771bdd79

doc/User-oriented-commands: document started
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 14 Feb 2021 19:01:04 +0000
parents
children cc48ac3b151c
comparison
equal deleted inserted replaced
63:5f8c06445a40 64:8cd4771bdd79
1 This document describes those commands and functions of fc-simtool which can be
2 exercised by end users on any regular operator-issued SIM, without requiring a
3 special programmable SIM with admin privileges. The Mother's plans for future
4 development include a companion fc-simint utility that will operate on SIM cards
5 inside Calypso phones; the intent is that all of the end-user-oriented commands
6 of fc-simtool described in this document will also be replicated in fc-simint.
7
8 Understanding SIM PIN1
9 ======================
10
11 Every standard SIM card has a secret code called PIN1; this secret code can be
12 anywhere between 4 and 8 digits in length, with 4-digit PINs being most common.
13 In terms of persistent non-volatile state, SIM PIN1 can be enabled or disabled.
14 When SIM PIN1 is disabled, all regular functions of the card are enabled, as in
15 being able to power up the phone with the SIM in it and connect to the GSM
16 network with your subscriber identity, and being able to read and write SIM user
17 data content like phonebooks and stored messages - all of these functions are
18 enabled from the moment you turn on the phone with the SIM in it (or power the
19 SIM up by itself in a smart card "reader" driven by fc-simtool), without the
20 user ever being asked for a PIN, such that you can forget that the PIN even
21 exists - this situation in very common nowadays. But when SIM PIN1 is enabled,
22 the smart chip in the SIM will not allow you access to any of the data stored
23 on the card and will not allow any GSM authentication operations until and
24 unless you send the correct PIN to the SIM in the VERIFY CHV command.
25
26 If you forgot your PIN1, the only way to reset it is to enter another secret
27 code (always 8 digits in length) called PUK1. If the SIM is made according to
28 standards, then its PUK1 is set to a random number during either physical
29 manufacturing or administrative programming of the card and then remains
30 unchangeable afterward. Therefore, in an ideal world if someone forgot their
31 PIN1 and don't have their PUK1 either, they should be able to obtain PUK1 from
32 the cellular operator who issued the SIM - but whether or not today's operators
33 will actually help such hapless users (without forcing them to get a new SIM)
34 is another question altogether. PUK1 is often printed on the big (credit-card-
35 sized) plastic piece on which SIM cards are initially delivered - but it doesn't
36 help if you originally got your SIM many ages ago and no longer have that
37 souvenir plastic piece.
38
39 The standard protocol for communicating with SIM cards provides 5 special
40 commands that are dedicated to working with PIN1, and so does fc-simtool:
41
42 verify-pin1 XXXX
43
44 This command tells the SIM that you are attempting to prove knowledge
45 of PIN1, presenting a string of digits. If the PIN digits you specify match
46 the PIN1 secret code stored inside the SIM, the card unlocks access to its
47 primary functions. If the digits you send are wrong, the SIM decrements its
48 non-volatile attempt counter, giving you a total of 3 attempts (irrespective of
49 card power-downs between attempts) to enter the correct PIN. If PIN1 is entered
50 incorrectly 3 times in a row, this PIN is blocked, and the only way to unblock
51 it is via PUK1.
52
53 enable-pin1 XXXX
54
55 This command changes the non-volatile state of the PIN1 enable/disable flag,
56 such that from now on the SIM will require PIN1 to be provided on every card
57 power-up before it will allow GSM authentication and access to user data. The
58 enable-pin1 operation itself requires correct PIN1 digits to be provided.
59
60 disable-pin1 XXXX
61
62 This command changes the non-volatile state of the PIN1 enable/disable flag,
63 such that from now on the SIM will NOT require PIN1 to be provided on every
64 card power-up, and will instead be live immediately without needing proof of
65 card owner's identity. The disable-pin1 operation itself requires correct PIN1
66 digits to be provided.
67
68 change-pin1 old-PIN new-PIN
69
70 This command tells the SIM that you wish to change PIN1 secret code to some new
71 digits. Knowledge of the old PIN1 is required for this operation to succeed.
72
73 unblock-pin1 PUK1-secret-code new-PIN1
74
75 This command tells the SIM that you are attempting to prove knowledge
76 of PUK1 and to set new PIN1. If PUK1 is given correctly, the new PIN1 will be
77 set. If you enter wrong PUK1, the SIM decrements its non-volatile attempt
78 counter, giving you a total of 10 attempts (irrespective of card power-downs
79 between attempts) to enter the correct code. If PUK1 is entered incorrectly 10
80 times in a row, it is blocked and the card should be considered bricked beyond
81 recovery.
82
83 Understanding SIM PIN2
84 ======================
85
86 GSM standards provide support for a very rarely used feature that works in the
87 spirit of "parental controls": if you authenticate to the SIM with PIN2 secret
88 code (which has to be different from PIN1 for meaningful security), you can
89 edit a SIM-resident list of so-called Fixed Dialing Numbers (FDN), and then all
90 standard phones that implement this feature per the spec will refuse to allow
91 ordinary users (authenticated with PIN1 or with no PIN at all) to call any
92 numbers other than those programmed in FDN.
93
94 This whole "parental control" feature is totally silly and is not expected to be
95 of any practical use, but the whole purpose of fc-simtool is to allow every
96 feature of SIM cards to be exercised, hence we provide the necessary support.
97 The following commands work just like their PIN1 counterparts:
98
99 verify-pin2 XXXX
100 change-pin2 old-PIN new-PIN
101 unblock-pin2 PUK2-secret-code new-PIN2
102
103 Unlike PIN1, PIN2 cannot be disabled per traditional SIM card standards.