dastapov: (Default)
[personal profile] dastapov
Заказной пост для [livejournal.com profile] egorka: "Сим-карта может содержать какую-то хернюшку программную, которая появляется в меню моего телефона и может выполняться, если я с бодуна в нее ткну. Меню развлечений какое-то или еще какая рвота. :) Так вот вопрос. В каких кодах разработана эта фигнюшка, что она спокойно готова выполняться как на смартфоне нокия под симбианом так и под тупой мабилой от мотороллы на совсем другом процессоре, например?"
... и для [livejournal.com profile] avnik: "Я подозреваю что там какой то аналог RPC --- команда с параметами скармливается по шине, и получается результат"

ОК, углубимся в детали того, что бывает в потрохах SIM-карты и как она взаимодействует с телефоном.

Как я уже говорил, SIM-карта представляет собой мелкий компьютер с ограниченой функциональностью и строго специфицированным внешним интерфейсом. Через этот интерфейс SIM-карту "дергает" телефон, который является для SIM-карты единственным окном во внешний мир.

Как правильно угадал [livejournal.com profile] avnik, интерфейс между телефоном (ME) и SIM-картой представляет собой что-то вроде RPC с ограниченым набором функций. Если быть точным, то в базовом API SIM-карты GSM Phase 1 их (функций) всего 17 штук (раздел 8 стандарта GSM 11.11). Большая их часть отвечает за навигацию по памяти SIM-карты и модификацию значений EF (elementary files). Кроме этого есть еще функция "RUN GSM ALGORITHM" (выполнение пресловутых алгоритмов A3/A8) и функция "SLEEP", которая не используется в GSM Phase 2 :)

Естественно, что GSM-операторы очень быстро сообразили, что было бы очень неплохо иметь SIM-карты "не такие, как у всех". Это, типа, дает конкурентное преимущество и все такое. Опять же, таким образом можно облегчать глупым пользователям доступ к value-added сервисам. Теперь не прийдется запоминать, что секс по телефону живет по номеру XYZ - в меню телефона будет пункт "секс по телефону", который будет инициировать дозвон "куда надо".

И вот где-то в начале девяностых спецификация на интерфейс между SIM и ME была расширена и туда были добавлены функции, обеспечивающие работу того, что обычно называют термином "SIM Toolkit".

По-просту говоря, SIM Toolkit - это приложение (-ия), работающее на SIM-карте и взаимодействующие с ME по интерфейсу, описанному в GSM 11.14.

Такие приложения могут:
- показывать текст на экране ME
- инициировать посылку SMS/звонок/USSD-посылку на номер телефона, хранящийся на SIM-карте
- пискнуть в динамик
- вести диалог с пользователем ("Are you sure (Y/N)?")
- получать информацию извне с помощью SMS или Cell Broadcast и сохранять ее на SIM-карте
- предоставлять дополнительные меню, отображаемые ME
- модифицировать номера исходящих звонков или запрещать определенные звонки.

Учитывая, что специфицирован и стандартизирован только интерфейс SIM-ME, а сами приложения выполняются внутри SIM-карты, не имеет никакого значения, как именно и на чем они написаны.

Первые SIM-карты с STK содержали "статический" набор приложений, изменить которые можно было только поменяв саму SIM-карту. Понятное дело, что аппетит приходит во время еды, и очень скоро операторы поняли, что возможность менять STK "на ходу" - это наше всё. Но для реализации этой возможности надо было "открыть" процесс написания софта для SIM-карт и дать возможность независимым поставщикам писать приложения для SIM-карт, что явно было не по нраву производителям SIMок.

Решением стало появление SIM-карт, способных выполнять сильно обрезанную JVM (Java Virtual Machine) и создание спецификации JavaCard, позволившее третьим фирмам писать applet-ы для таких SIM-карт. В настоящий момент на рынке уже существует несколько моделей SIM-карт с немерянными объемами свободнй памяти - 32K или 64К, что позволяет разместить на них 2-3-4-5 апплетов.

PS
А для окончательного расширения горизонтов сознания поищите в Google-е слова "How to turn SIM card into Web Server" :)

Литература:

Понизить протокол.

Date: 2010-12-17 06:06 am (UTC)
From: (Anonymous)
Если ME (читай телефон) не умеет поддерживать GSM 11.14 SIM Toolkit
то в процессе инициализации ME сообщает об этом SIM и она ME по этому
вопросу более не беспокоит.

Короче говоря нужно сделать так, чтобы мобильник не говорил SIM
что он умеет поддерживать SIM Toolkit.

Profile

dastapov: (Default)
Dmitry Astapov

May 2022

M T W T F S S
       1
2345678
9101112131415
161718 19202122
23242526272829
3031     

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags