Java Card
Java Card — версия Java-платформы для устройств с крайне ограниченными вычислительными ресурсами. По сравнению с другими версиями Java изменен байткод, требования к исполняющей платформе, состав стандартных библиотек.
Основное назначение продукта, как следует из названия, — применение в смарткартах. В связи с этим основной упор был сделан на поддержку стандартных криптоалгоритмов.
Java Card дает возможность безопасным образом устанавливать и исполнять небольшие
Портируемость
Java Card описывает стандартную среду исполнения на
Java Card OpenPlatform (JCOP)
Безопасность
Безопасность данных на смарт-картах была одним из основных приоритетов при разработке Java Card. Она обеспечивается различными свойствами платформы:
- Сокрытие данных. Приложения запускаются в изолированной среде (интерфейсы.
- Экран (экранирование) апплетов (англ. Application Firewall). Несколько апплетов может быть активно одновременно, однако они изолированы по модели «песочницы»: приложению выделяется контекст, к данным которого оно имеет доступ. Данные других приложений ограждены экраном. Для обеспечения совместной работы нескольких приложений есть механизм переключения контекстов, который выполняется через процесс, контролируемый виртуальной машиной [4].
- цифровые подписи, генерирование электронных ключейи обмен ими.
- Механизм апплетов. Апплет Java Card — это, по сути, конечный автомат, который обрабатывает входящие команды и отвечает, посылая данные или возвращая информацию о статусе.
Отличия Java Card от Java
Язык
На уровне языка Java Card — это подмножество более полных платформ
Байткод
Байткод, выполняемый виртуальной машиной Java Card, функционально является подмножеством
Разработка
Приемы программирования, используемые в типичном приложении Java Card, значительно отличаются от применяемых в Java SE. Однако тот факт, что Java Card является строгим подмножеством языка Java, значительно ускоряет обучение этой технологии, а также позволяет использовать среду Java SE для разработки и отладки приложений. Более того, можно совместно запускать и отлаживать в одной среде и приложение для Java Card, и его серверную часть, которую предполагается выполнять на PC.
Однако при этом следует периодически проверять, что приложение соответствует ограничениям Java Card, компилируя его в соответствующий байткод, а также проверять его работу на настоящей смарткарте, чтобы получить представление о производительности реального устройства.
Ссылки
См. также
- MULTOS
- ISO 7816
Примечания
- ↑ U.S. provisional application Serial No. 60/029,057, filed Oct. 25, 1996, non-provisional application No. 957512 filed on 10/24/1997, issued as patent
- ↑ Sun Microsystems Announces Java Card API , Business Wire, Oct. 29, 1996
- ↑ Обзор платформы Java Card на сайте компании Sun . Дата обращения: 2 августа 2008. Архивировано 20 июля 2008 года.
- ↑ Java Card Technology FAQs . Дата обращения: 8 августа 2008. Архивировано 29 мая 2008 года.