Лучший способ хранить данные с помощью APDU?

У меня есть куча записей в моем приложении offcard, и я хочу сохранить их все на javacard. Вопрос в следующем:

  • Как лучше всего передавать данные на карту Java Card?
  • Должен ли я передавать всю запись данных по записи (каждая с APDU) или отправлять все записи только в одном APDU?

Конечно, я знаю размер ограничения APDU, и я использую расширенный APDU, чтобы отправлять все данные только в одном расширенном APDU, размер которого превышает 255 байт.


person BzH    schedule 08.11.2013    source источник


Ответы (1)


Не имеет большого значения, отправляете ли вы свои данные в одном APDU расширенной длины или в одном APDU с точки зрения безопасности. Однако гораздо лучше отправлять несвязанную информацию с использованием отдельных APDU. Это сделает ваше приложение более модульным. Обратите внимание, что если вы отправляете связанную информацию с использованием отдельных APDU, вам может потребоваться сохранить состояние между этими APDU для целей проверки (например, вам может потребоваться отправить либо ни один из них или все из них, либо отправить APDU в определенном порядке).

Кроме того, ISO 7816-4 определяет только 2-байтовые слова состояния для отправки отправителю, например 8A80 для обозначения любой ошибки в данных команды. Это означает, что по слову состояния невозможно определить, какая из записей содержит информацию об отказе.

Наконец, безусловно, есть считыватели и программное обеспечение, у которых есть проблемы с обработкой APDU увеличенной длины. Так что, если ваше программное обеспечение будет использоваться другими сторонами, вы можете придерживаться APDU нормальной длины.

person Maarten Bodewes    schedule 09.11.2013
comment
Большое спасибо, допустим, это прописанный пациентом, заголовок и тело предписания, каково ваше мнение сейчас? - person BzH; 09.11.2013
comment
Я бы лично использовал отдельные APDU. Я использую отдельные APDU в моем текущем продукте, используя увеличенную длину в случае, например, полностью завернутый ключ не помещается в APDU. - person Maarten Bodewes; 09.11.2013
comment
Под расширенным APDU я подразумеваю цепочку, почему завернутый ключ не должен вписываться в расширенный APDU - person BzH; 09.11.2013
comment
Я бы не стал использовать термин расширенный APDU, если вы имеете в виду цепочку, есть небольшая разница между цепочкой и использованием APDU расширенной длины, и этот термин определенно намекает на последнее. Обернутый ключ может не поместиться в APDU, если это асимметричный ключ, содержащий все параметры; например 2048-битный ключ RSA никогда не уместится в 255 байтах. - person Maarten Bodewes; 09.11.2013