SIM карта

SIM карта

Семён сохраняет полезное_)


Продолжаем тему с алгоритмами и работой LTE модема. 

В посте выше мы уже говорили что на самых начальных этапах модем читает данные из SIM карты. Что такое SIM карта? Subscriber Identification Module — модуль идентификации абонента. SIM карта это лишь разновидность карты ISO 7816, к которым относятся и обычные контактные банковские карты. 

Изначально sim карта имела размер как у банковской карты(если вы покупали sim-карту то видели пластиковую карту на которой была перфорация маленькой сим-карты.

То что мы привыкли называть SIM-картой это Mini-SIM. Тоже как и размер выше уже полностью вышли из современных смартфонов и перешли лишь в сферы IOT и промышленных применений или вовсе роутеров.

Далее был формат Micro-SIM Nano-SIM. Они теперь доминируют на рынке.

И так прочитаем с помощью ридера карт(в моем случае это ридер на базе Alcor Micro AU9540). Если вам будет интересно самому почитать содержимое то ридерами на его базе завалены маркетплейсы. 

С помощью проекта "pysim" прочитаем и далее разберем содержимое sim карты.

sudo ./pySim-read.py -p0

Мы получили вывод изображенный на скриншоте выше. 

Разберем поля:

ICCID -  уникальный серийный номер SIM-карты. Обычно именно этот код печатается на SIM-карте. ICCID определяется в соответствии со стандартом ITU-T E.118. В соответствии с этим стандартом длина ICCID — 19 цифр (ICCID SIM-карт может иметь длину в 20 цифр):

  • Идентификационный номер эмитента (до 7 цифр):2 цифры — Major Industry Identifier (идентификатор индустрии, по ISO/IEC 7812-1), для SIM-карт всегда 89;
  • 2-3 цифры — телефонный код страны (по E.164), 701 для России;
  • 1-4 цифры — код эмитента;
  • 11 или более цифр — определяются оператором при производстве карты по внутренним правилам;
  • 1 цифра (последняя) — контрольная цифра, вычисленная по алгоритму Луна от всех остальных чисел.

IMSI -  уникальный идентификатор абонента мобильной связи, который хранится на SIM-карте и используется для идентификации пользователя в сети.

GID1 и GID2 - идентификатор группы, используемых для определения группы пользователей или услуг.

SMSP -  центром отправки SMS.

SPN - поле, содержащее удобочитаемое название сети. Это то самое поле что показывает телефон рядом со шкалой уровня сигнала или в настройках.

PLMNsel - определяет предпочтительные PLMN пользователя в порядке приоритета.

OPLMNwAcT - Это список PLMN, с которыми у оператора есть соглашение о роуминге, в порядке очередности и с учетом технологии доступа.

Оператор может подключаться к оператору X, но разрешать доступ только к UTRAN например.

HPLMNAcT - Содержит в порядке приоритета коды Home-PLMN с указанной технологией доступа. То есть к какой технологии(GSM или LTE).

ACC - допускает значения от 0 до 15 и определяет класс контроля доступа абонента.

В ряде стран значения ACC используются для ограничения доступа гражданских лиц к сетям сотовой связи во время чрезвычайных ситуаций.

Обычные абоненты имеют номера доступа в диапазоне от 0 до 9. Пользователям с более высоким приоритетом предоставляются номера 12-14.

Во время чрезвычайной ситуации некоторые или все классы доступа в диапазоне от 0 до 9 отключаются.

Это означает, что обслуживание может быть отключено для населения, у которого значение ACC равно 0-9, но у таких людей, как службы экстренного реагирования и службы экстренной помощи, значение ACC выше, и сеть позволит подключиться. В ряде стран именно этот механизм используется для блокировки доступа к сети.

MSISDN - Международный телефонный номер абонента мобильной станции. Телефонный номер абонента в формате E.164.

Это необязательно, так как при переносе он может быть перезаписан, поэтому он не всегда совпадает.

Administrative data - Как и поле ACC, поле AD позволяет операторам запускать тестовые сети без подключения к сети действительных платных абонентов.

Определены следующие уровни:

’00’ - нормальная работа.

"80" - операции по утверждению типа.

"01" - нормальная работа + специальные возможности.

"81" операции по утверждению типа + специальное оборудование.

"02" техническое обслуживание (в автономном режиме).

’04’ эксплуатация испытательной ячейки.

SIM Service Table - Доступные услуги у SIM карты.
Также при работе с SIM картой используются следующие параметры:

ECC (Emergency Call Codes) - Коды длиной до 6 цифр абонент может набирать с главного экрана / в экстренных ситуациях / без проверки подлинности и т.д.
FEHPLMN (Equivalent HPLMN) - Используется для определения эквивалентных HPLMN, например, если две несущие объединяются и все еще имеют два PLMN.
FPLMN (Forbidden PLMN list) - Список PLMN, доступ к которым абоненту запрещен.
HPLMN (Период поиска по PLMN с более высоким приоритетом) - Сколько времени в секундах требуется для переключения между каждой технологией PLMN/Access в списке HPLMNwAcT.
OP – Код оператора

Код оператора – одинаков для всех SIM-карт от одного оператора.

Используется в сочетании с K в качестве входных данных для криптографической генерации аутентификации/авторизации.

Поскольку код оператора является общим для всех абонентов сети, восстановление этого ключа может привести к проблемам с безопасностью, поэтому обычно используется OPc.

OPc – Код оператора (производный).

Чтобы присваивать каждому SIM-коду код оператора, можно предварительно вычислить производный код оператора, когда SIM записан с ключом K.

PIN и PUK-коды - это коды для разблокировки карты. Если вы слишком часто вводите неправильный PIN-код, вам понадобится более длинный PUK-код, чтобы разблокировать карту.

В эти поля можно вводить данные (при авторизации на карте), но не считывать их напрямую, а только проверять. (Вы можете попробовать ввести PIN-код, но вы также не сможете увидеть, какой именно он установлен).
















































































































































































































































































































































































































































































































































































































































































































Report Page