Applet ID и APDU в Java Card

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

Я также читал учебные пособия от Sun, но не смог разрешить некоторые недоразумения:

1.) Я просто хочу читать и записывать биометрические данные с карты, поэтому нужно ли разрабатывать для этого апплет на java-карте? Могу ли я использовать простые функции чтения/записи устройства чтения смарт-карт для чтения/записи биометрических данных в памяти смарт-карты?

2.) Если я создам апплет для java-карты, то как мне дать ему идентификатор апплета? Идентификатор апплета уникален для каждого апплета. И как я могу узнать идентификатор апплета для предварительно созданных апплетов?

3.) Что такое блок данных прикладного протокола (APDU)? И как они мне помогут в чтении/записи данных на карту?

Я знаю, что все это основные вопросы, но я действительно смущен. Так что помогите ребята!

Заранее спасибо.


person Community    schedule 16.07.2010    source источник
comment
как определить apdu для любого апплета?   -  person user268758    schedule 17.07.2010


Ответы (3)


Я постараюсь ответить на ваши вопросы:

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

2) Что касается AID, вы правы в том, что вы должны попытаться сделать его уникальным. Структура AID следующая: 5 байтов RID + 0..11 байтов PIX.

RID — это уникальный идентификатор поставщика приложения. Чтобы убедиться, что никто другой не использует ваш RID, вы должны зарегистрировать его в национальном или международном органе по сертификации, в зависимости от области применения. Хотя зарегистрированный RID не является обязательным, единственное требование состоит в том, что вы должны использовать «F» в качестве начала вашего RID, если он не зарегистрирован. Рекомендуется использовать только зарегистрированный AID, если вы реализуете серьезное приложение.

PIX — это проприетарное расширение идентификатора приложения, предоставляемое приложением должно сохранять свою уникальность.

3) APDU — это просто протокол, описывающий способ связи с вашим апплетом. Он упаковывает инструкцию, которую вы хотите вызвать, вместе с входными и выходными данными.

person Community    schedule 14.04.2011

APDU — это «команды», которые вы отправляете на смарт-карту.

Карты Javacard (и апплеты, установленные на картах javacard) поддерживают определенные APDU в зависимости от того, какие апплеты установлены (и определенные APDU для установки апплетов). Лучше всего начать изучение этого с документации по javacard.

Некоторые смарт-карты поставляются с предустановленными апплетами, в которых зарезервировано место для биометрических данных; например, карты «PIV» (и связанный с ними апплет).

Если на вашей карте не предустановлен апплет для хранения биометрических данных, вам необходимо написать и установить его.

Надеюсь это поможет.

person Community    schedule 26.07.2010

Пример команды APDU: 00 A4 04 00 0A A0 00 00 00 62 03 01 0C 01 01 CLA INS P1 P2 Lc Поле данных Le

1-й байт: CLA, это тип команды. Например, 80 означает, что используются команды, определенные глобальной платформой.

2-й байт: INS, код инструкции.

3-й байт: P1, параметр 1.

4-й байт: P2, параметр 2.

5-й и 6-й байты: длина данных без учета длины size, CLA, P1, P2 и le.

7-й. байт до последнего байта: данные

Последний байт: Le, который обычно равен 00.

Для получения дополнительной информации см. документы Global Platform. http://globalplatform.org/specificationscard.asp

person Community    schedule 28.02.2013