Общие характеристики файловой системы модуля

advertisement
Общие характеристики файловой системы модуля
идентификации абонента (SIM-карты)
Раньше на вопрос « У кого есть мобильный телефон?» лишь несколько человек отвечали
положительно, сегодня же более уместен вопрос « У кого нет мобильного телефона?» или
даже « У кого несколько мобильных?». Действительно, нужно лишь зайти в местный
торговый центр, чтобы увидеть буквально сотни людей, держащих очень маленькое
электронное устройство рядом с ухом, или мигающие голубые индикаторы на телефонных
трубках, чтобы понять, что мобильные телефоны стали неотделимой частью современного
общества.
Эта статья пытается предоставить краткий обзор общей структуры файловой системы модуля
идентификации абонента или смарт-карты, которая присутствует в мобильных телефонах
GSM. В статье будет обсуждаться схема расположения структуры файлов и некоторые
команды, используемые мобильным оборудованием, чтобы обратиться к этой файловой
системе.
Что такое модуль идентификации абонента?
Модуль идентификации абонента или SIM- карта – это смарт-карта, спроектированная для
работы в мобильном телефоне. Она обеспечивает идентификацию пользователя в сети,
позволяя ему получить доступ к таким услугам, как телефонная связь, электронная почта,
Интернет и обмен текстовыми сообщениями. SIM-карта содержит микрокомпьютер, а также
определенный объем памяти, чтобы обрабатывать команды ( оперативное запоминающее
устройство или ОЗУ) и хранить файлы пользователя ( электрически стираемое
программируемое постоянное запоминающее устройство или ЭСППЗУ). SIM- карта также
содержит некоторое количество постоянной памяти (ПЗУ), в которой хранится операционная
система карт.
После активации SIM- карты микрокомпьютер загружает операционную систему из ОЗУ в
ПЗУ карты и обрабатывает команды по запросу мобильного оборудования (“mobile
equipment”, далее ME) или устройства чтения карт (“card access device”, далее CAD).
Структура памяти SIM-карты
Структура памяти SIM- карты состоит из каталогов, которые, можно сказать, примерно
похожи на каталоги файловой системы традиционного НЖМД компьютера. Эти каталоги
подробно объяснены в стандартах GSM 11.11 и 11.14. Файловая система состоит из
следующих основных форм: главный файл (“master file”, далее MF), каталог (“directory file”,
далее DF) и элементарный файл (“elementary file”, далее EF).
Главный файл
Главный файл или MF – корневой каталог файловой системы. Он сходный с корневым
каталогом или “/” в файловой системе Linux; существует только один MF. MF содержит один
выделенный файл (“Dedicated File”, далее DF) или несколько DF, и он может содержать или
не содержать один или несколько элементарных файлов (EF).
Главный файл может быть распознан по 2- байтовому идентификатору файла 3F00 ( и,
конечно, любой файл может быть идентифицирован этой последовательностью 2- х байтов).
Этот идентификатор зарезервирован только для MF.
Следует отметить, что существует только один EF, расположенный непосредственно ниже
MF в этой иерархической структуре. Этот EF, обозначенный как EFMF1 ( смотри рисунок
выше), является идентификатором чип-карты (EF ICCID ). Данный EF содержит уникальный
серийный номер SIM- карты и может использоваться, чтобы персонализировать ME к SIMкарте1. Использование EF ICCID является открытым для отдельного изготовителя и оператора.
EF ICCID – электронная версия серийного номера SIM-карты, записанного на лицевой стороне
самой SIM- карты. Серийный номер SIM- карты и EF ICCID могут использоваться экспертом,
чтобы идентифицировать происхождение SIM- карты, из которой были получены
исследуемые данные2.
Выделенные файлы
Термин «выделенный файл», возможно, немного сбивает с толку, так как выделенный файл
больше сродни контейнеру или подкаталогу, чем фактическому файлу в традиционном
смысле этого слова. Выделенный файл также может быть идентифицирован двухбайтовым
идентификатором. Этот идентификатор присваивается файлом DF или MF, который его
содержит. DF может быть также представлен именем, длиной от одного до шестнадцати
байтов. Условные обозначения для имён DF можно найти в спецификации ISO 7816-5 3.
Выделенные файлы, представляющие интерес, – это DFGSM и DFTELECOM .
DFTELECOM содержит в основном общие телекоммуникационные сервисные функции и может
использоваться для других телекоммуникационных приложений в универсальных SIMкартах4. EF телефонной книги, который подпадает под этот каталог, является примером более
общего телекоммуникационного приложения. Файл DFTELECOM может быть идентифицирован
по 2-байтовому идентификатору 7F10.
DFGSM содержит приложения для GSM900 и GSM1800 МГц соответственно. Этот каталог
содержит файлы EF, которые предназначены исключительно для сетей GSM. Файл DF GSM
может быть идентифицирован по 2-байтовому идентификатору 7F20.
Элементарные файлы
Элементарные файлы (EF) находятся ниже выделенных файлов в иерархии файловой
системы (за исключением вышеупомянутого EF ICCID). Они являются теми файлами, которые
содержат фактические данные. По аналогии со знакомой компьютерной терминологией
файловой системы можно было бы сказать, что EF представляет собой «концевую вершину»
файловой системы.
Каждый каталог имеет присвоенные элементарные файлы, которые предназначены, чтобы
хранить данные для определенного использования.
По сути, у элементарных файлов фактически нет имен, поскольку они представлены в
электронной форме. Имена и акронимы назначены элементарным файлам для того, чтобы
помочь читателю идентифицировать отдельный EF, который содержит особую информацию.
Вместо этого используются электронные адреса, которые могут принять форму показанную
ниже:
ICCID Address = 3F002FE24
EF хранит только одну или несколько записей информации. Запись можно определить как
небольшой элемент информации, хранящийся на SIM- карте и состоящий из строки
переменного размера.5
Существует четыре вида элементарных файлов.
•
•
•
Прозрачный
Линейный, с записью фиксированной длины
Линейный, с записью переменной длины
•
Циклический
Прозрачный файл можно рассматривать как строку байтов. При чтении или обновлении,
последовательность байтов, над которыми будут выполнены эти действия, представлена
относительным адресом ( смещением), который указывает начальную позицию ( в байтах), и
число байтов, которые необходимо прочитать или обновить. Первый байт прозрачного EF
имеет относительный адрес ‘00 00’. Общая длина данных тела EF указана в заголовке EF. Эта
структура ранее упоминалась как «двоичная» в GSM 6. Структура прозрачного файла состоит
из заголовка, за которым следует тело, содержащее последовательность байтов.
Линейный элементарный файл фиксированной длины – это последовательность записей, все
из которых имеют одинаковую ( фиксированную) длину. Первая запись – запись номер 1.
Длина записи, а также это значение, умноженное на число записей, указаны в заголовке EF 7.
Таким образом, структура линейно-неизменного EF состоит из заголовка, за которым следует
тело. Тело файла содержит от одной до n записей, каждая из которых имеет одинаковую
длину.
Линейный элементарный файл переменной длины представляет собой то же самое, что и
вышеупомянутый файл, только записи в теле этого файла могут иметь изменяемое число
байтов. Файлы этого типа требуют значительно большего время доступа и дополнительного
места на диске, выделяемого файловой системой8.
Циклический элементарный файл можно рассматривать как кольцо записей. Эти файлы
используются для хранения записей в хронологическом порядке. Когда все записи
использованы для хранения, тогда следующее сохранение данных перезапишет самую
старую информацию. EF с циклической структурой состоит из фиксированного числа
записей одинаковой ( фиксированной) длины. В этой структуре файла существует связь
между последней записью (n) и первой записью9. Каждая последующая запись в файл
выполняет операцию над следующей физической записью в кольце10. Структура
циклического EF имеет заголовок и тело, состоящее из записей фиксированной длины, и,
таким образом, подобна структуре линейного EF фиксированной длины.
ДОСТУП К ФАЙЛАМ
В заключение, мы рассмотрим, каким образом происходит обращение к файлам в структуре
памяти. Для того чтобы получить доступ к файлам используется ряд команд, некоторые из
которых вкратце описаны ниже.
Ответ на сброс (Answer to Reset)
Эта информация предоставляется мобильному оборудованию в начале каждого сеанса
работы карты. В этих данных объясняются рабочие параметры карты. После выполнения
данной команды главный файл (MF) становится текущим каталогом.
Выбрать файл (Select File)
Чтобы файл был доступен для обновления, необходимо установить логический указатель для
этого файла. Это достигается с помощью команды Select File. После выбора файла с
помощью этой команды любые последующие команды для этого файла, например, чтение
или запись, будут оперировать логическим указателем, установленным этой командой.
Двоичные команды
Все последующие команды выполняются над прозрачными файлами – то есть, над файлами,
которые не ориентированы на записи. Если будет предпринята попытка исполнения этих
команд над файлами на основе записей, эти команды будут прекращены с указанной
ошибкой, которая будет возвращена в вызывающее приложение.
•
•
•
•
Read Binary – Эта команда осуществляет поиск некоторого сегмента из EF.
Write Binary – Данная команда записывает информацию в некоторый сегмент EF. С
помощью этой команды можно выполнить три действия: 1)
Установить
последовательность байтов 2) очистить последовательность байтов или 3) выполнить
однократную запись последовательности байтов
Update Binary – Эта команда непосредственно стирает и сохраняет информацию о
байтах в сегменте EF
Erase Binary – Эта команда устанавливает значение строки битов EF на ноль
Команды записей
Следующие команды предназначены для выполнения над файлами EF на основе записей, то
есть, над линейными EF фиксированной длины. Как и в случае с вышеупомянутыми
двоичными командами, если будет предпринята попытка исполнения одной из этих команд
над неправильным типом файла – в нашем случае над прозрачным файлом – команда будет
прекращена с указанной ошибкой, которая будет возвращена в вызывающее приложение.
•
•
Read Record – Эта команда считывает и возвращает содержимое одной или более
записей в выбранном EF.
Write Record – Эта команда сохраняет запись в выбранном EF. Её можно использовать
для выполнения одного из следующих действий: 1) однократное сохранение записи в
•
•
EF 2) установка определённых битов в определённой записи в EF 3) очистка
определённых битов в определённой записи EF.
Append Record – Эта команда добавляет дополнительную запись к концу линейного
файла EF на основе записей.
Update Record – Эта команда сохраняет запись в EF. В результате этой команды
определённая запись стирается, а новая запись сохраняется в EF.
Хотя данная статья и не является исчерпывающим изложением структуры памяти SIM-карты,
в ней была предпринята попытка составить общее представление о расположении каталогов и
файлов на SIM- карте. Кроме того, были упомянуты некоторые команды, используемые для
получения доступа к файлам или обновления файлов. Экспертам рекомендуется прочитать
работы из списка цитированной и справочной литературы для получения дополнительной
информации.
Список цитированной литературы
1. Smith, Greg, Mobile Telephone SIM Examination Course: Subscriber Identity Module: Memory
Structure, стр. 4
2. Smith, Greg, Mobile Telephone SIM Examination Course: Subscriber Identity Module: Memory
Structure, стр. 4
3. Smith, Greg, Mobile Telephone SIM Examination Course: Subscriber Identity Module: Memory
Structure, стр. 5
4. Smith, Greg, Mobile Telephone SIM Examination Course: Subscriber Identity Module: Memory
Structure, стр. 5
5. Smith, Greg, Mobile Telephone SIM Examination Course: Subscriber Identity Module: Memory
Structure, стр. 5
6. 3GPP TS 11.11, 6.4.1, стр. 24
7. 3GPP TS 11.11, 6.4.2, стр. 25
8. Jurgensen, Timothy M., Scott B. Guthery, Smart Cards: The Developer’s Toolkit, 2002, стр. 118
9. 3GPP TS 11.11, 6.4.3, стр. 25
10. Jurgensen, Timothy M., Scott B. Guthery, Smart Cards: The Developer’s Toolkit, 2002, стр. 119
Список справочной литературы
Jurgensen, Timothy M., Scott B. Guthery, Smart Cards: The Developer’s Toolkit, 2002
3GPP TS 11.11, 1999
Smith, Greg Mobile Telephone SIM Examination Course, Trew and Co
Источник: SIM_CARD_PROTOCOLS.pdf
Перевод:
Бочков Д.С.
Капинус О.В. (info@computer-forensics-lab.org )
Михайлов И.Ю. (info@computer-forensics-lab.org )
Download