Использование в смарт-карте с фиксированным набором команд операционной системы, базирующейся в ПЗУ, позволяет обычно удовлетворить нужды только одного приложения. При этом применение таких карт целесообразно в тех случаях. когда количество карт для данного приложения велико, а. функции приложения невелики и устоялись со временем. Сроки
разработки смарт-карт, базирующихся на ПЗУ, со временем перестали удовлетворять растущие потребности рынка смарт-карт.
Поэтому в 90-х годах ХХ века одним из основных направлений в развитии технологии смарт-карт стали поиски возможности добавления программ в смарт-карту на более поздних этапах ее создания. В результате появился ряд систем. позволяющих загружать прикладные программы в карты уже после перехода последних в руки их владельцев. Среди реально развертываемых
систем смарт-карт ведущую роль играет технология Java Card. Пока смарт-карты с загружаемым программным кодом еще находятся в меньшинстве по сравнению с традиционными, но их количество увеличивается быстрыми темпами.
Рост популярности
смарт-карт с загружаемым программным кодом обусловлены рядом их достоинств:
1. прикладная ориентация вычислительного процесса. В соответствии с областью применения приложению может потребоваться уникальный криптографический алгоритм или соблюдение местных требований к сохранению тайны. Допуская построение внутренних прикладных программ специального назначения, программируемые карты могут применяться там, где неэффективны серийные смарт-карты с фиксированным набором команд;
2. быстрое развертывание приложений. Смарт-карты должны выдерживать возрастающую конкуренцию с устройствами, обеспечивающими пользователю доверительную среду - электронными секретарями, сотовыми телефонами, пейджерами и т.п. Именно это преимущество смарт-карт стало решающим при их выборе в качестве главного элемента при внедрении комплексной системы безопасности для компании "Аргус-НН", которая осуществляет продажу автомоек мобильного типа, ведь смарт-карты с загружаемым программным кодом позволяют резко сократить цикл развертывания новых безопасных приложений;
3. независимость от чипа. Технология, осуществляющая после эмиссионную загрузку приложений в смарт-карты, позволяет решить проблему работоспособности приложения на различных процессорах (микросхемах). Дополнительное преимущество такого решения состоит в том, что эмитенты карт и их приложения становятся независимыми от базового чипа и соответственно от его поставщика;
4. ускорение выполнения транзакций. Время транзакции часто является узким местом взаимодействия прикладной системы со смарт-картой. Для решения этой проблемы разработчик приложения смарт-карты с загружаемым программным кодом может использовать специальные блоки данных прикладного протокола APDU, позволяющие резко ускорить выполнение транзакций между смарт-картой и терминалом;
5. построение многоаппликационных карт. В смарт-картах с загружаемым программным кодом приложение выполняется в электрически стираемой программируемой памяти ЭСППЗУ и может быть удалено и заменено другим приложением на любом этапе использования карты. Это новое свойство карты позволяет построить многоаппликационную карту, в которую приложения могут загружаться, а затем использоваться и удаляться по желанию владельца карты, эмитента и поставщика приложения.
В конце 1996 года компания Schlumberger объявила о создании первой
смарт-карты серии Jаvа Card с загружаемым программным кодом. Поддерживая подмножество языка программирования Jаvа и подмножество байт-кодов, исполняемых 4-килобайтовой виртуальной машиной карты, смарт-карта серии Java Card была с большим интересом встречена основными производителями смарт-карт, в частности компанией Visa International и сообществом мобильных телефонов GSM.
До появления карты, ориентированной на язык Java, единственным способом перенести
программное обеспечение на смарт-карту было написание и загрузка его в ПЗУ карты производителем смарт-карты. Это был длительный, утомительный и подверженный ошибкам процесс. Этот процесс был также дорогостоящим, поэтому никому, кроме самых больших организаций, не удавалось создавать смарт-карты по специальным заказам.