Premium

Získejte všechny články
jen za 89 Kč/měsíc

SIM karta pod lupou: co je v kartě uloženo?

Telefon je vám bez SIM karty k ničemu, jako Golem bez šému. Proč má některá karta více místa v telefonním seznamu než jiná? Jak je to s místem pro SMSky? Má ještě jiné funkce, než ty, které jsou na první pohled zřejmé? Podívejte se na SIM kartu podrobněji.
Jak jsou na SIM kartě organizovaná data? Jak jsme už uvedli v ne příliš dobrém příměru v prvním díle našeho miniseriálu, data jsou organizovaná podobně jako složky a karty v zásuvkách s tím, že ke každé jsou přidělena přesná pravidla, za jakých podmínek a jakým způsobem se s nimi zachází. Složkami a šuplíky jsme se snažili naznačit stromovou strukturu dat na SIM kartě. Je to struktura známá z operačních systémů počítačů - kořen struktury, jednotlivé větve - adresáře a v nich jednotlivé soubory. Práva, která určují, který uživatel co může s jednotlivými soubory provádět a za jakých podmínek, jsou zadána podobným způsobem, jako v atributech souborů. Ty lze získat instrukcí GET RESPONSE (viz dále). Soubory se označují zkratkou EF-Elementary File, adresáře DF-Dedicated File a kořen MF-Master File.

Soubory se sice označují symbolickými jmény, ale při komunikaci s kartou jsou to jen čísla. Stejně je to i s jmény jednotlivých adresářů. Číselné označení najdete v tabulce, zde je struktura souborů na SIM kartě .

Příkaz pro přechod z jednoho adresáře do jiného je SELECT (viz tabulka kódování příkazů), ve kterém se v datové části uvede jméno podadresáře, do kterého se potřebujeme dostat.

Soubory mohou mít různou strukturu. Základním typem souboru je transparentní EF. Jedná se o klasický lineární soubor s náhodným přístupem (Transparent). Dalším typem je soubor s konstantní délkou záznamu (Linear Fixed) a konečně posledním je cyklický seznam (Cyclic).

Transparentní soubor má klasickou strukturu. Tvoří jej posloupnost bytů, když chceme určit místo v takovém souboru, poslouží nám k tomu offset, který určuje relativní adresu od počátku souboru. Tento soubor se označuje též jako Binary. Typický soubor pro tento typ je např. soubor IMSI (identifikační číslo karty).

Soubor s konstantní délkou záznamu (Linear Fixed) má data uložená do záznamů, jejichž velikost je předem definována a je stejná pro každý záznam v souboru. Při manipulaci se přistupuje k jednotlivým záznamům, které se adresují pomocí parametrů P1 a P2. Tohoto typu souboru se používá v případě telefonních seznamů (FDN, ADN) nebo též pro záznam SMS zpráv.

Cyklický záznam má stejnou strukturu jako soubor s konstantní délkou záznamu, pouze jeho záznamy tvoří cyklickou strukturu, takže po přečtení posledního záznamu se automaticky přesuneme zpátky na první. Využití je např. u souboru LDN (Last Dialed Numbers) používaného pro zapamatování posledně volaných čísel.

Jak fungují instrukce prováděné kartou? Je možné je rozdělit na příkazy pro práci se soubory, příkazy pro zápis a čtení dat, příkazy pro práci s kódy PIN/PUK1, PIN/PUK2, (CHV1/CHV2) a nastavení atributu INVALIDATED a instrukce speciální, např. RUN_A38 pro autentizaci karty a SLEEP pro její uspání. V tabulce kódování instrukcí jsou uvedeny navíc ještě příkazy TERMINAL PROFILE, ENVELOPE a TERMINAL RESPONSE, ty slouží ke spouštění, nastavování a běhu SIMtoolkitových aplikací a nebudeme se jimi v tomto článku zabývat. Tyto tři poslední instrukce jsou implementovány výhradně na SIM kartách fáze 2+. Podívejme se blíže na základní instrukce karty fáze dvě:

Jaké soubory jsou na SIM kartě? A jak jsou v nich uložena data? Kořen struktury souborů na SIM kartě je označen 3F00 a jsou v něm nejméně dva podadresáře DF. První se označuje jako TELECOM 7F10, druhý jako GSM 7F20. Na novějších kartách bývají podadresáře pro GSM dva - GSM900 7F20 a GSM1800 7F21. Soubory, které tyto dva podadresáře obsahují, jsou stejné. Struktura je vidět na přiloženém obrázku. Již jsme se zmínili o atributech jednotlivých souborů; ty mají klíčový význam pro jejich zabezpečení i bezchybnou práci s nimi. Obsahují totiž i informace o velikosti obsazené paměti, které si po přečtení musí telefon zapamatovat, aby se nepokoušel adresovat paměť karty mimo rozsah platných adres, což by mohlo vést k chybné funkci. Tyto atributy lze přečíst pomocí instrukce GET RESPONSE po provedení instrukce SELECT. Atributy se pak přirozeně vztahují na aktuálně vybraný soubor, ať je typu MF, DF nebo EF. V atributech jsou uložena přístupová práva k danému souboru. Práva jsou označena čísly od 0, kdy je možno k souboru přistoupit vždy, do 15, kdy to nelze nikdy. Hodnota jedna a dvě značí umožnění přístupu po úspěšné verifikaci CHV1 a CHV2, čtyřka úspěšnou externí autentizaci; více informací naleznete přímo v normě GSM11.11. Vlastní soubory potom obsahují data nutná k provozu GSM. Nejdůležitějšími soubory jsou zřejmě IMSI, ve kterém je uloženo číslo, kterým se karta hlásí do sítě, LOCI, ve kterém je uchovávána aktuální poloha telefonu, a Kc s klíčem k šifrování hovoru. Všechny tyto soubory jsou lineární. Důležitá je rovněž informace o fázi karty v souboru "Phase Identification" (6FAE) a SST (SIM Service Table). V souboru SST je totiž uložena tabulka s příznaky o tom, které funkce karta podporuje a které nikoli. Pokus o zápis do neexistujícího souboru nebo čtení z něj by mohl vést k chybovému stavu telefonu. Další soubory jsou uvedeny v tabulce:

Identifikátor souboru

Popis

Příklad hodnoty

2FE2

ICC_ID

8942020320123456789

6F05

IMSI

082903201111123456

6F20

Kc

FFFFFFFFFFFFFFF7

6F30

PLMN selector

FF......FF

6F31

HPLMN search period

FF

6F37

ACM maximum value

000000

6F38

SIM service table

závislé na operátorovi a typu karty

6F39

Accumulated call meter

000000 **)

6F3E

Group identifier level 1

závislé na operátorovi

6F3F

Group identifier level 2

závislé na operátorovi

6F41

PUCT

FFFFFF0000

6F45

CBMI

FF......FF

6F46

Service provider name

FF......FF

6F74

BCCH

FF......FF

6F78

Acces control class

závislé na operátorovi

6F7B

Forbidden PLMNs

FF......FF

6F7E

LOCI

FFFFFFFFxxFxxx0000FF01*)

6FAD

Adminitrative data

závislé na operátorovi

6FAE

Phase identification

02

6F3A

Abbreviated dialling numbers

FF......FF

6F3B

Fixed dialling numbers

FF......FF

6F3C

Short messages

00FF..FF

6F3D

Capability configuration parameters

FF......FF

6F40

MSISDN storage

FF......FF

6F42

SMS parameters

FF......FF

6F43

SMS status

FF......FF

6F44

Last number dialled

FF......FF

6F4A

Extension 1

FF......FF

6F4B

Extension 2

FF......FF

*) xxFxxx MCC a MNC

**) Hodnota 000000 značí, že není nastaven limit v ACM.


Tabulka 4. některé soubory SIM karty a jejich význam

Na závěr se podíváme na data ve třech souborech na SIM kartě. Prohlédneme si strukturu obou telefonních seznamů, FDN i ADN, a souboru pro SMS zprávy.

Telefonní seznamy jsou na kartě obsaženy dva - FDN a ADN. Ve struktuře dat, která jsou v souborech s fixní délkou záznamu obsažena, není rozdíl. Rozdíly jsou v přístupových právech a ve velikosti. Seznam ADN obsahuje od 95 do 250 záznamů, podle typu karty, FDN pak kolem 20 - 30 záznamů. Přístupová práva jsou pro ADN měkčí než pro FDN. ADN můžete číst i do něj zapisovat po úspěšné verifikaci PIN1 (CHV1), FDN lze na úrovni PINu1 pouze číst, zapisovat lze na úrovni PINu2. Každý záznam v telefonním seznamu je dlouhý X+14 byte. Velikost X závisí na typu karty, není u všech SIMkaret stejná. V bytech 1..X je uloženo jméno záznamu, v byte (X+1) délka telefonního čísla. To je uloženo v BCD kódu a je zpředu doplněno bytem, který určuje číslovací plán, do kterého číslo patří (PLMN, Pager, Telex...); tento byte se nazývá NPI (Numbering plan identificator). Vypadá to nějak takhle:

Tyto tři záznamy ze seznamu

48 4F 4D 45 FF FF FF FF FF FF FF FF FF FF 07 91 24 02 68 87 87 87 FF FF FF FF FF FF
4F 46 46 49 43 45 FF FF FF FF FF FF FF FF 07 91 24 02 27 06 38 85 FF FF FF FF FF FF
53 55 45 20 4D 45 59 45 52 FF FF FF FF FF 08 81 00 24 97 93 20 34 66 FF FF FF FF FF

se na displeji mobilního telefonu zobrazí takto:

1: 422086787878 HOME
2: 422072608358 OFFICE
3: 00427939024366 SUE MEYER

SMS zprávy se ukládají do souboru SMS ve zhuštěném tvaru, takže se do 140 byte vejde 160 znaků dlouhá zpráva. Dělá se to tak, že bit s nejvyšší váhou v prvním byte zprávy tvoří nejnižší bit následujícího byte, tím ovšem na straně jeho nejvyššího bitu přebývají nyní dva bity. Ty se jako v případě prvního byte přesunou na místa dvou nejnižších bitů ve třetím byte. Tak se pokračuje stále dál, takže po osmi znacích ušetříme jeden byte. Hlavička SMS zprávy udává, zdali byla již přečtena, časové razítko, číslo odesilatele a SMS centra (tyto údaje jsou v BCD kódu, stejně jako v případě čísel v telefonním seznamu).

jeden záznam ze souboru SMS:

01 07 91 24 60 30 50 02 00 04 0C 91 24 60 30 12 34 56 00 00 10 70 61 11 03 65 80 0C.CD A7 D6 19 04 59 41 43 A7 D0 05 FF ........ FF

odpovídá této SMSce:
SMS 1: 420603052000 420603214365 16-07-01 11:30:56
MOZNA V CNB.

Pokud si dáte tu práci a rozepíšete si záznam SMS zprávy binárně a provedete transpozice bitů tak, jak je uvedeno v horním odstavci, dostanete ASCII kódy textu SMS zprávy.

A na úplný konec ještě tabulka s výkladem významu kódů INS:

Instrukce

 

Význam

SELECT

nastavuje aktivní adresář (soubor) Vstup: 2 byte - identifikační číslo adresáře nebo souboru

STATUS

zjistí status (stav CHV,... viz norma GSM11.11)

READ BINARY

přečete soubor jako sekvenci dat (délka P3) P1 offset vyšší bity

P2 offset nižší bity

UPDATE BINARY

uložísekvenci dat do souboru (parametry jako u READ BINARY)

vstup dat o délce P3

READ RECORD

přečte jeden záznam ze souboru

P1 číslo záznamu

P2 mód (02 .. další záznam, 03 předchozí záznam, 04 okamžitá pozice)

P3 počet bytů

UPDATE RECORD

uloží data do jednoho záznamu v souboru

(parmetry jako u READ RECORD)

SEEK

vyhledá řetězec v souboru s konstantní délkou záznamu

P2-typ/mód (x0 od začátku, x1 od konce, x2-od další pozice x3 od předešlé pozice

P3 délka dat

VERIFY CHV

po zadání správného CHV1(PIN1)CHV2(PIN2) povolí přístup k chráněným souborům

CHANGE CHV

mění kód CHV

P1 číslo CHV(1-CHV1, 2-CHV2)

vstup 8 byte staré CHV, 8 byte nové CHV

DISABLE CHV

ENABLE CHV

natrvalo zakáže / povolí přístup do úrovně CHV1/2.

P1 - číslo CHV

vstup 8 byte se správným CHV

UNBLOCK CHV

odblokuje zablokovaný kód PIN

P1 číslo CHV

vstup 8 byte s PUKem, 8byte s novým PINem

RUN_A38

spustí autentizační algoritmus A38

P1 0

P2 0

P3 10

vstup RAND 16byte

výstup 4+8 byte (SRES+Kc)

GET RESPONSE

přečte odpověď (např. atributy souboru vybraného příkazem SELECT, nebo výsledek RUN_A38)

SLEEP

uspí SIM kartu

Tabulka 5. seznam instrukcí INS s popisem funkce

Tímto článkem jsme se pokusili nastínit, jak SIM karta funguje. Vyčerpávající informace naleznete v normě GSM 11.11, kterou najdete na serveru ETSI .

První a druhý díl miniseriálu o SIM kartách:
SIM karta pod lupou: co je SIM karta a jak vypadá uvnitř?
SIM karta pod lupou: jak SIM karta komunikuje?

Témata: gsm, operátor, s-karta, SMS
  • Nejčtenější

Spotem s Trojanem na horách operátor popudil Poláky. Nerozuměli nadsázce

21. dubna 2024  8:01

Po dvojici Vojtěch Kotek a Lukáš Pavlásek, k níž později přibyl Jakub Kohák, vsadil T-Mobile ve...

Je to už spíš foťák s mobilem a opravdu se povedl. Test Xiaomi 14 Ultra

21. dubna 2024

Prémiový smartphone Xiaomi 14 Ultra působí mezi současnou nabídkou mobilů jako unikát. Jaký jiný...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Toto zařízení mělo nahradit mobily. V recenzích se mu vysmáli

23. dubna 2024

Novinka s názvem Humane AI Pin se zdála být převratným zařízením. V mnoha ohledech měla nahradit...

Operátoři zahušťují pokrytí Česka signálem 5G. Máte ho doma? Podívejte se

20. dubna 2024

Premium V červenci to budou již čtyři roky, co byla v Česku spuštěna první komerční 5G síť. Zatímco v...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Čínský smartphonový standard dorazil do Česka. Není co vytknout, ani cenu

17. dubna 2024  7:02

Motorola představila hned tři modely z top řady Edge. První se začne prodávat model Edge 50 Pro,...

Toto mohl být nevídaný smartphone. Myšlenku však nakonec poslali k vodě

25. dubna 2024

S takovým smartphonem bychom už nikdy nemuseli řešit, že se zpomaluje, nemá dostatek paměti či je...

Samsung má povedenou stylovku. Zkusí to s ní na trhu, kde se mu nedaří

24. dubna 2024

Samsung po velmi dlouhé době oprášil modelovou řadu Galaxy C a představil stylový smartphone se...

Toto zařízení mělo nahradit mobily. V recenzích se mu vysmáli

23. dubna 2024

Novinka s názvem Humane AI Pin se zdála být převratným zařízením. V mnoha ohledech měla nahradit...

Možná s nenápadnou výbavou, ale je to poctivě postavená stylovka

22. dubna 2024

Oppo se v kontextu dalších čínských výrobců prezentuje jako prémiová značka. Rozhodně se nesnaží o...

Manželé Babišovi se rozcházejí, přejí si zachovat rodinnou harmonii

Podnikatel, předseda ANO a bývalý premiér Andrej Babiš (69) s manželkou Monikou (49) v pátek oznámili, že se...

Bývalý fitness trenér Kavalír zrušil asistovanou sebevraždu, manželka je těhotná

Bývalý fitness trenér Jan Kavalír (33) trpí osmým rokem amyotrofickou laterální sklerózou. 19. dubna tohoto roku měl ve...

Herečka Hunter Schaferová potvrdila románek se španělskou zpěvačkou

Americká herečka Hunter Schaferová potvrdila domněnky mnoha jejích fanoušků. A to sice, že před pěti lety opravdu...

Největší mýty o zubní hygieně, kvůli kterým si můžete zničit chrup

Možná si myslíte, že se v péči o zuby orientujete dost dobře, přesto v této oblasti stále ještě existuje spousta...

Tenistka Markéta Vondroušová se po necelých dvou letech manželství rozvádí

Sedmá hráčka světa a aktuální vítězka nejprestižnějšího turnaje světa Wimbledonu, tenistka Markéta Vondroušová (24), se...