программирование javacard и установка апплета - PullRequest
2 голосов
/ 02 марта 2012

Я новичок в программировании на javacard. Работая с указателем владельца в моем приложении javacard, я упомянул, что «интерфейс PIN, входящий в состав пакета javacard Framework, не делает никаких предположений о том, где хранятся данные для сравнения значений PIN».И я хочу знать следующее:

  1. Могу ли я получить точное местоположение, где хранится мой пин-код владельца?Если я могу, как это сделать?Как экспортировать мой обновленный пин-код владельца?
  2. У меня есть апплет моего приложения javacard.Теперь, как я могу загрузить и установить в свой javacard. Я знаю, что есть доступные инструменты и поставляются с самой смарт-картой.Но я хочу установить без инструмента и только через команды apdu.Есть ли процедура, чтобы сделать это?Если так, то как это сделать?

Ответы [ 2 ]

2 голосов
/ 03 марта 2012
  1. Извините, вы не можете получить OwnerPIN, возможно, по соображениям безопасности.Вам придется реализовать интерфейс PIN самостоятельно, если вы хотите это сделать, но есть около 8 ошибок в реализации, касающихся атак по побочным каналам и тому подобного.Если вы не можете вспомнить о 8 атаках, не ходите туда.Как правило, получение ПИН-кода в виде данных , а не , что вам нужно.

  2. Конечно, для этого есть процедура: создайте собственный API GlobalPlatform - вы можетехотя я хочу взглянуть на примеры с открытым исходным кодом, такие как gjp .

В качестве экстремального взлома вы можете сохранить PIN-код как значение объекта секретного ключа(которые обычно хорошо защищены).

2 голосов
/ 02 марта 2012

Что касается установки апплетов, у меня для вас хорошие и плохие новости:

Общий процесс команды для установки стандартизирован Global Platform , однако относится только к тем командам, которые вы отправляете в Cardmanager-Applet. Однако AFAIK не существует независимого от поставщика стандарта Cardmanager-AID. Кроме того, вы должны аутентифицировать себя в апплете Cardmanager, прежде чем сможете его использовать. На картах разработчика это обычно простой ключ, такой как 404142434445464748494a4b4c4d4e4f (hex), который используется, например, картами JCOP для первого ключа DES.

Дополнительно этот ключ аутентификации может быть изменен владельцем карты. Поэтому на картах, не предназначенных для разработчиков, у вас нет доступа к Cardmanager.

...