Выберите EF на смарт-карте через ее SFI

Некоторые смарт-карты предлагают возможность ссылаться на файл по SFI (короткий идентификатор файла), который представляет собой 5-битное число. Напротив, типичный идентификатор файла имеет длину 2 байта.

Мне нужна помощь, чтобы понять, как это сделать, потому что мне не удалось найти ответ в ISO 7816-4.

Прежде всего, в разделе 5.3.1.1 говорится (выделено мной)

Выбор по короткому идентификатору EF — короткий идентификатор EF может ссылаться на любой EF. Он состоит из пяти неравных битов, то есть любого числа от одного до тридцати. При использовании в качестве короткого идентификатора EF число ноль, т. е. 00000 в двоичном формате, ссылается на текущий EF. На уровне MF зарезервировано число тридцать, т. е. 11110 в двоичном формате (см. 8.2.1.1). Короткие идентификаторы EF нельзя использовать в пути или в качестве идентификатора EF (например, в команде SELECT).

Мой способ интерпретации этого предложения таков: «вы не можете использовать SFI для выбора файла на смарт-карте», чего я не ожидаю.

Кроме того, в разделе 7.1.1 указано, как предполагается использовать команду SELECT APDU; таблица 39 определяет содержимое P1. Однако ни в одном из примеров не указано, как обращаться к нему через SFI (все они примерно двухбайтные идентификаторы).

Итак, мои вопросы:

  1. Какова причина добавления SFI? 2 байта на идентификатор было слишком много?
  2. Как можно выбрать файл, если известен его SFI?

person ralien    schedule 04.08.2010    source источник


Ответы (1)


Я нашел ответы на свои вопросы после некоторых дополнительных исследований.

  1. Файл может быть прочитан непосредственно через SFI, без предварительного SELECT. Это позволяет сэкономить время (поскольку на выбор времени не тратится).
  2. Как обсуждалось в № 1, смысл SFI заключается в том, что вы можете прочитать его немедленно, поэтому инструкции, которые объясняют, как файл может быть прочитан, если его SFI известен, находятся в описании других команд — READ BINARY, READ RECORD. и т. д. См. раздел 7.2.2 того же документа.
person ralien    schedule 05.08.2010