Насправді SIM-карта є "смарт-картою" і містить в собі мікропроцесор і пам'ять (як ROM, так і EEPROM). Процесор цей, правда, не має власного харчування - його (так само як і генератор тактової частоти) надає телефон.
Кожна SIM-карта містить певний набір (під) програм, закладених у неї виробником і визначають її поведінку. Стандарт GSM описує необхідний мінімум операцій, який має підтримувати будь-SIM-карта.
Зокрема, в стандартну поведінку SIM-карти входить авторизація доступу до різних областей її пам'яті. Для
цього карта зберігає у себе два "логіна", звані PIN1 і PIN2 (інше,
рідкісну назву - CHV1 і CHV2, від card holder verification), і запитує
їх (за допомогою телефону) при спробі вважати і / або змінити певні
області пам'яті або викликати певні підпрограми.
Якщо
не вдаватися в подробиці, то можна сказати, що без авторизації по PIN1
толку від SIM-карти практично немає - з неї майже нічого не можна
вважати, і не можна звернутися до більшості її функцій (включно з
виконанням алгоритмів A3 / A8). Однак, в такому стані SIM-карти в дикій природі практично не зустрічаються. Для
доступу до них так чи інакше використовується телефон - або користувач
стукає по клавішах, або за допомогою data cable працює з SIM-картою з
персонального комп'ютера - а телефон першим ділом після включення дає
харчування SIM-карті, і та відразу ж вимагає PIN1 .Що і як зберігається на SIM-карті?
Пам'ять SIM-карти організована у вигляді дерева:
MF (master file)`-> GSM DF (directory file)
`-> EF1 (elementary file)
`-> EF2
.....`-> TELCO DF
`-> EF1
`-> EF2
Слово file тут вживається в незвичному значенні і може збивати з пантелику. Для простоти, вважайте, що MF і DF - це директорії, а EF - це файли,
кожен з який може містити одну або кілька "записів", де запис - це пара
(ім'я, значення).