Идентификаторы апплета и APDU в карте Java - PullRequest
5 голосов
/ 16 июля 2010

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

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

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

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

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

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

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

Ответы [ 3 ]

4 голосов
/ 14 апреля 2011

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

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

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

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

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

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

3 голосов
/ 27 июля 2010

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

Javacards (и апплеты, установленные на javacards) поддерживают определенные APDU в зависимости от того, какие апплеты установлены (и конкретные APDU для установки апплетов.) Документация по javacard - лучшее место для начала изучения этого.

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

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

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

1 голос
/ 28 февраля 2013

Пример для команды 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-й байты: длина данных без учета длины размера, CLA, P1, P2 и файла.

седьмой. байт до последнего байта: данные

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

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

...