Java Card


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

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

Java Card дает возможность безопасным образом устанавливать и исполнять небольшие Java-приложения (апплеты) на смарт-картах и других устройствах с весьма ограниченным объёмом памяти. Эта платформа позволяет поставщику программировать устройства и делать их адаптированными под конкретное применение. Java Card широко используется в SIM-картах и банкоматах. Разработана компанией Schlumberger[1], представлена публике 29 октября 1996 года[2] несколькими компаниями, включая тогдашнее подразделение Schlumberger по производству смарт-карт (теперь компания Gemalto). Программная платформа Java Card описывается спецификациями, разрабатываемыми компанией Sun Microsystems[3]. Кроме того, GlobalPlatform (организация по стандартизации) разрабатывает стандарты для безопасной установки апплетов Java Card на устройства.

Java Card описывает стандартную среду исполнения на смарт-картах с целью дать возможность одному и тому же приложению работать на различных устройствах, так же, как апплеты Java SE/Java EE исполняются на различных по программной и аппаратной части компьютерах, а мидлеты Java ME — на различных телефонах. Как и в более сложных платформах Java, это достигается комбинацией виртуальной машины (Java Card Virtual Machine, JCVM) и стандартизированной библиотеки классов, что позволяет апплету значительно абстрагироваться от особенностей конкретных моделей смарт-карт. Однако это все же не дает полной гарантии переносимости приложения на любую смарт-карту, поскольку остаются такие факторы, как объём памяти, производительность, или доступность особых интерфейсов (например, коммуникационных протоколов или криптографических алгоритмов).

JCOP — это комплекс мер для разработки единого стандарта операционной системы с виртуальной машиной Java Card для систем сильной идентификации личности и платежных систем. Разработана IBM с широкой интеграцией с организациями GlobalPlatform, ICAO. На сегодня является практически синонимом JCVM.

Безопасность данных на смарт-картах была одним из основных приоритетов при разработке Java Card. Она обеспечивается различными свойствами платформы: