Можем ли мы ограничить «уровень безопасности» при обмене данными по протоколу безопасного канала (SCP) 02? - PullRequest
1 голос
/ 27 марта 2019

У меня есть ситуация, когда я хочу загрузить и установить апплет на карту.SCP_02 будет использоваться для выполнения аутентификации с помощью ISD или CM.Но я хочу, чтобы аутентификация SCP_02 проводилась только с максимальной безопасностью, то есть C-MAC и шифрование.Никакой другой уровень безопасности не должен быть разрешен ISD (или любым дополнительным SSD, если требуется).

Возможно ли достичь этого?


Ожидаемый результат с внешней аутентификацией (например,Команда -Auth):

Обычный Ex-Auth: 8482000010f7d23150e635fd93d4e5ef76368f3d68
Ожидаемый ответ: 6986

C-MAC Ex-Auth: 8482010010f7d23150e635fd93d4e5ef76368f3d68
Ожидаемый ответ:6986

Enc + C-MAC Ex-Auth: 8482030010f7d23150e635fd93d4e5ef76368f3d68
Ожидаемый ответ: 9000 (аутентификация успешна)

1 Ответ

4 голосов
/ 27 марта 2019

В спецификации Global Platform нет механизма, соответствующего вашим потребностям. Ваши две возможности, которые я вижу:

  • использовать фирменные настройки и соглашения
  • поскольку я вижу ваши другие вопросы, связанные с персонализацией апплетов, вы можете сделать следующее в своем апплете:
    1. Выберите ваш апплет для персонализации
    2. выполнить init-update и ext-auth непосредственно для апплета и использовать SecureChannel.processSecurity(), чтобы перенаправить процесс аутентификации в домен secury
    3. проверьте уровень безопасности с помощью SecureChannel.getSecurityLevel()
...