Некоторые смарт-карты предлагают возможность ссылаться на файл по 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 (все они примерно двухбайтные идентификаторы).
Итак, мои вопросы:
- Какова причина добавления SFI? 2 байта на идентификатор было слишком много?
- Как можно выбрать файл, если известен его SFI?