Различия между встроенной смарт-картой и java смарт-картой - PullRequest
0 голосов
/ 05 августа 2020

Я хочу знать, чем отличаются встроенные смарт-карты и java смарт-карты? Я знаю, что смарт-карта Java имеет возможность загружать и удалять апплет, и я прочитал на форуме javacardos, что java смарт-карта * не имеет указателя. Как на практике обнаружить смарт-карту с карты java? А какие-нибудь другие?

Ответы [ 2 ]

0 голосов
/ 10 августа 2020

«Смарт-карта» в основном означает карту процессора с So C, которая включает в себя полный ЦП. Java Карта работает поверх смарт-карты.

Конечно, есть карты на основе файлов , которые содержат полный ISO / IEC 7816-4 / 9/11 файловая система, хотя они обычно также имеют проприетарные части (что отчасти требуется, потому что ISO / IEC 7816-4 не содержит полной спецификации того, что необходимо реализовать, и оставляет много пробелов, которые должны быть заполнены разработчиком. ).

Для карты Java вы в основном должны реализовать те APDU, которые требуются для вашей конкретной c функциональности. Когда-то там был API файловой системы, но он long устарел, к лучшему или худшему.

Нет какой-либо специальной команды c, которая сообщает вам, является ли карта а Java Карточка или нет. Некоторые карты имеют определенный c набор исторических байтов в ATR при доставке клиенту. Тем не менее, для них также могут быть установлены другие значения.

Если вы хотите проверить, является ли карта картой Java: попробуйте и посмотрите, есть ли на карте диспетчер карт, используя SELECT by AID с помощью Open и Global Platform AID . Если им это удастся, то это довольно серьезный намек на то, что это карта Java.

Поскольку каждое приложение DF в Java Card выбирается по имени, вы обычно не обнаружите, что SELECT по DF ID работает в папке root. Если ни один из них не работает до , вы выбираете апплет Java Card (т.е. когда вы находитесь в root), тогда карта может быть a Java Card. Однако есть возможность выбрать апплет по умолчанию, и такой апплет также может реализовать эту функцию.

0 голосов
/ 05 августа 2020

Для собственной смарт-карты вы просто добавляете целую файловую систему (структуру каталогов, включая специальные объекты, такие как ПИН-коды и ключи), поскольку все остальное (реализации алгоритмов) является частью операционной системы.

Самая простая проверка is: посмотрите на байт класса некоторых инструкций, которые карта понимает. Ноль может указывать на соответствие ISO 7816-4.

Другая проверка: Команда Create из ISO 7816-9 не подходит для Javacard.

...