2013-06-26 2 views
0

Я нахожусь в тупике, исследуя, как создавать асимметричные ключи с карточки PIV. Я просмотрел стандарты NIST sp800-73-3, но я не могу этого сделать. В части 3 этого документа показано, что они используют INS 47 для этого, но я получаю ошибку 6D00. Есть ли еще одна команда, которая должна быть отправлена ​​до этого?Смарт-карта с асимметричной генерацией ключей

Также, пожалуйста, исправьте меня, если я ошибаюсь, но из моего понимания, когда генерируется ключ, закрытый ключ хранится на карточке при возврате открытого ключа. Чтобы зашифровать данные с помощью закрытого ключа, данные должны быть отправлены на карту, и зашифрованная информация возвращается. Это точно? Сколько ключей может хранить карта одновременно?

+1

Обычно вам необходимо выполнить аутентификацию на карте, прежде чем сможете сгенерировать ключи. Обычно это выполняется на каком-то этапе персонализации. Если публичный ключ возвращается, ему все равно нужно каким-то образом доверять. Частный ключ должен всегда оставаться на карте (если он назначен ей). Количество ключей, которые могут быть созданы обычно, зависит только от реализации смарт-карты и доступной постоянной памяти на карте. –

ответ

2

Стандарты - это замечательная вещь, но в большинстве случаев недостаточно для смарт-карт. Вам необходимо руководство вашей конкретной карты, описывающее, какие части стандартов он поддерживает. Для генерации ключей рекомендуется ознакомиться с ISO 7816, часть 8 (в дополнение к руководству по карте). Существуют варианты команд, возвращающие открытый ключ, а другие оставляют его молча в карточке для последующего извлечения. Для вашей ошибки: возможно, что ваша карта находится в фазе жизненного цикла, когда генерация ключей больше не доступна, но стоит и четный код 46 инструкции.

Команда для шифрования Выполнение операции безопасности также описано в 7816-8. Обратите внимание, что использование асимметричного ключа для шифрования необычно для значительного количества открытого текста. Обычно текст шифруется с использованием симметричного шифра и только симметричного ключа, передаваемого с использованием асимметричного шифрования по соображениям производительности.