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

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

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

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

Основные задачи операционной системы смарт-карты

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

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

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

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

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

Безопасность программного обеспечения смарт-карт

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

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

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

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

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

Программное обеспечение смарт-карты

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

  
В настоящее время в широком обращении находятся два вида смарт-карт:
1. смарт-карты с фиксированным набором команд, построенным на основе набора команд стандарта ISO 7816-4;
2. смарт-карты с возможностью после эмиссионного программирования.

Элементы и структура программного обеспечения смарт-карт

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

  
На сегодняшний день магнитная полоса уже не гарантирует нужный уровень защиты информации от подделок. Поэтому производители начали выпускать карты с чипом, которые очень часто называют смарт-карты. Смарт-карты могут выполнять различные операции по обработке данных. Главным преимуществом смарт-карт является их надежность, защищенность и широкие функциональные возможности, а недостатком сравнительно высокая стоимость. Стоимость смарт-карт определяется ценой чипа, зависящей от размера внутренней памяти и для тиража в 1 млн. карт колеблется в диапазоне от 0,5 до 8,0 долларов.

Размеры и себестоимость смарт-карт

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

  
Для осуществления трафика ввода/вывода между картой и считывателем применяются две линии интерфейса. По одной из них, линии ввода/вывода, передаются биты данных. Эта линия может находиться в одном из двух состояний, одно из которых представляет 0, а другое 1. Вторая линия, тактовая, указывает, когда производить выборку в линии ввода/вывода для получения бита данных.

Канал ввода/вывода смарт-карт

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

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

Сопроцессор смарт-карт, блок шифрования DES и блок генерации крипто-ключей

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


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