Tool to (re)configure the sysmoUSIM and sysmoISIM cards
Go to file
Philipp Maier de8db1c189 sysmo_isim_sja2: improve class model
In the current form we assume that the files that store the key material
and the related configuration parameters have the same layout for all
algorithms. This assumption makes sense since for the currently
supported algorithms (not TUAK) this is indeed true.

(With the exception that there may be RFU bits still set to 1, even
though the spec clearly state those bits should be 0. However, this does
not matter in practice)

With the advent of TUAK longer keys were introduced. This made a new file
layout necessary. Unfortunately this also means that we can not rely on
the coincidence described above. This means we have to be more specific
when reading and writing the files.

This patch adds classes to model the file layout for each algorithm.

We also print the key (and OP/OPc) for each location individually
(2g,3g,4g5g). Even though the programmed key should be the same in all
locations, this allows better diagnosis. Also with the advent of TUAK we
may have different key material in 4g5g location.

Related: SYS#6473
2023-06-23 12:36:43 +02:00
card python3 support 2022-04-13 10:50:58 +02:00
tests sysmo_isim_sja2: improve class model 2023-06-23 12:36:43 +02:00
.gitignore add .gitignore file 2017-08-16 21:13:37 +02:00
README.md update README.md with sysmoISIM-SJA2 information 2021-05-15 22:10:28 +02:00
common.py sysmo-isim-tool: allow selection of 4g5g auth algo individually 2023-06-23 11:28:43 +02:00
simcard.py python3 support 2022-04-13 10:50:58 +02:00
sysmo-isim-tool.sja2.py sysmo-isim-tool: allow selection of 4g5g auth algo individually 2023-06-23 11:28:43 +02:00
sysmo-isim-tool.sja5.py sysmo-isim-tool: allow selection of 4g5g auth algo individually 2023-06-23 11:28:43 +02:00
sysmo-usim-tool.sjs1.py python3 support 2022-04-13 10:50:58 +02:00
sysmo_isim_sja2.py sysmo_isim_sja2: improve class model 2023-06-23 12:36:43 +02:00
sysmo_usim.py sysmo_usim: fix log output 2023-01-19 11:50:10 +01:00
sysmo_usim_sjs1.py cosmetic: rename Ki to Key 2023-06-22 21:46:24 +02:00
utils.py utils: allow to use a safe default with str_to_id 2023-06-22 21:39:04 +02:00

README.md

sysmo-usim-tool

This repository contains a python language utility to configure the vendor-specific parameters of sysmocom programmable SIM/USIM/ISIM cards.

For more information about the SIM cards, please see the related user manual

sysmoISIM-SJA2

The sysmoISIM-SJA2 is programmable and Java capable USIM, ISIM and HPSIM card. Each card is using a separate ADM1 key and the default configuration is hacker/developer friendly (fields being writable, reduced security for installing applets to have more quick development cycles).

https://osmocom.org/projects/cellular-infrastructure/wiki/SysmoISIM-SJA2

The cards are available from the sysmocom webshop

sysmoUSIM-SJS1

The sysmoUSIM-SJS1 is programmable and Java capable USIM card. Each card is using a separate ADM1 key and the default configuration is hacker/developer friendly (fields being writable, reduced security for installing applets to have more quick development cycles).

https://osmocom.org/projects/cellular-infrastructure/wiki/SysmoUSIM-SJS1

Dependencies

On Debian:

apt-get install python-pyscard pcscd systemctl start pcscd