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

  Категория » GPS/GSM/RFID системы » Смарт-карты   


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

Применение загрузки программного кода позволяет исправлять ошибки программирования в полностью персонализированной карте. Известные ошибки в операционной системе могут быть удалены или, по крайней мере, сделаны менее критичными при использовании загружаемого кода. Различают два основных варианта исполнения загружаемого в смарт-карту программного кода:
1. компиляция загружаемого программного кода;
2. интерпретация загружаемого программного кода.

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

Первый способ состоит в том, чтобы загрузить в смарт-карту код, компилированный на машинный язык целевого процессора. Этот программный код должен быть мобильным, поскольку адреса памяти неизвестны за пределами карты. Достоинством этого решения является возможность исполнения программы на максимальной скорости процессора. Данное достоинство смарт-карт стало ключевым при выборе основного элемента системы контроля доступа в офисное здание Заказчика, компании "СтЭко", которая предлагает биосептик различных типоразмеров, при этом в базу данных системы внесено более 300 карт. Кроме того, нет необходимости в дополнительном программном коде для интерпретатора. Основные проблемы, связанные с этим решением, состоят в очень ограниченном объеме памяти смарт-карты и возможности получения загружаемой программой доступа к областям памяти других приложений, если микроконтроллер не имеет блока управления памятью MMU.

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

Однако с интерпретаторами связана серьезная проблема: низкая скорость исполнения интерпретируемого кода. Известно несколько различных подходов устранения этого недостатка при сохранении небольшого размера программного кода интерпретатора. Самый простой подход заключается в интерпретации псевдокода, который по возможности должен быть подобен машинным командам целевого аппаратного обеспечения. Соответственно, рабочая скорость такого интерпретатора относительно высока, поскольку псевдокод близок к машинному языку и может быть использован машинно-независимый программный код. Более медленное и отчасти более сложное решение заключается в разбиении интерпретатора на внекарточную виртуальную машину (offcard virtual machine) и внутрикарточную виртуальную машину (oncard virtual machine).

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

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

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



Вы можете сохранить эту статью:

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

из категории » Смарт-карты »  в сервисах:



Просто нажмите на кнопку нужного Вам сервиса и данная статья будет сохранена.

Дополнительная информация по теме:

Размещение программного кода в памяти смарт-карты Размещение программного кода в памяти смарт-карты

Площадь поверхности чипа, приходящаяся на 1-битовую ячейку ЭСППЗУ, в четыре раза больше, чем для 1-битовой ячейки ПЗУ. Поэтому по чисто экономическим причинам в ПЗУ должно размещаться как можно больше программного кода. В ПЗУ микроконтроллера размещают полностью все ядро операционной системы, а такж ...

Введение в операционные системы смарт-карт Введение в операционные системы смарт-карт

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

Реализация Java-технологии в смарт-картах Реализация Java-технологии в смарт-картах

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

Защита приложений на смарт-картах Защита приложений на смарт-картах

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

Жизненный цикл смарт-карты Жизненный цикл смарт-карты

В соответствии со стандартом ISO 10202-1 фаза 2 жизненного цикла смарт-карты охватывает следующие процессы:1. электрическое тестирование смарт-карты;2. завершение установки в смарт-карту операционной системы;3. инициализацию приложения.Первым производственным шагом этой фазы является электрическое т ...


Для поиска по всем категориям нашего сайта рекомендуем Вам пройти авторизацию либо зарегистрироваться.

Яндекс.Метрика Rambler's Top100 Рейтинг@Mail.ru   "СМАРТ Системы"      © 2007-2016 Все права защищены.