автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.01, диссертация на тему:Разработка платформенно-независимого программного комплекса распределенной операционной системы для смарт-карт

кандидата технических наук
Шорин, Дмитрий Владимирович
город
Москва
год
2006
специальность ВАК РФ
05.13.01
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Разработка платформенно-независимого программного комплекса распределенной операционной системы для смарт-карт»

Автореферат диссертации по теме "Разработка платформенно-независимого программного комплекса распределенной операционной системы для смарт-карт"

На правах рукописи

ШОРИН Дмитрий Владимирович

РАЗРАБОТКА ПЛАТФОРМЕННО-НЕЗАВИСИМОГО ПРОГРАММНОГО КОМПЛЕКСА РАСПРЕДЕЛЕННОЙ ОПЕРАЦИОННОЙ СИСТЕМЫ ДЛЯ СМАРТ-КАРТ

Специальность 05.13.01 - Системный анализ, управление и обработка информации

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

Москва-2006

Работа выполнена на кафедре Информатики и программного обеспечения вычислительных систем в Московском государственном институте электронной техники (техническом университете)

Научный руководитель:

Доктор технических наук, профессор Лисов Олег Иванович

Официальные оппоненты:

Доктор технических наук, профессор Самсонов Николай Сергеевич, ОАО «Микрон»

Кандидат технических наук, Нагин Владимир Александрович, ЗАО «Селнетрикс»

Ведущая организация:

ФГУП НИИ «Субмикрон»

Защита состоится 2006 года в : оО на

заседании диссертационного совета Д 212.134.02 при Московском государственном институте электронной техники (техническом университете) по адресу: 124498, Москва, Зеленоград, проезд 4806, МИЭТ

С диссертацией можно ознакомиться в библиотеке МИЭТ.

Автореферат разослан «о?3 » илэЛЛ^-^ 200 & г. .

Ученый секретарь диссертационного^^___

совета к.т.н,, проф. ' V. Воробьев Н.В.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ Актуальность проблемы

В последние годы популярность использования смарт-карт для идентификационных целей в областях телекоммуникаций, банковской сфере и биометрии заметно возросла из-за предъявляемых требований высокой безопасности и мобильности к переносимому персональному ключу.

Востребованность разработок для встраиваемых систем, которой в частности и является микроконтроллер смарт-карты, также весьма высока.

Разработками операционных систем для смарт-карт занимаются все производители смарт-карт: компании Gemalto, Gieseke&Devrient, Oberthur Card System, Sagem-Orga, XPonCard и Др. ' ' '

Развитие операционный систем для миниатюрных устройств с широкими возможностями функций защиты, высокой производительности и расширяемости обусловлено достижениями технического прогресса в области интегрального исполнения микросхемы, сочетающей в себе все средства по обеспечению не только интеллектуальных функций аутентификации и безопасного хранения персональной информации, но и выполнения приложений, разработанных на языке высокого уровня. .■■■.■•■■■

Тенденции к аппаратно-независимому программному обеспечению обусловлены ' разнообразием аппаратных архитектур, а также концепциями полной совместимости приложений, разрабатываемых с . использованием языков высокого уровня, интерпретируемых виртуальными машинами.

Недостатки и неполнота известных на сегодняшний день подходов для реализации программных комплексов для смарт-карт указывают на актуальность следующих проблем:

— существующие методики построения программного комплекса для смарт-карты недостаточны для полной реализации комплекса;

- отсутствует алгоритм применения принципа платформенной независимости при модульном распределении компонент системы;

- отсутствие методик систематизации компонентов комплекса на автономные модули;

- существует необходимость создания формализованного представления операционной системы для смарт-карты;

- существует необходимость в математической модели, описывающей жизненный цикл операционной системы для смарт-карты;

- не решена проблема применения существующих методик построения отдельных узлов программного комплекса для смарт-карты при его полной практической реализации.

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

Цели и задачи диссертационной работы

Целью диссертационной работы является разработка моделей, алгоритма и методики для практической реализации платформенно-независимого программного комплекса распределенной операционной системы для смарт-карты (ОССК).

Поставленная цель определяет следующие объекты и задачи диссертационного исследования.

11 Формализованное представление компонент операционной

системы и модель жизненного цикла:

- исследование и анализ формализованных представлений операционных систем;

- создание формализованного ; представления функциональности операционной системы для смарт-карты; ■

- создание математической модели интерпретатора инструкций смарт-карты, воспроизводящей жизненный цикл операционной системы.

2. Алгоритмы и методика построения платформенно-независимого программного комплекса:

- создание алгоритма применения принципа платформенной независимости при модульном распределении компонент системы;

- разработка методики модульного распределения компонентов системы по признаку аппаратной зависимости.

3. Реализация' пл атфор менно-нез а вис и мого программного комплекса распределенной операционной системы для смарт-карты:

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

- применение методики модульного распределения компонентов системы по признаку аппаратной зависимости при конструировании операционной системы;

- анализ производительности операционной системы в сравнении с аналогами.

Методы исследования

В диссертационном исследовании были использованы методы системного анализа, дискретной математики, теории множеств, теории объектно-ориентированного моделирования и программирования сложных систем.

Научная новизна

В диссертационной работе осуществлено решение проблемы создания платформенно-независимого программного комплекса распределенной операционной системы для смарт-карты с

использованием новых и имеющихся методик построения. Научная новизна проведенного исследования заключается в создании совокупности технических разработок, методики, моделей и алгоритмов, осуществляющих системный и комплексный подход к задаче проектирования и практической реализации операционной системы для смарт-карты.

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

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

2. Разработан алгоритм применения принципа платформенной независимости при модульном распределении компонент системы.

3. Разработана методика модульного распределения компонентов системы по признаку аппаратной зависимости.

4. Осуществлена практическая реализация платформенно-независимого программного комплекса распределенной операционной системы для смарт-карт.

Результаты диссертационного исследования внедрены в учебный процесс для преподавания элементов учебных дисциплин «Теория систем и системный анализ», «Теория вычислительных процессов».

По результатам работы получен акт внедрения разработанного программного комплекса в ООО «ЭксПонКард»,

Достоверность научных результатов

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

Обоснована достоверность проведенных исследований, показано, что реализация операционной системы - в производительности превосходит известные аналоги в среднем на 12%, а по сроку службы на 28%. Достоверность подкреплена

фактом использования разработанных алгоритма и методики в конструировании операционной системы нового поколения ООО «ЭксПонКард», использовавшейся при производстве 1 500 ООО серийных смарт-карт.

Практическая значимость

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

Открытая архитектура и исходный код разработанной операционной системы позволяют динамически

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

Полученные результаты доведены до уровня практического использования, что подтверждено актом внедрения в ООО «ЭксПонКард». Все работы по реализации и внедрению проводились под руководством или при непосредственном участии автора. Результаты диссертационной работы используются в учебном процессе на кафедре ИПОВС в МИЭТ.

Личный вклад автора

1. Создано формализованное представление функциональности операционной системы смарт-карты.

2. Разработан алгоритм применения принципа платформенной независимости при модульном распределении компонент снстемы.

3. Разработана методика модульного распределения компонентов системы по признаку аппаратной зависимости при построении операционной системы для микроконтроллера смарт-карты.

4. Разработка распределенной, платформенно-независимой операционной системы, соответствующей стандартам 1ЭО-7816 и 1ауаСагс].

5, Применение объектно-ориентированного подхода при проектировании операционной системы смарт-карты.

В результате проведенных исследований получены и

выносятся на защиту следующие основные научные

результаты.

1. Анализ состояния проблемы построения программных комплексов для смарт-карт.

2. Формализованное представление функциональности операционной системы смарт-карт.

3. Математическая модель интерпретатора инструкций операционной системы смарт-карт.

4. Алгоритм применения принципа платформенной независимости при модульном распределении компонент системы.

5. Методика модульного распределения компонентов системы по признаку аппаратной зависимости, обеспечивающая инкапсуляцию аппаратно-зависимых функций и выделение платформенно-независимых модулей в виде отдельной системы. ■ л ■. ,

6. Реализация платформ енно-независимого программного комплекса распределенной системы для смарт-карт с применением принципа ; платформенной независимости, методики модульного распределения по признаку аппаратной зависимости и принципа объектно-ориентированного программирования.

Апробация работы

Положения диссертационной работы докладывались и

обсуждались на:' - ■ ■ =

— международной научной конференции «Современные проблемы прикладной математики и математического моделирования», Воронеж, 2005;

- ХХХ1П международной конференции «Информационные технологии в науке, образовании, телекоммуникации и бизнесе, ГГ+З&Е'Об», Гурзуф, 2006.

Публикации

Основные результаты диссертационной работы опубликованы в 8 печатных работах.

Структура и объем диссертации

Диссертация состоит из введения, четырех глав, заключения, списка использованных источников из 114 наименований и включает 129 страниц текста с рисунками и таблицами.

Диссертация состоит из введения, четырех глав, заключения и библиографического списка из 114 наименований. Работа изложена на 129 страницах, содержит 15 таблиц и 33 рисунка.

СОДЕРЖАНИЕ РАБОТЫ

Во введении обоснована актуальность темы, определены цели и задачи исследования, изложены научная новизна и практическая значимость работы.

В первой главе введены основные понятия и сделан обзор имеющихся разработок операционных систем для смарт-карт, проведен анализ преимуществ и недостатков этих систем и проделана систематизация опубликованных принципов и методик построения систем.

Введено определение операционной системы и операционной системы смарт-карты. Понятие об операционной системе для смарт-карты дано путем сравнения с традиционными операционными системами, такими как операционные системы для персонального компьютера.

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

Проведен обзор и анализ существующих операционных систем, их архитектур и принципов построения. При анализе рассматривалась история смарт-карты и в особенности процесс эволюции. Эволюция операционных систем для смарт-карт состоит из нескольких стадий, схожих с этапами развития компьютерных систем в целом. >,.-.-

Существующие программные комплексы для смарт-карт являются примерами монолитных операционных : систем (рис. 16), в которых прикладные приложения в- разной степени находятся в зависимости от системного уровня, и фактически представляют собой системные расширения, а не прикладные приложения, • обладающие переносимостью. Обзор существующих решений' свидетельствует об успешности применения «слоеных» архитектур при проектировании операционных систем для вычислительных комплексов. В применении к смарт-картам реализация архитектуры слоеной операционной системы (рис. 1в), а также какие-либо комплексные методики или принципы конструирования этой архитектуры отсутствуют.; ;

Л прммдення зли ^Ф^ащвЬннм V

атйрэтшл чпт>

ГфиложекЕн |ШМ • еперпциоке»1. -:' "системе у'^з-

агжмрйтнм член*

опередюннох актант

Рисунок 1 Три этапа эволюции: операционная система, основанная на библиотеках (а), монолитная операционная система (б), «слоеная» операционная система (в)

Проведенный анализ также показывает, что на данный момент отсутствуют методики построения комплекса операционной системы смарт-карты в целом. Опубликованы работы, описывающие лишь способы построения и реализацию отдельных узлов комплекса. Технологический процесс разработки скрыт и хранится в тайне производителями программного обеспечения. Последовательность операций при технологическом процессе нераскрыта и требует построения алгоритма, зависящего от ряда факторов, таких как тип микроконтроллера и компонентная конфигурация.

При проведении анализа процесса проектирования операционной системы для смарт-карты выделены основные задачи.

1. Определение основных компонентов и узлов операционной системы. Предоставление функционального описания каждому компоненту.

2. Формализация операционной системы смарт-карты.

3. Разработка алгоритмов и методик построения программного комплекса.

Обоснованы цели и задачи диссертационной работы. Целью работы является разработка платформенно-независнмого программного комплекса распределенной операционной системы для смарт-карты.

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

Обработка команд осуществляется операционной системой при поступлении какой-либо инструкции через последовательный интерфейс ввода-вывода от терминала (рис. 2).

Использование прикладных приложений делает программный комплекс полноценной операционной системой. Операционная система смарт-карты обеспечивает механизм загрузки и установки прикладных приложений, а также их удаление.

Рисунок 2 Структурная схема основных узлов смарт-карты

Производится формализация операционной системы смарт-карты. В операционной системе предусматриваются следующие категории:

1. Элементарные файлы фиксированной длины. Каждый элементарный файл рассматривается как последовательность байт фиксированной длины.

2. Инструкции чтения, записи, выбора текущего файла н верификации секретного кода.

3. Автомат состояний, представляющий собой приложение, имеющее неограниченный доступ к данным. Его

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

Карта обладает набором констант:

- структуры директорий;

- PIN-код;

- число последовательных неудачных проверок PIN-кода, после чего карта становится заблокированной.

Карта содержит память, заполненную:

- данными в файлах;

- текущим выбранным файлом;

- счетчиком последовательных ошибок при проверке PIN-кода.

Инструкции работают с памятью при помощи констант. Инструкции влияют на состояние памяти и вызывают генерацию ответов.

В карте присутствует автомат состояний. Для каждого состояния будет определено следующее:

- набор разрешенных инструкций и

- для каждой разрешенной инструкции определяется пара заданных состояний: одно в случае удачного выполнения инструкции, а другое в случае неудачного выполнения.

Показано, что спецификация работает в функциональном представлении для:

- автомата состояний,

- состояния памяти и

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

Пусть Aid — тип уникальных идентификаторов приложений (AID) и Fid - тип файловых идентификаторов. Структура директорий (DS) тогда состоит из:

•— множества А (абсолютных действительных адресов файлов),

- разделения множества А на подмножества DF и EF (типы фалов),

- mf е DF (коренной раздел),

- инъективпой функции AF : А —> Aid,

- двоичного отношения Cil Œ Fid х DF (структура директорий) вместе с

- функцией FA : (il 6 DF, / : Fid ¡ f Ch d), которая возвращает уникальный адрес файла FID f, являющегося наследником d,

- функции len : EF —> N (длина элементарных файлов). Пусть PIN — тип персонального идентификационного

номера. Константами будут:

- ds : DS (структура директорий),

- thePIN : PIN (PIN-код карты),

- max ЕС : N (число ошибок при проверке PIN-кода), Память содержит данные элементарных файлов. Тип таких

данных можно записать так:

FDÎia-.EF^lByte^ (1).

Теперь определим тип памяти для смарт-карты:

M á={fd : FD\sel : А',ес[о..тахЕС^ (2),

где

- fd - экземпляр файловой структуры,

- sel - текущий выбранный файл (его фактический адрес),

- ее - счетчик последовательных ошибок при проверке PIN-кода.

Для специфицирования инструкций определим эквивалентность между состояниями памяти. Введем:

- такой что т ~¡a т' имеет место всякий раз, когда

т и ni различаются в содержимом одного и того же выбранного файла. В символьном виде:

т ~¡d т =(Va : А\а * sel„ з fdm(a) = fdm.(aj)^ (3) selm = selm. л есп = ес„,

- ~1е/, такой что т ~se¡ т' имеет место всякий раз, когда

т и т' различаются в адресе выбранного файла (т.е. выбранные файлы различны).

- , такой что т — ес т' имеет место всякий раз, когда

т и т' различаются в счетчике последовательных ошибок при проверке PIN-кода.

Наконец, определим состояние блокированной карты:

def

Blocked (tri) =(ест = тахЕС) (4).

Инструкции составляют множество Ins, определенное индуктивно следующими конструкторами:

- selAid: Aid -»Ins г

- selChild: Fid -» Ins,

- read lip,Ii N)—> Ins,

- upd lip,I: N,u i \Byte\,)-± Ins,

- verify: PIN —»• Ins.

Семантика инструкций подразумевает состояния «до» и «после» выполнения. Для каждой инструкции состояние «до» выражает текущую конфигурацию памяти на данный момент, а условие «после» характеризует изменения элементов после выполнения инструкции. Точно так же с данными, которые извлекаются из смарт-карты. Эти данные всегда будут последовательностью байтов. Пусть тогда

def

data =\Byte\.

Получим утверждения:

P:(i: Ins, m : M) Prop (5)

и

Q: (i: Ins,m,m' :M,d: data) Prop (6).

Объекты этого семейства, соответствующие инструкции /, будут записываться Pt и Qt будут представлять состояния «до» и «после» для инструкции i.

Для любой инструкции i и памяти т состояние «до» будет определено как

Р, (т) = -»Blocked (т) л /) (ти) (7) -

л

Следующая таблица (табл. 1) определяет семейства Р и Q.

Таблица 1

Инструкции и их условия состояний_

i Qi(m,m',d)

selAid(aid) aid € Aid m m л selm. = DA (aid) ,<* = [)

selChiId(y?rf) fid Ch selm л selm. =¥A(seimiftd~) A rf-[]

read: (о,/) EF(seI„) л o + /Slen(iWe> ж = m'

upd:(o,/,«) EF(selJ л o+l й len(ie/„) a w (se!„.) ojjt A</ = []

verify(p) \ m -„. m' A (p = thePIN => ec„. =0 ^ ^a p ^ thePIN э ec„. = +1 j

Автомат А определяется с помощью:

- 5" (набор состояний),

- s0 е S (начальное состояние),

- Valid (s) с I для каждого s е S (набор разрешенных инструкций для каждого состояния),

- Т : (у е S,i е Valid (S)) {ok, fail: S), таблица переходов.

Таблица переходов определяет два штатных состояния. Одно из них характеризует случай удачного выполнения инструкции и другое — случай неудачного выполнения.

Рассматривается выполнение инструкции. Это понятие определяется как функция £ (интерпретатор), которая для памяти т карты и выполняемой инструкцию i данного состояния s возвращает новое состояние s' вместе с (возможно модифицированной) памятью и выходными данными. Выходные данные или ответы имеют следующий тип:

def

R=(rc: RC,d: data) ' (8),

где RC - это последовательность кодов возврата. Нужно ввести коды возврата, чтобы предоставлять соответствующий информативный ответ в случае неудачного выполнения инструкции. Множество кодов возврата описывается набором:

RC = \no_fi 1 е, not_EF, Ъ ou ndary, i n val i d_i ns, ack, nack J (9).

Для каждой инструкции / составлена таблица (табл. 2), которая связывает коды возврата с ошибочными условиями инструкции.

Таблица 2

_ Таблица ошибочных состояний_

i Ошибочное состояние Код возврата

selAid(m'd) aid g Aid no_fi1e

selChild(yid) -fid Ch selm no_file

read: (о,/) -,EF{selJ not_EF

o + l> len(selm ) boundary

upd:(o,/,ii) ^EF(selm) not_EF

o + l> len(seln ) boundary

Интерпретатор специфицируется следующим образом:

где предикат % описывает правильное отношение между состоянием автомата и памятью во время активации инструкции и соответствующих состояний, а также выходные данные в случае прерывания инструкции. То же самое в символах:

¿4

/

i € Valid(s) =>

rc, = ack л s* =

okT

л~<Р,(т) з

TUflJ

m' = тл

Err Msg t (m, гсг)л s-=failr{l/)r\dr=

01)

ai « Valid (s) з

fm' =тлгсг = i \s' = s л dr =[]

= invalid instruction л

Процесс life представляет собой безостановочный период работы карты. Входными данными для этого процесса будут состояние 5, память т и поток событий, названый events. Событие events — это либо поступление инструкция, либо событие активация карты терминалом reset. Выходные данные процесса — это набор из двух элементов: память, код возврата вместе с выходными данными с карты. Процесс следует рассматривать как бесконечный цикл из выполняемых

инструкций для конкретного состояния автомата и памяти. Как процесс оперирует входными данными, и, следовательно, как они поте сопоставляются с выходными данными, описывается (кондуктивным) отношением, обозначаемым символом . Формальные определения для событий, входных и выходных данных процесса:

de/

Events = [/ш- + {reset]\^ (12)

In ={s е S;m еЛ/;еу е Events) (13)

Out^im-M^riR)1^ (14)

Введем процесс Ufe через следующее определение: Ufe: (in : In) -> {out: Out | in <=> out) (15)

Отношение О кондуктивно определено как

■^fI"

(s, т,(reset:: essj} -О

((wi',{ack,[]))::oii)=) m'Aselm' = mf A{sotm',ess) о oss)

(s,m,(i::ess))

Выражение (16) записано для события reset. Тогда производится ответ аск, не выдается никаких выходных данных и карта приобретает начальное состояние автомата . Также MF

оказывается файлом, выбранным по умолчанию.

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

(16) (17)

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

Разработан алгоритм применения принципа платформенной независимости при модульном распределении компонент системы.

Алгоритм использует набор компонент исходной системы в качестве входных параметров. Выходные данные алгоритма -набор платформенно-независимых компонент и аппаратные библиотеки, инкапсулирующие прямой доступ к памяти, работу ввода-вывода и операции работы с аппаратными модулями.

Рисунок 4 Алгоритм применения принципа платформенной независимости при модульном распределении компонент

системы

1

5

На основе алгоритма разработана методика модульного распределения компонентов по признаку аппаратной зависимости.

1. В качестве входных данных рассматривается система компонент 5, зависящая от аппаратного базиса а :

ад = Х>;(а) с«).

I

2. Пусть интерпретатор I - отдельный компонент системы и описывается двумя базисами: инкапсулируемым и интерпретируемым. Интерпретируемым базисом выбран Ь и инкапсулируемым а. Таким образом, система приобретает еще один компонент:

3(а,Ь)^М?(а)+1ь(Ь) (19).

3. Существует потребность в критерии, использующемся для классификации компонент. Признаком классификации в методике используется аппаратная зависимость компонента. Формализованным признаком выбран принцип суперпозиции, применяемый для описания одного компонента, с использованием другого, т.е. все модули такие, что

М,'(й) = га'и/й"(а) (20).

Для каждого такого модуля, справедливо

М, =зирег(Л/;л.) (21),

где М1 выражается как суперпозиция существующего элемента для которого всегда выполняется

Л/; (а) а т(а) (22).

4. Каждый модуль, выраженный суперпозицией, переводится на базис Ъ

М';ф) = 1ф>М1(а)} = 1\М!(а)) (23).

5. Формируется независимая система на базисе Ь

£'(&) = (24).

6. Следовательно, исходная система в результате использования методики представляется:

В\а,Щ = £») + £>»(&) (25).

* )

Последовательность этапов применения методики модульного распределения к разделению архитектуры общей модульной структуры любого программного комплекса для встраиваемой (миниатюрной) системы приведена на рис. 5.

Рисунок 5 Последовательность этапов применения методики модульного распределения компонент по признаку аппаратной

зависимости

Представлено описание компонентно-ориентированного решения, разработанного с применением . описанных в диссертации алгоритма и методики.

Возможность использования объектно-ориентированного программирования при разработке операционных систем для смарт-карт достигается путем внедрения виртуальных машин на микроконтроллер.

Архитектура предлагаемого решения (рис. б) при разработке операционной .системы для смарт-карты включает в себя библиотеку функций работы с памятью, функции поддержки физического уровня операций, ввода-вывода, ' виртуальную машину языка высокого уровня, простейший остов для вызова событий из основного класса, основной класс, реализованный байт-кодом языка высокого уровня, прочие библиотеки, использующиеся для наследования основного класса.

к им ни ¡нТвК

1

■Ъ Ым нМ а

Ч 1*44 >0« П>вп |

□ -е

Рисунок 6 Компонентно-ориентированное представление распределенной операционной системы для смарт-карты

Выделены необходимые . аппаратно-зависимые компоненты для обеспечения платформы (базы) для аппаратно-независимых компонентов системы.

В четвертой главе проведена диагностика экспериментального образца смарт-карты с разработанной операционной системой в качестве программного обеспечения микроконтроллера. Проведена натурная верификация соответствия смарт-карты межотраслевому набору команд стандарта К07816. Осуществлено сравнение образца смарт-карты с аналогами по показателям производительности и сроку службы.

Обязательными условиями экспериментального сравнения являются использование одинакового микроконтроллера и одной и той же скорости последовательного канала ввода-вывода всеми сравниваемыми образцами.

Эксперимент проведен над 10 образцами разработанной операционной системы и таким же количеством образцов операционной системы ХРепо™, принадлежащей компании ХРопСагс!. Использовался микроконтроллер АТ903С144144 и скорость ввода-вывода 9600 Еод.

Приведена структура эксперимента (рис. 7).

ГТр«гон ГОСГОНГО СЦВИВрия

. соответствия обработке нонаод обдоца стандарту 1307816 : . - , ч

смарт-карт по показателям производительности и сроку службы

В ходе проведения эксперимента были получены результаты (табл. 3).

Таблиц» 3

Сравнительная таблица производительности и срока службы для трех операционных систем с учетом влияния __ аппаратного обеспечения _

3 V к С* ' к 1 а С* & . • О С ' 1 -1 £ ' в Е я 1 £ 5. У 1* и м 44 2 о- 5 ча о £■ Л й * л й 1 *> N 1 1 Г Л « .Ь Я 1. 1 О ' 1" 3 < •я л н яя ! § : % ■ а • з 1 * ё М и "

осск АТ905С1«Ш максимально лппяратпо-немаисимая, ФФЪПГГНО- «р И * ЛГИ нн* ¿ЯУЯ 0.051 0,075 0,031 1 574 000

ХРопСап) ХРяйНИ АРИКОНба аппаратов Зависимая, модульная 0,110 0,180 0.080 1 04« 000

ХРопСаШ ХРоч51М 5ЬЕ66С324РЕ 4пп*ратмо<э«вис нми, монолитом 0,012 0,030 0,025 1 270 000

АРопСшс АТ90$СШН4 аппарат независимая, «,058 0.0« 1 0,043 1 117 ООО

ХРегк> модульная, СЗМ'МОдул¥ реализован на

Эксперименты свидетельствуют о повышении эффективности в среднем на 12% для набора инструкций стандарта 1307816 (рис. 8).

0,09 0.09 0.07 0,06 0.0$ 0.04 0.01 0,01 0,01 0

№шгу оСь*ном Црдэлв Нгагу 00ь*мом 1л1ата1 Аи1Ивпв«*1 ги«»йт,М 255 байт, м Ялта ритм ХОЙ, М

Рисунок 8 Сравнение производительности операционных систем

Анализ также показывает сокращение трудозатрат на реализацию операционной системы в 11 раз по сравнению с монолитной ассемблерной операционной системой ХРопЭ1М на ЭЬЕбб.

В заключении диссертации сформулированы основные выводы и полученные результаты.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

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

1. Разработано формализованное представление функциональности операционной системы смарт-карт.

2. Создана математическая модель интерпретатора инструкций операционной системы смарт-карт.

3. Разработан алгоритм применения принципа платформенной независимости при модульном распределении компонент системы.

4. Разработана методика модульного распределения компонентов системы по признаку аппаратной зависимости, обеспечивающая инкапсуляцию аппаратно-зависимых

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

5. Разработан платформенно-независимый программный комплекс распределенной операционной системы для смарт-карт с применением принципа платформенной независимости и принципа объектно-ориентированного программирования. В ходе экспериментов подтверждено повышение производительности на 12% в обработке инструкций и продление срока службы смарт-карты на 28%.

По теме диссертации опубликованы следующие

работы:

1. Шорин Д.В, Математическая спецификация операционной системы смарт-карты стандарта 150/1ЕС-7816 // Международная научная конференция «Современные проблемы прикладной математики и математического моделирования»: тезисы докладов - Воронеж, 2005

2. Лисов О.И., Шорин Д.В. Необходимые составляющие современной операционной системы смарт-карты Н Научная сессия МИФИ-2006, МИФИ - Москва, 2006

3. Шорин Д.В. Использование технологии ДауаСагс! для реализации компонент операционной системы смарт-карты // Научная сессия МИФИ-2006, МИФИ - Москва, 2006

4. Шорни Д.В. Методика разработки многофункциональной операционной системы для смарт-карты // «Известия ВУЗов. Микроэлектроника» №2, МИЭТ, — Москва, 20$6

5. Шорнн Д.В. Способы обеспечения функциональной эквивалентности между программой для смарт-карты и ее копией на персональном компьютере II XXXIII международная конференция «Информационные технологии в науке, образовании, телекоммуникации и бизнесе, ГГ+З&Н'Об»: тезисы доклада - Гурзуф, 2006

6. Шорин Д.В. Настройка СЗМ-БШ/ЗО-иБХМ карг и использование их на практике // ХХХШ международная конференция «Информационные технологии в науке,

образовании, телекоммуникации и. бизнесе, ГГ+Э&Е'Об»: тезисы доклада — Гурзуф, 2006

7. Шорин Д.В. ; Критерии выбора микроконтроллера для разработки операционной системы смарт-карты // «Техника и технология» №3, Спутник-Плюс - Москва, 2006

8. Шорин Д.В. Преимущества и йедостатки смарт-карт, базирующихся на технологии Flash, и их операционных систем // «Техника и технология» №3, Спутник-Плюс, — Москва, 2006

Подписано в печать 22.11.06. Объем 1,6 уч.изд.ил. Тираж 100 экз. Полиграфучасток ФГУП ВНИИФТРИ ЗакХоЗбЗ

Оглавление автор диссертации — кандидата технических наук Шорин, Дмитрий Владимирович

Введение.

Глава 1. Основные исходные положения и анализ проблемной ситуации.

1.1 Операционные системы смарт-карт.

1.1.1 Понятие об операционной системе смарт-карты.

1.1.2 История индустрии смарт-карт.

1.1.3 Эволюция операционных систем смарт-карт.

1.2 Выводы и постановка задачи.

Глава 2. Основы построения операционной системы для смарт-карт, формализация и создание математической модели.

2.1 Основы построения операционной системы смарт-карты.

2.1.1 Ключевые узлы.

2.1.2 Организация памяти.

2.1.3 Процессор.

2.1.4 Файловая система.

2.1.5 Прикладные приложения.

2.1.6 Интерпретатор языка высокого уровня.

2.2 Формализованное представление операционной системы смарт-карты

2.2.1 Исходные данные для построения модели.

2.2.2 Используемый для описания математический язык.

2.2.3 Константы и память.

2.3 Математическая модель интерпретатора инструкций операционной системы смарт-карты.

2.3.1 Инструкции как команды операционной системы.

2.3.2 Выполнение инструкций.

2.3.3 Жизненный цикл модели.

2.4 Выводы.

Глава 3. Проектирование операционной системы для смарт-карты.

3.1 Способы разработки многофункциональной операционной системы

3.2 Способы обеспечения функциональной эквивалентности между программой для смарт-карты и ее копией на персональном компьютере.

3.3 Алгоритм применения принципа платформенной независимости при модульном распределении.

3.4 Методика модульного распределения компонентов по признаку аппаратной зависимости.

3.5 Компонентно-ориентированное решение.

3.5.1 Архитектура операционной системы.

3.5.2 Нотация имен в пакетах операционной системы.

3.5.3 Структура и зависимости в Java-пакетах.

3.5.4 Модульная расширяемость операционной системы.

3.5.5 Жизненный цикл операционной системы.

3.5.6 Надстройка над вводом-выводом аппаратного обеспечения.

3.5.7 Функции защиты и аутентификации.

3.5.8 Файловая система.

3.5.9 Методика результирования при обработке команд.

3.5.10 Обеспечение целостности данных в операционной системе.

3.5.11 Изоляция пакетов операционной системы.

3.5.12 Виртуальная машина.

3.5.13 Идентификатор операционной системы.

3.6 Выводы.

Глава 4. Анализ разработки.

4.1 Сравнительный анализ сконструированной операционной системы

4.1.1 Позиционирование и конфигурация.

4.1.2 Анализ эффективности.

4.1.3 Преимущества и недостатки.

4.2 Выводы.

Введение 2006 год, диссертация по информатике, вычислительной технике и управлению, Шорин, Дмитрий Владимирович

Актуальность темы

В последние годы популярность использования смарт-карт для идентификационных целей в областях телекоммуникаций, банковской сфере и биометрии заметно возросла из-за предъявляемых требований высокой безопасности и мобильности к переносимому персональному ключу.

Востребованность разработок для встраиваемых систем, которой в частности и является микроконтроллер смарт-карты, также весьма высока.

Разработками операционных систем для смарт-карт занимаются все производители смарт-карт: компании Gemalto, Gieseke&Devrient, Oberthur Card System, Sagem-Orga, XPonCard и др.

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

Тенденции к аппаратно-независимому программному обеспечению обусловлены разнообразием аппаратных архитектур, а также концепциями полной совместимости приложений, разрабатываемых с использованием языков высокого уровня, интерпретируемых виртуальными машинами.

Недостатки и неполнота известных на сегодняшний день подходов для реализации программных комплексов для смарт-карт указывают на актуальность следующих проблем:

• существующие методики построения программного комплекса для смарт-карты недостаточны для полной реализации комплекса;

• отсутствует алгоритм применения принципа платформенной независимости при модульном распределении компонент системы;

• отсутствие методик систематизации компонентов комплекса на автономные модули;

• существует необходимость создания формализованного представления операционной системы для смарт-карты;

• существует необходимость в математической модели, описывающей жизненный цикл операционной системы для смарт-карты;

• не решена проблема применения существующих методик построения отдельных узлов программного комплекса для смарт-карты при его полной практической реализации.

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

Цель работы

Целью диссертационной работы является разработка моделей, алгоритма и методики для практической реализации платформенно-независимого программного комплекса распределенной операционной системы для смарт-карты (ОССК).

Поставленная цель определяет следующие объекты и задачи диссертационного исследования.

1. Формализованное представление компонент операционной системы и модель жизненного цикла:

- исследование и анализ формализованных представлений операционных систем;

- создание формализованного представления функциональности операционной системы для смарт-карты;

- создание математической модели интерпретатора инструкций смарт-карты, воспроизводящей жизненный цикл операционной системы.

2. Алгоритмы и методика построения платформенно-независимого программного комплекса:

- создание алгоритма применения принципа платформенной независимости при модульном распределении компонент системы;

- разработка методики модульного распределения компонентов системы по признаку аппаратной зависимости.

3. Реализация платформенно-независимого программного комплекса распределенной операционной системы для смарт-карты:

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

- применение методики модульного распределения компонентов системы по признаку аппаратной зависимости при конструировании операционной системы;

- анализ производительности операционной системы в сравнении с аналогами.

Научная новизна

В диссертационной работе осуществлено решение проблемы создания платформенно-независимого программного комплекса распределенной операционной системы для смарт-карты с использованием новых и имеющихся методик построения. Научная новизна проведенного исследования заключается в создании совокупности технических разработок, методики, моделей и алгоритмов, осуществляющих системный и комплексный подход к задаче проектирования и практической реализации операционной системы для смарт-карты.

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

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

• Разработан алгоритм применения принципа платформенной независимости при модульном распределении компонент системы.

• Разработана методика модульного распределения компонентов системы по признаку аппаратной зависимости.

• Осуществлена практическая реализация платформенно-независимого программного комплекса распределенной операционной системы для смарт-карт.

Практическая значимость работы

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

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

Реализация результатов работы

Результаты работы нашли применение при конструировании операционной системы нового поколения, разрабатываемой ЭксПонКард А/С. На основе принципа объектно-ориентированного программирования и методики модульного распределения компонентов системы по признаку аппаратной зависимости реализован модуль GSM/USIM.

На защиту выносится

1. Анализ состояния проблемы построения программных комплексов для смарт-карт.

2. Формализованное представление функциональности операционной системы смарт-карт.

3. Математическая модель интерпретатора инструкций операционной системы смарт-карт.

4. Алгоритм применения принципа платформенной независимости при модульном распределении компонент системы.

5. Методика модульного распределения компонентов системы по признаку аппаратной зависимости, обеспечивающая инкапсуляцию аппаратно-зависимых функций и выделение платформенно-независимых модулей в виде отдельной системы.

6. Реализация платформенно-независимого программного комплекса распределенной системы для смарт-карт с применением принципа платформенной независимости, методики модульного распределения по признаку аппаратной зависимости и принципа объектно-ориентированного программирования.

Заключение диссертация на тему "Разработка платформенно-независимого программного комплекса распределенной операционной системы для смарт-карт"

4.2 Выводы

• Проведен анализ производительности и срока службы при натурной верификации промышленного образца смарт-карты, использующего разработанную операционную систему в качестве программного обеспечения.

• Анализ показал значительное сокращение временных и ресурсных затрат при разработке операционной системы.

• Проведена оценка конфигурации операционной системы в сравнении с коммерческими аналогами, демонстрирующая полное соответствие выбранным для сравнения критериям.

Заключение

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

• Разработано формализованное представление функциональности операционной системы смарт-карт.

• Создана математическая модель интерпретатора инструкций операционной системы смарт-карт.

• Разработан алгоритм применения принципа платформенной независимости при модульном распределении компонент системы.

• Разработана методика модульного распределения компонентов системы по признаку аппаратной зависимости, обеспечивающая инкапсуляцию аппаратно-зависимых функций и выделение платформенно-независимых модулей в виде отдельной системы.

• Разработан платформенно-независимый программный комплекс распределенной операционной системы для смарт-карт с применением принципа платформенной независимости и принципа объектно-ориентированного программирования. В ходе экспериментов подтверждено повышение производительности на 12% в обработке инструкций и продление срока службы смарт-карты на 28%.

Библиография Шорин, Дмитрий Владимирович, диссертация по теме Системный анализ, управление и обработка информации (по отраслям)

1. Эндрю Таненбаум, «Современные операционные системы», издательство «Питер», Санкт-Петербург, 2005

2. Энциклопедия «Кирилл и Мефодий», http://mega.km.ru

3. Тимоти М. Юргенсен, Скотт Б. Гатери «Смарт-карты. Настольная книга разработчика». Кудиц-образ, Москва 2003

4. Jurgen Dethloff, «Intellectual Property Rights and Smart Card Patents», Smart Card Europe, London, England 1995

5. Lavanya Rastogi, Pranabjyoti Das «Re-Engineering Educational Institutions through Smart Cards», Business Review, Vol. 3, N.l, Dehli, India, 2002

6. Roland Moreno, Philippe Le Clech, «IPR and Smart Card Patents France», (Innovatron), Smart Card Europe, London, England 1995.

7. Roy Bright, «Smart Cards Principles, Practice, Applications», LS Horward Books, Chichester, England 1988.

8. Fernando Ferreira, «Smart Card Evolution», 4th Internal Conference on Computer Architecture (ICCA'03), Campus Gualtar, Braga, Portugal 2003

9. Wolfgang Rankl, Wolfgang Effing «Smart Card Handbook» Third edidtion. John Wiley & Sons, Ltd, Chichester, England 2003

10. Damien Deville, Antoine Galland, Gilles Grimau and Sebastien Jean «Smart Card Operating Systems: Past, Present and Future». In the 5th USENIX/NordU Conference, Vasteras, Sweden 2003

11. Eduard de Jong, Pieter Hartel, Patrice Peyret, Peter Cattaneo «Java Card: An analysis of the most successful smart card operating system to date», 15.SIT-SmartCard Workshop, Fraunhofer Institut Sichere Informations-Technologie, Darmstadt, Germany, 2004

12. Carsten Schmidt, Peter Pfahler, Uwe Kastens, Carsten Fischer «SIMtelligence Designer/J: A Visual Language to Specify SIM Toolkit Applications», OOPSLA2002 Second Workshop on Domain-Specific Visual Languages, Seattle, USA, 2002

13. Felix Pletzer «Architecture of a portable Smart Card Operating System», Seminare und Projekte fur das Bakkalaureastsstudium Telematik, IAIK TU, Graz, Austria, 2004.

14. Achim Pietig «Functional Specification of the OpenPGP application on ISO Smart Card Operating Systems», PPC Card Systems GmbH, Paderborn, Germany,2003

15. Damien Deville, Antoine Galland, Gilles Grimaud, and Sebastien Jean, «Assessing the Future of Smart Card Operating Systems», e-Smart 2003, Sophia Antipolis, France 2003

16. Gilles Grimaud, Jean-Louis Lanet, Jean-Jacques Vandewalle, «FACADE: a Typed Intermediate Language Dedicated to Smart Cards» ESEC/SIGSOFT FSE, Toulouse, France 1999

17. Gustavo Betarte, Christina Cornes, Nora Szasz, Alvaro Tasistro, «Specification of a Smart Card Operating System», International Workshop, TYPES 2000, Durham, UK 2000

18. Heng Guo, «Smart Cards and their Operating Systems», Telecommunications Software and Multimedia Laboratory (TML) seminar T-l 11.590, Helsinki University of Technology, Helsinki 2001

19. CEN EN 726-3: "Identification card systems Telecommunications integrated circuit(s) cards and terminals - Part 3: Application independent card requirements"20. ISO/IEC 7816-4

20. Olivier Lobry, «MMU-based software cache and swap mechanisms for smart card operating systems», 4th Gemplus Developer Conference, Singapore 2002

21. Patrick Biget, Jean-Jacques Vandewalle «Extended Memory Card», European Multimedia Microprocessor Systems and Electronic Commerce Conf., Bordeaux, France, 1998

22. Patrick Biget «How Smartcards Can Benefit From Internet Technologies to Break Memory Constraints», 1st Gemplus Developer Conference, Paris, France, 1999

23. U. Neffe, Ch. Steger, H. Stippel, «Evaluation of a Smart Card Architecture Using HW/SW Codesign Techniques», Telecommunications and Mobile Computing, Graz University of Technology, Graz, Austria 2003

24. Laurent Lagosanto, «Next-generation embedded Java operating system for smart cards», 4th Gemplus Developer Conference, Singapore 2002

25. Jean-Francois Dhem, Nathalie Feyt, «Hardware and Software Symbiosis Helps Smart Card Evolution», IEEE Micro 21(6): 14-25, 2001

26. CASCADE project, http://www.dice.ucl.ac.be/crypto/cascade/

27. Дж. Кьоу, M. Джеанини, «Объектно-ориентированное программирование. Просто и понятно», Издательво Питер, Санкт-Петербург 2005

28. Global Platform, «Card Specification Version 2.1.1», http://www.globalplatform.org

29. Monika Erdmann «Benchmarking Von Java Cards», Diplomarbeit, Institut Fur Informatik Der Ludwig-Maximilians-Universitat, Miinchen, Germany, 2004

30. Ksheerabdhi Krishna, Scott B. Guthery, Timothy J. Wilkinson, Michael A. Montgomery «Patent US 6308317: Using a High Level Programming Language with a Microcontroller», 2001

31. Дмитрий Шорин «Математическая спецификация операционной системы смарт-карты стандарта ISO/IEC-7816», тезисы докладов международной научной конференции «Современные проблемы прикладной математики и математического моделирования», Воронеж, 2005

32. Т. Coquand. Une Theorie des Constructions. These de doctorate, Universite Paris 7, 1985.

33. P. Martin-Lof. Intuitionistic Type Theory. Bibliopolis, 1984

34. G. Dowek, A. Felty, H. Herbelin, G. Huet, C. Murthy, C. Parent, C. Paulin-Mohring, B. Werner. "The Coq Proof Assistant User Guide", In Rapport INRIA 154, 1993.

35. Tomas Jech, "Set Theory", Springer, November 19, 2002

36. B. Jacobs, "Categorical Logic and Type Theory (Studies in Logic and the Foundations of Mathematics)", Elsevier, July 1, 2001

37. Sumit Dhar «Introduction to Smart Cards», Data Security Management, Auerbach Publications, New York, USA, 2003

38. Дмитрий Шорин «Методика разработки многофункциональной операционной системы для смарт-карты», «Известия ВУЗов. Микроэлектроника» №2, МИЭТ, 2006

39. Attali I., Jensen Т., Java on Smart Cards: Programming and Security, New York USA, Springer, 2001,163 p.

40. Antoine Requet, Gaelle Bossu «Embedding Formally Proved Code in a Smart Card: Converting В to С», Third IEEE International Conference on Formal Engineering Methods (ICFEM'00), York, UK, 2000

41. L. Burdy, A. Requet, and J.-L. Lanet «Java Applet Correctness: a Developer-Oriented Approach», Lecture Notes in Computer Science, Volume 2805, Springer, Berlin, Germany, 2003

42. Igor A. Siveroni, «Operational Semantics of the Java Card Virtual Machine», Journal of Logic and Algebraic Programming on Smart Cards, volume 58, Elsevier Science, London, UK, 2004

43. Isabelle Attali, Denis Caromel, Carine Courbis, Ludovic Henrio and Henrik Nilsson «An Integrated Development Environment for Java Card», Computer Networks, Volume 36, Number 4, Elsevier Science, London, UK, 2001

44. David Cormie, "Jazelle™ ARM® architecture extensions for Java applications", ARM, November 2000

45. Gennady Chugunov, Lars-Ake Fredlund, Dilian Gurov «Model Checking of Multi Applet JavaCard Applications», USENIX CARDIS'02 Fifth Smart Card Research and Advanced Application Conference, San Jose, USA, 2002

46. Denis Caromel, Ludovic Henrio, Bernard Serpette "Context Interface for Static Analysis of JavaCard Object Sharing", Lecture Notes in Computer Science, Volume 2140, Springer, Berlin, Germany, 2001

47. Bruce Schneier, "Applied Cryptography", John Wiley & Sons, Chichester, England 1996

48. Gabriel Bizzotto, Gilles Grimaud «Practical Java Card bytecode compression», Symposium en Architectures Nouvelles de Machines, Hamamet, Tunisia, 2002

49. Marcus Oestreicher, Ksheerabdhi Krishna «Object Lifetimes in Java Card», USENIX SmartCard'99 1st Workshop on SmartCard Technology, Chacago, USA, 1999

50. Antoine Requet «А В Model for Ensuring Soundness of a Large Subset of the Java Card Virtual Machine», Science of Computer Programming, Volume 46, Issue 3, Elsevier Science, London, UK, 2003

51. Christoph Sprenger, Dilian Gurov, Marieke Huisman «Compositional Verification for Secure Loading of Smart Card Applets», Second ACM-IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE '04), San Diego, USA, 2004

52. Xavier Leroy «Java bytecode verification: algorithms and formalizations», Journal of Automated Reasoning, Volume 30, Numbers 3-4, May, Springer, Leusden, Netherlands, 2003

53. Ludovic Casset «Development of an Embedded Verifier for Java Card Byte Code Using Formal Methods», Lecture Notes in Computer Science, Volume 2391, Springer, Berlin, Germany, 2002

54. Ludovic Casset, Lilian Burdy, Antoine Requet «Formal Development of an Embedded Verifier for Java Card Byte Code», Proceedings International Conference on Dependable Systems and Networks, Bethesda, USA, 2002

55. Xavier Leroy «Bytecode verification on Java smart cards», Software Practice & Experience, Volume 32, Issue 4, John Wiley & Sons, Chichester, UK, 2002

56. Tim Lindholm, Frank Yellin, "Java Virtual Machine Specification", Addison-Wesley Publishing, Boston, USA 1999

57. Jacob Nordfalk «Objektorenteret Programmering i Java», Forlaget Globe, Nserum, Denmark, 2005

58. Sun Microsystems Inc., «Java Card 2.2.1 Specification», http://iava.sun.com/products/iavacard/index.jsp

59. Хафизова A. P., Головщинский К. И., «Имидж и фирменный стиль корпорации ORGA Kartensysteme GmbH», Институт Государственного Управления и Социальных Исследований, Москва 2002

60. David Watt, «Programming Language Processors Compilers and Interpreters», Prentice-IIall International Series in Computer Science, New York, USA 1993

61. Zhiqun Chen, «Java Card Technology for Smart Cards: Architecture and Programmer's Guide», Addison-Wesley Publishing, Boston, USA 2000

62. Дэйв Барски, "Интеллектуальные карты становятся умнее", «ChipNews», №10, Москва 199967. 3GPP TS 31.102 "Characteristics of the USIM application", "Technical Specification Group Terminals, 3rd Generation Partnership Project"

63. Renesas Technology Corporation,http://america.renesas.com/fmwk.isp?cnt=technology.htm&fp=/products/smartcard/c hild folder/&title=Technology

64. Ashok К. Sharma, "Semiconductor Memories, Two-Volume Set", Wiley-IEEE Press, New York, USA, 2003

65. Yvon Avenel, "Is MMC Kidnapping The SIM Card'S Future?", "Smart Cards Trends", Issue 5, Volume 1, April-May 2004, OMNIPRESS, La Falaise, France73. "Smartcard 1С Platform Protection Profile", EuroSmart, Brussels, Belgium, 2001

66. Atmel Corporation, "Flash-Based Microcontrollers", http://www.atmel.com/dvn/resources/prod documents/doc 1597.pdf

67. J. Van Houdt, D. Wellekens, "HIMOS Flash technology: the best choice for embedded nonvolatile memory applications", IMEC, Leuven, Belgium, 200176. "Guidance for Smartcard Evaluation", DCSSI, Paris, France, 2002

68. David Brewer, Chilung Wang, Paulie Tsai, "Proving Protection Profile Compliance for the CCL/ITRI Visa Open Platform Smart Card", CSE, 3rd International Common Criteria Conference (ICCC), Ottawa 2002

69. Crispin Cowan, Software Security of Open-Source Systems. IEEE Security & Privacy, January-February 2003. IEEE Computer Society, 2003

70. Johannes Borgstrom, "Translation of Smart Card Applications for Formal Verification", Master's Thesis, Royal Institute of Technology, Stockholm, 2002

71. Б.В. Зверев, Е.П. Зелевич «Анализ тенденций развития технологий смарт-карт», Вестник связи №8, Москва 2004

72. Danilo Beuche «Composition and Construction of Embedded Software Families», Doktoringenieur dissertation, Otto-von-Guericke-Universitat, Magdeburg, Germany, 2003

73. Oliver Kommerling, Markus G. Kuhn «Design Principles for Tamper-Resistant Smartcard Processors», USENIX Workshop on Smartcard Technology, Chicago, Illinois, USA, 1999

74. Juha-Pekka Ruuskanen «JAVACARD», Seminar Paper, University of Helsinki, Helsinki, Finland, 2004

75. Pieter H. Hartel, Eduard K. de Jong Frz «Towards testability in smart card operating system design», 1st SmartCard Research and Advanced Application Conference CARD1S'94, Lille, France, 1994

76. Gilles Barthe, Guillaume Dufay, Line Jakubiec, Bernard Serpette, Simao Sousa, and Shen-Wei Yu «Formalization in Coq of the Java Card Virtual Machine», Workshop on Securtity, Middleware, and Languages, Stockholm, Swened, 2000

77. Marjan I. Alberda, Pieter H. Hartel, Eduard K. de Jong Frz «Using formal methods to Cultivate Trust in Smart Card Operating Systems», Future Generation Computer Systems, volume 13, issue 1, Elsevier Science, Amsterdam, The Netherlands, 1997

78. Timothy M. Jurgensen, Scott B. Guthery "Smart Cards: The Developer's Toolkit", Prentice Hall, New Jersey, USA, 2002.

79. Максим Каневский «В стиле смарт», «Мир связи: connect!» №11, Москва, 200590. «SIM-карты должны стать умнее», «Мир связи: connect!» №11, Москва, 2005

80. Владимир Нагин, Игорь Потапов, Дмитрий Радзевич, Александр Смотров «Simperia: Интегрированный SIM-портал для доступа к сервисам SIM Toolkit», «Мобильные коммуникации» №4, Профи-пресс, Москва, 2005

81. Петр Бахтин «Орга Зеленоград настоящее и будущее», «Мобильные коммуникации» №10, Профи-пресс, Москва, 2004

82. Петр Бахтин «Орга Зеленоград: смарт-технологии для операторов GSM», «Мобильные коммуникации» №10, Профи-пресс, Москва, 2004

83. Дмитрий Апраксин «Секреты умных карт», «CHIP: журнал информационных технологий» №5, Фогель Бурда Коммыоникейшепз, Москва, 2005

84. Марат Давлетханов «Открытым текстом. Безопасность в сетях GSM», «CHIP: журнал информационных технологий» №5, Фогель Бурда Коммьюникейшенз, Москва, 2005

85. Yahya Haghiri, Thomas Tarantino «Smart Card Manufacturing: A Practical Guide», John Wiley & Sons, Chichester, UK, 2002

86. Jose Luis Zoreda, Jose Manuel Oton «Smart Cards», Artech House Inc., Norwood, UK, 1994

87. J. Thomas Monk, Henry Dreifus «Smart Cards: A Guide to Building and Managing Smart Cards Applications», John Wiley & Sons, Chichester, UK, 1997

88. Mike Hendry «Smart Card Security and Applications», Artech House Inc., Norwood, UK, 2001

89. Martin S. Nicklous, Thomas Schack, Frank Seliger, Uwe Hansmann «Smart Card Application Development Using Java», Springer-Verlag, New York, USA, 1999

90. Джеймс Рамбо, Майкл Блаха, «UML 2.0 Объектно-ориентированное моделирование и разработка», издательство «Питер», Санкт-Петербург, 2006

91. Олег Лисов, Дмитрий Шорин «Необходимые составляющие современной операционной системы смарт-карты», Научная сессия МИФИ-2006, МИФИ, Москва, 2006

92. Дмитрий Шорин «Использование технологиии JavaCard для реализации компонент операционной системы смарт-карты», Научная сессия МИФИ-2006, МИФИ, Москва, 2006

93. Дмитрий Шорин «Настройка GSM-SIM/3G-USIM карт и использование их на практике», тезисы докалада международной конференции «Информационные технологии в науке, образовании, телекоммуникации и бизнесе, IT+S&E'06», Гурзуф, 2006

94. Дмитрий Шорин «Критерии выбора микроконтроллера для разработки операционной системы смарт-карты», «Техника и технология» №3, Спутник-Плюс, Москва, 2006

95. Дмитрий Шорин «Преимущества и недостатки смарт-карт, базирующихся на технлогии Flash, и их операционных систем», «Техника и технология» №3, Спутник-Плюс, Москва, 2006i.B.Maiiup1.TiX ■ z J.^JMz* „ nnnz: —1. ЮН1. АКТ ВНЕДРЕНИЯ

96. Результатов диссертационной работы Шорина Дмитрия Владимировича па тему: РАЗРАБОТКА ПЛАТФОРМЕННО-НЕЗАВИСИМОГО ПРОГРАММНОГО КОМПЛЕКСА РАСПРЕДЕЛЕННОЙ ОПЕРАШЮППОП СИСТЕМЫ ДЛЯ СМАРТ-КАРТ. . . .